From 2e1b28fbb4523141612e58badd522bf3a7789bc3 Mon Sep 17 00:00:00 2001 From: JonLuca DeCaro Date: Wed, 6 Mar 2024 12:51:45 -0800 Subject: [PATCH 1/6] [ts-migrate][.] Init tsconfig.json file Co-authored-by: ts-migrate <> --- .editorconfig | 27 - .eslintrc.json | 46 + .eslintrc.yml | 9 - .vscode/launch.json | 13 +- .yarn/install-state.gz | Bin 0 -> 1565371 bytes .yarn/releases/yarn-4.1.1.cjs | 893 + .yarnrc.yml | 2 + CHANGELOG.md | 109 +- README.md | 77 +- dist/index.d.ts | 2 - dist/index.js | 2 - dist/package.json | 44 - docs/README.md | 55 +- docs/options.md | 102 +- docs/refs.md | 46 +- docs/swagger-parser.md | 94 +- karma.conf.js | 31 - lib/index.d.ts | 263 +- lib/index.js | 190 - lib/index.ts | 225 + lib/normalize-args.ts | 62 + lib/options.js | 35 - lib/options.ts | 74 + lib/util.js | 79 - lib/util.ts | 97 + lib/validators/schema.js | 93 - lib/validators/schema.ts | 103 + lib/validators/{spec.js => spec.ts} | 228 +- online/css/style.min.css | 424 +- online/js/bundle.js | 59352 ++++++++-------- online/js/bundle.min.js | 18834 ++++- online/js/polyfills/promise.js | 403 +- online/js/polyfills/typedarray.js | 1426 +- online/sample/error.json | 5 +- online/src/js/analytics.js | 14 +- online/src/js/dropdowns.js | 31 +- online/src/js/editors.js | 56 +- online/src/js/form.js | 58 +- online/src/js/parser.js | 7 +- online/src/js/querystring.js | 8 +- online/src/js/samples.js | 5 +- package-lock.json | 36071 ---------- package.json | 92 +- test/specs/callbacks-promises/bundled.js | 49 +- .../callbacks-promises.spec.js | 46 +- test/specs/callbacks-promises/dereferenced.js | 63 +- test/specs/callbacks-promises/parsed.js | 48 +- test/specs/circular/bundled.js | 98 +- test/specs/circular/circular.spec.js | 31 +- test/specs/circular/dereferenced.js | 103 +- test/specs/circular/parsed.js | 108 +- test/specs/circular/validated.js | 159 +- test/specs/deep-circular/bundled.js | 412 +- .../specs/deep-circular/deep-circular.spec.js | 44 +- test/specs/deep-circular/dereferenced.js | 370 +- test/specs/deep-circular/parsed.js | 433 +- test/specs/invalid/invalid.spec.js | 22 +- .../v3-non-relative-server.json | 135 +- .../v3-relative-server-paths-ops.json | 135 +- .../v3-relative-server.json | 119 +- .../v3-relative-servers.spec.js | 12 +- test/specs/object-source/bundled.js | 52 +- test/specs/object-source/dereferenced.js | 61 +- .../specs/object-source/object-source.spec.js | 12 +- test/specs/object-source/parsed.js | 60 +- test/specs/real-world/fetch-api-list.js | 6 +- test/specs/real-world/known-errors.js | 30 +- test/specs/real-world/real-world.spec.js | 22 +- test/specs/typescript-definition.spec.ts | 8 +- test/specs/unknown/dereferenced.js | 170 +- test/specs/unknown/parsed.js | 167 +- test/specs/unknown/unknown.spec.js | 82 +- .../validate-schema/validate-schema.spec.js | 64 +- .../specs/validate-spec/validate-spec.spec.js | 75 +- test/utils/helper.js | 19 +- test/utils/path.js | 36 +- tsconfig.json | 25 + vite.config.ts | 17 + yarn.lock | 16506 +++++ 79 files changed, 70904 insertions(+), 68682 deletions(-) delete mode 100644 .editorconfig create mode 100644 .eslintrc.json delete mode 100644 .eslintrc.yml create mode 100644 .yarn/install-state.gz create mode 100755 .yarn/releases/yarn-4.1.1.cjs create mode 100644 .yarnrc.yml delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/package.json delete mode 100644 karma.conf.js delete mode 100644 lib/index.js create mode 100644 lib/index.ts create mode 100644 lib/normalize-args.ts delete mode 100644 lib/options.js create mode 100644 lib/options.ts delete mode 100644 lib/util.js create mode 100644 lib/util.ts delete mode 100644 lib/validators/schema.js create mode 100644 lib/validators/schema.ts rename lib/validators/{spec.js => spec.ts} (52%) delete mode 100644 package-lock.json create mode 100644 tsconfig.json create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 7f37c99b..00000000 --- a/.editorconfig +++ /dev/null @@ -1,27 +0,0 @@ -# Editor config -# http://EditorConfig.org - -# This EditorConfig overrides any parent EditorConfigs -root = true - -# Default rules applied to all file types -[*] - -# No trailing spaces, newline at EOF -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -end_of_line = lf - -# 2 space indentation -indent_style = space -indent_size = 2 - -# JavaScript-specific settings -[*.{js,ts}] -quote_type = double -continuation_indent_size = 2 -curly_bracket_next_line = false -indent_brace_style = BSD -spaces_around_operators = true -spaces_around_brackets = none diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..1c384bd1 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,46 @@ +{ + "root": true, + "env": { + "browser": true, + "es2021": true, + "node": true, + "amd": true + }, + "settings": { + "react": { "version": "detect" } + }, + "extends": ["prettier", "eslint:recommended", "plugin:@typescript-eslint/recommended"], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaFeatures": { + "jsx": true + }, + "ecmaVersion": 12, + "sourceType": "module" + }, + "plugins": ["prettier", "unused-imports", "@typescript-eslint"], + "rules": { + "prefer-rest-params": "off", + "prefer-const": "error", + "prefer-spread": "off", + "no-case-declarations": "off", + "curly": ["error", "all"], + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/consistent-type-definitions": ["error", "interface"], + "@typescript-eslint/consistent-type-imports": [ + "error", + { + "prefer": "type-imports" + } + ], + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-use-before-define": ["off"], + "object-shorthand": "error", + "@typescript-eslint/no-unused-vars": [ + "warn", + { "varsIgnorePattern": "^_", "argsIgnorePattern": "^_", "ignoreRestSiblings": true } + ], + "unused-imports/no-unused-imports-ts": "error" + } +} diff --git a/.eslintrc.yml b/.eslintrc.yml deleted file mode 100644 index c11ebb19..00000000 --- a/.eslintrc.yml +++ /dev/null @@ -1,9 +0,0 @@ -# ESLint config -# http://eslint.org/docs/user-guide/configuring -# https://jstools.dev/eslint-config/ - -root: true -extends: "@jsdevtools" -env: - node: true - browser: true diff --git a/.vscode/launch.json b/.vscode/launch.json index fb87b664..d7c73f59 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -7,24 +7,17 @@ "request": "launch", "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha", "stopOnEntry": false, - "args": [ - "--quick-test", - "--timeout=600000" - ], + "args": ["--quick-test", "--timeout=600000"], "cwd": "${workspaceRoot}", "preLaunchTask": null, "runtimeExecutable": null, - "runtimeArgs": [ - "--nolazy" - ], + "runtimeArgs": ["--nolazy"], "env": { "NODE_ENV": "development" }, "console": "internalConsole", "sourceMaps": false, - "skipFiles": [ - "/**/*.js" - ] + "skipFiles": ["/**/*.js"] } ] } diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..a000c74986eee3e75f4b1e83113e993a346424f5 GIT binary patch literal 1565371 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%0A(D4rQc9h~mOwSup9qikve|TFqNd zxlIP-T%4YLzmh*Bwy?NaTDp?qBnUyY%-1Nz(Fa18=Q#TL{>!m#B^nQe6b>ayNMkk* z65L#vq3;_kAtH)V+}(%w^C%EY+RpdbB!Wf8t&A;EP|<5Gpdv0!N{V}MXpCy}dsOhf zxcl?`Gs3PDF{rwX613W`<=md)9C@;LRZ}UV9CpeQP`TXYvmiSdD2$3)q47aO)iO9C z*Sxols{Xonn2#>YgI>9#tu`i?;PM?4g)3EJU|1BI2FVDv2^s%=gls}9l|pjQ8+9mo z=DOF~00f~LA8!7bE#`UkRD$m$uR29-=#))cG+X#eOX1Ge_IU{9X`_A*#ef88ik?EQ z8~c4WufuVwkgPp#nSRM3yH5@Ja(9%UYj*2={_nCg*^1#5sG~+Nc_3^cf17Q?n0DJ# zpN4vnx3M`h*HH&tNTlQD3xVO4eynT)aSV91a{Au8szvc!FE6VEMpo z%Q{b;r97*)Lxt+k+pATLw1eK;*nO_-i>y3-tN311K3$%vik`HtDmoVFMqyw!j>R-b z@vsZNJmtCIyUDLAx-%9$LyC9fScjF1>^o({6WLtZxz5weOe~ z^1C6WZMk||DRRywn6z+IL2S!aScbb0F3fp?6&E8>WXM*?nV%dzUse(kZLbTh@qn?Q(sf-04 zmi1SuWK7FirQcaPB@q;%csMIk-{A*FJG3%+NB$Z?y zA;;VfGA_G}G>IXw0xB}sYEem0Zo!eugVD#~$EIl09S7O!!7&h6t zr<6uru@%f#vRBCJ(VrikA(AfhaqaLnXrqV-B;9l1VyyYtvW$JJ>F2{yuwF@3@e|S~$Km6w3EDEic@$=Yg=RHfT zQGefiV1zCBsRKaBk|Ng=z{a>V8dj-Ak}7<%4}G1(YQCY};~%{BqC2P3H)yHT&b5N|<_uSQL575Ik@76p(?SbHK@x53VM2l7>jk9W<3M8W6akWR6 zW>YWwvSS8Mq7UbIoe;+HY0W&1+$sO6%8tLlYrEGg`06Hk3P_A`*wT$nNOZqA5QE&s z^`Bp(y7rEK`Jz;{)OE=rU+^`c){?8KxrN>oLNmy@a=bb>j(6^+1K6Yns z1LaJ>q~Sc)PGO-ENk5qsVl4qA21f}j@ASS$b*mxXLttkHT64p6i0=nhX! z_pla~0N%}G(|A|vv<^x7em{2SDB6TEmz7rUHJ`1q#X$D8o~nqqRGYF*dH8^JJA2)p zKd&(+I+8=6->Dp;_J)|SFB$Io?ytKewvSL>puJewc3EfmUx4lfABy6Z?3%5BnT0W9 z@#-FNIyfNgx@vJ7Mx{2*-H?OOKWv)@YPJbZtE4xk zP3xQhu?ZcKvuxs;vn}weS_~f>LGxg^;os?eUE5w|Ph-Ho$zE;0g&Ngb6_|c=&2FdI zd>u8C6$9ir*EuLxaD(o~PGWtRes`Ex3!Hqn-nyFJ5IkRJD67PU3AU8W+5P*qbHx~q zu3+?Xb|vh0E)e0hPev=UI@aZLZ<*lA^pYMH$X=ou^qn6Udz!k5!S7v2p8vDRI!uJdIW?yiL=0FA^SIyg)1XqP>a-XNf+mp!-vv9)WYWb0-+1|m z_ciJzi$j~74s`DWJ7~utGIuGvz@nNU62FV#IN1<2>~xZ&^@RkqnROLIPFWn$0($G0r+BB;1$Imw4Z0#BL~K*JuVI zYeP2fO-^)TQnhYv2=8yY*J^8o-CYuRRZOgwCc*T+?sC@W&o6`0eoL>{hy8>hGpo|$ z$QrQ4fcMQ7CIh#@)JlgJ331zxfJDb+R7agfcKxp{D#?T>mI24|0 z6Fk}XwLt|GjDUNWAkDMbRy6!r&Wj)Toz#?iUiSEosM88QfN8^AXWLbrkadoryk=u8 zUAYq3N$Wv136jSoR7-U6ID+M6`?kG5KmSQ*A*;iKadIOxD#tyx4V@-4Xe7fCK862x z$QnAAw#!j2YZM^+Z)3BgDdn7j*o*geGT`M}eJ*Eh{kiJd7Ni&Z8=ZY$8`MrTZuy|( zn3Fszy@I?HQG{+@R9!{-A@`Y5DgSc|RRc3sO}7wmr4zq_pW|97celi)&K%k6tb0i< z&8HPKo24PkNoot<#g1#bkwu?(2>|O#Xpd3k9WvJ@e}H3I;(7YIt0L~`&YPgsQLaPp zcu#@aA1HBvO|;euqGI(^wuPhAsFxfX_fIrLjLziq@6U4f5XP75Of<)6%FexrA>>BX zu6=D$)#));V1#i-OJzb{yAF|1?q07OlzOQS5*zc z2gb8=tgr!TSh{cP%i}VCbWKF|a~$KrTQ1+Bj`h7nFP>=zHhZl3{qyT87w=D;SOmdV zo}2CMUyNPakYw>I zgXbB0{vCy7-RJWgTWZ|0nY+foR>SB?AAy@N4N2$VSzi$<1K=cYV`~WSrMNPn-uARH zn7*_CQPi3F)F;GlVCqj^Jv~la^C~IBx!29&-|Yr%Bc7R62Mvq}NP6Z$1R=_#2q8ow zLaQb8r?~>xor1LnBQZ8Txh9uIjU-3FI;=v>LX;PUf^qlWgCmNR$yFaFt#!_RpU2jG zRTVUY|3u5ue>+EQ8)QMgTlb7_suz1DJ0V^(e1(2T?kjg zcMWn4Fc#Q1FP|_1oEJbD{`vVM;YBD&FZdXE@B}sN*?U6oy-21Wrgx9ru*QO=n7YiZ z3>oj5ZyB4;(qtXzKxrz2?Ro7YEPq6PTaXR zPyOn5x8`&DZBV%#klU14qaMSNrN$OePypjl~dz#WhZs817E2!fk!0KCHYYPVO zdl&<}7S!kSn=|MhkcoVjKaXn1?cSgyBykW!Vx45IK!p^$_W*Vzn_?B+P$SFnj@GRM z%VlyDOUOlW@V*W8VzO!$OfI# zvM?22m3#1}l(TC?7NF=bK@Z@oS-bk`U5zLW?y##P*OHaJ-Yj<#d7%c8+&Bxle7ILT zik~xTTcuTR^~4qFf!O3b%Ls8C=5Uua$0mCQ>RKcvX3pz zdewW}s0vXw4}ogxyg9BY%^dE?u>ZctjyIZIx31gu=zD}9f;7ZPN-tL#u-9FT=Qmn( z-Vr*I`1BFuKZ?uM1Zz7<@l`+=j9D06s1yXNk4P)h>J<88fa#a+zV-9`N)1(CnFy#t z3KL7+oz7QpI`&F7Lv={SwMen>2F9mWb=Hwv@T}FkXeq|t{L=z@l0p0#^k>GtgGH3G zhzwNYPgN?qqNRNP{`bNAsmwEhk0NO}7wlM?)&sJ_`r7+wmE5Dl8606V&OY#kS;fsG zZ(h>QBwabSL%$f6s03(El1FS=L-d?w9<}zl24>aSzt>iUWYx%iy_xJaCT%h0+rReR z*^wbGuHmaU$qVY>bT(p|>TfQ1Lm*KKb5C$oh12S3k9lDY^_=W6f;0HWkXLyH7e%T1 zorUP!+nI4QUx0SWFNL#hL#Uv;NYV{ME)iSSn^BZ`sK5>8L7OA|T?C-TJ zNV{Ot%7B(o1{%kERj~-FYrC`5vX~a^lI)#>NT3gUD`HgNYxWW77u~1bc#e#_aY~1) z35!AIy2Kr~Q!tub@MOE#{53nkZ)N%R1cJ`5eAYeq!h4x3tib8I(Kx>cUm4xEYT40E z&n7xg8LCMnee9>bnb?2raUyc+=oE2~abmm`ey~UIhMimYd2%}YJb$Uvw()VW~}VQnuh2BX3TVO_a5*vfm6;`*<#)PDT+AO2(f?w|kZ$KMh;JAa7Zo;I7P zDvNiVD?naUJ64$6f)PmPDdk+YRx90VPahhWnv-vxV-)0KNADq)FqnHfH#JENVN#NY za%fTm>K+{gzg{CLw5Fc>d8Ts5F31Sodz(vCR(juJkgNqlCeg+k3dti0_ykhPX|wdE zrw+XLCYRr?%U#I#i1$>IE7w;xTErXr-7Es!mmo-XxvtVneEv*`)Pga4s-KAmZw~=L zOj&%9aN-w>7z2t+-TaLPQa39mZ7`4kgbUh!aIIb(>!{_s(T>WIB`9^U5aDODM@@D% z?aVYf2H){QTXi46wo5bDlsa|IRf1%u2bs4HV*w0$vZ4&NqpQsk1m?8j2%k&sj&@e{ z8srb6z+l*kZ!2q@)#BEy_1qIYAu55#lk4-Dv_5aqA;wfl0FBT-=vwi++x-xt&o{0B z`Q$@3l`Gp)!O@536V|e!?0eBm863hHByQ}z&RGL|T%un|UY^)AX1nlW*7unx`h?YH zG@`G*a)I~7ZeEV^i%N79#<9ELDlM=!=Z^q<->r_(5g5;d5 zZm4XfP!SFsa+ZTAT$UZJ$IRy+n$P8gXanbAb!Hn3TFL!!$f{9s!A0fGVLpIuI`gvq z-IxlA8?GrzFwQc{Z9a8%=tx_SFkCwYI&0T=YCa{Uhl_hX3l+)sslDhbCo+IY1I5;J zt=%iL`rfmsZx`=gp4pk2F1MxceugzA=~(Z{uP;8jk{+q}ydCAkY5Uouj0qHecdNgK&HJr0#d=H9^|`Br z@U5(e85(g&fNH}bViF4@GIMX$Qr_`+9UEuuw6sz$-`&yt>}#VV;=PA+Imu=5bINsa zCrH3CHh`2VIl6p)|IW&LYxi@!M$BP=eSw4=WLjk&JUi{cX_ZSsbo7%iKVxk+=%w_| z?bxUphYbTKkAi8YX2E|8BV-6}*pXS`qt+w+pdY*b`S(9!w!Q~t@d;M4ih?G{p_Moc zt5zFF;eyS1rSIJ?fClmqQG^McAa?3R=l6wWQ_c|-b338#(1i$cyI_BX%iB}*jRCgh z*Nme-{^}q9_)mZO@vncD2>$6$zxhZ?UY=TG3G%-t-L*6Z+XK-pZ*&8?5}wN8-odzBbDL`S-s&fB)m({_Ll` zKm6w3EjtAP(Is?K#dZz4=jt84&YPJJsL?lQp%qBhq!@SiBg;6o-YS{k#Lx+!)Xf`> zU<}3Lsw1V!Z7uemo1vsZteBXk0#@ty>jHS4RGoFUVqhSX(D8NpKuII*x)W<+{Gfb> z+$*nwQC3W!&X9GgirjHVhBOjvqNp1L{E)m8l8q_}*YKPnR&CWnS>p3?RaQBT|JvDb z+_sB>1*Qi+d-hyAhu+h8;;%Df2mHRaFdt{MRjqZ7Qm&=gw9?4TPN$0sN)Wlmi88lf zMA-aYnnXH|tZl=-H}6eRsdjD+7T8oHj@JqPOBjT0W|6dR#>#d)lO9d2EfRahX~f@D^CE(89!2Z!q1cFVu17HOQdq zlos=VlOH3vunLElxmgBL#J>+?EW3Xnq2}Uf*-w|%ZFxq&1Ei-qxlZ zh34L{oEOH%ji#6A;noTPu$OLUneL#K&tS`GARa|Hws!_Oj49|4$zhCIygq#L%>W=^ zS-#Vp6BecHN`P+*6WXV;@!X42y27H*eX=YoB8jbyqgll1Eg0M{DRZ@cIwubX+Y~%B zM6t_sxjk=X2{Fq#{8w`+ql!?A6viSB271QFpVX`|!< z1MD_%0IvX?SHtvega!Rmyac?HOGn=)fIPKH3@9XvR z*AH$nOFq^SN~_sm^nl+|@ucw*>V~a2mPi&!M{; zHBXL8m3B)R$H%mC)asGT#qBRZ&bZ`jCI=XZ!P$$x%YO(@IUu3?cp+n57{j4jxOdu} zt)Y54y#XD{`u1s@DBkJ5?a}r9nx8y50Tyn;NyRMPBuhaZlDcD^Hqppt{wXhqSItWd>IA09P(1 zr|6P_D&*cfzu%3UH2P5Iy)}E#yG?>iJ}h%|xYv8xvg`b+^xBjcC*OMF$r}w8QhE6J zWwHLCVlOX$RHL4jAam9NMjG%hFNllIW{yI~=kxRQJQ1_|t)TWv!Co0SY&`e8EcR$r ztzIIftz*DSdJB1T$qFB*ij`XKpz#Aut7L#EBL98aAn^Ur3uu(*X}!`xtey%z=JWF( za@e5B<_F;&#`QipC$=_JLCNenp@p_$S!XhHi#{qCjUk;|LEkxxYcz7DtQ&MpJq1Sj zD2|7Fc4A7+Eg4~Vf`BFXyvyhBe|Mhelo3FUJU0ZO8Z3&a(AE_&KFGpm?N!9)CCxG9 zRO;!>)!(U9&alH+bY6hl(fWp;?HdO4UhPO~l>Q(hWb;?;WyNy6k5{lM=Prcvb>YfLHnG3>zN}C=bY20 zSQ|`*rO22)g4W!C^iezQZR!N@+&Sj5s4ez=1+EmwkOG@Q@850R(N;j89=>T@L=D2| z6?d}(kFJMJ8rIsptJuzDbFoUH;#%o*j1E*%nMx*c0D0jr0DUl<*Oi!6{8am{GheJ| z=tYI=UPYaUd0Ccs7d$$P7gu7eIHSE2J(%`Dfb>Eg6`Ku%hqe)3v}IFHA^C2b-MN#Q z+Wd49)_shj^w=k`QUvLr=MRb4_9T{3M)8BrmB7p%O~ zbKjc0%kQ;Q>UIim(vW$Aw>sSJr7i+e`D^B>-}wC8uoNUJy+I#y7Xa8hu@Rg|UY+Eh zYK#$mp1E$_7ue-sUV)*d77>Ckz+>AA7TV1>zEz>U$7)h$+6!C;%2M9=67 z%+vMs9k~XL5F(DE6ueWU;Ar@@b|yw(s`edk~(`-t(D?mY-Yjy8oZIR2@N|4iY?oFQ6Q8B+T(t6s5-wC`+T zdJk9=o{}0o26x{9>DD?aaS+)1)Y6v}ui0B`peLYC);8*xh=fJ~(89O)fTSn+wliqY z8U=i=rgeIb`FvzTKuHnbLF$HEI6fPJ70l>01XyNBho3HeV9k4K>>Q@7(&nh0<1{wH-7G31~cf#Ylt(6KG({`0wHkSQR(dZ zX$P&h9lzgi_}QIzW$~qL9=^LkYf5_uHdc&d!p!cw67roMk9A1g_dM<5;MIJ3BVYzA zgqTD-{hC>WH!-}nIWelAbvuwPfVp`nEB5bhn#2E$<83St-VbAlT^_HIi|D+@hzm;s3Mn(HB;t3tss6TX2QD}S?PEysP7?PDW!Xi zxF?q_;0LGAh!gOI8g-m< zZ&Boet4>}y?G0-1ijVInJf4*EEh#WH7goEDk3&@2&a*c)Zn7McRq$DAtsgt;?o!7{ zgyOsPuC3-Svk2=v+3#0mwuP4T`lthxRccLgB5voFWH}7=h|6rW@jv})zlZ0 z_AAu~)6>E8v&>eg-jYNqrR*3CPS1$5urpD?6+DC+L)mKRS5rDI1smZYaMc^lcV(Zu zE(E>(9kTUSjHNS@MrVhvV)Q3%woz~2U1=L%lwO9ktL`1(rI9R-#ixVlW!rlVca>u? z8pEzuHmJsm`n)I2tZOUtFv_Pp?x(6P{SHY|9bl&4CBFfkHJOPmg4JRxhZWRh?ZwiP zwp?SIpHf{fq>Ce~9wRFL?sS!{f|WVWHY3DOHfhcpg?MLQH{eCPk&UwYeZ$?a*kwPo z{LWe*-2*t}%CJUdAd&!PwsTdxsv3O4fxM}?SdMv)j#83<>@tBxIC^MGyHnHJ%;i~& z8VWOVIJUMN4p(XO`}1?oAq(OjzIc1eN$oRxIxsD-UdV-C-o!e`w05b~Z=u<$+nwr4 zFR?LH53zlF>^4GS&zqFxW1dCzao#oA5wvkkA0@_p*3Z8`{_{3N@QteWg&S9(@RT!( z@B{s zQ5kGPmW@zE=L7QY$z4VrYPBkZG4i5oACbgvV;+7Fk%$#TOl2Xa*SmeOlwvq_j9}%UN|dH7Nlc z0nBsN-1P}I7k2i#3-|c>*wp;S*JsfkoA>)B9jMMs<1YXS^ERr)mZ9O>=4eYBb&O56 zgHNgz*9k=CyIJhY)vswzSTIuBWOay){w6fQ|q0!{3RD z*jiSX)K2?*CGG#KShD+8i^MuD7yKWvl6q_Qtd*Eq_nda%w&5+PtLXQVA2#b2*eBOzg&3ZeO4;yny3M~&6nJ4xs#ArI)TdlzB ztqWFcDQgy%q2qHxD8^oHjI89n3W$AfTb8B5!x9gij&f?xoAdNJxPO;($&77n2kL37 z3kQ{!!mSu?!h@q(DWjEqr|4PBR)#|lLomGdcKJMi{{DkEc-ZVOKF()4~jE~Pz!*R%xmgywrIx`?I6eJdWG_QhlnfTp&?zl#gC5JzC!|DuyC~T?BWh_)6ZqEh9uLYo?KMo^Yv6Ywgtgrlg5 zKonhBJzHmEqU#t75jM-|LAMSA2z-Qc21laLU%w&Tf~VM#bQ8luA2?vt9#*~Q^&WF~ zL{pnv*X;?xJhG;E6z{Fsv@vO)1!yO@{;#ly@w&Gm#4bw-V!1KAWOTiQjK!}(o__qR zKm76h{eSVj|NO&W|L;Hl?|=LAAO8H)|N2+I=}m_n>k7xav0JBE0Nxxmq~GihTn~DA z_S089AYM5HH2oqkpfLhro0VHHyrtP5*DIuY86{PKvd(gj;GHBE9KVP)KqmhMcHz^b zQ;KXakW*e*uZ~U!N5Q(C1!yRZMwE|4b)9!tAUUJZA5(VyP1t<^h{cGum_@(*dtchXN$qpV#-O|a zzI|1-*Z4fCbJ>W4qOrH0+h<3!S~qX#cG7qx?PaIvKp%b1Q+?BqLUGiR!DK(lvSH=5 z%vja9RiASwEB_~)j&Ryu!{G}C>;WJ9^!t5M?J(J?0trL|W)Jv>|GX8@{Fi zObZIiBgA)VwbJ+6Ymh4KP+$A1%}WUFQ8v3Ln;+i|s(YGslR56e0LXU_zoIE$4jFJdOJDB7uj63&Wf8pF4GXDQnVmEKP5tYMOnR-5vBR#A1|jrFQFVZyR%a;_WsnThHi}Rn|V7TKKECl6@-3 zd>HDfzt)rc@n8M@{qfhl&;I`YwykUPv#u$KJkV>*81!d!s~~C01sbMYBZ8(Upgfmt zn?zw_~Km79V{zzack9#Q;$nsjyIlu zFN9brnE$5bqhsX};~CCQbWNPZm0-_RSayu{zN@zG9LY4MZ6{_wHkriJ`hhvo+K?AC zxTi@k(5C)LVvM`lF2U^Q%`y$)Fo|l+g`m<=@NY&u$-f)ojn=n*T^eJu_UqjK)kBu(uzND z6HdXC%HO2=lull|%5p-I-&MO{0`L^`O>%zfA$uzWH{Alnwx6Cg_XUT5%s#hnx2v2m zYR}ezMANk6s?Xzp5?!mn&ub1oBQM`QzpB@Sb&MPk~kdqgaT!>;5G zsBfxzuepyAe|ne9b%;_`z{;cJK5hWhdiNIB^yoYoue9MH8z&hgCS<13%lQ1s zZhgsF&r!)Q2Uub0%WEgQvKLt{KKqcEbVhVaMf7&+f`A}E;8IHgIlKYB={!2un0GY8 zSxAs$vgh}Gbsn@T_H&q@yc|CdI_k1(jSpNeaqM_Na-#$a5vxP=-}OA?5+jgj718~k zm*9Ik^0Jinax8Im5~mI86n2MH3-Z-H{1V2k2mRg%spMuOV%B zC~XNaR}bNxQ$laHGQZovie!iW=B;xpD2=Tk0^p;vc5CyoRB?A^;v+BZ+|h;`^_gDpyQ>+;P!E5{3H)?zb zvuLa=$9Bz43b&}v?7tc4BsZZ}+kn~y>==*azR!>}L!&4cFr;=lazVNuw{ipW-@w?x@i2Yyve|>-c zxBr_HS?g*^=pF2M)>_8AiK=e*Gf&-Fkzf0XBrh}eiXKx-cE4D~r`Rkz?hTLYOia58 zbmvh_p9hkn4>y&jsEHXr%!2L?)cfaH0jd^kki9lv(UDvu3k#M(X_Va(g*bOo?Ti$< zY9BIa_&IHFpgm7{hfnnq`mFPAV>n%u%Sdmnt^#CMwN+%&PB(cVIsH7W-7rg;3W9{& zM4UK^Q=Ni8%^@QqNHUjRH}G2K`;+Ok@4AL$y)**!S>npNXs$M-qy3acGkz+f9FE%4 z4V?!E)Cgt#zJVlbP-0#i{CGv==(lpvDv~Oz4l=g? z7i;gbYg>|J*LC!uNC}XBA^QZ}%-qe~KF1&CVnJk8fe#VX*9&7su@{}-&Q4VZB7wa3 zoW0j_H=A<|f*P@VZ6C3iGbXn}Vk_uFKMnUh_mbXRtIr4G%{fT^T)eegI~0h>+7H0V z+QHpF-Lm$fgK!!HCYzG&lV9qoQT&VkHD$V~-0S`6v3q8`+g7ysuDm-3NgR5Mym~wC zrtLi7uoZ86e~;oAZi(GFowl)YCCFK0QDweg{to!sV|gL64q6(kh%3gn%MLq9B&O_# z_Z`XT<{qwIj!72CXn}g-?h%8Jr{aros4@L__ukwZWZ_`hAEGhy(Y)f1=jV@9&D&i# zuacdK!M&&U(suSkG)p$jR;PtDo-ZFCR0245r}6({DbJvVm7%eylxMl-g?c#l&#{^_ z$w9B=FzdcGck1LaxA?=X8T{)Mz$MMr%!VLIZ3;-0-b44zrjX8G=>WB;L;pj(h+Fb{%`S0)dO>|Yy7{V{O0x)^s z3^89v#E7p%_0~h6igFyzIQKEI4THLmA26ROYV>ysg-We8F0jOf0v7 zgpxYH7bowqG9?pyQr*|K#AT??L+9rw{P2(~Wt*EF#Blzq?Bx>-{*$J@znZz@tv)cGnV0p>uCk{`b2l}(q%zKCCp7i@3-Y(} z)|uDRdCG zX8Tab7`Vm=MyLWP6Pmkpv@5C`L-nYUS+N13>Ety0^ZR#=A+0^0Dup@hQ^Sg*Okyef z`c}MWyYOFDYb*L6UrFA<(%+44_~BZEfeo+3s$*vL_jQ0)x3-fKD`pqnNbjh;Vk0#D zJuEQW)AbccimvixWo~Ml{o#7)^|b)p7h0n&Zo@=+FtzAsYVXIqbC);E8405;ubhmSNZ7;ey9an~dlO+A zYv3x`*fV=wfYD9+f%TC#_YS7QJ2^oUbw$KUj_gVAujEUc5`B*~evg&Cx87z0$8n$d z@T3_Y$hdi$E}47_`q(=4(lXtR8TQNL#2LO%*1lTnRxSgYQt2&8!7jl0cHF0K+M;IxqE*;zpX9fnX9(%=GD-LoCr$}z3 zK3UNCKHs#}Bo9oF^X1g@zRG*!)Vz40pUvRW0dag#SGG_J6wzx`pe0opP&znFQzZv7s1>-Elk69y|h-C1(nGB?5DEeXMpsanTCgS<5&>6pm_GMCu()#v#`#qG@ zc8x|<+n>k>6!~nkyq3keSNiHg$exo?k7?kK;enSvg9(p-Fs=umCWg(60f5zwV|bDdLXefnd3 zJ)iGZPsgQE1J2BulJ9zTd+AfSIocTg6QYUFeVhQEO>i_bcFok)KpdA+c<4Y}AC>z4 zojnmouiv5YAg$lL_-zP3dJJhFDr;QoRHvFAe9G7FRXUSKaI++J^J$(}mI7D2Jfk!K z@l!Zow+7635z=sX9)eBqg6VvW)ib1jMA)A{KaLon8wYe&vj*yOBWxyrs*YWr^#(~) ze)`d$CT84E3u@XH2fY|xk)pum&U)){Dty9_)9%2=^Sbk#&(z3O+r2+m}cOW5WZ5V;X-tL<@KCHD6?wu!r!hxq=Up zqf&@mk5OJy4z<)ffByNiLnfnX30gB{wa2G_L0}T#b(bk$@7&QQUXX}koWry#qU^}X2}}x%>w1&=cuwRpyU7e3=)B!Zd$doT25kz65D7ghWA_M% zlso0fW@LpXz=-yY^^L(!?*4e{{(S!mr}SXNjhtN6?c#IgC;0=swlDjumx8knCj4w9 zTo{57Mw&>Yd_>>yaj&o+jjt+}-@W>@wsIZ;yVASMhwM9oLGEl9T#Gla7!;OHwm2=EWE9Cx(3~_W_e^^9$dr$O&;7F; z>VK;L@c-6-{O=X2KmO@2s%9G1NRj0EIHNsou`y;!d<0g>N z_wKmdb7k?0J2cv6rzkh2Gd9AGjb>oJHig>l;s&>5w|cpMp9-DLDS2K-Y2-(&1g}Hh z(`Z#-ep?G$=;B60EXmQ4(SmvK=}n2bnB{v-wlMP?=-2KML*Yb}>S~< zD+4X_J1hm@IXf$KsRe=s%?joybnOo08vz^xg(SAcs(vG#my08LjQZkGI--xSP&t@n zbWNl4<(C$?bBSPxMVoZh;6PL}z5DO>J(=I`_G>w1L})BCUdcG57*!LvX^atSl6$Fn zY`&bMzT=MaoytHMMeYg{#Ti^F`yI4d7Y@-|9+TmQlKy1K(sNvU^ZY(lu_BIq^Ha3- z4t04=zwz7{b9sWG!oi&k89a(&NYA$iWR{dd@o z&K;Xt4d-{FM2G)>&mMdO$Dvg)qhBM(Fz=;_T`aJXZ-1%J>XUHo#I`02Z3w}6VB?Jw z)`Qo(oc67E9cXu)nB;3njsFhc-*tw?SGGKKoIj=*BXg)SgXQz7%WF1vwsTL;Z8|_j zXREnkMKtcC{y+h<*jFbH(POl^S%9-J!AFafupswiZQ;7C=XcnMFR%c1K#9LH)d0bZ zE{zJWM>&crRiAm8cy>)zECo5@6%4*wj}?x*^P1FT{}sDoAShjftl>S|8Wlb8iG*zI z8?np*)m~S=Y%g34Yez^i|KG$?Qc!zr-HS~p7V7}Tu$ zngLC5-5tX-z_ZI*YB2T~X|}Vi`?fOwXn)#H`-|tF0q{ZRE1XrTQJ7S1wl}PvU3}G& zZScZeV=)TFnZY05n5M@d64aQ)P(J!(bx&{GExNtWfYsI%>)u6sU<;YCR((4f{r&xA zGE-kCxsTq)0nIZ(kT34!EgcWlCaTxxbl)a!O*(4U>4-=XpqIagsZxi|Jy&;Rv9pag zUV~b4ZM0Nbx>E6;=ni-8cRxRW2CgLPLw5&&TUMR#46niY@sjK~{IJkZkyDxV^7f-S zx{Mu%9`z0y39A<-P!59z*T93!{LyZ1p9(NhbkI7-kO&-K{|-O@pf~Zb)b6)XxkY)r ze_>k89m`vv5X+Z$z1lXXiM|xXTEmuc5da}aXk8Ru=PcsDZ`gxF2U%{ZE3Ip}%bKw{ z?*xkNo!U#} zKi1{F_0bnNR8(Fl*}K2lZT0K%6|yOxw>fi--%}kuc8iP{s0Wi>+el{RuXBQl53^Yi z>xn6K>b*pX)oDFRt8ASPk;vx>$8BNu!6LQ}2j8hq$FwC_ka9Au+#yh7`AdPp7>CpZpuD7R*XE*6 z{{(iy#?ZlTR-WFCWX$$#zat5^v`MeY;oIpi z1LGSpH|ccpvRd)>Vn9!^w7m{iNO~4twYWEbA6Y-OVC1%y1_64ZPbsz?6ST$Lqo4h5 zJJhl|$`Bs$Oyz640AS3PbsrULces@nM%T7YnMkD<_h7%iKIqwnu-Cs1YxH^L=Z9-$ z*L}k@{r)l5G>#cwiq~3OtGIo9Ne>CW#?D1?EaHZ7^vWP%S(DOoQjKkIO=4TN+WDHm zrr5er39Xr_iQKOplC)?3zVcoyB#pXO`P|QK(tpw=AB?BB(LJ`qo;n&2U)p9~rKJIVW7v6_uOm-HJC`r0^mtacDtaNeZ6A}VF=mMx|3ysFccEmVQ|=9jdjQ_D5Ll<0rvF0-PeAv|6Y*wNr3h-!rQUn14Is6~QKYY1z99rRT=4imswDU)w7y1U?@enno@3W02sPN?oaP3GV9&DF#;u2Wc}%8e z`SWm#2RmP`!H}6htRwTlTXo*<5APE|$ff2zIW65}UUEZqomR~VyC6!itCI(&A%bNP z@7k~o*6w}OzGw78mhOFAooqS-q&-@-e0xqY-bZHrVs+wdc*nhwb{AafK8>?{>!T zku$u(fN(62`mlxj1t82|>Ag2_vU>>~og%%l4hlQ~uakdB=CbAp1_MEgHYR zwyKdh9-;6Ndk;<07YfnxgKGZ{XyHMP!Kca^!qrEY69&dmlF!+}(of!>keHG(K-GRG z^Ae=!74_QQ{TkI(!|RiMP9fdeuDto-{18ZAR+LvjOVt>Yck=Im6TNhZgBDx)s?S=3 z-j*YlyAHWyh>XCPc24WTG#bgInlGYVVcBZv8c4$@TZ=`$uB*8m>43e2W9eP3=gaOf zxN!=NkT}1aD0Ii8Z*=F!Gze1Njm1@`v6iqY%vs7IYd6cWddYhI)&~?L0(Z9{NgQXt zesw&^%MN!fhLI?Z1w^Mcbneu}4mkBb<{rOS4!NuL_V!mJtfqC>aOrYkd2}wwO1bKh ztv?PRX7}^@N6mzJtZ!z_mTh~0yYCEA^*brEUTd=!GqF`{nR34!OJozc-ya?C&j17e z_)q`*pa1r6{OfdF!FXN!#^Eq0@1HMdKDU7yAMMsy0E*~gXzo)H}F?^nuJo_!3i8rBLX3y;P@ zEq#t#C--Vhuat4!@z*Z_lstARq0H!$+QaZ+-jxj4ySC~bCVg7kJLzR!%Y9B84VaN% zZFAqNO@E%3@*&?cg!cG&5>$DHfFw?irH3l{>8znZ_mBb^tK&(sWgMd5xIT)00L5gl zvnGDqksmbfoLd&1$M46^nx=KpqfMV@zVkbcj~h#e6HcQo#-UJB65h^^-9PpjCG3^~ z7UhA-m`Y%3?BliPZNBKt5oR7db0%YL;~3h5@vq=~*o{h&?=@Y=6PAR>zhCRm`x;$D zN(8pL`!ZQ~JAQ3|S9|GY#DEB~`GH}gahX4y6SUS@bGOa*JETS7f11p*zIV+aVAlSDZ-h4vWPFz;8nJ6CO5&lN^Oae|#^c?f9kMAllMeQ4dE5G1&)BOmf?RZ!&es@;Pyg_GKv+is{OzZiAatH;ppGdL= zIfwLycM>B3BN89D=TbJGIIoV?ciRvL+5JK`cVzGA0~`2(%R}{=`Wima2gRQLem`j^ zAl|pMgSZ{$7raEMoOMbQG19C(3LN41!~P4tB%@^@zx_@%E=4LLV zT~FMx8}!wVMkGL}rE>;75VfPBqwimNv-u8SX9N=N6j8*)Ki?GM>KjU5SjmI3gc*Lm z`%flRTmd6lMCsRh!0pJoEZvM^_@WYz4G1gmUf|E8pI6m($tP2j$+P*Se_;HzqeUGx zWsz2YhjLbyl2(N(H1sv)ufXI16WN}HD@M5D-gxH*1Jiz@AMr<42!;CL+c2ij4yRta z4rbo~qh(Iru_v5~$A8V4F9HF}YK44n{d}x`ojF$!(Lc{y&^+YaEFfL_A;{O>;&^l= z_*1|AwaaCH;CTBwP$VKSACf?Qnhc{TP~ZHDE>%5r-rvjh*q9F{ zyxx5E^U!CVs08{yH*=5fx&qs&oUSuL-;~pPFe2Kn*tG7dVi0x)U(V0lu`LP zHd%f6L$sJHY`Mi(r}@S(yUy`i(`R*wW~F75we5?XfW7BMT0-&c?KYC2>|8=n`>YK~ z1Ww`4*P4%xzWB5%6%)YJ_=a@cd3Dftje%HD0uCS$tEiM$=alVnGFTurOubnY>@b(q zo%4Yl=L?YYirmk5I#!&vUmPaK&Q|c}7}putvd`g|C3zqOE$`f82I-S^I*-AV4ZyH> zz}3AFC@*kBDL@CO2bn(YYuG^S18jTRX=7)A61O;DatV&#v0h_=!W{C+&y#8-!H7Oz zcKtZFfWJq`S!<9$tL0eTS0ms(NdV?LxIs0VO0zbf00gATcfhl*@;-^1p%;rj$)M#L zpsj8e@``7sl|%c!zsJB&6F*1fG*ZTlr1HG`?iibnaF5B8qVsXR#?tz+N?nZ@__DWI z5fogIm2)Tf?me?%w5sQCI1J8s^#PYmuOQM;a)az{#ed$k0#L;)$y+DK801wF+4?c4 zlOry{6~lkM865ayp5JdD>Y6|4>2WCQ)w+^A$E67lA$4W}=db z+JD4z-?L4)b*{ldxe!fc*4 zE+XOhmh@Fj4rH99L})Q3#yS~PBi(}cL0i0rQBm;CQ1YcAM;TIn#@}Fq==2Z)tACH; z;R_!P7g(vmwd3c{|2oODET=M)YX?RZDN*0Kk{+3hY+*Q8nh0}dTeL&l9PqX{fktp* zU1)wgd!3Lqzya)o4CrkYW!ludsZtIKPi|dET85tfQ~89MA5DF5e+_#-g;d z&2mXs@QRxf+@?IFsKAbTUMw3oXs(P9YOWhL#fa0nELIV?b`m5&UFSS2wCD`E|NiH9 zSp?jai#gZZ15=+*#%2jZ5(>1%_9IK3RDSXP+4u!CTkc5ETz3=S@Nfw1kgVU@Hx+pr4AJy)^u;#Mjb;)fN}arYNN;LVW&})3z=U=^dEN`rWx* zF}lX*#kLDz?Rx`nFO3cE)yNdu0j`KR4qtq0QU3Itr>M|j1*rMQ6-%DR*X7_&D&v+{WI#&FP^S5?6?RXL2xxVg4 z%~@xEbAONqyYC^%Z~SS02Uw5$qtVBCW8e1_uHq}uX4`y?g|rH*)_8~x+*tDi1B@XU zG3JvEqT2j-`1!I&qoQ5@_crH*^tIiwF`Ryh*1(?sN~eG!dQXCu+9|LqbdRk8qjWIxbRUJ=$Q0-*QSWwIZy6a zuD#*B9q+CevH0*Xm-E9AamM0fI7sKt!4>G)(P8b#+6;r*`=ClQ{ifN#RPvS7fByX7 zwfF-Cgrb8cPtJYkz?L%}?iBXfBuL#{+gc5l$ESZ@;N@{7!zCJZK(n)sWEdQcF)eHr zU7VMh3lRVY`$pzbvp}BxJU?u;Ls)@z@z+=qEzKqnuH_>er`9frOs7xyJM}>s+KSa5 z%hIaHU{P>QwQQp`9i_T_G_C0yE~H6v0^~%E*GXTW+*$99-{HEF;$Lge+p!^(8s-8f znk|WW%P0b98n_nDorm&cNiR#0>$7i^Uzv2yeAu-E{so?~10+1Y(qkWexu!N7y}8DI zva8WF{`vF2Zzd!r4)wd;r|k>}es%9#fVM6nCakc?m8stevp5@6=O4QRn=3AY`IIRD zLZ(%xVmNl5rz-G;on77;P*)&+x^;; z^T{mt9 ztT&L~?C>idr-E77wtpN@7vxswaIk4@Zg??+|IyJ3!NIm*~1 zeN=#9X-v`VLFT_-9?|s>0WGxXF|`A&NrClB^l0Q|b%q)}H+&6m{`>i7bj~^#Gx^%A zd?`6A>dQxbYD-SW4+bxDR%l%y+S!jC#M`NyApP9$TrziSPY z0Wqg0vt&2fj`i_y&uV=*;AFnVttb002Q6&X$2Nv>^0S6;g6xO3Oh**(t|)HsfecF&qO&TfvJER~ zPUjN^FOUO{lr))R$%vTVxIB+Q!8&WVdlw{}uk*;x=N@011Iq8+fv{1axp^*)oIu-> z?mm_#tT7V}(>hJplhF}llN(~8g5ys0F!b+h!;{<8kYP{wC5I?@Y0iArxum^oa$?is zFSMEaz4!Bpf;q_7Ix)%D;;GGGU28N6!PV=Y4;T|*)V^P}b16mKJqW;&oF1ifGL}gn z5X!5ask;G7eWYDGl9r)j4}euXo6X*+T&w>MR@rA>OeA!I+bYbC%lJa$zfvgVeII|X z_FgsiY4o38Y`pgh1ogowumV3Fa`2#H-Db<(x2RovFk6z&33OQe)bP06%(zwmek0zl zZnI=Y$k2O8?ovG5wby<*2+w&k6P)`z;LJgm0f^h}?ea*&Kqz(Z)+!`ojTHPz8*$n6 zFj=Di=i6Jmla6I<_}2ORi2~4jw$y{eCJC5h4V#WC9c%!X+f&Y0x*@k=`G8|giU(*s-phW*@uI%Zc{*ZO z^>co|QLYa=8`hf6?T@WLUtA6oOOF>^r`IU)<5SjAASaeiO#}GeS6jC8x)HvYCn4jW zYY+}wZXRC{)~AvCZ3fhl8py^WBJ1}Xna9e0^lSlo=~>cAN6Q3T*a!qHM|*5`y7#p= zynx!T^5k6BUSr{cb?nXnr=nsKdZF`E99vo<7mZH6S=UD|KU3a(+144q>&6z{JURo8yS3yV$ylc`GHq=$ZbYv{W3|?uEzm{X^-#@JKb*RcC-WqOy2wLorp;@3 zMuR5DMeW?d2}8s|W?)e&#N_kk~SJXM$hILhcco*Mg=|T%t zcIQ(*Z`N(=G*>&;yLEXD`3wIedR_n)>wHo6A#PC_KTi}{gJz(XlXu(Y5YVaS4Ei&4 zD33!WKt-`oB{;F9c}W_}Q-r$E=Nvp*F@N_c^*9oAL+!3Th3yeN*6hnrAHA3qQb=U| zp6ELu*6;JvIpQ}AxsB`hy#a+yH9|6YoV?3+3T~y)L<0_nk(~cP$2~w1I^DX0SE*EY4&p-e6%|SLM-A47D zg8Vqi$J5v3sW>Ocv+%uguCX4tV!2FW`r~X&ytnlUOeyD0wBTcPi0U zGbL*pyS>hxzW*-w=FB*E=l`_LL1w>8Wr58qOKe#qhc?H71t|s*FQjI>L%|4@d0Xb^V##_;3H)KmPN7__ycZ)%kz^_OH1V z{Et{tZ`Dyf3+nxW+H9RqRz=k+NIih<1_$fjPk6*PEIE9VR&WZu+Lqn9!3Z_cGlEUc zCh9Rh8RS8(CTAGOLOpRXYDb%c>C4|Cs8W=p9#w!_$Hx(!IRT`z`2a`A=eSxScU*y8 z2T`*aga9yF!?zbEII8);+h6G9?ZB|!D`R)ggu5ZSKh%O2gBsnJSH$lW^M)Lq^;o0H z5i1tY{yt3ju(2OdRl;$&KrsW3uGEklU;~z%Pn{Lvf-i(nmDBz{!ZgMX2yzQMqc$@j4;M z0`nbkq5Zdc6V1c*86j{|dIgOPEU?c;pNLeno`Xbj%CIjSD#b08j$P(~2|ndz zl3M43{B^W`#~heuR50TQ*0yGVg*c<31GKtCE%!Nn~St2ZwqryIW`Vmn%t2 zNsf=Yq@vYI2MbWy9RT&vD@jW$(pw!elXmOp-V-eTaeCGIJhbHZ@_;WShzzUICX60BU@v^zb)o#TSX@IkOP+?wtu*`dC_7|d z_rUCeX|KN{nn67?nfwu3OzU?w1i);{%p`BVV9%Kr}K2UYN|izB4BJq~bJLM1qH z*{LB{rM-R^#G%y!AB*f>p0({!>zTEb-HpN+OFOeE6b%&SU=QBv+i}tK4!sL-k8o^^ zuT%Xy1G&|JDUtYaoh(=JtsF1gthRFLCR3^0NQE~l@{wFexmWb_Ep#R^!N_r*HT_z| zL-kyVkd0$LB!}+ka|7}CWGaA%e0bM@fVkR4@HH8NGoTckFh%C7O>ge!pZ|_CZtrF7 zI@xKTGBEx$i5-oBwf50rzl=*Ke#dQzz^~d%>@&1g6-~kR>5uw=hOigDUxioBl1rFS z>-in?d@bs>q_nmD^Yi~)vH9sSAOE2Nnlt&J9VNo({2bf!+l^~)M8Es!f*OVW*gI#; zQ}w0J-l$W(SGD*+6=p|lw)(^)Fnx6})adW4C_mHnd#4zu%U;WJhZ-Y0E{YD5j|4|y zp|N+*fU(}~3bMUVx`xMk&;I(8to}GlW6hiodrrmPuWLuLHV{{i#?`X?fmH@LK6R|2 zzkh#?Cgc7x5O7dmKH6@VC2z6%gZeS9He=2(VXcB>8Md74m?SCt9M<}Ukm}l6*KuG; zFi!`U03}Z$jJ*XKDHE&F0i}H3`;+s}-~QFDfBxg9_P=u|{qO(u7x9aTpLQPlCSmO( z%wMhMr+1GjR|SB4i^v_Vsx_Vtc2rL{|S&i9=Qe!n_saBFLH(Mtc~B zb!UQkXMd#i{^alVzwWjF+rR&(fBf73`NwJdU;gp0UqhE;E!9ZO^OLUjEw0u=v;Y(x zAnxkx_KWd?a6ccZ&TRldsqb4iapuy)ZtHwtnjS!^zw~NADMR6;KNh7&%wvBNsh|=MqhlvY5iO|tfHEq2d~<` zG4}Masjq?zR2*77x7bw4c=F0Tpd;QGQ~{DY5q%YEVZOYvWYz9JA318=o?Sfq;hOb` zD?3+Sfo5}ZG0MaD*jSi2E9HeVos!}NuV_xXA0lsQ_DMo)4zYX3&KCjilPfJm#c9UX`=4Hw{s5*&}qUmJh$^-LXUw8bjt=T@g4N?}M-E)a`ZP%jeJsNFTs370P zIH&Dx9^=*OF;J;PN=UjOyK3}vOA7a^ENj!gS=hH+Yw(oI7k_qUF`dgfjp^U_{fGtR zCF_1GPZ(zf|H8U4IPT{RxqFOh(=<|!ocAF>MZWhnsAQB*uT|?s+gR@yxjV}4v=?34 z30SsH)h70R!A*5;IdlF#9flA@;}a@@ldw6juWu`6qgJm2vZk+oMq$7k{>CPGOq0; z1)6h&jq}FW$?DCT#0Ba24Or0$w7n{zQ$pww1e}zOtzc>?%7Alg# z3-P{%zk9TaFQCaa#}43ZD8`@Vz5dOA{fB?N|MXw~?SJ}*|F8b`zx?>d;>_)iPLQ1NUBpV$d$yT?RNuG(< z4lxRyBJ!#*Kf)@cXCtbLD<%3vRPKKE8tvWD*SH4|ZoQ7vxX%VZ|X4?fWggAVb-dnD$7BJTigS_cvmide%q8wKkciU%e1vS2e6PSfDzdox?l61}JmV zM&jcHH2{Kmq?e`wnMWt2faLxjE~Ix!ERvz!hfLS80kGz1oq=H_O%~;%$LC?}+mBhl zSNTGuf}w}8f+@}i8^!i19=lZNSoVQSkKV4@1=5uzK_mq`d=Xp!Jcn7bG*30GBK`+@ zP90$}D~}=7QC@fb{PwypLefLl2shlKGQ>6Pz-AdtjGz>^mM7spyT7;qQ0jcUJIguV zjjcFY*LMl|{Zd@0*A~pLa6*87KowH@ukWOD2`NkN)pwF%&@s;aa(C(MbYX2Dk(Op{ z&6-3TZiBATZnJ}%m5{OFQ3#5{y)$Q*P*?D`k-XM8;5R_Bm;hY%pg}f`@>8nKE zqX*Hf7g|LAI@g47$$4w-1_6PEC~0S^>%&h&Iw$*jAC=kNzrN$(_}7EG5(DJlT~7L0 zHf%*k^_^Zt$}*rE2pY}zZZuxL5{f~E1&sRhx}mS{AllZ9n4`Y=##wvLEt&N5$7oQP z-xp!P)&sH$=6Hvh?pD8-KxXhUSU!iXn89}e8P!-%i1I{)WO*~l$Xr=PuCMHI01T+!aV>MfKV80tWo z{m>5S-PdA91T5(yE4=d^Zv3_=6eb{NL2qCQ) z8NiMVU;K_+(SF^Emy? z3TsSzR&OUOnvOgCUUkAo1}04b-sL6(H-CP9Vw)8FE6@9l-F6f~sKqvU_qz>K-(hk5 zHd$p@?gjpafW^JvPjfI-jQT3QM`8kc|E|+@*QsN3Jf1zBQGFIiaa)R)O3%+jxi!1x z>2?HE#M0L;RZ{MhQ)Lw2Q^xr1u@1%piIrz*gHGQ~xCfubvMsBP+$E52+dlV5V=BA@ z{-k)3n+Gm39ePN-6{r9H{IN!0fAj|R;tsTM^LSb-iS83bxXOLeGSUn^W$J6fcaeTQ z29B2C2e9|8YA6YH?AN_XzT3mOcj;=)F;mSwduz7^xvM+$=kvpe0f0`^&<*C*r(-tr z8gQW4$i)HmTmoiv*lfd?4GcWZPEyq6N5!VW3WV8!hOgun(_`K8g z?p`hY{rvoSF|$MOm*Pt)r6Z~I-4U^HvxXU!{1X}=ibf=pk(WYubQP7NN$#=I_O5p; zKtW7~7(+>|P2n|>_L-5$J`EiprFykozvs~6lMBkcnm~FeOuM~r96LAn?RnwB!yS72 zYZ8fAJFmkC**RpK&3&wL_&I#r-=fuW?|g5NnDpHsDdp0$0h>Cm1%l~y?dLr{MF+c# z(ujt)_qrW7i?oA@9;M=0G{o;ramePdwi?(dyI^CGNbDE;h4b<64mjr$s%mo+v}=k< zVjJ+k{odW|ncI#yef@s^xmVxEF2H0hq-4L#i=8ApaGS*#9TGr&;>U;APgWU7f#yT4ET>G22fbrETYbR}&hT>=MYsKq z%<{!T)#}9n5!|}fWe&&iW8$dP%Msz}8+=9%FsAl(T=cwc1nXAQxWpja%m)+{ciT;Z zOTV+_{hZxcP6XnjLF?od3kYp znLW~OeGA{W1_xs!I;gbxVoXw`O+x{5+SHC{ZI~B62t{7m5qa}zA7W$FX6=iI zQuqCoOu}%2S&#ImbRj7cf`glraE!xcJhPv%e}|Y%poJaj^XlL`TGeAW2cZBC5hkAg zp%cZ3TFQ5y8g22KWxAP5<6+{_<0K%7O9(iN^4gvXS zxtmi?y014cnzWTW(*lb zx9jPYPX-nQze293o9WcaD?-nhex?!iWe#zRnQ~Pf6uPEuUt7}|PD`)d#O_&Ezb{oe*Ow1t*c{Ri^uBpV8?)o|m5PMbX^Y&z z#|YW=tzVWv7i-PJ@_i&|JE$OQyk}y46XZM}+~E@?L4OMkfz;<4(%#0y^YinEk!9#or2 zs3Duve;n@P@>}2vcYp5@#7Um|i?86M2>HU(xY0mfv$Go<(J^`9O#kCI6imGezWt7g z<#E-C*Je-Q{4+6dI0C16m<3c8-@ck^+3($~mZP&1IbaC_xkFnYdv12| z+uk1n-Ec-C@)E3b;sct3VKby_8+X1p+j@z{b(%puIWf3s{z1+uONS8H~ayr=CcAe7N>$PkG)pnq%T$w0mT4Z&D2! zAnqpx!gXeyKW+#%djd+|h`sFiUFq}p9>*QS>yMZF)trwefa8;)8xVGs)Q$9IZA;~z zNR}I()+@8`K2KO&ndk$%-YXZ=Iwy}qHlz!lU{SD`{VZ^vl_BqG^W%N|zJKgpPA{gQ zWH4Ce%@M(%U{xnYQ`=j5<`jwD+QI-PHR%!`99a7v{BZo$sh)E7>@y8H+)%5~4D&_X z)cIf1&m>8kFk4?g|NLDF%Z3WLs?WYerjm2lff3rt4H!!C9_ndxdLvtmKm11Wval+K z{?abUONb|WjQ+IlgW{|>$&O}kt%LcdQDp`@9Lvwo@2|knLUkUOPaMaL%j&c^NwT`$ z=k)=xq<6=!J=#Mcu9Jj5Ovt1A<*O82#_FQIVkM+oKhJ<YRKfWT;@uV|nx+Ur~G4ydlJeX1B^fXtb4(r3WBNk9k(*%t)p_7(X^Io*BEHHlj4 zJy~Jg@!`a+^4XbppAVxZ%;@Cz=O_8#+f#;c*cY(16gVQb59*OS&r-<0!a(KUc7 z0Z@|RJ^{ZE`zQJIDzlZ82@$_g{~X=hVL`>%TKnQ_sIdQ^wYTfpbT`f`0ow^2CrE$+ zCdWaa#6FP2Vv)sS{!NiAj;!wfA;hK@|S=6CpD#0fb=v}Yq#{H!_;_H z9{AKy{ARz;?{?QiS zN6ecA#*?=C5L`Ki-qr$yD)XE;avJqTDtm3Z6~dF=ao|%O zg&CPm=D^bLtyERwd^}BDr$67@Ff1xicDgvNBbO; z1{QB3jlJqvD+zi_&$~JBL-&k}ewn_* zsU*ed=DOtbbr88qSZ7g3flDWpwG^o$d`9G^bIjfDF35%!^gYqf0bKW@;F^bR6^22( zWm$G+MC(|++#G9f;XDgZ>)Y|WkBjK=UaEPLm-TCoj$%1q&X1hv1&BE(ld?6MT)n*z ze(J@%Q0zAUd>huhuZL&bJ0wmULH=Sp#_q|Vyw}+5AUr@HwZ>b*TXO(o&S8hSK9 zn%~}{C{p0Y_vnJWDt+!_72GmLIDoU}(M$6?KTp$;FgB!=p=PZ!I`kTqkN~M5DbsI% zqaDU+t-IAd?y223YPePkQj$n?;+UAE&%c&qDWW2hD|Ar)}lSSt`^*G5XMNP`o@9 z6X{w!iRohY_Z393=i3 zgn7=|cOyFioMODx4B_b=ySRd9pxauNZ1RCH4?O_!G5vh`{5B>VyDvR?5glU>T6nv) zx(JO$iHDF!sw5ChxY5t$JaNkIv)Mb>bhA@9H0OXIezl*v9{^lOjbd7B$ri2qW9yrg zqm_}}{LXFo%fJ0y{E}aP`OSaHpTGX}hu{BcDQ_S>jPYIOP%q$K2T|5aSL86-T&==a zRpW4^OogEv8ek#3aU_c>+w61l*mU}ppg^SDCp73aD%->A+j?5%W15_=a%lhjmKl3^ ziLJctk67ovxP)5{PJv}ID-wUPa)Cmc z4EtUz={s%}u5PV*-@rlFsdJ^;X}L=^LwqTtwuv2ZU$OUb`}n;u$upcxc|Bl%MvZz| zNP-P2gOmfDBwq+A7xAU}7V}cNJY9LyUdpVow5-8E)a#`)oH=4NZOf@yAK+>fHA`F1 zZ}JYWA5W<_a;QqZPO_)gml@;f4u2G$pD(UGcVPtz)ErLoicMxyVT9Ow80iSYDN$m) zzak7Tb-=ha8Q1#SFJQqHs1lBXpm4o>{`u)Dx;W=HQCYT5%UYctd0A&^?9-g7kbCQA zjYMZKxbp0PFwCuv#$KSiNQ;Ayrmq1v|54NL&D%Zp_4DR|(bU>K+$qlv`}|yYdL6sl zxcUYzxO2MX>dQb(q;nB$S6-WY`I$$8!BL7a7C=@F;YBlul12$q$*+oG&^(k$mT z`~3Nj?*rL(l*TY^(-PLz{U)M12*R}J0ejo52e@l{EQ!%9Zp-7R^-=0=N;Z5D>cZSj zENXRLi%#HPDF9WhH9)-<{rg#fHhd4P_jCR+g~~w~AU3=A~fD9?nvxvPQaQydAY-A7h?)&Vn|ldr-F@T%56Elxg_98sqCHH|h)5Cov9gLS^RZ zdo4xoSXQhDBr>Hv1*)J40o404E{XQ9}QZFHalHGeXsV5&-C%iIwG;!FmVnIl}G7&z#xgt9Y zUocv9K^Ox@gXFm~;W=3f+|{}Q(#!aGm)6V}wM9fm)l0G$PtiAdoKwC%nroMXgO)s; z9hR`W+(Ya3p`bl35jNT@fX}@h$*e$%i65Yvs{>CarpjHTi?v6jm|ZH zKwE=ybm3aJ1@qg-KfeqS#*4LFeeR9|9QfS3@k$RSSHg6A&vQ7U+KTX5AX^(5S<3_a zyk|(PYTm5$)=9+s7CX%igFT^&E%LRcA07eck)Q(bD-M)+yK0A2w zp-KF^4JDC_+^8G$_?T-9#M9pAq24o_lsIS2iJ0Ye&<21IB;K{JJuX6cX^%YK0y1=K-Gm^x9*c^d|Lae1At)w49b4Nk&qfnR*1X13q-w}cP1(R;eFOC zr_GBc5HXPicMx;0;$COEzg>D?A9p!ON2}bkl4QK@1zd-+SLu+SFhR%rH9L1|3yxBJrw;e-m-Op{Nzn)1hL3r zS2BdLSCn6@gh#KIb$gqJXrq;_0m%C1P_K)4 zvsOLjnLs}$R|V;mX%(mSF+K;2qt40RhIOSEb}tR>Q>&e8IOG5zokN5e&Nv4-* zr7*!ig`M+7MpT>wtORjob!JCV5RvL zRXKZhIra9?)fY|sLSl3j>`ezO4~v{fbollutKLj4>WdoF%&oIuMg>_)jT}PB=IUtI z_l$%eJy+Z`>#j-T?#}VK7bb!|_naMQQ_2Z!VGZ*3o%Qx*Qg%57{m?S*`_ym8?PeBr z&b^2h^#_uOb^F|PRWmS#u=mft+PH4iXp3wxCK+16D>XMeu#eY*&n(_~fFs2VgqzoW zb$xN!ZLB(O$C2AdbbT^x?5Vq#zKOGiz(U~cs=e%G0a;?s>@$k%h5$JZ4r2Cc3>6Fz zyg$=o{rLOqYKiWFzte_J2bZSiD18zlBGFw8sQK=8M~_^BZpY^-0*{U8$}?@h^g5Rb zV0yQ)2%kKn5K^Uh9LQ(6Zj}RB6VD38vyY#jlfH9Nrh;{?Agl;_)u!8RbN9O6vfgjw z8FVqul?gtBe4tQWLE=!#V0y!lY4lXa7180VT)`OgX!WiveEIs?XhPg){0ii@)lUh) zB6-nIt%tNQP*rUf1LZt@KD%Wr6oPm-qMoqTo3B~}OV!jI6fzo!w1`T5W9;1p~Tp=eTP-$}gJd-gUtio$(axAcnRJ;t8Qn3|u9^gY&$ zXRNfwXU5D~C67{sw}w!AQV(~~QMe_~nR68o6eHO8ujYgPY5Ux?t4VM9kbP)5 zu^CG=j#riJ+?nlA$cyoQiM(gVswXSAgQjgaEbJ@{Z=NxUVRBK0I7z65B9I~ru(8ie zdCkTWB*sO*!ad{TKYv0$TzL=nr7p?2Oe%rp<+WEn`(+$u;<8x_4qMVL;OZTlu9DPk zx1$tBI0Dl^4MYVtBnDa+1jef_6kIG?`PcX^(#Rs_a%OYWJC=Q@;r9C zMFWhHVU}MFcF%AIM%?tCV&n zXZJd^bua>c8J^TWBXyrE{v5J_CdK1=EFa7<*gDFuFC%uyLLRk_e*M zJ|9EcHdXyo>zFfrsIhqp#|;;WKjmo)Iyes&mu=QHD~GdL6Vhw>#k4m*){NcLtc1JQ12n0D4`^Jtfl<9k;_9p8OoszY!^g>GkQDy2vL`2OYc%%**c z)OSE`O*r?DGh|D7%!}a+dv+NWa%*WgX^S@lC${!Hspqw9R-f0dLX>BiKI5!f>T+%n zp7@+~o&>tpr^!Xl`8njH^g_byc`8RmO5wXVKFm5Q7y=MSM@JtE8t2{*Zc)nh5k7VA%W@1xOzHgfVM{38Dq_UPxpBpOvV{)?{kY7O6N(&jhk+^-pysSc0!NT+a?eu1_`jGQjdqhr9Rt7;a+%scXki@0z1?mz!3|7LZfZ&8uRN3~uSlYk%yRZ3m zfB9ETb>Bbyv59Vg{vx}}Er6G+jp2Ipp7%u1bEqC5zlW+{+T zfb};lru}wwT9g@{x!Oq1GO`E~jqE&@7B^*bD3?%(g23z*ihsuJv%9`#12t>+?XJRO7$$%tfN8Tt99=h&T{*9ZwrrD%v^mZ)P@2l{qBBXP<{_v`{m!Ppa1Y*zvj$vC2S^2jUR zsuZ@*>pfwVj=CPl7qc~lDJOd z^V|mNc(=oVi&GDMv%)}Yl{!%At-caFZvzop09_EN8%Sl&TC1F;t%jdKOB5g9lfg!` zvEzVWn1gu z3}a2Q??jc>7OKdk&BoehIa_IsrJg- zQz0VG?i|M8sh56nw{c)t(w|3fFyP}a|KrS2W9(I<3w8x2)HHqHJ34uRvo~AL@U8VB zECDy(B!Kij2BBZeYwG;D6X{-9A~A>c$Dzp**Tn`j>sm6=^Iks7qc>i(AAi20)79v< z+MUk_H(~c|R$qV~jHn=_WJ9b(Mw1Hx9*ozWV%^Yr*3#Y8n5)H2*wi6vdt4t-H1QN= z)mfI;vBpu7R4u$V|J(p0vnc}~0Cnv00YZ5`!v>|~&5e>BnT^`pk|Ew16F1%!9g_$( zFZ%L}(h(j&vKSy{$j0B5m>LJOJ-b&JNVdTf_Xf74k3T;)Xt(TXyGZf`JtKm4#jbIC zoV~ci_#?q0(RGZkjB9|&@8?5T_MqZsZAgtqJ`Wr4aT|WD`5)|G*6MQeA@W=T1YySM@|NLKWs{Gw=zWr-I{CGknDzA@r zqwJR+T6t*nSPMKn#Zr}|TwU;5*YKtIsm}AAmFT-2nhK2GcNN?MhBi{szk_FLhIY$i zp|(ZpO*OR_1R_>GJ``31G>~+{TU#4xlR#Xm9#=t(+zXX-i)Mw(PKxOm46r zf4w0n&#G-;OI65TMN6-HaU?Qmx2JZ!BW_#M?VPf!OPM94*xD@3$}<+wm$}aVHp!=* z-5b)?DZ_4Zf<1*C?OfV{O(V&;_VJhufLkv;^1ekHhUS_W*f;V-`jyHgndCnA1%^l@ zuA5(cRWP%V9N*}>U=79<9P`q?wNS|^yeXy1PFiDbi)1wBZTj5)`R8A541kTc;Sj}~ zbO-kv`QZUV3Ot6v`Me7>c$N7^MK;bg1s8r4v1~;J%wB2>|7473O z6A7se^PVZ`UgE=h)zXzJ%k>4JufMv%;1XHoSUcL9UsAkCdlm`wNjuyRS;Dh>X$>F9 zJ&oslElgM^l%uJuje1-;S(VY}cRlBS_w^6I?_d7vcR#H^31~4dT}SDHNvl0TNXs$$ zATC?uA>>*0`01<9rK7S&Lvpjqx{e+bZF|wxm}vqpVCfZ2;;wlp+wEC8qQlk7sn*WC zbK}5@h|iN#=7Vci_QL4~yPV(Tc%AL_M|OffJwyQoE>53yjCwkTHcYB{>`t%ywgT&7 zZjWz|2bMyn9StplldL@9&h7O|$=P&_V%k2(^MwKo8D5~1o!n;%2hCe89{RkKd}>Vo zRy87q0dAwq;q5e?>@Pe#NVFTi(A@;x$aBwz$L@CN*@UiuPZcZbtEMzxlgI1lk#hH9 zS(eVohL?BknfvZ8n+X^J2~sSRJZ3vc%5~RzY4ogN3y#7RTe~=!+w5l}K%cw;YjMXT zNep;6apKJ{nwbX?E*$fZH&^2yQ)fj_jU5+#B9Qr3YFaHnzuYo~Mn|KELs_D`Pj|3DlQqKmEb0 z-sSkRdWt!C37KV)<%;C8Tt$UC_65>PHs8;++rk=D&}bl=`2P;SN1;-Rti9=IbR+c; zO!@oVp93K%Fs@i+>RKlO<{WR)#`+F0yFMsh5|M1fx(0qRS`pdgC@Gtz>V|B5J zumIbV)RN<#QL8mz|2vN}#8eWKcuB6^qEB*rbS`D1`Iu9-`K!CDlO3$yxH%E|UZu!* zK)t=yyu?~C(v0uaGYR}nW^Mx`T8>-&9I@HUZBobh=2zX1IG<;iiWe54 zik#{jF(D~PjCPn~iKWbUxnW7vm0hp+-960Z=xyT;cq-#pP`Qz@plWbOKH1mkT_~P) z$Ql^vYB&qfGwTdW%0Zoq_U%Pe(OS>og5bMrS!b+$V9F)lz}ibyq(9sFgDCGJZO}qD zIL|;C@^K)kTcfcE1ce-Ytzo+;3*K! zBcjU^hOt7P4i{3C6dC3*-qtLL#>#5Etv?RrQJs*ybvDuob965I%dJ&g2+MkmUe=Bx zm`u_L0?x(1ISlVYajj(vc^8}+=lLP${Pyule%UEh3*T=G*0{EAYkJ0c*u2jd>J|xV zDns{zJj{jJN9p56&C0l1*)__ZI~ZSd>G%&ud)FPjF!6>iwacE(cCG{ZPWia=erWkj zAz?Z;E|dgCt%kqE_Q!z|8#eJ8AGF;>T=N3^@2fOr%j|d8$>QyRJ$ml;aL#vCw1RAI zx5H5Im4p8*?|segQ&vn$xkg}4Z!9Jmx5?9V^j&>AjAUe~iyQL_Zi$zvqk&Z(uc0sSTgGJc z(P&n6t8L+Gq0i8U?lm0(hNt)O*1z?BuCkr}+PG)fI%k|&@W)uaRGt=GtEg6YYTWQv z48K)bQhn9fETA(y2^H6Ad-hxn;Kt4M`Zm+typ9s)nN&2I>axPHoYbn6&!0bcl?Ua% zEedM*uyKgnV~?;bS7I!HN?dTf?KK#d6kb(6`KB%&=XLiJmarG!n8{vLgDUBOdpcq> z4AEsa=D>7~UdqJ!$CHX3vLSn=Fx?@CtXh^Y(N;a0%|R()U&U6^?;(BX?j3Q4;!N&W zY0DQcgI@4;j2Hp~e@D6Y+*R^8eS^zJ8>QT)#Id~1{_!HAxkEGp3B;7BLxN~;3fOHd zOG|oHGg@ao^L6C#=NU+W_sfO6P8dHhW~knxl;|>T7vt|_%G9w0?{^;}d#)+(3;JA0Fh0e4jztMNLfW}99%$7#BCq<0!DX~^kf#url|Ix35iM!Y-l_dM)g# zWOsIh_gbxE*M5B3NmwnNN&~UsMH2O%v&1R|4D5QSnfz*$(UGi}l7o7b+@ zbIVxPSlV~z;z(g#`Vi1VDpmKa&lcds)wt@G!=3^B$j!sFOR{oG68c0e;Oy$2T4i>d zb?#HLYeQCiGqimRN6*ShU|GhY^lMm^UoZI1}6v#vM^ zDdE;Q6=ujiCRB4;a{A|ybqUQ>O-ytUr?&|`&z0f&-9XO|etuQ}&tt<;&)AD9fmf2p zlPaBrWe+G!^WIi!nR8)dmOEary)!EbvMs1>_rXLI?VK*VSEi$ckpOp=>LYV@vOPIq ziH2oMHsy`%uhUS`gpaw z*ynV0cN2;*;Z)&K(#JjJh_lYxB17YI(ttTx$O2`cord>Ym8?CuF)m$wBR)-CXt{6- zl-Iq})01bvUHDCdHv$)&+Vdlcq{Vp|(AA@45L;M^Rh=trXsj<9jiNfBExIfB$n_ez$k+ z&#!;aFZs8B|HBa<#+!W-pzM4}#k7!p9*-J=-FTe6qw7+q<&$T&q`8knK5l|UnR2vL z@d!*cHmqLig_ap5+gXza%4D^uZv9d$9+s3>^?NJOKmYpM|MyRy5Vy8?7&*VtsJDW^ z&SR?~Y+Uz5M_eIi@8M|$3i&D>@WMHJCHoe3Kxj9qY-DAy%vPSqVWBKXhdnamuF;tM zgEy$m*CD)p=d1MPFTVcv@4kNdtN&R!|LqTd{03%fY*Q%K5Pzl(sWZ>hp4V~PBJNNdIHPV_U81(r*y7=()LDOpwCnxG zxZmJB=MbMe=ep$X;XpBrZ9Uc~N8`YUHB65*`avmZz4V(pf{lLF>TZv_1@91$h9#qP zrU1HqXP1#AENf&iUl<=BZo7gdY#FlYx%sq3iuC2ZcKkNQRZYfzM)Om=&-GAqx0E4Gb)xYJ_yzpLVCpVu-Fes`}>RwF{*cUAt!5Q zrM4~m9-_VTv{6w-c9|UOWi-sX{Dack$1nHnrFbXdb#`ui(9t8x64|@6J|=ifY!Hp` ziv2jM?5;*6*j^|^i%7P;n!j8KPOo0MZT@llGh4&)c439h5o8 zM~epjI`83(jgtbZbUM}MA%NEA-enAxQrjwQ1G!BXRE@pPoM&-0p-6kVJFR&~U3Igw z)i#~$x%9Rbi9>frx^;c7r0G?oyIhT%!OB^SRLGXHX3<)Qu^nq1?#!+M$#WePR(m8g zRAp^dpOU6eukB^@w@qi9T2C(&TKm*O8NDK^92cBhnE=&3K3v7MnA_&cccXL)wlAeE z2yP=ic5n(&yyGD!1l*S}2k}0@63%jD%-vc4Ycy`o%szNKnm~i%d(z95vRZ3w9_K6x z@y|cU*kHGvw?ja}hFCWL{ihT1Hp0*60LVAv$sHY?ln2txm0aRVmih8|t<<|3M87IA zTCEqNP_cP&l&><{CUudgT%K&f-Ur9`=Mn-CMt5J`Yy$MoZJFi@E%n=FBWo*o*bDFB zkb2pSmP(MPXF>xwCEM8Ntg{)Btd_&U6@WRq+e~}r$s``Cju>(d2`03sf4*EGn^TEg z51#RzZ7MHePp*>u#a}P;-pjq=Vm=)te;R}jB!Wl|J;B6txiX#nVlK3G8}So|Xi(tB zmovyVJ3^|GzOVz(hWDts+dIPY`%&N~9DfLC2NqTUHCLL=5l zpV&RQTjMPA8W=}dfZBk7HiCQ0X6eF!e)LgdRT8REK8KCsD9ob9ghhL3al`$C+6!jr zH7uS|rIE;MxxLszvYnTQ6ALYdVX)X^ySZgq3iSQK+Qk=%U`~J&7T1~{o8-~7r*`U z|NIv}78vu`RNfYRURv*$Q3hqj-Dqo%b+=U_*|bRNJzmiTmz^sRxSmnLHI=n;7A$D{ z`7G(Zq6BnOV$V>7%+g2gxCi0RhL8RE82{ zrw|>{5w5J+9lJFQz*Jmd;KAChk;;#pdTW&k63Z8(8AUlrr}uq^?9+7z zS+}(y+THr}s%IrGk?S%kYPh=9%a?e`fxNT#T*k!J_%|l=RyDmPR-EqZWXq=lu=gp0 z-&$_wC2W7e!+qSV#Bhh;_K6@SnsiQ;REmSztrjIzg~Z5mRDP+rwi6*)iAiY3n4`TC zz7WSdMEp#ywh}BC_XIX8CSA@1->H1MN;9bv{o{1futKD?RbsH9J?5;}^_k|;Yx|@J zYHZYYJeTa=(}N3vOR?+_gY<3cp2e2ORlep}si=@>vJ})v+m3-1E-<$%;VY`&AOHLh z2frWmXw|6hwJlzG*AH2WWHMv@))aO*X92sL*uzg3#ZEq8MlfQ6P}uH)JM7y*7_RK+ z5#+aVn>f8elt31BnBHjE=kn+wH&G!ve@;ci>Ul`fRaUXSiiqq+yzv%>tEDV}$rw?k z)PSC6fO{rg(dr_-A~6^70y?4w8CPT^!Lfo9tX>n0+sfNAKYsqqO0VTA@Z6P-o2ZnL zLy3Eks~26Gr`l+*zj`j)#!Db14nezvN19+0Z(%&_1PC7ee-09RbV}!Ov5I=`905Av z>aaree%=?;7~mm5F_>QHf@6bL3qH?JJX@y78PO7coW@W_O0p(KjzMMVv{|i{ofJHu zN8V@LGkYnqq~07T{a68=;oL)j(Ae_0j&-+N@Jla^7 z;%u~x8Dj6e(1feX8hC&@^=Dg$Cuy{0OKeMR&J$(Ff}~GDZXG{^4L>oI*m^Z_o(c;% zG==o-7w5g%!fojG&*j$^UQRiU%#j+rZuEegr8!?Ky=Ca zGv;O#%QWIxx2hu;lT*-hH4H@HBS($3q)h9Kz=|)MpK~R6d;?Yl&$NRNv2C+E0eZE5 z)K%89s3g!2*xGC-@Y~NS>Sr{{KZxHC(6BRGts*MB*4-?Q1qOA4z1kAw+a&`Oa!_*) zi;w#}(#_9vPN{~s_f4I<@q?5t&2mE*ir5+4+?$nJ*&o3C8+clUn0#sUK)3PHT1>Z! zdML%68tci9HBZy3ka~(4Y(SZmUOs>Rlu}IAWD(v1%Cfs6$1I`?c!ZqO+cHL9sU=!{ z9|<1&>ux1*KWuRa9w^qwKC38oRMkqPnaE4h9zk1zMJzIrUv7vqpX-7~%u&1BEQ?p@ zkg8%#ty(Q(oi*S4sRD5-4FH9Uk$!IeMtZY`)-f6lkeE|Y0*$ zt+_L$y_Lybh(JDne=#vmwCRQ1f!D{fn?~ob<=O9dxuO-%MQPtl z2Y>l@fA{tLVgK@vf6V{A*!KVVmw#*{0zKWlM+~z4dmXA#Any(X01_Iz7R-M~x$nRv z{noLqM*|pX#n@q6lVOVsP+KIgXCwSvDjT$Z_Ns^^jZBx0Y^}d(JsxV(&o1u=LRD0r8YD zjT15huQq`LP$!l@Dx>@#&4l|iuy4cR)eEJxBS-%HJ+VT)lt$p!nbHAi+kt!#0cs|?2y-v1=}$C_cQj9M?kx=tx9ENckdlo< zfZ@m6r^v^13f`#VyA8cOB8%`HB-%ySUlfbLJO7>N>ppZ3C>Rn9uhPwdbYS#AL3mZ8 z_l0hA+%-3l#rX;mJ*)J_mGI8h;TXjk0&%Nb?<6f zdft&+>*}`+S_%;a9ldgy1mN9Dct=hKSDX6($p*ez-h{H0#$%>4^nx*Nal0#5vs$9E z-WPl@-=p>XQ=sQB-|^^&Q!izs8X*k1Rye4_{Tf|Ttc1>YodZmDvR}Mjqr0rKPF}bN zsz9u};)DS3+<7SI1s1P~cfI<)<6xJZ$i110oqKw1PW-a{3PLlOmgCH^dM!>6k`1%B zmNiL)u36?yKW$IUi7cuZAMQ)(CCYBZ;udte(iL54u_}dX;^>Y+rA5peXO%K{b)2P`oIf=O`;sYMNlrr5KG+xAn)mj%WoWF#%FL2 zE|s3c)F-JK_}*ftkUI@mNQ%1@=;ksdjlY0Ee?h^b$o^*OZG-WWcIl%_Go9lK*?=*E zTK~Nl9udQDE)sWwr;EJb3n2dB=Emyih+`K%ksvqE`%KAj-CoVhSXVf!b@<3YEh}Bp-3fUW{@+zB$K`t9$Es8s(I! zWfBZ|Q=|I^4-ys9VlG@2BO@306zMCxAM9mka-(Dk*NoO$?p1rDOD-?P@Lmkm)>qfc z0xf+HW=Y>GAbt8oeNtShI(>LGCEDnKfU}Utu-@OaJ+}h5*-kGD8JrWizi@~;oDvv7;)tSEn<39-GawUj%nQk`et5%#qFM7 zp%Nn=UE^N9upqMIiHt|dzP7j3q`jy==Y{OUOg9o&V~3V zhUS1FB{DRr1}lnzas%)XXSDClV!r&VpT7R){9*s!`SYKK3tJ5P3rv@U+CTeR70zc4 zO3ONV=H7DvLkLt}aglR(tpnd;Yu@U}#t>?Gr&0p@@Rg<+=b%vHBTBB2A`T4J6W&Gp z>lVd#)@xt>>i2&*`J4ax+n@Gt|7msp{>hL3ZjSW2kE3m|#@WOAu)E3PYClwosU*dk z35N%jUiR6`k&4YHf3 znwfEb&fCrf_F30qH#=u<_5y=>TgbGw#|Sg}WJ&CF zgHF0O2S+fvm7s(a9B_BTJ{24c3QZ)^KpxDQ==iISqlRgo1A zn=LiG`{$3V1?JBKwibN`XnM|}3hQ;(OMf|q?&QmU(yG+5wkL6^{+`Dya%$2@@7iL~ zh#FGVuHQ2Y&#YZsA}BEeP#fWN;&2kj_pTKG{OAAjumAXmufP2C`>(&m?|%11_|pG} z-{gPz^2^Wv_}_lc|K}fm`Z@plKmP51`e*+~|M74B`;K4sZ~r>~=D+>-FaP<^{{K;x zsLqs$#~_2%b*)klJ))AgMv(?+vetDT)`QG?&6{pv5u*g5X*;a!inL8NWJIo#w__O` z1!d`c-7h}1V*}+|etavWsn3z{dLUysqPo>%fnrEeGJi0k?vmPpd;@Kf#?(aNXSTlg znX3W2qv2QuzpSoYRc|ieECy;Ic^Ip-4qSTsl?#oa`Yy70>U@O4hn@G zsy|whbo)FcHzB83spWJ5bf83(m{JDxF?6@uKyQ^5*=&fkRXJx}e0e%SM?WetcK0Qv zNvr3uj-0G`xwphRJ5Kb{6R#q$b~Z?aFzxdT2-a<;O1dnLuBry<9bfZ4Q*lWyx7BCD z@yeyu$kxnKb{zvY*Hza_c(+I>91AA?FEk$C1iOr0Pr=dm!xlT#2^JLg7Ya=2mCv%o$YAE*J9)WICV)js2n629Mf{Zp@I@chMuKwZe$F zY_bdJqZTN-!%gYhi3w5+WXNeV4>=07+@txxzcSe)wk)boq!6#eUzqB$N&X(v{?ESt z?tflh|I^ps{n%;T?CA9KzyLRND)Q>kUgTuWIXkLP6}?XNDlrqAuo6{6)jCX|1#BCT ziW^G3d9P{d&-vR5q+^~J0w$Q)Ymh{7omP)neBS3B=XmE1Vfzg8J?}SkeHK=1)NZTW zDJ9CRe18jF{0jRFx*_9-+AB?^49uPNc_YVrwq0I-93A?Ep3}0!qhgILBtjN5+s`kr z4RwiobD$XHy+In>Gk6iP#U137@cFbiIUwc-dTiobTsV1U#j0gJ98{LR2b|AVH0zUz z_1kBbb_rN0-+@cKyzIa<`SCa~G;1vcU0C4GQoTvfYi+@QxjdYTG#hSh>nYRAy{ETm zHGtRQBW~FM8s$SkdYtE)EMCk)ISzi~7iVW3x_ylXuKRKW zDYm98h{pCSfQjjg5Kb;$du|zyw4~N+E~w?=Tn4N?sCGNEOj}nQ5)f6oL4iLY^x-5a z9&82mgy?0?6DPadMdgA#im^zfzXW(?F10_t&GF&h${*VMBuK3``|>dvAx)Jv?5Ye> zGIdYgiNu@~R#!SbwIZgY_gzm&xRf>+B|BNs;JQ>sY+%{+6hSwYDqIeswe0yhPs!&j zd@6(owX_a&<<&j?LCt_l(t?1>Ub!E`_}yblQE5}VI%kl3F1H|{j8Lj>l<2*5H0OdL zTFM#yY;u9*CmtWC3ToPq-)374oO8=brFH<*7?YdRT&s;aqfgtof$hxsp6V)o(4eiT zUTRQ!*n5l)4W23`RvZvUT*?Bv zVIe#BphWR2+-4Z3cpq#)V_2)Lri{@NJ}@x=Mf+K^b!uz90Hp?!yL%rE&N+Gc%Wd%~ z(P`$-^o{^Tf+}AK>`LcaIwM|F_ZV4{`F0GA~jFAs%MtKL1W-~;d@ygW{e7H8qIY#zKoK8*{tmaV(bs1xSQ}1Ra+TtzQf?S{0aaF)dxlIi zugdZ2^U7_Vm36uF!b9csa;#&ym)_O@il?Ytl|m(f?~?cE$$;fP%iL;-pj*cw`kY0E zqO;wt)>@XP;i0eRGH)(@O$Pm25~oL(93S5%FF?pTOiCH_bK2wwU~Jw%;dgM8qvN~` zLglxi+$kYckdiQYrP)>}d|`o2VcT%Cz9zc>cg#G9V$4S8C10TAYz;82@_CVMl({#xx7P>FWzdSr{m{#%GzPTIK4*IPA zpt9ej6#&e{s#@-=>*Mb)z0QT9xoF5FuU%V0eqtA*h*beq!138yt&oX-N?21Qk(qt9 z#&Q&CVS3fF*of?bS}7PLw(h6Zs#{->E-w~S-2k8c$gePs6lLK~4HynpC^foAt zpNo_91tc(@QC*l1z*&cLplH{j4ld;LdvS}AI!$eNO;l-D(G!sZ_Wq)+lzQ)&)r3{(In)un!iv%vVuLzoQxQIoWRn~$`n?^%@BlmuZ)jVQi-8+W$>+!pAJE~FKcaOu zw~?+$*RFFunVcu|)a*2RqU&5`$G0{oQMgQ>$c|t12&oVcFF45apk>r*oU0J5Y~1I0 zJdXuu+8FiN=Rg0$W3^Hyhn?P^XD6JlKOqcYsuS+MlD@W?8J&3I<jmHriT~pO#E244&2V@UW<#pFinTuYF*qFQuBO zV!GeBmGbg!pzU{*0-IFsj*=F8k3Nk?{MikDek%gJ4&JM_Q;(137qSR@5Y29NSjB0| z6(Pnr24+n@-)4}+ZY{0dT^GK>-r)9`^o6E(a%%Q=I8Ej?T;dEyDZ-p`jLacmA!ttz zCAq1L>6TebQ%Jt|VzZsv$B1&~xZEOVpJ&FEP8>KDJ?Nl8d=rYD*_SjJ5RO!(T zs^Q9JCb1RZW(I}1%dE-*({}R}#Lv%uOQ}PC=FF45>7@Y!|Il`cqQ24hvghd={o=>- zx9ZHHp!%O2lK70FMs-?dz8;i-<~M(02yB@vH0uz)(E=eEx+C)$+<`pBqMXr+cH}Cy z-VAt!F&UfKmkls@LJsTw)Q_J(USG^>ZQ`(TAcWXx<%#ji4rmo`sueI=7Tl3Kq095$ zh7#Lxe>+#Nb2gOPE$tykD^UgdF>!r0S&_k=t&^xgDIEh!_{ZPhm=;aXt^P6wYXOF9 z=$Y9rHLhm@9_P(qBVTWF6^8&O;wv#}@qnMVAVVvSMlQ_TlBh5T_$*nBONX58=Rpm& z&w3F)e_qhBF*8BcgHYN;d_^11b67S5Z?LbyX-Fzq^1kHad)4v2GhR9Y1TS}EWeQiV zWv>{fd&g5f?cFZtk`Z-4b9(s0i~JeP&&QviXX?U;b=%-vyh*WZmY8SFdbhHVXhU{U zZ~JCuW!!VwvEQ+}GT*(MEI_;|31#*J8@VXej(^Xg>wfVZOdtU+jb>{TuFf3WsOyVCYJdL0lX0pdXp zatnQKL!>BD%H2q$6nJ7d#>@l=eD%S4KL^M`14*O)gEqQn{%P-ByXq~8e4e$UVLxL% z9EcXx2hS;X=>0*5T8T6B>D8j&u&|1 zBq_<*+uGr7I^vc zJ}ia!ERc~M$#$ksR-M#L*4?`Tq6Avybs#IRUQ5t=-<{FF}$Qs>Rmcyb%5D{tfj> zsrMX6Dp&4>n*!r{pF0-IG$=3~*nm-nZ_I8lC{orJMC&%><2r5qet%gqm^cgEx^ktA z!m75-DS*C7Gw8(>K@SK7Hu~c89J>!=E#PQ*c8j+v;wb}9Ck*uNPT%A1K9@R;y|EYI zV0#5iH`Jc|{`!wKaH&f$)Q|y2wp!ld?;*wUCLPvGCZpQZ8Bc#fHrK^^ly%p-PGhKh z>)%D+c<*dpm}?z2nSmGm*x}zqOLQmARB!tG{k@&5NtE@LjJdEW2ynFp%>Ggo&`o7o zOw8dvMpoNAm*#SgL_5bQX6>~4H7CvlP24aXo&YsRhz`YO)EWDnw+dSDu(kB}I^a{} zU91y67h`zk$Gbt0b(DCY4;G>WMPiKm3{XM?XcW77&@b)Q=Dbz;rzioY_RG22w(hLQ z7ebg?bNj3AU@%oqUs}JRU zl^Hq0xyxOt!OHYY3ldR}_IEP+9S4=(edroM8sU+~aS=b?f7>x%mw_dsgl~ZE+uHN7 zZr**ZU4*y2?RP9!AJ2BW@;+c$x@Tc)*6dtz044UhTiv&CE%PdS-@C-fTj%lDoah*4 za;$9k=lLON@#|}&sCe%lIkI2Fj+hT%zlem9aUu&d5#5KY^+K+TnY>hrIN3bpoMCIi zbhTW0>-$98${x>H=1o^?&`3|K-pB_#b0&<``2M>Oc7POTTYHYd$zBMJj zi_Ll=0F&fdRu#TE)5#GP?|q!LNLx^ee=BYiCf0aH>Y88`@Y689&Wj{N&==r~iOcGQdBrhSjH zhc*6OIr>blrRAC*)+0(7V=nq$cr+F{m%eC-wxJuO+|O4~D8#2H_r-qaD9lm4J+akJ zyktZw;Ah@LRk1X0JAU2{PhMS&?C7aK-(O$W1_cO`P^3eS53mGD+o&(r(#1M|Qna#0 zR`2K6pKA`=(7n;s;Iv$-!|Sk0W*^MRq?4r^ZA0i=c3+DQ-Yk9A;_7Cn`b2hFq4Qgk z?}-S2da63XBB8X`|3qt1LL7WxcJ${6)U4G>uL_%}IX?nIe_w(|o?+(6_dXlwZJ{qn zmd)HY93U_xAq;(EUeA=zj9@@}GpEXm@i#^J zkf}^J{N6@Be*QiJL%P{>L;EW9V^OZO6*rCXU2in(_6o-_SV!Kq+~AnA4?)}`wU(UM z2L{Y+ab%QVblMJZ`l;%C@d#Nt9jOkc9^>Jr0P;H{>qfh~sT^T@z-<4J79Jzed~_ze z$M=>d`KUJppua}FkLYQx$C;vapju(OPxAW|Z_Xx^vzI92icvqtuRJX(fs-6 zPdn6KA)LSyd=K(upUlev5}*TKVh!12KqWqa2JIa{tweZFkKWoD6qE={%mImZwN5Yq zP3${aa}#Rw&ZLH*f_MCu9USt{SJ2#aB=MVczKfu!nI)c+F)bJfP=tLs3fZi->NiS~ zz4>YcBzW0d(cNd8sJ^~+iZ-&q(rHf+>wkN!v@udXDL4k61;^)i79l6(uI^pa?9*Tu zYc&$MUl{h@b!aQo!OM!l$9dQ+tL7~UmbMwM!7N?)e0~H#w1Q?VspH{~+*5 z>P)xd`Tx68Yw48sJs(2m!G!_iO?z#uc2H!!`&qii`vXy9Ktuvu{m~kL^kQ(B`YSSk zzTcN`Es|A!&dDZ=?j-Z#N49zQ{?@HE@A;ht{MrqT>U`C*0!#cWI2-iTz!!gKFDod& zx?k$VoUk9`b#g}1eR*kFUoD2eDQDJp=HQF%TyGCrJP5a}elA?tduqhNbyoN15$YKa z9c!1W{t&1QGAdzOG%W&JRM`Yl|9ug#;8S{4=pjifv_=)}jSXPD;xSkui~N>=_FpDz z?wx@$(Vlrks z15=dD0ME3}39yr!lifG)Z>TJKZ~e_0V!GmyZG=hK8biRg09{-(UNf0u=-qdZ;<;~6 z*4f;l580kb6m7qse=f>NYX~H6ymUCm11n5@&4q*g;MEv*`aJU?*-X}+MxrZ(!b&e; zrA8$vqif9G2zgM;#BJD?wDSbTE+v9xHgCf6w7q_3(dy>@4ghuf4Cb{(OFJ=Rk6XCw zh8$>V?PH;OdMB1iNijKvsxw@!Kn~&_q0l*nbc0v<+aG*t)N4Oq zp}8WuF%-{JG#YdzPnC=P;FFu;1xa?vz%xu6l%*L*wI8sPBTwHlg_g|ACpJhL-BrQu zyU*Y;aJKYu$xL*S>Q2omz+wMRWa>``6JG|sI{OC2Si9|>Hp1sAPKggJ|Jm<6#PO}& zL0*XEFp=@8&Ie=zkSq5Q-!pRYiMDM%8LbNL+WYzY-k2xa&>3s}Ji;T6#i=-$#4X>l z7gJ~Dg5dyi$z-+GFBunQGInR!n6bp}g=W1DnP2|JB5N>kd141O%|P&=i`9PJJl0lI z@R7sc#ifw{UqFQaANQ|YNUToVI@kql!#nJ>HcIW)VA9VwWvi|2g1gu50X7uy9`~!U z{k7gm*v!CQxmO$4y>S@9D+oqa-l5L~^np@vz+hyXhx}mxk4K zj`7xY5T;*$hIp63VS>=2=S(WBoZa$fB^h70_z2}(MGdxeF7ejw-f8FP1T@lm+vg3& z6+eG}eGu!npm>m0d>Awe{cp=X&-=Kl0Xq77_6>prD;ijJN|HrI=FHgroOvl2uzS zx?OWUW(NRlor8tW$C&d%DBUbPU`R##gDzU9nsaFLu|NZxI|9`H@Mgu7MNMFPo9TV+ z<5Jia+aJpg-fH_DXaL-NYG2Hn2$V@bxm+eG*Kak}tH|Uu4*IcpttX3Z2vGB|T#NX~ zxy%oxL9qK=YXHoj3dZ}xwFlOKKrb?@j+>)*=Hfq}pZ(2IbtmueZ{%C%9}GgXLgUGR z)jydFl3dIMy-wjRwDG)i8t5DO1Tw3w9rhYlyLW}q8MAn9_Kwy$Pd*%%6ds!<{DYrY zXw`bW;jr=zx8b~EedGeWSC?ykgL!1od>Xp5(a!98}1-zcKb@T-~D!-{CAPM&4@Ui9wkAJ;I*)Wq&YSezte? z4ZM~2lr0dsqB%}@q51-P4(gtImpcsL*vNDF%S4%>j1566!u+jxfWc(pit+XnSu-|@ z-7WF%>MMV~KQdyCXcGgs3=k+f_`3h-IU~we$NT;i2TPS?ZC99M5)zyy5t7Brw+3!U zpqo49da6rUIB^~l&7NY5ZZ*3_qRgeH`!4``7}nr0>PhGJugDKMzh|8H+LFaaW^b^b zhdnUIghY<>qV_?UVT>K`yWVZDR6U*XI}fYN)ojnr$Y*>bxl!Btdm5KB>pZ_#u&zAn z^FT&5rqD{AUwKvcb?~41tkeS7_+!6hG@`XHi76?Czq(XZ_U+!;u`J^62}{n0s@ z+EswrxG&!a2!L(1ef%CFnkd~fTKS_}H_x`g`}MLy2Bt~QiSzX7jVLaV&Dn+#@oI~! zfzME}zU)#dY>SE8To-4uFvQ3rtL3@TLf`egK|<;zgWvDgLvYo~gdixE(-*8MfW*e_ zz(bZ^$~rRk3#L&EOX3HuLc^-PWflLYJZHVneZJ$GgGh3mKR7hR-V%kJMqq5aF&@>) z%I4?$7coS)`~#g5{$$L7~@x(Z8q9? zXVJoXr!SOR66}cxY=&R*acsO>K#K?6PjmY&;Vh&JYc83c7i2OMl-19#e>D!`S!jb_ z5hl3%(l-?Lb$40LkAutqgPizDO>6J1q0Qs^x=NAze8W(vVD@q7sBIj+9cV_|xwKf= z@2m7)ns0VtfKtEDKW_jV8QJF%1O?3b8mvLTq!4Ty5FRCYf?~|`50rjf<#+zaqx5jOw%{D5Q^_b9Hl*5*=N$kx?v_4%Bg zLn`ied{mcW$D5r-eH-DO<^3L2yE$s=ZK`ba=BybLl&eV>`H(m1)GG+rX)pvpC?dZ{ zh?oHKgRI58X56{1hYCfpethBxpeb`}B8rGHDQevN`mDOGPLA6xX?JkV?^ANjlgzKy zN+LOnFOvE0I@_TH)8uYLu7cP4`TY;OtJ0($2IOjT-+9}TZ+`Vz6LrsgZhf~#f@{@N zg)B0#D|M_&SfASA1U|tFCC5D3^YBVzIH?Td^xU1}-FCfCaUR`fzwb|(47L$`74=Q= z3pCZb&q(QtS;AdworaK5+nc&}9mrKs_6;4{`KXxEpiAoNU#K}@q(5*qW6A1fFM*+_ zN?6A2@-p}Pod}&P^4v{0!JwZYHm`BbP?|G5Q2XPJuaZ?O?R4m$h3EI|Jm|(b9?WQS z`15gZM-yNh%t{-cgtPAoxHY?5AwHFNKR>OvpFh7@VR*nbWT8)aZ^zp7gZRhOT`>S%Ip*4cK zU?5~WLx?W;WQ?F+o`gpnIbr#{hRCyWGUZ+?$Y|GwWU^r7+}~Z2IO8f3J-KX^SQ6W( zbkKKG&yw#=-M&uGz^*V4&K;@AXMnpHufU5dWD0zse{1ak<>?SIrY`NmO0})9*?ds8 zRz7Z1oBaIqLoMT!cJ&y{<7mUC=VQLX(-JAbRZ1%Qxnz`S#IdDaqs>Xj=Tx|-aSQM} z_Pa+5G_~}yrap&rC}Kp3YXA_@yxlN3`0qxEllftNeCUd`l0abY1qEWWZiyVvc*Xb>i0I^0L08R?#d^e3vg277qy_zp*DMiuW0K9-dI5SEA8cp zMBzAuo*eumJHGFdzEiX-PMMLI!fM#}i&xeG6FwR#;NM-OZPF@_{h194me91S4i)t@ zQI^@m_ZTdv2`f($?*qg08-zGO`V)o`a@KB1rJFCk{t=P_FJH`6!_!Y+R8oZhTJ2wE z`TjgV@5p}Fp^-#=n?Wwz) z+qs6-m?Pd^J{PFycZ@%t>3WBfkovm^P4TwzdPQ?@UfT4Q)+Gl{L$`KZyo&K^9;C@>&luyiYFlAUA7R{^rkz6GAPpEP((2^N4dT+$3whg&c@?m zvSyp_wMhP8gP!a6{148EYy=7Q5Ea(!>*0&;D>+p(+!j~wp7YG!o%U+^Thn^eLHG}9 z?wsCCyCBx$>^eG8>HH4LgE$JHRY*mHa$Vn5yfJh#aezbr&NwQaG))Vf1ak!taLDn!O)izmVu~OXjLfm# z`T6`dZ_9zcVUu+mUG?tfSdB;j@W#l>G{{WC^%(R36jE+Dzttt?#D|-EKfO;MUdre( zX3f^)w!_r1YVU1zTbJ>5>%JRW<efEBgVUb1A;1;GBS0? zk)VfkXHZpRC}9ERX;(Z(w*rxN$XOpM(m%!Yo(=f_5>W9CqhAMaWacbjOgcn-x+!)y z`8{88+7`Q-{(FUHd5klLN*jCi+cbLaSq)AWX6X;SG5pKds?>%x`Vt*E<3^STIaab} z^*ugC>T5&3W1O$+cFU%4UH@1}ZNx~QSz>b4P6N{b?hq9Mm{dEHzLHOzU1)8<#z;3 zKA8F&r5Vyjaz|&6eb0WmPMcA7o;0=D!pBF+{i=I{KfH$$WZUc0t4Z&NCuLvD8oQOr zr^4jZ6ToS%g9|4fD#`acIo{v<3tQHdlP%BHl@dr!fiVPI6P**1%L!rpw5JF?8e%|C z!tm78$a6w~(H>U?5*iy07%BAD9uCvnu5n)4v)SyOnM)21>3_ld|CZ0m+nrO{nF5#h z-h8&+hAW$aSV#x=!>3KUu(3b%4oCXYQ7vkcqe0TUIfW8mu_-9TbnCnsGcc~Y?_mS6 zRcc^<)0ID;9~`1Ome;aE+|(k7U5o45bD;K3o`foy+iPx4Y6NY2>yyW7^e=y&t!&T_ z>tF4`sGB@_$Dr~oyCf6X%P_vq9sr}}=0oxO{Fzm5_uE7|Gb~z=YN309u&i!;nRVNJ z^o9n!=_va9{HB6uxjs26gO;;jyqRRAxIr2>Hxo!EkcK zyRH8|ziJJ?Sb94Z75nURZA5RWn9mw+$$7yWK#`n23tBJ?Tw}Mgc}v~7sEuW_1lWlp z5UdK)%Cwz`K2PDl8+jg#pS2yvVgC#AlhIsOL(Tyvh@`?Oh_S5i^jbfSlgws{et8B7 zc1wWnCY^!NR*mpy|aU41wY z&6Rf7JJkmW16{4Tt>f!4LTME00PlQF7Q~{yT-LJ@D+LqnO?58l5@_Q&p`9M^jxOtw z7GNa_E|Sm!Irj7O=Sjbl$Q66&ch~1Km~YSR4hpZ2y>GrfZJipG`DLU1SUhXix;l{K z2jsE}mP$nbqh1?pmF(>Ff8MomMcC_Qd#mnefUw^y+)EGNS#**gTU3fs5jQ?k_&!z_ zoXr5>QmyXQwcAeOSrh^g*@?Te%+qag(=%pzs$^(nFlImM0jahm($+4X)G z`n(XZY443OU!7H}wfPCi!{@xc@1{-EcN)Xa2KWbBxe2KBmIBA}r0UAa_?KsK(3#P8 z_HIJ$BKNp_IGTx5P~3N2o4~GqzrQn&?1!+_(YBXxx#*Mun$(H)&=s{I9~-D*gPsMCNL1)KTm|<|2W712jHv0C&4zjUNmhH;!`o8vg_tDHI zbGJGxX&x~lCB;rIA0q+7l{}k2s_4L;>?1A=fu9j1-z39<+&!7=tjpj)xWn62D#+!q z>G#S$-NUNA*WfJfW=AK|#FiW?(3$Q5a^&6tFPC`7ckO(mSz#qT3GR%|_@!78OQ>%(a6h~E|8A=qbLGz|!yra?l2a1c>}!{N3jo$qTMDx1$N9O+w+ za?sd(Yip4{wvYELx>%#q`1!fNxoxW*yUU?P&y3vbypc1`z2|H_FX;%kbClg9ZS8%N z`9e*4{s}Ft0|8yCg33Et5lc)HetHb0(q_L~kXe0gt1m2+_ex)AsZSsfr zZG+U(pBPDE{dCwe^!4{nGa-1+FmBOR9bAMLUk#M_u^gT~BiHe%PO_2${pf_L_oL|l z+2K17zqkGZgw5q3a6j2p@6{pXR|<-c#vz{o!ui%BEiHyhr`QWMNP*h=3GwJt6)IA1pv2El#81l<=b0_(agq%SV+qx;cr6Vr#z_jSdaAyr#>`#J$~x$M2V zQ}?XyXYaS$x0XGOvdC&Kyp=kK&4 zbit!vVA{LCSbz@*d}*V|-pRmo6b2jUp!fHy2=Oy(#T0*8H1J{$9%O{ukhJQ&M{V%h z2*9?Ue9Bdck><{ESmOWAKM9tK$Q>_&EY>==b4MEF`gCxeTp#p##V{hq7F-D7K9zlB zf?ey`#eX(rTOhcaGues2c4~H3c)rXj`4V>tDz)!7m_P52iUWi9ccAX0XMb}9O@uGe z4_&ld0+wpFXOnlOnJXh7pW~Gbx~D?heD^8979VVK^O>8oAfI}$o%_m*q9xo8!=sOd z7r*l>;IOErOmFjiZZN`xDpweTXg|KRsuS;9#~JIlDk3CD1oI!5a-Ofx7`f>P218v4 zU@}<3_D6JRIcJPFic9p8vj8uZ{hq&auoEiQ&ZS(sy-Q!=bw&jGk85|e7pDZSJNi$m z`?EJD`S%si-w-aFDn3WAuEMaioyPUoh-BJ(If9T z_)^?_Tf|`#8$Z8)?8V@V-@p{7H0T1kztZUG;`^)-_oKk;VnTAZwb<&_{2ep_fKx1C zNTaRpm{*D+6^-V62UewVE*YC>5qHU(PhbZ>;NCy)@A^1>`a|bvlmXVCN3V?xB8XO!k->T$2aLmD$yTGqt3Gr2Lk2 zMST3agVzVL>56cX`&M42BwTQY&3F(1t-9>aKf-Ab26h`_fQ5hl`RSjE=Qpi{I6=wU zY_^AJ6aD4+s6fGH#kdj9Hx}$DzO?`p$J61RSYmkHc?q1LK1W@+h@LC{F>YQHKRrW5 zTqa@t-uQk0YY~?MKP8avY|#gyq);yopT~Sq*oA$!IVAz6*VKY`GTtUHI=LID;?|IH zf>`eM#Z(2*TJL;=o#XX=WoIxM0vW$+{?30(y3};m&M6M*Pnkz};#gPOE?GWkcx4XY zf}(YuHx=3e){b|{BDk}URock4c9(Ain} zu5}sYRt^c3=CTAV=w2f~+`TO~;uO2~&GN9(*SaYzsEaebS z{i#>)wzA+6*>0m4%h;RJ4A?pm+EUQdw?Kx7 z$RlrE9pb*;@BM`fk9$4K);!`GbSS%?`x~4XK0L(iBNA6E4|i$@*@J;ALNoMt{sZaNSZ4_LTWXHq^AHxF03vQf(BOeg zo+frC^vr$&D2)s>Z%z5xIojq;7oJh!fUKk(bsPjV~%6r%&^dUGlD0+)7ZmDe!8 zGPt5a61FWMJ3i=l;?e&3^{3%y{E3?kj_JofIxk`0xr6GdXQ-YXgD%h3dTr_Pg-#53 z;xp}|$0>9I9=Z?Vt-fBQEfEw)dyaCtF@w6nO$xvSIA;C4zX+&@>$Vl}khrH{#yWF* z%yVI%+gX*PUGwwWrj?_8y|ypw)5hX;_F_nlw8!KgII?CcdSp=V?rXf>5PhCob+n{E zCu#wR@8_SNlEtNT7A;;(5>*}0WnN80AE z;_B#nc6%P|<#r%6cP^HuRv#X8O(2_;0TfcN%ZiDb!#14UGp7U++dg8$@%nlGHczGK z$(&u#_4$lAZqsQ6tYI3mg#y(Y;}T}`QGke49!du81&nsf)4t2@tz$3y#1Zn&gig(b z_wB_!Ty@Nt4OoKgyvy`6pjDeN5c{d1iV+`_thm@QjXvPPbmfY=EWVB59e+@w zQeP0C?lX}1zw=xD_xs=ekMp;G;+Nvz{fB?_R|5Zb2HqanQWxIX2f|H3;ZiduW4p() zaJhmrTp9Er!r>smuQ@+o6dYFg3gL&!_LP})5hFXfqu;P&@Mep@6R1J=h#rg)d)7T8 zyMod53F1I4dNx2z6T)1LHU|qqwk66>doNskku13z;oi>&jUe`RA?kbNJMr$BQ1$vl zku;sw7hC~(=skK=8P4v zuVe19ZNKk>QJs@IyzauwWT%?xYwz!}?*G9-on3Y(Du`36K*B)|&u4v8B+70phWowb zg$Acq!#y!~11<5Sk73_)NYmaVm%<*f>1m`!m}`sisI7UkE9V(*5gO>N$M2wp)`Bnw zRvWNrC;E{?)8%!&qjrnpdskYL%Lb|_d8r%jI=N?S-UvMC3;C{J=Yn^A#Pe6Z#g>_l z+mJ_&mV}~Dw>CFR|1*9*=)JYSB5ivr(Z$wLmQf#x?cPHrQxvUB&DA=36zppyY zPPMOozbH#~D6H0DlU;;d)68vk*}#;de^tcx=9=<`)Ec1_c8(HSN2U`?BeIT;m0ArT zc0_#NTSuq_JD@GXfVKryVuVoAHnrbD-GXE>#ky>YT<}2DEz-w^KK@)**BI(g^P6bQ zk=?-mTVoHs9rplEGd=^S`^>jT%}?R*&E>n& z3dsHjGv3`TAW_35`a4IWf4cwIzx~V3fBW}{LH@`5Pyg{BJ`~yU-mg@V%H#IHU5&@RHwc(UP*~bj3>a7C3`5>&VcPjWipakH>XS+Jzq! zKGzldIX$|X%1w@(17lum$MRl`YAlnvS+DKq&bj9&Lq|Bt=lwly(sOUF(Qq01Th;ih z&_4u~F`Yl5f~9+Udo@xFz5ThGcD=y_nERd0#=7pFdllHS#;~`^Z{tR z-(HZub;2i$su{Eg!x@te8AkP2@4dL#Ok^&;m+v@i=7wFpwo{=Q|DK+MjC0WILj3}B!Y!CY zJz5et9cbg}ecrvCjm7NMgVEa(>|Vi!>;!CO#>U2=@!}Oc%kqxh6D@z5(Pf2gLaBoRMc@hHz$L&mG zYa)$Xn_U?kb)fZcwuksmJ*YJj(DeA7K6OTtPLUQUhA-V`>PUNy{s?h@kfqliV#eI) zG1f)9$46o*ofOFeIBnEEQLPd&Qo^wOV|g*N94t(3Yq2|dkCK*Z0?PdTOAYubA5k4c z)@#LfU}5{~U%=00fpca}>zvN{ z^-SMTVfq4NuD=UdX)BWFGbUv#8r_Wi*%XJ8V97|A*yPRl zm$~l36UZ3A^o`4AxyQNBVFBFP`$+iL>m;V@-hRGR>gj&nX^_ubgJf&1^% zuSNpp^WOGPC)K6*%Qp{-Pf815fH<=r5JK6hq=th`TI<@A%&rgChxc%ul?(m>r;5HN z?8UDUn-PLvZme~$=o>vqH0ICGpN3y|Yz`6j(H{Psj^&8+tm&Z29^aRpZX5xf=5I#3 zBW0@@(};aWn>=QOy$_Pfr#NE~ShRPo?Ymk(LmzuAnSj$T zb|LJNg_@z}7%kECjjh85U`Rm)vNj*!Y`?$$?=YR(c1I)=l<6={ugJPBZA!>{N5*PO zsD0O>K;ClhPJU>e*4Fn-Q8_PLgsKi%;4Z;v6v@}|svzTdYZ*kh!Y?RDS@wJS=5nlY z#NTD5NKtHJ`#xKj8LyLIR)Pj_c=YtSRqu@}ig&C&(O7Kg5~6<`_3jmQ1_J+0QZ>RGI@XsAF>Ygptd;<1aReX z@d=!1M?o`a-Xq}u8cjDpo*a)_vXIIb4Iwv8mk6UA^!o4it*q2JiI))jxY{ zxG6!jkzvsJ(DPsGO%WRO&)L)F>mTW6@V5~cP>SXqSHR9oqm}Ot!l|G!s5gCu#jYH@ z&R;>F!pJnYV?-TI?+D^;L$Mrdi|*~%;00@JE;|#%`v6k)X#IXqDcKT=gg`bmk28cd z<$R$vbE9d98~M~0^`{~vav0|A(|@P$<9C&QE+5ogc^6m7Qp^nDukJ-ZbR9fiUZLm* zr}ccFWld`?I!WnYo>;w@Gy_=>#H*>R({185z|D6M(thJI@GHKce{T=(o~%Tnrxe+} zuGEYE8~DFceB2siO&}0AFDa>w-W|_`AAq8K_ku&jbIB3S-~eks#WO3?+R}FV(0h-A z$LH3=t_IoK@9p8;L1~{jBf%=HEu&Iu4?up`H*8vYgb+UB*KFTdPUP-)3C`}TZi^&i zRD&IHbzJO{L%kbTB{sw{*J}Nfmjne5y!jTv@jBP;pV_Rb#t89SWq#G64^*jBA zq#sq!HpiLT>?J4V5z4A-j;j%I+p6rVY3gmko0{-6iAugA8dbvf=GlIIwmIg9(!M+H zIto)_92fkf1Ya&&kqgG;;m7{n9$;<2GlFEHD@snHvW49qHd@SVYa*dr7pj5<*3L5i zBLx~zt-TQySurT0)eDyWW-AEI`696adxP;V1KC~3DT1?bmCZ@eb+H7<1COC~Xw?R_IDSa$FRw%_eNtH0Cs zcRHCZlHf_J%CC%JdPt$;-;R+qq^BJe5_?7AYL?>z$g)R=Mn3cF#QENDI0dCPJAW(< zSlD{xU@cN+En}E9&)?~@XOMSu$TOs3nvE{xl1s_|AVy}kROb+%vs z6HFN}Xi3x=zGE2Pgzv`aXmZ+l_dMt}ubvLIalHjCkoo)lQNze2;WOoGs~QqJ3L0v- zfxMlP0Xa>Jv08sk4-SVq^bPQ*+aqnNk3e1A7sz1MPdm1|jiYGo&OTuBSd6m_dy^Mq z%J}*D$(ucZ{v*1P2HgQc3{+y@c&k+t#45TmE}`{j?Y%69r)FD9>^xx=VEKbY?!_7oKW@Pr){bHd3JQ+}UcZI~C>v19QK z@HrLRG%mKxdp^S)$GEF=O6~pC`B&fxKI47t#oYG>Db3YkW8mrW6`@z=Duiflg5FAu z?#kBC2#BqI-2LbM#fcnD0tGf%AGO!6ed3&vR7c?MSgl>xTx)2Ye!o-<0^5DOKX6s$ zZa@Lf%ZK@Cx^TIn`@^k&wAP-+CT#)P7)AQvG!^^zP{(~m*_kS}%2=`Gl9AZx80(Y0 zpr!M6H#3M@?pn@U0@DqH{7Ht6L~B{dI#$FK_!MnB4!QMp;`?tnckMR(kC(-xpYc1r zqt2}y!PipPk6(ly6?{AA2<=t6cdsn08P>(d>}P!i{vNM7+@{NTP5n89@t!8{(zvJ6 zu~Jw|L4pBW*?q9XppD4C*r$Ee;NS40$Z@!Drm6CAtSHxcx^V_xQFvPlg1s*}Vj zDRFe|{1K!cAt8gIYWEZZa5|FqSf%OM;BVA;E@PaFZW8p*_Wb$&<)~oBY;%`IqfPQ$ zzdD>~0@B3*5&`6k`p)pxJFrVU8{e+pc2@_cUw3Q-0-I3gp-!eh){uC;*&sa>~@FS*U{ zL(uwY7ny?=byD=~@V${5mEtHCT4%iVTl@w4mlOt;mp?(zW-~W9s^I7tKnRxQXnxbg zV8A_ngn-gFd05|Tp^2IIY_eH108Kz&uy-GXgF5ty8Ty=K6pXy1I{Jn{lh4r4&rcpC zD0ZN*-UfvD(oTz`T{m&8Aaek&DNwwX@N4#x?;UhBz8ntB0-!p+s$({TDt&BA8eiqF zGSJu=!u12?a98>EH-As>G7eK zarQGbbJY2vGYPrxe)2-HX<+r{jYE>(zpz&f(?gCOgVN8T6mNw_NQRyK_%pb7S)$X_ z_q|AV+dK`#tc}4+ZejIE42z^ah!!Iy-Rk3x^NmI+)2tK3JU)@$8|Ey!8&J4$xr)$=!MT_d`19; zAEjw?4dow4R33e0t87}`r-w*D8$CVS-n}ImMLUUcv|pPt@rG?#J?_u*TZ}?;J{k)w zs0PKBK5#RzWbS*;)s*w2O51Bw(-3%0c_4xL-M!wXD`qI@VHZEOJ4S;Mgx9K@H|>J- zuK*110Qh;w+q?DO=MR`0&^3GycFWO$f2F?YgMxOgY(emxI||M_x|DwU%)ptftWhi( z!EgQ?ZxD@6OxD$|&m)Wmn02nQwx`U#gEbG$E6NtXw`cg&tzH9TWlo_&tR7=yoYO+7{szQA6}$)o;z zsIpJwD4Sso50e9}Ju;)eJkux`j<1pwtC{5%onv)lqSdF8dac0@fE76PF}u@?ZxC_wyZ9&XQ%$xyv!_9-{^p zbx@S>>k@b%KOBFf_@ocU=Q+><`tSBIU5suW^A=w6sT2+f^icQo`OX}ao_)fr zCkMvSl0H2ry9*>6?Xi}lGGvz!C4(lBT?8}beh)6AI!L^#Hy6gNL-(#cKc7D>vLcnS z>wJ(o;A9@i1GD)_X$q974>w>HxIL=dThm*|E71HI(eJg+s(9C465z&+DLLBZ;DwAEv>&8!^&3{GQhu49GFN*PJjHsJO2Y@7(z%^7#iz*Y$34 zf}{{F>>HD|;*l)CAxAxuk--JHXPv6gMub%7h-EAWd zupN8V1Fg(X>>p@-(mVEE%rQ3B+j>Y5wC!gn9AkZ$$mSx9gid!0`Dx&3*M0YW|AI$V zDK0&fbY-CA&^m1COZJL{s~&y#KI?w8|bj4Z48sa+Q_!`I2rR|VW$XWPD^K9wwAd*cp*H*n}voRHsl)jg84e1Pb?+Awj$XAGchi0NGb zC>{VdCf1{SUU;75qxiJLIapv0)i#N+ebj#k9poS;IqDo~VcPGXsvruYJ_RA(A{lyu z(#D;^UE#LSPGtxt=jBrURfy(-tH=-tp(C>tbt`RR*4}Kp?|vp`FY-m)x9M2_eAO)R z9rp}zF0}jQ@z?j3mU2Lzojg}|=g_(#TcW4faAX{9?CZ8^n!;E)tM3kY!*-mt=h7vC zTW4^qwpg06R!~1fp5A)x{2g>N?^3bB_G0hRs7EybosBCFMi3dWS~)JvYO>l9n`sXO zVZVOf<=dhs$Z0#k3mUA6@pTY-d%QWP?ahAG2(pFeS1B_pJ3oJZVMdKpr=`#J0Y+gY zjWg7Equ^%ilvES^qp=O1V*yl*J!>OUTL9V1S-zqznkNTJ5nwIvqv*^8Z#DQvD~#z% zkwWYgx!2!8yJrGrp1I^;=epoi2;1wFMpb@&c|Ch2as*J^UC^64?kZTWMGi0+L9+Y; z-*dcMht%^Xv_*em=PVmo8)H7THl*&E^ZX9_Cj3}fjPb?3bwwt(+FRLUf83g=?(f34 zGulgzlj0=T#DFNtUng0(>8^v0UN6;xqbDxk6@)yv$#seithe{=vKBqLxbeGaqkk31 zaW=1OU#)!kc5P3eLDoN$SdSe>bwTwW4c!e3duP`57sLyg>NP+!F`BS^gQSjv4-4yJ zYD{ZrS-ZMXUA*4BYWxmLiW;tKIPD^C{T%#r0O@{F?^wzp3jWgIXRo`S%t#pDG`(LM z6^4GctXn|WZ$IW;^R*jh?}KTtllk%L7*5BYDMLOzS?SNK8oMxyVvJaWao}#o1x5OO zAJC<@eTR)!fzq(|`U?5aKRX>2Q3?ieUxNB8kTF?OH_z5=`_M#LQ?p3y$64Z{j!#am z8f)~Qugd1j?Y^laL^@KvxhRq_PNvr?%i8MH%+WlJyg5kH6}1N9GqAUaZXuM4=EwP( zUarfnJ@{JLPpDq{oEI8E2* zarVgXYiRV2s6s(7=UMPIx&eiEoZK4ck-TG*FoR1!wrEL~x$V|vq|<%}y=E;T)rSRU zXkQU2owrQl9=;Lp9GSg;kmf&0SbuG5B^{4wRoKJs{_ds{+DFO)ax=EPe#ijBH-U2o z|8R^7w;p=U`4Ihlex9;jj*dAB`x+PFS%3-v|4FZzZzbioT;uJyrQFBXyN9o$r95G7 z#uIWNU6}$wvIJYTd8CdFtb+CAX4v9K9F3ibjmCQa_fdPge-_;op`3gmH|;Y+$4IbT8bCD)e{I zO%D)@6gt7CEfyD`B=*E)T&4aV15S0qx1A@5XpPC^bzIWaqCU#>4&W>%`G2$aF1yw( zxtU$7Y{Pb=o+0~Ik&Ivj`8dJ2z;ekcL)Gx>8)KeoxRIT#^+S*V-7@#td#yPm$nP6t z-FX(^kfv-HKKe69)DM39<+kARPJ=b@2lxxeIQ*}9#u+UR4w-%8`UimV#RVls!q|NS z@^r_{`oW#RSF|-!0RZr^r{K}{STWl5lcPZ!9o;+o$?8m=Twi)CQzeJ5@Ava_=%{I_7gXU+4OWSj7FH zXj7kCna(AcXD8If^ZWf5U?7!+RMj0bav|7KI6JbSM=Bz(lC=-fGugWX`5xKdXq5Ht z=|m%%Em?%7tWW?>=ce@z5?WwIeO{H($f(7Zhn>up#_y~8g!KCYoVXoQ<|_xx!eFd$ zzK_V+z8fEyrGSq4B`Zop+eHNc8I!a4BfVFh6(-J+jJNNT*|M1Yib~3;gw@vXj$B3v z_UH4zd+0F3-*YxF;^O?K6AWGtZ5G8McO2!v-r5#sBvCzT~y zek~Jjm*bU(l%o{=s)`hE7pdd5e~+phIv~CE3l^z&U-eLG?7<-o?83bVt7^~d3!A->srj`No6419PrsKROcy z$Njw4PajR>qrb0;gXQm61W9YriP6i@twy|(!A_lVksDXQk85nii5K1WwQKfPhVWH` z`ynIMj&KrWMA<|&*5d^tU+mU;!Z47*@3J}30ss8|`Z63$?{m;I6pbZX)KBJ#7)#o< zDKIY?YU1YUTQ1dAr`OqLzkRF+N72T&OGZoPgjDty@$MWG=J!Gq)QlM-#@Nyb%>MlO z&n1IoDxagX+J^bs@=OSK$`igCH^Fs;H1r-5|8%u4ZQ^~}&UKDGVteJTxFU!;0kU)^ zh;wdu^RIR812J7zH-Y9f!+#gmDO{JiI4Zl)8rhhJW88~ME{8Z3TlN!RD|HNOo4Ok6 zY|pc7?r}!I9v1@mCwUu0TWvwG>Kusb6Ns?ufpgXC9q4Tkx_=%)ja!ymB#Wk5)=RbYenyey5WOr1FMXX@lqO za~5*r`W^I|;o}Q?j!z_S5ZESwvzni{R?BH~e;$i4e{y`@y_lBwh?6}<{XQ!vXK~@f zYfG#yoh0VHeT}6cgoE3Rb3?WV77aw){W&VyM+&v^e5p@~Wb?|I=-+_sj2;=ppdO@3 z=_PJ}Wmx}jU_OO8(d4+PGvQ20Qn`zy9W$QHIMb_HaJXwpZ?9cPJs7l$N zZSL@_iFpU7f|gwJwD{lO=AUFNUz>8a!#12b?-D;)9m>TjoN2U)Xb`UVfm+Q4!RG#; zcoawX^8-vp&m~6vdsJ?J+SzL7`!d4o=c{#Az=4D~_<04Yol$h1H^ulk4c}#3^STr5 z5ZGYR+wz%rLG$AdZ3m>8ln$;GVDx4oKGIurzgYLk{Q3MKP-W+C;cq(}^y;T*2)x$A zdap%FNHS&dT?F%D^$DPlPesRPyyvc->(*N|SA{Ervx5u(dt%vQFNu zys|EYf<%1Ru1l<0uSm0NwMjqu4}fa#zPFu8&zcX7Gm~0`o_QbNF1Ir>TT-a6#!>H6 z#8Q(*UZY~mz?=<-Xz(uHqd!rpacxorF{`6-`neGQ2LD`TuQ3>E_vicLC1caIh$rzk zcburN&iV9>y(_W!i}dqU)kApWSB%?b-PYfpH!sAa{Tx>p_Zd|VYREhpN!Mbj`o@J6 zfr4jDO&b&C)bFC(nSfn~5D{I5l`F&4Pn#*9OOG}l^e+NT93{$p@bV4k>x|+MoQowS zKd=Gq9FF~zJeI6msChFP zqR$%UYgG+;QY<`35#*M5L|uF5s45L$P3{e;v$0NV)A5ozU~tF91ZZNAiqyURAMvOD z>8M;p<^oo+-nO~dh?|!U(f!hj>uk6pVRx+TcF=qPE6AlARx5$XRp22gg_AID#32<<)5IlbuRgbx(3Dv+bE$0c1ls5+M1h}j{p=iB2i#AQvM@u>8eYM&x zcgNyM{a*pgF>Ow}hV1Q76a)XH#4CxPMtq_yo6e;cnwa6<{eVgQfAns0~!$N$ud#FPL0K=I;e!t(O4!2(#lv=$|BBnm z-WWc>TxHg|Y;+M%(oZ?dI?9U}jP2}mhYaXE`UX%uNX5Wa^)SX&mG7w+@&}@pW8360 z?$#Ncxz7738T&gn1Bl#0*0%j6KQ1^VMs*-ieQ!+iEj|Jnj&=n%NBnQasm6F~z#)Ao zyu3p>YiBo_#{PZ!^yjJo&YF@AYj7^Q7F+L2q@2Z)Ve4BY0QThu*dIMrR0@Fla#QLk zXZzu-?@r7b(K~ve`)Rq&ubduVf3#Id6HnIs_h?|`{C)qvw0$Ofzh}AVwPU%i#51Pk zTzp;g0L@{$)X>fKu@2RfblXa7mk?<75s{~7i$)W2*S@;rJ(c|$YnioC(5_AanK#F_->ZhZ_9P3a6U7#}w#v=XSEj`r?r-nlnv4-7@OJnZYY}oe9mAxj1qDFxh1ma>Haq#ABA1u1g80S4G zAoIKXwz46lQBXvb_11_1(yaOU`Cl#SE%3|110L5aMWe|N(AAE#S9NXYG@T7T&ecA} z-sqmFPGZlce(P%mWyabwJ71U{)fryQqy3C$+FROtbr-fQ_I^wH&);84I=k^{$XD}_ zlf5^O*x7A6T=(6!H9o9s%;m~mpV=D0367j?#X_xJqgOdT_m8@XqxHl+aJ=tMnd1rx zC*#%e;vGp()89qmEJWUl5wwDjOnGUZch>x{n|)%y5pziD(*Xc>Ff_yQviNO-u8CSwBkv`~8% zNO&1rbwcQO#Q`d}_T*Gl`i&jUaoK9_?*;arx5~4|fDrvQwxcDlwb)7FBs9|iUH+b5 zJ%e;r=I9L={YqYFUhryw&hp|CPK?%lT^%}4c%PdvF8Bz!JW}n9@lqS))5ld`WyiRE zx6A&b9d4-W8s5Fra4azjTKfC`SLKaHC7egcyGa86+XRD5S-~QPTKPTq^=Vx;p7IW= zV4*#pHc1>z<3QOvR4K(qffKqv)j5*G>()EvK7$wUth(P@H|_WLmyFZ)`C4e|HQZiO zrcKt6ivWk}VjP=v!ck5K45QPw&y^I4{oF z@#cy_jD}w+4g3daC)>hfZBm=1yD>g{SeNO>MHwF-PA4R zlaiyY?aTn)1YSHWL0mt5n{|!@>iJ%0Hv2xmSLN>kH(yF*aDZ(oh>Vf6@scKyh7m&r z!DP2`4T*O_bi7)k`<$Y>bfTU^P?R@SUPM zK=%lfG~9)mR?~Xd%OY+>o3UcDc&AvT8Jj)P9mfA*`xv4PfQ!Cl;Vxv*WPecg3(Uo9 zvfo_$waY~N2-YuX+Qk9%=krfICg@IESn)~LlP{Q@#ms859bE>wI;#ATxB}ApsMCJU z5i^hr^9z^7R75Usl`s;ju1^FscQ0Qx_mZzE446|sv!MSjYVWuqBAtQ8yAvOVn-zkR zv7h5z>~H0HRFCE)Mdmg?%ayGm6Rj-q?un&t*7aT-Vc!y^ud|cBh&6qw88b0LQAA24 z7WMo7{W-1o=TEoS^abPnyraEuJG`P|-z?o&rq=_Oo56N>#CtSMO2fW`vb8w6>6?s( zsSkJJiMroE2-TDGz*lyU8V=Y@aMS!Qdb@@o-dcA`TVX~6Jim03a^0St;Qxg{-*q8| zWy5!A_BY5VJ7vS+EX)Wim(Ta|#Zf)&wlNf>&V$*(>1i4EQ>eRsc9-@$YJBg-{V3a4 zn!PZ}hHm$@!~Iym17{iOjn)zOLy{TEr9B;d*>#RGlrb9R$Tx-fuZ}J6@`tXxDa1witxZ`?NHeVSfFRlicfgTg<~VEO2$e(Z zl1iRgK3f1wJo{Wem8c5i34%7iKR*|gruGFVF?wf=k;<*FpWMeCB8v`w#i!0A(bHo| z7Eu{!`6t_F@6`8tpZb)&DtxnSQjoTKE!s@2`lWh5>H`(Z;Jz6@fBvf@8MPMy{@;B{ zG8=@WyuhrztRagqM5C?7^0Dxr9oQ~%>EmSBpfvdq1n^DOUDuv`F9+Q3s7zY;N~j%x zCC=)Hk#64KQOkqqUb{{74V<+K=rmZww|Tfe-r51+dF*9Vsb;YKfv!etb|T2!fiY|x z|0-V#K+Rdw<`-ar^D>oQOsOPi@^Iq=bb)yM<3{$s|K0!gzy905)_?gQu@6nGu3{d5 z1#i_N%X4qR-aK=1{s&=%yF>uCCr;UWQW4yO|n)IFb=PR)lAV-}?FUxK3ciicS8RsPksQ}N<8ooFRRqldiH2NpeRARcD zJDpD&4n~T&5}=U1cbLq*PoT?vkLM5`gbt0|%b{jh}!2vY0AFdM6qj@|26ad2*IVSNCCVQZ-9 zMwRH|int#&U#Cl9$`T9bVqm=O0)}-r5=@%ohTI z-tnHUn*i-z&hPq1$r=&k7c9W{Cw{XXtgNpd-TbKnlfO;i<55t} zjRjY9&98_4k0L>T`%m{j{^Rfe{7qKDu_p&{n zud<}J%f*8@rkO<}O_0`OOwz$ESyh?GOk zq} zi5DLA988P-twzO2`|vfCdcqvY8-q2#H7GJlEPqH~*nDS%ACoO-gjgRF7tsu$LyQdW zVVbG^AIw<(_CNo>xBj2C|LfoW^S}HT$SME*zx}7b8gbjcGX&H-5+pd&(u{}HmGNp5 zjAB;a1w_g)88ChPjQdxYA0ITUnen9)bKlL4=aEK5VDP>suAIxJht@Sd9IqqWD<=t3MULBVb${E65Kuo}PFxZ+eiq{$^ zX+$WYXTLk-Ft+>O?^4Ffim3RV{xRD7X(#SVZ0`dy=lJ2FG_dn zmABV>@h40_!Xo;!mjJQ+ykQYDya05z#v2j&(ouFbCQWHNj5m zlXtF=-y6-IggO%F{+thCUOTLx-m_j;kR1)XW@cv?^Hdv`CdkH=+Kc?5dd)NPbNNGNjWe{G=ug zU0ds1i@=gl^u!nEfTwj|s7<{nnrM3&vYFd)>YAtP>+%Qc&xWe*;G>7W zw$Ym#h@q3`bG<=0=Ch%#1DVhL+Gyj6i=SFzVtc^W^^K_L z&A#${M|8#`)!SQ9@$>f=IQ`f}IZlwx8qUZ6)&k!OJ3Y(SKBHvw{D(YSL!je-zK1rL z!mpDYKPf`XflE8vAj1pCAUv=;GO=U2dCx2UxP12aAE^Jo?gO!Q=WeBWHm>T{xs4aD zxoY?HzGB*SJ?!PcpWt_^o*Cyy(S5<34Nvl;#Pb30JuzUhnhphc8H#4eB^ z{$8ICy|?J~qkFZ!ja~M>jZ@D9-9#uS5$5FfUQo^B(0v6K|^qB zJ7?6wS$%R*9ZVOBOalVbUtE4$VNj-$57yYe{It3(*4Ab{poPb`aP0M^st}1%R;|`% z;UeoA40P)E^`-hXpSFmvp3RdVVszWR_iiceG2ikIAGfEAOTp+#-pXlcU=Ku0;XrC4 zNx`ojiRU7=ZfL)-<*Ji^x{NHouf6!VH+d8O{Q2p-og=biXMeGEiFh5hf)M1k;^^hy z_J{#fpxC@=Wd*6y+HpUvJUq|gMMo>e&yKtM+By494otA_)-}40Oaj-7*mn-;zsLX7 z)z66ylg`NX#k^CpKtVvgvTtps9F}8AmwU%j>Ci-b17`qvkgUkP;8SX+e=)XRYahJT zPnN;n0VDZYe$wQpDIZt@@J!Z89d_ z1P!na%kF61KGO{<*`MFZPqzi_!6B5HA}L$ld-5`^&ZHe-B9E1o9LqO?#W&%4@~6Y4 zy)ISrp$^pr%k`@Gdu}mbCNO}_(TWWSBqbeB4sG==r9bZvw5RQX)x&|H27!$$3j=-H zAPP8pd(z?)2+qkqYU_%aL@m!CFKRfja_vX;Lz>RF?iZ@gl*^BLvU22Qp!$(h^U_x& z4fZ<{=CwH>UT3@Tb8PI5B2_&=H-63K1@3?fJS8pNL4^)!dcFQW6UVf?)s{G&+%?zC zkf?KBv|3jiM?G3;bDk!|zYZ2K{1Ly~4?7fh*y--D;Qiiso>lLme~8Ei8rs%vbB(?R z#CUoW1;oC|`fT8^Qn2d{_GkinVfZKdI)nt4(JkQl^LUPFzgDGSM$aFp322*AV=rfnvia|qP>)R0hS%#cQNK# zZ;+qD+KYvDo%Zvce%~DfN~X0a+1B6UH0+NB2QAtsO+nuaLwIgqft@?YzRiYS*<;YWVHUW5k0ifgd#s)9sEp+??@mVLJXU97 zEN|m%T0WE;w%s(Wz9{R&XyMu&#jznkwl8vytl_pgN~BJ1?mc^{0vlv_r^G+TWy|>o z?gUDopjwOmS$Uh};U9uk+UL%m!$-SsB#&E>Mx92bQ_P_4cdSr)y%LOihyGIW zT6-6`S^F*lheqIipmE4eUHox>ppw4TY9v;bdGGCWK5DkIHgDWYAdB5sLWVvbabtmr zmrJZkq{Az(qduAAiSH4cn2yc2q-w;n1^W~d!(zFf`eyKHoqpWU?`P_9AKsAU6an0f zyEoU9fX^{WCLfyg6Uy`|K(0x6hwRRg_i&(O*n>MxDT@>dW3QWgOkR7%XRKHE1s7+n zC)YM#v3;ubpJ&p|?Ca~?y%xR$){viY{pEaCLU*AnyVm)LGpz?WskaD#v<0-kXCHMZ zADmt7-g?jtTkn0a&dUGO@)oj6g?RK-zr*pn*rq=O7LN8pTBQ=|c&v6d3=Oazo>CZhU+y-Qt%k`<;0h)~hELG2*o3Q?% zhU4ek_Q@yyjRvK(fq3rGf4(aT0_5DgHhE%t!>%U+|0qhyUa}FG?ZHPouiai)<}`Pen(1Bt~kl;^?UEEB$3tC zAQATjMxakS2(X?fKM^ji;B|>*?O=bgIA~nzPPkgeo6vyA%E+}=`;z6|pXij1E&)1k zrOt(T;pds+rq3V4UA#FQ6cKbFj;GlP1j>Le1O!rSe_+2W4giv{O{slkvbBqjcYow6 zWQV-TpK`H;M9SoQ%^{P@H6sik{2lsuKksD7%k}MvklFgT2Rc+5pl{qbk3!+j<_v^h zh_D?FT#lpBp0q;-@WfRgk2=>#lYn=uV!#=edolDNc>RW*?W=qrgzC4w-y`|+B9AXG zW!K0J%UR`4^-_Jn=>5^IogJ*!=H#-*krzIXVeq=A#FvdtRhRr?AKc@YNZfM*_b?~A zi&J-RHf{*{s-}PvD3or9o+)!AHAxW71o*T|O@>Qx( z^dSM2dod-o)hw_klWTr1SZVQS?X?5WVhasU-NY~A_ezI7Zrk|XteraE&*zRKe{oz>dFRH*zL&kv*458E*U3)zX3Hmo#RZVDVSU%P1*iS} z14s{{EY@Po&7y9;5S!Oa$C)}9-5TyjT&m*~`BtPk+4{U}3+^gXL_uCrkMb@7}o`17#*j z+pk}jxo+mXW9Z)Jv0+%>cirzLn2JRfp=+c4@q7N2Y}~YxEj?I35ZVWEH>?TB-?_{ zfti|u<8CqaQvXS4HZM31bU?d5AL6?Q@UO@@AXA+XH#{bfv@7W4?YEw#I^TTE-x;o}?~36&DiTV)lmpp>x;T z8+KtmWkgDR58w@9UXhJPb}>X@(~neeVCp*!+xns>NO`vXypvz}=o~fdrTV=0i^l4U zI(plQ>YyGpBYCpf7~NPongUsjnP)K>k#1TDrPl2T-afo;;gR*{q$<|l;MJ|DpUNj0 zQ}pw{Bjp-6f{4ZU7re-o0-NkuK8Y?;{KaJrNKucG(ObPWUafh1Qfh6KY3BEUVH(!P zdYc^6V6D~_#~_naNF;{i9Wp6#p)J{dS0eaM@wu&wx@?bw5#f>Tyl3t=vX23rnL`i5 zzrLHZUQxtOGB*6+UPJ+NBwFo)mbat@2#s%-jdU_CnJRrvi^m;vk0CXGpI?2}d0q1| z|1>`~viI>}J^ErCVKF+6%mzU%8>#6DfvN`KO2N@b1O@#TLy7g0IL(Mw#5nzJ3=iH< z$05T()u@J(C(|*1p8p7iVzVnNj_cXp?NNTHI{SOZ@R>j37|ao)cy4Ev%r#}nTNYaT zKpmasOCtcjnt%RZoK_TG;!TPL^D%8)v6^$Or!Ugp&-ZsljR`=ZBH!Ig#j;gnd<&M~ z$jNzj42qqQ*!JGI{?6=O<-tgt{Ssk)ipC^|7$|<&ck^}p0dnGDy)dn6+$u%n(6oH_ z+0UPUl!`bP>ZJ3kKYQ#mx`$g43k7h2^ngE+-0{lx(REm5zJsxDH{9q9w(iRh>$7C{ zMjB1qddave*4gx_2O;*;Ojg&7H~s(;Y2d$MR0&NMIWin?yR5hHJt<=Y*1`bq-swE4 z{9+6#e5cmPq73VBoSyL;NEFHb1%Mnb=bNHy zZvRR^_pSFPi}Rl|S! zbAqAHIS`t8>Ni3I<4a8tWL5Se`z{2jBPNk9yjFkU{y2-NRZ%MbE0@}KA4HVk7|^(# zy#=r1^4kf%>i2{2I%=maKd-rK3+mm+-?+998;X0vI*V_Hqp(FIBV)m9kH->!uCwju z`P(}|F_5nh6QP1`OqfD&*z8mwm>ggohc;Js)>;&^yKs3+jyQs(FKlx(=T50Bx{`Et&b`qc+sR8kuw>ZLY9ACdJlAD)XhjN~KAGF@@KvuP{R%D-oFJ1e>vgnt^b+!IAl zQ||mG43L>=s6D?o^GXwdiyo&rUDb8$Xg#3KZw8|n1wzf4Zy%Cmy>=B>t}`F7qCrNy zDJ%V&zvl;RX6z>?``bYMc5z3E&2xqSfm*%mi-SyS*+WbUOwInj*Vgtre7WD_1=4RG z8+|Mah^CK>J|M+$pd{UO=G_f`^6s3<=kwqD!+UT)7a_V2Cgt0<^|0OFogQAgil}iP zwa?-_m%wd0blOhaxb|V&GNuSd1Sqb%sLIsnQ1859>AE+-)KT)4krLe4aMAqy`R@xd ztRwh)WGctb60lmxUpCx}c+iEut8mAQH<4R4qLRbd2ai4M)um}UXSOhT^+lh7pXqhR zNtAy4E3$Su(oP~Hhlud|=O0+moSJQOC>WI#=4%ICdUSp*<*o45MkN=LgHT4n>gHmL zp7l`!41LADX_^}b7rJb82o zZR_M2*|ADY4$Sazfndhz;7OjtK ziZy;$!d_BPf+VHoY#g&XhDk`GS@1)Hzxnn%v6aWU>{?Zml5jectdZ-?!GP||IAm)k z0D|A7K|1ez07q|74L3XNUSRI3;jR3=lQjCFT0RCO!dJ_h5>>^xTNMZ0Nf=Yo`8hEc~^PH5k>+qolRUiUPx!;?YBEr)gF;=5?YqOH)cV?=Ux5tLjr5C=1x#{Now=X#|J;T!z&QdcS_2J{LUi z3l}>;L!@@Ez^w?KxJqY$xa{{#`k;n+hu1>?x3JnUj@Z&VIOfNZw39E}yzk!zoKURd zRkM*R7ZQLuq4V$9vJXItpmI9aUrOJ>;z`K?bx>%H1J)sFFlGFX6wOQMJim3FQ`&)* zA1VsMeqdg7R%8=`VvTyP7vxsoTMDy$MNhN9BMw* ziPmDY^Je}0^Rsc+H*TSb%z(E4if{B*23s57%=0s+&c6G#afn1f`N)OmGJ7;~9}OVX zje7WZiSm_Mw`U*Kax!nTp318H#p+A;b4<{`Bh`=7zSFkK37fEod*i|Jd$U#F-q@VP zl+)L(7paWb8u|BqDan-PVtLK>x{qB=j*oieXm|xaeejZB?YS9sp+y*3*xB-Ff6u^x&bH_uqeCCSx)LU$%h?LM?6WY3nf)CIrk1+Z_zV2->F6SH&CGA(D(_jJx>ClA$E5 zbz@FDhUwPs1N~KBs7nUv%h0-_yP5YZ`}h0<(#xHOFL$4|TM{?DkJB6C{BKU33=Sz5yGVD{PiDP$F*0o!! z(=8jevSPfZ=1b@4{U6~*{>k4zLRdI2qvPzZ`~(eOt?SA#z1c74$ghTh4)XAM8(1kg z-@N_WC#oj-eES!9H5!J`HZf!6t=N@K=4U{pQ5K)>u=D>Gzbo}#%i8cAakLR}sfNNB zUGp4vrdN1cbEKRAaUt*17Q-Shl6TL>Tz~EfsE69T;S}e@v)NECKY>vVh#R!9PF%27 zlsxm_nJA5|i?rRNUue2F^L_YD3`o1(UXRpBLnxFNc}<;UqzG zjN0=tZjLl`yRA8v@L-}TBp*tMp5=SLo znc;uR45D~?y-~5gpwmBR&p1@6uzsEsF>`y| zd?cOh5{JUj&A)E^iTrBn2Y8?M?&|DJS*ugfwhpFf(|L!>N<*ZHPIN0xK9dY{alB`F zDOBxmH9yI=4T>{+JNtqRcVF-n+gGQ_L-y}<*Ldf5rosYq1J12^Tf51Wqd_i@Um7jX zvegyP!zeNv%o3}a@StfA>3a2^ZBwH6+^T@j&JeUI)rs2rNQXatPqfz(39Oo&I8DwMNb%0+j_Vhp zEz^r_5(8Bkl>5l&7E|OHQ9C zz4zm9h3lB5YBo~R*>@el1N&gcIVHma9(fCc9wZCP_N?!b%7x+gpT9x1mRhH6`C>2~ z6!3huD0a?8%XCZ%se18U*5&~S;b8$Y)9+g2!0>6mEWZG2H^9rXl;wNvhNQQ=bydUg zewTfH$o{)hb#6*()fHePWpAYAOhI0_cZ@@@rHbOsUhQ}f5FvB)vkzb|TF`uHzRu|f zs&J$P-SwXD5fC_LBES4Y8t=KP=?xTux8L()UG$EQA&K%M?&*T<_BnZ2yfvJR@}=Cc zXfZISh9s6}dvh|HTVuK?|O5FjAk5%d3}HO&&m3+t2%7$m|l+ zqHhL&wr72Wv%>VkN7FmZ$Z2?AAp`cM ziYTDxFhsteB}87G`+I)7;%SXM?e06b`Cwz+_9T6$51W0Lr-`c&W>-rL|H_hNCtD)MuI!cGEz1{di0Nb&xt0{N9PP`f#?o#EtnCGBaWgK&bNI|2#|gm@I;2 z=VvZ`&%wg_a;^R7$&Wh{I~Qn!(SCmZRIdE~mDv%tRr2&=z&T8zKnBL4!puTio8T%f z{6geVc023tOXAAb$cAv`Y~Y#zPCt?S0qBR1v=KwRZn}j)YkZDjGNeEM{P%S4k9&DL z$P34$2m9Y+kz5}Q!N7s9fBRIQ6ycK|a#VbrqZ3^RRL%v${Cds}#&~{%M1UoLnJ2%0 zBjhz%o)P&&|Q&p8ZMicgsifg7%TbFj_axY6MhF6YL_$5o{Xb=-S^7%DCt$u4q$3%B}4yQI}gI5 zG@o|?=CIkHyghsc4eNfH#(k{QdIju}wiUSoD6XsIWQ?qZx9t3!KUtsr>*CBH!ngXw z>qBRUs3Woc3+na~n=~8dROtG0zowJrOHHcU_9Y^%QR|v^n%s#Xuxcg(TU;)zPuqR^ z<||%=J?i~_{?{fc%0T9Dj3kwzm?So}8|T1=ExhLH(orW|i_8I)axgBs>nVmaC>#X* zQIB?e1FsQ8FfAqRJja2DBK|QW(53V(k!}5a|F!WzG z9MsKZuxqoLeGn??yVu!5`(q#_(ywMAiw@gk*j}GFv#+;mNicMHi&MV23}HX4wO8Bu z=)^Noav?*(d$On4_WpbS@e}Bgo8k9IaA#9lXNe7s?}3%daS&<`f>;nYLkpx#gM?y} zt^KD6#HZTMc{dSRkgk!QQ!h(DSx%~3^h7KOr)nSC?EQoN>EHgR|Mq{bfBC=u8vyV6 z*T4VMl;XZ@bSN&%U|o~TwS&Zdq2HTvk*^nKq*b+LIKrZ3D;vG{k&Jg+yYd0NDFNW= zNLa);I-8T2{RtlKflq=PI}=vyfI)k+(heg6Tdff zcZ$71JASTPV|61?m;>DDW%Wl#swEiK0nP8I?r7N?k78=}1dJyxnjJoNAF`kB#%OXd z1^)wyP=gwvwLwIW(Pc)11&V96WBAk91K+gS+?zK+3Kw2kTY)wyUV6CK#s<8(0h!(1 zVLtR#Dzu45FB=09)rSQ*`$l@S{<~zAC0(;IVojUVHZ}(?v3r&hEMX$rM%^{%5n5Mf zELZPpvb@+u z!R#hRl#GIy#RJnp-;L3yk>cYxr1%Je5fbOc@h2Mbi-$GLm=nF2mq9zYPexqEbRfFV zyTFD=#Dif<-zsIHyTWO=>zS=v^0^uNEc?KgNSrP1SN_D#D-DE*zw@18-R5hj`_GA{ z2FLw0-KWTp*^Y49nRnsQ*cClN58Uv_@`&j!;jt6fGcmQ>HHD zuQE0z;-^=bee7%RsuiiM{`-yoBI95*!kQV#376hRX{WC(DCWN4_PLihIfG6fpdb)Q z5Xk9e!SKhw3ih20FbA`rro4t88vQWadl_!<$qwKQN(AN6X15TyU5hs zVZp9x-rzKP;n%5a;$aJT8CriQnNJ&XQnOx01@#5)W46~$6kvcx>3qp0MqjbULv20J_&rf@#;huj z{!l|u<-L<`75S8b%(CYfL^rq#-0KKQet7f z-M>$SV1ceJ;8Gddoa38}8*n&jkQ@faz21@TL@qs0uSSevgLU5JyVF)MDO?*ya9EPk zh4msj=TXb1gIL`1OGzjZ1egrv-}N5}aQ^rI`(OX<-|m0>AOErHU;qBM{|qYk|NlSv z=kAxqpd#ObYXKbmuFY)Ia6|87>{w;e_V28WnM9hw6HFC|7|KhezVNLf=BCfRsX6S~ z8&JN3EsZE`7JJQlv$J-KVagu!=jRjIT-P;b29<#KnDTbxfMaW-r|Tx4*Bm2tbjl)a z<&E$BKSt9*nISj9Gy;EYILdX!(RTIhwK;TeY=U5&P2xY%-%Ai}!|JTBz~i z)F=?pnO7f#!qvQ!x;$ZQpSy(V04ZR2@Ad36e{U>Jv?>HR_x#A|`|vH83PXH^&un9C z{*%x%Q^UJtZfxRH9gzmRcN(0pvoiq~wwD$#T-h`a;;j88F3vEZ7ft1Kx)WPST8r!BhjwJXJUs;4SD3isr=}> zgFWS;v0K8jIC*f*14)+{V{Nh#?erHAS6USjPSG|Nuk<_f_l?K8g|UH>GI{1(q{OW2 zHnf5A<(?6&_}tm7z21m==UuJ&oZ~{h<(=ib_KV)qZ4>m}a;^2m#aYHI^%-Uz4zF_> zYg$S}@AvyXXUKNPF=2?(c4j~w_SZ-BkJ?KAWJcA!-;qDH7}-Kzx(hM489tacC02WL zgkB0~{6SA~T(qV*5YjVhc1$|jhst4zM^t1)Xdn-59dG6x~I-E~;V$+pJS-z`M!yYAf) zBx*Twp7-XM{BA;ngrR@7$exoU6Ri0fsRS-#v(SIJ>vuwV9`dajL?9bDA^GKkXxD z=iZOE7e%2(VI$VJHU7PEo{C8LKz~DS{G~v9*lP6#`E4GU!Uuf_b==oWVAZX21jsR4 z{W-uO)ipas*42{_3Ew7v?PIj!2kE@Bdf`Dx8Fhz=|GqJ9bCj@UJxT(#wS|s)e*uDa zOP}X@$cHx)_jQ3fturoRSjgRHUUy*J0Qq?zFrVR1@;0JCsr&eM=wVGi$L6e;j95?T zoUncNEyNU(AE+D{-o9xw2G0ohgk;cAj|AN%RTYu=BE= zn%oU&^05F3VhZck(-A;n(bNkVjGyNd>xi8O03ybjM_fbGZ-9+nwinz=L8a_332D2^ z^h&;#S`o?Zhx3QMLaRkc;Q@nym-~^DCT9zUW?*a^!tu~tjq>s2{`~y$?lC)jz}vR- zUvIbABd$WbyPd}>U*8U8gP4sbSNb*Np~TeX3>z8#E)Haqdz)V!+I9uyrheW88I2I# z*O(-CTyuVZ@t>bRBj}qvZYTW$v8XjKSN)9hf`PNl!6b2DN#k6+P7j^pwC1BlZSHN< z&im7jT>R`J_+@CGM)c|EC&*`VD8Uq>ZPq!S&3>Qn9 z`|a9Nob4P&+nCHECjKM{{c};UReMNr*ZhmE_=GRO28HHxMHd@6UQkT0VByRxDcA27 zF4ZW|VsBByls6!%juecSa{$`DLBfL!NUSwqz5BxEqj|nLF!y?<9lm|F4HssNnGl3n zGSHI2?A&gAU;u{4E&DVJVGsTD?;pqLxl3aaR_dr0)yWj>%^-+k)#v+wU&cfti(tVz z7Bn}9WjizH$@<*aCZMw0Xrfm@KHh$Ki?}%_jooH@4Rb311GV`1{=$1jdbRO5-FD!s zTVeh0rM|?@MC8Oof5>cTHo#97R zZvk7PL7`g;a^B>SgrNNU`>WNA6H-at?qLnw25C7tjBu>HSZKLO!R3^leo3Y~?W{73 zm!Y+^FwV}it~|D+C^z{6JgFL~`%{eWmX2ce8C&ll(0{Fd-|x|S*|TOHD034o4&s}| zUU%Lye3RPaJflY8c1P;1Vb(??`vXi)3*}9BDf|!)pA2q9uf=qZO}C^;WnaDrd%s$f zYlV#8p>gYWh;jDfK8SO3{P&UgQjzV9vWWI`IbTHR)~k{Ul&NZaS4yZ|4j&Ez#kZ?( zX)Zrvr>KUylnR#pOg^O86SO!$aB`;KEsW&}NJ|4$%)qn8xiw})rBDKR>h=LUj&KTY zicMQkA_@sof?IeS2?mn*u3bBBJ(K;u1r+;t2cDW0gM;8NTof!am0;C(Vw{j*unOS% za`8IjKK46pc;~l0HGhB~gkYstaD=LdWZ#y3Ti{L+7zN0jcb7hq)sd*Q*mcLPeeJVT zV^@wH+2*wNoRr^*i7SuKY083nY%v+2DXx%k<8L!)>}Noyf78S3R|W^3%07(gNsk%V zIObO?!_+!XrDD8|JA7+~>YPPdxIxG8D>tf*CNlni=089EH$VURufMK8{_&^(?$3XT z`#=5d-@O#k|JP6UzyB8&-nk`eL41b>GL2ApIU5Di@V<|eQy+|V$p;o-j>p3a+U79k z@ct^jk)o?<_DZ)-Vs$uQOxfyE77(N+I5jBFS9Y$J-$p2 z{@?B`=jojd0G~EH7;YuKG)`yKzdf|U#@?NP1)OV`U#PD8>|0~BJ^*dC^n{9>uTz6m zsekWcHK>iOiL6x6lw+OyNE=%nf=!uxpY`m%2CAjTxj6jNoIGbfDtav!zDKjBLB5sG z>8#lx25V=RJa||we={XaFBpFupWWv-!(FliR4|F` zUuLQ`i_9ox2i(2SU5=Gqmp`;Z7wYqaekzTUHn+RMx*vUv>T4Jtq)P5;$vKi^G8{t8 zYEWawlw0y9*G5crL;(66i^mvifwvm3+>kJH3*UmzlOf9O@q#5)goFWC;qa!;C?tDZ zO9=U_9#MR#G4edHnMu-9n!9-rS(Qp_sCEXAM@AXmQ2x?M8}l@VFa0=N6}NsO$a(ee zEa2A8w#d2%c^can$ChQP%qB-pLkV~#$SBrPI~G=%r?92L#Xf48+jf?M;EENlcbH9G zl*$|^k~)-yCo{g$=M&EJ8g$ewN&YDHeb zYqT^BgvEM${<+dlk8=PuTVC$PQ1!D34W)sKL30(E6}T@LPn0BCqht-s`K};)ix5* zzI9qnikt;Kk73m4-Qi|LYenz}E@pR@hag+w4b8xP8d{&$X6&UD;<9W&XC$j+@FM@r zGFUDp#P{5L^nSVXJxye36(i0aXT)w?C(q^`Ne1nfO|HulonTU+MsXDw8uyYYN7918GjwXcpZ&h(CeXq}( z8EJuUGy2{24l&(Hff!A@bKjL^tJPbp9VWgt&T3gIisLnrA<26@j@z;fHmm`l2OP;| zrZsugb^vNXmA^@I26b0*^$rRg^e{=y&y#gF@3`LanKa8Y^dox?{|2dN?;AM-mQ<#+lSEC+Glh!@QwrYK*1q@|9!KOoy&!& z!+d;wxRoduSTv48a=o)0n|F4(cLN!3S9r{<^(a1CU?Xv#K9L@3quxI9bWSEij&>Qd zZswOw_AG1DHXBvr_vq5kVQch#l3BtQGw-j~*&URl-SDF04?(;s3Vbvvu%90h2vEZ1z&7&J>|{@cHxeRAROdPTn;m#F!#ZcrAFP zX_60emFliO;png}YWH+o1jux4g5KJ}Gh9!0#E+Hj)u8XJIhJ;FHev;djOpODp#5ao z-!~hx4nFf8x<6@PXRn>CAz92rR0}w*&d{A*D#+Q$9b<9By?qw5daqL;tr?^lYYGSP z!c3Jf428?f>m#=HS&##@8C*Ea_veqTTug9uRw!Ps{pej=tgs~;XsJtqTkV*6y3ZPi zfulWi8?BBmbjhxi+U`E1qz*G zP4mE{6^wS})X$%v{=jjioq+LQwZ7ucEJYj*7%foAvajX1>HCJ%OaJ!HKFEndLgg$G zel@vDTOS>iViFKkrS0Ze5_vpOQ(r`Pc1W*m20wp)Z@G=d^vQe0({=1FQ5mqG%P;iR z=nF8j3E@Sb<`lWCh(;-(L4c8oMN|)wX>mLJOLxgNxkdlQ(dITOEqZ? zSs=`MW8t}joTW2!kA`bX+xVUgt&;8NHo_hA*3rxGNKe5(4sV~aS?goaR6jggy5D}^ z+c{S`QiJT-ShJvGidD;qlu0QlyPB0gX0}$<0DORs45W`os+OcDP@pc+6MZ zXg3?<^jw#Eoe@P!NSizZ%c79&aaNC6?%mfF7TAF@%YbX@aCt=%bs+9p97Py;n+hTmqm-R2}Ji zwe#k&m_HCF>Yk@m$x5XVO9k%&<7)fZkK6!E=?}rV?v|NjN<-p~beD0!b{IbM;aaeqS8Fkt zHuq{1)JI>&qbN(Nr^}woWK3>jP*$VXobladvTEp$Q{sm7-fpkN-r~&O;L$jWy`1=g ziMU0Uod|udaO_`a@bo!xN!XMG+*j@sJyAa=SR5ed$^-aY2XqcRr;n4cz`mdV=PcgK zx-%oZ-9k{{n0ikx_CE1-Hi=UQmmQLi2u(RzZo94{xpS1wW~k$%m@mxw_R< z-7CM}znC3X8n;S7qgI;0Yu4U@roH}k4Wmrin0s5qxyCWoItajW?!_yEON7iSS_-o> z?-QlsSkCMt>#QV%2GnzUw<~sFr;qc!8GuG8p-}ARtNS>kbgc&rnS1SBYBJRXU{R|N zVkSJvEB7fJ5PSIo8VO#X$v-)T3r>0@jxKMy=pA>P@+`~B3Qs!&S1`)opPx+Q}qR`$DMu8aF9L&Dt{fIiDoSkmncY$im$9$ZF0j=j2jxx z?|#@kCOiVYF4wJQx5K9azywug5kq5I$5eVTD%#n7H8W2-N4-8T;)W74rOuXv$HL+w z(?Ll;P_p%HJrP~w0om@8oOOIoeoB4^?HB zK5t&asCEWgy}J6O`GyOv@7ry&!~-j|<|EC?X4O-OHWT zy{*ksV>>a1{+(t}*-K!uDnnxn6)6gyzPLH^9>TLNSOTeB)qdKmILkPtwbsW{RI;V$ z?NgSYsIN%6dfn!$y&_8??yGByBhjpWZ#1Hc*}k_m@Y4ncAxbQagqS4H3NhZ`n%-EV z@nU_Yz~=^>$gA7ord%b1K4;85LS6=n$SzkSkPY{&4q!b%#W<}ARwUYbe<)$OpWn$X zdWWb+C~oY8F8$5R7p#j~jt@7SH_uy`*E@NMv7VHHWBcTD%s*St0Plw}1B!RsV|VnC+;?xCd6twFy!a|>^6OSI6C^Xa z-W62Ex_!PAR2(Psh`6cw;?`4)!{}vF(TZXi#(TTk@{KiTNG%Ug zhY9_0)V0wb=I0woT6`gC@BBn;c226c;@|xmafXz(TfHcedgpd<2^f|ww~lidXW9?OgVPDHIQi;?XR_X7v4{}F2$#h5fgo0a&(jy#$VpFT{lg%2hcD8@xJO?GQ##URc z;|191NQ%#xnWZ>Rm+yC)ti|1#d{9H4?;gyNH@p<)>H|qkYuS3es{~@Uc^5@27O%^h z&MxDx7NgqSFD~dF%dcK-6q5Y%`8v@Hn*ySMy~{g*xBA^L_CpD*X0tFcK@BJmtP9hq zZeRxs+&CSS>md!SDB8tQDsef$QfsX+DnEURrmK?Ph_ zzO}JNL|s73Z0halFhH^ozA7#TJD6imY4h>^Z{1;rQW)5D_Q_3+Tm5&wbnQ^AI{LmD?#()0)3W48V?+d&|g|SJo(aS7(QF?FSYO|(fPv>JY*GbYGwh7~N@ox`| zR7_Q4o@$AYV4rz_RCDyCMF+!2t3wy1J9Hv}(SM!^B~9}oHrn9T)625bwAOXFBDOJo zR~f=tpP}b?Exp<$k#emQ{Y+F+Ijk9GxHhcBSmq@jC$*E)wZs*-qg|y&)5=P6RK$Ki zpP#Sh%n32JbeY%X&z~P-Fw*!JWEXh2v>fPm4j*@vIrOxX!~5O4*@&4Q zt+1#ZT)24Pd*2f%5dertBGkmT*LZQt8+D(Gc@X$Tdsm=Kv8*j_`QJ0St+j&&fVxR7 zoTL}*HEXEDM!6$9c4-N-!RICl^|!~3gnnXt9rIq>FF86uIXa+ z9EBAC@H@8%jMmuoZ!T5j*((~%2;)J=bbk9hBUlhAMNw= zAN%fV3k5Rcg%N9o1j`K^4NW5#tQiDLAq4UedkVTnaONYk@efSaUz4{oU1IM4lv4R6 z&)j-DkK(8W>l&0vLO8?}_HWI!{{8*yAAkPyuYWjy`E&mKpZ@SKzuaGc{rUfyah*T@ z{C5*~tqD4%%jtcimqT)bMXhaZ=?4(@0l*BRL98*@BKudl_JZ@{6t0*$8lFS5U1<+5 zq(XpL+1^`0{>)|wc03m)A`Iv7y8nE~A2D(cx2K1Xr2v1UbEyj4@$1s1ZO0n(a@;dK zg}@TDs^DYfwh1x3@YDO9cML{ajJldlc8Hj)U6$o7J9_eK*-*_Pntq;9M573D3rrhQ zwv>qV`A_Uzgg|2zIc^OPF;VuLjTrT^J2SQVeBK$DdJx%&Ev39#u@gY3KCCeMj>@XKxOjF>uUpj-qG zW$a3;>TXiHZLKMOdG8}4FNccBy+T^y@OQ{vXYcxbMn@n1kVO|SrJ|*p;}qy8eQ_d4 zwimeql`P3ofI^9(Xul4V34)xKDykDoH7b!rp6J;q{H)w|#_(9*zc-DkDBp8Tcn@3}b!^{r@K^sYv; zaXLe&R&$lfb-CA2WXWr+ReK~0Oli;}Hu~GL7Gx?qu2IoUV!*2Oa?AUEZo;I-i!n%H z>*Z?G(!3bIqR%t-YuBPrA6*p*&~W}P7I`~Z2G74n%Fz;CJyD7a&nYa6wCk)*?Otj7;DclR`Gp>f;z`*=3Mdp z`9BL}lYP*jtc;5q#QYRTQ z`YK+;`nf}?+A5S)Koc{tDK7Ptemja(Z=>u1$M#hI8kMbCJ8FgTc}54z#V?=yg5`FW zlcIT-b^eGA`JVBeXg8D9964Swq;Ev*RPbo8)k331zj>a$j_X?woSAF30JIJn^V(in zW9(M$l{y`f)aUQ-aoXff14oI8r$(_tO_EqlZDHKRVqU&-)9t3wFJ+4#0sYj^I46S;&h$xgoLjhj%h)`R0%X_u?e9{FXdl;o z=Ntrp{rir)l)8ZS@1X@MNxgJ|yIS#cn)fNwI>(qbhK;-F--!%naWk5+^BU$-$u^x} zfm+~KLX$fLA#rvbKA^R6=jv85Lvnn(TlaS&&wA5DW)K@?DnqWK_^7LHmpRs3HJw?> z$I7-~#=>vUaElPy*^N5f%{6P1wb%3JaF=q^Fxa`kcUJ)h6T}O%JQDihQu=vE(-%5M zKbAJD-|jQQI*mxbtr|%(9IBOpXeTrI1gvo2nZWHdK2Wkj=Di_`KPM}ljNWgvv-LK@ z6070_)d)9bFT&Zeax)4Q&rovI3U>T zK6Ii*tkjcbX;xmscNDHzg*0(&p1u?IkX5qW=qj1d9j9A*{06sH8Mn3qw{a(PWVm0gTYA|H>vnX7!%AVk zi!wPR$Dx`rcCXXNxGn`vWlXV#@kq|*q9~Z0mVnmJRidx`KBaxozWM(9AE&i?Nk(py zRUSiBxguKUq=-;efqSbR)rB|gnQ`btt})g%v$F|3-nE+$z09g(m?}GjQ}XWS74sWM za9y&{Pt7_P3z6@=XFO12rO0S&og(SkGpc*7Ad`iL+k1|5c&N<$voClk?<_T#swbz~rMbrq8lq;BXx=Q58CX?`U)hweuTcJehk@66BV zhqKB=?N=!8josO@lCZMUd#%7I_k^9^cBz{6=s7_f(g@eA^bQ|vL_L8Qr|u2#Hy_Hz z+M(!Xj)P{eJJ#)SheVYi@9*<_Z)Ro}_gFVDAC6=;MHG*CUe?-oMMcfjO3GbIY3zbC z=y&aTykGdJIdi!#kY%_aX|W;~SU}^p3dCc6cC7Oi;ldoKM~2q=ooJkc>uW2hS912X z3f%OrwrF0lQA&daj|M2&)XC_i$@T(RICeT<9u zLN*(j9c}CHJIbYc#iGY#%y5bssBnBBbN8;NQhyI#!LR>7c4f%fJm_=0izUO}O;1ty z*SHy5lOds{83^nho;}*{Lo@9j_z~T`Y=-6*5PKDITxUyR9(A` zo=18GjFjB$?-jCFNy_@JiD>T@G$)-De9dV9r)bGf?SuOSF~V7QgY0(_*lmm*-*d-z zzXM!fuhS)H5%f5cW>JwD~3qT6yS`~e_7(UMk_tl62aWg|7+kQbcoUuxC9;n@zF z(TJ@jc+ggV6%qayOwKC|eeW$TtF@LIW#77VKx92!hOLhgm{?{h{kgBU>P|(8d3K%r z8X2${+hXd4d22yF={f!6#ay4S8Uzw}UoQoJv@>4Z9UN&d-+Sk?!}eqdfd`gnBfa<5 zeE|}zcdV22>CvBMS;0dSeC6?}oXV0hIsiqsW`jvyTfM(~yTe+H4joboLwK^*D=?57 zC0^u~pWk1d8cSgebvEAn)9Nmu5PK!RYW1vo@p47ZIhMc0jMlZ$=Bc$><{7o@J(PzK z;EBn#y+aa)Xp-UqqhuU$N-fRLV>T`mIvt-s|3>`zB=u8IiL>-EPNH2l>6eHT)Q94t z6QOFJ?YI&iZ@D}z^or>?yC(PBn{#q8A%y51t>G9_K*V)Hztd=@7m&>)Nj~o{7FKp? z8)R~>Yee7Zs8*S1%)Or>)3+%;}B!&U;ZR z)>r)O=+zEv)pw5*-`|Oftz6|`HG*zHZK9QA&yYNDEC6B5Ub0tW2b|O@^bv3zmmu8I zx$7kTsfZ_MvMXw%a=gC+F0PG*ZLJ??Y!XgOAMAH0kmsK>u5)dHQnv@!r!C=U3jz16qgP4j+ivfs&yt?$tj z)m(mm{}$b@mlj(z5B_hNvTH* zEk!m`cA#XV=Rjjmm-m_tby(85K$?F({~YtVMq5Egv+413kuCIOP)QcoF>Bw_7k6B) zlXEk;zic^lQ3`IgrnStTpq)}?q*RCLnD{|w zsxz5JP=)6Q%YF%C?O@Am9b!#gjm;`P;kN6s6Z72XB_&x`18T`BDrJ;W!@1J2Roz36 zLigKzcPVrb>7U<;_FPB^GZUEaLjrxnAY*gAJkaMo$OVY1*yhnWDh=bBZN;2=Y{~-> z)Q3!&jyeqjxr^P&ddVKbbu~GhoPh2eaIS6Hs_pan|JI^87krb7_-qFQz-y+L)6DWb zkachOx;vh+ezdQmbZZR=_Pl4GTCK>rsJquPQGAC7yMi|USY}y=vHw~1$mRk%tfm0V z`~Lhq>~!~;{+gJpC4%0d6<{>Gk}-l0(JglAl~67M64OqWdUx4(;xb}rf;g?u6il0d zHqSD4D2@JII-Pm}~4(oP(O&nr&ZJ111t4(XAL8?35CeFa4`<$_7 z8{O*Ko>OL{zR4#haaagd72*>R5@nM_oEYIXZ+rJG>D<}kRP4W|@txaeZH8Rbkt%7e zzFRE7dV4d@%&~WSiO}xS{JTfMA(7LWma!s?=n%D2f#?{0ezfhR3zG5dJ^2uj*`r#MW zUW#Y5-R9gp^Y_TDsgs&lGrkqFmfeC|?*Lr8%MrX71)3UGD!sScDzFBn3Oq4bjZ<~okiodF>?LNasPtjA( z^0oC$ykgt}dS6SS{Om(rWe%0oKEJ<=a}}}$tmQTyCW^vmm4(f`!tt6`f`@1~ui1Ln z+6RUw(M+3}Ox#L^sVGPHyz7>7dMRVHjpzi6GK2J^fR_{HRgb|{=R3D}oq}{8$KvcQ zYU{kkpsNeEgW4Zwu+KA{ZqY|754>n`(m-@FQ+q^z;a;KV(7?t?Nse)K!H z^0v_?Wm#%qvd=)TQWjaDDmN3DY^|bp1$5h`B;jV~LG4Q~ zK&b_JhBLLet<1hQ1w*N074#jS=jYp3hh4L4$|c3*7KLo_-dx4*+@QO=&gPp*qbk)O za4i{+vQv6hCEAdVMkVl-R7=a<0jP5#%>V>?cy z&5}eThHJ@T`=G?YA3ph<)tYOG<2=!eRgX8oz(h)-L|eGZK}xrCcCOVmreGX1!2L{B zTj%X{N?G5H?SZGg4s=c1V$VT#sY`{T5QQpd+g>*YjU^`_lq~nNm<R0F~^aB;3E>zv8azWhU$VFdiRtm35EO&%o$>+y#3? zS~Ik(-Pc)T07;J$wbPCyS*xQT=&#%YYUw8g%TY^sPwf;6aYvz~nFd7ynQvP9eSYp^ zVm`h}MVXq*oPuLZmsABj@PnMFKSB+=Eawg|@w%VZuc2t4p}XHc>e+I|bcnBhK^pSN z>a1UFfY*!J>?FVi$8xWq=b!0FsGtpFYoonTyeQo3O;}K!WiP>US?x>_1)i8Wi>2K? zZsD7lhs^MqoaNrE?G1zWE^V*dH$7frOEQv&@I1L$ZDgt6J9?cG3IB-9zv=cEkN3&v zI@px-zIV^(1Uulv2UqbrcvoFPUy$33d8|*_6=)TQ&UTnV550NjDOFE*0>dH zij8gNcOzQOpaMG|?9KG70kKP9T-|cyl&NhG(~2K(6s>CKG!6Krtb^9$$VJ1rHy5)) z7LC;FtEJvag6@GJi^tjFd;7Q*wF`27AQ_+K}AlxvOaR}6Bur#6%HJq}>IGuPR* z-8(W@9kW$(0w;#*R_2|(Al>ki=#6Xxi(cD?dv*wl_kFLt`mxZCpJD?~*`t5XpZgP) zBPb@e)+;I2NV&J!m}Sq~kb(?LIwz%fxh{HYfs{A{6(aB6QEI)!*S#9}=;5W^$jH)q zEhr|i&_p@?5P={oNrmZ-{)_3uPzUKZdY^=aja;a zPQPS$Rv&%$m@thR^Ue*hjt3=TB(C!_r79cl$SZF~XSk~lg)m%MeNL1dQ0XX#y8C=> zi7D;($RF~@ng#~8ZMlm-oT=HSj(U~X1E=M3 z9<`r`))8e_?Ke9mq2Bhc)6T7Gs{>;HJU`LiK{dri!oG1TI0`yGr*h+4}m zJEZj1E#{PnhK-JaqSyLn(yMO)m`+lo^WXtBe($Eq-Ok8%sYK&}8+uIc?)5qYhv=lB z?@pH`EE*tnoMv46u8q(6Ln#A5O|C^1vy%>Aa$C&a>}lJqnkp>LfkZ=5Io-8J-sjB* z>MiA#4H%tL6*I&gEl^I#*!Nf&{fWU#Wouz{7H7MyMbuV4pMS2|G)t8o7n0o>oND@O zc|ffTJFLXcsgLueLhFm6h4vVXqwUSD;7LtlhH0@!+qDSkant7$kG$0 zymA)*oIh+E=0LSX0c$*Npofr`Vr=QyJrH5;3U#~PoV&c;^Covg^zaeTY5#J2h%GSX z%GGOjw=+M5(d2NPP$yP1vrEeczwr0`x#;Ffi@U?*pp0o-EQ8y5DWfpR0>yoYI9Sj* zZYwZbI^+jR{*C+Dd?$m*u6sxGCwPX*!)~_bJlOZnDq?z3Ri2j?9OHc6AL+KS2W}fC zhv|0&x2!_`c@t1#WqnNSv2~za^rU{>f#>wPx3}BY4Ieo*UrkD*V}6Z3X4{8Fs*4q0 zWd-_@Ud3XJB*K1w2csnMp5^0(Ef^?Vs_|Ty&ROBzkLd~Up?k^+Zy2?KjBlX6eV)Z~ zvZG5lUIP>ZOZQsZ1*TQ5NAtQLxU#Hzb~&Y7<9R*m_s>tB7C6KDGbtb@;j)+!DH$=}>VS&oIe>hingQIdvAW z4J$ex>!TaEM~h-tZzU$ZeSd%cXS15fnn&zYCHB{?uLMl%X@UM@RjKWoznT zjZsE#Acxj>Z^J?!g|3!SPQG@LVpX66hIW~6D^ULRGCeBgH3B#A0mxd5kPy-XgZ>G_ zC~&b$tY`4rkKS`rm`)!#>>|s(I;Yh=nG<|xY{mvq*Q$_bA9j*Oz#Nb_4_!N6x3+K~ zUvQs+Ecp%)C-BN)-BX%TT^Kk5zY>Hw&c;92mh?YY9UU* zYJuG6!C~dFy!#z8=}Ub6{*K*APTJMp_DY_7g62!HMlZvB=j7Qi-Y-i2vk$$9)~!>V zgif+=m^9B(*VxPF?TBhuFALJ#K)(W%u;gLqUR_D|^&q7C-MezhMsCoh%NyxxBwKsv zsyZ*LHwPD_HDN@+9Y&9tD61?*d*+SW=RG9%ROw!iCS97uXmtjOq21KUT*Iq4g zrg2Aiw!!QJ6}U8r4!4d`_dMqj12^c9J_8P9j6&R=62tIK2BfVQm=G|#WqZAO z%ThwF?seR>k^{o)T;JzcxA!x71GjX}w@4yI`*lcOCTn3JEmraW`iAW@!@zXSoNaIb ztpUl%kZrSyw@o~lpnx&Js(=dDrDZSUmeAJoAfa3j#{T*I_CEK0Cl@HPMkL0`;I`e+ zuXlfAgU~3fprNpM`Eknxo4C%7L7kzcCX%aD6TEdgvH-_~e%OmM+Krp%#H6WlD}?}E z-@U19zVP&@`UIvCWv({nc+xdA#dBXmgM?mk>na9eJ*gv zR-R{ym&-!&l}$;S%f3>Ubfc)eo7(0HyNB95+OoU2J!esm_3&d&JLWLqB|F&;PQ0F1 zGGbXqC&RSY`W?K5np=(XqTp6Bs55o>1o_+jN8Ro^D7M~%X`^Ph9r#j{So!87wKy>` zalSLSb6s)-PBH>w2!?5-wQc+DcxSZlvhjoG@36nNCWsmgoKT}|M+n#;kJHuZv+=U! z#*S49nCu29yERJ`*Y;FC-GUx^yRtH|df@hk`chW_V87?ErweC^>$I^QQ|G zJ;a2nM2OoSGPXFW{^c}M5sJ-di=u)IS)Clxt)!25Yr`CylkGR1AFazEU;w1`V+)ka z2BZRI=;kQX?q*ewCas?D{1%XVVL4~tVI>+TNfRI1Ct(KFGN^WfTLSrOJctJTy>07G zt8)G9OC8U3*m~uJd5qRL@|rE5Gs6KmYaTKmE%ef6o8> zbN=U_{s+Kt|F8ex?*_yj=w1wM_VHSDjft}A_G>#|J&9dqS7F)s=+RcEj19nXXDcgc zF!89b_xK1j8;~r@dWY=m{q&bZ*yB|Jo4EFx<3$+ZnEl2N_)q(nzx-c+y}$7D{Q%$n zDgN%CtB{tjP~s}9tz7_=kGYaA%Hew(C`--|(Bvl%5Z=dbZN4vVl+m3yVo@rXIOC|l z`rHcl=I|}k+iTct_sj>pBp*g4D~9|Q-0z?M*Z=q*{o0fx>8JnpfBs+g&wu{A zf2!??hh|iC&u40fGT6Dxf%8L(fX}es=Vgk+O+VRP?S~?aQFg1<-hWtdW3ExO%RwGh zI>y}Uj1ab;?YRmW4NzNEutnDI>p<^j{X+DH?gFF+fij=K;)XAKUa~sPY}_(((wlHl zeWxyP7FxiilxR9hIgLvlEg0%xA(%V%^C#=!o$dqVbG;0t5`pM%jbncLcYph|{o!BM z`9J>g&)b8=aZl|-NLEBP50i>Xv%d9fG;H+qBWBG(JS)^yS=OG4r+@FkAB zX7(Og%EgXXq-orOlx>T0gN5VO84!MlvG-?;TASbZjHee9-!@C-dF~_` zsPD?W8ZP7tZ&v#;ZcK}h9~~NvkgHl|SAquGx59Q9idxeNzZVbWM~io4vAn913E-i* z-CpY4L|{fI0IHvZ7Nnh>H?Rs(Ydm8U9C%XbS+R!@blqpE8n;usq0D^i%Gtbyl>-qi z31ib!;E!R5Q~t0AO#?o;-gbQ+UjCE0c+$13Oi;dqhB|RMYLZbwfoozP$jKV1feyA& z?q)!NZT1d%O!Y-{c}0;?wp*84S5mDoggXq{79u>zbo;Fw$T-)sb@ez#iJfPd{|P38Ryh|=$Jfv zO$lrXI8V-AeIg!|SivvYJJF?d)g72=ScNmb$6}WaGxe1JT^xJ1=BGSiqzWE~;fW!!4 zi+SaoT+`s-mswg%OJqPoceI|YBCO=bg{ERUjGNILULn*PE$oz|(sbm2nbrbS%#4lp z+6mDQT2S?@CuJ$W@kssY-^Tryzy9H`fBEItfBa2NbgNt_Pxw$bZ)c@hFm^5GT>a5r zU>jWx0R3G9Zg!_eL}3 zXe)$`Wn5mojRXc2Uj=Vto7pnjYKt|aR5qRkb)xEuAAs$3tGb;KcolrBRC?1eNOzSF zRd*^gW$p+1Y}^mL?{#V!`}37tELj|e^w{q8#43CjgjLpXki6~m=N)UF^D2n>+6Iim z+B^6{eJV&IwpILz41fsG`fAw8thJ;a15gLN)yO@!z%%tK>vJR?PN(_V(3;~U&3n!^ z5p*cV<1bk2KZ?oAdu3BvDyN*g>Xt5COydd_q)|M5={Q6td3z7(bNZ#@i0DR!-8({i zNkd^C<98T|2LqU}3&g2`rK9$SmImTQ>j4{h0QUwU6mJkC3UrsDtF^|DvMPxeqwapn za(brH3#%rX~SsnZDu@bFCA)%E?`D|#haq)OP(6HDk^)wc3%0z@$ z1-IE5v2JnOrM`K94jjkir{P zu%$C~@0TYmnyXF9ap}Dl)*^j75ocM9f7-S((*B9xXXe%>SZ%{om5B>Zqvwj+ zAikYaxLZoVs%D~5_wrL=bHoHpFt{bCGYpT$zSzzk48TUSvvwcVikGDaTmr1M^iCO~ z++N6I{>De_zh37rzx?^9fBtctegEd~`%I;7x>AXma@H}kELT^ywQ@yD_p4{zRV=YuqGSk+XA=N zciy>{IpD>$uI(W)o%KI)2%N%K%K#71%cfw{i$utGQpY+{a$P#VTUBsqLFFw4;y)cd zymy2KxDRzzZXPIou{1Zl>x6{hGQmp+G*LXWXao}0u7msTW|@!NJPMl9(AGjvyW!tS z(JMkrV;pe~?+BXdJE%X#JhHR)G|;a~~~Z z%In*vo#9J2BrRuK1(Q7Kg|^#%>j(R{aeuw%*Ps8-`_q5VkM&>v?ce{@6=7dPu$7U| zl1JousVXvTA4e5g>Xdj{x{VHi4!Jeqy;a?vOg3 zQC6pOB#rH2*!O(V$u`_pl*JGx3|mQD{OfT~_^w&dqv2x2?9&K0uA`^-&A671V!j$6 zd{SBycHDMts}@uzn@S3iBuLd)By5dX=U5%u&Tl!4{?5y64PXlIg}uD{Y_-UpA$7`y zN?-30$qvpt72Mn{?dg3z`u?!!-J;Y)DqS%dtUg)b9?{vv@?MjGdF$0KeTPB=SqN@!rmCiWP*CH}N>P z*sOB6eidqSMFd4wyINWL^Ta)zdm(R()etKYAPGxqD>$0j#}As==exs8AC5_sg5o~Z zoPm5)TE`t!=zT(Be1(gMi)P=^VJUK#8%K|JqcqL4m%|f!$vUD}UsO{rF}yNYwR1r^ z+Nz8fZDc{C`@NrAPvwssHhEj5KKI>2#6^E3@yi@JUc`}A&}=%(w6cgLtVx$;VHfFr z@FEzeWr+Y1W6SpnIR2dB4XC6pJhfKJ=%@GdTxH+;9S1S3%mx>iE>h8g#GC_%TS&u1 z;#9jsHxny%S2Ir8rp=!nn&ekq`l`4AklE`}?H7gmWy8|h<;f^sPHg&UGucev-yt7$ zoGAc1!*kEOes1s8s!YK+M%L@LOD6>%y~+=H^SFia8yvtRO9>2t^f z=a$JfY6iwKLXK5jFM^FjnCbKLzcXBv>UN#lvmI;(mWioZW{Fm0+#QV+XQiRV8XQq_ z?La$5c5sn?Ci4&(O0f>~2!cJ8^19w=pgH!QYvZx&VzPK`x<3E@Rru%kwn*tu(7B|M z+2vNPMjn=+P)Kua+|1R&fVTL zmvhp8Y+pGqj+Py!lfiafW}BzQrIX-g*YEw5diAV~YF!e%Y>iRTFaY#$FCHOzTPb1d z>_K M7I0%<{UE!Dd?3M$DeibP{*ifK+8V)BT*Sd**^dCLyKL8 zs}n3Ld9=|+I<1U{5}DG=-~>Amb)Mj^FX#7Qw8mc)bM0$Aip z|NSz;uX-Hodkc$$1?FNNpODP1}Me8rgT^iAm;HWMp#4 zF$ek!5t$KUQO&AG-6CZ|5TKuKtUMH;K> z*WhdI*6yfO?{wzL0ONP>1U#-p<7Q`#=G#59kF$vl&5U}1f9&F?-C=cVp|w!SzDQ0h zwddHVDx2^brFvb4i1402jtTm- zmMi2MhSel06!fASP=^lKMj!4pX~ogTqMsG&(ORdbmhIF9;~o0RzTPZ*cjv40`TH04=^oR^T#N_>{vc`q8wRX%%WipE-{?gd zFR&yXP<7#GH&feMpyKtRr9-Re#)a*qLM6H61jm5cP`|DMhs5A%U(k*9xnBUlbgs+i zdXS|!SS)kY66euH0Ac`4wTeO9ddD##7o5Zp@HULZX75MpX>(acW^~65Ittb34s9Fe z9G7$fpGHU%ZPR5rAD`bCJz|`4Hu?l7nF#GC#H1*jT zxR>7RQ(tvUWIF|oN$)ejzz;pE?RPs0&ZoPLo4uEYxb*XWO80se?1WaqY%ZeKB&Dz0 zAxe+WY6E#Stqg68-L9)}SN9T~B2cRnP~p9>sO+U98bV~1d)r&{A`DlYSeQ=CkB%e4 z*6(w_$y}o}8ZZmULIn$n$djvzL1?BSd1l@Vrg&M2W>g1g;72~JL^m0`+urj6`8ISe zrF8(Xui0(vskld&^sCrTN{>gu>7V;Scw23Htf~f)q+OCF{zm^aQUmXgA5Ngaq=B!~ z6B8^SQlAzvxO#RV+cHjd#q%%@WD3>xv_5E+xr&w~^9SvJ)@6+_$LBx)HuTa&iQWee zH(SD1v)dl<;aAS8D5-nw(PRN*9%~zm&eEX^WZStNYT>ofM!9<#z_tY?pvCQc)~@DU zY7j9W0ldRNw)Ja))_?W4-{brF_CGQhegE>eO+?o@=b-?`+1$Q*6*^q^ae|wWhATx^ zka$Cu-e8R$ITX&I>~c2N(pGpcb9N&-&fj{QYe0FRr4H#M&y>a4r1UXU3iqgp&xx1E zC0E&;%NU_G_t?E{c$b=eSDjk4v=N7Ur%2fzJKEFB7DMF6R zC<|^~LY^-%n|2HhIuVtXkG~Ot{R4jcta8Ou4Jqft&3ff9JtJl;k~4^}()i9oS)_H# z+v+Yv3wTrR1dFr)hL=tGoqhlxbnu@b`YFos5njV1U zYtG%qT*t^1Us(HO%~i&}QtPHEb?GDqMB@W!#`T_2*%Yqb+A+u_WfnbqH(`Ix^c~(P ztdQPU?dOj$(ZUGNdF+mUWe9_b9z~&{FV9QLWbR~DHT5{E%zF_}FOhxxZeJVDKhY$4 z)qBt(L_%9U8K2mlV-<$b5sM6w-Zg63ukQPCYOl5plMPJgvf-5iufXO+C$X~4b~U^| ziL)_I;er*VSf!xFV108eJ)0-enohxJZCKeOA4^^>NQTvRLcdrSbvkeDzNAD=vk54^0h$6*!G#tLR}>Sh|gRZa1QDa+>y8 zZ^~xIq|AuQZsFGhum+&7&rcLwkJ>ru7y6XXJsk8pQQJ*Ji0U_WT$yA%#W(xP-p0|q zgSQ;@7^WDFHVqludjr2+lqTot9zEzJ!Srtvl)_!+7l!k%1-ZZdo8SNR)A#tZ`0*d8 z)co$Bl_mDoyL@GJHh_zr08T)$zpalLw3$riBw;s4U8>H8mLs*R)|yZzc2-{~i&LFe zk#30pl)aa%@y0}#s&au@j`N}}K`MT-xXqW8`+UxBC1bbhCW8{Lyw5u{>fytzmT`TM zeC*EB?C>Y)T2C0uPAi4+n5=1Mc6jE@ysB+<=P83hpNz&B^U^c1z7N%4F&07VbB?Vp zfFg92n6*&rS;SHZ7{B*!*R}Nv=hSex^S9dAZEbOXNHaMetvh6~UCO$X7XSc8f#bFg zCN|x0_A9g|ctphJ&>)@sm2|?lKZ*b6r=QOc-+%e`zkY>!{@XwQ_6>7FD_~>=wyYEL z2&yoc6`1`BR6?B;x2UI2(qDvc^-zY_a*J_U0E0e@3N2bl;8asqLu7fHorncKVe~w5 z>&?M9TmnhS$0bv^T3$(>h0RcL@2eXTvQ7IDwC(|!G_I|=Vt`?Erg_JN*K&j*E>W`XK$uc2li@wD!;g;~ z-gKO`Aej*jD_&do`1%QL%D96_E}c=VxRj%N^6l(>v(HDBWx+W@W9}0TR@p4PJ9)A7 zSR7u9%V^`o;lUA&SvMt-`S}t@wQ=CU^D>4_cY&W$R)hX``eZ+{y&Z1HV@!SnWOpLz zd^7Rd+ZeQq6ZV{E&5|#acsB)Y&t-dzpk$lF?_HgDlAN=If9rEe0j|lu2aKp*s}V68 z!WyAcErC-!L_N3C4lokKC*JcFr5_Cg)LV|MGKww=#f#{y2GQT zmkS)#7U#NLGvf^`FGD^b^zON$W}TYp3d8N>`w{moH`|zMyYJrQ++KtmmGAv)jeu{z z`@8>mfB5+i-~RVM|BL&>_h0_v{O$L@`2O?xXO&(7)oKrSEG0k@HrO$X^`=E~j!W%sDeSW)L>K>D@<&ISa$~3I|+q#3lvK)1q#IJn3 zzWvGH{|5@!fBXI0zv0dI-~Q=0Rlw4ekeg4=@XQ4fH&r3{}!x~K{J0WML7?|sHWS%!mglj_!grOH9>3;R|Mt6I;^*)2^CzDw@ktW^NcWj@ z_1ZG$JMo-Z*rJ(NY9=y95offP><>q;U@Zvn0qf{($a|o(Rl?hhSVB4y=#5W2D&yBd zCmD`vUBYa_;#Y|UfAXK~m-9Ct)%jtybELpJ1Z(d~mnqO$!R1zbqku}}>OtlV_1I}m zj8#@UlxMkER2|;R=44A#Bzq205^O9Z+C`#F0rf?X$s16}Yun4`d#*piGy#E|;s|09&Jst3a?O)WO;>{g3PGMuS|^tfwf=>oBnEcudL~nGyW% zPQhbZ%MScxA5Rsew-!!{xLzQ!bd`d>PepaShqud}r%%}9z|VE%+%#0E%%ZU>e7Ekh zsM?0$J7=_j2YH4#H9A>{Pvq!-s9EUp$rcwVB75C)-)Tq- z!8KWVtJrdAsY4$fdjR??cQQGvrRiZdTDMDtAaOq~)El#}!-)qY3%{Ux#QWQjeSH5z zctiLc%I#(KB-_CD`Z~B2x3?|~qO^vz0J2-VUoskFx&R_5*q&DCMMati{R;VAh~&Ou zMbKH5ETaPdZnFeiF`##J%oT+KK7l4vs zmhAo48cpAR_YXh(65oHJA^!ER{`~KL>r-`WFIw&OKS>LWhffZ0SO|0*-5yBIa!_Ew z>A&PwUq-sNY;tcWya8`v70r)hn@mp`{P;L$p_Fd z=LQQ=>O#eK^y%Bzc*Lzlal`m&b%a-IMm7GC!Y^FX(c$&ew4*;b7KB%jMe+#>{;g2d#mp1sOva@*Gnm@tok3Jx9bK9{ErMcRWsRg0l;RQ8JIZ%{A+bZhi6>!ueEe3{+k0`u zwgZy;okFf;ASTR%@({^i$uh@Qjs-n}0pVHKdco>UU@v4+%8aIUoYEJUhRXwKdx}b( zw@u0%9RLr@N=@&^k@n+VSKCcH7@0P$wJBrAKAkN5hSc0cQQN0Cso<>n4)&_vTiBW0 zBZ5|<_eeArF)yKv+uB{eVD3n=1cTG<8X?8b0wb;$O4$7T`wOWD*A~+FZmp9#Wek=}XKnO{dg;c3_5l!f zJCzR6W^-{Al#((aBSX3F*u9X&Dp=h5*qEV;^rd}Mp^HMys{rP_9;3DS@vVTMg)|Ok zQDdK#vmI{cL_had%k-&(L;w-{+G4dqn#@a^l`MAhRSiU)F|NhNsuW{c7G=d0HI~5% znXZ$;qN?i10O)+i`FPh0ZoGL_=$VWsH1&|Pu9cZKNCapff&FkTslE!w8FHynqfGeY zt#3^aRfLN*ioiQT@TPHQXC7kgv}%z99BV~R&l}+!Niwn*^foyNMX*Lq~JJhpypC4ilxcHg2;W0xGa*`tF(G)!J&>~PkTEZeO8ZQWc81H7@j)5TJ%iJ>)#`1<&K zsuGOkcM7M>K35@z-f8&*#n_d8&QV&w=O$In=Y6f`z3>*CwOzC-3x^|-KFes=qtYWu z$7aFT$BHpBt=2+jKfUb+HKg~?p>LFN4}+8_*2m=9O@w3|^Oz5~LmidLb7vIu>4qbKivoDGAfj@F8j#kW9Y8lEX!m(}c8O)0@wQnm~Hvq`b+f&bn7PzFzadD1b z!g_YedDJJZPx1yYA`7oDDUDRsOj-1NCLYyRq~aU!*4($ykZk+bGp?+%XWLALW{w82 zpmy#r$em-CkI&B)Xz#JsC&T4YgOycZ2NB`Jx-dAYngJTZVlEP`e$348)@Ae^jZ_xD z3a4^fuh(;Ku;ok=@_|*2-1OKdEM@tC>E6aE@wwgH4{ww5nk%ElTK#a_O5-AO7vV=V zR2AZe7EMi+a$`?TdPKWXzcs%cE7s|e-ePX&%r@ITMZ@&y-jW5C(P)kQaD#?_$^FMO)EM|v8k8@b* zr*FTUr!boXkFvIGEY7F!KR<5IW>{ROggVekVhoND8lR)r}WJ5&^T=B-}__wn`VsX7tu}pi#_xvsEtMIKsSe-Cc{u#&CXDf%~r9a z3_lkJATgV^PGxj>O&Z=93d+d69FOL0h>C@bU$f~1w9u!o4un{mCSL#)zh!>>^S>ur zGev~aVtEaux;RP^-nWzfxS5Bkq2!Kdn`vhf3)va1WFJxtSy!P=eNUep_f`Vv!Albz z{Cuq{Cx#GP^-i<40=M~`FsV9o_6Zb)i;{9KPHHM3M5{Umd+Uy<@szbGE!fD$E=rv7 zKdB?Gh{f3jwu8E8a5J-Ga(KLsmGkw_n*vMPdDm)rLZ0EG!ac=aP>;X(bcVEQP}b9jSD!d97D8HU+B`1`rVB6eY3fXHL?gWnW>b*?v?0U zJAxREeMzLlD`XC3%s^8wvz;LeoF;M&+bv9LLyo}Tj{gvgtZR&djrp#UpQ8+SzpYR* zZA*s<5M2i9GWxrluPC`ZxNZ?}&&Cf|4+qKJo*8ZWsg|oXh$;(1)E!SF zn$x^ANy9hio9lWz*dzO{Sck@r6?|C z$Pj-GZNx6`&wl*r#D779gK{13l)L#MhZo{U<`5WRg$+k?)sC}-8^;J?^ZN1GPWq~QKq)nE zvaiw)uNHlBF1rDYF!6J~phEp%=gA8qX93*c{x(=-0%UhcJ zd^^EnJPp-iT#sMFWd2Kj9pC;n85aK4Zx6E3!nDzApC|5&sGvQ0`}( zVH~myxa!u17IFKwYh~Gc8!mn5RU>iLYWL_!6G^`UH_uZ^D9o?7R{2Q*>!={`yj>cZY8*4^BqZO^muSCFY{=Zu@)S~BgZ2IdX=&C{eS zZ82L%`Ia$iW_B=kQ`whL6MNfs{s;o;vM1^6dEB4JfrH#yC^Ynws2`j{=xer5Sv)(FLaSvu^YOFzI>LmY23`13?abDs9_8s0hzK*PLm$8n3E{ks$vq^CqK5)h)%2v6*7qr6yB@SHr!&Il?f2kc zMDE&}NKKf!(iy#p8Q~D2aWKm>Kfj_9+C52p0(f89P_mG{aV_e(5y~71Z&)lRVbe*& z?R4o-Zws{usH0;Y^--mH>)cg18J4__mF+%56XUnV_LjZQxH~yHwvV5mSULdZoCZ!i zlZ!A>C_gUCZ_ltPxP6v)jz;4SNvqA?EHBa0LH7^e0s%2!t@SCJK!>$XkSzMg zKmRwMC=1F3B_6pt7nZs9+=Ha zEyDXBBPzFW#cev?(tHuCOU9S64-xBmkp>e(R6k)?MfYU+PvsAs=N}>BRZ9gDswFk& zB`sSEmr-rr%5cQpQr3pCJLfGv&k_bnV_)aHS=SNVm%bn}X4!WgqIV_aD7M;BhiADQ z{Sb{_65Rtrk?Y4le|Zz&>wQVmfKqFGh?bw-6@E1Rc{})c$|g5NRykj%d#z`9<%=9! zKnf2p0S2d)gV)=+i%RGO+F2&wGjv!($|d=OjPc_?Ka;nVed{e6YuQn8v@xrJMlFji z2w4id6&KqMZkJ^ohL+h=tP2ab8GhpQ;X2NoZBA(V*dU3MLJo%gKRlcH@M*i>0plhQa;${cBdOrxdP7moa?pR_nj+s)K7S56;wdc)^A%Le3>6uD>w*|+N33&T++lR$D1c>7p z@=1Y73w(WB-_=Unv0Im(IqB0&LnB%UFb}Sp>5*ri!4uYN?X9WC*g2;H1mnOUAn*|~ zH1to4orDm}?VH=^AHfzg88);O@N+|Uwni^X)}@TE+#Go*2TLk$cV zV67t~XX#^fQ&*XVlOW7smsR}CN&)Qih~UDoW3@wZz!fL_yoD}lAR0MIE%^{eTbmYk z7F0(*24Hzh5l$c3*pF7}w>DbMU6?j2fk>GTa?92#KtcfmMBlK>-ubKAj^F)gKmPQ? z{r10nVGF+g>Cew^Hq4I6BDSn`W+$f3WvW#oL&lz_)W+DtDFiXjpL1Hf28;A@6t~>P zWWKir*+08AqT-v$G0%S@cbH-Na1<@ud99ETg79X)CXD#@yPtph{qO(&58wXub#D2~ zef=B1QDxfd1>Qv3Mqe`pG?m!|lrb;NkI~NnfLVZ)icl~huV1Y&dDzB;VRpCLnBL;^EC24RJFA8u>#;9c(~eL;!uADG*bXbqEu%wk zrmmSYN0+0NagG{{ob5FOLeB{;W>D#HK)!Av1fQU_YIT(veV;p;CE1($@s;haimS}_ z%SBzY4A`TD={7w9Y6Xqf*Tzi~pDv^@w+;PN3x={GoumPU6OUe1s)9Y%LAdGW6 zz+QZY`#hVn3@yUXuMFkh=sntizSe`(home{PxNd2C?1Yd^$3WOu}-F*OgQJdS582y zqd_ZTHCL!h5-AB-KR(SzfNOzY1pMkW7QPY$3d=S9c;v-t4hl!Ty%V#*{>*HOMzSu3 z71_8@gRsis$&a-&u(;659rrpR?(IY`qTQjm>*zoi(F#I7Mj@U)QIzn1#?Sup<58AM zACFA6fb&-?U?L_X^&_q{4<+0iSMn@K-bgFh{c&vQtll7c?HzS3Fa;9iH+O#tQ=judHEcFJy(h%-pt)C9u*!NPsvjfK1PPf- zH|)c8b;{O{k4&BaytZ$nQN^kZ zkd70*?Hd%fWzMm0UmL1dkz&5CJKqppE)F78)pSLRJ z**nlIm8{HKlv}U>@xFZA5j!}m5ScLvSFpf2%jv0g2v6@lp-c_}587hpKG-&hdUMhnT@QiRmyG49T&g6s%U{Y@wRfUcqfwBxec+`mRQ4 zbAmiXz54mc9oqZy?A%<&daKLYYGkiHXU;u2u%TyM%I%nk{3!QrCt1d-f%oLJM-H!M zP;6+0&Pb(Sn4|U~_Z&#V7l`BSTbfHlasO*Ln1B19{^lS5?1%3!%J64D|NW0Y{_x{} z_~(J>wzK)_(6nu>=((rEC+7^)UaGTqMy@(bBiOpubpTKI)>}yt3P}fvtg7cRtG(>e ztXB?z0t*`+ZSROzC#|Wvk0y?jx!UKIFYQe`jKzRR*1%|2)FVw{eGXN~0cJjGr2`48 z!uc*#&Vev+y$f5a(nhqy$hDn1q2~!<+nf!DbuYu8E1vg75B`6he#YnXNR8N8+wwxw zzE?`|qiHm51x+v5cj#@jHirI?g02C@BEBm>KC|pIU*|6~08?f?Gv5ApN&AAb7r+h6wo^3%8f`49HX-+ce8fBfs8 zj{Wk}&-|DCPrv{A*MIeo|K5K2oA+P!m;dtH{{~F#`}ZIG_wi5vyWjsWjy3KnmV`ht zm&iDB=Pb|E*olirAyXICcqa4%is8}A07H(Vh5&ow>_jM{02O$bZ9Y9U+wLZZmH`z~ z>}0oC)(X@Oh{KToAN;1+hj{C?1FKjZTUM^w7oGw!vK4_=w1WFw8xr?!oj&X$kM4^^ z=j@#c)6TUsOUx7_HVV~G`^-K?kV98^Hr$nIH#eHMJfpnwQ@EA#+LJLmyHZ&mTuyU%KTNoQL^vEgT>sWH8_u{Lr}p}&hE z_RqU?oC_KO_O9wXIpju&H3<8gG=2(}seA93vk~h>KVK&D6vshAU2yswRIFGX!ZV== zvXc{Y!_n9F(=jPU9~X*_iJj zD%U(d_By_Iy_p2CJDs_5au9Mqr<0n`(MzvvSgGq-joZ*Buw)_T~o>*mgE z`$}YMT3+deKSG0xWgh88WHJqtAP`k2LyDrAQK^boLxHsLXEZ>L{DGboeF$155egED zSPrn5c}Cj40BEUh@WFV&rPC{B?V)ixN%Qd(1{)mY(h{w}E4o-l%c?E(-fs6!=Nr7% zX&Rgj_aai1R-{ZMo<$dH{}zsyX5bpmE1{1o;s;1rpF1s=V@HP>sLpHgtl5-_gYS+k zx>x$c*6@1ABKVLp2#dGemxA;XHaBN9x|(LM+I8za<;7R7<(SYq6^2*(;zxfrSZ{1C zdC%G9T$oyoOF=Lt#o6;v7(jk!nWZd3;qN23N)C#lWhKJ(b9%!FmWX&j#!PN1eIx+; zUUyM6A-H`H28j0LhY-tYR@4&k1QMc308-SolB@C^boC!2>nQf68LQET>A9LDcA&=f z<|w}T>NBF*n&juI6)z~Il7jd;JA9U6P1>^JJjhXitXZveFD-Oa3Ch+Ep2CC6v)?YL z>rd9V?K`6qIac@_=_sc!0MoYwW1%=p=@j)%vJ?*ehxqv_Ys~=;zVRQIBshcn$fizp zHnrsqhx^v0qxQ32P|J2*nwK>=F~Q)`bZZPKw?wD6wJ%Nd+2>V;-<+nO+t$Pb+YBvh z_es(39&&l?GZggZA8y;_&b%?JuSa~0r!{(5?W85x{ja9W(Q@t3u%&2F#l8m7S;}9;oWfcZ+7q>5@Zz@G|O-giH?Yv*?<+*^M z%oa{QWdKpC@=P!8v&$$pHrui&1fH8$gxJm|c5jNyr!MiE8|>(8_v(U+t6i>;0$aJ5 zVwYM@L7LD!%$jDcZDibbW4!!g^HMj`F1j`jH4r9?smGv;1#L8rJBZE0B-}$TZl;~o z7ppH(#?%}qiUu-osORcL%83~Haci{U3Lpz8|^HPEbLWCnM&+nqG>t@kJ%Yt zW;_6)qUa_jwrfb_b0+W8F~f)Ym@H)!^j^KeYL%z*<%>>kX?l;dNv)tv_kMeux2rZT zDSG!?DHM(vEp?+fE0nvAwb|^BwzLR1f3F_F^5f{^L9VTa0jDK4Ewy0wVC5jPL?8Z9$)!=$n#f4g1R5Lei z7+*%fPPGz5+vh5s@H|~RtW>^GEX3kvO^1v{LB0G84_k4H!M0eYjl#!qMuB9zvJS+- z8)5ja*xd{8uj>-WmJBitLgk6EAkg?)PG55Fnd>dQR=mq^yIWO#U!5BO{3`xtn#Wyx zmiN3lXHWNRWh)=Y#d1M?ms$v18evYneMi=|l}H1&tEJ9f0u&z)DGl06j8F5T-kRf% zJ`}L~HBR$%W$ty8StETZtoUro6C-%b^xzst>-Z&NyUoSMG#*8UnouJ&={!_f`woE8 z2Z@@|Laqf}m$`a_Nh`gV8JVpXwbC1)u>|0x2r)>T?h&r(8Yi8Q<|ue4rbd*y_(qsC z1Qew4g%sjmED>%WKJ&^9vm>QnGsw3Mm1C(Jq3oX9(qzl-t-OH;d+cg7>hRp^aqVOx zv^$C8YFqoc^`KS;|6PE99zF|e`Yi+(A!yE=oK;`~-GcJcmgMbiuQrv))VYHZFG}#u zP?g;#nCM}~+Hs+nBplic$GZ_t&_3TbJ8!9UBtQl&fdlR8hd+Wd4}>&Ut`8sygg!Rm z*2I8^mfJ#8A=X`L3%IfH2o6B5mnrY{OUUlhUZdy>C&w}9L8^w3mRWD->)vf}&WXS^ zSB~6MAC_N)zEhQGZ7NKgVz1^&)?aHsdE5KRR+>;VT;?OSS}z-k5;50S*@?o2nLTbR z7lGWM3IO1^P7(=t-%A1hB=z35tq~)wZ`*dpsF{jsAnr7v!cZ=n+CG#BdY`BA#VCg! zYc(if#;LhgdwC|FKC3P3%#To5PoQS$?L8{nP+FtP`F357=6)bQZA^DOn&#~t(IcCf zL9Q!ikL5+Omh8mDJ7lRGYtG7(SOK#lN8!1iR7}&D3lWdnNH*DBV_- z?v8C+Fm+VvVW${J7NU30Qc}wm=yr$3e5&`4i9>j7t1*WzCcPIbV>~t&7?u9qcD`dOr`$TZLt$F6Ie;2r zC8U))PBE*`BDTb`@T=bZd5%0J;2oN0O|w?voVkSR0}q{TQS1@KCYSg&#kwml6r|xL z?cUQ41Y_Q65M+I}zBawyGdjrY%Vo$E!sh!eFH#AmBH~cxq|XD|)zGS!$1isaQ z@H-c&fvv9%Zu~2oS!?$5G}T zB4h6km6#~-?He9k=4pG&-PdaEvut!$+>~3PYmtj<$&Ml%J&~J`Ex%Ymz>#Rk1)gf+ zW!U76s!JTS&*1MdR8NbsC-Vg&To$L+?i>JM;&u?U^8Tm4+1i@GTJMR$dTLeptvk`% z9N?f`dHUC$enDfq=Bj0_!h19o_tq{#U-I;Pcz;qi91+LH+K;ETHHWiJN$OMy57bKEeZCi9|%w6rv>DpT8K9A#_+ z^RHUp^mVCc^^2Ak!5bazF&+}{P%duua_L*C9&jam)#Q=14T1SCUCvVx%P~|Bqh{rQ zvFEJdmTtY9c;Xh4SftXMwgITiuaqj!c&sGlmdk~z00C+BYEQNh#G-ilqKys=FbpqY zm?nR*J%-m|ts-q}@M(QLe~Q&UYW5SQfHm5P05dQCyeK#jIS%c!@5;{cwFxurGSBP6 za*rQ%>zc%xJc&~u5kgp2n%*)|fXyZ*@WvcUgHW-gp_V(Q5f@#} zigad%A-fd5^R-I$I*~cFrob{FvO$Jmggyv8k73Aj7?G~S5u;kvFg}ZNJ0Lb zrCsSy#n~#Y^%#sA`(?;Y&8GNDU#-#7n*muGxhlV6nDj+ z`0vq!E2kwZ1(dxE`bRrXQ%`*sc_@S-uga28$7MEl%tY!qkvuKc*!~DL2oe-YVn-tx zHJUdUbflXOf84fKwd^5fyb6A-HoHIf2*d%rQ};?Sw5Ia9l*E;05KZ8hw5}@OyhPUgzu@dPb#-PTL5(>qiI_m)eSJJi4Po|-~ z&di!wPj$H{0BSPYBH%})16zyv*jo8UFWa5pzDk&sq@)Y?iUe0XU;79r8r0r=aBsrO zs#mTx-g02jm#n#(z`mfeIPkb==egANXzTZmL-SJFx&7{5@2O0t<8^+rlJgIaE)cSv zp)~MPph^kDnJ?vzHJQ`Za+g<`_p<0&gBTH-kgS_4pTaPllNAWPzV||fn5#hGX|DER zRT0s~ImJ$`qusOVG**VbCT-L$ae&vg*L#@jds*K=dw(0i%=TO zciJ4>!KdvqYvJP0r$HBhjq+MQj@G)x-2;nY3+d=|39}1p-ClG03e>XvEFaqTpzawr zYW+GjDTMpjuY==3c|2mn%?+wB&23iQ^mSlG3<7S88HPQ1HLMHS1B-m)ea>?6S*S30 zaF1m3d0M>+&$hJ0aF*@rUG~W9^ko1~_-2+_Ieg5;@X}cl+i+NsZ*^eP;(pO8C0W7s~YH4r|(?n?VG5 z_BCznX!z(rU?}PDdP+aqP0xi6yFH|lxl-+yPa`=SE2n^~#ywpol8(bG3;NRC-0~gn z6&JYZ?dTf-6E!Q+r)?xGT#HQkI$o#&yat&0Q*zJ)4E)t-izInHbqb$(P&M6Ivh)3% zWJjjO+LTv!;}s@!8$cWHVY>RAWvts>Z$4OD)WC)jyG*tK+Nb7bm$Mi7`VJe8Ry6XV zp*ry1$*r~N=02dRS-Evp3n?h%8L;GyZmL&jsi)slCoT2^6Gp7qxC1(G8T=xMsTzZy z?3j_MajZgjIpw-i{AZz8?|KTW>DSO=0KxFCTW|-pTHtm2U9GKkVr8xQ%%D?7Lz#v( z{jfNyZcfH%Txs{r(cjZCZUyi)8fK5;EZYktj=t$Z+6H`7%5!=WHC@pLlZ$zbPPq>0 z!@7)BShVb3BHJ2Vswy*=n7}11JGuYcyUMPWUKWEG4e2kR2?B_Xwldec7`zt!zcTyo z9R}hcv3nF~tE13hdP|VdpFy4PiE&DHFq|3mzKc~m#ar#-Gs;kBk2=Pl;;hK(QIE>% z@4j&t>U+3}sk6cst}r zInD6MK{4Ik=#E~Sb@eF7B&7Gr*^!!b&$)7^wVicf7PwuAV)Fmop2`Qzx}34N_2z)Y z=m}DS-wt8c!=j2*hLeoqi5Wk1yneU?p%X#5FKHyMXmvm#R6j}og(HYQOc}LX?6+Q?>o+BRAJ37 zA_pQ9hK7!Jgznz&ok#Bl6GMftdJNZoX03DGO<0B(pm8}g(UV|vT1`HGLRU@WS*f?nvqT1{P)O6`&OHvm zg2^jp=hzG4dehqF^!JT82+kQMgXXl`5ajOBC_w)`}69qgP-0Rp1h7n3WHb=FwVrxv52?UvNniAitXj0#6sKBxeZ$t zzX-WqG&X}K#WP*F4Mu{fjiUL0r^TZjl-WsRS zSs~7SN1LtYz%4wK-Gp2YMDOLW$C^R!-TkFz3-7A3qsHV23*7*flZ?|$`e7CcFR)e^X$=-U(-HnFf{7^kAd&iX_iaQXYsA;m(DUV&TnIkGx#d9`2hO=QLjP{nA2`Hm^UUE#Wqc=IpzU zR4K`F62lL!B65{7@&d*g%NDcJ$hRsLDT7)4 zS!=ILdrDdvgm3wE6syE=hu!IgWJ@Fm1Gg3>p_VTKURm01r3M3Z=0meHlQQG623i@a zwfcJADoUkYaOYkftG<0i8*e5 z$aXzCj32SILZI-JCCij)fG59qVHO)XP1}w`BV?c~MzK{ATxK)OaJDKo6n3_&RR z_LQ~Lk)UZ?QC8Yyr7Ej%5N?dxD!i*!hynEqtQy-~dO|5_Oq3b-{=>=`$sN*~?>pQuP zq)wjw3I=RERxKkN*$O!PWD-aNp5xE&(ciYTQj*YRy;UYPt3#%r477KVvc1j0 zAkY)O@f!f+LLQ59vUn^zXFkiAB+rAI=hT@x*X=d=*$ULyex9MK5YD+!>LX>t^RERc zgK?A(_NP*aR9ue8x&cG+%X{5)dD*!)`ef6u7&2m!f7w(&Fr>lyW+#&L)<$&oBxi|J zz2DM!?FG}juw3yH{N!40-(M<47Bx6R_mcr=2b9b^Z0sBbTU<}=ut(p9j^QTX?{O(R z9KtZ-*Y93EuQM@7VnSo^aIR8(+e`-Ro?UI&6xA97fOI`NcM-2MdR^#-8Z}ZjEXV-E z$qnSRGZ2K2rt3YLRwtL>Nz)DRs7!AV4JdAM+}aXQoiKoxK|5-L?e`)=}0zJg`GHvD`lUE!!T_2@fJg4_M&Zr6gaa{GdOz^Y~;Tke9W}f zmvQK>YH@E{&jSRsRyw~0hP&&T@k!P5%O$E8DF@R;B{@I45nNh+Ml|2aZT_wBq@cT=i5sM zd9eokrqDY@(vhokUxc`Sm=gqt-Lw6 zRR*qYjf8(zR!{WR=zPdk(O!*8s;EceF1vI;U)R#K>X@9GoD)%Dlu)ZcPc5S{E$e#? z*krqTtg%XWI^MhpAT)u36n=LDYMJS&N*n0}35PZ04SOoLyPZf+3UQxueOX~Nw5Aol z{pX#Uus0h$u~9B_G(=w}t?~{xR1QA*bFuE7EGj|nRE5qfOGbBcpP>m*u(AbRKDZtv_G5qes0me zpNHqdftPiz5Gd$A>;cW{7;{Y{SqlDd57J-leUuIIdJq7eJm%4wy?(?joo74s%m;)g zy30`^<=%3oc1|dx4R4j?;c~B8ZBPQE?!-{E+_Df83Ty4oDUo5YkF~qP!Be*6?EK^G zGVh7kGVV~!csc^yf|tHWM++Z5I&}pR_k6FMLTL#k4HHQ3`-WCMJ2RTZJPT8i&Kh0Y z^*6qr_|=153i5O_Qc9vqxOLZe+K6(m@;ZKDLkF)3Rh#)Y_@O`+%9)`9nQtVU?pSZm zD%E1S%u3LTF`ILcc43EPg9Vg z(@iElSeAMN0R?HXid&<6Avo{46zMK|P&PC^Zoi6sEhyh*lQQ0#tM@r=RS2CkeKz*# zvd)=zG->!R`o!oqA8eNAe-3go98zP{&C2qurP=u!)*79%?kXjmFZTvmxPkw1H2Z&9 zI=3WAa$HMpiQp4h4ndInUxJImT;}J>baz!|gu59DoTJLbzX{p!R}4sLi@KLx>C9)M zEz$z?G~^oJ1S11Il<{8oQ}Z?jwlAF9INR%I!g_=I4?|pBI^It|?@Y#M;QzJX7L4$q zy7f(dz>jP~r~8m7y%=~~4!+-2#Eejw=TK)I!_OV!?CQ%icsgg|5>7ULhqTTKd@|R= z#K$Pw{P7*Wlj&yqoXa2T|0&bhPhgtvS62)zlij!%D8=v z>&C;O>r&5kZDm+f)CXOwjiR*nc_TGCHelO4IG%Uk;`bbZy6;e*Ak^~Gcu_8o@devw z(I@Upfj4j)?kb!Y=-Ti(@{@n13$H&G#B^2y3_sf}EOevw*EwAEg;i|xpS9_vhlxVa znkMft++L0SRu+PJMZuOj08N{-?zo;7@>zK;YF=wgGTFEV)1b4m^+j+GZBwpolWYvF<;Xy-nn z?Af2r`k2?hM{=k4-Bd4JU_N1ldYPT^h`N(R8&8SJRC?TfP&w-YPI4}&UAP|A(_%2~ z7>_LSw=!36o3R0#mCE_3Ela?I@dm-pHobK80rTR5VyWE0=~dgb>GgDDxlDj%!EQ2o z&A6*h-3V^)UCg|Q!#^FjGm*ZzUUe!RtYhn3oP$=yn>G1M@{2eZC}u3GaBGh_im0E) z3~+@_47=bXII{2rtD+)fj_{t#+B5XE!4@DIfG?((Lm@tI6JJ_mK0)b2_Eyx{ny>)$ zpgMaOPe;S?PSK=ulHh|<9`(vz=B5v$6$fgRSk5QVI`-Cw7Xo!}A@N+|AS(b-(*p`e z$$Zdl`TPVT;Kw-Z)mr(CgU-H1bN$B4x>sz-753R%ASb0U2$Bic@S)bI?L2>zC&Mh2 zol7$JG9myOeW&*bsx`)w(7fVJJx*D@!AhdX7A1fX|squ(Mi zeb&(7uMR$n!gcRpJU>1U3HZ@o1eg21h85Udpd$zx90{V)yz*|&KIhtnTEuE;COLU$k;3DU z90%X#Q@M=wTo}jN&Ye@`;vs*GcL!6vLwx;pVP3%3woZHvEG+6RtJDfIBlknv->&fV zjKx<(jD~846)`C{AYBX17yiX4Sxrlv)K%g9u9fzuS5bkpwVn;Z!nXu#G9c$)8oyeO6#qP z*8=nE^F`KOrNb4hqnG)38G@>uR!*w97p8LtFx3}3_ox- z=b-JNRKcG0Iwz-4CqRw9DL3l$&-o?XT_@M2U71eXzMetw7~3q7h-?R7^p?XpHQy0n zm-0w!xT?uG!6&V2NiYhz?)UES(%QfTFy_tZmiy$V4^w0vBmZiqGD8k{5^f<%laAfA zY-_EK1{)l{?s#Nio050Vm$kfoMZ5srv2Oh9NDb{ipnCACB&SlEw&U$=mIP7&kEx=o ziYvG2Fo3dpSYKnAXQA%r;PaUX(lVeIC|mXkTh_@vG26>AIOH6F!NMZsw02pg*={)x zE_C=-#aWMhkbtOl#6#N}Q1}rv3HQ5I^|HMcT{Yhqd?v|A?N#5v1=^S%ka0IksP{Pw z^ix@nF&@09iofE-`24=BjoEX3#K z?8(TMNco~jVX3Udqas6FK$0WSokx~lXqDn!pNpb?uvNd4_ukuV9+^P+I&7TAp;b(A zc~JwiK5`Ar9T--kH#^AyY8To8>6BN7qrJC1~nPs6=&5V!;0Lvmp{p2 zE;$u0^nIT3+d<82c1mE+X^xuv7`t+IzN}gt3|$!qpTjJzjA*R<=Z?M=fu@v zvk&&^<4`0K(lDmA2Gz)iuLo%~<=}VF6s|LylttnrvU4AhFxYIg zvI$2{u$H$@YElSN03R`y#8mKX5YJ$Eg!J;A4mbm%wP83ryu2U!Qj^Jt?-CvAe;(Tme^sl z-P|wHnk$w(?se+}-W{{qS~PM1|1~NHSF)|Q?{(ZIhI6eU!KLeINZ95(9@h73`LZr# zm7#<~*x*&V4+aEgjH%S^0}cFQh|YTjfZ^SRmf@K+t5+X*h&W;zwNqA&oy{?(KTZ#A z03ze>Pehx*r4}C*B7f`V`CQngKEl?8J5$7fuUuV-fL4kPi&j>+MJ2CwJXU8>L0}^P zpVVQUGy(E#wz}o?x2-HRVT`L@ovfjxmkR!jQGxAyxSHnlbuI6;2$QxOwSqsJE)9|f zNLJylTJ=2Kkqew-u>y5@Y`dlSyOPbGCljT+w3XSDH>0Z?`F3^*MAB5qFicjcYs-^C z2`jRq0U|u=?fidZ+j4!PfxQJCo>!C`h5l;W-ufQpyejoY7tSebDdBHjmx*`_dt(j^ z=iDX85h)af;hGBV2Xb3?tUCC#NzLjOjs(z^Jb&v=7-(hvH)RA-4jKh|sRQCWsh!jd zvSLYrS7BFUmEi=H^s`@oY-qu`%}OA0=$-viH*N%{^^!9)a>1L!U*4?e<4H<|G#b{! zx}qb65O|~~%<^Fcgrlsj!%0i`0cx_qkjC8CYamJh!w`kwGmAv0qNTwU|T=ql8MPNc+Xt2@)AR6(uUO==P<8q5xX26azhCl9k_GSAsnFoZ5m| zP6={R2f44nGq~_U8D8fD+I2$wVi(R$dPVMY%S|^8*C$R?P$N-iuiim~n}X?qxUrI) zNdR@Vw$QNBx0>s5WhCc&DW{9ChLgC_apWdIcTn9uSEb}>o<3whm`{AkP!XBPeXDvz zgi_BHXhL`5W>NKWpg*A@T@j@Z2$wP4-`F_x!o(I(A? zF+5o6XB>HX2G&!yX3h(X3Wc%_`jcT((0$Ht&ElupIv)o+V_t@_-W5u2UDX=;Dku+D z9Td#$WAd=rL#zZOYHA{Wl%GNq<277(8_HaDQE}RFZsA?=maxSUzs85#7pV5pcVCaB z<#nPJkIEzyx-FQ6E!kieR2Woye)@Aj0gE~^8~-kau!_3V&wD{ybeS$9z(FY zS+lHkHS30gz@NH|z3U8?F}z#g{o1SzcIuk*Vv~gWm~X6!Z?B#xNQcxm3Jnnuvle0@+7sL z?QBlwl-EWqG>Q{MfO*4#Wo|FX(4R9o+&kZ{;Nw_B*$u7D;76p{o8-cl(easHiBG-P zrWb&a{1?v}bDf|AebDhj%PKXJ3lbN|mE!89^~>iR#`A1&5w>S8Y7#dmT7prAr{ket z2af~VZ)>%$lO6>Lx{biDb@*8_Vy@R9Hi2@erku2Tkv4@BFkSRwvmt*R4Rk;g((7yY zLyQJfM#umW@>nT|@Ie1E@#pZsA>~FX0j8}CMg*i?NF=e{I{Q`SGDVk+&+8DFPK8qp zAG*e*3x&Y)gds)IxMc^y2W%XSOxr*Uesa1-HgxPY*4>(a1pX0^6mo;&M~w@HDpDkN z5%&6Ig1T*UGO29=&|Y+F!Sliy^EInnK9IFxgZ68gA31&{teG>Kq^Cs=)PefNLyyS~ zg+GGHB%}=+-Ki?xGMZ2Cw=6xa`lVG4`ixZahOe<-wCqT|*Wa4qQo1kVO?atR6<#Ia zJj61hz1Luo3Qi6{tnhv9^#0zud1N`0SSYV^LN+hT8pLr%XOgj^Yi?LpHj?Niv70cP zDx@gdpbWonbi0QTdNeYHK6e`o0419NqJ5n}Bv{M1&R#iu!j-7IkdQ=R2)ZapW2__>Qj0UI;NK-Rm=2Ub&R^o%`)Sb+mVr=ke#**OdGmF6quveYYJtU z8Po=5M8$PubuUaB<^Z_JHy6H2wJE zK^`3HG@*{GL+ z=ib^T2vXY*qBYg?!%L!|sbSe~;dGyl)_T+mQ<1R86eN-xc`?Iqf)EOa-uWcLwxa9B z$C29zUcRDsfbf#hsmjJDcOSdYu=W@&mVk?Bg&N)Tm1ygGjdNxrXI8!PY$(Jg%qKDc zmjha@$7}r-n}lkCWpZrvU1#~Suh5Orm1;p)M4y^-sshM9m*bycNC9Tr3Iu>Xaf8cr zuFq|qIs5j~XYp57TO2lk{+EO^720Y`Do1uiAI!9AE`xNByL)~XW@W=2OiE^6pdQt@ z$80AQ0^F%cmfuZ&8hg9?+G_A7)*8i>j4M|7(+a$qeGhxBO0uUaCA;DEBwd@R#-x0C zwX-RO*vz$7SRYK1UxnOs4IXtAug$VVwLxCcLCw$|sXkj%QCfLU=Id-{BLShn+gA6n zqyvTEu+af>%?n(8lQ(>E0CAIa;^na)FY9`l|Mi~SaWS8DdTtj>#A!{qz_ajM#)pSp z!4uUW#$@+&I^otjA)Hz{y6iJM&tREO`9lT~hkN4?xlv;!kR!=Hh_4Mkj!tN^vK+9A zGbUaYxOAhClq-jT!V!kQ8hds*Tw|pMoWSWQEL+d-F$3j3_hMq~M`cq$ z13LMd=CuRy8KGa#qlMqO#?y;?X15KEGvX;|)!awWTd8{tJaCU!!nkGeQp^khgPXye ziQKs<3wlsg1AIY*TFzvk(M)vB@_??~ii1j%N&2YT671*UH$fWj`PO^130eDOpK{F1 zeqYTrBACsUrD+0*x1CACIBJB8*E(<-Hhmz&#(_#+K)Cr_5PsYtuULW{Yg#5^)jHJDeIQHkqQp23;Pjm{~x=FR$}xo`y$&TTw*E8mkmoGNf}!b{1@EkZ0&Ryj-AA6y1X&(f+;> zW3mPEm(NCizUhiC$2Hd(kI$Khl3T5P>K(hWg5l3;^pnbvss$3!eXFbmm8vVqg0mp0 zOj;~wWbbN{884UV_*!ds-H8br^d7nJEepMjc{qhrvr+8_=&%^`CJ(E`p+KW`j|#o0KAzp9P2ep1I?G$u^EWGMjJwW?v?K0B zZ2&nrO^pO3htu*Qi>7TUJRW>uv70qBACY(K$=%phnve3cQr<7 zc~b!=4n^r)Xaaeaaf5VNY}|2e*EXu#Jr`hgLmU`%d0jcv_0Ij})XRda?n8+9FVS!P-)@?`Kr<5QR7&55Z9ToG=V&*F#(X^MfwzF43s2ib6i_OaF&*{y|s zxf>CMeIHbqQ+!bBhoLQdHmR%34d5g0xzOFfV$+0sQ0R_Qz%usaEa_}K8g9P9nn7~s z=Hs0qbIIeg(?8iL5%;5#m7`DXmo7XOJ_10cm0O_}-Sg(?lqy>xt{ZH_K}`mnB$`%H zZbx;}k?Wj2hWUcfdu+*URQ*^|;CZ~P`s`|_xTUnveEHfdTJoT=9oOnKZ47(DF2+2r z)BYksMHOZEV6kxHq>t}1g=1|n$q{ck47Q}Bu$*9+-_m3v7iyC4^(reLptY?z3FYzD zL5!XVh+cV1cN;dXH0rQx65(wQ1$Pqnom;82F1x@b88=g-@kJSDRy$BCd*^=1K_y?d zJp*#*WGlSx-piHXUSULQ=3@CsEy+Jr{pE4gA$(seotWr>&G8rj@J1&Y<RB%XMN$>A3fG0S#O>t9=G+nWP=TfXqze;} zv)o?4uM7vSkC|t$M>Q|bczMNG=T-OHq(EgP7YfcL_lmw*Vb(lsjd)N8J0m1O?sRM)3jIj z&hb9qwzVM&qcXJtCG^xfp`Z>1XK!G|qrzCq$9)~M4>Ie?N1f5FE`HdIaV&Tvf+Pc3 zdL8!w!2X7;fcNrhw+s4I;t$qpi;rgxAO<2NET?Pa)alg$7;Uj_Z|1h32VO~7(mLed zDhFcLjnWBG2K#U#)%!H?W2_xcE038tl- zExQFj*raoT-=iXWvq^X)yn0K7I*!hnIq1#B%gIdJEr;*GRe=aYS%b?bBSbsWi|oDb zf@}UT?5ee^+G;J0GwAieM)|J69oUsz96OmqB%}4Y^0@$ot8H~&g=qI;jkX^40iu}m zAYf+W64b?QKMn(J-56AN{5+Opwy5q_{&@>kvE*Dp4aVro#`H% z011m{i}tv^LvVmo4z6m&E~$3#aw)$cF1s_h;Ta5uUby?h*9D4y@JE-+)BXfhD2j*(KS5#dfiy z4~AMfiIQ_d>$^KCGrhfmXCHet1L5Q%ebt$PC0_el4(L&&Egoa6H+vGX9NGahsxj3l z%JIRLdb#=0+Of0QalP~AzVH&jOUhg8=51;ZK`VtlqABL(b;x~e*@2(>UYo-PLFcOD z@j=Hf{|dnIa=0lmLnHP87o~YrYoyP~f9$<<=3y5y5KmiGV3d?OPsvb8QZ5DHb7xL< zYFs8L9Uq+zQc6CBixKli2>izw7b^MdEf=v%qpIT0CkJpKjg&W8XDsG5!HS`_9R-)9 z6bN-Zf_9MA8d@3bCs2*Is3;hD3yq@tkj z?Xle`v$8}Y%!U$z25#rj+sZVQ##lWdHtc`}pH~@0W?~EJ>2og3g`Jl?0uU337u=ji zHKi3;@{i!b+>APjt>~toKeDV+0H{@OJXtS&1J+@D6`GI}Jnhioy?8dBL3HmWpN=#) zQDibE9@WWQkXmZ(aOF8XQ#d5Npe#dz%O-2s+UApWkvhI}>uG)n%9l13;;Y~-=|-Fr zU^lJZ8#D+i$?Dton0ue;D^nb7B39vq`>+kMuJf#=%+o8Y2+G~zc@k{4L}y|4M%%G* za=s{Ig3Rd+U2PiDx`d&HE@O(|YnF_Mu$Hc;plyjcRh1Ip6M5i%rOJFnr(1>%YEw~v# zlusUC4+q)9J7iN&LMXn$E|d`_^_0^R(lU(ZKG&m7FmYlb8kHao-h%AT_Q^-pood5m z+)R9sS&^%ti*R-ax^AFAU&QJ3rcs6L%iuME+{uA9oiTw^6>8N`eiT`Cbq@Q}{zRUoPJmtmmP#_NQSuM%G6 z`O{~)S|Dzlraz*#okOxZSAV%_h)pJBWBV>|la4M)MO$kkO}n#|9(wJxx*};$Jt9`f zd4i(#?F*n1&}^V7X$xntfnjp;@HSGmEPf^@yV$ zW@1`*H+ZRV(LoZ7c`vwrh|qM;x^Utzk7M$>1$PRCWF=X43Q(a8RTa2Dc{$ANEB+)- zq&gyAmd+WY7*?P2t_Hf)!5g^KD~J zQ&oiJH{?6L_R>LN3pH?qd43)}8w%A97>U**_#B=KVmbl09n9nWTd^RP%+@^uu#dso zkcQKt2#F`w>o9kg2;mu%}x0}T!lvZ1PJ0lbx3Mo$L5scOtx6E7OxuS=G{@7P}tp$N`Q9(81u*PhW z^O1Tf8S(BNSY}wrDppYsPQi@?Cr7i*g@ad~L@3LUd!Sk!7+*HRBem~-X^`Z z!Q3Otn?<}wL+2aO!)wq?jq-BPxipy$G7Q2I@Bf=lkLKw}J zf;{tyeV9=W>^*IpMFE%tul3p+eMNpLOVeHH3hzcb9@;TmyxqC#n%%az8CJTBzP3q? z9UDZk~MQapwdx<4fpW zDMXF5X)cpi-z}%yCX>P{l(_DhoTY#i7Wb8gaPK%bxXW&5YdXRR$qeGREvw$VofJ(F zh?%=7i3r=h#*>=E3YU4m!Av5e81X?rJU#L3&er_pcaa4Od!mB%v4CM6wGd>6bUO)a zk=r*ilKIK!uXCL{CCaePIJOQo0+GYKmUH`)&1>QHK86h`GSWV#LPM3K>?@!YCY+iw z5FC_D=ow~qxSsbm=-HXK0&jB}MD)tZO4|hVJxaDjVBkqiP-8+U;c+u=obuymEcAmXSC$ve^uZc z%C-T5Lhd#utc?56v2^r@c5)VqPzAs52r^Q4mTyXGosaWXJBw)(xPv-t^zsfVY_L(Q zIW^~PPFS@J!pn0Uuq=1yYs#*G+3Jh%_d1ht;)PJrkeGQVGjSoukTO2x?m4p=?c7EC zy;Aj}tSzWnoMeB|;+s-PPq5*r0~rqk;>Ki8Uso3TgoRT4)lQe>`jD9%T4hW`z^pN+ z&111_!+`Jt?`m*fj5k-sO^S@J#n|XON?F7$5Rdh|n9orPbpB9$RxGQW|KN6{hT|I4 zs+O5}7ONqpx!iGEDRK_-=Lh;9I(>VJJseDE92!x<=!k13%tkA0(oaHlT!$p{kmG!; zo_%Y8W@UEJd||+JIMa?969XXGVx9{qP4gEir{^&m+06kzcm0vwh{u4;Za-N7k^yin zl;$X7rBYctq6p}Bl}@Sy=p0zM3iU7{hbN>|USd=e54D@73Iw8My>~7?z6<|#d1M>; zP#@cNpby#Qn#gRJSxtd&+ydmhI8He(xCn{(;SFG=8*UOnW-h;>FcjeILbT73*Wi$-9!M8Jm*^;Q-l zg8}!9U8w@RSg>h0MZL|$MY~mWC0Br$}a^FB2Hm@BX1Pv0gB&+<8 zt=5&zQZBsJ(%2eIOUQKa?PZ0-nnhSt^7P-lANh0*&c1z*mnV7B06=UQ(Mx6xp_4rT z6nd!ZI}qlTr^7yk4+6y!f2Km;uy<~F9w!l#bW-(lL!Pew?oly(md$-a-78QjgFv@R zk&Ej~Y+h0fT56F;%Jeap)mJEF*qj`alPHR6fVzBeN4ep(^0zl$D155vEoYX6<@1{4 zA^e`JNQ&v{)^{CUryrxg>asmW-hoh0p7DA_pn$gG&O3T^X}FFVG95Ew%YANM%BUkC z2itmx;}8~&Ud7{kI`(=67}a7BP2UZJP?YIx4?TAZTvU}~EI;+C?$Iy*+%ZO}dfD{e z-DPa!$4{fK?}>>JM`f^0o_Da?fVe`~>I8g-?()V-c2`45Ib-NY%WS7G|AM z(+;G&9b;|!n7RrOK$*G0x4G z^_yih%p2Fx$X(kDcf5A!MVh=Bo+NFh=SX>U&2=1U&UXYc8T0Yd+IQiSe(vOa9p}`p zc>?qfoi$=?r6|L=u#2J)&G;=n4-!D)^|eC1lyJR8W=n?Na)uN=>{B5PFi;x1YDeI7 z(5&N+5l$x|Xj=+E?B1FFl8Fv=xK8ivQ`b1-=med2>b)v0@nLtqO|^e0V-IkZ{Ey#6 zLoG1L`Q}xvW!p3Ye-D8#JPi_I%?a1NwrIALw;R_FEW^|ZDX{VSd{C$`a=^;MNbLY2 zC+F;))vZ37YjG5vZ8&Qb-{@P%Rjoh;+Qz1Miml8mF{Z{KSUF8mIH9(19iWH7J-;3( z5OBBIt+#3$Hw19eNi9++sJ>DzZ~Q#CY0TM3Z$&Q$J=D18(!y0gFIo}pP#({{WzpXm zm&L8nlacX)Ok_5+-S)sRC2JFhK++*RrCS@D%xxj+*wX!0Z=(8y2MD1+^jJoZMb_d}#uP&drWC8a`Ms>$&|R@rrbxPhYhhlvhptMdn(xquq=nwjrt7$m zDIY6QIPh9J_rIAXXUe1-K}Kg6F$=Lh##?&9pg{HLG!@bO0^(1-)3G)oG@yku;a zj{0`KnQzfj&4t^eFu1_v{i)#mwpmuiS->+-m(N;#G^nljK~y)LVb{x}gc1t^n?V?tTD=_Q zSm6Y)&2e6rp@+9Sf-t7skp>5%-ixNwdzebhOJG3+)sDf*i1Tv_WcRLMq~^`nbSy@I03n`}ig^ZgEoI z$#p2_3$?R<(mhFzy~PfbFas!e%q%1S9$KUy7L72r?=BqjhEX7?*oaw*5U~`ms??R`7MHv`WvMd>2K6YB9Id_) z`Y@8^3DN2-cN5;u4|VO?Wt%kH4ES$U9moR=t4vzg7fL{zAZxe|3BL&4%p8n=pr_&$hloouTc$7j!lx&qQIV55B zWnZ{&<9l@~t_`AxRVF__Qu)1fr&)nY326A&Fm5ovP6Ju+h$m}uriVAbSc{$vGD`rs z=`7VT3>*i%rgPA3QG?%1gSzgx-0b#v&{)?z#<#g3W*HqEYKdO(v`4ip^Uq9gF^)yg9Cm#t41n zoJ${1;mJ3Qaji#T!j%kQnFFlfdycytJ{yj}taCHsXU!Zu11elc%7$zKOsDY3i3|4C z7+v7}(bixL*UsIcCLI$EfS-5A>2aDa^bTZX^uDr_zt9|H%Bo`$$cUhLWgBY~USUEN z!hAVKwMVZ5ovK?M6s*ZFPoy;<4VbG4b_3*G2wBPe)+i(x`|dq>2S{0*bm^iRZlXlV z@ei(Kg7;S`B~Nuwfq=&%G+BYdlVc?itA=bil-4kAOg&98-L{R#hUL6Hs9RKGF~>%1 zufc?wWH19u-HS}^=D|?rF5hmd2sucQ${ie*K;^@LO?UP}`^l0lMpx=MNV50XvXD2s zUtKv0e47D@9_k9uhDFU)qB!HKnQ~mrz<=K3P9_sE)YHM;S`)< zAYN0OyY{5*un|q>4R+qXah>A!1ChF)KUOJ(y^Gy@DAX}-H|XK3G271fcZ4u$8lbSgqxQLkHjAI5+ml+qpZ0n&XPvj-~odx%s#j(UZ30i_fVY#V5GO9Lu< zQZ^NkM6w?NkP4XR=ZRoDMCn@O2|CmZUv|=%EjjFf6vLZj9#ZD;fXX`$<}#Bu)}{(H z!WvYRd5^qpZ_bB-4A-Iv*tfO?}%S;~^w=$%|B4-!G;S;qB zo+#pf2fh>$I218p#V=iX79HpG6%u==o8?|Y0z6D{VNK(82LHyWek36s8>12Zm{f^5 z@9yF{*zjvD2fPUL>Rn?}kmFn*x~vOUwb`!NLjy#r01%_gw; zX8M1(a=xT0mJ4HtI=HP5lvX1@)UeU)rLL8*9=HFBqeiv?8|B$C=3{q##Q3j5>qDbA zK}r=Z#CcO7lf)GGd)ZADX>|z!CmR2XST#NOxR{QYwGz^bg^c4Dp`_l%bi74iNTtFv zBSLlqZcnRY)%je2Kh>(_(ZX>Wa5^dslu~Cc=uIXQqrrd;J*gxHPliT&lBT7}qo=I1 zC_qAjIG1J)4BJBv+Pb>Klzu)t&9Vvq{`jG?%j9Yu$wNEVaLOKz+ThK~+?iq`D-8yK zA>$mi9kuqQ6Y$C?a?#YOFg zP~t-tGboxA-m9l&klKm>W;g}4VR(^8 zcnJtaxM-fT%R0oYCiey4Ie5x%b|I62_)@kVYswrUo*M0&fQ>V%1QXy!>=Hzu4>x2E+jv zGaUBvbJ(%Hu&9K`_Ki#RbDMKv4x%BQ6guaNW7X`4r5+T$C!#EM))0-D$myfJjp3%% zJf*^S!_wjh)O{x++S*_mu;_ye@Ud0f-DQqfed93|*@!nX@935EB6`*1wk|6eOlL|W zqO7H(bH@ey9c8{W-`pE1WHM<|9T%l7Qrn1JD>mUp9%)jKy1ZS+_JLhyGn2nqWK}A3 z(Ho!I<_Ym{DL3#Kid@u9m7mQ9JqL55!^A7TPfm{un<;p0N<_4-t3_(ZG1t{E7~u-x zYHm(f+;hMdi7@7qS`cj82<3U2p(2{El!3}5CtN19vwOz?^ELKpca>U{^R5@n92Tt3 z_Ou*L0{PU{XMi}{@VFy!7}w!g#vUfj(YWri*@I!e9PK(wJF%7UgER5?wfyzJid_n| z1Qr}@x8+9TeGfr4$X8V$&avxif>~t_6j7Xq6WFqVCt8M_-x{-%j)5Epsu0HbJ_1JR z-0CNxS2pr;ufR$Vc-&^dmolg`#9{guU z#G*22qB(NFr#srsHvsJdt zt{(%#6{~R0+@0^p<~XFSbgLaWd0f&yxTWVrqs?vZFhic)8}ZZwe`M%d9x=)o*jR81 zbl?Q|yV`lW#z}?6osM{rY-?MZplW2fMxz?n4Zwq1V-N;^EEfXK+OkzTGVKZJ)#UOk zxg2%SE9G}W;Q#7tL>--0)q)i3mD&00lIHFbd=~I*0oq(+p9K!fF~dS!#6PHw#xyXH z4!CVNf2avn3RrBL9G_{hLJXK3KXDB}$I)$sgx-85$a63s;V0y?KBh43EGX{s^&@-? zKQvNxyr)a*8oIOuJHs7pm^$fVdhL$^Tnsxy5el%L8WlR|(qVVDqjgu*fT$EEaD6yM zug1|9x4v4>J;8??>42P34!3IvQ zCaHqV-?}TQlF8ehTO1BQB;3l$_dS3mk7pp*jMXmLea$;1ga&O3CVT^=M)17hHfxz^ zbSU}2RNLy9tj%wrLtt*mk}S+U~=|5UZ!(;f56AbTr1L)Po$6*r-zr zp%@I#&}UV4zqWm!z2!2IfN7Qu<0OPpSZ~HTnFG%wSVSH9X+@O>?sskuTJh{nR#LBE zjEVJ2q(xu~*29J++dKB`9?=^ZE$wm*F(3G>sxz_FlRPG1|w{L+sohV9z zh#ZCz0fAeAIHoUtl@Rxk9Pux$-PD-e!^uK++TW%*EYye?u4^W4W4A+$sO(*&(21qP z*CTewBcmsKU2L;F6_WRZSTOmj2xIa>hscb)%*Be$U#Oz5pX~Rj8O=>8klhZm{(I{v zCEvSx48Ov&XQf{LjuRJ5)PS=1?6wF9-kFQfNz(GPPr~zBo)Pc(fPrDk!@6xwf~aK>wTX zRr;9qNI$8;NU?atYTYN%&_$)M${^8;ijFxxvp}0?(A`<7}wK=0O#o> z0UR@_mU9G5l|On2WGI4-E|pv1c$K6s1h89^X2+~nx8QHBqjh!K@E3zGa=Q!_bs-RM z2Po2$UCtEzE9C(i4UEKZQNulhoE#Yjm~Aj0`nsj_8IK^}b{|diHaTS)_m27GJH%5% z!l${JH#(3U*cnsT8<>4FReVb0>caG{alIOwq~HL-tiDH+(*={n0>eAn)(045ur6AQ zv^WS#Xipogvewi0V0)B9zsO~VQQc_9V+8tk=SrZ;Gv6ZVqcY202idNaJoXXJIN%2eqC}=lJW4F3+>R@AkU@`F8xPV}A{y0tIZP-I@GYxFd2I#!bvBA=T6mfQ4 zbZ*cciF30fv$ZLzOW^;ip-Q6=S5(j1thfWOkC}x@HorDFs ztjP57g%V6N`I5jm%g}fOVaCEY4#3t2-XJsa*DCO6@IUaFw_vp8^FDA0fmhImqG!&B z+J|I1IcIg`0U??G@J5dxJ1oPOvo7owMSw2k7YEU~wrvj($t#-*o#=Pw7l4d4Te#dN zjGgi>L@Xpoyb_k<3gE6caG)U^R0t2W$a?8^)P@JSSS~G_6xkWzl-yr1$c8t63xn)g z%dS~TzAs4O+ACRdesuf9E6Xj%Ss2Mw+0T_sDQ5Zk{Jf%8L>@#a-ZBBAHy8=vJ=4|? zhO6MdO~zw{U}v{3w?CADzyr?VAI;f}09;RO;mNi+yYc5|BlQ%kVS;$F0$5lJl8nHR zrjm-LX`Y7(VUTP@g?oXzvY)RgRR)3IqLcDS?;v>XRZ@Jx5gI2t?_eJJ7Zzsy49EN9dCOE0+`^l* zs7C9|&3HL-8mSGvLv<8woEPLm0%T1wd6_K@-ZT+$=j{>YSTmgivtT%+ewupsa$G@z z)O~@IO@&l@6nY_&--?rkB^5Utq$Y~mlh|KG4UxwNp^sdNOr&vot7((r$vGpiyg>s- zNv8YWHX$Nv(A=tclNcqohu`BFsnvYbPU*HMDYwWQ(vGeymP{Y(Lar z^(G*PnEA_61*o8v(g+GOL-r$j5@Q$kR&XU%H!)5nM|HVMe*nsEV(+9j*e{>VvF1Pt z$u79U13Q4f4g}hAhSejNBh?qhzD)WT4|!_6ua}XB*$}=uR3H7|?zINyeZqW5;4b#j zveWe2V!oP#Cmz{(8fXqto?khJyG3u!*>n`Mw@qGwL9TtuC-NA?a4K~qU%_o|A;xZ= zL*SrU0L>N44XmFtM+J^pAiEt>SX`AKR*AasWV>f9ed`>>odXO-DEHd`A_hzT4?P`i2BVbyz!DEdd0Lx?tF9c{67C}))9wcBT zml+7$+M`mSO2snh6J7$>oe>t9j*;_)hj6FwTOkv$Exj^I;V*4Zib9Kz z^Q;@D8aLMqa-SSF?;-XS@)QBuY{9vm@LkHW4ssl3O5AChlbDH)ON8AtkhJXFS2@OT zjx08OmZ7Uv&6x`nvjGA6w0)R4qZD&wi}li8IQ`axu8()Y=}W9lZodN8xksb|muPtH z1U|_!(B$WZ%($>vjy?xzCJ>2c01&+C#b!^}dTu9lfuI~w2t3J6Rl4FlL^cdzyqLeo zv_f(2q1!`_*lG9;u7aqRw&XsCh8Xo`y@L04pK6I4RVFJWePR!|?3*unQG3@5@E7Ho z1VEa0P@VuN=m)Hu9Bd=jBqq!+OU0W)?kz0*ab=CM*`YW;qX%msCU)VC9l|RBQ%=xW z?$*_Te^=3si*wejRqrG6+TZ1AL}wR>xq<1%Y+d?e0t2W`7G=VV8nD2JmBI@1(UX!T zWb0{UPlyPeLi;Q49KI^|w5)WlzPJDpf#TJS2#)*IW;+*Xbjw(UeN;V{jCTveuNczK z5~lLL1;IyL?>LfI>n|=(MM$@N%3Z}V+SD%O&|_M*C3*h&S7xNSxFw}prS?6TkjlvK zpAaSKY4iz%IW%@{*umxddYAVMml-}NwCT6Y+Rtx&JZUc$;p(WThcrNPv{?>^TdB&z zk!Y28KKbQ^P@xkmqKWY6btgp4l{WD$Cv>w)S%@dF^+8-!;X1njwleS->uiK7 z=^8HQFsyB0zQSx`Rw81}R_@X;cYjnU)aZ2j3={ z^E-Pxv+gqh4H$SQVqXbwIy~e-fRXk&YYoGnP&!W*_9O=lQ>~=H!mTa%9BXZZW(=$h z!==GSI4egSun!1S+=MQ{mlviXq|ad&A>F9=l!^d&yaa5oVtio_wW$uSV2o&_gxBP- zW@P?W!pdi-*akVXkNbpqDPxOGf=TCTIpP2)1QRnlN_2qV-0>awyX#^w)4<4qAd6OF zbRG}^3=XO*9*9Qy6Cqi8VHt52C8YK6TVqmqD+EI_~3J|1ay_Zx3aEIhr z62j(G2$&rsAub}30xQ0&lwDtMt&xtV;8)wM6G}e#@r6Hz8ofUVJJVkfAvAKaocJo{ z%auQzb?&I#hE#Y>v1i+L6aH7w=9-x<7`hq*MCvJhym@;W^afh*%sN!tJcSjFu5b{3 znb5a);k8a~<=M`5h{N`O+YuF+S~iRg@_Soy%ngsy03}-nhhQ3&$i?LJ zy*WDYiypqx(Z*Ap!7klVH0L+I`N`z&oO$Fpi#2quoTwouR*y>daG!R-dD_`GkFT$9 zo>OJ(XlSspD$6Y`-#U!N=Ay#g9iJ2=3rn>-c~u%Mq8W#P>&{K8Tu5h)}ZLO5jcg(m45h){1yr0T5ySP3) z1ni(98`RJ(FoASXJ8z|`VXcl)jgXuYjSb#{7$B)eG*U0+-ZEf?XfN;&-B(Ywvq^j|Uhu(o8xsFz-sXICaiW+1XDZ}AgFl$DrB zM9|&)AozG;BpDQ>iczqT9N}ZaCxvxjb4as$$gzM4z0ge2x2u3h`y)vNWc*>^>4Zu5 zsR&52qA|v#GMy*bM&s0EJ-8H%%348;YKs99LpU;4jY;j3y2m9?eMDhKdwl0Cloihk z;AS(z1*|p}aB^0T5YH)2Z(}=RHAkNv2^M1-MS52=22M#&Utj_u_{&o8wR6YlV+^Ca zHi7uGE%xR*2So$GVCK{G)Mk%?ju`xKTTl0^Wf)i|)&iz3hZoSZm0wCc8%mW6W~wEM z4e2Cs^mJ11!uI^~oE!^N-6iSjLcDJ{s;?*=5xJZ;1?g~jn=!xwBxH83qr}$M)y0IN zA-T+4{@$z33?b+7gdGyu%}W)k&^{<ivT&KI0uT zryTxW^>e<}nZ78-YETRYI~)oZWikp;n=!zQPMWg^W^kRuY8~8wSVO8G5!8Dy6!tv~ zoi#9diUMaH*Kt<0uf_)eNkF#0u@8UVyI?F=l;;4 zh+64YymB5R!C)eQ=weJNTy!A#XrIRZwJdLY04^toG8Wz0Z%t<>y-a$QDHU+{}2U;j8L2{VBa~;ro;mIl7)9Qso>dKxqzx|rLLoD;|&iZU@ z&fH&JXSZ1;9RJ34pt@jkD}n!W7au$;s7{&)$1;lhSiFO7aZQ%lJIsUW2(+|+Om%>g zbzd8ZiY9SS%+?K3D@p`4E2Ig+3V(zRQ41@{*k#a+1t8pFblgN+w2y}Jk_h*qhamRu zc;EM))uVzJz?O9(FAiaqDuw?J7tbpX(WB3ly=+L4t@nh~%`lc{Nv&cFQxLx(9ud2A z>B@N8L1Gq}FksdA-yi;1q>@yvs#MgL7+jj@#q8cY_RI$>Q!c$Sg6Z|v*I%t{hx&f_ zW^@K@hN|U5QiIWK0jX_e+rBdm7=ze{FJVYP!fK3kxUbhQu~V4ty%9pHZr1Tjme;rj z5=6-|-#g)_F!AqnWk-c8U|qm*N(zC^FzXcLiuXJ&&(se>2%4 z4xe-t0Sf9xEAyT1~jdm5#lPtbgQmq;R zls9)0CeUA!4PKf0)N;uoG+>ERIgz!#!AvGTVlsUMqjGgLUbRr1`n9>FopjC!f)avj z^KIZ~JNcDmP6AfC={?y2QcCxa5t^lbz1EApDg)`f@Av(K3!L0o1q&PK)LG8OSU_D5 z;bBAH#1e_^F(Xt|Qrz80RscIabO+GSJULq!cy9TcbOTud$%ZwN11Wy`Z8y6zaETE^ zPTGh(-bWGW{(fCC2Msi7rDll5JM*NsI%csbK*e^@4RdsayD}%;lUF$SOAYOX~fRA6Gnn) zmS&KXkf9#~*JWSW8nlqV(dXLHNuT{#I`H`keVx4kvp+3x^Ay`)@O+U&(@-|3mce(KzvbK7sdDJ_!)q4qYA7!<>? zZdy$+_e?KpKgyUg)(iu>R~Ju3-4D&(UVZG+Fo@l~69`J|2l|aZ?tiu)BZ~f@a32f} zXVtxLFr-Z&CdB!6!Y6gKLsobC+II71J<+C@jJvZG_t(%=h4axf4=78yDeUOPwIr7Kec;2j0V2)U{jM?YP|!80$NKUyw>{Yt@S>$eJE?#ARPE| zbVB3;TLgVn@=Fg!IBo8+!%AfqLFWb}SUc&jinhCV>0~ z$>3d}>G8v0{WVtJRZ^hal59wd7C0k6Dqh<_xYfAtv?VlEZQHAFT>`(5UEgYJj@x)T zSHslI@)Tpa$>bX!tcWVj_xhaAqjqX&kA8w*KTu1-f}GH+d2oAF-t?7`9|CxEhYd8@ zbU1g5;n5@;z9@z=jUQ+^p=;HJ(~PU^Y|L}X#kDq3Lp}0=TGvFgLEW*GR_4ZWFJ8~S+Oby<|zhEP7@1s`9Z_n z2)@)#l2_;|J^VTS8IDdCye+x|6CcpRm~jWg*ST(s4Vq+p0{~dEGLn!!?od7@hN5oI zL*a;k9Ay;)V6f`W9tLOY#Co)qUo{#A288K}e)j3xf_3Q`Q2(L#z+~X0i=HStY2Fx* zOJ0HR$h9}wU7MUg)$vAbuFl3<9LR3VzqT1Sh9dj5&WB!{I0+jn&JZJ-+}N@QL>{aS z9u3tJbR?o-gIY#AeN*cjRvudP7c+u_RmN!w8}!LAkR}G8lF5}!x{W!{9)}UdOR&Z% z3E)POTX?=|Ndc<}FSHG9!V>IID+kYNl>{ud&W?dY!ZI^96v6Yk^Im4Xxvh=YSno)o zrnSI2Y8V&>Xn&0lq|LVuzSw(hIB%kAq5_}_;W{xQDE}ws6r1-P>ApGIfdUzNx2~xh zrU|dd;qQyyUt51J%ekYI-lzCd+uL`t(Ztv>3#m%zo>Jx>T5Sjes5X#5nuN&STQ7|- zvk9Dr0D{qw6_#@yvWDm~nn)Nit!)+ryPSqjIue#t|r$O~KfTx1dmnxWq?COcX$E#TZ6WbG28!=SCMgvW#gDf&l9y(%N6y@#)RR96On@ z_k@jY-CD{_Cx_)?jw^6v;r$YFacJZkB~j9ddzjQ8!#a^~_S&I0c&Z@0Ew~pP_8_i6 zb!fUwI@CEKdIXM*vlYQe2rmU5pau7*3WaMKEuvDY@|qe905}{yLd2+T0) zVK=m`9B^|Zy2?FrF8?O_p2PPA6Kq=h%q0jj3W>G>6u(&Bq!YMhClj%m%%8cu@DzC2 zD!q-#4jk8>Kr+V|es&?Wtm9zCP~77SCpk}{Sw=y~xP2Bb1h<{GE1A}iKK6~S3nvA) za1It@yj&0!EWTiOU{ope89glv??Q9)sugIQ1DSU@YynP5;~V&OD`V`oW;tsz@Ii)U zuOCvP3gDDE=n=lr1@j*1B8(nqgJW+=5`JcQ5=prc?4>iI_^LAAYeKZ@SRrz@ z@8i~bB-iHWy@Saekmu`R6d>WAo|cvBH|yMIzr{xF)+VHKpWp@AOK(cZ33B&XLMwal zbxH6*5t5p9D%E^lb32a&G7jfsvOyI3+~#KpP03R3ReL>F6q8nY(4IxW4+cbU8z(ku z-vg%7@I+!0Wz2y9YJnmJ2eK^Y>fIoCRlZmY7*nMOP=*d_V|T1XZPb&Q_;xzj>jglW ztp#oj1K>T^X#@|N>m0jFDpaH@KhkHs9{-1RBP%U53`YnA}Aj0 zPL5~IILTUT=Hg_qCOJ)71qr(Xl6P4F*0^hM4K9u2gsIkE=#DmM&Qm!xv3{60mxPOM zBiAPSMT^}8Z(=ez6rFjlo`boh6^yK#2uIt&J$SC#U0#K~3=uXSEj)-oi$cUoC{3IX z#WSe`CGTJ>!pu>t`S=9FDcU}RWZAeJ>Et4*Q{&SfTrGpAR3lwHF}_Q?^HyFDMP7q7 z%ifczaxA+@KPQ*6!Rd-IIW)Q?Yj!}&P1>B+A7vxw4Mx&W&jsgCDPui?<8uXv(cy~F zo3O#gSVd7`lmxL=bYT29EOR8LRnBpHb?ezZ-YGM1H3|YghWCWSc+MGso#lKbz%ed; z|4h-JLlN?Y(2WY0E9FrHi@(F}Ub8$>3ez0ezRL_c>5Q!%i1O#i^jbD}@sh6$P) zQ-XUbb#Qu!#^1R@L2&~0mf)K5%*wZ7LUt&O%H-*o{m?~gYo_6y4e=bj2t85011~AY zJsOie_%*CGtL%rEjX63u!(xa~%86dPcXfzBKxlXEK8~CkflgF!DsK5hE+zT59> zF!AbDdIA83=vI$YuA(Ad3lWw2>y^9Yq>KtG*Mmf?3@&x3$ty?A449pU(wtT6hL<~+ z4k%U?wlmU!Igbgx%fmE>VXVNZ;SYkTGSJghoy~NywnE(%i&RStVp`VUdvp=kMqYR< z9eLdZ;_Y!wnjKhPi481cHI+isV;AFh$vE90#8(7LI^m+XlPoA(kF^S#KL+QFBnIg$ z@`a5911vV0$BYSsH_TC`Lofsw5Y@GFRC7aTj1e53g71Lrvyfc1yG60h5h#Gb%)EIy zbI1i;<+_YP^KKl5C+lL4-*v1~mGUDBb|x;p=Fi9v=Eb;`lDg8tG$);G@<7T3zM+CBm1*~PaBNJo;R*3 z7x=hsj2nykPwl){laSt;z@py6E~ukK_6eGj$#Cx3s`A0=t?ygP4EsJ|JR!y22~)6A zrO=@!M6TDs?fJ{#%QP)(5Ws_1QWv-@;(E})G$HM?gMQAO#wDWI8DMJFm4c!Ny`Gh= z`vhFG#I-3dE>6O>do|nY#t8|$JGO+li;7i0_ChF`Z3&iJs0oH_-B{|4jNR*PCdX~h zN@_mqcSkFCS4g3EbS@7p@o8=yEP+UufHW~0yjK<^H@k|j~iLeHL_K=!eh5Paw+ZplZ zpJ<(W=ec7lVe~t^4AzHd|E6+%IRdlGuvM@=Pum0)`i> z!R3wtLTW7LZQw+qCt?gAxnRuOluY_qNv70`$u&c5Z*;8e1V{_7=*bs-FYabev^wja z3~UY^x$1r|kMmQcItM{7?=`4l*fg+1t*l+sR^@_zpuSLZ$;FV}x6kXeGbsl{6sNnu zk%iU+eB{~p?3=l(MR>~Kp?uhe3_+ZaCAIX$J{EcBarE&}2I0DRSzzSnGw&+20J#i} z*7kPGK~GE+c95i~oDuX13g;o0oR3W(WmjG*gE|qx7(J)Y3*i2c!0L0q0iH!=E%Igv z8{o)SK1Vwn&<@FIZ$)y(S`L8(6!&_$S)&yOq22KkkqSkkshm7F-`tk<3p~~yom&A` zSUzKh?~efW=>?gOA@-Ws4w58(b49Q`hrST_4&w@>p(GFXEFDNwT`3R_`U`w-D@C_V zU!H`qq7RQ4> z3%BHQTQQLoe*rx>#-(c)D>VMoJx~b1AFB#j4ldRDpf9bepu8Wr4Htm!Mc5p>x}y}O z1BQd9juhB3oID&@edD)>AJAJvn&)#W2unVWgB3c-&BNb+WwjM2)a|=6glg)Ex}F-X z9I#`ibJ4RP1HrNH&T+^Za^ybM@o&D74m#xCU!A}O$TOStnUcmEoGDhVd7+~bdC!=8 z-#ru22;wDCf_0;Ar#I9Q6UcZ6nbI5Hg(I7`W(i>u?`u2zChdgnd#u|B+JUv_tt19BiAREc~vFy7hwN55{O8s!bg=Ff1d&YL^UcT0?;YL3p}f*j>^bGBJ}zHiCjd32=B$Yv zA;l=p*ofl*;j+9L>+RfR_tpz@cu9ySDygNpTPL#5N1V4&66>S;S!?zeV_abl;p6rh z{6!o@1G-f%W`m@hj(U0;Rg9KiDLUv14w>cgNtkpkgzgjQWke)IQ(#K%)0Iv+{?=WEzwF81Q<|1;QAFk#XUY1@sNBG~Bo+L9 z!U--d}d)Z()o6>JesikwK%8XVP8D9DNIc_ksb6(;nv8`W{uGJT(3!sm>3;y9wf@l`nDL`CdG{=5#8YWW~!Qqf8l|Qfc`@DFmXbGKxWg(1{?AGei z`?!gc^SWWa48`)1VQY4gB-0RFS>=(9r_{*X6vJu`mWw}9tHeoRj@_HR_C^_^2}#6O zz^tH(N(0$0Qh>J;NSSmUveNcy`DV~ebLGxi>L8C9$F9}|LAy$$Kp0+sh&A?!|B5ye1_XyM(j;V4+CYkWAX@gQP0J$1T)b*+&%OWFmvFSC8^I z>!Cyu)KPa%?hnj#dF_=uWu!M6lRXv3_f9*U24(V`+Ju+7k%{VJTr?nN0!8TXY03Oe zPFPb`xo@nzN9@JRw;!%RjKK8@EQoP7x;)nF^kw$p0R*OxFw)gdmgLdnSFCXjF8nL9 zgd1Z6_;j`?lpQuB$UKgtg)<&8mDd5nuy$4k(y62~34(TaNvcB{fzJcZ)G2^NjpFb- zSfnsAU2s+9Kx}N-x6F5KVJ$;wjZ?SPp`?gV#QAWJ7u;M3(aqa_vdX6_Tya`E&=Di_d;|&I{h#bgLj?=a^2*Xe1`IVYXg{F_NEw9 zvdI8lIvkmcRk$~&reK;y>Q-zKd(UBzS-~Q~4Fk5(dcSU*dF06DmZLu4;$54QiLl(( z$K55$~x}kZWUb#G*b3@@EO04AH-U|+TpRF0mo^waO%$~E?#}s2b+t*ZvpEX4rrcNZa^Jiqx}v;NHZ!6( zAr3^7w}?k@r$opoZyq*AQ{Ou>*>&Lk;aV`D)n6lOIjF<%XQqg}{1quW_7p0wulL#Z zCPlKtOR_9iGI|J}owtD7g?)#29OB(@K$ta2m6L=dhe85sqyuJjC%ER| zBjRx%xhJzj9OGQD<$&($8%gO{YB>ZZ{}8>YSUzCik>^Alq< z1t{>O0GV+Lg6laczqc9ZaBgPkwt&P{d;RiMV8c0*%*0dU&`=&?P!Ph2G%S?M%@f6c zIf;yV2)EpHhmSnIB3i72Re0s4joV0dp=G+jF^2LUWd_DJd&2+MTzx@x+~no=+6Qkp zG^B!bg`SsxnOzhlb+rK1(PPe=Gnbl=CX|`= z;c@S9R-8gUr(MZiiNo2}NeBu5CyHPd*CGaOuRCBmh@;ovgTYo??W<375PrQNATGqp zPx^^)#El9!q^@x1{MAw*Oz?KrepaNlS^d4;{5IZnhf(py9RI#f}#+~fC$v@w*ae{aMYEBkZ`m>WBLz9_Z8EN zbqeVd|4A)a+KvGW-mk#9IKX6}F%*+Z8L?m1xUXT*W5L!Le^pYJa;6ppZpByx<9W#7 zX?=pA;c$hfVeP#Jd8Ph*WvH241&BnJ#R|5Wya3}t=1(-3D-)eYo;Bv-k(A+Kp4xXD z3fjwFH=TAoGK@)HwDdk^%Q3jcDuIdx)Yo7L)dpAgXFTO2JA{{JKRXU1ZOE3mIvE~l z=EaE9h$Pi>rCuoG%Bwb~Yk=RgJ+)2A>QcU@yQ$5IiHW6G=Cwl~wf2Vg^3BQrHR5eI z2q#?RaSeg{CJe>lKA7L}4!vWAP!HwjB1_#iGio|lgA`WjlSC`V74G*4DpjhydKL&J zgku>(R*F#r-Y*nqE_7?s*jLoJgexhOj#jwh$Q*R#lp~!p@1Xpgy=*^I>)>e*BVd3h zs8q;l>^QzTWaC;K2C1#G;Uqz^zxj@k{&9_C05j#W(I$!noWA-RA&;Iz^QQ;m;1iN8 z``r?ciwRqNEONRlC2%mCEa};^)*Ek4Mghd@$}^e@V&lSgigU)NSFak}h8Fl^11OVB zq=oV0YV_4?uXoBO3WS_s^X=yTf0qlrw^7DDh=PYZr9A~GeKwLY;FP#=2no$>_8j_H zmPx*_ek48j!zz-=isU!%eafTSZv}B#OSy5Z<@8&E4<5o>|ZOrqI5-+WO&_Hv3An-f* z!%pRda~duNPFdyF8y#l<_S;()FE(M>1;k}dxzo~xOq}BN(w&^)a~bo>x|!$+mRh$^ z-P)q@=s1w%YG)3bIOl*G*UJt>>)^Cs?9@xJ@;VX^p!%Tx*DHLe523@j$^{ty0<%_u zd})KtU$iqlf3uXsYS#E<0xtE+4B371;RET{BS4ZE!{1H{@WzEvU5QL>nQy?km;tVA zZlqJF8hZo0#F&EiEm%|^mS+vJG<-E~r&!m0kB~O9>YYPAMc*|AqAo2V;QXL`T9?$x z?JKlV`zcSj7@^gna_sYMt<)PJSk8w-Plx*jrdMtyFOzD9coLpr%6G zxK_y@@=t$L`Lse5SpiSmqh=J_9M9uwa4qObanvZzKXnf&oH5C?u9bxyAdXwN`is@i zD-DTq+1RTe2nGgMO8T!JZ%NzfHpV$b8XNcKPMD~bI3eP4c7n5f+^8F{?(5W>v-}EP z_!ZbXOtSKvA=z)mqjWEE|EhY0KWo&Ri8O=kySPs=q{7e?3|%&cpvDRmM>6VSXpyaR zM;h6i>RiVQfeMnIVGd3MKRDgX9 z0=yQeUw0WKTnwqeq{FQpyyZHAa5hgz=l=$gnwJppK%nWZ>JEmAKr-SZ?-C=Eu|4U- zhi1!LvG8XDS0FkDkEZgg2_1Ge9<&4gf_F?1My%&L3}KY6C?1a|GRk=VQ$<&W#Ol?;GnqHy2Cf&%r-_n(RJE|#j)5ra=z`O*&wIb$h{cm*Hcftd*>-Z=gj!qte=3bo+hd*rg&1<=3gP3(*|=7U9o&6r12HUMGXh@$M7mDus*OT7 z4^Q6h)?X*%?F@p3rmRXZOH%XXUe#J*YJW>(^0lz;j>%u``0jCpfv%bEmWv@ki8KIo z?CMP?7!yiwIrJ!XZWT6C=dem1Zg8k{5Q18#Co_3#n*)0MSWX0h^i-6YQ1=Tkm(?x> zHnXT{jI0#@va+3-c)q|OVeZueRqv6XBQ4!3tLI^K_&ZNG8XJRT!o66K`(ZL|H!kuM zJ4)hD0mTgK9ccoX?boyE1-J4rcRL`(k&Jepm>Ec~hk#;`mP%hJ3>8R%yh%`|$N}%$ z0&3GnEzVUMdRkSVY;QtGxvkCy^b>o~oGh}estaZ-V&%L*&nz|&hDPHwCxk>|e-7gn zk2uch8QKjt;|LVl= zNqe9apr~Y;fahN%+ARZS9ObOMm7%d)>ctQ#CWqj*ael1ChaM?`?MYQOfbH}HDFWBm zNAv<*{R8oG|E&31W?F>=fE&;RO??Jt>M62_4y8>XUrhPO_y_%3Aqwp z_KIcM{2{bi2Bsvc>+*VKd(sw)x_*jJf>`XG8z1@31zdSMT5!u1$Pma%QN7RZh(no? zZO>mWQx>?+K7_uz`&5}{IV4S5Dr?rmi5RR{@lC+I#^JcUcMw!%;#n56RDjrAhmSfA zWjO0F0mE?_aBzNi<;n!okpqsCaZk2NtJNy-Xi5osgc#m!qv@L9By)ZeJh|po5}|Rn zaXYz%uCEu6D5O}Fw|iAGD|Pn836Rf=YjTP!cA|pKDC`&w39alIG^IyvwmNxT@vU#s=h%VBZM`)x2B)!;^so*hu!z}$ls-n~2Y=-*cH!s_ zkU?+*wVwQnp$;j3dFv;$!P(OgF#KUi-=O7QKw8+;1fYUBqP|)?o%^A z&=;TrsY^~>oNh`b8a}=<-y&yXsLx2%-w(=^kQzJdUd8rdm zoNl}6dBnM;HE||#l%Sm^(oJo8LnflBXkuyz<%6h@BXu=PDM)C1_Qg}*cMHxG^jtQVTAI(8lZJe2HP@xs6d2O%!KFh%;D)hMH!L3LN zMIR?fLe_ClFT&R4`J|gh3D9;7rn)%6tpHL3jlk*K8}uopZL2CU+a+TuhKKfbU7cm{y<78$kF+E4maqvjEg3!F2EZ58;^ka&B;&4I zu}4wwGE?e=^_8!!`Wnj``?O4BuL zV<7U!(g8N<=9AI7cl4ASaT<4Z3eVCz0Ps#E`td*JT;u56jEl@>kIBpW;pik$X||u2 zAU($0SP0YGX2Dh7(7ea+yHwOW?6GUj}!fT*@Y(5DdwtgF5{xT+A# zJR?IX_gd5s*pGk{!h#(ujyr=wwbQi6Z%&f7VhkR2^(f`zP`(0FSEsbOjkqpJ5Y#bU zVEoMydqqJIUbzLO=f3hKE~T{t6YdRr$WzlXH0g@>S!v(OLlhlKiXhNrsgKeL_in;w zoB=tqEjYt$x+Zbc+8!*@0cNMEt~*OBgA$X+;M+y$yGaTdc;&c@l}b!^){~R?+jZ@B z9=&zCvqplAWFG&TBGZ~buw!FlpF`o^Rr7?uaB`qm?BHGt{te_wtGyVVdU!vOKgc}2 zRoY;g+NZD;-*XW?r<#_;Q=0C$d9)G-p*0OzrnZy%>{64}3PGMC7=@O=Jbw4Sy4oJW z{HDM&9G7?&_>X&fe{|3JFbwnsCs}xH#xCo{=9-M#=8P|pZs}C7tqJDIT(59OX$;UO z2=Ifrn$j+^&&QkqK0A$xA+*lA2fHrFxhNhdBSGl;pmKw@xyGjS%A);3 z0v(eOwV>t#`&=_ZkI=B%I=MFAMSP~ zL@@!cDpAQr&n=b37g7#zL{QUp&Af+}~X?4y)1xs$CD$@;u^R17C-T^o`G z+$($ZdpYC^%4)Lr(GlZpY*Eb8gXcuSV8J|d@+m>ywL^C0dYD|q;O>UMfs@O~?|1VF zT7@H`Tx>!4rJQ^41sNUBNhzDY3TsGTV-A8%F0zC>)vZ{oPcM_4UFnVb4DZSa-mMcD zqA`;J0Zia_ZRj#@RjDf_z%rtu9<3Al@{FC=TE0X(iv{)FaS=YgEU2%LyW1rEf_`rz zhwS9*ul7XT+MT|N%B))N$wE(M!Y<+3(dj_IL3HSUF95eCK z$^n$4;RZp#ulN+VvrW>7m#T#`+PunLlQQ5en}pH^{lV7hfY5$aOo4^m(Glv!d2l(! zQ%C?GuS~q&t*lDVVrFTHnZIa>63VVQm{_zLIy@J399}46s?U#M-qYaFl&DHzCH2)7 zWIN=~qmRK=fo?oozMw6FVuJszw|AweC!uK#Eam2iW9#cWNDo-hmu^U_HVX)83ak9W zmRj|K_AD0$!`l!D*@2o)p^Wwb1T`NTw!!oJ0o}C4jUE3&EFuPpYmfd;rX zk~Ht-o8;-BSBwh;E{GBSPEI^W^H(tjor;VQq`}}2)7iXNr(hqu+v5}^EK|9^m1YmJ z!xLtsawv$a59DWsxg>b%6Gy662$qB>5@WK83*mWC~zvDS@qh!}n&Y(3!b-Hhl(P@#C`L=3M1hLk>GsdUc04}N{qKVqxk*5(3Qg*!4YksdOz73n0w^_f!r_7BN_baUbVL=D>#hZ zeR!a+^YDM>6a|fe`fL+y5NM)?63`q6c(%==2|SGcWYN}E&%*n}80Z^E7vbUPGJGy~ zC=lBKBQJXXnad-?Y&O^tRwLtAiG!~ygehcIf2Y((GqW}KAXd=Vygl{OET)Jdz!&F@ zgiWkTzA5>c3N3Qwc${ftQX<$L7r9Nm8hgF#)e2a__Rf3(UH%2PEZ^MfdQASFjSX#2 zISUq|rnuP_mx}VT+5s^ZeLA#|jHRYmX2ty43@|oG#H7ivL2qdf1PL=w_Lr`}tY;zo zowUhGu^*lz)e1~;sM9nov9X2QE0Op*c{y{xU%{}SEY*$;y3Z?Ah@e@cw;y_p((uG8M*K35w+8Xn;MM6hz?NHC6=~d;e{%#NUOU3QzDTsJ-cYR!hc@~IS-Ad$p&0cPUk%84fZhQ zLIOaJfN$I~+EqqAnZ|88lsl0=$Ok9)a9%eH$P1A)dNq0g;JRJed9-mDQ$ZyiD?Jaz z^BvKQ_rU=lIv1lx0+kiI8^rvw1gN@M0tHUE0QF*x8nY2yN1=_LffmR`KEzC->VR4( zq37I@tO#VzBz6vs3L5|A^r`uPb~d_maYZpr>EoGq?Y%ac-!`7~IS$(=ZD&mM#VX9H zSxK-frZIN3kOF2!Qlwu&NbK;^Hm9Rv&1o<5p~NeH3y4r}dM$PaNe(8Tj(IKw{|CP& ziVPi?7#}92n62)bcW7=HQ7))BtQ1T!Pq}PC$RDoq_`2dDUkNLl#nMEDG4rXsUWCHX zT`{TT$G`b3c$Qt3gXTJI=x@Pjyi2}Zej&77n&Ese+UQi51_@cvJK$A1Y@NB$ElM*e znXD%mlEA;J6)(EjToj`g=}4l|eptW>0GHk0H4ah_=yNQBwiiO&!h!QaQ8XhYimVZm zeGi6$N?Z(bK%%#AW7bTY6$=m9inAI!CpOj%Qa3k&;f;>_EgM8Sh0e!v)Ig!MD*7n2 z1Zt}EBg|=;iC?=PU?D^m%e)ZKrt)b7EmY~T+uHu#U29%g%OopbESRp9qUIyetC!w& z$cCKtVM#*jUoe9~E3lr-+=psj~}YUlW~$`wJG5VYd$W+01kYN<2QphX3r6u;o=9vF^nknB{~lsA7t$ePKi`jn5&^=7}(m zlE^DWWuZdWc1cLjiaD6#zD;n*=sQRcU^ADN9>#O5jKvp4o%D>%!E`R4 z3o(an=-%`ReOxgX)zT@l73R0oAwQ~abDL|C%DwAdkn>Z4a|@G$6$e>f5WtnFXQT!p z6A2<{7H|sPNjG)!v7J|WI^EK*2`+@Ba6bymlKp9(3kr?TlA~kIhgnH(s0_&vv z#v@tx3hO|5Fji+^fhbL_RzTMdIw-c0*^`Aa9^2JDW$xltx0my%7q*{b;$uZ7MaTr8FQG`5K z#_$DPuI=YEI9uK@sb6o%*8!&F;NRRF-tSWru(Ck*a~6u7ufT{6nU6!`XuJ_rpuYEbNRQWBGJbEuMhK1-V0oS$%e<}y$Pn46lQ23go&xXLwfSgy%#yc(z^KFx|nOp+uO37*#-V10_CQOAq2ikbP{MJ$*^ki z_{5>=MQ8x6{*?FNITkWQrSgIvbW$nlHku}8Z52Sit8Eu4{$?4G2RB?i%Jcs5s5#^o zYHO6-Tkr*dsa~FzUN@rXwJFCCgc$I0h+z_TDrKGm^`-!+!Dk9Ho5ja?XT5()n{i9aeS1p6wnMv?Zv)vjFV|MA3#%b*c z(H??aY$3QVB`eGimfFMw@tL#3d*oC(yECw+6@tdI5^t(Ik^2~^P%ud^%bfqF>;*&) zkQM|y9xy0+9vc(VuaC9WqDWw;y3Vx{ExetKW_=zg-Z(+~1XjjP`lLxFY9m>k<53|_ zGZ|ab0~&mt24}os&*Lhhh_V_`6j)psTb(9% zC{l#W&19RGg<}`;w+c){Mo?h+$fKS~RRa4q%J*g0$3-PPX=lvJkfqY~K~s((e!(_{ zm>v)D6eJciDmc^?gjZfQqQDYNrOe+aLafox|tV>21H)Zb<~Fq1krbgqG-o#=U= zcM-qhx3B_jiCshttgIbLE3Y7d0L%TlS~Ift4HX{o{4zj%-SP(P6*7DkM8op#j|4*v zB-==-JWhIcShv;t{4|_6&I?As>93W?b|;E;AhtOwqj*>0%c{nMZHoQ$H+G2S93 zAW0Y}y}euC_vS|EwY#s`y(Kb9t-3`~!qBmxt6LjqZF?D?d|GGb9l@cjId!b4%B_lH zms9m(mVIHc=sUa7smCXthE!-$U^Q2_XAe!*<0TCyu0QZEH`aPqQJ9l{(bWnEwd;@4 zGS&88+iW%d0A8jljFPEkzVXOX9p;0VVHe@>c4|?Mzn$tQ`T3^P+3Uz4B`}&6I}|p( zmSVMS!p_{_2^Z7c!jAZmvVukfjstp~C1wUsq4g{@V75X_mj6$^=(5dYl8cNz4mgcR?tK2bninUq&oM()9tbJ;tzqk*S*F7 z(%Ok;p3A{enAK90qWqoKuLA>vqyfKZzcQY!Zpb-1f|S1_LAgSv47zZE0| zmMlwFgO7#=Y?O8HL#jkji0h5@UHFomM_X+bbPEaKy^UY>9cynO8;gx28W;26!$&CQ z$Y!cjd_M}-npf!VZ4um~R#pKN@wH&+Bkkc4_n-uKqLE7&q-_Y2kX`bL$m#WJUXu-u zab0}a=A`r37h~StLYjY%$<+x?T4Czpj20(gQ&MFR%8C5hB3vK zsW|=lj65NZu4}1Bdv{u-lZ=q?AmNenrG2hk5P&kZpmXbO=BTMqJ-$BqkLM(BoKgv0 z=JXXpg1o`-Rj&`aKbH)(nsVc{y_=lXTE|TpL$>Uftw)i3G}0=D)bq+Mc1b(d)7n@D z(R1hvld^*x}RBvzap@ZFeGbiS9PB1w+ef{@P-D z%?z1jN(a&wjTBd>J#a0rK3-MyXN6VSBBtt? zC8TrgDmuAF)9*+tmQE`Jlkwo1&ZQQjd)q5uhTlh{2iKc1Iv-=swWpdUM2#s~SzUt^ zB@b%!TP*u`!C_x9tDZ@5XWFo*Q3t=>CT|Ke!g$k>K$4KA&Cv!IS{`M&>Ss5k?`4)r zZ(^pCl3Y@IoVwJ)1HECI0AAl54jrdSvK2@HAoGly>95 zw=q3Y=5Qt()a2-p-2fi$4YJlWtm(Nhxhm6&7KuaoE|2e%UIIsiyeg2%=48in!C^%L z#>KbGR;2SD=Lq1rH%Fu3Bh)M@JiNnfiW5I#`WAg~Mk01_L!!Vu>jQ8Rh>*s!?qDc5 zt$|ctQsk(^NN`3MjR!R6m1O{#N-w6)1Ld(=p|R;gsH*EYTX$2Wk8>gj0-+T^n9mIZ zA<63a?Z^8A-V(6~GtR?kCf2LJ3oapl?~1n_+>MYQ_4g z*ou%&=CyVOf2dAf-cFTJnUtKT!W0IA1zv=74J%E;-$2@d1GCM9I1=dGPj}yIw(`!0 zX{YjfpFwoAl%214+pX}4XJ5s4=xj+IQ0y8zhd^{hV8V8NOuZlbFDT($F?!uIyRTY0 zSM*a4#nE{S1QzH%2KHt1u)U2kJF5tRq)YsOjTNhnUMc$nr~v}5e?ZPVEZEqTuFcwI zYa_+KD_m+VWvEPIHjiH{5Z|q8=Ttr%qk;p7gd_Lx#*nNe8_nbfCh=@m?s}}EWb2ds zX3xsL+X1ebXGfV8Y&l>L|7uay!8J0?z`_GL6aTpp2|U2>;MN8dDrn(+p#^OKrg^8` zR-jW4+RpAT4q^7YbC#u}w|4>?1!7IkCwX?f5TYhEns63gzUiY8m%aJmKP-f0AgLWp zgllX2E@nU zG%Ov%f|C&U;p|h^L}=&?Tt#d6z3laZXs^Q5<${UEVi{marxyy72IUOTd^x$&=C#X%_6rldmSu-i3 zK^?OD;o2;>LrN_nPb*PB=#0;>j5LYwcFyZFWPOVvP=2?1 ze{){IR(#>%s6+4Bz8)~ZNY#hCLITh`k zA$T_EY#Yj5k<#2&KAgBzr!$Pi!dyew@sa~Qo zC)#O0uuZ(f%qRZpLKWk{7d!p)uH&vXY7+V?*Mz(E4%jq~JEAOpF#uW1CVS879^HB> zEL@dulu7zIs%%Z#&k!zE!E&XYHsI4(8nBdmAF{hg_hs?0ThgbmD3s!vY*5MvO5Y|H zCb{KMvmM-?)k~eLZQ(E7a_)GU^q#V%&+Jyv;DpQ5;T6XdSTvm+GJe1;SZL&Cn8c1Hv)6fZDd2HMLh88Xe z)BX;@h6?Ibm$bTytV%~~EH+J@FD0Zkfl~6^PJo)e>^~;c$7N?JWUkGi@hvvR6!I^f z0EW}&*uNSp1JSV-X7luV`KoAm@i<3CscQ$XS?ax*vUyNqn1Q8 zds><}q~SVzOazdvP#qG0!ajj8J02B|i-=(r#Yr3M3bog=_SsUn7q6fJD1KT0lQQp4 zj6B{%Q~q`Ci4I@~p)%J1Q1$IY%at(il+LSQZ67gIL9>neity1Q)(T#u41&ARy5=oV z#A;jU#(`*CIH#pLOL2%oeRV74lwbvOTIB)VqS2YELm`BXQ(tWz@m`}S!UR@_@W<48 z-f<*1P)~sQ76gtp_CwHxiJ@(|Z<0W>9*^ZqAil2a62Ol~eGA^_@Crp4>nq=g7kwBk z1G#+0($D^cM54x3^D(GTaNU{0F=0X1|1mRF?$s8~vCEV=j0CCiFHPjqr6 zf)}MUu3g-@?#uIv?!nOZ6phx54DC%~+5_?>(^v>E0E;ZEftaatFpB}$k9@2{yaL>! z25EH6mB)VCxfRUITHR9iYwUpd7;~@FscYBUPng<%|p_t zMjZ{Cuy#yy{7;l*wm3&rLG3C9NciCV`ewmVR}2;#7vu!-a`3O)JMzW+l$q2z9(6y4 z`7IA_dAPr`IiQ1yRY`6gtqRenHy&>&q2;$wb@*JISGwVxzd2LH3ge?I8?{PcD_Unu z*>)rl!T@rtcA+NaW{^I{uzvA9XISx1N5A~PG{m(h?!H%YMkJ9AS26dEmi}H%oM9F9->*W4MzUM0CkW{mn%?~M1I zTHWrp+sZ(Cr?6(=D5sI*E@(`FY8)X}AW&m0n{T4*0VPjCtxO(*+!)8Kfd!PL!7tCdqz$~au=E|yh_g(rTM)Fql+2?9xoLdxiNJvP|5#%n?QOi&0yc9vMWkqWOYmvDIID2GYE9CfAI9t}-M^3s>eL z)&bn@6yCMnvS%HbwgjQQuoUL1VaY*69zjy10c-FhtQ69#S38dmOmq%VUckpW?*^?7 z>K~vXo}i<%JJ)Wpi~UsZ=&l?=nKKn3ijlvCE&!OHuQiiP1O&4&;qa|>bQbf=AM>bw zQR0?SFCTH1Mr%CPcb&l!1dUgBKY$tvO)Jtc2M+ND;ko%|c#+xR+CurP!)p%xI0syB z$~7AJJ+-fXT4~9&esW{bS=7mlH^buitt7RtM(j;P$IGU)ZUAeyy{DqK*fQ=6Cns%( zwo}v)`eDB4cP%h7d?UC97TgRp^16TIv$9Xvd28J(<0;{y8)MhPJ9%UjD+gSd#&%oo zi`3>?0&N2_vauv+W7|D5>T!T;#Yw9*_jdSQaPT^rUx+<;8caS>o#fdIM*>#|O(Vr5 z7jL!Bv!wg?dkQW<7pMSggI+li$1B~2@Q&yZHyn^p-&~Q8th*-{w)ZX>YCkqhO@~|l zAsT-6zDel@bcr&vF4ax^l=ra?!#S7B8`Pc$L>lC(-b1Y7X$J9|KQFQ$@`2mUhn3n~ zNkp*lUz%e}92R79_LH#AtZ7q_=Do!0VMA@%>XS~3U`uk&LP|dk1nm!4>Fa#n9F6??j>92BrE1DM`1ViI^o1@vZs&o}Q4s}1G>&v|U{=qO0}qu)`(~PM0+mrJ-9p=wTH_rd@73bl zt$ku~lZ{tWm8mt8uimiItPU&KH>FKTz@v-ADh2L$AhGOp*o*5r8%z~HJ#jtWlGca9 zsKQwsb%gpPq38T3)#S60CmY35_T+-9!Lc6NO9~G=LS8SMx}!1URgj_<)raq|VmxFJH2cpkJH4mRrh)fsUb9x#z(NdD0qFjx6`*ora5arlSz-7uwE*jNzxPV38 z`>4c48Zel0oR+6@zbh)JNb>k0Yza=J+%Xk zNL}4WxDYXJpdJounEUa9+PHjUHY!XIkU=19n|uSwlV8-N4+?r(SA#x6xo)J1koyR1 zN=k5qA@VhzR&NRj1~clFb~Id_N7tcrP2p>_m#isF1$d!YC8sST*&WQSba(i+T?oqV zqbg8{c!|JLMl0N*w?bpdg<%JEyx9_5bOZ2> zwABFP&ZW1=paw9Zj-5HU_T39DW9`zu?G(K1IfhX&=v=}$9p!mj+UCKRPZ7^Q@| z=jQCVZjKW9PnDd7mVt?vT4=+QdCAgYm+Tzc4i0#!lica!V-j{6@h4C7_b3)JA!tx2 zy^pY_GQNI?ecxwbyUZ#GvX2J%@D_?7ilx9Na@dq%Q{m($Fb}Ne^JD4UvSe9xE!ibN zLWt&wSO1$3!{qUCtL~^%XYaK#Biuon)2vmZTRPne>p#~!bTeUZI4e?4sT~&x)POn1 z5tt-gkZf`xuKhi%*>r@mVce5Fb&NbChquB4hJQf=7|w5cbTW39{|EwzbW{m=qnS5t z0EuA0qx&>KQg^MxrK^+DyQmESUN;hVCovi9;2)`s{6+xY?2u8KTdRG&S|{sHK*WgU zyQc3C5>?zF1)~c7hmSa3Y_9$sRZP?lq_(x@SdTGJ9A|^qyj!cQ( z6w$@OdthW<{N?v`EXm7QRoui<4i@Hj#_O9OOuhpE>D$M62G%l<r?fq&2iYdA+bf>BYPd z{4~#5lX_oSN!mMV9K_^29vr~uV!8!t|olGNA@@Dd0M!3637` zwC)>vm11S*K@C8(wLA7(ryilAA&3P5(HWhKxPVx3^fh!kWy#>coM~`!%iLWzzI5yF zbz)|Sg5b^&>({b4(l=U9!n5uy2#a=rV~BO~MZTOdMJuE(@lTq-mjPKj*5d0;GOmNn z1{A)jS;)?(qYQAsczr7!Z00yXX!Q@*R}ZpY+pqcFSeppp(|h)zI#VFhJuajVsqo^ejN{F^bnY z#0$;P!9KK+{5V_$mo|EwV!SAXYcMS~qu&6+iXBE{#Cgs=>7~1isCX?eDGj|vV~hqu zyM&Wvek-aIvtnY`ZWV@623@=3c54`aLdrIfp& zH^VBQH1~_Tbj|>C$zFdihOZrj2}dbyDD}oI>$JJ9*wMR7GlL3ON7D%|Yy(W@_me<9 zro{&rF9}6YWJW{yvnVx`!3>!qhA(Jsi(SXefom4a?3Rj-)?G?l)k`?Cz_JIEbI*wkB6z8O69iJ zdl<842Jlg0< zO`YDLagQf?o}Y=Uy{j*~X^`NgrLSfX6teU|*6xDxeaGuVz;GE?D2cjh>PO2;H(>F4 zqt$#1vaVKarCbP-(&2}_K_21FQ%L#U(JCa&WdZt1`xxp@|yse8!8l?0) zw^=?HU~+)vjG|n6Hqk~|9o>#;(BmZrOE=tRJ2XQzQ_e%N#9Ul$eUt`Mx{yVYSz&y# zLs^|Co|7XGk~R%Q3zeKjfOZzL$b2IVR#V~h8$yU5A{axlGZPX%NjZj3EXX+Y0>@38 zoc*`F#@ObW^#)jJ)`5zc|9k3$@DY2B#Iw(GjtdwB?!rxh_1O52yRIeJYnQsl7zm$1 z-~cCtLP8<9_`^%~+PmijUqpCG%wIvJtM;9{qq9NYz6&RaT6_k6i3# zOTT&r(U7I3$8fAp1AnC4uake%7wkEP+MH;Rg>)>#Fw)A3m3;}r*RkW`Rw+k-^EYdt z(g+7O3TTUiIhsqcC=y9 zRqz6nd(@RakT+~}*yOA@l=XDS5TzOd6FgvolZNFBT=?TA`N8O$sE-q`)Ug3J62@?O zb=7mrb1cadC>S8<44Canw*t~E0X705&-`)3;=39zU@0LJ*gDs_&ggyeHQ-Ti#e#i$ zX}KSlrvjn9?$iy173a zDNg>5TY|VH9_WEwSokTxF|FL#T6vP#jY9eMJdBHH4z3~Cv&Ww2@S3z0;TU!5F;=K{ z4{i5;qsGE?V5Mtk|L?on!8m+(V;Fro`c$C-v7-n!?A*#wF(PVxhZn*(H$mphc-J#E zW%qd5lIT+q94=TXcHwo$Cc(L&SEiE1=sit5nS0QJmsx;b)O zbjDhUL_E%_xwYKwknnoYm)4`laNi}N5R0{TV|x~ueb-}2Gch!j@hF0k;=3Hf?*ODZ zt@N=sQq)Axvg}*B*BQHXnU9%oJBt>=o-wGD5lNs1^~MBy!6yHd&y0pRq;>7xhCWCK zP+#OpS+DDaNPe|!35wP4rU{T$votv+QFU2Vft)?3HISIc__-|}@#pq*`VmEXkI3d} z&CYG;v>OaXX-eOyr;158pn-f!X;vRZZl z8^4+K2N8i8<8?EOHs@Y!A$n$=W4%7{yqi%?gHCYv6XnR!0;}5WU{pvqt}AylRbt$g zc+k%G7e-bFLhf5!fpSr05mi5+tK=y6wt_~P@FN)?Iu zdV)H0CC?dyHrG>zos%yOG@x4@qYW+4*Xp5m2%&_m6JN?nda_{iT5YXh(?-G5rrXoG zd)qlv1<4=a&$;YPLfUM`D)AC{5y*GRPMrNlM}-h*<4Unt!KEZ4z=d(5r!NduFt4gC zEv5kKBHau#sR9Z)zw#P0W@gJDGWa!bc!+_kvOJC zAlz@Kd8C!E7b&mCsVrFuG4qe$#D#4!Z`RtdgR!UeetW8_E=l|KN^js&W9-RgL$O^g zK@J_u2{1pf$b%dE#@RyOg5Mv6FYz)bZ1NfeKI`O{(VTX*CjtU+B8`had81R>;;~EM znwuSPDfpE&43f||n~Cx~vk=Hkc(1Q4+OT-A+kV_bZFM z`BQl330LG;+$;ZQrJSo{oqAL3mHRa^3asHcYh7EV?HHZOURAGq=BSDF?t;0e?D@2E z39ID5>%01hMN40Y_hD4Lq()&qq;$=R+gwS4yYRUH!wfi#zMmcLHjB7~ZN5>Hr=NF& z+oX2-jCD=<;hQGXPe{nWz~ab5JlIkdtE!HV~&G7v4KI!JL|w4=9X~ zD|WB97vuSjnzFB~p|Pc(czH|kB{_}G5PF6L>hX_lCZMw#Xz@oe33ZZjp(EEYTLDQ+ zi0m`*93W1PXdyt-A$P+J@NU~{_aFxj`0DMs3(YgZEPha;$)H!K_er@sXVZKf>vQSh zhwSFV&tZq=-4Qg6HKKdDEl@qGgTbqfQR_6Bxt8=u4TJ9q{{K!P$9hd=xPqL-MR6Hrb8#)KugSmx68(ua zzEjeWJs`DR=T}GR7q!k|%AW_f()$BR2s^PZPbz>Y-lj9_otR2QI{{sP9MoH%aX0Qx z$p5gYHaCSBrSl4}eFA8Nn+^azL~Y@Y-={&L9<=zz=+r9(zCZPmuKuu6Jt@5Ut1a<*0W*HJP_NJgqL0( zRwvLfCkM_xjj2cS44b_=HQn&|ToN}M4>jG5uy?a|!5z*?>`e9*vwG6<9MPb0K zrSqg#hdqAx+B5mM`~p{>&z{ij=R!Ymrj)jv6Ng_wlrqnyJJYAt2Te}D&qDFE!6!l; zV1@6l{9ttg~jmKv|u@*@PHn3t%X=%4H7iLJU%xf{MO%K zXAlW@n8k>p1nhb}0)eT5RH8yO&RCNUp;8Z?A9{~}w}I;*Bz!mx81IliR{^2F&hV94 z7K-$F=_Mg`(%CV??_G+}V-)br3l|e#i^Z9e0s3PUF0=}J1AA~|_SwDWuiP%3*NI|d z#zLK4xz96xe(;J@U!~M>SMH{2GydyG?b?A`GG5b3ePZH}l9&pGz`^m}1b19!o6r?V zIxJRGsJsUDBwApt?cKr|cE0Yqpe_aevwg`R7s~W+_d_Qzi>*qJ^;AYGgASgtJK>nW z_;ano08C^y69DZHtFSvm;;0M?%Pp93D#Aw@D{{g}-}3-|;Ya`mTmlQTrwIo9|+PA0tpsl3BS(eGl6cC{VhbdNP zmf97wae3CN9VFL%)2nZ5HEv$*p}uXW&)VNXcXJ!)^V0)D8KUJ`6|Gy}>}Hv3iI&Pt z)eON8;teGj`|%xt&>`POFAi)exb>)ouBS-Gk0NZMA<=?HF`Gt8iL->X4KlBS_6L1y z(vbi?q2)Ha^P-_XkN)71Z{)<&lcfdOo;TA;-xN2O7QKRZ;Lc3aFrR#v$0D<(>~sb^yUmUv!mP{eNKUciQrU;60E(=f&2ok&Hu z1)&$9)TC>$84nRaHdbKNiw%fQN_6H^a2Of)VGPmvDv}+Pm`mebYSmH2_DIuT6F@h& z3Ch4W);PkV1jnU%LQyITgSiV`DF&@HLHs5wgIwe02*w=A26DtYs&{U^%G02O^&nhC zc6AZ50q4cInlL`={I@RHv%w9^-mBc~bnrEO0Wl|e&`53yYUEPE^4l2^Bq(;nQ-I!Z zdQRoeg-Yna`#9^<;NOWS6()Ao5hT~v{lkXwu&p419Sjy{?8W?Ts8H*T#x?qU#@518 z61~mF?O6StMUo%?R6mpKp$`z3r7HRuFCfDcR@6$<9c5V~aJ>*+()9IT9Q!HDgwy1rs;Y*+don$eU z=vxmN1}^NoRk#TTCk=TQ8e6R4gCX{UBnZBf3|>z(wWa2$8QEIYxHp-{M9e5+G><2X zIN(N=ciNUZ<8dG9ybX99EzN91M4=+Q8kHz6+UGei3?L1ey#qHSu`^obl?Gxc3&p6} zHs4nq-@G72w<}v z^p>A8nvx5=(yp&cv*$2byPWCxIMOSg2;D*D3C)=zrMJC!?ifUar)#>MQ+D%O zW{FyCZ6-%0DGNkW9u~oJS^QuUPYqTb_Aal*Q`nE2Hsv!kcV%SIRA4pjzu58XpBg52|njV&EY1~PdTU1>25cd zD{%?qzZr~+U}S<`SDNPzCxj#!tcW>^ji=@MB_^pkt&1KlhzrYT5M~=RgiC(s3QuVx z`>O+%XB&M*+W6RpYzP5d386ycS(4I)w8-;Cp{r*Q0TQ>idQ6X~`eWw`E@rW1pQJkd zuqr#d7c9p?^M~($D_kch%?VVQqa7DsFJ<&OQ*%UitRf9W6F{C@@4$2j)F-l<&sfDz zUwtkajlmHhmQ~hs_-)Wmi!9};M^u*?QD}{~<{?hCXX!Add;zSvGU#N+#DGk`JtC~({* zZsQAfUT?1!lvHCB6V2*Y2x;%(g|-fov{`w<;j+jwduOGg+@@AD_Gm%Sy4S-~W;$zG zidGa*H|>VE*(0&=o(c);_1dpiQVD2itq7F#s=g*)&|I6l7rSN2L=6OMe9yZd>Ju(0 zjEb46PgZ|=fQ8CN>`Cfz*dq8lvF{eJz58|?dV5TsWUV*`Dll%mTAIk_&wB4YfCs6y zN4iR}m7OiC%IIrgJ=4S|Rz{bb=gR@k4w|)Gj=|2STpPSg$QpaSa@F3Nqw9ry=tO^)+-1y)SRa|C2bGfHb*v*H=HF?swoc$TBzJvdgJHS?}#fw7hYegy)MVfxHd3X_*E%mXVj^)RnTo{l#Nu8$8H#aNjD!W%ak zM+39ZWwfMl!E7{)VzJI_GYByTu^)1Q4{U{MM>!4^w@X=P;GL}3FQ6|N>ypM==kHST z>}Zr2Hxg)CN5_6jD&22%mfdsDqjzA4-RNmgw6{I( zSdG6gH-yKagv0Q~v^l7l?ic`zrCWIQ>M9dbdIRYO`9!HOFaf~ z_$U=b$TiklpxBoW1L9CzTA7tWI~a_UWVAWI-veTSGb`Dz`~%bfZHjTxZ=5V%<>=Gm zQWUu%dr{Hl2g$KL+Fq;&BJ(=3YA_hM{?G0ecd8U~j$d35<5jKG}9^jiSFYkj{&{t7mnCNd~Y{3UM=1kscIPa@grBP2t zIl%pO-N8T0dtb97*a{HI*H}CWvL9(gZwtwkHcrKWoBGqWFNyn{%^@sC8pT-5;qM}a+=ROnUYH%l&BLF2gX`@2H1C?n^bEh`+ zPYKTQU81izRQw&atSN&P*;W&t(Kpm~`oJLbR_g78L)YW>W>knrrdcal_c1w=D+!=( zO&1&!;tx7xuZfnG`EDOMB5bKG@adWUJHybComs%682DUaV;Kn4+rAPn9B&v-ja3^k z_RXB}hF>>y!(CPz1DRN}xuuer>|96&UI z0a>+P)1px~?U-9R`?Kd2DJTL(n}^yQWEl1nFd+RM7E$hwE!;;86992tg1z{Y8OYN&Dau$A)b`csW%H6IOvU6MwT)1EuV#Es>t(e%8S>6eNw9Xh678|~ z8kTaxiI_0H?5l7#qJ%^5GDA#u*`FuM2ZI-DBJXpFL|})0ZhT)9xJ2$d6*7rOF_+ z$wuzMS%|d{=fQFqKM)>&_i&x5xA7*aq-mH@8H!D5b#~kz`;^-yYHCVZF8fZG2t~7? z462?cC)&hQP2h>LXIT#{EG)Oem7?D@i|!F&SeWAAErb1e8j0_BtdeTc%V~ix(PMt! z`p>eHSG4Fm@(he(#o80w@-Z|W2U{N zxs0m9Dm-CUiNGOPcW>My*+o!IEX~Kgv$H8cxr`a@-h5djk)epkD83mp`3R9ARFZ-J zTMs8-LVS)b=)m$(u2k)fxi{A%h10_qppOh-#XhHtyIUoI5>7G|cx$9L#u*pwT8Bi& zZ_QcG6{5F#6tJfVdwp6r9F_WpiFajzG6IcIGKD3lU!Do}sB{dT6r5>Vzh^w#PE5#Us8Sc4WVc5jrc2P@UYDZ%2!`b({g zU4nVSXF(MK-E;m3qrFB``W{;fv248)9r{E)dk?=@eqyIuVEZ|HU8W-pU7){_thkNa zFvC;6RfV7wA=0=v-Wtk;fS_(m&D$KgxvvA5#44ej?zlcL2k*|Q_na8s75E9jL_O5x z8S^WDA^yjdR6bs=#s-)Gnaq0Rd$u-CoBip@>_~c?G@XJbRqdC+1E zp)$j3zNY0%`Cp3aNkV!l-r1;}eK&l`=n-Yr3X;3k%_^6D7C^)mJ1dn8d`4WVuyh+1 z^Jvsz+{fB=uzl>&pH2vPU~aHG$!%j$h^O&K&I!aX^M!?3f%~flsA?c&ymP@w&|1Du zxN%h4K6CFfhSbt<)VG6L8nwI-!MgJ-P8)>y9w!@hRb^;~&w&1xXDlB=An4vw**O=0(1;VBulJ?3(yu@30>l8rqD<>x`)%Q+lI zypzAB|M2k0bksJN?V>mwv^i>UF+Dx!3rzUiN~6UKUc~A=BK>mA;wSjL%=aEgfd}+% zus=}Z+t9iIf??>`!I8&g@@Ml(QcxM6I}zPN&AzNzJl--@ZbE~_gj)QZzV90W&A^+i7t!7%gDin))hARqj*ifjyalKZ#%~6@+D32`!SxL^ z%ts%HgxOI>$uc86ujI5MRq3$)4F(LvB07oBpug2tl{J;#4P6^_=6$5Id=8@)i)+yi zK>u2dbIl-BiBg*aW4*(CHWAF-Jt~KvsBJLo=Vc9weoPhzlOyb8HPvW5DXd(*OrIOd zN7Ei|nC~jFA_o7ZnuB^SfK^uCWX=7@dgXAV4wr4cSfUmQP#RBxHWci)rjGN<8oFp z$)5qL=A(7cU35m%E0wKMZbBkVP>~{U#Im3&DIQev9-YZH$2MPljzNPkf9n;L+7ax7ku33E1ES0xmw4rOkH8SxxGHqn!A=MXO`!?{^6sn) zXyZ9DLL5T_gu#H5$)Z>aYR%P`f!}?>s-A_C9wP@P~1d1`B>{e`bnDK z2+pQ$C){BI7Uiu*&M*k_NfFi_P-g6o#-A&m?F#@22hwf$Qu)w0T+M#$u+6giL`yIP z+c;5nwc6{!9d?9YQ&Fp}MrR)}tguPc#sZTx_MGi`N(dS#OiWYJjj_>=MD*>{b6y`_ zi``D`KynCR&+ z_84f#Va;@)O|r`1$p^WVxorXpun}&+TQ(0$4S-YUR1(ULTw0pE3>8TXvc!ab!3NW& z1J92E5nx=ITvck?Zzv~84B>i_ULuu2qUHc5*0L}0wS=cS2=>_vT<(^B1yLp}XE>)3 zN>p@-OCI7m2YEqf#IM6_3OXsUyP3)|X~1Lv;=_5Md1nOgp$4H-x4JNk)_}9`q^#H2 zG%wMiD}0^i-W9g#tA2T?Gaw%ncU&~%G~;B6rq==tIPezT-g#D4&KwJ<@#(}GZ5_Uz z$jnx?U7I?e@f{0N070mA{0s)GjL~DulMBSIGG&7DMId$YvYHxhL$)X7(!$Fr2gMJb z;}{*f)@Be&qEucJd#$l_8laD1H-$8##zI+@+yFOcZls)&k9BKlD8FQLNLxXhp=vi8 z=G`)_bH^#ZY-R|VuQd%enilYq_qA>ICM6f`M_lS!7L7eR>K(s&P02!h++_H_{3n+((qof=E0tE6#mIWE`AJZZNVw()Z*BUz7%mB8E8ya!WiWql_qoriW&8Otwu{MN2Yv!Y;(Z?uCTG^|yP*%@t*K8qe z3?-Hkb5`&#<38}Gh5po3DR?CL{;u2F-S<|_VaHpbH}cWM4fg^XElg~^WjSSTB-T7; zCk)HN{JIhzTGD&%XL1q^7od)fyUcKST{Kuw(W7*{yp-t9ZIo&9%Ig!TbX^74kBWOK zmg})A!~DsvJVb-8 zCoj~b=#%mvuPv`SHmM&jHRY@YcfMBw3Q`+JcArot`suOe=kOX-R)kTK4U#+?UgTr7 z*U{MVQ&3W@r6|}jLjxJ$T}RL8f4eA6^t##IbIyUBtbwnaOAb*MS{SIOA;Qn#X@uW zF^7S|P4KtX2bVxF4x=Q3{7=x1TMZtdG1+r5bVvsVVvT||vJ1tz^W~cO;o^ja^I$^Z zr}*|MQ|_*{Q@bDQ+Vfo;u%!#7&W@a+()Om`*gld zL?U-tiRZUR-n9y(f_#0Q=<8)EfWSKw-%MljN*oY0;B-Ba=zYOw8xQp{X2Fa?;HBum zX64P*DLKR$m1a)*rXXG0e&DMBjT$fYXaHVc@VnhmDK6?LorPZB{GPOHmN&uME4=Qx zpnY=eUhVNHC}i9pQEqsQM}~Hh74#A;QOUlmqvjq&$ur{yA)edT z`M}?gf%-soaNabbZ3ZOg5jKT^2)L!;%H|n2;JOyhq!8_EE!!J&LUcf<#WW5&Xq2)0 zL3>tu)U^0SEjI7FlszfFcJgg9$Drl$9!`ON-?&@af-;@n>4m!BUhDK2qIBo!sJe7Y<6TK<<-!|nj_exj*#xf1HRrt3n>zbF{a{HH z@y3~Bbs+x?qcmB`w_Ub|c!S^dqZ|<;YGP9E>{6%V&^g=p z_g17tk}O&aTss_NcvmCVw(3(`fM~fmfdt4TO1o6ycKxE*RIxS?_02GbPT3Sw;e)G^ zc`T_q)^oxL>oU;2!+4bNL|K<_2y)Ja$7(PbnbjMsIl9&d)|f8Ln>mY6=1OMo#XEO1 zljXT^C`*)nhlx+d^Axv1L9<>AguwUWQODpm>otB10kVRKM1ivllTZhj4e7OyUezR} zNQ5#+S{B}WR2aCNbIf>?22#<^ObQpUJ5=XGG=fNawU0!dB6Ry!i#ZqB>-iZnf z$BW> zxoC1)!BJJuIhf%0K#J6ved)#}RWJjrGw(+p2o|Lr4?-WeJgt4aRxnfX7ViuGRmp2Q8yB>MuXwvcqhzCf{LDylui+=y>oc+4P`;_%nFF*FGx~7p!GjK zZPcVAQHi76zBcIXsu>F4VSD>9lg-L8Id+Xt}$Qe%V-QldiALo|^CKd8f*=7qO`C)08OWm7LVOF?YXc4APeNihe*(0ljp{Rt> zC>aao5#K0b*%^!}Bnxbp8#Lz$IcM(MG43(dL-1s|>bei&wdo!s%!n9WHjkUS1YBX> zGDOel9$?GPP#WAdb=PB6ZV(~#>tjB!Ww5w*$aX9tJRKoFU*)L2SavHOdE4PtYZ;4S zAhWE??UCStUwD|!x-DFmeb7f5Qyd4gC^h?Pwrk&}JDKs`YcEl5#po-*yM|3f2;M!v z5sO-u2gMZ92vnz>_XZ@&E|0Y0twhUmcSz_=pxR%S8$G|Z%uL!P1=>YnRo^#iK^FDS zEPO3?@ftxujFQg?C+P$mG4i~CL5WX&zc$!-bXh3INwk#vT9m3Z;96TJgVb!%8=hSY zi@*ZFDCjU_DpfbxiV=4eOxDPaG55*LED*oGv1w2(KfZ;6M;6}Y5M*|EQLD!yvwPD( z0HLb9Ra>WdO<27uhisvnr+x1;mr`pY{RIR6rDeOxyURCM{}vD#2GCr(#@kRST$Nrw;9c|$eagy-t?8vR)dwg3!}GN};n+~%K1#i8oo3CHAqqJ(EMxF9s=t@< zS;!w}D_7y!D@X2ftUCE|MsJ?=gxW0^L(`Ha-;h(2vK96Y+|h#e3=BU}dM9PY#q(Wt zHC_%6B$Z5>#95dHJ-TYqio1Xj*kriJF(Z)8oam)rIAQeI8Md&&vpg?Avg9ft%i_pt z5N7vSrmtjX^QxVd7(jT51SUX72c!4#hMR%V7tL(p6k2 zncp|Y6tb?!wfRz_p{%H&*4{TI5U#Eq9_$cp@STC|L{1j-06+wMLQZZ4QgdvNI1x*Kj>*PsZ z?Xy6|zx3SYqBOV=Vn@a26Xxig)HJ8IDa!<3fsCcIX^9=DHXhZODeBk*CRW0dc3JS5 zn83fZ#4&ROuI+Z0SpY>qy1(mPUtLhLo`8LUGPxLs%9&3>sJ{?eGAPO z=hJ)r(g-DnRM#YvB;(CH`?GU$EAv#{7Nm+**aSv501Xs1$>{bDP_7S-956kvzVoQ& zAn?AIpDk8jUe%SJx@`+6M1Y})ST0C{hn+Yy3okb_6NeYoMg|1d}x&!8_K>$DUf9Awh_r)9bxl5 zMAQi+)IwR84}7I2%T_a(gFE(8;PaXE8|QfElwkXe)GU7e`dgS55y)$9r<5qO@c}G^ zP7&Y*4Ka?ptv6CMHvqJ?1e1;Yem$OLJdOJ##E*%KG039it5z1*%sjX$lnr-v!ptnJ zNzlH7>V{y>8mt?@uxOrL*<8_|nb5!%z`(i!v07F!Zs~i_8%$qkQi=NO^A>#!mW5Bi zV?SPYfHFJzj<~HACglwEW@)aq-)FkWus^;arK(|?M|Ga6Iz-9Zf+`cdLkRWUSvUBg z`9=ZO2Bjl9ha;(1fQiACCcJ(i=hN(4U=w&poGXRAfQWMFdsG0%I+NSX863mP1ctH5-O$`#Lup?>&KSkktcy~vecf6j7%Xv% zx1M%M_!_M}^9t+o{KUzER z9M0BpJ(t~$E5_#3^od6Kqvwybwq~<0$2-6=sIFm8Dt@!w@bX-+o$N!p5LQ83&v`7{ zsujN|j-|lpL7zIBA)D)3DKcmWoXWLKZD_gabI?sHYXXl2-9FYdv z>W$MN6n#q1?87s88K?Z zdM8P~K?r(GPB?Qd9TPsZZJ>m9=FD$9eqE4AE1H*<)}Fnwk=5b^&%hh?*@1+CuJTit z-^JJy1OtJRl(%5;oO@*^o&@MQ3$RV<;jA zch3s``~pR2xXw3i zO&cgk3@auQ5xfTJj$7E2MiQ_aezB8DzlMwp5M1G7emcHs$f>pK8kC;|^c_^-V7FcF zJ92K6j|9B2s`TC^?MQk{9Rk5`YXjUa*8rnJ+uwyyG43wh*f219y(4lT!BA*eEoBf< zQ8ZnI3%k`hz@I`?DNza1Tvp$Wpi?0{1U2tgW(*H!2?QwGaQ7YvBxa-Y z2rh*6w*-C6nz^P?@GFecrnOO^Q>Jg$qf3$VCj!Y*`;ifZ?xt;v>LK-~v#PBvX*KlQs!@rGL< zg$nAg_rUE8^aHE&>&$#Vs2O0bO5Rh^8kNz(hze6KS!f7*H9=*7l7?>9fyolM)b&C# z8zkquf$xg6C&BQ`Q&Ucb;USS&m|6X6!+B!sb2?rN8tPsgT<~a$ZKP|E`!SN`!rOz6 zrZd*=x6@{L;eEhi1(S&`qb5uU|`>%$wg0)t)Vhh zo-)eWP;ZFKH{#2}<)@P#F2RpG#p0)x3RxdL!x*csa(!(xGm@n&&51B`_o3;Fde{|q z7lrkzm)c<}NA6i~g&0jMj{gikm=6-R(6uK2LROPh1y;X6wp)5@59!IZ5AE|MM82e& z?7Vl9aePWue@7`48|%Yjf*x<+9ICYZ6&`?=O2diDrs!$MQw1{1WjG?Y8wxt;a~vsR zjAL|!YK}NqPODzix7z~Q)ltPxt9=0%oV=o45AVH;SynHXO@bt+9Ak$@g@JZQ*5@|y zBf)Y}RH($h2f%L%p7L_$cpTp*pytgjvt_-v=<>Ur2$@p@hL*_C@_xdW*fGd)3KN$L z0|7K64ZdAw6NYrQ)mN}oKRf3|hhhGi@Wllcw9_`TT>^zD&_U)meFG6oBsJ=11vGH( zs23I@MUPJC$X7;jiD~lZhS|r-SgljuhWi3V<_%onJu0P+0O^dqx z8;#C4R%}KWjc)|nAd9y)tIjxtw{2)iYE{`mggGxbL5Lmw7|6bLjHfC^&kjS=IWV0A znwHB*_7xk`VR9((d}&>Q)Zm@Y92%lz3<}`M2A>ux=QYoA5G~lDgL~g z#?3q$IA63T)z<|Z#20_Q0$`~qkwKcL<$_fklve8E3OedRhf0)p`^0xMzATH42~NIm zDifOxY!wCnNnU>dEc7*aW7I}z9E}{rJQ?}1W{Lj;oZb8=TXsG8|v%M{hEOb;1_PXCqo6%+UIZ?}_5a7u{ z&Y;jy=VQ$Cp+8Q|7Xlrb3&6I@>3M7}LvODZQKv8lZ>2l29K@z$v&|j+oEcj}04sD* zmU1=`hEKd z?+8n%Ur*Rkn_b_Y^?<`@it-OYJY(QyB=#zg#L=>j02Z14GGQh{dLkeii2z0)lxfG} zI1HewE^K3Llo+{S6;t{anPnO689ZYJNmpJyC5Z8IS>U{$&E&=~9K6=74A4g3XY6BK z*YN!9#f^oL7p}$1F4-x|EtnZTLujR8MvAfzp%mO`U~f)#WyS>=MZ=B%mrH7os6@_F zs7yR6+?T@^=X-6`S(a5iqXQ)Wbuv6$3Aq#3)*yE@zy-lO8(U7_ai#@6K3mYz9{xc> z%bsoXhRklbRRgemJ9{Em9Iv0Bb$0No!)dcDjOkqoVEAK&vp;UAjDdJjQYQ;oyWJU; zazCeXtK}|y0Ss^^WxOY*mwb0^*_9d7$+`CqJkdG!*R?7SwzY-BEJ;6T+7-EdXUy9! zEP0B|q$OvC3Q7}@^~tM-{tLYWo4*mEWpOC%6$L}rveL@(>g5^0bK$*N0gqggN`qag z%Vp>9GfkCy7r7hZ%bOVpeABw_%Knt3c#O?sOlkbGnz~XcdT2FSbTWc6J{~lI@6}QMe#pJc0-KClD;~@>_bdF<%9{cvlMNdfr`S&z%7J~K8+%bN zBa~3(Ny^sZ55Ljb``*UPIKjzHwRg>+V9lQbaNu41vXbTM%;nM_=)#Tc37)=-wKWJKUy!^4YlFO~hhU9yWcxn)TkTt;&wh zY3n+b^$gXJA!T((?6Q>r(Q{8LnI0dx{=o>m8>Q&UTul*oF3R*Xz@^UUxLc&Xz9oTo zXfpYJpH3auYVrF)Q5;K5fw;OmS8FWstF~D#9Zz(AOfcbP0R-*XKH40yAf`#sirD+& zbA_&r&NDd9yy36kH(k80z_HjnVV?e@p0`)?~Rtc#VuC$kuWV+KAM-OhAtIRyI%-Xq2 zSISSv8Zi(?gvGtm@MfaiE^r8PFqEo6D6VIKUbx}V0>UOU-aKQx#wF5NN4y&wmr4jW zF49{)CJkME7~gd?eKmgyeRc?Xgcl6G@QtG6E&Bp zih+>HDmG#}(<2SxR0CUGGTX@$^sIRJ5Kn5po{G^ilL;Du0&v&E zvIiSPhaCnI$gGj)t8Q3iI>47EZ*5#23o;f=+I)l}Han0hQV3WU;&3j3fEDs~Z^(tM z&%1A26vmL~O1!0eN`D&L8b44beBlQsB-R-&^#R-w8`zr=9r?SOL>!cyZ|r5S7&{?g zpHQD}(r*_L;~9V@Q0UfG;}xi3`vE1WwGL%%!eHNluwv$x19=eG=V|q@C-TKMn#v%Z zPsJ#5@&l@K%fRnJgLW%!4KNuTcgD#L-9~xKjX$+|v*puCi*;TFV>h-3)))vMOKMZ& zRl~y68E|%!o}4FIlo#d#y3ycm=X(>(qy40nml)f7r<}2Ea}Im_Df9R$_j$uuT>>6H zTv@^b2hmn91CvcP5o8pMtI3(ZIc}+3qycQ4s}+<%ibf!`0kZ24@I2YlS5a`Z=N%C% zp_ntL>o!~wlDVcg2--m>UyJpa4eqiTD-xFe?49oL_LL@^?}n%5V99mOZ^i?4x{#ed ztpLUM^h|G$Q@IpQGDmo?&*5mmP&QI{&Dc^@ z;#=~qVBte7Fh#oBOi}0*ww#rDk9+2G<>f5DJ_XOR-%ASIEu+1`zQ=cH$0bYWWWd4d zer@lXj0L4?&~_Y~n|A9u^9*;kgu1XHH!V8(e$<`Mg@>oEA=YAE!zr<@)ks(Zt`k)N z%u$0+MQf074`qAsu#Hgw4QN>5mB#CN@Q%3YA7-;f8^+*w4sLaW|FC!CaBcS%f&iXZ z8AxriW2I4O+&hjTFTO#lGY&HAzOB)J8%)pcoTl{8nRh^Mfo@z;C&OIZWvto{ioO7a z1D~xme*>nnnIxLrf<<=;QXg4VxiEAKYDGp1T>KZi-QEZA4B@tl{Q~guBM>p@brrH& z>^C=Fh&77PY#FH5$r_M(S;2ZBW_vcz0a<`YIjF-bo|{SPEro!($n_B?rvdgJr8{wM z;-qiE7tX2$Hrb%4i&?EGvhLm3)}rn#W#Jb(Oq;#aDV+rmoB`>3Yab6*O(vZ6850|t zSrr<>9NcygI|KY7JZ9(wsp3Jd-F0x7CE*8K9$H^3M)n+rt zC9SabtwP>{K*EbYxAwkkGC3i-Oxg$89^+jq4X^T6O@!rP{=~91m!=mrkFH4|YoF2i zbRtO8Q><*Zm!OIZEwf4f{f09V;M4G)^U6W<3B;s*3;=cpZiGQn9Q*Pt=oA@IOEM*`Cy$eUTHkl{<<|(&olD*v{eVIX&U*-t zs`1X4=O~7DCjjB=oP@NO*E&}-Z26yV`UPUh8BGtV?%8>ZuG^SLJ8XLM(z9Z5rrv)IyMKMmbx4+c$l6+Wj z6yE6_+vf5InQb$rQ3Ux_K=3okU=*|IUrzV*0Np&Gf0AAs`}kD5jAGE zN)edg@|x=AC`a}o%DI7E_KRYLU-JuUL`0jL&-sP8kX$-w8=C+UN@p zZ0)Eb4)3!EgkYr*LfR_jc9suJ6j`%-Gd?W1vF0)BBfof)52%LXs*F*A|J~$kA&MWR zHy?ARb?f-%6+E~UO$$u7b(Y4N!f30qW+?>&6d)2N^gc8_4|*?6>A6_%@;{7=@Q&A4 z6*oJCtM=MtDtqo;T4rg~^SZqYzhP$rSnq-Qvr064kQ^&sQzN)>n!eK+1MnOxCtA6X z0h-vL-$);eQxS%76hQ^3JiN4+rC+nc(;k)=l})ThkA0}*t&GL@v)eQ2S3BE%y1QMY z&^>C&J*@?%o_CazMqM(4ENpC0eqTcJZ7nC;$17^zeKzY{(~%u?&VWkkc~2nFC@FQV zhBn6#z__q6AFkv?4z~516v@5ntd~Y9@ebpnH>f($d;nh0JZ$*@or}NzP$AP&gQj$=}!+XwviW#T06c zth;idtA(CaQl64o-ms0$#Yu-`Z>3BDLLIP%2-kI9*7m#~d@jx-AE}jEW|)60oo%ix zDU1cT1jb;z9L&f5mrx34{g{zP>gj&(-l|Nn&xw$IOc3KjCYW5*Sj?r&1Y2!`STi8T z-?qR`K>u0N=oUe>dbhF);+D_BcEE_-u^-4b;%r3{G0Uv!l!gNqGJpaJo40DiHs1Fh zw{CR8qdW;G^K+-~=YD26`BN_n{*xB{Ax(<1?_3>P#~scYWy6Iu4v7h49o`vLcH32*EGKg` z7S9N**OvxYP>80ab>g-R(ZUI68{2Ym%s=C-MI$j79`YRCfLflN70@n}d*FR{G+mC8 zIl1|KeJ%&8H5XTho)@fsmbUiko9iVoR-F6O^b6gwatz;x^~=}` z;^g%=3f+vx68I%PjLNid#x>%kq`}Ut)O0!?mN4{()wFhuV>7CQ8_O~aggpV7d-#9l z%R7+i=38k{+87{Y0AN&o4(c5e4zow)%89+DW}JpC8`x4&P790f(*%ghU4HUSWOr|r z6IK?&=>hB)J$pvoT%+S;^g-BGiCZkHEM7Jx9C%|-xmB`zt$R7Y5VT{>I``?shdnrT z{DghRWez1>G2YY4sDKxPj$FnAi}r%gnq1L~hLN2zNR42nXydYYV$z9_x>bM%ggviU z-WS-fHv^Ojzds6Q(+s2^Oz1Qu;oE{(FLzziWR>yOb=@=Tto$z+jIW-lh?AfCb23MCqBZxB-)U%8U;?{YkIrvn@xIGX36kTZcF5Lvlr%4c&Tt8wpZ z^PF2w?0%c#_6bh8ZPwjqY_2lyo8ge5y7820i!>6I60`4Ezi!k4R?`DI56w07z)|=(?qdqQ zQ>;3$k@pr8Y3821M1>u<_4V3o8TH~6GtB1TzgL$K#e%jtrfPEJsyv9l9F_Br6OYW4 z!CPr*Zc=Q|7(O$|l%^$`thXwfj>Vp>bCcMG?8sF}yZ{+m^wOJNpLNfP@p^M_12#*1 zV~;ohdVH<<@XfTtJlJ60pz*rEdCStQCdEuzWb9Ku!H=X+i#`Dbv;DX>4EbQd(K=FJ zDG}?em2o+UfXYsmEHln?kJBmu6(o;sV|aYH+Gshv0!Qxb$^G5kSc;!TuHC5~+=Qq> zmpZoLg4QL~yc))jMoDW*c+FpM$$U%)=P(1*3tHSm$%h>ETF-7}C_FlpsZxTv0xD}1 zcG4y_~=b3l|KR{AznsTLMahj>4-fZhitxr@DHvKHIam;2=NECWu*8R1BE{o(3}jGEjz6+nY(QzyR5^cHv~CGKPXUf5-8Y$BYK;Us>C znWN7JQgKk9(B-t+Ja_u>NU^XhyQ}J6?4ww-xU>z&B8b^70%p>vjd%0Qf)b`T%*wl| z&gTdeKkV+6dehB4L-GCkybff9Lp<35SiKx8rC#5!^5BJb387AnNQdZbg-V?|MD#sC z41ky4VH@xnC|5Q58H$_4Yg@ZY6Cf&mgG|B(%b)%16LipfVd0xJyE4g=+DZeu-G2DNrCb_YuVs1AY3;6^sz@YCs!zd0b=9ZX^J3At^!$9+k-^!d+(|pzzu>5)lV+p9UAawc?GTEn06`>2CoX+@S*0(VdpO<<+W-I0;>*&pB%9SlVtj7(;^ z<2aiLAeC72^6a?hF09%lSnSGf{vc5{-#oSpkc%tWJ7Tsr2>GRM4C`BGw?=_>&QVmr zv{UPR+8ev+G~&@9y_>2iUC~uff2O-jCaH2ghCgEAaXE3v0K50@Lp9HL75Cm=)U-y7 zmati9yXA6PT?b*4$>huoE#O5Dsg2b@F%S&XjfOh?{#GWZxy=NL-3nF3?k_$DaM>L$ z1X79Fn+Pr?NR4n{nIooIm&G6v@lFUqD9zg74|ds{@LA>9OSW#H7T_*u6JovH5?lk% zNf_}ht@g}p<+iE?-SIRBidlyb2 zXK28f%u@w5SYcYJM-LOAQw>}5dc~Fc7vQ!*Zcb0SN~wz+qWX0Tf^H+0bEl>3yXBt` zw92u^jTYPb>@_^=ek0+Pr~+scRDb{lQdgsXfdG)|cWs~xNSL7P)wu@T^o1&OkIb_8 zK={`M=eswg25ql-3WXS$m6_r0Be$_q&!TwwHpEcwe+(yf_swi@te!kQ}ufU+q^0H&8WPctWV6le#fbV1Q)4gyG5dIMt_LBo*PJw*+EIvgOZ36gSW-k zf1OFA6^npPuXgIYn5M-y9Z*pIh%rGy!bSu7Mw(~Pcdr@C-w%EPDyM*I#wsILUpLm< z9%b6mK%T0z7_Lu6L_)O(K4>%Si?MusQjZpV{hGTLCMc6nh}NVz(1bn#a)f!8&&qM1`&@qvN0QxIZ4-tRc<0{)=Hp-wZy~RCUy_HXRB0PV~Eh0v_)r! z{XN*@s)qBLcgliajr?d54O`y7&%!-pPJZ=iKcAJ(ErufXw`i;462Pd%!3-;DtITVI zR9W9>KTolP{e6H&T*=6FerT9XD^%eN78g7pY9H;;hPD`JD)F6W#uS4f;?zyk<3dc^x!slts{46k%*#}408P40d@8?0GgUM|YU%5gq}PbG9;yW<80gL0tWV?H?hEQ+2ZTabjD>uU1trq(HaLmy^7 z+b4eoFHb=vjrwv}?G(nr5*-W(u(qU@%Od19Ih)7gq(OeK&&3#6>1>CD-U~$0<=vT4 zk^F$^rf1Q`isyV`?OSNBQYV0w1LZf7^6VcT%>TLSMczt^kEsB%UnYP)T#UEsWBc2@ zK1>p{!r>8x-m363bRW=7s3)q$+~{~nxfp!fT z{teF0s*5!kJPf4zCw`-@!}Ky1Ls~mXlt{yAmb3lu3w#0V)FRP9j^r|lmLHUIZrgg z45gkhf8cXUuUUM6PMquk&{%P6*`?3$UVJEE-O`ygtQD?yS9=j<#;%V_QyoJ8xiXRj zhO5C5=+hic8)d-S-U|&ZzK@z!SQ7GMyiHxOgEPQ2O|RY{@pm3K3jv8#DgvXNFD*>T zvnYS`{B`5%WS<3acFQHIg5*mp)0BA`gGXYMB-xTmLvl6%W80KwvrQsXr}VbQh7_`( zupM1zw;?Yxr){83p4_5NI2we*t&{yfp#*RaobY!neza9OEXmRBlHW}XagskMXT3T- z95u+P9AR||smU`y3M}8?V@*$a$<4P_G-N_KE1Rb_e7qFEQ9Gtc%alCNdx)$LjJ(*i zi&#;&(Xr^Rv}lkUz0jF=D|z1}52dZ6g_1h1TfT7zK;VvjkU|$t4FbYu$G}kBQflLA zDqZU0BS_gAY4YQ|$1_#nB6rP3brom!M*xSI-NI%cdVNr-p4;~FczsU`bU#btr8cod z2-7w)qU$0i)`Obr93O5zTREFQeU}&Gi&G5l&Q=YA0HN3IjdmkM4p{#k3sqLPf@CQ) zVJ_cn=1S`>r2{I4h2k*BPS>Q?ruDs=T&DQ5ykr?R#0~mN!ByF=Lk6ge7H5zX<%*QYAM-}4%%OuPN*M(<@^jU3U;h+#^oGbLwE@D)v^N>;*YNMk8W-;u$Q6@!p%&)F-C)_249x6wBN?brn5FfD{8F2W~%|L-%y}*lf zuZ1Nqn0pm8AF>h%m)OXcnroRu`e5T%Zkhr4{eyTA`Y-T-ALFFu6X^g5A$$hG_|Qs@ zKCSa)Ra(Tm7V^D&Wjrrh($~A)Z2pULOpm2tn#U;vmuXA2gl>w~;5ZvBl*4_65axb( zHW`OwIAqnqA@1&1=>@;_hcP39n&ZJ#Q^E{BSIU8+GU=q58T4_4O%-mp3nGtAodkRm z@>&usbeosXR+33qmvD#0!DZlb1UCBNl?4=N;)@g0de64`$@9ZL6B|W$cIA~T^_DuX z;u;?ljx{^1IwXggXX5Nx7hr<=xz$-`&E2P!S3#3Ca%%g*V;x{pkD;>IM?g{(Dw!l2 z#^;aN2?l~!UBqq>?ozH=oO`d{KK*G~RI~9Qf%sDV}k*x`1eu6J5=Ic&L zg$EM-VSCa?V{vEWVB*&CV534VbC&i3?1}Rd;BRQ{6*LLL(`z|*MBGFEmNZBk%uqXf z4nwst=&X)TK#|VY;!OfiK(-tb@ck|Jnv=7H2#}77U8*iw!#Ud1ZfcE(Q^Yv=K*hV- z=tE$*I$w1Q_>%M$kdpBUaiYeL=ob+|-DjloVsE(crwW=MELD&%bqu_e4_FiZu`+AM zG@DV@qG(NTx$K$d#zh($M#MVwBRa&*ubg013~$w*Z^zv$m#b&^njw`wKFb>{%R>Y? z^;KGdfD+yt6$))2>9trFTMAKzKBEtwQgDar;T~Od^=0eiCn&>nm02xg+?U-tkj@S%M1&?&==}l#W6Zy`7Pdblm5`#Fc00VbWVQf#|0f;R5@GmctGGqBo)Mi$c|Lv zt7P=Sd$$G1KI`5#dL>w9R8ai_oo{Tv|Xi!qIc|-r*{R! z1$?#JhCj&HLWNGC+*p(dXzEA>v)ozZQ{e-qQW~mQf}-nsQ>$|~Lg0_#aR+xH+az<) zEK1FzSI&k++44(9ldRGcE)b5jQA(a#H6~TY7Dip5cF0ym_~)%*Q%sOLQ`TkF2k&8^ z36OUbv~sN}F~|*3sb(!UKKiYrlXx86=v=y!3T$+cSjq)WYk{c?jswyAhKxQ&3wlp7 zU|4GoDsd@OB(6|{=_mzp)YEm`+BsO!64r$rv1dOW(@a`4h=Ad!gc8eZJv5uQYjB&Z2=%nWgP_2FXf3u~=CE{qLjH;Gl=FveKR;GYgobSiqXZt0W8BVh)i$UCZ|pdVWo9o(3+ z8f?SXfwk|nbWWVR5_`{v_4UryJ3{`7n2G%$Nbzr=df}$&y6k!gzs95IJgP*9;lr2l#ByI5gmsEr%0bR3)$kj z_H~tHL!E*zkUPB*-LNbS9S&aHsDs{*I8KktbX2)?@dISfl6ixf=ElSd(uRr-X@+jf zrTFtWzJ-3-AJ4RgF-CkeUTkw#Wm(vi7g}LcOaX~Zj|aN}DHkWXO*fq0HOOBx%PU17 zzS;;^4(J3}nKg|ox!1glW8ouM&3b99;`4#b;nIY+l3a$q;Pe5nVqp1a}wb{h-kfFcfg4Yz)P}QYgI0Y zf???ApzTxjY7ex|9E6kz?A8as?r@D9?6k*zg*3<>beWl?yy~6)2q$%92Zep+Dvy=l zm`UrLJrK##JM|H5*OEVlV=M-zQn^z|^R_uQcZ4C>5TaL-46@orehwsh@i6Cv{s<>g z^sU1iq=q`DxzYYMH0`=xen?K^ZBOa^!1Dp{uJX$J$OA<$gAaj^ThE~(MT31m#T4Dr z!h_ZOUe*$w*QNrtn5&SSezowvvty3e*;TQIV#0HA zr5{CEtdpdG7x3Yjj|rNvkgP$ZM;D4e_@^lJ;%$h_z!Ar24yNOKS&PBexsMD`)m_-r z7QV_?eNdy7&f1ESCjC}_RCNKHt?tYQ&%g(P-~?lh0n7tTxZ7&1$HsO&SPCf+A&sZlo}78Al2A9jqn7;;YO`1cBx za5KwCQdE+SgRTuLG+h+{8nQKt)}q-quh7qS)m9g|BXZ+1)b>CfBJ~YG@YZEK*?H8S zeK$>ySz&z8n$%gil$NQqAWhw@_$0!BHHW^j#V(DXQ=j&x_*=8^gw|QV>?`b9mk2W+ zxSr6an{KLgw{jCJh~RXhIA52S4qNq)T^P7eZofeZ3G-$|8*{(a&rCi=&H|bcR@iAJ zlMBq8A~$smZc{N@yY(E_R-6|&Ba!qx9KuK5qu7&>&?4%(6gGpRiz&R+F8kU7kM^<# z7N|E^(nrKR0akq%7ER>FAIGd(kcJWSbcFV~HkW#FalgLPIvl#uY|YCUl5?f65qHit zlYR=fjZf-(oFgaBLj@Pd-t!cG3`ESxZBMK$7yE-fx$WRg7_EG#I&6}h!fR448CSBd zkNs+6aT2^r!N1Dfhh*%D*6Fsli;tQ!ES(@^14i^hS9l{a7KN;Dm!LqgPILx@heSx9 z0u*eWB2a_z+LY-8-}xidmj)HWq=dLh9+nFpqps<<)o~c)F-I<7*#PH^S#lA_40;Kcooqn^CS?e@4WZyLMW-zc|hJC%&}ksUtL>h z9OrI|;y{2tq^3i7oiiYT08k_3zM-`eu)E6#V~N>L!&}(BLQ*p3Nr61@aUWLhZWpRp zxbBMr;d*|awJAO6%H@yKW`4kPETc9Bj z;#$SVD4V77WKTwYd~ioS6VjCfuq9`t00-VI58##zBe}*Naaa~r00 zN66$>k_~y>o&3Z}?-jBv^8<(V)pEJsKzYI}Qr5w=@c?7heAha%92VR4E~YsE_8x0u zK7Z_}Yo%MHMUdR`QjIzAMH6tNXPQhu@@8^Q=oj@bYwBDt@w4xZj^#n4PclR#K^Y1# zV>DqJzip3di&YT+qeB*ObEvk=ZTe*!*>R|~ zGS5cf4D@o~9TZTwY`x4XP^|8LFWS6@&F*c_gB#t4#Zy`{xBR_zE4FtICDen^qR&R~ zihV&DZ(^z2b%`oR=M^2N7ZzfePb{khk{~RN^!2Xm*sM@nGuImEDl`rvNvIPivT zNb>2gee`cxkW3SWO#UEz^#wJXh98E>ELq-2;7GZ{`Pkct%Fg@HdZn=P?x>xn#+L8 zqkn)2J$eLI3D)w3q|#OS)20rVIBxJ|Xmg3&Yqzo@0&$~r9O3@fS#NHHzUS^Y5E~d@ zNIWSp8i;M&?WqDQMt!5DKcb5}86^O`sxKBJ+;iUgCw!ol(PBSHK^IF1^_StBAr#X8uj!ejjCXe;> z#~JH8?hldJfQ(cLREL&KnlfL@7D4AHgp6^ut^?Ppu6;@W@l0V2N=}=|PiE4Z@N$ZO zQ3Z6*Tm#4+g3WF$kGjBtlwxg^zyhor>3B45Z`i{`o0WF+ds7#BX?{$LxJUHLXbmUe znR|hoFm$*AC>|UZ`W|j!D_X)2p#Iesm(Sfg`#NVhgyAs(BHs%k=b{teue3OPi)<^BsAyg8jRD$#gAS7x z2vwPPT#f2?fXO9Y?5lR%&(N-^(;{LdtgF}^dVRCxeX7>G-et?Wt_*dyb#@9VXcSLy z-g>2qd@NQk#E*mqCiKWYxUo*2bCwi}#)@SP7{;)OI0>(%Fkc>@bL#Ied%s~c6=L>= zw27yo-wyC-pv9e&kB#U3T#gVR4Ir`sy&m zzsyK3$@T}wGx-ZzI;9I@)#7$)Y%qtE_Dy@SxeH#kr+x_+D=LnCl>d`B3l-8HdZKfj zW91!d4qmt0G4!DK+>45p?}FZX=BUHaH*TrhijzQvhUf?_t6?TTx2#oJ`q`(#!`(HQ z5<_9Yc(4H_v6pTYeOOuKC@_+6ngbxHjxY8tI0yV6^%2$_EMylE`+D?|D``zPs@Enu zt-?L4*(kM4PO?v0sl0;G3$UB9^;5(Xq&7}(2PGwK;kEXw6_XGga7{ttIm?Cx;M4t} zd@=<-wcH}4F2ODr{#p}~_6;DoNO?i<0ZT5f0eGw=oyOaXvhoQ&i*1JJ<(!?N3>B=$ z4(ikTCYCuhpjj+T$t>A$sRxJgMgbnVcpGRgULS;Z(0@3~aEjj&H2~`f2manw3yRmo zhp|l>r1}}s7wxUG?x%;u&vkPAp5bK?aTx`3II{Lm9%{Yz4cVb}ANExWRFcj)tF7J} z44D$|#-lm#&XX?M?YUip$y8161tl95Qto;>gHICPnj{j$=_$z&Xg+U+_2+7u##ZOh7L6?{(p;|#etCcB`bTL5u{3|HC+rq!9k*g zvDRS=cR%3OSIOHNMG|Ov;3Hz=qy6yY1h8Rwn)75xG+LR!*emyjgk$lxx`J?Mt<2N9 zL2``#vVpgeM6yiuMo=3L&2Tfhb^3uK1y)(1qj?eLX=qumx4^>A$I*7@YF6n3wSJbb zv%&(pJL(al^H|KT4mn*6K_}CE;D#$kdo)|l7)mNP9=61}=BS)!URn{Q^is+bTMV~p zAA?oxym4&h82nu|q!5hbZ&Z(u350^5mMb9)iLgw9#Cr*-Hj3lhYPRt|ZXKD;%Ghfq6mD66Z< zfMsxy2VkyXcZkQKI4>({*WP5AdoO2fG)30lA{sUGTDzDiyw;3jPe(L8_1bD+iuqOv z@-Wtd?=j?B?=(eqbley92tf$bfKryUMxWApxj-r8klTaGN*^8W&OwPm)aq?M25^p( zzfidZBIhb?7oB_2Trpm9Mv&Ka_cHF*skX#;M(XgH3AHYn0zEFdg#NW9aL zuL)Ph`;wQrI1~t{u7O~ut^u=6Nx*H2ojX$7j8w>#JS{Dd%EBC37A=87Cv08|f(RqG zJ=Qf5xXdmh#p2~axW4 z8 z;K6uV=pw(_4%?v$pEgf8mrq)o;n&vT$-`=F{yz$zn`oT`G;d3m}% z8^W6N=+-XjI2n}$av~$68#I7^Wb5=U{Nun)t@$oz7aUd->9x_n1Z%u-jj^!P*g*8! z)mhPDQ=@=&`)%l$QW1M#7}SZGv<_o}`D9yjdJ*1qQla+}*QoSHkRHxCP?x?%ib;XT z(l36ZxA#H|0)|o3QKVIZ408w+k=Xc1$N)Mv z*EI=tA?40@k2v%yXK#I!Vhwvvb?}jcP)d_SpirJjQ!%DjtVvU_RWze?Hg(6sc-njC zCw(UDTkxb*5Nn{t$t7W%FiRGPem>qoO&?EZdpo9*A?q2_F@!mLRhiuz*mrGH*rgr_ z@`LFq!6rywwcQl@&>KhfI?V`QF2JsGWNgrIgcnL$y_qP#-Gy0mS#H>UhcU9E3Hbss zEi1`!6E0s9i+@m#1lSS�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
Z`g%;wIuHY= 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 NABc&+OP?5qG;_@ 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μd&XPgA>VBzh`5;H9I+dh=Q7+VEuARt#v z-l-rA$|PHIn?tMY3%zgNM zN@d@^PD%LS^*!B^h;68JX+`X09mqkNlFFP)>rW901s0&X=ntM9$uPW}5gXq4_JtrC zz%FnTOot3;>hyyHu(UW^7eV>4S1hr+D9hi%s(Y9>d-l4$we$5}_AW(QTLlQnm^E`! zbXt&ggV+}|*~RicORNh(er|2K?E`X}bjYr4W!DZxd904@8__be>zO=hZUhce6#-7M z&N=lg4)C{Xl7j!VwLV6sOHy@umxBZXadB>H6fFAUha;*-fX`B9OkbH5l9?X8963Ap zB{H-eU7Jo3=K=DgFwhzzg0*%%wP-i1W34mKy8E7f`=I~xfspIx%%*PPJ{hyJOdz036hPR`@nu@wT7I=uKV;wM!G^L zacx2~P3(eI?R3&!Vb+czV(_(QB)20z()52lu9l)T#*r%^184!9`!>TOE$lceX{D>v%EI-9mJXJg!>G{Of&Y%}Wx z_SMowPG8Hg$8X0J34Z5n zS2E;A^R-XBop^Zm;{C=((tm|Bt8&mgHZL!ad&((C?}8d_&Q9Mbck@=1^SHYv>8I5+ z1IP5RP#EAvkuqfdViu?;QaB{VinRye_0mEr(&+!f>#{~^zok1kvpWObvHG5VW%19Y z2vCuHy4haKMp}GAt9BaKb2Ip6%sR|dYAJOr0lnCs$Hzj&>9wyM8QXh5CL+9~iV=?) znYm9by>%L>_W&#mLLa|9yghyL(!F(x(E{>&NjbZsVJ%k>Yg#$5!HdU$C!YbRGWnv{ zY;tx34p#>>X&PEq*x1$7yf?cn;)i?rBh4qC_pQT~ZwJBmoNHS!HFV_LVQ(Fim}eD2 z4fKD?=$*efSIpsU@4i&(l*Yey)-K?cC} zy0~*q9@Y7Gt_HvK#DyJ5u!l;AbD4* zDTfet7D=~J!YQy2#(~kSYz}IZ+y_d@R=pku`)4k;4oPc_HM$?~foUA?dg&bmhcO|a7vduJOnK^_+-u2DhXv4|4&`Nqmz>$ZTz14HdEaSM zS2M!)!U&PrWyu5jCffKWIu!JU2R4Hkv((-T^oC0Ll*m__OEUcxFmn>C(-*v$0Yws3 zs}eb#O2jZFe_)klra$bYbfPIY-PxsdLt9Q^rbLIoc1?lf}=hHM4y> z(x;!5pg7XbPDky`)aolxp=Mlhs%<30UX<76jreV?9NNyiPrvN1=i}!`Gl^#}-;a;= zAOCE4%l-RQxN^VF)xBtESa%xW6Y6%})1q0Y8&7a;#JMVT*1~3Q?pYe)^&P#Xf{#~~ zJL9$XF^otOpo>pN&>*qX>T9zd+@mbvMsdsS^sx7Gj?J?Wb`y3f>k^-)g*fZv5|E?% zL?o_z@pE}zi45j$%+V8-QPd&P%i7+M(x=!Q6^}6DtI?v3IJ3@{=JeJ}NgLU~TIV)t z_;)m?-oJc#SV4aB%Du&M_Gz)L8XW&pVCagTX|1U5*4c`W+E!bm7PP@dkVFV4t=Oq> z_r;~6CLTkbMx|v>c$qfWDJ9CV6}ek(*Pw0@pldaHqLLYRIxt>WxB*CI*@@g0LS#c+ zvg6XG(V}T>*EIHo)7T=0dgl(a^lp8?SRzFmO?fPqyf{QjNf8U`kxw7&hnpqRB;Nb( zJ4zj`-{HCce%r^-AKr1v`e=6eZcweb7PIK;*9~^luF6rp^Je_Z#XmfI z<$g1n;28TlKm<0d8ixV-SYXB!R2W#Mo;9yC2fNR`W;^^lXxi@$=tPf453Ja1=h)9q zg>K!f6oAtq(=8L>(PL$A9&IK^wUnc0uN9D)Z%InY+iY@C%1QzvHb~+7*f~gMOTrdj zv?ol4WNNkV%3FA!P4QQxYBk~ECMIVl{z|PfYv%#2Bggh7TxW9$WX9J&mE4fWt=r?y z|L$R=AijNmdB@)JE~QkZ-H_uj$vl@qTvn#)d&K|;B}DXRefOrbR!g~9;-7Ez_R~$R2&VPE zOJ^@=6yrAPHB5J#CNOD@K?8KP+;Dt}^c0wVC zlru%-EL^utU1M3@Cvc5#uO7K^hSeUEu-X=jiXkFj^w6F{MwvlNb#du z$T2$3PT6P7m2Bji&g#iEncQxHfB*mLWIX;{pS^y!pKJR;%t|rah=dL&9ZzPR;-zvw zIIXR;Qw%`=I|)z)1_8Uyn7fZP?1E%0)k@V}Ps(Y;9AtZQc#aL_iPVix8Mz&_9(GOL z3WDu*7e`A2`FhBt3CCn$e|0# z?cEgv)>1)GU0}nWmyF@F^P_3Q2dGG!?h%EbUmmsLp1o>s@wrv%+0^ULJ_4!e=nhlz z$Zbg9DIbbPQYR0wzH@JD^~3q8I1XVL7r2n5P297bq=;X4(6*4zD^+>H`OfdB^2QOi z`I$H4opC5v`uv;%2y*x(2J4rCphK6k0?&M&(Q(06{z+*Rxo3l1i1Q-l1l1bQQcMxz zmZ_G(^vyR^s>tk?Gx&v3tRk+oYGVa*x!aNdb)MOevxU!Ix?A7SkB^k>A^M}98KEB_ zTYGu8G$2H`bjUB~)Jm-}>vb`&*PWP;eY&^IhY&UAJlNlWB;JU$5j*e_Q~+QoMrx5t zF;{1rdWG91-0w6de=){ZtLZO?27<* zJ@{vI?&cHgc&mjyPH7BEQOkq5E)fI27M2pqD>WZ-v)e&QXlkd?O@%62bhg8GbFHf! znnuZTn58HD^?Qx2oNRB8Gx4Xd?|ykaba?j4y%kzol9+hp-g-My6!L9pSG=loNYYdi z=PQsS!>aUDoSUJu4hm8PlB>VA9JZer3vFQF5H%}1k0KE8>!ICJa;jCs&<#$>iPzm7 z*P~hE{n_@|vMf&ZqSe#YPqCz@iA;1Az0H<;9hyKf1Q{e|eh^>_J#A-=-RQE#L zxpPK#d+I3e`J(#(Te3MPp=&L-o1=gJ^6~T6cYlok{POOX`0&$1iPW=K@U4qE$~t%l z>STNjtTXF6SA&@w#JGB*x!6+P{$yn*hi1k-y;Rkh1D0OKF?rUso|s1WO!AeA+3en3 zxqh-tiU>A#cMnFg$L^TFURs(R<{OL>odxRj>ct7WC5D7C2Q zVtGF1d>4BY3g7}EDc6-tLzj8rWn>osb$g864iTj~_U6ElSv2E7kdb15>uz|vkdv2! zbfn+1&wlr>Up{`g(D{$b7f)Wgx5m9`?*#+C_s{~U(|5~8 zel-tF6sJr&5bP!UPKl`=4YJ--p39x7xw?5Dsi1i^S_9?Up;vBPq_kU#XyyXCoHRmr z>PaG{T64|TkxZ6$>9ET5b4EU6XkHSY*DS2ysQq+~m;EZ$pgGA+WVF%GsAfFlDxM}q zc?h^=_H`7TSaq7;>#l+P_2kB|TBf4qKAbDE}`0w?|I zoB_G#l$Ia!W%cBxRpfea3*pGBc3o>Kq`W>46rs~opxar#EC2@OxzAEqU?-~zYS`jN zQDpF~DsjA-r0se;XUODK+{G9d805*ka0Ee8jS{+!mVneJ zO>|(yib`v`HI~>e$UR_wRt6NN5r=EI{YvS3#IQLr?%N^VqVtFc|UI{-5~3o7F~JF=h2$1)Rh~^Qd29jS7gaZ zg4@tMYHgGpCLtX0RL7}lEIr9nIW^Vjfa-Ax7L3j$M0hnyR;Bns4`?+Lauk5wS2nId0Gt(uCl z{M`sFbV&S&5O_`wOl1>u#5Sk~`+S`WI zOxq}a>ykM&8q?U=)q6jK^~i0^Yo-vr)I!HRRgA~%oxBnQMw-i87a5nGd{!G$0dqDD@WLGgV5BKPz`2B7(E5HAN&j0kwi#<&1KYRV&^i?aftl{li$GL4oQR_&U z7uzs$26Z*FlJSYae$uW?j|-#)t4Me93k=2sO?8o(tGp;c< ze&u;URp+Sjsz@uStbamHF52avPDgHV_l)~NzkEh}$3bL0)fke|1d99=d% zskMFkX+R(jHv)6JuB%70vN`|U&^}V0Zg+a2|AUjvyDwk2{t~p`UOxQvavr*?pS+B} z%@C$PN4)b~TVwCSa&YR?X3`9_%*M5Fiu9O`v1_EYv z{=>uf>a*AFR+`$rKZa!>0*SKQg&wlfw)VU;+z>4dRXzwZ(Da zo^Ykf51|DAa$B`c-_v&QV|u&rz;jSB-+(dVB&m^^pN&?^+M$D~)4`ZmtOuvQv{Fi8 zo}@+dgRn7MgfLJB>F&4D!N2;qhu_X8uh|`(JAdEy?l$LXn`tS-j{^V0M;@sm7iADt z!?-oF*F>Xamt9(RcG#U?Yo)T|xv%TrZ;%s8MON0Vx{lnr37Mm5#7I78rcT?33*5!q zucvPd8uwc^3RxPZL^pG1{N}UmqB;-1t-e*GM94`Xka~`la@gFdmE9yyP#(x)VhscY zv+w~7e!mf~abhCcFT){vqhxJ;+!H*AZ2vJHy+EJ6a&PXBph;|_TEOwFwVdM2%qcn{ zRnaJ8Xt8x{0srA2N@eElN0yiFvvR0NbFSPi^c++UQ8_^O0%4j*1d_o!bf0|M`QnPW>%D|9kkGDCcJ{2&e8lC<6D?+d1lnCvN1{lRCqbKC0~L$+Ha;xu8ySX5)SkEoPmq&*iI%kE;*v z%ef5emd>tV<$InbZ{QBMZ`2AetY?AG9pVQ)^QQflmq5G7Wz6ffWkNuQ3mUyryE@9C z6WPWXvnUDo3x@2)Pd+S6)_Ft(RArip+qDyQAZ5+Qz;@63+#s9YPwzf{`}*)y^X$cY z>jHJo9RQ;bZ|EsvIwvXV*91jMjh5cl?$Ug_NHh(6M@=Qcjc?sfU!}0Jv^;R8mos)= z+=a@nMOyiOPj3}UL-@7Wt;#<8&MiNMo-w1pGel!VdrK>*tsE?>@(; z*k9w33-{T}_ok8Yq&U(n`yTw#D57Ad;Aoj_X}%0}4Ul6quai2vw0Z@^*X(7@$9qmeM`pH<&%I*5{tbjOhESyT$Cy zQfgNuP)bia50r;-+DNOh{fKqd{;lTL5E}}7xZY258`N6dTLTtxiaN4Vlmul?C-{Bx zz8ymRjfZ~w>5*sX$;)>8=>0)wX*!Z1sn@Biaerxvp^FND)>vqpfZ&|b=3aT1f&TL< zO6PN8%U(rO_ONDEVw5>7wRSX}HEj3nlA^FHJUiM!pOmXY);qhp+`U_sQFjGSAGH+r zidKr3C1KjpQ(Sx&CTPkNtn@UTJW(NhKU{_Z$5^Ao59?dW|E3l*ORc%{z-4)&VoMpA z4K=6jD>PY}arbWh^zqBfpWfNe86uHA()$&mag>3WO|~@Uhw71bMBX!(;%CO%6Fbr-GF1RRcJQ`)gsZf+MR}-5 zc-V)aOG}R`bVNcx6k1BFMoRZ@XjM1p+26yc5h{sVm00f-0BTZS|cakHGQdbB{r6}axzK0 z9BrOXo`Of$CS8f8<4_s|XdBWsTjdyHQ|2rR!EXhD<(ey-ACO+$cmtXTVblD!7Payv zmkI5lulp*T9u~^tx)qMr8N6a!sj2t1S7FjCW`GwuCH>h4Pgh}ls-4CY6$Mg=Y3!0( z$Cm6xQ$&@t67(^5uho~yxT86L+Fxw{Vvpae&tALxz0&LV)B(%4+57RtJX+eo%y1Oh zav65YJ~M`;RcgbZ-DU#=f5;GwY5@_6jLED^bpdy(TevAsbE{LoM0&@g)06kc)IImS zub^b|TlgG9wnyRN5aXa$S6aO5$jDl@dTl2+z6wQgJiAczins9B9pldv%yspJ}awZ3_Hg{0!HK^fmJ zPfw|$M$+CW;3()p^g&>m{hGM0lJ_EJE(E9n zmKkv{Dw#ww&p7U8Jw_+Pk<;{`FR({{2(&fuz3T|Qt6t-Fp?t|NPs1x-f* zJaB6^y-(8FHn|HG?Cv#cj!ep~msw|Rn^4kTWC(WI^OCt=T1zyFm=ZNf^o9b%+L$>9 z$k^2KDOH=!46>>}{z!lK{^P&DDsvwV51+h(Z_OcE-|hsRy<5%!`f#TpZifXiH` z)<(O2IzER3fjU9~7xg?Tk#0XbRi2I{Z`Zc8n3Ak2*F7QK{7jPM@Tikqs}5*))Q3igmHJY7KTdjI9!Bi`x{i?klPiZd2a3t%4@kr<7b3iqz5%kwz-p^lkwMd}kLXhOOoR@Wc0mNXgYgX4!Dj{%mTFuI zUzwoM{6de+jX)ErSu`72rPLPFQ**Ydce^Dthp0DoG1R|~bAu!?zJR|zpQ7cF;5MrD;R=aJK|MREM zAK$-xiFYp_&Mz-N{rr%;^W+tLb0WNKgapU*-h0lixiSMQqkzLcvmIS#t(JBakS=zI zX1g=Q=_i-979j-yDJ!@h9$XjtUWpcBB$dcM&NBQtfrOCG;@Kn5bMo!U6}ODwR@($mOGOGHV-|1Q$u67u z2;M=(3LyEKmKIpOsrD|_DZ6w|+kLYMXiW}gX{azgx62a5t@VQasCx+3uA)(Z&l88f zGjaA!#ovK>R1$xq5pwS6VY`z2jREJ5+qgLn|9PAS#L1;L zphTO#>l6$r=L{|g>I{8tGoPic+U+CwzkJ<~-lxxAwBLT1@@oy_45~SeVEY&|!-XHy zE@^PD0z1qFSJPRElUVmO*>O}!LuY{$4y$M^2IQef3cG}P@k(Hl1@g;<0+yfARvFR_ z%!p@Y7jru(%ov^y*PnZ4TMZ@_Nat%4lt2j)O+sncM=P@Ru{(;CtB<5>VQlk`)jGQyqF_ybq50O13J9r&MwtE(gb2Z#J%k zU6v~k3q$;L);s##)ih+B(?Lp=TXOn$J9hily?M&DK zO&^o7jO%Trnz)Ya&4EY#FY4ZA*Rtfe(geC7szg?iQlU#FRL^>T2{-@um+6L?xp`)^ zA|tZmMv@{2_3VvrM+C(@=iJorfD=IqDC5WX-P_%lt@W+h6lNor{5B8frsI57jlsv! zvkQT9QTPhY^XXV0vQcQD2a$%M~d zzqhV1WTI(H=Cfs?wno(4jo_FSZ#i|0haF{OcW zT(uF82<;64AZkUGhO-?qtvF+}ppNP0xvICiX3m?oOag4y3|~*w2xmlQTHESFcRxw( zoRjS&dhqal$x84C^W3ruU+-D*J1ymK9K=PbIMu0>(mf|+m8+h9srar|ZqG@-!gu!R z(UtVs>-N_1h{Rpnxr_qkZg!(OZ4XsyRtlu)Q_)7N)No>XEn4(44Bdr3pOR8FT3LcV zw$V2}oz-g4v$p!qtrhN+meZV0LHx|iH)9NmdV4$?;*=ZPnlNwox-jcNXRh`rT-ioz z+o7Gfr5IDD)YV$KILIv*=ys=aX!OzM%426}x)sn3^qtE;azd)?+0MnZso6>xv4DAN zdib4v`uNA!`1J1l>E+Mw-`OM8_sIZ`Kykkd_!i|i4P8!TVb@3#yzbFaN(0xVkQa>N zB)cxpWx|k2eFK39?>{@&hM`?f0jgJef@MQ8=FphsI!>2b%PM89(L5Jxfdh9|H>$^P zZ>Qa9Y09*19mx~04jQ*D9ZuSGX*1H`c@!&^L5;dp`m4)GYwR*Qg_VHxSFQsjtRxN5 zlf=v%!g(LvTi#+=ETZ>11*3E=wr<^Lzk0JQ?AhyfJ3}qsAnQ`0q)k87*4E9A3~fAV z9Of$n zZm04{?%YYy*W8tVT-7w1dc$mzcZviqsh6=yQrW@kz8QDr=y}4Kd z+)|zu$6KC6b7-#TCUjL(QmEdv!I>fAUX%`tkF} zUw*XDUc#S89Sc#%uiowfqlTtuZ)Y|sI{B5d@?5g&j7l!QUQV~o@o|(nVHdSNPU&+X zZ%WCYvA>Va8&Ncm#%z;Lh?#7S29eyivykM*)=5=8-J_M1Z(D~NNn<=6sa|)VWY#

>!pfv%ssjLXp#td*Ai!!HW@-!_0o<-so4Zt5e3n?>6}D^o2A7-rI)t)LbIR( zT-#mG-*5NFAN1XaZ_oD8(do(S_olK`=+y3|{K4HThwOY!2M1Vn4h~6&9A)?J%+^n_F zp7p8@zdRvJhUq4)m7A~)%6s7INrra$@FQxC9boWVNLMBpC^ZsY^r=gJM)=*8H2=j1`|Jh$87(&byAnavkM4~y^h`9VQm@o@ zO$YQ%nbH?;2Liiep5Jw7*=75=wyJq~$H8XrW0Q@`%c>Tb!RVeYQ7Qsjai>zR*USXC z6LhKf-C&X1UP*T)BG~CCp*vOch;hwqI(}gCP5F|0!L!r(p3VU3L7oipzRgahea?g7 z+B!OW48!___?ooV+1tSRE@yQxdIOWtUA*S+fBf{(6(xM zLQ~k>PGi`TO`^EevsL)x{)U+?&tAEEFUuF3QfhsT3ava^Q@|5ZkL8-9iv$MQk)!Mr z`~ir|r?GmOwrIl7j+O4vCFw5Eh&^;zNjT)qwU458dfql0h~{}=D~SFsDZr-hFdwmY zJJjl(av4K*&A#W(sSYYb>^gareH!k}+G}vUlr6C2Djg*3sdJ$}l|!MuR$0&+Q5ww$ z31m0?co7nGVh{{S;^a>6KED6!r}*@zFSM+ecrB0Qh$k=LTk=xnke@dLz6q#YisL@W zwbY(KlFsNo?|Oy zzvxbqMJxH4UGRTZu6#2V^+MeBl$&Y9Nv-cz&X(F_JLPb9gPVW)iZA@-1Jje2@U3=w zsiEe%=$d`4feSkbl!k~`1uxGnJvR2FSRi%>H&rO0pSdq>C)2zry)DPlU?$Kh&ul@@ zd@q(0#aUZN>OBr2$3y~R@CfzLYtw7(l{Ut8I68Cks*oM=b9?sV%y z`|X#__5b}++4x9ZdiMIgr3mk&Denc9HR`G}&m+m|JV`hN5Fr_BURKQtXo3i4Pus2{ z2rcUx)OV058~@N)TN2|yb#V7fm^&FLU$3<$8fnMEPypXeX1UE{XjZ*0@u=DEh7c$+ zkJpU?j^(*yhDefZ*2ukT(lKo@MkzV3K`1p75j3GctdU(u9+G30btuOytsbPy5LH4!~J*pp7xQ!jg@ zCeWtna>l@klsC+F-+uo5r(b@q&tAVfLE@{C$tbK6O1+(05Z7x@FAF}exmzdO zQ%M{hUAuT@lR`b+hHW$2I$loVOw&4WR+_uY71ukh%PMx-X`6h=_M8d7w{3%1yskT> zA)K?(Wdm)T2`*fg)+*d09T^73vPBuEdtyJ-=G|5bAAPL=VF~_)qi48xJ51$I44CJF zm4B-fJzRv$b@Yg)jsyVcXq|p5Nc^WaY)nsHv^&)PU#2!a#-2)_%f^3D(vIEFESJF+ z*yD*ahEu&ozHk&u+79(sGq;d@Hoq{rGi-{s&rzX;QmC3f6!}ds_l+wB7`xM&kg&OFJ-~?TnCu)oS~BVjNX8f-Og-y29ko?si(-Z_iCd< zeyeTfb3`iyZ_()1RN0WRq!y)GU;-Js!+tZew zy@0m|-*3sr-e&cJ2a zNFXwHgTGkYNo35uI~7c*XN6-W7LVo|e~Nd^!Y=u$Y8rbphwg4RGr78q129b6oT25M zX1+7m;EMB$dxzcLQ~&Gh_xk$N4=-Q(!yW=;pSyf-8q(a)@>M*LO~*900eIBhW69D_n+Tgg(shX0?D%<;zpmnif>t6_BgW( z880H~YlbD5M0CCODO%SMmhTcgxocmf-5tTF3nuP{eAFiZ$m7NKI?cX zsgfG?>U%+b>d8v?2Ggn?DnktVFf_b~1jsV8qf=mdoIXaseQE#h-#*8ON3`c>FWdcr z>Fd7QLB6dfYqp~13_;i%2Fd!t)k?i}DZBaENyfa`3}r0kXok_P0g6c{m1&EX1DOSM z&TilvM)D4VcdPBSCavmiRBffVDU!~uiNB)Q;#`=GAL4m5h@A*7uCkXBNvRwu56_zl zII(SQoMGy1c`b!v%#G_ZD@k9DrWLt7f+Aupx?`SRN0?Va-G}fmWsju5zp-2Xjt%wo z+e7{1_wW31we@os@AeB^z9o`#rPwt#BVE3Ca23jxoiB|x-gycwTP0s*ILUgeZEZqc zCy&T!c7}>GtCd(`HYT|3vRd8An4Rs#k1BENbd^(ADtjy^8AtW@utc{me{gE|UU}Jm|Ts z0xx19s1s$=yRN_YpMH9|u)vQThEHC)`}g##W$9ocZn?MItGLx-&_I@zayqHQ=7tT~ zgK9f5*X6^DNjh<6z3K@@>NF)*4t%{Fq0={P<$zj@a;Hl~>2u-Ih>NFf=7dZmZXao3 z&X1wa_f@7vX(dK}3A=*FiNivnUrXoM5#WiW&a}tHVMu%TfCa1;bsz_(k)m}^9i|fJ zWF5U)QSmy9jOt@&LN12{&Yc_L_4_dW@ZANt(}y46XD{Gem{9_t!=VZ9JhFGFO^q;G zk|sSRN`8iSz;dIA2#1(O=WGq@e!1#GlFneDy>qsP6>OwZ+XTBo2XS?21^U(e!lS9k z)L4{<-hO~Jdve`gP98ST#5;W!L#pmx0GJeL7)8z*)Gn@?cjCgQR2sX)^n%}nzFj_r zAYi7oNx%D%n9D*fNx&#+Pxf_)Gr;o3%FRwr9A0JgAKYQ`+2_IkH zQ332UMe+ShG=i?BVEOPcCL+G+6De!dCVD}F1pBOCUyJR;w9Y)EV;Dg*m(ow#g?PM6 zS_}ah^iR3|njTE5%OG7iKrP-nmeRl_h!AOe=E--8hf(V5#r}O94HMeSR(KEqr%||Cddn`fa zsO+{}GXs@9%!lHgT#PRZWike7o|D|2z3|NH*C;vfOBhOZ#$ zG0he!$ZdE;R~xwfim>xqOO~i=W7m<|iiWv8l{QC%#CzachLj_C;HjTguunY! z{8Xd<$XoLYlg@Lqlq=6dVlp>u^^lOK1ftJGRp_nwoB4d1r`{K78ksIK5|w$qdR`|< z0$`@(9yTfcN&2+!Io7ehgaB)Ams6WSGb5djf9n*lqYXFS>8)9}@ON%T)vz3#rrYjn zR{!Oa2fsem7yHxaczGWmzWe;}V)Nvcd~0Ttt)N9&=|WdHF1s{!(EmerH&g{6x{FoX z3AAN|NG@x} z$ldtnqSkaxUFmBh@X~ zfUZv3vS6fnm_y1bB!F+_{r~HF!e1Wn?|=OC@$*M+vA=(%F8LAi`N@lU|B%1fNRLM| zFi!OEQuiR(E-|>BrDQya+U=7mm*!gnaj#J6T&?Ze2du8%dkh6z0rmV~Qo%FCU~G?E zA%d-~mK--of4$3u*OMO2Ieby0hhX74juYIyp4 zGv0D5eRTCK&FEPiuzI{lr%Z@;^Tb@}w7w64*3+5pw#yS{ci{bh)<5XG_ty~T68&GU zhyE}u_vCfFf4<{ORO66GlL9J_MzUdA>+niP2xvXL2F+()-0}C!nZWc+d7n`mKtRUc zEB7yk=V(jA7rG_Lv!S_kg>S>rCrR$Gs7@P|rkC2J-qj`3!P)dA0Nk28kdM`RnR2-0 zZ~-O%R|bubHSNR@b`Oj2APBzYiG5O;8`_ zbwsE`q1?8eOxMUxJDQ!62gQo3o~S#|?p?AFzXryfv5B2DWA1!LTX9hL&z(Ds%+v}% zeoAi%ppCgBE2hf;780jg+MplZvTIZKsio3x1YDbxx~E*n)?%u8tR=Z$Z_yYvH-XE( z4$AsCQLK)d8p-j_kH#=S^X0vSmX6GxdX^SpEsohtXOl>wR7vNA4GY6U#_$+@Z7aZFceGB^TU~h=|MBha zOXzLulvL;J731h|z}Mum0a=l?vSKCrLSs;`78qxfG;&vc(G|#iuiDS+*MFpwfZW98}`8WMu8pF zR**qgokOouiWK#d`3M<7u5ewgG?!I{n_|qEHj}hweeYJw;67R5gBf@5Q+Bo;boGq{ z2(Rg#9UQVR?uqOkGHhg<*^|UDG`tb0O5#U?Yo&;9(xk;{s#W|$bBQKtm0()mGzbld z%36<&#cxN8oE8Q`eC|+$L|7 zS+AJhmmlQsWQP%y*Q}bOinLp#4~ViE8ADPTCBdA6tYs_BNU0p(D^8iUGL}oFrDS8e zMZ#^6xH|yb##6&lw4`#-C?s-k9t(tO9vG=04O8Ut=>qyCD z4!4n(+|C95$NA}l!^!)r>(Cnz+Gj81y{OT@_P3^v;;dcf-rHKyVjzoqZD*_k&CJiq zW94eIqKTG$2IgKrm3jWYe%?+>G1{hn^6XWG!jDoLjhxezeE;(8k-q!*NLzmPI^OTPUuLxetvAkY zTd^|qy`qR)%+acWPR#`Wr}}}33eKU@7L{gioKiifk{n5|U{*<+dxec!F0fqYu`HWo zGxaKC0%qdsk(!<9E%L1mb)LEbDvyytE>O5D0;V4~u-e(RsBOYAMG^|a&XRnQIh>}M z&XST<@oTr#z~h|WxN(*!fhBD29D|b<_n@H>gVqZq&9LS7+VcC4rtd$0|L!5_^2uxW zmV!ZR#hx(Bs^xUxl$l>8h8Ef3<4*{mShI}4skGPjn{{5joES!7tO1|~h0&j?(M>}CmriGeO_nFIqjcQdqW)mCxB(1&7YFJ=Bb&5*l z6gzndB+!1ju=WKF9BIdpS*3Q-9%a{dy>UkGwDjD!ZepH(`-BHFBVg}z9QRX_(kj;C z;@K`KmjT(COVV7+w2e^$$g6aefU^>ay3^n{#UL^6t|UZ!x)28GAthIe)i1|#N^y4O zzo17lZqLg9@bw9Q{`g3CeDc!0_0sC1HpfSiITz$xv$ziE$-%p_W!SnZfY0D~KPLzC zlyvw>5*wQiZ2flpIQ1V%&IZx4y5~AAPwm#~(YeQ# z!DM77iqg#`uQ8;SrU4wW*637I_YA|*XXj7fzKA$$NxS07o`d(i@J{;OUd)?lOthaGm-N0#bv0e^Nqlo5d6t3Ub5VQtq zf}P+SfF+WwKI>qP(j3em)8tdh4cF$U*KJE@cLFmEz#5Zj3U;^B3ZA@?G~QiTy~Pa& zG=dT1>M-RGN|1b}1IHP0Eae!v6hffsA~>WjdfiQ10R}mxr>a*8Sk9~E$-T08s?y0( zFp40(bx?S?;!qr>Ni>+mmpdB4e|`7ibA0-s?_XZue|)4;JbU@xQjcR3i`Z-GT6GT$ zLrh)zoHOlI!-R-!5^zF7aiJ91mPT1biIR-us{t=E6q71-R@`USPSr#5h8ByE6Sncq zw{F98Jz1?nthrSwCY~fyy} ztiIbt*pR}qtxZ$KUSN0H29Pv|D*4iKU>i(gPn8YY>i~yY{W4Kyxn&~$=H2Uy>-%f) z^SJZ=sf%|nPkeb>uf~nBh&XfgxB}HVqES`jd6pgk4pOF>ng%86Hb)kE zMN{7-N^+~Zov5`*<^y$oHGncjl9asHl9S8SAWeFgo$LucILp4mcEEKrnMO8}M&Ejdgv>SE{O~Z9?9hG4d+AT6hAl zK4q7=XI)$jBg(9jHdD{ADiTWbcgq=ktc*P@(#c~7zhg~jRhN2u`rRc-vsQM*>eJnp zuSuA)Na}gSnk7rh9@jyrm4Pu{bR}?e{i5l#orw*Xa|VXF0!AV?ph{=MP1Md5zlu%j z>yAZ@jgru_-bE+>@!jjohxkrW5?}rtpB^28pS^-_>BP(XqSx$zHn8o-PfiADgHf;? zi&j+E$$c(}|vPI36a5<^LJFQZ9b1OxH@7zb)`j0OS4j`9qOtgR}c!-eY0D6&$v4w z^p&3 zI7xb)KAcS~g^^5b#rG(O3{x7ZdmK26crbgG!JpfUE90~+InLGHS0V$zCe5jPD3b1u zUXB)UoZbBRMki!cdh1=Rt0kHmbG51}qn$(+c+qIEG^bv>$DAB(YSd0+^(-a1t+-@U%Pey^Xt`6zzD z^!DU+eCyhpa}z7sA@3%tAF}a-y_r#z>B!@&>b8|C!|OF`iKIvQn{eX*#(#ugXl7R0 z%9#%7oon55m$jA{7-xeA>@=n%nD;5?D_nR-=1OE837Vcxx55%Y1I=>AK4EQ!P4>pa z*hckW9L(;!X(h8#DUsCJYHJTUnWm(O4>rJn4YS&(q)C!R?G)hYXjVJ9}bjWYt zz5caL=8+unvqElzoO2+*Vor~-#wC=p1pjxUh;3o<7}n`qveY4j-Sfq7L1qx4N~DN~mjN)m>FSh4fdom5zfvTWf*Dv1<}Uy z&eL&nRx5t2m&Sp5F!yO|*VPQ4-*5o%o#gH2sAahx%~(M5tZBNBv!~uQroZZmug53< z_`&sIiP@8v@cwxG)zh{TQF<$hq!`mBpUga(O#ZDsPi+9Ft_TVMI)K=mQ7t2?&zVkP z=E6{FHo`?g&H)zz#>+zlL-A?06w%M7YuDzY>1P1&ziS2cfWwZ3&6Q&Dh6;{?CkZaUhwPOcB` z?l_wFuDEy9de$td`c^sh(71PivzBu5Ox;qagMb;;k#qG3r(Wx>BgP85{U*b_iq+AL zW*Tb|%K?*D)n<3L8!uvQCm`zHaV3`BW|rP1@1m_!Y5=Oi`i3i*QvnH(?W~GjVNZy# zb!*!7+Of*W!>$6f82uIq|KGou*#7F9{Q1+nNAay^FXO$iIKPYm&TM1ZDKrh!w0KT| zRK9jlkEexHvdl5AikAVGnG@*hIzR=sQ)ivLJSlRS*>^7^Fzhf(M$@Jq+s{k@dV&M0 zgQ*<7tSUWjvp%@|DK~C8O6;Jn3jY>mSiV`OT^NUFg2y`hpwBp4n#(Pm_h;A=EN!Vw zuk>X>n2**EnS&4re%ia2HkhY@@~R@k$b4LC!^iuWO!4fMd~49NHzBd)J3Q0o zSNza_5Vr8_6cMsuWU}W3B-wE|@3m6aHh12RPJ1ny7AB&+PCGSfFx{+{!LN5V42&pi z)kJMz(R_NpY)!ZGfF9eVsWXx63!vq4%M-}wVvLi|99AXO(mO3gtE_~jDdKbrCwoWu z*A^)2D{obgMYl;CGuKM({H#re=27q|FG*W$%rS5|+!~+$=ffxb`dJ@Vh(3EQ-+IQS z=@{En%(T`zh69UqC`tXnRjZ@3dab|%Qx=1q?a_;ZLx(MgFRRM#)DRCnJ1^B02_*37 z>?N92tgf9_H6Wktcm1T((28#lR*M#uDoSfxWpphVAS6a-G9Yv1G^HG{5_G3}4&pV7 z(xGZelP!LzgLKx6!!!@pbd3my7f=ob*c+TsHR{|G*ztU1WhDID-S@x!m2&a6F!k&; zeCw`zR_@iNGb$>nU|yD`GO+d$abgfW_bI(-qV#kGy=m53>viB?*Fsx8;=T=~!3!cQ zJonL=JC+%7wbs|225C4qK?)w6n9^OxS?a|zHQ9X@1>S7gt`@tfI#TItHR%+;Mf4m_ z-lLqe@&ZtCxm*(XpH$|SG-C|zJ37rZ>%@@)QGz1pv?Wz;dCDr3*Y?Gr*rSZ07dmXp@I1=E_X{q}Jo<%`8^aVoA-Zng#M8l%hT};} zgTd+WUY*`v0mcC9D$^iXvn`?>$=zWOLzli4sK8RR0|vri zo)4H?0DJCj_7Y3WB15mF4USLkyQl8`j5uYrqJ3oRs{?<7^)6kLfu$X14(eT6yHy_V zAMl%jkY_LCTW@e})qo}V)|7NDPd?>%oq5eAvT{Ecsi&p^GC;eoqG4N_ccnJH^b(VH zAkmY-FD)HiH$k&quBmiW$z~~&VVZ*Z{j3Dlw5D@=H-f4*dT6X;x;FnMb-$SHuLgj< zYhQZGauBoHU9<7Zc3Z3U#ywehJ$fP;nR;)d(TAQYpMpM>K8(}mvFam-cW2-Wjd4$! zQGV&`{N~I1>@~c9wqGPG^QEwnPv23+qh;e3{~icP~X1|tgxCLZ9GM_F`;*W5F> z{yiFsIA5l+hqq(3wml&xUP#!4Nl6cqKMAv$O7V5&;ZMGIyO~@RSf{1qYQ*y13Pl`i zGu@#DscdpFwp`VFjxp)ZDxDUWvSzR2q^se+dMx(gBco9GS7Zvs=?7`yoU6Y30_Ek@ zyLF>(>-OIJ(+B(bZ@(A_dG-Rn_0l>DDOy(*OgJ>srs`|RDR6^Z&r1|T?c#t_ik~rc zl;&VTPce|)nH=!UsazE3VF?m{5}9TlU$=Cif~iY#^=2dT@g;e zGu^#I3s#kt!BdY&AVt+?W=<_s$K@quDTfTB0i*gL=XD0-+rYHI#Crf3DkZZ#LvqKL zc2v&hugcIk`(3x)KV3Yb|6nBa>?M3K68bXBz51FIXC5cILCL+TOnPBDtsr|G-_kX! zow5p7wwYT#2J&i-G!p?9NtF;3mGfsMezx|6I_y-I!1<-71Vm7WBz_So?9$h6XMLpt zdQR$IhHm0p6n6JE=y6CnowBM|PMHO=*Iq64Gfwawgr(`nGlYQ%`W|gXq~vr1>YkfB zRw=O!V-D!{%Mu}@_U=6y$Jd)@`+wLYto*ar?4CbUzBYMeUo9K@VJ(lnxD^f*jwj5`)O-E{B8qqRpqqDHtWmNpc1t(yj_%#VEJytMK+@hhlqTb^ zQSImm)mACzo+Iau>l6PH?aQeQJ6pz@Ip(ReoqBw?(r!mV|K$L@{qXu(ANM;yd-dLo zMw?!P%ud7)J6T(8K+E9tF^DOc+NzTBfyV&cCpP5;+R!nl)uMQLlgF5c`Gk(y9no!F z7NEVMTKVW5;17tDWs3h6o2J~Jmj3pz^3PttThsBkBKAR|qSQ6kJaZsf@7PmC`#x&MYJP;Y7}5Lj-oAVSZMbW#OJV_#l`^~mLao%b2!i9_K#Jq(`WSnv8mkwe zJp@t{`&^q7pyN!zg@Q=fLg70Wv{c<*as1;C_U=Qxyng)YlgG;s`l#OS*=zW-XZyd? z@8`GCUMlMQ^7PDF>jfb)2K|*)8Ac9q@(pB{SeVgpTR9OhYPbkE3ic1pb#^kQVtR)It7+P-R>z!`q7LGcePB#=_mo%L$v={XnW%`;MVq8g0TqnSnyUs#JdvB|X zPhPyAzp(8uFYM}CR)SKYeWDeqZx%~Lk_iK(Sj64JVxZYD)-Q^X-5BWvj=_N6H1EC(*eH5gxd z8~^xEKmG7%#PjS$dy6G+UIJ}u*A3@@q<9d&)>E^!gom&;c-KA(1qPFQvH*xgklRbw zK5CK|9>EIGHRc+I?`5g)0+nee^5h&$U~IQzXK-|}vgP*c3wC{WRD~{ks6d=Bom5H+ zh3TPytrC8P!axuH@o8zhs6^uDIBFtE(*c~-3xMb+axm(&6BF+_4OgRCBp1!8MY*!& zw3XeCcz&(l#fQ%?rmv6nhv%-{w`clyJk$0q7I4le9aKBB?HF_EEQvc-98%!md1Ka| z=7!l%4GE@qBHTSuVU)LFT*)g1eO~mrnsx?g(x`XcrSLa!N9h?pVca)LRJQlK;s@V5 z3B7#j2mrd-r$)7Q!d(D_M~*JUmfV{@qG3hYHHd>oosnsEEQB8lr5O;P_sIb&c+`1T zv>tq^(>Zp5TgsTncV4p!xt&?fH1a{yz=sd{DYukwjcot$`tj4}mw%0iG{t8x-J4~< z-um&p#z`hU9At@Ik&1C$4wO>PlaeqN88IX~oideP6mE23LkX>19n>X;TE+$()opjK z1-q}-bqHAo(&LhY2qROnHtkMu_#4xap1pi;`4R_dJ&xazP$m63A~s)pBpU?~bY6^- ziWC>H>$IlWsk?eeS=-|p|F+$tnzSZl$a?WLM^9R`oS-qD(I#$>$YWQSM&>KeQEp{? z%nG}&!=Xof^yv%jS9RDR{~5d2HC<@F9!swZ2#SvrN$}Bkn=>(l_9-ZBySP`tD@g16 z8a@|eD3`;^PAT~bn0ms3lq*LWE`X^*wyJF@YV;^g~XT}h{8==+6!$F@=C2}G` z^+48XceR9SwnjP>tWR~3vRaeG)N}8VVz=s=iX6bGUYyD}4jR(E^c2S_J{w4Y%X}Z( zBX`VwX=t%+)9MgX1>48!r3)F_COPGkv(sH2DnuA1X+RUxA92islH?xQ{!p3kTvae3Rg(E>tR*95G3u+i7 zIM8Vo0vS|%PR@M$fXBKcodR^xUJW;?mBx&%dn>tPP^mt9YaE7v>M;qag%Ydc03?s$ zS)0+oXks70^D>*}-ST8!r!wZ=r|y%uL~8TaqxWU4(Sviw?N|4=JN)AhKYohW*O$-w z=*au*^?R!oz_VUc|B{ysSvFfYy4`E?IUsISLbZk>iDrD(DE$ja9~D#AW`0DLXpRKY z*JR+Afv*$y|Nj9*{D0X$QEaY$Vhf15Sh;&=CgQDcj(V ztw%a-CWjB&kTd5>v(G(dDwHBn2BgQUb_?ddxVcu{%v^k*R2q zTDvGb1|*rT8|zR zOcD{m4g!UydwjsU-Ydz+Uqh3@{yeXurM&5Kl&y=LZ@4ohRPNfc| zmC@=tr%M|dk$~byy$6c_`;-0Y!=K+hlJK9sf^W8-U5?uWt-c3egWSeWK^yH(F=FAW zA}~`crHQ_EPr`r_S8oE7U#R*=<|K37>g55tgvvU@7S$&WkouN#1_eiTaKH)Ow29xo zvnI6Vfb{_E*nxmb673E2=uDLV%4YH+pt> zl8;6zCUjV>z$9w}SW}7Wsw&p$3)5b!SxSeNxw7Zfqdk*}i14&WW}I@SZ7DihPot)? z)0nM~w#!+x(M2-IF5^CPHPdRljxkL}hy~Qc)OYQdhfX_fzmpvM(w(x55k38_R$GLH{*g_Pa;Nrf09* zTOx$+Zlz~1o0WgxM3JLswPz4RUf?`L*{%CvP%r8gAC5|wS&NCrqVFgUEu6M0RyyD| zXHGg2N{u5}6LvpX{)|pVz950GNN(9pqA`fP?wtYh`#d|ePFhmuzP6SVxh2|ETH5%i zcUfUP`hnfw)1)330tJ<55@o^};Z|V@blm}0yEfrEd`*&FS7Ed26H4msZS}{;mz!s= z+ARd8e0!RbGfuSLL}d0ACv_bQAf4%Gh2E1LBj{3FOomc#YPntZc|C2?A2M~aJ((dq zF9u;|siX7to;q1TfUkC9msP1w?$n&egE%vuULc+Br>DT@N=-qfVsh)5jjV5XL>ZgQ zs#xzs&e&^pV&8q}Msusy2@Ypq36A592D9fmEuGLo&m0-@ z((T3O{k!kJ|NQ;OpI+nT{m1XVdpM?f_7cAJ@y)7@D^P%Bq;;UqlpF1s%q{=NK_^LfE zTZ^u+v_oeb1@M3X=zt#UGUBe0``79pKYe)lqrU&wN0XW-uiej|>G;bt9r)CQDod%S z_W@vN8iwLEBAW*2B!2P{Fn5VL=91Zx&FbnhEl1G-lPXQj=Pn@Kd`}rIRvM#A!CHP2 zQD0xbTQ6MLF zy0{XM3R2x7Eylyj#C@uMmfEN}y7j2EeigOrIV6h|eV*a~7w{G~o6# z?|{=D$rwYc)HHVPmaFVT@q#Z3Ru03N8r7I*Zz(wi(3i?JSfrP7r0G28FC&`&`|k)> zyncIA|D-?t`H?OE*^763PFi0T2Lv8qwnAZ3&!d1oH>IR#-`-6jST0JCU9 zeY~d93-(#u%mAzaDKpg0LyqTm4y~IxO)_#d?LwqM#_|k!U9#+2N=v!URmKrOZBU)5 z3+|(my%3M)9G-8TzHdIxXD{2&wTAqA`O8L{VKEdlHD!Nl35_f-Ut8yrh|EsBdrHuk zo7ZJf?WX}5?6UB_4Lj5{HtJwd%8wpzG3csA7MY_l;ca7aKpz7ESEMeq*gL=AY#eM( z7f)&9cdbTipmeEclyS-!RNQ8S`zjq*{-%84(sv`Dnk-M=>PlFl&Pnx1mDV~FTq%Sriaq4eJC6#3* zcVgvjCf?N|QAe#SZ1%G7kK}0dkJ_Ys@P01->(Bb>ZLh<#*Y5V4`wdZAR>_i)87T#V z$-8n*u_>!A)sQ}`WTgrsA3%vuv~EH6qrCf1!gWZyz2pAuIyovx*o};Gh z!>+L#z6G0@%zB?EDm;LcbGAOKZhEi(f9l?5$Fd~5(i;d(viMVMqNN^aCJ7ow%WRu% zvu%r@k`bPE{hnjCZLROaox3r^ z>J`-nk2VoRl!@6L-G@kj^XZqL(S&*nUis{mdl!|~W2}xuvSqw@{QQbIJs_^}qj#h}rrGNkhu z{sJZ#AieJlXgQM?Z{UVwq5yh-^#1+V{Pyzm&lxZJ?X76ivsdqNdi476jijMj2z!Iy zHqj+h6y+9ongzk}xwxHcXEU4+D-QIfja&kM+Yv^u0CP$zaoq?QFDKFgeW&)dmyzM$ zzZs(GP@*A@D{xHT8&G)O=+eI8^mTl`q8oN`0k{h~o?|bZ6E}GV(|p@J90)pKA1C@Jjwb_+4xP(jSqIRmlS5Mu zkvlgR5$X650H$)-Mm-tY*>Pbswqsuph|HZ<2_%DVz_Q&C6*z!SMyo-m^%JtvCL<2Q zg7rk6bCUMcFxhTYU@?b6XoY`R0TP~P#nerRA7N|6bMn^o4gDN9%=%9-JSEZZ6`6mi zm*4&F4)F9qq6zMs5gHE%E3?W{Sq{AKAE^n=R^Q;po zTnk_0uBZw2vw@d<@S}XH{PN-RzkGUgcK__fdyi5%gDF}^JXrfifIN%A+?oJ@#x+Ol zJ*=n5DU`-A39t!US9J#RX$)7{FfDp4>Nr&buSpy4$E(i{EDW?RXEIDeJxebu>G z#mIf-%CiN54pLaeb4;djvZBE?jT=Z%X{LiZ33wD;@xaL!pr#Y5xriFs^oW(d=f>L% zuue2JR1dh!J>Ue&jYz@XzDqJ5E>8dM=a;Wv@jt)(^77V3>B)=tZmkWigmzW_6n{p7 zNYW0-JYq9F&GRzFJEzWu>~NiVki+Z|)65Z&p4F5X=8lnJ=QRM>|>z{u9{QJB>!M}d_lApePeCulb z*-Q8y^GvJZ3^WKSH3jQOfUrG!!G5l@Fm3kcCkvy1wp<07pg6nDp^$~GcKWd~S>{5# zxo}qrE$)cw2Od&U46K1W!F&i9eRPSIwEH-z;n4_drMii>F^T0Wm%zzM03|@Ju?xIH zupD~^+ABc4<)xqi_Z?~@^WD1vzn~bRqnl_Z11XZ-ax&@cP=gLTa|ZTj7MDimPlFC$ zzkYe^i~8(U`_oTz{qfVp202Eg)G>!WK9&?t#yb+AdJO9v=s4PVTXW+x#%fB#6?Z_= zaaV||6gTo5@PT(5XaV8Ma5Bn()d|+oOmwC%r~y2rFht$YsG(`lzZ8Of3+bDMkE}L! z!-6}1zV0a$o}1B-?Cf0vJ+_^WjRlBdbs#MQ@S8eHH3h*}GCJCr;e*`?`hByOfGG^M zO*`Bl3U2?Y^y{||S55pCHu`po<=Kn)IDmL%iyn%Rnv8MAFjURjgd9~5w(7VtYGCO3 zRG$b4O;Ref1LOn^mj z$Gk{LtuEdD#zauU+sUb@x6M>Qw7I(B42od)=#g^{%6S>(JF4@+iS}(?+1Vu9m>B!wYphescfo1XHlUF-@hr9AG(-&8d1JZesh!g}c2PeQ zcQw>9&t-;`xcX$%+mvqTYA{Ot7(+fxeqUn_pFYQ1!-r?D-Fsq%P~F>*s=(J9Bn;y& zt2%~lfi0qVhxTgH=z;{EH__hH7OX9`9sG!qg>FE3wZt6H`$)j74TW#G##?tTH8`+O z@GxMyq#e3PSNUPGxB>c31Y!5-ps z+A;CYeoma#89#x<%u>q4we6Kmhv|60^tB8l0AwQ@K8wk6;f*ALvbcX=W1O}-LAvLc zyVBZ8Ur?W7^OqgB85o#emU_pHInWH?S2W#{G6#*t(5b9eR8|=HW5$lV>ZB1UnKj5a z5k3L*6Lfbl2(r`tv;BuxQ^ubmCOvui?qAvU0}5~qynjcT-8y5R&llJpN@ic(pw&UM zrT02T;XJfSk%{XjAs(iDW`X>#Pv&;4#y zlIe5SNeUNJYe>Wn!fj}kECmGz#m`3J0|=pMqvJ+>8_aRM84Ug24K2ZDZ6soX2~yGM zqC$;FSKOwcui9FF?J5mp&3zY&MU3AG6<{0D@SB*n zVNt{w=P$v?8MY7~4L=Tv=t7@xF*4R*5Qz565tTE}1m^^OHMF|s%2&ejVjzr;A4t~D z{k*#8$ugvUkuVAiOa?|ZM`|I9?X)nTyYRR=umy59S!0P$^5Cr96Ji`fFqSqNN01Rv zz~nZ!0hVjV3vXx(^M)-QKS>#KMm$2V>dQS3w-k8|famKnVB1Q=YiOtN;Ka&gf{*AwD`=jR$+t zKYaZuO+WqaU1#gFm+##=%|d}?UPs>q7>Gz~1KX1WjBBPorKb-Z%x2=YI7S}@V-oz5 zMC97RHCQQ{c|4UFWLkB_=pEYyBEqTTf`=u&ny zv^f^qR(5bvb}wN3=T)eRk zF$)f3dG!HC_L@6;*FMVjTBOJ;cpa1o#e6PMZe|s3iZKrDv+Fr4t3a4n0zYwgJX4tR zq#*b=?(Ji?-IrJE)8XXuV@rn(+S%8!U^6xd5Q6$y36J6c)dR&aU7?KFCnYj4s){m{ zj1nZ{f%!hC^@1y*L;t$w83+bJMnFfdUzz(k=bwIjurJsY=iAtpXD{LXqvaoLrB=-# z3h_WS#rNRLf$PQFHHXNw?49M{hia1>8Ez-zNJo5VN6@uhP~Td#nj9--n03SnCyI>< ztwU(8AbK74)7YgL#K8NNYk~Zwx}knCrA@<0AGZhUm~bcp+0G_yZ^Lh8ZWZmB9(>zA^so_m8$d>bGzC)+q7W z>v#WL=N}I|2+1H23t$n{;e`qWZiWS4_)f`*jK!Ws)P@5Y1M%%d2d~$F_vwglZoc(6 zccnuv1LQsw+k(ergdk6V$thlK3RPQjXA`Z-}4V5d? z2eMg@17BA<*GfZ@0+3vnsg^y4s-}+Ray?Xagb^XYv$vlV_OpHHvGO1=q^um~1`G#HG`C#H4u0X~pQF_FIpu)#O ze;0v2s5`*b#rD#IxX4GE&WYYv4P2-dx~OU}4(Cxt3Fdy6egy&tK!YoRPBq`7g+PK? ztxLMXdJm`p zDF_Tzu@ibkf=kre`{>w+LTt9(koYxkVhbl0Sr^F;*U)GicLex=1xY;|>7(`FhM7kn zawvE_(2w|JBd`94}wqWO_V#-QEiv(i&$$(s}QtO+^RKk zRwnhr^-e6uxvz0E7KhQsj}{uSV^-c@s{iRH{rchC=kGVJAHM1DKD>2uefAQ?Yb(j*t3CYS?2-V(A*F`Ecxi4Fn%e{yykxK` zht9JJaJ|vyJu>`H_T}@xe9bQ}^@k7s^2<+eUhX`53E%r@LA0Hte9LumFR2Tc)Y5H?ij7th&npCV zp+*Z>Bf!@EgNp7jER7>OaU&r#(3C+w(iobveL+`| z0{}-Td{Y}VIp%%tgrdgk3cEdxR*4?=S}~bV6QY46i$vl}U>OG^-Z;6FmvoaEHiNC> zg`|P>sIvJ!Hc|`yha&S`19Wg;;L$f62hOQ222b`wblATnm;&kX7E|Eai}&7#TC;5f zlE6g9A;%>%5JAN=)qAsJ6388CkZoU^ zN5boJ8rr$UuvlCdTVu9*IK$#515>`mu}8@WICRAvs)?RPB71EVm;nnYaz#dFD0;vF zj4n>SFk|5Mx+(ll3+#|=%mbdFj``A2#@_i*f5K1qhA8>Ti}&9B zdYbu8Uj((g8<0UGtj=lx9ogI{&o6WFlWl{3-Pw9y8`<{m=oko&Adr&xL?O{dU6~VV z2nz&7xZ%7qdmn`B4b&Rh$FY4LL_|hsW~UMOtv!Ni&It2Z%@HBm!!Ng(MIgehzPmTv zf0n3i=hdbmPK|q(Y64!Tpr3XGz#Cr%6S2+ghkyYE-4}&a6e-sjr#&<`etf7utH1eP zeeUAD_n{J-?lH;C2K6%PQDnIpL7LA1>TEp<|L{GhJ5XFXdlS)%tgBYCr-7)#l4$T=ty%!iZCZ!zzG z$qzr}$B#ejTd&n;uissI@<&h_tSNKX+_BU;SRxQ~1wqAu==vn`w9D=x2-kRD*Hti{ z{g6|@*Dzpu+VDa_f4g-!6sO_Ky%Bd|yKKRgiI<;LI};P#Lw0|yA|8+Vchf>WKll)G zAB5=Eh7EX-5#~)NX&2@IIyvz5SiJC38qkShxH`|NYeY3>Kh&`qj@E#Q2IVK=8!4Vk z#N94gN@unEb-Jd2d2Lt~%pysA$vh3jN4#Zl!F!@1gR5g9xNL_3 zkwa>oM;drw?vtYt1H-mf?lssG^IO1%dXG$xLF@(g7)XSt3A)~U45=tW-TZ!+j#U11 zR2)WV1ox5sG!rd^4rZ)~(Yh@aB60Yi55_Sy&Mur555A~l_bP-#=nSjsfEtFEw}zkO z3WdiS(sPFo<<>Y@sJH5OIPhG*!mHN4H!ZMWt!y``@(7%Up5HvKrRNf|<|gL_)D7;_@1NlWog z%b0S~r<`UZ4n+e=u8qK0FVIcOhP!F@>$VzkGQ_VRpb=m6Q+)o}{_yS1ImELU?_Frb zMy(bC$PT_@M{Tof0>?_4mwvW813<>u$bl_1q36<#nSe%b=V}Rog5a?oet)8({>(|$AlhbHkL+&f#{Zz&_sth4+q9(CQ{*6(?{eS;Y7v zGb6{q52F((N}Oa5@#>^tF4)Gu!H(?4ihmE$jm^mfHWHD*^fT@c-@kqRQ0wL6o1*I{ zuibkU*Ku%mOISLJv8f(Ct6wEUIqY~VS0d*&cCf=rJGA*ct%J34MOT3?$pA2Q5{7;j zK593aLEvYq`KLKAp&CE6`V_HiCR$O#tp; zaa`ibM<7{{rZ%p{kU6;Z-ob{1Q%XDH6dQN%nfUop7%hf(7;YJyl+b=U_u$KKe)*ce z#^<-A{m)*y_o_IdGrf~_hx>J7hYt^kjU@z;{a&(nFKX3u%+#p`1lXuUgK_y};KWy4 z7b1dcb!7ukX7!nUDQHP8feAQ)uMfs_oD_W{psx3k@ai~glj&(^5p77(t{!sL;>ijb zfx{w#kgnizT(+C8Jph~azFh}F>4@z~>`enc;etvWl}NVXs2ExYh7POf7Ipd%=3Eqa zmBL^DK|g+c`TEw&^w|sdNMQP&BZaLAyFLpLgL*Q;n`btZdcyL0$!v%SS_FzQGszXR zEHxAgtAzo#3u}NnFgVG5oa?9(VjYRDdg&DR|GYouz|n`P==*6c_8N}7#{X^)#(yOba&fZ zh5(_ClgC`s?tzHEe))Qh_1{X6K6&BZ9q3PtllSTezr@++>XN)+u7r^I%rj zx2IQIpcqV^C@D%M(YQBTf1_W%e0VS3^6aI1RF!`Z1*=B1Y*v^?F-&abL(7VIbNLJ1w_Y{r={bbg`29O;RYxdVkYzILQ3#xBT=Lt>@XxcdyC)02;#Py+jg! zQ=5tx@x<1V03X)GlMdZj(2751<;k&VEd4TFi)mKPeIxU3BzcKW3v8B1}2uHzw#_FAU;;9q>aHFbFQ>isEq zv_YNwy6fd?r~)SeN79_NBvt)nj;{_`RQ-8qu28 z9SxP35NP1)*p8k+pa>7ZYBytJ@&Tt%StT7Vxf1gg3zJ&{U zroPd{nM=Ga@Uq)znSE*@KM@R9EkK{g0FgjCAz@RLAC=`)o9DaKVlYLL88up_7tseBE}`_3%WBug%de z2D&@9HbDVzNXZrge>3!C zo9Ngs$ha3ZC#%8b2rDeq5;hkci_J&k>^R444dukiSbE?C7a+LV$87lk>yhYGfh#wp zw*eeFsReZyBp(aF$>f2M7EOr9TZuB^TmeJ?p3NG|@m$^p7<2a~7qF~q2!rFkc3(Ce z5~2&Jy~-9>6Irbuq~-tk8b^CgqkYr2cxlgG!1oTRycb&g6C)WK$_ynNa;uYYQ3A>Z zv`sN>IKD2(PIU|gLZ`OAXDH{eHr8azVdtud;xUXFI z@2VUOw|7h2wyX#PC||V6Kw{v6sI^mSjQcDk`fN%cX9f4BBcQD9aiaH8amsLw91ck$ zY{IJsoRB7^kYt9H&z)n^bSCdf{oyM0$AzbdP~7jw+iDvZGpL*_a4*283LHzii#31MR>$$(X@Px67;4)*xo|C6qvpc7 z4-c)OEo>ViCbf3$DVt^=O(waPa~C`)}z$KV15zwXpAP%ldH}d zG4T9d()Ad17;}k@42!t|*^YuXaMIpYu&|k;B7t`>F5Z06ajJVt3Axd)fB4xxzcu%L z_R_ug{Oz02Z@?3uaQC-2i`InrVKr^|rLYyklq{z^WNd`eSsxDQd0#=GGo0=S5)7p3 zuqht~fed!`WKNj1LvEniwOThbPla=8IbOFUtLYlf*dka09K=)EQB|x96H&umv=Pb^_vw6bXaE>gJ zglcUA+(9xXRpe0kb=rXif<`O|Mq1aIf-qRf{Y1ma)*+`NA{xE$dm8JK1>;4^ED>7C zd(3ieJ>YUXP>;q%If=vY)?*Umv+tCp4CnWzYMU0G=%;Zl+`C<9X1FS#kpoW90G*!$810M!vw zK07!(V+>4os&F~BBo6ek=*q;DJ!arkEf+$*jPUqzg(+*r{eu-z#I4Y@H^3DLS`#E> zfesr4cbWhxfbLP^1F~zL9zz|nY2mZ3JJp#x7a>SFI^7X?nANA!EUaD_RfSlgj_;nS}_+nZ0~XD{Jl`TXhYhoAKK`EGgY*{k^2dHg==Zv&iq zo`!O43E}PRbOOaX*<2f-t5&unj<#I^<fId7{z5Wn1=LHeGf11v>57j7TVmLNpE0wP5+xDs1Q zYXh7Qh^_n}L!H|24+Tr173$6e3HNSoM@dPxOGKxXGqXg z5GRX9TRFM*u^sIKvxD+xTpgyZvkFhJpceD7JY{qCwzc6!TfUDV8M_)tO104YQ*@mm zIyX7n7uz{QC?#WwnK&TC;%FJoJ@&Ez-#z98+5(buLt|y{wky#$r=5ivv;gmN^uCGu zhu`J54=+%nl-quNyq`TwI>Z1V!dE+sYXD>boB`f-V!ta||s69{pj^C6&vt&)lB>4=#9oVFA9 z{Q}+ZMvkgqgIowOK>m{!V6oV=&7A`XrC$4-5s(8Yl36DAO z1pzTdONtD(S}P81bGR*#xY2%an@jFom*1Fv%{4##KW}|wpS^VVk97RlE@>Z0p>Xg7 z=qU;CpIaV9k90&7_T<|=Q_*WWUCg!%Se{@cL9-~Qok9pF`*F@mu#ln?1in0H7v{*%Z2Q!9_9?Sg zFum?nTJ^3CZPCG{3c3}nWSiam;LD9S;U!_1xcBnB4<`QlB@;lzw;sVyUbsJvF*a5U)V9q+DRNzguWI*uxxe}J;`!m* zm$$Y`&tAFr@Jr45T;!5P_+4#di-7dmC#nm<&=Mkj1?1drJfc9|Y%PXI?xJzvV$nm$ zgR%NSE5w9=x?o(IMcaeyj5X|1gdmVGaS)i@=0l7$)N`U*vGn@wJ^M0WbVy)Y$h+QFQ)=V?7%pbA%DmVNbF0D@pdFozHh4m%pR-eB@0!r^G`NZ9u<7T|r4 zk^apE`~K&A>l1zU%Ds0;g%B(1%wp-hoB8!BhrJut(~V1r91VB6%WyxPr|&?HdBnl! zt^>Zeht3IhrlBri3l&i??olV2tHzoV0)?aXp6Dc6O4KBI2&L(vTm^xh zU8}?sMNT-c74Yo2HXyQPnA0Qz^b_BO0s8{-e4JW@ZLdk79|4+HkM0x715nZe9O2H? z7VfdT=)GX`S6}nz-@iF6eD=D%chM>bM>fo$bGvtqJRM{s1GPR9F6TjDz<|AnRGn^^ zxxsK{)Zo!1k={9J>FkFuy!I$wse2gfF<5RVPjFKVc6jF&Gt7on2Xhh*L8nx??@2jn| zI#h;uX6T%NiV>TU30fu@gE3`}iLN2YwFuloGCio8D_m#;z)VtbqQJ*5#D4WYAw=5` z+^Z&l9nS-!{3K28t9CbNd~)I_KF`L_DGM*a#ytb63mbjY~6WL(m#;e{@&S!z`r#PeW(A{X9KnzSuf830Fthth0zR^u)BvHQ$KX}?;r z&s08P)gNxq|Kc*F&tAayVrkfe*Ohgr%kr8eJrOaVtAH&ACsJ}B^=f;W@Bw5ojk;iC zCR6&tzMigLNKBl(vuUTf@oF5y8zmr&6Zrvw%zMtI6Rpp^<33jcZzgmJRJLy00iTCJ z1Y^(Mmh5y2>?@62X$)Ot-8jRv`DmwA;v(ATfGfE!(Xk&k43^p%8imjVHDyRKXQ1vH zz_*BZy6S_sOY~14|9|yV&tAem`Dp*&_D5RqbvSpHw#OJW2fi(SoX1rBvhW7mG?IKe zw?VoA-Pqj@p8zEr0=`Cz^B@kp!cT*Aah{dX8ao~_%zS10JdU?hj^pQIwa)X-h1h;M zFd7p$B_Nf6UzgX*u!IX1oZS^COhjcH?!APUHQY}TL@*@68-=-THW%;#bAf*&6?&xi zb8ux>ZFSU1T`{HVJm#D&>ONii!S?<+fByXPZ*Ps2p1pp5`nmpB-iJaX2qgy@l$7eL z;duwAm7^ws2SUf6wHqR<1Z0k4?`c0Ctvm28|lblE)_?qBhYZ%RDA2 zr%#0vdez>KhSmW7A_7NI03@f+E;?f#YI~6$AGwj8SX`I=9B>efns{#_?%r1|Yu42V z%H-hVaf&TleLC-cmDH9=%`0E9_Bo2ordH$abbr_W?VtUwK6~x%-&Ov>aKXa^aIeA0 zNG(2R)Cl0l0W&akxS`s{QGWH-vL}iKu{u~9xoeK1b}h(t0ljqwWf?*VNK1C`pe_hG ze(6FODNiw}>mqU7@svayjqSjR0WGvj;nRf<0dYIri?$h{H80|3xX$VaWSn;9<)%6p z@W@BUld8i?(So@E0iF9`_AukXVTPw~3)JjL1Q#||{lSv`A0qA7H{YsHUbg#zb^Vv~ zI{A$zHDD|a+P)qOdX9=Oa0+!Us9xbe`v6amOA zxM|zl2?jVzu#F~0)y7-G#2BvO2XqU9cBBnHL$r;k0Y(%sgfP-~I2u?`fRlj34W#3A znv5YL(f2ugY#Jf&b2i8~UfMVKvg1rg0eI?beVd$*~}CPq{S9m9~0-ihD_34M@Bl*qOX;VfJTwG)US6O|e@yS#MB-i!u!g9Ykf zdWNlXt!b?pcMWMwdq+2#rGyh+LYW5yXWrvzOO%h-)-`9V2G={(5Iy50Se>G6W7?-p zQR6K%mVAdaIIbJ7Rf49*l-w&(vpFmsBZdT-)laHg$!Q#JLjo?oi!q8_7BE})bc?J1 zgew{hmcHaiedn6y*{k^8HBHN+GqIia-I`pq>kYMZ_mvH$md=Sw={ZlUQ!XGG#N{Me zc%t+MsQ6`U-#w@axy*SAq;wDfg8Lzx8m+wzssr`@J zU)1!`XF&mWZ5;i&kC6pGM|z7jxdNlgOn3ZAnbdJP9lN(txCMdN8Tm|^OQw#FZ95$X z#i8I77E4k?K2FC5DJ3fi~?OWux^!L80 zPhPtF-0%l`zk!$y)5@u;O?>d5k*S26VhV=W;vhR#r|U(*qFabo4ToxJ@tQr|?QG!a zyv-U^lXTeLj!Tl-z^G&BGigzF5T`a7K~$LcZ)#22y}?LC1LLD&w8YJqHwel}SrG4; zBXmaa&ZEcG4;&H)Q==vG${bLfb_8`ggwz&W%;h{5w+X$M^2W4+MsHVTF(jh1-w&(5 ziC=&DnE#qz-ogkxd+8qG5a0XeyL%O(4{^|0Aal&O1pmHtiq3IihHJ<4jKqU6T@bGs zat7mG<@8aNc1i-5SUi>usQGfO9Lw@B7#IfHCx$09*ILejvgUal?T47)RtB&IL7ou% zo;DNoT%1kLj&t$Nshv@-iTqh@1MmD5jv)&=Vr543Zmuzx`G6zdPG9WowRRSgLz^vm zl#fBE0IS{)sek>8e#y5pEze%Kcg>DCiL*I#hfN~!YhKM8?THL^;LkcU)^x_r;8>$K z?nCUfVQCU|3Iea*_GqRZw8Wm!P(U0LJB;$0xhwuH=0LHe6PYTwSNp*zwnhwW|4_oN zE>wVjrED4HGSEwd@eYo|}UN+|dvVK@WSKjpU^W&sl}>c*yDl6krIxLRTx0 zljk`(Ur(k7%9VCEJO1^T{QCLhn-AS*FWiq0^nd$Bzxhx9>-Qh@|NQjJ&;RrIzy9xz zGS&a|`4?nd_2d6wzrK9@_VVd}_s>87qTl|P@Bi@s@p_g;T4RlrQK*w7E^n>er9olF zT040|ORFzK`Q!$pb)N0C!HYA@$dJV*9#4 zxw&WjgXgfA*jCJ`z_u@Lw0SxM76Q~Yp>8arZMdqD>1z#?;aDPQ@4G?Fr{oi?ajfK%R?FI0ealKJg!4H&P$`)qMZv!}{4P_}EQ<9TxjKJ84=D z8z7=G(iwt?<~Rqwq(UPzLi)_L4p>j1Jpz}5|DgM{Ze*-J!dvgscAkD{Z{$BtJ6%Sj z<-6Mu++9OS;udorG_~)k(!ZSV_Olo6{(=4|MkYFCSLi_0a$>GAV$#lN*!jhZGXk00 z!5H1{q1f!Z;=DCP4u1J$fhe?j(^fo=+RnzZsYN@1X7wBeXWO2m3w1ojvU=`QeBV%A zN)*U9EwWw69)JR%&h>*jBW+?Ph1R348uS-FtiFIWdo1vky!n2ZUxRvuQNI zb?pkjx@nIo0x_N8KsYp)UNeKkNX^4IvTdz-8e z%+y$wLfb*hTxq&2`15kq0Olq!B?N=R13YJI6D&Cx z9;abab&%{=3eePMEDRQr1_W6`la!s;^-yFywtMY+ko32a*oJ(`uU|iW)3P3vG{Xm)tkcjPk22DK;xctEWh*Y}z zl>pY-ea;*XTGozX0i1H9ZlQ)S*+Bp%TE|>o_Ute|D)dj2ykidqK(QkNdT(j`%`YE5 zes=x#W}WKEEBDCa|BjFt60g3p)^U}~Yr*K;=SH+v=Yj1<@T(y{x?I(PgwF6_Hzx;- zd1RPz_%w`pi_TKmW_uf^9VyTYyB;TtNo%Zjsp7c&Sl#dD^l;TKSuhSEu{37$orrTc zh|1>_wX=Y39t@C5$MZO0`U1T5&^n~q6unp>h z(>3*pu8m3B^FXEDeK;z+UC~}|5 zJ)?oC(qiM!q$bfu+AN1b1wyXr3uaBjJoy}*eT`907q7QLq?!b-nYSW9SkArF`kRUm zUq8P1o4L|wFWr6Q{{tYr=E^0|Id>kL*TuO78nxl}@A5}u9FDIB@G@V%z6ka9Y+e&O$aTwr~!2N^pPgPu~Xg&^mCPG@R9OaeSs8 zh;0IqOTloJVrfH}caKJ;9Db%RLNrECGN5!B1DB!;x$KVXyh~M`D^D^2_Hh-`*4|KYJA)XAs{Lh(`v9 z8grlr($8*<56XvqLB=sRv~-{qUym{+KcPE70hZpU969A3x}%u9w4i#5z#e$Y0J3LqK=C|$ zYGS|AFwhXPmWzQ;2OB9G>|gD~eZ%y(fC{`jgLwAZ-6Ksu=1Qn~d$ZV6vz;Eqm%CT0 z&wY@5Y&Jao%(>_a1+5l3HynMV<3(=@DT2*Jz(|(+H9nt;Qi5jp;t&_usa+6&Um(H3 zH*;vGJ@n+TAsiWE80$)6;Z1St%)7O!NPzM2zP4Oj`lP1Zgejzmj3Vw;#H z;h8wcKpE+x81-JuFu23-#oALtqIzbE5LeeGe$G57EJ0rb)p-FAsRwGq?AqBt+JL5OBwk|Y zv_ZBE*DzPpH*`ZoG6)ak%85sFo!$fvx3L!LRh{(+vNQLQ(tq^NA3x?R(B=0pUtit= z%|3et-@Aa7PHA%sHii>G<<=PIh;gZB=NM59<3Y8D4bG0Y&uJ~3 z2S`s5U8Ugho(!;#z^}f-podSCy$AZGE{zfG0Yep+)6)qPGQHot?ViwbX-C1vbW>!} z;uQ(m2q0v0KsN>n=kW!u^PJ5t;oG*+Pw;ZklJ}%U1A`(CChLd6kh78GYiw+yS%INw zv#pW}>xh~^q|?6snQ!T{m+n2aW0V#so-3B_q8d5qOKj>8{*Qt>zkI78(ifjnAg z8US*1>!y1G1l2aM`9-JjZDGFtcDTk*g*C_&R|c}ViVY17CYE{b(|j58I+E;3^Pq)| zO8%J#pUtUt`3zcWZ0^n-sK2Idp}NpJ>Q!x6H6UA|nGsFtQ@2KebDwjJV>mX9!7yx& z1RZ4!U)BX_-QVgc0d8AeYDT4(~s_f>G#wKFT$Qt zxI@4mM5Cr=ZBJ3sr6_%o%2;RnIU^TepzWpZEt{h;ZKL&e=ISGqHYV9QpxwNBV%;8| zzMBZj1neEVjnx4(7Z&rK)`i3sKa!7ddQ&#Lq*1>LTLwOFg%2AUm^fR!j$b-ms)6~uM+GTA0|bNJOORy-wO6OpOsx}(_TG@}K^`=<9Q@|)t)Q@Id+_T#n~dg|!iM(^T0xLg z{-xiOKYRTi@5#TvSx;9!r>@RkSoEoQZ=Kcr%H1|&f?k9V<8f#L^vQNu4i#Mp-~%C0 ztFap)&k-@7ZU+{?V*-Q7QAL;tzM_LPs@z!hS z8CXhkJGcf*QywhzO$j9J5JbeDMGJz#ToYq0D7#3q(T1q(kk*(A7H;41Ajb2{MQg4Bgm1{o(fQYvw%lnG=6095UpLDj^wqX9*fmU?Or3Em|5O#JLX3IS0nd>%WN6 zi+4q$r8kIBe#u2cP8uGssX7k}?|a{zKzRTGY4==K!!W8Tj7Aa2?-PeP^z=Ie_`NsG zKi)tFJcCaj(d(d53&NnYU|}dbur(-U5uy4jAluFBhIN22%fvWiyujL?sf(e)9Si111cE_y^*m920BltpVGGZ3 zJyUp9GoMM|Q>OBE2A1&kr`o@M>2KeD{`PK3H=Y{rHp9_u!Z zCH<%t13e(hb)inOLOw(}r!8OXvo7KZw1J_U>8=59kugpcoH7qo!$tE{V;Uc*rrS7H2Q$`T zh%`L(m%yPOv<2TQ3YE#yJ$Bn!YaV8?{pP3oZy}@lOMLqS)br&-9RFvp<42X&3t#Md zu$chmKpMZ<#iMOP9SupAyH=Xn~m^4&7c1LyVTLo zUbc_+zdHQpp{k5hwZuRMj}Z(eZH+;Kd#$ATdBwc68VQJj23UvlVXVGjt(xC!OhSU$RkDnvJhaQ9}~cMH(F zdV`H0pT<7g1Y$jYc@S%$+Twh`T##J2XP)QQuC6dbeQt4G2M@eaq8L2u^|1Oc`iCFB z{_@-VeD+UXx!3LQAG{A|y=NVKr($h%cx`a6QL~BeLbVI%Ih)4EWcpqUbX`fs&9cdc z5y1DDwvXW*;2>i&qN~Ph?i^bwV-aWI~lsEKXafIGgvQw5jZhDYm=P3hywNscZ% zxwrTL0*!VppzC`v1`Sro4B|MTV;ZIarw@j71yE}uK8iVA&cO#}o8x1x9%uR13c(q7 zEoP55fQY~S7C)Vzf6V{(+xwb~PhPx_80~iN=_iEj<_ZQU1r7+lx0S-s45QtW1+X** zRcnAD9Xh+0gCG+(CMjU{rXWmnZ`(r=z>0^=kOhk!x?hrW9)LH-1FiO+uNx(bbuj0_ z+?ui>*y6kU;L;dd*R{OvMN)Jun7Z&xrrk*X-aTVp202WYN+*(dese5Sx=yn^*6nE9 z_NWZj9%q?t^Fj@JA8vd3Q2)2T|KaC+FLw6HtM-pSP5*~{XcB-nfquu(e$WV0C%195 z3&+tIR*if}Lz&ey4B4BrF?6*+TdXcg2swf?8+=ft_Go9rSRe#&HG4o%owhJe@yV_6 z^bB5y4g~?tNCS|4o~YUdcRTp3ccpJ?ghp!MeKJ`Lx;$IOdleNO^H@85AmQTfiZ;Ic zj(yE}7AH=st|5e7BwRO!aX&S<(eZ|i_P75db@nd5`;!;%qm9vC0n2???bcn=YCVy0 z_nz$du4nVb3&=0rUZ53dE!LIJ8>nz>Q}LsKYwsA*m`ilfMN!mFJ7k8pANv9LdwVs` zU52`SzJWsQ#gp&2tCu}no1|Mr&zNw5E>ALKAgi8{zS=zd>V<=flCub#PDi|?&ID>9 zvEZZm>@7h4z>QNf#J~tYJnt23G?u20_Sc{2-~N6|B2D*zEQ+roXAZpX+Y$(Dx@wVUI84bzczy$|JUCtKPEeCAOwe_NeFjzu8 z2cqPA$1}cx8X)Hg8fAU2F+PIV_vjj<4J^T2K=2^8dqsUotQrS81-xW!-vGL^30Ied z5D*Gc5OtxWzvsbGrO#eDubJX_3b5mm@Cn!&gpi!rG{JyI z_Vxa^FY)gF=(E@FBQX21GXb0$t4)TZu>FwK&RW7P!%SQh*T^RT84t+k*3vcR$S3tU z0X6Qe_mnP}B^Wuc5wZ}OpZmDtyj&AkfDj-)u7b6j)aexraKjjpEoa1>+ZttmUsR^J zcgA-Vs_C@~2B~(#B0NVKrSLOb_d(HgB|0kUlgkFHdbP2-Wt6}vzWA17o3$C$Iefwe zmdO9&b3N~VuAjYrA6~oZUKmi`Mm?4RxZlW)Y|OxSw4i>sY6}Ms#(I-(px(wHvwH_b zqK%udxd?Mwz7tdDxdnQ1)rIRYd2mqJ7{=|y?6XmXn)403P)OJ1*y$cHwMZmVmoo5| z#l?U59w!*2@TZ<>dqg3FgrV<{k@LYSqgS=h>5&qw;09ysvcLh20_{9%4PU-$%F1JY zg#ArF>RWjpC!heQH|44vB!B1fSY$dLN0JS zSyr#!7f{JPxz4e}Z|XEZe*NKx{`TctJ6n?&cwz+KpWFi3iNbZF_~Pk9 zr0eyP9M+07NDbFO1n(^LOx$^1+`;u308j0j$Po5D=3|m=vdb5E6B+`jnly(Rk)PTS zRPQ=Kf2Juf7twvMCj&t@oSPtMmOAJD0rB|%{_fYWKOGP}zWwE|zyAIa|C6upjvqdG z0bjSl{>Lr3-cfa+VA`p(<0Rw40satxqMjQc+~+Nh^K=K5iOsL6?91PMGQLLas(`%% zff{!ZN@};nM)z6DcH}i-n?T0vz=;5qve!sqf&Ura7keVVZVs)r%FZnWT^g*Z5ZjQW zTx9nwI|+Zm0TYF4-m4)iYMl=FilyxuFGfunTocDKHE9mjd!8mz4*Zb=TBBE#_d}_C z82sP*KmE0TeJ|7f*-Q93S^5W1Ks+{3JPH7T8zwRDdhWa?IA5U8;p99e%QkoVB%-2!y)#V}6|NRp5__R80f)|%F{%{bU-?y=9U zGclz#aLotBEQ`KMpsjRJr2BEGhz{>T>+5Q=CeRiUJtnG-nElU2t~ zBWGOeR)!|xxCCe|2u|tEC0F6jGr6?)Jq#M%@&NQa=a!QfWI4(sQDfJr1DW~C$~6Qb zx;IoqY-@0e10$G6)3~@fb?_BzGGWh{8|h2*jQmQg*jiA7+r|VY4<5UqobQPt?Vti@ zmZ{oSEtfgqJi=~sXU@9YDdZtcRkE_VTqdxZ9j)<7WnBt)KZG;)TZK30I*S1FQG&<4h zlc&t&FdRbe1B2M(F5u@+Jnj>r$&K3!p4R|%1qc#Bt-*@9 z>TbnYhg=r}W{+^i&M=*YYlGcuE*i67W`M2pHQn;JUw``T=Z|v`pS^gmzf<}j7>I_D z2^yUxg9gCK192dRFr*fn={yak=(Op9x&!e&w7V0M97j zm;?3+J^UO61)7*`#3WzG60q9ls&$EK?Z`+0}Ynn9(_vmkf@0Q(kC=jvi0d+!;_4;!asQD(YRY1qTJvhiN_L<{g z0u>n5WRDesF5FH)QDT|mJ_J@HBv?FZ!McFoMFukz@e@gD*}8YH8Xb^R7fl7DecFz3 zP*i)pU;VpZzEu2F{RoWS`@Meh>b*XM|A5<}BA^H59_laon=;qBBE*EhmL z34vD%x<`5WOuHxh;^8*#W0D#wl0d8vEUE6AxUFu`i?`&xfR5nmYpiuAPv5U&3CQ4R zMaw)s9$y%pDYDmbN?!|y{L1Rf7dj#nAPRXIk?1Bc?veM2H4qL%YIdWSx+^Ea!#9aq zX=bGf6jq3vLR^iS2PPSBQlr0p{jtxNpa1&aKKQej?(Nz2`#v}*(cl>vcnM6iC8X#2 zIyFkGF@I(#DQpX#CB};B<PEJ#6%H*{c=*tH;F=jwVTtis9$zRI4+e$KOyg zP}Bzi`4v2&5!?*N#yMyANIRhwr~UZ{j`BAp;Xp zR$s1$BOEum7svY++uHgpFwug_1Ml}Pw1oUX4a?EUCJ*YU`SMfe2w`jWFFbku8{`S+CpME~? zc2+-m?cSP_e@BbrY*Y+HI>PKaYhipdeaWyfO%_c%4z!Jw!T}LJ@Zvv!OQ0MSY{;Xe zC$J1~APBU@aU8T$T_=4B4FP_km=lrUjXkq6$Ag@sslat8M=aKIWrCJ-cw6c5qSV9ko5SipYqWhH< z`!C?0`V#LBAwGNMJ{kw-#5{Cd!tQY6R-=2k(>^3jcqi<$hf2d~2S$;sYT|}Yn$N(- zPA4s!HHH>Xh)roN5XtwM*OU)Wd|#W6?b?GTBd)`69Q1ta$$)gV75O{(VvwI*r?(|) zPsjIIc5ab1YJZKl=N%ar?Q9`+1D@Txc3!QPo<(&Hv^RE)s48yg{Le|=%=iohCXm02WZQyzk;$Y59b8@JeItC0a14{3k zuQ|iU*#ry}Leq^H5R^blLdFan4?SxM<=Q;=2(t9Zo4F25n1SgNC2%K8`YxccEUxf8 zj2+TwoH3Q20uHcT**YM!Vj!_+;lAr1zg~a+`r|J@^q22Kl=qTMpS*k@{ctfM$H_ev zWmiN7jMcE4!=Aj(i4D65jTS~gQw>C~3Hq>7ih39xdlAr_O$aPb;!OvSDnV#aPzw!s z#1kkwPdW`T<2p-EzkaMamFEh?>FYo-IL%>WH`?hPnsN~M zs?kUe1IDmxsza%8#%UoB=HXM$gjn3i$wv`6_9egf6u;3Y$1mT0&Uo**`pN6|5r+NY z>`_!jkPU(;7HFe0E^dgyR>c&~=E0w-7gpdEPbgy+csc9Lijm{l^&yOo6#NPt$u*Ge z%+*;yDMC1pV*gzZ%mpLDV_WNNx+@>y#j7Brpw$=RPK> z1bQXLh7zks;6-_7NNx|=$V-otiahBP@`El)E5V>V%>WL<5&Fj2iS*L*BmL_)$TNO; z@5=SFm++&XDg#-nT4lg=-h==i1qhHs8pNhqCEQt>ic~<*h4i%s#=nH&t1zX`a0j{27#y4<(z{m7vjk*s3!1j5q$lxt-8KE& z`|Fqg^6l$y{rm9nOZ@ipkMHKbKYJbDe!lDbMb3q|D+ouaWfMI!+Mtm5KGHJ{$HCz~ z8zX?E)mN51>8nkIO5&EGaspB7$Wa&8zMTsLp%eFFY66U#cy9AWy)qV#Bgwby^{0E& zfu5W>6Wb2n9Sm_m$4V2Px2-`qK0T$Bg9*W_+YAy$Gh0a}wMqkVpcFa@Ex{VjA zxnoYA@n#@VluflSt)2q{sY`?z=n*8n<803>b4t?Y-K&$)OhzP=-Qt2 ziCu+fP^n=3z}dGPIPrT<8H}dWZQTR_X-@BPgcSzDoA-*rpNSegCMDZ1P7ijTmS3~o zD^92w4FMhOhWQe-+JqK3Ew96fwfUy`Xgx>moGgIP0vWT|< z5fXg9&+7LfjM4W^=pGNQ4m{!}LKJP8PefDt)3>;42I!tUCbc^LsjqUn{*p@whEC$G&X49EDHJN)$gOTaxOdOJ1XgB1Yy7qqQSwM$@Wfck_~MJJ#OI5|>jB zBW4e@?U7cTlhF#T*yVMLBCzRlFIqkccR%JQfKyi0%V`hul8{!Jz43_xYV_tpuD<^A zm;Ux8+^`Cs)DO0%k)``i%Bte zz79PzU=-r$49%&Cm>izA&Prc!Mi8^0V7wEFtUX{xdj<0#tlq)6x4=kP*0G@=B`+Ld zX@vT%!p-WL^Gqn%#&}BG2pIMTx2gvMLjFjJa+T{I1+vvRjH{oMLKTTu-V)@UjFyx? zaJAQ$>5oU>uQ`79y1gA4et(%>NT)US<-?5}Ih8%61U&a~n%gcI$gaIFeC+E`WZkjw zR#O}I8i3?Nh1E|ET+(AtBVOkqpnKv71EI~eFvz^$PX@DW?rA%@F>&e*(XQCw8i!Y}q4haRUX47Jm6SF=*87sgOKFrNTY zJ*Z@6v(>9O>~Fq({iT0AWaGW&>L)MV+e+N`pJ?X}Fld+L*lyRs#z5ZU!JRiQN=gta zIdo!n7LCg!V2>R}qYDKE&n#*!O$AN6*HV@nh;1WxXA425i zUIGnYA)+|l>W*Wu7w>_`q`qd-{@Jg8iT8h^pS^Bxv9Z6OPYX2ibHEV6tpi>J^R_GC zrRzd&2~jjSrt(NBv0+;raE{_^oH!CjlQ9m<)KXGhNgM7=#3AwY4|rQZ-_seJal3)p zd|{jT`pDf$TQ&oe>U9F+hg;F!>&@n?wv#FCokUH&C&dwMfu3H zThVgA1zsbPTMePhWg(hKChu`64JKrFV1*7nbtd%ve zsCVxi&wFg6Ona@;8exvtLn*>njfpjQU>o-K#RsFpQ96U23!3D}bGVO1IVfS`^R7rQ zwISIaZqa_n5)MM&cjGNQ@K{8(KLsmxR#GqcLx3aQ(-;@AAAP7l#(R^7&tAN@AL{p) zsiPyHS$j2NK9(EZ9Hhmk-0g*GwlrOY%9++_3xl?ahd7|+xPi*pw3!vJ^ioHnaiBj8 za7+<|S0sQKU0Jmd%|6yE4s?WXnvQ>#C+}yk+uJAa_sP+`15E5O5J^#=JNp%!4~=FzRrhE3Sp}Rx%H@6mS!; zFMZt{JsVb?yN_N{Uvtg9+XWGT9Jiu+<|VU-86`3h?RTUYFjRHq-H*!HS8Rpg?hCGR z7}Ee}olV!a$7BcXd50Gw^Jr;+iA4M=!T9IDeEH$)kMDB2KYQUm!o}Jg8uK_0 zXf+-zQ+v!c5IfN4k5!-^8##(A=oWaHC>JH#he4uwC&UDpiy^3Cd(F;V5qC}4AxM2d z5%JuLg1<2Dd~K~l>`tH|yECYNm-n-~C;$OgLOu>kd8R`#g+Bv?DMi$mP_-z5;^*)= z$Juq#w9Ul`*$_9)1CApsY>1k1#>Aa9a|4KT9MIC& z2;uisX#DyUy*E7ij9+Tkcg5AaC90qPr4j=mrsC>^a<0qcMSPGPD&t2;(s zn`IXXqQ~_i5G@{;I(kLmVtTy+N6c~npg&QnKn#8I%(5D6Lucrsm{<6~d#Bzzb|K0$ z8g@kNE9CO&o(JU3g*kdAndT96vQ3Ae+8K&c%JY!BEeiqQLs}oU-QMH1eD>14npFR& z&-A*tn4B^Ot`!DgL=!$2BzNXqaxm#wEpB7faEqZaFkdrB>-Zt|Lk|tiu3@|ZEyK(W z+!Hr+pk(Xbc>@IAI=Wk*+s$!(y#7v2_MYmAMREv(N`P@TmSKGt;^_jmvD%zt;uvm) zX+fz?ur^g(osgj>DaO=>X~ZfN_i^Eo19Y^#1>>IG8?ZCpcU1C3p7Yhuc=~?*slS}~ zEx!En?dM5;ua3E{D*7Sxf(csYx*-hK*&F@5*F(Tr}h1N=y* z-NXzK*K6XSM5V_8EEObeJ-)Tsz*F8-I&!VGVeHCaoKk>wrPm<$pDLXH*=zUunXca_ zzDWKPQQEfTLUki;Fiwxg{re6Ozs|%og{G{)+^P-@@&Xio z^Txjocl^kR(8|K-ywDj@%~2=bRHKFqhJDg~89T@ebcx8$O+RF3DHCa6ow{uwLR?Ri1tB7A?M+vRDgLqzN zn)VzY2_imRJJTpe`CbHAKyLFDBY0whK5<_%gAd#=uTi8$kYO2SeivU~jAsfB9kR#vBT z?R7x-H}&(6KgLhzU5xW*FWu{2Y5o3@-k9?Op8%FmhvBQiqGMq5ucgn;h~?rlPlcgu z4N{FXtRTApx{;^-DT+tiAsPT{yYxQS?8Zb_Z8`vij4y8A*_4A5@T>7k)IU6s`!ZZl z?L@u1SyZL2Y)QG`=-(uO(6Vh{?m|6s2G0|48^nh+ufynY^xMX@8Db9Cx` zrHYO){H#KxSMHVz8gugV*qn8rQEDfu!xICf!;5G8xp4H%RBBZm;YK$Bz+ zW6f1+;JS^LU50DkH_&y*2Mfg;I}C+m(6pSx3KDvm1E<-vGF&yIGjUJVUgO}X&lAGn zcJMKPTp*-0XAhg`ovW^+xSHdhFwz$Y1A@Utc&+3a$6p`7-~;^h*B`ULef-IO_6mLk zE>sY1P(LV1zdjmw8WXx0OIYRTu#R3ZtvC^M@MHEIqT&ZTzub09Z~?7gT%mgg@L)va z4LJ0!kk~S5Vpbo5Q9W|kbLzQaZ@|to2qo_r6Hs&##Gu(qcU&}aaaPaf1(8XmW?2VX zGmbP*)fp484v^2wQBl}@7(B9CNAN5_5R<^Xo&zL-GbR^r<#=AQZ)(SQ4*&Ywx353_ z{ks76&t19?Wi_Vg+u!4kt~x3p;~}Zx<{qL;NMLzmCj#$q>`^w9Rv^TfaeY)Z_659V z3EN2@y9#Czbsgj0T?)^zZrSjbo-^}YjAU!v^+xKK8`T1Y=hul)GYc0F9Cr4ga}fqg zyrzaUR50ZLRBn890oug^2LdF3fy;oIcXB!MBY0aOdhZV6eMAPvHw>5Xsw$hi=6wy~ zKOgA>cYZI%^2tm0(QQo+U@#CAfbR;{H0-dZpb9u{EeuL|2oa80geyY12c2MyqCsif zg2wx_hzk`h!xf3hl&qz7sGF3rxCcOGW`nwR(0uH5^j2v-kJrfNh93aIkmHW5=hLhZ zQBz+H03k%)`=T}DQr~Yu#LlT|sG~0aGw{BRz3W;E+|{sJ$~m*P@@i#w;jZSOXVVRSVY_7b|(U0vW!18Q$}N!^|A$Uy^EJ9u8S0 zF=otsZFTLMN7mh#k}u3UpJqg@1~8@OMhfHB1e@Gxobor~3(S=gH&U7w`}Ucd$_E+W z7*3#tD*VPgVP@nzvBeosI#J31ZXG*c?SeVZG^6IeHm2XWu}ufxK>`yJQ)(Wm;^tM}2TdWTFU;|clLxE#I{!T!rbZaJH<(!SVMgCRCpkI=B7 z6E+4HRG+~0>Xq(N5{WxheV>Omy}%w%M(zE`EU*two*O(c7v(p7)IXEX`m>krtt0o3 zoG(l}2SSPFkrm{g-CTHffi-VSaHRd-aBwOGn-_ zSrL>348OWeaE8{~yn5V2iR9+%RKE}J0oIE5uH5Q7@ozE<0K5|^9$k$}nfatuYm5%J|2~v(H|> z*I%msG1*sW2prsS1qcCNU<7DVpX3B^^oBdkQ~5Xzhd({YMzmlVV=XK?VXS@b6dlX# zit7oGGoM8HglG__%bMe0kx z#)(LC+VadjRmK!VNUk%>O{9BubRVv{S1#XWIuwOJu;rqyW8pd#RnkZ1{@!KH*Zb}` z|C5*Qm9-Qf=pr%h0^+1bWZ77ODcQVh zQ2<2}!+p~hbS9C64Bp}0$j+s;#R~ zFj5FbFtDF6=L+hl1yD_7oT7W9oOkYBor@eJ_IcdPj8Edt+zYcf7~`4uL(oF%nqSW{ z|K|Si*I)ngk4nbxol`$~4L^FZf>2Tj`y_6Mj{4pM3f?jqvV10tTU9nriWBIRbGGqTK@V`{J{v(YJ`MM@+pGfIrtl_JyN*@|6cv4<31Tb4JkR7nNw-)dSaFfDVEBH6=(de9g03s(X8?Iy2@5VgFHajP^VE2{-f3e$ z6U67RA}#|nTwiBTQF2DeMab2j9`-s%Q|=J_Ljvu=1t7cGl5ld9N`4an{vFuSQSUXQ zK6~*#9O=u=IIKnfigG~jS=3l#soC}ftJpD zfs>!(JamoD>gkAK4I{@Ls7{|z*$?RPO|oSkzD+x4htrc~c?4NF4?I#>B(rfrCm=EU z8f!h9|1}q!aAqUXCWFL%HK_Wnt!)tK_CAWT5^6`C!~ojqcy2i7-D_=68?Ph%fB6q5 z)%OBupS^Y;ZIWO@(I`GaRRTJzZaE8tk^4c2T!W-9V$e*#y>6HBtzM5+(FTefvo_zkZSMQ@-_jDYeXCMn}avyu4(^;>_a#zAj#)l3~5w_FTB^i?&AOS%Z(H*ptSE@TGWgA;h_ zdun3_^5jrl_@pTadz9*<$dJ(h` zm05;6uRNND3-GXQh2CkcNOeJfF?~$jkQ_Vs;tU5YdI(yg{JQo1=lShtq<`Pr?|$;a zeUy7R>pCg{htb&(!w%~Ld^nfl9;@kip%CjU&$xL0Pu}2xV<$cDRvh9F>spJk%?xxY zV;l(90WO+ACc^*~DFx0`GAexTRpI;f_X!QKRg5Z5#8HE4p>#tw> zzy8)goe#J=pS^rXj< ztm}3VVtN}c9v0tmRP-K*yXU%B+G(vh#xz|_lHxwP8_sXpvc!aTB@!P^^TlH za|j+{YDr#Vk`hB{($=*r?u5amH;W^d#YMr%dug6J>xlJ%Oh9pHGV1 zttuYmFCXjw{`J={zx)ti{}*AF&tAZ{@6+Gy$GTl7_K0#8;U)_+txg;$8uueR4@rPZ z&fiTi%N7DZ7>MCrZgUh0p~n>S>z#w*_9ea-Qx?7iOt>N6iV$RM5QOC9n0s$~Q+?xz zCz9nimb%UD7@;Nfhf53ZNxZSBfvvuqG`A!90^IMEXdxSHJF~A(TOF)HNShKP`E=!! zpZM+q$Myw9Qpmp3kT-dgQ~JAKfBE6-Zy%=~K6~}vg4VzPT-RuV-X#nTvyh!U^#JL|b*mORdE)frGyXw}SJ0WT1dhRFb4ESnK zhs?->&QTy~Kt~Uj#NihN^fY1+-=2^-wC;qAa)PEZnh{b6;3(bzc2+}3tvLg6*trog zxrYZBLvs*>x0Ypo5}I$HftRA}!hr5#(!%;Aw3kpH(E3P$Rka0kbYLoA0Adr0qZpMp zE;2J8D^b3Vk^b(NFLeFp;0IAR5?i*_tvKCbT6Uqan>`c5xRaN3wR*k(S5)6)JTUQbG*i6E!87Fn3U6tx#z7?c4I=cbcuR|}oI1p@~(6NPJr z4fkv8nUCgqc>lTSW}m%yA4x4riy__>#Oh``oRbF6-H3T71iQ0ufIHCLXOqHQ1)=GR zkw&%<1la>jYhqaH*r9O1fB+TFz9W!xmlte20*FKxkqX_sm}ZW;xXc z!-F|^cKZ~>Epst~4UcT;)&_tRFb>>E-`)e^c8JI~@VUH5J*Dw4;A=D>>zXzW&bw$w zsJ{hxAQbwSkMK#Ky>x$kr2pb+r2ZiQa|o|pRVX^a&YGqh7xUb+;W;0+w#(5BCd8^+ z`@#}{@${1CtJDAlE-0E9+7yy9@M)!Y%hbX)9UPC zZhZfE?Bd-8iGp^62$Ka^THWrtI7Xpo7PT7}Bb&KbiPm^VZmPKGbm*0x3qKo(evBP( z{;WY`Fh-b#ay)2#`&_Pl_h3aV!vp2Y*KzMT@w_e9T5;&EYkBM$)&h!;n%arm>MTg? z(CMJSr3GrnW6Rm9_}ZfhCFH#<00YF^cHnQ8`&5h!U>1Vn0-eJ%LS_woNnXdj-w;2A zVg6&c@h30f>)3&Rr%TG65G3)aeCS%j97Bs5Ul~sUhnCx50udwSH^w>U#>*DRS@Vq-4=R;lvIWU8*qKJ2i z&o`T-U*qH;mVA^}t8Y44y&P0CTmQ4s7 z*2dG4xI+MFxNaAd>}SHp19{lQ$hA0baZp#+MG9iNmh6K|*f!Jglods3q1YJKAnZgQ zNMcaPmw~h5>#z0kME#Es^S!pkCokaJTesiOsjZItTWJ+eNOqC2to3xP=x&f<>?oLu z!3*|`q(!$)H<#8)9JMFm-WTmM@cd^YmeIM9qrbhArSSilBgykt0N;z$NM*gk&N35P zh@FI66hIyV#cZ5CaSdMB7ooL)xvi^lvy9l#t|uiD^5~w%&V_LZ7{GZ|`OJcPLgJU^%xeqY3v}8J;1M zuzlaOwu|eeJcvrdKOUy@ECps_(M#+Z} za_2-YZ*zPMwH8x*S&`z)R7-A_FWr8K4)HqrmH|!Kpc~(tSdCKwuhWt%+IO zTw&udKNpw9m|>pFueF&!-_G~57x3-Q_xCtxC-97N)-5^dR@+h7+OR^KpyIArL&)0= zua96oFfM?_w9&X+YUg@QJ|&1h_L)e_*TClVXwAt)b=rUc+f#hyMPao2ro3*FuE6jL zBP|I7?rWRUP!Pg@3k0bIjGDIU5Ni<7aM`cHq`&#?=a2WjpS^S+`B85n91i}Bw={1AqTznTk-uS9eRw9& zer{Gd2;D3_x-CN|HB8VjF;rnRw+HENIkmDBj4lvG$dTq7241IR;u6t}?!pW0t@_{~ z6ga0+*+zShX1n3pB|yFnJTbvN0+_r99h#*8^v!#g>$>M^rd~{3QJrC$8!<1nI*CyL z?(Xa`mWW1;Z5#9bo{3oJ+HWL_r+xj)Zm$(sH)t2z#JEqF!NW zAmn!RIOnx-Oi!QT<;?ILoh6VJHsg$;LNg_AV-fuf(A(yo$vdFseTYU+MRwrF=;Mv& z>rXTq{OqNByW#yE0dV0@hS?kkrMtkURhSf%0@*bP6xKxQ@r=}SB>@G|xe4XE)~&k` z)0+oxFHxDL17=xJG+U<3d0?y!hk8Z4(7tUDNzmb&Z{lTtk_++AUbc@&&3q5ExP_=2 z-bTHHH$ju_OZGx2%fN7(IN=Uj2u+S{afxFs%usLaeryaN7}4yfp#{%GAEh-CV2sOo zGBVHzDM!o|)IB(PUqeXuBGajB-HVtH5r7Uov0*~|*-WAx2A$wCfs6WXsOz3b@OCGT zS|rm1X7(72*jWN|&8ts<|8eIy>UUvWHyCgh?*RjC)ax(wpMJgl?Y$T1XD{2^`NH?R z7!OO`%Rn?)D{(D^lwIB75y5>50s`+lPdi>w1ZC&N4ef9+wPcTo8qsTcn&lqFa`mph z-5{;rflV7a0B6b`c^E#A73zN9+{OI)HoKp_fdA-&rGNL||NFoDUjA3&%_I6Qy14t( zIv1TG!bX#~w#r%s!opm+_T{}tN(XjkZoW5jqCD#}&obV@c;aLwBN}&7*`mt`{g4zG7I5_XeUrEOd0P?zDOrK6~F9-B>oJM>K=TNA2eNF&!Kp9j*L$)jcZymdP$ zJ8(fPQ4+Wb+)Kw6glkh@XZJNPg|B4ySV_19Hwdv1Zr+3xzzW(>mj?a>KZ25AGv5xN zVhfj(>mUd_^++67w%r4z1UJ}ALdWu6jIGQ-Ef+XBfD4r@$LmGg?*oVb`tF4Hv)Aq; zmKn@rvl?_p9I93WKZ!Baty8o{CA`T~&OL?WAam-Nqrx`)n9S54aH|Ci?nNH}F7w@BU3?rO{7S=hZAOJiF%S70$i|^KC zr3C1tIHTJyN-K&*jY?5>c%4{V<2m+$-YizLp^DqD5v041~^MCC3s{fz8ejoi67)W!Nf}8*|GabPL3(Vfv z&-2eyKK<;4`zU@7U(M~3@`LBQQF#vxo-){G@`dWH1V@7Jg{GZROW*?4kkxNU3y@ z=-h*c;il29&?1|LbDupX5@g>O-mQ#F8-hE4a03V4!w|DE3j@!hJ}PWSbeshUyH{M@VLn&HGHTP+8Ho-2LFfngB( zz_oZ&V50~BqmFf|?vtYCePSC$_5hTcEm*PRQGIR66tx?Q1A|aT1Sh^jPTv91=r*CH zK=9tZ1A(m;&zdrp#RR~*0jg*AxgH5BwZyEtcN(zcYa5=~f9~t@Y2Xy!()X!x48oTN(??A}1Q2?COrGsLSMePCG0iE* zLNb8Q01F;bb`XYp6|N&N(cB65>Wqun=& zv$oOd9;@2C`5ZE!H8;h{&m|Xw39xU9|AWPIUGw<_4DY zh#WpUFYxwntTTNKo%pj>(r zuk(k$@Ban(^|RORAAO|%<9cSF!G00dIwCOCgP6-GN-7FrR5ecmjGMcj>#Pm1-oXvO z*`7l%&nChD{KDN3kW9e&ZPA$rD&H6ruY6oi<15UpHf&ywdEYv}_PkBl=&jQex12N( zW=FlEbiz9rC>u@ujKl5nwyCIojYsly*EuZYS0tN8Na{$UkjDnW=sRlHfkW)R5M zp}70ejaOa*Fn^<=Pv*H6{%Q~?VsDvX8-&sSPu<&X+m#zxdN*x*^eDT1(HC~xF1P!~ z?snTJ2Lgyd059P8h(AayF-e*~lG0D_F&9axxX<2MsjEHerliVLCeH!ZS_nkU`OUht z83{B+>8K&3!gWNf*b1RN#MO4OvqWW+L$Jx-N?B$QtI*y_MoR~3hJ_;$90%u$wxx1m%ir++Yc3MSA75Exj9c{>cO<bG`#anCku@`1d2Vgim{dP7kTkuaTyqK_c8%kP@F{iQb zv5-=IaEIvl&I(Q2y_+DT0{lt3=p+dL-RJUN9P2~ac}5493g}~`yEROu&z@*WWx5G+ zj4&s;JyYMl|5JSo`&2J~s9)~Aqt9NyS7&PbuE%fi++{zG=0(FbVvP~%=d?|`>&z?4 z?s&?X01L-JswIrF9fX?^O(5SJY&)))OVFWV^T{rOTNheCvl4DE<8gq`hMf>*=~q4d zHD}wi+5+fe>L%RfMaCXgs3sy}dknCox+I)#=r5F<5TuX7AJfKEP@WPS??0j#{{QOb%g1}#&}T2-54-wTR!25J$n`7+ zx5WmxveJw}huv#4q|F6+?nS~=TnQDn^P1#!G^og=G_W|t~Nio`!raLv6XN(@rAmJxcFp<$u zI?_kq+8Zd|0$s3oNY=vG5f#OAUBLv|#|~NuJZRmk0Es|$zmHn`6?*V{>HGH0AMU~( zp1gVw%3lS2XRKHP@w3|3@6&DzLK*;j0>KRI9Sw~h5`ibAACisCylz_o-*OIs9s^^r zxmI)Kwvn)bXz30(^~F?1L!q^nin$~H{d&j}-N ztTO4vvNxDhrzj^3BFAE{L$-Pm5MuD%E!rW3EJR6N^{Tz}&&OZ!?1g)TlN6BbQZb04 zagc%+PD^bj7I&S=LTFCb-Q(Kg?SFiu-J2oMd3uCgXa+GB()AJAjAAl@Z4R zh8m3=Yy8ph15w9DHjuRMD;*Z?|i zUu$=Epz!LgHF&LQ$k^w!IcE=!a@MwLcAQL3 z9RyPkXd)526tTlZq49y%>k?e9iSuPSic^!d6uMTM%?B4o;eLBJ{pS?*_3Wj)HCfE> zRc}p@rDy~Dd_X_Qx-3F-Z6=$O;mP6&eUIeMHUkE$QMU0n@c*m@G#paA=amY6VwxWr zqw7x0J`~d~j+4{8Wy8-Ez;dmvw_W@-k(mcPBa)BSw84`^%TYU`GMs>%?OIKn!zHic zCnu1OR}zA>6NAIC=Tn!qb|CBRBuI7c+8KV+Z2?zy&bCRqvB2vxx$|wi;a?zQ=3c@3 z$ZHMP%szq(K7+wVJr1yOc6=b5_O{@qWj>@S3ZWeg*&xse2>C%vHFiPSQb*A# z<8=@oQ-C+(9i+B%Z6DJ*9QL@}(ALvOgINQ*LulWXBN1FA=6ZwI#T-VTZ##-ok z^h0n5K<28#OxZ7{0b_sAv;_Cxvu~JU64n>U>~3kyv|1}? z(u4jZjHKPY#yord9(l!&)HHZKLah+GJ0-j#WIN?--U>2qr-*4ld)+$5NX&lGffc69Fo zn63Ee-W!xIAkD)sWh~c~Vai;XvcZiTYZUJd;CiRQ1OOwDQmw7smRPp}QtUu5y&`-t zEm&0i_9*?YKlmT=++#97d);o&QTo>563wuGKq2X=)g2|6TR4ofQt7F4 z8bF(rog9|lGn*zdZB|#GiI^2+)eqZy#PTs~7*A)m*{orZeKx@G*Jw*_YhE6^ofQh< z-GVp|Jt5f07W|pC2?p>j;WAFE)f&`2p@N`wFsb*M!=@qn!hJ|+pUsrL1MbXeyAOje zbTk8!W->HC#}Z#?H0QqU=fD52+`Qg?+tq*l`+EDKKE8Z-`{j3U-aV8iJ$osC{1)p^ zoxjgf{XjHKz*SbenvIG0MuNs-#M;n?E8ISdcsFooJ0l)?A--N$|pTB zIKsV^4%IatK?vVE?M%cz1m+`MtXjDRE(sx2J2#-YT}}gS>=dT0Mh1ERDCWC+{QrF0 zT>tXB^XAVlpX}JjH!p7z5T(x_zr^P+h(maZ_ix|6`Sj-fyO%fbUe1?y@frWU{`}!% zeZpV9H-&xj>c4s{zNh-p5jNyKQ_*JMyeH+FAe{?R&s*TEld;em3nYXf$`ZrN=)rxc zjF7p{?A2``%PX!I&t#Wff&?h0k-&#{5;>>kVToH2!nDkfTbCF| zbj@V)iwb7C|_kc{;u4&lS-C?iRwn)%mnlp%c*nOd8?8*)At3$I;_YzQ(r zv^s3LkycHd1(M2fOqp*72*bzOko!S$je18GDeuv|0Hc(N^kmJ0Ge5v{g(dRxp`KY1 zXB2VEA53hO$SY1lq{tP(&*f z$E0oXP6XAq+(*!I-*b$mLq(w>&p=W&1{C;GdO9*tX6ya5rVTOGvrW^*5TR{8h^f+^ zj4qOIZl>Tn0g=_tVaSyshM0WL-N)d+e0vN&e0=}m{U>|-^5Nr~KLRn0zfd1P|MK!{ zc}UM*;qP1jpRo1%Q>ULABAlXr|Nd>($CvZ|;|mV5`utMw{`jpx#96ulScQWQ;^9i# zwVfxTWXTdW+F7fCq5^>PiRojEfL@LKN)S#C*{cC$$yLoY>-x=k%rPeONuMsq@m1~= z4Jp*&5s2J-m4f9E`%b_K%<&?ubv+bL0dgIVSVrQMvX17fS!s)N4r&UxzzU*B-=$L> z0aBb3^q@tHpZu2f(VuElKmkZ3~(~p z5qN%2A(->bD5Rm3DcZldRal*vE}x;qjxA@aTb2!u8`;g_x22Of8V z^9C_tnBe3@Vgq+Hqe`i5xK9ps%qVJ%7672>?ByHtj07olkcnetRk$C{?WiY_&Qz)0 zCz9-OML50f_)WY0^#u6#0eExwGXLyV{l44(?YG^g{u6zRLPKSQyeH&MqYCXl#ul`l z!QdJLd5Z+ML;$Wa$K(XHBk2^RiC1KLS|}28y2#lL1dfhvO(h*UjlLUxA?YF!m={4|naYUX>@`F&gl>DmDM_3*F|akb zC=-`!bf8x|nIwB42_+cQT=n2H2Cdwe<>Bsr|8Mv9``hvFZ{Nos?iKw{Uf0`Gp7`4+ zD+j`J6#1(^BIEP%qDVRx+SqnIwW%H487K{}O zROf=P8lVbg#0j1wI;C&l(tHJ_-QM>dSn?i1JgY|$GIw*k2&R;Wt1$c>Txy1SRZG}? zDS?)%3D!i+7VcE=%_;m8|id^LQ(*TPVF>vPR zPEf)oot_Idj~X}?x+#{f36ikuF?3+vbI@XASX`*#&J1997o3Zu>(Y_@- z@TKDnhSSnZhO8;QEfuJ}G5?*o2H}hm#O@dl!GbFpf%Gh0a?h;9M;DfDMfqu@1j82I zzb-2x>{i{^>nvn9#q8dT(ufw|RN2)7?HMF1CkpXh*{c&0z!yT9xE&=%SI!bYPHCI? z7QkXV&!{o_EFAp12I^-kVE~7&5L9L0qgMLeE&sPaZu!^O`o%td!ukFF-Ms_+*~|Ly z?mjjY4&bX7=!FaLOu&K^iu2Rc05t9gagwScFy?|yN?_JNnK=DSiV5Cb+h??<5PO)x zsQ|NC7dLPVz&^aDTL|G#b6Z3U9cE+4ST}2n!aZmJZad`T&YUf>k{>3a@Fq zF*J59wgHuitMKM?Y@lr)16D-*0)BjWkd=gDW~(+L^K0y=VdVA=X; zZ5dKgvdSD`Vq(&xG01vLG%i?a2r^k?g%pq5`kZ0%1(tdQgw-pPTeUHWq%o9`tx<66 z%CZe~Aspmu`8XZ_DVr2wW?PW-(-89#k_7vL?KKDO)({NTAb$X2A1%OOU~xs+Y~9`O ze{*-gf3DB>;@Y0QpsxzG_U$Hiz$WipDM&JhO<7kQ28;(joDDSf7M%w$Q+Jp*W(bgC ze7O|ZPI!=?gcEC{_#7~FA*NvNJ(p3D`)m+kwCf5ivnl>Dh&XNwHFPbBG-~y=OLi3z zB8Phj4^cb1VOny4I@(w(5I~Jw%!TAE9e`{5$t6fzvZj+~UHQ}nw>=!D&A^sY+=~z> zJena&kA~Cn2Zh@I^y5zd!>9M}zU3C*os~a%MIW8n2P7gnGaC%&p}w#5a|kg5fp9X; zA-39Ah^usjHqTsLSAz2cVz}ji9*$$LDa|+#y0v)(&jx`q?6#C$2W$cc;5a<=q8spr zTaR%^!yE@vcF^lcJ5;U_Lm-=N7f%ZMdF~FT+h*j|Zl;btHtJUgRI(%7P){qyFlSRV z6-yL2+}l}nOe$;Jw z_6k3I$vr26m#SR6aYq{qNspduB~*(7R28lZ%-!1Ri)$gGVb^R+q@4swZowad5(-;J zm-l^AQ#%+8q5a!hw1hJg6BR!U4ujX=TNouA+go)i&ok_Xy#GeBBH6P3r6Z@%?}P zxb^S8U;_91mw0b)>r-GT_kHW{-NT=}z>nT}4(eNsOa}g73hNM2`Rs)mg#ir&X&vDZ z5^y2`N`j>=91JtgF>^10a<`Riyi!+_7*Zv4!S`~aP6TE{I*rjfQW=4x*XFlZGp;^t zz_vX$zKBCAkgSPeL+`y7F0eUF!8$)NCWw__R3YP{N>H;wAtsOqP2mL65=}YY@NA(h z)`{dyZi0!2mXB@?TknJW{h7*Jev`Ba#_-QVtKFYCh>y)cRy*>{IKbm#U} zwhqDZ%iJX~&sC!3+(<mW<_}qb%UCs z)K@y5hcI9rm{R4+CfX5$UT~_m6^h(TISZ`U-G57;?duo?%#hFDhOYNIt506nNALIM zJYzeoy6$aN(@W3NRgPE9b~4;rpKy6mC?dEa^inkcr?0tEwt=h~FeNQT;xY9WR){I| z>3g=JOQ}uoli_FpS%Ivo#Mf<@96_koM}y4)pg=&5;9~*+Z~!6#Rp1_QjrO*M@jWJ) zoiKmwyJ41;bC12yg+{^ zbNv3r-@MEFgY;*w?V~+MUPPZrZpqUkHVpv_zaJPkJGn~w`ww)PysddNdv@eE|D5DIxJI++${Kw z@W!A>0>p#BU0$|YAQ}a)OhD^Dd}PB_dE>zadtkJoNTF_ayWPIPWsn0Hk_a1q|2DZh z@&r33jbjWy4W`O@@v+)OYif+11Y{cizCbg|Yj&VW`s$W7X_;p9QY5Z}&Ib6Cwq{iTQ zbWPFAkc5Fw_GVLZ7|b0bhPcD?pncal7(#+swG|z(GHQsrkHEKgypq!eaKuhydDRg= z$dd$Hy3VL1KwSU~XuWL*3kb%(3acT-oTyZhwhjjeobT%ph%X>{K=0bO+uRHB9sr<4 z0Mr))IgXx_=OD7X8~^t|Zv5x>A70+pAM5Rl{mI_k^@KfnQ6KJh*pQZB?(}}Z#*5k| z2-gx2L$o!wMi{swKHSgoHe59_T>wYZp!;~Gj%v^aOLoz<8c<2Ked;#nZGHmz3a>7tsBv? zv6)HtV4WTcF~|}}BYraMc!WmvLL^}9kr~(R27xF*JRR7guV`_< z#rl22KYz4$pU(S_Kfl<=kMIBV7e(y7Cd{+f^HhhbZtP#4a*F&XHJ!EBeDtU9}^$CLzBqR$2%32gQxTYHMP zu2nNS;u>4qHE-K6GH2psMKtGt7VP9$%ovZkjVAa5q@!sCjaW2ZQjv+k^X)LQJGH|r zkhf!?*9-FW0+}OYj6`1K*$DNSG>(Aiwl(^alCHZyXtMu@2V4L7{a<(gUeEQ(OZ)J3 z2Zk>&u|s*VDvkiU1nMt%Pvv~(SV%GhS6}+@p5Dhu1ea_jr#cO$Yaj->=*M)2ltdgibHl z|1^K~U4QoS{>rEv08HJBvv4y!h;cb9xFOsZLjVdyRy8mQ4zDqUo1Vbva#YL)c!GK0 zM!mJXA-t-1jDsR+D+<=6Lv!!rlNLDj4LM~|D^zax9b+TueJ2m3xx?8tye~){*UUNx z;_!A3@??~wH>cCVFajE1dOw>MzIO~g`!*yOBR?M1ZY))yLe6s^M(GL2Um<~nNI5$Q zF25>mytnTUZs$*4)jQkG-xxY(q)-I&NQJ^^3INe+C}y>TB5eX+5e;r|fN-bL0%~f6 zp^=$E6HdF$PPmqUh9Q#U9L5)On}bP_MSHrBc>>--f+m^vxK%b*t6;QFI%xJJ(v#hC zUF~(nII-|&I@kcSVEkC6BgI!OZYXwy*0CWz&5YscfX+nQ1SqoX$bm{M2GJ}gX|m51 z6QZb^;{I#??_O>9ZxFLSdto2G;K!1{7QmyiG1=AO!{;%DpQ7a%g3!4vkp8*mhKQ^6 zWN3xfJP6J+&oDNQBA;=={iGP#IkuM(5^)z`ND5gKp<`>i7_vj0>|!?+XUl z#yK19*&SI5V~z((_1A~_Z<4bN6r?6dGE;KM46{K(%fd1PThtxmmAPc1C~aD2a30tL5N{~?O0V8)3t$f& zoi=Y^mLU@YryRi4m`0+>Y9>m^;aP_NTL2Ew!Njfb{jWeRAnj`1E`0IK0Nn*qNvid6 z%~KR2;(aU-8BShK_Xnu|!OG}z1vcD)f;4rX>!?V`Lg$k$ItTAB@liQcu zXNusRfC2xkUQS&P?DOzs4QHyU(6#PH6C{mE8GS(X0^m&mF@O_%SU0M@1akgiCFIb% zE<=n!5|MB%kzyJBem(P{I{zZTG+CKcEU(<&KW4I1TyF>O$ zrUOOz!uW>e>P`x^2Cl0QuNqZctb27a#=zoKO^xK*(ZLQ}t63DXDPaus)j+2kqZyz` z%G6RP4pF(indh0K*p-DC2%8C+%Z}WmwggHwz*G&6El?oQhZ3k9Rxu7R_|i*MxNr2< z+7uwK<~l4pq_BV`JQk%)1*z6Bm_Y!uOmGQ)-Hr0sP5;5Md`}bcg9Y3hNd2lVFD*O5(pu^e)odTtIjf>a9B!ql94ho6K*+D#4uu@-NWX< z@4TF5?b8sT!6Oj!OJReC>N>^m3!(o0^>)AiY;WH_?6W?5Q6Jlm zIkwNXa)tr{23!=7M4Y3o)}@ejRv)0#SZlPSu2hh~yef$cg1$v4UtiD1he55pW}XHcA#a0?_N=ja>m&-q zsvz>z2GXT)q;=(iY%fF*+9beic_;!oYa<|iPC-|-N#oIagMEQQl?g#%v-$)HbS^CfCb-Vf@7oz8bVmaY?2oYr**rU z!_g)ZBychgBI;+UY`}0f0s#9lz~#<3Nv6%StV6>9e}MJKMBj8-F?HmU2lZR7NS@^4 zGGfe~cH~$Dg^I-%tgK`VQF&O2u z!SUK?vg6-~-rZh^ew^sTE(pgc*ZmvX|L|(t!CbhDn}7Cl-r47`^Kk^_Q4Jr~M%$j5 z9U~f~kBwogYC43_=-^&r3~h}sZ4JIcB55X0ipeanB``P#$Tfg%uX8Z-=y{Y8@PJWX zG@iX0?Us4i+AC>eqPZ3Kjg{zLjicErzcjDO3b+PN&lhUC{#oDZKW5bGpqK z5IZ656L8j4r0W(u$0(c-+cHj#alPzX4xh2h?CkgV`SqpjFRZAq{J+;7wkNOZM3V{{1t&P_x3Gu7|QK7lPXh1t&h&m30UcwRC3VEsoTN`-|3kZxZ5T7Fwj&bn> zH+5JC__q`0)xwxexuY96;?|;&mm3frBvVZO2yY@G3d8oLDwkt~eg@G#!;4lFVN5b} z_TzjoO5A~*G(e&NRbAn(ZEorijE6W+S`&VUD40^_nK2zxDx3GW`}L*lpRyu7c~KvJ z#E;m)z(pCc)o5zPmc4n$9H&W}6C$#9eI3CWQ9Wdp)Tqm0#P)4ThL~U@eRao)p^FLG z&H+|U)`r7NX6c5&OEgvu+fsAdt0EoW;nk{RPFc6_H9R^Uo(hqMXhJ|A72)*J3tA?i zR@ZEt+-9Q%s3qX>Yw=8z&IJaieMmF0s~ z?qA1VUhnkZW;}cLB0ql5aXfUxRK~*?Ls`ay1N~HI2kdC-+2Ku8u}!;|q{ty^zM< z=0$6`&wcs7UhV$R^|RNdQ>W|ZQrnn*2!`)*&^+-rM}2EP(o<|j@gI(DU4Z;FfRQZ(j_)8~}1KB#r2 zj%5RvxylyqdnaL1AAaWMUq`_FqrHEhU*6WI7yJ3159!%!`f#&BFE_wLH^Nu^Kuii! zN$j>6Hq3*rrEf*89Ju6hpBB3Dwdo*at>}>3@L4?_0{V+HhR8b-vS81I><+&MPa3MU z!9GaPDCrgm0vdVG7y~^sbUz7knN~%}>rrYeTQQu68>ITfdvpYTAB2q_bX$S~Nw!v| z(1;r@UvPI+qsiNrL-Dl7ksKWtwE-&FP-G)$-XD;@mO*^q?0En4&+p&eC9gkwVIN~% zC7Y@rqKoDYpeV-h5iJ6;6VSAVz!K}Y_zq{&!D2*=tX!$kd0?d98 z?0jINCzF*?D#Fl+%@GLDjb4RaAV-KCChxiNsVfDw&7BJ3Re?5li%e*O8nq!hVu-S%)YxV;ttr zqG}M%BXeS)$_1^=iD9_E`7zb676kBOz`jE;rZnmc@hA;0E?9D<5u=FP)x6(Vwmtr! zf4TcXfA*R_e!W}HjY%sn+#i{)P#?JK1NV$rl)z%mnd%LFZZHeR!hc&aWE2zcoYtjT zhgGQNfH$D#JO@cV3cLOqhc5Yz0mIe`^9*Tizasw3GpLeM!0AD_qB3VCA`7+QU8%JW z+Zm_vXH`~906X_jHg=CjEx9)~sniX(Xk=Ww-?M6XM?oH&IuAT4<}qDF zRJ@RIm#09LW8eev6GD;~LNGAnU#pG5!ACm$!22`0N@{F`D!M4G!J{mOn+sKttU9gb zv=eR2vyPuv_`Wr(VM+iC7P^hI^rD$JnmY(Z7^fgfW;CY0Ti0#ckXba&qCl4w($}CW zPm^u^Bqh%_CgI`^!qYW->ON`?45_-O5+oA@BlUgL)sbOX3LY_U(- zE?J`pocq;=?hU%ZMI<%{a04nLu(HAe0l-?ol1va}1#Pk*bb}5YyQ@}0j>$Bjbui;g z>!D*QFDTHft={LWx?Olcp186^045I@Xpwp}d!cg)4%jNRs%W?KHC773WGEw698yL- zG-XlOMPtXFJLjpZZzZ`oIT?K4O%o^}ZAhfIh3wQ$=RP3h-{0B%f0_~U?3H~yKpT3t z2hVLO1L>SinxB0j$MZ3KA^CdE1Lie8peBO2%SGz4ASA1=lFA|_G(>BT!KT^Bdg}&S zRolMDu)SdYtBH8x#2uT!Jk5%=3GRbch; ziKsJgJqpN$%y~4tm2Y}UA7P-eYy$slJXPCD(NMHjASh(-z)h6$`n2>pA z4d$D<8hITiO%wqq)#fqKi!}}mL5TMS^sh8M8iT@JhXlyS*^zN@zYq6%y7Fz$KYjU7 zccD*DUew1ucSUPp63>3L4OpQ@UIUw2wW!NRbO)GZc>qM#))%MNl(u1b6F?~xNk$yr z_C8z6No&Gbg%{|!LOcj$xK!_J4rshc6ZEQAIg}hkm*sn-6$A2N>b5!x{}>XIVz(jf z;B-WOR)N#F;RXlE59SZ;y)7iHic4aa4B2n7L7TF(QXwqbS*Kt~HRRhJj2E#mic^|tJNPw_72GJ~r>m%cYUqef`zE&H%kLkoK2C!4!1r-2+T& zCMeE@`;rcQlp$?>DVQ-cw;$wC%pfSninW^iuD)wTAG09^9g=_V1@MTC)~adWSpY#c zzaO&o`Y``3aF}PW?87Zz9m!rh@wIER6oIUW;@EK}wQL8NytdaKTm`|&5}8J89mE^# z*=d2gH_x2DN1;`KaWD4;!LZ7ZsW4;Aj+oreQ1U8^QwYa;^{Nj`;OxA$^i6AK@TRJc zX~E#t=b*{bkQjIHQSM{_GPnl*o>IE6$ZTT|@-2iSxR4`hkgsRO=nxO$K(*Q@20&6{ zp>2z4+kF_&>xOCjTvobj;w@U^b&!{Z}p3#yTfYt>b1dSR5+*H;}+F=7Tg+=3SwEX zngO%eG!T`TJI+QiUIUrDOeo(O^m0XreJ8Sg6o76%rBfW|b0%5w;=atr1^(*NcSEj@ zH7JaimnQ~zu@N!w}aF}hvCBEYpM0KDBp2vN`WV;v8EQwee zhL?Oa=XrKcS+a=QG2RQ1-#~VWi{F2_Ur$f}Hu}?(m-zAId|r)C52ZlLGoP8Zef2hc zJ7i=H$s9S18Y9^cou$rTMQ-Lo&=jwQtC0X6PUbLr+kk|#NF4z%zRCLFqqU<=81L9X zUedJN=_xS7dssG0%}#UF+7nnuh5G_HS39NwPBZ)~jrL$UkbDxz0G=xv@{T5AV`g+m zn}RC2pjWSC^_8p8&|_=JxIm=h7%jawrr&y&|7FjAZD9W7m3>T%FpMYng`??SqxI#A zm@uzp11j7?=9HoLTf-YNqf-pjYnST#WTbW8@g(E0!qCw=mKWeLJEFW-wBpd`4F?JSe)nldq_G#sy@U zP`tsRkC>rJsfZaB{Mg*}>n%N3rlec)S_C58{a(!L`3idLkMSVSUekx0Eq+1=0I$2Q zlqPcBeUD{9+o=tgzBIJtWRKHrl=WD+6)h+Wz_b!1x$e_q^X!;K)Og7Ga;zynB-Ap5HVe->yTb%fzIq^Sx@Z?t z-*qkq4L`e5%w+;g7NACvTVV$(N}+7@Dg~9SD`juFN+%Uu;|(hQV^b)G3UvfZWaH^e zPbV7fa2v)89hwG_1l|!SoWKXNYFf5p(vj0F4xLj3=e|XP>S@SBWepi;2;c9z{qL{# z`_u2=fBgJ=d-qQ`i=Vx?zm|O)b1kzzV{1E$z<%V`8o~f-B7}CrwA^%wkpPp1i$0Bt z1LN2_dhC!L;1w+zl6L1o4v`m4va^BZQp|_jl{cD3tQad`v2UlS7Hf$jx^TpB^@HF8 z;vz<89d{k3@Iv#|x(tF>2btv%1z%&-#wR8xQ^0n-APQS#d(r^)3;!nA_gJuS(ed%n zH8HPKqy3;{e{EKH*k672az3^cX9061i%%{RD1tpBU}g5<=RlU(2|}YW<`MUeal@&; zkvzo+-`Z&EUoId_b3I$8LXgzPH%Rb(`--NBgdQyaOP~@Iu=+C)>l9_pVy7KUEKlhrSOIXJM8_pO&71( z(3k);!I1^z9q3_?iMVe@t8^}>g#_1baF!z7I~tUMOevTc8$g#_n=D(kwX^JWYo>Lob zcs-CI4%`Ot6C0>GBcu&=pwjf}1XzGeG%1eJ;tov-9$GMn2E4H~HW+p}(s$07M{_OQ z53__K^_Ceh$oT?n*<1z)2e5m*5<f>r{ zHpSzuWLRezD>V{sCrQ2fcwHqlB9IM>h?a)X_XO^?Jb{15H#Zyl`j@v0w@Kj2+ni&e zzcIy#cI>8c(s_gp%yo5DU$^JBEQBn3Oly-1Sy+TNT4TpOY=(4KuuK&cKV<~=@?Mh& z*UwFJKn=j04Rra@DF)(*5S=E}dTS(lP}=1hm)%Ou#j`_Bu=f^J*6tIm31`G_?R`07~-Kj z+QBq6s1ef)>X!n=eaJ>+JTL4SZ5!Ui5f6Mz4e+_q^=8a{8Kl|lUTd`O0}wAYI<(QG zAb5PZkRbyscgm)Ltas6N0AB4#joZpKhXmqNh!?WK{PHt$js?-!T#OR};lNPL-ZvA! z9+`dL@V~TO9#WW}yu6S19pK2`p`}CqieJ9;tz}1B=sts?L0Ut4`N%@vqimQ0kSqj= zCZcG_!P-GCV@@40aRKU3?+k$0XrhmNB36^##tfZ67Xg(Rw`uefN)eGF9gv<6SIIdq z=*?h{Hdf_Yy47ePW2|R)blpI@0^-)sh#D7lcZXe3cA#^JEo(m4+@@Q6!Ttxt{b3Ue zU^oy+^4rlr-}n9Dc0YMle}&z5jySS&J(o17JGYu8;-44K8rqhoLQ%~r9gj|qA+gv_ zS;g9r8rfX1ItTbOXOqlkyN&WL!siO=B%zLgp9xQQW|a8M^Xe8Zr@^R2ihrrXUpi)7 zmnN06u@lAus5fEh>X5gH?u{XOAoXrdLlK-;7=gP%_q>#0-vrvnP7SEQL=n;rZWKr= zw2==DZ*srib$P9Q`AwkpXD{vJyO~vU=?Coh7+VO44Mj~e5*onXrKGA3yw|<@2~Rsa zOItg7T3h?T(C14to6H9OEA0UUArcuY(bz>&)5x9HeXIyNLx{5Y+-hHREaFixsIauO zc@C}|$1w+8ilB%sP=9qRACl>Ob=gfY4|c7IFwdzI27nG|Odtx6$CaZ{I_jL*oXD?a zAZwAB1K0vzA({8vs{aa3v-*$u69ZcyKAU#QgF5I;-Gw>UY!;gYl%Bd$ zv%?S&G2!NnSOUZrN~)=RV64?qd%eDlvo?n9Bzd?FpyrFhnyfxcavt!KFK_L{U;(H7 zOxZAN*aB*$v?DMKVUhDn7)hfAZ;zRr(`qlGLS*7T29HoSL%_S?q|d)@c>8`0zxMsR zbp6Box4)b>Z{NPe`;YYxpZdKP`jeOQ$6%cH6MsWBvI_41v)frnirLw&u|l`1Snx8P zCI#Os*fJeK(6I>N53#2cnD^YB=y0Ft-6NFE9KzfiNc-A%#|28{w>=)?nzvpyqve&yuV2o)z+|7bldlpmV|*+L_njD z%pPbBWF7}*4&^c~^(U~zhVRuje1$SoEV`hSP{ys&G++b@=)Da;(MmtEiLn6EQKr=2kw5J_MBkzr#2CRfWb@}n2 zqQlBEpyn?tN16f!HP_m6Bkip1zQ&+_v(5kR{x<*mQ0&=Ddb`!~&2^GncZXmWt~S`< zy3_WCN(ZWf0sj8EzC#TX3cL*gL3Il#%LLi6V# zrYQ^R-yA4$*XmLRGyNL7qq4!x2Lp@gX=8#<3{-^NZ1umwyZiDFms|9M-4ioBd;NYa z!NyO6zP-b1SGTDos)Z` zg4C;^=LFJj8dscTN%)u;sgE!`t87I8ssLaKRG2l!tzYYKhicsVAs)AVvR*cH;!d%< zZ`NZIsp%ltMNQl$&;YT$4Q8pVgYWpDLOe9S-&r780*UR1_vFYeq=`ryd*G5_)pCvjS5TvN za3Dp984pO9P@8VR8N5=C4AZ#`4q0?A5Nm}roQ}5PK$rDqbN}w!=Hk4)cO8E6;@xg) z`~E4uETu4$M6O^4e%m^l!~!{vO>O`^kU)YJ2Q7&0qfI>YmY;N5!Vl zIX3wj3x>mnFplLHi)hZXtLAjTwCGl3v`(O^nFRkbm=g^TW@1?1VUs&jhfX#_A%&k} zG$c?iA7|{dj{w%xM~zde+ZiV`Owh2CESRei`wWN3-e{yOl`tp7hhV0p za4|em)z_E=a=Od`I>3M>r$DuHQs1N|G3IWDG(aT;*+z3+ucBdv+w#Tu6&9N@r1Hp- zYaJ0Xg3tmK6?`D#hXmYu`Kk#fQ)h-!z9F|h6^5Xrtsq$0*wy6j&nQDU=d{N%3jRn!hAOkTsCogSi zfi;+3=Q(XLgwsge6iBa3!mCx4CNqkAB^LnAa)SLB<7|vtE@cF5=)D;B1-*<3uRg

SB8G~VNwcedZ#=5-#{oRGYd$_63UcB#{`Y*Am<1a62Iv-)x-WsG+6H`p6 zMh~0M(=K%EadS7V2+$O{cXYrJMk^ZZY);OB2+D-i&7#ddVlWQ|uZpga;frW6S0>V> z!^3t%TlV&*Q}_qKv|8aSH!Vh&eH*P{i@9ZkhL#{RTSJ<8>bcD8HL2Wb)GjZ~Yv4cL zKCQEinS*feL6+3$Z52#35w5xrH;0mYbjE1^W>5c{H=pd|NBia873awd_rrev^~0-) zk|W6uuzu1pU-k}LS08Ykj|EGrj?GQTJB|e-I}JF0(VbGf4Sl;h>gEv(5qq}MTX%4E z3vq<$hmLoGHAdkn!8-&Q*DIy|Ox3>}nF6 zl6?$9<$(-M+rpfXIAg4n&`{le&)@pT-~MnHcJt_kdwG+7nFk;6IMDc5n2#zVn~hD0 zX->0B-2tY3M}~$XWk`mj`!1>lSA)RWgiZ*Vk9Hd5WjY%MAkuVQbgtNA?Y1}Ljz=18 zgIlcei&n&GFgPaS9>B92Y67-Pn|ph!(eP6|0_yB?#4ex|thCyDffEd*1Wf2QU|AeT zing?axCo^7O4$(YELuoutXv0V{(YTt6JPk|gZ|C``8hxQ;Tb%7cij8f)w{h)=?8u~ zcEu@3VW>a8)8QtM%wgp$Oj4--F|sOQSS@2pk26lAW(20*OoxjXvI41wL?T}kM@zPG z#-wsb7!5M5hx+UW$|~AMG5hMb!mWb7Z5>#^Xp?zFt5vy$l;DieL`r(LD`$G3=p_Wa zoE35Xs2k62Ao`Bnx#3+w83klM8p;ifzEQwW5_Cahn)+aS$QOPBcbr`LDIcaL7mZ_6n!AkI{aEFpPz@u&{ z6UZzZtx}Ez=pSQ%^D`RyU*@i~Ae6HpT_UyvCL`B@zZfqfxPHx__|Z%Gg|b>*x=umL&-RKzeHeth245&^U%24{RevFGVaixKQJN0$ zuuy@HaTM+)yW(g*un5EAlq+HhU0JV0Wey0w<{9i_$2FyqHMhn1{kSb z?DM8^>udWpf8$3l<;%1BSsZOV0@0EP4iM;hlc^sl5v{B#GISSsiYW%+3yhvc)du2Z zw;=VPV4jkM;**rnxS*hPaiTd&lDF+xb$R`%b(MA{OF~8@iV3`C>f)U z2gl%Kg1sl;7E%1+3Zu-?05=n#RfvL?GvZ`|addF|_)01O4rC)m2v5!v+GFQLKMCO` zRY-uMBBB$`cOGPuHduT@UI3%G+ZwdS6mNyt-|W1r?@ha{jm$8pVId@k16y|1G+RhG zSML~-w8iMqQC$|brHpoR7p_qJaY#uU+Uvv(zQzOM$HiE--oJtE{~w;eab&%In?H*$ z-hX)a)9bk3V}9_mzEoa3_n2Y!I0K=0LzFvj zzq&qD6jxifFY~RH3sI46U*HAV&=cmt;-J6AY;e=Iu!d8HWuJz2T5&_GMu`q2UbOfC zhkiSrUq~`tT!(A;2GUn}Ll#655VM|xNUM(aqRu@}YqMeBGKk%fdeWTj{`1~tA9}?!YOWyqcRi%IW{2@O+AK>@O z><6#yi=*3~gR^*|eh1L91tOjS9wA8|t<4EUY9ul}R`v$x8)UhqR(`z9x(^n;q6Ib$fXRXHTCf{9tf>KCvG^Ko6BlC!RQre}tVn4cg5Y(4 z2=YOASt?{`(OVQiZyUX$)h-iE+cM8Q=7*3=llQOZfBfYS`wFA~|M9zi^wQowpIiHZ z^?AB44YMj_XDeMOy5QqV3Lfscvc7rsp(U0n+?0JU4XG(x4VqH*w)cny6WQsRebvT5 z&(gUF&fe+Nd?U*&oG z(|;>1)!BDa!I0dAAlgZ5whrn28=bBBROUR`F*z`(!|sJliOqG_~;Gop_bla_~(WdW48LspgjZL9Au!)b5`-6^`Zah zwf*KtUn3A@aVj8IVJ?JOMU5uWh{2I{bt|6lJHgY(WlFP`>lDwt)A#eYY(r_tfW`qaD__d_SY#&}G@Fd5G@CSCz=N}PMRve-VHX+O@57@0{`sSS z$oFrMV|`J&@6JOWyqI^+_4X{+6j(kttV4|du`y^DQrXsty>bJ9DZPA8YNyr}NSAFQ z{R=%J-jJWKf@%p&X+#WSjGoAX0Gy68Hh_!WY6_8YFx`0A8(rZ$0RzxrXT+cz{>vIM!glY& z({e$gOQJk?pEq5XzyBi>)6Zt)d$rqxm+_ZBWBP&hhxU}L;(Z?^k0A7wp;xJ-}YcM0U0lR)ROWr$1hbG;_^Gq_BY(2CBX)p~hr4>jX2yw_# z3tZax)%%$qy?!tJOkd&@!aG?5mstAIcKs2nJXjIlp3=_DT}B8Oot;VAfCL6`)WA}i z5cEzA7+weaHZw-2-01VoHUnvcGl6P@EN)pb4JN=|Cc2e>zM%C-uk1G|0?3Vl_$3`W zJk)}7OrGLSfs39Fo;PP0fCot8z1mwy7sK=LcpJ1C;^*zua<8@6;0_&Jv21}K=?Lyw zzJh5VSn9O*t}sbQe*p@a)pTC0A9zeIVd zf69vb=w2r+aS#kd8}a@e= zvz2v~&@Ms=mR4)?0+dg%=%ZAk;eWjgVPqnCML#2(WMcuTdYlHqfc2HqK_w7GCTG8o z3i)rp6yEQCeE<556Yf-)E3-TYD3fx zSX+muv=Bqymh9Oe8xL)8Fex&?m$%E|F>Ui{2~T)$bAth&hP?6FM)#OtlT!XUsgEAL zl((XVFFH||fO}-_w&b91yXwptvqks}SqkC98OD3U2JbawM_)omR?<3!!R_jBiV_K( z(R6j>6-^M8vQ059B!?%+r`u!<+x=)twXk!mJ&L{5cI4SD7U)PQX?lt4B<5*j(@Ai~ z!^Vm;W`h@$oc01iX=ozGcF~Z~v%Mc07$Dh#0HjfqT3Ah5AtN1esAy*)0IwrD?LGzO zFTm@&_fa3cc()(5KdThbu*r&9h=3DbQj!~%LQ<=oCNnSVQ8Fdj!c5rqOiepL*PK*S zS48ZE4jyGADg`%1T>jWfp3#m%XKe~blkCa5gb8%)7X`LYZ%B_Wt}XO}kcYa|FHu_j-ca9Hzm=3q(sE z$aW@V!CqkI&5C45B&F|FzyR7t1yd=}n3saR#JjJJs9ai8PdCG}5DwCtZ%egxcMaHF zFyK-lcBBZvNIo`T!83PfFaxHaEyz?q%9aABXW2SP526_+qKFQ&5i}A*-GDj0BX_i> zQznf<%ba+_guZwvWAss0C0D&7= z33z_+Xv0m=8^Hm1ItqvK*3n|5%@=Ws>9BM={lKuP4U!NkPzHH1dDX>02-n>&)Zl31 z8IaH90>VV-R%rw@Q*UbMU|z)&8&VGdC!IZx>6~#;Hk%B}CLaBC+Xu;Y5s2Cyt@$iC zUadwU9|gmE7!BoWK#@C~5#u5qZFIRL+c|whJb(XS{>u-a-+p@i;8zv|%@1NwA^E`{#WZ~P0FQWJ zsLEpm_oL@z>qEFV5-$SKWK`x0G6ZrqkwcTzMpK|J6#*Xb4zCqDngx=#=Nen*ni?Y2 zm*867_!CiPgB!S^Uj!Vu9_~Xr0aBX>7Pw=O1t1W>ozT$4xeCbP9_Oa_@wc!}olmbm ze|Y^W-vX|8FERMROZY99xoU#YikAn6t&l)=1pbaqSB{P>N(4eA9bkcw-E?6r<47ea za3U3}=^8gVLvu!znVTEA6kKlK}mY)`9f{oQ*J+a^=`d!^6ZUkA%|HJ*Aq-YHldAr*0r~MEAj!7Ds8X? zx@5h9Ba|$YX&a;cuQ@;qJ4gfojIOBgY6ZZ~6Lk{Qh^(_wA4Q)u2Tr4^lU5)}}wK09BN!Y;f z01EbwhfN!3zV_yu$5|_Gf6RqIY)}maDS!oFq)uJb#^HHv^eJ0HNP=w}n)F+CGee@< z0x>=Y`n=(*qx~s$FiL{)r7vzefIr2|Q2@=m0tsvG9`nptXcYa)z7`soKfeB$ua3WY z^G9F*u0P|k%ld6ET~b#!Vgndy97+{wF0@@&!&n}49h0;C;>33)?H#|ari^#rz@u`T z4?y-iH3j<$kqlmIqvjQ|9Eb%YYlEWoPOA$;t=iV@y*wr`ubyN1(mXh*(avdo3M*d< z*sh(@jun11T64$VG+=67z=wiiR6xb-lO#~qz((FTM!Q^?-sjXkkqLr$K4FZQr!k*y&oX7Y_QH21@iGyumn!tO85WEH}3-QiOBu# z^V@T;Aba!z{<0wJKhQJZwt>KayZulf{kq-{GWpIpE6y1PkY#kzq;+b1U5G>4 zrV`CA%c7rga`y@zIdph9;mFF?PIgXY;GNl+ky}k*I^m>Zbn=}L7r76?a?vtOKKuS)!GJTY| zoQ-5UgZZn_h9m83;~{L^khp!6FbY_=%C2qQ6+9<~KMYC5QGoET4XVxrDiJ|?gU4=I zPRQM%@IOF~I@3a`VwaP%3VeE8UW12o*6{@{qzZm}p<-)mzEW-~F-V z=i5E6M=#n6lWKmD*W7!_NzW@wdhzbHzt)qiE0Jyu5J~`;GLTEOdJ8i? zh%^@Xx^l&IQs+qQ%Mh_fudr<;_b8;JE<&tbM#JkBh@@Hy8qR_Q z`sDE2DdWhp5ML6fPr%n_!UhhBhtFod8nTw5*=QCvjZ&V_xw`T|It|#%R1#n&E{UES@ek1lQm{^KM3^n)m8XcS zxN2`qb_Dd;$c?v07e*+K6fnba(GsC&uc^&OV}zucpHZl>`=MJPixBCIh zk6zB3dYZm6%2_Bj0%}Ls%gt|;aTYQ0+;w3o1LB0OI-!XKR#J+ zUk9U9g0$P%(g%>B1UpkA%jmQ@dI3GU2`8f7zL40*3GdFQQB;Ue)d*SZ1bVb}W;uDM z&9x7m)-|td3k}Kc5HcM{Z&v`o8+%l*jcR-cUxqtx7rL*np}PP=&m4P|igpLU;^sU5 z)z9Dg-st$jYj-A-wDQg2%!t#ia!iqJ+Kku1#&!ULC1?r(5iU z*3beB;+E3**Vk$M-amZ2OBi|d;=PRVc^WTjPS!kNRVm)jKwNUW9&vugHjd5&?~VO^>Idvh5Xe$xeD>SjAyO;Nb%LyK-C2z zND|ynYlM)_ONpHwaz|OWZOVW9%iKfV`ppVr*6a!cf#`>aGchP9D>j( zCs^9TRoBnZh9Um#dnkR$cCDzfs0C;(Ry=v1ygrGk9mGhqj54#xhFRSivVkb|l70eF z3mbQmAT?umxcO9umQiav6NAb=JJO^_svW1+sv5vtH=p`{`o^dJ$=`g=KmEZUy|A|* z{L3ZW=BP=taES>bcngNUWSFgI_FWJ0uq%&$*N0x(j#B(a(Za5nSXtSu29Q6*cM#t-t)JKRl zJONX!THSe#&lT zm_76$7B$gLFJ#KP+GOdt>#mfK?7eMgJ(!RmLkK)BKD4s9g%8#0xxE47u{g)L8o;7k zSDSkU=%{Bk8v-J{1*EOsBSn$Nar4pt@kP?Lzj^H+|GAI-=tceZ4PB$4-}k*v?bCB% zcdQjoIfo14~#~Q7DtSs2punLz2K^nHZD^R<-i!c+b(xf9uCF< zN?Xsl%8K$upPJj82dQMl8obVKETYONQbl)%PGFz87BX`20=0pZ+rFWBQ9;g=lI}Uj z3UnBBgtY2=?uCu9Am=L#chTNFTMP;;#anIpj-T;CPyMSu4i@=%ew#nu)6GA632z&f z^i|MxweZxKk+QKD@sxdWR(3%&bU7s9tnAQ|USUSMOZ(2>Arl^|NB4t>Gg+CpZ(3hcct0z54Z$$O4nj!lO4qA^w_XTB9-$B-ASad zD6W4FZ$ymfsYG^Jw%pmyf;xPA8edjB zXTb}!hD)XiJVrJm00DyN15sMHs%}8VbuTvM)z#eU9LCdIyyJ=onm!~l#(@3Ev62qae|T=Zs!;F^t8_S;G?a(}+(YJT*x zz1&!^3U4h$ytE6Di82!G69MyRB%1S+a5W8=d8KUWXnW0lz#Z<1(Vr%gfs6s~@7ML5 zfPL8VE0G=q0Knn{*)s@?3L3{InDg@=pT#a;Hr8}q4zx@^$4v_`ATeb2HPl7MeYWr} z+J`oze$YBvjxHFOm=>`qkOeed<~hx!Cyy3=UP)}UU}c%RXu$!2X~?K6Uwxl8JKf3> zNm@=ou0lBZ3?AcZ*TCknhq1zm>UGBrL9}L2^4{h~C*pWLF z_-n5mlxypu)muhOL}A371@KkF@=zUs2k_Owg@aXO?V5H-JL?{LM*2uUx4P$F%Sra= zW&5(R{;!`mR-b}gqfvfZwcVWt2jCOdnz_h=EDSb^&FGUr+`U|{jn#e_KRgW-Gd7TSq6(4~oz-*jZUuhe z;pJdNw%V9g9>jbz2A2cbbXptkLf=>ZIv?Vd?hN7#Ci%z_hCpGSx!D^JL_N8o!~g>W z+>bf(c3-(Jn(92Xylq`jV5QDcPa@>(&KUmrDryRY<5;~>o@z2V@|>c&DsBPrV-&;% zsoG(g0!qm&uh`16gg={#&g4MgZta?U+r0kQ_3q7^cfWu2A>;LjJa?70k6yt$RhY1x zKG)HUY!?f02s@!0T2-S{T@+YD%r4IG25y~{Bc5__Z7fC03IfBZ!cd1e0_5Hw{By4j8Y++gO(#vB6M_^716F1&b5sv-aG1Mq%0q2#&89^S zVHR9S2_1;L=7>Xt*c`52b-Y z5KW;INaYjY!gq{iI1&R;!3i%3lu>~8>~xbL#NBmNX+WRh#8sCqI~7hv%WXjPo@-bA zC;NfFv~h)FF$9oAnbOPVp43@eN<#wi8VHSG)1ygff5Tzwt>e+edsh(@1~E32g4x>M zeflS`1EfW56F+IGB2$InIJ^-zK~r zBShCU_&X7<(oR#vZ49!*vv=>XoUC(px2D%uT!-Tr47IY(aPdAsPXK1hQv|owbh!N; z?w#8!@%@K)m#OUa+j{f*H^05tM||`O-nkNIYPM307hL)OhdiM7j*9hZbfo6h#x*Yf6Y31=%uxJo}0ua~xmW!7X4^lQe% z4N}59+OGOMhy0LU}brsyxr%BZf;VuT!5DsIS_g?VM!#;264 zf`qyhsvHmm%FYrW3yqtJ^F|8NOD{W_TO`P4Z_R9glnnu9u2@wHxMojDAQ&;TgMm~F z;pn$YhKRi@GNU!E82D4I72=q77h|T-q)i{wG!7U5i)F=`!)2ktZWwn@^dxXo$~gh? z-k=KL_!qo+i0qaMHX8W))AMMfJ@M`D)0qF8FCy=E@%c^u%mBPsnLT4T(QF;Ojp8=c0K>&_akoK4OGOcad59?%M>o-2-8mz+^^MlX zX*>CtdJp%FSgz)M)N^y}kKls`fJ&WLET0~?#3(?6@qFp&UP8MG4p8Wf1_c00&X5x= zJ1s{SKRal4YR#sx>)3?CAgPHNJRo+s`q*+*4svy%2a7NXqfhS(QLJ zWozC~oxNt(=5v%1&z~itti>DG#6aSMPAK*}AGHgvd;~OxK+x-)Q=knDL$iCLgN49{ zT?LT(DTaRGtDW<&e)lo*r%&(Rz4{6hB|}8r{g-L0Jph z14#gUH#IXs+k}cN1D2&3is3eFHk~_7#9_CAJ}-Qi$N*gAW3Mil`nM}dxzOpik#lYo zcg1WW<5GcreO&T0xTSg3oVy)B7Bvs;Ub$5ZZ~t+?cPoI~yXe&g)XSO=6Wk8a_ZAYI z;mu#2tjjc}&&-AfB6~#g0ktq1I#Y15!y36;N8*h$pT+BB8?{d7 z+{-TME#|^%m;dz3R{Ps)41H~;S5N2J&FS`Sp#6gv^n2ZM^9O!@Cjf>MaZViCr8Bb` z^?~;-q9x#Jq@K{jp?z~$4;e)>8lf~2>8Le&JJuvtBwi;NRA?&FJS;SwBL+JiZBL=A%2e#T~jS_(;u5Qk1tZk(`|0h>`*RtpTjmz+;$KS{?8 zSUa16sHNM1)8F{-etH!jygt36ey_9k;MMzn_t#f&a-P}ktRR!L3Da=z2h^5J%C2@g+SU6E8Z_pZx=aC3Yn$j=8o9z8WWhAJ7j$)}k0>c^eKj8JiwMdZQupg{ z$d0w^sc5VZIl9}ic?1qL!6>hfuv?JhKm6js`Re_L{PgMd-TU&<>-fFywDr|S08f=4 zNZEjHsl|tT3ThSnGlHpAoCxuNJ7*maSf@ItdrRE_7i1ziI9qSvi9ZFeVlrd~rkDvT)_=mWsI)3mv zzHF#{A3Kfb&$dxBmfbFi=iYPBKok3tU_0v4g_dcoN$V-susP2CJfjl%&MTr@?kR!0 zVN+kqu?^t_W`U8*0k^;T*~|1Yl61lw5F-3N>IJf)1?iEISpQQ7ucvfnWCQwzPlwl8 z&mgnK$T7-`4~XGY!5_a?A}LywJ8HAZV=c5K+nC^uS~c;0%xF+Er5UPH9bS>2zY_l(9brpt&%WrA_yT^{6^VH|Cx$OI2hf|;k$>0+ zypeuxadC?=S&uS!!$A-^h^0COifLR?sDm_-bI=BY9_tABoD8{fRyz3d+8gNA1TzdW zH2XPV?ZxInG!HW}IL`u$F%$lpp5AuJZghKl{{8JvyJqh99-I$e#_x5bjjwHu>Sy|y zVW0>#KzZP=?77-cd-H`60uuo#7zynB zM0{X4Hj&LzP;D)2&l0{>pKa4UQKNO*qCGFS$(2QX=CYzA$a@=SHahOfu-+u#*|Rax zM7q@OInk`ep9!zJfsj(^OtqF18}u;Et*xX+{qk|K)3)BvxlOhE?|!+_KEM6^G2{6P zy_=Ww;MM$I_nUmJ)%ND@YzBd5->Uc0m4)v?C488kcmsFCcT8 z&i*1L^Dln)G2Y!v#eDR#eYeF~|JvFZ-1m^S5Ks>HyGxu6Ga5N&a=>r282HnqwGCwL zG%*(GBM|o5hYZEd*h;rwZOD@;RitSEpZ zWFS<=F`5BIQ{)V!e4*i9g~2$qgKl&M|18w`AyMvKI0lk<)%+l=cQ=OMtMh7|F5Cyg zZO63ZNc>o6!dY*9tnyoU%v%^pW%eEForeQV zLdTGx{erB2Kv4!Dt~kI%CunWJwOkva$Dn)|2hB(&!>|yk=C%)jAD--O9zQgY;|w~e z29@<*mxC6PXlVh5x$@fS6P{My!s;2<`GO|JPHdhbYqX8HosdXqFFX^d1)yzj3h`c#RUM+TFYr`%v^%d}m9#2ysTotaE z)CC1hlFStiRO2(2UlqLfh@a#A}iSC0KEATa5*qGe&KYd}*B>AfFxT zux+^>P=)X(;6R_W1}ES(2Y~oc)gD@q!u05Qo2vKgmt{P9L0@h;^qX<8J2Ev_hZ7vu zn$sK7%n%q1|866#hHcm?tRb|M4j^;@3(b~uf!?2sa&|wWn&>yuB`>&&jMni>(Xt7> zLJ!WZZu5|Tsqx42mK(=;t>rwCWp;dQR0 z_O@kvLwgi_o+S)Ex^+Bgmrg;`C2XA4j6+cZ__z{#j=b?ujKc?*941z1kSmd zAh9%{GQCh;NJ+02R9)K=blTGb(U-&5@&&T)LG1Za2bBRMxD)F0h@Gp@X&3yj^Xaut z>mE3@r7Q8pbvY{g1%iDZywRJ&Cxk2~qO^fv$c2_Z4-+W|CA2Tt%Qsl9L5x&_-VsIF zZJ?}+YE8#Dh#TbExp`x3RkQX{r>$qtH5V8KyK_VXPq**n{~td2d51T9w)AiCqM8PE7Xv+ zCl9_9%@M5W$Sj=$pfhu7i+11!>M+3CrNZ~}xXfX#`L>3D?jhaHPUmn$9GwA)l}b(w zTaZ`Eh*+?$4B1!jU{H0Gm$&B|>w;o=Ku`uh?CF?rV;+N)iJ3VM%{d`UBN(EIg7J?x zXw3!k(bR0N)y%7J1hJ?%E!Hl;y`Nw--bW&axGi+57Cb$!hbj4Xw)vNzK7MO!J$m6@ zo@w93)R_VCvAXTWwz-2TYimVI=)-I>I4ph~OzfRQ z0L59n5$O@5HyS4z?}ogWE#3Qp_$QIVExWOwVt~5Ww#`>)xAxc*V{F(F?bMJy-4NN> z{`oWQm;c764|#9o^yo!>d89r1ki9+9d{UhtaV;Svgk93Xxst4PqGD4opM5jHI$efO z(5~7kaIu>L$DAFnV0Q{kiZ-5;(K>gT=VGNIkF1+SZPqb}Cub!%M-$6> z5kCmx=~K!B?-9Jw;gdFY0Q}OZ zAMaQ4bd8+akOKn8a2&wW9h8<$(0~>|YCtr=)>V*Tf_1$w2WK`${f1IX6trm|@;VuT z0zhr_cKGZ}xH@&hQOt8QPbK1Qph<&j0$pG+34C=UkDBShf^;y31}OM6Km$PdHcar` z&ev>$UmAt~3h7Vz=~ce{>E0fD@Cts}WB>2ZH)C_rsw&6;6v*ht5xN#%w-;0ctpek$ zwn13~PomPb(G}`DL^;nQ;RfcLt-dKV)b~P6M4xzUb?FH1n%b(4;J-Ev(J0KTef5~k zANV=xgpn^W4V<$@hYP&{_c8ox`z|C%ldYj$EDlN=Wmv17JZE5F-G~`yE9So|o6kXV zpt!T{3sju5_eKgH;)^lpb`63Aq8ZIwN7LK`dMqAi$EccuQ1gJ`{hTQWm^f!m(s|PN z+6cfMtziJw7=HappyeGx@o=IA_jH;Xk^>1{d+uCIvQV=MOCNH2g_;f;yFg z2G!a?NYC48IU#C6^+JN5QZ+m;ckPJLc#5je?SSAAa*iAEhQM_+IBdt#4Pn_n>7C4t zchoM%S#SnwA!KUs>9}NU_ZwpJOV=DYf78HcciG&XiK1ga9U?6<=RjYeYk#f2U? z6X2ywaO#YWMe&wh!8beYUp?)#-{*es=b!FLGakHr-|Gg0NcO2P!`sElA#kdz50jC- z7NsFC8t2G4W8?)E2@X)r0l!5)Zyd-yfr&QLLi?E;8~EuuP9&#V+8jyn4Jm9riBh(W z9c{ow_B0a-?2@Qu-TpD^-rLi6goQ*_nMZ8L_v=!VUj^MC<{yr3pC z+8%8*koL712xChD26LU90ggM*1-H3wUgbxYy~v>d_SSmz!o3_PeJ@+9e@V{HBiSyv zenax*nuxrLembNoem%-yWK8cm5QK}!9?0%x3wK{Lww3pJ=IV)AUv(TkAZ{s5UL7f` zEiQE*UpUhy=1?l<2n5{U9$ua1SnN!;YbC|*i!r(Yn*acc)pCxqEZ?KH_&Jk{lTLtm zfR`54V6%3Pa5Y85DLiJQ^e6*Gw-zZnub8M;(h_o{YkNrcez!yRe>^KO_UGT!>;L$r zI(r?j0t2Pb=hNp8uiyUW)p_^k&Fd>h{q@_QQ?`FjSHFAqJ$Ch9ZcwDJhYyjy4~O*> zXxb;C``veIu|};5mpv`nwy7YhR027}n2^ONjM0pyjINdliARtC8sd)B0^J}_c&DC7 z?gQAevtX`=*Vzm3o&fWfSAFV=0Qyx8ozC77go);s`l{ADB72||_jg3@$_lETs%O-WZL6<4*?tb-yPAM;aw_=r9E?mc#-zj<|j>#yIwetQ?C{NUyOHS9<* zb`TA=PYn_Yiv{j!nM~Iq055LCM57!eoR)n38)wkr%XXyXr!ac#=L`hBo-!jq^EJfL z0X;|$0sN=9j5`-3*lUE%c3ba3PQPX%`^dH=0)ctUF+}kH{d%di@sf507_m-`ukyJbJai>kawjL)Z#B&lsaIrgzj;@W2n>2le!X zH4bo8%(olHjB@Cb?DHY>l5Nts)L>RR4Q^O7@2$y3-%ZGpX;<#*XCNW7DN?fsO=JPu zxmAl7ZDUpID-Z-n{~vd6w`_@#WNBT^4TfRE#Q*~g!!QF34Otf9Kj9uPGiDL~)1_`n zDa*|2?s^R{UV&>K5nDSmtGdqFQmd~{imNh{RGH_*_8mX&YkezsE8eVoF}tw=+D|Yi zzzd#`xB0-Eb+s>Kwqh!_5U>p@yGx9!EnSC}Q3_}bcO%ZNaBw?l1t8AHzT6Pt_tS#> zt3TV0e|rD%kr?^i-vP+{r#L}ukoRvYo;eoYdWF9h;s5(>6`}o(=I_S4pT0j)zkmOI z)`xff{=>UJ4-~&VV7wYjvs~zbK>9_f-`=>$x$Lr$5IS4Z zl+4~SmX9gQy$Gizw356_V8q=<-h8iKkVFXp5B7Sg_tgUPM^`&UN{-d>M|s{EV5sjJ zXx_^*F&@YcDI3w4Bx7IKHh?wGPEmp0`+`+5Z{W4C9O)vyhvPwM zXVo0qlNU*zF&tEaMK1@l9X9+jax@BnkEA(_Q~^%#JK;D=7kcP_Z4N|=TTg;ptC$Dk z&bBS8i-B$DoDcS_-hsUX**I%oynqau6!~Dk4`65FG>sj1|i_ zwItwMsk=#E3H36l(o-%#n;3Ma0ERy#_LM!Lg;?w^0r}q)h>7NAxsD(#UmGF1wCCCt z0sH0lC3n(5U^3~MJ9&CceBB+vA~c{Rbbg~|eHQOj1YOBS#>o5;Ewp*2%U zHG+wlADymSwaTvIvJ@tXJKvuq>Sb)x9dti8dBZO3%4;i@6~QdGb7kX{b)U{ zy#Mi8<$bv(-tXT(?dZJqx_-O2!6{$W0^9l`j2Fo^<2ogdDZ_)!6TIPz>;IHoiIjO= ziYEQG2ktSLS=lF4ki)6RMMECPWv+*8)0P#}e!7QrAbkh-!GHt*xEgV|NbvaFaP-C`Qf|xdCb;Zuj#jZ)PCOZ&LcRu&{UO3zXNxA zUCS*cvXS&Y7V&*Jee=wV0E<9$ztQNOkm11U&elnkP`d#|(DNSh$wQ|w21>DgIyZRn zL9ux~GTIL$JTZ2^!ns}Cywf;T&&8<;y5vR_93`UkkOnmM*q(?(UAFJKAShhRd$9)~ zWXNsJ;TtKP+eo=%F_{~uH*Z9=UgUi36$zLJ=M-DcrSo~!{rkVHy7~uH+vmjkpH9@f z{_qqd^43fH?H6AU0K)bh1*Zk!FyvY?2kw+TQCwZEkx@)oFjM3K~-d#V)0CnR_J-3 z7T>@9%i{aI)xA3(KjNPE{>P_aq&HsHZ}+hMQ!nrWxy=(jceAtw8>!REZC8bJLu*F1 z60nX11SxFIHA!xEwGQgBFG9gU{kv+K2FWY}rb1L!fW9GZVKqChAdQ#WaeC3x)1mr9E{XIrsmt1 zZ_HB~*2~TSop-?-rF}^sjOqJaVEi+c_vzDz@9rNyJ$+)l^|Jm3Do<-uT`&hE?_s-6 zi=24@@&hZL^j1$mfDkR78hft5wJQRS8UBpyMljrgF7{k})Mu6RBR(%NbxJyOFfXnq zM(kHWMMUneDo1o~#O|bd*Yv%^bPY+2 z#0O%Kkw#qtM<)Y$EO4^f)~xcEeLMui!^-}kK$q^SIrqIqp~7mXK_A@fDw7R%kH-vO zW_j+Z#qscmUyBgc8EuztKmztd7R`$ke~PcnWx2n`XrT zo37S4NS!0)i_}3Rq0bY#>C_sxCQDT}0$%A3#e7NOaXy<~A;||}P^&OqQQWnsk&Gx{ zQI89cs{m9UR-wCa6^9)!woEdl*{650Ziy#kyoMF#EM0gggQ}lp(9V1BWa>~HE z_Tb#Z>iOO7ul};;zJLGM-^KYJm%H!&`bW6=-=UrNbA9BuUg6)s#z%8cOjv_voAe0v zc4fqI>H%FZ&WKW=Z?Ev>EyV)u_Ct#iVUAd91hfxI>N4aC+X+n@8B7UZIRk5RCHG>w zv=lBLn)|MLX}XRx;EG%DR+Y*TX*>rOyJFG+fYKBvHh^uB&N;4~?#DZik!~h&_Ogis zZug~yGmRqnf5D|DY z2+=!c3t%^1H4cv$9f;*F#Vcd09i`~P6rm7uuvfuSd!eOMTQj+3=)@$xF4Gw(LUO2 zbPj}n+|xL!O5v<-T#FdOq#3iqaVF`$a?VNcCL2#5CNWSyTCq*Y(@q^UNlKc;=+0Wr(J7a4q2@ ze<(5NP`R?wrlH280IN|(ba~YTH;s|V%>$w{bP;G!htY(Y0SDQZEd1lu_`e`B*GmE} zQ3#4&3ZLg_BjS;(kxtYb+^`Ca!4_Wxq^{15Tp7$;ftttFebFpoqCM8O&b4`aM=vQA z8QBXzAb4SCqmNdNsW8C1x*m-)MC~DIRG(Mge|S-Of71A!Px1SA_q!kSxzO*e*Y?}5 zzT+cg3K<003YH4r$=e4ZWdkGmj5tQpnExO^8@&iWbDvzmCkyZ^c}At3BRSTZ;gDCv z*@|3RE(^3sa3a*$h>W^7kJUlO=gXHzA1^!i5yBAd`0c7m^zP$O1A|njR>0B=GDZp{ zYTVW-MDAI~+U`E@VID%$x`JeA8zeq8Wos&+lSIP!+DjgAVYu|GR?DOa6xVCzF^dA>RW}BtU#x2 z_wsxA97i4tsJIw;kJj$dLcUt|uK5a&=uNb>k6%$0KqqA^q1z5=MlAUZ$g&OJTEm*Q z2E5)(ITKAm#3HeKi7y%@mz+-4ntm*U%Fv`ZJ*=189XXXKFe;s^H$T_&{l~v7ynmLO z@2%JO8@}^>6%n+rlLq(eLAqmX+BgXWW5mEcye@_Vd#ro4`Q)Vq<{ION1ElNj394ja z1^kW^%!;i`u8%sHcL_*m60=Z9hWPe18%YNm`qDiaqsD^2_Expt-ca19oNBI|dQ^4H zH3(h*i55^3oy8PY4kqCjvnftu%Uc5E_@Z)!Zn23+{35xo^u77xT+k4}6{f0}=f43f` zmzZs~;G5LUYcI941tQtO1|)-DUdm>4=fZDg6*J~Q?5!p8S->}hbQt~Juy8~AmR)va zew@payO7pm2`M|kS02VkA<28CU^$y2l?Qb41q~e!Fy!ub_7LA=84!XpZL`?AVS>8S zivch)<72?buzew6d2?nEtsFuEX~JnC77P~_L;d0gI0ndbK@}sO57fSv-lq@e$B+H~ z!w>JyhY#=n{!ebVXYJ*;Ue|B8^!_x<4SWRRaqMCe1lDC{_ZnrGqoOSZmFB63dJ%qu zS#~iZts^y%q<#0~Rc?al?7C>&+MK$I3f$x-Tk}GH;$^W$CIMRq7{#0~C3}*Sl*QNKD68T>&!na=GZ@LKg=i#myMUv7qmx+uEFm?QP_deTT z@Yl>U#|5KdT@{Ia%6kVyv>^#%pp5O75ch8I|@4*b&TggmS! zdD(2ywGub5-F5gPB!DZtf9=hlPN~z~~&J#miD-u(A+P7FAWDKM|qbie+=pN|- zKp8XVN%Gz&cCE=k5~^+saxEnQ)qh#R_p%5-z5jC^KAZBs@zQ?N)%PVklN2wiz0LQk zLPTKf9>b3f8@tB>5mlp>9y-$`Rw3mv*J)^i_d-XQa3?utaFoSV6I{11GICdI-xE7r z$}x1`OucR1oN|R{wiOhqi@v5ePrpj~P#EaMv?1Hvg z9i3Sl{!5;Gky2TS?lvbl;njLl)wP8psq} zV4^K^>_#>N^<1=;$|~Q=qh?h_A*uOgyDv3UiFN|#us1>o`I5stH)MK@&Q=Prz<`pjcDtEQjc0A3p0EP=F}1%$Gf&5SmQ%(b>jKUgW! zc^+3W0^B+z6~OTwbKQ+CYff479(3S_8!}Xx`_+7{Mung$Otm531844@^v77&3Upzc z^W3QRRduYqj1i(#E@OFIo!*Dx1Um=tY#MHA2q2?Xr(xpK8$9PKICOM(6=DUUWQgZm z-@kiRc)!A^_SOsgP1oM%O|LNj-oB|J=4m+XbjP~%r(>_3X@QgV_ zoDdlk$b*FYYeCVyP7fp?srES6R}9J3ej%{!Fx%t$xkRhYUbdPC+Hdnt2`F>7Go7Qn zN9WyjjB64DlyYvy#AqppJ8$%JF%r-?5A4vLBP)F*!9;UUS6|kNbhaF-M80<&{9I#h z#3{~2y!dCFxvwvMzsjoi)=T?MSD$=Ie>L8F$SrXDm#NsE1HJ-;DM_+fIIK98cOVy6 zCZp}fxcmaFho0N^u zW4tH}DTfG+!Zc2%zpcaqEVr7yon| zc@@pGQZ=V>9hvPAppzj0!1jZ9FSC}xv$n@vnmgCbAdty6_q6~P3O7B*t-ZE`%HDiR z=Y^LIc>@O+3IexacqY7u=-j&DlK=d${SU88?)?ux{ozyPFQ2z>y|&+U`F%cb6P|qs z@?QluPZw6g_Hs=Ma$Fz)k zF^G)_u0PP+PEaRcb~)qKBcm6WToawr_W@29f@ua_e3-gs7&;LcdQfJaO+fgImmGlz z`pi;OA+WyJfQ=PN>y68i7I?Bq+(bg=GE3}sDx?R*10ZyNnMm;G^7{+U+Orn(8?Wkb zpzvg9RO{Y+5&0d57ckezVrZd_SgHZQN8DHns-xkOKR};z5I;)eq7&j`R}oNw>NGdSS-j?g>v|PB85>bJK@TdxYJwB-^K@fEwd5l~(ycg;+um~-{l9r#c<(=* z@4x@qsoGmF>TjU#@NFmDy~#SN_+sZ+Jucm|Dssmf21*`CNY?A9VK5-Kk?TCgU?H6{ z#aAP$wFk8ljh-yywDP8=M(~Xx{t7XY0fN`UM0WOib;T1~6A7Ion4w6kv3D%OpN*ie z9^5_DHFc7R&_vWTa)8b?0=(c(5_C~YuL6;`&&Vyl;l3_8;C$;T28*$FoeN!QlVO@7 z`HLc|e^hsW`04xa0)m#mtv^0HYTtTUe*=}r=knCWv8fdi4|p!2*Qslb)?+LN@Oz`_ z4roq|JhgP@$;}%!grbpzpcDjI_l=$n@cvk56wrk*vV;z{?h}C6xv@ZCzDVNyu0)0k-?t%dG}IG@NutN0s8}O`?Zz#PoXg0dRf2e%KPFLQkX!gBsIRM__{8R$1E;0!nLZu~oVn-NZHa!} z>LOy;zK)ODCPV|NhCnwDhwF$-5^UT7ADcKlL^?t#0++x>;J|Zg?*H<%1b+>Y<*iru zn=ZgFLk%SS3DIfcyBH+Uv5sCFXBd76PkbXKR4tK+F>rady`iTQ5u}Zf8pgq@nm`+}pz_XO-pdUMjJa>Ss^4_sePIBhz15W3fs7w0FS*kKnh9YP0MgxFuY^x15h6m1mb&bEZ`7l97K4o z>F~wwD1Zr8uR!b&@mbFc?{#bCp8{jN@uGgyb@%y*l@K|?Na@nuJj?beQgj2x-eb?v zGg?~DvIE?rp5atu02H>N-MPp$J43-=(6L?xpS<1MSTwq-x)bUuF_o zrsQ!B+W{U0(p$P=FRyjms%Wl6P9(x9E_gU=J6vT@!s|fx&5)F_5cK#+NuTX52reh_ zB7q_~B`yP1yZH*_Z)+x;Vf*wMQ{q++pK8VCXCAmeSWKTcRo=a>xqlvz<*gU_o36tz z%7G4-XaU8@G%OGb##x(Y-@WhkeJZqY(-q$vnm2rEftcwQ^g#EJw4Jw*IfX>+%N;Xq zAa!UiLYS)saz~}`bdxB=yO8XeFX?CaW^c}emb^8Lsbw6NKwa7 z&D?>J*o`z<0uya0!kIUs6GrWE_hw~nfnD~RQ&64(IdBxr*>ZF&h*R%#zViS6st$js zA8vj4N0CIov>U$l5`WWG_;t7u28=3Z-L(NV!UsPJe3|rsLf!6KL*04;Ee4Ctj0r&! z-Im%&Zn?JB7<;kqIm`W?3vWRNBDU{Ehu3*3FBtZBT_$KShWJm|?ad97#&E8`H)K{lyz?^8xRy`yW> z3CJJcUR!<{wfv8&@O}Q_`}+9q{P2v5@z!hl8z?)8L$$0p9@)tF$}L#?_mr{CA~vpB zY`&tWUVNtGp49YdrmKM4-n1F`LceSG!3CZ!ELFoJl1~K$xwwFHAa(TYYoxo80Qw3# zN?L@xJj^99>zV@^DNrK34mIaFx^LH* z3-O>AdU;&?lL_q>Mm7Q)8gG`*WmB&OqhHG|-v98!`yc=2`33N87xuSMd)~Mu6bX`M zG4bx^JC-3L+ka!!$F;9Xu zTgdNB8I&t8N1~7GFM|!jSK#2lkG&x_E`0G5S0NbFwC2vOx~vhFJXmdoCkzW3!+3~b zcA6le5yRb<1C0%X(j0@0#IbfwV5sb&HrYGvYR=sq`FzX!`P%#V$B&=thv&8T#tZvR z*WPD`8nj3r8zZJcD=svaQn0xrl6Hcx4Z{S$)a@Y&zl5(i;k}WLGV>8gA&8P%2_mDc zxhX3EgGfCHT{Msz;B^%EX=fiUMnJ}vcp2$Tykcg=MNX-67_{!W5at9o|5CWUw!xii z&|ZoUT?;ZRsn6tLKIp>SK4zcI-{3NrU=aoa_Q=nABt0h(1y{!uJUe!cOV1q|KY!f* z;puVv)@%Arm)#c}3uv5>9?>|svLXk5mEOcl@Zv~-8A{;xI>XbGH&CrP>tRmN9LkC5r8u?6}sTsm~>&9%Vw;u?B40xks=CFt&XVH7US1*&wNiM&==t_8{8_a>|(8 zJ_9o~*xCYJv_$SFb1jN!Kb4Ih4>>+0+A&2m`n1SFM(7l48xCSDYgj>jpeJn7uCL}kcQy3HDzvy zDzhGUsRa$GM^8gOUM%%V=972qwR3g3u7dte@F5`~aL)z!w++6T$0P8*?&tX1|LI8? z{?i29w_e%bK=Em}1iD?ejx#ihVIpX%AJ_tuO04cFbDylUNU*WjGN)9*PAg&%OcuRyZ9*2}sR z=z)OD+h{VYOi=YswSlX`A{GF~`A2BYD#HW=GUGKT9oC5LW~ zos|a17;akyc-8THPfN5vkt(W(kuD~z(>Tw1WStdZN~GT4|9pykwPwk!3=!lju-l{qPnID9z)1ouHp3Ra4k-8Okc z_+*EU=XrVQ4k zf?i|>pkq`3ZReT=^m}a5gH&7m#YjF|npq0*#hNONK*#I2yezF2T>$dXfKCl=Qa*Ar zaO%nGI2>zDrt`4YIx#XkUm-D^99iK|RzeVeFmAfTV((qKqcg7{JF- zn)B>7j1aI@EWNnLWzJLLLVgZE;txn^k7F)pT%zl@ZbD2GUC-MsuPLNo@!vnxr{BNN zrvS7!Uf171=^5na`wjvf?&?Ganfk&FV^42BdqQxA3vB@yMgZQS>0UM+lmGD;Jn%f! zOV%g|p>{7ov_lb87st7GC^Q$mz@Y`*A{`P=f0?2i2(%lyj-K>kkN7n84JA6lba|1A z*t{f5&mg!2_e4{Wj?10ZIkqgQ--3B&4#xN!!Wsw68ouiD+$uvf3Ih&u@nPZu zUxf$P7DUHi14~^t2C__2YQ_pPkj_r1%(f)lS8LW9bo?q$1u`7~LaRVfu;Y`zf{Vl>({&Du3_8tO zYa!ur9f`5;$!0TP2KFwe6WP2SY@a-JV}|b0ywKp4wp5sRcvtj%dHU|wp^tV|r*Qgp z8Z+^z#l+nqO}a>aUm-IdCNu(lZY(ng$H@`5!*LcGW-|`YK(-3h&4$DZWx9&QpGVg( zJyY|Z6!(dQj^|zG*9rs7bblUx`_^mv8z{Twrvn*Elk9-rE4V?49=?d~dh{pgY#qdh zc6nGc$WKTn&cSGVpi9*>E2CrJ!9Q)SS$pxtCEJT{@+z>%-qwzWe+4AD-U%-g;So1C{67`M|S$8(6p4 zx*u*TT0@YhX_o5@P{bl&Re_BMfH)ts!H-iqkTFIr<_V@^O61ruQ^i>cqhN|^AbHr& zRLsm*xWSZl%KfF3^pMS@0TAb!1?t|I7Dxb4gdFRn-8?{py>3mwwj&qd2;`P?Ku&5* z=t>ue;HQAO^FRnnj|0*~*Ia$JR9|RS4q=?*P7}uTA2k+?a?$S>F3jbaIh7ci_X)0O%MIOudI!ud%HT<(No- zs2K#b`rv&LM5@gq!IRt;TnSKs@?NP3j(j=W2zNDPO>pqF+vs&osVSJ~D*l8SNLL(j zNO`8~aW4FZpT$)}I&ccj04&YPVM8@v(9YPI`)8iJuWjN# zJ577*<@^m)98v&w-pC%<>NnzhE*TTqveb=l5)@(c%n6ee@&)A52|;sXZDnE_G*)A~ zCo7#L31RV`y^=KMK@J(wy0$NtJ` z+Q(1d#ozw%XVrUey{Ny1x?6amJ7i0WQ>(UDM#eN7a4DMAq6^33rrt8QdR+D;iz@N6 zE%^O*)Jg^Ia9`P(G$aw$>44mvI}-tVcSq-$JT$|q4cWu5Lj7tD1j&958?!{~?aX~+ znFbokrjrrtpQ^N=gG=fSfuCB{Lx=_3$+R*$nDt&98k?ZO%g zOxEhtKcl01{jU8~Km7DP+AF{Cu6^s3{S6c!rBJ)(I$k*8oT0ZZVZCxEU0Xe=Z$5++ z4GwFB!$xZc5Fw}meKI+5-4$R0d$DKdHK4?+h1;aJg+=r z2F~&W#BJz24c9)SKLITpJ7yM!V7#007!s_7;P7$QI1+s8%tQo&m6?*#C6;|M=hT?G zN#ynsB>{GEiQ_&9OGMYN#g2aZ<4^Uz-+lb!5BL4|&raJnUe(_~;USq}+}m?3^MrBm ztOG7i?@g{J=M8rA-m{d>dPpsuMuP532hrF*-~ziM^Y}RwC+dvRsx?BOy~f0-0>o^82nh)COF+<2RU)BVwy!yB$Jlc*@=yes zv-1?w3>MOLQ%dKc0g+teF_O*?FI(=!z6mjO*8Uj?-|KP4*GRwm80V*_Pm8x+*WWHdXLI#k5uC0XwR7CEao!bQw_w28H?FJ9%!|A*DJR zVW+7u=7Wu9qY;=!8YJ7K7Hh06dx}e_-3M_4mc-uwUq{7U)C*V6k_L-}VD zCEs{?e*+bmusp#$g{@p-f`%Ds4wv%M+IiQ7ZlrZUu^F^`rig*WGmuxkCc!8V;9Zlu z?L7-3o*DNRdbTmi5_Qm{4k7W-rh_$g;Jtro9NJe?p$lSIZTXt!TJ1g#mTa(B;x94G z0pQ3_x|nRZE&)#LHV4k76K7)<3ZLXP(AUqn%hx`(^*YFk+br?fo@jV0LAmt~!Cd3XX0)Vpb zw8z6UCK{n~w{#&tC)>e(I)-Fo#wlT~`+!mRYU{%~_FB`f(J`>7c*Udjfw2H@FgKZd zo(pC-B*|)fL*y4UU3{HxFeK!5+NEB!42~0tjy$Uy&%B0O^19_{ z+Uf;qT3y!6E05{!(d^V~wFco`!oZwqoQ5cU$IyL#AOGR6#f zK1BO3Kwzm)U(LDCILmLmieC%u|M|8GZTxQjZoT{Q{k!^yPxS#R$Isv6kDndlFki$vdlGn6Iaoy`dqiRYh7Z+va*Ju2|4Rrja&-~X|{ z`~LfP@%}^o%}07>4u9k2{91$m*SA%J|7rYAzQhU1T#{~$A1L8!s%W+rnR!RfS}AgJ zX9*9aJxscb&zJ`SopJC2JL~w=3(xh@OyYgG0Zlql%}lV+hUIMJoIUcXrl+2PjP;kc zG)JytEqI=hNeoeZsB{4ua56_mp?`&01-Mc>@bRqK_lP@q7I)ykgE(quoFg?8pM3=S z5x}VNwLS^rC|hEF0Fu?ie;q;ptb*fbu8cQc&TqHi_E$5I6Z9Iv;i-2ZbXJiq_7EBI zwy8+|nz|4Vx(#7q9Ebp=qIEWHh>%!gUt}UG4~o#0oOiWgK0h#W9pErBIJ7%tz$HzB zOPanE=}ksX6FdBiczmABcsOkv3~##^Bu5?{qfL&RUdF&9H+*FPI;rgK!!KYzci|R) zW7Y(<7+EM|)Ts-!2_oUI)n0p;?6Jw2@qztC!Tr1E1^3GWmA78fZ@1|53wgjuPva}O zXs(@lZbId15ZgEpQ7(e!aHKa9l9r4u%oaHy+Rn8mxObMM`*85NsY-f9S*JNTTmew^ z3NvDft5qPtcQ3u>FGE~tBOGYYj@j#6@Gy8HDoh6_?r4EkYZ-(ST!@KxUm{&aB z4?n%@I-maVp+0^o$!C3(H(uM<4+=!HR-Ao0G3r$YA1SDz?*m6}gIj+HHubPVu_>>M zR71U!=msi#ZymqdlC8UvJ(!X16qt9?K#5b`H9WPH0*A5V%gUpD7y3 z0nI3ZDb|pE3`{ZQ0AE!;>Qut@<{<$BX>~35|84_it&^`2ufw8iFvTPB z$6pd2VKSAoCTo`30}m!{F!O9QJYdBK#d|p)4O~7*J>sm&<0rNg<9uYYg2u zx%Nt-Y#7k)MZb<74MDn$Te_bZNMft!^NWA~mpk9*aNK`-<9q9+eO-RZWAS8I;A$K1 zk!!EB2tly2_UY^B+aTxFmN|*VMi!WuG*A$$ZDbokJJYntbWBa#ya)4fk%pj>LJPcI z!63$C1KhTtyybsXepA1QRqp6*{qO{6?)ACL74{&{tc@$|0V{+huX&p~?Tam1K?9j* z`?xfgAVaxh8s}{aNYueYUcAo4E=H+K_cXA)PG#seY&S1=zI|51SigL4WD(490*l2L zC-Mz|ZSsz>dLZocjP?13Qw|HlLcLuC@a1vGJ+LOM;&?NfZ44>0-G&{8D%t6Q2{QBH z9k3BTm*@SfKka-!eUHqRhvWOHPT-9f^L4>l>caK0@xJ0&h~j{md1XJK8!=TgxkJL& z*tL7QMb}})Y%c^l3%-z!SH@2t z-v8Zq`II*B*30_(iGi4x(+4zPT9Lz`jsbQ7kur`%%5g^xKn|Kr_3`{qlziz1_E{uk zoq1>S2!i?nWP}M=^|)>q^E|w%wlE>v4qPk@KzTAay?=gUd@j7X2nmVfF7zilpbWQ% zi3U9hWE>k0P-i@V7i$`_5rMl+t#+T}P0IuE52_yEN8_c2*xb!E`hS?P>bev6d0h=`q zfhjk}Fxxg3K?S@CVa8Q6(;u&>CBTYd<~aiM&-4ih3gG+@8*SM+`u2PYF;iZP+C30R zcSlk8=rqJCFSuB^j2|Cmc?2uiQ9fxvFdU-r+M)pGsC)KE={$q0sirpmyGIb{(1=F* z6x4ZZ38|!7i1)M?)%9Qfechi<{O!A}zkBz?cbVVU-=7c9(tzH29iQxDfrk2(&59(e z%7fQMfY9fvNgn(;C{q~^g$tCzk+F08-l|5o6kAdwrF=*$49Nol1K}6a%)DgUXcGUP$lKJ7EZJE~U+jSKj0E;&MJ7 z9J_r7vKMu7ue&Z#*M`{>;dnRn&6Yru33x2U3QhchLQ1^2U$gSTGB*M(NwPZr?4cIQJ!70~c=-A6PLpq6|m$T7SR zh~Z1m8Ba)LCuHkZ!1iBS{_xd9+PTf~+xR?1LArE4 z`UCUfCG)Yzj=18a0z%XVTiLVb;vMVo5kUXjO6?T0!rE|<^K{Sl%Z$b>>(Xt~s+J#|?^ZPlkL-%fk~vHS>{JYM^X!?KKK? zXcxpYgq)-uk~b#^Z_x40(4~0l?9UOcYK%(cK9?7c`>_)m0G?WNwPDTF982eb3o=#NjjQk+5~&6d7$GS zI{^!{F$vTO{K_vi>wJh~aY$ERP6Rc!Zv%c%8}7axt^(o$eoj4s*?GDk@FDlni8s|M zbiuD`Hg0GStQYHU-MHn-TBC+Ox(h=VE2IAQRQWS`?7xIC_;WG6tB>D*_v5Fp*EIZ# zcYpZw-BX?VTd(HVdiy{B{QeA~Efa$U+&%6c=Q?l}Jesv3Xvy5Tpe0sdM?vg*yFkAu zl>r_uzPmo?CalBPxEtfaAr{A1gcEIF?>>XF=Rz8F zH`Ef_bJ|J3D@|X8`p|VUCpJjLcqfgnklVZpJ+s+GHp=2Lijj<=`_aEdri$EU3qvhq zsi4C?Hl!hF_E$m2G}p$htwqK)t4ANxwu~J&^l0!uS#JO0=PK>37xJ60v@v5YJg8mK z&;g+96kw7wrv;seg}lu@5z!VU1SibVxsV-LdsU7Dx`VL!20F%Zai?P#?QNasVLg~W z)=(I-IBJ*CTpE*UzI<)E%&7;rdf|Z{rSGMq2#>d`WD)MUhOP%6$m;jc5o2i@G_&zGCDcOmU`MhP|NKNaE$;`JaFK`0o7l-Op}hZ@qf2 z56*9*y#CR_IT{hvcaG7Fkc6If_1s5JV0U)xbe=J-trzw6uJ+a^`iou7Vay$d1`XaSTm!^~eJ2@&f)Qvpo6y`4=DX*u zdb~Vpq#Y>iXCXh)g3#Pv`$o-P-Iz>Y1RoBdpEW_o8tDUUaim=vI3=&tZ-c1}SK{Oe z8QEOxn%<4@vAg^n7@ZcPg%d$Yh?z(frB=a#a`zDTD1|feWcq;XJ#18}$o1aD+S#AK z?ZePtLp*Y~=<#KL5?=nx&!zSVe)_|Y-+lVy*KO|0KmWOH?yZ;e^)~m`=lbVuPJZ{5 zObkkhf$ByhY~PVGT<^jwa1z20@ofwmA?Rk=8a5$m;W34YfEH&9rpI?}Ak)T3(WTr7 zP@k+0TQIrBidJAx*UsHN=PGLPm&fS;KeoBIUewpy+&58nf8OR;a-SFji2a9x9(U_C zx$Df!5TrpFw7a>emoA>t2}?l16HH6#)TrDJ2Yl)kWQb+w-H=poK28kPv>8cWMhGn0 zWQpYL)%8*W_Zz#sz4hw7-qqf^;9p+ekS8hbRbsqN&p5u8_}LhkoxrqaJesJ%_)~4O z5cvR|CY{EX85kWwx$~I&Zr2`Jd12Q($e7bPH|Ov?mwFF|Cbj#5mAhZ1dJ<_41@jf1 zaP{LIF$+29N6J<3Vdk;bi*#JL5++=(pb#O$skX~wMW$e2x0m%u)s_sy@Gw&(5y=RJ zn~pR~A(Sj=A@jU!;r@%P`-f*p;kRD4CsU{+1ZR+3s%qgxJ*f=z#{fRFwPc9GSDo-w zwy%q%i)fFiZ3W+sV}y}3)=_-H)ygm;Sip=Yz}wj&i6{o-Z>@nyULHHN&)3-i{mwpb zT(-wl=`&KzYMKJwwqe>x1zZ&QTMirx{E^CDgTZgZ=w?xyA`ihOiTIcv2^s6iw1~(v zG83bt2Of6|wBI%$nZaLr9GNmN3M&;5d+@k=A19d-%x8!h(zB5*sI?J2%;VuJ5!B)T zN8Q=%ik2JK8429S!pSJYZy;K9T98P>~wfe6f3vai3vQsa?KaEJY(m()M4U#hYs-8T9e z@q)YKb|Uzk{f6^-is#C`Da{X~@7!dpt<4XYmz);dCNVu8dz0`vTG$5@l*fOTS0=0A zx&%Y3H<0w*uPgETHPfr+)P14OFC=)#_s}sn^8Y4zYHe$mW97b^^{dzHzy9mrdaHi#XZBkaZXpMm zZ?uh$L-VYDKp=)rg&BG$B*$}rH>t^Jyi1+*M!)NcvPHS3x7cmM!Dx)Mi5b7Fo27@l z<}MKR?*Pzvc?I^#95^q2-m3K{vA^!nUux_*vH>`~P4>`za3@J&^IarWjV&{)&oQib zWglOWpIKxb0x-j--&G@M_@IuKK~0@C{j3v$2K%zvC=QLgS{Gn5h)#ZO>zlPdrTbh< z-*uh%4EBMIsrNRS_1b&d@--c|-Psqk=g3Jo&KSe*Y-43NMpNd88qCWLR<(S)#SE?7 z8m(F0l?t+}PZ`L0e|;_f<ED ztBkiF<<~Upv4-xxXI4y7T+SvYISs^Kt{{4C?ol0q2U*;boTA%KA8+oRH8w!cWo-@r zYZv*~dTXN`%#Gc*4k+4tNlD(-+PlYC&(F5}?)}K0yswQ+{h}<@W)KuPx^`O&>#b9` z)=1Wk-Oc#XR)Ew!WPk@8qSeRIN2WP4#^2B{Z?icJOew&ucFDNv&Cy^>NldGhcvw?L z4jl|@nAyM;GDCC|=#+b@7~FbvHqCt-S-tm0%UMnyLSG4?wCiN&+~eSJI=_0c{@cI& z<6r(}oA^6Fwcoy1gmONRo04y-_HlLX6zA=ZPcyZf&X>LG-eF^?o{5|n#ArQy7DcAo zNNGl|X*jn|e#mZ0Tdx;L9Y2cvm74qUO6o}TC%=e(=KmG_AdlW&-K2Q{y(Ovg;f&iU zfLzjUVJbW8?N6e#8R}tAG-b_k_V_}`70!jn=9Ie$?JJmlgg6Eo_kj> zoBb~4Y(lQeD)ilF+G@*ExfObxYTEWn0yZwuB^lr&`d^h7zr0s}{~!PJfBfB_|ME}& zr|$o%KmXJJ{%5jQ{`?OgUVF3MgEW=om41D`wSF54f>~9>xkw3`;MNI8j&-_4vmv87 zkt}L9Y`p41>~|n1h|wdlC-t1?4SjRr@7y5CpUAr1w%jx3ALB-`n zCoSNyuCsD5RC!^uc z^>wd~-pi~>x2-wbeFQ$aKr9#|kw5wjT&;oPv`+%6Zg#&D>k-1FdZ!q#6=MU2$b=IixB%|(K#Qf-~JUo+)dTLDAiW9E;;jYh~TsRME=+z43?ee!0klH$c zmwp7D(K_mNA~V(-miXx#1_9bX8|2Y&CSuKEq{%^RW1W5Ch;@sXZ*7k-mHDuqNS$Ts zd=Z(xZSxmTk-+h_=01xV34d9ZR6$klQmi@FI?2q;Du_(+;aYdu4oZLFNnYPwhL;qa zGHvL}X-wLT5*3dKiIe11t>j&RWwD}(=3ZI1FCtln+pNB3ACnLsS}-SmufzJ6oE0-V z+ncRVwx02np8rdEj~o|K^V9KZyhy^b$zBBQuE^_pTM!vAUZsDxAEEJQnxF3zTGyM_ zV9o=h)Y}>a082o$zY%Hm)mH8s9=Y0@m88XEFRUV@zy;83i<{5sCRK#(Zr9>-d^xVh zRqm)nfM_qXP1}p7z_5DWvRWGLYJW@TJJyE+G&-KSL^dM9r2l_c5*_Vc`962v2|7z2 ztAae@6!mdGfN$#?eIoX>{!~xn3LY)JqkCID&XX@YQNsEdy`N~Kx2x~sU2A6*W4^sZ z-BQejM2s|EMxoo z5!${>^K*_}Tqi!i0SPH2Eo(+bTX-r6-riOgdklLEP!t&}ddP+{eKIo{ChjFCq8gEN zd$eqpFfU4jaN#TcN+*B)c8iq2cxcLA|FG@sG(2r!=4b<3!5(jMtgTqM*GQrQBXLF! z%rcDRSf?TO4GbN{>^;he`NNa7J0yx5qn!c$-L^^ZZ?4Mi>ts#7h=WhC&%sK9obVtXpMdDIP$Q8#~7xey?Pcef^54Gn7VegezcT06z4{TG8&&!lN1}5s5F>IM z8FV6(UZD+bd>gUGE1vwWH5S~79E@1PK!j{G$u@LUgXsn9bzQJYZxS&;5;G9>dE4E#uhR%2tSsm8u<`8#?5` zi|QzECJ66!@CC$O!m+93UJ}{Y$d8`A$LceCgT6ck%ObpmlixKZ#&qIp_wv3@J$v2l zv}at;h%K;gj8&TK=J9h-iJ07QJ#%4w>m&L`fx7gvZvcRWd+m%9__3x6$p|TGr}m0t z$G;ECzeyplQ+sVqm9;SB-|WGkbob)XPue3;GvXoXeQEkSF_egD8?Dz^Xug@_1Sfr2 z#BBv{Y&b*5Df=EEg4vtK)K#x-vfiiVmv?53|40s<&PlT&*??ctVzoP^cjO{EHkRW- z4JJ==FmnU<)m}l$Su{^`?AiN#ecgUzk1x#b@_NW%#D3u~*(FAIjc;i{)#LAjya zaNM;m4-Uny8V<+!RrrnGx<7jZYpb;eie={>+wg!uuUl6OVaXJdch|a{=xz1G`4+EK zzAOK{+WU5y`Bs~=8x^#?EANm!o^1Mhckk#dWS?`tAEupqwdAuPPQYjSfz8TFZH^!^ zaTj z3nHJV0UP{?3errD&7r&bqxX>e>iOQjDcmQY0m8OJXmv2OJGE?N&HhHyskFg+Zw^df zZ&bT0!`2!>EfNkcI|&OOuA?5UObbX*YI=NaAENj5ZAzVUcL^)}$(yJ?0*lN!)U&5$IHK+R)*V)YR9$AoO;|hg&p&W`vfBjwqkr z=!;*y)6A(y6)ey*s{Q7!-e+&SebY#Ke@WU@~hIvvGmFKckqLS?0kI}X66oej6J_la=y4dv&YP2(o?H#v~&|* z0>Ekhq8MX~iriA(`CX-qdQ;}O*j7>;Jl13l1i7SPAOWJ&k2BP|QuPk(muF(&;ufh@+Q(N+18S?#&pYgsM2oRa=k z(1Sd!$nMa+V;i1ubNx-LnbTDJugqocQGion$bUA#!I(d%Cx53W{Oli@lpO{M&2X)(p^j*dkBlY1CVD z%eX*|&F!AJ)U_-Ra!&pHD*kq*kE<3u`^{48?1N8cj5cY$)OulHX*Oo}byLT%b8IW` zX%$KXuBkUcIbdo_rJXQ-f2Z={<42dY{G{dePjP^?-g|Cqw9^o>FZz3k1*Nr6z&KXl zqI>FXLFK$}R%02Acmd(?s8ukDg*3J=djPMZHX>bOoX z4Ns{a6*^^)PAkA?Bp!@F`@~Wi^3UqotYuyAZ>~i&a z7qS8y6kWG;2Yqlm&(^p5g|b81Y+Ksp$+~$h81!sDN$Z(<*Y40G${?UHmuX`6zEifk zS@uR_{*JRTS@$ARIMLckx*CAM@5q(I#`!Ee4OQ+Wt|xA71=84f9q&>_ss3v2Z^}}x z@0#{=Lani?HC^i|P$%)aJ)*TIF0Iikz7`8+D0zO4Mg}}H*~euuR;;nsm5UAaf>YX; zZ1;oL9%g;nVTi4eUK${kI6r8jJjLvKhlRf9-d9@dx#y7z0l9GoB=U+Qx+37Ou|Yq! z*WTj>3B2cx7;~R9u8%-%6_4oAVpwms^GX}aY~XhMEIUl}4oViL#f>d9^XCv18`L8y zd1?%mC1oz(^y3-c;eH4H&8h9}INfxVNQXLvNQiGt539yDaaz`fj!9-*Wj5Eznl6 zS9@~Lp`5yKgAU&KJKkzHh#ol(T!UZ~j;4V%bhCCN;?+q@@^w#@2i4k#8OVffGf!yRs*;;$vmh<53V-`#QZiUp1Vfa?l`4#c}@8zh> zTVtcqC%GEKn=BBW@t8E9n(N*AQk(?0|A_7*k}Qe~SqUWjyJCby!Rpbn-2~fH>-W5g zPk(Q{!Fb@Q&O$%f;tN32^^Vi;6tZulB{A2cex^D&!Tzd&k90CGW^>4Nt6tXWpIQvy z4+ua#rgLgGA%7WMZ!O=I>?vwRdoAQrj%-h5Nb8|rP(r_V_M4V_pcb*TviG{ncshUr z=Q`^M#0ExlSy8=Q|i2Ts$=N6+u4t-GlghA#UOW%ENpqCnYa zeYE1c9!If)#&|}>U`>rJpVXZ4CK+RG?v|db`19Iw((TLdE33V&K)A2AzTof|GV7k0 zHX){EU$VKZ>5LvV^|r|2pNP6n%_N*tfZCeG`tycFrACG;MVZNGUh8^!`89J*s>zEPu)?xdLXJtycF9?=BKm!x#hPU-p(O5J-VcR8^p9m%~qHB-%A&>1BcL3Mkf=sUZi zTajMc%c?OtT~Y~1W3bt>#iZv;Rc!v2$LR7=Rvu!U$8ix}S6=y9v1`AKP1rEB1TbIZE(>Oeo# zz8`@D##ML5@Hl7mY*Br#p@~eqSbnUz=Q?v2=A~Lv=jOTNsA)4JAJguUQALcJ-1&Tc zb6A9`@#RT+bH#JyeANE@CXYwze1)6Fc?ybX%JM|-nWSa)?QyohZ6p*uC>brQ=C`+x z3(#k1@xJ>&}LqEoWj**>@p}h__9^4Yw9QCDS#$+P;Z&K-^bRDgo$Aade#=9im`qBT6aBgdwk+N)wVf1>tn zYf{>ql0CI`Ka&X4for%kjOm*x`a?*J3B|c1k{L;x9y0c_F~=J9Imi|jeLa51?M~EL zv6cOB)p(pH_t7QZmQ+bxN(-n&TnL9GL3jC*|3-(RM}qv_%GxvAyJMEwHT#aHH~Y!a zrguyS!*5PtjzfRgiWcB1jEnk?UGFHL8o`1mo=;uYcZ>5D4DYoE<7O1-@+`JpZE=!~ zKcGzH)NL(90?k=$T^;hpGx?p~+9(XvU7^$O4l5z2l~S+0mb{wnK9Lh!30^+}p#iza zVy*7Mkp?XohsxC@@j()Z{$kB>G}_XjuG8Sdok}&{>T+4jCv{%qe4E1_%UT`=e=8XR zbZ48Zl8-|2-s9OO+f-1y>x^n28Bp$*#Pj6bF~-~_QdLi01G++%1DEt2rhwbtC4=t8 zUA&I-uGjdxJ%kOf&FPQA?nAq_i;m*t+LXp%^*TpERqulx20K#qlHRqipv>!H-e=1T zXa3sAc-#0ygv8G1YG)Jc{1u{ae{F3F5Q+2`1AyOI=YeXKdkcd)D&+F9zLX&`{l@Zh z2&6h**q7&R`kuY}UXw_p2nIlBSqdfy z8Ao0g{%a5Y*;CTjn=>DkRRb}{et9F@O_$Hd|M&FK7-$q5jk^b4fLOh6-iOQIr<_)5 zF=rU5UC+&;{OHJnXWJ}Km$AXV*a`s;(YVGQKjrH;VKMfQTtDV+$O4pUv!Wz;4N2VD zyL*4pfb83M$Xj#0|Efg)h6k_z`aJA4fN~4nDH8njT@(oHTT+gNE`o&kjagUb_?Ha!{U# z%}|se47PB!ucpM{|Bv4Q{)zwqMuG7G`v+H^Og_d zUfU+SVt|S^_j!ESckItMhYBg&s3Zvlj{2mr1n}&bi zx-sewN{g=f>Rj|W3~FU%9&ODWO$SGM)i-?GbR!v5<9+=|Qq--^ebKooQQAmI&ntDv zfNQ5~J1mY7ejvy38S(P2zW7;{A<;}s(ugWX(MWd|?$YvZb8K$KG<5aR*jyD_`AjzI zTQ@nIah4L^>rDc3RXNw8)PFQV zoj5^}w9J8YZ!Md(r0FKeci)TGvt$uq*(Yks{+!3eeNK*d72Ve*wIEfu#hRklE(EyK zNTzCxyWnDAx&SoAwYRO=SF-qM+GclVk=WYDCj3FlSDP6mUJTR=hq8R^ zb3^ka3$n*GN;Dwbb=cG69vo5mE_0E+jk!L2gqt-Qv((|&xU8SefqnEG4TU~Zy7nC$ zLyOVjuuYgMFSWFR5yVnz-<{Zb+H5E8%dN90qn0-|{HM&%J=JP~GlgCZ>$flY8!_ z$GgC>i8b_nIgf7aS6KWSysO)ZS*LgHlR&d?Ap)SOZa#zo~n! zyVKxw6AAL(Wj)D9IVnvDmis)xkE%`Y4E}0!o2sS36y-6+xNLyO31q zQwC0(>X;swi|?C`zy{aWS%H3RDsccN1vcdMM-c}ZM2;}ZgCu@kLvdm6!|vns^{vfo zJU^@kM$a7w{Ul@LImr~jVU5<|v(eqTYIi180?z7@mS$%$5OtI4u6NIyI)7?P_01y1 zGZUA!JG;;j=PpCm%nJG&0CT;~yS>tgftB6pWvM0l*}3mvHc3Yh?|~#Aq{o@J9E~Mm7svFME2IOP)_N zcR$PhJiM$nqv*CY>y1-bhc_}~5{iyF9kHF`+9&@ z9B72CQo!+63BqQjK5vyzymJs!0L#^NO>=U%-JzZEStmh+Lyuzfz#UnuTv(9 zrb@Qr%`OzeZVGo7_to~Mhtyp|zh_tp1AU4pb`Gl*EnbdYa2H^grBvxPqd{a*LDxIJATaCuaN z>W%e%a(~wukDj_74O1$#>DP`^K!x|mLwd-fJP3!qOmKr`0tSnMs5@0&t7FaY21Fk) zcomU0=Yo-NEFF0a*Av8{c^M$V>8mjtzc*gQ79p%Z5uz`_725h zEwSpFEF%!dQ8`}-pQ3?g%L(ZE>wU;*r5M zJ5h?;L^%WjXZuew#GBoqHxRSEdDaL~S&+@P_(j(_Ov(x@d^S91_HsP@tqj|^7mmn_ z({L1_8`CQCfbd0_~{qmxplFD(^=mG@awT-L^V}VioIq4#ogU=$QDR2 z+t9-{uvF`~B*NVO@;zkWaF`e0JEw~eF^S#jj^8C*CEhy&|JT(wV~siOqH4s%^98c_ z!yU3myW2?U6%ukJ#@?S8h!$-$v%T>cUr=dd1jESACdih$9hR$!)&mBh4?Wu$Y}hp- z_x@8T{C>0KFx&dOm5~Slnws)w=llcNJ5+e1FvACn>b_6 zk$s~UV#9Uh5pP7;Aa^KNP^`tu>Y|Qi&FCtv4fe(N5{AiB_H#I7uXKrZvEHzy-Ig~d zvOfKUB#mg=<~i>nYA)@J?Y6ufH^m(_;Nj@LN4xKn82nKA$uK1+X^d&6tgCB2m7b|r4)KE}+LD0kp9*S6*xOP{#6 zvNn!Nbk5Z9LmxGls8TvDM#Mm6kl)^iKGRi-h|@I&TAPn4&MSjB#hKv5k{oiD5#RAFy9$y_y%kbq8>SGS6-V;zK0<_DxxKU+kpr@b=aiwgqROnn&M)@}jWq z_w=5Cj>w8(_v|E$F{5}2S|mtlOTq|c&CWEw>%5PfvR}RGIk1M1Fbjn?$GOxU$^aNP zd}k$dxnA`?^tWfBhH$*zNLnE$vYcl5Kwsi$vvncbFbrnIK@_n6YwJmG9KQ_scj?WT zR3SS{wIG9k>a^R!-RJy-E_I)Czj=u%!ndhk^dDjXdP39cIw8yNl4MmXxT4?^t};CJ)_N7s%(| zgY!kJ%Wi7U+r3y4cO`adFkcw0n^6k#%21>~Y5R7(?r9%YlOe(Lgto(RC2CT3N`LKYv8YT!)t-eVFS0%Rc-WpiNb27 zV-d;%{=k4O9hO&`Rr!ga`^32=jQAvIOIe#U+dlX{Bs<|1#BF#RHFjX)bJ9ZCCNq2k z-O(}djk}165-}=M4{ahqwG!FL;1KGBj6zsNP=??#h^#R)WD4K= zg|%VjIC@}}F)3q-71a zIgg}<%>YE-2IJt_8ra!)Nfn)Iq@e=c1jaqItEaa@o|_Xx6)J)a(q=u~0QEo_#2xD! z^vJ57TF4bBN)9F8n0|=gfpOdBUH5&G)@MK{0u_&b!9^MjnCVvlAT#dIsHEK=yFQwg zUzGGq$j-8Z2&GC8Bup0ZU)8kskb2;>*7mtT*)%8q%z1&@g@U!z&QQjT3=8nG*>Z+( z8fUdLtY_iAVwu}r<=DyqnqqpP8!`0uBYsFGHc~B7C zVzPSd`EQ?>(L_L`{3#e$j6uWx&Tj(YoZD z9oaIXGID*lsc)ZiokM8jRBMN&4RRn(M-`m(yzr)tr0#j1L);MGE$R_>)3AW-C+zX? zQ;#pAunwNRa{*N`laE}q9VXYt*dEo|sRM{e<^@RP-C;Domy=+>$o7ef9_R()Ya3$o zJquS1A~>YgWH*XXaJGl#sy6L5tLYIY;tvNEffw@4t6H3E(yyjR5nKK12Zb zA-GEC3LksyqhC;=G*|=!=kd);#+t9y*P!Do{YH{cQ93S-+{#nF@1SsZTVcTK#99;N z8HwKXFf>MVjg7glcc`<^Ys877JttUF-bOR^iI5RWRRcL_ox2)Q;%cOK@M6x7Kt9em z54yoEqMH%UvDZNNuOm?k?<0t^=$w?-+N5@Sr6nOp*rsStwg{u ztFp8+I!2(mf)Tn?hNF}hBb;zFU9EP1do4QL zJ5pQ)+_s!nysDzj`Kt6AeL@S6vroRMZ%Q9D+4jXSF=ZJ##gSvrFY!g8f22)W+$WSlY$d##pjGvu7RGycu7EBEa4qXHwy;B9jIu-sUJih=4p zp9+R|%Z)(1t-j020N0h=?f_W1%oHcsdwY>w2I!`bhRd)&PNSw5gj&^`gZWZocE$lC zc$xkfKSF6!uClpgVXfhQt0x^f^ru97sb4Pcgnn|l7HRKE=ai0Mf}!OIkx>p51{)~0 zSSHQ1m*2`pj)0k>qhb$1#f0M+#ls)tN1$DRf_1FV54fARmotsfc2A29ghif=`Yh|7 zS?pad%?*ArQq_CiQG6p`zVW9j6!Oj%hx*B2Mt_pcokwj7;adkf(T^JZ5AY)(J^8f6 zj9MA=wbDYVtPL_)oVwY@eOr2?eSyV;BYe8aS;)kRie$017*VPh*(kar_lt%B7f02_ z@M8H~c8HJeKI1c||3Q9)knxG-KOSv>S9pwF&k$>;LuZJUz7TLf2n{!LlwjHz`raCS z2Z(om9qaN25~db}GglTSY+UmL0jm&4J*P|@O_-TBTUz>vDLp1~|7nL{Rzc~)!PU`c zpe3L8i&fip-KVltUt4Y=3#ORDUuqx7l{0vgXJw*{b>5wbKLan=@wTt~8K{{PQ2`hy z`{s`9;jHhmafekj;xo?Z+~1p_SS*k^VB;W)Bv+7OhERWR;*QeN-UP3CZbn3QnaWwc zs`rdJx;dBFEtt62+5Hx^f1)|&DL9nFp!Ev)0`W1|u_g|Ew;@ZvQ|s$MAp7UME<0y~ zCD6nc6vx)v8|`yGpoNe@xf`G!iNWsmk%RIZcH^Xi= zCKs@tEdmCx_>NKa!GAX2BH`!666kq)ztxxX8x(IV_3$8e$i2h})5Na32o1_FLDUh_ zK)gm6$u(7dBC4Wb9mn4%ACJ4L*ibN1REG?AU*cp6;33*{;3JrIdZ*?@hN~gS=}oaxo)rYiJ(h>@RNqK7j!KI!+UzZ_Hga-ZTb!bSn>XtP%8~C_&Ep&hWcfqiRxnC&U&`SOxyZBb%NQ;Ogcb!>0o=(Yn)sQlSV&c1{~~ zk6@p-?H`7&g)ZeX>)-ShEz6S6--;3SJ7+ctdK(|BvaxMOP3mUEJl?f9{i6i|N@+^4j}U0!%rn(uxgzAuEBhgmpI6qXq-egS6wcY$Ay&5BG9gUvcBZX8X7- z&oU0QGt>eH|M3{T<`BRtK#5Kwd+e3AQqcZfJ8~Uzhu=yvV#OhnKO~U&iiWQJ&8Ck&@(n;qBcl*Usj{-cQCIw{J)&c$Pih& zqVHjL-q!T?Hm(eut;i1#p??(^*3dV)cZM%-f2!xxvS3y;QWv-qogG_8K)M_#13c;5 z+qZD~WOlL{zT1`eAt_;B6r&Q>(ndaLj6)mwgoQ#&=|@(zj7BzdkJHZNKH(NZc-POF zX|YUp6N(vSu0kAcckSamK)(ztn1y@_U{u@~(LcK&nkc+7zIH7cp?gScYtP3)u-=?H ztZ1F{#U!xg=@l=sx>#RKgbB07TYY`#qK6|2CFnvFN50N*wA+k@KZg~C+s@S1pggJP zft!`*`){4a8P`@>(eF>1#J*$V%$l$K6HGS{TbW$>=oMvfpROc(r6o63vgD z<0G|1wbai1bkM*VX^HpwFaoFug6^j+?D5_JZnZ5-E>#R8?153hG2pjun_>tRF#rz| zCFYLD`pBI#1y<7(4pkK9NFQH;1qD(IA8LJG87x|kZ!guS_1ZW)8v=_^aAl^dmIV zhL{gBlNpdUs7M$MnfkPrMTTV&f3G?U-yRj_XiMDOX`O?UZ!BXAosU?MTR1k>C17f5x}myrvAWr9cS2 zma{>W#2iYViOM;#^Q5~`K+7)MhL%#qh^*RumHh4=6Pqce*GQRUPP?+mFBM>U+eakvzS%N2oO^a8gW*$W zzWZSgHAW=P)WH38d|?^6Nj5XSM}(*^-hB+D2Pib?ayG{&0g%Dx-IEmumpG7yaghT~ z%^b|ixvcBMo;wS8&uO#C+NUE<@{0?WI{iF2ZVcx1+s)a;v?F`oGuML>)VN9y%dflV zf|8LT8^)9o=ex+`r3>R4AuDcQQONPk9TTUOO@kFW&C`#9-*4@6Y$LXn_wHQoj&YS? zc29ysIus8;MzGjrw_~3nNzX?5N?${Z6AN?~$~AuBzE7U_U|b#C*70fL*IlB7r!g)< z-6;%~-ef?U>yh>wn=PL8R+Ai4jP%tSlrt7J_!$iw3u8v2O(AXo!Y3CIt`zF%1=ma+ zZcV|->?l09y}5pfr<;p&TI0;cT@-jUdr`QWqMy_QAkEs|!?H9`HaDLwI@=6{N@w3O zlz#u!W}?&C^(@(lV&f<;a7Q&x1DI6;1XJ>SdrGqDt8X8jI*5JUW7HJ!io0fwgh6qb zu%iK02cRStOR^0_KCKoC6Z-N#Sw+uCJp5eOjv0*!4CN>?zQUavh&+r6S?k-%Fweoy zw!Vzw(AAqne+&KqVD0|2-7$Tgxd4|i<4s3Lf1%9bsPhh{^9&hpv~L{HKhze+6Z#^& zGKeXrUl0{UBe^I-b^lOuSUJ1u%dAJw_{Fh21i{`Ut&2Li&UZJtEDtI6M-!WD(!P}~ z=QdaUfr2^t@@%6BRZy7McHaY`bGw~6uS_nT{&AuAr(bA`;YU3O&~*3J%@)9bZCf0+ zlaO3MBkJoUW#j+FXitZqa(Z!V ze(SN>n-E93r{IK=hlFo3ljSG#Kn}1;8WOG=PECa4^syI8KA0L*RD$HR+WrXbFk{ZC z$1n5x*nrwLu5yBk&VEeT;njRr@15G$MnJSYHU+EAQS5|4+>g!1hgEZ5{I)|`%FZ0c zEC+88P>g)B&P9H~P~?&G@c2}Ke-^TUhcLerNxtfXqoMj@pb#J5v9b4oZ2-_dRhXh>GF&UQOaOrL6^;l^9@$WP!R7R>qMjO%dsx9 zXZ1~-#b~2lBrGUR&z>J>H8g7rOLJB4?56wzKCkhK5aB}L?8(kfD5t=Zd@D8%l4S_` zY50R&h3iwHc22?B1IKSH#6%L~MYc8GnF}@ue^TMWI)Pn!?GH5LBNw<0biYQ>5m zOQaWFNs4>0to)3Q?7hb*N=I_ox2)Ah18ri&T+4Srqk&W+xGHmlP0)Z>xEo5*PS%PI zR!+HQm%^aJSarE{KP|D!N#&uOI|KR3cS>0!Tme0W$cQ9{%3vGNUITF8v^-7j8|Nb% zo-t6Er;%u9`PSjmLJbAdhd8XSkzUa#m~nFkYFXJQBLvT`q>Cv~Rj97D_Yk6KoZ*|Gbx;Z)&WO6&k z&d>&woy9aI@l`#ZH!nw2HkP#qq@Y|_-6(CF^BjTt&UZd!)b0HxhD1OWz{U*)YJ-D^ z3k_FGfLvQwNbfx(?7hLDQBUYq*SNOTYTZdzJ;zB^T6+L&OGCY8wUCj1 zqZv(l3Kj`!{mj=-KnNlRD|DcWnYr3Q-ioN<%#H@Ug83~!M83Vd4z_7K7}~NSj7=cK zx((-YwJa6+u!0MEfl0e-%d~q(n|+P9o-&Gm*pVh_30EPv`>u9Sf^z%g*6S$D<~Jd7 z_z9T4^N4^n4(lHqQC7QD_v4}T?r6ziWP$%+^l9k5v9m=0YI|Rba%>j*gtQ`5ZLcqd zVTVl;v0DT%!l!owr$lJlCsl@dqK^ zyjD9^KkZl;(hedkWgeqCMi|$%Ag<&2tmB-vZjinZEfXco4 zP8;aL<^roW48B=s=f-4OrniOV04e%@r8zP|h1R#5dPvb+1H|<)?HZ1bQup%->x2W7 zopyl-fa!dd0WUCHe8+Eb3fmau2PuYNMmQblG)i2M!&Gx;AUT?!SFsGwE^gnJ--fO# zX|`BezyXDC#ur9_5R<^(Bk9|qt@zhB;LRWv^_5+n_DI7FrhBKThN{GOf1RQuzu#r; z_jv^{16$}}r}_*9?7nJ0mQE{#wF35r!UwhhKng?Rlmm~)takEz7$CQ^KPyuV#;fod z@JqKv2+l<=OlBOQnL8kA;hn^n(AJmaMoOZSeK%fRz4h@O*L0OR6IJYnotA@XKk-WN zexZS%kcHMTp$8^%k8O(cp*jC(zq-mlcLQ*r%bXYOeMf)!WrDI74Wp^9k7#%U*tJ4# z;}@}6qJ_$xpP~3A`M&eAWhLhh5Ox&^ikSCc9NRVTbolrUh3W=J%F`OdSbcq4DuxWm zi5-=EeuVPqcvQ&(0pbtl;)s4?LxTWJArU<`FX;~G9eG&__svd~FudNu0g*#%K{!&| zBtX++eziV%-9U|Wk~*R=uMT-vEl6O(r2*UOHB!Z)$PVP}ED^XV;qu<+pQ-NCv{J97 znqnYWPGmP*MEt!v$xP`O5#H5kop25UkJk5imS1_@-{WLC(+2kmzD6@CV3)#2!M3-J zc8Gcn4eEvQ`Iz(^w0(G&-~6yHQ|aH3-^XSAUl8G+bO^;s-rStr&L085R!9J9Yv}~L z=xX?-#uRcG`sOr8sl;T=>?-8tbtg1~^OK6s06eZZpu}KJdD`mFO5k|)@SAMe8M<1q zZ8k$kj}L2nK5k@(i?p%#$bc^)67;q83<~?k=4n2z8||K z4!K%7@VK-B zQzjENJ3CmsMqnxRV*qW(1n>?JXg~b_>tiQ0ID*bO|KlW_HVEZ($nGEaTb;it{Q4lQ zhaK}%>+Eb0nyy}*0uLy+_ZrA7_NHj;+V4*g4YiZ)ATTN_kU>t8c+b53W+Z|3UcUXa z_rBe}cB*4`k`3Fg!^s*WV~M=Bk0sO4x(Vvl<`iYCy!3q8N3B6MTN8T4=yS;hWtJy{ z=pAJf`w^kqrL^FOI`7sQ;AE?PGidZ0w>9F=_mDGXz&5_I=!g-5Ln#2s2HX%$!ve$4 z%qA6y^~YUASJ*R*#I0{i3b1HUbq*hc)8y`8V?@LQEM1ogyYnkw<+UfmuUK-<-7ssi zschMBxt~xZIFtGBigVE*r;uMx+7K|Q85l*G4y{7<$m9UmCF7+D#o&%--|ULL@de`y zD{^1#s~@R|;MWc;=8j<7%{FUdIb0aRuAXpqmlBwfj5?{=n}9X6pIb~SmEFMN6JUii z&iC}}5!yNlYyk!CM|T^9T6O4xfVQv9F+WlfyBvILkcGSluX~+ra(;Ta;7w9vj0Js`ZU^>C9w!-!30xdd)A041!Xp@Vu~zIwCu0O&JTywpjFrnx zK!A{+&0k#^IsH4D0CeRWXIM_G_Y|?{GWMqfPL5;>XcmiY(NrzUAYE`-hE8TTGKkUG z^g@HE_#6G3F@M27pfXOj?^u;e3ibWKuMQ&&nlD0p4;Udi0G3{OA>^oZ$G-#TVbURl zA144Z8VUgi>)!d7jrk?mB1Gbb05cOswCfP{ha^VW8My{ikR_?(jwLO+Vwn6Gz#s{R zPIB3%v}|vbj3UQN!Bg2Qx*we#eiZm;SO{0~Q_n}pWT7Y_1thVDL%VFC9BI4Jn(|d` zTp`heKk%>B_U^9A1Zk}ZrraZ`lN*DV%9xLuJ=wJ9y3*{z zSnBliO1lPn$P0a+)ihwT#po|ilR~&o@8#R}9->qW?irqa&wJSn+KF;E_DuNi&UyMM z39Y&tW-ZsCvox9gGp=2`K4#5AL}it>bV$r+XwGFgNA|37t*_tsBk0Pg z!~n|E88jupEYAJ+8`;e;Z7giG;Tqb>zxhx+XSBk?5^n&Kgfwt=%7mZBFBE@+;@heA zPmeY#fO9^M)HTnBFSf?I2ecVTWlGsmbKUN!XxP zEqBkkrk%c4^}zs3p0UKzr<2&GgT#oO|!PgJYG+NxYX{z%A&v3}`b zPZ`#bBijU)>AUdr!o^m&usE;<#q(ItX?Js@)A3TkCu;GSP!|@0gm}J9=FlXkVWMBK ziM7eby@%GL)>W?O%f6lw*t%MLV}%3wn>PqYK2*H*&iU*huUt0|Z{=Obd>|l)la%{5 zz54Zc7XCS7jz`^*D@inR@~loAot}cSp}hoDyZygpt>cl-GdVR2GzI zOobd|*)JY0*(f5THyUEcd83ALyetkDT#MPnJ)18Lo!aj07mGEPCauCEEhTxgK45>e z%SY?_?qTiDWv_FD^oXBlVQm;~;Rr{F8mp5YV2CwiS=rG$&-7&Md?~#Ik>nN&hy7Ev z(`xMY#G1Trk={4GW7ebc*xg%7=~9jW8pP0O871oQO9P@W*hQ_r zT-6v*HO}y|oo=+&)Xkde_Dv5cC=<{_x@>P73C+|A7yhibl{w`28ZhYkUSH1*USkk5 z8-R zzyK1|nwsw&;ofNnucv07U0Y~_Kj>Nx=D37oQ-@h0v%cg3Trxxrngipob!$%J9H4WL0r8tbWZf8dWW z19$|^&55f>Lg&RjY}q!_EEfj|)kP@65hvs{=8JZ{PooAp6_6xF{eiD}rE_-OL4Go& z=P^_z-47$EJ{y;;vzStR@mpz1C~uorZ9}|Lr5><;UxV?uCc@9W=M7%@p6G=OI}9|8 z%;7ujqDV9RxDhAYd&DX-a!#Q5LvA)cRV&+&P4I(2Pbp8OOO>P9flT8tW~k>shEPOzgovS=OAQ zIv%g-f_&k+*=O5i9UP2~%2q5#I>E7@D7jmENiDK8*>1TYaTexZm_pFX=;GZ5g>Pp- z6eN`21}nw$UbNwIXK<;?V`Wy&{RY77H7ll~C;~>D7B;V9P25K4-Vj$wrFA--$Napt z8)}3FJo;@RWuSu^F_B_RIXi}PF=V}Y0}W;HnoF>-<04!HRk-%f7eeNdz)NtKIfn(f zu;;1|nU&<%@tt6VoG4C#*6}h?qYvWY`}N72FptHOuCwgcrL zi!4O0klbRbq{p5V#Hpt8WkZLOw{Vf~7?poxD+6&_)jNbWF5fnAcu+4LR-}NBwG@2_ zxMvm`uCcSbwb>^?mB}NDc1!NcegZD{j^_nq^fz9~xPzjhVD3)_4;8Ogq!*l;5D-i< z)Ns=bCZl*g>}4F9G#C9UFg(?0RAoER_67j0m-1y{m%XP~cqd?a06{>$zgM#W{KhvE zGBwNz#EqDJ+60wU;T@1DegNM6t@enYa{$}@T>ewe7;~S!v0jvg#+ZhT7W&SI8P_Gp z!K!XmG&cYS%A~Ya`(pNph@0&W6OLIl=%%@I6Or?X&&{blKDW6yP_ngQ>4kf?DJm6a zLG1qu%nM*G3;uRaP@qN1UJhW|S%hfgN_G`4=Y*sQblKM9yjK01#G5rb>LR^*mAoJx zCXxCZVZ$HzBfxs*)prjo?t7=-P2*!5!5D-Pg9HC)Y%p@QM+GIvw`jPs%Uw&|Mb{MMp-`H{Up?3BTxARyZI7DIn+cfnZMA*p@jztRN)O z%lILH0RZ<_I&1V{o4@t8)n5);X1-EMaV)~9e)(@4jb?N>R~v;yP{X)aN)l+a>oF>W@;n8x zltFSE(bt41$SK)jd@$w-VlM7h`Y`1~kb^H>ZZB5d z_Lh5yO4Fhl%=AeFz7_;NrFPCz->;a!H;FyT=Gis zwum-%$kA+tMM-PS;9NFlkeBACFbAiWy&Fxu=}z3Tp`3JST=q{YCYnkm;|bUY>S|0Y zEUq^_wU$OwkC7Mgoxv}w%sWr%Mw+&rTUuQZd{EnxzvV~bI_*6j-C}EEtBAwix3r}l zXHHw9!@zNI!JX6*ZfgxOtAcapt+RSVuWL(3uVaw$noZ+s0hKd6_q?XO0U6=@z_+w~ z-l@mq9bk#s-S_3i?bx)`7=ZLP6BnFSMV~nYjNS$o0Y?-$$_lFwYtBhVnFWxY`C?ey z|KS(q@C_Zivry&Geuo?*Ij9%q;Ce1Y#^9`~Ftc`i7zmD&EUOCD4Xx)h81t%w84>HE zv*lajmklS(Gk=Q~sX*>%s3wLewoD_6s~rY;p2f*t8%po8LF!^YdNw}d1qecD4cB8% zQSE{AH0r7mMe37tbiSlOI5~1#FL|Qg5g~XR`TYWUzhKrkr^2U%zEpNJykZy79qZw? z5=VnaU7%~;JHmlCZFbJB4|a!G(_sGXg7nMBWzx>Qz|#pN0M||;z(dCLBaM?=Q<;0- zICyr<25gVT8_?h~Hug7U_W<-@qiGjt-N?=_qK}7MYokbpY%LdzFtc)|aJHH6JbCTL&kT zWk7m(b@_3k8ul(uOR(c_MrZSvo)>GU%`zqz|ITKmkW;9oTO}UBt@8LN9dQ8v>gayvnM)VED35zOH)VYq2(jqnAwH zXPm-4^R$_eve7&&ir)i#5|5zHK~!rVnurYX5z%o&dtMoTvT|s!m%jMw6c}2IFmcT8 zyso6SbHt1}Q9R1@AvXQI@9YmQ_2=3t`AysGiI@n}&MZN~0bX`snk=n#;$;0yd2&lz@^vnJ;%Z!h5!vK6!Y^n7>Uky?2BJ(OHMl3M+i0Q{Ib!+^xIciSC6*j#mjEhT1E z(xt@Yolm18SOg4+JFE(cujyT9`O@*IC1Ygtx01}-%k*WWZXyIp65-s}m0?InXG6%5 zqhOL40!37xFMW()jD^~|8t$t`X@?<~+Mv`e5QAyqJ87aWwv{q+eUL)LO7v(Od+SLu zp~48|64~h3J`6G8BeK!_gCbkl3i+jdMJ$}^Gqjcv7TN#-C{fyz+_$@XEq?qm;}9$8 zz-5em7~oAQvo;Qu^9*o~*Rt!_Y71Fk;Ia-s?KzBZCjsyKKuONC2**@JU~f<~MsRAv zf+F&ia7diJUg?c%b#}AuZBWH%LMVwRpQAs&R|mNB**W94R2^i|cAJO6IjFbFH)2Fh zMjS@mcTDEcY(uiu0*J1$R#Bd9BdtWK# z@KxS@Fa_r-db>=(S@K!8qJVn72>0aDMdc3<+$Cj_czt=~eNWH{>x9CIQ}=^PH87`) z%Y~bD1iRzb7F5P)#bpO=@jdwK84V?GO#r9rQ>Q2J4|yYw)?vSs=4uUU^}WrpF=s;w zwu9o5bZ6JORvx@8HLDe1@FNGPFgFl)m9+ex^XNX|qj4m(HVdrN(mD{AB32dveJ{bQ z{gs@BO=kqy1nM=;skaamfebJLJuv8k!rGf<>k00yEao@9sAPS*5Mr^iB1vsw>&)sn zojL)6v2Q)Q2_47R1)4~(t`>kp&vS1g(hBEkUQqWMh3@Q)`52F?2Hd2s2Aty%@6%MKz4RlePj#w|(1UTL3qH!JIkAs7O zmEFmA@xpbAKjGH8$ug!8>lW(F+`BJw&N5=6;@Td|`7E(ckWRX_0ZLZa z-o1GoBtrN@Q1|Q(q#kg}_DUzBw?UVrrm-RYjX#3%aYQdP>-Pj+ z^aDHYL>ByF5afi${pS{iz=&@S?~gI&o^!U!G1{cOvdO&8#F|4dR^v7}+23ow@kby~ zt-!D;CTLR8i=s?T03^X3G6pWti4OR*YI8f~MumN{*udnB zO3ig%M?DKV#Vz>jO-|mN7o_(=m}vQ2paO`Vly!pwjYT6TjcZBLTib4ks$hV_cf^BR z&{*CQ#YP!BVy&LkNOr=t=tjvDlEDF&dERM;1>W?Rt9Y%_akwnSaXLz?%+Wz+FQsHb zzI6a*m=|I;!4)Io!r9|QG)5u4uN#x}m=KU$*p^ox8No6rWVLhmUXU~I3V7Hp9Jk{c zl3DL>%pH4b#v0YJmobClJ`YH`k?@)tK2u}0wW|#;wDP&UA;%$S2Z`fMh04rrz8tqD z3+ib>DoZ_vEOlLMG0MJEZc^_b8?5twtl zLzRGdnVnk zTvCDKakl582%f?;;D6J&ph57+6*m`+QDcNka}#{m=jpqp>#cRZ%p5ee)mTXF@|uKx z(akP9%+W6(s>4Fu%cV7(Lgoa3ab+E2l!-giKn4%#k{Z6sVM6nm@dq1EzCANZ+O_E`@T3Xwz(OnXjjM& zIABr-FqXCFt+REChr25e=EA-jD6#@VaWfjC~x2Azte7v1gI02 zms97hi%Nc`Z@J^u(Pa%L`V&Fw28}0~2(!A=*-41v^nKpmR+8Icy$x);!3+l-W&otm zeOH;%YklPJc?1>{RCSyjdqf^u@SO|roM1&Rn)!=HXB!bLLf$8a zo^KJV+Fm@<9-NQBd2RTfuQ6V-N2jU&SuS>Ou}D=b)7JzKbUJvqirR!Lj-a`h1U{?kNRj>N= zKtVi|&jPF6vYB|Dz2U212U`1ijV5I^umY>#ok0>D$12!oV+^&r_8z5Ut?P9#>mjnc zORRQ*jUwil{D%()+12p{GER}_BPQeZiYkqeJ)k_A)9f!m9n1-TY?tm_d(U_yO}KGX z=i$Vj7=Qs<+o2cISqA~%rL2yW3bt*Fv)vc4H7>g{qD3w6%L@QdnwKxvgmCF)My>5x zdzDoZVYJWchQF?OTnI1t*fZG6K+2XSC_#neR%U5$=@F6VF!5~r0qqFnHV_`GNu_$p zJ@X{m+sfg}?B=`Bb&7mUX1UHLmp*MwbqZSYLF4e`)C;DZDc+iqcMjcnN*aoUVXYWc zHNccJm8HQd3sG(1#^u}`_}gdIM*i$9R$nMhjb8*LxXDA&4wcuEO%R4H4?y^ax#Hp7 z>D;{!;BHuvhDZ^ic@ymKE40Z=S>GATdLW%&n%*!4emv+_50gP6~ zGn z85`~soMM&)aPmZ>;(%42qMi!DgP3va?7}#&aScs1f zT^ompHZCoFElUoqh=))18>6k-=h>hytM8^>n?11h0ncyjx8xPrYCX(#4H{=Bu}p(= zRz@eu!DCjOTiz=^$=bCZ8uJ|n1_`QmZS6NDL0`dx{Omn(o3WsbGOE$JEgS0k;|26P zf>*7GSml*5mTSHzGuXQ>AJP-j>-10nsDy=S}IjgHow2_@;$ZmycTteoGc8Zrf zmu}i4=kT41Ud!&C{%IUrt##HWB+%6waZxUG5p}rwh}}22e(@aQCJE2U@e z2d!lEp6|yogn*OXv3oYw_gvWe06QOtGY}Qsd6&I-QxdIhGFaQ6^CIo+Gxc)@m}OSK zvV2$6B={CXfyG4YjU0 zgo5|HLF8UGR8?)ezx={|512#Klbu(Ug+iuMviAWXim9Y9fTt-D1E?NyxIVd|EV53k zo?XCB0Bz?I5^tTk*MTlltyy_WhT_z>KxisEiL&~S@Sve?9Myboxfe_11vT!R&s%pF z*HKQ{s1j%uuT?!) zG02(6+G9a?R6*c}d34g%e$lGA26FR65OT4l+3Hym@Xb=1Cxng5VB4U?5K&|38J}M2 zs27s-d)+~=5@stnxuwXX(5&?;<$1ZjaO7V1y#jXZ6s_%k3u7eqgi{5D&E6Mk@t&_1 zGmnW8$=Zq^``KY5czd5-RARDF#IaFN2JrDAax3eyOte;vBMNL@l zl&JWiA=K8Q%mUYIZ$;AEC1r=^45A(0)nn`eUTTB8x13cP9&OgKqv?U!wI>YE*V@>a z+v>E9V)?W8F51LwB>8R8-(|~p;Pf6LmU)dFq>JM#rdsq&oEQjM7FKX9jH5Yjrd3_8{RMlF4#-0bIq(9#UeL6dhKUO*%H0C#~{ATOK1a{L?S3(KY}7-LTQFy zV&$#9;5FIe!`xVGHk37tDzW_lN}0D`TOIjRqo#D9w#+L56PF+c*?-#j2a{GhW}0i;dat)Z{q1jo06Uio znxe<-v=xwGy*(0M?UhXAw9>J{ae9)FJ>qkjd0kB{vU2etxl21APjO`~m_(+9yTmvo$Uun)`?bLIbK2~I>qxWWym5J9Cwb_HT zgNbhSyh9e6UlL&?3HWHXy_g}*#E>I5XEL!ioUEwiH@@N{XdhfrrmlfTnBoLYf;9=n zXwH}RC24-6c+D5J@+U^pwO+L93EgUTecx(b2 zPFdKGsQ1ypH}FMZh}y1-L~Uo)zNqPOG{^Tt`y6OlPUg(qq;N*^&C1Mvdt0_m8y{&s zf}Z&)uj=fwaU34y0S)e)7-!d12&R?cdCd#txvj>6qmaJTyP)UKn`ejy&Pf*K=KxYa z8L=Fv;fQNoJt;DvKweH}JnEwU-TdCSHXlfkx1LfN+r+Bq`?R793DPmE^gKE*Ut_+gbSGS`_=OC23vB}eAY?<_|- z+}GdvlBvNs9}Z+H0~3y!n+Xil44$zwds~A&+bn@T4b_2@J}`_Vd&;%};3(Hpz7qXm ze-Fcj()f(;!|8yeT#oHwd}5~QeuU3)E6GWDO6`MNY!P%|X0nKE8KKXXht6f;(i8jS zh%5Y*hF?i8905?KO3O!(fff5`VRP){mBN*T#GCF+=5-2qYs}_L)?u%aDyi}#C+HjY zkYLS~7%i)3qg54HQn`EkPE)KBe4{)1|?t3*ZumVuxc51bD3+@nkN7(1e2S^5%ZXl?8G`R zY3Ar_&G&B|lLuI91qYZ`QrK;_!EE^Ke4mS3jIK>ct-PlEmV5^Bwiso^6%G!Cx$l1K zUjSwdeHVj8pyE>c+GU(6Dr**~XB95&CMKzKpP}9+k9u%sIN1yO_Az1;_NE!=a}uk` zPb}VSXmz%qI$T^vO;LnV%#5lwEw>VHtW>(iVY%@|H1M(Qa7P1FgFQmtiSLxtobBac zu`=Ih9UskHwmbc&5YBhUhVdVJkES&h?(yf7-LgS>s&N%zYQ0e9s>xW0GYihHwa zG>GST`%tqF;wO9QOwcl;LU5%L8MO6@G2?7^Xq7bkZe&T<=J6WFS4sya%@&hXF;h7T zT-5Nw8sk1?!V}wagb|wm=1RIPfOG4%(OVkj6dNS~c=ee3S-6*#M7DK+0v-M-fA6iy zu4IV4q#uIfg-gMK6QC)9Cx#r_JYTuavJrZVeJZw2RU>S2_>^@otrjbt0G=-;Bsz** zYOPkwL{BRO{)a;<=WB>863z(JU%KPJ(VH^ddIhd98niYT5^-m7l9nYjQ^DLQ8Mk&D z&=Ui@1MKV00lJYc)gZmL`|_*RpKLy*CP{md&akM_`#eq@f!#;jkQK^feXd^cOqv57 zRK_KTzBN5*b_C}xl8K`jM1n&4%w=!amTwL8FFxAG?OBt}~gyr8u~G3#tyY>!jRJt1@Z zIK6NybFQn@ELSuL_6p^o%q^Pz1zHy$)(GJk&3hrVU3QA=c)xVRSJkOdQz5ZRp7Ru$ z?7CN-gtH*jL15*WeT#3JlPKY24GC35sM%U_TMykl_z^c`i{x!)x6L~$&$A>nO^nv| zarDt`9#7u#e7ZTOvDGe*gZ{FwY?ar#2&3-=4zP5BKiBr6BNLOlSyHa6@O_h0`<$_o z>%ZmgS5oNNMVN2M=3bze)YC`22K>Tw)kckR-w`PB5T9sPzuQ#hemTb$9!7MG=hOiv zcRi5hWNQqGmW&KLWQaPoRABmTRCJP;3d*KIH1Y^GP&R7!lIuVFPF|hS4|oNWK@j<{ z*&fyPN#@rr?+iv8QwaX{HE%tfUkrf8z|DBe!aw1_j%w|BbuqLPfUzVT>hAraTvp&` zL^Yj{<3Xdsg8u{hv^cT0jMdK>7rx7- z!)(u{{Gs{B7)i9lu5L2+f?4}0V)zrtXBLcXZR_}r=fZlRd(1q^8f&*Q@a-v5^}g^+ zkEbH6A+>NVWoAD~TCVJ!pHx%42R2QI0aDnNd3mdAZn}gQtVP2_FtRVkc|7t#@C*Ma zzleITo#yP}S^x8y-j&(Z)q^Wx!-xVJC{1@eO;)#w3mU4A9@~r<(83dxd?qY>4+H-5 zkk@1g(*Ornt9l#l;fS&4ccYw#Lajo zB(b(3ZvZ^kJ(Ug^WW|bQGM1V!zMYaVW=AK>6h=`Elo_L@X!C|jRFFb!X*t1ccyxu+ z|6vu#NHt!xm*za#hOzEQ3_+Gl_qeY&RfPA9prPV9ywqvm>R!W~E7-O!90t+v5j=qgg$We%%2iEZ`ulbJ!*jM?-dkQ2uFg zS&?-*4%W_ww$EdnK)|46w>xTLew&bA`yG>5NhKcy96BD*KpOkb^JX}WiBG1cZWp`{&ka4#_%Urcv zRxD+_Eor$D`MHO`A3KiIrY{~%WtIZkJIk^Y1aVnwG#-+zikC(kx+HXxi&}yr15r~R zrIr(SJR+Rnu}b=F$&A1$QbdfsO*t{DSOj}7rc77K9eI*mJ&s* zuW>r=mjiapot9`Ex~CPnR2%6|n6#I>94?x-v5}|`PGomIurtgJS?j(O3VZSkUyX~pv%3F!Bv>%7b_nsRk!U#T|R;-^Zkfe<4jYF`q5N%RL(X7`4PM(c*G7hgtODm<7 z&80%pR87##Kg&A5gA(N)j^7+#4oRT#06E2S5`O~t#h$J(PCVR3P45}$Oj`SNX>*qs z%gJebTWLC?2jA^37tE^ZRKroy&OEx11Or47Y0!}gi&Cs5rMx6rh{T@vysgZlax{x1 z*7zFy1gf0AHuK$l#_ct6fwvD0(f7)jV`|bU!`TSdoS#tT;IQo?3X?f57x^)(VS{ge zDnH4mT_WJ~9u4}|=B?%11gkXaP>?3ziE0~z5hYBb)vACyqoxphg`9@-T^3+; z9s^#Y=&Ag$GvBaJswWvsurieH!2g4o9z4ot+G7A?9-ZiQqZ@hT$X)H0nz@{>**-5E zc8>tZL3Ow24vJeIFokOTkfp%?%?3KTbJ^I!USr?RCxf(x{;|!D>JzCO223~ zaft4L^q3U)s3GjhI99`)isz4@_axnbA+L8sb?zYVuC0(6A%6-J+`hrWoibjjMyJ84 z#)JuKwHb7D{?x^HZWDAIb8%#5UOjB}RmC=>sx6yF1BuL6_0CH)2V#cVFwQIhxw#ax zndJjmD~1W!7?^yq^PLU%y!0YY6d;c~w|@SPERcmb3`b3s3H!3&&Pcy=7V_S$GL9c4 zMV{C{SkFwu{>*Cf7rCvPN_Lzf1eCL!V z44=T{Qdu44X?IR+0j^0>9Y_8EggoM zK#*K4+ko|3*P zKwJ)m!o;D!q@RHTYh1D*}U{9y`%u$fVGd1;nOFPQlPTY2~B7@^N5c~mAG3NAD!F5k}C zfWBYqegv8fOmEwij7OA8*&>;w?J3%^%#owO7|3m;!RDE`i`dJvgCyM)NSHXZzo#RZ z&Za9|I~fH(tT7&r%`%L;*AkH@$JZoEU6`WB%wQtUMj+8iuNj3?1~(E{So+PIGOOXlHhXlE zRmuMdtEKsfwk>f}>MFDIjc!$7df$$vqeTT!gXW_{7bb!7F89X)KH-y&RW9watS<># zcvnrw|AmtAB?X2ebql?dT!BSAgncK&!={q`j|OiE`15$Kk&l8PNg4;F=(~3b3OzYO zo>7IFT^a00Nr|Z(Z1QRKwai(%!)LUljkOnF^MOu>6t=g*>~RB?h3$70hc{vY-i(KE z$f5~YWngRp!vur?9~=~q>+lC2yX&lb#F`V5a%c)|;Lu@t!RN6}{NF^U?z2k_;57pX zHm$%xvgojPU;PnbOOd8hIiWT2KCI3Hm!l0RaSM)5lsYHJG6wJSjXsO9aA@lc5L{uH z9Q{;2?%4V85O;t+;}WWEyOU{T?tY$jW#J@+LhwQ^Txbg{64|8{Mhkj3(U_Xng6{w$ zNqEdmhGo4ObdS(hz!;e8z_hD2y2Z*$xM|l}*dGt?FXps_F9edF(Qs0fN4~dB_SF$@CJ6Ebn(JiyKdxL?Aesp zUz@|v(L!~P^9Y^Jyd6Id9!O$?G&{zE;^lVae>~PvxV#P~i^21ESa5No>0m-Vw$2VO09$xo zM^+Mqm!|KX5AzT8s@utq@)FCBJUKW{ydEk$@=-2>Gqzt3IIR?v2J78zbunc_mY6QK zBewA50}xzhpB!)}xODz~D!LGM40O1xi2WW`FWuS`l<)zkB-1T7eMG*zK$$bzdq-fA zKIQf8a6H^m%zD0sjPCG?#MCbPzu-#TZmVO!l4`iD`oXzI1osBZV}g#vcB53^eERC* z$Vs-lj#-x6!Ykex7uU4@J`40+UgwMHWV?)7yqzgqC}qG6B@!?c6>nL5?7f0}G7btp z=QV7672I54Y_8(H9TSDL z@l+#X%o}gw6}v?yC(Oo6R~?`!FK_9p*^*{(FQE|OT5yrO4_?D$KUEX{7VU=M2Tz9q z&&E47G1<07@Q(U(Xo+O+pI55WkIgvm|GCu7NU0#w9@AMuqcfb7ukNh2k$7y9bjZs* zp9r=#J?-AI4U?4xCs;6<$vy&>Di3Iye`{l>EabXjGqVH2gNRmz9BslmtPG+!sSoLV zmd}U@e6lpDz!2iaKMn)HDXn*otNOc2Jwu}R^owhp94 z;xM-%lh}*Va(Ex{7Yb-+c@x|%cby#q!hL( z6?WP^@tqq%I_FhHX9M3D?WDPqm%PI##M*khU|eOsxB4p9$8F35%WxlA9zG0ysnWj% za7Y~Q_z}NJ$Gfb>G?cyZVw*cm$cL5v2;+Ni%hJjANeXb{F^Uiwv|EXF3X`B#Mc707 zoYmmN@74%$y;`C?d>FTaUfyKD^nDmPjOKtlfaNCU4$#85jAl-RnG+pCyuc+^$#pqK zlUn6!cQ4z%-inWAn+U4jmI-ey=g~NgHKe4Qu^pQq<+8&ZBhJjN^we=lL}8v=teSRF z@XDtydfiwB#yG5^92_Co3fa{ zBnu9hTXBsQ#O2qV$(~e@_dJLnxcD&k5w3l3-by3`DdbhJ^L#4H1NNHzN+m4TVpUv| zG6=c!4ppW&v(rG9UN`P&kYpK^@p#qmS2*QVFLSae*)qe0z8IN-5?`VBLAG8l<1VJZOCHS{% z+tnx4hHBg`;kETAdynZ-@AXNjiUK3yZOOXki9>&&ls8)et-t`ZgJ(f$b~Oh9=VtXI z53rY5bokf}lFfV@cwcZFka->OiB;#$s3*ZCgJWZCbI^;jzGH!S9+aoZ2BIw`h+u&8 z+q<+4xtJNS-xV+~?jp)A7u+I)9rS78(*oV^>Ng*~`RP(|NNe&gMoN^vToY4T zp+TGVzPtLf_06a}WdKd~-A!s?Gn}-iNTaVcd~vfW@7DpZBL$Z)^NdO4wgEFA$LlU^ zHsqGncc;waTk2f>PQr}VM<3!05o>ksr8sxqp%$ry;D2D{PzLVMLA{c{KM(T?dW)D9 zTW&vgNzj9n;8n$52#w#;Mx~I8Gj??QRCxRjle3`aSp1;oR$^xyVs(z<*$PO)B(zs- zf&e_VPs4o-<7DNcl|F-9yObPH=qgAbMGy4Qy~J6oHKATV-aO1wmm2Cna$b?G^` z!pMM2Dfn4nc6A=Hm8~-BajkbWJnSVef>h)_21=6Cph^p8T;|}RThm5_6IY|{n|0T9 zc}YtX8m1;Q{l3vB9TYh`LocpV2H0y}U`DFo`?Jm!{rFpPU4ACLJS_Jd&q_Pd7++f2 zo6t0?lO0FU@E+rwS&1I-@B_Np0K0%vJX9yoSpmv(8NL2;J zfcj5K$M8EYCTnVlquh$EB{unaA)gBSk$NX&&~lkS6-1xt)IqoE5)hYtGp?!H^<}F7 zt`vWn_(?vF56NrnIEXf3L&@N_VV406>Mf1(lkwi`0J1^d;}dFrQNVD@JnUEYUIvNb zEaVGHp=#Ai!?Hhk69AbFIyL7yk4{542Sp}dRXoXKXJ6+uL6i`V@OF^mAwNg?JK%K} z=^%$@^`sZ`czmXK4y?xw{#B_>l(G9R)7u8|!3te4AvN-eC0dDBPT&{G74ouol)5)S zmhnLUA^Soa8O5Ev79r-L13Cos?qrNnfza|-T??|%RXg&&rNS1OX$q4H$TN1=ST+Y> zhb>)d!E42rQb`g_9zyfw^Apq^wM8C@EULN2Z;BU?6!*mOP7H>j?xik;a-(wOT?w=` zSXX7|>{@y$K9JzbZO~1jdR@<~H&=oF?+Q2EoZ}3D7YIAVyhEP9w*& z@9xg(ckXPZ)C=|IsckArIX_BKKYS7|;#$1=oKp8_MK_0sse_D9U#$Ama^?;LUQH!6IXIL$BwkY$TrCroe|4Okov%NJF|f<-Aj$?k31`l9o>(;fhw|I?0 zCC$XUxS&XTJelkorSPC+3GyNo5SQtuZ#-oQT8AOVY+6<-ZA7U1z-$R(K#jTvx9XCO zrvbR@N@v@q%Kgbty-1#G+c%uIv-?r0v$E&r#Ka2fAhzWp`>fu*g|AWPS$g@{bXG@T zW|-q3S{XQ77ZOTfWN~kw`O0Rru5U(e53+)G@ zIiA>8*ST#>lfyGvP^#a-b|;#?!99D}!j)r^wdBHx8l(fIg}up7b5t6bbs;yzq;UlJ zU5kDuwO5IUYk~_md{Y9*+pW)5*~dOPBx=smC(tzDTyxxsQ?16Z-YI7f9~gqA9=671 zD7{gUQqLS|tAdHfNc{jPG!f>}gG+>a!O}OE7`Or@r%K%eiK8@{QM1#P_bB{NT9~oFn>9TEn$mvlK!5M28&w&)?d9?- zuLn6y5O(@FZDKAJfC0-Q! zviZhF;Ddu6#5-=IeG`hw(M91+=76#e;HbYVHpDkh`SG6Mc_{ahlxS9UzskR@UD@F- zC@%n-`_yvsPT2VMMAf}Ity za){gzJ}?IL*NE8gQ4lfrvQJ0LF(|SUa4$?r&t+A3jCmgRZV-QcmtI-SIZ7_1A=Mt& zi7(?nc>q~;Dn|Hatij6wBi4w`qfM^z*lHr_;I)erI*JF}eG z80fr@Z~gd=@biG1;&uYq1d*}M+aV;AL|%*8*5>Wfqi}MR-5>2I_PE1oL3#|T;GprD z4fV_HXvG$=pbfnUYg^X+;H*Uy%hpzl{@xKkpiBLMKLQh`%?}e-wk#us9;Fd(xk7RL zwwRIIZ_dfqsML!t3%2W6qyzGLat5Ncym)0gE||NQA;4gn zo%Nk{-RQJwP$uMq&>ETuVV-eBxdP*D=AoagG#P;m77f99@fL@r9g z9~IzCgd@elO)x5T?_0=9KuMW30pE$pbaVEZDMj`yyFSYzRHwbysKD=?k$K7CQ2_;) zL+_r_*K3KKKC=*Ww)w6Cy^qc+ZNnx*`_prFpdHtTlek+`=YnX0 z%8x%!K{m-@s;-!2oiRke_W z;3siu>!QAj$`S7B`w=X5MO^`Z;-qk0r}bTtz%P5zLNkDmeJN7WVvCt(q92ctrbHZ! z@uRQ4DE7xYK~u3HsRy3E$(0tPH!i2b;_DFYM1IyN4^C(nS1+S*$`|XE<@ilQRTIoA ziMcY4&Z2uPnS=kQc?LaL6ah}bf%2U7|70k+?8^Cu>oOSQ)0!H)qLE8{)EFYNP}Fy zU{gcXK7gdkXp~l@xBV)eX15kTVS}B6q>?xUFoHhya2JAVm8ghYkZs?c_{yuPE-m+hO|@FHZ`0%wupiZRJ5?iltj}<@xtUM%S8qGcCaq?~J=>@h zYqTmefs||wSPf^xIpyr=(s`&VhD?TmhGuOItz{qGZ!H^~+$TBg*c@qh4q{vZosVkJ zquG@XPBqY6VaB0yxmQIM1g1L?<*wB)DtRldH?RjFo4r@!4gOj@W8rBzKFKAsKWl^8x zdWjchMIxVk$;9O^V8$Gm(a_PRBX1{lFej)!Nc#J3*9vZ_*C&~06y>42_+3kKI?y#2 z75IqcI$(kw3bjySp*MjPgC^Y1!V$Gu6n*#7%Nn>58wU1c;|Nidi5`s~7QAadlTUyR z?`oenUl^;>L7aWL%2;GF>&7a6^vD}j$-F>V0E)p8ewcGf{xlUY?$ z?6Sz%#2hPhwZlQLaIz5`ZGE!q2B+1SV-T9gC^ydH%O@HIZ*npiEWvX@;bE5j{9SDt zNU*qaAcrn_{CCaErM(02nS>0{aog&3I}3|AGb@nIQ7W~m4gm8G$mrTu)3u&Wj#L#R zIKRh1JQdCR4@>fAFJDW~ioS9b6uaDGWxNY7#Lqhdkpo%#4e__a z+GP0Z*a08OwkfKoKa)$JzeOJ0L=;*WzZ8a4~KQb~J|R2y{i~Yimq9bwY~mZIw|YTOOZK_~`=%1bN!Yyis{F_sSG$d0Ej*%_s0%7&$HnmoRUjHQ5AMXtt}V; z8)_(o_F9e*yH$> zj)CZAHl9go6osWyk{Wk6fGUR%Tu(xeh*&{y2b;8)p=BCOrmDpFk1|QZVoG6NJhzkU zcVuIv>_&eHU}Bt*o&}+LSs?{>25{P4Vpan+eb42>av-%qSsA%|g^G)z3fNyk(wKQ_ zYo`!@-mH^=;^U%zagR#|N$H|sZag~I>G;1MivwDA^uvV`t=_ynvo}tS+tDZj4Ni)> z!9L?4dthJY1BgJ!XZJp8r|@n_2lF7bxTNVCMF>ikiD+8D@V0jF@iASm`r*U;$*`rk zk~V^nCA^a!Qm|2`Y8!t9U3Q9a+DSOnGsUf1)0g;V{ZYAp=Iw6#aM*^tjt$aY8I!o- z%DDdMJ7oy+;r#DSMJvn;d=oi7NE|0wlt=ngrsZXFW1oxAJuVXj42^{tus3Uo@o7eJ zIND3$ztwY-2aLZ`Rq=H{e4=Z(5$VPLEY7ro1zY zEp7P*6E+LrI@ooM-iODX`%P+^4oGJ`pc;;-wOZSo&4y7Ph-JaJkkBp{?jRfcimihC zlr`eukb%?}|IlLDrxc(Shx({qTkTSCVc6mLR(qg2LomVoSUD80DHqw^xNQ%cW|WE8 zb+P)|cb(~EV5|o^_(YZbHgpKC$xRJ>J8})auO3J)rw&zxEFk1wD;oCh8i!<3f3%mq zH)(dd<)GHtzJS0j>n(a8#^K%IO1cpygkQnbX#*aFhA`E zCupDG04)dwz*pOk!KVv05y4Tw>>eQEc&ETv!&UJv_f*k?Qyb$AUwB^(j$w4{8on1c4Muc}K5HNFs!Bi7 z3N>iphobY*G-hvxQkJb^uifV;y5^8nqbz}K{$vZjfc1o(BchtpM<@Qe54w>S^3# zAXu>9Z}wUuRC54YK&8KkDl*uMm~~iS-(-+qD&)s3llv+dp~ITaP_xdseU!}xV98{p z;u8|q4Ez_j4xS)d_%ram0NgLH_yL)X*>um5+8-K**v5)5w1y`9f1hX##}%dOBb^J# zPAr9`+9qsA8_5Ln#v1ifPdN2*Fe9!EqqVYLU*uO=YB@Jqm$EZXyNCYA%0ARzSL+#D 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

8q1!#q(T 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%0ABkDHxXr&2U?~ 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�J-W1XyMe%R?w73Q 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�v-K1c6kgPKHkD@eZc<@|p> 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ⅈ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¬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
(?:.(?!##))+)/gs;async function j0t(t){let r=`https://repo.yarnpkg.com/${_e.isTaggedYarnVersion(rn)?rn:await y2(t,"canary")}/packages/gatsby/content/advanced/error-codes.md`,o=await nn.get(r,{configuration:t});return new Map(Array.from(o.toString().matchAll(q0t),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=Xge(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var Hh=class extends ut{constructor(){super(...arguments);this.code=ge.String({required:!1,validator:aI(Cy(),[oI(/^YN[0-9]{4}$/)])});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let o=Xge(this.code),a=de.pretty(r,o,de.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),A=(await j0t(r)).get(this.code),p=typeof A<"u"?de.jsonOrPretty(this.json,r,de.tuple(de.Type.MARKDOWN,{text:A,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${de.jsonOrPretty(this.json,r,de.tuple(de.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:o,details:p})} +`):this.context.stdout.write(`${n} + +${p} +`)}else{let o={children:_e.mapAndFilter(Object.entries(wr),([a,n])=>Number.isNaN(Number(a))?_e.mapAndFilter.skip:{label:Wu(Number(a)),value:de.tuple(de.Type.CODE,n)})};$s.emitTree(o,{configuration:r,stdout:this.context.stdout,json:this.json})}}};Hh.paths=[["explain"]],Hh.usage=nt.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});Ye();St();qt();var Zge=$e(Zo()),qh=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=ge.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=ge.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=ge.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=ge.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=ge.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=ge.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a&&!this.all)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState();let u=new Set(this.extra);this.cache&&u.add("cache"),this.dependents&&u.add("dependents"),this.manifest&&u.add("manifest");let A=(ae,{recursive:fe})=>{let ce=ae.anchoredLocator.locatorHash,me=new Map,he=[ce];for(;he.length>0;){let Be=he.shift();if(me.has(Be))continue;let we=o.storedPackages.get(Be);if(typeof we>"u")throw new Error("Assertion failed: Expected the package to be registered");if(me.set(Be,we),W.isVirtualLocator(we)&&he.push(W.devirtualizeLocator(we).locatorHash),!(!fe&&Be!==ce))for(let g of we.dependencies.values()){let Ee=o.storedResolutions.get(g.descriptorHash);if(typeof Ee>"u")throw new Error("Assertion failed: Expected the resolution to be registered");he.push(Ee)}}return me.values()},p=({recursive:ae})=>{let fe=new Map;for(let ce of o.workspaces)for(let me of A(ce,{recursive:ae}))fe.set(me.locatorHash,me);return fe.values()},h=({all:ae,recursive:fe})=>ae&&fe?o.storedPackages.values():ae?p({recursive:fe}):A(a,{recursive:fe}),E=({all:ae,recursive:fe})=>{let ce=h({all:ae,recursive:fe}),me=this.patterns.map(we=>{let g=W.parseLocator(we),Ee=Zge.default.makeRe(W.stringifyIdent(g)),Se=W.isVirtualLocator(g),le=Se?W.devirtualizeLocator(g):g;return ne=>{let ee=W.stringifyIdent(ne);if(!Ee.test(ee))return!1;if(g.reference==="unknown")return!0;let Ie=W.isVirtualLocator(ne),Fe=Ie?W.devirtualizeLocator(ne):ne;return!(Se&&Ie&&g.reference!==ne.reference||le.reference!==Fe.reference)}}),he=_e.sortMap([...ce],we=>W.stringifyLocator(we));return{selection:he.filter(we=>me.length===0||me.some(g=>g(we))),sortedLookup:he}},{selection:I,sortedLookup:v}=E({all:this.all,recursive:this.recursive});if(I.length===0)throw new it("No package matched your request");let x=new Map;if(this.dependents)for(let ae of v)for(let fe of ae.dependencies.values()){let ce=o.storedResolutions.get(fe.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: Expected the resolution to be registered");_e.getArrayWithDefault(x,ce).push(ae)}let C=new Map;for(let ae of v){if(!W.isVirtualLocator(ae))continue;let fe=W.devirtualizeLocator(ae);_e.getArrayWithDefault(C,fe.locatorHash).push(ae)}let R={},L={children:R},U=r.makeFetcher(),J={project:o,fetcher:U,cache:n,checksums:o.storedChecksums,report:new Qi,cacheOptions:{skipIntegrityCheck:!0}},te=[async(ae,fe,ce)=>{if(!fe.has("manifest"))return;let me=await U.fetch(ae,J),he;try{he=await Ot.find(me.prefixPath,{baseFs:me.packageFs})}finally{me.releaseFs?.()}ce("Manifest",{License:de.tuple(de.Type.NO_HINT,he.license),Homepage:de.tuple(de.Type.URL,he.raw.homepage??null)})},async(ae,fe,ce)=>{if(!fe.has("cache"))return;let me=o.storedChecksums.get(ae.locatorHash)??null,he=n.getLocatorPath(ae,me),Be;if(he!==null)try{Be=await oe.statPromise(he)}catch{}let we=typeof Be<"u"?[Be.size,de.Type.SIZE]:void 0;ce("Cache",{Checksum:de.tuple(de.Type.NO_HINT,me),Path:de.tuple(de.Type.PATH,he),Size:we})}];for(let ae of I){let fe=W.isVirtualLocator(ae);if(!this.virtuals&&fe)continue;let ce={},me={value:[ae,de.Type.LOCATOR],children:ce};if(R[W.stringifyLocator(ae)]=me,this.nameOnly){delete me.children;continue}let he=C.get(ae.locatorHash);typeof he<"u"&&(ce.Instances={label:"Instances",value:de.tuple(de.Type.NUMBER,he.length)}),ce.Version={label:"Version",value:de.tuple(de.Type.NO_HINT,ae.version)};let Be=(g,Ee)=>{let Se={};if(ce[g]=Se,Array.isArray(Ee))Se.children=Ee.map(le=>({value:le}));else{let le={};Se.children=le;for(let[ne,ee]of Object.entries(Ee))typeof ee>"u"||(le[ne]={label:ne,value:ee})}};if(!fe){for(let g of te)await g(ae,u,Be);await r.triggerHook(g=>g.fetchPackageInfo,ae,u,Be)}ae.bin.size>0&&!fe&&Be("Exported Binaries",[...ae.bin.keys()].map(g=>de.tuple(de.Type.PATH,g)));let we=x.get(ae.locatorHash);typeof we<"u"&&we.length>0&&Be("Dependents",we.map(g=>de.tuple(de.Type.LOCATOR,g))),ae.dependencies.size>0&&!fe&&Be("Dependencies",[...ae.dependencies.values()].map(g=>{let Ee=o.storedResolutions.get(g.descriptorHash),Se=typeof Ee<"u"?o.storedPackages.get(Ee)??null:null;return de.tuple(de.Type.RESOLUTION,{descriptor:g,locator:Se})})),ae.peerDependencies.size>0&&fe&&Be("Peer dependencies",[...ae.peerDependencies.values()].map(g=>{let Ee=ae.dependencies.get(g.identHash),Se=typeof Ee<"u"?o.storedResolutions.get(Ee.descriptorHash)??null:null,le=Se!==null?o.storedPackages.get(Se)??null:null;return de.tuple(de.Type.RESOLUTION,{descriptor:g,locator:le})}))}$s.emitTree(L,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};qh.paths=[["info"]],qh.usage=nt.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"]]});Ye();St();Nl();var hk=$e(td());qt();var O8=$e(zn());Za();var G0t=[{selector:t=>t===-1,name:"nodeLinker",value:"node-modules"},{selector:t=>t!==-1&&t<8,name:"enableGlobalCache",value:!1},{selector:t=>t!==-1&&t<8,name:"compressionLevel",value:"mixed"}],jh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=ge.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=ge.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=ge.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=ge.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=ge.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=ge.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Ks(pl)});this.cacheFolder=ge.String("--cache-folder",{hidden:!0});this.frozenLockfile=ge.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=ge.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=ge.Boolean("--non-interactive",{hidden:!0});this.preferOffline=ge.Boolean("--prefer-offline",{hidden:!0});this.production=ge.Boolean("--production",{hidden:!0});this.registry=ge.String("--registry",{hidden:!0});this.silent=ge.Boolean("--silent",{hidden:!0});this.networkTimeout=ge.String("--network-timeout",{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let o=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=await LE({configuration:r,stdout:this.context.stdout},[{option:this.ignoreEngines,message:"The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",error:!hk.default.VERCEL},{option:this.registry,message:"The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file"},{option:this.preferOffline,message:"The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",error:!hk.default.VERCEL},{option:this.production,message:"The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",error:!0},{option:this.nonInteractive,message:"The --non-interactive option is deprecated",error:!o},{option:this.frozenLockfile,message:"The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",callback:()=>this.immutable=this.frozenLockfile},{option:this.cacheFolder,message:"The cache-folder option has been deprecated; use rc settings instead",error:!hk.default.NETLIFY}]);if(a!==null)return a;let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new it(`${de.pretty(r,"--immutable",de.Type.CODE)} and ${de.pretty(r,"--immutable-cache",de.Type.CODE)} cannot be used with ${de.pretty(r,"--mode=update-lockfile",de.Type.CODE)}`);let u=(this.immutable??r.get("enableImmutableInstalls"))&&!n,A=this.immutableCache&&!n;if(r.projectCwd!==null){let R=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async L=>{let U=!1;await K0t(r,u)&&(L.reportInfo(48,"Automatically removed core plugins that are now builtins \u{1F44D}"),U=!0),await W0t(r,u)&&(L.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),U=!0),U&&L.reportSeparator()});if(R.hasErrors())return R.exitCode()}if(r.projectCwd!==null){let R=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async L=>{if(Ke.telemetry?.isNew)Ke.telemetry.commitTips(),L.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),L.reportInfo(65,`Run ${de.pretty(r,"yarn config set --home enableTelemetry 0",de.Type.CODE)} to disable`),L.reportSeparator();else if(Ke.telemetry?.shouldShowTips){let U=await nn.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0}).catch(()=>null);if(U!==null){let J=null;if(rn!==null){let ae=O8.default.prerelease(rn)?"canary":"stable",fe=U.latest[ae];O8.default.gt(fe,rn)&&(J=[ae,fe])}if(J)Ke.telemetry.commitTips(),L.reportInfo(88,`${de.applyStyle(r,`A new ${J[0]} version of Yarn is available:`,de.Style.BOLD)} ${W.prettyReference(r,J[1])}!`),L.reportInfo(88,`Upgrade now by running ${de.pretty(r,`yarn set version ${J[1]}`,de.Type.CODE)}`),L.reportSeparator();else{let te=Ke.telemetry.selectTip(U.tips);te&&(L.reportInfo(89,de.pretty(r,te.message,de.Type.MARKDOWN_INLINE)),te.url&&L.reportInfo(89,`Learn more at ${te.url}`),L.reportSeparator())}}}});if(R.hasErrors())return R.exitCode()}let{project:p,workspace:h}=await Pt.find(r,this.context.cwd),E=p.lockfileLastVersion;if(E!==null){let R=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async L=>{let U={};for(let J of G0t)J.selector(E)&&typeof r.sources.get(J.name)>"u"&&(r.use("",{[J.name]:J.value},p.cwd,{overwrite:!0}),U[J.name]=J.value);Object.keys(U).length>0&&(await Ke.updateConfiguration(p.cwd,U),L.reportInfo(87,"Migrated your project to the latest Yarn version \u{1F680}"),L.reportSeparator())});if(R.hasErrors())return R.exitCode()}let I=await Lr.find(r,{immutable:A,check:this.checkCache});if(!h)throw new rr(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let v=r.get("enableHardenedMode");v&&typeof r.sources.get("enableHardenedMode")>"u"&&await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{R.reportWarning(0,"Yarn detected that the current workflow is executed from a public pull request. For safety the hardened mode has been enabled."),R.reportWarning(0,`It will prevent malicious lockfile manipulations, in exchange for a slower install time. You can opt-out if necessary; check our ${de.applyHyperlink(r,"documentation","https://yarnpkg.com/features/security#hardened-mode")} for more details.`),R.reportSeparator()}),(this.refreshLockfile??v)&&(p.lockfileNeedsRefresh=!0);let x=this.checkResolutions??v;return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,forceSectionAlignment:!0,includeLogs:!0,includeVersion:!0},async R=>{await p.install({cache:I,report:R,immutable:u,checkResolutions:x,mode:this.mode})})).exitCode()}};jh.paths=[["install"],nt.Default],jh.usage=nt.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 `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\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=` 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 Y0t="<<<<<<<";async function W0t(t,e){if(!t.projectCwd)return!1;let r=V.join(t.projectCwd,dr.lockfile);if(!await oe.existsPromise(r)||!(await oe.readFilePromise(r,"utf8")).includes(Y0t))return!1;if(e)throw new zt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Ur.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:t.projectCwd});if(a.code!==0&&(a=await Ur.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0&&(a=await Ur.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0)throw new zt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async A=>{let p=await Ur.execvp("git",["show",`${A}:./${dr.lockfile}`],{cwd:t.projectCwd});if(p.code!==0)throw new zt(83,`Git returned an error when trying to access the lockfile content in ${A}`);try{return Ki(p.stdout)}catch{throw new zt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(A=>!!A.__metadata);for(let A of n){if(A.__metadata.version<7)for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=W.parseDescriptor(p,!0),E=t.normalizeDependency(h),I=W.stringifyDescriptor(E);I!==p&&(A[I]=A[p],delete A[p])}for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=A[p].checksum;typeof h=="string"&&h.includes("/")||(A[p].checksum=`${A.__metadata.cacheKey}/${h}`)}}let u=Object.assign({},...n);u.__metadata.version=`${Math.min(...n.map(A=>parseInt(A.__metadata.version??0)))}`,u.__metadata.cacheKey="merged";for(let[A,p]of Object.entries(u))typeof p=="string"&&delete u[A];return await oe.changeFilePromise(r,Ba(u),{automaticNewlines:!0}),!0}async function K0t(t,e){if(!t.projectCwd)return!1;let r=[],o=V.join(t.projectCwd,".yarn/plugins/@yarnpkg");return await Ke.updateConfiguration(t.projectCwd,{plugins:n=>{if(!Array.isArray(n))return n;let u=n.filter(A=>{if(!A.path)return!0;let p=V.resolve(t.projectCwd,A.path),h=v1.has(A.spec)&&V.contains(o,p);return h&&r.push(p),!h});return u.length===0?Ke.deleteProperty:u.length===n.length?n:u}},{immutable:e})?(await Promise.all(r.map(async n=>{await oe.removePromise(n)})),!0):!1}Ye();St();qt();var Gh=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=ge.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=ge.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=o.topLevelWorkspace,A=[];for(let p of this.destinations){let h=V.resolve(this.context.cwd,ue.toPortablePath(p)),E=await Ke.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:I,workspace:v}=await Pt.find(E,h);if(o.cwd===I.cwd)throw new it(`Invalid destination '${p}'; Can't link the project to itself`);if(!v)throw new rr(I.cwd,h);if(this.all){let x=!1;for(let C of I.workspaces)C.manifest.name&&(!C.manifest.private||this.private)&&(A.push(C),x=!0);if(!x)throw new it(`No workspace found to be linked in the target project: ${p}`)}else{if(!v.manifest.name)throw new it(`The target workspace at '${p}' doesn't have a name and thus cannot be linked`);if(v.manifest.private&&!this.private)throw new it(`The target workspace at '${p}' is marked private - use the --private flag to link it anyway`);A.push(v)}}for(let p of A){let h=W.stringifyIdent(p.anchoredLocator),E=this.relative?V.relative(o.cwd,p.cwd):p.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${E}`})}return await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};Gh.paths=[["link"]],Gh.usage=nt.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 one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});qt();var Yh=class extends ut{constructor(){super(...arguments);this.args=ge.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Yh.paths=[["node"]],Yh.usage=nt.Usage({description:"run node with the hook already setup",details:` + 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). + + 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. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});Ye();qt();var Wh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await Ke.findRcFiles(this.context.cwd);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{for(let u of o)if(!!u.data?.plugins)for(let A of u.data.plugins){if(!A.checksum||!A.spec.match(/^https?:/))continue;let p=await nn.get(A.spec,{configuration:r}),h=wn.makeHash(p);if(A.checksum===h)continue;let E=de.pretty(r,A.path,de.Type.PATH),I=de.pretty(r,A.spec,de.Type.URL),v=`${E} is different from the file provided by ${I}`;n.reportJson({...A,newChecksum:h}),n.reportError(0,v)}})).exitCode()}};Wh.paths=[["plugin","check"]],Wh.usage=nt.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` + Check only the plugins from https. + + If this command detects any plugin differences in the CI environment, it will throw an error. + `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]});Ye();Ye();St();qt();var nde=ve("os");Ye();St();qt();var $ge=ve("os");Ye();Nl();qt();var V0t="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function zd(t,e){let r=await nn.get(V0t,{configuration:t}),o=Ki(r.toString());return Object.fromEntries(Object.entries(o).filter(([a,n])=>!e||kr.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var Kh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await zd(r,rn);for(let[u,{experimental:A,...p}]of Object.entries(n)){let h=u;A&&(h+=" [experimental]"),a.reportJson({name:u,experimental:A,...p}),a.reportInfo(null,h)}})).exitCode()}};Kh.paths=[["plugin","list"]],Kh.usage=nt.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 J0t=/^[0-9]+$/,z0t=process.platform==="win32";function ede(t){return J0t.test(t)?`pull/${t}/head`:t}var X0t=({repository:t,branch:e},r)=>[["git","init",ue.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",ede(e)],["git","reset","--hard","FETCH_HEAD"]],Z0t=({branch:t})=>[["git","fetch","origin","--depth=1",ede(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx","-e","packages/yarnpkg-cli/bundles"]],$0t=({plugins:t,noMinify:e},r,o)=>[["yarn","build:cli",...new Array().concat(...t.map(a=>["--plugin",V.resolve(o,a)])),...e?["--no-minify"]:[],"|"],[z0t?"move":"mv","packages/yarnpkg-cli/bundles/yarn.js",ue.fromPortablePath(r),"|"]],Vh=class extends ut{constructor(){super(...arguments);this.installPath=ge.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ge.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ge.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=ge.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.dryRun=ge.Boolean("-n,--dry-run",!1,{description:"If set, the bundle will be built but not added to the project"});this.noMinify=ge.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=ge.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=ge.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd),a=typeof this.installPath<"u"?V.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):V.resolve(ue.toPortablePath((0,$ge.tmpdir)()),"yarnpkg-sources",wn.makeHash(this.repository).slice(0,6));return(await Nt.start({configuration:r,stdout:this.context.stdout},async u=>{await M8(this,{configuration:r,report:u,target:a}),u.reportSeparator(),u.reportInfo(0,"Building a fresh bundle"),u.reportSeparator();let A=await Ur.execvp("git",["rev-parse","--short","HEAD"],{cwd:a,strict:!0}),p=V.join(a,`packages/yarnpkg-cli/bundles/yarn-${A.stdout.trim()}.js`);oe.existsSync(p)||(await E2($0t(this,p,a),{configuration:r,context:this.context,target:a}),u.reportSeparator());let h=await oe.readFilePromise(p);if(!this.dryRun){let{bundleVersion:E}=await L8(r,null,async()=>h,{report:u});this.skipPlugins||await egt(this,E,{project:o,report:u,target:a})}})).exitCode()}};Vh.paths=[["set","version","from","sources"]],Vh.usage=nt.Usage({description:"build Yarn from master",details:` + 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. + + 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. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function E2(t,{configuration:e,context:r,target:o}){for(let[a,...n]of t){let u=n[n.length-1]==="|";if(u&&n.pop(),u)await Ur.pipevp(a,n,{cwd:o,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${de.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")} +`);try{await Ur.execvp(a,n,{cwd:o,strict:!0})}catch(A){throw r.stdout.write(A.stdout||A.stack),A}}}}async function M8(t,{configuration:e,report:r,target:o}){let a=!1;if(!t.force&&oe.existsSync(V.join(o,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await E2(Z0t(t),{configuration:e,context:t.context,target:o}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await oe.removePromise(o),await oe.mkdirPromise(o,{recursive:!0}),await E2(X0t(t,o),{configuration:e,context:t.context,target:o}))}async function egt(t,e,{project:r,report:o,target:a}){let n=await zd(r.configuration,e),u=new Set(Object.keys(n));for(let A of r.configuration.plugins.keys())!u.has(A)||await U8(A,t,{project:r,report:o,target:a})}Ye();Ye();St();qt();var tde=$e(zn()),rde=ve("vm");var Jh=class extends ut{constructor(){super(...arguments);this.name=ge.String();this.checksum=ge.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await Pt.find(r,this.context.cwd),u,A;if(this.name.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.name)){let p=V.resolve(this.context.cwd,ue.toPortablePath(this.name));a.reportInfo(0,`Reading ${de.pretty(r,p,de.Type.PATH)}`),u=V.relative(n.cwd,p),A=await oe.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new URL(this.name)}catch{throw new zt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}u=this.name,p=this.name}else{let h=W.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!tde.default.valid(h.reference))throw new zt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let E=W.stringifyIdent(h),I=await zd(r,rn);if(!Object.hasOwn(I,E)){let v=`Couldn't find a plugin named ${W.prettyIdent(r,h)} on the remote registry. +`;throw r.plugins.has(E)?v+=`A plugin named ${W.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:v+=`Note that only the plugins referenced on our website (${de.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",de.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${de.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",de.Type.URL)}).`,new zt(51,v)}u=E,p=I[E].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${E}/${h.reference}/`):rn!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${rn}/`))}a.reportInfo(0,`Downloading ${de.pretty(r,p,"green")}`),A=await nn.get(p,{configuration:r})}await _8(u,A,{checksum:this.checksum,project:n,report:a})})).exitCode()}};Jh.paths=[["plugin","import"]],Jh.usage=nt.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. + + 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). + `,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 _8(t,e,{checksum:r=!0,project:o,report:a}){let{configuration:n}=o,u={},A={exports:u};(0,rde.runInNewContext)(e.toString(),{module:A,exports:u});let h=`.yarn/plugins/${A.exports.name}.cjs`,E=V.resolve(o.cwd,h);a.reportInfo(0,`Saving the new plugin in ${de.pretty(n,h,"magenta")}`),await oe.mkdirPromise(V.dirname(E),{recursive:!0}),await oe.writeFilePromise(E,e);let I={path:h,spec:t};r&&(I.checksum=wn.makeHash(e)),await Ke.addPlugin(o.cwd,[I])}var tgt=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],zh=class extends ut{constructor(){super(...arguments);this.installPath=ge.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ge.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ge.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=ge.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=ge.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=typeof this.installPath<"u"?V.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):V.resolve(ue.toPortablePath((0,nde.tmpdir)()),"yarnpkg-sources",wn.makeHash(this.repository).slice(0,6));return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:u}=await Pt.find(r,this.context.cwd),A=W.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=W.stringifyIdent(A),h=await zd(r,rn);if(!Object.hasOwn(h,p))throw new zt(51,`Couldn't find a plugin named "${p}" 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 E=p;await M8(this,{configuration:r,report:n,target:o}),await U8(E,this,{project:u,report:n,target:o})})).exitCode()}};zh.paths=[["plugin","import","from","sources"]],zh.usage=nt.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + 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. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,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 U8(t,{context:e,noMinify:r},{project:o,report:a,target:n}){let u=t.replace(/@yarnpkg\//,""),{configuration:A}=o;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${u}`),a.reportSeparator(),await E2(tgt({pluginName:u,noMinify:r},n),{configuration:A,context:e,target:n}),a.reportSeparator();let p=V.resolve(n,`packages/${u}/bundles/${t}.js`),h=await oe.readFilePromise(p);await _8(t,h,{project:o,report:a})}Ye();St();qt();var Xh=class extends ut{constructor(){super(...arguments);this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd);return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let u=this.name,A=W.parseIdent(u);if(!r.plugins.has(u))throw new it(`${W.prettyIdent(r,A)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${u}.cjs`,h=V.resolve(o.cwd,p);oe.existsSync(h)&&(n.reportInfo(0,`Removing ${de.pretty(r,p,de.Type.PATH)}...`),await oe.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await Ke.updateConfiguration(o.cwd,{plugins:E=>{if(!Array.isArray(E))return E;let I=E.filter(v=>v.path!==p);return I.length===0?Ke.deleteProperty:I.length===E.length?E:I}})})).exitCode()}};Xh.paths=[["plugin","remove"]],Xh.usage=nt.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **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. + `,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"]]});Ye();qt();var Zh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let u=this.context.plugins.plugins.has(n),A=n;u&&(A+=" [builtin]"),a.reportJson({name:n,builtin:u}),a.reportInfo(null,`${A}`)}})).exitCode()}};Zh.paths=[["plugin","runtime"]],Zh.usage=nt.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});Ye();Ye();qt();var $h=class extends ut{constructor(){super(...arguments);this.idents=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a)throw new rr(o.cwd,this.context.cwd);let u=new Set;for(let A of this.idents)u.add(W.parseIdent(A).identHash);if(await o.restoreInstallState({restoreResolutions:!1}),await o.resolveEverything({cache:n,report:new Qi}),u.size>0)for(let A of o.storedPackages.values())u.has(A.identHash)&&(o.storedBuildState.delete(A.locatorHash),o.skippedBuilds.delete(A.locatorHash));else o.storedBuildState.clear(),o.skippedBuilds.clear();return await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};$h.paths=[["rebuild"]],$h.usage=nt.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + 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). + + 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. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});Ye();Ye();Ye();qt();var H8=$e(Zo());Za();var e0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Ks(pl)});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.all?o.workspaces:[a],A=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,E=[];for(let C of this.patterns){let R=!1,L=W.parseIdent(C);for(let U of u){let J=[...U.manifest.peerDependenciesMeta.keys()];for(let te of(0,H8.default)(J,C))U.manifest.peerDependenciesMeta.delete(te),h=!0,R=!0;for(let te of A){let ae=U.manifest.getForScope(te),fe=[...ae.values()].map(ce=>W.stringifyIdent(ce));for(let ce of(0,H8.default)(fe,W.stringifyIdent(L))){let{identHash:me}=W.parseIdent(ce),he=ae.get(me);if(typeof he>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");U.manifest[te].delete(me),E.push([U,te,he]),h=!0,R=!0}}}R||p.push(C)}let I=p.length>1?"Patterns":"Pattern",v=p.length>1?"don't":"doesn't",x=this.all?"any":"this";if(p.length>0)throw new it(`${I} ${de.prettyList(r,p,de.Type.CODE)} ${v} match any packages referenced by ${x} workspace`);return h?(await r.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,E),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})):0}};e0.paths=[["remove"]],e0.usage=nt.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`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. + + - \`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. + + 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. + `,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}'"]]});Ye();Ye();qt();var ide=ve("util"),Xd=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new rr(o.cwd,this.context.cwd);return(await Nt.start({configuration:r,stdout:this.context.stdout,json:this.json},async u=>{let A=a.manifest.scripts,p=_e.sortMap(A.keys(),I=>I),h={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},E=p.reduce((I,v)=>Math.max(I,v.length),0);for(let[I,v]of A.entries())u.reportInfo(null,`${I.padEnd(E," ")} ${(0,ide.inspect)(v,h)}`),u.reportJson({name:I,script:v})})).exitCode()}};Xd.paths=[["run"]];Ye();Ye();qt();var t0=class extends ut{constructor(){super(...arguments);this.inspect=ge.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=ge.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=ge.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=ge.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=ge.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=ge.Boolean("--silent",{hidden:!0});this.scriptName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a,locator:n}=await Pt.find(r,this.context.cwd);await o.restoreInstallState();let u=this.topLevel?o.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await un.hasPackageScript(u,this.scriptName,{project:o}))return await un.executePackageScript(u,this.scriptName,this.args,{project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let A=await un.getPackageAccessibleBinaries(u,{project:o});if(A.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await un.executePackageAccessibleBinary(u,this.scriptName,this.args,{cwd:this.context.cwd,project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:A})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let E=(await Promise.all(o.workspaces.map(async I=>I.manifest.scripts.has(this.scriptName)?I:null))).filter(I=>I!==null);if(E.length===1)return await un.executeWorkspaceScript(E[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 it(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${W.prettyLocator(r,n)}). 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 it(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${W.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new it("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[E,I]of AC)for(let v of I)if(h.length>=v.length&&JSON.stringify(h.slice(0,v.length))===JSON.stringify(v))throw new it(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${E} plugin. You can install it with "yarn plugin import ${E}".`);throw new it(`Couldn't find a script named "${this.scriptName}".`)}}};t0.paths=[["run"]],t0.usage=nt.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - 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. + + 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). + `,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"]]});Ye();Ye();qt();var r0=class extends ut{constructor(){super(...arguments);this.descriptor=ge.String();this.resolution=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(await o.restoreInstallState({restoreResolutions:!1}),!a)throw new rr(o.cwd,this.context.cwd);let u=W.parseDescriptor(this.descriptor,!0),A=W.makeDescriptor(u,this.resolution);return o.storedDescriptors.set(u.descriptorHash,u),o.storedDescriptors.set(A.descriptorHash,A),o.resolutionAliases.set(u.descriptorHash,A.descriptorHash),await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};r0.paths=[["set","resolution"]],r0.usage=nt.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, edit the `resolutions` field in 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"]]});Ye();St();qt();var sde=$e(Zo()),n0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a)throw new rr(o.cwd,this.context.cwd);let u=o.topLevelWorkspace,A=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:p,reference:h}of u.manifest.resolutions)h.startsWith("portal:")&&A.add(p.descriptor.fullName);if(this.leadingArguments.length>0)for(let p of this.leadingArguments){let h=V.resolve(this.context.cwd,ue.toPortablePath(p));if(_e.isPathLike(p)){let E=await Ke.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:I,workspace:v}=await Pt.find(E,h);if(!v)throw new rr(I.cwd,h);if(this.all){for(let x of I.workspaces)x.manifest.name&&A.add(W.stringifyIdent(x.anchoredLocator));if(A.size===0)throw new it("No workspace found to be unlinked in the target project")}else{if(!v.manifest.name)throw new it("The target workspace doesn't have a name and thus cannot be unlinked");A.add(W.stringifyIdent(v.anchoredLocator))}}else{let E=[...u.manifest.resolutions.map(({pattern:I})=>I.descriptor.fullName)];for(let I of(0,sde.default)(E,p))A.add(I)}}return u.manifest.resolutions=u.manifest.resolutions.filter(({pattern:p})=>!A.has(p.descriptor.fullName)),await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};n0.paths=[["unlink"]],n0.usage=nt.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,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}'"]]});Ye();Ye();Ye();qt();var ode=$e(f2()),q8=$e(Zo());Za();var Jf=class extends ut{constructor(){super(...arguments);this.interactive=ge.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=ge.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ge.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ge.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ge.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Ks(pl)});this.patterns=ge.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=[...o.storedDescriptors.values()],A=u.map(E=>W.stringifyIdent(E)),p=new Set;for(let E of this.patterns){if(W.parseDescriptor(E).range!=="unknown")throw new it("Ranges aren't allowed when using --recursive");for(let I of(0,q8.default)(A,E)){let v=W.parseIdent(I);p.add(v.identHash)}}let h=u.filter(E=>p.has(E.identHash));for(let E of h)o.storedDescriptors.delete(E.descriptorHash),o.storedResolutions.delete(E.descriptorHash);return await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}async executeUpClassic(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=h2(this,o),h=A?["keep","reuse","project","latest"]:["project","latest"],E=[],I=[];for(let L of this.patterns){let U=!1,J=W.parseDescriptor(L),te=W.stringifyIdent(J);for(let ae of o.workspaces)for(let fe of["dependencies","devDependencies"]){let me=[...ae.manifest.getForScope(fe).values()].map(Be=>W.stringifyIdent(Be)),he=te==="*"?me:(0,q8.default)(me,te);for(let Be of he){let we=W.parseIdent(Be),g=ae.manifest[fe].get(we.identHash);if(typeof g>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let Ee=W.makeDescriptor(we,J.range);E.push(Promise.resolve().then(async()=>[ae,fe,g,await g2(Ee,{project:o,workspace:ae,cache:n,target:fe,fixed:u,modifier:p,strategies:h})])),U=!0}}U||I.push(L)}if(I.length>1)throw new it(`Patterns ${de.prettyList(r,I,de.Type.CODE)} don't match any packages referenced by any workspace`);if(I.length>0)throw new it(`Pattern ${de.prettyList(r,I,de.Type.CODE)} doesn't match any packages referenced by any workspace`);let v=await Promise.all(E),x=await AA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async L=>{for(let[,,U,{suggestions:J,rejections:te}]of v){let ae=J.filter(fe=>fe.descriptor!==null);if(ae.length===0){let[fe]=te;if(typeof fe>"u")throw new Error("Assertion failed: Expected an error to have been set");let ce=this.cli.error(fe);o.configuration.get("enableNetwork")?L.reportError(27,`${W.prettyDescriptor(r,U)} can't be resolved to a satisfying range + +${ce}`):L.reportError(27,`${W.prettyDescriptor(r,U)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${ce}`)}else ae.length>1&&!A&&L.reportError(27,`${W.prettyDescriptor(r,U)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(x.hasErrors())return x.exitCode();let C=!1,R=[];for(let[L,U,,{suggestions:J}]of v){let te,ae=J.filter(he=>he.descriptor!==null),fe=ae[0].descriptor,ce=ae.every(he=>W.areDescriptorsEqual(he.descriptor,fe));ae.length===1||ce?te=fe:(C=!0,{answer:te}=await(0,ode.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${W.prettyWorkspace(r,L)} \u276F ${U}?`,choices:J.map(({descriptor:he,name:Be,reason:we})=>he?{name:Be,hint:we,descriptor:he}:{name:Be,hint:we,disabled:!0}),onCancel:()=>process.exit(130),result(he){return this.find(he,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let me=L.manifest[U].get(te.identHash);if(typeof me>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(me.descriptorHash!==te.descriptorHash)L.manifest[U].set(te.identHash,te),R.push([L,U,me,te]);else{let he=r.makeResolver(),Be={project:o,resolver:he},we=r.normalizeDependency(me),g=he.bindDescriptor(we,L.anchoredLocator,Be);o.forgetResolution(g)}}return await r.triggerMultipleHooks(L=>L.afterWorkspaceDependencyReplacement,R),C&&this.context.stdout.write(` +`),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}};Jf.paths=[["up"]],Jf.usage=nt.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=` 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'"]]}),Jf.schema=[cI("recursive",Gu.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];Ye();Ye();Ye();qt();var i0=class extends ut{constructor(){super(...arguments);this.recursive=ge.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=ge.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=W.parseIdent(this.package).identHash,u=this.recursive?ngt(o,n,{configuration:r,peers:this.peers}):rgt(o,n,{configuration:r,peers:this.peers});$s.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};i0.paths=[["why"]],i0.usage=nt.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + 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. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function rgt(t,e,{configuration:r,peers:o}){let a=_e.sortMap(t.storedPackages.values(),A=>W.stringifyLocator(A)),n={},u={children:n};for(let A of a){let p={};for(let E of A.dependencies.values()){if(!o&&A.peerDependencies.has(E.identHash))continue;let I=t.storedResolutions.get(E.descriptorHash);if(!I)throw new Error("Assertion failed: The resolution should have been registered");let v=t.storedPackages.get(I);if(!v)throw new Error("Assertion failed: The package should have been registered");if(v.identHash!==e)continue;{let C=W.stringifyLocator(A);n[C]={value:[A,de.Type.LOCATOR],children:p}}let x=W.stringifyLocator(v);p[x]={value:[{descriptor:E,locator:v},de.Type.DEPENDENT]}}}return u}function ngt(t,e,{configuration:r,peers:o}){let a=_e.sortMap(t.workspaces,v=>W.stringifyLocator(v.anchoredLocator)),n=new Set,u=new Set,A=v=>{if(n.has(v.locatorHash))return u.has(v.locatorHash);if(n.add(v.locatorHash),v.identHash===e)return u.add(v.locatorHash),!0;let x=!1;v.identHash===e&&(x=!0);for(let C of v.dependencies.values()){if(!o&&v.peerDependencies.has(C.identHash))continue;let R=t.storedResolutions.get(C.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let L=t.storedPackages.get(R);if(!L)throw new Error("Assertion failed: The package should have been registered");A(L)&&(x=!0)}return x&&u.add(v.locatorHash),x};for(let v of a)A(v.anchoredPackage);let p=new Set,h={},E={children:h},I=(v,x,C)=>{if(!u.has(v.locatorHash))return;let R=C!==null?de.tuple(de.Type.DEPENDENT,{locator:v,descriptor:C}):de.tuple(de.Type.LOCATOR,v),L={},U={value:R,children:L},J=W.stringifyLocator(v);if(x[J]=U,!p.has(v.locatorHash)&&(p.add(v.locatorHash),!(C!==null&&t.tryWorkspaceByLocator(v))))for(let te of v.dependencies.values()){if(!o&&v.peerDependencies.has(te.identHash))continue;let ae=t.storedResolutions.get(te.descriptorHash);if(!ae)throw new Error("Assertion failed: The resolution should have been registered");let fe=t.storedPackages.get(ae);if(!fe)throw new Error("Assertion failed: The package should have been registered");I(fe,L,te)}};for(let v of a)I(v.anchoredPackage,h,null);return E}Ye();var Z8={};Vt(Z8,{GitFetcher:()=>w2,GitResolver:()=>I2,default:()=>vgt,gitUtils:()=>ra});Ye();St();var ra={};Vt(ra,{TreeishProtocols:()=>C2,clone:()=>X8,fetchBase:()=>bde,fetchChangedFiles:()=>xde,fetchChangedWorkspaces:()=>Igt,fetchRoot:()=>Pde,isGitUrl:()=>CC,lsRemote:()=>Sde,normalizeLocator:()=>wgt,normalizeRepoUrl:()=>yC,resolveUrl:()=>z8,splitRepoUrl:()=>s0,validateRepoUrl:()=>J8});Ye();St();qt();var Bde=$e(Cde()),vde=$e(mU()),EC=$e(ve("querystring")),K8=$e(zn());function W8(t,e,r){let o=t.indexOf(r);return t.lastIndexOf(e,o>-1?o:1/0)}function wde(t){try{return new URL(t)}catch{return}}function Egt(t){let e=W8(t,"@","#"),r=W8(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),W8(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function Ide(t){return wde(t)||wde(Egt(t))}function yC(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.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 r=Ide(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function Dde(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var Cgt=[/^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\/(.+)?$/],C2=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(C2||{});function CC(t){return t?Cgt.some(e=>!!t.match(e)):!1}function s0(t){t=yC(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=t.slice(0,e),o=t.slice(e+1);if(o.match(/^[a-z]+=/)){let a=EC.default.parse(o);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(C2).find(p=>Object.hasOwn(a,p)),[u,A]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(C2))delete a[p];return{repo:r,treeish:{protocol:u,request:A},extra:a}}else{let a=o.indexOf(":"),[n,u]=a===-1?[null,o]:[o.slice(0,a),o.slice(a+1)];return{repo:r,treeish:{protocol:n,request:u},extra:{}}}}function wgt(t){return W.makeLocator(t,yC(t.reference))}function J8(t,{configuration:e}){let r=yC(t,{git:!0});if(!nn.getNetworkSettings(`https://${(0,Bde.default)(r).resource}`,{configuration:e}).enableNetwork)throw new zt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function Sde(t,e){let r=J8(t,{configuration:e}),o=await V8("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:Dde()},{configuration:e,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,u;for(;(u=n.exec(o.stdout))!==null;)a.set(u[2],u[1]);return a}async function z8(t,e){let{repo:r,treeish:{protocol:o,request:a},extra:n}=s0(t),u=await Sde(r,e),A=(h,E)=>{switch(h){case"commit":{if(!E.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return EC.default.stringify({...n,commit:E})}case"head":{let I=u.get(E==="HEAD"?E:`refs/heads/${E}`);if(typeof I>"u")throw new Error(`Unknown head ("${E}")`);return EC.default.stringify({...n,commit:I})}case"tag":{let I=u.get(`refs/tags/${E}`);if(typeof I>"u")throw new Error(`Unknown tag ("${E}")`);return EC.default.stringify({...n,commit:I})}case"semver":{let I=kr.validRange(E);if(!I)throw new Error(`Invalid range ("${E}")`);let v=new Map([...u.entries()].filter(([C])=>C.startsWith("refs/tags/")).map(([C,R])=>[K8.default.parse(C.slice(10)),R]).filter(C=>C[0]!==null)),x=K8.default.maxSatisfying([...v.keys()],I);if(x===null)throw new Error(`No matching range ("${E}")`);return EC.default.stringify({...n,commit:v.get(x)})}case null:{let I;if((I=p("commit",E))!==null||(I=p("tag",E))!==null||(I=p("head",E))!==null)return I;throw E.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,E)=>{try{return A(h,E)}catch{return null}};return yC(`${r}#${A(o,a)}`)}async function X8(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:o,request:a}}=s0(t);if(o!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=J8(r,{configuration:e}),u=await oe.mktempPromise(),A={cwd:u,env:Dde()};return await V8("cloning the repository",["clone","-c core.autocrlf=false",n,ue.fromPortablePath(u)],A,{configuration:e,normalizedRepoUrl:n}),await V8("switching branch",["checkout",`${a}`],A,{configuration:e,normalizedRepoUrl:n}),u})}async function Pde(t){let e,r=t;do{if(e=r,await oe.existsPromise(V.join(e,".git")))return e;r=V.dirname(e)}while(r!==e);return null}async function bde(t,{baseRefs:e}){if(e.length===0)throw new it("Can't run this command with zero base refs specified.");let r=[];for(let A of e){let{code:p}=await Ur.execvp("git",["merge-base",A,"HEAD"],{cwd:t});p===0&&r.push(A)}if(r.length===0)throw new it(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:o}=await Ur.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),a=o.trim(),{stdout:n}=await Ur.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:t,strict:!0}),u=n.trim();return{hash:a,title:u}}async function xde(t,{base:e,project:r}){let o=_e.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Ur.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>V.resolve(t,ue.toPortablePath(h))),{stdout:u}=await Ur.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),A=u.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>V.resolve(t,ue.toPortablePath(h))),p=[...new Set([...n,...A].sort())];return o?p.filter(h=>!V.relative(r.cwd,h).match(o)):p}async function Igt({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new it("This command can only be run from within a Yarn project");let r=[V.resolve(e.cwd,dr.lockfile),V.resolve(e.cwd,e.configuration.get("cacheFolder")),V.resolve(e.cwd,e.configuration.get("installStatePath")),V.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(u=>u.populateYarnPaths,e,u=>{u!=null&&r.push(u)});let o=await Pde(e.configuration.projectCwd);if(o==null)throw new it("This command can only be run on Git repositories");let a=await bde(o,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),n=await xde(o,{base:a.hash,project:e});return new Set(_e.mapAndFilter(n,u=>{let A=e.tryWorkspaceByFilePath(u);return A===null?_e.mapAndFilter.skip:r.some(p=>u.startsWith(p))?_e.mapAndFilter.skip:A}))}async function V8(t,e,r,{configuration:o,normalizedRepoUrl:a}){try{return await Ur.execvp("git",e,{...r,strict:!0})}catch(n){if(!(n instanceof Ur.ExecError))throw n;let u=n.reportExtra,A=n.stderr.toString();throw new zt(1,`Failed ${t}`,p=>{p.reportError(1,` ${de.prettyField(o,{label:"Repository URL",value:de.tuple(de.Type.URL,a)})}`);for(let h of A.matchAll(/^(.+?): (.*)$/gm)){let[,E,I]=h;E=E.toLowerCase();let v=E==="error"?"Error":`${(0,vde.default)(E)} Error`;p.reportError(1,` ${de.prettyField(o,{label:v,value:de.tuple(de.Type.NO_HINT,I)})}`)}u?.(p)})}}var w2=class{supports(e,r){return CC(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,a=new Map(r.checksums);a.set(e.locatorHash,o);let n={...r,checksums:a},u=await this.downloadHosted(e,n);if(u!==null)return u;let[A,p,h]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${W.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(e,n),...r.cacheOptions});return{packageFs:A,releaseFs:p,prefixPath:W.getIdentVendorPath(e),checksum:h}}async downloadHosted(e,r){return r.project.configuration.reduceHook(o=>o.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let o=await X8(e.reference,r.project.configuration),a=s0(e.reference),n=V.join(o,"package.tgz");await un.prepareExternalProject(o,n,{configuration:r.project.configuration,report:r.report,workspace:a.extra.workspace,locator:e});let u=await oe.readFilePromise(n);return await _e.releaseAfterUseAsync(async()=>await Xi.convertToZip(u,{configuration:r.project.configuration,prefixPath:W.getIdentVendorPath(e),stripComponents:1}))}};Ye();Ye();var I2=class{supportsDescriptor(e,r){return CC(e.range)}supportsLocator(e,r){return CC(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=await z8(e.range,o.project.configuration);return[W.makeLocator(e,a)]}async getSatisfying(e,r,o,a){let n=s0(e.range);return{locators:o.filter(A=>{if(A.identHash!==e.identHash)return!1;let p=s0(A.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Bgt={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:[w2],resolvers:[I2]};var vgt=Bgt;qt();var o0=class extends ut{constructor(){super(...arguments);this.since=ge.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=ge.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=ge.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let u=this.since?await ra.fetchChangedWorkspaces({ref:this.since,project:o}):o.workspaces,A=new Set(u);if(this.recursive)for(let p of[...u].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)A.add(h);for(let p of A){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let E;if(this.verbose){let I=new Set,v=new Set;for(let x of Ot.hardDependencies)for(let[C,R]of h.getForScope(x)){let L=o.tryWorkspaceByDescriptor(R);L===null?o.workspacesByIdent.has(C)&&v.add(R):I.add(L)}E={workspaceDependencies:Array.from(I).map(x=>x.relativeCwd),mismatchedWorkspaceDependencies:Array.from(v).map(x=>W.stringifyDescriptor(x))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?W.stringifyIdent(h.name):null,...E})}})).exitCode()}};o0.paths=[["workspaces","list"]],o0.usage=nt.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 "});Ye();Ye();qt();var a0=class extends ut{constructor(){super(...arguments);this.workspaceName=ge.String();this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new rr(o.cwd,this.context.cwd);let n=o.workspaces,u=new Map(n.map(p=>[W.stringifyIdent(p.anchoredLocator),p])),A=u.get(this.workspaceName);if(A===void 0){let p=Array.from(u.keys()).sort();throw new it(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${p.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:A.cwd})}};a0.paths=[["workspace"]],a0.usage=nt.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,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 Dgt={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:kde.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[Fh,Rh,Th,Nh,r0,Vh,_h,o0,Kd,Vd,mC,Jd,kh,Qh,Lh,Oh,Mh,Uh,Hh,qh,jh,Gh,n0,Yh,Wh,zh,Jh,Xh,Kh,Zh,$h,e0,Xd,t0,Jf,i0,a0]},Sgt=Dgt;var iH={};Vt(iH,{default:()=>bgt});Ye();var kt={optional:!0},eH=[["@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:kt,zenObservable:kt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:kt,zenObservable:kt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:kt}}],["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"]:kt,["postcss-jsx"]:kt,["postcss-less"]:kt,["postcss-markdown"]:kt,["postcss-scss"]:kt}}],["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:kt}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:kt}}],["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:kt,"vue-template-compiler":kt}}],["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:kt,"utf-8-validate":kt}}],["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":kt,"vuetify-loader":kt}}],["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":kt}}],["@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":kt}}],["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":kt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:kt}}],["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:kt,tinyliquid:kt,"liquid-node":kt,jade:kt,"then-jade":kt,dust:kt,"dustjs-helpers":kt,"dustjs-linkedin":kt,swig:kt,"swig-templates":kt,"razor-tmpl":kt,atpl:kt,liquor:kt,twig:kt,ejs:kt,eco:kt,jazz:kt,jqtpl:kt,hamljs:kt,hamlet:kt,whiskers:kt,"haml-coffee":kt,"hogan.js":kt,templayed:kt,handlebars:kt,underscore:kt,lodash:kt,pug:kt,"then-pug":kt,qejs:kt,walrus:kt,mustache:kt,just:kt,ect:kt,mote:kt,toffee:kt,dot:kt,"bracket-template":kt,ractive:kt,nunjucks:kt,htmling:kt,"babel-core":kt,plates:kt,"react-dom":kt,react:kt,"arc-templates":kt,vash:kt,slm:kt,marko:kt,teacup:kt,"coffee-script":kt,squirrelly:kt,twing:kt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":kt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":kt,vue:kt}}],["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:kt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:kt}}],["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(t=>[t,{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":kt,"webpack-command":kt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":kt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":kt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:kt,jimp:kt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":kt,"eslint-import-resolver-typescript":kt,"eslint-import-resolver-webpack":kt,"@typescript-eslint/parser":kt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":kt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":kt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x <10.0.2",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.7"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:kt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:kt}}],["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"]:kt}}],["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@<5.0.0",{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:kt}}],["@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:kt}}],["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:kt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":kt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}],["vite-plugin-vuetify@<=1.0.2",{peerDependencies:{vue:"^3.0.0"}}],["webpack-plugin-vuetify@<=2.0.1",{peerDependencies:{vue:"^3.2.6"}}]];var tH;function Qde(){return typeof tH>"u"&&(tH=ve("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()),tH}var rH;function Fde(){return typeof rH>"u"&&(rH=ve("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()),rH}var nH;function Rde(){return typeof nH>"u"&&(nH=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),nH}var Tde=new Map([[W.makeIdent(null,"fsevents").identHash,Qde],[W.makeIdent(null,"resolve").identHash,Fde],[W.makeIdent(null,"typescript").identHash,Rde]]),Pgt={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,o]of eH)e(W.parseDescriptor(r,!0),o)},getBuiltinPatch:async(t,e)=>{let r="compat/";if(!e.startsWith(r))return;let o=W.parseIdent(e.slice(r.length)),a=Tde.get(o.identHash)?.();return typeof a<"u"?a:null},reduceDependency:async(t,e,r,o)=>typeof Tde.get(t.identHash)>"u"?t:W.makeDescriptor(t,W.makeRange({protocol:"patch:",source:W.stringifyDescriptor(t),selector:`optional!builtin`,params:null}))}},bgt=Pgt;var wH={};Vt(wH,{ConstraintsCheckCommand:()=>h0,ConstraintsQueryCommand:()=>f0,ConstraintsSourceCommand:()=>p0,default:()=>tdt});Ye();Ye();v2();var IC=class{constructor(e){this.project=e}createEnvironment(){let e=new wC(["cwd","ident"]),r=new wC(["workspace","type","ident"]),o=new wC(["ident"]),a={manifestUpdates:new Map,reportedErrors:new Map},n=new Map,u=new Map;for(let A of this.project.storedPackages.values()){let p=Array.from(A.peerDependencies.values(),h=>[W.stringifyIdent(h),h.range]);n.set(A.locatorHash,{workspace:null,ident:W.stringifyIdent(A),version:A.version,dependencies:new Map,peerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional!==!0)),optionalPeerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional===!0))})}for(let A of this.project.storedPackages.values()){let p=n.get(A.locatorHash);p.dependencies=new Map(Array.from(A.dependencies.values(),h=>{let E=this.project.storedResolutions.get(h.descriptorHash);if(typeof E>"u")throw new Error("Assertion failed: The resolution should have been registered");let I=n.get(E);if(typeof I>"u")throw new Error("Assertion failed: The package should have been registered");return[W.stringifyIdent(h),I]})),p.dependencies.delete(p.ident)}for(let A of this.project.workspaces){let p=W.stringifyIdent(A.anchoredLocator),h=A.manifest.exportTo({}),E=n.get(A.anchoredLocator.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");let I=(R,L,{caller:U=Ji.getCaller()}={})=>{let J=B2(R),te=_e.getMapWithDefault(a.manifestUpdates,A.cwd),ae=_e.getMapWithDefault(te,J),fe=_e.getSetWithDefault(ae,L);U!==null&&fe.add(U)},v=R=>I(R,void 0,{caller:Ji.getCaller()}),x=R=>{_e.getArrayWithDefault(a.reportedErrors,A.cwd).push(R)},C=e.insert({cwd:A.relativeCwd,ident:p,manifest:h,pkg:E,set:I,unset:v,error:x});u.set(A,C);for(let R of Ot.allDependencies)for(let L of A.manifest[R].values()){let U=W.stringifyIdent(L),J=()=>{I([R,U],void 0,{caller:Ji.getCaller()})},te=fe=>{I([R,U],fe,{caller:Ji.getCaller()})},ae=null;if(R!=="peerDependencies"&&(R!=="dependencies"||!A.manifest.devDependencies.has(L.identHash))){let fe=A.anchoredPackage.dependencies.get(L.identHash);if(fe){if(typeof fe>"u")throw new Error("Assertion failed: The dependency should have been registered");let ce=this.project.storedResolutions.get(fe.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: The resolution should have been registered");let me=n.get(ce);if(typeof me>"u")throw new Error("Assertion failed: The package should have been registered");ae=me}}r.insert({workspace:C,ident:U,range:L.range,type:R,resolution:ae,update:te,delete:J,error:x})}}for(let A of this.project.storedPackages.values()){let p=this.project.tryWorkspaceByLocator(A);if(!p)continue;let h=u.get(p);if(typeof h>"u")throw new Error("Assertion failed: The workspace should have been registered");let E=n.get(A.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");E.workspace=h}return{workspaces:e,dependencies:r,packages:o,result:a}}async process(){let e=this.createEnvironment(),r={Yarn:{workspace:a=>e.workspaces.find(a)[0]??null,workspaces:a=>e.workspaces.find(a),dependency:a=>e.dependencies.find(a)[0]??null,dependencies:a=>e.dependencies.find(a),package:a=>e.packages.find(a)[0]??null,packages:a=>e.packages.find(a)}},o=await this.project.loadUserConfig();return o?.constraints?(await o.constraints(r),e.result):null}};Ye();Ye();qt();var f0=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=ge.String()}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(x2(),b2)),o=await Ke.find(this.context.cwd,this.context.plugins),{project:a}=await Pt.find(o,this.context.cwd),n=await r.find(a),u=this.query;return u.endsWith(".")||(u=`${u}.`),(await Nt.start({configuration:o,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(u)){let E=Array.from(Object.entries(h)),I=E.length,v=E.reduce((x,[C])=>Math.max(x,C.length),0);for(let x=0;x(x2(),b2)),o=await Ke.find(this.context.cwd,this.context.plugins),{project:a}=await Pt.find(o,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};p0.paths=[["constraints","source"]],p0.usage=nt.Usage({category:"Constraints-related commands",description:"print the source code for the constraints",details:"\n This command will print the Prolog source code used by the constraints engine. Adding the `-v,--verbose` flag will print the *full* source code, including the fact database automatically compiled from the workspace manifests.\n ",examples:[["Prints the source code","yarn constraints source"],["Print the source code and the fact database","yarn constraints source -v"]]});Ye();Ye();qt();v2();var h0=class extends ut{constructor(){super(...arguments);this.fix=ge.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd);await o.restoreInstallState();let a=await o.loadUserConfig(),n;if(a?.constraints)n=new IC(o);else{let{Constraints:h}=await Promise.resolve().then(()=>(x2(),b2));n=await h.find(o)}let u,A=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let E=await n.process();if(!E)break;let{changedWorkspaces:I,remainingErrors:v}=gk(o,E,{fix:this.fix}),x=[];for(let[C,R]of I){let L=C.manifest.indent;C.manifest=new Ot,C.manifest.indent=L,C.manifest.load(R),x.push(C.persistManifest())}if(await Promise.all(x),!(I.size>0&&h>1)){u=Hde(v,{configuration:r}),A=!1,p=!0;for(let[,C]of v)for(let R of C)R.fixable?A=!0:p=!1}}if(u.children.length===0)return 0;if(A){let h=p?`Those errors can all be fixed by running ${de.pretty(r,"yarn constraints --fix",de.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${de.pretty(r,"yarn constraints --fix",de.Type.CODE)}`;await Nt.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async E=>{E.reportInfo(0,h),E.reportSeparator()})}return u.children=_e.sortMap(u.children,h=>h.value[1]),$s.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};h0.paths=[["constraints"]],h0.usage=nt.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` + This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. + + If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. + + For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. + `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]});v2();var edt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[f0,p0,h0],hooks:{async validateProjectAfterInstall(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),o;if(r?.constraints)o=new IC(t);else{let{Constraints:u}=await Promise.resolve().then(()=>(x2(),b2));o=await u.find(t)}let a=await o.process();if(!a)return;let{remainingErrors:n}=gk(t,a);if(n.size!==0)if(t.configuration.isCI)for(let[u,A]of n)for(let p of A)e(84,`${de.pretty(t.configuration,u.anchoredLocator,de.Type.IDENT)}: ${p.text}`);else e(84,`Constraint check failed; run ${de.pretty(t.configuration,"yarn constraints",de.Type.CODE)} for more details`)}}},tdt=edt;var IH={};Vt(IH,{CreateCommand:()=>tm,DlxCommand:()=>g0,default:()=>ndt});Ye();qt();var tm=class extends ut{constructor(){super(...arguments);this.pkg=ge.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=ge.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ge.String();this.args=ge.Proxy()}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let o=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=W.parseDescriptor(o),n=a.name.match(/^create(-|$)/)?a:a.scope?W.makeIdent(a.scope,`create-${a.name}`):W.makeIdent(null,`create-${a.name}`),u=W.stringifyIdent(n);return a.range!=="unknown"&&(u+=`@${a.range}`),this.cli.run(["dlx",...r,u,...this.args])}};tm.paths=[["create"]];Ye();Ye();St();qt();var g0=class extends ut{constructor(){super(...arguments);this.packages=ge.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=ge.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ge.String();this.args=ge.Proxy()}async execute(){return Ke.telemetry=null,await oe.mktempPromise(async r=>{let o=V.join(r,`dlx-${process.pid}`);await oe.mkdirPromise(o),await oe.writeFilePromise(V.join(o,"package.json"),`{} +`),await oe.writeFilePromise(V.join(o,"yarn.lock"),"");let a=V.join(o,".yarnrc.yml"),n=await Ke.findProjectCwd(this.context.cwd),A={enableGlobalCache:!(await Ke.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Wu(68),level:de.LogLevel.Discard}]},p=n!==null?V.join(n,".yarnrc.yml"):null;p!==null&&oe.existsSync(p)?(await oe.copyFilePromise(p,a),await Ke.updateConfiguration(o,L=>{let U=_e.toMerged(L,A);return Array.isArray(L.plugins)&&(U.plugins=L.plugins.map(J=>{let te=typeof J=="string"?J:J.path,ae=ue.isAbsolute(te)?te:ue.resolve(ue.fromPortablePath(n),te);return typeof J=="string"?ae:{path:ae,spec:J.spec}})),U})):await oe.writeJsonPromise(a,A);let h=this.packages??[this.command],E=W.parseDescriptor(this.command).name,I=await this.cli.run(["add","--fixed","--",...h],{cwd:o,quiet:this.quiet});if(I!==0)return I;this.quiet||this.context.stdout.write(` +`);let v=await Ke.find(o,this.context.plugins),{project:x,workspace:C}=await Pt.find(v,o);if(C===null)throw new rr(x.cwd,o);await x.restoreInstallState();let R=await un.getWorkspaceAccessibleBinaries(C);return R.has(E)===!1&&R.size===1&&typeof this.packages>"u"&&(E=Array.from(R)[0][0]),await un.executeWorkspaceAccessibleBinary(C,E,this.args,{packageAccessibleBinaries:R,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};g0.paths=[["dlx"]],g0.usage=nt.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 rdt={commands:[tm,g0]},ndt=rdt;var DH={};Vt(DH,{ExecFetcher:()=>Q2,ExecResolver:()=>F2,default:()=>odt,execUtils:()=>Ek});Ye();Ye();St();var fA="exec:";var Ek={};Vt(Ek,{loadGeneratorFile:()=>k2,makeLocator:()=>vH,makeSpec:()=>pme,parseSpec:()=>BH});Ye();St();function BH(t){let{params:e,selector:r}=W.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?W.parseLocator(e.locator):null,path:o}}function pme({parentLocator:t,path:e,generatorHash:r,protocol:o}){let a=t!==null?{locator:W.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return W.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function vH(t,{parentLocator:e,path:r,generatorHash:o,protocol:a}){return W.makeLocator(t,pme({parentLocator:e,path:r,generatorHash:o,protocol:a}))}async function k2(t,e,r){let{parentLocator:o,path:a}=W.parseFileStyleRange(t,{protocol:e}),n=V.isAbsolute(a)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new gn(Bt.root),prefixPath:V.relative(Bt.root,n.localPath)}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=V.join(u.prefixPath,a);return await A.readFilePromise(p,"utf8")}var Q2=class{supports(e,r){return!!e.reference.startsWith(fA)}getLocalPath(e,r){let{parentLocator:o,path:a}=W.parseFileStyleRange(e.reference,{protocol:fA});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:W.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){let o=await k2(e.reference,fA,r);return oe.mktempPromise(async a=>{let n=V.join(a,"generator.js");return await oe.writeFilePromise(n,o),oe.mktempPromise(async u=>{if(await this.generatePackage(u,e,n,r),!oe.existsSync(V.join(u,"build")))throw new Error("The script should have generated a build directory");return await Xi.makeArchiveFromDirectory(V.join(u,"build"),{prefixPath:W.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,o,a){return await oe.mktempPromise(async n=>{let u=await un.makeScriptEnv({project:a.project,binFolder:n}),A=V.join(e,"runtime.js");return await oe.mktempPromise(async p=>{let h=V.join(p,"buildfile.log"),E=V.join(e,"generator"),I=V.join(e,"build");await oe.mkdirPromise(E),await oe.mkdirPromise(I);let v={tempDir:ue.fromPortablePath(E),buildDir:ue.fromPortablePath(I),locator:W.stringifyLocator(r)};await oe.writeFilePromise(A,` + // Expose 'Module' as a global variable + Object.defineProperty(global, 'Module', { + get: () => require('module'), + configurable: true, + enumerable: false, + }); + + // Expose non-hidden built-in modules as global variables + for (const name of Module.builtinModules.filter((name) => name !== 'module' && !name.startsWith('_'))) { + Object.defineProperty(global, name, { + get: () => require(name), + configurable: true, + enumerable: false, + }); + } + + // Expose the 'execEnv' global variable + Object.defineProperty(global, 'execEnv', { + value: { + ...${JSON.stringify(v)}, + }, + enumerable: true, + }); + `);let x=u.NODE_OPTIONS||"",C=/\s*--require\s+\S*\.pnp\.c?js\s*/g;x=x.replace(C," ").trim(),u.NODE_OPTIONS=x;let{stdout:R,stderr:L}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${W.stringifyLocator(r)}) +`,prefix:W.prettyLocator(a.project.configuration,r),report:a.report}),{code:U}=await Ur.pipevp(process.execPath,["--require",ue.fromPortablePath(A),ue.fromPortablePath(o),W.stringifyIdent(r)],{cwd:e,env:u,stdin:null,stdout:R,stderr:L});if(U!==0)throw oe.detachTemp(p),new Error(`Package generation failed (exit code ${U}, logs can be found here: ${de.pretty(a.project.configuration,h,de.Type.PATH)})`)})})}};Ye();Ye();var idt=2,F2=class{supportsDescriptor(e,r){return!!e.range.startsWith(fA)}supportsLocator(e,r){return!!e.reference.startsWith(fA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return W.bindDescriptor(e,{locator:W.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=BH(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await k2(W.makeRange({protocol:fA,source:a,selector:a,params:{locator:W.stringifyLocator(n)}}),fA,o.fetchOptions),A=wn.makeHash(`${idt}`,u).slice(0,6);return[vH(e,{parentLocator:n,path:a,generatorHash:A,protocol:fA})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var sdt={fetchers:[Q2],resolvers:[F2]},odt=sdt;var PH={};Vt(PH,{FileFetcher:()=>L2,FileResolver:()=>O2,TarballFileFetcher:()=>M2,TarballFileResolver:()=>U2,default:()=>cdt,fileUtils:()=>rm});Ye();St();var SC=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,R2=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Ui="file:";var rm={};Vt(rm,{fetchArchiveFromLocator:()=>N2,makeArchiveFromLocator:()=>Ck,makeBufferFromLocator:()=>SH,makeLocator:()=>PC,makeSpec:()=>hme,parseSpec:()=>T2});Ye();St();function T2(t){let{params:e,selector:r}=W.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?W.parseLocator(e.locator):null,path:o}}function hme({parentLocator:t,path:e,hash:r,protocol:o}){let a=t!==null?{locator:W.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return W.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function PC(t,{parentLocator:e,path:r,hash:o,protocol:a}){return W.makeLocator(t,hme({parentLocator:e,path:r,hash:o,protocol:a}))}async function N2(t,e){let{parentLocator:r,path:o}=W.parseFileStyleRange(t.reference,{protocol:Ui}),a=V.isAbsolute(o)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new gn(Bt.root),prefixPath:V.relative(Bt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let u=n.packageFs,A=V.join(n.prefixPath,o);return await _e.releaseAfterUseAsync(async()=>await u.readFilePromise(A),n.releaseFs)}async function Ck(t,{protocol:e,fetchOptions:r,inMemory:o=!1}){let{parentLocator:a,path:n}=W.parseFileStyleRange(t.reference,{protocol:e}),u=V.isAbsolute(n)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(a,r),A=u.localPath?{packageFs:new gn(Bt.root),prefixPath:V.relative(Bt.root,u.localPath)}:u;u!==A&&u.releaseFs&&u.releaseFs();let p=A.packageFs,h=V.join(A.prefixPath,n);return await _e.releaseAfterUseAsync(async()=>await Xi.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:W.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:o}),A.releaseFs)}async function SH(t,{protocol:e,fetchOptions:r}){return(await Ck(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var L2=class{supports(e,r){return!!e.reference.startsWith(Ui)}getLocalPath(e,r){let{parentLocator:o,path:a}=W.parseFileStyleRange(e.reference,{protocol:Ui});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${W.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:W.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){return Ck(e,{protocol:Ui,fetchOptions:r})}};Ye();Ye();var adt=2,O2=class{supportsDescriptor(e,r){return e.range.match(SC)?!0:!!e.range.startsWith(Ui)}supportsLocator(e,r){return!!e.reference.startsWith(Ui)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return SC.test(e.range)&&(e=W.makeDescriptor(e,`${Ui}${e.range}`)),W.bindDescriptor(e,{locator:W.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=T2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await SH(W.makeLocator(e,W.makeRange({protocol:Ui,source:a,selector:a,params:{locator:W.stringifyLocator(n)}})),{protocol:Ui,fetchOptions:o.fetchOptions}),A=wn.makeHash(`${adt}`,u).slice(0,6);return[PC(e,{parentLocator:n,path:a,hash:A,protocol:Ui})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};Ye();var M2=class{supports(e,r){return R2.test(e.reference)?!!e.reference.startsWith(Ui):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${W.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:W.getIdentVendorPath(e),checksum:u}}async fetchFromDisk(e,r){let o=await N2(e,r);return await Xi.convertToZip(o,{configuration:r.project.configuration,prefixPath:W.getIdentVendorPath(e),stripComponents:1})}};Ye();Ye();Ye();var U2=class{supportsDescriptor(e,r){return R2.test(e.range)?!!(e.range.startsWith(Ui)||SC.test(e.range)):!1}supportsLocator(e,r){return R2.test(e.reference)?!!e.reference.startsWith(Ui):!1}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return SC.test(e.range)&&(e=W.makeDescriptor(e,`${Ui}${e.range}`)),W.bindDescriptor(e,{locator:W.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=T2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=PC(e,{parentLocator:n,path:a,hash:"",protocol:Ui}),A=await N2(u,o.fetchOptions),p=wn.makeHash(A).slice(0,6);return[PC(e,{parentLocator:n,path:a,hash:p,protocol:Ui})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var ldt={fetchers:[M2,L2],resolvers:[U2,O2]},cdt=ldt;var kH={};Vt(kH,{GithubFetcher:()=>_2,default:()=>Adt,githubUtils:()=>wk});Ye();St();var wk={};Vt(wk,{invalidGithubUrlMessage:()=>mme,isGithubUrl:()=>bH,parseGithubUrl:()=>xH});var gme=$e(ve("querystring")),dme=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function bH(t){return t?dme.some(e=>!!t.match(e)):!1}function xH(t){let e;for(let A of dme)if(e=t.match(A),e)break;if(!e)throw new Error(mme(t));let[,r,o,a,n="master"]=e,{commit:u}=gme.default.parse(n);return n=u||n.replace(/[^:]*:/,""),{auth:r,username:o,reponame:a,treeish:n}}function mme(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var _2=class{supports(e,r){return!!bH(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${W.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:W.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await nn.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await oe.mktempPromise(async a=>{let n=new gn(a);await Xi.extractArchiveTo(o,n,{stripComponents:1});let u=ra.splitRepoUrl(e.reference),A=V.join(a,"package.tgz");await un.prepareExternalProject(a,A,{configuration:r.project.configuration,report:r.report,workspace:u.extra.workspace,locator:e});let p=await oe.readFilePromise(A);return await Xi.convertToZip(p,{configuration:r.project.configuration,prefixPath:W.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:o,username:a,reponame:n,treeish:u}=xH(e.reference);return`https://${o?`${o}@`:""}github.com/${a}/${n}/archive/${u}.tar.gz`}};var udt={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let o=new _2;if(!o.supports(e,r))return null;try{return await o.fetch(e,r)}catch{return null}}}},Adt=udt;var QH={};Vt(QH,{TarballHttpFetcher:()=>q2,TarballHttpResolver:()=>j2,default:()=>pdt});Ye();function H2(t){let e;try{e=new URL(t)}catch{return!1}return!(e.protocol!=="http:"&&e.protocol!=="https:"||!e.pathname.match(/(\.tar\.gz|\.tgz|\/[^.]+)$/))}var q2=class{supports(e,r){return H2(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${W.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:W.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await nn.get(e.reference,{configuration:r.project.configuration});return await Xi.convertToZip(o,{configuration:r.project.configuration,prefixPath:W.getIdentVendorPath(e),stripComponents:1})}};Ye();Ye();var j2=class{supportsDescriptor(e,r){return H2(e.range)}supportsLocator(e,r){return H2(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[W.convertDescriptorToLocator(e)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var fdt={fetchers:[q2],resolvers:[j2]},pdt=fdt;var FH={};Vt(FH,{InitCommand:()=>d0,default:()=>gdt});Ye();Ye();St();qt();var d0=class extends ut{constructor(){super(...arguments);this.private=ge.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=ge.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=ge.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=ge.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=ge.Boolean("-2",!1,{hidden:!0});this.yes=ge.Boolean("-y,--yes",{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return o!==null?await this.executeProxy(r,o):await this.executeRegular(r)}async executeProxy(r,o){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new it("Cannot use the --install flag from within a project subdirectory");oe.existsSync(this.context.cwd)||await oe.mkdirPromise(this.context.cwd,{recursive:!0});let a=V.join(this.context.cwd,dr.lockfile);oe.existsSync(a)||await oe.writeFilePromise(a,"");let n=await this.cli.run(["set","version",o],{quiet:!0});if(n!==0)return n;let u=[];return this.private&&u.push("-p"),this.workspace&&u.push("-w"),this.name&&u.push(`-n=${this.name}`),this.yes&&u.push("-y"),await oe.mktempPromise(async A=>{let{code:p}=await Ur.pipevp("yarn",["init",...u],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await un.makeScriptEnv({binFolder:A})});return p})}async executeRegular(r){let o=null;try{o=(await Pt.find(r,this.context.cwd)).project}catch{o=null}oe.existsSync(this.context.cwd)||await oe.mkdirPromise(this.context.cwd,{recursive:!0});let a=await Ot.tryFind(this.context.cwd),n=a??new Ot,u=Object.fromEntries(r.get("initFields").entries());n.load(u),n.name=n.name??W.makeIdent(r.get("initScope"),this.name??V.basename(this.context.cwd)),n.packageManager=rn&&_e.isTaggedYarnVersion(rn)?`yarn@${rn}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await oe.mkdirPromise(V.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let A={};n.exportTo(A);let p=V.join(this.context.cwd,Ot.fileName);await oe.changeFilePromise(p,`${JSON.stringify(A,null,2)} +`,{automaticNewlines:!0});let h=[p],E=V.join(this.context.cwd,"README.md");if(oe.existsSync(E)||(await oe.writeFilePromise(E,`# ${W.stringifyIdent(n.name)} +`),h.push(E)),!o||o.cwd===this.context.cwd){let I=V.join(this.context.cwd,dr.lockfile);oe.existsSync(I)||(await oe.writeFilePromise(I,""),h.push(I));let x=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/caching#zero-installs","","#!.yarn/cache",".pnp.*"].map(fe=>`${fe} +`).join(""),C=V.join(this.context.cwd,".gitignore");oe.existsSync(C)||(await oe.writeFilePromise(C,x),h.push(C));let L=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(fe=>`${fe} +`).join(""),U=V.join(this.context.cwd,".gitattributes");oe.existsSync(U)||(await oe.writeFilePromise(U,L),h.push(U));let J={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};_e.mergeIntoTarget(J,r.get("initEditorConfig"));let te=`root = true +`;for(let[fe,ce]of Object.entries(J)){te+=` +[${fe}] +`;for(let[me,he]of Object.entries(ce)){let Be=me.replace(/[A-Z]/g,we=>`_${we.toLowerCase()}`);te+=`${Be} = ${he} +`}}let ae=V.join(this.context.cwd,".editorconfig");oe.existsSync(ae)||(await oe.writeFilePromise(ae,te),h.push(ae)),await this.cli.run(["install"],{quiet:!0}),oe.existsSync(V.join(this.context.cwd,".git"))||(await Ur.execvp("git",["init"],{cwd:this.context.cwd}),await Ur.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Ur.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};d0.paths=[["init"]],d0.usage=nt.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 hdt={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:[d0]},gdt=hdt;var Tq={};Vt(Tq,{SearchCommand:()=>w0,UpgradeInteractiveCommand:()=>B0,default:()=>nIt});Ye();var Eme=$e(ve("os"));function bC({stdout:t}){if(Eme.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}qt();var Qye=$e(zH()),XH={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},fyt=(0,Qye.default)(XH.appId,XH.apiKey).initIndex(XH.indexName),ZH=async(t,e=0)=>await fyt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var qB=["regular","dev","peer"],w0=class extends ut{async execute(){bC(this.context);let{Gem:e}=await Promise.resolve().then(()=>(cQ(),Bq)),{ScrollableItems:r}=await Promise.resolve().then(()=>(pQ(),fQ)),{useKeypress:o}=await Promise.resolve().then(()=>(UB(),Wwe)),{useMinistore:a}=await Promise.resolve().then(()=>(xq(),bq)),{renderForm:n}=await Promise.resolve().then(()=>(mQ(),dQ)),{default:u}=await Promise.resolve().then(()=>$e(rIe())),{Box:A,Text:p}=await Promise.resolve().then(()=>$e(ic())),{default:h,useEffect:E,useState:I}=await Promise.resolve().then(()=>$e(on())),v=await Ke.find(this.context.cwd,this.context.plugins),x=()=>h.createElement(A,{flexDirection:"row"},h.createElement(A,{flexDirection:"column",width:48},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move between packages.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select a package.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," again to change the target."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),C=()=>h.createElement(h.Fragment,null,h.createElement(A,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(A,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(A,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),R=()=>h.createElement(A,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),L=({hit:he,active:Be})=>{let[we,g]=a(he.name,null);o({active:Be},(le,ne)=>{if(ne.name!=="space")return;if(!we){g(qB[0]);return}let ee=qB.indexOf(we)+1;ee===qB.length?g(null):g(qB[ee])},[we,g]);let Ee=W.parseIdent(he.name),Se=W.prettyIdent(v,Ee);return h.createElement(A,null,h.createElement(A,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Se)),h.createElement(A,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},he.owner.name)),h.createElement(A,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},he.version)),h.createElement(A,{width:16,marginLeft:1},h.createElement(p,null,he.humanDownloadsLast30Days)))},U=({name:he,active:Be})=>{let[we]=a(he,null),g=W.parseIdent(he);return h.createElement(A,null,h.createElement(A,{width:47},h.createElement(p,{bold:!0}," - ",W.prettyIdent(v,g))),qB.map(Ee=>h.createElement(A,{key:Ee,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(e,{active:we===Ee})," ",h.createElement(p,{bold:!0},Ee)))))},J=()=>h.createElement(A,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),ae=await n(({useSubmit:he})=>{let Be=a();he(Be);let we=Array.from(Be.keys()).filter(H=>Be.get(H)!==null),[g,Ee]=I(""),[Se,le]=I(0),[ne,ee]=I([]),Ie=H=>{H.match(/\t| /)||Ee(H)},Fe=async()=>{le(0);let H=await ZH(g);H.query===g&&ee(H.hits)},At=async()=>{let H=await ZH(g,Se+1);H.query===g&&H.page-1===Se&&(le(H.page),ee([...ne,...H.hits]))};return E(()=>{g?Fe():ee([])},[g]),h.createElement(A,{flexDirection:"column"},h.createElement(x,null),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(A,{width:41},h.createElement(u,{value:g,onChange:Ie,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(C,null)),ne.length?h.createElement(r,{radius:2,loop:!1,children:ne.map(H=>h.createElement(L,{key:H.name,hit:H,active:!1})),willReachEnd:At}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(A,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(R,null)),we.length?we.map(H=>h.createElement(U,{key:H,name:H,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(J,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ae>"u")return 1;let fe=Array.from(ae.keys()).filter(he=>ae.get(he)==="regular"),ce=Array.from(ae.keys()).filter(he=>ae.get(he)==="dev"),me=Array.from(ae.keys()).filter(he=>ae.get(he)==="peer");return fe.length&&await this.cli.run(["add",...fe]),ce.length&&await this.cli.run(["add","--dev",...ce]),me&&await this.cli.run(["add","--peer",...me]),0}};w0.paths=[["search"]],w0.usage=nt.Usage({category:"Interactive commands",description:"open the search interface",details:` + This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. + `,examples:[["Open the search window","yarn search"]]});Ye();qt();E_();var cIe=$e(zn()),lIe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,uIe=(t,e)=>t.length>0?[t.slice(0,e)].concat(uIe(t.slice(e),e)):[],B0=class extends ut{async execute(){bC(this.context);let{ItemOptions:e}=await Promise.resolve().then(()=>(aIe(),oIe)),{Pad:r}=await Promise.resolve().then(()=>(Rq(),sIe)),{ScrollableItems:o}=await Promise.resolve().then(()=>(pQ(),fQ)),{useMinistore:a}=await Promise.resolve().then(()=>(xq(),bq)),{renderForm:n}=await Promise.resolve().then(()=>(mQ(),dQ)),{Box:u,Text:A}=await Promise.resolve().then(()=>$e(ic())),{default:p,useEffect:h,useRef:E,useState:I}=await Promise.resolve().then(()=>$e(on())),v=await Ke.find(this.context.cwd,this.context.plugins),{project:x,workspace:C}=await Pt.find(v,this.context.cwd),R=await Lr.find(v);if(!C)throw new rr(x.cwd,this.context.cwd);await x.restoreInstallState({restoreResolutions:!1});let L=this.context.stdout.rows-7,U=(Ee,Se)=>{let le=upe(Ee,Se),ne="";for(let ee of le)ee.added?ne+=de.pretty(v,ee.value,"green"):ee.removed||(ne+=ee.value);return ne},J=(Ee,Se)=>{if(Ee===Se)return Se;let le=W.parseRange(Ee),ne=W.parseRange(Se),ee=le.selector.match(lIe),Ie=ne.selector.match(lIe);if(!ee||!Ie)return U(Ee,Se);let Fe=["gray","red","yellow","green","magenta"],At=null,H="";for(let at=1;at{let ne=await zc.fetchDescriptorFrom(Ee,le,{project:x,cache:R,preserveModifier:Se,workspace:C});return ne!==null?ne.range:Ee.range},ae=async Ee=>{let Se=cIe.default.valid(Ee.range)?`^${Ee.range}`:Ee.range,[le,ne]=await Promise.all([te(Ee,Ee.range,Se).catch(()=>null),te(Ee,Ee.range,"latest").catch(()=>null)]),ee=[{value:null,label:Ee.range}];return le&&le!==Ee.range?ee.push({value:le,label:J(Ee.range,le)}):ee.push({value:null,label:""}),ne&&ne!==le&&ne!==Ee.range?ee.push({value:ne,label:J(Ee.range,ne)}):ee.push({value:null,label:""}),ee},fe=()=>p.createElement(u,{flexDirection:"row"},p.createElement(u,{flexDirection:"column",width:49},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},""),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to select packages.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},""),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to select versions."))),p.createElement(u,{flexDirection:"column"},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to install.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to abort.")))),ce=()=>p.createElement(u,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(u,{width:50},p.createElement(A,{bold:!0},p.createElement(A,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Latest"))),me=({active:Ee,descriptor:Se,suggestions:le})=>{let[ne,ee]=a(Se.descriptorHash,null),Ie=W.stringifyIdent(Se),Fe=Math.max(0,45-Ie.length);return p.createElement(p.Fragment,null,p.createElement(u,null,p.createElement(u,{width:45},p.createElement(A,{bold:!0},W.prettyIdent(v,Se)),p.createElement(r,{active:Ee,length:Fe})),p.createElement(e,{active:Ee,options:le,value:ne,skewer:!0,onChange:ee,sizes:[17,17,17]})))},he=({dependencies:Ee})=>{let[Se,le]=I(Ee.map(()=>null)),ne=E(!0),ee=async Ie=>{let Fe=await ae(Ie);return Fe.filter(At=>At.label!=="").length<=1?null:{descriptor:Ie,suggestions:Fe}};return h(()=>()=>{ne.current=!1},[]),h(()=>{let Ie=Math.trunc(L*1.75),Fe=Ee.slice(0,Ie),At=Ee.slice(Ie),H=uIe(At,L),at=Fe.map(ee).reduce(async(Re,ke)=>{await Re;let xe=await ke;xe!==null&&(!ne.current||le(He=>{let Te=He.findIndex(qe=>qe===null),Je=[...He];return Je[Te]=xe,Je}))},Promise.resolve());H.reduce((Re,ke)=>Promise.all(ke.map(xe=>Promise.resolve().then(()=>ee(xe)))).then(async xe=>{xe=xe.filter(He=>He!==null),await Re,ne.current&&le(He=>{let Te=He.findIndex(Je=>Je===null);return He.slice(0,Te).concat(xe).concat(He.slice(Te+xe.length))})}),at).then(()=>{ne.current&&le(Re=>Re.filter(ke=>ke!==null))})},[]),Se.length?p.createElement(o,{radius:L>>1,children:Se.map((Ie,Fe)=>Ie!==null?p.createElement(me,{key:Fe,active:!1,descriptor:Ie.descriptor,suggestions:Ie.suggestions}):p.createElement(A,{key:Fe},"Loading..."))}):p.createElement(A,null,"No upgrades found")},we=await n(({useSubmit:Ee})=>{Ee(a());let Se=new Map;for(let ne of x.workspaces)for(let ee of["dependencies","devDependencies"])for(let Ie of ne.manifest[ee].values())x.tryWorkspaceByDescriptor(Ie)===null&&(Ie.range.startsWith("link:")||Se.set(Ie.descriptorHash,Ie));let le=_e.sortMap(Se.values(),ne=>W.stringifyDescriptor(ne));return p.createElement(u,{flexDirection:"column"},p.createElement(fe,null),p.createElement(ce,null),p.createElement(he,{dependencies:le}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof we>"u")return 1;let g=!1;for(let Ee of x.workspaces)for(let Se of["dependencies","devDependencies"]){let le=Ee.manifest[Se];for(let ne of le.values()){let ee=we.get(ne.descriptorHash);typeof ee<"u"&&ee!==null&&(le.set(ne.identHash,W.makeDescriptor(ne,ee)),g=!0)}}return g?await x.installWithNewReport({quiet:this.context.quiet,stdout:this.context.stdout},{cache:R}):0}};B0.paths=[["upgrade-interactive"]],B0.usage=nt.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` + 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. + `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var rIt={commands:[w0,B0]},nIt=rIt;var Nq={};Vt(Nq,{LinkFetcher:()=>GB,LinkResolver:()=>YB,PortalFetcher:()=>WB,PortalResolver:()=>KB,default:()=>sIt});Ye();St();var tp="portal:",rp="link:";var GB=class{supports(e,r){return!!e.reference.startsWith(rp)}getLocalPath(e,r){let{parentLocator:o,path:a}=W.parseFileStyleRange(e.reference,{protocol:rp});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=W.parseFileStyleRange(e.reference,{protocol:rp}),n=V.isAbsolute(a)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new gn(Bt.root),prefixPath:V.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=V.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new gn(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new _u(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0}}};Ye();St();var YB=class{supportsDescriptor(e,r){return!!e.range.startsWith(rp)}supportsLocator(e,r){return!!e.reference.startsWith(rp)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return W.bindDescriptor(e,{locator:W.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(rp.length);return[W.makeLocator(e,`${rp}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};Ye();St();var WB=class{supports(e,r){return!!e.reference.startsWith(tp)}getLocalPath(e,r){let{parentLocator:o,path:a}=W.parseFileStyleRange(e.reference,{protocol:tp});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=W.parseFileStyleRange(e.reference,{protocol:tp}),n=V.isAbsolute(a)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new gn(Bt.root),prefixPath:V.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=V.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new gn(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,localPath:p}:{packageFs:new _u(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot}}};Ye();Ye();St();var KB=class{supportsDescriptor(e,r){return!!e.range.startsWith(tp)}supportsLocator(e,r){return!!e.reference.startsWith(tp)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return W.bindDescriptor(e,{locator:W.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(tp.length);return[W.makeLocator(e,`${tp}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await _e.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var iIt={fetchers:[GB,WB],resolvers:[YB,KB]},sIt=iIt;var yj={};Vt(yj,{NodeModulesLinker:()=>lv,NodeModulesMode:()=>hj,PnpLooseLinker:()=>cv,default:()=>w1t});St();Ye();St();St();var Oq=(t,e)=>`${t}@${e}`,AIe=(t,e)=>{let r=e.indexOf("#"),o=r>=0?e.substring(r+1):e;return Oq(t,o)};var hIe=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),o=e.check||r>=9,a=e.hoistingLimits||new Map,n={check:o,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},u;n.debugLevel>=0&&(u=Date.now());let A=fIt(t,n),p=!1,h=0;do p=Mq(A,[A],new Set([A.locator]),new Map,n).anotherRoundNeeded,n.fastLookupPossible=!1,h++;while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-u}ms, rounds: ${h}`),n.debugLevel>=1){let E=VB(A);if(Mq(A,[A],new Set([A.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${E}, next tree: +${VB(A)}`);let v=gIe(A);if(v)throw new Error(`${v}, after hoisting finished: +${VB(A)}`)}return n.debugLevel>=2&&console.log(VB(A)),pIt(A)},oIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=n=>{if(!o.has(n)){o.add(n);for(let u of n.hoistedDependencies.values())r.set(u.name,u);for(let u of n.dependencies.values())n.peerNames.has(u.name)||a(u)}};return a(e),r},aIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=new Set,n=(u,A)=>{if(o.has(u))return;o.add(u);for(let h of u.hoistedDependencies.values())if(!A.has(h.name)){let E;for(let I of t)E=I.dependencies.get(h.name),E&&r.set(E.name,E)}let p=new Set;for(let h of u.dependencies.values())p.add(h.name);for(let h of u.dependencies.values())u.peerNames.has(h.name)||n(h,p)};return n(e,a),r},fIe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:o,ident:a,locator:n,dependencies:u,originalDependencies:A,hoistedDependencies:p,peerNames:h,reasons:E,isHoistBorder:I,hoistPriority:v,dependencyKind:x,hoistedFrom:C,hoistedTo:R}=e,L={name:r,references:new Set(o),ident:a,locator:n,dependencies:new Map(u),originalDependencies:new Map(A),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(E),decoupled:!0,isHoistBorder:I,hoistPriority:v,dependencyKind:x,hoistedFrom:new Map(C),hoistedTo:new Map(R)},U=L.dependencies.get(r);return U&&U.ident==L.ident&&L.dependencies.set(r,L),t.dependencies.set(L.name,L),L},lIt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let o=Array.from(e.keys());o.sort((a,n)=>{let u=e.get(a),A=e.get(n);return A.hoistPriority!==u.hoistPriority?A.hoistPriority-u.hoistPriority:A.peerDependents.size!==u.peerDependents.size?A.peerDependents.size-u.peerDependents.size:A.dependents.size-u.dependents.size});for(let a of o){let n=a.substring(0,a.indexOf("@",1)),u=a.substring(n.length+1);if(!t.peerNames.has(n)){let A=r.get(n);A||(A=[],r.set(n,A)),A.indexOf(u)<0&&A.push(u)}}return r},Lq=t=>{let e=new Set,r=(o,a=new Set)=>{if(!a.has(o)){a.add(o);for(let n of o.peerNames)if(!t.peerNames.has(n)){let u=t.dependencies.get(n);u&&!e.has(u)&&r(u,a)}e.add(o)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||r(o);return e},Mq=(t,e,r,o,a,n=new Set)=>{let u=e[e.length-1];if(n.has(u))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(u);let A=hIt(u),p=lIt(u,A),h=t==u?new Map:a.fastLookupPossible?oIt(e):aIt(e),E,I=!1,v=!1,x=new Map(Array.from(p.entries()).map(([R,L])=>[R,L[0]])),C=new Map;do{let R=AIt(t,e,r,h,x,p,o,C,a);R.isGraphChanged&&(v=!0),R.anotherRoundNeeded&&(I=!0),E=!1;for(let[L,U]of p)U.length>1&&!u.dependencies.has(L)&&(x.delete(L),U.shift(),x.set(L,U[0]),E=!0)}while(E);for(let R of u.dependencies.values())if(!u.peerNames.has(R.name)&&!r.has(R.locator)){r.add(R.locator);let L=Mq(t,[...e,R],r,C,a);L.isGraphChanged&&(v=!0),L.anotherRoundNeeded&&(I=!0),r.delete(R.locator)}return{anotherRoundNeeded:I,isGraphChanged:v}},cIt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},uIt=(t,e,r,o,a,n,u,A,{outputReason:p,fastLookupPossible:h})=>{let E,I=null,v=new Set;p&&(E=`${Array.from(e).map(L=>no(L)).join("\u2192")}`);let x=r[r.length-1],R=!(o.ident===x.ident);if(p&&!R&&(I="- self-reference"),R&&(R=o.dependencyKind!==1,p&&!R&&(I="- workspace")),R&&o.dependencyKind===2&&(R=!cIt(o),p&&!R&&(I="- external soft link with unhoisted dependencies")),R&&(R=x.dependencyKind!==1||x.hoistedFrom.has(o.name)||e.size===1,p&&!R&&(I=x.reasons.get(o.name))),R&&(R=!t.peerNames.has(o.name),p&&!R&&(I=`- cannot shadow peer: ${no(t.originalDependencies.get(o.name).locator)} at ${E}`)),R){let L=!1,U=a.get(o.name);if(L=!U||U.ident===o.ident,p&&!L&&(I=`- filled by: ${no(U.locator)} at ${E}`),L)for(let J=r.length-1;J>=1;J--){let ae=r[J].dependencies.get(o.name);if(ae&&ae.ident!==o.ident){L=!1;let fe=A.get(x);fe||(fe=new Set,A.set(x,fe)),fe.add(o.name),p&&(I=`- filled by ${no(ae.locator)} at ${r.slice(0,J).map(ce=>no(ce.locator)).join("\u2192")}`);break}}R=L}if(R&&(R=n.get(o.name)===o.ident,p&&!R&&(I=`- filled by: ${no(u.get(o.name)[0])} at ${E}`)),R){let L=!0,U=new Set(o.peerNames);for(let J=r.length-1;J>=1;J--){let te=r[J];for(let ae of U){if(te.peerNames.has(ae)&&te.originalDependencies.has(ae))continue;let fe=te.dependencies.get(ae);fe&&t.dependencies.get(ae)!==fe&&(J===r.length-1?v.add(fe):(v=null,L=!1,p&&(I=`- peer dependency ${no(fe.locator)} from parent ${no(te.locator)} was not hoisted to ${E}`))),U.delete(ae)}if(!L)break}R=L}if(R&&!h)for(let L of o.hoistedDependencies.values()){let U=a.get(L.name)||t.dependencies.get(L.name);if(!U||L.ident!==U.ident){R=!1,p&&(I=`- previously hoisted dependency mismatch, needed: ${no(L.locator)}, available: ${no(U?.locator)}`);break}}return v!==null&&v.size>0?{isHoistable:2,dependsOn:v,reason:I}:{isHoistable:R?0:1,reason:I}},yQ=t=>`${t.name}@${t.locator}`,AIt=(t,e,r,o,a,n,u,A,p)=>{let h=e[e.length-1],E=new Set,I=!1,v=!1,x=(U,J,te,ae,fe)=>{if(E.has(ae))return;let ce=[...J,yQ(ae)],me=[...te,yQ(ae)],he=new Map,Be=new Map;for(let le of Lq(ae)){let ne=uIt(h,r,[h,...U,ae],le,o,a,n,A,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(Be.set(le,ne),ne.isHoistable===2)for(let ee of ne.dependsOn){let Ie=he.get(ee.name)||new Set;Ie.add(le.name),he.set(ee.name,Ie)}}let we=new Set,g=(le,ne,ee)=>{if(!we.has(le)){we.add(le),Be.set(le,{isHoistable:1,reason:ee});for(let Ie of he.get(le.name)||[])g(ae.dependencies.get(Ie),ne,p.debugLevel>=2?`- peer dependency ${no(le.locator)} from parent ${no(ae.locator)} was not hoisted`:"")}};for(let[le,ne]of Be)ne.isHoistable===1&&g(le,ne,ne.reason);let Ee=!1;for(let le of Be.keys())if(!we.has(le)){v=!0;let ne=u.get(ae);ne&&ne.has(le.name)&&(I=!0),Ee=!0,ae.dependencies.delete(le.name),ae.hoistedDependencies.set(le.name,le),ae.reasons.delete(le.name);let ee=h.dependencies.get(le.name);if(p.debugLevel>=2){let Ie=Array.from(J).concat([ae.locator]).map(At=>no(At)).join("\u2192"),Fe=h.hoistedFrom.get(le.name);Fe||(Fe=[],h.hoistedFrom.set(le.name,Fe)),Fe.push(Ie),ae.hoistedTo.set(le.name,Array.from(e).map(At=>no(At.locator)).join("\u2192"))}if(!ee)h.ident!==le.ident&&(h.dependencies.set(le.name,le),fe.add(le));else for(let Ie of le.references)ee.references.add(Ie)}if(ae.dependencyKind===2&&Ee&&(I=!0),p.check){let le=gIe(t);if(le)throw new Error(`${le}, after hoisting dependencies of ${[h,...U,ae].map(ne=>no(ne.locator)).join("\u2192")}: +${VB(t)}`)}let Se=Lq(ae);for(let le of Se)if(we.has(le)){let ne=Be.get(le);if((a.get(le.name)===le.ident||!ae.reasons.has(le.name))&&ne.isHoistable!==0&&ae.reasons.set(le.name,ne.reason),!le.isHoistBorder&&me.indexOf(yQ(le))<0){E.add(ae);let Ie=fIe(ae,le);x([...U,ae],ce,me,Ie,R),E.delete(ae)}}},C,R=new Set(Lq(h)),L=Array.from(e).map(U=>yQ(U));do{C=R,R=new Set;for(let U of C){if(U.locator===h.locator||U.isHoistBorder)continue;let J=fIe(h,U);x([],Array.from(r),L,J,R)}}while(R.size>0);return{anotherRoundNeeded:I,isGraphChanged:v}},gIe=t=>{let e=[],r=new Set,o=new Set,a=(n,u,A)=>{if(r.has(n)||(r.add(n),o.has(n)))return;let p=new Map(u);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let E=p.get(h.name),I=()=>`${Array.from(o).concat([n]).map(v=>no(v.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let v=u.get(h.name);(v!==E||!v||v.ident!==h.ident)&&e.push(`${I()} - broken peer promise: expected ${h.ident} but found ${v&&v.ident}`)}else{let v=A.hoistedFrom.get(n.name),x=n.hoistedTo.get(h.name),C=`${v?` hoisted from ${v.join(", ")}`:""}`,R=`${x?` hoisted to ${x}`:""}`,L=`${I()}${C}`;E?E.ident!==h.ident&&e.push(`${L} - broken require promise for ${h.name}${R}: expected ${h.ident}, but found: ${E.ident}`):e.push(`${L} - broken require promise: no required dependency ${h.name}${R} found`)}}o.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);o.delete(n)};return a(t,t.dependencies,t),e.join(` +`)},fIt=(t,e)=>{let{identName:r,name:o,reference:a,peerNames:n}=t,u={name:o,references:new Set([a]),locator:Oq(r,a),ident:AIe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},A=new Map([[t,u]]),p=(h,E)=>{let I=A.get(h),v=!!I;if(!I){let{name:x,identName:C,reference:R,peerNames:L,hoistPriority:U,dependencyKind:J}=h,te=e.hoistingLimits.get(E.locator);I={name:x,references:new Set([R]),locator:Oq(C,R),ident:AIe(C,R),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(L),reasons:new Map,decoupled:!0,isHoistBorder:te?te.has(x):!1,hoistPriority:U||0,dependencyKind:J||0,hoistedFrom:new Map,hoistedTo:new Map},A.set(h,I)}if(E.dependencies.set(h.name,I),E.originalDependencies.set(h.name,I),v){let x=new Set,C=R=>{if(!x.has(R)){x.add(R),R.decoupled=!1;for(let L of R.dependencies.values())R.peerNames.has(L.name)||C(L)}};C(I)}else for(let x of h.dependencies)p(x,I)};for(let h of t.dependencies)p(h,u);return u},Uq=t=>t.substring(0,t.indexOf("@",1)),pIt=t=>{let e={name:t.name,identName:Uq(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),o=(a,n,u)=>{let A=r.has(a),p;if(n===a)p=u;else{let{name:h,references:E,locator:I}=a;p={name:h,identName:Uq(I),references:E,dependencies:new Set}}if(u.dependencies.add(p),!A){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||o(h,a,p);r.delete(a)}};for(let a of t.dependencies.values())o(a,t,e);return e},hIt=t=>{let e=new Map,r=new Set([t]),o=u=>`${u.name}@${u.ident}`,a=u=>{let A=o(u),p=e.get(A);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(A,p)),p},n=(u,A)=>{let p=!!r.has(A);if(a(A).dependents.add(u.ident),!p){r.add(A);for(let E of A.dependencies.values()){let I=a(E);I.hoistPriority=Math.max(I.hoistPriority,E.hoistPriority),A.peerNames.has(E.name)?I.peerDependents.add(A.ident):n(A,E)}}};for(let u of t.dependencies.values())t.peerNames.has(u.name)||n(t,u);return e},no=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let o=t.substring(e+1);if(o==="workspace:.")return".";if(o){let a=(o.indexOf("#")>0?o.split("#")[1]:o).replace("npm:","");return o.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`},pIe=5e4,VB=t=>{let e=0,r=(a,n,u="")=>{if(e>pIe||n.has(a))return"";e++;let A=Array.from(a.dependencies.values()).sort((h,E)=>h.name===E.name?0:h.name>E.name?1:-1),p="";n.add(a);for(let h=0;h":"")+(v!==E.name?`a:${E.name}:`:"")+no(E.locator)+(I?` ${I}`:"")} +`,p+=r(E,n,`${u}${hpIe?` +Tree is too large, part of the tree has been dunped +`:"")};var JB=(o=>(o.WORKSPACES="workspaces",o.DEPENDENCIES="dependencies",o.NONE="none",o))(JB||{}),dIe="node_modules",v0="$wsroot$";var zB=(t,e)=>{let{packageTree:r,hoistingLimits:o,errors:a,preserveSymlinksRequired:n}=dIt(t,e),u=null;if(a.length===0){let A=hIe(r,{hoistingLimits:o});u=yIt(t,A,e)}return{tree:u,errors:a,preserveSymlinksRequired:n}},gA=t=>`${t.name}@${t.reference}`,Hq=t=>{let e=new Map;for(let[r,o]of t.entries())if(!o.dirList){let a=e.get(o.locator);a||(a={target:o.target,linkType:o.linkType,locations:[],aliases:o.aliases},e.set(o.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((o,a)=>{let n=o.split(V.delimiter).length,u=a.split(V.delimiter).length;return a===o?0:n!==u?u-n:a>o?1:-1});return e},mIe=(t,e)=>{let r=W.isVirtualLocator(t)?W.devirtualizeLocator(t):t,o=W.isVirtualLocator(e)?W.devirtualizeLocator(e):e;return W.areLocatorsEqual(r,o)},_q=(t,e,r,o)=>{if(t.linkType!=="SOFT")return!1;let a=ue.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return V.contains(o,a)===null},gIt=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let o=ue.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},u=t.getDependencyTreeRoots(),A=new Map,p=new Set,h=(v,x)=>{let C=gA(v);if(p.has(C))return;p.add(C);let R=t.getPackageInformation(v);if(R){let L=x?gA(x):"";if(gA(v)!==L&&R.linkType==="SOFT"&&!v.reference.startsWith("link:")&&!_q(R,v,t,o)){let U=yIe(R,v,t);(!A.get(U)||v.reference.startsWith("workspace:"))&&A.set(U,v)}for(let[U,J]of R.packageDependencies)J!==null&&(R.packagePeers.has(U)||h(t.getLocator(U,J),v))}};for(let v of u)h(v,null);let E=o.split(V.sep);for(let v of A.values()){let x=t.getPackageInformation(v),R=ue.toPortablePath(x.packageLocation.slice(0,-1)).split(V.sep).slice(E.length),L=n;for(let U of R){let J=L.children.get(U);J||(J={children:new Map},L.children.set(U,J)),L=J}L.workspaceLocator=v}let I=(v,x)=>{if(v.workspaceLocator){let C=gA(x),R=a.get(C);R||(R=new Set,a.set(C,R)),R.add(v.workspaceLocator)}for(let C of v.children.values())I(C,v.workspaceLocator||x)};for(let v of n.children.values())I(v,n.workspaceLocator);return a},dIt=(t,e)=>{let r=[],o=!1,a=new Map,n=gIt(t),u=t.getPackageInformation(t.topLevel);if(u===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let A=t.findPackageLocator(u.packageLocation);if(A===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=ue.toPortablePath(u.packageLocation.slice(0,-1)),h={name:A.name,identName:A.name,reference:A.reference,peerNames:u.packagePeers,dependencies:new Set,dependencyKind:1},E=new Map,I=(x,C)=>`${gA(C)}:${x}`,v=(x,C,R,L,U,J,te,ae)=>{let fe=I(x,R),ce=E.get(fe),me=!!ce;!me&&R.name===A.name&&R.reference===A.reference&&(ce=h,E.set(fe,h));let he=_q(C,R,t,p);if(!ce){let le=0;he?le=2:C.linkType==="SOFT"&&R.name.endsWith(v0)&&(le=1),ce={name:x,identName:R.name,reference:R.reference,dependencies:new Set,peerNames:le===1?new Set:C.packagePeers,dependencyKind:le},E.set(fe,ce)}let Be;if(he?Be=2:U.linkType==="SOFT"?Be=1:Be=0,ce.hoistPriority=Math.max(ce.hoistPriority||0,Be),ae&&!he){let le=gA({name:L.identName,reference:L.reference}),ne=a.get(le)||new Set;a.set(le,ne),ne.add(ce.name)}let we=new Map(C.packageDependencies);if(e.project){let le=e.project.workspacesByCwd.get(ue.toPortablePath(C.packageLocation.slice(0,-1)));if(le){let ne=new Set([...Array.from(le.manifest.peerDependencies.values(),ee=>W.stringifyIdent(ee)),...Array.from(le.manifest.peerDependenciesMeta.keys())]);for(let ee of ne)we.has(ee)||(we.set(ee,J.get(ee)||null),ce.peerNames.add(ee))}}let g=gA({name:R.name.replace(v0,""),reference:R.reference}),Ee=n.get(g);if(Ee)for(let le of Ee)we.set(`${le.name}${v0}`,le.reference);(C!==U||C.linkType!=="SOFT"||!he&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(te)))&&L.dependencies.add(ce);let Se=R!==A&&C.linkType==="SOFT"&&!R.name.endsWith(v0)&&!he;if(!me&&!Se){let le=new Map;for(let[ne,ee]of we)if(ee!==null){let Ie=t.getLocator(ne,ee),Fe=t.getLocator(ne.replace(v0,""),ee),At=t.getPackageInformation(Fe);if(At===null)throw new Error("Assertion failed: Expected the package to have been registered");let H=_q(At,Ie,t,p);if(e.validateExternalSoftLinks&&e.project&&H){At.packageDependencies.size>0&&(o=!0);for(let[He,Te]of At.packageDependencies)if(Te!==null){let Je=W.parseLocator(Array.isArray(Te)?`${Te[0]}@${Te[1]}`:`${He}@${Te}`);if(gA(Je)!==gA(Ie)){let qe=we.get(He);if(qe){let b=W.parseLocator(Array.isArray(qe)?`${qe[0]}@${qe[1]}`:`${He}@${qe}`);mIe(b,Je)||r.push({messageName:71,text:`Cannot link ${W.prettyIdent(e.project.configuration,W.parseIdent(Ie.name))} into ${W.prettyLocator(e.project.configuration,W.parseLocator(`${R.name}@${R.reference}`))} dependency ${W.prettyLocator(e.project.configuration,Je)} conflicts with parent dependency ${W.prettyLocator(e.project.configuration,b)}`})}else{let b=le.get(He);if(b){let w=b.target,P=W.parseLocator(Array.isArray(w)?`${w[0]}@${w[1]}`:`${He}@${w}`);mIe(P,Je)||r.push({messageName:71,text:`Cannot link ${W.prettyIdent(e.project.configuration,W.parseIdent(Ie.name))} into ${W.prettyLocator(e.project.configuration,W.parseLocator(`${R.name}@${R.reference}`))} dependency ${W.prettyLocator(e.project.configuration,Je)} conflicts with dependency ${W.prettyLocator(e.project.configuration,P)} from sibling portal ${W.prettyIdent(e.project.configuration,W.parseIdent(b.portal.name))}`})}else le.set(He,{target:Je.reference,portal:Ie})}}}}let at=e.hoistingLimitsByCwd?.get(te),Re=H?te:V.relative(p,ue.toPortablePath(At.packageLocation))||Bt.dot,ke=e.hoistingLimitsByCwd?.get(Re);v(ne,At,Ie,ce,C,we,Re,at==="dependencies"||ke==="dependencies"||ke==="workspaces")}}};return v(A.name,u,A,h,u,u.packageDependencies,Bt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:o}};function yIe(t,e,r){let o=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return ue.toPortablePath(o||t.packageLocation)}function mIt(t,e,r){let o=e.getLocator(t.name.replace(v0,""),t.reference),a=e.getPackageInformation(o);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:ue.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:yIe(a,t,e)}}var yIt=(t,e,r)=>{let o=new Map,a=(E,I,v)=>{let{linkType:x,target:C}=mIt(E,t,r);return{locator:gA(E),nodePath:I,target:C,linkType:x,aliases:v}},n=E=>{let[I,v]=E.split("/");return v?{scope:I,name:v}:{scope:null,name:I}},u=new Set,A=(E,I,v)=>{if(u.has(E))return;u.add(E);let x=Array.from(E.references).sort().join("#");for(let C of E.dependencies){let R=Array.from(C.references).sort().join("#");if(C.identName===E.identName.replace(v0,"")&&R===x)continue;let L=Array.from(C.references).sort(),U={name:C.identName,reference:L[0]},{name:J,scope:te}=n(C.name),ae=te?[te,J]:[J],fe=V.join(I,dIe),ce=V.join(fe,...ae),me=`${v}/${U.name}`,he=a(U,v,L.slice(1)),Be=!1;if(he.linkType==="SOFT"&&r.project){let we=r.project.workspacesByCwd.get(he.target.slice(0,-1));Be=!!(we&&!we.manifest.name)}if(!C.name.endsWith(v0)&&!Be){let we=o.get(ce);if(we){if(we.dirList)throw new Error(`Assertion failed: ${ce} cannot merge dir node with leaf node`);{let Se=W.parseLocator(we.locator),le=W.parseLocator(he.locator);if(we.linkType!==he.linkType)throw new Error(`Assertion failed: ${ce} cannot merge nodes with different link types ${we.nodePath}/${W.stringifyLocator(Se)} and ${v}/${W.stringifyLocator(le)}`);if(Se.identHash!==le.identHash)throw new Error(`Assertion failed: ${ce} cannot merge nodes with different idents ${we.nodePath}/${W.stringifyLocator(Se)} and ${v}/s${W.stringifyLocator(le)}`);he.aliases=[...he.aliases,...we.aliases,W.parseLocator(we.locator).reference]}}o.set(ce,he);let g=ce.split("/"),Ee=g.indexOf(dIe);for(let Se=g.length-1;Ee>=0&&Se>Ee;Se--){let le=ue.toPortablePath(g.slice(0,Se).join(V.sep)),ne=g[Se],ee=o.get(le);if(!ee)o.set(le,{dirList:new Set([ne])});else if(ee.dirList){if(ee.dirList.has(ne))break;ee.dirList.add(ne)}}}A(C,he.linkType==="SOFT"?he.target:ce,me)}},p=a({name:e.name,reference:Array.from(e.references)[0]},"",[]),h=p.target;return o.set(h,p),A(e,h,""),o};Ye();Ye();St();St();nA();Nl();var oj={};Vt(oj,{PnpInstaller:()=>mm,PnpLinker:()=>P0,UnplugCommand:()=>x0,default:()=>VIt,getPnpPath:()=>b0,jsInstallUtils:()=>yA,pnpUtils:()=>av,quotePathIfNeeded:()=>r1e});St();var t1e=ve("url");Ye();Ye();St();St();var EIe={["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 EIt(t,e,r){let o="";o+="[";for(let a=0,n=t.length;a"u"||(A!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=EQ(p,h,e,r).replace(/^ +/g,""),A+=1)}return a+="}",a}function IIt(t,e,r){let o=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{ +`;let u=0;for(let A=0,p=o.length;A"u"||(u!==0&&(n+=",",n+=` +`),n+=a,n+=JSON.stringify(h),n+=": ",n+=EQ(h,E,e,a).replace(/^ +/g,""),u+=1)}return u!==0&&(n+=` +`),n+=r,n+="}",n}function EQ(t,e,r,o){let{next:a}=EIe[r],n=a[t]||a["*"];return CIe(e,n,o)}function CIe(t,e,r){let{collapsed:o}=EIe[e];return Array.isArray(t)?o?EIt(t,e,r):CIt(t,e,r):typeof t=="object"&&t!==null?o?wIt(t,e,r):IIt(t,e,r):JSON.stringify(t)}function wIe(t){return CIe(t,"TOP_LEVEL","")}function XB(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function BIt(t){let e=new Map,r=XB(t.fallbackExclusionList||[],[({name:o,reference:a})=>o,({name:o,reference:a})=>a]);for(let{name:o,reference:a}of r){let n=e.get(o);typeof n>"u"&&e.set(o,n=new Set),n.add(a)}return Array.from(e).map(([o,a])=>[o,Array.from(a)])}function vIt(t){return XB(t.fallbackPool||[],([e])=>e)}function DIt(t){let e=[];for(let[r,o]of XB(t.packageRegistry,([a])=>a===null?"0":`1${a}`)){let a=[];e.push([r,a]);for(let[n,{packageLocation:u,packageDependencies:A,packagePeers:p,linkType:h,discardFromLookup:E}]of XB(o,([I])=>I===null?"0":`1${I}`)){let I=[];r!==null&&n!==null&&!A.has(r)&&I.push([r,n]);for(let[C,R]of XB(A.entries(),([L])=>L))I.push([C,R]);let v=p&&p.size>0?Array.from(p):void 0,x=E||void 0;a.push([n,{packageLocation:u,packageDependencies:I,packagePeers:v,linkType:h,discardFromLookup:x}])}}return e}function ZB(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:BIt(t),fallbackPool:vIt(t),packageRegistryData:DIt(t)}}var vIe=$e(BIe());function DIe(t,e){return[t?`${t} +`:"",`/* eslint-disable */ +`,`"use strict"; +`,` +`,e,` +`,(0,vIe.default)()].join("")}function SIt(t){return JSON.stringify(t,null,2)}function PIt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function bIt(t){return[`const RAW_RUNTIME_STATE = +`,`${PIt(wIe(t))}; + +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +`,`} +`].join("")}function xIt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` const fs = require('fs'); +`,` const path = require('path'); +`,` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(dr.pnpData)}); +`,` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname}); +`,`} +`].join("")}function SIe(t){let e=ZB(t),r=bIt(e);return DIe(t.shebang,r)}function PIe(t){let e=ZB(t),r=xIt(),o=DIe(t.shebang,r);return{dataFile:SIt(e),loaderFile:o}}St();function jq(t,{basePath:e}){let r=ue.toPortablePath(e),o=V.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,u=new Map(t.packageRegistryData.map(([I,v])=>[I,new Map(v.map(([x,C])=>{if(I===null!=(x===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let R=C.discardFromLookup??!1,L={name:I,reference:x},U=n.get(C.packageLocation);U?(U.discardFromLookup=U.discardFromLookup&&R,R||(U.locator=L)):n.set(C.packageLocation,{locator:L,discardFromLookup:R});let J=null;return[x,{packageDependencies:new Map(C.packageDependencies),packagePeers:new Set(C.packagePeers),linkType:C.linkType,discardFromLookup:R,get packageLocation(){return J||(J=V.join(o,C.packageLocation))}}]}))])),A=new Map(t.fallbackExclusionList.map(([I,v])=>[I,new Set(v)])),p=new Map(t.fallbackPool),h=t.dependencyTreeRoots,E=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:E,fallbackExclusionList:A,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:u}}St();St();var np=ve("module"),dm=ve("url"),$q=ve("util");var Mo=ve("url");var QIe=$e(ve("assert"));var Gq=Array.isArray,$B=JSON.stringify,ev=Object.getOwnPropertyNames,hm=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Yq=(t,e)=>RegExp.prototype.exec.call(t,e),Wq=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),D0=(t,...e)=>String.prototype.endsWith.apply(t,e),Kq=(t,...e)=>String.prototype.includes.apply(t,e),Vq=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),tv=(t,...e)=>String.prototype.indexOf.apply(t,e),bIe=(t,...e)=>String.prototype.replace.apply(t,e),S0=(t,...e)=>String.prototype.slice.apply(t,e),dA=(t,...e)=>String.prototype.startsWith.apply(t,e),xIe=Map,kIe=JSON.parse;function rv(t,e,r){return class extends r{constructor(...o){super(e(...o)),this.code=t,this.name=`${r.name} [${t}]`}}}var FIe=rv("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),Jq=rv("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),RIe=rv("ERR_INVALID_PACKAGE_TARGET",(t,e,r,o=!1,a=void 0)=>{let n=typeof r=="string"&&!o&&r.length&&!dA(r,"./");return e==="."?((0,QIe.default)(o===!1),`Invalid "exports" main target ${$B(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${o?"imports":"exports"}" target ${$B(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),nv=rv("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error),TIe=rv("ERR_PACKAGE_PATH_NOT_EXPORTED",(t,e,r=void 0)=>e==="."?`No "exports" main defined in ${t}package.json${r?` imported from ${r}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${t}package.json${r?` imported from ${r}`:""}`,Error);var wQ=ve("url");function NIe(t,e){let r=Object.create(null);for(let o=0;oe):t+e}iv(r,t,o,u,a)}Yq(OIe,S0(t,2))!==null&&iv(r,t,o,u,a);let p=new URL(t,o),h=p.pathname,E=new URL(".",o).pathname;if(dA(h,E)||iv(r,t,o,u,a),e==="")return p;if(Yq(OIe,e)!==null){let I=n?bIe(r,"*",()=>e):r+e;FIt(I,o,u,a)}return n?new URL(Wq(MIe,p.href,()=>e)):new URL(e,p)}function TIt(t){let e=+t;return`${e}`!==t?!1:e>=0&&e<4294967295}function GC(t,e,r,o,a,n,u,A){if(typeof e=="string")return RIt(e,r,o,t,a,n,u,A);if(Gq(e)){if(e.length===0)return null;let p;for(let h=0;hn?-1:n>a||r===-1?1:o===-1||t.length>e.length?-1:e.length>t.length?1:0}function NIt(t,e,r){if(typeof t=="string"||Gq(t))return!0;if(typeof t!="object"||t===null)return!1;let o=ev(t),a=!1,n=0;for(let u=0;u=h.length&&D0(e,I)&&_Ie(n,h)===1&&Vq(h,"*")===E&&(n=h,u=S0(e,E,e.length-I.length))}}if(n){let p=r[n],h=GC(t,p,u,n,o,!0,!1,a);return h==null&&zq(e,t,o),h}zq(e,t,o)}function qIe({name:t,base:e,conditions:r,readFileSyncFn:o}){if(t==="#"||dA(t,"#/")||D0(t,"/")){let u="is not a valid internal imports specifier name";throw new Jq(t,u,(0,Mo.fileURLToPath)(e))}let a,n=LIe(e,o);if(n.exists){a=(0,Mo.pathToFileURL)(n.pjsonPath);let u=n.imports;if(u)if(hm(u,t)&&!Kq(t,"*")){let A=GC(a,u[t],"",t,e,!1,!0,r);if(A!=null)return A}else{let A="",p,h=ev(u);for(let E=0;E=I.length&&D0(t,x)&&_Ie(A,I)===1&&Vq(I,"*")===v&&(A=I,p=S0(t,v,t.length-x.length))}}if(A){let E=u[A],I=GC(a,E,p,A,e,!0,!0,r);if(I!=null)return I}}}QIt(t,a,e)}St();var OIt=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function $i(t,e,r={},o){o??=OIt.has(t)?"MODULE_NOT_FOUND":t;let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...a,value:o},pnpCode:{...a,value:t},data:{...a,value:r}})}function au(t){return ue.normalize(ue.fromPortablePath(t))}var WIe=$e(GIe());function KIe(t){return MIt(),Zq[t]}var Zq;function MIt(){Zq||(Zq={"--conditions":[],...YIe(UIt()),...YIe(process.execArgv)})}function YIe(t){return(0,WIe.default)({"--conditions":[String],"-C":"--conditions"},{argv:t,permissive:!0})}function UIt(){let t=[],e=_It(process.env.NODE_OPTIONS||"",t);return t.length,e}function _It(t,e){let r=[],o=!1,a=!0;for(let n=0;nparseInt(t,10)),VIe=mA>19||mA===19&&gm>=2||mA===18&&gm>=13,Bzt=mA===20&&gm<6||mA===19&&gm>=3,vzt=mA>19||mA===19&&gm>=6,Dzt=mA>=21||mA===20&&gm>=10||mA===18&&gm>=19;function JIe(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(t=t.map(e=>ue.fromPortablePath(mi.resolveVirtual(ue.toPortablePath(e)))),VIe)process.send({"watch:require":t});else for(let e of t)process.send({"watch:require":e})}function ej(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,o=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,u=/\/$/,A=/^\.{0,2}\//,p={name:null,reference:null},h=[],E=new Set;if(t.enableTopLevelFallback===!0&&h.push(p),e.compatibilityMode!==!1)for(let Re of["react-scripts","gatsby"]){let ke=t.packageRegistry.get(Re);if(ke)for(let xe of ke.keys()){if(xe===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Re,reference:xe})}}let{ignorePattern:I,packageRegistry:v,packageLocatorsByLocations:x}=t;function C(Re,ke){return{fn:Re,args:ke,error:null,result:null}}function R(Re){let ke=process.stderr?.hasColors?.()??process.stdout.isTTY,xe=(Je,qe)=>`\x1B[${Je}m${qe}\x1B[0m`,He=Re.error;console.error(He?xe("31;1",`\u2716 ${Re.error?.message.replace(/\n.*/s,"")}`):xe("33;1","\u203C Resolution")),Re.args.length>0&&console.error();for(let Je of Re.args)console.error(` ${xe("37;1","In \u2190")} ${(0,$q.inspect)(Je,{colors:ke,compact:!0})}`);Re.result&&(console.error(),console.error(` ${xe("37;1","Out \u2192")} ${(0,$q.inspect)(Re.result,{colors:ke,compact:!0})}`));let Te=new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2)??[];if(Te.length>0){console.error();for(let Je of Te)console.error(` ${xe("38;5;244",Je)}`)}console.error()}function L(Re,ke){if(e.allowDebug===!1)return ke;if(Number.isFinite(o)){if(o>=2)return(...xe)=>{let He=C(Re,xe);try{return He.result=ke(...xe)}catch(Te){throw He.error=Te}finally{R(He)}};if(o>=1)return(...xe)=>{try{return ke(...xe)}catch(He){let Te=C(Re,xe);throw Te.error=He,R(Te),He}}}return ke}function U(Re){let ke=g(Re);if(!ke)throw $i("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return ke}function J(Re){if(Re.name===null)return!0;for(let ke of t.dependencyTreeRoots)if(ke.name===Re.name&&ke.reference===Re.reference)return!0;return!1}let te=new Set(["node","require",...KIe("--conditions")]);function ae(Re,ke=te,xe){let He=le(V.join(Re,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(He===null)throw $i("INTERNAL",`The locator that owns the "${Re}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Te}=U(He),Je=V.join(Te,dr.manifest);if(!e.fakeFs.existsSync(Je))return null;let qe=JSON.parse(e.fakeFs.readFileSync(Je,"utf8"));if(qe.exports==null)return null;let b=V.contains(Te,Re);if(b===null)throw $i("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");b!=="."&&!A.test(b)&&(b=`./${b}`);try{let w=HIe({packageJSONUrl:(0,dm.pathToFileURL)(ue.fromPortablePath(Je)),packageSubpath:b,exports:qe.exports,base:xe?(0,dm.pathToFileURL)(ue.fromPortablePath(xe)):null,conditions:ke});return ue.toPortablePath((0,dm.fileURLToPath)(w))}catch(w){throw $i("EXPORTS_RESOLUTION_FAILED",w.message,{unqualifiedPath:au(Re),locator:He,pkgJson:qe,subpath:au(b),conditions:ke},w.code)}}function fe(Re,ke,{extensions:xe}){let He;try{ke.push(Re),He=e.fakeFs.statSync(Re)}catch{}if(He&&!He.isDirectory())return e.fakeFs.realpathSync(Re);if(He&&He.isDirectory()){let Te;try{Te=JSON.parse(e.fakeFs.readFileSync(V.join(Re,dr.manifest),"utf8"))}catch{}let Je;if(Te&&Te.main&&(Je=V.resolve(Re,Te.main)),Je&&Je!==Re){let qe=fe(Je,ke,{extensions:xe});if(qe!==null)return qe}}for(let Te=0,Je=xe.length;Te{let b=JSON.stringify(qe.name);if(He.has(b))return;He.add(b);let w=Ee(qe);for(let P of w)if(U(P).packagePeers.has(Re))Te(P);else{let F=xe.get(P.name);typeof F>"u"&&xe.set(P.name,F=new Set),F.add(P.reference)}};Te(ke);let Je=[];for(let qe of[...xe.keys()].sort())for(let b of[...xe.get(qe)].sort())Je.push({name:qe,reference:b});return Je}function le(Re,{resolveIgnored:ke=!1,includeDiscardFromLookup:xe=!1}={}){if(he(Re)&&!ke)return null;let He=V.relative(t.basePath,Re);He.match(n)||(He=`./${He}`),He.endsWith("/")||(He=`${He}/`);do{let Te=x.get(He);if(typeof Te>"u"||Te.discardFromLookup&&!xe){He=He.substring(0,He.lastIndexOf("/",He.length-2)+1);continue}return Te.locator}while(He!=="");return null}function ne(Re){try{return e.fakeFs.readFileSync(ue.toPortablePath(Re),"utf8")}catch(ke){if(ke.code==="ENOENT")return;throw ke}}function ee(Re,ke,{considerBuiltins:xe=!0}={}){if(Re.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Re==="pnpapi")return ue.toPortablePath(e.pnpapiResolution);if(xe&&(0,np.isBuiltin)(Re))return null;let He=au(Re),Te=ke&&au(ke);if(ke&&he(ke)&&(!V.isAbsolute(Re)||le(Re)===null)){let b=me(Re,ke);if(b===!1)throw $i("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) + +Require request: "${He}" +Required by: ${Te} +`,{request:He,issuer:Te});return ue.toPortablePath(b)}let Je,qe=Re.match(a);if(qe){if(!ke)throw $i("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:He,issuer:Te});let[,b,w]=qe,P=le(ke);if(!P){let Ne=me(Re,ke);if(Ne===!1)throw $i("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). + +Require path: "${He}" +Required by: ${Te} +`,{request:He,issuer:Te});return ue.toPortablePath(Ne)}let F=U(P).packageDependencies.get(b),z=null;if(F==null&&P.name!==null){let Ne=t.fallbackExclusionList.get(P.name);if(!Ne||!Ne.has(P.reference)){for(let dt=0,jt=h.length;dtJ(ot))?X=$i("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${b} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==He?` (via "${He}")`:""} +Required by: ${P.name}@${P.reference} (via ${Te}) +${Ne.map(ot=>`Ancestor breaking the chain: ${ot.name}@${ot.reference} +`).join("")} +`,{request:He,issuer:Te,issuerLocator:Object.assign({},P),dependencyName:b,brokenAncestors:Ne}):X=$i("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${b} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==He?` (via "${He}")`:""} +Required by: ${P.name}@${P.reference} (via ${Te}) + +${Ne.map(ot=>`Ancestor breaking the chain: ${ot.name}@${ot.reference} +`).join("")} +`,{request:He,issuer:Te,issuerLocator:Object.assign({},P),dependencyName:b,brokenAncestors:Ne})}else F===void 0&&(!xe&&(0,np.isBuiltin)(Re)?J(P)?X=$i("UNDECLARED_DEPENDENCY",`Your application tried to access ${b}. 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 ${b} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==He?` (via "${He}")`:""} +Required by: ${Te} +`,{request:He,issuer:Te,dependencyName:b}):X=$i("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${b}. 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 ${b} isn't otherwise declared in ${P.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==He?` (via "${He}")`:""} +Required by: ${Te} +`,{request:He,issuer:Te,issuerLocator:Object.assign({},P),dependencyName:b}):J(P)?X=$i("UNDECLARED_DEPENDENCY",`Your application tried to access ${b}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==He?` (via "${He}")`:""} +Required by: ${Te} +`,{request:He,issuer:Te,dependencyName:b}):X=$i("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${b}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==He?` (via "${He}")`:""} +Required by: ${P.name}@${P.reference} (via ${Te}) +`,{request:He,issuer:Te,issuerLocator:Object.assign({},P),dependencyName:b}));if(F==null){if(z===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");F=z;let Ne=X.message.replace(/\n.*/g,"");X.message=Ne,!E.has(Ne)&&o!==0&&(E.add(Ne),process.emitWarning(X))}let Z=Array.isArray(F)?{name:F[0],reference:F[1]}:{name:b,reference:F},ie=U(Z);if(!ie.packageLocation)throw $i("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. + +Required package: ${Z.name}@${Z.reference}${Z.name!==He?` (via "${He}")`:""} +Required by: ${P.name}@${P.reference} (via ${Te}) +`,{request:He,issuer:Te,dependencyLocator:Object.assign({},Z)});let Pe=ie.packageLocation;w?Je=V.join(Pe,w):Je=Pe}else if(V.isAbsolute(Re))Je=V.normalize(Re);else{if(!ke)throw $i("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:He,issuer:Te});let b=V.resolve(ke);ke.match(u)?Je=V.normalize(V.join(b,Re)):Je=V.normalize(V.join(V.dirname(b),Re))}return V.normalize(Je)}function Ie(Re,ke,xe=te,He){if(n.test(Re))return ke;let Te=ae(ke,xe,He);return Te?V.normalize(Te):ke}function Fe(Re,{extensions:ke=Object.keys(np.Module._extensions)}={}){let xe=[],He=fe(Re,xe,{extensions:ke});if(He)return V.normalize(He);{JIe(xe.map(qe=>ue.fromPortablePath(qe)));let Te=au(Re),Je=le(Re);if(Je){let{packageLocation:qe}=U(Je),b=!0;try{e.fakeFs.accessSync(qe)}catch(w){if(w?.code==="ENOENT")b=!1;else{let P=(w?.message??w??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw $i("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${P}). + +Missing package: ${Je.name}@${Je.reference} +Expected package location: ${au(qe)} +`,{unqualifiedPath:Te,extensions:ke})}}if(!b){let w=qe.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 $i("QUALIFIED_PATH_RESOLUTION_FAILED",`${w} + +Missing package: ${Je.name}@${Je.reference} +Expected package location: ${au(qe)} +`,{unqualifiedPath:Te,extensions:ke})}}throw $i("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${Te} +${xe.map(qe=>`Not found: ${au(qe)} +`).join("")}`,{unqualifiedPath:Te,extensions:ke})}}function At(Re,ke,xe){if(!ke)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let He=qIe({name:Re,base:(0,dm.pathToFileURL)(ue.fromPortablePath(ke)),conditions:xe.conditions??te,readFileSyncFn:ne});if(He instanceof URL)return Fe(ue.toPortablePath((0,dm.fileURLToPath)(He)),{extensions:xe.extensions});if(He.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return H(He,ke,xe)}function H(Re,ke,xe={}){try{if(Re.startsWith("#"))return At(Re,ke,xe);let{considerBuiltins:He,extensions:Te,conditions:Je}=xe,qe=ee(Re,ke,{considerBuiltins:He});if(Re==="pnpapi")return qe;if(qe===null)return null;let b=()=>ke!==null?he(ke):!1,w=(!He||!(0,np.isBuiltin)(Re))&&!b()?Ie(Re,qe,Je,ke):qe;return Fe(w,{extensions:Te})}catch(He){throw Object.hasOwn(He,"pnpCode")&&Object.assign(He.data,{request:au(Re),issuer:ke&&au(ke)}),He}}function at(Re){let ke=V.normalize(Re),xe=mi.resolveVirtual(ke);return xe!==ke?xe:null}return{VERSIONS:Be,topLevel:we,getLocator:(Re,ke)=>Array.isArray(ke)?{name:ke[0],reference:ke[1]}:{name:Re,reference:ke},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Re=[];for(let[ke,xe]of v)for(let He of xe.keys())ke!==null&&He!==null&&Re.push({name:ke,reference:He});return Re},getPackageInformation:Re=>{let ke=g(Re);if(ke===null)return null;let xe=ue.fromPortablePath(ke.packageLocation);return{...ke,packageLocation:xe}},findPackageLocator:Re=>le(ue.toPortablePath(Re)),resolveToUnqualified:L("resolveToUnqualified",(Re,ke,xe)=>{let He=ke!==null?ue.toPortablePath(ke):null,Te=ee(ue.toPortablePath(Re),He,xe);return Te===null?null:ue.fromPortablePath(Te)}),resolveUnqualified:L("resolveUnqualified",(Re,ke)=>ue.fromPortablePath(Fe(ue.toPortablePath(Re),ke))),resolveRequest:L("resolveRequest",(Re,ke,xe)=>{let He=ke!==null?ue.toPortablePath(ke):null,Te=H(ue.toPortablePath(Re),He,xe);return Te===null?null:ue.fromPortablePath(Te)}),resolveVirtual:L("resolveVirtual",Re=>{let ke=at(ue.toPortablePath(Re));return ke!==null?ue.fromPortablePath(ke):null})}}St();var zIe=(t,e,r)=>{let o=ZB(t),a=jq(o,{basePath:e}),n=ue.join(e,dr.pnpCjs);return ej(a,{fakeFs:r,pnpapiResolution:n})};var rj=$e(ZIe());qt();var yA={};Vt(yA,{checkManifestCompatibility:()=>$Ie,extractBuildRequest:()=>IQ,getExtractHint:()=>nj,hasBindingGyp:()=>ij});Ye();St();function $Ie(t){return W.isPackageCompatible(t,Ji.getArchitectureSet())}function IQ(t,e,r,{configuration:o}){let a=[];for(let n of["preinstall","install","postinstall"])e.manifest.scripts.has(n)&&a.push({type:0,script:n});return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&a.push({type:1,script:"node-gyp rebuild"}),a.length===0?null:t.linkType!=="HARD"?{skipped:!0,explain:n=>n.reportWarningOnce(6,`${W.prettyLocator(o,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`)}:r&&r.built===!1?{skipped:!0,explain:n=>n.reportInfoOnce(5,`${W.prettyLocator(o,t)} lists build scripts, but its build has been explicitly disabled through configuration.`)}:!o.get("enableScripts")&&!r.built?{skipped:!0,explain:n=>n.reportWarningOnce(4,`${W.prettyLocator(o,t)} lists build scripts, but all build scripts have been disabled.`)}:$Ie(t)?{skipped:!1,directives:a}:{skipped:!0,explain:n=>n.reportWarningOnce(76,`${W.prettyLocator(o,t)} The ${Ji.getArchitectureName()} architecture is incompatible with this package, build skipped.`)}}var qIt=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function nj(t){return t.packageFs.getExtractHint({relevantExtensions:qIt})}function ij(t){let e=V.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var av={};Vt(av,{getUnpluggedPath:()=>ov});Ye();St();function ov(t,{configuration:e}){return V.resolve(e.get("pnpUnpluggedFolder"),W.slugifyLocator(t))}var jIt=new Set([W.makeIdent(null,"open").identHash,W.makeIdent(null,"opn").identHash]),P0=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let o=b0(r.project).cjs;if(!oe.existsSync(o))throw new it(`The project in ${de.pretty(r.project.configuration,`${r.project.cwd}/package.json`,de.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=_e.getFactoryWithDefault(this.pnpCache,o,()=>_e.dynamicRequire(o,{cachingStrategy:_e.CachingStrategy.FsTime})),n={name:W.stringifyIdent(e),reference:e.reference},u=a.getPackageInformation(n);if(!u)throw new it(`Couldn't find ${W.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return ue.toPortablePath(u.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=b0(r.project).cjs;if(!oe.existsSync(o))return null;let n=_e.getFactoryWithDefault(this.pnpCache,o,()=>_e.dynamicRequire(o,{cachingStrategy:_e.CachingStrategy.FsTime})).findPackageLocator(ue.fromPortablePath(e));return n?W.makeLocator(W.parseIdent(n.name),n.reference):null}makeInstaller(e){return new mm(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},mm=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new _e.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}attachCustomData(e){this.customData=e}async installPackage(e,r,o){let a=W.stringifyIdent(e),n=e.reference,u=!!this.opts.project.tryWorkspaceByLocator(e),A=W.isVirtualLocator(e),p=e.peerDependencies.size>0&&!A,h=!p&&!u,E=!p&&e.linkType!=="SOFT",I,v;if(h||E){let te=A?W.devirtualizeLocator(e):e;I=this.customData.store.get(te.locatorHash),typeof I>"u"&&(I=await GIt(r),e.linkType==="HARD"&&this.customData.store.set(te.locatorHash,I)),I.manifest.type==="module"&&(this.isESMLoaderRequired=!0),v=this.opts.project.getDependencyMeta(te,e.version)}let x=h?IQ(e,I,v,{configuration:this.opts.project.configuration}):null,C=E?await this.unplugPackageIfNeeded(e,I,r,v,o):r.packageFs;if(V.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let R=V.resolve(C.getRealPath(),r.prefixPath),L=sj(this.opts.project.cwd,R),U=new Map,J=new Set;if(A){for(let te of e.peerDependencies.values())U.set(W.stringifyIdent(te),null),J.add(W.stringifyIdent(te));if(!u){let te=W.devirtualizeLocator(e);this.virtualTemplates.set(te.locatorHash,{location:sj(this.opts.project.cwd,mi.resolveVirtual(R)),locator:te})}}return _e.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:L,packageDependencies:U,packagePeers:J,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:R,buildRequest:x}}async attachInternalDependencies(e,r){let o=this.getPackageInformation(e);for(let[a,n]of r){let u=W.areIdentsEqual(a,n)?n.reference:[W.stringifyIdent(n),n.reference];o.packageDependencies.set(W.stringifyIdent(a),u)}}async attachExternalDependents(e,r){for(let o of r)this.getDiskInformation(o).packageDependencies.set(W.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=b0(this.opts.project);if(this.isEsmEnabled()||await oe.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await oe.removePromise(e.cjs),await oe.removePromise(e.data),await oe.removePromise(e.esmLoader),await oe.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:E,location:I}of this.virtualTemplates.values())_e.getMapWithDefault(this.packageRegistry,W.stringifyIdent(E)).set(E.reference,{packageLocation:I,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 r=this.opts.project.configuration.get("pnpFallbackMode"),o=this.opts.project.workspaces.map(({anchoredLocator:E})=>({name:W.stringifyIdent(E),reference:E.reference})),a=r!=="none",n=[],u=new Map,A=_e.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let E of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(E)&&n.push({name:W.stringifyIdent(E),reference:E.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:o,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:u,ignorePattern:A,packageRegistry:p,shebang:h}),{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 r=b0(this.opts.project),o=await this.locateNodeModules(e.ignorePattern);if(o.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 n of o)await oe.removePromise(n)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let n=SIe(e);await oe.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await oe.removePromise(r.data)}else{let{dataFile:n,loaderFile:u}=PIe(e);await oe.changeFilePromise(r.cjs,u,{automaticNewlines:!0,mode:493}),await oe.changeFilePromise(r.data,n,{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 oe.changeFilePromise(r.esmLoader,(0,rj.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await oe.removePromise(a);else for(let n of await oe.readdirPromise(a)){let u=V.resolve(a,n);this.unpluggedPaths.has(u)||await oe.removePromise(u)}}async locateNodeModules(e){let r=[],o=e?new RegExp(e):null;for(let a of this.opts.project.workspaces){let n=V.join(a.cwd,"node_modules");if(o&&o.test(V.relative(this.opts.project.cwd,a.cwd))||!oe.existsSync(n))continue;let u=await oe.readdirPromise(n,{withFileTypes:!0}),A=u.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(A.length===u.length)r.push(n);else for(let p of A)r.push(V.join(n,p.name))}return r}async unplugPackageIfNeeded(e,r,o,a,n){return this.shouldBeUnplugged(e,r,a)?this.unplugPackage(e,o,n):o.packageFs}shouldBeUnplugged(e,r,o){return typeof o.unplugged<"u"?o.unplugged:jIt.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(IQ(e,r,o,{configuration:this.opts.project.configuration})?.skipped===!1||r.misc.extractHint)}async unplugPackage(e,r,o){let a=ov(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new Uu(a,{baseFs:r.packageFs,pathUtils:V}):(this.unpluggedPaths.add(a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let n=V.join(a,r.prefixPath,".ready");await oe.existsPromise(n)||(this.opts.project.storedBuildState.delete(e.locatorHash),await oe.mkdirPromise(a,{recursive:!0}),await oe.copyPromise(a,Bt.dot,{baseFs:r.packageFs,overwrite:!1}),await oe.writeFilePromise(n,""))})),new gn(a))}getPackageInformation(e){let r=W.stringifyIdent(e),o=e.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${W.prettyIdent(this.opts.project.configuration,e)})`);let n=a.get(o);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${W.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){let r=_e.getMapWithDefault(this.packageRegistry,"@@disk"),o=sj(this.opts.project.cwd,e);return _e.getFactoryWithDefault(r,o,()=>({packageLocation:o,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function sj(t,e){let r=V.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function GIt(t){let e=await Ot.tryFind(t.prefixPath,{baseFs:t.packageFs})??new Ot,r=new Set(["preinstall","install","postinstall"]);for(let o of e.scripts.keys())r.has(o)||e.scripts.delete(o);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:nj(t),hasBindingGyp:ij(t)}}}Ye();Ye();qt();var e1e=$e(Zo());var x0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a)throw new rr(o.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new it("This command can only be used if the `nodeLinker` option is set to `pnp`");await o.restoreInstallState();let u=new Set(this.patterns),A=this.patterns.map(x=>{let C=W.parseDescriptor(x),R=C.range!=="unknown"?C:W.makeDescriptor(C,"*");if(!kr.validRange(R.range))throw new it(`The range of the descriptor patterns must be a valid semver range (${W.prettyDescriptor(r,R)})`);return L=>{let U=W.stringifyIdent(L);return!e1e.default.isMatch(U,W.stringifyIdent(R))||L.version&&!kr.satisfiesWithPrereleases(L.version,R.range)?!1:(u.delete(x),!0)}}),p=()=>{let x=[];for(let C of o.storedPackages.values())!o.tryWorkspaceByLocator(C)&&!W.isVirtualLocator(C)&&A.some(R=>R(C))&&x.push(C);return x},h=x=>{let C=new Set,R=[],L=(U,J)=>{if(C.has(U.locatorHash))return;let te=!!o.tryWorkspaceByLocator(U);if(!(J>0&&!this.recursive&&te)&&(C.add(U.locatorHash),!o.tryWorkspaceByLocator(U)&&A.some(ae=>ae(U))&&R.push(U),!(J>0&&!this.recursive)))for(let ae of U.dependencies.values()){let fe=o.storedResolutions.get(ae.descriptorHash);if(!fe)throw new Error("Assertion failed: The resolution should have been registered");let ce=o.storedPackages.get(fe);if(!ce)throw new Error("Assertion failed: The package should have been registered");L(ce,J+1)}};for(let U of x)L(U.anchoredPackage,0);return R},E,I;if(this.all&&this.recursive?(E=p(),I="the project"):this.all?(E=h(o.workspaces),I="any workspace"):(E=h([a]),I="this workspace"),u.size>1)throw new it(`Patterns ${de.prettyList(r,u,de.Type.CODE)} don't match any packages referenced by ${I}`);if(u.size>0)throw new it(`Pattern ${de.prettyList(r,u,de.Type.CODE)} doesn't match any packages referenced by ${I}`);E=_e.sortMap(E,x=>W.stringifyLocator(x));let v=await Nt.start({configuration:r,stdout:this.context.stdout,json:this.json},async x=>{for(let C of E){let R=C.version??"unknown",L=o.topLevelWorkspace.manifest.ensureDependencyMeta(W.makeDescriptor(C,R));L.unplugged=!0,x.reportInfo(0,`Will unpack ${W.prettyLocator(r,C)} to ${de.pretty(r,ov(C,{configuration:r}),de.Type.PATH)}`),x.reportJson({locator:W.stringifyLocator(C),version:R})}await o.topLevelWorkspace.persistManifest(),this.json||x.reportSeparator()});return v.hasErrors()?v.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};x0.paths=[["unplug"]],x0.usage=nt.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 b0=t=>({cjs:V.join(t.cwd,dr.pnpCjs),data:V.join(t.cwd,dr.pnpData),esmLoader:V.join(t.cwd,dr.pnpEsmLoader)}),r1e=t=>/\s/.test(t)?JSON.stringify(t):t;async function YIt(t,e,r){let o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/,n=(e.NODE_OPTIONS??"").replace(o," ").replace(a," ").trim();if(t.configuration.get("nodeLinker")!=="pnp"){e.NODE_OPTIONS=n;return}let u=b0(t),A=`--require ${r1e(ue.fromPortablePath(u.cjs))}`;oe.existsSync(u.esmLoader)&&(A=`${A} --experimental-loader ${(0,t1e.pathToFileURL)(ue.fromPortablePath(u.esmLoader)).href}`),oe.existsSync(u.cjs)&&(e.NODE_OPTIONS=n?`${A} ${n}`:A)}async function WIt(t,e){let r=b0(t);e(r.cjs),e(r.data),e(r.esmLoader),e(t.configuration.get("pnpUnpluggedFolder"))}var KIt={hooks:{populateYarnPaths:WIt,setupScriptEnvironment:YIt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "pnpm", or "node-modules"',type:"STRING",default:"pnp"},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},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"}},linkers:[P0],commands:[x0]},VIt=KIt;var u1e=$e(a1e());qt();var pj=$e(ve("crypto")),A1e=$e(ve("fs")),f1e=1,Si="node_modules",BQ=".bin",p1e=".yarn-state.yml",A1t=1e3,hj=(o=>(o.CLASSIC="classic",o.HARDLINKS_LOCAL="hardlinks-local",o.HARDLINKS_GLOBAL="hardlinks-global",o))(hj||{}),lv=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let o=r.project.tryWorkspaceByLocator(e);if(o)return o.cwd;let a=await _e.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await fj(r.project,{unrollAliases:!0}));if(a===null)throw new it("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(W.stringifyLocator(e));if(!n){let p=new it(`Couldn't find ${W.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let u=n.locations.sort((p,h)=>p.split(V.sep).length-h.split(V.sep).length),A=V.join(r.project.configuration.startingCwd,Si);return u.find(p=>V.contains(A,p))||n.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=await _e.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await fj(r.project,{unrollAliases:!0}));if(o===null)return null;let{locationRoot:a,segments:n}=vQ(V.resolve(e),{skipPrefix:r.project.cwd}),u=o.locationTree.get(a);if(!u)return null;let A=u.locator;for(let p of n){if(u=u.children.get(p),!u)break;A=u.locator||A}return W.parseLocator(A)}makeInstaller(e){return new Aj(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},Aj=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(e){this.customData=e}async installPackage(e,r){let o=V.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(e.locatorHash);if(typeof a>"u"&&(a=await f1t(e,r),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,a)),!W.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildRequest:null};let n=new Map,u=new Set;n.has(W.stringifyIdent(e))||n.set(W.stringifyIdent(e),e.reference);let A=e;if(W.isVirtualLocator(e)){A=W.devirtualizeLocator(e);for(let E of e.peerDependencies.values())n.set(W.stringifyIdent(E),null),u.add(W.stringifyIdent(E))}let p={packageLocation:`${ue.fromPortablePath(o)}/`,packageDependencies:n,packagePeers:u,linkType:e.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(A.locatorHash,h),{packageLocation:o,buildRequest:null}}async attachInternalDependencies(e,r){let o=this.localStore.get(e.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let u=W.areIdentsEqual(a,n)?n.reference:[W.stringifyIdent(n),n.reference];o.pnpNode.packageDependencies.set(W.stringifyIdent(a),u)}}async attachExternalDependents(e,r){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 mi({baseFs:new Jl({maxOpenFiles:80,readOnlyArchives:!0})}),r=await fj(this.opts.project),o=this.opts.project.configuration.get("nmMode");(r===null||o!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:o,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(v=>{let x=this.opts.project.configuration.get("nmHoistingLimits");try{x=_e.validateEnum(JB,v.manifest.installConfig?.hoistingLimits??x)}catch{let R=W.prettyWorkspace(this.opts.project.configuration,v);this.opts.report.reportWarning(57,`${R}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(JB).join(", ")}, using default: "${x}"`)}return[v.relativeCwd,x]})),n=new Map(this.opts.project.workspaces.map(v=>{let x=this.opts.project.configuration.get("nmSelfReferences");return x=v.manifest.installConfig?.selfReferences??x,[v.relativeCwd,x]})),u={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(v,x)=>Array.isArray(x)?{name:x[0],reference:x[1]}:{name:v,reference:x},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(v=>{let x=v.anchoredLocator;return{name:W.stringifyIdent(x),reference:x.reference}}),getPackageInformation:v=>{let x=v.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:W.makeLocator(W.parseIdent(v.name),v.reference),C=this.localStore.get(x.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return C.pnpNode},findPackageLocator:v=>{let x=this.opts.project.tryWorkspaceByCwd(ue.toPortablePath(v));if(x!==null){let C=x.anchoredLocator;return{name:W.stringifyIdent(C),reference:C.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:v=>ue.fromPortablePath(mi.resolveVirtual(ue.toPortablePath(v)))},{tree:A,errors:p,preserveSymlinksRequired:h}=zB(u,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!A){for(let{messageName:v,text:x}of p)this.opts.report.reportError(v,x);return}let E=Hq(A);await y1t(r,E,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async v=>{let x=W.parseLocator(v),C=this.localStore.get(x.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");return C.customPackageData.manifest}});let I=[];for(let[v,x]of E.entries()){if(m1e(v))continue;let C=W.parseLocator(v),R=this.localStore.get(C.locatorHash);if(typeof R>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(R.pkg))continue;let L=yA.extractBuildRequest(R.pkg,R.customPackageData,R.dependencyMeta,{configuration:this.opts.project.configuration});!L||I.push({buildLocations:x.locations,locator:C,buildRequest:L})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${de.pretty(this.opts.project.configuration,"--preserve-symlinks",de.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:I}}};async function f1t(t,e){let r=await Ot.tryFind(e.prefixPath,{baseFs:e.packageFs})??new Ot,o=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())o.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:yA.hasBindingGyp(e)}}}async function p1t(t,e,r,o,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${f1e} +`,n+=` nmMode: ${o.value} +`;let u=Array.from(e.keys()).sort(),A=W.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let E of u){let I=e.get(E);n+=` +`,n+=`${JSON.stringify(E)}: +`,n+=` locations: +`;for(let v of I.locations){let x=V.contains(t.cwd,v);if(x===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` - ${JSON.stringify(x)} +`}if(I.aliases.length>0){n+=` aliases: +`;for(let v of I.aliases)n+=` - ${JSON.stringify(v)} +`}if(E===A&&r.size>0){n+=` bin: +`;for(let[v,x]of r){let C=V.contains(t.cwd,v);if(C===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` ${JSON.stringify(C)}: +`;for(let[R,L]of x){let U=V.relative(V.join(v,Si),L);n+=` ${JSON.stringify(R)}: ${JSON.stringify(U)} +`}}}}let p=t.cwd,h=V.join(p,Si,p1e);a&&await oe.removePromise(h),await oe.changeFilePromise(h,n,{automaticNewlines:!0})}async function fj(t,{unrollAliases:e=!1}={}){let r=t.cwd,o=V.join(r,Si,p1e),a;try{a=await oe.statPromise(o)}catch{}if(!a)return null;let n=Ki(await oe.readFilePromise(o,"utf8"));if(n.__metadata.version>f1e)return null;let u=n.__metadata.nmMode||"classic",A=new Map,p=new Map;delete n.__metadata;for(let[h,E]of Object.entries(n)){let I=E.locations.map(x=>V.join(r,x)),v=E.bin;if(v)for(let[x,C]of Object.entries(v)){let R=V.join(r,ue.toPortablePath(x)),L=_e.getMapWithDefault(p,R);for(let[U,J]of Object.entries(C))L.set(U,ue.toPortablePath([R,Si,J].join(V.sep)))}if(A.set(h,{target:Bt.dot,linkType:"HARD",locations:I,aliases:E.aliases||[]}),e&&E.aliases)for(let x of E.aliases){let{scope:C,name:R}=W.parseLocator(h),L=W.makeLocator(W.makeIdent(C,R),x),U=W.stringifyLocator(L);A.set(U,{target:Bt.dot,linkType:"HARD",locations:I,aliases:[]})}}return{locatorMap:A,binSymlinks:p,locationTree:h1e(A,{skipPrefix:t.cwd}),nmMode:u,mtimeMs:a.mtimeMs}}var WC=async(t,e)=>{if(t.split(V.sep).indexOf(Si)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let o=e.allowSymlink?await oe.statPromise(t):await oe.lstatPromise(t);if(e.allowSymlink&&!o.isDirectory()||!e.allowSymlink&&o.isSymbolicLink()){await oe.unlinkPromise(t);return}}let r=await oe.readdirPromise(t,{withFileTypes:!0});for(let o of r){let a=V.join(t,o.name);o.isDirectory()?(o.name!==Si||e&&e.innerLoop)&&await WC(a,{innerLoop:!0,contentsOnly:!1}):await oe.unlinkPromise(a)}e.contentsOnly||await oe.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},l1e=4,vQ=(t,{skipPrefix:e})=>{let r=V.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let o=r.split(V.sep).filter(p=>p!==""),a=o.indexOf(Si),n=o.slice(0,a).join(V.sep),u=V.join(e,n),A=o.slice(a);return{locationRoot:u,segments:A}},h1e=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let o=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&V.contains(e,n.target)!==null){let A=_e.getFactoryWithDefault(r,n.target,o);A.locator=a,A.linkType=n.linkType}for(let u of n.locations){let{locationRoot:A,segments:p}=vQ(u,{skipPrefix:e}),h=_e.getFactoryWithDefault(r,A,o);for(let E=0;E{if(process.platform==="win32"&&r==="junctions"){let o;try{o=await oe.lstatPromise(t)}catch{}if(!o||o.isDirectory()){await oe.symlinkPromise(t,e,"junction");return}}await oe.symlinkPromise(V.relative(V.dirname(e),t),e)};async function g1e(t,e,r){let o=V.join(t,`${pj.default.randomBytes(16).toString("hex")}.tmp`);try{await oe.writeFilePromise(o,r);try{await oe.linkPromise(o,e)}catch{}}finally{await oe.unlinkPromise(o)}}async function h1t({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:o,baseFs:a,nmMode:n}){if(r.kind===d1e.FILE){if(n.value==="hardlinks-global"&&o&&r.digest){let A=V.join(o,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await oe.statPromise(A);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs(o.FILE="file",o.DIRECTORY="directory",o.SYMLINK="symlink",o))(d1e||{}),g1t=async(t,e,{baseFs:r,globalHardlinksStore:o,nmMode:a,windowsLinkType:n,packageChecksum:u})=>{await oe.mkdirPromise(t,{recursive:!0});let A=async(E=Bt.dot)=>{let I=V.join(e,E),v=await r.readdirPromise(I,{withFileTypes:!0}),x=new Map;for(let C of v){let R=V.join(E,C.name),L,U=V.join(I,C.name);if(C.isFile()){if(L={kind:"file",mode:(await r.lstatPromise(U)).mode},a.value==="hardlinks-global"){let J=await wn.checksumFile(U,{baseFs:r,algorithm:"sha1"});L.digest=J}}else if(C.isDirectory())L={kind:"directory"};else if(C.isSymbolicLink())L={kind:"symlink",symlinkTo:await r.readlinkPromise(U)};else throw new Error(`Unsupported file type (file: ${U}, mode: 0o${await r.statSync(U).mode.toString(8).padStart(6,"0")})`);if(x.set(R,L),C.isDirectory()&&R!==Si){let J=await A(R);for(let[te,ae]of J)x.set(te,ae)}}return x},p;if(a.value==="hardlinks-global"&&o&&u){let E=V.join(o,u.substring(0,2),`${u.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await oe.readFilePromise(E,"utf8"))))}catch{p=await A()}}else p=await A();let h=!1;for(let[E,I]of p){let v=V.join(e,E),x=V.join(t,E);if(I.kind==="directory")await oe.mkdirPromise(x,{recursive:!0});else if(I.kind==="file"){let C=I.mtimeMs;await h1t({srcPath:v,dstPath:x,entry:I,nmMode:a,baseFs:r,globalHardlinksStore:o}),I.mtimeMs!==C&&(h=!0)}else I.kind==="symlink"&&await gj(V.resolve(V.dirname(x),I.symlinkTo),x,n)}if(a.value==="hardlinks-global"&&o&&h&&u){let E=V.join(o,u.substring(0,2),`${u.substring(2)}.json`);await oe.removePromise(E),await g1e(o,E,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function d1t(t,e,r,o){let a=new Map,n=new Map,u=new Map,A=!1,p=(h,E,I,v,x)=>{let C=!0,R=V.join(h,E),L=new Set;if(E===Si||E.startsWith("@")){let J;try{J=oe.statSync(R)}catch{}C=!!J,J?J.mtimeMs>r?(A=!0,L=new Set(oe.readdirSync(R))):L=new Set(I.children.get(E).children.keys()):A=!0;let te=e.get(h);if(te){let ae=V.join(h,Si,BQ),fe;try{fe=oe.statSync(ae)}catch{}if(!fe)A=!0;else if(fe.mtimeMs>r){A=!0;let ce=new Set(oe.readdirSync(ae)),me=new Map;n.set(h,me);for(let[he,Be]of te)ce.has(he)&&me.set(he,Be)}else n.set(h,te)}}else C=x.has(E);let U=I.children.get(E);if(C){let{linkType:J,locator:te}=U,ae={children:new Map,linkType:J,locator:te};if(v.children.set(E,ae),te){let fe=_e.getSetWithDefault(u,te);fe.add(R),u.set(te,fe)}for(let fe of U.children.keys())p(R,fe,U,ae,L)}else U.locator&&o.storedBuildState.delete(W.parseLocator(U.locator).locatorHash)};for(let[h,E]of t){let{linkType:I,locator:v}=E,x={children:new Map,linkType:I,locator:v};if(a.set(h,x),v){let C=_e.getSetWithDefault(u,E.locator);C.add(h),u.set(E.locator,C)}E.children.has(Si)&&p(h,Si,E,x,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:u,installChangedByUser:A}}function m1e(t){let e=W.parseDescriptor(t);return W.isVirtualDescriptor(e)&&(e=W.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function m1t(t,e,r,{loadManifest:o}){let a=new Map;for(let[A,{locations:p}]of t){let h=m1e(A)?null:await o(A,p[0]),E=new Map;if(h)for(let[I,v]of h.bin){let x=V.join(p[0],v);v!==""&&oe.existsSync(x)&&E.set(I,v)}a.set(A,E)}let n=new Map,u=(A,p,h)=>{let E=new Map,I=V.contains(r,A);if(h.locator&&I!==null){let v=a.get(h.locator);for(let[x,C]of v){let R=V.join(A,ue.toPortablePath(C));E.set(x,R)}for(let[x,C]of h.children){let R=V.join(A,x),L=u(R,R,C);L.size>0&&n.set(A,new Map([...n.get(A)||new Map,...L]))}}else for(let[v,x]of h.children){let C=u(V.join(A,v),p,x);for(let[R,L]of C)E.set(R,L)}return E};for(let[A,p]of e){let h=u(A,A,p);h.size>0&&n.set(A,new Map([...n.get(A)||new Map,...h]))}return n}var c1e=(t,e)=>{if(!t||!e)return t===e;let r=W.parseLocator(t);W.isVirtualLocator(r)&&(r=W.devirtualizeLocator(r));let o=W.parseLocator(e);return W.isVirtualLocator(o)&&(o=W.devirtualizeLocator(o)),W.areLocatorsEqual(r,o)};function dj(t){return V.join(t.get("globalFolder"),"store")}async function y1t(t,e,{baseFs:r,project:o,report:a,loadManifest:n,realLocatorChecksums:u}){let A=V.join(o.cwd,Si),{locationTree:p,binSymlinks:h,locatorLocations:E,installChangedByUser:I}=d1t(t.locationTree,t.binSymlinks,t.mtimeMs,o),v=h1e(e,{skipPrefix:o.cwd}),x=[],C=async({srcDir:Be,dstDir:we,linkType:g,globalHardlinksStore:Ee,nmMode:Se,windowsLinkType:le,packageChecksum:ne})=>{let ee=(async()=>{try{g==="SOFT"?(await oe.mkdirPromise(V.dirname(we),{recursive:!0}),await gj(V.resolve(Be),we,le)):await g1t(we,Be,{baseFs:r,globalHardlinksStore:Ee,nmMode:Se,windowsLinkType:le,packageChecksum:ne})}catch(Ie){throw Ie.message=`While persisting ${Be} -> ${we} ${Ie.message}`,Ie}finally{ae.tick()}})().then(()=>x.splice(x.indexOf(ee),1));x.push(ee),x.length>l1e&&await Promise.race(x)},R=async(Be,we,g)=>{let Ee=(async()=>{let Se=async(le,ne,ee)=>{try{ee.innerLoop||await oe.mkdirPromise(ne,{recursive:!0});let Ie=await oe.readdirPromise(le,{withFileTypes:!0});for(let Fe of Ie){if(!ee.innerLoop&&Fe.name===BQ)continue;let At=V.join(le,Fe.name),H=V.join(ne,Fe.name);Fe.isDirectory()?(Fe.name!==Si||ee&&ee.innerLoop)&&(await oe.mkdirPromise(H,{recursive:!0}),await Se(At,H,{...ee,innerLoop:!0})):me.value==="hardlinks-local"||me.value==="hardlinks-global"?await oe.linkPromise(At,H):await oe.copyFilePromise(At,H,A1e.default.constants.COPYFILE_FICLONE)}}catch(Ie){throw ee.innerLoop||(Ie.message=`While cloning ${le} -> ${ne} ${Ie.message}`),Ie}finally{ee.innerLoop||ae.tick()}};await Se(Be,we,g)})().then(()=>x.splice(x.indexOf(Ee),1));x.push(Ee),x.length>l1e&&await Promise.race(x)},L=async(Be,we,g)=>{if(g)for(let[Ee,Se]of we.children){let le=g.children.get(Ee);await L(V.join(Be,Ee),Se,le)}else{we.children.has(Si)&&await WC(V.join(Be,Si),{contentsOnly:!1});let Ee=V.basename(Be)===Si&&v.has(V.join(V.dirname(Be),V.sep));await WC(Be,{contentsOnly:Be===A,allowSymlink:Ee})}};for(let[Be,we]of p){let g=v.get(Be);for(let[Ee,Se]of we.children){if(Ee===".")continue;let le=g&&g.children.get(Ee),ne=V.join(Be,Ee);await L(ne,Se,le)}}let U=async(Be,we,g)=>{if(g){c1e(we.locator,g.locator)||await WC(Be,{contentsOnly:we.linkType==="HARD"});for(let[Ee,Se]of we.children){let le=g.children.get(Ee);await U(V.join(Be,Ee),Se,le)}}else{we.children.has(Si)&&await WC(V.join(Be,Si),{contentsOnly:!0});let Ee=V.basename(Be)===Si&&v.has(V.join(V.dirname(Be),V.sep));await WC(Be,{contentsOnly:we.linkType==="HARD",allowSymlink:Ee})}};for(let[Be,we]of v){let g=p.get(Be);for(let[Ee,Se]of we.children){if(Ee===".")continue;let le=g&&g.children.get(Ee);await U(V.join(Be,Ee),Se,le)}}let J=new Map,te=[];for(let[Be,we]of E)for(let g of we){let{locationRoot:Ee,segments:Se}=vQ(g,{skipPrefix:o.cwd}),le=v.get(Ee),ne=Ee;if(le){for(let ee of Se)if(ne=V.join(ne,ee),le=le.children.get(ee),!le)break;if(le){let ee=c1e(le.locator,Be),Ie=e.get(le.locator),Fe=Ie.target,At=ne,H=Ie.linkType;if(ee)J.has(Fe)||J.set(Fe,At);else if(Fe!==At){let at=W.parseLocator(le.locator);W.isVirtualLocator(at)&&(at=W.devirtualizeLocator(at)),te.push({srcDir:Fe,dstDir:At,linkType:H,realLocatorHash:at.locatorHash})}}}}for(let[Be,{locations:we}]of e.entries())for(let g of we){let{locationRoot:Ee,segments:Se}=vQ(g,{skipPrefix:o.cwd}),le=p.get(Ee),ne=v.get(Ee),ee=Ee,Ie=e.get(Be),Fe=W.parseLocator(Be);W.isVirtualLocator(Fe)&&(Fe=W.devirtualizeLocator(Fe));let At=Fe.locatorHash,H=Ie.target,at=g;if(H===at)continue;let Re=Ie.linkType;for(let ke of Se)ne=ne.children.get(ke);if(!le)te.push({srcDir:H,dstDir:at,linkType:Re,realLocatorHash:At});else for(let ke of Se)if(ee=V.join(ee,ke),le=le.children.get(ke),!le){te.push({srcDir:H,dstDir:at,linkType:Re,realLocatorHash:At});break}}let ae=Xs.progressViaCounter(te.length),fe=a.reportProgress(ae),ce=o.configuration.get("nmMode"),me={value:ce},he=o.configuration.get("winLinkType");try{let Be=me.value==="hardlinks-global"?`${dj(o.configuration)}/v1`:null;if(Be&&!await oe.existsPromise(Be)){await oe.mkdirpPromise(Be);for(let g=0;g<256;g++)await oe.mkdirPromise(V.join(Be,g.toString(16).padStart(2,"0")))}for(let g of te)(g.linkType==="SOFT"||!J.has(g.srcDir))&&(J.set(g.srcDir,g.dstDir),await C({...g,globalHardlinksStore:Be,nmMode:me,windowsLinkType:he,packageChecksum:u.get(g.realLocatorHash)||null}));await Promise.all(x),x.length=0;for(let g of te){let Ee=J.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==Ee&&await R(Ee,g.dstDir,{nmMode:me})}await Promise.all(x),await oe.mkdirPromise(A,{recursive:!0});let we=await m1t(e,v,o.cwd,{loadManifest:n});await E1t(h,we,o.cwd,he),await p1t(o,e,we,me,{installChangedByUser:I}),ce=="hardlinks-global"&&me.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{fe.stop()}}async function E1t(t,e,r,o){for(let a of t.keys()){if(V.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!e.has(a)){let n=V.join(a,Si,BQ);await oe.removePromise(n)}}for(let[a,n]of e){if(V.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let u=V.join(a,Si,BQ),A=t.get(a)||new Map;await oe.mkdirPromise(u,{recursive:!0});for(let p of A.keys())n.has(p)||(await oe.removePromise(V.join(u,p)),process.platform==="win32"&&await oe.removePromise(V.join(u,`${p}.cmd`)));for(let[p,h]of n){let E=A.get(p),I=V.join(u,p);E!==h&&(process.platform==="win32"?await(0,u1e.default)(ue.fromPortablePath(h),ue.fromPortablePath(I),{createPwshFile:!1}):(await oe.removePromise(I),await gj(h,I,o),V.contains(r,await oe.realpathPromise(h))!==null&&await oe.chmodPromise(h,493)))}}}Ye();St();nA();var cv=class extends P0{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new mj(r)}},mj=class extends mm{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let o=new mi({baseFs:new Jl({maxOpenFiles:80,readOnlyArchives:!0})}),a=zIe(r,this.opts.project.cwd,o),{tree:n,errors:u}=zB(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:I,text:v}of u)this.opts.report.reportError(I,v);return}let A=new Map;r.fallbackPool=A;let p=(I,v)=>{let x=W.parseLocator(v.locator),C=W.stringifyIdent(x);C===I?A.set(I,x.reference):A.set(I,[C,x.reference])},h=V.join(this.opts.project.cwd,dr.nodeModules),E=n.get(h);if(!(typeof E>"u")){if("target"in E)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let I of E.dirList){let v=V.join(h,I),x=n.get(v);if(typeof x>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in x)p(I,x);else for(let C of x.dirList){let R=V.join(v,C),L=n.get(R);if(typeof L>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in L)p(`${I}/${C}`,L);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var C1t={hooks:{cleanGlobalArtifacts:async t=>{let e=dj(t);await oe.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevents packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:"Defines in which measure Yarn must use hardlinks and symlinks when generated `node_modules` directories.",type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"Defines whether the linker should generate self-referencing symlinks for workspaces.",type:"BOOLEAN",default:!0}},linkers:[lv,cv]},w1t=C1t;var dG={};Vt(dG,{NpmHttpFetcher:()=>fv,NpmRemapResolver:()=>pv,NpmSemverFetcher:()=>dl,NpmSemverResolver:()=>hv,NpmTagResolver:()=>gv,default:()=>Lvt,npmConfigUtils:()=>Zn,npmHttpUtils:()=>Zr,npmPublishUtils:()=>ow});Ye();var D1e=$e(zn());var Wn="npm:";var Zr={};Vt(Zr,{AuthType:()=>I1e,customPackageError:()=>ym,del:()=>R1t,get:()=>Em,getIdentUrl:()=>DQ,getPackageMetadata:()=>JC,handleInvalidAuthenticationError:()=>k0,post:()=>Q1t,put:()=>F1t});Ye();Ye();St();var wj=$e(f2()),C1e=$e(D_()),w1e=$e(zn());var Zn={};Vt(Zn,{RegistryType:()=>y1e,getAuditRegistry:()=>I1t,getAuthConfiguration:()=>Cj,getDefaultRegistry:()=>uv,getPublishRegistry:()=>B1t,getRegistryConfiguration:()=>E1e,getScopeConfiguration:()=>Ej,getScopeRegistry:()=>KC,normalizeRegistry:()=>oc});var y1e=(o=>(o.AUDIT_REGISTRY="npmAuditRegistry",o.FETCH_REGISTRY="npmRegistryServer",o.PUBLISH_REGISTRY="npmPublishRegistry",o))(y1e||{});function oc(t){return t.replace(/\/$/,"")}function I1t({configuration:t}){return uv({configuration:t,type:"npmAuditRegistry"})}function B1t(t,{configuration:e}){return t.publishConfig?.registry?oc(t.publishConfig.registry):t.name?KC(t.name.scope,{configuration:e,type:"npmPublishRegistry"}):uv({configuration:e,type:"npmPublishRegistry"})}function KC(t,{configuration:e,type:r="npmRegistryServer"}){let o=Ej(t,{configuration:e});if(o===null)return uv({configuration:e,type:r});let a=o.get(r);return a===null?uv({configuration:e,type:r}):oc(a)}function uv({configuration:t,type:e="npmRegistryServer"}){let r=t.get(e);return oc(r!==null?r:t.get("npmRegistryServer"))}function E1e(t,{configuration:e}){let r=e.get("npmRegistries"),o=oc(t),a=r.get(o);if(typeof a<"u")return a;let n=r.get(o.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}function Ej(t,{configuration:e}){if(t===null)return null;let o=e.get("npmScopes").get(t);return o||null}function Cj(t,{configuration:e,ident:r}){let o=r&&Ej(r.scope,{configuration:e});return o?.get("npmAuthIdent")||o?.get("npmAuthToken")?o:E1e(t,{configuration:e})||e}var I1e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(I1e||{});async function k0(t,{attemptedAs:e,registry:r,headers:o,configuration:a}){if(PQ(t))throw new zt(41,"Invalid OTP token");if(t.originalError?.name==="HTTPError"&&t.originalError?.response.statusCode===401)throw new zt(41,`Invalid authentication (${typeof e!="string"?`as ${await N1t(r,o,{configuration:a})}`:`attempted as ${e}`})`)}function ym(t,e){let r=t.response?.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${de.applyHyperlink(e,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function DQ(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}var B1e=new Map,v1t=new Map;async function D1t(t){return await _e.getFactoryWithDefault(B1e,t,async()=>{let e=null;try{e=await oe.readJsonPromise(t)}catch{}return e})}async function S1t(t,e,{configuration:r,cached:o,registry:a,headers:n,version:u,...A}){return await _e.getFactoryWithDefault(v1t,t,async()=>await Em(DQ(e),{...A,customErrorMessage:ym,configuration:r,registry:a,ident:e,headers:{...n,["If-None-Match"]:o?.etag,["If-Modified-Since"]:o?.lastModified},wrapNetworkRequest:async p=>async()=>{let h=await p();if(h.statusCode===304){if(o===null)throw new Error("Assertion failed: cachedMetadata should not be null");return{...h,body:o.metadata}}let E=P1t(JSON.parse(h.body.toString())),I={metadata:E,etag:h.headers.etag,lastModified:h.headers["last-modified"]};return B1e.set(t,Promise.resolve(I)),Promise.resolve().then(async()=>{let v=`${t}-${process.pid}.tmp`;await oe.mkdirPromise(V.dirname(v),{recursive:!0}),await oe.writeJsonPromise(v,I,{compact:!0}),await oe.renamePromise(v,t)}).catch(()=>{}),{...h,body:E}}}))}async function JC(t,{cache:e,project:r,registry:o,headers:a,version:n,...u}){let{configuration:A}=r;o=Av(A,{ident:t,registry:o});let p=x1t(A,o),h=V.join(p,`${W.slugifyIdent(t)}.json`),E=null;if(!r.lockfileNeedsRefresh&&(E=await D1t(h),E)){if(typeof n<"u"&&typeof E.metadata.versions[n]<"u")return E.metadata;if(A.get("enableOfflineMode")){let I=structuredClone(E.metadata),v=new Set;if(e){for(let C of Object.keys(I.versions)){let R=W.makeLocator(t,`npm:${C}`),L=e.getLocatorMirrorPath(R);(!L||!oe.existsSync(L))&&(delete I.versions[C],v.add(C))}let x=I["dist-tags"].latest;if(v.has(x)){let C=Object.keys(E.metadata.versions).sort(w1e.default.compare),R=C.indexOf(x);for(;v.has(C[R])&&R>=0;)R-=1;R>=0?I["dist-tags"].latest=C[R]:delete I["dist-tags"].latest}}return I}}return await S1t(h,t,{...u,configuration:A,cached:E,registry:o,headers:a,version:n})}var v1e=["name","dist.tarball","bin","scripts","os","cpu","libc","dependencies","dependenciesMeta","optionalDependencies","peerDependencies","peerDependenciesMeta","deprecated"];function P1t(t){return{"dist-tags":t["dist-tags"],versions:Object.fromEntries(Object.entries(t.versions).map(([e,r])=>[e,(0,C1e.default)(r,v1e)]))}}var b1t=wn.makeHash(...v1e).slice(0,6);function x1t(t,e){let r=k1t(t),o=new URL(e);return V.join(r,b1t,o.hostname)}function k1t(t){return V.join(t.get("globalFolder"),"metadata/npm")}async function Em(t,{configuration:e,headers:r,ident:o,authType:a,registry:n,...u}){n=Av(e,{ident:o,registry:n}),o&&o.scope&&typeof a>"u"&&(a=1);let A=await SQ(n,{authType:a,configuration:e,ident:o});A&&(r={...r,authorization:A});try{return await nn.get(t.charAt(0)==="/"?`${n}${t}`:t,{configuration:e,headers:r,...u})}catch(p){throw await k0(p,{registry:n,configuration:e,headers:r}),p}}async function Q1t(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=Av(o,{ident:n,registry:A});let E=await SQ(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...VC(p)});try{return await nn.post(A+t,e,{configuration:o,headers:a,...h})}catch(I){if(!PQ(I)||p)throw await k0(I,{attemptedAs:r,registry:A,configuration:o,headers:a}),I;p=await Ij(I,{configuration:o});let v={...a,...VC(p)};try{return await nn.post(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(x){throw await k0(x,{attemptedAs:r,registry:A,configuration:o,headers:a}),x}}}async function F1t(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=Av(o,{ident:n,registry:A});let E=await SQ(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...VC(p)});try{return await nn.put(A+t,e,{configuration:o,headers:a,...h})}catch(I){if(!PQ(I))throw await k0(I,{attemptedAs:r,registry:A,configuration:o,headers:a}),I;p=await Ij(I,{configuration:o});let v={...a,...VC(p)};try{return await nn.put(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(x){throw await k0(x,{attemptedAs:r,registry:A,configuration:o,headers:a}),x}}}async function R1t(t,{attemptedAs:e,configuration:r,headers:o,ident:a,authType:n=3,registry:u,otp:A,...p}){u=Av(r,{ident:a,registry:u});let h=await SQ(u,{authType:n,configuration:r,ident:a});h&&(o={...o,authorization:h}),A&&(o={...o,...VC(A)});try{return await nn.del(u+t,{configuration:r,headers:o,...p})}catch(E){if(!PQ(E)||A)throw await k0(E,{attemptedAs:e,registry:u,configuration:r,headers:o}),E;A=await Ij(E,{configuration:r});let I={...o,...VC(A)};try{return await nn.del(`${u}${t}`,{configuration:r,headers:I,...p})}catch(v){throw await k0(v,{attemptedAs:e,registry:u,configuration:r,headers:o}),v}}}function Av(t,{ident:e,registry:r}){if(typeof r>"u"&&e)return KC(e.scope,{configuration:t});if(typeof r!="string")throw new Error("Assertion failed: The registry should be a string");return oc(r)}async function SQ(t,{authType:e=2,configuration:r,ident:o}){let a=Cj(t,{configuration:r,ident:o}),n=T1t(a,e);if(!n)return null;let u=await r.reduceHook(A=>A.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:o});if(u)return u;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let A=a.get("npmAuthIdent");return A.includes(":")?`Basic ${Buffer.from(A).toString("base64")}`:`Basic ${A}`}if(n&&e!==1)throw new zt(33,"No authentication configured for request");return null}function T1t(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function N1t(t,e,{configuration:r}){if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(await nn.get(new URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function Ij(t,{configuration:e}){let r=t.originalError?.response.headers["npm-notice"];if(r&&(await Nt.start({configuration:e,stdout:process.stdout,includeFooter:!1},async a=>{if(a.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,de.pretty(e,"$1",de.Type.URL))),!process.env.YARN_IS_TEST_ENV){let n=r.match(/open (https?:\/\/\S+)/i);if(n&&Ji.openUrl){let{openNow:u}=await(0,wj.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});u&&(await Ji.openUrl(n[1])||(a.reportSeparator(),a.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` +`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:o}=await(0,wj.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` +`),o}function PQ(t){if(t.originalError?.name!=="HTTPError")return!1;try{return(t.originalError?.response.headers["www-authenticate"].split(/,\s*/).map(r=>r.toLowerCase())).includes("otp")}catch{return!1}}function VC(t){return{["npm-otp"]:t}}var fv=class{supports(e,r){if(!e.reference.startsWith(Wn))return!1;let{selector:o,params:a}=W.parseRange(e.reference);return!(!D1e.default.valid(o)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${W.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:W.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let{params:o}=W.parseRange(e.reference);if(o===null||typeof o.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await Em(o.__archiveUrl,{customErrorMessage:ym,configuration:r.project.configuration,ident:e});return await Xi.convertToZip(a,{configuration:r.project.configuration,prefixPath:W.getIdentVendorPath(e),stripComponents:1})}};Ye();var pv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Wn)||!W.tryParseDescriptor(e.range.slice(Wn.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){let o=r.project.configuration.normalizeDependency(W.parseDescriptor(e.range.slice(Wn.length),!0));return r.resolver.getResolutionDependencies(o,r)}async getCandidates(e,r,o){let a=o.project.configuration.normalizeDependency(W.parseDescriptor(e.range.slice(Wn.length),!0));return await o.resolver.getCandidates(a,r,o)}async getSatisfying(e,r,o,a){let n=a.project.configuration.normalizeDependency(W.parseDescriptor(e.range.slice(Wn.length),!0));return a.resolver.getSatisfying(n,r,o,a)}resolve(e,r){throw new Error("Unreachable")}};Ye();Ye();var S1e=$e(zn());var dl=class{supports(e,r){if(!e.reference.startsWith(Wn))return!1;let o=new URL(e.reference);return!(!S1e.default.valid(o.pathname)||o.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${W.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:W.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o;try{o=await Em(dl.getLocatorUrl(e),{customErrorMessage:ym,configuration:r.project.configuration,ident:e})}catch{o=await Em(dl.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:ym,configuration:r.project.configuration,ident:e})}return await Xi.convertToZip(o,{configuration:r.project.configuration,prefixPath:W.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:o}){let a=KC(e.scope,{configuration:o}),n=dl.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=kr.clean(e.reference.slice(Wn.length));if(r===null)throw new zt(10,"The npm semver resolver got selected, but the version isn't semver");return`${DQ(e)}/-/${e.name}-${r}.tgz`}};Ye();Ye();Ye();var Bj=$e(zn());var bQ=W.makeIdent(null,"node-gyp"),L1t=/\b(node-gyp|prebuild-install)\b/,hv=class{supportsDescriptor(e,r){return e.range.startsWith(Wn)?!!kr.validRange(e.range.slice(Wn.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Wn))return!1;let{selector:o}=W.parseRange(e.reference);return!!Bj.default.valid(o)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=kr.validRange(e.range.slice(Wn.length));if(a===null)throw new Error(`Expected a valid range, got ${e.range.slice(Wn.length)}`);let n=await JC(e,{cache:o.fetchOptions?.cache,project:o.project,version:Bj.default.valid(a.raw)?a.raw:void 0}),u=_e.mapAndFilter(Object.keys(n.versions),h=>{try{let E=new kr.SemVer(h);if(a.test(E))return E}catch{}return _e.mapAndFilter.skip}),A=u.filter(h=>!n.versions[h.raw].deprecated),p=A.length>0?A:u;return p.sort((h,E)=>-h.compare(E)),p.map(h=>{let E=W.makeLocator(e,`${Wn}${h.raw}`),I=n.versions[h.raw].dist.tarball;return dl.isConventionalTarballUrl(E,I,{configuration:o.project.configuration})?E:W.bindLocator(E,{__archiveUrl:I})})}async getSatisfying(e,r,o,a){let n=kr.validRange(e.range.slice(Wn.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Wn.length)}`);return{locators:_e.mapAndFilter(o,p=>{if(p.identHash!==e.identHash)return _e.mapAndFilter.skip;let h=W.tryParseRange(p.reference,{requireProtocol:Wn});if(!h)return _e.mapAndFilter.skip;let E=new kr.SemVer(h.selector);return n.test(E)?{locator:p,version:E}:_e.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(e,r){let{selector:o}=W.parseRange(e.reference),a=kr.clean(o);if(a===null)throw new zt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await JC(e,{cache:r.fetchOptions?.cache,project:r.project,version:a});if(!Object.hasOwn(n,"versions"))throw new zt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.hasOwn(n.versions,a))throw new zt(16,`Registry failed to return reference "${a}"`);let u=new Ot;if(u.load(n.versions[a]),!u.dependencies.has(bQ.identHash)&&!u.peerDependencies.has(bQ.identHash)){for(let A of u.scripts.values())if(A.match(L1t)){u.dependencies.set(bQ.identHash,W.makeDescriptor(bQ,"latest"));break}}return{...e,version:a,languageName:"node",linkType:"HARD",conditions:u.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(u.dependencies),peerDependencies:u.peerDependencies,dependenciesMeta:u.dependenciesMeta,peerDependenciesMeta:u.peerDependenciesMeta,bin:u.bin}}};Ye();Ye();var P1e=$e(zn());var gv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Wn)||!FE.test(e.range.slice(Wn.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(Wn.length),n=await JC(e,{cache:o.fetchOptions?.cache,project:o.project});if(!Object.hasOwn(n,"dist-tags"))throw new zt(15,'Registry returned invalid data - missing "dist-tags" field');let u=n["dist-tags"];if(!Object.hasOwn(u,a))throw new zt(16,`Registry failed to return tag "${a}"`);let A=u[a],p=W.makeLocator(e,`${Wn}${A}`),h=n.versions[A].dist.tarball;return dl.isConventionalTarballUrl(p,h,{configuration:o.project.configuration})?[p]:[W.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(e,r,o,a){let n=[];for(let u of o){if(u.identHash!==e.identHash)continue;let A=W.tryParseRange(u.reference,{requireProtocol:Wn});if(!(!A||!P1e.default.valid(A.selector))){if(A.params?.__archiveUrl){let p=W.makeRange({protocol:Wn,selector:A.selector,source:null,params:null}),[h]=await a.resolver.getCandidates(W.makeDescriptor(e,p),r,a);if(u.reference!==h.reference)continue}n.push(u)}}return{locators:n,sorted:!1}}async resolve(e,r){throw new Error("Unreachable")}};var ow={};Vt(ow,{getGitHead:()=>Tvt,getPublishAccess:()=>dBe,getReadmeContent:()=>mBe,makePublishBody:()=>Rvt});Ye();Ye();St();var AG={};Vt(AG,{PackCommand:()=>U0,default:()=>gvt,packUtils:()=>wA});Ye();Ye();Ye();St();qt();var wA={};Vt(wA,{genPackList:()=>XQ,genPackStream:()=>uG,genPackageManifest:()=>iBe,hasPackScripts:()=>lG,prepareForPack:()=>cG});Ye();St();var aG=$e(Zo()),rBe=$e(Z2e()),nBe=ve("zlib"),ivt=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],svt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function lG(t){return!!(un.hasWorkspaceScript(t,"prepack")||un.hasWorkspaceScript(t,"postpack"))}async function cG(t,{report:e},r){await un.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let o=V.join(t.cwd,Ot.fileName);await oe.existsPromise(o)&&await t.manifest.loadFile(o,{baseFs:oe}),await r()}finally{await un.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function uG(t,e){typeof e>"u"&&(e=await XQ(t));let r=new Set;for(let n of t.manifest.publishConfig?.executableFiles??new Set)r.add(V.normalize(n));for(let n of t.manifest.bin.values())r.add(V.normalize(n));let o=rBe.default.pack();process.nextTick(async()=>{for(let n of e){let u=V.normalize(n),A=V.resolve(t.cwd,u),p=V.join("package",u),h=await oe.lstatPromise(A),E={name:p,mtime:new Date(vi.SAFE_TIME*1e3)},I=r.has(u)?493:420,v,x,C=new Promise((L,U)=>{v=L,x=U}),R=L=>{L?x(L):v()};if(h.isFile()){let L;u==="package.json"?L=Buffer.from(JSON.stringify(await iBe(t),null,2)):L=await oe.readFilePromise(A),o.entry({...E,mode:I,type:"file"},L,R)}else h.isSymbolicLink()?o.entry({...E,mode:I,type:"symlink",linkname:await oe.readlinkPromise(A)},R):R(new Error(`Unsupported file type ${h.mode} for ${ue.fromPortablePath(u)}`));await C}o.finalize()});let a=(0,nBe.createGzip)();return o.pipe(a),a}async function iBe(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function XQ(t){let e=t.project,r=e.configuration,o={accept:[],reject:[]};for(let I of svt)o.reject.push(I);for(let I of ivt)o.accept.push(I);o.reject.push(r.get("rcFilename"));let a=I=>{if(I===null||!I.startsWith(`${t.cwd}/`))return;let v=V.relative(t.cwd,I),x=V.resolve(Bt.root,v);o.reject.push(x)};a(V.resolve(e.cwd,dr.lockfile)),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(I=>I.populateYarnPaths,e,I=>{a(I)});for(let I of e.workspaces){let v=V.relative(t.cwd,I.cwd);v!==""&&!v.match(/^(\.\.)?\//)&&o.reject.push(`/${v}`)}let n={accept:[],reject:[]},u=t.manifest.publishConfig?.main??t.manifest.main,A=t.manifest.publishConfig?.module??t.manifest.module,p=t.manifest.publishConfig?.browser??t.manifest.browser,h=t.manifest.publishConfig?.bin??t.manifest.bin;u!=null&&n.accept.push(V.resolve(Bt.root,u)),A!=null&&n.accept.push(V.resolve(Bt.root,A)),typeof p=="string"&&n.accept.push(V.resolve(Bt.root,p));for(let I of h.values())n.accept.push(V.resolve(Bt.root,I));if(p instanceof Map)for(let[I,v]of p.entries())n.accept.push(V.resolve(Bt.root,I)),typeof v=="string"&&n.accept.push(V.resolve(Bt.root,v));let E=t.manifest.files!==null;if(E){n.reject.push("/*");for(let I of t.manifest.files)sBe(n.accept,I,{cwd:Bt.root})}return await ovt(t.cwd,{hasExplicitFileList:E,globalList:o,ignoreList:n})}async function ovt(t,{hasExplicitFileList:e,globalList:r,ignoreList:o}){let a=[],n=new _u(t),u=[[Bt.root,[o]]];for(;u.length>0;){let[A,p]=u.pop(),h=await n.lstatPromise(A);if(!eBe(A,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let E=await n.readdirPromise(A),I=!1,v=!1;if(!e||A!==Bt.root)for(let R of E)I=I||R===".gitignore",v=v||R===".npmignore";let x=v?await $2e(n,A,".npmignore"):I?await $2e(n,A,".gitignore"):null,C=x!==null?[x].concat(p):p;eBe(A,{globalList:r,ignoreLists:p})&&(C=[...p,{accept:[],reject:["**/*"]}]);for(let R of E)u.push([V.resolve(A,R),C])}else(h.isFile()||h.isSymbolicLink())&&a.push(V.relative(Bt.root,A))}return a.sort()}async function $2e(t,e,r){let o={accept:[],reject:[]},a=await t.readFilePromise(V.join(e,r),"utf8");for(let n of a.split(/\n/g))sBe(o.reject,n,{cwd:e});return o}function avt(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=V.resolve(e,t)),r&&(t=`!${t}`),t}function sBe(t,e,{cwd:r}){let o=e.trim();o===""||o[0]==="#"||t.push(avt(o,{cwd:r}))}function eBe(t,{globalList:e,ignoreLists:r}){let o=zQ(t,e.accept);if(o!==0)return o===2;let a=zQ(t,e.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let u=zQ(t,n.accept);if(u!==0)return u===2;let A=zQ(t,n.reject);if(A!==0)return A===1}return!1}function zQ(t,e){let r=e,o=[];for(let a=0;a{await cG(a,{report:p},async()=>{p.reportJson({base:ue.fromPortablePath(a.cwd)});let h=await XQ(a);for(let E of h)p.reportInfo(null,ue.fromPortablePath(E)),p.reportJson({location:ue.fromPortablePath(E)});if(!this.dryRun){let E=await uG(a,h),I=oe.createWriteStream(u);E.pipe(I),await new Promise(v=>{I.on("finish",v)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${de.pretty(r,u,de.Type.PATH)}`),p.reportJson({output:ue.fromPortablePath(u)}))})).exitCode()}};U0.paths=[["pack"]],U0.usage=nt.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 lvt(t,{workspace:e}){let r=t.replace("%s",cvt(e)).replace("%v",uvt(e));return ue.toPortablePath(r)}function cvt(t){return t.manifest.name!==null?W.slugifyIdent(t.manifest.name):"package"}function uvt(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var Avt=["dependencies","devDependencies","peerDependencies"],fvt="workspace:",pvt=(t,e)=>{e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),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.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let o of Avt)for(let a of t.manifest.getForScope(o).values()){let n=r.tryWorkspaceByDescriptor(a),u=W.parseRange(a.range);if(u.protocol===fvt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new zt(21,`${W.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let A;W.areDescriptorsEqual(a,n.anchoredDescriptor)||u.selector==="*"?A=n.manifest.version??"0.0.0":u.selector==="~"||u.selector==="^"?A=`${u.selector}${n.manifest.version??"0.0.0"}`:A=u.selector;let p=o==="dependencies"?W.makeDescriptor(a,"unknown"):null,h=p!==null&&t.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":o;e[h][W.stringifyIdent(a)]=A}}},hvt={hooks:{beforeWorkspacePacking:pvt},commands:[U0]},gvt=hvt;var hBe=ve("crypto"),gBe=$e(pBe());async function Rvt(t,e,{access:r,tag:o,registry:a,gitHead:n}){let u=t.manifest.name,A=t.manifest.version,p=W.stringifyIdent(u),h=(0,hBe.createHash)("sha1").update(e).digest("hex"),E=gBe.default.fromData(e).toString(),I=r??dBe(t,u),v=await mBe(t),x=await wA.genPackageManifest(t),C=`${p}-${A}.tgz`,R=new URL(`${oc(a)}/${p}/-/${C}`);return{_id:p,_attachments:{[C]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:p,access:I,["dist-tags"]:{[o]:A},versions:{[A]:{...x,_id:`${p}@${A}`,name:p,version:A,gitHead:n,dist:{shasum:h,integrity:E,tarball:R.toString()}}},readme:v}}async function Tvt(t){try{let{stdout:e}=await Ur.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}function dBe(t,e){let r=t.project.configuration;return t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?t.manifest.publishConfig.access:r.get("npmPublishAccess")!==null?r.get("npmPublishAccess"):e.scope?"restricted":"public"}async function mBe(t){let e=ue.toPortablePath(`${t.cwd}/README.md`),r=t.manifest.name,a=`# ${W.stringifyIdent(r)} +`;try{a=await oe.readFilePromise(e,"utf8")}catch(n){if(n.code==="ENOENT")return a;throw n}return a}var gG={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}},yBe={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"}},Nvt={configuration:{...gG,...yBe,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...gG,...yBe}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:oc,valueDefinition:{description:"",type:"SHAPE",properties:{...gG}}}},fetchers:[fv,dl],resolvers:[pv,hv,gv]},Lvt=Nvt;var DG={};Vt(DG,{NpmAuditCommand:()=>H0,NpmInfoCommand:()=>q0,NpmLoginCommand:()=>j0,NpmLogoutCommand:()=>G0,NpmPublishCommand:()=>Y0,NpmTagAddCommand:()=>K0,NpmTagListCommand:()=>W0,NpmTagRemoveCommand:()=>V0,NpmWhoamiCommand:()=>J0,default:()=>jvt,npmAuditTypes:()=>Rv,npmAuditUtils:()=>ZQ});Ye();Ye();qt();var wG=$e(Zo());Za();var Rv={};Vt(Rv,{Environment:()=>Qv,Severity:()=>Fv});var Qv=(o=>(o.All="all",o.Production="production",o.Development="development",o))(Qv||{}),Fv=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(Fv||{});var ZQ={};Vt(ZQ,{allSeverities:()=>aw,getPackages:()=>CG,getReportTree:()=>yG,getSeverityInclusions:()=>mG,getTopLevelDependencies:()=>EG});Ye();var EBe=$e(zn());var aw=["info","low","moderate","high","critical"];function mG(t){if(typeof t>"u")return new Set(aw);let e=aw.indexOf(t),r=aw.slice(e);return new Set(r)}function yG(t){let e={},r={children:e};for(let[o,a]of _e.sortMap(Object.entries(t),n=>n[0]))for(let n of _e.sortMap(a,u=>`${u.id}`))e[`${o}/${n.id}`]={value:de.tuple(de.Type.IDENT,W.parseIdent(o)),children:{ID:typeof n.id<"u"&&{label:"ID",value:de.tuple(de.Type.ID,n.id)},Issue:{label:"Issue",value:de.tuple(de.Type.NO_HINT,n.title)},URL:typeof n.url<"u"&&{label:"URL",value:de.tuple(de.Type.URL,n.url)},Severity:{label:"Severity",value:de.tuple(de.Type.NO_HINT,n.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:de.tuple(de.Type.RANGE,n.vulnerable_versions)},["Tree Versions"]:{label:"Tree Versions",children:[...n.versions].sort(EBe.default.compare).map(u=>({value:de.tuple(de.Type.REFERENCE,u)}))},Dependents:{label:"Dependents",children:_e.sortMap(n.dependents,u=>W.stringifyLocator(u)).map(u=>({value:de.tuple(de.Type.LOCATOR,u)}))}}};return r}function EG(t,e,{all:r,environment:o}){let a=[],n=r?t.workspaces:[e],u=["all","production"].includes(o),A=["all","development"].includes(o);for(let p of n)for(let h of p.anchoredPackage.dependencies.values())(p.manifest.devDependencies.has(h.identHash)?!A:!u)||a.push({workspace:p,dependency:h});return a}function CG(t,e,{recursive:r}){let o=new Map,a=new Set,n=[],u=(A,p)=>{let h=t.storedResolutions.get(p.descriptorHash);if(typeof h>"u")throw new Error("Assertion failed: The resolution should have been registered");if(!a.has(h))a.add(h);else return;let E=t.storedPackages.get(h);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");if(W.ensureDevirtualizedLocator(E).reference.startsWith("npm:")&&E.version!==null){let v=W.stringifyIdent(E),x=_e.getMapWithDefault(o,v);_e.getArrayWithDefault(x,E.version).push(A)}if(r)for(let v of E.dependencies.values())n.push([E,v])};for(let{workspace:A,dependency:p}of e)n.push([A.anchoredLocator,p]);for(;n.length>0;){let[A,p]=n.shift();u(A,p)}return o}var H0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=ge.String("--environment","all",{description:"Which environments to cover",validator:Ks(Qv)});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.noDeprecations=ge.Boolean("--no-deprecations",!1,{description:"Don't warn about deprecated packages"});this.severity=ge.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Ks(Fv)});this.excludes=ge.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=ge.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=EG(o,a,{all:this.all,environment:this.environment}),u=CG(o,n,{recursive:this.recursive}),A=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes])),p=Object.create(null);for(let[L,U]of u)A.some(J=>wG.default.isMatch(L,J))||(p[L]=[...U.keys()]);let h=Zn.getAuditRegistry({configuration:r}),E,I=await AA.start({configuration:r,stdout:this.context.stdout},async()=>{let L=Zr.post("/-/npm/v1/security/advisories/bulk",p,{authType:Zr.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h}),U=this.noDeprecations?[]:await Promise.all(Array.from(Object.entries(p),async([te,ae])=>{let fe=await Zr.getPackageMetadata(W.parseIdent(te),{project:o});return _e.mapAndFilter(ae,ce=>{let{deprecated:me}=fe.versions[ce];return me?[te,ce,me]:_e.mapAndFilter.skip})})),J=await L;for(let[te,ae,fe]of U.flat(1))Object.hasOwn(J,te)&&J[te].some(ce=>kr.satisfiesWithPrereleases(ae,ce.vulnerable_versions))||(J[te]??=[],J[te].push({id:`${te} (deprecation)`,title:fe.trim()||"This package has been deprecated.",severity:"moderate",vulnerable_versions:ae}));E=J});if(I.hasErrors())return I.exitCode();let v=mG(this.severity),x=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores])),C=Object.create(null);for(let[L,U]of Object.entries(E)){let J=U.filter(te=>!wG.default.isMatch(`${te.id}`,x)&&v.has(te.severity));J.length>0&&(C[L]=J.map(te=>{let ae=u.get(L);if(typeof ae>"u")throw new Error("Assertion failed: Expected the registry to only return packages that were requested");let fe=[...ae.keys()].filter(me=>kr.satisfiesWithPrereleases(me,te.vulnerable_versions)),ce=new Map;for(let me of fe)for(let he of ae.get(me))ce.set(he.locatorHash,he);return{...te,versions:fe,dependents:[...ce.values()]}}))}let R=Object.keys(C).length>0;return R?($s.emitTree(yG(C),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async L=>{L.reportInfo(1,"No audit suggestions")}),R?1:0)}};H0.paths=[["npm","audit"]],H0.usage=nt.Usage({description:"perform a vulnerability audit against the installed packages",details:` + 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). + + 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\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${aw.map(r=>`\`${r}\``).join(", ")}. + + 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. + + 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. + + 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. + + 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. + `,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"]]});Ye();Ye();St();qt();var IG=$e(zn()),BG=ve("util"),q0=class extends ut{constructor(){super(...arguments);this.fields=ge.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],u=!1,A=await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let E;if(h==="."){let ae=o.topLevelWorkspace;if(!ae.manifest.name)throw new it(`Missing ${de.pretty(r,"name",de.Type.CODE)} field in ${ue.fromPortablePath(V.join(ae.cwd,dr.manifest))}`);E=W.makeDescriptor(ae.manifest.name,"unknown")}else E=W.parseDescriptor(h);let I=Zr.getIdentUrl(E),v=vG(await Zr.get(I,{configuration:r,ident:E,jsonResponse:!0,customErrorMessage:Zr.customPackageError})),x=Object.keys(v.versions).sort(IG.default.compareLoose),R=v["dist-tags"].latest||x[x.length-1],L=kr.validRange(E.range);if(L){let ae=IG.default.maxSatisfying(x,L);ae!==null?R=ae:(p.reportWarning(0,`Unmet range ${W.prettyRange(r,E.range)}; falling back to the latest version`),u=!0)}else Object.hasOwn(v["dist-tags"],E.range)?R=v["dist-tags"][E.range]:E.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${W.prettyRange(r,E.range)}; falling back to the latest version`),u=!0);let U=v.versions[R],J={...v,...U,version:R,versions:x},te;if(a!==null){te={};for(let ae of a){let fe=J[ae];if(typeof fe<"u")te[ae]=fe;else{p.reportWarning(1,`The ${de.pretty(r,ae,de.Type.CODE)} field doesn't exist inside ${W.prettyIdent(r,E)}'s information`),u=!0;continue}}}else this.json||(delete J.dist,delete J.readme,delete J.users),te=J;p.reportJson(te),this.json||n.push(te)}});BG.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||u)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,BG.inspect)(p,{depth:1/0,colors:!0,compact:!1})} +`);return A.exitCode()}};q0.paths=[["npm","info"]],q0.usage=nt.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 `@` 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 vG(t){if(Array.isArray(t)){let e=[];for(let r of t)r=vG(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let o=vG(t[r]);o&&(e[r]=o)}return e}else return t||null}Ye();Ye();qt();var CBe=$e(f2()),j0=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=ge.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await $Q({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Nt.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=await Uvt({configuration:r,registry:o,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),A=await Ovt(o,u,r);return await Mvt(o,A,{alwaysAuth:this.alwaysAuth,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};j0.paths=[["npm","login"]],j0.usage=nt.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 $Q({scope:t,publish:e,configuration:r,cwd:o}){return t&&e?Zn.getScopeRegistry(t,{configuration:r,type:Zn.RegistryType.PUBLISH_REGISTRY}):t?Zn.getScopeRegistry(t,{configuration:r}):e?Zn.getPublishRegistry((await fC(r,o)).manifest,{configuration:r}):Zn.getDefaultRegistry({configuration:r})}async function Ovt(t,e,r){let o=`/-/user/org.couchdb.user:${encodeURIComponent(e.name)}`,a={_id:`org.couchdb.user:${e.name}`,name:e.name,password:e.password,type:"user",roles:[],date:new Date().toISOString()},n={attemptedAs:e.name,configuration:r,registry:t,jsonResponse:!0,authType:Zr.AuthType.NO_AUTH};try{return(await Zr.put(o,a,n)).token}catch(E){if(!(E.originalError?.name==="HTTPError"&&E.originalError?.response.statusCode===409))throw E}let u={...n,authType:Zr.AuthType.NO_AUTH,headers:{authorization:`Basic ${Buffer.from(`${e.name}:${e.password}`).toString("base64")}`}},A=await Zr.get(o,u);for(let[E,I]of Object.entries(A))(!a[E]||E==="roles")&&(a[E]=I);let p=`${o}/-rev/${a._rev}`;return(await Zr.put(p,a,u)).token}async function Mvt(t,e,{alwaysAuth:r,scope:o}){let a=u=>A=>{let p=_e.isIndexableObject(A)?A:{},h=p[u],E=_e.isIndexableObject(h)?h:{};return{...p,[u]:{...E,...r!==void 0?{npmAlwaysAuth:r}:{},npmAuthToken:e}}},n=o?{npmScopes:a(o)}:{npmRegistries:a(t)};return await Ke.updateHomeConfiguration(n)}async function Uvt({configuration:t,registry:e,report:r,stdin:o,stdout:a}){r.reportInfo(0,`Logging in to ${de.pretty(t,e,de.Type.URL)}`);let n=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),t.env.YARN_IS_TEST_ENV)return{name:t.env.YARN_INJECT_NPM_USER||"",password:t.env.YARN_INJECT_NPM_PASSWORD||""};let u=await(0,CBe.prompt)([{type:"input",name:"name",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a}]);return r.reportSeparator(),u}Ye();Ye();qt();var lw=new Set(["npmAuthIdent","npmAuthToken"]),G0=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=ge.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=async()=>{let n=await $Q({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),u=await Ke.find(this.context.cwd,this.context.plugins),A=W.makeIdent(this.scope??null,"pkg");return!Zn.getAuthConfiguration(n,{configuration:u,ident:A}).get("npmAuthToken")};return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await Hvt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await wBe("npmScopes",this.scope),await o()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let u=await $Q({configuration:r,cwd:this.context.cwd,publish:this.publish});await wBe("npmRegistries",u),await o()?n.reportInfo(0,`Successfully logged out from ${u}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};G0.paths=[["npm","logout"]],G0.usage=nt.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 _vt(t,e){let r=t[e];if(!_e.isIndexableObject(r))return!1;let o=new Set(Object.keys(r));if([...lw].every(n=>!o.has(n)))return!1;for(let n of lw)o.delete(n);if(o.size===0)return t[e]=void 0,!0;let a={...r};for(let n of lw)delete a[n];return t[e]=a,!0}async function Hvt(){let t=e=>{let r=!1,o=_e.isIndexableObject(e)?{...e}:{};o.npmAuthToken&&(delete o.npmAuthToken,r=!0);for(let a of Object.keys(o))_vt(o,a)&&(r=!0);if(Object.keys(o).length!==0)return r?o:e};return await Ke.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function wBe(t,e){return await Ke.updateHomeConfiguration({[t]:r=>{let o=_e.isIndexableObject(r)?r:{};if(!Object.hasOwn(o,e))return r;let a=o[e],n=_e.isIndexableObject(a)?a:{},u=new Set(Object.keys(n));if([...lw].every(p=>!u.has(p)))return r;for(let p of lw)u.delete(p);if(u.size===0)return Object.keys(o).length===1?void 0:{...o,[e]:void 0};let A={};for(let p of lw)A[p]=void 0;return{...o,[e]:{...n,...A}}}})}Ye();qt();var Y0=class extends ut{constructor(){super(...arguments);this.access=ge.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=ge.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=ge.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=ge.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new rr(o.cwd,this.context.cwd);if(a.manifest.private)throw new it("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new it("Workspaces must have valid names and versions to be published on an external registry");await o.restoreInstallState();let n=a.manifest.name,u=a.manifest.version,A=Zn.getPublishRegistry(a.manifest,{configuration:r});return(await Nt.start({configuration:r,stdout:this.context.stdout},async h=>{if(this.tolerateRepublish)try{let E=await Zr.get(Zr.getIdentUrl(n),{configuration:r,registry:A,ident:n,jsonResponse:!0});if(!Object.hasOwn(E,"versions"))throw new zt(15,'Registry returned invalid data for - missing "versions" field');if(Object.hasOwn(E.versions,u)){h.reportWarning(0,`Registry already knows about version ${u}; skipping.`);return}}catch(E){if(E.originalError?.response?.statusCode!==404)throw E}await un.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await wA.prepareForPack(a,{report:h},async()=>{let E=await wA.genPackList(a);for(let R of E)h.reportInfo(null,R);let I=await wA.genPackStream(a,E),v=await _e.bufferStream(I),x=await ow.getGitHead(a.cwd),C=await ow.makePublishBody(a,v,{access:this.access,tag:this.tag,registry:A,gitHead:x});await Zr.put(Zr.getIdentUrl(n),C,{configuration:r,registry:A,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};Y0.paths=[["npm","publish"]],Y0.usage=nt.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"]]});Ye();qt();var IBe=$e(zn());Ye();St();qt();var W0=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ge.String({required:!1})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n;if(typeof this.package<"u")n=W.parseIdent(this.package);else{if(!a)throw new rr(o.cwd,this.context.cwd);if(!a.manifest.name)throw new it(`Missing 'name' field in ${ue.fromPortablePath(V.join(a.cwd,dr.manifest))}`);n=a.manifest.name}let u=await Tv(n,r),p={children:_e.sortMap(Object.entries(u),([h])=>h).map(([h,E])=>({value:de.tuple(de.Type.RESOLUTION,{descriptor:W.makeDescriptor(n,h),locator:W.makeLocator(n,E)})}))};return $s.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};W0.paths=[["npm","tag","list"]],W0.usage=nt.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function Tv(t,e){let r=`/-/package${Zr.getIdentUrl(t)}/dist-tags`;return Zr.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Zr.customPackageError})}var K0=class extends ut{constructor(){super(...arguments);this.package=ge.String();this.tag=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new rr(o.cwd,this.context.cwd);let n=W.parseDescriptor(this.package,!0),u=n.range;if(!IBe.default.valid(u))throw new it(`The range ${de.pretty(r,n.range,de.Type.RANGE)} must be a valid semver version`);let A=Zn.getPublishRegistry(a.manifest,{configuration:r}),p=de.pretty(r,n,de.Type.IDENT),h=de.pretty(r,u,de.Type.RANGE),E=de.pretty(r,this.tag,de.Type.CODE);return(await Nt.start({configuration:r,stdout:this.context.stdout},async v=>{let x=await Tv(n,r);Object.hasOwn(x,this.tag)&&x[this.tag]===u&&v.reportWarning(0,`Tag ${E} is already set to version ${h}`);let C=`/-/package${Zr.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Zr.put(C,u,{configuration:r,registry:A,ident:n,jsonRequest:!0,jsonResponse:!0}),v.reportInfo(0,`Tag ${E} added to version ${h} of package ${p}`)})).exitCode()}};K0.paths=[["npm","tag","add"]],K0.usage=nt.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + 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. + `,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"]]});Ye();qt();var V0=class extends ut{constructor(){super(...arguments);this.package=ge.String();this.tag=ge.String()}async execute(){if(this.tag==="latest")throw new it("The 'latest' tag cannot be removed.");let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new rr(o.cwd,this.context.cwd);let n=W.parseIdent(this.package),u=Zn.getPublishRegistry(a.manifest,{configuration:r}),A=de.pretty(r,this.tag,de.Type.CODE),p=de.pretty(r,n,de.Type.IDENT),h=await Tv(n,r);if(!Object.hasOwn(h,this.tag))throw new it(`${A} is not a tag of package ${p}`);return(await Nt.start({configuration:r,stdout:this.context.stdout},async I=>{let v=`/-/package${Zr.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Zr.del(v,{configuration:r,registry:u,ident:n,jsonResponse:!0}),I.reportInfo(0,`Tag ${A} removed from package ${p}`)})).exitCode()}};V0.paths=[["npm","tag","remove"]],V0.usage=nt.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});Ye();Ye();qt();var J0=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o;return this.scope&&this.publish?o=Zn.getScopeRegistry(this.scope,{configuration:r,type:Zn.RegistryType.PUBLISH_REGISTRY}):this.scope?o=Zn.getScopeRegistry(this.scope,{configuration:r}):this.publish?o=Zn.getPublishRegistry((await fC(r,this.context.cwd)).manifest,{configuration:r}):o=Zn.getDefaultRegistry({configuration:r}),(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let u;try{u=await Zr.get("/-/whoami",{configuration:r,registry:o,authType:Zr.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?W.makeIdent(this.scope,""):void 0})}catch(A){if(A.response?.statusCode===401||A.response?.statusCode===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw A}n.reportInfo(0,u.username)})).exitCode()}};J0.paths=[["npm","whoami"]],J0.usage=nt.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 qvt={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:[H0,q0,j0,G0,Y0,K0,W0,V0,J0]},jvt=qvt;var FG={};Vt(FG,{PatchCommand:()=>Z0,PatchCommitCommand:()=>X0,PatchFetcher:()=>Uv,PatchResolver:()=>_v,default:()=>aDt,patchUtils:()=>Sm});Ye();Ye();St();nA();var Sm={};Vt(Sm,{applyPatchFile:()=>tF,diffFolders:()=>kG,ensureUnpatchedDescriptor:()=>SG,ensureUnpatchedLocator:()=>nF,extractPackageToDisk:()=>xG,extractPatchFlags:()=>xBe,isParentRequired:()=>bG,isPatchDescriptor:()=>rF,isPatchLocator:()=>z0,loadPatchFiles:()=>Mv,makeDescriptor:()=>iF,makeLocator:()=>PG,makePatchHash:()=>QG,parseDescriptor:()=>Lv,parseLocator:()=>Ov,parsePatchFile:()=>Nv,unpatchDescriptor:()=>iDt,unpatchLocator:()=>sDt});Ye();St();Ye();St();var Gvt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function cw(t){return V.relative(Bt.root,V.resolve(Bt.root,ue.toPortablePath(t)))}function Yvt(t){let e=t.trim().match(Gvt);if(!e)throw new Error(`Bad header line: '${t}'`);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 Wvt=420,Kvt=493;var BBe=()=>({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}),Vvt=t=>({header:Yvt(t),parts:[]}),Jvt={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function zvt(t){let e=[],r=BBe(),o="parsing header",a=null,n=null;function u(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function A(){u(),e.push(r),r=BBe()}for(let p=0;p0?"patch":"mode change",J=null;switch(U){case"rename":{if(!E||!I)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:o,fromPath:cw(E),toPath:cw(I)}),J=I}break;case"file deletion":{let te=a||C;if(!te)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:o,hunk:L&&L[0]||null,path:cw(te),mode:eF(p),hash:v})}break;case"file creation":{let te=n||R;if(!te)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:o,hunk:L&&L[0]||null,path:cw(te),mode:eF(h),hash:x})}break;case"patch":case"mode change":J=R||n;break;default:_e.assertNever(U);break}J&&u&&A&&u!==A&&e.push({type:"mode change",semverExclusivity:o,path:cw(J),oldMode:eF(u),newMode:eF(A)}),J&&L&&L.length&&e.push({type:"patch",semverExclusivity:o,path:cw(J),hunks:L,beforeHash:v,afterHash:x})}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 eF(t){let e=parseInt(t,8)&511;if(e!==Wvt&&e!==Kvt)throw new Error(`Unexpected file mode string: ${t}`);return e}function Nv(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),Xvt(zvt(e))}function Zvt(t){let e=0,r=0;for(let{type:o,lines:a}of t.parts)switch(o){case"context":r+=a.length,e+=a.length;break;case"deletion":e+=a.length;break;case"insertion":r+=a.length;break;default:_e.assertNever(o);break}if(e!==t.header.original.length||r!==t.header.patched.length){let o=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${o(t.header.original.length)} ${o(t.header.patched.length)} @@, got @@ ${o(e)} ${o(r)} @@)`)}}Ye();St();var uw=class extends Error{constructor(r,o){super(`Cannot apply hunk #${r+1}`);this.hunk=o}};async function Aw(t,e,r){let o=await t.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await t.lutimesPromise(e,o.atime,o.mtime)}async function tF(t,{baseFs:e=new Tn,dryRun:r=!1,version:o=null}={}){for(let a of t)if(!(a.semverExclusivity!==null&&o!==null&&!kr.satisfiesWithPrereleases(o,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!e.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await Aw(e,V.dirname(a.path),async()=>{await e.unlinkPromise(a.path)});break;case"rename":if(r){if(!e.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await Aw(e,V.dirname(a.fromPath),async()=>{await Aw(e,V.dirname(a.toPath),async()=>{await Aw(e,a.fromPath,async()=>(await e.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(e.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` +`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(V.dirname(a.path),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,vi.SAFE_TIME,vi.SAFE_TIME)}break;case"patch":await Aw(e,a.path,async()=>{await tDt(a,{baseFs:e,dryRun:r})});break;case"mode change":{let u=(await e.statPromise(a.path)).mode;if(vBe(a.newMode)!==vBe(u))continue;await Aw(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:_e.assertNever(a);break}}function vBe(t){return(t&64)>0}function DBe(t){return t.replace(/\s+$/,"")}function eDt(t,e){return DBe(t)===DBe(e)}async function tDt({hunks:t,path:e},{baseFs:r,dryRun:o=!1}){let a=await r.statSync(e).mode,u=(await r.readFileSync(e,"utf8")).split(/\n/),A=[],p=0,h=0;for(let I of t){let v=Math.max(h,I.header.patched.start+p),x=Math.max(0,v-h),C=Math.max(0,u.length-v-I.header.original.length),R=Math.max(x,C),L=0,U=0,J=null;for(;L<=R;){if(L<=x&&(U=v-L,J=SBe(I,u,U),J!==null)){L=-L;break}if(L<=C&&(U=v+L,J=SBe(I,u,U),J!==null))break;L+=1}if(J===null)throw new uw(t.indexOf(I),I);A.push(J),p+=L,h=U+I.header.original.length}if(o)return;let E=0;for(let I of A)for(let v of I)switch(v.type){case"splice":{let x=v.index+E;u.splice(x,v.numToDelete,...v.linesToInsert),E+=v.linesToInsert.length-v.numToDelete}break;case"pop":u.pop();break;case"push":u.push(v.line);break;default:_e.assertNever(v);break}await r.writeFilePromise(e,u.join(` +`),{mode:a})}function SBe(t,e,r){let o=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let u=e[r];if(u==null||!eDt(u,n))return null;r+=1}a.type==="deletion"&&(o.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&o.push({type:"push",line:""}))}break;case"insertion":o.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&o.push({type:"pop"});break;default:_e.assertNever(a.type);break}return o}var nDt=/^builtin<([^>]+)>$/;function fw(t,e){let{protocol:r,source:o,selector:a,params:n}=W.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(o===null)throw new Error("Patch locators must explicitly define their source");let u=a?a.split(/&/).map(E=>ue.toPortablePath(E)):[],A=n&&typeof n.locator=="string"?W.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=e(o);return{parentLocator:A,sourceItem:h,patchPaths:u,sourceVersion:p}}function rF(t){return t.range.startsWith("patch:")}function z0(t){return t.reference.startsWith("patch:")}function Lv(t){let{sourceItem:e,...r}=fw(t.range,W.parseDescriptor);return{...r,sourceDescriptor:e}}function Ov(t){let{sourceItem:e,...r}=fw(t.reference,W.parseLocator);return{...r,sourceLocator:e}}function iDt(t){let{sourceItem:e}=fw(t.range,W.parseDescriptor);return e}function sDt(t){let{sourceItem:e}=fw(t.reference,W.parseLocator);return e}function SG(t){if(!rF(t))return t;let{sourceItem:e}=fw(t.range,W.parseDescriptor);return e}function nF(t){if(!z0(t))return t;let{sourceItem:e}=fw(t.reference,W.parseLocator);return e}function PBe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:o,patchHash:a},n){let u=t!==null?{locator:W.stringifyLocator(t)}:{},A=typeof o<"u"?{version:o}:{},p=typeof a<"u"?{hash:a}:{};return W.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...A,...p,...u}})}function iF(t,{parentLocator:e,sourceDescriptor:r,patchPaths:o}){return W.makeDescriptor(t,PBe({parentLocator:e,sourceItem:r,patchPaths:o},W.stringifyDescriptor))}function PG(t,{parentLocator:e,sourcePackage:r,patchPaths:o,patchHash:a}){return W.makeLocator(t,PBe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:o,patchHash:a},W.stringifyLocator))}function bBe({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:o},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let u=a.match(nDt);return u!==null?o(u[1]):a.startsWith("~/")?r(a.slice(2)):V.isAbsolute(a)?t(a):e(a)}function xBe(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function bG(t){return bBe({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function Mv(t,e,r){let o=t!==null?await r.fetcher.fetch(t,r):null,a=o&&o.localPath?{packageFs:new gn(Bt.root),prefixPath:V.relative(Bt.root,o.localPath)}:o;o&&o!==a&&o.releaseFs&&o.releaseFs();let n=await _e.releaseAfterUseAsync(async()=>await Promise.all(e.map(async u=>{let A=xBe(u),p=await bBe({onAbsolute:async h=>await oe.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(V.join(a.prefixPath,h),"utf8")},onProject:async h=>await oe.readFilePromise(V.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(E=>E.getBuiltinPatch,r.project,h)},u);return{...A,source:p}})));for(let u of n)typeof u.source=="string"&&(u.source=u.source.replace(/\r\n?/g,` +`));return n}async function xG(t,{cache:e,project:r}){let o=r.storedPackages.get(t.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=nF(t),n=r.storedChecksums,u=new Qi,A=await oe.mktempPromise(),p=V.join(A,"source"),h=V.join(A,"user"),E=V.join(A,".yarn-patch.json"),I=r.configuration.makeFetcher(),v=[];try{let x,C;if(t.locatorHash===a.locatorHash){let R=await I.fetch(t,{cache:e,project:r,fetcher:I,checksums:n,report:u});v.push(()=>R.releaseFs?.()),x=R,C=R}else x=await I.fetch(t,{cache:e,project:r,fetcher:I,checksums:n,report:u}),v.push(()=>x.releaseFs?.()),C=await I.fetch(t,{cache:e,project:r,fetcher:I,checksums:n,report:u}),v.push(()=>C.releaseFs?.());await Promise.all([oe.copyPromise(p,x.prefixPath,{baseFs:x.packageFs}),oe.copyPromise(h,C.prefixPath,{baseFs:C.packageFs}),oe.writeJsonPromise(E,{locator:W.stringifyLocator(t),version:o.version})])}finally{for(let x of v)x()}return oe.detachTemp(A),h}async function kG(t,e){let r=ue.fromPortablePath(t).replace(/\\/g,"/"),o=ue.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Ur.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,o],{cwd:ue.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${n}`);let u=r.startsWith("/")?A=>A.slice(1):A=>A;return a.replace(new RegExp(`(a|b)(${_e.escapeRegExp(`/${u(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${_e.escapeRegExp(`/${u(o)}/`)}`,"g"),"$1/").replace(new RegExp(_e.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(_e.escapeRegExp(`${o}/`),"g"),"")}function QG(t,e){let r=[];for(let{source:o}of t){if(o===null)continue;let a=Nv(o);for(let n of a){let{semverExclusivity:u,...A}=n;u!==null&&e!==null&&!kr.satisfiesWithPrereleases(e,u)||r.push(JSON.stringify(A))}}return wn.makeHash(`${3}`,...r).slice(0,6)}Ye();function kBe(t,{configuration:e,report:r}){for(let o of t.parts)for(let a of o.lines)switch(o.type){case"context":r.reportInfo(null,` ${de.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${de.pretty(e,a,de.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${de.pretty(e,a,de.Type.ADDED)}`);break;default:_e.assertNever(o.type)}}var Uv=class{supports(e,r){return!!z0(e)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${W.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:W.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async patchPackage(e,r){let{parentLocator:o,sourceLocator:a,sourceVersion:n,patchPaths:u}=Ov(e),A=await Mv(o,u,r),p=await oe.mktempPromise(),h=V.join(p,"current.zip"),E=await r.fetcher.fetch(a,r),I=W.getIdentVendorPath(e),v=new zi(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await _e.releaseAfterUseAsync(async()=>{await v.copyPromise(I,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs),v.saveAndClose();for(let{source:x,optional:C}of A){if(x===null)continue;let R=new zi(h,{level:r.project.configuration.get("compressionLevel")}),L=new gn(V.resolve(Bt.root,I),{baseFs:R});try{await tF(Nv(x),{baseFs:L,version:n})}catch(U){if(!(U instanceof uw))throw U;let J=r.project.configuration.get("enableInlineHunks"),te=!J&&!C?" (set enableInlineHunks for details)":"",ae=`${W.prettyLocator(r.project.configuration,e)}: ${U.message}${te}`,fe=ce=>{!J||kBe(U.hunk,{configuration:r.project.configuration,report:ce})};if(R.discardAndClose(),C){r.report.reportWarningOnce(66,ae,{reportExtra:fe});continue}else throw new zt(66,ae,fe)}R.saveAndClose()}return new zi(h,{level:r.project.configuration.get("compressionLevel")})}};Ye();var _v=class{supportsDescriptor(e,r){return!!rF(e)}supportsLocator(e,r){return!!z0(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){let{patchPaths:a}=Lv(e);return a.every(n=>!bG(n))?e:W.bindDescriptor(e,{locator:W.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:o}=Lv(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(o)}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=Lv(e),u=await Mv(a,n,o.fetchOptions),A=r.sourceDescriptor;if(typeof A>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=QG(u,A.version);return[PG(e,{parentLocator:a,sourcePackage:A,patchPaths:n,patchHash:p})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:o}=Ov(e);return{...await r.resolver.resolve(o,r),...e}}};Ye();St();qt();var X0=class extends ut{constructor(){super(...arguments);this.save=ge.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=V.resolve(this.context.cwd,ue.toPortablePath(this.patchFolder)),u=V.join(n,"../source"),A=V.join(n,"../.yarn-patch.json");if(!oe.existsSync(u))throw new it("The argument folder didn't get created by 'yarn patch'");let p=await kG(u,n),h=await oe.readJsonPromise(A),E=W.parseLocator(h.locator,!0);if(!o.storedPackages.has(E.locatorHash))throw new it("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let I=r.get("patchFolder"),v=V.join(I,`${W.slugifyLocator(E)}.patch`);await oe.mkdirPromise(I,{recursive:!0}),await oe.writeFilePromise(v,p);let x=[],C=new Map;for(let R of o.storedPackages.values()){if(W.isVirtualLocator(R))continue;let L=R.dependencies.get(E.identHash);if(!L)continue;let U=W.ensureDevirtualizedDescriptor(L),J=SG(U),te=o.storedResolutions.get(J.descriptorHash);if(!te)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!o.storedPackages.get(te))throw new Error("Assertion failed: Expected the package to have been registered");let fe=o.tryWorkspaceByLocator(R);if(fe)x.push(fe);else{let ce=o.originalPackages.get(R.locatorHash);if(!ce)throw new Error("Assertion failed: Expected the original package to have been registered");let me=ce.dependencies.get(L.identHash);if(!me)throw new Error("Assertion failed: Expected the original dependency to have been registered");C.set(me.descriptorHash,me)}}for(let R of x)for(let L of Ot.hardDependencies){let U=R.manifest[L].get(E.identHash);if(!U)continue;let J=iF(U,{parentLocator:null,sourceDescriptor:W.convertLocatorToDescriptor(E),patchPaths:[V.join(dr.home,V.relative(o.cwd,v))]});R.manifest[L].set(U.identHash,J)}for(let R of C.values()){let L=iF(R,{parentLocator:null,sourceDescriptor:W.convertLocatorToDescriptor(E),patchPaths:[V.join(dr.home,V.relative(o.cwd,v))]});o.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:W.stringifyIdent(L),description:R.range}},reference:L.range})}await o.persist()}};X0.paths=[["patch-commit"]],X0.usage=nt.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 "});Ye();St();qt();var Z0=class extends ut{constructor(){super(...arguments);this.update=ge.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState();let u=W.parseLocator(this.package);if(u.reference==="unknown"){let A=_e.mapAndFilter([...o.storedPackages.values()],p=>p.identHash!==u.identHash?_e.mapAndFilter.skip:W.isVirtualLocator(p)?_e.mapAndFilter.skip:z0(p)!==this.update?_e.mapAndFilter.skip:p);if(A.length===0)throw new it("No package found in the project for the given locator");if(A.length>1)throw new it(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${A.map(p=>` +- ${W.prettyLocator(r,p)}`).join("")}`);u=A[0]}if(!o.storedPackages.has(u.locatorHash))throw new it("No package found in the project for the given locator");await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=nF(u),h=await xG(u,{cache:n,project:o});A.reportJson({locator:W.stringifyLocator(p),path:ue.fromPortablePath(h)});let E=this.update?" along with its current modifications":"";A.reportInfo(0,`Package ${W.prettyLocator(r,p)} got extracted with success${E}!`),A.reportInfo(0,`You can now edit the following folder: ${de.pretty(r,ue.fromPortablePath(h),"magenta")}`),A.reportInfo(0,`Once you are done run ${de.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${ue.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Z0.paths=[["patch"]],Z0.usage=nt.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\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "});var oDt={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:[X0,Z0],fetchers:[Uv],resolvers:[_v]},aDt=oDt;var NG={};Vt(NG,{PnpmLinker:()=>Hv,default:()=>fDt});Ye();St();qt();var Hv=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new it(`The project in ${de.pretty(r.project.configuration,`${r.project.cwd}/package.json`,de.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new it(`Couldn't find ${W.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new it(`The project in ${de.pretty(r.project.configuration,`${r.project.cwd}/package.json`,de.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let u=e,A=e;do{A=u,u=V.dirname(A);let p=a.locatorByPath.get(A);if(p)return p}while(u!==A);return null}makeInstaller(e){return new RG(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},RG=class{constructor(e){this.opts=e;this.asyncActions=new _e.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=SD(oe,{indexPath:V.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}async installPackage(e,r,o){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,o);case"HARD":return this.installPackageHard(e,r,o)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,o){let a=V.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?V.join(a,dr.nodeModules):null;return this.customData.pathsByLocator.set(e.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildRequest:null}}async installPackageHard(e,r,o){let a=lDt(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,W.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await oe.mkdirPromise(n,{recursive:!0}),await oe.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let A=W.isVirtualLocator(e)?W.devirtualizeLocator(e):e,p={manifest:await Ot.tryFind(r.prefixPath,{baseFs:r.packageFs})??new Ot,misc:{hasBindingGyp:yA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(A,e.version),E=yA.extractBuildRequest(e,p,h,{configuration:this.opts.project.configuration});return{packageLocation:n,buildRequest:E}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!QBe(e,{project:this.opts.project}))return;let o=this.customData.pathsByLocator.get(e.locatorHash);if(typeof o>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${W.stringifyLocator(e)})`);let{dependenciesLocation:a}=o;!a||this.asyncActions.reduce(e.locatorHash,async n=>{await oe.mkdirPromise(a,{recursive:!0});let u=await cDt(a),A=new Map(u),p=[n],h=(I,v)=>{let x=v;QBe(v,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),x=W.devirtualizeLocator(v));let C=this.customData.pathsByLocator.get(x.locatorHash);if(typeof C>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${W.stringifyLocator(v)})`);let R=W.stringifyIdent(I),L=V.join(a,R),U=V.relative(V.dirname(L),C.packageLocation),J=A.get(R);A.delete(R),p.push(Promise.resolve().then(async()=>{if(J){if(J.isSymbolicLink()&&await oe.readlinkPromise(L)===U)return;await oe.removePromise(L)}await oe.mkdirpPromise(V.dirname(L)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await oe.symlinkPromise(C.packageLocation,L,"junction"):await oe.symlinkPromise(U,L)}))},E=!1;for(let[I,v]of r)I.identHash===e.identHash&&(E=!0),h(I,v);!E&&!this.opts.project.tryWorkspaceByLocator(e)&&h(W.convertLocatorToDescriptor(e),e),p.push(uDt(a,A)),await Promise.all(p)})}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=RBe(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await oe.removePromise(e);else{let r;try{r=new Set(await oe.readdirPromise(e))}catch{r=new Set}for(let{dependenciesLocation:o}of this.customData.pathsByLocator.values()){if(!o)continue;let a=V.contains(e,o);if(a===null)continue;let[n]=a.split(V.sep);r.delete(n)}await Promise.all([...r].map(async o=>{await oe.removePromise(V.join(e,o))}))}return await this.asyncActions.wait(),await TG(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await TG(FBe(this.opts.project)),{customData:this.customData}}};function FBe(t){return V.join(t.cwd,dr.nodeModules)}function RBe(t){return V.join(FBe(t),".store")}function lDt(t,{project:e}){let r=W.slugifyLocator(t),o=RBe(e),a=V.join(o,r,"package"),n=V.join(o,r,dr.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function QBe(t,{project:e}){return!W.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function cDt(t){let e=new Map,r=[];try{r=await oe.readdirPromise(t,{withFileTypes:!0})}catch(o){if(o.code!=="ENOENT")throw o}try{for(let o of r)if(!o.name.startsWith("."))if(o.name.startsWith("@")){let a=await oe.readdirPromise(V.join(t,o.name),{withFileTypes:!0});if(a.length===0)e.set(o.name,o);else for(let n of a)e.set(`${o.name}/${n.name}`,n)}else e.set(o.name,o)}catch(o){if(o.code!=="ENOENT")throw o}return e}async function uDt(t,e){let r=[],o=new Set;for(let a of e.keys()){r.push(oe.removePromise(V.join(t,a)));let n=W.tryParseIdent(a)?.scope;n&&o.add(`@${n}`)}return Promise.all(r).then(()=>Promise.all([...o].map(a=>TG(V.join(t,a)))))}async function TG(t){try{await oe.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var ADt={linkers:[Hv]},fDt=ADt;var qG={};Vt(qG,{StageCommand:()=>$0,default:()=>BDt,stageUtils:()=>oF});Ye();St();qt();Ye();St();var oF={};Vt(oF,{ActionType:()=>LG,checkConsensus:()=>sF,expandDirectory:()=>UG,findConsensus:()=>_G,findVcsRoot:()=>OG,genCommitMessage:()=>HG,getCommitPrefix:()=>TBe,isYarnFile:()=>MG});St();var LG=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(LG||{});async function OG(t,{marker:e}){do if(!oe.existsSync(V.join(t,e)))t=V.dirname(t);else return t;while(t!=="/");return null}function MG(t,{roots:e,names:r}){if(r.has(V.basename(t)))return!0;do if(!e.has(t))t=V.dirname(t);else return!0;while(t!=="/");return!1}function UG(t){let e=[],r=[t];for(;r.length>0;){let o=r.pop(),a=oe.readdirSync(o);for(let n of a){let u=V.resolve(o,n);oe.lstatSync(u).isDirectory()?r.push(u):e.push(u)}}return e}function sF(t,e){let r=0,o=0;for(let a of t)a!=="wip"&&(e.test(a)?r+=1:o+=1);return r>=o}function _G(t){let e=sF(t,/^(\w\(\w+\):\s*)?\w+s/),r=sF(t,/^(\w\(\w+\):\s*)?[A-Z]/),o=sF(t,/^\w\(\w+\):/);return{useThirdPerson:e,useUpperCase:r,useComponent:o}}function TBe(t){return t.useComponent?"chore(yarn): ":""}var pDt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function HG(t,e){let r=TBe(t),o=[],a=e.slice().sort((n,u)=>n[0]-u[0]);for(;a.length>0;){let[n,u]=a.shift(),A=pDt.get(n);t.useUpperCase&&o.length===0&&(A=`${A[0].toUpperCase()}${A.slice(1)}`),t.useThirdPerson&&(A+="s");let p=[u];for(;a.length>0&&a[0][0]===n;){let[,E]=a.shift();p.push(E)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),o.push(`${A} ${h}`)}return`${r}${o.join(", ")}`}var hDt="Commit generated via `yarn stage`",gDt=11;async function NBe(t){let{code:e,stdout:r}=await Ur.execvp("git",["log","-1","--pretty=format:%H"],{cwd:t});return e===0?r.trim():null}async function dDt(t,e){let r=[],o=e.filter(h=>V.basename(h.path)==="package.json");for(let{action:h,path:E}of o){let I=V.relative(t,E);if(h===4){let v=await NBe(t),{stdout:x}=await Ur.execvp("git",["show",`${v}:${I}`],{cwd:t,strict:!0}),C=await Ot.fromText(x),R=await Ot.fromFile(E),L=new Map([...R.dependencies,...R.devDependencies]),U=new Map([...C.dependencies,...C.devDependencies]);for(let[J,te]of U){let ae=W.stringifyIdent(te),fe=L.get(J);fe?fe.range!==te.range&&r.push([4,`${ae} to ${fe.range}`]):r.push([3,ae])}for(let[J,te]of L)U.has(J)||r.push([2,W.stringifyIdent(te)])}else if(h===0){let v=await Ot.fromFile(E);v.name?r.push([0,W.stringifyIdent(v.name)]):r.push([0,"a package"])}else if(h===1){let v=await NBe(t),{stdout:x}=await Ur.execvp("git",["show",`${v}:${I}`],{cwd:t,strict:!0}),C=await Ot.fromText(x);C.name?r.push([1,W.stringifyIdent(C.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Ur.execvp("git",["log",`-${gDt}`,"--pretty=format:%s"],{cwd:t}),u=a===0?n.split(/\n/g).filter(h=>h!==""):[],A=_G(u);return HG(A,r)}var mDt={[0]:[" A ","?? "],[4]:[" M "],[1]:[" D "]},yDt={[0]:["A "],[4]:["M "],[1]:["D "]},LBe={async findRoot(t){return await OG(t,{marker:".git"})},async filterChanges(t,e,r,o){let{stdout:a}=await Ur.execvp("git",["status","-s"],{cwd:t,strict:!0}),n=a.toString().split(/\n/g),u=o?.staged?yDt:mDt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),E=V.resolve(t,p.slice(3));if(!o?.staged&&h==="?? "&&p.endsWith("/"))return UG(E).map(I=>({action:0,path:I}));{let v=[0,4,1].find(x=>u[x].includes(h));return v!==void 0?[{action:v,path:E}]:[]}})).filter(p=>MG(p.path,{roots:e,names:r}))},async genCommitMessage(t,e){return await dDt(t,e)},async makeStage(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Ur.execvp("git",["add","--",...r],{cwd:t,strict:!0})},async makeCommit(t,e,r){let o=e.map(a=>ue.fromPortablePath(a.path));await Ur.execvp("git",["add","-N","--",...o],{cwd:t,strict:!0}),await Ur.execvp("git",["commit","-m",`${r} + +${hDt} +`,"--",...o],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Ur.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var EDt=[LBe],$0=class extends ut{constructor(){super(...arguments);this.commit=ge.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=ge.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=ge.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=ge.Boolean("-u,--update",!1,{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd),{driver:a,root:n}=await CDt(o.cwd),u=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(I=>I.populateYarnPaths,o,I=>{u.push(I)});let A=new Set;for(let I of u)for(let v of wDt(n,I))A.add(v);let p=new Set([r.get("rcFilename"),dr.lockfile,dr.manifest]),h=await a.filterChanges(n,A,p),E=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${E} +`);else for(let I of h)this.context.stdout.write(`${ue.fromPortablePath(I.path)} +`);else if(this.reset){let I=await a.filterChanges(n,A,p,{staged:!0});I.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,I)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,E):(await a.makeStage(n,h),this.context.stdout.write(E))}};$0.paths=[["stage"]],$0.usage=nt.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]});async function CDt(t){let e=null,r=null;for(let o of EDt)if((r=await o.findRoot(t))!==null){e=o;break}if(e===null||r===null)throw new it("No stage driver has been found for your current project");return{driver:e,root:r}}function wDt(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let o;try{o=oe.statSync(e)}catch{break}if(o.isSymbolicLink())e=V.resolve(V.dirname(e),oe.readlinkSync(e));else break}return r}var IDt={commands:[$0]},BDt=IDt;var jG={};Vt(jG,{default:()=>QDt});Ye();Ye();St();var UBe=$e(zn());Ye();var OBe=$e(zH()),vDt="e8e1bd300d860104bb8c58453ffa1eb4",DDt="OFCNCOG2CU",MBe=async(t,e)=>{let r=W.stringifyIdent(t),a=SDt(e).initIndex("npm-search");try{return(await a.getObject(r,{attributesToRetrieve:["types"]})).types?.ts==="definitely-typed"}catch{return!1}},SDt=t=>(0,OBe.default)(DDt,vDt,{requester:{async send(r){try{let o=await nn.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:o.body,isTimedOut:!1,status:o.statusCode}}catch(o){return{content:o.response.body,isTimedOut:!1,status:o.response.statusCode}}}}});var _Be=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,PDt=async(t,e,r,o)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??oe.existsSync(V.join(a.cwd,"tsconfig.json"))))return;let A=n.makeResolver(),p={project:a,resolver:A,report:new Qi};if(!await MBe(r,n))return;let E=_Be(r),I=W.parseRange(r.range).selector;if(!kr.validRange(I)){let L=n.normalizeDependency(r),U=await A.getCandidates(L,{},p);I=W.parseRange(U[0].reference).selector}let v=UBe.default.coerce(I);if(v===null)return;let x=`${zc.Modifier.CARET}${v.major}`,C=W.makeDescriptor(W.makeIdent("types",E),x),R=_e.mapAndFind(a.workspaces,L=>{let U=L.manifest.dependencies.get(r.identHash)?.descriptorHash,J=L.manifest.devDependencies.get(r.identHash)?.descriptorHash;if(U!==r.descriptorHash&&J!==r.descriptorHash)return _e.mapAndFind.skip;let te=[];for(let ae of Ot.allDependencies){let fe=L.manifest[ae].get(C.identHash);typeof fe>"u"||te.push([ae,fe])}return te.length===0?_e.mapAndFind.skip:te});if(typeof R<"u")for(let[L,U]of R)t.manifest[L].set(U.identHash,U);else{try{let L=n.normalizeDependency(C);if((await A.getCandidates(L,{},p)).length===0)return}catch{return}t.manifest[zc.Target.DEVELOPMENT].set(C.identHash,C)}},bDt=async(t,e,r)=>{if(r.scope==="types")return;let{project:o}=t,{configuration:a}=o;if(!(a.get("tsEnableAutoTypes")??oe.existsSync(V.join(o.cwd,"tsconfig.json"))))return;let u=_Be(r),A=W.makeIdent("types",u);for(let p of Ot.allDependencies)typeof t.manifest[p].get(A.identHash)>"u"||t.manifest[p].delete(A.identHash)},xDt=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},kDt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:PDt,afterWorkspaceDependencyRemoval:bDt,beforeWorkspacePacking:xDt}},QDt=kDt;var VG={};Vt(VG,{VersionApplyCommand:()=>eg,VersionCheckCommand:()=>tg,VersionCommand:()=>rg,default:()=>zDt,versionUtils:()=>dw});Ye();Ye();qt();var dw={};Vt(dw,{Decision:()=>hw,applyPrerelease:()=>WBe,applyReleases:()=>KG,applyStrategy:()=>lF,clearVersionFiles:()=>GG,getUndecidedDependentWorkspaces:()=>jv,getUndecidedWorkspaces:()=>aF,openVersionFile:()=>gw,requireMoreDecisions:()=>KDt,resolveVersionFiles:()=>qv,suggestStrategy:()=>WG,updateVersionFiles:()=>YG,validateReleaseDecision:()=>pw});Ye();St();Nl();qt();var YBe=$e(GBe()),vA=$e(zn()),WDt=/^(>=|[~^]|)(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-]+)*)?$/,hw=(u=>(u.UNDECIDED="undecided",u.DECLINE="decline",u.MAJOR="major",u.MINOR="minor",u.PATCH="patch",u.PRERELEASE="prerelease",u))(hw||{});function pw(t){let e=vA.default.valid(t);return e||_e.validateEnum((0,YBe.default)(hw,"UNDECIDED"),t)}async function qv(t,{prerelease:e=null}={}){let r=new Map,o=t.configuration.get("deferredVersionFolder");if(!oe.existsSync(o))return r;let a=await oe.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=V.join(o,n),A=await oe.readFilePromise(u,"utf8"),p=Ki(A);for(let[h,E]of Object.entries(p.releases||{})){if(E==="decline")continue;let I=W.parseIdent(h),v=t.tryWorkspaceByIdent(I);if(v===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${V.basename(u)} references ${h})`);if(v.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${W.prettyLocator(t.configuration,v.anchoredLocator)})`);let x=v.manifest.raw.stableVersion??v.manifest.version,C=r.get(v),R=lF(x,pw(E));if(R===null)throw new Error(`Assertion failed: Expected ${x} to support being bumped via strategy ${E}`);let L=typeof C<"u"?vA.default.gt(R,C)?R:C:R;r.set(v,L)}}return e&&(r=new Map([...r].map(([n,u])=>[n,WBe(u,{current:n.manifest.version,prerelease:e})]))),r}async function GG(t){let e=t.configuration.get("deferredVersionFolder");!oe.existsSync(e)||await oe.removePromise(e)}async function YG(t,e){let r=new Set(e),o=t.configuration.get("deferredVersionFolder");if(!oe.existsSync(o))return;let a=await oe.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=V.join(o,n),A=await oe.readFilePromise(u,"utf8"),p=Ki(A),h=p?.releases;if(!!h){for(let E of Object.keys(h)){let I=W.parseIdent(E),v=t.tryWorkspaceByIdent(I);(v===null||r.has(v))&&delete p.releases[E]}Object.keys(p.releases).length>0?await oe.changeFilePromise(u,Ba(new Ba.PreserveOrdering(p))):await oe.unlinkPromise(u)}}}async function gw(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new it("This command can only be run from within a Yarn project");let o=await ra.fetchRoot(r.projectCwd),a=o!==null?await ra.fetchBase(o,{baseRefs:r.get("changesetBaseRefs")}):null,n=o!==null?await ra.fetchChangedFiles(o,{base:a.hash,project:t}):[],u=r.get("deferredVersionFolder"),A=n.filter(x=>V.contains(u,x)!==null);if(A.length>1)throw new it(`Your current branch contains multiple versioning files; this isn't supported: +- ${A.map(x=>ue.fromPortablePath(x)).join(` +- `)}`);let p=new Set(_e.mapAndFilter(n,x=>{let C=t.tryWorkspaceByFilePath(x);return C===null?_e.mapAndFilter.skip:C}));if(A.length===0&&p.size===0&&!e)return null;let h=A.length===1?A[0]:V.join(u,`${wn.makeHash(Math.random().toString()).slice(0,8)}.yml`),E=oe.existsSync(h)?await oe.readFilePromise(h,"utf8"):"{}",I=Ki(E),v=new Map;for(let x of I.declined||[]){let C=W.parseIdent(x),R=t.getWorkspaceByIdent(C);v.set(R,"decline")}for(let[x,C]of Object.entries(I.releases||{})){let R=W.parseIdent(x),L=t.getWorkspaceByIdent(R);v.set(L,pw(C))}return{project:t,root:o,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(x=>x.manifest.version!==null)),releases:v,async saveAll(){let x={},C=[],R=[];for(let L of t.workspaces){if(L.manifest.version===null)continue;let U=W.stringifyIdent(L.anchoredLocator),J=v.get(L);J==="decline"?C.push(U):typeof J<"u"?x[U]=pw(J):p.has(L)&&R.push(U)}await oe.mkdirPromise(V.dirname(h),{recursive:!0}),await oe.changeFilePromise(h,Ba(new Ba.PreserveOrdering({releases:Object.keys(x).length>0?x:void 0,declined:C.length>0?C:void 0,undecided:R.length>0?R:void 0})))}}}function KDt(t){return aF(t).size>0||jv(t).length>0}function aF(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function jv(t,{include:e=new Set}={}){let r=[],o=new Map(_e.mapAndFilter([...t.releases],([n,u])=>u==="decline"?_e.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(_e.mapAndFilter([...t.releases],([n,u])=>u!=="decline"?_e.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||o.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let u of Ot.hardDependencies)for(let A of n.manifest.getForScope(u).values()){let p=t.project.tryWorkspaceByDescriptor(A);p!==null&&o.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function WG(t,e){let r=vA.default.clean(e);for(let o of Object.values(hw))if(o!=="undecided"&&o!=="decline"&&vA.default.inc(t,o)===r)return o;return null}function lF(t,e){if(vA.default.valid(e))return e;if(t===null)throw new it(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!vA.default.valid(t))throw new it(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);let r=vA.default.inc(t,e);if(r===null)throw new it(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return r}function KG(t,e,{report:r}){let o=new Map;for(let a of t.workspaces)for(let n of Ot.allDependencies)for(let u of a.manifest[n].values()){let A=t.tryWorkspaceByDescriptor(u);if(A===null||!e.has(A))continue;_e.getArrayWithDefault(o,A).push([a,n,u.identHash])}for(let[a,n]of e){let u=a.manifest.version;a.manifest.version=n,vA.default.prerelease(n)===null?delete a.manifest.raw.stableVersion:a.manifest.raw.stableVersion||(a.manifest.raw.stableVersion=u);let A=a.manifest.name!==null?W.stringifyIdent(a.manifest.name):null;r.reportInfo(0,`${W.prettyLocator(t.configuration,a.anchoredLocator)}: Bumped to ${n}`),r.reportJson({cwd:ue.fromPortablePath(a.cwd),ident:A,oldVersion:u,newVersion:n});let p=o.get(a);if(!(typeof p>"u"))for(let[h,E,I]of p){let v=h.manifest[E].get(I);if(typeof v>"u")throw new Error("Assertion failed: The dependency should have existed");let x=v.range,C=!1;if(x.startsWith(Xn.protocol)&&(x=x.slice(Xn.protocol.length),C=!0,x===a.relativeCwd))continue;let R=x.match(WDt);if(!R){r.reportWarning(0,`Couldn't auto-upgrade range ${x} (in ${W.prettyLocator(t.configuration,h.anchoredLocator)})`);continue}let L=`${R[1]}${n}`;C&&(L=`${Xn.protocol}${L}`);let U=W.makeDescriptor(v,L);h.manifest[E].set(I,U)}}}var VDt=new Map([["%n",{extract:t=>t.length>=1?[t[0],t.slice(1)]:null,generate:(t=0)=>`${t+1}`}]]);function WBe(t,{current:e,prerelease:r}){let o=new vA.default.SemVer(e),a=o.prerelease.slice(),n=[];o.prerelease=[],o.format()!==t&&(a.length=0);let u=!0,A=r.split(/\./g);for(let p of A){let h=VDt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():u=!1;else{let E=u?h.extract(a):null;E!==null&&typeof E[0]=="number"?(n.push(h.generate(E[0])),a=E[1]):(n.push(h.generate()),u=!1)}}return o.prerelease&&(o.prerelease=[]),`${t}-${n.join(".")}`}var eg=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=ge.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=ge.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=ge.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await qv(o,{prerelease:p}),E=new Map;if(this.all)E=h;else{let I=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let v of I){let x=h.get(v);typeof x<"u"&&E.set(v,x)}}if(E.size===0){let I=h.size>0?" Did you want to add --all?":"";A.reportWarning(0,`The current workspace doesn't seem to require a version bump.${I}`);return}KG(o,E,{report:A}),this.dryRun||(p||(this.all?await GG(o):await YG(o,[...E.keys()])),A.reportSeparator())});return this.dryRun||u.hasErrors()?u.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};eg.paths=[["version","apply"]],eg.usage=nt.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` + This command will apply the deferred version changes and remove their definitions from the repository. + + Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%d\`) will be used on all new versions and the version definitions will be kept as-is. + + By default only the current workspace will be bumped, but you can configure this behavior by using one of: + + - \`--recursive\` to also apply the version bump on its dependencies + - \`--all\` to apply the version bump on all packages in the repository + + Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. + `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});Ye();St();qt();var cF=$e(zn());var tg=class extends ut{constructor(){super(...arguments);this.interactive=ge.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){bC(this.context);let{Gem:r}=await Promise.resolve().then(()=>(cQ(),Bq)),{ScrollableItems:o}=await Promise.resolve().then(()=>(pQ(),fQ)),{FocusRequest:a}=await Promise.resolve().then(()=>(Dq(),Vwe)),{useListInput:n}=await Promise.resolve().then(()=>(AQ(),Jwe)),{renderForm:u}=await Promise.resolve().then(()=>(mQ(),dQ)),{Box:A,Text:p}=await Promise.resolve().then(()=>$e(ic())),{default:h,useCallback:E,useState:I}=await Promise.resolve().then(()=>$e(on())),v=await Ke.find(this.context.cwd,this.context.plugins),{project:x,workspace:C}=await Pt.find(v,this.context.cwd);if(!C)throw new rr(x.cwd,this.context.cwd);await x.restoreInstallState();let R=await gw(x);if(R===null||R.releaseRoots.size===0)return 0;if(R.root===null)throw new it("This command can only be run on Git repositories");let L=()=>h.createElement(A,{flexDirection:"row",paddingBottom:1},h.createElement(A,{flexDirection:"column",width:60},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select workspaces.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select release strategies."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to save.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),U=({workspace:me,active:he,decision:Be,setDecision:we})=>{let g=me.manifest.raw.stableVersion??me.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${W.prettyLocator(v,me.anchoredLocator)})`);if(cF.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let Ee=["undecided","decline","patch","minor","major"];n(Be,Ee,{active:he,minus:"left",plus:"right",set:we});let Se=Be==="undecided"?h.createElement(p,{color:"yellow"},g):Be==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},cF.default.valid(Be)?Be:cF.default.inc(g,Be)));return h.createElement(A,{flexDirection:"column"},h.createElement(A,null,h.createElement(p,null,W.prettyLocator(v,me.anchoredLocator)," - ",Se)),h.createElement(A,null,Ee.map(le=>h.createElement(A,{key:le,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:le===Be})," ",le)))))},J=me=>{let he=new Set(R.releaseRoots),Be=new Map([...me].filter(([we])=>he.has(we)));for(;;){let we=jv({project:R.project,releases:Be}),g=!1;if(we.length>0){for(let[Ee]of we)if(!he.has(Ee)){he.add(Ee),g=!0;let Se=me.get(Ee);typeof Se<"u"&&Be.set(Ee,Se)}}if(!g)break}return{relevantWorkspaces:he,relevantReleases:Be}},te=()=>{let[me,he]=I(()=>new Map(R.releases)),Be=E((we,g)=>{let Ee=new Map(me);g!=="undecided"?Ee.set(we,g):Ee.delete(we);let{relevantReleases:Se}=J(Ee);he(Se)},[me,he]);return[me,Be]},ae=({workspaces:me,releases:he})=>{let Be=[];Be.push(`${me.size} total`);let we=0,g=0;for(let Ee of me){let Se=he.get(Ee);typeof Se>"u"?g+=1:Se!=="decline"&&(we+=1)}return Be.push(`${we} release${we===1?"":"s"}`),Be.push(`${g} remaining`),h.createElement(p,{color:"yellow"},Be.join(", "))},ce=await u(({useSubmit:me})=>{let[he,Be]=te();me(he);let{relevantWorkspaces:we}=J(he),g=new Set([...we].filter(ne=>!R.releaseRoots.has(ne))),[Ee,Se]=I(0),le=E(ne=>{switch(ne){case a.BEFORE:Se(Ee-1);break;case a.AFTER:Se(Ee+1);break}},[Ee,Se]);return h.createElement(A,{flexDirection:"column"},h.createElement(L,null),h.createElement(A,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(A,{flexDirection:"column",marginTop:1,paddingLeft:2},[...R.changedFiles].map(ne=>h.createElement(A,{key:ne},h.createElement(p,null,h.createElement(p,{color:"grey"},ue.fromPortablePath(R.root)),ue.sep,ue.relative(ue.fromPortablePath(R.root),ue.fromPortablePath(ne)))))),R.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(A,{marginTop:1},h.createElement(ae,{workspaces:R.releaseRoots,releases:he})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:Ee%2===0,radius:1,size:2,onFocusRequest:le},[...R.releaseRoots].map(ne=>h.createElement(U,{key:ne.cwd,workspace:ne,decision:he.get(ne)||"undecided",setDecision:ee=>Be(ne,ee)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(A,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(A,{marginTop:1},h.createElement(ae,{workspaces:g,releases:he})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:Ee%2===1,radius:2,size:2,onFocusRequest:le},[...g].map(ne=>h.createElement(U,{key:ne.cwd,workspace:ne,decision:he.get(ne)||"undecided",setDecision:ee=>Be(ne,ee)}))))):null)},{versionFile:R},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ce>"u")return 1;R.releases.clear();for(let[me,he]of ce)R.releases.set(me,he);await R.saveAll()}async executeStandard(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new rr(o.cwd,this.context.cwd);return await o.restoreInstallState(),(await Nt.start({configuration:r,stdout:this.context.stdout},async u=>{let A=await gw(o);if(A===null||A.releaseRoots.size===0)return;if(A.root===null)throw new it("This command can only be run on Git repositories");if(u.reportInfo(0,`Your PR was started right after ${de.pretty(r,A.baseHash.slice(0,7),"yellow")} ${de.pretty(r,A.baseTitle,"magenta")}`),A.changedFiles.size>0){u.reportInfo(0,"You have changed the following files since then:"),u.reportSeparator();for(let v of A.changedFiles)u.reportInfo(null,`${de.pretty(r,ue.fromPortablePath(A.root),"gray")}${ue.sep}${ue.relative(ue.fromPortablePath(A.root),ue.fromPortablePath(v))}`)}let p=!1,h=!1,E=aF(A);if(E.size>0){p||u.reportSeparator();for(let v of E)u.reportError(0,`${W.prettyLocator(r,v.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let I=jv(A);for(let[v,x]of I)h||u.reportSeparator(),u.reportError(0,`${W.prettyLocator(r,v.anchoredLocator)} doesn't have a release strategy attached, but depends on ${W.prettyWorkspace(r,x)} which is planned for release.`),h=!0;(p||h)&&(u.reportSeparator(),u.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),u.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};tg.paths=[["version","check"]],tg.usage=nt.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});Ye();qt();var uF=$e(zn());var rg=class extends ut{constructor(){super(...arguments);this.deferred=ge.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=ge.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!a)throw new rr(o.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let u=uF.default.valid(this.strategy),A=this.strategy==="decline",p;if(u)if(a.manifest.version!==null){let E=WG(a.manifest.version,this.strategy);E!==null?p=E:p=this.strategy}else p=this.strategy;else{let E=a.manifest.version;if(!A){if(E===null)throw new it("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof E!="string"||!uF.default.valid(E))throw new it(`Can't bump the version (${E}) if it's not valid semver`)}p=pw(this.strategy)}if(!n){let I=(await qv(o)).get(a);if(typeof I<"u"&&p!=="decline"){let v=lF(a.manifest.version,p);if(uF.default.lt(v,I))throw new it(`Can't bump the version to one that would be lower than the current deferred one (${I})`)}}let h=await gw(o,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};rg.paths=[["version"]],rg.usage=nt.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var JDt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[eg,tg,rg]},zDt=JDt;var JG={};Vt(JG,{WorkspacesFocusCommand:()=>ng,WorkspacesForeachCommand:()=>ap,default:()=>$Dt});Ye();Ye();qt();var ng=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=ge.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=ge.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);await o.restoreInstallState({restoreResolutions:!1});let u;if(this.all)u=new Set(o.workspaces);else if(this.workspaces.length===0){if(!a)throw new rr(o.cwd,this.context.cwd);u=new Set([a])}else u=new Set(this.workspaces.map(A=>o.getWorkspaceByIdent(W.parseIdent(A))));for(let A of u)for(let p of this.production?["dependencies"]:Ot.hardDependencies)for(let h of A.manifest.getForScope(p).values()){let E=o.tryWorkspaceByDescriptor(h);E!==null&&u.add(E)}for(let A of o.workspaces)u.has(A)?this.production&&A.manifest.devDependencies.clear():(A.manifest.installConfig=A.manifest.installConfig||{},A.manifest.installConfig.selfReferences=!1,A.manifest.dependencies.clear(),A.manifest.devDependencies.clear(),A.manifest.peerDependencies.clear(),A.manifest.scripts.clear());return await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n,persistProject:!1})}};ng.paths=[["workspaces","focus"]],ng.usage=nt.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});Ye();Ye();Ye();qt();var mw=$e(Zo()),VBe=$e(id());Za();var ap=class extends ut{constructor(){super(...arguments);this.from=ge.Array("--from",{description:"An array of glob pattern idents or paths from which to base any recursion"});this.all=ge.Boolean("-A,--all",{description:"Run the command on all workspaces of a project"});this.recursive=ge.Boolean("-R,--recursive",{description:"Run the command on the current workspace and all of its recursive dependencies"});this.worktree=ge.Boolean("-W,--worktree",{description:"Run the command on all workspaces of the current worktree"});this.verbose=ge.Counter("-v,--verbose",{description:"Increase level of logging verbosity up to 2 times"});this.parallel=ge.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=ge.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=ge.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:TT([Ks(["unlimited"]),aI(RT(),[LT(),NT(1)])])});this.topological=ge.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=ge.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=ge.Array("--include",[],{description:"An array of glob pattern idents or paths; only matching workspaces will be traversed"});this.exclude=ge.Array("--exclude",[],{description:"An array of glob pattern idents or paths; matching workspaces won't be traversed"});this.publicOnly=ge.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=ge.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.dryRun=ge.Boolean("-n,--dry-run",{description:"Print the commands that would be run, without actually running them"});this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd);if(!this.all&&!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),u=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new it("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let A=we=>{!this.dryRun||this.context.stdout.write(`${we} +`)},p=()=>{let we=this.from.map(g=>mw.default.matcher(g));return o.workspaces.filter(g=>{let Ee=W.stringifyIdent(g.anchoredLocator),Se=g.relativeCwd;return we.some(le=>le(Ee)||le(Se))})},h=[];if(this.since?(A("Option --since is set; selecting the changed workspaces as root for workspace selection"),h=Array.from(await ra.fetchChangedWorkspaces({ref:this.since,project:o}))):this.from?(A("Option --from is set; selecting the specified workspaces"),h=[...p()]):this.worktree?(A("Option --worktree is set; selecting the current workspace"),h=[a]):this.recursive?(A("Option --recursive is set; selecting the current workspace"),h=[a]):this.all&&(A("Option --all is set; selecting all workspaces"),h=[...o.workspaces]),this.dryRun&&!this.all){for(let we of h)A(` +- ${we.relativeCwd} + ${W.prettyLocator(r,we.anchoredLocator)}`);h.length>0&&A("")}let E;if(this.recursive?this.since?(A("Option --recursive --since is set; recursively selecting all dependent workspaces"),E=new Set(h.map(we=>[...we.getRecursiveWorkspaceDependents()]).flat())):(A("Option --recursive is set; recursively selecting all transitive dependencies"),E=new Set(h.map(we=>[...we.getRecursiveWorkspaceDependencies()]).flat())):this.worktree?(A("Option --worktree is set; recursively selecting all nested workspaces"),E=new Set(h.map(we=>[...we.getRecursiveWorkspaceChildren()]).flat())):E=null,E!==null&&(h=[...new Set([...h,...E])],this.dryRun))for(let we of E)A(` +- ${we.relativeCwd} + ${W.prettyLocator(r,we.anchoredLocator)}`);let I=[],v=!1;if(u?.includes(":")){for(let we of o.workspaces)if(we.manifest.scripts.has(u)&&(v=!v,v===!1))break}for(let we of h){if(u&&!we.manifest.scripts.has(u)&&!v&&!(await un.getWorkspaceAccessibleBinaries(we)).has(u)){A(`Excluding ${we.relativeCwd} because it doesn't have a "${u}" script`);continue}if(!(u===r.env.npm_lifecycle_event&&we.cwd===a.cwd)){if(this.include.length>0&&!mw.default.isMatch(W.stringifyIdent(we.anchoredLocator),this.include)&&!mw.default.isMatch(we.relativeCwd,this.include)){A(`Excluding ${we.relativeCwd} because it doesn't match the --include filter`);continue}if(this.exclude.length>0&&(mw.default.isMatch(W.stringifyIdent(we.anchoredLocator),this.exclude)||mw.default.isMatch(we.relativeCwd,this.exclude))){A(`Excluding ${we.relativeCwd} because it matches the --include filter`);continue}if(this.publicOnly&&we.manifest.private===!0){A(`Excluding ${we.relativeCwd} because it's a private workspace and --no-private was set`);continue}I.push(we)}}if(this.dryRun)return 0;let x=this.verbose??(this.context.stdout.isTTY?1/0:0),C=x>0,R=x>1,L=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(Ji.availableParallelism()/2):1,U=L===1?!1:this.parallel,J=U?this.interlaced:!0,te=(0,VBe.default)(L),ae=new Map,fe=new Set,ce=0,me=null,he=!1,Be=await Nt.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async we=>{let g=async(Ee,{commandIndex:Se})=>{if(he)return-1;!U&&R&&Se>1&&we.reportSeparator();let le=XDt(Ee,{configuration:r,label:C,commandIndex:Se}),[ne,ee]=KBe(we,{prefix:le,interlaced:J}),[Ie,Fe]=KBe(we,{prefix:le,interlaced:J});try{R&&we.reportInfo(null,`${le?`${le} `:""}Process started`);let At=Date.now(),H=await this.cli.run([this.commandName,...this.args],{cwd:Ee.cwd,stdout:ne,stderr:Ie})||0;ne.end(),Ie.end(),await ee,await Fe;let at=Date.now();if(R){let Re=r.get("enableTimers")?`, completed in ${de.pretty(r,at-At,de.Type.DURATION)}`:"";we.reportInfo(null,`${le?`${le} `:""}Process exited (exit code ${H})${Re}`)}return H===130&&(he=!0,me=H),H}catch(At){throw ne.end(),Ie.end(),await ee,await Fe,At}};for(let Ee of I)ae.set(Ee.anchoredLocator.locatorHash,Ee);for(;ae.size>0&&!we.hasErrors();){let Ee=[];for(let[ne,ee]of ae){if(fe.has(ee.anchoredDescriptor.descriptorHash))continue;let Ie=!0;if(this.topological||this.topologicalDev){let Fe=this.topologicalDev?new Map([...ee.manifest.dependencies,...ee.manifest.devDependencies]):ee.manifest.dependencies;for(let At of Fe.values()){let H=o.tryWorkspaceByDescriptor(At);if(Ie=H===null||!ae.has(H.anchoredLocator.locatorHash),!Ie)break}}if(!!Ie&&(fe.add(ee.anchoredDescriptor.descriptorHash),Ee.push(te(async()=>{let Fe=await g(ee,{commandIndex:++ce});return ae.delete(ne),fe.delete(ee.anchoredDescriptor.descriptorHash),Fe})),!U))break}if(Ee.length===0){let ne=Array.from(ae.values()).map(ee=>W.prettyLocator(r,ee.anchoredLocator)).join(", ");we.reportError(3,`Dependency cycle detected (${ne})`);return}let le=(await Promise.all(Ee)).find(ne=>ne!==0);me===null&&(me=typeof le<"u"?1:me),(this.topological||this.topologicalDev)&&typeof le<"u"&&we.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return me!==null?me:Be.exitCode()}};ap.paths=[["workspaces","foreach"]],ap.usage=nt.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project.\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 `-W,--worktree` is set, Yarn will find workspaces to run the command on by looking at the current worktree.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on 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 `--dry-run` is set, Yarn will explain what it would do without actually doing anything.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (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 The `-v,--verbose` flag can be passed up to twice: once to prefix output lines with the originating workspace's name, and again to include start/finish/timing log lines. Maximum verbosity is enabled by default in terminal environments.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish all packages","yarn workspaces foreach -A npm publish --tolerate-republish"],["Run the build script on all descendant packages","yarn workspaces foreach -A run build"],["Run the build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -Apt run build"],["Run the build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -Rpt --from '{workspace-a,workspace-b}' run build"]]}),ap.schema=[cI("all",Gu.Forbids,["from","recursive","since","worktree"],{missingIf:"undefined"}),OT(["all","recursive","since","worktree"],{missingIf:"undefined"})];function KBe(t,{prefix:e,interlaced:r}){let o=t.createStreamReporter(e),a=new _e.DefaultStream;a.pipe(o,{end:!1}),a.on("finish",()=>{o.end()});let n=new Promise(A=>{o.on("finish",()=>{A(a.active)})});if(r)return[a,n];let u=new _e.BufferStream;return u.pipe(a,{end:!1}),u.on("finish",()=>{a.end()}),[u,n]}function XDt(t,{configuration:e,commandIndex:r,label:o}){if(!o)return null;let n=`[${W.stringifyIdent(t.anchoredLocator)}]:`,u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[r%u.length];return de.pretty(e,n,A)}var ZDt={commands:[ng,ap]},$Dt=ZDt;var pC=()=>({modules:new Map([["@yarnpkg/cli",a2],["@yarnpkg/core",o2],["@yarnpkg/fslib",Vw],["@yarnpkg/libzip",x1],["@yarnpkg/parsers",rI],["@yarnpkg/shell",T1],["clipanion",hI],["semver",eSt],["typanion",Vo],["@yarnpkg/plugin-essentials",$8],["@yarnpkg/plugin-compat",iH],["@yarnpkg/plugin-constraints",wH],["@yarnpkg/plugin-dlx",IH],["@yarnpkg/plugin-exec",DH],["@yarnpkg/plugin-file",PH],["@yarnpkg/plugin-git",Z8],["@yarnpkg/plugin-github",kH],["@yarnpkg/plugin-http",QH],["@yarnpkg/plugin-init",FH],["@yarnpkg/plugin-interactive-tools",Tq],["@yarnpkg/plugin-link",Nq],["@yarnpkg/plugin-nm",yj],["@yarnpkg/plugin-npm",dG],["@yarnpkg/plugin-npm-cli",DG],["@yarnpkg/plugin-pack",AG],["@yarnpkg/plugin-patch",FG],["@yarnpkg/plugin-pnp",oj],["@yarnpkg/plugin-pnpm",NG],["@yarnpkg/plugin-stage",qG],["@yarnpkg/plugin-typescript",jG],["@yarnpkg/plugin-version",VG],["@yarnpkg/plugin-workspace-tools",JG]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@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","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});function XBe({cwd:t,pluginConfiguration:e}){let r=new as({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:rn??""});return Object.assign(r,{defaultContext:{...as.defaultContext,cwd:t,plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr}})}function tSt(t){if(_e.parseOptionalBoolean(process.env.YARN_IGNORE_NODE))return!0;let r=process.versions.node,o=">=18.12.0";if(kr.satisfiesWithPrereleases(r,o))return!0;let a=new it(`This tool requires a Node version compatible with ${o} (got ${r}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);return as.defaultContext.stdout.write(t.error(a)),!1}async function ZBe({selfPath:t,pluginConfiguration:e}){return await Ke.find(ue.toPortablePath(process.cwd()),e,{strict:!1,usePathCheck:t})}function rSt(t,e,{yarnPath:r}){if(!oe.existsSync(r))return t.error(new Error(`The "yarn-path" option has been set, but the specified location doesn't exist (${r}).`)),1;process.on("SIGINT",()=>{});let o={stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1"}};try{(0,JBe.execFileSync)(process.execPath,[ue.fromPortablePath(r),...e],o)}catch(a){return a.status??1}return 0}function nSt(t,e){let r=null,o=e;return e.length>=2&&e[0]==="--cwd"?(r=ue.toPortablePath(e[1]),o=e.slice(2)):e.length>=1&&e[0].startsWith("--cwd=")?(r=ue.toPortablePath(e[0].slice(6)),o=e.slice(1)):e[0]==="add"&&e[e.length-2]==="--cwd"&&(r=ue.toPortablePath(e[e.length-1]),o=e.slice(0,e.length-2)),t.defaultContext.cwd=r!==null?V.resolve(r):V.cwd(),o}function iSt(t,{configuration:e}){if(!e.get("enableTelemetry")||zBe.isCI||!process.stdout.isTTY)return;Ke.telemetry=new uC(e,"puba9cdc10ec5790a2cf4969dd413a47270");let o=/^@yarnpkg\/plugin-(.*)$/;for(let a of e.plugins.keys())AC.has(a.match(o)?.[1]??"")&&Ke.telemetry?.reportPluginName(a);t.binaryVersion&&Ke.telemetry.reportVersion(t.binaryVersion)}function $Be(t,{configuration:e}){for(let r of e.plugins.values())for(let o of r.commands||[])t.register(o)}async function sSt(t,e,{selfPath:r,pluginConfiguration:o}){if(!tSt(t))return 1;let a=await ZBe({selfPath:r,pluginConfiguration:o}),n=a.get("yarnPath"),u=a.get("ignorePath");if(n&&!u)return rSt(t,e,{yarnPath:n});delete process.env.YARN_IGNORE_PATH;let A=nSt(t,e);iSt(t,{configuration:a}),$Be(t,{configuration:a});let p=t.process(A,t.defaultContext);return p.help||Ke.telemetry?.reportCommandName(p.path.join(" ")),await t.run(p,t.defaultContext)}async function $pe({cwd:t=V.cwd(),pluginConfiguration:e=pC()}={}){let r=XBe({cwd:t,pluginConfiguration:e}),o=await ZBe({pluginConfiguration:e,selfPath:null});return $Be(r,{configuration:o}),r}async function nk(t,{cwd:e=V.cwd(),selfPath:r,pluginConfiguration:o}){let a=XBe({cwd:e,pluginConfiguration:o});try{process.exitCode=await sSt(a,t,{selfPath:r,pluginConfiguration:o})}catch(n){as.defaultContext.stdout.write(a.error(n)),process.exitCode=1}finally{await oe.rmtempPromise()}}nk(process.argv.slice(2),{cwd:V.cwd(),selfPath:ue.toPortablePath(ue.resolve(process.argv[1])),pluginConfiguration:pC()});})(); +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ +/** + @license + Copyright (c) 2015, Rebecca Turner + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + */ +/** + @license + Copyright Joyent, Inc. and other Node contributors. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +/** @license React v0.18.0 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.24.0 + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v16.13.1 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 00000000..31b3faaf --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,2 @@ +yarnPath: .yarn/releases/yarn-4.1.1.cjs +nodeLinker: node-modules diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f09e70b..070709fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,28 +1,21 @@ -Change Log -==================================================================================================== +# Change Log + All notable changes will be documented in this file. Swagger Parser adheres to [Semantic Versioning](http://semver.org/). - - -[v10.0.0](https://github.com/APIDevTools/swagger-parser/tree/v10.0.0) (2020-07-10) ----------------------------------------------------------------------------------------------------- +## [v10.0.0](https://github.com/APIDevTools/swagger-parser/tree/v10.0.0) (2020-07-10) #### Breaking Changes - Removed the `YAML` export. We recommend using [`@stoplight/yaml`](https://www.npmjs.com/package/@stoplight/yaml) instead - #### Other Changes - Added a new [`continueOnError` option](https://apitools.dev/swagger-parser/docs/options) that allows you to get all errors rather than just the first one [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v9.0.1...v10.0.0) - - -[v9.0.0](https://github.com/APIDevTools/swagger-parser/tree/v9.0.0) (2020-03-14) ----------------------------------------------------------------------------------------------------- +## [v9.0.0](https://github.com/APIDevTools/swagger-parser/tree/v9.0.0) (2020-03-14) - Moved Swagger Parser to the [@APIDevTools scope](https://www.npmjs.com/org/apidevtools) on NPM @@ -30,21 +23,15 @@ Swagger Parser adheres to [Semantic Versioning](http://semver.org/). [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v8.0.4...v9.0.0) - - -[v8.0.0](https://github.com/APIDevTools/swagger-parser/tree/v8.0.0) (2019-06-22) ----------------------------------------------------------------------------------------------------- +## [v8.0.0](https://github.com/APIDevTools/swagger-parser/tree/v8.0.0) (2019-06-22) #### Potentially Breaking Changes -- [The `validate()` function](https://apitools.dev/swagger-parser/docs/swagger-parser.html#validateapi-options-callback) now uses [the official JSON Schemas](https://github.com/OAI/OpenAPI-Specification/tree/master/schemas) for Swagger 2.0 and OpenAPI 3.0 schema validation. We tested this change on [over 1,500 real-world APIs](https://apis.guru/browse-apis/) and there were **no breaking changes**, but we're bumped the major version number just to be safe. +- [The `validate()` function](https://apitools.dev/swagger-parser/docs/swagger-parser.html#validateapi-options-callback) now uses [the official JSON Schemas](https://github.com/OAI/OpenAPI-Specification/tree/master/schemas) for Swagger 2.0 and OpenAPI 3.0 schema validation. We tested this change on [over 1,500 real-world APIs](https://apis.guru/browse-apis/) and there were **no breaking changes**, but we're bumped the major version number just to be safe. [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v7.0.1...v8.0.0) - - -[v7.0.0](https://github.com/APIDevTools/swagger-parser/tree/v7.0.0) (2019-06-12) ----------------------------------------------------------------------------------------------------- +## [v7.0.0](https://github.com/APIDevTools/swagger-parser/tree/v7.0.0) (2019-06-12) #### Breaking Changes @@ -60,10 +47,7 @@ Swagger Parser adheres to [Semantic Versioning](http://semver.org/). [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v6.0.5...v7.0.0) - - -[v6.0.0](https://github.com/APIDevTools/swagger-parser/tree/v6.0.0) (2018-10-05) ----------------------------------------------------------------------------------------------------- +## [v6.0.0](https://github.com/APIDevTools/swagger-parser/tree/v6.0.0) (2018-10-05) - Dropped support for [Bower](https://www.npmjs.com/package/bower), since it has been deprecated @@ -71,34 +55,25 @@ Swagger Parser adheres to [Semantic Versioning](http://semver.org/). [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v5.0.0...v6.0.0) +## [v5.0.0](https://github.com/APIDevTools/swagger-parser/tree/v5.0.0) (2018-05-25) - -[v5.0.0](https://github.com/APIDevTools/swagger-parser/tree/v5.0.0) (2018-05-25) ----------------------------------------------------------------------------------------------------- - -- After [months](https://github.com/APIDevTools/swagger-parser/issues/62) and [months](https://github.com/APIDevTools/swagger-parser/issues/72) of delays, initial support for OpenAPI 3.0 is finally here! A big "Thank You!" to [Leo Long](https://github.com/yujunlong2000) for doing the work and submitting [PR #88](https://github.com/APIDevTools/swagger-parser/pull/88). +- After [months](https://github.com/APIDevTools/swagger-parser/issues/62) and [months](https://github.com/APIDevTools/swagger-parser/issues/72) of delays, initial support for OpenAPI 3.0 is finally here! A big "Thank You!" to [Leo Long](https://github.com/yujunlong2000) for doing the work and submitting [PR #88](https://github.com/APIDevTools/swagger-parser/pull/88). [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v4.1.0...v5.0.0) +## [v4.1.0](https://github.com/APIDevTools/swagger-parser/tree/v4.1.0) (2018-04-11) - -[v4.1.0](https://github.com/APIDevTools/swagger-parser/tree/v4.1.0) (2018-04-11) ----------------------------------------------------------------------------------------------------- - -- [@marcelstoer](https://github.com/marcelstoer) submitted [PR #83](https://github.com/APIDevTools/swagger-parser/pull/83) and [PR #84](https://github.com/APIDevTools/swagger-parser/pull/84), both of which improve the [`validate()` method](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#validateapi-options-callback). It will now detect when a JSON Schema in your API definition has `required` properties that don't exist. +- [@marcelstoer](https://github.com/marcelstoer) submitted [PR #83](https://github.com/APIDevTools/swagger-parser/pull/83) and [PR #84](https://github.com/APIDevTools/swagger-parser/pull/84), both of which improve the [`validate()` method](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#validateapi-options-callback). It will now detect when a JSON Schema in your API definition has `required` properties that don't exist. [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v4.0.0...v4.1.0) - - -[v4.0.0](https://github.com/APIDevTools/swagger-parser/tree/v4.0.0) (2017-10-19) ----------------------------------------------------------------------------------------------------- +## [v4.0.0](https://github.com/APIDevTools/swagger-parser/tree/v4.0.0) (2017-10-19) #### Breaking Changes - Update the [Swagger 2.0 JSON schema](https://www.npmjs.com/package/swagger-schema-official), so it's possible that an API that previously passed validation may no longer pass due to changes in the Swagger schema -- To reduce the size of this library, it no longer includes polyfills for [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) and [TypedArrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray), which are natively supported in the latest versions of Node and web browsers. If you need to support older browsers (such as IE9), then just use [this `Promise` polyfill](https://github.com/stefanpenner/es6-promise) and [this `TypedArray` polyfill](https://github.com/inexorabletash/polyfill/blob/master/typedarray.js). +- To reduce the size of this library, it no longer includes polyfills for [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) and [TypedArrays](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray), which are natively supported in the latest versions of Node and web browsers. If you need to support older browsers (such as IE9), then just use [this `Promise` polyfill](https://github.com/stefanpenner/es6-promise) and [this `TypedArray` polyfill](https://github.com/inexorabletash/polyfill/blob/master/typedarray.js). #### Minor Changes @@ -106,87 +81,75 @@ Swagger Parser adheres to [Semantic Versioning](http://semver.org/). [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v4.0.0-beta.2...v4.0.0) - - -[v4.0.0-beta.2](https://github.com/APIDevTools/swagger-parser/tree/v4.0.0-beta.2) (2016-04-25) ----------------------------------------------------------------------------------------------------- +## [v4.0.0-beta.2](https://github.com/APIDevTools/swagger-parser/tree/v4.0.0-beta.2) (2016-04-25) #### Just one small fix -Fixed [issue #13](https://github.com/APIDevTools/json-schema-ref-parser/issues/13). You can now pass a URL _and_ an object to any method. + +Fixed [issue #13](https://github.com/APIDevTools/json-schema-ref-parser/issues/13). You can now pass a URL _and_ an object to any method. ```javascript -SwaggerParser.validate("http://example.com/my-schema.json", mySchemaObject, {}) +SwaggerParser.validate("http://example.com/my-schema.json", mySchemaObject, {}); ``` > **NOTE:** As shown in the example above, you _must_ also pass an options object (even an empty object will work), otherwise, the method signature looks like you're just passing a URL and options. [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v4.4.0-beta.1...v4.0.0-beta.2) - -[v4.0.0-beta.1](https://github.com/APIDevTools/swagger-parser/tree/v4.0.0-beta.1) (2016-04-10) ----------------------------------------------------------------------------------------------------- +## [v4.0.0-beta.1](https://github.com/APIDevTools/swagger-parser/tree/v4.0.0-beta.1) (2016-04-10) #### Plug-ins !!! + That's the major new feature in this version. Originally requested in [PR #8](https://github.com/APIDevTools/json-schema-ref-parser/pull/8), and refined a few times over the past few months, the plug-in API is now finalized and ready to use. You can now define your own [resolvers](https://github.com/APIDevTools/json-schema-ref-parser/blob/v3.0.0/docs/plugins/resolvers.md) and [parsers](https://github.com/APIDevTools/json-schema-ref-parser/blob/v3.0.0/docs/plugins/parsers.md). #### Breaking Changes -The available [options have changed](https://github.com/APIDevTools/swagger-parser/blob/releases/4.0.0/docs/options.md), mostly due to the new plug-in API. There's not a one-to-one mapping of old options to new options, so you'll have to read the docs and determine which options you need to set. If any. The out-of-the-box configuration works for most people. -All of the [caching options have been removed](https://github.com/APIDevTools/json-schema-ref-parser/commit/1f4260184bfd370e9cd385b523fb08c098fac6db). Instead, files are now cached by default, and the entire cache is reset for each new parse operation. Caching options may come back in a future release, if there is enough demand for it. If you used the old caching options, please open an issue and explain your use-case and requirements. I need a better understanding of what caching functionality is actually needed by users. +The available [options have changed](https://github.com/APIDevTools/swagger-parser/blob/releases/4.0.0/docs/options.md), mostly due to the new plug-in API. There's not a one-to-one mapping of old options to new options, so you'll have to read the docs and determine which options you need to set. If any. The out-of-the-box configuration works for most people. + +All of the [caching options have been removed](https://github.com/APIDevTools/json-schema-ref-parser/commit/1f4260184bfd370e9cd385b523fb08c098fac6db). Instead, files are now cached by default, and the entire cache is reset for each new parse operation. Caching options may come back in a future release, if there is enough demand for it. If you used the old caching options, please open an issue and explain your use-case and requirements. I need a better understanding of what caching functionality is actually needed by users. #### Bug Fixes + Lots of little bug fixes, and a couple major bug fixes: + - [completely rewrote the bundling logic](https://github.com/APIDevTools/json-schema-ref-parser/commit/32510a38a29723fb24f56d30f055e7358acdd935) to fix [issue #16](https://github.com/APIDevTools/swagger-parser/issues/16) - Added support for [root-level `$ref`s](https://github.com/APIDevTools/json-schema-ref-parser/issues/16) [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v3.3.0...v4.0.0-beta.1) +## [v3.3.0](https://github.com/APIDevTools/swagger-parser/tree/v3.3.0) (2015-10-02) - -[v3.3.0](https://github.com/APIDevTools/swagger-parser/tree/v3.3.0) (2015-10-02) ----------------------------------------------------------------------------------------------------- - -Updated to the latest version of [the Official Swagger 2.0 Schema](https://www.npmjs.com/package/swagger-schema-official). The schema [hadn't been updated for six months](https://github.com/OAI/OpenAPI-Specification/issues/335), so Swagger Parser was missing [several recent changes](https://github.com/OAI/OpenAPI-Specification/commits/master/schemas/v2.0/schema.json). +Updated to the latest version of [the Official Swagger 2.0 Schema](https://www.npmjs.com/package/swagger-schema-official). The schema [hadn't been updated for six months](https://github.com/OAI/OpenAPI-Specification/issues/335), so Swagger Parser was missing [several recent changes](https://github.com/OAI/OpenAPI-Specification/commits/master/schemas/v2.0/schema.json). [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v3.2.0...v3.3.0) - - -[v3.2.0](https://github.com/APIDevTools/swagger-parser/tree/v3.2.0) (2015-10-01) ----------------------------------------------------------------------------------------------------- +## [v3.2.0](https://github.com/APIDevTools/swagger-parser/tree/v3.2.0) (2015-10-01) Swagger Parser now uses [call-me-maybe](https://www.npmjs.com/package/call-me-maybe) to support [promises or callbacks](https://github.com/APIDevTools/swagger-parser/tree/master/docs#callbacks-vs-promises). [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v3.1.0...v3.2.0) - - -[v3.1.0](https://github.com/APIDevTools/swagger-parser/tree/v3.1.0) (2015-09-28) ----------------------------------------------------------------------------------------------------- +## [v3.1.0](https://github.com/APIDevTools/swagger-parser/tree/v3.1.0) (2015-09-28) Fixed several bugs with circular references, particularly with the [`validate()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#validateapi-options-callback) method. -Added a new [`$refs.circular` option](https://github.com/APIDevTools/swagger-parser/blob/master/docs/options.md) to determine how circular references are handled. Options are fully-dereferencing them (default), throwing an error, or ignoring them. +Added a new [`$refs.circular` option](https://github.com/APIDevTools/swagger-parser/blob/master/docs/options.md) to determine how circular references are handled. SwaggerParserOptions are fully-dereferencing them (default), throwing an error, or ignoring them. [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v3.0.0...v3.1.0) +## [v3.0.0](https://github.com/APIDevTools/swagger-parser/tree/v3.0.0) (2015-09-25) - -[v3.0.0](https://github.com/APIDevTools/swagger-parser/tree/v3.0.0) (2015-09-25) ----------------------------------------------------------------------------------------------------- - -This is a **complete rewrite** of Swagger Parser. Major changes include: +This is a **complete rewrite** of Swagger Parser. Major changes include: **Swagger 2.0 Compliant**
-Previous versions of Swagger Parser were based on early drafts of Swagger 2.0, and were not compliant with [the final version of the spec](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md). Swagger Parser v3.0 is now compliant with the final spec as well as related specs, such as [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) and [JSON Pointer](https://tools.ietf.org/html/rfc6901) +Previous versions of Swagger Parser were based on early drafts of Swagger 2.0, and were not compliant with [the final version of the spec](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md). Swagger Parser v3.0 is now compliant with the final spec as well as related specs, such as [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03) and [JSON Pointer](https://tools.ietf.org/html/rfc6901) **All-New API**
-The old API only had a single method: `parse()`. But depending on which options you passed it, the method did _much_ more than its name implied. The new API has separate methods to make things a bit more intuitive. The most commonly used will be [`validate()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#validateapi-options-callback), [`bundle()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#bundleapi-options-callback), and [`dereference()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#dereferenceapi-options-callback). The [`parse()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#parseapi-options-callback) and [`resolve()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#resolveapi-options-callback) methods are also available, but these are mostly just for internal use by the other methods. +The old API only had a single method: `parse()`. But depending on which options you passed it, the method did _much_ more than its name implied. The new API has separate methods to make things a bit more intuitive. The most commonly used will be [`validate()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#validateapi-options-callback), [`bundle()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#bundleapi-options-callback), and [`dereference()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#dereferenceapi-options-callback). The [`parse()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#parseapi-options-callback) and [`resolve()`](https://github.com/APIDevTools/swagger-parser/blob/master/docs/swagger-parser.md#resolveapi-options-callback) methods are also available, but these are mostly just for internal use by the other methods. **Asynchronous API**
-The old API was "asynchronous", but it relied on global state, so it did not support multiple simultaneous operations. The new API is truly asynchronous and supports both [ES6 Promises](http://javascriptplayground.com/blog/2015/02/promises/) and Node-style callbacks. +The old API was "asynchronous", but it relied on global state, so it did not support multiple simultaneous operations. The new API is truly asynchronous and supports both [ES6 Promises](http://javascriptplayground.com/blog/2015/02/promises/) and Node-style callbacks. **New JSON Schema Validator**
-Swagger Parser has switched from [tv4](https://github.com/geraintluff/tv4) to [Z-Schema](https://github.com/zaggino/z-schema), which is [faster](https://rawgit.com/zaggino/z-schema/master/benchmark/results.html) and performs [more accurate validation](https://github.com/ebdrup/json-schema-benchmark#test-failure-summary). This means that some APIs that previously passed validation will now fail. But that's a _good_ thing! +Swagger Parser has switched from [tv4](https://github.com/geraintluff/tv4) to [Z-Schema](https://github.com/zaggino/z-schema), which is [faster](https://rawgit.com/zaggino/z-schema/master/benchmark/results.html) and performs [more accurate validation](https://github.com/ebdrup/json-schema-benchmark#test-failure-summary). This means that some APIs that previously passed validation will now fail. But that's a _good_ thing! [Full Changelog](https://github.com/APIDevTools/swagger-parser/compare/v2.5.0...v3.0.0) diff --git a/README.md b/README.md index c8525f81..d98aea01 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -Swagger 2.0 and OpenAPI 3.0 parser/validator -============================ +# Swagger 2.0 and OpenAPI 3.0 parser/validator [![Build Status](https://github.com/APIDevTools/swagger-parser/workflows/CI-CD/badge.svg?branch=master)](https://github.com/APIDevTools/swagger-parser/actions) [![Coverage Status](https://coveralls.io/repos/github/APIDevTools/swagger-parser/badge.svg?branch=master)](https://coveralls.io/github/APIDevTools/swagger-parser) @@ -14,10 +13,8 @@ Swagger 2.0 and OpenAPI 3.0 parser/validator [![Online Demo](https://apitools.dev/swagger-parser/online/img/demo.svg)](https://apitools.dev/swagger-parser/online/) +## Features - -Features --------------------------- - Parses Swagger specs in **JSON** or **YAML** format - Validates against the [Swagger 2.0 schema](https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v2.0/schema.json) or [OpenAPI 3.0 Schema](https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v3.0/schema.json) - [Resolves](https://apitools.dev/swagger-parser/docs/swagger-parser.html#resolveapi-options-callback) all `$ref` pointers, including external files and URLs @@ -28,24 +25,18 @@ Features - Supports [circular references](https://apitools.dev/swagger-parser/docs/#circular-refs), nested references, back-references, and cross-references - Maintains object reference equality — `$ref` pointers to the same value always resolve to the same object instance +## Related Projects - -Related Projects --------------------------- - [Swagger CLI](https://github.com/APIDevTools/swagger-cli) - [Swagger Express Middleware](https://github.com/APIDevTools/swagger-express-middleware) - - -Example --------------------------- +## Example ```javascript SwaggerParser.validate(myAPI, (err, api) => { if (err) { console.error(err); - } - else { + } else { console.log("API name: %s, Version: %s", api.info.title, api.info.version); } }); @@ -57,28 +48,23 @@ Or use `async`/`await` or [Promise](http://javascriptplayground.com/blog/2015/02 try { let api = await SwaggerParser.validate(myAPI); console.log("API name: %s, Version: %s", api.info.title, api.info.version); -} -catch(err) { +} catch (err) { console.error(err); } ``` For more detailed examples, please see the [API Documentation](https://apitools.dev/swagger-parser/docs/) +## Installation - -Installation --------------------------- Install using [npm](https://docs.npmjs.com/about-npm/): ```bash npm install @apidevtools/swagger-parser ``` +## Usage - -Usage --------------------------- When using Swagger Parser in Node.js apps, you'll probably want to use **CommonJS** syntax: ```javascript @@ -88,57 +74,50 @@ const SwaggerParser = require("@apidevtools/swagger-parser"); When using a transpiler such as [Babel](https://babeljs.io/) or [TypeScript](https://www.typescriptlang.org/), or a bundler such as [Webpack](https://webpack.js.org/) or [Rollup](https://rollupjs.org/), you can use **ECMAScript modules** syntax instead: ```javascript -import * as SwaggerParser from '@apidevtools/swagger-parser'; +import * as SwaggerParser from "@apidevtools/swagger-parser"; ``` +## Browser support - -Browser support --------------------------- -Swagger Parser supports recent versions of every major web browser. Older browsers may require [Babel](https://babeljs.io/) and/or [polyfills](https://babeljs.io/docs/en/next/babel-polyfill). +Swagger Parser supports recent versions of every major web browser. Older browsers may require [Babel](https://babeljs.io/) and/or [polyfills](https://babeljs.io/docs/en/next/babel-polyfill). To use Swagger Parser in a browser, you'll need to use a bundling tool such as [Webpack](https://webpack.js.org/), [Rollup](https://rollupjs.org/), [Parcel](https://parceljs.org/), or [Browserify](http://browserify.org/). Some bundlers may require a bit of configuration, such as setting `browser: true` in [rollup-plugin-resolve](https://github.com/rollup/rollup-plugin-node-resolve). +## API Documentation - -API Documentation --------------------------- Full API documentation is available [right here](https://apitools.dev/swagger-parser/docs/) +## Contributing - -Contributing --------------------------- -I welcome any contributions, enhancements, and bug-fixes. [Open an issue](https://github.com/APIDevTools/swagger-parser/issues) on GitHub and [submit a pull request](https://github.com/APIDevTools/swagger-parser/pulls). +I welcome any contributions, enhancements, and bug-fixes. [Open an issue](https://github.com/APIDevTools/swagger-parser/issues) on GitHub and [submit a pull request](https://github.com/APIDevTools/swagger-parser/pulls). #### Building/Testing + To build/test the project locally on your computer: -1. __Clone this repo__
-`git clone https://github.com/APIDevTools/swagger-parser.git` +1. **Clone this repo**
+ `git clone https://github.com/APIDevTools/swagger-parser.git` + +2. **Install dependencies**
+ `npm install` -2. __Install dependencies__
-`npm install` +3. **Run the build script**
+ `npm run build` -3. __Run the build script__
-`npm run build` +4. **Run the tests**
+ `npm test` -4. __Run the tests__
-`npm test` +5. **Check the code coverage**
+ `npm run coverage` -5. __Check the code coverage__
-`npm run coverage` +## License -License --------------------------- Swagger Parser is 100% free and open-source, under the [MIT license](LICENSE). Use it however you want. This package is [Treeware](http://treeware.earth). If you use it in production, then we ask that you [**buy the world a tree**](https://plant.treeware.earth/APIDevTools/swagger-parser) to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats. +## Big Thanks To - -Big Thanks To --------------------------- Thanks to these awesome companies for their support of Open Source developers ❤ [![GitHub](https://apitools.dev/img/badges/github.svg)](https://github.com/open-source) diff --git a/dist/index.d.ts b/dist/index.d.ts deleted file mode 100644 index ea77ea8a..00000000 --- a/dist/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import * as SwaggerParser from "@apidevtools/swagger-parser"; -export = SwaggerParser; diff --git a/dist/index.js b/dist/index.js deleted file mode 100644 index 205658c8..00000000 --- a/dist/index.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -module.exports = require("@apidevtools/swagger-parser"); diff --git a/dist/package.json b/dist/package.json deleted file mode 100644 index 8b6ae3d5..00000000 --- a/dist/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "swagger-parser", - "version": "X.X.X", - "description": "Swagger 2.0 and OpenAPI 3.0 parser and validator for Node and browsers", - "keywords": [ - "swagger", - "openapi", - "open-api", - "json", - "yaml", - "parse", - "parser", - "validate", - "validator", - "validation", - "spec", - "specification", - "schema", - "reference", - "dereference" - ], - "author": { - "name": "James Messinger", - "url": "https://jamesmessinger.com" - }, - "homepage": "https://apitools.dev/swagger-parser/", - "repository": { - "type": "git", - "url": "https://github.com/APIDevTools/swagger-parser.git" - }, - "license": "MIT", - "main": "index.js", - "typings": "index.d.ts", - "files": [ - "index.js", - "index.d.ts" - ], - "engines": { - "node": ">=10" - }, - "dependencies": { - "@apidevtools/swagger-parser": "X.X.X" - } -} diff --git a/docs/README.md b/docs/README.md index f2c9596b..8248de0d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,17 +1,15 @@ -Swagger Parser API -========================== +# Swagger Parser API + +## Things to Know -Things to Know ---------------------- - [Class methods vs. Instance methods](#class-methods-vs-instance-methods) - [Callbacks vs. Promises](#callbacks-vs-promises) - [Circular references](#circular-refs) - -Classes & Methods ---------------------- +## Classes & Methods #### [The `SwaggerParser` class](swagger-parser.md) + - [`api` property](swagger-parser.md#api) - [`$refs` property](swagger-parser.md#refs) - [`validate()` method](swagger-parser.md#validateapi-options-callback) @@ -21,6 +19,7 @@ Classes & Methods - [`resolve()` method](swagger-parser.md#resolveapi-options-callback) #### [The `$Refs` class](refs.md) + - [`circular` property](refs.md#circular) - [`paths()` method](refs.md#pathstypes) - [`values()` method](refs.md#valuestypes) @@ -28,11 +27,11 @@ Classes & Methods - [`get()` method](refs.md#getref-options) - [`set()` method](refs.md#setref-value-options) -#### [The `Options` object](options.md) - +#### [The `SwaggerParserOptions` object](options.md) ### Class methods vs. Instance methods -All of Swagger Parser's methods are available as static (class) methods, and as instance methods. The static methods simply create a new [`SwaggerParser`](swagger-parser.md) instance and then call the corresponding instance method. Thus, the following line... + +All of Swagger Parser's methods are available as static (class) methods, and as instance methods. The static methods simply create a new [`SwaggerParser`](swagger-parser.md) instance and then call the corresponding instance method. Thus, the following line... ```javascript SwaggerParser.validate("my-api.yaml"); @@ -47,47 +46,45 @@ parser.validate("my-api.yaml"); The difference is that in the second example you now have a reference to `parser`, which means you can access the results ([`parser.api`](swagger-parser.md#api-object) and [`parser.$refs`](swagger-parser.md#refs)) anytime you want, rather than just in the callback function. - ### Callbacks vs. Promises -Many people prefer `async`/`await` or [Promise](http://javascriptplayground.com/blog/2015/02/promises/) syntax instead of callbacks. Swagger Parser allows you to use whichever one you prefer. -If you pass a callback function to any method, then the method will call the callback using the Node.js error-first convention. If you do _not_ pass a callback function, then the method will return a Promise. +Many people prefer `async`/`await` or [Promise](http://javascriptplayground.com/blog/2015/02/promises/) syntax instead of callbacks. Swagger Parser allows you to use whichever one you prefer. + +If you pass a callback function to any method, then the method will call the callback using the Node.js error-first convention. If you do _not_ pass a callback function, then the method will return a Promise. The following two examples are equivalent: ```javascript // Callback syntax SwaggerParser.validate(mySchema, (err, api) => { - if (err) { - // Error - } - else { - // Success - } + if (err) { + // Error + } else { + // Success + } }); ``` ```javascript try { - // async/await syntax - let api = await SwaggerParser.validate(mySchema); + // async/await syntax + let api = await SwaggerParser.validate(mySchema); - // Success -} -catch(err) { - // Error + // Success +} catch (err) { + // Error } ``` - ### Circular $Refs -Swagger APIs can contain [circular $ref pointers](https://gist.github.com/JamesMessinger/d18278935fc73e3a0ee1), and Swagger Parser fully supports them. Circular references can be resolved and dereferenced just like any other reference. However, if you intend to serialize the dereferenced api as JSON, then you should be aware that [`JSON.stringify`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) does not support circular references by default, so you will need to [use a custom replacer function](https://stackoverflow.com/questions/11616630/json-stringify-avoid-typeerror-converting-circular-structure-to-json). + +Swagger APIs can contain [circular $ref pointers](https://gist.github.com/JamesMessinger/d18278935fc73e3a0ee1), and Swagger Parser fully supports them. Circular references can be resolved and dereferenced just like any other reference. However, if you intend to serialize the dereferenced api as JSON, then you should be aware that [`JSON.stringify`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) does not support circular references by default, so you will need to [use a custom replacer function](https://stackoverflow.com/questions/11616630/json-stringify-avoid-typeerror-converting-circular-structure-to-json). You can disable circular references by setting the [`dereference.circular`](options.md) option to `false`. Then, if a circular reference is found, a `ReferenceError` will be thrown. -Or you can choose to just ignore circular references altogether by setting the [`dereference.circular`](options.md) option to `"ignore"`. In this case, all non-circular references will still be dereferenced as normal, but any circular references will remain in the schema. +Or you can choose to just ignore circular references altogether by setting the [`dereference.circular`](options.md) option to `"ignore"`. In this case, all non-circular references will still be dereferenced as normal, but any circular references will remain in the schema. -Another option is to use the [`bundle`](swagger-parser.md#bundleapi-options-callback) method rather than the [`dereference`](swagger-parser.md#dereferenceapi-options-callback) method. Bundling does _not_ result in circular references, because it simply converts _external_ `$ref` pointers to _internal_ ones. +Another option is to use the [`bundle`](swagger-parser.md#bundleapi-options-callback) method rather than the [`dereference`](swagger-parser.md#dereferenceapi-options-callback) method. Bundling does _not_ result in circular references, because it simply converts _external_ `$ref` pointers to _internal_ ones. ```javascript "person": { diff --git a/docs/options.md b/docs/options.md index 0af90667..927f9f47 100644 --- a/docs/options.md +++ b/docs/options.md @@ -1,96 +1,90 @@ -Options -========================== +# SwaggerParserOptions All [`SwaggerParser`](swagger-parser.md) methods accept an optional `options` parameter, which you can use to customize how the API is parsed, resolved, dereferenced, etc. -If you pass an options parameter, you _don't_ need to specify _every_ option. Any options you don't specify will use their default values. +If you pass an options parameter, you _don't_ need to specify _every_ option. Any options you don't specify will use their default values. -Example -------------------- +## Example ```javascript SwaggerParser.validate("my-api.yaml", { - continueOnError: true, // Don't throw on the first error + continueOnError: true, // Don't throw on the first error parse: { - json: false, // Disable the JSON parser + json: false, // Disable the JSON parser yaml: { - allowEmpty: false // Don't allow empty YAML files + allowEmpty: false, // Don't allow empty YAML files }, text: { - canParse: [".txt", ".html"], // Parse .txt and .html files as plain text (strings) - encoding: 'utf16' // Use UTF-16 encoding - } + canParse: [".txt", ".html"], // Parse .txt and .html files as plain text (strings) + encoding: "utf16", // Use UTF-16 encoding + }, }, resolve: { - file: false, // Don't resolve local file references + file: false, // Don't resolve local file references http: { - timeout: 2000, // 2 second timeout - withCredentials: true, // Include auth credentials when resolving HTTP references - } + timeout: 2000, // 2 second timeout + withCredentials: true, // Include auth credentials when resolving HTTP references + }, }, dereference: { - circular: false // Don't allow circular $refs + circular: false, // Don't allow circular $refs }, validate: { - spec: false // Don't validate against the Swagger spec - } + spec: false, // Don't validate against the Swagger spec + }, }); ``` +## `parse` SwaggerParserOptions -`parse` Options -------------------- The `parse` options determine how different types of files will be parsed. -Swagger Parser comes with built-in JSON, YAML, plain-text, and binary parsers, any of which you can configure or disable. You can also add [your own custom parsers](https://apitools.dev/json-schema-ref-parser/docs/plugins/parsers.html) if you want. +Swagger Parser comes with built-in JSON, YAML, plain-text, and binary parsers, any of which you can configure or disable. You can also add [your own custom parsers](https://apitools.dev/json-schema-ref-parser/docs/plugins/parsers.html) if you want. -|Option(s) |Type |Description -|:----------------------------|:----------|:------------ -|`json`
`yaml`
`text`
`binary`|`object` `boolean`|These are the built-in parsers. In addition, you can add [your own custom parsers](https://apitools.dev/json-schema-ref-parser/docs/plugins/parsers.html)

To disable a parser, just set it to `false`. -|`json.order` `yaml.order` `text.order` `binary.order`|`number`|Parsers run in a specific order, relative to other parsers. For example, a parser with `order: 5` will run _before_ a parser with `order: 10`. If a parser is unable to successfully parse a file, then the next parser is tried, until one succeeds or they all fail.

You can change the order in which parsers run, which is useful if you know that most of your referenced files will be a certain type, or if you add [your own custom parser](https://apitools.dev/json-schema-ref-parser/docs/plugins/parsers.html) that you want to run _first_. -|`json.allowEmpty` `yaml.allowEmpty` `text.allowEmpty` `binary.allowEmpty`|`boolean`|All of the built-in parsers allow empty files by default. The JSON and YAML parsers will parse empty files as `undefined`. The text parser will parse empty files as an empty string. The binary parser will parse empty files as an empty byte array.

You can set `allowEmpty: false` on any parser, which will cause an error to be thrown if a file empty. -|`json.canParse` `yaml.canParse` `text.canParse` `binary.canParse`|`boolean`, `RegExp`, `string`, `array`, `function`|Determines which parsers will be used for which files.

A regular expression can be used to match files by their full path. A string (or array of strings) can be used to match files by their file extension. Or a function can be used to perform more complex matching logic. See the [custom parser](https://apitools.dev/json-schema-ref-parser/docs/plugins/parsers.html) docs for details. -|`text.encoding`|`string` |The encoding to use when parsing text-based files. The default is "utf8". +| Option(s) | Type | Description | +| :------------------------------------------------------------------------ | :------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `json`
`yaml`
`text`
`binary` | `object` `boolean` | These are the built-in parsers. In addition, you can add [your own custom parsers](https://apitools.dev/json-schema-ref-parser/docs/plugins/parsers.html)

To disable a parser, just set it to `false`. | +| `json.order` `yaml.order` `text.order` `binary.order` | `number` | Parsers run in a specific order, relative to other parsers. For example, a parser with `order: 5` will run _before_ a parser with `order: 10`. If a parser is unable to successfully parse a file, then the next parser is tried, until one succeeds or they all fail.

You can change the order in which parsers run, which is useful if you know that most of your referenced files will be a certain type, or if you add [your own custom parser](https://apitools.dev/json-schema-ref-parser/docs/plugins/parsers.html) that you want to run _first_. | +| `json.allowEmpty` `yaml.allowEmpty` `text.allowEmpty` `binary.allowEmpty` | `boolean` | All of the built-in parsers allow empty files by default. The JSON and YAML parsers will parse empty files as `undefined`. The text parser will parse empty files as an empty string. The binary parser will parse empty files as an empty byte array.

You can set `allowEmpty: false` on any parser, which will cause an error to be thrown if a file empty. | +| `json.canParse` `yaml.canParse` `text.canParse` `binary.canParse` | `boolean`, `RegExp`, `string`, `array`, `function` | Determines which parsers will be used for which files.

A regular expression can be used to match files by their full path. A string (or array of strings) can be used to match files by their file extension. Or a function can be used to perform more complex matching logic. See the [custom parser](https://apitools.dev/json-schema-ref-parser/docs/plugins/parsers.html) docs for details. | +| `text.encoding` | `string` | The encoding to use when parsing text-based files. The default is "utf8". | +## `resolve` SwaggerParserOptions -`resolve` Options -------------------- The `resolve` options control how Swagger Parser will resolve file paths and URLs, and how those files will be read/downloaded. -Swagger Parser comes with built-in support for HTTP and HTTPS, as well as support for local files (when running in Node.js). You can configure or disable either of these built-in resolvers. You can also add [your own custom resolvers](https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html) if you want. +Swagger Parser comes with built-in support for HTTP and HTTPS, as well as support for local files (when running in Node.js). You can configure or disable either of these built-in resolvers. You can also add [your own custom resolvers](https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html) if you want. -|Option(s) |Type |Description -|:----------------------------|:----------|:------------ -|`external`|`boolean`|Determines whether external $ref pointers will be resolved. If this option is disabled, then external $ref pointers will simply be ignored. -|`file`
`http`|`object` `boolean`|These are the built-in resolvers. In addition, you can add [your own custom resolvers](https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html)

To disable a resolver, just set it to `false`. -|`file.order` `http.order`|`number`|Resolvers run in a specific order, relative to other resolvers. For example, a resolver with `order: 5` will run _before_ a resolver with `order: 10`. If a resolver is unable to successfully resolve a path, then the next resolver is tried, until one succeeds or they all fail.

You can change the order in which resolvers run, which is useful if you know that most of your file references will be a certain type, or if you add [your own custom resolver](https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html) that you want to run _first_. -|`file.canRead` `http.canRead`|`boolean`, `RegExp`, `string`, `array`, `function`|Determines which resolvers will be used for which files.

A regular expression can be used to match files by their full path. A string (or array of strings) can be used to match files by their file extension. Or a function can be used to perform more complex matching logic. See the [custom resolver](https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html) docs for details. -|`http.headers`|`object`|You can specify any HTTP headers that should be sent when downloading files. For example, some servers may require you to set the `Accept` or `Referrer` header. -|`http.timeout` |`number` |The amount of time (in milliseconds) to wait for a response from the server when downloading files. The default is 5 seconds. -|`http.redirects` |`number` |The maximum number of HTTP redirects to follow per file. The default is 5. To disable automatic following of redirects, set this to zero. -|`http.withCredentials`|`boolean`|Set this to `true` if you're downloading files from a CORS-enabled server that requires authentication +| Option(s) | Type | Description | +| :---------------------------- | :------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `external` | `boolean` | Determines whether external $ref pointers will be resolved. If this option is disabled, then external $ref pointers will simply be ignored. | +| `file`
`http` | `object` `boolean` | These are the built-in resolvers. In addition, you can add [your own custom resolvers](https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html)

To disable a resolver, just set it to `false`. | +| `file.order` `http.order` | `number` | Resolvers run in a specific order, relative to other resolvers. For example, a resolver with `order: 5` will run _before_ a resolver with `order: 10`. If a resolver is unable to successfully resolve a path, then the next resolver is tried, until one succeeds or they all fail.

You can change the order in which resolvers run, which is useful if you know that most of your file references will be a certain type, or if you add [your own custom resolver](https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html) that you want to run _first_. | +| `file.canRead` `http.canRead` | `boolean`, `RegExp`, `string`, `array`, `function` | Determines which resolvers will be used for which files.

A regular expression can be used to match files by their full path. A string (or array of strings) can be used to match files by their file extension. Or a function can be used to perform more complex matching logic. See the [custom resolver](https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html) docs for details. | +| `http.headers` | `object` | You can specify any HTTP headers that should be sent when downloading files. For example, some servers may require you to set the `Accept` or `Referrer` header. | +| `http.timeout` | `number` | The amount of time (in milliseconds) to wait for a response from the server when downloading files. The default is 5 seconds. | +| `http.redirects` | `number` | The maximum number of HTTP redirects to follow per file. The default is 5. To disable automatic following of redirects, set this to zero. | +| `http.withCredentials` | `boolean` | Set this to `true` if you're downloading files from a CORS-enabled server that requires authentication | +## `dereference` SwaggerParserOptions -`dereference` Options -------------------- The `dereference` options control how Swagger Parser will dereference `$ref` pointers within the API. -|Option(s) |Type |Description -|:---------------------|:-------------------|:------------ -|`circular`|`boolean` or `"ignore"`|Determines whether [circular `$ref` pointers](README.md#circular-refs) are handled.

If set to `false`, then a `ReferenceError` will be thrown if the API contains any circular references.

If set to `"ignore"`, then circular references will simply be ignored. No error will be thrown, but the [`$Refs.circular`](refs.md#circular) property will still be set to `true`. +| Option(s) | Type | Description | +| :--------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `circular` | `boolean` or `"ignore"` | Determines whether [circular `$ref` pointers](README.md#circular-refs) are handled.

If set to `false`, then a `ReferenceError` will be thrown if the API contains any circular references.

If set to `"ignore"`, then circular references will simply be ignored. No error will be thrown, but the [`$Refs.circular`](refs.md#circular) property will still be set to `true`. | +## `validate` SwaggerParserOptions -`validate` Options -------------------- The `validate` options control how Swagger Parser will validate the API. -Swagger Parser comes with built-in support for validating against the [Swagger 2.0 Schema](https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v2.0/schema.json) and [OpenAPI 3.0 Schema](https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v3.0/schema.json). It can also validate against the [Swagger 2.0 Specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md). The specification validator will catch some things that aren't covered by the Swagger 2.0 Schema, such as duplicate parameters, invalid MIME types, etc. +Swagger Parser comes with built-in support for validating against the [Swagger 2.0 Schema](https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v2.0/schema.json) and [OpenAPI 3.0 Schema](https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v3.0/schema.json). It can also validate against the [Swagger 2.0 Specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md). The specification validator will catch some things that aren't covered by the Swagger 2.0 Schema, such as duplicate parameters, invalid MIME types, etc. -> **Note:** Validating against the [OpenAPI 3.0 Specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md) is not (yet) supported. For now, the `validate.spec` option is ignored if your API is in OpenAPI 3.0 format. +> **Note:** Validating against the [OpenAPI 3.0 Specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md) is not (yet) supported. For now, the `validate.spec` option is ignored if your API is in OpenAPI 3.0 format. You can disable either (or both) of these built-in validators by setting them to false. -|Option(s) |Type |Description -|:---------------------|:-------------------|:------------ -|`schema`|`boolean`|Set to `false` to disable validating against the [Swagger 2.0 Schema](https://github.com/OAI/OpenAPI-Specification/tree/master/schemas/v2.0) or [OpenAPI 3.0 Schema](https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v3.0/schema.json) -|`spec`|`boolean`|Set to `false` to disable validating against the [Swagger 2.0 Specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md). +| Option(s) | Type | Description | +| :-------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `schema` | `boolean` | Set to `false` to disable validating against the [Swagger 2.0 Schema](https://github.com/OAI/OpenAPI-Specification/tree/master/schemas/v2.0) or [OpenAPI 3.0 Schema](https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v3.0/schema.json) | +| `spec` | `boolean` | Set to `false` to disable validating against the [Swagger 2.0 Specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md). | diff --git a/docs/refs.md b/docs/refs.md index 91e3653b..b5058e81 100644 --- a/docs/refs.md +++ b/docs/refs.md @@ -1,45 +1,43 @@ -`$Refs` class -========================== +# `$Refs` class -When you call the [`resolve`](swagger-parser.md#resolveschema-options-callback) method, the value that gets passed to the callback function (or Promise) is a `$Refs` object. This same object is accessible via the [`parser.$refs`](swagger-parser.md#refs) property of `SwaggerParser` objects. - -This object is a map of JSON References and their resolved values. It also has several convenient helper methods that make it easy for you to navigate and manipulate the JSON References. +When you call the [`resolve`](swagger-parser.md#resolveschema-options-callback) method, the value that gets passed to the callback function (or Promise) is a `$Refs` object. This same object is accessible via the [`parser.$refs`](swagger-parser.md#refs) property of `SwaggerParser` objects. +This object is a map of JSON References and their resolved values. It also has several convenient helper methods that make it easy for you to navigate and manipulate the JSON References. ##### Properties + - [`circular`](#circular) ##### Methods + - [`paths()`](#pathstypes) - [`values()`](#valuestypes) - [`exists()`](#existsref) - [`get()`](#getref-options) - [`set()`](#setref-value-options) - ### `circular` - **Type:** `boolean` -This property is `true` if the API contains any [circular references](README.md#circular-refs). You may want to check this property before serializing the dereferenced schema as JSON, since [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) does not support circular references by default. +This property is `true` if the API contains any [circular references](README.md#circular-refs). You may want to check this property before serializing the dereferenced schema as JSON, since [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) does not support circular references by default. ```javascript let parser = new SwaggerParser(); await parser.dereference("my-api.yaml"); if (parser.$refs.circular) { - console.log('The API contains circular references'); + console.log("The API contains circular references"); } ``` - ### `paths([types])` - **types** (_optional_) - `string` (one or more)
-Optionally only return certain types of paths ("file", "http", etc.) + Optionally only return certain types of paths ("file", "http", etc.) - **Return Value:** `array` of `string`
-Returns the paths/URLs of all the files in your API (including the main api file). + Returns the paths/URLs of all the files in your API (including the main api file). ```javascript let $refs = await SwaggerParser.resolve("my-api.yaml"); @@ -54,14 +52,13 @@ $refs.paths("fs"); $refs.paths("http", "https"); ``` - ### `values([types])` - **types** (_optional_) - `string` (one or more)
-Optionally only return values from certain locations ("file", "http", etc.) + Optionally only return values from certain locations ("file", "http", etc.) - **Return Value:** `object`
-Returns a map of paths/URLs and their correspond values. + Returns a map of paths/URLs and their correspond values. ```javascript let $refs = await SwaggerParser.resolve("my-api.yaml"); @@ -74,50 +71,47 @@ values["schemas/person.yaml"]; values["http://company.com/my-api.yaml"]; ``` - ### `exists($ref)` - **$ref** (_required_) - `string`
-The JSON Reference path, optionally with a JSON Pointer in the hash + The JSON Reference path, optionally with a JSON Pointer in the hash - **Return Value:** `boolean`
-Returns `true` if the given path exists in the API; otherwise, returns `false` + Returns `true` if the given path exists in the API; otherwise, returns `false` ```javascript let $refs = await SwaggerParser.resolve("my-api.yaml"); $refs.exists("schemas/person.yaml#/properties/firstName"); // => true -$refs.exists("schemas/person.yaml#/properties/foobar"); // => false +$refs.exists("schemas/person.yaml#/properties/foobar"); // => false ``` - ### `get($ref, [options])` - **$ref** (_required_) - `string`
-The JSON Reference path, optionally with a JSON Pointer in the hash + The JSON Reference path, optionally with a JSON Pointer in the hash - **options** (_optional_) - `object`
-See [options](options.md) for the full list of options + See [options](options.md) for the full list of options - **Return Value:** `boolean`
-Gets the value at the given path in the API. Throws an error if the path does not exist. + Gets the value at the given path in the API. Throws an error if the path does not exist. ```javascript let $refs = await SwaggerParser.resolve("my-api.yaml"); let value = $refs.get("schemas/person.yaml#/properties/firstName"); ``` - ### `set($ref, value, [options])` - **$ref** (_required_) - `string`
-The JSON Reference path, optionally with a JSON Pointer in the hash + The JSON Reference path, optionally with a JSON Pointer in the hash - **value** (_required_)
-The value to assign. Can be anything (object, string, number, etc.) + The value to assign. Can be anything (object, string, number, etc.) - **options** (_optional_) - `object`
-See [options](options.md) for the full list of options + See [options](options.md) for the full list of options Sets the value at the given path in the API. If the property, or any of its parents, don't exist, they will be created. diff --git a/docs/swagger-parser.md b/docs/swagger-parser.md index 00fde88f..b197f95d 100644 --- a/docs/swagger-parser.md +++ b/docs/swagger-parser.md @@ -1,37 +1,38 @@ -`SwaggerParser` class -========================== +# `SwaggerParser` class -This is the default export of Swagger Parser. You can create instances of this class using `new SwaggerParser()`, or you can just call its [static methods](README.md#class-methods-vs-instance-methods). +This is the default export of Swagger Parser. You can create instances of this class using `new SwaggerParser()`, or you can just call its [static methods](README.md#class-methods-vs-instance-methods). ##### Properties + - [`api`](#api) - [`$refs`](#refs) ##### Methods + - [`validate()`](#validateapi-options-callback) - [`dereference()`](#dereferenceapi-options-callback) - [`bundle()`](#bundleapi-options-callback) - [`parse()`](#parseapi-options-callback) - [`resolve()`](#resolveapi-options-callback) - ### `api` -The `api` property is the parsed/bundled/dereferenced Swagger API object. This is the same value that is passed to the callback function (or Promise) when calling the [`parse`](#parseapi-options-callback), [`bundle`](#bundleapi-options-callback), or [`dereference`](#dereferenceapi-options-callback) methods. + +The `api` property is the parsed/bundled/dereferenced Swagger API object. This is the same value that is passed to the callback function (or Promise) when calling the [`parse`](#parseapi-options-callback), [`bundle`](#bundleapi-options-callback), or [`dereference`](#dereferenceapi-options-callback) methods. ```javascript let parser = new SwaggerParser(); -parser.api; // => null +parser.api; // => null let api = await parser.dereference("my-api.yaml"); -typeof parser.api; // => "object" +typeof parser.api; // => "object" api === parser.api; // => true ``` - ### `$refs` + The `$refs` property is a [`$Refs`](refs.md) object, which lets you access all of the externally-referenced files in the API, as well as easily get and set specific values in the schema using JSON pointers. This is the same value that is passed to the callback function (or Promise) when calling the [`resolve`](#resolveapi-options-callback) method. @@ -39,34 +40,32 @@ This is the same value that is passed to the callback function (or Promise) when ```javascript let parser = new SwaggerParser(); -parser.$refs.paths(); // => [] empty array +parser.$refs.paths(); // => [] empty array await parser.dereference("my-api.json"); -parser.$refs.paths(); // => ["my-api.json"] +parser.$refs.paths(); // => ["my-api.json"] ``` - ### `validate(api, [options], [callback])` - **api** (_required_) - `string` or `object`
-A [Swagger Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or the file path or URL of your Swagger API. See the [`parse`](#parseapi-options-callback) method for more info. + A [Swagger Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or the file path or URL of your Swagger API. See the [`parse`](#parseapi-options-callback) method for more info. - **options** (_optional_) - `object`
-See [options](options.md) for the full list of options + See [options](options.md) for the full list of options - **callback** (_optional_) - `function(err, api)`
-A callback that will receive the dereferenced and validated [Swagger object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object). + A callback that will receive the dereferenced and validated [Swagger object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object). - **Return Value:** `Promise`
-See [Callbacks vs. Promises](README.md#callbacks-vs-promises) + See [Callbacks vs. Promises](README.md#callbacks-vs-promises) Validates the Swagger API against the [Swagger 2.0 schema](https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v2.0/schema.json) or [OpenAPI 3.0 Schema](https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v3.0/schema.json). If [the `validate.spec` option](options.md#validate-options) is enabled, then this method also validates against the [Swagger 2.0 spec](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md). The specification validator will catch some things that aren't covered by the Swagger 2.0 Schema, such as duplicate parameters, invalid MIME types, etc. -> **Note:** Validating against the [OpenAPI 3.0 Specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md) is not (yet) supported. For now, the `validate.spec` option is ignored if your API is in OpenAPI 3.0 format. - +> **Note:** Validating against the [OpenAPI 3.0 Specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md) is not (yet) supported. For now, the `validate.spec` option is ignored if your API is in OpenAPI 3.0 format. If validation fails, then an error will be passed to the callback function, or the Promise will reject. Either way, the error will contain information about why the API is invalid. @@ -75,31 +74,29 @@ This method calls [`dereference`](#dereferenceapi-options-callback) internally, ```javascript try { let api = await SwaggerParser.validate("my-api.yaml"); - console.log('Yay! The API is valid.'); -} -catch(err) { - console.error('Onoes! The API is invalid. ' + err.message); + console.log("Yay! The API is valid."); +} catch (err) { + console.error("Onoes! The API is invalid. " + err.message); } ``` - ### `dereference(api, [options], [callback])` - **api** (_required_) - `string` or `object`
-A [Swagger Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or the file path or URL of your Swagger API. See the [`parse`](#parseapi-options-callback) method for more info. + A [Swagger Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or the file path or URL of your Swagger API. See the [`parse`](#parseapi-options-callback) method for more info. - **options** (_optional_) - `object`
-See [options](options.md) for the full list of options + See [options](options.md) for the full list of options - **callback** (_optional_) - `function(err, api)`
-A callback that will receive the dereferenced [Swagger object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object). + A callback that will receive the dereferenced [Swagger object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object). - **Return Value:** `Promise`
-See [Callbacks vs. Promises](README.md#callbacks-vs-promises) + See [Callbacks vs. Promises](README.md#callbacks-vs-promises) -Dereferences all `$ref` pointers in the Swagger API, replacing each reference with its resolved value. This results in a [Swagger object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object) that does not contain _any_ `$ref` pointers. Instead, it's a normal JavaScript object tree that can easily be crawled and used just like any other JavaScript object. This is great for programmatic usage, especially when using tools that don't understand JSON references. +Dereferences all `$ref` pointers in the Swagger API, replacing each reference with its resolved value. This results in a [Swagger object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object) that does not contain _any_ `$ref` pointers. Instead, it's a normal JavaScript object tree that can easily be crawled and used just like any other JavaScript object. This is great for programmatic usage, especially when using tools that don't understand JSON references. -The `dereference` method maintains object reference equality, meaning that all `$ref` pointers that point to the same object will be replaced with references to the same object. Again, this is great for programmatic usage, but it does introduce the risk of [circular references](README.md#circular-refs), so be careful if you intend to serialize the API using [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Consider using the [`bundle`](#bundleapi-options-callback) method instead, which does not create circular references. +The `dereference` method maintains object reference equality, meaning that all `$ref` pointers that point to the same object will be replaced with references to the same object. Again, this is great for programmatic usage, but it does introduce the risk of [circular references](README.md#circular-refs), so be careful if you intend to serialize the API using [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Consider using the [`bundle`](#bundleapi-options-callback) method instead, which does not create circular references. ```javascript let api = await SwaggerParser.dereference("my-api.yaml"); @@ -109,22 +106,21 @@ let api = await SwaggerParser.dereference("my-api.yaml"); console.log(api.definitions.person.properties.firstName); // => {type: "string"} ``` - ### `bundle(api, [options], [callback])` - **api** (_required_) - `string` or `object`
-A [Swagger Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or the file path or URL of your Swagger API. See the [`parse`](#parseapi-options-callback) method for more info. + A [Swagger Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or the file path or URL of your Swagger API. See the [`parse`](#parseapi-options-callback) method for more info. - **options** (_optional_) - `object`
-See [options](options.md) for the full list of options + See [options](options.md) for the full list of options - **callback** (_optional_) - `function(err, api)`
-A callback that will receive the bundled [Swagger object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object). + A callback that will receive the bundled [Swagger object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object). - **Return Value:** `Promise`
-See [Callbacks vs. Promises](README.md#callbacks-vs-promises) + See [Callbacks vs. Promises](README.md#callbacks-vs-promises) -Bundles all referenced files/URLs into a single api that only has _internal_ `$ref` pointers. This lets you split-up your API however you want while you're building it, but easily combine all those files together when it's time to package or distribute the API to other people. The resulting API size will be small, since it will still contain _internal_ JSON references rather than being [fully-dereferenced](#dereferenceapi-options-callback). +Bundles all referenced files/URLs into a single api that only has _internal_ `$ref` pointers. This lets you split-up your API however you want while you're building it, but easily combine all those files together when it's time to package or distribute the API to other people. The resulting API size will be small, since it will still contain _internal_ JSON references rather than being [fully-dereferenced](#dereferenceapi-options-callback). This also eliminates the risk of [circular references](README.md#circular-refs), so the API can be safely serialized using [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). @@ -133,50 +129,48 @@ let api = await SwaggerParser.bundle("my-api.yaml"); console.log(api.definitions.person); // => {$ref: "#/definitions/schemas~1person.yaml"} ``` - ### `parse(api, [options], [callback])` - **api** (_required_) - `string` or `object`
-A [Swagger Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or the file path or URL of your Swagger API. -

-The path can be absolute or relative. In Node, the path is relative to `process.cwd()`. In the browser, it's relative to the URL of the page. + A [Swagger Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or the file path or URL of your Swagger API. +

+ The path can be absolute or relative. In Node, the path is relative to `process.cwd()`. In the browser, it's relative to the URL of the page. - **options** (_optional_) - `object`
-See [options](options.md) for the full list of options + See [options](options.md) for the full list of options - **callback** (_optional_) - `function(err, api)`
-A callback that will receive the parsed [Swagger object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or an error. + A callback that will receive the parsed [Swagger object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or an error. - **Return Value:** `Promise`
-See [Callbacks vs. Promises](README.md#callbacks-vs-promises) + See [Callbacks vs. Promises](README.md#callbacks-vs-promises) -> This method is used internally by other methods, such as [`bundle`](#bundleapi-options-callback) and [`dereference`](#dereferenceapi-options-callback). You probably won't need to call this method yourself. +> This method is used internally by other methods, such as [`bundle`](#bundleapi-options-callback) and [`dereference`](#dereferenceapi-options-callback). You probably won't need to call this method yourself. -Parses the given Swagger API (in JSON or YAML format), and returns it as a JavaScript object. This method **does not** resolve `$ref` pointers or dereference anything. It simply parses _one_ file and returns it. +Parses the given Swagger API (in JSON or YAML format), and returns it as a JavaScript object. This method **does not** resolve `$ref` pointers or dereference anything. It simply parses _one_ file and returns it. ```javascript let api = await SwaggerParser.parse("my-api.yaml"); console.log("API name: %s, Version: %s", api.info.title, api.info.version); ``` - ### `resolve(api, [options], [callback])` - **api** (_required_) - `string` or `object`
-A [Swagger Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or the file path or URL of your Swagger API. See the [`parse`](#parseapi-options-callback) method for more info. + A [Swagger Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object), or the file path or URL of your Swagger API. See the [`parse`](#parseapi-options-callback) method for more info. - **options** (_optional_) - `object`
-See [options](options.md) for the full list of options + See [options](options.md) for the full list of options - **callback** (_optional_) - `function(err, $refs)`
-A callback that will receive a [`$Refs`](refs.yaml) object. + A callback that will receive a [`$Refs`](refs.yaml) object. - **Return Value:** `Promise`
-See [Callbacks vs. Promises](README.md#callbacks-vs-promises) + See [Callbacks vs. Promises](README.md#callbacks-vs-promises) -> This method is used internally by other methods, such as [`bundle`](#bundleapi-options-callback) and [`dereference`](#dereferenceapi-options-callback). You probably won't need to call this method yourself. +> This method is used internally by other methods, such as [`bundle`](#bundleapi-options-callback) and [`dereference`](#dereferenceapi-options-callback). You probably won't need to call this method yourself. -Resolves all JSON references (`$ref` pointers) in the given Swagger API. If it references any other files/URLs, then they will be downloaded and resolved as well (unless `options.$refs.external` is false). This method **does not** dereference anything. It simply gives you a [`$Refs`](refs.yaml) object, which is a map of all the resolved references and their values. +Resolves all JSON references (`$ref` pointers) in the given Swagger API. If it references any other files/URLs, then they will be downloaded and resolved as well (unless `options.$refs.external` is false). This method **does not** dereference anything. It simply gives you a [`$Refs`](refs.yaml) object, which is a map of all the resolved references and their values. ```javascript let $refs = await SwaggerParser.resolve("my-api.yaml"); diff --git a/karma.conf.js b/karma.conf.js deleted file mode 100644 index 22ad8012..00000000 --- a/karma.conf.js +++ /dev/null @@ -1,31 +0,0 @@ -// Karma config -// https://karma-runner.github.io/0.12/config/configuration-file.html -// https://jstools.dev/karma-config/ - -"use strict"; - -const { karmaConfig } = require("@jsdevtools/karma-config"); -const { host } = require("@jsdevtools/host-environment"); - -module.exports = karmaConfig({ - sourceDir: "lib", - fixtures: "test/fixtures/**/*.js", - browsers: { - chrome: host.ci ? host.os.linux : true, - firefox: host.ci ? host.os.linux : true, - safari: false, - edge: false, - ie: false, - // Find a way to bring back these without using Saucelabs - // safari: host.ci ? host.os.linux : host.os.mac, - // edge: host.os.windows, - // ie: host.ci ? host.os.windows : true, - }, - config: { - exclude: [ - // Exclude these tests because some of the APIs are HUGE and cause timeouts. - // We still test them in Node though. - "test/specs/real-world/*", - ] - } -}); diff --git a/lib/index.d.ts b/lib/index.d.ts index fc9c618b..1256f340 100644 --- a/lib/index.d.ts +++ b/lib/index.d.ts @@ -8,7 +8,6 @@ export = SwaggerParser; * See https://apitools.dev/swagger-parser/docs/swagger-parser.html */ declare class SwaggerParser { - /** * The `api` property is the parsed/bundled/dereferenced OpenAPI definition. This is the same value that is passed to the callback function (or Promise) when calling the parse, bundle, or dereference methods. * @@ -36,11 +35,24 @@ declare class SwaggerParser { * @param callback (optional) A callback that will receive the dereferenced OpenAPI definition */ public validate(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; - public validate(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; - public validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; + public validate( + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; + public validate( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; public validate(api: string | OpenAPI.Document): Promise; public validate(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; - public validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; + public validate( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + ): Promise; /** * Parses, dereferences, and validates the given Swagger API. @@ -53,11 +65,24 @@ declare class SwaggerParser { * @param callback (optional) A callback that will receive the dereferenced OpenAPI definition */ public static validate(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; - public static validate(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; - public static validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; + public static validate( + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; + public static validate( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; public static validate(api: string | OpenAPI.Document): Promise; public static validate(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; - public static validate(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; + public static validate( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + ): Promise; /** * Dereferences all `$ref` pointers in the OpenAPI definition, replacing each reference with its resolved value. This results in an API definition that does not contain any `$ref` pointers. Instead, it's a normal JavaScript object tree that can easily be crawled and used just like any other JavaScript object. This is great for programmatic usage, especially when using tools that don't understand JSON references. @@ -71,11 +96,24 @@ declare class SwaggerParser { * @param callback (optional) A callback that will receive the dereferenced OpenAPI definition */ public dereference(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; - public dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; - public dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; + public dereference( + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; + public dereference( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; public dereference(api: string | OpenAPI.Document): Promise; public dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; - public dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; + public dereference( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + ): Promise; /** * Dereferences all `$ref` pointers in the OpenAPI definition, replacing each reference with its resolved value. This results in an API definition that does not contain any `$ref` pointers. Instead, it's a normal JavaScript object tree that can easily be crawled and used just like any other JavaScript object. This is great for programmatic usage, especially when using tools that don't understand JSON references. @@ -89,11 +127,24 @@ declare class SwaggerParser { * @param callback (optional) A callback that will receive the dereferenced OpenAPI definition */ public static dereference(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; - public static dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; - public static dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; + public static dereference( + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; + public static dereference( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; public static dereference(api: string | OpenAPI.Document): Promise; public static dereference(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; - public static dereference(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; + public static dereference( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + ): Promise; /** * Bundles all referenced files/URLs into a single API definition that only has internal `$ref` pointers. This lets you split-up your API definition however you want while you're building it, but easily combine all those files together when it's time to package or distribute the API definition to other people. The resulting API definition size will be small, since it will still contain internal JSON references rather than being fully-dereferenced. @@ -107,11 +158,24 @@ declare class SwaggerParser { * @param callback (optional) A callback that will receive the bundled API definition object */ public bundle(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; - public bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; - public bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; + public bundle( + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; + public bundle( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; public bundle(api: string | OpenAPI.Document): Promise; public bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; - public bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; + public bundle( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + ): Promise; /** * Bundles all referenced files/URLs into a single API definition that only has internal `$ref` pointers. This lets you split-up your API definition however you want while you're building it, but easily combine all those files together when it's time to package or distribute the API definition to other people. The resulting API definition size will be small, since it will still contain internal JSON references rather than being fully-dereferenced. @@ -125,11 +189,24 @@ declare class SwaggerParser { * @param callback (optional) A callback that will receive the bundled API definition object */ public static bundle(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; - public static bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; - public static bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; + public static bundle( + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; + public static bundle( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; public static bundle(api: string | OpenAPI.Document): Promise; public static bundle(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; - public static bundle(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; + public static bundle( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + ): Promise; /** * *This method is used internally by other methods, such as `bundle` and `dereference`. You probably won't need to call this method yourself.* @@ -143,11 +220,24 @@ declare class SwaggerParser { * @param callback (optional) A callback that will receive the parsed OpenAPI definition object, or an error */ public parse(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; - public parse(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; - public parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; + public parse( + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; + public parse( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; public parse(api: string | OpenAPI.Document): Promise; public parse(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; - public parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; + public parse( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + ): Promise; /** * *This method is used internally by other methods, such as `bundle` and `dereference`. You probably won't need to call this method yourself.* @@ -161,11 +251,24 @@ declare class SwaggerParser { * @param callback (optional) A callback that will receive the parsed OpenAPI definition object, or an error */ public static parse(api: string | OpenAPI.Document, callback: SwaggerParser.ApiCallback): void; - public static parse(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; - public static parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.ApiCallback): void; + public static parse( + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; + public static parse( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.ApiCallback, + ): void; public static parse(api: string | OpenAPI.Document): Promise; public static parse(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; - public static parse(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; + public static parse( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + ): Promise; /** * *This method is used internally by other methods, such as `bundle` and `dereference`. You probably won't need to call this method yourself.* @@ -179,11 +282,24 @@ declare class SwaggerParser { * @param callback (optional) A callback that will receive a `$Refs` object */ public resolve(api: string | OpenAPI.Document, callback: SwaggerParser.$RefsCallback): void; - public resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; - public resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; + public resolve( + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.$RefsCallback, + ): void; + public resolve( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.$RefsCallback, + ): void; public resolve(api: string | OpenAPI.Document): Promise; public resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; - public resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; + public resolve( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + ): Promise; /** * *This method is used internally by other methods, such as `bundle` and `dereference`. You probably won't need to call this method yourself.* @@ -197,16 +313,28 @@ declare class SwaggerParser { * @param callback (optional) A callback that will receive a `$Refs` object */ public static resolve(api: string | OpenAPI.Document, callback: SwaggerParser.$RefsCallback): void; - public static resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; - public static resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options, callback: SwaggerParser.$RefsCallback): void; + public static resolve( + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.$RefsCallback, + ): void; + public static resolve( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + callback: SwaggerParser.$RefsCallback, + ): void; public static resolve(api: string | OpenAPI.Document): Promise; public static resolve(api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; - public static resolve(baseUrl: string, api: string | OpenAPI.Document, options: SwaggerParser.Options): Promise; + public static resolve( + baseUrl: string, + api: string | OpenAPI.Document, + options: SwaggerParser.Options, + ): Promise; } // eslint-disable-next-line no-redeclare declare namespace SwaggerParser { - export type ApiCallback = (err: Error | null, api?: OpenAPI.Document) => any; export type $RefsCallback = (err: Error | null, $refs?: $Refs) => any; @@ -214,7 +342,6 @@ declare namespace SwaggerParser { * See https://apitools.dev/swagger-parser/docs/options.html */ export interface Options { - /** * The `parse` options determine how different types of files will be parsed. * @@ -233,7 +360,6 @@ declare namespace SwaggerParser { * JSON Schema `$Ref` Parser comes with built-in support for HTTP and HTTPS, as well as support for local files (when running in Node.js). You can configure or disable either of these built-in resolvers. You can also add your own custom resolvers if you want. */ resolve?: { - /** * Determines whether external $ref pointers will be resolved. If this option is disabled, then external `$ref` pointers will simply be ignored. */ @@ -246,7 +372,6 @@ declare namespace SwaggerParser { * The `dereference` options control how JSON Schema `$Ref` Parser will dereference `$ref` pointers within the JSON schema. */ dereference?: { - /** * Determines whether circular `$ref` pointers are handled. * @@ -261,7 +386,6 @@ declare namespace SwaggerParser { * The `validate` options control how Swagger Parser will validate the API. */ validate?: { - /** * If set to `false`, then validating against the Swagger 2.0 Schema or OpenAPI 3.0 Schema is disabled. */ @@ -275,7 +399,6 @@ declare namespace SwaggerParser { } export interface HTTPResolverOptions extends Partial { - /** * You can specify any HTTP headers that should be sent when downloading files. For example, some servers may require you to set the `Accept` or `Referrer` header. */ @@ -303,7 +426,6 @@ declare namespace SwaggerParser { * See https://apitools.dev/json-schema-ref-parser/docs/plugins/resolvers.html */ export interface ResolverOptions { - /** * All resolvers have an order property, even the built-in resolvers. If you don't specify an order property, then your resolver will run last. Specifying `order: 1`, like we did in this example, will make your resolver run first. Or you can squeeze your resolver in-between some of the built-in resolvers. For example, `order: 101` would make it run after the file resolver, but before the HTTP resolver. You can see the order of all the built-in resolvers by looking at their source code. * @@ -323,12 +445,11 @@ declare namespace SwaggerParser { */ read( file: FileInfo, - callback?: (error: Error | null, data: string | null) => any + callback?: (error: Error | null, data: string | null) => any, ): string | Buffer | Promise; } export interface ParserOptions { - /** * Parsers run in a specific order, relative to other parsers. For example, a parser with `order: 5` will run before a parser with `order: 10`. If a parser is unable to successfully parse a file, then the next parser is tried, until one succeeds or they all fail. * @@ -359,7 +480,6 @@ declare namespace SwaggerParser { * See https://apitools.dev/json-schema-ref-parser/docs/plugins/file-info-object.html */ export interface FileInfo { - /** * The full URL of the file. This could be any type of URL, including "http://", "https://", "file://", "ftp://", "mongodb://", or even a local filesystem path (when running in Node.js). */ @@ -375,65 +495,4 @@ declare namespace SwaggerParser { */ data: string | Buffer; } - - /** - * When you call the resolve method, the value that gets passed to the callback function (or Promise) is a $Refs object. This same object is accessible via the parser.$refs property of SwaggerParser objects. - * - * This object is a map of JSON References and their resolved values. It also has several convenient helper methods that make it easy for you to navigate and manipulate the JSON References. - * - * See https://apitools.dev/swagger-parser/docs/refs.html - */ - export class $Refs { - /** - * This property is true if the API definition contains any circular references. You may want to check this property before serializing the dereferenced API definition as JSON, since JSON.stringify() does not support circular references by default. - * - * See https://apitools.dev/swagger-parser/docs/refs.html#circular - */ - public circular: boolean; - - /** - * Returns the paths/URLs of all the files in your API definition (including the main API definition file). - * - * See https://apitools.dev/swagger-parser/docs/refs.html#pathstypes - * - * @param types (optional) Optionally only return certain types of paths ("file", "http", etc.) - */ - public paths(...types: string[]): string[] - - /** - * Returns a map of paths/URLs and their correspond values. - * - * See https://apitools.dev/swagger-parser/docs/refs.html#valuestypes - * - * @param types (optional) Optionally only return values from certain locations ("file", "http", etc.) - */ - public values(...types: string[]): { [url: string]: any } - - /** - * Returns `true` if the given path exists in the OpenAPI definition; otherwise, returns `false` - * - * See https://apitools.dev/swagger-parser/docs/refs.html#existsref - * - * @param $ref The JSON Reference path, optionally with a JSON Pointer in the hash - */ - public exists($ref: string): boolean - - /** - * Gets the value at the given path in the OpenAPI definition. Throws an error if the path does not exist. - * - * See https://apitools.dev/swagger-parser/docs/refs.html#getref - * - * @param $ref The JSON Reference path, optionally with a JSON Pointer in the hash - */ - public get($ref: string): any - - /** - * Sets the value at the given path in the OpenAPI definition. If the property, or any of its parents, don't exist, they will be created. - * - * @param $ref The JSON Reference path, optionally with a JSON Pointer in the hash - * @param value The value to assign. Can be anything (object, string, number, etc.) - */ - public set($ref: string, value: any): void - } - } diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index f27b5e04..00000000 --- a/lib/index.js +++ /dev/null @@ -1,190 +0,0 @@ -/* eslint-disable no-unused-vars */ -"use strict"; - -const validateSchema = require("./validators/schema"); -const validateSpec = require("./validators/spec"); -const normalizeArgs = require("@apidevtools/json-schema-ref-parser/lib/normalize-args"); -const util = require("./util"); -const Options = require("./options"); -const maybe = require("call-me-maybe"); -const { ono } = require("@jsdevtools/ono"); -const $RefParser = require("@apidevtools/json-schema-ref-parser"); -const dereference = require("@apidevtools/json-schema-ref-parser/lib/dereference"); - -/** - * This class parses a Swagger 2.0 or 3.0 API, resolves its JSON references and their resolved values, - * and provides methods for traversing, dereferencing, and validating the API. - * - * @class - * @augments $RefParser - */ -class SwaggerParser extends $RefParser { - - /** - * Parses the given Swagger API. - * This method does not resolve any JSON references. - * It just reads a single file in JSON or YAML format, and parse it as a JavaScript object. - * - * @param {string} [path] - The file path or URL of the JSON schema - * @param {object} [api] - The Swagger API object. This object will be used instead of reading from `path`. - * @param {ParserOptions} [options] - Options that determine how the API is parsed - * @param {Function} [callback] - An error-first callback. The second parameter is the parsed API object. - * @returns {Promise} - The returned promise resolves with the parsed API object. - */ - async parse (path, api, options, callback) { - let args = normalizeArgs(arguments); - args.options = new Options(args.options); - - try { - let schema = await super.parse(args.path, args.schema, args.options); - - if (schema.swagger) { - // Verify that the parsed object is a Swagger API - if (schema.swagger === undefined || schema.info === undefined || schema.paths === undefined) { - throw ono.syntax(`${args.path || args.schema} is not a valid Swagger API definition`); - } - else if (typeof schema.swagger === "number") { - // This is a very common mistake, so give a helpful error message - throw ono.syntax('Swagger version number must be a string (e.g. "2.0") not a number.'); - } - else if (typeof schema.info.version === "number") { - // This is a very common mistake, so give a helpful error message - throw ono.syntax('API version number must be a string (e.g. "1.0.0") not a number.'); - } - else if (schema.swagger !== "2.0") { - throw ono.syntax(`Unrecognized Swagger version: ${schema.swagger}. Expected 2.0`); - } - } - else { - let supportedVersions = ["3.0.0", "3.0.1", "3.0.2", "3.0.3", "3.1.0"]; - - // Verify that the parsed object is a Openapi API - if (schema.openapi === undefined || schema.info === undefined) { - throw ono.syntax(`${args.path || args.schema} is not a valid Openapi API definition`); - } - else if (schema.paths === undefined) { - if (schema.openapi === "3.1.0") { - if (schema.webhooks === undefined) { - throw ono.syntax(`${args.path || args.schema} is not a valid Openapi API definition`); - } - } - else { - throw ono.syntax(`${args.path || args.schema} is not a valid Openapi API definition`); - } - } - else if (typeof schema.openapi === "number") { - // This is a very common mistake, so give a helpful error message - throw ono.syntax('Openapi version number must be a string (e.g. "3.0.0") not a number.'); - } - else if (typeof schema.info.version === "number") { - // This is a very common mistake, so give a helpful error message - throw ono.syntax('API version number must be a string (e.g. "1.0.0") not a number.'); - } - else if (supportedVersions.indexOf(schema.openapi) === -1) { - throw ono.syntax( - `Unsupported OpenAPI version: ${schema.openapi}. ` + - `Swagger Parser only supports versions ${supportedVersions.join(", ")}` - ); - } - - // This is an OpenAPI v3 schema, check if the "servers" have any relative paths and - // fix them if the content was pulled from a web resource - util.fixOasRelativeServers(schema, args.path); - } - - // Looks good! - return maybe(args.callback, Promise.resolve(schema)); - } - catch (err) { - return maybe(args.callback, Promise.reject(err)); - } - } - - /** - * Parses, dereferences, and validates the given Swagger API. - * Depending on the options, validation can include JSON Schema validation and/or Swagger Spec validation. - * - * @param {string} [path] - The file path or URL of the JSON schema - * @param {object} [api] - The Swagger API object. This object will be used instead of reading from `path`. - * @param {ParserOptions} [options] - Options that determine how the API is parsed, dereferenced, and validated - * @param {Function} [callback] - An error-first callback. The second parameter is the parsed API object. - * @returns {Promise} - The returned promise resolves with the parsed API object. - */ - async validate (path, api, options, callback) { - let me = this; - let args = normalizeArgs(arguments); - args.options = new Options(args.options); - - // ZSchema doesn't support circular objects, so don't dereference circular $refs yet - // (see https://github.com/zaggino/z-schema/issues/137) - let circular$RefOption = args.options.dereference.circular; - args.options.validate.schema && (args.options.dereference.circular = "ignore"); - - try { - await this.dereference(args.path, args.schema, args.options); - - // Restore the original options, now that we're done dereferencing - args.options.dereference.circular = circular$RefOption; - - if (args.options.validate.schema) { - // Validate the API against the Swagger schema - // NOTE: This is safe to do, because we haven't dereferenced circular $refs yet - validateSchema(me.api); - - if (me.$refs.circular) { - if (circular$RefOption === true) { - // The API has circular references, - // so we need to do a second-pass to fully-dereference it - dereference(me, args.options); - } - else if (circular$RefOption === false) { - // The API has circular references, and they're not allowed, so throw an error - throw ono.reference("The API contains circular references"); - } - } - } - - if (args.options.validate.spec) { - // Validate the API against the Swagger spec - validateSpec(me.api); - } - - return maybe(args.callback, Promise.resolve(me.schema)); - } - catch (err) { - return maybe(args.callback, Promise.reject(err)); - } - } -} - - -/** - * Alias {@link $RefParser#schema} as {@link SwaggerParser#api} - */ -Object.defineProperty(SwaggerParser.prototype, "api", { - configurable: true, - enumerable: true, - get () { - return this.schema; - } -}); - -/** - * The Swagger object - * https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object - * - * @typedef {{swagger: string, info: {}, paths: {}}} SwaggerObject - */ - -const defaultInstance = new SwaggerParser(); -const defaultExport = SwaggerParser; - -defaultExport.validate = (...args) => { return defaultInstance.validate(...args); }; -defaultExport.dereference = (...args) => { return defaultInstance.dereference(...args); }; -defaultExport.bundle = (...args) => { return defaultInstance.bundle(...args); }; -defaultExport.parse = (...args) => { return defaultInstance.parse(...args); }; -defaultExport.resolve = (...args) => { return defaultInstance.resolve(...args); }; -defaultExport.default = defaultExport; -defaultExport.SwaggerParser = defaultExport; - -module.exports = defaultExport; diff --git a/lib/index.ts b/lib/index.ts new file mode 100644 index 00000000..431ed167 --- /dev/null +++ b/lib/index.ts @@ -0,0 +1,225 @@ +/* eslint-disable no-unused-vars */ +import validateSchema from "./validators/schema"; +import validateSpec from "./validators/spec"; +import normalizeArgs from "./normalize-args"; +import * as util from "./util"; +import { getSwaggerParserOptions, SwaggerParserOptions } from "./options"; +import maybe from "@apidevtools/json-schema-ref-parser/lib/util/maybe"; +import { ono } from "@jsdevtools/ono"; +import $RefParser from "@apidevtools/json-schema-ref-parser"; +import _dereference from "@apidevtools/json-schema-ref-parser/lib/dereference"; +import type { OpenAPI, OpenAPIV3, OpenAPIV3_1 } from "openapi-types"; +import type $Refs from "@apidevtools/json-schema-ref-parser/dist/lib/refs"; +import type { FileInfo, Plugin, HTTPResolverOptions } from "@apidevtools/json-schema-ref-parser/dist/lib/types"; + +const isSwaggerSchema = (schema: any): schema is OpenAPI.Document => { + return "swagger" in schema || "openapi" in schema; +}; + +const isOpenApiSchema = (schema: any): schema is OpenAPIV3.Document | OpenAPIV3_1.Document => { + return "openapi" in schema && schema.openapi !== undefined; +}; + +/** + * This class parses a Swagger 2.0 or 3.0 API, resolves its JSON references and their resolved values, + * and provides methods for traversing, dereferencing, and validating the API. + * + * @class + * @augments $RefParser + */ +export class SwaggerParser extends $RefParser { + /** + * The `api` property is the parsed/bundled/dereferenced OpenAPI definition. This is the same value that is passed to the callback function (or Promise) when calling the parse, bundle, or dereference methods. + * + * See https://apitools.dev/swagger-parser/docs/swagger-parser.html#api + */ + public api: OpenAPI.Document | null = null; + + /** + * Parses the given Swagger API. + * This method does not resolve any JSON references. + * It just reads a single file in JSON or YAML format, and parse it as a JavaScript object. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [api] - The Swagger API object. This object will be used instead of reading from `path`. + * @param {SwaggerParserOptions} [options] - SwaggerParserOptions that determine how the API is parsed + * @param {Function} [callback] - An error-first callback. The second parameter is the parsed API object. + * @returns {Promise} - The returned promise resolves with the parsed API object. + */ + + public parse(api: SwaggerParserSchema, callback: ApiCallback): void; + public parse(api: SwaggerParserSchema, options: SwaggerParserOptions, callback: ApiCallback): void; + public parse(baseUrl: string, api: SwaggerParserSchema, options: SwaggerParserOptions, callback: ApiCallback): void; + public parse(api: SwaggerParserSchema): Promise; + public parse(api: SwaggerParserSchema, options: SwaggerParserOptions): Promise; + public parse(baseUrl: string, api: SwaggerParserSchema, options: SwaggerParserOptions): Promise; + async parse() { + const args = normalizeArgs(arguments); + args.options = getSwaggerParserOptions(args.options); + + try { + const schema = await super.parse(args.path, args.schema, args.options); + if (!isSwaggerSchema(schema)) { + throw ono.syntax(`${args.path || args.schema} is not a valid Swagger API definition`); + } + + if ("swagger" in schema && schema.swagger) { + // Verify that the parsed object is a Swagger API + if (schema.swagger === undefined || schema.info === undefined || schema.paths === undefined) { + throw ono.syntax(`${args.path || args.schema} is not a valid Swagger API definition`); + } else if (typeof schema.swagger === "number") { + // This is a very common mistake, so give a helpful error message + throw ono.syntax('Swagger version number must be a string (e.g. "2.0") not a number.'); + } else if (typeof schema.info.version === "number") { + // This is a very common mistake, so give a helpful error message + throw ono.syntax('API version number must be a string (e.g. "1.0.0") not a number.'); + } else if (schema.swagger !== "2.0") { + throw ono.syntax(`Unrecognized Swagger version: ${schema.swagger}. Expected 2.0`); + } + } else { + const supportedVersions = ["3.0.0", "3.0.1", "3.0.2", "3.0.3", "3.1.0"]; + + if (!isOpenApiSchema(schema)) { + throw ono.syntax(`${args.path || args.schema} is not a valid Openapi API definition`); + } + + // Verify that the parsed object is a Openapi API + if (schema.openapi === undefined || schema.info === undefined) { + throw ono.syntax(`${args.path || args.schema} is not a valid Openapi API definition`); + } else if (schema.paths === undefined) { + if (schema.openapi === "3.1.0") { + if ("webhooks" in schema && schema.webhooks === undefined) { + throw ono.syntax(`${args.path || args.schema} is not a valid Openapi API definition`); + } + } else { + throw ono.syntax(`${args.path || args.schema} is not a valid Openapi API definition`); + } + } else if (typeof schema.openapi === "number") { + // This is a very common mistake, so give a helpful error message + throw ono.syntax('Openapi version number must be a string (e.g. "3.0.0") not a number.'); + } else if (typeof schema.info.version === "number") { + // This is a very common mistake, so give a helpful error message + throw ono.syntax('API version number must be a string (e.g. "1.0.0") not a number.'); + } else if (!supportedVersions.includes(schema.openapi)) { + throw ono.syntax( + `Unsupported OpenAPI version: ${schema.openapi}. ` + + `Swagger Parser only supports versions ${supportedVersions.join(", ")}`, + ); + } + + // This is an OpenAPI v3 schema, check if the "servers" have any relative paths and + // fix them if the content was pulled from a web resource + util.fixOasRelativeServers(schema, args.path); + } + + // Looks good! + return maybe(args.callback, Promise.resolve(schema)); + } catch (err) { + return maybe(args.callback, Promise.reject(err)); + } + } + + /** + * Parses, dereferences, and validates the given Swagger API. + * Depending on the options, validation can include JSON Schema validation and/or Swagger Spec validation. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [api] - The Swagger API object. This object will be used instead of reading from `path`. + * @param {SwaggerParserOptions} [options] - SwaggerParserOptions that determine how the API is parsed, dereferenced, and validated + * @param {Function} [callback] - An error-first callback. The second parameter is the parsed API object. + * @returns {Promise} - The returned promise resolves with the parsed API object. + */ + public validate(api: SwaggerParserSchema, callback: ApiCallback): void; + public validate(api: SwaggerParserSchema, options: SwaggerParserOptions, callback: ApiCallback): void; + public validate( + baseUrl: string, + api: SwaggerParserSchema, + options: SwaggerParserOptions, + callback: ApiCallback, + ): void; + public validate(api: SwaggerParserSchema): Promise; + public validate(api: SwaggerParserSchema, options: SwaggerParserOptions): Promise; + public validate(baseUrl: string, api: SwaggerParserSchema, options: SwaggerParserOptions): Promise; + async validate() { + const args = normalizeArgs(arguments); + args.options = getSwaggerParserOptions(args.options); + + // ZSchema doesn't support circular objects, so don't dereference circular $refs yet + // (see https://github.com/zaggino/z-schema/issues/137) + const circular$RefOption = args.options.dereference.circular; + args.options.validate.schema && (args.options.dereference.circular = "ignore"); + + try { + await this.dereference(args.path, args.schema, args.options); + + // Restore the original options, now that we're done dereferencing + args.options.dereference.circular = circular$RefOption; + + if (args.options.validate.schema) { + // Validate the API against the Swagger schema + // NOTE: This is safe to do, because we haven't dereferenced circular $refs yet + validateSchema(this.api!); + + if (this.$refs?.circular) { + if (circular$RefOption === true) { + // The API has circular references, + // so we need to do a second-pass to fully-dereference it + _dereference(this, args.options); + } else if (circular$RefOption === false) { + // The API has circular references, and they're not allowed, so throw an error + throw ono.reference("The API contains circular references"); + } + } + } + + if (args.options.validate.spec) { + // Validate the API against the Swagger spec + validateSpec(this.api!); + } + + return maybe(args.callback, Promise.resolve(this.schema)); + } catch (err) { + return maybe(args.callback, Promise.reject(err)); + } + } + + public static validate(schema: SwaggerParserSchema): Promise; + public static validate(schema: SwaggerParserSchema, callback: ApiCallback): Promise; + public static validate(schema: SwaggerParserSchema, options: SwaggerParserOptions): Promise; + public static validate( + schema: SwaggerParserSchema, + options: SwaggerParserOptions, + callback: ApiCallback, + ): Promise; + public static validate( + baseUrl: string, + schema: SwaggerParserSchema, + options: SwaggerParserOptions, + ): Promise; + public static validate( + baseUrl: string, + schema: SwaggerParserSchema, + options: SwaggerParserOptions, + callback: ApiCallback, + ): Promise; + static validate(): Promise | Promise { + const instance = new SwaggerParser(); + return instance.validate.apply(instance, arguments as any); + } +} + +export const parse = SwaggerParser.parse; +export const resolve = SwaggerParser.resolve; +export const bundle = SwaggerParser.bundle; +export const dereference = SwaggerParser.dereference; +export const validate = SwaggerParser.validate; + +export type ApiCallback = (err: Error | null, api?: OpenAPI.Document) => any; +export type $RefsCallback = (err: Error | null, $refs?: $Refs) => any; + +// this isn't a great name for this type, but it's the same as the one in the original code, so I'm keeping it for now +export type ParserOptions = Plugin; + +export { SwaggerParserOptions, FileInfo, Plugin, HTTPResolverOptions }; +export type SwaggerParserSchema = OpenAPI.Document | string; +export default SwaggerParser; diff --git a/lib/normalize-args.ts b/lib/normalize-args.ts new file mode 100644 index 00000000..cc9b98d8 --- /dev/null +++ b/lib/normalize-args.ts @@ -0,0 +1,62 @@ +import type SwaggerParserOptions from "./options"; +import { getSwaggerParserOptions } from "./options"; +import type { JSONSchema, SchemaCallback } from "@apidevtools/json-schema-ref-parser"; + +// I really dislike this function and the way it's written. It's not clear what it's doing, and it's way too flexible +// In the future, I'd like to deprecate the api and accept only named parameters in index.ts +export interface NormalizedArguments { + path: string; + schema: JSONSchema; + options: SwaggerParserOptions; + callback: SchemaCallback; +} +/** + * Normalizes the given arguments, accounting for optional args. + */ +export function normalizeArgs(_args: Partial): NormalizedArguments { + let path, schema, options, callback; + const args = Array.prototype.slice.call(_args) as any[]; + + if (typeof args[args.length - 1] === "function") { + // The last parameter is a callback function + callback = args.pop(); + } + + if (typeof args[0] === "string") { + // The first parameter is the path + path = args[0]; + if (typeof args[2] === "object") { + // The second parameter is the schema, and the third parameter is the options + schema = args[1]; + options = args[2]; + } else { + // The second parameter is the options + schema = undefined; + options = args[1]; + } + } else { + // The first parameter is the schema + path = ""; + schema = args[0]; + options = args[1]; + } + + try { + options = getSwaggerParserOptions(options); + } catch (e) { + console.error(`JSON Schema Ref Parser: Error normalizing options: ${e}`); + } + + if (!options.mutateInputSchema && typeof schema === "object") { + // Make a deep clone of the schema, so that we don't alter the original object + schema = JSON.parse(JSON.stringify(schema)); + } + + return { + path, + schema, + options, + callback, + }; +} +export default normalizeArgs; diff --git a/lib/options.js b/lib/options.js deleted file mode 100644 index e7d2acf4..00000000 --- a/lib/options.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; - -const $RefParserOptions = require("@apidevtools/json-schema-ref-parser/lib/options"); -const schemaValidator = require("./validators/schema"); -const specValidator = require("./validators/spec"); -const util = require("util"); - -module.exports = ParserOptions; - -/** - * Options that determine how Swagger APIs are parsed, resolved, dereferenced, and validated. - * - * @param {object|ParserOptions} [_options] - Overridden options - * @class - * @augments $RefParserOptions - */ -function ParserOptions (_options) { - $RefParserOptions.call(this, ParserOptions.defaults); - $RefParserOptions.apply(this, arguments); -} - -ParserOptions.defaults = { - /** - * Determines how the API definition will be validated. - * - * You can add additional validators of your own, replace an existing one with - * your own implemenation, or disable any validator by setting it to false. - */ - validate: { - schema: schemaValidator, - spec: specValidator, - }, -}; - -util.inherits(ParserOptions, $RefParserOptions); diff --git a/lib/options.ts b/lib/options.ts new file mode 100644 index 00000000..2de3081d --- /dev/null +++ b/lib/options.ts @@ -0,0 +1,74 @@ +import type $RefParserOptions from "@apidevtools/json-schema-ref-parser/lib/options"; +import { getNewOptions } from "@apidevtools/json-schema-ref-parser/lib/options"; +import schemaValidator from "./validators/schema"; +import specValidator from "./validators/spec"; +export default SwaggerParserOptions; + +/** + * SwaggerParserOptions that determine how Swagger APIs are parsed, resolved, dereferenced, and validated. + * + * @param {object|SwaggerParserOptions} [_options] - Overridden options + * @class + * @augments $RefParserOptions + */ +export interface SwaggerParserOptions extends $RefParserOptions { + validate: { + schema: typeof schemaValidator | false; + spec: typeof specValidator | false; + }; +} +const getSwaggerParserDefaultOptions = (): SwaggerParserOptions => { + const baseDefaults = getNewOptions({}); + return { + ...baseDefaults, + validate: { + schema: schemaValidator, + spec: specValidator, + }, + }; +}; + +/** + * Merges the properties of the source object into the target object. + * + * @param target - The object that we're populating + * @param source - The options that are being merged + * @returns + */ +function merge(target: any, source: any) { + if (isMergeable(source)) { + // prevent prototype pollution + const keys = Object.keys(source).filter((key) => !["__proto__", "constructor", "prototype"].includes(key)); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const sourceSetting = source[key]; + const targetSetting = target[key]; + + if (isMergeable(sourceSetting)) { + // It's a nested object, so merge it recursively + target[key] = merge(targetSetting || {}, sourceSetting); + } else if (sourceSetting !== undefined) { + // It's a scalar value, function, or array. No merging necessary. Just overwrite the target value. + target[key] = sourceSetting; + } + } + } + return target; +} +/** + * Determines whether the given value can be merged, + * or if it is a scalar value that should just override the target value. + * + * @param val + * @returns + */ +function isMergeable(val: any) { + return val && typeof val === "object" && !Array.isArray(val) && !(val instanceof RegExp) && !(val instanceof Date); +} +export const getSwaggerParserOptions = (options: SwaggerParserOptions | object): SwaggerParserOptions => { + const newOptions = getSwaggerParserDefaultOptions(); + if (options) { + merge(newOptions, options); + } + return newOptions; +}; diff --git a/lib/util.js b/lib/util.js deleted file mode 100644 index ec51d70c..00000000 --- a/lib/util.js +++ /dev/null @@ -1,79 +0,0 @@ -"use strict"; - -const util = require("util"); -const url = require("@apidevtools/json-schema-ref-parser/lib/util/url"); - -exports.format = util.format; -exports.inherits = util.inherits; - -/** - * Regular Expression that matches Swagger path params. - */ -exports.swaggerParamRegExp = /\{([^/}]+)}/g; - -/** - * List of HTTP verbs used for OperationItem as per the Swagger specification - */ -const operationsList = ["get", "post", "put", "delete", "patch", "options", "head", "trace"]; - -/** - * This function takes in a Server object, checks if it has relative path - * and then fixes it as per the path url - * - * @param {object} server - The server object to be fixed - * @param {string} path - The path (an http/https url) from where the file was downloaded - * @returns {object} - The fixed server object - */ -function fixServers (server, path) { - // Server url starting with "/" tells that it is not an http(s) url - if (server.url && server.url.startsWith("/")) { - const inUrl = url.parse(path); - const finalUrl = inUrl.protocol + "//" + inUrl.hostname + server.url; - server.url = finalUrl; - return server; - } -} - -/** - * This function helps fix the relative servers in the API definition file - * be at root, path or operation's level - */ -function fixOasRelativeServers (schema, filePath) { - if (schema.openapi && (filePath && (filePath.startsWith("http:") || filePath.startsWith("https:")))) { - /** - * From OpenAPI v3 spec for Server object's url property: "REQUIRED. A URL to the target host. - * This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where - * the OpenAPI document is being served." - * Further, the spec says that "servers" property can show up at root level, in 'Path Item' object or in 'Operation' object. - * However, interpretation of the spec says that relative paths for servers should take into account the hostname that - * serves the OpenAPI file. - */ - if (schema.servers) { - schema.servers.map(server => fixServers(server, filePath)); // Root level servers array's fixup - } - - // Path, Operation, or Webhook level servers array's fixup - ["paths", "webhooks"].forEach(component => { - Object.keys(schema[component] || []).forEach(path => { - const pathItem = schema[component][path]; - Object.keys(pathItem).forEach(opItem => { - if (opItem === "servers") { - // servers at pathitem level - pathItem[opItem].map(server => fixServers(server, filePath)); - } - else if (operationsList.includes(opItem)) { - // servers at operation level - if (pathItem[opItem].servers) { - pathItem[opItem].servers.map(server => fixServers(server, filePath)); - } - } - }); - }); - }); - } - else { - // Do nothing and return - } -} - -exports.fixOasRelativeServers = fixOasRelativeServers; diff --git a/lib/util.ts b/lib/util.ts new file mode 100644 index 00000000..09a47c1d --- /dev/null +++ b/lib/util.ts @@ -0,0 +1,97 @@ +import util from "util"; +import * as url from "@apidevtools/json-schema-ref-parser/lib/util/url"; +import type { OpenAPI } from "openapi-types"; +import { OpenAPIV3, OpenAPIV3_1 } from "openapi-types"; +import ServerObject = OpenAPIV3.ServerObject; +import ParameterObject = OpenAPIV3.ParameterObject; +import ReferenceObject = OpenAPIV3_1.ReferenceObject; + +export const format = util.format; +export const inherits = util.inherits; + +/** + * Regular Expression that matches Swagger path params. + */ +export const swaggerParamRegExp = /\{([^/}]+)}/g; + +/** + * List of HTTP verbs used for OperationItem as per the Swagger specification + */ +const operationsList = ["get", "post", "put", "delete", "patch", "options", "head", "trace"]; +export const swaggerMethods = ["get", "put", "post", "delete", "options", "head", "patch"] as const; + +/** + * This function takes in a Server object, checks if it has relative path + * and then fixes it as per the path url + * + * @param {object} server - The server object to be fixed + * @param {string} path - The path (an http/https url) from where the file was downloaded + * @returns {object} - The fixed server object + */ +function fixServers(server: ServerObject | ReferenceObject | ParameterObject, path: string) { + // Server url starting with "/" tells that it is not an http(s) url + if (server && "url" in server && server.url && server.url.startsWith("/")) { + const inUrl = url.parse(path); + server.url = `${inUrl.protocol}//${inUrl.hostname}${server.url}`; + return server; + } +} + +/** + * This function helps fix the relative servers in the API definition file + * be at root, path or operation's level + */ +function fixOasRelativeServers(schema: OpenAPI.Document, filePath?: string) { + if ( + schema && + "openapi" in schema && + schema.openapi && + filePath && + (filePath.startsWith("http:") || filePath.startsWith("https:")) + ) { + /** + * From OpenAPI v3 spec for Server object's url property: "REQUIRED. A URL to the target host. + * This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where + * the OpenAPI document is being served." + * Further, the spec says that "servers" property can show up at root level, in 'Path Item' object or in 'Operation' object. + * However, interpretation of the spec says that relative paths for servers should take into account the hostname that + * serves the OpenAPI file. + */ + if (schema.servers) { + schema.servers.map((server) => fixServers(server, filePath)); // Root level servers array's fixup + } + + // Path, Operation, or Webhook level servers array's fixup + for (const component of ["paths", "webhooks"] as const) { + if (component in schema) { + const schemaElement = schema["paths"] || {}; + for (const path of Object.keys(schemaElement)) { + const pathItem = schemaElement[path] || {}; + for (const opItem of Object.keys(pathItem) as unknown as Array) { + const pathItemElement = pathItem[opItem]; + if (!pathItemElement) { + continue; + } + if (opItem === "servers" && Array.isArray(pathItemElement)) { + // servers at pathitem level + for (const server of pathItemElement) { + fixServers(server, filePath); + } + } else if (operationsList.includes(opItem) && typeof pathItemElement === "object") { + // servers at operation level + if ("servers" in pathItemElement && pathItemElement.servers) { + for (const server of pathItemElement.servers) { + fixServers(server, filePath); + } + } + } + } + } + } + } + } else { + // Do nothing and return + } +} + +export { fixOasRelativeServers }; diff --git a/lib/validators/schema.js b/lib/validators/schema.js deleted file mode 100644 index 0ee79926..00000000 --- a/lib/validators/schema.js +++ /dev/null @@ -1,93 +0,0 @@ -"use strict"; - -const util = require("../util"); -const { ono } = require("@jsdevtools/ono"); -const AjvDraft4 = require("ajv-draft-04"); -const Ajv = require("ajv/dist/2020"); -const { openapi } = require("@apidevtools/openapi-schemas"); - -module.exports = validateSchema; - -/** - * Validates the given Swagger API against the Swagger 2.0 or OpenAPI 3.0 and 3.1 schemas. - * - * @param {SwaggerObject} api - */ -function validateSchema (api) { - let ajv; - - // Choose the appropriate schema (Swagger or OpenAPI) - let schema; - - if (api.swagger) { - schema = openapi.v2; - ajv = initializeAjv(); - } - else { - if (api.openapi.startsWith("3.1")) { - schema = openapi.v31; - - // There's a bug with Ajv in how it handles `$dynamicRef` in the way that it's used within the 3.1 schema so we - // need to do some adhoc workarounds. - // https://github.com/OAI/OpenAPI-Specification/issues/2689 - // https://github.com/ajv-validator/ajv/issues/1573 - const schemaDynamicRef = schema.$defs.schema; - delete schemaDynamicRef.$dynamicAnchor; - - schema.$defs.components.properties.schemas.additionalProperties = schemaDynamicRef; - schema.$defs.header.dependentSchemas.schema.properties.schema = schemaDynamicRef; - schema.$defs["media-type"].properties.schema = schemaDynamicRef; - schema.$defs.parameter.properties.schema = schemaDynamicRef; - - ajv = initializeAjv(false); - } - else { - schema = openapi.v3; - ajv = initializeAjv(); - } - } - - // Validate against the schema - let isValid = ajv.validate(schema, api); - if (!isValid) { - let err = ajv.errors; - let message = "Swagger schema validation failed.\n" + formatAjvError(err); - throw ono.syntax(err, { details: err }, message); - } -} - -/** - * Determines which version of Ajv to load and prepares it for use. - * - * @param {bool} draft04 - * @returns {Ajv} - */ -function initializeAjv (draft04 = true) { - const opts = { - allErrors: true, - strict: false, - validateFormats: false, - }; - - if (draft04) { - return new AjvDraft4(opts); - } - - return new Ajv(opts); -} - -/** - * Run through a set of Ajv errors and compile them into an error message string. - * - * @param {object[]} errors - The Ajv errors - * @param {string} [indent] - The whitespace used to indent the error message - * @returns {string} - */ -function formatAjvError (errors, indent) { - indent = indent || " "; - let message = ""; - for (let error of errors) { - message += util.format(`${indent}#${error.instancePath.length ? error.instancePath : "/"} ${error.message}\n`); - } - return message; -} diff --git a/lib/validators/schema.ts b/lib/validators/schema.ts new file mode 100644 index 00000000..c7da3b3f --- /dev/null +++ b/lib/validators/schema.ts @@ -0,0 +1,103 @@ +import * as util from "../util"; +import { ono } from "@jsdevtools/ono"; +import type { ErrorObject } from "ajv-draft-04"; +import AjvDraft4 from "ajv-draft-04"; +import Ajv from "ajv/dist/2020"; +import { openapi } from "@apidevtools/openapi-schemas"; +import type { OpenAPI } from "openapi-types"; + +export default validateSchema; + +/** + * Validates the given Swagger API against the Swagger 2.0 or OpenAPI 3.0 and 3.1 schemas. + * + * @param {SwaggerObject} api + */ +function validateSchema(api: OpenAPI.Document) { + let ajv; + + // Choose the appropriate schema (Swagger or OpenAPI) + let schema; + + if ("swagger" in api && api.swagger) { + schema = openapi.v2; + ajv = initializeAjv(); + } else { + if ("openapi" in api && api.openapi.startsWith("3.1")) { + schema = openapi.v31; + + // There's a bug with Ajv in how it handles `$dynamicRef` in the way that it's used within the 3.1 schema so we + // need to do some adhoc workarounds. + // https://github.com/OAI/OpenAPI-Specification/issues/2689 + // https://github.com/ajv-validator/ajv/issues/1573 + const $defs = schema.$defs; + if (!$defs) { + throw new Error("Schema $defs is not defined"); + } + const schemaDynamicRef = $defs.schema; + if ("$dynamicAnchor" in schemaDynamicRef) { + delete schemaDynamicRef.$dynamicAnchor; + } + + if ($defs.components.properties) { + $defs.components.properties.schemas.additionalProperties = schemaDynamicRef; + } + if ("dependentSchemas" in $defs.header && $defs.header.dependentSchemas) { + ($defs.header.dependentSchemas as any).schema.properties.schema = schemaDynamicRef; + } + if ($defs["media-type"].properties) { + $defs["media-type"].properties.schema = schemaDynamicRef; + } + if ($defs.parameter.properties) { + $defs.parameter.properties.schema = schemaDynamicRef; + } + + ajv = initializeAjv(false); + } else { + schema = openapi.v3; + ajv = initializeAjv(); + } + } + // Validate against the schema + const isValid = ajv.validate(schema, api); + if (!isValid) { + const err = ajv.errors!; + const message = `Swagger schema validation failed.\n${formatAjvError(err)}`; + throw ono.syntax(err!, { details: err }, message); + } +} + +/** + * Determines which version of Ajv to load and prepares it for use. + * + * @param {bool} draft04 + * @returns {Ajv} + */ +function initializeAjv(draft04 = true) { + const opts = { + allErrors: true, + strict: false, + validateFormats: false, + }; + + if (draft04) { + return new AjvDraft4(opts); + } + + return new Ajv(opts); +} + +/** + * Run through a set of Ajv errors and compile them into an error message string. + * + * @param {object[]} errors - The Ajv errors + * @param {string} [indent] - The whitespace used to indent the error message + * @returns {string} + */ +function formatAjvError(errors: ErrorObject[], indent = " ") { + let message = ""; + for (const error of errors) { + message += util.format(`${indent}#${error.instancePath.length ? error.instancePath : "/"} ${error.message}\n`); + } + return message; +} diff --git a/lib/validators/spec.js b/lib/validators/spec.ts similarity index 52% rename from lib/validators/spec.js rename to lib/validators/spec.ts index 4ae1b50c..e36ea695 100644 --- a/lib/validators/spec.js +++ b/lib/validators/spec.ts @@ -1,40 +1,50 @@ -"use strict"; - -const util = require("../util"); -const { ono } = require("@jsdevtools/ono"); -const swaggerMethods = require("@apidevtools/swagger-methods"); +import * as util from "../util"; +import { ono } from "@jsdevtools/ono"; +import { swaggerMethods } from "../util"; +import type { OpenAPIV2, OpenAPIV3, OpenAPIV3_1 } from "openapi-types"; +import { OpenAPI } from "openapi-types"; +import Operation = OpenAPI.Operation; + +type ParameterObject = OpenAPIV2.ParameterObject | OpenAPIV3.ParameterObject | OpenAPIV3_1.ParameterObject; +type SchemaObject = OpenAPIV3.SchemaObject | OpenAPIV2.SchemaObject | OpenAPIV3_1.SchemaObject; +type ResponseObject = OpenAPIV3.ResponseObject | OpenAPIV2.ResponseObject | OpenAPIV3_1.ResponseObject; +type Parameters = OpenAPIV2.Parameter[] | OpenAPIV3.ParameterObject[] | OpenAPIV3_1.ParameterObject[]; +type ReferenceObject = OpenAPIV3.ReferenceObject | OpenAPIV2.ReferenceObject | OpenAPIV3_1.ReferenceObject; +type PathItemObject = OpenAPIV3.PathItemObject | OpenAPIV2.PathItemObject | OpenAPIV3_1.PathItemObject; const primitiveTypes = ["array", "boolean", "integer", "number", "string"]; const schemaTypes = ["array", "boolean", "integer", "number", "string", "object", "null", undefined]; -module.exports = validateSpec; +export default validateSpec; /** * Validates parts of the Swagger 2.0 spec that aren't covered by the Swagger 2.0 JSON Schema. * * @param {SwaggerObject} api */ -function validateSpec (api) { - if (api.openapi) { +function validateSpec(api: OpenAPI.Document) { + if ("openapi" in api && api.openapi) { // We don't (yet) support validating against the OpenAPI spec return; } - let paths = Object.keys(api.paths || {}); - let operationIds = []; - for (let pathName of paths) { - let path = api.paths[pathName]; - let pathId = "/paths" + pathName; + const paths = Object.keys(api.paths || {}); + const operationIds: string[] = []; + for (const pathName of paths) { + const path = api.paths![pathName]; + const pathId = `/paths${pathName}`; - if (path && pathName.indexOf("/") === 0) { + if (path && pathName[0] === "/") { validatePath(api, path, pathId, operationIds); } } - let definitions = Object.keys(api.definitions || {}); - for (let definitionName of definitions) { - let definition = api.definitions[definitionName]; - let definitionId = "/definitions/" + definitionName; - validateRequiredPropertiesExist(definition, definitionId); + if ("definitions" in api) { + const definitions = Object.keys(api.definitions || {}) as (keyof OpenAPIV2.DefinitionsObject)[]; + for (const definitionName of definitions) { + const definition = api.definitions![definitionName]; + const definitionId = `/definitions/${definitionName}`; + validateRequiredPropertiesExist(definition, definitionId); + } } } @@ -46,28 +56,27 @@ function validateSpec (api) { * @param {string} pathId - A value that uniquely identifies the path * @param {string} operationIds - An array of collected operationIds found in other paths */ -function validatePath (api, path, pathId, operationIds) { - for (let operationName of swaggerMethods) { - let operation = path[operationName]; - let operationId = pathId + "/" + operationName; +function validatePath(api: OpenAPI.Document, path: PathItemObject, pathId: string, operationIds: string[]) { + for (const operationName of swaggerMethods) { + const operation = path[operationName]; + const operationId = `${pathId}/${operationName}`; if (operation) { - let declaredOperationId = operation.operationId; + const declaredOperationId = operation.operationId; if (declaredOperationId) { - if (operationIds.indexOf(declaredOperationId) === -1) { + if (!operationIds.includes(declaredOperationId)) { operationIds.push(declaredOperationId); - } - else { + } else { throw ono.syntax(`Validation failed. Duplicate operation id '${declaredOperationId}'`); } } validateParameters(api, path, pathId, operation, operationId); - let responses = Object.keys(operation.responses || {}); - for (let responseName of responses) { - let response = operation.responses[responseName]; - let responseId = operationId + "/responses/" + responseName; - validateResponse(responseName, (response || {}), responseId); + const responses = Object.keys(operation.responses || {}); + for (const responseName of responses) { + const response = operation.responses[responseName]; + const responseId = `${operationId}/responses/${responseName}`; + validateResponse(responseName, response || {}, responseId); } } } @@ -82,32 +91,34 @@ function validatePath (api, path, pathId, operationIds) { * @param {object} operation - An Operation object, from the Swagger API * @param {string} operationId - A value that uniquely identifies the operation */ -function validateParameters (api, path, pathId, operation, operationId) { - let pathParams = path.parameters || []; - let operationParams = operation.parameters || []; +function validateParameters( + api: OpenAPI.Document, + { parameters }: PathItemObject, + pathId: string, + operation: Operation, + operationId: string, +) { + const pathParams = (parameters || []) as Parameters; + const operationParams = operation.parameters || []; // Check for duplicate path parameters try { checkForDuplicates(pathParams); - } - catch (e) { + } catch (e) { throw ono.syntax(e, `Validation failed. ${pathId} has duplicate parameters`); } // Check for duplicate operation parameters try { checkForDuplicates(operationParams); - } - catch (e) { + } catch (e) { throw ono.syntax(e, `Validation failed. ${operationId} has duplicate parameters`); } // Combine the path and operation parameters, // with the operation params taking precedence over the path params - let params = pathParams.reduce((combinedParams, value) => { - let duplicate = combinedParams.some((param) => { - return param.in === value.in && param.name === value.name; - }); + const params = pathParams.reduce((combinedParams, value) => { + const duplicate = combinedParams.some((param) => param.in === value.in && param.name === value.name); if (!duplicate) { combinedParams.push(value); } @@ -125,17 +136,16 @@ function validateParameters (api, path, pathId, operation, operationId) { * @param {object[]} params - An array of Parameter objects * @param {string} operationId - A value that uniquely identifies the operation */ -function validateBodyParameters (params, operationId) { - let bodyParams = params.filter((param) => { return param.in === "body"; }); - let formParams = params.filter((param) => { return param.in === "formData"; }); +function validateBodyParameters(params: Parameters[], operationId: string[]) { + const bodyParams = params.filter((param) => param.in === "body"); + const formParams = params.filter((param) => param.in === "formData"); // There can only be one "body" parameter if (bodyParams.length > 1) { throw ono.syntax( `Validation failed. ${operationId} has ${bodyParams.length} body parameters. Only one is allowed.`, ); - } - else if (bodyParams.length > 0 && formParams.length > 0) { + } else if (bodyParams.length > 0 && formParams.length > 0) { // "body" params and "formData" params are mutually exclusive throw ono.syntax( `Validation failed. ${operationId} has body parameters and formData parameters. Only one or the other is allowed.`, @@ -150,34 +160,32 @@ function validateBodyParameters (params, operationId) { * @param {string} pathId - A value that uniquely identifies the path * @param {string} operationId - A value that uniquely identifies the operation */ -function validatePathParameters (params, pathId, operationId) { +function validatePathParameters(params: Parameters[], pathId: string, operationId: string) { // Find all {placeholders} in the path string - let placeholders = pathId.match(util.swaggerParamRegExp) || []; + const placeholders = pathId.match(util.swaggerParamRegExp) || []; // Check for duplicates for (let i = 0; i < placeholders.length; i++) { for (let j = i + 1; j < placeholders.length; j++) { if (placeholders[i] === placeholders[j]) { - throw ono.syntax( - `Validation failed. ${operationId} has multiple path placeholders named ${placeholders[i]}`); + throw ono.syntax(`Validation failed. ${operationId} has multiple path placeholders named ${placeholders[i]}`); } } } - params = params.filter((param) => { return param.in === "path"; }); + params = params.filter((param) => param.in === "path"); - for (let param of params) { + for (const param of params) { if (param.required !== true) { throw ono.syntax( - "Validation failed. Path parameters cannot be optional. " + - `Set required=true for the "${param.name}" parameter at ${operationId}`, + `Validation failed. Path parameters cannot be optional. ${`Set required=true for the "${param.name}" parameter at ${operationId}`}`, ); } - let match = placeholders.indexOf("{" + param.name + "}"); + const match = placeholders.indexOf(`{${param.name}}`); if (match === -1) { throw ono.syntax( `Validation failed. ${operationId} has a path parameter named "${param.name}", ` + - `but there is no corresponding {${param.name}} in the path string` + `but there is no corresponding {${param.name}} in the path string`, ); } placeholders.splice(match, 1); @@ -196,10 +204,16 @@ function validatePathParameters (params, pathId, operationId) { * @param {object} operation - An Operation object, from the Swagger API * @param {string} operationId - A value that uniquely identifies the operation */ -function validateParameterTypes (params, api, operation, operationId) { - for (let param of params) { - let parameterId = operationId + "/parameters/" + param.name; - let schema, validTypes; +function validateParameterTypes( + params: Parameters[], + api: OpenAPI.Document, + operation: Operation, + operationId: string, +) { + for (const param of params) { + const parameterId = `${operationId}/parameters/${param.name}`; + let schema; + let validTypes; switch (param.in) { case "body": @@ -220,19 +234,16 @@ function validateParameterTypes (params, api, operation, operationId) { if (schema.type === "file") { // "file" params must consume at least one of these MIME types - let formData = /multipart\/(.*\+)?form-data/; - let urlEncoded = /application\/(.*\+)?x-www-form-urlencoded/; + const formData = /multipart\/(.*\+)?form-data/; + const urlEncoded = /application\/(.*\+)?x-www-form-urlencoded/; - let consumes = operation.consumes || api.consumes || []; + const consumes = operation.consumes || api.consumes || []; - let hasValidMimeType = consumes.some((consume) => { - return formData.test(consume) || urlEncoded.test(consume); - }); + const hasValidMimeType = consumes.some((consume) => formData.test(consume) || urlEncoded.test(consume)); if (!hasValidMimeType) { throw ono.syntax( - `Validation failed. ${operationId} has a file parameter, so it must consume multipart/form-data ` + - "or application/x-www-form-urlencoded", + `${`Validation failed. ${operationId} has a file parameter, so it must consume multipart/form-data `}or application/x-www-form-urlencoded`, ); } } @@ -244,11 +255,11 @@ function validateParameterTypes (params, api, operation, operationId) { * * @param {object[]} params - An array of Parameter objects */ -function checkForDuplicates (params) { +function checkForDuplicates(params: Parameters | (ReferenceObject | ParameterObject)[]) { for (let i = 0; i < params.length - 1; i++) { - let outer = params[i]; + const outer = params[i]; for (let j = i + 1; j < params.length; j++) { - let inner = params[j]; + const inner = params[j]; if (outer.name === inner.name && outer.in === inner.in) { throw ono.syntax(`Validation failed. Found multiple ${outer.in} parameters named "${outer.name}"`); } @@ -263,26 +274,33 @@ function checkForDuplicates (params) { * @param {object} response - A Response object, from the Swagger API * @param {string} responseId - A value that uniquely identifies the response */ -function validateResponse (code, response, responseId) { - if (code !== "default" && (code < 100 || code > 599)) { +function validateResponse( + code: string, + response: ResponseObject | ReferenceObject | Record, + responseId: string, +) { + const numericCode = parseInt(code, 10); + if (code !== "default" && !Number.isNaN(numericCode) && (numericCode < 100 || numericCode > 599)) { throw ono.syntax(`Validation failed. ${responseId} has an invalid response code (${code})`); } - let headers = Object.keys(response.headers || {}); - for (let headerName of headers) { - let header = response.headers[headerName]; - let headerId = responseId + "/headers/" + headerName; - validateSchema(header, headerId, primitiveTypes); + if ("headers" in response && response.headers) { + const headers = Object.keys(response.headers || {}); + for (const headerName of headers) { + const header = response.headers[headerName]; + const headerId = `${responseId}/headers/${headerName}`; + validateSchema(header, headerId, primitiveTypes); + } } - if (response.schema) { - let validTypes = schemaTypes.concat("file"); - if (validTypes.indexOf(response.schema.type) === -1) { + if ("schema" in response && response.schema) { + const validTypes = schemaTypes.concat("file"); + if (!validTypes.includes(response.schema.type)) { throw ono.syntax( - `Validation failed. ${responseId} has an invalid response schema type (${response.schema.type})`); - } - else { - validateSchema(response.schema, responseId + "/schema", validTypes); + `Validation failed. ${responseId} has an invalid response schema type (${response.schema.type})`, + ); + } else { + validateSchema(response.schema, `${responseId}/schema`, validTypes); } } } @@ -294,13 +312,13 @@ function validateResponse (code, response, responseId) { * @param {string} schemaId - A value that uniquely identifies the schema object * @param {string[]} validTypes - An array of the allowed schema types */ -function validateSchema (schema, schemaId, validTypes) { - if (validTypes.indexOf(schema.type) === -1) { - throw ono.syntax( - `Validation failed. ${schemaId} has an invalid type (${schema.type})`); +function validateSchema(schema: SchemaObject, schemaId: string, validTypes: string[]) { + const type = schema.type; + if (!validTypes.includes(type as unknown as string)) { + throw ono.syntax(`Validation failed. ${schemaId} has an invalid type (${type})`); } - if (schema.type === "array" && !schema.items) { + if (type === "array" && !schema.items) { throw ono.syntax(`Validation failed. ${schemaId} is an array, so it must include an "items" schema`); } } @@ -311,20 +329,20 @@ function validateSchema (schema, schemaId, validTypes) { * @param {object} schema - A Schema object, from the Swagger API * @param {string} schemaId - A value that uniquely identifies the schema object */ -function validateRequiredPropertiesExist (schema, schemaId) { +function validateRequiredPropertiesExist(schema: SchemaObject, schemaId: string) { /** * Recursively collects all properties of the schema and its ancestors. They are added to the props object. */ - function collectProperties (schemaObj, props) { - if (schemaObj.properties) { - for (let property in schemaObj.properties) { - if (schemaObj.properties.hasOwnProperty(property)) { - props[property] = schemaObj.properties[property]; + function collectProperties({ properties, allOf }: SchemaObject, props: { [x: string]: any }) { + if (properties) { + for (const property in properties) { + if (properties.hasOwnProperty(property)) { + props[property] = properties[property]; } } } - if (schemaObj.allOf) { - for (let parent of schemaObj.allOf) { + if (allOf) { + for (const parent of allOf) { collectProperties(parent, props); } } @@ -334,17 +352,17 @@ function validateRequiredPropertiesExist (schema, schemaId) { if (Array.isArray(schema.type) && !schema.type.includes("object")) { return; } - else if (!Array.isArray(schema.type) && schema.type !== "object") { + if (!Array.isArray(schema.type) && schema.type !== "object") { return; } - if (schema.required && Array.isArray(schema.required)) { - let props = {}; + if ("required" in schema && schema.required && Array.isArray(schema.required)) { + const props = {}; collectProperties(schema, props); - for (let requiredProperty of schema.required) { + for (const requiredProperty of schema.required) { if (!props[requiredProperty]) { throw ono.syntax( - `Validation failed. Property '${requiredProperty}' listed as required but does not exist in '${schemaId}'` + `Validation failed. Property '${requiredProperty}' listed as required but does not exist in '${schemaId}'`, ); } } diff --git a/online/css/style.min.css b/online/css/style.min.css index be8715eb..0bc2e8b0 100644 --- a/online/css/style.min.css +++ b/online/css/style.min.css @@ -1,3 +1,423 @@ -html,body{background:#333 url(../img/bg.png);background-image:linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0.1) 50px, transparent 100px),linear-gradient(to left, rgba(0,0,0,0.5), rgba(0,0,0,0.1) 50px, transparent 100px),url(../img/bg.png);text-shadow:0 1px 3px rgba(0,0,0,0.5)}body{color:rgba(255,255,255,0.5)}.site-wrapper{height:100%;width:100%;background-image:linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.1) 50px, transparent 100px)}.responsive-container{width:100%;margin-right:auto;margin-left:auto}@media (min-width: 992px){.responsive-container{width:90%;min-width:992px}}@media (min-width: 1200px){.responsive-container{width:1024px}}header{padding:30px;text-align:center}header h1{margin-top:10px;margin-bottom:10px}header .nav>li{display:inline-block}header .nav>li+li{margin-left:20px}header .nav>li>a{padding-right:0;padding-left:0;font-size:16px;font-weight:bold;line-height:1.1;color:rgba(255,255,255,0.75);border-bottom:2px solid rgba(0,0,0,0)}header .nav>li>a:hover,header .nav>li>a:focus{color:rgba(255,255,255,0.85);background-color:transparent;border-bottom-color:rgba(255,255,255,0.5)}header .nav>li>a>small{font-size:9px;display:block}header .nav>li.active>a,header .nav>li.active>a:hover,header .nav>li.active>a:focus{color:#fff;border-bottom-color:#fff}@media (min-width: 768px){header h1{float:left}header nav{float:right}}.main-content{padding:0 30px;margin-top:20px}@media (min-width: 768px){.main-content{margin-top:0}}footer{padding:30px;text-align:center;font-size:smaller}@media (min-width: 768px){footer p{display:inline-block}footer p+p:before{content:"|";padding:0 1.5em}}.form-control::-webkit-input-placeholder{color:#d0d0d0}.form-control::-moz-placeholder{color:#d0d0d0}.form-control:-ms-input-placeholder{color:#d0d0d0}.form-control:-moz-placeholder{color:#d0d0d0}a{color:#fff}a:focus,a:hover{color:#fff}h1{color:#fff;font-size:30px}h1>span,h1>small{white-space:nowrap}h1>small{color:#00be00}@media (min-width: 768px){h1{font-size:33px}}@media (min-width: 992px){h1{font-size:36px}}.dropdowns-wrapper{margin-bottom:45px;text-align:center}.dropdowns-wrapper .dropdown>.dropdown-toggle{padding-bottom:5px;border-bottom:2px solid rgba(255,255,255,0.5);white-space:nowrap}.dropdowns-wrapper .dropdown>.dropdown-toggle:hover,.dropdowns-wrapper .dropdown>.dropdown-toggle:focus{text-decoration:none}.dropdowns-wrapper .dropdown{display:block;margin-bottom:30px}.dropdowns-wrapper .dropdown .dropdown-menu{width:100%;text-shadow:none}.dropdowns-wrapper .dropdown .dropdown-menu .checkbox{margin:0}.dropdowns-wrapper .button-wrapper{display:block}@media (min-width: 480px){.dropdowns-wrapper .dropdown{display:inline-block;margin-bottom:0}.dropdowns-wrapper .dropdown+.dropdown{margin-left:20px}.dropdowns-wrapper .dropdown .dropdown-menu{width:auto}.dropdowns-wrapper .keep-together{display:inline-block;margin-bottom:30px;white-space:nowrap}.dropdowns-wrapper .keep-together+.keep-together{margin-left:20px}}@media (min-width: 768px){.dropdowns-wrapper{position:relative;padding-right:205px}.dropdowns-wrapper .keep-together{margin-bottom:0}.dropdowns-wrapper .keep-together+.keep-together{margin-top:30px}.dropdowns-wrapper .button-wrapper{position:absolute;right:0;top:20px}}@media (min-width: 992px){.dropdowns-wrapper .keep-together,.dropdowns-wrapper .keep-together+.keep-together{margin-top:10px;margin-bottom:10px}.dropdowns-wrapper .button-wrapper{top:0}}.btn-group-lg .btn-primary,.btn-group-lg .btn-primary:hover,.btn-group-lg .btn-primary:focus{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.5);background-color:#009500;border:1px solid #008100}.btn-group-lg .btn-lg:first-child{padding:10px 20px;font-weight:bold;outline:none}.btn-group-lg .dropdown-menu{font-size:larger;text-shadow:none}.nav-tabs{border-color:rgba(255,255,255,0.5)}.nav-tabs>li a{padding:5px 10px;color:rgba(255,255,255,0.5)}.nav-tabs>li a:hover,.nav-tabs>li a:focus,.nav-tabs>li a:active{background-color:transparent;border-color:transparent;color:#fff}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:active{border-color:rgba(255,255,255,0.5);border-bottom-color:#000;background-color:#000;color:#fff}.tab-content{width:100%;height:30em;border:solid 1px rgba(255,255,255,0.5);border-top:none;text-shadow:none}.tab-content>.tab-pane{width:100%;height:100%;background-color:#000}.tab-content>.tab-pane#url-pane{position:relative;padding:3em 0;text-align:center}.tab-content>.tab-pane#url-pane #url-sample{margin:2em}.tab-content>.tab-pane#url-pane #bookmark{position:absolute;bottom:20px;right:20px;font-size:smaller;color:rgba(255,255,255,0.75);text-decoration:underline}.tab-content>.tab-pane#url-pane #bookmark:hover,.tab-content>.tab-pane#url-pane #bookmark:focus,.tab-content>.tab-pane#url-pane #bookmark:active{color:#fff}.tab-content>.tab-pane#text-pane{position:relative}.tab-content>.tab-pane#text-pane #text-sample{position:absolute;z-index:1;top:45%;left:0;width:100%;text-align:center}@media (min-width: 768px){.tab-content>.tab-pane#url-pane{padding:10em 0}}.editor{height:100%;width:100%;border:none;border-width:0;border-radius:0;background-color:#000}pre{color:#000}pre::-webkit-scrollbar,pre .ace_scrollbar::-webkit-scrollbar{background-color:#262626}pre::-webkit-scrollbar-track,pre .ace_scrollbar::-webkit-scrollbar-track{background-color:#262626}pre::-webkit-scrollbar-thumb,pre .ace_scrollbar::-webkit-scrollbar-thumb{background-color:#777;border:solid 4px #262626;border-radius:3px}#results{overflow:hidden;margin-top:30px}#results>.close{color:#777;opacity:1;text-shadow:none;outline:none}#results>.nav-tabs{border-color:#00be00}#results>.nav-tabs>li.active>a,#results>.nav-tabs>li.active>a:hover,#results>.nav-tabs>li.active>a:focus,#results>.nav-tabs>li.active>a:active{border-color:#00be00;border-bottom-color:#008100;background-color:#008100}#results>.tab-content{border-color:#00be00}#results.error>.nav-tabs{border-color:#d4000c}#results.error>.nav-tabs>li.active>a,#results.error>.nav-tabs>li.active>a:hover,#results.error>.nav-tabs>li.active>a:focus,#results.error>.nav-tabs>li.active>a:active{border-color:#d4000c;border-bottom-color:#a10009;background-color:#a10009}#results.error>.tab-content{border-color:#d4000c}#results.animated{position:relative;z-index:100;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}} +html, +body { + background: #333 url(../img/bg.png); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1) 50px, transparent 100px), + linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1) 50px, transparent 100px), url(../img/bg.png); + text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); +} +body { + color: rgba(255, 255, 255, 0.5); +} +.site-wrapper { + height: 100%; + width: 100%; + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1) 50px, transparent 100px); +} +.responsive-container { + width: 100%; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 992px) { + .responsive-container { + width: 90%; + min-width: 992px; + } +} +@media (min-width: 1200px) { + .responsive-container { + width: 1024px; + } +} +header { + padding: 30px; + text-align: center; +} +header h1 { + margin-top: 10px; + margin-bottom: 10px; +} +header .nav > li { + display: inline-block; +} +header .nav > li + li { + margin-left: 20px; +} +header .nav > li > a { + padding-right: 0; + padding-left: 0; + font-size: 16px; + font-weight: bold; + line-height: 1.1; + color: rgba(255, 255, 255, 0.75); + border-bottom: 2px solid rgba(0, 0, 0, 0); +} +header .nav > li > a:hover, +header .nav > li > a:focus { + color: rgba(255, 255, 255, 0.85); + background-color: transparent; + border-bottom-color: rgba(255, 255, 255, 0.5); +} +header .nav > li > a > small { + font-size: 9px; + display: block; +} +header .nav > li.active > a, +header .nav > li.active > a:hover, +header .nav > li.active > a:focus { + color: #fff; + border-bottom-color: #fff; +} +@media (min-width: 768px) { + header h1 { + float: left; + } + header nav { + float: right; + } +} +.main-content { + padding: 0 30px; + margin-top: 20px; +} +@media (min-width: 768px) { + .main-content { + margin-top: 0; + } +} +footer { + padding: 30px; + text-align: center; + font-size: smaller; +} +@media (min-width: 768px) { + footer p { + display: inline-block; + } + footer p + p:before { + content: "|"; + padding: 0 1.5em; + } +} +.form-control::-webkit-input-placeholder { + color: #d0d0d0; +} +.form-control::-moz-placeholder { + color: #d0d0d0; +} +.form-control:-ms-input-placeholder { + color: #d0d0d0; +} +.form-control:-moz-placeholder { + color: #d0d0d0; +} +a { + color: #fff; +} +a:focus, +a:hover { + color: #fff; +} +h1 { + color: #fff; + font-size: 30px; +} +h1 > span, +h1 > small { + white-space: nowrap; +} +h1 > small { + color: #00be00; +} +@media (min-width: 768px) { + h1 { + font-size: 33px; + } +} +@media (min-width: 992px) { + h1 { + font-size: 36px; + } +} +.dropdowns-wrapper { + margin-bottom: 45px; + text-align: center; +} +.dropdowns-wrapper .dropdown > .dropdown-toggle { + padding-bottom: 5px; + border-bottom: 2px solid rgba(255, 255, 255, 0.5); + white-space: nowrap; +} +.dropdowns-wrapper .dropdown > .dropdown-toggle:hover, +.dropdowns-wrapper .dropdown > .dropdown-toggle:focus { + text-decoration: none; +} +.dropdowns-wrapper .dropdown { + display: block; + margin-bottom: 30px; +} +.dropdowns-wrapper .dropdown .dropdown-menu { + width: 100%; + text-shadow: none; +} +.dropdowns-wrapper .dropdown .dropdown-menu .checkbox { + margin: 0; +} +.dropdowns-wrapper .button-wrapper { + display: block; +} +@media (min-width: 480px) { + .dropdowns-wrapper .dropdown { + display: inline-block; + margin-bottom: 0; + } + .dropdowns-wrapper .dropdown + .dropdown { + margin-left: 20px; + } + .dropdowns-wrapper .dropdown .dropdown-menu { + width: auto; + } + .dropdowns-wrapper .keep-together { + display: inline-block; + margin-bottom: 30px; + white-space: nowrap; + } + .dropdowns-wrapper .keep-together + .keep-together { + margin-left: 20px; + } +} +@media (min-width: 768px) { + .dropdowns-wrapper { + position: relative; + padding-right: 205px; + } + .dropdowns-wrapper .keep-together { + margin-bottom: 0; + } + .dropdowns-wrapper .keep-together + .keep-together { + margin-top: 30px; + } + .dropdowns-wrapper .button-wrapper { + position: absolute; + right: 0; + top: 20px; + } +} +@media (min-width: 992px) { + .dropdowns-wrapper .keep-together, + .dropdowns-wrapper .keep-together + .keep-together { + margin-top: 10px; + margin-bottom: 10px; + } + .dropdowns-wrapper .button-wrapper { + top: 0; + } +} +.btn-group-lg .btn-primary, +.btn-group-lg .btn-primary:hover, +.btn-group-lg .btn-primary:focus { + color: #fff; + text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); + background-color: #009500; + border: 1px solid #008100; +} +.btn-group-lg .btn-lg:first-child { + padding: 10px 20px; + font-weight: bold; + outline: none; +} +.btn-group-lg .dropdown-menu { + font-size: larger; + text-shadow: none; +} +.nav-tabs { + border-color: rgba(255, 255, 255, 0.5); +} +.nav-tabs > li a { + padding: 5px 10px; + color: rgba(255, 255, 255, 0.5); +} +.nav-tabs > li a:hover, +.nav-tabs > li a:focus, +.nav-tabs > li a:active { + background-color: transparent; + border-color: transparent; + color: #fff; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus, +.nav-tabs > li.active > a:active { + border-color: rgba(255, 255, 255, 0.5); + border-bottom-color: #000; + background-color: #000; + color: #fff; +} +.tab-content { + width: 100%; + height: 30em; + border: solid 1px rgba(255, 255, 255, 0.5); + border-top: none; + text-shadow: none; +} +.tab-content > .tab-pane { + width: 100%; + height: 100%; + background-color: #000; +} +.tab-content > .tab-pane#url-pane { + position: relative; + padding: 3em 0; + text-align: center; +} +.tab-content > .tab-pane#url-pane #url-sample { + margin: 2em; +} +.tab-content > .tab-pane#url-pane #bookmark { + position: absolute; + bottom: 20px; + right: 20px; + font-size: smaller; + color: rgba(255, 255, 255, 0.75); + text-decoration: underline; +} +.tab-content > .tab-pane#url-pane #bookmark:hover, +.tab-content > .tab-pane#url-pane #bookmark:focus, +.tab-content > .tab-pane#url-pane #bookmark:active { + color: #fff; +} +.tab-content > .tab-pane#text-pane { + position: relative; +} +.tab-content > .tab-pane#text-pane #text-sample { + position: absolute; + z-index: 1; + top: 45%; + left: 0; + width: 100%; + text-align: center; +} +@media (min-width: 768px) { + .tab-content > .tab-pane#url-pane { + padding: 10em 0; + } +} +.editor { + height: 100%; + width: 100%; + border: none; + border-width: 0; + border-radius: 0; + background-color: #000; +} +pre { + color: #000; +} +pre::-webkit-scrollbar, +pre .ace_scrollbar::-webkit-scrollbar { + background-color: #262626; +} +pre::-webkit-scrollbar-track, +pre .ace_scrollbar::-webkit-scrollbar-track { + background-color: #262626; +} +pre::-webkit-scrollbar-thumb, +pre .ace_scrollbar::-webkit-scrollbar-thumb { + background-color: #777; + border: solid 4px #262626; + border-radius: 3px; +} +#results { + overflow: hidden; + margin-top: 30px; +} +#results > .close { + color: #777; + opacity: 1; + text-shadow: none; + outline: none; +} +#results > .nav-tabs { + border-color: #00be00; +} +#results > .nav-tabs > li.active > a, +#results > .nav-tabs > li.active > a:hover, +#results > .nav-tabs > li.active > a:focus, +#results > .nav-tabs > li.active > a:active { + border-color: #00be00; + border-bottom-color: #008100; + background-color: #008100; +} +#results > .tab-content { + border-color: #00be00; +} +#results.error > .nav-tabs { + border-color: #d4000c; +} +#results.error > .nav-tabs > li.active > a, +#results.error > .nav-tabs > li.active > a:hover, +#results.error > .nav-tabs > li.active > a:focus, +#results.error > .nav-tabs > li.active > a:active { + border-color: #d4000c; + border-bottom-color: #a10009; + background-color: #a10009; +} +#results.error > .tab-content { + border-color: #d4000c; +} +#results.animated { + position: relative; + z-index: 100; + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation-name: shake; + animation-name: shake; +} +@-webkit-keyframes shake { + from, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} +@keyframes shake { + from, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} -/*# sourceMappingURL=style.min.css.map */ \ No newline at end of file +/*# sourceMappingURL=style.min.css.map */ diff --git a/online/js/bundle.js b/online/js/bundle.js index b99e7940..e041e1c3 100644 --- a/online/js/bundle.js +++ b/online/js/bundle.js @@ -1,30973 +1,32147 @@ -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i fixServers(server, filePath)); // Root level servers array's fixup - } + // This is an OpenAPI v3 schema, check if the "servers" have any relative paths and + // fix them if the content was pulled from a web resource + util.fixOasRelativeServers(schema, args.path); + } - // Path, Operation, or Webhook level servers array's fixup - ["paths", "webhooks"].forEach(component => { - Object.keys(schema[component] || []).forEach(path => { - const pathItem = schema[component][path]; - Object.keys(pathItem).forEach(opItem => { - if (opItem === "servers") { - // servers at pathitem level - pathItem[opItem].map(server => fixServers(server, filePath)); + // Looks good! + return maybe(args.callback, Promise.resolve(schema)); + } catch (err) { + return maybe(args.callback, Promise.reject(err)); } - else if (operationsList.includes(opItem)) { - // servers at operation level - if (pathItem[opItem].servers) { - pathItem[opItem].servers.map(server => fixServers(server, filePath)); + }; + + /** + * Parses, dereferences, and validates the given Swagger API. + * Depending on the options, validation can include JSON Schema validation and/or Swagger Spec validation. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [api] - The Swagger API object. This object will be used instead of reading from `path`. + * @param {ParserOptions} [options] - Options that determine how the API is parsed, dereferenced, and validated + * @param {Function} [callback] - An error-first callback. The second parameter is the parsed API object. + * @returns {Promise} - The returned promise resolves with the parsed API object. + */ + SwaggerParser.validate = function (path, api, options, callback) { + let Class = this; // eslint-disable-line consistent-this + let instance = new Class(); + return instance.validate.apply(instance, arguments); + }; + + /** + * Parses, dereferences, and validates the given Swagger API. + * Depending on the options, validation can include JSON Schema validation and/or Swagger Spec validation. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [api] - The Swagger API object. This object will be used instead of reading from `path`. + * @param {ParserOptions} [options] - Options that determine how the API is parsed, dereferenced, and validated + * @param {Function} [callback] - An error-first callback. The second parameter is the parsed API object. + * @returns {Promise} - The returned promise resolves with the parsed API object. + */ + SwaggerParser.prototype.validate = async function (path, api, options, callback) { + let me = this; + let args = normalizeArgs(arguments); + args.options = new Options(args.options); + + // ZSchema doesn't support circular objects, so don't dereference circular $refs yet + // (see https://github.com/zaggino/z-schema/issues/137) + let circular$RefOption = args.options.dereference.circular; + args.options.validate.schema && (args.options.dereference.circular = "ignore"); + + try { + await this.dereference(args.path, args.schema, args.options); + + // Restore the original options, now that we're done dereferencing + args.options.dereference.circular = circular$RefOption; + + if (args.options.validate.schema) { + // Validate the API against the Swagger schema + // NOTE: This is safe to do, because we haven't dereferenced circular $refs yet + validateSchema(me.api); + + if (me.$refs.circular) { + if (circular$RefOption === true) { + // The API has circular references, + // so we need to do a second-pass to fully-dereference it + dereference(me, args.options); + } else if (circular$RefOption === false) { + // The API has circular references, and they're not allowed, so throw an error + throw ono.reference("The API contains circular references"); + } + } } - } - }); - }); - }); - } - else { - // Do nothing and return - } -} -exports.fixOasRelativeServers = fixOasRelativeServers; + if (args.options.validate.spec) { + // Validate the API against the Swagger spec + validateSpec(me.api); + } + + return maybe(args.callback, Promise.resolve(me.schema)); + } catch (err) { + return maybe(args.callback, Promise.reject(err)); + } + }; -},{"@apidevtools/json-schema-ref-parser/lib/util/url":24,"util":204}],4:[function(require,module,exports){ -"use strict"; + /** + * The Swagger object + * https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object + * + * @typedef {{swagger: string, info: {}, paths: {}}} SwaggerObject + */ + }, + { + "./options": 2, + "./util": 3, + "./validators/schema": 4, + "./validators/spec": 5, + "@apidevtools/json-schema-ref-parser": 8, + "@apidevtools/json-schema-ref-parser/lib/dereference": 7, + "@apidevtools/json-schema-ref-parser/lib/normalize-args": 9, + "@jsdevtools/ono": 33, + "call-me-maybe": 134, + }, + ], + 2: [ + function (require, module, exports) { + "use strict"; + + const $RefParserOptions = require("@apidevtools/json-schema-ref-parser/lib/options"); + const schemaValidator = require("./validators/schema"); + const specValidator = require("./validators/spec"); + const util = require("util"); + + module.exports = ParserOptions; + + /** + * Options that determine how Swagger APIs are parsed, resolved, dereferenced, and validated. + * + * @param {object|ParserOptions} [_options] - Overridden options + * @class + * @augments $RefParserOptions + */ + function ParserOptions(_options) { + $RefParserOptions.call(this, ParserOptions.defaults); + $RefParserOptions.apply(this, arguments); + } + + ParserOptions.defaults = { + /** + * Determines how the API definition will be validated. + * + * You can add additional validators of your own, replace an existing one with + * your own implemenation, or disable any validator by setting it to false. + */ + validate: { + schema: schemaValidator, + spec: specValidator, + }, + }; -const util = require("../util"); -const { ono } = require("@jsdevtools/ono"); -const AjvDraft4 = require("ajv-draft-04"); -const Ajv = require("ajv/dist/2020"); -const { openapi } = require("@apidevtools/openapi-schemas"); + util.inherits(ParserOptions, $RefParserOptions); + }, + { + "./validators/schema": 4, + "./validators/spec": 5, + "@apidevtools/json-schema-ref-parser/lib/options": 10, + util: 204, + }, + ], + 3: [ + function (require, module, exports) { + "use strict"; + + const util = require("util"); + const url = require("@apidevtools/json-schema-ref-parser/lib/util/url"); + + exports.format = util.format; + exports.inherits = util.inherits; + + /** + * Regular Expression that matches Swagger path params. + */ + exports.swaggerParamRegExp = /\{([^/}]+)}/g; + + /** + * List of HTTP verbs used for OperationItem as per the Swagger specification + */ + const operationsList = ["get", "post", "put", "delete", "patch", "options", "head", "trace"]; + + /** + * This function takes in a Server object, checks if it has relative path + * and then fixes it as per the path url + * + * @param {object} server - The server object to be fixed + * @param {string} path - The path (an http/https url) from where the file was downloaded + * @returns {object} - The fixed server object + */ + function fixServers(server, path) { + // Server url starting with "/" tells that it is not an http(s) url + if (server.url && server.url.startsWith("/")) { + const inUrl = url.parse(path); + const finalUrl = inUrl.protocol + "//" + inUrl.hostname + server.url; + server.url = finalUrl; + return server; + } + } -module.exports = validateSchema; + /** + * This function helps fix the relative servers in the API definition file + * be at root, path or operation's level + */ + function fixOasRelativeServers(schema, filePath) { + if (schema.openapi && filePath && (filePath.startsWith("http:") || filePath.startsWith("https:"))) { + /** + * From OpenAPI v3 spec for Server object's url property: "REQUIRED. A URL to the target host. + * This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where + * the OpenAPI document is being served." + * Further, the spec says that "servers" property can show up at root level, in 'Path Item' object or in 'Operation' object. + * However, interpretation of the spec says that relative paths for servers should take into account the hostname that + * serves the OpenAPI file. + */ + if (schema.servers) { + schema.servers.map((server) => fixServers(server, filePath)); // Root level servers array's fixup + } -/** - * Validates the given Swagger API against the Swagger 2.0 or OpenAPI 3.0 and 3.1 schemas. - * - * @param {SwaggerObject} api - */ -function validateSchema (api) { - let ajv; + // Path, Operation, or Webhook level servers array's fixup + ["paths", "webhooks"].forEach((component) => { + Object.keys(schema[component] || []).forEach((path) => { + const pathItem = schema[component][path]; + Object.keys(pathItem).forEach((opItem) => { + if (opItem === "servers") { + // servers at pathitem level + pathItem[opItem].map((server) => fixServers(server, filePath)); + } else if (operationsList.includes(opItem)) { + // servers at operation level + if (pathItem[opItem].servers) { + pathItem[opItem].servers.map((server) => fixServers(server, filePath)); + } + } + }); + }); + }); + } else { + // Do nothing and return + } + } - // Choose the appropriate schema (Swagger or OpenAPI) - let schema; + exports.fixOasRelativeServers = fixOasRelativeServers; + }, + { "@apidevtools/json-schema-ref-parser/lib/util/url": 24, util: 204 }, + ], + 4: [ + function (require, module, exports) { + "use strict"; + + const util = require("../util"); + const { ono } = require("@jsdevtools/ono"); + const AjvDraft4 = require("ajv-draft-04"); + const Ajv = require("ajv/dist/2020"); + const { openapi } = require("@apidevtools/openapi-schemas"); + + module.exports = validateSchema; + + /** + * Validates the given Swagger API against the Swagger 2.0 or OpenAPI 3.0 and 3.1 schemas. + * + * @param {SwaggerObject} api + */ + function validateSchema(api) { + let ajv; + + // Choose the appropriate schema (Swagger or OpenAPI) + let schema; + + if (api.swagger) { + schema = openapi.v2; + ajv = initializeAjv(); + } else { + if (api.openapi.startsWith("3.1")) { + schema = openapi.v31; + + // There's a bug with Ajv in how it handles `$dynamicRef` in the way that it's used within the 3.1 schema so we + // need to do some adhoc workarounds. + // https://github.com/OAI/OpenAPI-Specification/issues/2689 + // https://github.com/ajv-validator/ajv/issues/1573 + const schemaDynamicRef = schema.$defs.schema; + delete schemaDynamicRef.$dynamicAnchor; + + schema.$defs.components.properties.schemas.additionalProperties = schemaDynamicRef; + schema.$defs.header.dependentSchemas.schema.properties.schema = schemaDynamicRef; + schema.$defs["media-type"].properties.schema = schemaDynamicRef; + schema.$defs.parameter.properties.schema = schemaDynamicRef; + + ajv = initializeAjv(false); + } else { + schema = openapi.v3; + ajv = initializeAjv(); + } + } - if (api.swagger) { - schema = openapi.v2; - ajv = initializeAjv(); - } - else { - if (api.openapi.startsWith("3.1")) { - schema = openapi.v31; - - // There's a bug with Ajv in how it handles `$dynamicRef` in the way that it's used within the 3.1 schema so we - // need to do some adhoc workarounds. - // https://github.com/OAI/OpenAPI-Specification/issues/2689 - // https://github.com/ajv-validator/ajv/issues/1573 - const schemaDynamicRef = schema.$defs.schema; - delete schemaDynamicRef.$dynamicAnchor; - - schema.$defs.components.properties.schemas.additionalProperties = schemaDynamicRef; - schema.$defs.header.dependentSchemas.schema.properties.schema = schemaDynamicRef; - schema.$defs["media-type"].properties.schema = schemaDynamicRef; - schema.$defs.parameter.properties.schema = schemaDynamicRef; - - ajv = initializeAjv(false); - } - else { - schema = openapi.v3; - ajv = initializeAjv(); - } - } + // Validate against the schema + let isValid = ajv.validate(schema, api); + if (!isValid) { + let err = ajv.errors; + let message = "Swagger schema validation failed.\n" + formatAjvError(err); + throw ono.syntax(err, { details: err }, message); + } + } - // Validate against the schema - let isValid = ajv.validate(schema, api); - if (!isValid) { - let err = ajv.errors; - let message = "Swagger schema validation failed.\n" + formatAjvError(err); - throw ono.syntax(err, { details: err }, message); - } -} - -/** - * Determines which version of Ajv to load and prepares it for use. - * - * @param {bool} draft04 - * @returns {Ajv} - */ -function initializeAjv (draft04 = true) { - const opts = { - allErrors: true, - strict: false, - validateFormats: false, - }; - - if (draft04) { - return new AjvDraft4(opts); - } + /** + * Determines which version of Ajv to load and prepares it for use. + * + * @param {bool} draft04 + * @returns {Ajv} + */ + function initializeAjv(draft04 = true) { + const opts = { + allErrors: true, + strict: false, + validateFormats: false, + }; + + if (draft04) { + return new AjvDraft4(opts); + } - return new Ajv(opts); -} - -/** - * Run through a set of Ajv errors and compile them into an error message string. - * - * @param {object[]} errors - The Ajv errors - * @param {string} [indent] - The whitespace used to indent the error message - * @returns {string} - */ -function formatAjvError (errors, indent) { - indent = indent || " "; - let message = ""; - for (let error of errors) { - message += util.format(`${indent}#${error.instancePath.length ? error.instancePath : "/"} ${error.message}\n`); - } - return message; -} - -},{"../util":3,"@apidevtools/openapi-schemas":25,"@jsdevtools/ono":33,"ajv-draft-04":40,"ajv/dist/2020":47}],5:[function(require,module,exports){ -"use strict"; - -const util = require("../util"); -const { ono } = require("@jsdevtools/ono"); -const swaggerMethods = require("@apidevtools/swagger-methods"); -const primitiveTypes = ["array", "boolean", "integer", "number", "string"]; -const schemaTypes = ["array", "boolean", "integer", "number", "string", "object", "null", undefined]; - -module.exports = validateSpec; - -/** - * Validates parts of the Swagger 2.0 spec that aren't covered by the Swagger 2.0 JSON Schema. - * - * @param {SwaggerObject} api - */ -function validateSpec (api) { - if (api.openapi) { - // We don't (yet) support validating against the OpenAPI spec - return; - } + return new Ajv(opts); + } + + /** + * Run through a set of Ajv errors and compile them into an error message string. + * + * @param {object[]} errors - The Ajv errors + * @param {string} [indent] - The whitespace used to indent the error message + * @returns {string} + */ + function formatAjvError(errors, indent) { + indent = indent || " "; + let message = ""; + for (let error of errors) { + message += util.format( + `${indent}#${error.instancePath.length ? error.instancePath : "/"} ${error.message}\n`, + ); + } + return message; + } + }, + { + "../util": 3, + "@apidevtools/openapi-schemas": 25, + "@jsdevtools/ono": 33, + "ajv-draft-04": 40, + "ajv/dist/2020": 47, + }, + ], + 5: [ + function (require, module, exports) { + "use strict"; + + const util = require("../util"); + const { ono } = require("@jsdevtools/ono"); + const swaggerMethods = require("@apidevtools/swagger-methods"); + const primitiveTypes = ["array", "boolean", "integer", "number", "string"]; + const schemaTypes = ["array", "boolean", "integer", "number", "string", "object", "null", undefined]; + + module.exports = validateSpec; + + /** + * Validates parts of the Swagger 2.0 spec that aren't covered by the Swagger 2.0 JSON Schema. + * + * @param {SwaggerObject} api + */ + function validateSpec(api) { + if (api.openapi) { + // We don't (yet) support validating against the OpenAPI spec + return; + } - let paths = Object.keys(api.paths || {}); - let operationIds = []; - for (let pathName of paths) { - let path = api.paths[pathName]; - let pathId = "/paths" + pathName; + let paths = Object.keys(api.paths || {}); + let operationIds = []; + for (let pathName of paths) { + let path = api.paths[pathName]; + let pathId = "/paths" + pathName; - if (path && pathName.indexOf("/") === 0) { - validatePath(api, path, pathId, operationIds); - } - } + if (path && pathName.indexOf("/") === 0) { + validatePath(api, path, pathId, operationIds); + } + } - let definitions = Object.keys(api.definitions || {}); - for (let definitionName of definitions) { - let definition = api.definitions[definitionName]; - let definitionId = "/definitions/" + definitionName; - validateRequiredPropertiesExist(definition, definitionId); - } -} - -/** - * Validates the given path. - * - * @param {SwaggerObject} api - The entire Swagger API object - * @param {object} path - A Path object, from the Swagger API - * @param {string} pathId - A value that uniquely identifies the path - * @param {string} operationIds - An array of collected operationIds found in other paths - */ -function validatePath (api, path, pathId, operationIds) { - for (let operationName of swaggerMethods) { - let operation = path[operationName]; - let operationId = pathId + "/" + operationName; - - if (operation) { - let declaredOperationId = operation.operationId; - if (declaredOperationId) { - if (operationIds.indexOf(declaredOperationId) === -1) { - operationIds.push(declaredOperationId); - } - else { - throw ono.syntax(`Validation failed. Duplicate operation id '${declaredOperationId}'`); + let definitions = Object.keys(api.definitions || {}); + for (let definitionName of definitions) { + let definition = api.definitions[definitionName]; + let definitionId = "/definitions/" + definitionName; + validateRequiredPropertiesExist(definition, definitionId); + } } - } - validateParameters(api, path, pathId, operation, operationId); - let responses = Object.keys(operation.responses || {}); - for (let responseName of responses) { - let response = operation.responses[responseName]; - let responseId = operationId + "/responses/" + responseName; - validateResponse(responseName, (response || {}), responseId); - } - } - } -} - -/** - * Validates the parameters for the given operation. - * - * @param {SwaggerObject} api - The entire Swagger API object - * @param {object} path - A Path object, from the Swagger API - * @param {string} pathId - A value that uniquely identifies the path - * @param {object} operation - An Operation object, from the Swagger API - * @param {string} operationId - A value that uniquely identifies the operation - */ -function validateParameters (api, path, pathId, operation, operationId) { - let pathParams = path.parameters || []; - let operationParams = operation.parameters || []; - - // Check for duplicate path parameters - try { - checkForDuplicates(pathParams); - } - catch (e) { - throw ono.syntax(e, `Validation failed. ${pathId} has duplicate parameters`); - } + /** + * Validates the given path. + * + * @param {SwaggerObject} api - The entire Swagger API object + * @param {object} path - A Path object, from the Swagger API + * @param {string} pathId - A value that uniquely identifies the path + * @param {string} operationIds - An array of collected operationIds found in other paths + */ + function validatePath(api, path, pathId, operationIds) { + for (let operationName of swaggerMethods) { + let operation = path[operationName]; + let operationId = pathId + "/" + operationName; + + if (operation) { + let declaredOperationId = operation.operationId; + if (declaredOperationId) { + if (operationIds.indexOf(declaredOperationId) === -1) { + operationIds.push(declaredOperationId); + } else { + throw ono.syntax(`Validation failed. Duplicate operation id '${declaredOperationId}'`); + } + } + validateParameters(api, path, pathId, operation, operationId); - // Check for duplicate operation parameters - try { - checkForDuplicates(operationParams); - } - catch (e) { - throw ono.syntax(e, `Validation failed. ${operationId} has duplicate parameters`); - } + let responses = Object.keys(operation.responses || {}); + for (let responseName of responses) { + let response = operation.responses[responseName]; + let responseId = operationId + "/responses/" + responseName; + validateResponse(responseName, response || {}, responseId); + } + } + } + } - // Combine the path and operation parameters, - // with the operation params taking precedence over the path params - let params = pathParams.reduce((combinedParams, value) => { - let duplicate = combinedParams.some((param) => { - return param.in === value.in && param.name === value.name; - }); - if (!duplicate) { - combinedParams.push(value); - } - return combinedParams; - }, operationParams.slice()); - - validateBodyParameters(params, operationId); - validatePathParameters(params, pathId, operationId); - validateParameterTypes(params, api, operation, operationId); -} - -/** - * Validates body and formData parameters for the given operation. - * - * @param {object[]} params - An array of Parameter objects - * @param {string} operationId - A value that uniquely identifies the operation - */ -function validateBodyParameters (params, operationId) { - let bodyParams = params.filter((param) => { return param.in === "body"; }); - let formParams = params.filter((param) => { return param.in === "formData"; }); - - // There can only be one "body" parameter - if (bodyParams.length > 1) { - throw ono.syntax( - `Validation failed. ${operationId} has ${bodyParams.length} body parameters. Only one is allowed.`, - ); - } - else if (bodyParams.length > 0 && formParams.length > 0) { - // "body" params and "formData" params are mutually exclusive - throw ono.syntax( - `Validation failed. ${operationId} has body parameters and formData parameters. Only one or the other is allowed.`, - ); - } -} - -/** - * Validates path parameters for the given path. - * - * @param {object[]} params - An array of Parameter objects - * @param {string} pathId - A value that uniquely identifies the path - * @param {string} operationId - A value that uniquely identifies the operation - */ -function validatePathParameters (params, pathId, operationId) { - // Find all {placeholders} in the path string - let placeholders = pathId.match(util.swaggerParamRegExp) || []; - - // Check for duplicates - for (let i = 0; i < placeholders.length; i++) { - for (let j = i + 1; j < placeholders.length; j++) { - if (placeholders[i] === placeholders[j]) { - throw ono.syntax( - `Validation failed. ${operationId} has multiple path placeholders named ${placeholders[i]}`); - } - } - } + /** + * Validates the parameters for the given operation. + * + * @param {SwaggerObject} api - The entire Swagger API object + * @param {object} path - A Path object, from the Swagger API + * @param {string} pathId - A value that uniquely identifies the path + * @param {object} operation - An Operation object, from the Swagger API + * @param {string} operationId - A value that uniquely identifies the operation + */ + function validateParameters(api, path, pathId, operation, operationId) { + let pathParams = path.parameters || []; + let operationParams = operation.parameters || []; + + // Check for duplicate path parameters + try { + checkForDuplicates(pathParams); + } catch (e) { + throw ono.syntax(e, `Validation failed. ${pathId} has duplicate parameters`); + } - params = params.filter((param) => { return param.in === "path"; }); + // Check for duplicate operation parameters + try { + checkForDuplicates(operationParams); + } catch (e) { + throw ono.syntax(e, `Validation failed. ${operationId} has duplicate parameters`); + } - for (let param of params) { - if (param.required !== true) { - throw ono.syntax( - "Validation failed. Path parameters cannot be optional. " + - `Set required=true for the "${param.name}" parameter at ${operationId}`, - ); - } - let match = placeholders.indexOf("{" + param.name + "}"); - if (match === -1) { - throw ono.syntax( - `Validation failed. ${operationId} has a path parameter named "${param.name}", ` + - `but there is no corresponding {${param.name}} in the path string` - ); - } - placeholders.splice(match, 1); - } + // Combine the path and operation parameters, + // with the operation params taking precedence over the path params + let params = pathParams.reduce((combinedParams, value) => { + let duplicate = combinedParams.some((param) => { + return param.in === value.in && param.name === value.name; + }); + if (!duplicate) { + combinedParams.push(value); + } + return combinedParams; + }, operationParams.slice()); + + validateBodyParameters(params, operationId); + validatePathParameters(params, pathId, operationId); + validateParameterTypes(params, api, operation, operationId); + } + + /** + * Validates body and formData parameters for the given operation. + * + * @param {object[]} params - An array of Parameter objects + * @param {string} operationId - A value that uniquely identifies the operation + */ + function validateBodyParameters(params, operationId) { + let bodyParams = params.filter((param) => { + return param.in === "body"; + }); + let formParams = params.filter((param) => { + return param.in === "formData"; + }); + + // There can only be one "body" parameter + if (bodyParams.length > 1) { + throw ono.syntax( + `Validation failed. ${operationId} has ${bodyParams.length} body parameters. Only one is allowed.`, + ); + } else if (bodyParams.length > 0 && formParams.length > 0) { + // "body" params and "formData" params are mutually exclusive + throw ono.syntax( + `Validation failed. ${operationId} has body parameters and formData parameters. Only one or the other is allowed.`, + ); + } + } - if (placeholders.length > 0) { - throw ono.syntax(`Validation failed. ${operationId} is missing path parameter(s) for ${placeholders}`); - } -} - -/** - * Validates data types of parameters for the given operation. - * - * @param {object[]} params - An array of Parameter objects - * @param {object} api - The entire Swagger API object - * @param {object} operation - An Operation object, from the Swagger API - * @param {string} operationId - A value that uniquely identifies the operation - */ -function validateParameterTypes (params, api, operation, operationId) { - for (let param of params) { - let parameterId = operationId + "/parameters/" + param.name; - let schema, validTypes; - - switch (param.in) { - case "body": - schema = param.schema; - validTypes = schemaTypes; - break; - case "formData": - schema = param; - validTypes = primitiveTypes.concat("file"); - break; - default: - schema = param; - validTypes = primitiveTypes; - } + /** + * Validates path parameters for the given path. + * + * @param {object[]} params - An array of Parameter objects + * @param {string} pathId - A value that uniquely identifies the path + * @param {string} operationId - A value that uniquely identifies the operation + */ + function validatePathParameters(params, pathId, operationId) { + // Find all {placeholders} in the path string + let placeholders = pathId.match(util.swaggerParamRegExp) || []; + + // Check for duplicates + for (let i = 0; i < placeholders.length; i++) { + for (let j = i + 1; j < placeholders.length; j++) { + if (placeholders[i] === placeholders[j]) { + throw ono.syntax( + `Validation failed. ${operationId} has multiple path placeholders named ${placeholders[i]}`, + ); + } + } + } - validateSchema(schema, parameterId, validTypes); - validateRequiredPropertiesExist(schema, parameterId); + params = params.filter((param) => { + return param.in === "path"; + }); - if (schema.type === "file") { - // "file" params must consume at least one of these MIME types - let formData = /multipart\/(.*\+)?form-data/; - let urlEncoded = /application\/(.*\+)?x-www-form-urlencoded/; + for (let param of params) { + if (param.required !== true) { + throw ono.syntax( + "Validation failed. Path parameters cannot be optional. " + + `Set required=true for the "${param.name}" parameter at ${operationId}`, + ); + } + let match = placeholders.indexOf("{" + param.name + "}"); + if (match === -1) { + throw ono.syntax( + `Validation failed. ${operationId} has a path parameter named "${param.name}", ` + + `but there is no corresponding {${param.name}} in the path string`, + ); + } + placeholders.splice(match, 1); + } - let consumes = operation.consumes || api.consumes || []; + if (placeholders.length > 0) { + throw ono.syntax(`Validation failed. ${operationId} is missing path parameter(s) for ${placeholders}`); + } + } - let hasValidMimeType = consumes.some((consume) => { - return formData.test(consume) || urlEncoded.test(consume); - }); + /** + * Validates data types of parameters for the given operation. + * + * @param {object[]} params - An array of Parameter objects + * @param {object} api - The entire Swagger API object + * @param {object} operation - An Operation object, from the Swagger API + * @param {string} operationId - A value that uniquely identifies the operation + */ + function validateParameterTypes(params, api, operation, operationId) { + for (let param of params) { + let parameterId = operationId + "/parameters/" + param.name; + let schema, validTypes; + + switch (param.in) { + case "body": + schema = param.schema; + validTypes = schemaTypes; + break; + case "formData": + schema = param; + validTypes = primitiveTypes.concat("file"); + break; + default: + schema = param; + validTypes = primitiveTypes; + } - if (!hasValidMimeType) { - throw ono.syntax( - `Validation failed. ${operationId} has a file parameter, so it must consume multipart/form-data ` + - "or application/x-www-form-urlencoded", - ); - } - } - } -} - -/** - * Checks the given parameter list for duplicates, and throws an error if found. - * - * @param {object[]} params - An array of Parameter objects - */ -function checkForDuplicates (params) { - for (let i = 0; i < params.length - 1; i++) { - let outer = params[i]; - for (let j = i + 1; j < params.length; j++) { - let inner = params[j]; - if (outer.name === inner.name && outer.in === inner.in) { - throw ono.syntax(`Validation failed. Found multiple ${outer.in} parameters named "${outer.name}"`); - } - } - } -} - -/** - * Validates the given response object. - * - * @param {string} code - The HTTP response code (or "default") - * @param {object} response - A Response object, from the Swagger API - * @param {string} responseId - A value that uniquely identifies the response - */ -function validateResponse (code, response, responseId) { - if (code !== "default" && (code < 100 || code > 599)) { - throw ono.syntax(`Validation failed. ${responseId} has an invalid response code (${code})`); - } + validateSchema(schema, parameterId, validTypes); + validateRequiredPropertiesExist(schema, parameterId); - let headers = Object.keys(response.headers || {}); - for (let headerName of headers) { - let header = response.headers[headerName]; - let headerId = responseId + "/headers/" + headerName; - validateSchema(header, headerId, primitiveTypes); - } + if (schema.type === "file") { + // "file" params must consume at least one of these MIME types + let formData = /multipart\/(.*\+)?form-data/; + let urlEncoded = /application\/(.*\+)?x-www-form-urlencoded/; - if (response.schema) { - let validTypes = schemaTypes.concat("file"); - if (validTypes.indexOf(response.schema.type) === -1) { - throw ono.syntax( - `Validation failed. ${responseId} has an invalid response schema type (${response.schema.type})`); - } - else { - validateSchema(response.schema, responseId + "/schema", validTypes); - } - } -} - -/** - * Validates the given Swagger schema object. - * - * @param {object} schema - A Schema object, from the Swagger API - * @param {string} schemaId - A value that uniquely identifies the schema object - * @param {string[]} validTypes - An array of the allowed schema types - */ -function validateSchema (schema, schemaId, validTypes) { - if (validTypes.indexOf(schema.type) === -1) { - throw ono.syntax( - `Validation failed. ${schemaId} has an invalid type (${schema.type})`); - } + let consumes = operation.consumes || api.consumes || []; - if (schema.type === "array" && !schema.items) { - throw ono.syntax(`Validation failed. ${schemaId} is an array, so it must include an "items" schema`); - } -} - -/** - * Validates that the declared properties of the given Swagger schema object actually exist. - * - * @param {object} schema - A Schema object, from the Swagger API - * @param {string} schemaId - A value that uniquely identifies the schema object - */ -function validateRequiredPropertiesExist (schema, schemaId) { - /** - * Recursively collects all properties of the schema and its ancestors. They are added to the props object. - */ - function collectProperties (schemaObj, props) { - if (schemaObj.properties) { - for (let property in schemaObj.properties) { - if (schemaObj.properties.hasOwnProperty(property)) { - props[property] = schemaObj.properties[property]; + let hasValidMimeType = consumes.some((consume) => { + return formData.test(consume) || urlEncoded.test(consume); + }); + + if (!hasValidMimeType) { + throw ono.syntax( + `Validation failed. ${operationId} has a file parameter, so it must consume multipart/form-data ` + + "or application/x-www-form-urlencoded", + ); + } + } + } } - } - } - if (schemaObj.allOf) { - for (let parent of schemaObj.allOf) { - collectProperties(parent, props); - } - } - } - if (schema.required && Array.isArray(schema.required)) { - let props = {}; - collectProperties(schema, props); - for (let requiredProperty of schema.required) { - if (!props[requiredProperty]) { - throw ono.syntax( - `Validation failed. Property '${requiredProperty}' listed as required but does not exist in '${schemaId}'` - ); - } - } - } -} - -},{"../util":3,"@apidevtools/swagger-methods":30,"@jsdevtools/ono":33}],6:[function(require,module,exports){ -"use strict"; - -const $Ref = require("./ref"); -const Pointer = require("./pointer"); -const url = require("./util/url"); - -module.exports = bundle; - -/** - * Bundles all external JSON references into the main JSON schema, thus resulting in a schema that - * only has *internal* references, not any *external* references. - * This method mutates the JSON schema object, adding new references and re-mapping existing ones. - * - * @param {$RefParser} parser - * @param {$RefParserOptions} options - */ -function bundle (parser, options) { - // console.log('Bundling $ref pointers in %s', parser.$refs._root$Ref.path); - - // Build an inventory of all $ref pointers in the JSON Schema - let inventory = []; - crawl(parser, "schema", parser.$refs._root$Ref.path + "#", "#", 0, inventory, parser.$refs, options); - - // Remap all $ref pointers - remap(inventory); -} - -/** - * Recursively crawls the given value, and inventories all JSON references. - * - * @param {object} parent - The object containing the value to crawl. If the value is not an object or array, it will be ignored. - * @param {string} key - The property key of `parent` to be crawled - * @param {string} path - The full path of the property being crawled, possibly with a JSON Pointer in the hash - * @param {string} pathFromRoot - The path of the property being crawled, from the schema root - * @param {object[]} inventory - An array of already-inventoried $ref pointers - * @param {$Refs} $refs - * @param {$RefParserOptions} options - */ -function crawl (parent, key, path, pathFromRoot, indirections, inventory, $refs, options) { - let obj = key === null ? parent : parent[key]; - - if (obj && typeof obj === "object" && !ArrayBuffer.isView(obj)) { - if ($Ref.isAllowed$Ref(obj)) { - inventory$Ref(parent, key, path, pathFromRoot, indirections, inventory, $refs, options); - } - else { - // Crawl the object in a specific order that's optimized for bundling. - // This is important because it determines how `pathFromRoot` gets built, - // which later determines which keys get dereferenced and which ones get remapped - let keys = Object.keys(obj) - .sort((a, b) => { - // Most people will expect references to be bundled into the the "definitions" property, - // so we always crawl that property first, if it exists. - if (a === "definitions") { - return -1; - } - else if (b === "definitions") { - return 1; + /** + * Checks the given parameter list for duplicates, and throws an error if found. + * + * @param {object[]} params - An array of Parameter objects + */ + function checkForDuplicates(params) { + for (let i = 0; i < params.length - 1; i++) { + let outer = params[i]; + for (let j = i + 1; j < params.length; j++) { + let inner = params[j]; + if (outer.name === inner.name && outer.in === inner.in) { + throw ono.syntax(`Validation failed. Found multiple ${outer.in} parameters named "${outer.name}"`); + } + } } - else { - // Otherwise, crawl the keys based on their length. - // This produces the shortest possible bundled references - return a.length - b.length; + } + + /** + * Validates the given response object. + * + * @param {string} code - The HTTP response code (or "default") + * @param {object} response - A Response object, from the Swagger API + * @param {string} responseId - A value that uniquely identifies the response + */ + function validateResponse(code, response, responseId) { + if (code !== "default" && (code < 100 || code > 599)) { + throw ono.syntax(`Validation failed. ${responseId} has an invalid response code (${code})`); } - }); - // eslint-disable-next-line no-shadow - for (let key of keys) { - let keyPath = Pointer.join(path, key); - let keyPathFromRoot = Pointer.join(pathFromRoot, key); - let value = obj[key]; + let headers = Object.keys(response.headers || {}); + for (let headerName of headers) { + let header = response.headers[headerName]; + let headerId = responseId + "/headers/" + headerName; + validateSchema(header, headerId, primitiveTypes); + } - if ($Ref.isAllowed$Ref(value)) { - inventory$Ref(obj, key, path, keyPathFromRoot, indirections, inventory, $refs, options); - } - else { - crawl(obj, key, keyPath, keyPathFromRoot, indirections, inventory, $refs, options); + if (response.schema) { + let validTypes = schemaTypes.concat("file"); + if (validTypes.indexOf(response.schema.type) === -1) { + throw ono.syntax( + `Validation failed. ${responseId} has an invalid response schema type (${response.schema.type})`, + ); + } else { + validateSchema(response.schema, responseId + "/schema", validTypes); + } + } } - } - } - } -} - -/** - * Inventories the given JSON Reference (i.e. records detailed information about it so we can - * optimize all $refs in the schema), and then crawls the resolved value. - * - * @param {object} $refParent - The object that contains a JSON Reference as one of its keys - * @param {string} $refKey - The key in `$refParent` that is a JSON Reference - * @param {string} path - The full path of the JSON Reference at `$refKey`, possibly with a JSON Pointer in the hash - * @param {string} pathFromRoot - The path of the JSON Reference at `$refKey`, from the schema root - * @param {object[]} inventory - An array of already-inventoried $ref pointers - * @param {$Refs} $refs - * @param {$RefParserOptions} options - */ -function inventory$Ref ($refParent, $refKey, path, pathFromRoot, indirections, inventory, $refs, options) { - let $ref = $refKey === null ? $refParent : $refParent[$refKey]; - let $refPath = url.resolve(path, $ref.$ref); - let pointer = $refs._resolve($refPath, pathFromRoot, options); - if (pointer === null) { - return; - } - - let depth = Pointer.parse(pathFromRoot).length; - let file = url.stripHash(pointer.path); - let hash = url.getHash(pointer.path); - let external = file !== $refs._root$Ref.path; - let extended = $Ref.isExtended$Ref($ref); - indirections += pointer.indirections; - - let existingEntry = findInInventory(inventory, $refParent, $refKey); - if (existingEntry) { - // This $Ref has already been inventoried, so we don't need to process it again - if (depth < existingEntry.depth || indirections < existingEntry.indirections) { - removeFromInventory(inventory, existingEntry); - } - else { - return; - } - } - - inventory.push({ - $ref, // The JSON Reference (e.g. {$ref: string}) - parent: $refParent, // The object that contains this $ref pointer - key: $refKey, // The key in `parent` that is the $ref pointer - pathFromRoot, // The path to the $ref pointer, from the JSON Schema root - depth, // How far from the JSON Schema root is this $ref pointer? - file, // The file that the $ref pointer resolves to - hash, // The hash within `file` that the $ref pointer resolves to - value: pointer.value, // The resolved value of the $ref pointer - circular: pointer.circular, // Is this $ref pointer DIRECTLY circular? (i.e. it references itself) - extended, // Does this $ref extend its resolved value? (i.e. it has extra properties, in addition to "$ref") - external, // Does this $ref pointer point to a file other than the main JSON Schema file? - indirections, // The number of indirect references that were traversed to resolve the value - }); - - // Recursively crawl the resolved value - if (!existingEntry) { - crawl(pointer.value, null, pointer.path, pathFromRoot, indirections + 1, inventory, $refs, options); - } -} - -/** - * Re-maps every $ref pointer, so that they're all relative to the root of the JSON Schema. - * Each referenced value is dereferenced EXACTLY ONCE. All subsequent references to the same - * value are re-mapped to point to the first reference. - * - * @example: - * { - * first: { $ref: somefile.json#/some/part }, - * second: { $ref: somefile.json#/another/part }, - * third: { $ref: somefile.json }, - * fourth: { $ref: somefile.json#/some/part/sub/part } - * } - * - * In this example, there are four references to the same file, but since the third reference points - * to the ENTIRE file, that's the only one we need to dereference. The other three can just be - * remapped to point inside the third one. - * - * On the other hand, if the third reference DIDN'T exist, then the first and second would both need - * to be dereferenced, since they point to different parts of the file. The fourth reference does NOT - * need to be dereferenced, because it can be remapped to point inside the first one. - * - * @param {object[]} inventory - */ -function remap (inventory) { - // Group & sort all the $ref pointers, so they're in the order that we need to dereference/remap them - inventory.sort((a, b) => { - if (a.file !== b.file) { - // Group all the $refs that point to the same file - return a.file < b.file ? -1 : +1; - } - else if (a.hash !== b.hash) { - // Group all the $refs that point to the same part of the file - return a.hash < b.hash ? -1 : +1; - } - else if (a.circular !== b.circular) { - // If the $ref points to itself, then sort it higher than other $refs that point to this $ref - return a.circular ? -1 : +1; - } - else if (a.extended !== b.extended) { - // If the $ref extends the resolved value, then sort it lower than other $refs that don't extend the value - return a.extended ? +1 : -1; - } - else if (a.indirections !== b.indirections) { - // Sort direct references higher than indirect references - return a.indirections - b.indirections; - } - else if (a.depth !== b.depth) { - // Sort $refs by how close they are to the JSON Schema root - return a.depth - b.depth; - } - else { - // Determine how far each $ref is from the "definitions" property. - // Most people will expect references to be bundled into the the "definitions" property if possible. - let aDefinitionsIndex = a.pathFromRoot.lastIndexOf("/definitions"); - let bDefinitionsIndex = b.pathFromRoot.lastIndexOf("/definitions"); - - if (aDefinitionsIndex !== bDefinitionsIndex) { - // Give higher priority to the $ref that's closer to the "definitions" property - return bDefinitionsIndex - aDefinitionsIndex; - } - else { - // All else is equal, so use the shorter path, which will produce the shortest possible reference - return a.pathFromRoot.length - b.pathFromRoot.length; - } - } - }); - let file, hash, pathFromRoot; - for (let entry of inventory) { - // console.log('Re-mapping $ref pointer "%s" at %s', entry.$ref.$ref, entry.pathFromRoot); + /** + * Validates the given Swagger schema object. + * + * @param {object} schema - A Schema object, from the Swagger API + * @param {string} schemaId - A value that uniquely identifies the schema object + * @param {string[]} validTypes - An array of the allowed schema types + */ + function validateSchema(schema, schemaId, validTypes) { + if (validTypes.indexOf(schema.type) === -1) { + throw ono.syntax(`Validation failed. ${schemaId} has an invalid type (${schema.type})`); + } - if (!entry.external) { - // This $ref already resolves to the main JSON Schema file - entry.$ref.$ref = entry.hash; - } - else if (entry.file === file && entry.hash === hash) { - // This $ref points to the same value as the prevous $ref, so remap it to the same path - entry.$ref.$ref = pathFromRoot; - } - else if (entry.file === file && entry.hash.indexOf(hash + "/") === 0) { - // This $ref points to a sub-value of the prevous $ref, so remap it beneath that path - entry.$ref.$ref = Pointer.join(pathFromRoot, Pointer.parse(entry.hash.replace(hash, "#"))); - } - else { - // We've moved to a new file or new hash - file = entry.file; - hash = entry.hash; - pathFromRoot = entry.pathFromRoot; - - // This is the first $ref to point to this value, so dereference the value. - // Any other $refs that point to the same value will point to this $ref instead - entry.$ref = entry.parent[entry.key] = $Ref.dereference(entry.$ref, entry.value); - - if (entry.circular) { - // This $ref points to itself - entry.$ref.$ref = entry.pathFromRoot; - } - } + if (schema.type === "array" && !schema.items) { + throw ono.syntax(`Validation failed. ${schemaId} is an array, so it must include an "items" schema`); + } + } - // console.log(' new value: %s', (entry.$ref && entry.$ref.$ref) ? entry.$ref.$ref : '[object Object]'); - } -} - -/** - * TODO - */ -function findInInventory (inventory, $refParent, $refKey) { - for (let i = 0; i < inventory.length; i++) { - let existingEntry = inventory[i]; - if (existingEntry.parent === $refParent && existingEntry.key === $refKey) { - return existingEntry; - } - } -} - -function removeFromInventory (inventory, entry) { - let index = inventory.indexOf(entry); - inventory.splice(index, 1); -} - -},{"./pointer":16,"./ref":17,"./util/url":24}],7:[function(require,module,exports){ -"use strict"; - -const $Ref = require("./ref"); -const Pointer = require("./pointer"); -const { ono } = require("@jsdevtools/ono"); -const url = require("./util/url"); - -module.exports = dereference; - -/** - * Crawls the JSON schema, finds all JSON references, and dereferences them. - * This method mutates the JSON schema object, replacing JSON references with their resolved value. - * - * @param {$RefParser} parser - * @param {$RefParserOptions} options - */ -function dereference (parser, options) { - // console.log('Dereferencing $ref pointers in %s', parser.$refs._root$Ref.path); - let dereferenced = crawl(parser.schema, parser.$refs._root$Ref.path, "#", [], parser.$refs, options); - parser.$refs.circular = dereferenced.circular; - parser.schema = dereferenced.value; -} - -/** - * Recursively crawls the given value, and dereferences any JSON references. - * - * @param {*} obj - The value to crawl. If it's not an object or array, it will be ignored. - * @param {string} path - The full path of `obj`, possibly with a JSON Pointer in the hash - * @param {string} pathFromRoot - The path of `obj` from the schema root - * @param {object[]} parents - An array of the parent objects that have already been dereferenced - * @param {$Refs} $refs - * @param {$RefParserOptions} options - * @returns {{value: object, circular: boolean}} - */ -function crawl (obj, path, pathFromRoot, parents, $refs, options) { - let dereferenced; - let result = { - value: obj, - circular: false - }; - - if (obj && typeof obj === "object" && !ArrayBuffer.isView(obj)) { - parents.push(obj); - - if ($Ref.isAllowed$Ref(obj, options)) { - dereferenced = dereference$Ref(obj, path, pathFromRoot, parents, $refs, options); - result.circular = dereferenced.circular; - result.value = dereferenced.value; - } - else { - for (let key of Object.keys(obj)) { - let keyPath = Pointer.join(path, key); - let keyPathFromRoot = Pointer.join(pathFromRoot, key); - let value = obj[key]; - let circular = false; - - if ($Ref.isAllowed$Ref(value, options)) { - dereferenced = dereference$Ref(value, keyPath, keyPathFromRoot, parents, $refs, options); - circular = dereferenced.circular; - // Avoid pointless mutations; breaks frozen objects to no profit - if (obj[key] !== dereferenced.value) { - obj[key] = dereferenced.value; - } - } - else { - if (parents.indexOf(value) === -1) { - dereferenced = crawl(value, keyPath, keyPathFromRoot, parents, $refs, options); - circular = dereferenced.circular; - // Avoid pointless mutations; breaks frozen objects to no profit - if (obj[key] !== dereferenced.value) { - obj[key] = dereferenced.value; + /** + * Validates that the declared properties of the given Swagger schema object actually exist. + * + * @param {object} schema - A Schema object, from the Swagger API + * @param {string} schemaId - A value that uniquely identifies the schema object + */ + function validateRequiredPropertiesExist(schema, schemaId) { + /** + * Recursively collects all properties of the schema and its ancestors. They are added to the props object. + */ + function collectProperties(schemaObj, props) { + if (schemaObj.properties) { + for (let property in schemaObj.properties) { + if (schemaObj.properties.hasOwnProperty(property)) { + props[property] = schemaObj.properties[property]; + } + } + } + if (schemaObj.allOf) { + for (let parent of schemaObj.allOf) { + collectProperties(parent, props); + } } } - else { - circular = foundCircularReference(keyPath, $refs, options); + + if (schema.required && Array.isArray(schema.required)) { + let props = {}; + collectProperties(schema, props); + for (let requiredProperty of schema.required) { + if (!props[requiredProperty]) { + throw ono.syntax( + `Validation failed. Property '${requiredProperty}' listed as required but does not exist in '${schemaId}'`, + ); + } + } } } + }, + { "../util": 3, "@apidevtools/swagger-methods": 30, "@jsdevtools/ono": 33 }, + ], + 6: [ + function (require, module, exports) { + "use strict"; + + const $Ref = require("./ref"); + const Pointer = require("./pointer"); + const url = require("./util/url"); + + module.exports = bundle; + + /** + * Bundles all external JSON references into the main JSON schema, thus resulting in a schema that + * only has *internal* references, not any *external* references. + * This method mutates the JSON schema object, adding new references and re-mapping existing ones. + * + * @param {$RefParser} parser + * @param {$RefParserOptions} options + */ + function bundle(parser, options) { + // console.log('Bundling $ref pointers in %s', parser.$refs._root$Ref.path); + + // Build an inventory of all $ref pointers in the JSON Schema + let inventory = []; + crawl(parser, "schema", parser.$refs._root$Ref.path + "#", "#", 0, inventory, parser.$refs, options); + + // Remap all $ref pointers + remap(inventory); + } + + /** + * Recursively crawls the given value, and inventories all JSON references. + * + * @param {object} parent - The object containing the value to crawl. If the value is not an object or array, it will be ignored. + * @param {string} key - The property key of `parent` to be crawled + * @param {string} path - The full path of the property being crawled, possibly with a JSON Pointer in the hash + * @param {string} pathFromRoot - The path of the property being crawled, from the schema root + * @param {object[]} inventory - An array of already-inventoried $ref pointers + * @param {$Refs} $refs + * @param {$RefParserOptions} options + */ + function crawl(parent, key, path, pathFromRoot, indirections, inventory, $refs, options) { + let obj = key === null ? parent : parent[key]; + + if (obj && typeof obj === "object" && !ArrayBuffer.isView(obj)) { + if ($Ref.isAllowed$Ref(obj)) { + inventory$Ref(parent, key, path, pathFromRoot, indirections, inventory, $refs, options); + } else { + // Crawl the object in a specific order that's optimized for bundling. + // This is important because it determines how `pathFromRoot` gets built, + // which later determines which keys get dereferenced and which ones get remapped + let keys = Object.keys(obj).sort((a, b) => { + // Most people will expect references to be bundled into the the "definitions" property, + // so we always crawl that property first, if it exists. + if (a === "definitions") { + return -1; + } else if (b === "definitions") { + return 1; + } else { + // Otherwise, crawl the keys based on their length. + // This produces the shortest possible bundled references + return a.length - b.length; + } + }); - // Set the "isCircular" flag if this or any other property is circular - result.circular = result.circular || circular; - } - } - - parents.pop(); - } + // eslint-disable-next-line no-shadow + for (let key of keys) { + let keyPath = Pointer.join(path, key); + let keyPathFromRoot = Pointer.join(pathFromRoot, key); + let value = obj[key]; - return result; -} - -/** - * Dereferences the given JSON Reference, and then crawls the resulting value. - * - * @param {{$ref: string}} $ref - The JSON Reference to resolve - * @param {string} path - The full path of `$ref`, possibly with a JSON Pointer in the hash - * @param {string} pathFromRoot - The path of `$ref` from the schema root - * @param {object[]} parents - An array of the parent objects that have already been dereferenced - * @param {$Refs} $refs - * @param {$RefParserOptions} options - * @returns {{value: object, circular: boolean}} - */ -function dereference$Ref ($ref, path, pathFromRoot, parents, $refs, options) { - // console.log('Dereferencing $ref pointer "%s" at %s', $ref.$ref, path); - - let $refPath = url.resolve(path, $ref.$ref); - let pointer = $refs._resolve($refPath, path, options); - - if (pointer === null) { - return { - circular: false, - value: null, - }; - } + if ($Ref.isAllowed$Ref(value)) { + inventory$Ref(obj, key, path, keyPathFromRoot, indirections, inventory, $refs, options); + } else { + crawl(obj, key, keyPath, keyPathFromRoot, indirections, inventory, $refs, options); + } + } + } + } + } - // Check for circular references - let directCircular = pointer.circular; - let circular = directCircular || parents.indexOf(pointer.value) !== -1; - circular && foundCircularReference(path, $refs, options); + /** + * Inventories the given JSON Reference (i.e. records detailed information about it so we can + * optimize all $refs in the schema), and then crawls the resolved value. + * + * @param {object} $refParent - The object that contains a JSON Reference as one of its keys + * @param {string} $refKey - The key in `$refParent` that is a JSON Reference + * @param {string} path - The full path of the JSON Reference at `$refKey`, possibly with a JSON Pointer in the hash + * @param {string} pathFromRoot - The path of the JSON Reference at `$refKey`, from the schema root + * @param {object[]} inventory - An array of already-inventoried $ref pointers + * @param {$Refs} $refs + * @param {$RefParserOptions} options + */ + function inventory$Ref($refParent, $refKey, path, pathFromRoot, indirections, inventory, $refs, options) { + let $ref = $refKey === null ? $refParent : $refParent[$refKey]; + let $refPath = url.resolve(path, $ref.$ref); + let pointer = $refs._resolve($refPath, pathFromRoot, options); + if (pointer === null) { + return; + } - // Dereference the JSON reference - let dereferencedValue = $Ref.dereference($ref, pointer.value); + let depth = Pointer.parse(pathFromRoot).length; + let file = url.stripHash(pointer.path); + let hash = url.getHash(pointer.path); + let external = file !== $refs._root$Ref.path; + let extended = $Ref.isExtended$Ref($ref); + indirections += pointer.indirections; + + let existingEntry = findInInventory(inventory, $refParent, $refKey); + if (existingEntry) { + // This $Ref has already been inventoried, so we don't need to process it again + if (depth < existingEntry.depth || indirections < existingEntry.indirections) { + removeFromInventory(inventory, existingEntry); + } else { + return; + } + } - // Crawl the dereferenced value (unless it's circular) - if (!circular) { - // Determine if the dereferenced value is circular - let dereferenced = crawl(dereferencedValue, pointer.path, pathFromRoot, parents, $refs, options); - circular = dereferenced.circular; - dereferencedValue = dereferenced.value; - } + inventory.push({ + $ref, // The JSON Reference (e.g. {$ref: string}) + parent: $refParent, // The object that contains this $ref pointer + key: $refKey, // The key in `parent` that is the $ref pointer + pathFromRoot, // The path to the $ref pointer, from the JSON Schema root + depth, // How far from the JSON Schema root is this $ref pointer? + file, // The file that the $ref pointer resolves to + hash, // The hash within `file` that the $ref pointer resolves to + value: pointer.value, // The resolved value of the $ref pointer + circular: pointer.circular, // Is this $ref pointer DIRECTLY circular? (i.e. it references itself) + extended, // Does this $ref extend its resolved value? (i.e. it has extra properties, in addition to "$ref") + external, // Does this $ref pointer point to a file other than the main JSON Schema file? + indirections, // The number of indirect references that were traversed to resolve the value + }); + + // Recursively crawl the resolved value + if (!existingEntry) { + crawl(pointer.value, null, pointer.path, pathFromRoot, indirections + 1, inventory, $refs, options); + } + } - if (circular && !directCircular && options.dereference.circular === "ignore") { - // The user has chosen to "ignore" circular references, so don't change the value - dereferencedValue = $ref; - } + /** + * Re-maps every $ref pointer, so that they're all relative to the root of the JSON Schema. + * Each referenced value is dereferenced EXACTLY ONCE. All subsequent references to the same + * value are re-mapped to point to the first reference. + * + * @example: + * { + * first: { $ref: somefile.json#/some/part }, + * second: { $ref: somefile.json#/another/part }, + * third: { $ref: somefile.json }, + * fourth: { $ref: somefile.json#/some/part/sub/part } + * } + * + * In this example, there are four references to the same file, but since the third reference points + * to the ENTIRE file, that's the only one we need to dereference. The other three can just be + * remapped to point inside the third one. + * + * On the other hand, if the third reference DIDN'T exist, then the first and second would both need + * to be dereferenced, since they point to different parts of the file. The fourth reference does NOT + * need to be dereferenced, because it can be remapped to point inside the first one. + * + * @param {object[]} inventory + */ + function remap(inventory) { + // Group & sort all the $ref pointers, so they're in the order that we need to dereference/remap them + inventory.sort((a, b) => { + if (a.file !== b.file) { + // Group all the $refs that point to the same file + return a.file < b.file ? -1 : +1; + } else if (a.hash !== b.hash) { + // Group all the $refs that point to the same part of the file + return a.hash < b.hash ? -1 : +1; + } else if (a.circular !== b.circular) { + // If the $ref points to itself, then sort it higher than other $refs that point to this $ref + return a.circular ? -1 : +1; + } else if (a.extended !== b.extended) { + // If the $ref extends the resolved value, then sort it lower than other $refs that don't extend the value + return a.extended ? +1 : -1; + } else if (a.indirections !== b.indirections) { + // Sort direct references higher than indirect references + return a.indirections - b.indirections; + } else if (a.depth !== b.depth) { + // Sort $refs by how close they are to the JSON Schema root + return a.depth - b.depth; + } else { + // Determine how far each $ref is from the "definitions" property. + // Most people will expect references to be bundled into the the "definitions" property if possible. + let aDefinitionsIndex = a.pathFromRoot.lastIndexOf("/definitions"); + let bDefinitionsIndex = b.pathFromRoot.lastIndexOf("/definitions"); + + if (aDefinitionsIndex !== bDefinitionsIndex) { + // Give higher priority to the $ref that's closer to the "definitions" property + return bDefinitionsIndex - aDefinitionsIndex; + } else { + // All else is equal, so use the shorter path, which will produce the shortest possible reference + return a.pathFromRoot.length - b.pathFromRoot.length; + } + } + }); + + let file, hash, pathFromRoot; + for (let entry of inventory) { + // console.log('Re-mapping $ref pointer "%s" at %s', entry.$ref.$ref, entry.pathFromRoot); + + if (!entry.external) { + // This $ref already resolves to the main JSON Schema file + entry.$ref.$ref = entry.hash; + } else if (entry.file === file && entry.hash === hash) { + // This $ref points to the same value as the prevous $ref, so remap it to the same path + entry.$ref.$ref = pathFromRoot; + } else if (entry.file === file && entry.hash.indexOf(hash + "/") === 0) { + // This $ref points to a sub-value of the prevous $ref, so remap it beneath that path + entry.$ref.$ref = Pointer.join(pathFromRoot, Pointer.parse(entry.hash.replace(hash, "#"))); + } else { + // We've moved to a new file or new hash + file = entry.file; + hash = entry.hash; + pathFromRoot = entry.pathFromRoot; + + // This is the first $ref to point to this value, so dereference the value. + // Any other $refs that point to the same value will point to this $ref instead + entry.$ref = entry.parent[entry.key] = $Ref.dereference(entry.$ref, entry.value); + + if (entry.circular) { + // This $ref points to itself + entry.$ref.$ref = entry.pathFromRoot; + } + } - if (directCircular) { - // The pointer is a DIRECT circular reference (i.e. it references itself). - // So replace the $ref path with the absolute path from the JSON Schema root - dereferencedValue.$ref = pathFromRoot; - } + // console.log(' new value: %s', (entry.$ref && entry.$ref.$ref) ? entry.$ref.$ref : '[object Object]'); + } + } - return { - circular, - value: dereferencedValue - }; -} - -/** - * Called when a circular reference is found. - * It sets the {@link $Refs#circular} flag, and throws an error if options.dereference.circular is false. - * - * @param {string} keyPath - The JSON Reference path of the circular reference - * @param {$Refs} $refs - * @param {$RefParserOptions} options - * @returns {boolean} - always returns true, to indicate that a circular reference was found - */ -function foundCircularReference (keyPath, $refs, options) { - $refs.circular = true; - if (!options.dereference.circular) { - throw ono.reference(`Circular $ref pointer found at ${keyPath}`); - } - return true; -} - -},{"./pointer":16,"./ref":17,"./util/url":24,"@jsdevtools/ono":33}],8:[function(require,module,exports){ -(function (Buffer){(function (){ -/* eslint-disable no-unused-vars */ -"use strict"; - -const $Refs = require("./refs"); -const _parse = require("./parse"); -const normalizeArgs = require("./normalize-args"); -const resolveExternal = require("./resolve-external"); -const _bundle = require("./bundle"); -const _dereference = require("./dereference"); -const url = require("./util/url"); -const { JSONParserError, InvalidPointerError, MissingPointerError, ResolverError, ParserError, UnmatchedParserError, UnmatchedResolverError, isHandledError, JSONParserErrorGroup } = require("./util/errors"); -const maybe = require("call-me-maybe"); -const { ono } = require("@jsdevtools/ono"); - -module.exports = $RefParser; -module.exports.default = $RefParser; -module.exports.JSONParserError = JSONParserError; -module.exports.InvalidPointerError = InvalidPointerError; -module.exports.MissingPointerError = MissingPointerError; -module.exports.ResolverError = ResolverError; -module.exports.ParserError = ParserError; -module.exports.UnmatchedParserError = UnmatchedParserError; -module.exports.UnmatchedResolverError = UnmatchedResolverError; - -/** - * This class parses a JSON schema, builds a map of its JSON references and their resolved values, - * and provides methods for traversing, manipulating, and dereferencing those references. - * - * @constructor - */ -function $RefParser () { - /** - * The parsed (and possibly dereferenced) JSON schema object - * - * @type {object} - * @readonly - */ - this.schema = null; - - /** - * The resolved JSON references - * - * @type {$Refs} - * @readonly - */ - this.$refs = new $Refs(); -} - -/** - * Parses the given JSON schema. - * This method does not resolve any JSON references. - * It just reads a single file in JSON or YAML format, and parse it as a JavaScript object. - * - * @param {string} [path] - The file path or URL of the JSON schema - * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. - * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed - * @param {function} [callback] - An error-first callback. The second parameter is the parsed JSON schema object. - * @returns {Promise} - The returned promise resolves with the parsed JSON schema object. - */ -$RefParser.parse = function parse (path, schema, options, callback) { - let Class = this; // eslint-disable-line consistent-this - let instance = new Class(); - return instance.parse.apply(instance, arguments); -}; - -/** - * Parses the given JSON schema. - * This method does not resolve any JSON references. - * It just reads a single file in JSON or YAML format, and parse it as a JavaScript object. - * - * @param {string} [path] - The file path or URL of the JSON schema - * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. - * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed - * @param {function} [callback] - An error-first callback. The second parameter is the parsed JSON schema object. - * @returns {Promise} - The returned promise resolves with the parsed JSON schema object. - */ -$RefParser.prototype.parse = async function parse (path, schema, options, callback) { - let args = normalizeArgs(arguments); - let promise; - - if (!args.path && !args.schema) { - let err = ono(`Expected a file path, URL, or object. Got ${args.path || args.schema}`); - return maybe(args.callback, Promise.reject(err)); - } + /** + * TODO + */ + function findInInventory(inventory, $refParent, $refKey) { + for (let i = 0; i < inventory.length; i++) { + let existingEntry = inventory[i]; + if (existingEntry.parent === $refParent && existingEntry.key === $refKey) { + return existingEntry; + } + } + } - // Reset everything - this.schema = null; - this.$refs = new $Refs(); - - // If the path is a filesystem path, then convert it to a URL. - // NOTE: According to the JSON Reference spec, these should already be URLs, - // but, in practice, many people use local filesystem paths instead. - // So we're being generous here and doing the conversion automatically. - // This is not intended to be a 100% bulletproof solution. - // If it doesn't work for your use-case, then use a URL instead. - let pathType = "http"; - if (url.isFileSystemPath(args.path)) { - args.path = url.fromFileSystemPath(args.path); - pathType = "file"; - } + function removeFromInventory(inventory, entry) { + let index = inventory.indexOf(entry); + inventory.splice(index, 1); + } + }, + { "./pointer": 16, "./ref": 17, "./util/url": 24 }, + ], + 7: [ + function (require, module, exports) { + "use strict"; + + const $Ref = require("./ref"); + const Pointer = require("./pointer"); + const { ono } = require("@jsdevtools/ono"); + const url = require("./util/url"); + + module.exports = dereference; + + /** + * Crawls the JSON schema, finds all JSON references, and dereferences them. + * This method mutates the JSON schema object, replacing JSON references with their resolved value. + * + * @param {$RefParser} parser + * @param {$RefParserOptions} options + */ + function dereference(parser, options) { + // console.log('Dereferencing $ref pointers in %s', parser.$refs._root$Ref.path); + let dereferenced = crawl(parser.schema, parser.$refs._root$Ref.path, "#", [], parser.$refs, options); + parser.$refs.circular = dereferenced.circular; + parser.schema = dereferenced.value; + } + + /** + * Recursively crawls the given value, and dereferences any JSON references. + * + * @param {*} obj - The value to crawl. If it's not an object or array, it will be ignored. + * @param {string} path - The full path of `obj`, possibly with a JSON Pointer in the hash + * @param {string} pathFromRoot - The path of `obj` from the schema root + * @param {object[]} parents - An array of the parent objects that have already been dereferenced + * @param {$Refs} $refs + * @param {$RefParserOptions} options + * @returns {{value: object, circular: boolean}} + */ + function crawl(obj, path, pathFromRoot, parents, $refs, options) { + let dereferenced; + let result = { + value: obj, + circular: false, + }; + + if (obj && typeof obj === "object" && !ArrayBuffer.isView(obj)) { + parents.push(obj); + + if ($Ref.isAllowed$Ref(obj, options)) { + dereferenced = dereference$Ref(obj, path, pathFromRoot, parents, $refs, options); + result.circular = dereferenced.circular; + result.value = dereferenced.value; + } else { + for (let key of Object.keys(obj)) { + let keyPath = Pointer.join(path, key); + let keyPathFromRoot = Pointer.join(pathFromRoot, key); + let value = obj[key]; + let circular = false; + + if ($Ref.isAllowed$Ref(value, options)) { + dereferenced = dereference$Ref(value, keyPath, keyPathFromRoot, parents, $refs, options); + circular = dereferenced.circular; + // Avoid pointless mutations; breaks frozen objects to no profit + if (obj[key] !== dereferenced.value) { + obj[key] = dereferenced.value; + } + } else { + if (parents.indexOf(value) === -1) { + dereferenced = crawl(value, keyPath, keyPathFromRoot, parents, $refs, options); + circular = dereferenced.circular; + // Avoid pointless mutations; breaks frozen objects to no profit + if (obj[key] !== dereferenced.value) { + obj[key] = dereferenced.value; + } + } else { + circular = foundCircularReference(keyPath, $refs, options); + } + } - // Resolve the absolute path of the schema - args.path = url.resolve(url.cwd(), args.path); + // Set the "isCircular" flag if this or any other property is circular + result.circular = result.circular || circular; + } + } - if (args.schema && typeof args.schema === "object") { - // A schema object was passed-in. - // So immediately add a new $Ref with the schema object as its value - let $ref = this.$refs._add(args.path); - $ref.value = args.schema; - $ref.pathType = pathType; - promise = Promise.resolve(args.schema); - } - else { - // Parse the schema file/url - promise = _parse(args.path, this.$refs, args.options); - } + parents.pop(); + } - let me = this; - try { - let result = await promise; + return result; + } + + /** + * Dereferences the given JSON Reference, and then crawls the resulting value. + * + * @param {{$ref: string}} $ref - The JSON Reference to resolve + * @param {string} path - The full path of `$ref`, possibly with a JSON Pointer in the hash + * @param {string} pathFromRoot - The path of `$ref` from the schema root + * @param {object[]} parents - An array of the parent objects that have already been dereferenced + * @param {$Refs} $refs + * @param {$RefParserOptions} options + * @returns {{value: object, circular: boolean}} + */ + function dereference$Ref($ref, path, pathFromRoot, parents, $refs, options) { + // console.log('Dereferencing $ref pointer "%s" at %s', $ref.$ref, path); + + let $refPath = url.resolve(path, $ref.$ref); + let pointer = $refs._resolve($refPath, path, options); + + if (pointer === null) { + return { + circular: false, + value: null, + }; + } - if (result !== null && typeof result === "object" && !Buffer.isBuffer(result)) { - me.schema = result; - return maybe(args.callback, Promise.resolve(me.schema)); - } - else if (args.options.continueOnError) { - me.schema = null; // it's already set to null at line 79, but let's set it again for the sake of readability - return maybe(args.callback, Promise.resolve(me.schema)); - } - else { - throw ono.syntax(`"${me.$refs._root$Ref.path || result}" is not a valid JSON Schema`); - } - } - catch (err) { - if (!args.options.continueOnError || !isHandledError(err)) { - return maybe(args.callback, Promise.reject(err)); - } + // Check for circular references + let directCircular = pointer.circular; + let circular = directCircular || parents.indexOf(pointer.value) !== -1; + circular && foundCircularReference(path, $refs, options); - if (this.$refs._$refs[url.stripHash(args.path)]) { - this.$refs._$refs[url.stripHash(args.path)].addError(err); - } + // Dereference the JSON reference + let dereferencedValue = $Ref.dereference($ref, pointer.value); - return maybe(args.callback, Promise.resolve(null)); - } -}; - -/** - * Parses the given JSON schema and resolves any JSON references, including references in - * externally-referenced files. - * - * @param {string} [path] - The file path or URL of the JSON schema - * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. - * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed and resolved - * @param {function} [callback] - * - An error-first callback. The second parameter is a {@link $Refs} object containing the resolved JSON references - * - * @returns {Promise} - * The returned promise resolves with a {@link $Refs} object containing the resolved JSON references - */ -$RefParser.resolve = function resolve (path, schema, options, callback) { - let Class = this; // eslint-disable-line consistent-this - let instance = new Class(); - return instance.resolve.apply(instance, arguments); -}; - -/** - * Parses the given JSON schema and resolves any JSON references, including references in - * externally-referenced files. - * - * @param {string} [path] - The file path or URL of the JSON schema - * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. - * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed and resolved - * @param {function} [callback] - * - An error-first callback. The second parameter is a {@link $Refs} object containing the resolved JSON references - * - * @returns {Promise} - * The returned promise resolves with a {@link $Refs} object containing the resolved JSON references - */ -$RefParser.prototype.resolve = async function resolve (path, schema, options, callback) { - let me = this; - let args = normalizeArgs(arguments); - - try { - await this.parse(args.path, args.schema, args.options); - await resolveExternal(me, args.options); - finalize(me); - return maybe(args.callback, Promise.resolve(me.$refs)); - } - catch (err) { - return maybe(args.callback, Promise.reject(err)); - } -}; - -/** - * Parses the given JSON schema, resolves any JSON references, and bundles all external references - * into the main JSON schema. This produces a JSON schema that only has *internal* references, - * not any *external* references. - * - * @param {string} [path] - The file path or URL of the JSON schema - * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. - * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed, resolved, and dereferenced - * @param {function} [callback] - An error-first callback. The second parameter is the bundled JSON schema object - * @returns {Promise} - The returned promise resolves with the bundled JSON schema object. - */ -$RefParser.bundle = function bundle (path, schema, options, callback) { - let Class = this; // eslint-disable-line consistent-this - let instance = new Class(); - return instance.bundle.apply(instance, arguments); -}; - -/** - * Parses the given JSON schema, resolves any JSON references, and bundles all external references - * into the main JSON schema. This produces a JSON schema that only has *internal* references, - * not any *external* references. - * - * @param {string} [path] - The file path or URL of the JSON schema - * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. - * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed, resolved, and dereferenced - * @param {function} [callback] - An error-first callback. The second parameter is the bundled JSON schema object - * @returns {Promise} - The returned promise resolves with the bundled JSON schema object. - */ -$RefParser.prototype.bundle = async function bundle (path, schema, options, callback) { - let me = this; - let args = normalizeArgs(arguments); - - try { - await this.resolve(args.path, args.schema, args.options); - _bundle(me, args.options); - finalize(me); - return maybe(args.callback, Promise.resolve(me.schema)); - } - catch (err) { - return maybe(args.callback, Promise.reject(err)); - } -}; - -/** - * Parses the given JSON schema, resolves any JSON references, and dereferences the JSON schema. - * That is, all JSON references are replaced with their resolved values. - * - * @param {string} [path] - The file path or URL of the JSON schema - * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. - * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed, resolved, and dereferenced - * @param {function} [callback] - An error-first callback. The second parameter is the dereferenced JSON schema object - * @returns {Promise} - The returned promise resolves with the dereferenced JSON schema object. - */ -$RefParser.dereference = function dereference (path, schema, options, callback) { - let Class = this; // eslint-disable-line consistent-this - let instance = new Class(); - return instance.dereference.apply(instance, arguments); -}; - -/** - * Parses the given JSON schema, resolves any JSON references, and dereferences the JSON schema. - * That is, all JSON references are replaced with their resolved values. - * - * @param {string} [path] - The file path or URL of the JSON schema - * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. - * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed, resolved, and dereferenced - * @param {function} [callback] - An error-first callback. The second parameter is the dereferenced JSON schema object - * @returns {Promise} - The returned promise resolves with the dereferenced JSON schema object. - */ -$RefParser.prototype.dereference = async function dereference (path, schema, options, callback) { - let me = this; - let args = normalizeArgs(arguments); - - try { - await this.resolve(args.path, args.schema, args.options); - _dereference(me, args.options); - finalize(me); - return maybe(args.callback, Promise.resolve(me.schema)); - } - catch (err) { - return maybe(args.callback, Promise.reject(err)); - } -}; + // Crawl the dereferenced value (unless it's circular) + if (!circular) { + // Determine if the dereferenced value is circular + let dereferenced = crawl(dereferencedValue, pointer.path, pathFromRoot, parents, $refs, options); + circular = dereferenced.circular; + dereferencedValue = dereferenced.value; + } -function finalize (parser) { - const errors = JSONParserErrorGroup.getParserErrors(parser); - if (errors.length > 0) { - throw new JSONParserErrorGroup(parser); - } -} + if (circular && !directCircular && options.dereference.circular === "ignore") { + // The user has chosen to "ignore" circular references, so don't change the value + dereferencedValue = $ref; + } -}).call(this)}).call(this,{"isBuffer":require("../../../is-buffer/index.js")}) + if (directCircular) { + // The pointer is a DIRECT circular reference (i.e. it references itself). + // So replace the $ref path with the absolute path from the JSON Schema root + dereferencedValue.$ref = pathFromRoot; + } -},{"../../../is-buffer/index.js":140,"./bundle":6,"./dereference":7,"./normalize-args":9,"./parse":11,"./refs":18,"./resolve-external":19,"./util/errors":22,"./util/url":24,"@jsdevtools/ono":33,"call-me-maybe":134}],9:[function(require,module,exports){ -"use strict"; + return { + circular, + value: dereferencedValue, + }; + } + + /** + * Called when a circular reference is found. + * It sets the {@link $Refs#circular} flag, and throws an error if options.dereference.circular is false. + * + * @param {string} keyPath - The JSON Reference path of the circular reference + * @param {$Refs} $refs + * @param {$RefParserOptions} options + * @returns {boolean} - always returns true, to indicate that a circular reference was found + */ + function foundCircularReference(keyPath, $refs, options) { + $refs.circular = true; + if (!options.dereference.circular) { + throw ono.reference(`Circular $ref pointer found at ${keyPath}`); + } + return true; + } + }, + { "./pointer": 16, "./ref": 17, "./util/url": 24, "@jsdevtools/ono": 33 }, + ], + 8: [ + function (require, module, exports) { + (function (Buffer) { + (function () { + /* eslint-disable no-unused-vars */ + "use strict"; + + const $Refs = require("./refs"); + const _parse = require("./parse"); + const normalizeArgs = require("./normalize-args"); + const resolveExternal = require("./resolve-external"); + const _bundle = require("./bundle"); + const _dereference = require("./dereference"); + const url = require("./util/url"); + const { + JSONParserError, + InvalidPointerError, + MissingPointerError, + ResolverError, + ParserError, + UnmatchedParserError, + UnmatchedResolverError, + isHandledError, + JSONParserErrorGroup, + } = require("./util/errors"); + const maybe = require("call-me-maybe"); + const { ono } = require("@jsdevtools/ono"); + + module.exports = $RefParser; + module.exports.default = $RefParser; + module.exports.JSONParserError = JSONParserError; + module.exports.InvalidPointerError = InvalidPointerError; + module.exports.MissingPointerError = MissingPointerError; + module.exports.ResolverError = ResolverError; + module.exports.ParserError = ParserError; + module.exports.UnmatchedParserError = UnmatchedParserError; + module.exports.UnmatchedResolverError = UnmatchedResolverError; + + /** + * This class parses a JSON schema, builds a map of its JSON references and their resolved values, + * and provides methods for traversing, manipulating, and dereferencing those references. + * + * @constructor + */ + function $RefParser() { + /** + * The parsed (and possibly dereferenced) JSON schema object + * + * @type {object} + * @readonly + */ + this.schema = null; + + /** + * The resolved JSON references + * + * @type {$Refs} + * @readonly + */ + this.$refs = new $Refs(); + } -const Options = require("./options"); + /** + * Parses the given JSON schema. + * This method does not resolve any JSON references. + * It just reads a single file in JSON or YAML format, and parse it as a JavaScript object. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. + * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed + * @param {function} [callback] - An error-first callback. The second parameter is the parsed JSON schema object. + * @returns {Promise} - The returned promise resolves with the parsed JSON schema object. + */ + $RefParser.parse = function parse(path, schema, options, callback) { + let Class = this; // eslint-disable-line consistent-this + let instance = new Class(); + return instance.parse.apply(instance, arguments); + }; -module.exports = normalizeArgs; + /** + * Parses the given JSON schema. + * This method does not resolve any JSON references. + * It just reads a single file in JSON or YAML format, and parse it as a JavaScript object. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. + * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed + * @param {function} [callback] - An error-first callback. The second parameter is the parsed JSON schema object. + * @returns {Promise} - The returned promise resolves with the parsed JSON schema object. + */ + $RefParser.prototype.parse = async function parse(path, schema, options, callback) { + let args = normalizeArgs(arguments); + let promise; + + if (!args.path && !args.schema) { + let err = ono(`Expected a file path, URL, or object. Got ${args.path || args.schema}`); + return maybe(args.callback, Promise.reject(err)); + } -/** - * Normalizes the given arguments, accounting for optional args. - * - * @param {Arguments} args - * @returns {object} - */ -function normalizeArgs (args) { - let path, schema, options, callback; - args = Array.prototype.slice.call(args); + // Reset everything + this.schema = null; + this.$refs = new $Refs(); + + // If the path is a filesystem path, then convert it to a URL. + // NOTE: According to the JSON Reference spec, these should already be URLs, + // but, in practice, many people use local filesystem paths instead. + // So we're being generous here and doing the conversion automatically. + // This is not intended to be a 100% bulletproof solution. + // If it doesn't work for your use-case, then use a URL instead. + let pathType = "http"; + if (url.isFileSystemPath(args.path)) { + args.path = url.fromFileSystemPath(args.path); + pathType = "file"; + } - if (typeof args[args.length - 1] === "function") { - // The last parameter is a callback function - callback = args.pop(); - } + // Resolve the absolute path of the schema + args.path = url.resolve(url.cwd(), args.path); + + if (args.schema && typeof args.schema === "object") { + // A schema object was passed-in. + // So immediately add a new $Ref with the schema object as its value + let $ref = this.$refs._add(args.path); + $ref.value = args.schema; + $ref.pathType = pathType; + promise = Promise.resolve(args.schema); + } else { + // Parse the schema file/url + promise = _parse(args.path, this.$refs, args.options); + } - if (typeof args[0] === "string") { - // The first parameter is the path - path = args[0]; - if (typeof args[2] === "object") { - // The second parameter is the schema, and the third parameter is the options - schema = args[1]; - options = args[2]; - } - else { - // The second parameter is the options - schema = undefined; - options = args[1]; - } - } - else { - // The first parameter is the schema - path = ""; - schema = args[0]; - options = args[1]; - } + let me = this; + try { + let result = await promise; - if (!(options instanceof Options)) { - options = new Options(options); - } + if (result !== null && typeof result === "object" && !Buffer.isBuffer(result)) { + me.schema = result; + return maybe(args.callback, Promise.resolve(me.schema)); + } else if (args.options.continueOnError) { + me.schema = null; // it's already set to null at line 79, but let's set it again for the sake of readability + return maybe(args.callback, Promise.resolve(me.schema)); + } else { + throw ono.syntax(`"${me.$refs._root$Ref.path || result}" is not a valid JSON Schema`); + } + } catch (err) { + if (!args.options.continueOnError || !isHandledError(err)) { + return maybe(args.callback, Promise.reject(err)); + } - return { - path, - schema, - options, - callback - }; -} - -},{"./options":10}],10:[function(require,module,exports){ -/* eslint lines-around-comment: [2, {beforeBlockComment: false}] */ -"use strict"; - -const jsonParser = require("./parsers/json"); -const yamlParser = require("./parsers/yaml"); -const textParser = require("./parsers/text"); -const binaryParser = require("./parsers/binary"); -const fileResolver = require("./resolvers/file"); -const httpResolver = require("./resolvers/http"); - -module.exports = $RefParserOptions; - -/** - * Options that determine how JSON schemas are parsed, resolved, and dereferenced. - * - * @param {object|$RefParserOptions} [options] - Overridden options - * @constructor - */ -function $RefParserOptions (options) { - merge(this, $RefParserOptions.defaults); - merge(this, options); -} - -$RefParserOptions.defaults = { - /** - * Determines how different types of files will be parsed. - * - * You can add additional parsers of your own, replace an existing one with - * your own implementation, or disable any parser by setting it to false. - */ - parse: { - json: jsonParser, - yaml: yamlParser, - text: textParser, - binary: binaryParser, - }, + if (this.$refs._$refs[url.stripHash(args.path)]) { + this.$refs._$refs[url.stripHash(args.path)].addError(err); + } - /** - * Determines how JSON References will be resolved. - * - * You can add additional resolvers of your own, replace an existing one with - * your own implementation, or disable any resolver by setting it to false. - */ - resolve: { - file: fileResolver, - http: httpResolver, - - /** - * Determines whether external $ref pointers will be resolved. - * If this option is disabled, then none of above resolvers will be called. - * Instead, external $ref pointers will simply be ignored. - * - * @type {boolean} - */ - external: true, - }, + return maybe(args.callback, Promise.resolve(null)); + } + }; - /** - * By default, JSON Schema $Ref Parser throws the first error it encounters. Setting `continueOnError` to `true` - * causes it to keep processing as much as possible and then throw a single error that contains all errors - * that were encountered. - */ - continueOnError: false, - - /** - * Determines the types of JSON references that are allowed. - */ - dereference: { - /** - * Dereference circular (recursive) JSON references? - * If false, then a {@link ReferenceError} will be thrown if a circular reference is found. - * If "ignore", then circular references will not be dereferenced. - * - * @type {boolean|string} - */ - circular: true - }, -}; - -/** - * Merges the properties of the source object into the target object. - * - * @param {object} target - The object that we're populating - * @param {?object} source - The options that are being merged - * @returns {object} - */ -function merge (target, source) { - if (isMergeable(source)) { - let keys = Object.keys(source); - for (let i = 0; i < keys.length; i++) { - let key = keys[i]; - let sourceSetting = source[key]; - let targetSetting = target[key]; - - if (isMergeable(sourceSetting)) { - // It's a nested object, so merge it recursively - target[key] = merge(targetSetting || {}, sourceSetting); - } - else if (sourceSetting !== undefined) { - // It's a scalar value, function, or array. No merging necessary. Just overwrite the target value. - target[key] = sourceSetting; - } - } - } - return target; -} - -/** - * Determines whether the given value can be merged, - * or if it is a scalar value that should just override the target value. - * - * @param {*} val - * @returns {Boolean} - */ -function isMergeable (val) { - return val && - (typeof val === "object") && - !Array.isArray(val) && - !(val instanceof RegExp) && - !(val instanceof Date); -} - -},{"./parsers/binary":12,"./parsers/json":13,"./parsers/text":14,"./parsers/yaml":15,"./resolvers/file":20,"./resolvers/http":21}],11:[function(require,module,exports){ -(function (Buffer){(function (){ -"use strict"; - -const { ono } = require("@jsdevtools/ono"); -const url = require("./util/url"); -const plugins = require("./util/plugins"); -const { ResolverError, ParserError, UnmatchedParserError, UnmatchedResolverError, isHandledError } = require("./util/errors"); - -module.exports = parse; - -/** - * Reads and parses the specified file path or URL. - * - * @param {string} path - This path MUST already be resolved, since `read` doesn't know the resolution context - * @param {$Refs} $refs - * @param {$RefParserOptions} options - * - * @returns {Promise} - * The promise resolves with the parsed file contents, NOT the raw (Buffer) contents. - */ -async function parse (path, $refs, options) { - // Remove the URL fragment, if any - path = url.stripHash(path); - - // Add a new $Ref for this file, even though we don't have the value yet. - // This ensures that we don't simultaneously read & parse the same file multiple times - let $ref = $refs._add(path); - - // This "file object" will be passed to all resolvers and parsers. - let file = { - url: path, - extension: url.getExtension(path), - }; - - // Read the file and then parse the data - try { - const resolver = await readFile(file, options, $refs); - $ref.pathType = resolver.plugin.name; - file.data = resolver.result; - - const parser = await parseFile(file, options, $refs); - $ref.value = parser.result; - - return parser.result; - } - catch (err) { - if (isHandledError(err)) { - $ref.value = err; - } + /** + * Parses the given JSON schema and resolves any JSON references, including references in + * externally-referenced files. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. + * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed and resolved + * @param {function} [callback] + * - An error-first callback. The second parameter is a {@link $Refs} object containing the resolved JSON references + * + * @returns {Promise} + * The returned promise resolves with a {@link $Refs} object containing the resolved JSON references + */ + $RefParser.resolve = function resolve(path, schema, options, callback) { + let Class = this; // eslint-disable-line consistent-this + let instance = new Class(); + return instance.resolve.apply(instance, arguments); + }; - throw err; - } -} - -/** - * Reads the given file, using the configured resolver plugins - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @param {$RefParserOptions} options - * - * @returns {Promise} - * The promise resolves with the raw file contents and the resolver that was used. - */ -function readFile (file, options, $refs) { - return new Promise(((resolve, reject) => { - // console.log('Reading %s', file.url); - - // Find the resolvers that can read this file - let resolvers = plugins.all(options.resolve); - resolvers = plugins.filter(resolvers, "canRead", file); - - // Run the resolvers, in order, until one of them succeeds - plugins.sort(resolvers); - plugins.run(resolvers, "read", file, $refs) - .then(resolve, onError); - - function onError (err) { - if (!err && options.continueOnError) { - // No resolver could be matched - reject(new UnmatchedResolverError(file.url)); - } - else if (!err || !("error" in err)) { - // Throw a generic, friendly error. - reject(ono.syntax(`Unable to resolve $ref pointer "${file.url}"`)); - } - // Throw the original error, if it's one of our own (user-friendly) errors. - else if (err.error instanceof ResolverError) { - reject(err.error); - } - else { - reject(new ResolverError(err, file.url)); - } - } - })); -} - -/** - * Parses the given file's contents, using the configured parser plugins. - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver - * @param {$RefParserOptions} options - * - * @returns {Promise} - * The promise resolves with the parsed file contents and the parser that was used. - */ -function parseFile (file, options, $refs) { - return new Promise(((resolve, reject) => { - // console.log('Parsing %s', file.url); - - // Find the parsers that can read this file type. - // If none of the parsers are an exact match for this file, then we'll try ALL of them. - // This handles situations where the file IS a supported type, just with an unknown extension. - let allParsers = plugins.all(options.parse); - let filteredParsers = plugins.filter(allParsers, "canParse", file); - let parsers = filteredParsers.length > 0 ? filteredParsers : allParsers; - - // Run the parsers, in order, until one of them succeeds - plugins.sort(parsers); - plugins.run(parsers, "parse", file, $refs) - .then(onParsed, onError); - - function onParsed (parser) { - if (!parser.plugin.allowEmpty && isEmpty(parser.result)) { - reject(ono.syntax(`Error parsing "${file.url}" as ${parser.plugin.name}. \nParsed value is empty`)); - } - else { - resolve(parser); - } - } + /** + * Parses the given JSON schema and resolves any JSON references, including references in + * externally-referenced files. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. + * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed and resolved + * @param {function} [callback] + * - An error-first callback. The second parameter is a {@link $Refs} object containing the resolved JSON references + * + * @returns {Promise} + * The returned promise resolves with a {@link $Refs} object containing the resolved JSON references + */ + $RefParser.prototype.resolve = async function resolve(path, schema, options, callback) { + let me = this; + let args = normalizeArgs(arguments); + + try { + await this.parse(args.path, args.schema, args.options); + await resolveExternal(me, args.options); + finalize(me); + return maybe(args.callback, Promise.resolve(me.$refs)); + } catch (err) { + return maybe(args.callback, Promise.reject(err)); + } + }; - function onError (err) { - if (!err && options.continueOnError) { - // No resolver could be matched - reject(new UnmatchedParserError(file.url)); - } - else if (!err || !("error" in err)) { - reject(ono.syntax(`Unable to parse ${file.url}`)); - } - else if (err.error instanceof ParserError) { - reject(err.error); - } - else { - reject(new ParserError(err.error.message, file.url)); - } - } - })); -} - -/** - * Determines whether the parsed value is "empty". - * - * @param {*} value - * @returns {boolean} - */ -function isEmpty (value) { - return value === undefined || - (typeof value === "object" && Object.keys(value).length === 0) || - (typeof value === "string" && value.trim().length === 0) || - (Buffer.isBuffer(value) && value.length === 0); -} - -}).call(this)}).call(this,{"isBuffer":require("../../../is-buffer/index.js")}) - -},{"../../../is-buffer/index.js":140,"./util/errors":22,"./util/plugins":23,"./util/url":24,"@jsdevtools/ono":33}],12:[function(require,module,exports){ -(function (Buffer){(function (){ -"use strict"; - -let BINARY_REGEXP = /\.(jpeg|jpg|gif|png|bmp|ico)$/i; - -module.exports = { - /** - * The order that this parser will run, in relation to other parsers. - * - * @type {number} - */ - order: 400, - - /** - * Whether to allow "empty" files (zero bytes). - * - * @type {boolean} - */ - allowEmpty: true, - - /** - * Determines whether this parser can parse a given file reference. - * Parsers that return true will be tried, in order, until one successfully parses the file. - * Parsers that return false will be skipped, UNLESS all parsers returned false, in which case - * every parser will be tried. - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver - * @returns {boolean} - */ - canParse (file) { - // Use this parser if the file is a Buffer, and has a known binary extension - return Buffer.isBuffer(file.data) && BINARY_REGEXP.test(file.url); - }, + /** + * Parses the given JSON schema, resolves any JSON references, and bundles all external references + * into the main JSON schema. This produces a JSON schema that only has *internal* references, + * not any *external* references. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. + * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed, resolved, and dereferenced + * @param {function} [callback] - An error-first callback. The second parameter is the bundled JSON schema object + * @returns {Promise} - The returned promise resolves with the bundled JSON schema object. + */ + $RefParser.bundle = function bundle(path, schema, options, callback) { + let Class = this; // eslint-disable-line consistent-this + let instance = new Class(); + return instance.bundle.apply(instance, arguments); + }; - /** - * Parses the given data as a Buffer (byte array). - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver - * @returns {Buffer} - */ - parse (file) { - if (Buffer.isBuffer(file.data)) { - return file.data; - } - else { - // This will reject if data is anything other than a string or typed array - return Buffer.from(file.data); - } - } -}; - -}).call(this)}).call(this,require("buffer").Buffer) - -},{"buffer":132}],13:[function(require,module,exports){ -(function (Buffer){(function (){ -"use strict"; - -const { ParserError } = require("../util/errors"); - -module.exports = { - /** - * The order that this parser will run, in relation to other parsers. - * - * @type {number} - */ - order: 100, - - /** - * Whether to allow "empty" files. This includes zero-byte files, as well as empty JSON objects. - * - * @type {boolean} - */ - allowEmpty: true, - - /** - * Determines whether this parser can parse a given file reference. - * Parsers that match will be tried, in order, until one successfully parses the file. - * Parsers that don't match will be skipped, UNLESS none of the parsers match, in which case - * every parser will be tried. - * - * @type {RegExp|string|string[]|function} - */ - canParse: ".json", - - /** - * Parses the given file as JSON - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver - * @returns {Promise} - */ - async parse (file) { // eslint-disable-line require-await - let data = file.data; - if (Buffer.isBuffer(data)) { - data = data.toString(); - } + /** + * Parses the given JSON schema, resolves any JSON references, and bundles all external references + * into the main JSON schema. This produces a JSON schema that only has *internal* references, + * not any *external* references. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. + * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed, resolved, and dereferenced + * @param {function} [callback] - An error-first callback. The second parameter is the bundled JSON schema object + * @returns {Promise} - The returned promise resolves with the bundled JSON schema object. + */ + $RefParser.prototype.bundle = async function bundle(path, schema, options, callback) { + let me = this; + let args = normalizeArgs(arguments); + + try { + await this.resolve(args.path, args.schema, args.options); + _bundle(me, args.options); + finalize(me); + return maybe(args.callback, Promise.resolve(me.schema)); + } catch (err) { + return maybe(args.callback, Promise.reject(err)); + } + }; - if (typeof data === "string") { - if (data.trim().length === 0) { - return; // This mirrors the YAML behavior - } - else { - try { - return JSON.parse(data); - } - catch (e) { - throw new ParserError(e.message, file.url); - } - } - } - else { - // data is already a JavaScript value (object, array, number, null, NaN, etc.) - return data; - } - } -}; - -}).call(this)}).call(this,{"isBuffer":require("../../../../is-buffer/index.js")}) - -},{"../../../../is-buffer/index.js":140,"../util/errors":22}],14:[function(require,module,exports){ -(function (Buffer){(function (){ -"use strict"; - -const { ParserError } = require("../util/errors"); - -let TEXT_REGEXP = /\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i; - -module.exports = { - /** - * The order that this parser will run, in relation to other parsers. - * - * @type {number} - */ - order: 300, - - /** - * Whether to allow "empty" files (zero bytes). - * - * @type {boolean} - */ - allowEmpty: true, - - /** - * The encoding that the text is expected to be in. - * - * @type {string} - */ - encoding: "utf8", - - /** - * Determines whether this parser can parse a given file reference. - * Parsers that return true will be tried, in order, until one successfully parses the file. - * Parsers that return false will be skipped, UNLESS all parsers returned false, in which case - * every parser will be tried. - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver - * @returns {boolean} - */ - canParse (file) { - // Use this parser if the file is a string or Buffer, and has a known text-based extension - return (typeof file.data === "string" || Buffer.isBuffer(file.data)) && TEXT_REGEXP.test(file.url); - }, + /** + * Parses the given JSON schema, resolves any JSON references, and dereferences the JSON schema. + * That is, all JSON references are replaced with their resolved values. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. + * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed, resolved, and dereferenced + * @param {function} [callback] - An error-first callback. The second parameter is the dereferenced JSON schema object + * @returns {Promise} - The returned promise resolves with the dereferenced JSON schema object. + */ + $RefParser.dereference = function dereference(path, schema, options, callback) { + let Class = this; // eslint-disable-line consistent-this + let instance = new Class(); + return instance.dereference.apply(instance, arguments); + }; - /** - * Parses the given file as text - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver - * @returns {string} - */ - parse (file) { - if (typeof file.data === "string") { - return file.data; - } - else if (Buffer.isBuffer(file.data)) { - return file.data.toString(this.encoding); - } - else { - throw new ParserError("data is not text", file.url); - } - } -}; - -}).call(this)}).call(this,{"isBuffer":require("../../../../is-buffer/index.js")}) - -},{"../../../../is-buffer/index.js":140,"../util/errors":22}],15:[function(require,module,exports){ -(function (Buffer){(function (){ -"use strict"; - -const { ParserError } = require("../util/errors"); -const yaml = require("js-yaml"); - -module.exports = { - /** - * The order that this parser will run, in relation to other parsers. - * - * @type {number} - */ - order: 200, - - /** - * Whether to allow "empty" files. This includes zero-byte files, as well as empty JSON objects. - * - * @type {boolean} - */ - allowEmpty: true, - - /** - * Determines whether this parser can parse a given file reference. - * Parsers that match will be tried, in order, until one successfully parses the file. - * Parsers that don't match will be skipped, UNLESS none of the parsers match, in which case - * every parser will be tried. - * - * @type {RegExp|string[]|function} - */ - canParse: [".yaml", ".yml", ".json"], // JSON is valid YAML - - /** - * Parses the given file as YAML - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver - * @returns {Promise} - */ - async parse (file) { // eslint-disable-line require-await - let data = file.data; - if (Buffer.isBuffer(data)) { - data = data.toString(); - } + /** + * Parses the given JSON schema, resolves any JSON references, and dereferences the JSON schema. + * That is, all JSON references are replaced with their resolved values. + * + * @param {string} [path] - The file path or URL of the JSON schema + * @param {object} [schema] - A JSON schema object. This object will be used instead of reading from `path`. + * @param {$RefParserOptions} [options] - Options that determine how the schema is parsed, resolved, and dereferenced + * @param {function} [callback] - An error-first callback. The second parameter is the dereferenced JSON schema object + * @returns {Promise} - The returned promise resolves with the dereferenced JSON schema object. + */ + $RefParser.prototype.dereference = async function dereference(path, schema, options, callback) { + let me = this; + let args = normalizeArgs(arguments); + + try { + await this.resolve(args.path, args.schema, args.options); + _dereference(me, args.options); + finalize(me); + return maybe(args.callback, Promise.resolve(me.schema)); + } catch (err) { + return maybe(args.callback, Promise.reject(err)); + } + }; - if (typeof data === "string") { - try { - return yaml.safeLoad(data); - } - catch (e) { - throw new ParserError(e.message, file.url); - } - } - else { - // data is already a JavaScript value (object, array, number, null, NaN, etc.) - return data; - } - } -}; - -}).call(this)}).call(this,{"isBuffer":require("../../../../is-buffer/index.js")}) - -},{"../../../../is-buffer/index.js":140,"../util/errors":22,"js-yaml":141}],16:[function(require,module,exports){ -"use strict"; - -module.exports = Pointer; - -const $Ref = require("./ref"); -const url = require("./util/url"); -const { JSONParserError, InvalidPointerError, MissingPointerError, isHandledError } = require("./util/errors"); -const slashes = /\//g; -const tildes = /~/g; -const escapedSlash = /~1/g; -const escapedTilde = /~0/g; - -/** - * This class represents a single JSON pointer and its resolved value. - * - * @param {$Ref} $ref - * @param {string} path - * @param {string} [friendlyPath] - The original user-specified path (used for error messages) - * @constructor - */ -function Pointer ($ref, path, friendlyPath) { - /** - * The {@link $Ref} object that contains this {@link Pointer} object. - * @type {$Ref} - */ - this.$ref = $ref; - - /** - * The file path or URL, containing the JSON pointer in the hash. - * This path is relative to the path of the main JSON schema file. - * @type {string} - */ - this.path = path; - - /** - * The original path or URL, used for error messages. - * @type {string} - */ - this.originalPath = friendlyPath || path; - - /** - * The value of the JSON pointer. - * Can be any JSON type, not just objects. Unknown file types are represented as Buffers (byte arrays). - * @type {?*} - */ - this.value = undefined; - - /** - * Indicates whether the pointer references itself. - * @type {boolean} - */ - this.circular = false; - - /** - * The number of indirect references that were traversed to resolve the value. - * Resolving a single pointer may require resolving multiple $Refs. - * @type {number} - */ - this.indirections = 0; -} - -/** - * Resolves the value of a nested property within the given object. - * - * @param {*} obj - The object that will be crawled - * @param {$RefParserOptions} options - * @param {string} pathFromRoot - the path of place that initiated resolving - * - * @returns {Pointer} - * Returns a JSON pointer whose {@link Pointer#value} is the resolved value. - * If resolving this value required resolving other JSON references, then - * the {@link Pointer#$ref} and {@link Pointer#path} will reflect the resolution path - * of the resolved value. - */ -Pointer.prototype.resolve = function (obj, options, pathFromRoot) { - let tokens = Pointer.parse(this.path, this.originalPath); - - // Crawl the object, one token at a time - this.value = unwrapOrThrow(obj); - - for (let i = 0; i < tokens.length; i++) { - if (resolveIf$Ref(this, options)) { - // The $ref path has changed, so append the remaining tokens to the path - this.path = Pointer.join(this.path, tokens.slice(i)); - } + function finalize(parser) { + const errors = JSONParserErrorGroup.getParserErrors(parser); + if (errors.length > 0) { + throw new JSONParserErrorGroup(parser); + } + } + }).call(this); + }).call(this, { isBuffer: require("../../../is-buffer/index.js") }); + }, + { + "../../../is-buffer/index.js": 140, + "./bundle": 6, + "./dereference": 7, + "./normalize-args": 9, + "./parse": 11, + "./refs": 18, + "./resolve-external": 19, + "./util/errors": 22, + "./util/url": 24, + "@jsdevtools/ono": 33, + "call-me-maybe": 134, + }, + ], + 9: [ + function (require, module, exports) { + "use strict"; + + const Options = require("./options"); + + module.exports = normalizeArgs; + + /** + * Normalizes the given arguments, accounting for optional args. + * + * @param {Arguments} args + * @returns {object} + */ + function normalizeArgs(args) { + let path, schema, options, callback; + args = Array.prototype.slice.call(args); + + if (typeof args[args.length - 1] === "function") { + // The last parameter is a callback function + callback = args.pop(); + } - if (typeof this.value === "object" && this.value !== null && "$ref" in this.value) { - return this; - } + if (typeof args[0] === "string") { + // The first parameter is the path + path = args[0]; + if (typeof args[2] === "object") { + // The second parameter is the schema, and the third parameter is the options + schema = args[1]; + options = args[2]; + } else { + // The second parameter is the options + schema = undefined; + options = args[1]; + } + } else { + // The first parameter is the schema + path = ""; + schema = args[0]; + options = args[1]; + } - let token = tokens[i]; - if (this.value[token] === undefined || this.value[token] === null) { - this.value = null; - throw new MissingPointerError(token, this.originalPath); - } - else { - this.value = this.value[token]; - } - } + if (!(options instanceof Options)) { + options = new Options(options); + } - // Resolve the final value - if (!this.value || this.value.$ref && url.resolve(this.path, this.value.$ref) !== pathFromRoot) { - resolveIf$Ref(this, options); - } + return { + path, + schema, + options, + callback, + }; + } + }, + { "./options": 10 }, + ], + 10: [ + function (require, module, exports) { + /* eslint lines-around-comment: [2, {beforeBlockComment: false}] */ + "use strict"; + + const jsonParser = require("./parsers/json"); + const yamlParser = require("./parsers/yaml"); + const textParser = require("./parsers/text"); + const binaryParser = require("./parsers/binary"); + const fileResolver = require("./resolvers/file"); + const httpResolver = require("./resolvers/http"); + + module.exports = $RefParserOptions; + + /** + * Options that determine how JSON schemas are parsed, resolved, and dereferenced. + * + * @param {object|$RefParserOptions} [options] - Overridden options + * @constructor + */ + function $RefParserOptions(options) { + merge(this, $RefParserOptions.defaults); + merge(this, options); + } + + $RefParserOptions.defaults = { + /** + * Determines how different types of files will be parsed. + * + * You can add additional parsers of your own, replace an existing one with + * your own implementation, or disable any parser by setting it to false. + */ + parse: { + json: jsonParser, + yaml: yamlParser, + text: textParser, + binary: binaryParser, + }, - return this; -}; - -/** - * Sets the value of a nested property within the given object. - * - * @param {*} obj - The object that will be crawled - * @param {*} value - the value to assign - * @param {$RefParserOptions} options - * - * @returns {*} - * Returns the modified object, or an entirely new object if the entire object is overwritten. - */ -Pointer.prototype.set = function (obj, value, options) { - let tokens = Pointer.parse(this.path); - let token; - - if (tokens.length === 0) { - // There are no tokens, replace the entire object with the new value - this.value = value; - return value; - } + /** + * Determines how JSON References will be resolved. + * + * You can add additional resolvers of your own, replace an existing one with + * your own implementation, or disable any resolver by setting it to false. + */ + resolve: { + file: fileResolver, + http: httpResolver, + + /** + * Determines whether external $ref pointers will be resolved. + * If this option is disabled, then none of above resolvers will be called. + * Instead, external $ref pointers will simply be ignored. + * + * @type {boolean} + */ + external: true, + }, - // Crawl the object, one token at a time - this.value = unwrapOrThrow(obj); + /** + * By default, JSON Schema $Ref Parser throws the first error it encounters. Setting `continueOnError` to `true` + * causes it to keep processing as much as possible and then throw a single error that contains all errors + * that were encountered. + */ + continueOnError: false, + + /** + * Determines the types of JSON references that are allowed. + */ + dereference: { + /** + * Dereference circular (recursive) JSON references? + * If false, then a {@link ReferenceError} will be thrown if a circular reference is found. + * If "ignore", then circular references will not be dereferenced. + * + * @type {boolean|string} + */ + circular: true, + }, + }; - for (let i = 0; i < tokens.length - 1; i++) { - resolveIf$Ref(this, options); + /** + * Merges the properties of the source object into the target object. + * + * @param {object} target - The object that we're populating + * @param {?object} source - The options that are being merged + * @returns {object} + */ + function merge(target, source) { + if (isMergeable(source)) { + let keys = Object.keys(source); + for (let i = 0; i < keys.length; i++) { + let key = keys[i]; + let sourceSetting = source[key]; + let targetSetting = target[key]; + + if (isMergeable(sourceSetting)) { + // It's a nested object, so merge it recursively + target[key] = merge(targetSetting || {}, sourceSetting); + } else if (sourceSetting !== undefined) { + // It's a scalar value, function, or array. No merging necessary. Just overwrite the target value. + target[key] = sourceSetting; + } + } + } + return target; + } - token = tokens[i]; - if (this.value && this.value[token] !== undefined) { - // The token exists - this.value = this.value[token]; - } - else { - // The token doesn't exist, so create it - this.value = setValue(this, token, {}); - } - } + /** + * Determines whether the given value can be merged, + * or if it is a scalar value that should just override the target value. + * + * @param {*} val + * @returns {Boolean} + */ + function isMergeable(val) { + return ( + val && typeof val === "object" && !Array.isArray(val) && !(val instanceof RegExp) && !(val instanceof Date) + ); + } + }, + { + "./parsers/binary": 12, + "./parsers/json": 13, + "./parsers/text": 14, + "./parsers/yaml": 15, + "./resolvers/file": 20, + "./resolvers/http": 21, + }, + ], + 11: [ + function (require, module, exports) { + (function (Buffer) { + (function () { + "use strict"; + + const { ono } = require("@jsdevtools/ono"); + const url = require("./util/url"); + const plugins = require("./util/plugins"); + const { + ResolverError, + ParserError, + UnmatchedParserError, + UnmatchedResolverError, + isHandledError, + } = require("./util/errors"); + + module.exports = parse; + + /** + * Reads and parses the specified file path or URL. + * + * @param {string} path - This path MUST already be resolved, since `read` doesn't know the resolution context + * @param {$Refs} $refs + * @param {$RefParserOptions} options + * + * @returns {Promise} + * The promise resolves with the parsed file contents, NOT the raw (Buffer) contents. + */ + async function parse(path, $refs, options) { + // Remove the URL fragment, if any + path = url.stripHash(path); + + // Add a new $Ref for this file, even though we don't have the value yet. + // This ensures that we don't simultaneously read & parse the same file multiple times + let $ref = $refs._add(path); + + // This "file object" will be passed to all resolvers and parsers. + let file = { + url: path, + extension: url.getExtension(path), + }; + + // Read the file and then parse the data + try { + const resolver = await readFile(file, options, $refs); + $ref.pathType = resolver.plugin.name; + file.data = resolver.result; + + const parser = await parseFile(file, options, $refs); + $ref.value = parser.result; + + return parser.result; + } catch (err) { + if (isHandledError(err)) { + $ref.value = err; + } - // Set the value of the final token - resolveIf$Ref(this, options); - token = tokens[tokens.length - 1]; - setValue(this, token, value); - - // Return the updated object - return obj; -}; - -/** - * Parses a JSON pointer (or a path containing a JSON pointer in the hash) - * and returns an array of the pointer's tokens. - * (e.g. "schema.json#/definitions/person/name" => ["definitions", "person", "name"]) - * - * The pointer is parsed according to RFC 6901 - * {@link https://tools.ietf.org/html/rfc6901#section-3} - * - * @param {string} path - * @param {string} [originalPath] - * @returns {string[]} - */ -Pointer.parse = function (path, originalPath) { - // Get the JSON pointer from the path's hash - let pointer = url.getHash(path).substr(1); - - // If there's no pointer, then there are no tokens, - // so return an empty array - if (!pointer) { - return []; - } + throw err; + } + } - // Split into an array - pointer = pointer.split("/"); + /** + * Reads the given file, using the configured resolver plugins + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @param {$RefParserOptions} options + * + * @returns {Promise} + * The promise resolves with the raw file contents and the resolver that was used. + */ + function readFile(file, options, $refs) { + return new Promise((resolve, reject) => { + // console.log('Reading %s', file.url); + + // Find the resolvers that can read this file + let resolvers = plugins.all(options.resolve); + resolvers = plugins.filter(resolvers, "canRead", file); + + // Run the resolvers, in order, until one of them succeeds + plugins.sort(resolvers); + plugins.run(resolvers, "read", file, $refs).then(resolve, onError); + + function onError(err) { + if (!err && options.continueOnError) { + // No resolver could be matched + reject(new UnmatchedResolverError(file.url)); + } else if (!err || !("error" in err)) { + // Throw a generic, friendly error. + reject(ono.syntax(`Unable to resolve $ref pointer "${file.url}"`)); + } + // Throw the original error, if it's one of our own (user-friendly) errors. + else if (err.error instanceof ResolverError) { + reject(err.error); + } else { + reject(new ResolverError(err, file.url)); + } + } + }); + } - // Decode each part, according to RFC 6901 - for (let i = 0; i < pointer.length; i++) { - pointer[i] = decodeURIComponent(pointer[i].replace(escapedSlash, "/").replace(escapedTilde, "~")); - } + /** + * Parses the given file's contents, using the configured parser plugins. + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver + * @param {$RefParserOptions} options + * + * @returns {Promise} + * The promise resolves with the parsed file contents and the parser that was used. + */ + function parseFile(file, options, $refs) { + return new Promise((resolve, reject) => { + // console.log('Parsing %s', file.url); + + // Find the parsers that can read this file type. + // If none of the parsers are an exact match for this file, then we'll try ALL of them. + // This handles situations where the file IS a supported type, just with an unknown extension. + let allParsers = plugins.all(options.parse); + let filteredParsers = plugins.filter(allParsers, "canParse", file); + let parsers = filteredParsers.length > 0 ? filteredParsers : allParsers; + + // Run the parsers, in order, until one of them succeeds + plugins.sort(parsers); + plugins.run(parsers, "parse", file, $refs).then(onParsed, onError); + + function onParsed(parser) { + if (!parser.plugin.allowEmpty && isEmpty(parser.result)) { + reject(ono.syntax(`Error parsing "${file.url}" as ${parser.plugin.name}. \nParsed value is empty`)); + } else { + resolve(parser); + } + } - if (pointer[0] !== "") { - throw new InvalidPointerError(pointer, originalPath === undefined ? path : originalPath); - } + function onError(err) { + if (!err && options.continueOnError) { + // No resolver could be matched + reject(new UnmatchedParserError(file.url)); + } else if (!err || !("error" in err)) { + reject(ono.syntax(`Unable to parse ${file.url}`)); + } else if (err.error instanceof ParserError) { + reject(err.error); + } else { + reject(new ParserError(err.error.message, file.url)); + } + } + }); + } - return pointer.slice(1); -}; - -/** - * Creates a JSON pointer path, by joining one or more tokens to a base path. - * - * @param {string} base - The base path (e.g. "schema.json#/definitions/person") - * @param {string|string[]} tokens - The token(s) to append (e.g. ["name", "first"]) - * @returns {string} - */ -Pointer.join = function (base, tokens) { - // Ensure that the base path contains a hash - if (base.indexOf("#") === -1) { - base += "#"; - } + /** + * Determines whether the parsed value is "empty". + * + * @param {*} value + * @returns {boolean} + */ + function isEmpty(value) { + return ( + value === undefined || + (typeof value === "object" && Object.keys(value).length === 0) || + (typeof value === "string" && value.trim().length === 0) || + (Buffer.isBuffer(value) && value.length === 0) + ); + } + }).call(this); + }).call(this, { isBuffer: require("../../../is-buffer/index.js") }); + }, + { + "../../../is-buffer/index.js": 140, + "./util/errors": 22, + "./util/plugins": 23, + "./util/url": 24, + "@jsdevtools/ono": 33, + }, + ], + 12: [ + function (require, module, exports) { + (function (Buffer) { + (function () { + "use strict"; + + let BINARY_REGEXP = /\.(jpeg|jpg|gif|png|bmp|ico)$/i; + + module.exports = { + /** + * The order that this parser will run, in relation to other parsers. + * + * @type {number} + */ + order: 400, + + /** + * Whether to allow "empty" files (zero bytes). + * + * @type {boolean} + */ + allowEmpty: true, + + /** + * Determines whether this parser can parse a given file reference. + * Parsers that return true will be tried, in order, until one successfully parses the file. + * Parsers that return false will be skipped, UNLESS all parsers returned false, in which case + * every parser will be tried. + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver + * @returns {boolean} + */ + canParse(file) { + // Use this parser if the file is a Buffer, and has a known binary extension + return Buffer.isBuffer(file.data) && BINARY_REGEXP.test(file.url); + }, - // Append each token to the base path - tokens = Array.isArray(tokens) ? tokens : [tokens]; - for (let i = 0; i < tokens.length; i++) { - let token = tokens[i]; - // Encode the token, according to RFC 6901 - base += "/" + encodeURIComponent(token.replace(tildes, "~0").replace(slashes, "~1")); - } + /** + * Parses the given data as a Buffer (byte array). + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver + * @returns {Buffer} + */ + parse(file) { + if (Buffer.isBuffer(file.data)) { + return file.data; + } else { + // This will reject if data is anything other than a string or typed array + return Buffer.from(file.data); + } + }, + }; + }).call(this); + }).call(this, require("buffer").Buffer); + }, + { buffer: 132 }, + ], + 13: [ + function (require, module, exports) { + (function (Buffer) { + (function () { + "use strict"; + + const { ParserError } = require("../util/errors"); + + module.exports = { + /** + * The order that this parser will run, in relation to other parsers. + * + * @type {number} + */ + order: 100, + + /** + * Whether to allow "empty" files. This includes zero-byte files, as well as empty JSON objects. + * + * @type {boolean} + */ + allowEmpty: true, + + /** + * Determines whether this parser can parse a given file reference. + * Parsers that match will be tried, in order, until one successfully parses the file. + * Parsers that don't match will be skipped, UNLESS none of the parsers match, in which case + * every parser will be tried. + * + * @type {RegExp|string|string[]|function} + */ + canParse: ".json", + + /** + * Parses the given file as JSON + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver + * @returns {Promise} + */ + async parse(file) { + // eslint-disable-line require-await + let data = file.data; + if (Buffer.isBuffer(data)) { + data = data.toString(); + } - return base; -}; - -/** - * If the given pointer's {@link Pointer#value} is a JSON reference, - * then the reference is resolved and {@link Pointer#value} is replaced with the resolved value. - * In addition, {@link Pointer#path} and {@link Pointer#$ref} are updated to reflect the - * resolution path of the new value. - * - * @param {Pointer} pointer - * @param {$RefParserOptions} options - * @returns {boolean} - Returns `true` if the resolution path changed - */ -function resolveIf$Ref (pointer, options) { - // Is the value a JSON reference? (and allowed?) - - if ($Ref.isAllowed$Ref(pointer.value, options)) { - let $refPath = url.resolve(pointer.path, pointer.value.$ref); - - if ($refPath === pointer.path) { - // The value is a reference to itself, so there's nothing to do. - pointer.circular = true; - } - else { - let resolved = pointer.$ref.$refs._resolve($refPath, pointer.path, options); - pointer.indirections += resolved.indirections + 1; - - if ($Ref.isExtended$Ref(pointer.value)) { - // This JSON reference "extends" the resolved value, rather than simply pointing to it. - // So the resolved path does NOT change. Just the value does. - pointer.value = $Ref.dereference(pointer.value, resolved.value); - return false; - } - else { - // Resolve the reference - pointer.$ref = resolved.$ref; - pointer.path = resolved.path; - pointer.value = resolved.value; - } + if (typeof data === "string") { + if (data.trim().length === 0) { + return; // This mirrors the YAML behavior + } else { + try { + return JSON.parse(data); + } catch (e) { + throw new ParserError(e.message, file.url); + } + } + } else { + // data is already a JavaScript value (object, array, number, null, NaN, etc.) + return data; + } + }, + }; + }).call(this); + }).call(this, { isBuffer: require("../../../../is-buffer/index.js") }); + }, + { "../../../../is-buffer/index.js": 140, "../util/errors": 22 }, + ], + 14: [ + function (require, module, exports) { + (function (Buffer) { + (function () { + "use strict"; + + const { ParserError } = require("../util/errors"); + + let TEXT_REGEXP = /\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i; + + module.exports = { + /** + * The order that this parser will run, in relation to other parsers. + * + * @type {number} + */ + order: 300, + + /** + * Whether to allow "empty" files (zero bytes). + * + * @type {boolean} + */ + allowEmpty: true, + + /** + * The encoding that the text is expected to be in. + * + * @type {string} + */ + encoding: "utf8", + + /** + * Determines whether this parser can parse a given file reference. + * Parsers that return true will be tried, in order, until one successfully parses the file. + * Parsers that return false will be skipped, UNLESS all parsers returned false, in which case + * every parser will be tried. + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver + * @returns {boolean} + */ + canParse(file) { + // Use this parser if the file is a string or Buffer, and has a known text-based extension + return (typeof file.data === "string" || Buffer.isBuffer(file.data)) && TEXT_REGEXP.test(file.url); + }, - return true; - } - } -} - -/** - * Sets the specified token value of the {@link Pointer#value}. - * - * The token is evaluated according to RFC 6901. - * {@link https://tools.ietf.org/html/rfc6901#section-4} - * - * @param {Pointer} pointer - The JSON Pointer whose value will be modified - * @param {string} token - A JSON Pointer token that indicates how to modify `obj` - * @param {*} value - The value to assign - * @returns {*} - Returns the assigned value - */ -function setValue (pointer, token, value) { - if (pointer.value && typeof pointer.value === "object") { - if (token === "-" && Array.isArray(pointer.value)) { - pointer.value.push(value); - } - else { - pointer.value[token] = value; - } - } - else { - throw new JSONParserError(`Error assigning $ref pointer "${pointer.path}". \nCannot set "${token}" of a non-object.`); - } - return value; -} + /** + * Parses the given file as text + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver + * @returns {string} + */ + parse(file) { + if (typeof file.data === "string") { + return file.data; + } else if (Buffer.isBuffer(file.data)) { + return file.data.toString(this.encoding); + } else { + throw new ParserError("data is not text", file.url); + } + }, + }; + }).call(this); + }).call(this, { isBuffer: require("../../../../is-buffer/index.js") }); + }, + { "../../../../is-buffer/index.js": 140, "../util/errors": 22 }, + ], + 15: [ + function (require, module, exports) { + (function (Buffer) { + (function () { + "use strict"; + + const { ParserError } = require("../util/errors"); + const yaml = require("js-yaml"); + + module.exports = { + /** + * The order that this parser will run, in relation to other parsers. + * + * @type {number} + */ + order: 200, + + /** + * Whether to allow "empty" files. This includes zero-byte files, as well as empty JSON objects. + * + * @type {boolean} + */ + allowEmpty: true, + + /** + * Determines whether this parser can parse a given file reference. + * Parsers that match will be tried, in order, until one successfully parses the file. + * Parsers that don't match will be skipped, UNLESS none of the parsers match, in which case + * every parser will be tried. + * + * @type {RegExp|string[]|function} + */ + canParse: [".yaml", ".yml", ".json"], // JSON is valid YAML + + /** + * Parses the given file as YAML + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @param {*} file.data - The file contents. This will be whatever data type was returned by the resolver + * @returns {Promise} + */ + async parse(file) { + // eslint-disable-line require-await + let data = file.data; + if (Buffer.isBuffer(data)) { + data = data.toString(); + } + if (typeof data === "string") { + try { + return yaml.safeLoad(data); + } catch (e) { + throw new ParserError(e.message, file.url); + } + } else { + // data is already a JavaScript value (object, array, number, null, NaN, etc.) + return data; + } + }, + }; + }).call(this); + }).call(this, { isBuffer: require("../../../../is-buffer/index.js") }); + }, + { "../../../../is-buffer/index.js": 140, "../util/errors": 22, "js-yaml": 141 }, + ], + 16: [ + function (require, module, exports) { + "use strict"; + + module.exports = Pointer; + + const $Ref = require("./ref"); + const url = require("./util/url"); + const { JSONParserError, InvalidPointerError, MissingPointerError, isHandledError } = require("./util/errors"); + const slashes = /\//g; + const tildes = /~/g; + const escapedSlash = /~1/g; + const escapedTilde = /~0/g; + + /** + * This class represents a single JSON pointer and its resolved value. + * + * @param {$Ref} $ref + * @param {string} path + * @param {string} [friendlyPath] - The original user-specified path (used for error messages) + * @constructor + */ + function Pointer($ref, path, friendlyPath) { + /** + * The {@link $Ref} object that contains this {@link Pointer} object. + * @type {$Ref} + */ + this.$ref = $ref; + + /** + * The file path or URL, containing the JSON pointer in the hash. + * This path is relative to the path of the main JSON schema file. + * @type {string} + */ + this.path = path; + + /** + * The original path or URL, used for error messages. + * @type {string} + */ + this.originalPath = friendlyPath || path; + + /** + * The value of the JSON pointer. + * Can be any JSON type, not just objects. Unknown file types are represented as Buffers (byte arrays). + * @type {?*} + */ + this.value = undefined; + + /** + * Indicates whether the pointer references itself. + * @type {boolean} + */ + this.circular = false; + + /** + * The number of indirect references that were traversed to resolve the value. + * Resolving a single pointer may require resolving multiple $Refs. + * @type {number} + */ + this.indirections = 0; + } + + /** + * Resolves the value of a nested property within the given object. + * + * @param {*} obj - The object that will be crawled + * @param {$RefParserOptions} options + * @param {string} pathFromRoot - the path of place that initiated resolving + * + * @returns {Pointer} + * Returns a JSON pointer whose {@link Pointer#value} is the resolved value. + * If resolving this value required resolving other JSON references, then + * the {@link Pointer#$ref} and {@link Pointer#path} will reflect the resolution path + * of the resolved value. + */ + Pointer.prototype.resolve = function (obj, options, pathFromRoot) { + let tokens = Pointer.parse(this.path, this.originalPath); + + // Crawl the object, one token at a time + this.value = unwrapOrThrow(obj); + + for (let i = 0; i < tokens.length; i++) { + if (resolveIf$Ref(this, options)) { + // The $ref path has changed, so append the remaining tokens to the path + this.path = Pointer.join(this.path, tokens.slice(i)); + } -function unwrapOrThrow (value) { - if (isHandledError(value)) { - throw value; - } + if (typeof this.value === "object" && this.value !== null && "$ref" in this.value) { + return this; + } - return value; -} - -},{"./ref":17,"./util/errors":22,"./util/url":24}],17:[function(require,module,exports){ -"use strict"; - -module.exports = $Ref; - -const Pointer = require("./pointer"); -const { InvalidPointerError, isHandledError, normalizeError } = require("./util/errors"); -const { safePointerToPath, stripHash, getHash } = require("./util/url"); - -/** - * This class represents a single JSON reference and its resolved value. - * - * @constructor - */ -function $Ref () { - /** - * The file path or URL of the referenced file. - * This path is relative to the path of the main JSON schema file. - * - * This path does NOT contain document fragments (JSON pointers). It always references an ENTIRE file. - * Use methods such as {@link $Ref#get}, {@link $Ref#resolve}, and {@link $Ref#exists} to get - * specific JSON pointers within the file. - * - * @type {string} - */ - this.path = undefined; - - /** - * The resolved value of the JSON reference. - * Can be any JSON type, not just objects. Unknown file types are represented as Buffers (byte arrays). - * @type {?*} - */ - this.value = undefined; - - /** - * The {@link $Refs} object that contains this {@link $Ref} object. - * @type {$Refs} - */ - this.$refs = undefined; - - /** - * Indicates the type of {@link $Ref#path} (e.g. "file", "http", etc.) - * @type {?string} - */ - this.pathType = undefined; - - /** - * List of all errors. Undefined if no errors. - * @type {Array} - */ - this.errors = undefined; -} - -/** - * Pushes an error to errors array. - * - * @param {Array} error - The error to be pushed - * @returns {void} - */ -$Ref.prototype.addError = function (err) { - if (this.errors === undefined) { - this.errors = []; - } + let token = tokens[i]; + if (this.value[token] === undefined || this.value[token] === null) { + this.value = null; + throw new MissingPointerError(token, this.originalPath); + } else { + this.value = this.value[token]; + } + } - // the path has been almost certainly set at this point, - // but just in case something went wrong, let's inject path if necessary - if (Array.isArray(err.errors)) { - this.errors.push(...err.errors.map(normalizeError)); - } - else { - this.errors.push(normalizeError(err)); - } -}; - - -/** - * Determines whether the given JSON reference exists within this {@link $Ref#value}. - * - * @param {string} path - The full path being resolved, optionally with a JSON pointer in the hash - * @param {$RefParserOptions} options - * @returns {boolean} - */ -$Ref.prototype.exists = function (path, options) { - try { - this.resolve(path, options); - return true; - } - catch (e) { - return false; - } -}; - -/** - * Resolves the given JSON reference within this {@link $Ref#value} and returns the resolved value. - * - * @param {string} path - The full path being resolved, optionally with a JSON pointer in the hash - * @param {$RefParserOptions} options - * @returns {*} - Returns the resolved value - */ -$Ref.prototype.get = function (path, options) { - return this.resolve(path, options).value; -}; - -/** - * Resolves the given JSON reference within this {@link $Ref#value}. - * - * @param {string} path - The full path being resolved, optionally with a JSON pointer in the hash - * @param {$RefParserOptions} options - * @param {string} friendlyPath - The original user-specified path (used for error messages) -* @param {string} pathFromRoot - The path of `obj` from the schema root - * @returns {Pointer} - */ -$Ref.prototype.resolve = function (path, options, friendlyPath, pathFromRoot) { - let pointer = new Pointer(this, path, friendlyPath); - try { - return pointer.resolve(this.value, options, pathFromRoot); - } - catch (err) { - if (!options || !options.continueOnError || !isHandledError(err)) { - throw err; - } + // Resolve the final value + if (!this.value || (this.value.$ref && url.resolve(this.path, this.value.$ref) !== pathFromRoot)) { + resolveIf$Ref(this, options); + } - if (err.path === null) { - err.path = safePointerToPath(getHash(pathFromRoot)); - } + return this; + }; - if (err instanceof InvalidPointerError) { - // this is a special case - InvalidPointerError is thrown when dereferencing external file, - // but the issue is caused by the source file that referenced the file that undergoes dereferencing - err.source = stripHash(pathFromRoot); - } + /** + * Sets the value of a nested property within the given object. + * + * @param {*} obj - The object that will be crawled + * @param {*} value - the value to assign + * @param {$RefParserOptions} options + * + * @returns {*} + * Returns the modified object, or an entirely new object if the entire object is overwritten. + */ + Pointer.prototype.set = function (obj, value, options) { + let tokens = Pointer.parse(this.path); + let token; + + if (tokens.length === 0) { + // There are no tokens, replace the entire object with the new value + this.value = value; + return value; + } - this.addError(err); - return null; - } -}; - -/** - * Sets the value of a nested property within this {@link $Ref#value}. - * If the property, or any of its parents don't exist, they will be created. - * - * @param {string} path - The full path of the property to set, optionally with a JSON pointer in the hash - * @param {*} value - The value to assign - */ -$Ref.prototype.set = function (path, value) { - let pointer = new Pointer(this, path); - this.value = pointer.set(this.value, value); -}; - -/** - * Determines whether the given value is a JSON reference. - * - * @param {*} value - The value to inspect - * @returns {boolean} - */ -$Ref.is$Ref = function (value) { - return value && typeof value === "object" && typeof value.$ref === "string" && value.$ref.length > 0; -}; - -/** - * Determines whether the given value is an external JSON reference. - * - * @param {*} value - The value to inspect - * @returns {boolean} - */ -$Ref.isExternal$Ref = function (value) { - return $Ref.is$Ref(value) && value.$ref[0] !== "#"; -}; - -/** - * Determines whether the given value is a JSON reference, and whether it is allowed by the options. - * For example, if it references an external file, then options.resolve.external must be true. - * - * @param {*} value - The value to inspect - * @param {$RefParserOptions} options - * @returns {boolean} - */ -$Ref.isAllowed$Ref = function (value, options) { - if ($Ref.is$Ref(value)) { - if (value.$ref.substr(0, 2) === "#/" || value.$ref === "#") { - // It's a JSON Pointer reference, which is always allowed - return true; - } - else if (value.$ref[0] !== "#" && (!options || options.resolve.external)) { - // It's an external reference, which is allowed by the options - return true; - } - } -}; - -/** - * Determines whether the given value is a JSON reference that "extends" its resolved value. - * That is, it has extra properties (in addition to "$ref"), so rather than simply pointing to - * an existing value, this $ref actually creates a NEW value that is a shallow copy of the resolved - * value, plus the extra properties. - * - * @example: - * { - * person: { - * properties: { - * firstName: { type: string } - * lastName: { type: string } - * } - * } - * employee: { - * properties: { - * $ref: #/person/properties - * salary: { type: number } - * } - * } - * } - * - * In this example, "employee" is an extended $ref, since it extends "person" with an additional - * property (salary). The result is a NEW value that looks like this: - * - * { - * properties: { - * firstName: { type: string } - * lastName: { type: string } - * salary: { type: number } - * } - * } - * - * @param {*} value - The value to inspect - * @returns {boolean} - */ -$Ref.isExtended$Ref = function (value) { - return $Ref.is$Ref(value) && Object.keys(value).length > 1; -}; - -/** - * Returns the resolved value of a JSON Reference. - * If necessary, the resolved value is merged with the JSON Reference to create a new object - * - * @example: - * { - * person: { - * properties: { - * firstName: { type: string } - * lastName: { type: string } - * } - * } - * employee: { - * properties: { - * $ref: #/person/properties - * salary: { type: number } - * } - * } - * } - * - * When "person" and "employee" are merged, you end up with the following object: - * - * { - * properties: { - * firstName: { type: string } - * lastName: { type: string } - * salary: { type: number } - * } - * } - * - * @param {object} $ref - The JSON reference object (the one with the "$ref" property) - * @param {*} resolvedValue - The resolved value, which can be any type - * @returns {*} - Returns the dereferenced value - */ -$Ref.dereference = function ($ref, resolvedValue) { - if (resolvedValue && typeof resolvedValue === "object" && $Ref.isExtended$Ref($ref)) { - let merged = {}; - for (let key of Object.keys($ref)) { - if (key !== "$ref") { - merged[key] = $ref[key]; - } - } + // Crawl the object, one token at a time + this.value = unwrapOrThrow(obj); - for (let key of Object.keys(resolvedValue)) { - if (!(key in merged)) { - merged[key] = resolvedValue[key]; - } - } + for (let i = 0; i < tokens.length - 1; i++) { + resolveIf$Ref(this, options); - return merged; - } - else { - // Completely replace the original reference with the resolved value - return resolvedValue; - } -}; - -},{"./pointer":16,"./util/errors":22,"./util/url":24}],18:[function(require,module,exports){ -"use strict"; - -const { ono } = require("@jsdevtools/ono"); -const $Ref = require("./ref"); -const url = require("./util/url"); - -module.exports = $Refs; - -/** - * This class is a map of JSON references and their resolved values. - */ -function $Refs () { - /** - * Indicates whether the schema contains any circular references. - * - * @type {boolean} - */ - this.circular = false; - - /** - * A map of paths/urls to {@link $Ref} objects - * - * @type {object} - * @protected - */ - this._$refs = {}; - - /** - * The {@link $Ref} object that is the root of the JSON schema. - * - * @type {$Ref} - * @protected - */ - this._root$Ref = null; -} - -/** - * Returns the paths of all the files/URLs that are referenced by the JSON schema, - * including the schema itself. - * - * @param {...string|string[]} [types] - Only return paths of the given types ("file", "http", etc.) - * @returns {string[]} - */ -$Refs.prototype.paths = function (types) { // eslint-disable-line no-unused-vars - let paths = getPaths(this._$refs, arguments); - return paths.map((path) => { - return path.decoded; - }); -}; - -/** - * Returns the map of JSON references and their resolved values. - * - * @param {...string|string[]} [types] - Only return references of the given types ("file", "http", etc.) - * @returns {object} - */ -$Refs.prototype.values = function (types) { // eslint-disable-line no-unused-vars - let $refs = this._$refs; - let paths = getPaths($refs, arguments); - return paths.reduce((obj, path) => { - obj[path.decoded] = $refs[path.encoded].value; - return obj; - }, {}); -}; - -/** - * Returns a POJO (plain old JavaScript object) for serialization as JSON. - * - * @returns {object} - */ -$Refs.prototype.toJSON = $Refs.prototype.values; - -/** - * Determines whether the given JSON reference exists. - * - * @param {string} path - The path being resolved, optionally with a JSON pointer in the hash - * @param {$RefParserOptions} [options] - * @returns {boolean} - */ -$Refs.prototype.exists = function (path, options) { - try { - this._resolve(path, "", options); - return true; - } - catch (e) { - return false; - } -}; - -/** - * Resolves the given JSON reference and returns the resolved value. - * - * @param {string} path - The path being resolved, with a JSON pointer in the hash - * @param {$RefParserOptions} [options] - * @returns {*} - Returns the resolved value - */ -$Refs.prototype.get = function (path, options) { - return this._resolve(path, "", options).value; -}; - -/** - * Sets the value of a nested property within this {@link $Ref#value}. - * If the property, or any of its parents don't exist, they will be created. - * - * @param {string} path - The path of the property to set, optionally with a JSON pointer in the hash - * @param {*} value - The value to assign - */ -$Refs.prototype.set = function (path, value) { - let absPath = url.resolve(this._root$Ref.path, path); - let withoutHash = url.stripHash(absPath); - let $ref = this._$refs[withoutHash]; - - if (!$ref) { - throw ono(`Error resolving $ref pointer "${path}". \n"${withoutHash}" not found.`); - } + token = tokens[i]; + if (this.value && this.value[token] !== undefined) { + // The token exists + this.value = this.value[token]; + } else { + // The token doesn't exist, so create it + this.value = setValue(this, token, {}); + } + } - $ref.set(absPath, value); -}; - -/** - * Creates a new {@link $Ref} object and adds it to this {@link $Refs} object. - * - * @param {string} path - The file path or URL of the referenced file - */ -$Refs.prototype._add = function (path) { - let withoutHash = url.stripHash(path); - - let $ref = new $Ref(); - $ref.path = withoutHash; - $ref.$refs = this; - - this._$refs[withoutHash] = $ref; - this._root$Ref = this._root$Ref || $ref; - - return $ref; -}; - -/** - * Resolves the given JSON reference. - * - * @param {string} path - The path being resolved, optionally with a JSON pointer in the hash - * @param {string} pathFromRoot - The path of `obj` from the schema root - * @param {$RefParserOptions} [options] - * @returns {Pointer} - * @protected - */ -$Refs.prototype._resolve = function (path, pathFromRoot, options) { - let absPath = url.resolve(this._root$Ref.path, path); - let withoutHash = url.stripHash(absPath); - let $ref = this._$refs[withoutHash]; - - if (!$ref) { - throw ono(`Error resolving $ref pointer "${path}". \n"${withoutHash}" not found.`); - } + // Set the value of the final token + resolveIf$Ref(this, options); + token = tokens[tokens.length - 1]; + setValue(this, token, value); - return $ref.resolve(absPath, options, path, pathFromRoot); -}; - -/** - * Returns the specified {@link $Ref} object, or undefined. - * - * @param {string} path - The path being resolved, optionally with a JSON pointer in the hash - * @returns {$Ref|undefined} - * @protected - */ -$Refs.prototype._get$Ref = function (path) { - path = url.resolve(this._root$Ref.path, path); - let withoutHash = url.stripHash(path); - return this._$refs[withoutHash]; -}; - -/** - * Returns the encoded and decoded paths keys of the given object. - * - * @param {object} $refs - The object whose keys are URL-encoded paths - * @param {...string|string[]} [types] - Only return paths of the given types ("file", "http", etc.) - * @returns {object[]} - */ -function getPaths ($refs, types) { - let paths = Object.keys($refs); - - // Filter the paths by type - types = Array.isArray(types[0]) ? types[0] : Array.prototype.slice.call(types); - if (types.length > 0 && types[0]) { - paths = paths.filter((key) => { - return types.indexOf($refs[key].pathType) !== -1; - }); - } + // Return the updated object + return obj; + }; - // Decode local filesystem paths - return paths.map((path) => { - return { - encoded: path, - decoded: $refs[path].pathType === "file" ? url.toFileSystemPath(path, true) : path - }; - }); -} - -},{"./ref":17,"./util/url":24,"@jsdevtools/ono":33}],19:[function(require,module,exports){ -"use strict"; - -const $Ref = require("./ref"); -const Pointer = require("./pointer"); -const parse = require("./parse"); -const url = require("./util/url"); -const { isHandledError } = require("./util/errors"); - -module.exports = resolveExternal; - -/** - * Crawls the JSON schema, finds all external JSON references, and resolves their values. - * This method does not mutate the JSON schema. The resolved values are added to {@link $RefParser#$refs}. - * - * NOTE: We only care about EXTERNAL references here. INTERNAL references are only relevant when dereferencing. - * - * @param {$RefParser} parser - * @param {$RefParserOptions} options - * - * @returns {Promise} - * The promise resolves once all JSON references in the schema have been resolved, - * including nested references that are contained in externally-referenced files. - */ -function resolveExternal (parser, options) { - if (!options.resolve.external) { - // Nothing to resolve, so exit early - return Promise.resolve(); - } + /** + * Parses a JSON pointer (or a path containing a JSON pointer in the hash) + * and returns an array of the pointer's tokens. + * (e.g. "schema.json#/definitions/person/name" => ["definitions", "person", "name"]) + * + * The pointer is parsed according to RFC 6901 + * {@link https://tools.ietf.org/html/rfc6901#section-3} + * + * @param {string} path + * @param {string} [originalPath] + * @returns {string[]} + */ + Pointer.parse = function (path, originalPath) { + // Get the JSON pointer from the path's hash + let pointer = url.getHash(path).substr(1); + + // If there's no pointer, then there are no tokens, + // so return an empty array + if (!pointer) { + return []; + } - try { - // console.log('Resolving $ref pointers in %s', parser.$refs._root$Ref.path); - let promises = crawl(parser.schema, parser.$refs._root$Ref.path + "#", parser.$refs, options); - return Promise.all(promises); - } - catch (e) { - return Promise.reject(e); - } -} - -/** - * Recursively crawls the given value, and resolves any external JSON references. - * - * @param {*} obj - The value to crawl. If it's not an object or array, it will be ignored. - * @param {string} path - The full path of `obj`, possibly with a JSON Pointer in the hash - * @param {$Refs} $refs - * @param {$RefParserOptions} options - * - * @returns {Promise[]} - * Returns an array of promises. There will be one promise for each JSON reference in `obj`. - * If `obj` does not contain any JSON references, then the array will be empty. - * If any of the JSON references point to files that contain additional JSON references, - * then the corresponding promise will internally reference an array of promises. - */ -function crawl (obj, path, $refs, options) { - let promises = []; - - if (obj && typeof obj === "object" && !ArrayBuffer.isView(obj)) { - if ($Ref.isExternal$Ref(obj)) { - promises.push(resolve$Ref(obj, path, $refs, options)); - } - else { - for (let key of Object.keys(obj)) { - let keyPath = Pointer.join(path, key); - let value = obj[key]; + // Split into an array + pointer = pointer.split("/"); - if ($Ref.isExternal$Ref(value)) { - promises.push(resolve$Ref(value, keyPath, $refs, options)); - } - else { - promises = promises.concat(crawl(value, keyPath, $refs, options)); - } - } - } - } + // Decode each part, according to RFC 6901 + for (let i = 0; i < pointer.length; i++) { + pointer[i] = decodeURIComponent(pointer[i].replace(escapedSlash, "/").replace(escapedTilde, "~")); + } - return promises; -} - -/** - * Resolves the given JSON Reference, and then crawls the resulting value. - * - * @param {{$ref: string}} $ref - The JSON Reference to resolve - * @param {string} path - The full path of `$ref`, possibly with a JSON Pointer in the hash - * @param {$Refs} $refs - * @param {$RefParserOptions} options - * - * @returns {Promise} - * The promise resolves once all JSON references in the object have been resolved, - * including nested references that are contained in externally-referenced files. - */ -async function resolve$Ref ($ref, path, $refs, options) { - // console.log('Resolving $ref pointer "%s" at %s', $ref.$ref, path); - - let resolvedPath = url.resolve(path, $ref.$ref); - let withoutHash = url.stripHash(resolvedPath); - - // Do we already have this $ref? - $ref = $refs._$refs[withoutHash]; - if ($ref) { - // We've already parsed this $ref, so use the existing value - return Promise.resolve($ref.value); - } + if (pointer[0] !== "") { + throw new InvalidPointerError(pointer, originalPath === undefined ? path : originalPath); + } - // Parse the $referenced file/url - try { - const result = await parse(resolvedPath, $refs, options); + return pointer.slice(1); + }; - // Crawl the parsed value - // console.log('Resolving $ref pointers in %s', withoutHash); - let promises = crawl(result, withoutHash + "#", $refs, options); + /** + * Creates a JSON pointer path, by joining one or more tokens to a base path. + * + * @param {string} base - The base path (e.g. "schema.json#/definitions/person") + * @param {string|string[]} tokens - The token(s) to append (e.g. ["name", "first"]) + * @returns {string} + */ + Pointer.join = function (base, tokens) { + // Ensure that the base path contains a hash + if (base.indexOf("#") === -1) { + base += "#"; + } - return Promise.all(promises); - } - catch (err) { - if (!options.continueOnError || !isHandledError(err)) { - throw err; - } + // Append each token to the base path + tokens = Array.isArray(tokens) ? tokens : [tokens]; + for (let i = 0; i < tokens.length; i++) { + let token = tokens[i]; + // Encode the token, according to RFC 6901 + base += "/" + encodeURIComponent(token.replace(tildes, "~0").replace(slashes, "~1")); + } - if ($refs._$refs[withoutHash]) { - err.source = url.stripHash(path); - err.path = url.safePointerToPath(url.getHash(path)); - } + return base; + }; - return []; - } -} - -},{"./parse":11,"./pointer":16,"./ref":17,"./util/errors":22,"./util/url":24}],20:[function(require,module,exports){ -"use strict"; -const fs = require("fs"); -const { ono } = require("@jsdevtools/ono"); -const url = require("../util/url"); -const { ResolverError } = require("../util/errors"); - -module.exports = { - /** - * The order that this resolver will run, in relation to other resolvers. - * - * @type {number} - */ - order: 100, - - /** - * Determines whether this resolver can read a given file reference. - * Resolvers that return true will be tried, in order, until one successfully resolves the file. - * Resolvers that return false will not be given a chance to resolve the file. - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @returns {boolean} - */ - canRead (file) { - return url.isFileSystemPath(file.url); - }, + /** + * If the given pointer's {@link Pointer#value} is a JSON reference, + * then the reference is resolved and {@link Pointer#value} is replaced with the resolved value. + * In addition, {@link Pointer#path} and {@link Pointer#$ref} are updated to reflect the + * resolution path of the new value. + * + * @param {Pointer} pointer + * @param {$RefParserOptions} options + * @returns {boolean} - Returns `true` if the resolution path changed + */ + function resolveIf$Ref(pointer, options) { + // Is the value a JSON reference? (and allowed?) + + if ($Ref.isAllowed$Ref(pointer.value, options)) { + let $refPath = url.resolve(pointer.path, pointer.value.$ref); + + if ($refPath === pointer.path) { + // The value is a reference to itself, so there's nothing to do. + pointer.circular = true; + } else { + let resolved = pointer.$ref.$refs._resolve($refPath, pointer.path, options); + pointer.indirections += resolved.indirections + 1; + + if ($Ref.isExtended$Ref(pointer.value)) { + // This JSON reference "extends" the resolved value, rather than simply pointing to it. + // So the resolved path does NOT change. Just the value does. + pointer.value = $Ref.dereference(pointer.value, resolved.value); + return false; + } else { + // Resolve the reference + pointer.$ref = resolved.$ref; + pointer.path = resolved.path; + pointer.value = resolved.value; + } - /** - * Reads the given file and returns its raw contents as a Buffer. - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @returns {Promise} - */ - read (file) { - return new Promise(((resolve, reject) => { - let path; - try { - path = url.toFileSystemPath(file.url); - } - catch (err) { - reject(new ResolverError(ono.uri(err, `Malformed URI: ${file.url}`), file.url)); - } + return true; + } + } + } - // console.log('Opening file: %s', path); + /** + * Sets the specified token value of the {@link Pointer#value}. + * + * The token is evaluated according to RFC 6901. + * {@link https://tools.ietf.org/html/rfc6901#section-4} + * + * @param {Pointer} pointer - The JSON Pointer whose value will be modified + * @param {string} token - A JSON Pointer token that indicates how to modify `obj` + * @param {*} value - The value to assign + * @returns {*} - Returns the assigned value + */ + function setValue(pointer, token, value) { + if (pointer.value && typeof pointer.value === "object") { + if (token === "-" && Array.isArray(pointer.value)) { + pointer.value.push(value); + } else { + pointer.value[token] = value; + } + } else { + throw new JSONParserError( + `Error assigning $ref pointer "${pointer.path}". \nCannot set "${token}" of a non-object.`, + ); + } + return value; + } - try { - fs.readFile(path, (err, data) => { - if (err) { - reject(new ResolverError(ono(err, `Error opening file "${path}"`), path)); + function unwrapOrThrow(value) { + if (isHandledError(value)) { + throw value; } - else { - resolve(data); + + return value; + } + }, + { "./ref": 17, "./util/errors": 22, "./util/url": 24 }, + ], + 17: [ + function (require, module, exports) { + "use strict"; + + module.exports = $Ref; + + const Pointer = require("./pointer"); + const { InvalidPointerError, isHandledError, normalizeError } = require("./util/errors"); + const { safePointerToPath, stripHash, getHash } = require("./util/url"); + + /** + * This class represents a single JSON reference and its resolved value. + * + * @constructor + */ + function $Ref() { + /** + * The file path or URL of the referenced file. + * This path is relative to the path of the main JSON schema file. + * + * This path does NOT contain document fragments (JSON pointers). It always references an ENTIRE file. + * Use methods such as {@link $Ref#get}, {@link $Ref#resolve}, and {@link $Ref#exists} to get + * specific JSON pointers within the file. + * + * @type {string} + */ + this.path = undefined; + + /** + * The resolved value of the JSON reference. + * Can be any JSON type, not just objects. Unknown file types are represented as Buffers (byte arrays). + * @type {?*} + */ + this.value = undefined; + + /** + * The {@link $Refs} object that contains this {@link $Ref} object. + * @type {$Refs} + */ + this.$refs = undefined; + + /** + * Indicates the type of {@link $Ref#path} (e.g. "file", "http", etc.) + * @type {?string} + */ + this.pathType = undefined; + + /** + * List of all errors. Undefined if no errors. + * @type {Array} + */ + this.errors = undefined; + } + + /** + * Pushes an error to errors array. + * + * @param {Array} error - The error to be pushed + * @returns {void} + */ + $Ref.prototype.addError = function (err) { + if (this.errors === undefined) { + this.errors = []; } - }); - } - catch (err) { - reject(new ResolverError(ono(err, `Error opening file "${path}"`), path)); - } - })); - } -}; - -},{"../util/errors":22,"../util/url":24,"@jsdevtools/ono":33,"fs":131}],21:[function(require,module,exports){ -(function (process,Buffer){(function (){ -"use strict"; - -const http = require("http"); -const https = require("https"); -const { ono } = require("@jsdevtools/ono"); -const url = require("../util/url"); -const { ResolverError } = require("../util/errors"); - -module.exports = { - /** - * The order that this resolver will run, in relation to other resolvers. - * - * @type {number} - */ - order: 200, - - /** - * HTTP headers to send when downloading files. - * - * @example: - * { - * "User-Agent": "JSON Schema $Ref Parser", - * Accept: "application/json" - * } - * - * @type {object} - */ - headers: null, - - /** - * HTTP request timeout (in milliseconds). - * - * @type {number} - */ - timeout: 5000, // 5 seconds - - /** - * The maximum number of HTTP redirects to follow. - * To disable automatic following of redirects, set this to zero. - * - * @type {number} - */ - redirects: 5, - - /** - * The `withCredentials` option of XMLHttpRequest. - * Set this to `true` if you're downloading files from a CORS-enabled server that requires authentication - * - * @type {boolean} - */ - withCredentials: false, - - /** - * Determines whether this resolver can read a given file reference. - * Resolvers that return true will be tried in order, until one successfully resolves the file. - * Resolvers that return false will not be given a chance to resolve the file. - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @returns {boolean} - */ - canRead (file) { - return url.isHttp(file.url); - }, - /** - * Reads the given URL and returns its raw contents as a Buffer. - * - * @param {object} file - An object containing information about the referenced file - * @param {string} file.url - The full URL of the referenced file - * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) - * @returns {Promise} - */ - read (file) { - let u = url.parse(file.url); - - if (process.browser && !u.protocol) { - // Use the protocol of the current page - u.protocol = url.parse(location.href).protocol; - } + // the path has been almost certainly set at this point, + // but just in case something went wrong, let's inject path if necessary + if (Array.isArray(err.errors)) { + this.errors.push(...err.errors.map(normalizeError)); + } else { + this.errors.push(normalizeError(err)); + } + }; - return download(u, this); - } -}; - -/** - * Downloads the given file. - * - * @param {Url|string} u - The url to download (can be a parsed {@link Url} object) - * @param {object} httpOptions - The `options.resolve.http` object - * @param {number} [redirects] - The redirect URLs that have already been followed - * - * @returns {Promise} - * The promise resolves with the raw downloaded data, or rejects if there is an HTTP error. - */ -function download (u, httpOptions, redirects) { - return new Promise(((resolve, reject) => { - u = url.parse(u); - redirects = redirects || []; - redirects.push(u.href); - - get(u, httpOptions) - .then((res) => { - if (res.statusCode >= 400) { - throw ono({ status: res.statusCode }, `HTTP ERROR ${res.statusCode}`); - } - else if (res.statusCode >= 300) { - if (redirects.length > httpOptions.redirects) { - reject(new ResolverError(ono({ status: res.statusCode }, - `Error downloading ${redirects[0]}. \nToo many redirects: \n ${redirects.join(" \n ")}`))); - } - else if (!res.headers.location) { - throw ono({ status: res.statusCode }, `HTTP ${res.statusCode} redirect with no location header`); + /** + * Determines whether the given JSON reference exists within this {@link $Ref#value}. + * + * @param {string} path - The full path being resolved, optionally with a JSON pointer in the hash + * @param {$RefParserOptions} options + * @returns {boolean} + */ + $Ref.prototype.exists = function (path, options) { + try { + this.resolve(path, options); + return true; + } catch (e) { + return false; } - else { - // console.log('HTTP %d redirect %s -> %s', res.statusCode, u.href, res.headers.location); - let redirectTo = url.resolve(u, res.headers.location); - download(redirectTo, httpOptions, redirects).then(resolve, reject); - } - } - else { - resolve(res.body || Buffer.alloc(0)); - } - }) - .catch((err) => { - reject(new ResolverError(ono(err, `Error downloading ${u.href}`), u.href)); - }); - })); -} - -/** - * Sends an HTTP GET request. - * - * @param {Url} u - A parsed {@link Url} object - * @param {object} httpOptions - The `options.resolve.http` object - * - * @returns {Promise} - * The promise resolves with the HTTP Response object. - */ -function get (u, httpOptions) { - return new Promise(((resolve, reject) => { - // console.log('GET', u.href); - - let protocol = u.protocol === "https:" ? https : http; - let req = protocol.get({ - hostname: u.hostname, - port: u.port, - path: u.path, - auth: u.auth, - protocol: u.protocol, - headers: httpOptions.headers || {}, - withCredentials: httpOptions.withCredentials - }); - - if (typeof req.setTimeout === "function") { - req.setTimeout(httpOptions.timeout); - } + }; - req.on("timeout", () => { - req.abort(); - }); + /** + * Resolves the given JSON reference within this {@link $Ref#value} and returns the resolved value. + * + * @param {string} path - The full path being resolved, optionally with a JSON pointer in the hash + * @param {$RefParserOptions} options + * @returns {*} - Returns the resolved value + */ + $Ref.prototype.get = function (path, options) { + return this.resolve(path, options).value; + }; - req.on("error", reject); + /** + * Resolves the given JSON reference within this {@link $Ref#value}. + * + * @param {string} path - The full path being resolved, optionally with a JSON pointer in the hash + * @param {$RefParserOptions} options + * @param {string} friendlyPath - The original user-specified path (used for error messages) + * @param {string} pathFromRoot - The path of `obj` from the schema root + * @returns {Pointer} + */ + $Ref.prototype.resolve = function (path, options, friendlyPath, pathFromRoot) { + let pointer = new Pointer(this, path, friendlyPath); + try { + return pointer.resolve(this.value, options, pathFromRoot); + } catch (err) { + if (!options || !options.continueOnError || !isHandledError(err)) { + throw err; + } - req.once("response", (res) => { - res.body = Buffer.alloc(0); + if (err.path === null) { + err.path = safePointerToPath(getHash(pathFromRoot)); + } - res.on("data", (data) => { - res.body = Buffer.concat([res.body, Buffer.from(data)]); - }); + if (err instanceof InvalidPointerError) { + // this is a special case - InvalidPointerError is thrown when dereferencing external file, + // but the issue is caused by the source file that referenced the file that undergoes dereferencing + err.source = stripHash(pathFromRoot); + } - res.on("error", reject); + this.addError(err); + return null; + } + }; - res.on("end", () => { - resolve(res); - }); - }); - })); -} + /** + * Sets the value of a nested property within this {@link $Ref#value}. + * If the property, or any of its parents don't exist, they will be created. + * + * @param {string} path - The full path of the property to set, optionally with a JSON pointer in the hash + * @param {*} value - The value to assign + */ + $Ref.prototype.set = function (path, value) { + let pointer = new Pointer(this, path); + this.value = pointer.set(this.value, value); + }; -}).call(this)}).call(this,require('_process'),require("buffer").Buffer) + /** + * Determines whether the given value is a JSON reference. + * + * @param {*} value - The value to inspect + * @returns {boolean} + */ + $Ref.is$Ref = function (value) { + return value && typeof value === "object" && typeof value.$ref === "string" && value.$ref.length > 0; + }; -},{"../util/errors":22,"../util/url":24,"@jsdevtools/ono":33,"_process":172,"buffer":132,"http":192,"https":137}],22:[function(require,module,exports){ -"use strict"; + /** + * Determines whether the given value is an external JSON reference. + * + * @param {*} value - The value to inspect + * @returns {boolean} + */ + $Ref.isExternal$Ref = function (value) { + return $Ref.is$Ref(value) && value.$ref[0] !== "#"; + }; -const { Ono } = require("@jsdevtools/ono"); + /** + * Determines whether the given value is a JSON reference, and whether it is allowed by the options. + * For example, if it references an external file, then options.resolve.external must be true. + * + * @param {*} value - The value to inspect + * @param {$RefParserOptions} options + * @returns {boolean} + */ + $Ref.isAllowed$Ref = function (value, options) { + if ($Ref.is$Ref(value)) { + if (value.$ref.substr(0, 2) === "#/" || value.$ref === "#") { + // It's a JSON Pointer reference, which is always allowed + return true; + } else if (value.$ref[0] !== "#" && (!options || options.resolve.external)) { + // It's an external reference, which is allowed by the options + return true; + } + } + }; -const { stripHash, toFileSystemPath } = require("./url"); + /** + * Determines whether the given value is a JSON reference that "extends" its resolved value. + * That is, it has extra properties (in addition to "$ref"), so rather than simply pointing to + * an existing value, this $ref actually creates a NEW value that is a shallow copy of the resolved + * value, plus the extra properties. + * + * @example: + * { + * person: { + * properties: { + * firstName: { type: string } + * lastName: { type: string } + * } + * } + * employee: { + * properties: { + * $ref: #/person/properties + * salary: { type: number } + * } + * } + * } + * + * In this example, "employee" is an extended $ref, since it extends "person" with an additional + * property (salary). The result is a NEW value that looks like this: + * + * { + * properties: { + * firstName: { type: string } + * lastName: { type: string } + * salary: { type: number } + * } + * } + * + * @param {*} value - The value to inspect + * @returns {boolean} + */ + $Ref.isExtended$Ref = function (value) { + return $Ref.is$Ref(value) && Object.keys(value).length > 1; + }; -const JSONParserError = exports.JSONParserError = class JSONParserError extends Error { - constructor (message, source) { - super(); + /** + * Returns the resolved value of a JSON Reference. + * If necessary, the resolved value is merged with the JSON Reference to create a new object + * + * @example: + * { + * person: { + * properties: { + * firstName: { type: string } + * lastName: { type: string } + * } + * } + * employee: { + * properties: { + * $ref: #/person/properties + * salary: { type: number } + * } + * } + * } + * + * When "person" and "employee" are merged, you end up with the following object: + * + * { + * properties: { + * firstName: { type: string } + * lastName: { type: string } + * salary: { type: number } + * } + * } + * + * @param {object} $ref - The JSON reference object (the one with the "$ref" property) + * @param {*} resolvedValue - The resolved value, which can be any type + * @returns {*} - Returns the dereferenced value + */ + $Ref.dereference = function ($ref, resolvedValue) { + if (resolvedValue && typeof resolvedValue === "object" && $Ref.isExtended$Ref($ref)) { + let merged = {}; + for (let key of Object.keys($ref)) { + if (key !== "$ref") { + merged[key] = $ref[key]; + } + } - this.code = "EUNKNOWN"; - this.message = message; - this.source = source; - this.path = null; + for (let key of Object.keys(resolvedValue)) { + if (!(key in merged)) { + merged[key] = resolvedValue[key]; + } + } - Ono.extend(this); - } -}; + return merged; + } else { + // Completely replace the original reference with the resolved value + return resolvedValue; + } + }; + }, + { "./pointer": 16, "./util/errors": 22, "./util/url": 24 }, + ], + 18: [ + function (require, module, exports) { + "use strict"; + + const { ono } = require("@jsdevtools/ono"); + const $Ref = require("./ref"); + const url = require("./util/url"); + + module.exports = $Refs; + + /** + * This class is a map of JSON references and their resolved values. + */ + function $Refs() { + /** + * Indicates whether the schema contains any circular references. + * + * @type {boolean} + */ + this.circular = false; + + /** + * A map of paths/urls to {@link $Ref} objects + * + * @type {object} + * @protected + */ + this._$refs = {}; + + /** + * The {@link $Ref} object that is the root of the JSON schema. + * + * @type {$Ref} + * @protected + */ + this._root$Ref = null; + } + + /** + * Returns the paths of all the files/URLs that are referenced by the JSON schema, + * including the schema itself. + * + * @param {...string|string[]} [types] - Only return paths of the given types ("file", "http", etc.) + * @returns {string[]} + */ + $Refs.prototype.paths = function (types) { + // eslint-disable-line no-unused-vars + let paths = getPaths(this._$refs, arguments); + return paths.map((path) => { + return path.decoded; + }); + }; -setErrorName(JSONParserError); + /** + * Returns the map of JSON references and their resolved values. + * + * @param {...string|string[]} [types] - Only return references of the given types ("file", "http", etc.) + * @returns {object} + */ + $Refs.prototype.values = function (types) { + // eslint-disable-line no-unused-vars + let $refs = this._$refs; + let paths = getPaths($refs, arguments); + return paths.reduce((obj, path) => { + obj[path.decoded] = $refs[path.encoded].value; + return obj; + }, {}); + }; -const JSONParserErrorGroup = exports.JSONParserErrorGroup = class JSONParserErrorGroup extends Error { - constructor (parser) { - super(); + /** + * Returns a POJO (plain old JavaScript object) for serialization as JSON. + * + * @returns {object} + */ + $Refs.prototype.toJSON = $Refs.prototype.values; + + /** + * Determines whether the given JSON reference exists. + * + * @param {string} path - The path being resolved, optionally with a JSON pointer in the hash + * @param {$RefParserOptions} [options] + * @returns {boolean} + */ + $Refs.prototype.exists = function (path, options) { + try { + this._resolve(path, "", options); + return true; + } catch (e) { + return false; + } + }; - this.files = parser; - this.message = `${this.errors.length} error${this.errors.length > 1 ? "s" : ""} occurred while reading '${toFileSystemPath(parser.$refs._root$Ref.path)}'`; + /** + * Resolves the given JSON reference and returns the resolved value. + * + * @param {string} path - The path being resolved, with a JSON pointer in the hash + * @param {$RefParserOptions} [options] + * @returns {*} - Returns the resolved value + */ + $Refs.prototype.get = function (path, options) { + return this._resolve(path, "", options).value; + }; - Ono.extend(this); - } + /** + * Sets the value of a nested property within this {@link $Ref#value}. + * If the property, or any of its parents don't exist, they will be created. + * + * @param {string} path - The path of the property to set, optionally with a JSON pointer in the hash + * @param {*} value - The value to assign + */ + $Refs.prototype.set = function (path, value) { + let absPath = url.resolve(this._root$Ref.path, path); + let withoutHash = url.stripHash(absPath); + let $ref = this._$refs[withoutHash]; + + if (!$ref) { + throw ono(`Error resolving $ref pointer "${path}". \n"${withoutHash}" not found.`); + } - static getParserErrors (parser) { - const errors = []; + $ref.set(absPath, value); + }; - for (const $ref of Object.values(parser.$refs._$refs)) { - if ($ref.errors) { - errors.push(...$ref.errors); - } - } + /** + * Creates a new {@link $Ref} object and adds it to this {@link $Refs} object. + * + * @param {string} path - The file path or URL of the referenced file + */ + $Refs.prototype._add = function (path) { + let withoutHash = url.stripHash(path); - return errors; - } + let $ref = new $Ref(); + $ref.path = withoutHash; + $ref.$refs = this; - get errors () { - return JSONParserErrorGroup.getParserErrors(this.files); - } -}; + this._$refs[withoutHash] = $ref; + this._root$Ref = this._root$Ref || $ref; -setErrorName(JSONParserErrorGroup); + return $ref; + }; -const ParserError = exports.ParserError = class ParserError extends JSONParserError { - constructor (message, source) { - super(`Error parsing ${source}: ${message}`, source); + /** + * Resolves the given JSON reference. + * + * @param {string} path - The path being resolved, optionally with a JSON pointer in the hash + * @param {string} pathFromRoot - The path of `obj` from the schema root + * @param {$RefParserOptions} [options] + * @returns {Pointer} + * @protected + */ + $Refs.prototype._resolve = function (path, pathFromRoot, options) { + let absPath = url.resolve(this._root$Ref.path, path); + let withoutHash = url.stripHash(absPath); + let $ref = this._$refs[withoutHash]; + + if (!$ref) { + throw ono(`Error resolving $ref pointer "${path}". \n"${withoutHash}" not found.`); + } - this.code = "EPARSER"; - } -}; + return $ref.resolve(absPath, options, path, pathFromRoot); + }; -setErrorName(ParserError); + /** + * Returns the specified {@link $Ref} object, or undefined. + * + * @param {string} path - The path being resolved, optionally with a JSON pointer in the hash + * @returns {$Ref|undefined} + * @protected + */ + $Refs.prototype._get$Ref = function (path) { + path = url.resolve(this._root$Ref.path, path); + let withoutHash = url.stripHash(path); + return this._$refs[withoutHash]; + }; -const UnmatchedParserError = exports.UnmatchedParserError = class UnmatchedParserError extends JSONParserError { - constructor (source) { - super(`Could not find parser for "${source}"`, source); + /** + * Returns the encoded and decoded paths keys of the given object. + * + * @param {object} $refs - The object whose keys are URL-encoded paths + * @param {...string|string[]} [types] - Only return paths of the given types ("file", "http", etc.) + * @returns {object[]} + */ + function getPaths($refs, types) { + let paths = Object.keys($refs); + + // Filter the paths by type + types = Array.isArray(types[0]) ? types[0] : Array.prototype.slice.call(types); + if (types.length > 0 && types[0]) { + paths = paths.filter((key) => { + return types.indexOf($refs[key].pathType) !== -1; + }); + } - this.code = "EUNMATCHEDPARSER"; - } -}; + // Decode local filesystem paths + return paths.map((path) => { + return { + encoded: path, + decoded: $refs[path].pathType === "file" ? url.toFileSystemPath(path, true) : path, + }; + }); + } + }, + { "./ref": 17, "./util/url": 24, "@jsdevtools/ono": 33 }, + ], + 19: [ + function (require, module, exports) { + "use strict"; + + const $Ref = require("./ref"); + const Pointer = require("./pointer"); + const parse = require("./parse"); + const url = require("./util/url"); + const { isHandledError } = require("./util/errors"); + + module.exports = resolveExternal; + + /** + * Crawls the JSON schema, finds all external JSON references, and resolves their values. + * This method does not mutate the JSON schema. The resolved values are added to {@link $RefParser#$refs}. + * + * NOTE: We only care about EXTERNAL references here. INTERNAL references are only relevant when dereferencing. + * + * @param {$RefParser} parser + * @param {$RefParserOptions} options + * + * @returns {Promise} + * The promise resolves once all JSON references in the schema have been resolved, + * including nested references that are contained in externally-referenced files. + */ + function resolveExternal(parser, options) { + if (!options.resolve.external) { + // Nothing to resolve, so exit early + return Promise.resolve(); + } -setErrorName(UnmatchedParserError); + try { + // console.log('Resolving $ref pointers in %s', parser.$refs._root$Ref.path); + let promises = crawl(parser.schema, parser.$refs._root$Ref.path + "#", parser.$refs, options); + return Promise.all(promises); + } catch (e) { + return Promise.reject(e); + } + } -const ResolverError = exports.ResolverError = class ResolverError extends JSONParserError { - constructor (ex, source) { - super(ex.message || `Error reading file "${source}"`, source); + /** + * Recursively crawls the given value, and resolves any external JSON references. + * + * @param {*} obj - The value to crawl. If it's not an object or array, it will be ignored. + * @param {string} path - The full path of `obj`, possibly with a JSON Pointer in the hash + * @param {$Refs} $refs + * @param {$RefParserOptions} options + * + * @returns {Promise[]} + * Returns an array of promises. There will be one promise for each JSON reference in `obj`. + * If `obj` does not contain any JSON references, then the array will be empty. + * If any of the JSON references point to files that contain additional JSON references, + * then the corresponding promise will internally reference an array of promises. + */ + function crawl(obj, path, $refs, options) { + let promises = []; + + if (obj && typeof obj === "object" && !ArrayBuffer.isView(obj)) { + if ($Ref.isExternal$Ref(obj)) { + promises.push(resolve$Ref(obj, path, $refs, options)); + } else { + for (let key of Object.keys(obj)) { + let keyPath = Pointer.join(path, key); + let value = obj[key]; - this.code = "ERESOLVER"; + if ($Ref.isExternal$Ref(value)) { + promises.push(resolve$Ref(value, keyPath, $refs, options)); + } else { + promises = promises.concat(crawl(value, keyPath, $refs, options)); + } + } + } + } - if ("code" in ex) { - this.ioErrorCode = String(ex.code); - } - } -}; + return promises; + } + + /** + * Resolves the given JSON Reference, and then crawls the resulting value. + * + * @param {{$ref: string}} $ref - The JSON Reference to resolve + * @param {string} path - The full path of `$ref`, possibly with a JSON Pointer in the hash + * @param {$Refs} $refs + * @param {$RefParserOptions} options + * + * @returns {Promise} + * The promise resolves once all JSON references in the object have been resolved, + * including nested references that are contained in externally-referenced files. + */ + async function resolve$Ref($ref, path, $refs, options) { + // console.log('Resolving $ref pointer "%s" at %s', $ref.$ref, path); + + let resolvedPath = url.resolve(path, $ref.$ref); + let withoutHash = url.stripHash(resolvedPath); + + // Do we already have this $ref? + $ref = $refs._$refs[withoutHash]; + if ($ref) { + // We've already parsed this $ref, so use the existing value + return Promise.resolve($ref.value); + } -setErrorName(ResolverError); + // Parse the $referenced file/url + try { + const result = await parse(resolvedPath, $refs, options); -const UnmatchedResolverError = exports.UnmatchedResolverError = class UnmatchedResolverError extends JSONParserError { - constructor (source) { - super(`Could not find resolver for "${source}"`, source); + // Crawl the parsed value + // console.log('Resolving $ref pointers in %s', withoutHash); + let promises = crawl(result, withoutHash + "#", $refs, options); - this.code = "EUNMATCHEDRESOLVER"; - } -}; + return Promise.all(promises); + } catch (err) { + if (!options.continueOnError || !isHandledError(err)) { + throw err; + } -setErrorName(UnmatchedResolverError); + if ($refs._$refs[withoutHash]) { + err.source = url.stripHash(path); + err.path = url.safePointerToPath(url.getHash(path)); + } -const MissingPointerError = exports.MissingPointerError = class MissingPointerError extends JSONParserError { - constructor (token, path) { - super(`Token "${token}" does not exist.`, stripHash(path)); + return []; + } + } + }, + { "./parse": 11, "./pointer": 16, "./ref": 17, "./util/errors": 22, "./util/url": 24 }, + ], + 20: [ + function (require, module, exports) { + "use strict"; + const fs = require("fs"); + const { ono } = require("@jsdevtools/ono"); + const url = require("../util/url"); + const { ResolverError } = require("../util/errors"); + + module.exports = { + /** + * The order that this resolver will run, in relation to other resolvers. + * + * @type {number} + */ + order: 100, + + /** + * Determines whether this resolver can read a given file reference. + * Resolvers that return true will be tried, in order, until one successfully resolves the file. + * Resolvers that return false will not be given a chance to resolve the file. + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @returns {boolean} + */ + canRead(file) { + return url.isFileSystemPath(file.url); + }, - this.code = "EMISSINGPOINTER"; - } -}; + /** + * Reads the given file and returns its raw contents as a Buffer. + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @returns {Promise} + */ + read(file) { + return new Promise((resolve, reject) => { + let path; + try { + path = url.toFileSystemPath(file.url); + } catch (err) { + reject(new ResolverError(ono.uri(err, `Malformed URI: ${file.url}`), file.url)); + } -setErrorName(MissingPointerError); + // console.log('Opening file: %s', path); -const InvalidPointerError = exports.InvalidPointerError = class InvalidPointerError extends JSONParserError { - constructor (pointer, path) { - super(`Invalid $ref pointer "${pointer}". Pointers must begin with "#/"`, stripHash(path)); + try { + fs.readFile(path, (err, data) => { + if (err) { + reject(new ResolverError(ono(err, `Error opening file "${path}"`), path)); + } else { + resolve(data); + } + }); + } catch (err) { + reject(new ResolverError(ono(err, `Error opening file "${path}"`), path)); + } + }); + }, + }; + }, + { "../util/errors": 22, "../util/url": 24, "@jsdevtools/ono": 33, fs: 131 }, + ], + 21: [ + function (require, module, exports) { + (function (process, Buffer) { + (function () { + "use strict"; + + const http = require("http"); + const https = require("https"); + const { ono } = require("@jsdevtools/ono"); + const url = require("../util/url"); + const { ResolverError } = require("../util/errors"); + + module.exports = { + /** + * The order that this resolver will run, in relation to other resolvers. + * + * @type {number} + */ + order: 200, + + /** + * HTTP headers to send when downloading files. + * + * @example: + * { + * "User-Agent": "JSON Schema $Ref Parser", + * Accept: "application/json" + * } + * + * @type {object} + */ + headers: null, + + /** + * HTTP request timeout (in milliseconds). + * + * @type {number} + */ + timeout: 5000, // 5 seconds + + /** + * The maximum number of HTTP redirects to follow. + * To disable automatic following of redirects, set this to zero. + * + * @type {number} + */ + redirects: 5, + + /** + * The `withCredentials` option of XMLHttpRequest. + * Set this to `true` if you're downloading files from a CORS-enabled server that requires authentication + * + * @type {boolean} + */ + withCredentials: false, + + /** + * Determines whether this resolver can read a given file reference. + * Resolvers that return true will be tried in order, until one successfully resolves the file. + * Resolvers that return false will not be given a chance to resolve the file. + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @returns {boolean} + */ + canRead(file) { + return url.isHttp(file.url); + }, - this.code = "EINVALIDPOINTER"; - } -}; + /** + * Reads the given URL and returns its raw contents as a Buffer. + * + * @param {object} file - An object containing information about the referenced file + * @param {string} file.url - The full URL of the referenced file + * @param {string} file.extension - The lowercased file extension (e.g. ".txt", ".html", etc.) + * @returns {Promise} + */ + read(file) { + let u = url.parse(file.url); + + if (process.browser && !u.protocol) { + // Use the protocol of the current page + u.protocol = url.parse(location.href).protocol; + } -setErrorName(InvalidPointerError); + return download(u, this); + }, + }; -function setErrorName (err) { - Object.defineProperty(err.prototype, "name", { - value: err.name, - enumerable: true, - }); -} + /** + * Downloads the given file. + * + * @param {Url|string} u - The url to download (can be a parsed {@link Url} object) + * @param {object} httpOptions - The `options.resolve.http` object + * @param {number} [redirects] - The redirect URLs that have already been followed + * + * @returns {Promise} + * The promise resolves with the raw downloaded data, or rejects if there is an HTTP error. + */ + function download(u, httpOptions, redirects) { + return new Promise((resolve, reject) => { + u = url.parse(u); + redirects = redirects || []; + redirects.push(u.href); + + get(u, httpOptions) + .then((res) => { + if (res.statusCode >= 400) { + throw ono({ status: res.statusCode }, `HTTP ERROR ${res.statusCode}`); + } else if (res.statusCode >= 300) { + if (redirects.length > httpOptions.redirects) { + reject( + new ResolverError( + ono( + { status: res.statusCode }, + `Error downloading ${redirects[0]}. \nToo many redirects: \n ${redirects.join(" \n ")}`, + ), + ), + ); + } else if (!res.headers.location) { + throw ono( + { status: res.statusCode }, + `HTTP ${res.statusCode} redirect with no location header`, + ); + } else { + // console.log('HTTP %d redirect %s -> %s', res.statusCode, u.href, res.headers.location); + let redirectTo = url.resolve(u, res.headers.location); + download(redirectTo, httpOptions, redirects).then(resolve, reject); + } + } else { + resolve(res.body || Buffer.alloc(0)); + } + }) + .catch((err) => { + reject(new ResolverError(ono(err, `Error downloading ${u.href}`), u.href)); + }); + }); + } -exports.isHandledError = function (err) { - return err instanceof JSONParserError || err instanceof JSONParserErrorGroup; -}; + /** + * Sends an HTTP GET request. + * + * @param {Url} u - A parsed {@link Url} object + * @param {object} httpOptions - The `options.resolve.http` object + * + * @returns {Promise} + * The promise resolves with the HTTP Response object. + */ + function get(u, httpOptions) { + return new Promise((resolve, reject) => { + // console.log('GET', u.href); + + let protocol = u.protocol === "https:" ? https : http; + let req = protocol.get({ + hostname: u.hostname, + port: u.port, + path: u.path, + auth: u.auth, + protocol: u.protocol, + headers: httpOptions.headers || {}, + withCredentials: httpOptions.withCredentials, + }); -exports.normalizeError = function (err) { - if (err.path === null) { - err.path = []; - } + if (typeof req.setTimeout === "function") { + req.setTimeout(httpOptions.timeout); + } - return err; -}; - -},{"./url":24,"@jsdevtools/ono":33}],23:[function(require,module,exports){ -"use strict"; - -/** - * Returns the given plugins as an array, rather than an object map. - * All other methods in this module expect an array of plugins rather than an object map. - * - * @param {object} plugins - A map of plugin objects - * @return {object[]} - */ -exports.all = function (plugins) { - return Object.keys(plugins) - .filter((key) => { - return typeof plugins[key] === "object"; - }) - .map((key) => { - plugins[key].name = key; - return plugins[key]; - }); -}; - -/** - * Filters the given plugins, returning only the ones return `true` for the given method. - * - * @param {object[]} plugins - An array of plugin objects - * @param {string} method - The name of the filter method to invoke for each plugin - * @param {object} file - A file info object, which will be passed to each method - * @return {object[]} - */ -exports.filter = function (plugins, method, file) { - return plugins - .filter((plugin) => { - return !!getResult(plugin, method, file); - }); -}; - -/** - * Sorts the given plugins, in place, by their `order` property. - * - * @param {object[]} plugins - An array of plugin objects - * @returns {object[]} - */ -exports.sort = function (plugins) { - for (let plugin of plugins) { - plugin.order = plugin.order || Number.MAX_SAFE_INTEGER; - } + req.on("timeout", () => { + req.abort(); + }); - return plugins.sort((a, b) => { return a.order - b.order; }); -}; - -/** - * Runs the specified method of the given plugins, in order, until one of them returns a successful result. - * Each method can return a synchronous value, a Promise, or call an error-first callback. - * If the promise resolves successfully, or the callback is called without an error, then the result - * is immediately returned and no further plugins are called. - * If the promise rejects, or the callback is called with an error, then the next plugin is called. - * If ALL plugins fail, then the last error is thrown. - * - * @param {object[]} plugins - An array of plugin objects - * @param {string} method - The name of the method to invoke for each plugin - * @param {object} file - A file info object, which will be passed to each method - * @returns {Promise} - */ -exports.run = function (plugins, method, file, $refs) { - let plugin, lastError, index = 0; - - return new Promise(((resolve, reject) => { - runNextPlugin(); - - function runNextPlugin () { - plugin = plugins[index++]; - if (!plugin) { - // There are no more functions, so re-throw the last error - return reject(lastError); - } + req.on("error", reject); - try { - // console.log(' %s', plugin.name); - let result = getResult(plugin, method, file, callback, $refs); - if (result && typeof result.then === "function") { - // A promise was returned - result.then(onSuccess, onError); - } - else if (result !== undefined) { - // A synchronous result was returned - onSuccess(result); - } - else if (index === plugins.length) { - throw new Error("No promise has been returned or callback has been called."); - } - } - catch (e) { - onError(e); - } - } + req.once("response", (res) => { + res.body = Buffer.alloc(0); - function callback (err, result) { - if (err) { - onError(err); - } - else { - onSuccess(result); - } - } + res.on("data", (data) => { + res.body = Buffer.concat([res.body, Buffer.from(data)]); + }); - function onSuccess (result) { - // console.log(' success'); - resolve({ - plugin, - result - }); - } + res.on("error", reject); - function onError (error) { - // console.log(' %s', err.message || err); - lastError = { - plugin, - error, - }; - runNextPlugin(); - } - })); -}; - -/** - * Returns the value of the given property. - * If the property is a function, then the result of the function is returned. - * If the value is a RegExp, then it will be tested against the file URL. - * If the value is an aray, then it will be compared against the file extension. - * - * @param {object} obj - The object whose property/method is called - * @param {string} prop - The name of the property/method to invoke - * @param {object} file - A file info object, which will be passed to the method - * @param {function} [callback] - A callback function, which will be passed to the method - * @returns {*} - */ -function getResult (obj, prop, file, callback, $refs) { - let value = obj[prop]; - - if (typeof value === "function") { - return value.apply(obj, [file, callback, $refs]); - } + res.on("end", () => { + resolve(res); + }); + }); + }); + } + }).call(this); + }).call(this, require("_process"), require("buffer").Buffer); + }, + { + "../util/errors": 22, + "../util/url": 24, + "@jsdevtools/ono": 33, + _process: 172, + buffer: 132, + http: 192, + https: 137, + }, + ], + 22: [ + function (require, module, exports) { + "use strict"; - if (!callback) { - // The synchronous plugin functions (canParse and canRead) - // allow a "shorthand" syntax, where the user can match - // files by RegExp or by file extension. - if (value instanceof RegExp) { - return value.test(file.url); - } - else if (typeof value === "string") { - return value === file.extension; - } - else if (Array.isArray(value)) { - return value.indexOf(file.extension) !== -1; - } - } + const { Ono } = require("@jsdevtools/ono"); - return value; -} - -},{}],24:[function(require,module,exports){ -(function (process){(function (){ -"use strict"; - -let isWindows = /^win/.test(process.platform), - forwardSlashPattern = /\//g, - protocolPattern = /^(\w{2,}):\/\//i, - url = module.exports, - jsonPointerSlash = /~1/g, - jsonPointerTilde = /~0/g; - -// RegExp patterns to URL-encode special characters in local filesystem paths -let urlEncodePatterns = [ - /\?/g, "%3F", - /\#/g, "%23", -]; - -// RegExp patterns to URL-decode special characters for local filesystem paths -let urlDecodePatterns = [ - /\%23/g, "#", - /\%24/g, "$", - /\%26/g, "&", - /\%2C/g, ",", - /\%40/g, "@" -]; - -exports.parse = require("url").parse; -exports.resolve = require("url").resolve; - -/** - * Returns the current working directory (in Node) or the current page URL (in browsers). - * - * @returns {string} - */ -exports.cwd = function cwd () { - if (process.browser) { - return location.href; - } + const { stripHash, toFileSystemPath } = require("./url"); - let path = process.cwd(); + const JSONParserError = (exports.JSONParserError = class JSONParserError extends Error { + constructor(message, source) { + super(); - let lastChar = path.slice(-1); - if (lastChar === "/" || lastChar === "\\") { - return path; - } - else { - return path + "/"; - } -}; - -/** - * Returns the protocol of the given URL, or `undefined` if it has no protocol. - * - * @param {string} path - * @returns {?string} - */ -exports.getProtocol = function getProtocol (path) { - let match = protocolPattern.exec(path); - if (match) { - return match[1].toLowerCase(); - } -}; - -/** - * Returns the lowercased file extension of the given URL, - * or an empty string if it has no extension. - * - * @param {string} path - * @returns {string} - */ -exports.getExtension = function getExtension (path) { - let lastDot = path.lastIndexOf("."); - if (lastDot >= 0) { - return path.substr(lastDot).toLowerCase(); - } - return ""; -}; - -/** - * Returns the hash (URL fragment), of the given path. - * If there is no hash, then the root hash ("#") is returned. - * - * @param {string} path - * @returns {string} - */ -exports.getHash = function getHash (path) { - let hashIndex = path.indexOf("#"); - if (hashIndex >= 0) { - return path.substr(hashIndex); - } - return "#"; -}; - -/** - * Removes the hash (URL fragment), if any, from the given path. - * - * @param {string} path - * @returns {string} - */ -exports.stripHash = function stripHash (path) { - let hashIndex = path.indexOf("#"); - if (hashIndex >= 0) { - path = path.substr(0, hashIndex); - } - return path; -}; - -/** - * Determines whether the given path is an HTTP(S) URL. - * - * @param {string} path - * @returns {boolean} - */ -exports.isHttp = function isHttp (path) { - let protocol = url.getProtocol(path); - if (protocol === "http" || protocol === "https") { - return true; - } - else if (protocol === undefined) { - // There is no protocol. If we're running in a browser, then assume it's HTTP. - return process.browser; - } - else { - // It's some other protocol, such as "ftp://", "mongodb://", etc. - return false; - } -}; - -/** - * Determines whether the given path is a filesystem path. - * This includes "file://" URLs. - * - * @param {string} path - * @returns {boolean} - */ -exports.isFileSystemPath = function isFileSystemPath (path) { - if (process.browser) { - // We're running in a browser, so assume that all paths are URLs. - // This way, even relative paths will be treated as URLs rather than as filesystem paths - return false; - } + this.code = "EUNKNOWN"; + this.message = message; + this.source = source; + this.path = null; - let protocol = url.getProtocol(path); - return protocol === undefined || protocol === "file"; -}; - -/** - * Converts a filesystem path to a properly-encoded URL. - * - * This is intended to handle situations where JSON Schema $Ref Parser is called - * with a filesystem path that contains characters which are not allowed in URLs. - * - * @example - * The following filesystem paths would be converted to the following URLs: - * - * <"!@#$%^&*+=?'>.json ==> %3C%22!@%23$%25%5E&*+=%3F\'%3E.json - * C:\\My Documents\\File (1).json ==> C:/My%20Documents/File%20(1).json - * file://Project #42/file.json ==> file://Project%20%2342/file.json - * - * @param {string} path - * @returns {string} - */ -exports.fromFileSystemPath = function fromFileSystemPath (path) { - // Step 1: On Windows, replace backslashes with forward slashes, - // rather than encoding them as "%5C" - if (isWindows) { - path = path.replace(/\\/g, "/"); - } + Ono.extend(this); + } + }); - // Step 2: `encodeURI` will take care of MOST characters - path = encodeURI(path); + setErrorName(JSONParserError); - // Step 3: Manually encode characters that are not encoded by `encodeURI`. - // This includes characters such as "#" and "?", which have special meaning in URLs, - // but are just normal characters in a filesystem path. - for (let i = 0; i < urlEncodePatterns.length; i += 2) { - path = path.replace(urlEncodePatterns[i], urlEncodePatterns[i + 1]); - } + const JSONParserErrorGroup = (exports.JSONParserErrorGroup = class JSONParserErrorGroup extends Error { + constructor(parser) { + super(); - return path; -}; - -/** - * Converts a URL to a local filesystem path. - * - * @param {string} path - * @param {boolean} [keepFileProtocol] - If true, then "file://" will NOT be stripped - * @returns {string} - */ -exports.toFileSystemPath = function toFileSystemPath (path, keepFileProtocol) { - // Step 1: `decodeURI` will decode characters such as Cyrillic characters, spaces, etc. - path = decodeURI(path); - - // Step 2: Manually decode characters that are not decoded by `decodeURI`. - // This includes characters such as "#" and "?", which have special meaning in URLs, - // but are just normal characters in a filesystem path. - for (let i = 0; i < urlDecodePatterns.length; i += 2) { - path = path.replace(urlDecodePatterns[i], urlDecodePatterns[i + 1]); - } + this.files = parser; + this.message = `${this.errors.length} error${this.errors.length > 1 ? "s" : ""} occurred while reading '${toFileSystemPath(parser.$refs._root$Ref.path)}'`; - // Step 3: If it's a "file://" URL, then format it consistently - // or convert it to a local filesystem path - let isFileUrl = path.substr(0, 7).toLowerCase() === "file://"; - if (isFileUrl) { - // Strip-off the protocol, and the initial "/", if there is one - path = path[7] === "/" ? path.substr(8) : path.substr(7); + Ono.extend(this); + } - // insert a colon (":") after the drive letter on Windows - if (isWindows && path[1] === "/") { - path = path[0] + ":" + path.substr(1); - } + static getParserErrors(parser) { + const errors = []; - if (keepFileProtocol) { - // Return the consistently-formatted "file://" URL - path = "file:///" + path; - } - else { - // Convert the "file://" URL to a local filesystem path. - // On Windows, it will start with something like "C:/". - // On Posix, it will start with "/" - isFileUrl = false; - path = isWindows ? path : "/" + path; - } - } + for (const $ref of Object.values(parser.$refs._$refs)) { + if ($ref.errors) { + errors.push(...$ref.errors); + } + } - // Step 4: Normalize Windows paths (unless it's a "file://" URL) - if (isWindows && !isFileUrl) { - // Replace forward slashes with backslashes - path = path.replace(forwardSlashPattern, "\\"); + return errors; + } - // Capitalize the drive letter - if (path.substr(1, 2) === ":\\") { - path = path[0].toUpperCase() + path.substr(1); - } - } + get errors() { + return JSONParserErrorGroup.getParserErrors(this.files); + } + }); - return path; -}; - -/** - * Converts a $ref pointer to a valid JSON Path. - * - * @param {string} pointer - * @returns {Array} - */ -exports.safePointerToPath = function safePointerToPath (pointer) { - if (pointer.length <= 1 || pointer[0] !== "#" || pointer[1] !== "/") { - return []; - } + setErrorName(JSONParserErrorGroup); - return pointer - .slice(2) - .split("/") - .map((value) => { - return decodeURIComponent(value) - .replace(jsonPointerSlash, "/") - .replace(jsonPointerTilde, "~"); - }); -}; - -}).call(this)}).call(this,require('_process')) - -},{"_process":172,"url":199}],25:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.openapi = exports.openapiV31 = exports.openapiV3 = exports.openapiV2 = exports.openapiV1 = void 0; -/** - * JSON Schema for OpenAPI Specification v1.2 - */ -exports.openapiV1 = require("../schemas/v1.2/apiDeclaration.json"); -/** - * JSON Schema for OpenAPI Specification v2.0 - */ -exports.openapiV2 = require("../schemas/v2.0/schema.json"); -/** - * JSON Schema for OpenAPI Specification v3.0 - */ -exports.openapiV3 = require("../schemas/v3.0/schema.json"); -/** - * JSON Schema for OpenAPI Specification v3.1 - */ -exports.openapiV31 = require("../schemas/v3.1/schema.json"); -/** - * JSON Schemas for every version of the OpenAPI Specification - */ -exports.openapi = { - v1: exports.openapiV1, - v2: exports.openapiV2, - v3: exports.openapiV3, - v31: exports.openapiV31, -}; -// Export `openapi` as the default export -exports.default = exports.openapi; -// CommonJS default export hack -/* eslint-env commonjs */ -if (typeof module === "object" && typeof module.exports === "object") { - module.exports = Object.assign(module.exports.default, module.exports); -} - -},{"../schemas/v1.2/apiDeclaration.json":26,"../schemas/v2.0/schema.json":27,"../schemas/v3.0/schema.json":28,"../schemas/v3.1/schema.json":29}],26:[function(require,module,exports){ -module.exports={ - "id": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/apiDeclaration.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "required": [ "swaggerVersion", "basePath", "apis" ], - "properties": { - "swaggerVersion": { "enum": [ "1.2" ] }, - "apiVersion": { "type": "string" }, - "basePath": { - "type": "string", - "format": "uri", - "pattern": "^https?://" - }, - "resourcePath": { - "type": "string", - "format": "uri", - "pattern": "^/" - }, - "apis": { - "type": "array", - "items": { "$ref": "#/definitions/apiObject" } - }, - "models": { - "type": "object", - "additionalProperties": { - "$ref": "modelsObject.json#" - } - }, - "produces": { "$ref": "#/definitions/mimeTypeArray" }, - "consumes": { "$ref": "#/definitions/mimeTypeArray" }, - "authorizations": { "$ref": "authorizationObject.json#" } - }, - "additionalProperties": false, - "definitions": { - "apiObject": { - "type": "object", - "required": [ "path", "operations" ], - "properties": { - "path": { - "type": "string", - "format": "uri-template", - "pattern": "^/" - }, - "description": { "type": "string" }, - "operations": { - "type": "array", - "items": { "$ref": "operationObject.json#" } - } - }, - "additionalProperties": false - }, - "mimeTypeArray": { - "type": "array", - "items": { - "type": "string", - "format": "mime-type" - }, - "uniqueItems": true - } - } -} - -},{}],27:[function(require,module,exports){ -module.exports={ - "title": "A JSON Schema for Swagger 2.0 API.", - "id": "http://swagger.io/v2/schema.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "type": "object", - "required": [ - "swagger", - "info", - "paths" - ], - "additionalProperties": false, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - }, - "properties": { - "swagger": { - "type": "string", - "enum": [ - "2.0" - ], - "description": "The Swagger version of this document." - }, - "info": { - "$ref": "#/definitions/info" - }, - "host": { - "type": "string", - "pattern": "^[^{}/ :\\\\]+(?::\\d+)?$", - "description": "The host (name or ip) of the API. Example: 'swagger.io'" - }, - "basePath": { - "type": "string", - "pattern": "^/", - "description": "The base path to the API. Example: '/api'." - }, - "schemes": { - "$ref": "#/definitions/schemesList" - }, - "consumes": { - "description": "A list of MIME types accepted by the API.", - "allOf": [ - { - "$ref": "#/definitions/mediaTypeList" - } - ] - }, - "produces": { - "description": "A list of MIME types the API can produce.", - "allOf": [ - { - "$ref": "#/definitions/mediaTypeList" - } - ] - }, - "paths": { - "$ref": "#/definitions/paths" - }, - "definitions": { - "$ref": "#/definitions/definitions" - }, - "parameters": { - "$ref": "#/definitions/parameterDefinitions" - }, - "responses": { - "$ref": "#/definitions/responseDefinitions" - }, - "security": { - "$ref": "#/definitions/security" - }, - "securityDefinitions": { - "$ref": "#/definitions/securityDefinitions" - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/definitions/tag" - }, - "uniqueItems": true - }, - "externalDocs": { - "$ref": "#/definitions/externalDocs" - } - }, - "definitions": { - "info": { - "type": "object", - "description": "General information about the API.", - "required": [ - "version", - "title" - ], - "additionalProperties": false, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - }, - "properties": { - "title": { - "type": "string", - "description": "A unique and precise title of the API." - }, - "version": { - "type": "string", - "description": "A semantic version number of the API." - }, - "description": { - "type": "string", - "description": "A longer description of the API. Should be different from the title. GitHub Flavored Markdown is allowed." - }, - "termsOfService": { - "type": "string", - "description": "The terms of service for the API." - }, - "contact": { - "$ref": "#/definitions/contact" - }, - "license": { - "$ref": "#/definitions/license" - } - } - }, - "contact": { - "type": "object", - "description": "Contact information for the owners of the API.", - "additionalProperties": false, - "properties": { - "name": { - "type": "string", - "description": "The identifying name of the contact person/organization." - }, - "url": { - "type": "string", - "description": "The URL pointing to the contact information.", - "format": "uri" - }, - "email": { - "type": "string", - "description": "The email address of the contact person/organization.", - "format": "email" + const ParserError = (exports.ParserError = class ParserError extends JSONParserError { + constructor(message, source) { + super(`Error parsing ${source}: ${message}`, source); + + this.code = "EPARSER"; + } + }); + + setErrorName(ParserError); + + const UnmatchedParserError = (exports.UnmatchedParserError = class UnmatchedParserError extends ( + JSONParserError + ) { + constructor(source) { + super(`Could not find parser for "${source}"`, source); + + this.code = "EUNMATCHEDPARSER"; + } + }); + + setErrorName(UnmatchedParserError); + + const ResolverError = (exports.ResolverError = class ResolverError extends JSONParserError { + constructor(ex, source) { + super(ex.message || `Error reading file "${source}"`, source); + + this.code = "ERESOLVER"; + + if ("code" in ex) { + this.ioErrorCode = String(ex.code); + } + } + }); + + setErrorName(ResolverError); + + const UnmatchedResolverError = (exports.UnmatchedResolverError = class UnmatchedResolverError extends ( + JSONParserError + ) { + constructor(source) { + super(`Could not find resolver for "${source}"`, source); + + this.code = "EUNMATCHEDRESOLVER"; + } + }); + + setErrorName(UnmatchedResolverError); + + const MissingPointerError = (exports.MissingPointerError = class MissingPointerError extends JSONParserError { + constructor(token, path) { + super(`Token "${token}" does not exist.`, stripHash(path)); + + this.code = "EMISSINGPOINTER"; + } + }); + + setErrorName(MissingPointerError); + + const InvalidPointerError = (exports.InvalidPointerError = class InvalidPointerError extends JSONParserError { + constructor(pointer, path) { + super(`Invalid $ref pointer "${pointer}". Pointers must begin with "#/"`, stripHash(path)); + + this.code = "EINVALIDPOINTER"; + } + }); + + setErrorName(InvalidPointerError); + + function setErrorName(err) { + Object.defineProperty(err.prototype, "name", { + value: err.name, + enumerable: true, + }); } + + exports.isHandledError = function (err) { + return err instanceof JSONParserError || err instanceof JSONParserErrorGroup; + }; + + exports.normalizeError = function (err) { + if (err.path === null) { + err.path = []; + } + + return err; + }; }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "license": { - "type": "object", - "required": [ - "name" - ], - "additionalProperties": false, - "properties": { - "name": { - "type": "string", - "description": "The name of the license type. It's encouraged to use an OSI compatible license." - }, - "url": { - "type": "string", - "description": "The URL pointing to the license.", - "format": "uri" + { "./url": 24, "@jsdevtools/ono": 33 }, + ], + 23: [ + function (require, module, exports) { + "use strict"; + + /** + * Returns the given plugins as an array, rather than an object map. + * All other methods in this module expect an array of plugins rather than an object map. + * + * @param {object} plugins - A map of plugin objects + * @return {object[]} + */ + exports.all = function (plugins) { + return Object.keys(plugins) + .filter((key) => { + return typeof plugins[key] === "object"; + }) + .map((key) => { + plugins[key].name = key; + return plugins[key]; + }); + }; + + /** + * Filters the given plugins, returning only the ones return `true` for the given method. + * + * @param {object[]} plugins - An array of plugin objects + * @param {string} method - The name of the filter method to invoke for each plugin + * @param {object} file - A file info object, which will be passed to each method + * @return {object[]} + */ + exports.filter = function (plugins, method, file) { + return plugins.filter((plugin) => { + return !!getResult(plugin, method, file); + }); + }; + + /** + * Sorts the given plugins, in place, by their `order` property. + * + * @param {object[]} plugins - An array of plugin objects + * @returns {object[]} + */ + exports.sort = function (plugins) { + for (let plugin of plugins) { + plugin.order = plugin.order || Number.MAX_SAFE_INTEGER; + } + + return plugins.sort((a, b) => { + return a.order - b.order; + }); + }; + + /** + * Runs the specified method of the given plugins, in order, until one of them returns a successful result. + * Each method can return a synchronous value, a Promise, or call an error-first callback. + * If the promise resolves successfully, or the callback is called without an error, then the result + * is immediately returned and no further plugins are called. + * If the promise rejects, or the callback is called with an error, then the next plugin is called. + * If ALL plugins fail, then the last error is thrown. + * + * @param {object[]} plugins - An array of plugin objects + * @param {string} method - The name of the method to invoke for each plugin + * @param {object} file - A file info object, which will be passed to each method + * @returns {Promise} + */ + exports.run = function (plugins, method, file, $refs) { + let plugin, + lastError, + index = 0; + + return new Promise((resolve, reject) => { + runNextPlugin(); + + function runNextPlugin() { + plugin = plugins[index++]; + if (!plugin) { + // There are no more functions, so re-throw the last error + return reject(lastError); + } + + try { + // console.log(' %s', plugin.name); + let result = getResult(plugin, method, file, callback, $refs); + if (result && typeof result.then === "function") { + // A promise was returned + result.then(onSuccess, onError); + } else if (result !== undefined) { + // A synchronous result was returned + onSuccess(result); + } else if (index === plugins.length) { + throw new Error("No promise has been returned or callback has been called."); + } + } catch (e) { + onError(e); + } + } + + function callback(err, result) { + if (err) { + onError(err); + } else { + onSuccess(result); + } + } + + function onSuccess(result) { + // console.log(' success'); + resolve({ + plugin, + result, + }); + } + + function onError(error) { + // console.log(' %s', err.message || err); + lastError = { + plugin, + error, + }; + runNextPlugin(); + } + }); + }; + + /** + * Returns the value of the given property. + * If the property is a function, then the result of the function is returned. + * If the value is a RegExp, then it will be tested against the file URL. + * If the value is an aray, then it will be compared against the file extension. + * + * @param {object} obj - The object whose property/method is called + * @param {string} prop - The name of the property/method to invoke + * @param {object} file - A file info object, which will be passed to the method + * @param {function} [callback] - A callback function, which will be passed to the method + * @returns {*} + */ + function getResult(obj, prop, file, callback, $refs) { + let value = obj[prop]; + + if (typeof value === "function") { + return value.apply(obj, [file, callback, $refs]); + } + + if (!callback) { + // The synchronous plugin functions (canParse and canRead) + // allow a "shorthand" syntax, where the user can match + // files by RegExp or by file extension. + if (value instanceof RegExp) { + return value.test(file.url); + } else if (typeof value === "string") { + return value === file.extension; + } else if (Array.isArray(value)) { + return value.indexOf(file.extension) !== -1; + } + } + + return value; } }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "paths": { - "type": "object", - "description": "Relative paths to the individual endpoints. They must be relative to the 'basePath'.", - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - }, - "^/": { - "$ref": "#/definitions/pathItem" - } - }, - "additionalProperties": false - }, - "definitions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/schema" - }, - "description": "One or more JSON objects describing the schemas being consumed and produced by the API." - }, - "parameterDefinitions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/parameter" - }, - "description": "One or more JSON representations for parameters" - }, - "responseDefinitions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/response" - }, - "description": "One or more JSON representations for responses" - }, - "externalDocs": { - "type": "object", - "additionalProperties": false, - "description": "information about external documentation", - "required": [ - "url" - ], - "properties": { - "description": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "examples": { - "type": "object", - "additionalProperties": true - }, - "mimeType": { - "type": "string", - "description": "The MIME type of the HTTP message." - }, - "operation": { - "type": "object", - "required": [ - "responses" - ], - "additionalProperties": false, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } + {}, + ], + 24: [ + function (require, module, exports) { + (function (process) { + (function () { + "use strict"; + + let isWindows = /^win/.test(process.platform), + forwardSlashPattern = /\//g, + protocolPattern = /^(\w{2,}):\/\//i, + url = module.exports, + jsonPointerSlash = /~1/g, + jsonPointerTilde = /~0/g; + + // RegExp patterns to URL-encode special characters in local filesystem paths + let urlEncodePatterns = [/\?/g, "%3F", /\#/g, "%23"]; + + // RegExp patterns to URL-decode special characters for local filesystem paths + let urlDecodePatterns = [/\%23/g, "#", /\%24/g, "$", /\%26/g, "&", /\%2C/g, ",", /\%40/g, "@"]; + + exports.parse = require("url").parse; + exports.resolve = require("url").resolve; + + /** + * Returns the current working directory (in Node) or the current page URL (in browsers). + * + * @returns {string} + */ + exports.cwd = function cwd() { + if (process.browser) { + return location.href; + } + + let path = process.cwd(); + + let lastChar = path.slice(-1); + if (lastChar === "/" || lastChar === "\\") { + return path; + } else { + return path + "/"; + } + }; + + /** + * Returns the protocol of the given URL, or `undefined` if it has no protocol. + * + * @param {string} path + * @returns {?string} + */ + exports.getProtocol = function getProtocol(path) { + let match = protocolPattern.exec(path); + if (match) { + return match[1].toLowerCase(); + } + }; + + /** + * Returns the lowercased file extension of the given URL, + * or an empty string if it has no extension. + * + * @param {string} path + * @returns {string} + */ + exports.getExtension = function getExtension(path) { + let lastDot = path.lastIndexOf("."); + if (lastDot >= 0) { + return path.substr(lastDot).toLowerCase(); + } + return ""; + }; + + /** + * Returns the hash (URL fragment), of the given path. + * If there is no hash, then the root hash ("#") is returned. + * + * @param {string} path + * @returns {string} + */ + exports.getHash = function getHash(path) { + let hashIndex = path.indexOf("#"); + if (hashIndex >= 0) { + return path.substr(hashIndex); + } + return "#"; + }; + + /** + * Removes the hash (URL fragment), if any, from the given path. + * + * @param {string} path + * @returns {string} + */ + exports.stripHash = function stripHash(path) { + let hashIndex = path.indexOf("#"); + if (hashIndex >= 0) { + path = path.substr(0, hashIndex); + } + return path; + }; + + /** + * Determines whether the given path is an HTTP(S) URL. + * + * @param {string} path + * @returns {boolean} + */ + exports.isHttp = function isHttp(path) { + let protocol = url.getProtocol(path); + if (protocol === "http" || protocol === "https") { + return true; + } else if (protocol === undefined) { + // There is no protocol. If we're running in a browser, then assume it's HTTP. + return process.browser; + } else { + // It's some other protocol, such as "ftp://", "mongodb://", etc. + return false; + } + }; + + /** + * Determines whether the given path is a filesystem path. + * This includes "file://" URLs. + * + * @param {string} path + * @returns {boolean} + */ + exports.isFileSystemPath = function isFileSystemPath(path) { + if (process.browser) { + // We're running in a browser, so assume that all paths are URLs. + // This way, even relative paths will be treated as URLs rather than as filesystem paths + return false; + } + + let protocol = url.getProtocol(path); + return protocol === undefined || protocol === "file"; + }; + + /** + * Converts a filesystem path to a properly-encoded URL. + * + * This is intended to handle situations where JSON Schema $Ref Parser is called + * with a filesystem path that contains characters which are not allowed in URLs. + * + * @example + * The following filesystem paths would be converted to the following URLs: + * + * <"!@#$%^&*+=?'>.json ==> %3C%22!@%23$%25%5E&*+=%3F\'%3E.json + * C:\\My Documents\\File (1).json ==> C:/My%20Documents/File%20(1).json + * file://Project #42/file.json ==> file://Project%20%2342/file.json + * + * @param {string} path + * @returns {string} + */ + exports.fromFileSystemPath = function fromFileSystemPath(path) { + // Step 1: On Windows, replace backslashes with forward slashes, + // rather than encoding them as "%5C" + if (isWindows) { + path = path.replace(/\\/g, "/"); + } + + // Step 2: `encodeURI` will take care of MOST characters + path = encodeURI(path); + + // Step 3: Manually encode characters that are not encoded by `encodeURI`. + // This includes characters such as "#" and "?", which have special meaning in URLs, + // but are just normal characters in a filesystem path. + for (let i = 0; i < urlEncodePatterns.length; i += 2) { + path = path.replace(urlEncodePatterns[i], urlEncodePatterns[i + 1]); + } + + return path; + }; + + /** + * Converts a URL to a local filesystem path. + * + * @param {string} path + * @param {boolean} [keepFileProtocol] - If true, then "file://" will NOT be stripped + * @returns {string} + */ + exports.toFileSystemPath = function toFileSystemPath(path, keepFileProtocol) { + // Step 1: `decodeURI` will decode characters such as Cyrillic characters, spaces, etc. + path = decodeURI(path); + + // Step 2: Manually decode characters that are not decoded by `decodeURI`. + // This includes characters such as "#" and "?", which have special meaning in URLs, + // but are just normal characters in a filesystem path. + for (let i = 0; i < urlDecodePatterns.length; i += 2) { + path = path.replace(urlDecodePatterns[i], urlDecodePatterns[i + 1]); + } + + // Step 3: If it's a "file://" URL, then format it consistently + // or convert it to a local filesystem path + let isFileUrl = path.substr(0, 7).toLowerCase() === "file://"; + if (isFileUrl) { + // Strip-off the protocol, and the initial "/", if there is one + path = path[7] === "/" ? path.substr(8) : path.substr(7); + + // insert a colon (":") after the drive letter on Windows + if (isWindows && path[1] === "/") { + path = path[0] + ":" + path.substr(1); + } + + if (keepFileProtocol) { + // Return the consistently-formatted "file://" URL + path = "file:///" + path; + } else { + // Convert the "file://" URL to a local filesystem path. + // On Windows, it will start with something like "C:/". + // On Posix, it will start with "/" + isFileUrl = false; + path = isWindows ? path : "/" + path; + } + } + + // Step 4: Normalize Windows paths (unless it's a "file://" URL) + if (isWindows && !isFileUrl) { + // Replace forward slashes with backslashes + path = path.replace(forwardSlashPattern, "\\"); + + // Capitalize the drive letter + if (path.substr(1, 2) === ":\\") { + path = path[0].toUpperCase() + path.substr(1); + } + } + + return path; + }; + + /** + * Converts a $ref pointer to a valid JSON Path. + * + * @param {string} pointer + * @returns {Array} + */ + exports.safePointerToPath = function safePointerToPath(pointer) { + if (pointer.length <= 1 || pointer[0] !== "#" || pointer[1] !== "/") { + return []; + } + + return pointer + .slice(2) + .split("/") + .map((value) => { + return decodeURIComponent(value).replace(jsonPointerSlash, "/").replace(jsonPointerTilde, "~"); + }); + }; + }).call(this); + }).call(this, require("_process")); }, - "properties": { - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - }, - "summary": { - "type": "string", - "description": "A brief summary of the operation." - }, - "description": { - "type": "string", - "description": "A longer description of the operation, GitHub Flavored Markdown is allowed." - }, - "externalDocs": { - "$ref": "#/definitions/externalDocs" - }, - "operationId": { - "type": "string", - "description": "A unique identifier of the operation." - }, - "produces": { - "description": "A list of MIME types the API can produce.", - "allOf": [ - { - "$ref": "#/definitions/mediaTypeList" - } - ] - }, - "consumes": { - "description": "A list of MIME types the API can consume.", - "allOf": [ - { - "$ref": "#/definitions/mediaTypeList" - } - ] - }, - "parameters": { - "$ref": "#/definitions/parametersList" - }, - "responses": { - "$ref": "#/definitions/responses" - }, - "schemes": { - "$ref": "#/definitions/schemesList" - }, - "deprecated": { - "type": "boolean", - "default": false - }, - "security": { - "$ref": "#/definitions/security" - } - } - }, - "pathItem": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" + { _process: 172, url: 199 }, + ], + 25: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.openapi = exports.openapiV31 = exports.openapiV3 = exports.openapiV2 = exports.openapiV1 = void 0; + /** + * JSON Schema for OpenAPI Specification v1.2 + */ + exports.openapiV1 = require("../schemas/v1.2/apiDeclaration.json"); + /** + * JSON Schema for OpenAPI Specification v2.0 + */ + exports.openapiV2 = require("../schemas/v2.0/schema.json"); + /** + * JSON Schema for OpenAPI Specification v3.0 + */ + exports.openapiV3 = require("../schemas/v3.0/schema.json"); + /** + * JSON Schema for OpenAPI Specification v3.1 + */ + exports.openapiV31 = require("../schemas/v3.1/schema.json"); + /** + * JSON Schemas for every version of the OpenAPI Specification + */ + exports.openapi = { + v1: exports.openapiV1, + v2: exports.openapiV2, + v3: exports.openapiV3, + v31: exports.openapiV31, + }; + // Export `openapi` as the default export + exports.default = exports.openapi; + // CommonJS default export hack + /* eslint-env commonjs */ + if (typeof module === "object" && typeof module.exports === "object") { + module.exports = Object.assign(module.exports.default, module.exports); } }, - "properties": { - "$ref": { - "type": "string" - }, - "get": { - "$ref": "#/definitions/operation" - }, - "put": { - "$ref": "#/definitions/operation" - }, - "post": { - "$ref": "#/definitions/operation" - }, - "delete": { - "$ref": "#/definitions/operation" - }, - "options": { - "$ref": "#/definitions/operation" - }, - "head": { - "$ref": "#/definitions/operation" - }, - "patch": { - "$ref": "#/definitions/operation" - }, - "parameters": { - "$ref": "#/definitions/parametersList" - } - } - }, - "responses": { - "type": "object", - "description": "Response objects names can either be any valid HTTP status code or 'default'.", - "minProperties": 1, - "additionalProperties": false, - "patternProperties": { - "^([0-9]{3})$|^(default)$": { - "$ref": "#/definitions/responseValue" - }, - "^x-": { - "$ref": "#/definitions/vendorExtension" - } + { + "../schemas/v1.2/apiDeclaration.json": 26, + "../schemas/v2.0/schema.json": 27, + "../schemas/v3.0/schema.json": 28, + "../schemas/v3.1/schema.json": 29, }, - "not": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - } - }, - "responseValue": { - "oneOf": [ - { - "$ref": "#/definitions/response" - }, - { - "$ref": "#/definitions/jsonReference" - } - ] - }, - "response": { - "type": "object", - "required": [ - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "schema": { - "oneOf": [ - { - "$ref": "#/definitions/schema" + ], + 26: [ + function (require, module, exports) { + module.exports = { + id: "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/apiDeclaration.json#", + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + required: ["swaggerVersion", "basePath", "apis"], + properties: { + swaggerVersion: { enum: ["1.2"] }, + apiVersion: { type: "string" }, + basePath: { + type: "string", + format: "uri", + pattern: "^https?://", }, - { - "$ref": "#/definitions/fileSchema" - } - ] - }, - "headers": { - "$ref": "#/definitions/headers" - }, - "examples": { - "$ref": "#/definitions/examples" - } - }, - "additionalProperties": false, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "headers": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/header" - } - }, - "header": { - "type": "object", - "additionalProperties": false, - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "string", - "number", - "integer", - "boolean", - "array" - ] - }, - "format": { - "type": "string" - }, - "items": { - "$ref": "#/definitions/primitivesItems" - }, - "collectionFormat": { - "$ref": "#/definitions/collectionFormat" - }, - "default": { - "$ref": "#/definitions/default" - }, - "maximum": { - "$ref": "#/definitions/maximum" - }, - "exclusiveMaximum": { - "$ref": "#/definitions/exclusiveMaximum" - }, - "minimum": { - "$ref": "#/definitions/minimum" - }, - "exclusiveMinimum": { - "$ref": "#/definitions/exclusiveMinimum" - }, - "maxLength": { - "$ref": "#/definitions/maxLength" - }, - "minLength": { - "$ref": "#/definitions/minLength" - }, - "pattern": { - "$ref": "#/definitions/pattern" - }, - "maxItems": { - "$ref": "#/definitions/maxItems" - }, - "minItems": { - "$ref": "#/definitions/minItems" - }, - "uniqueItems": { - "$ref": "#/definitions/uniqueItems" - }, - "enum": { - "$ref": "#/definitions/enum" - }, - "multipleOf": { - "$ref": "#/definitions/multipleOf" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "vendorExtension": { - "description": "Any property starting with x- is valid.", - "additionalProperties": true, - "additionalItems": true - }, - "bodyParameter": { - "type": "object", - "required": [ - "name", - "in", - "schema" - ], - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - }, - "properties": { - "description": { - "type": "string", - "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." - }, - "name": { - "type": "string", - "description": "The name of the parameter." - }, - "in": { - "type": "string", - "description": "Determines the location of the parameter.", - "enum": [ - "body" - ] - }, - "required": { - "type": "boolean", - "description": "Determines whether or not this parameter is required or optional.", - "default": false - }, - "schema": { - "$ref": "#/definitions/schema" - } - }, - "additionalProperties": false - }, - "headerParameterSubSchema": { - "additionalProperties": false, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - }, - "properties": { - "required": { - "type": "boolean", - "description": "Determines whether or not this parameter is required or optional.", - "default": false - }, - "in": { - "type": "string", - "description": "Determines the location of the parameter.", - "enum": [ - "header" - ] - }, - "description": { - "type": "string", - "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." - }, - "name": { - "type": "string", - "description": "The name of the parameter." - }, - "type": { - "type": "string", - "enum": [ - "string", - "number", - "boolean", - "integer", - "array" - ] - }, - "format": { - "type": "string" - }, - "items": { - "$ref": "#/definitions/primitivesItems" - }, - "collectionFormat": { - "$ref": "#/definitions/collectionFormat" - }, - "default": { - "$ref": "#/definitions/default" - }, - "maximum": { - "$ref": "#/definitions/maximum" - }, - "exclusiveMaximum": { - "$ref": "#/definitions/exclusiveMaximum" - }, - "minimum": { - "$ref": "#/definitions/minimum" - }, - "exclusiveMinimum": { - "$ref": "#/definitions/exclusiveMinimum" - }, - "maxLength": { - "$ref": "#/definitions/maxLength" - }, - "minLength": { - "$ref": "#/definitions/minLength" - }, - "pattern": { - "$ref": "#/definitions/pattern" - }, - "maxItems": { - "$ref": "#/definitions/maxItems" - }, - "minItems": { - "$ref": "#/definitions/minItems" - }, - "uniqueItems": { - "$ref": "#/definitions/uniqueItems" - }, - "enum": { - "$ref": "#/definitions/enum" - }, - "multipleOf": { - "$ref": "#/definitions/multipleOf" - } - } - }, - "queryParameterSubSchema": { - "additionalProperties": false, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - }, - "properties": { - "required": { - "type": "boolean", - "description": "Determines whether or not this parameter is required or optional.", - "default": false - }, - "in": { - "type": "string", - "description": "Determines the location of the parameter.", - "enum": [ - "query" - ] - }, - "description": { - "type": "string", - "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." - }, - "name": { - "type": "string", - "description": "The name of the parameter." - }, - "allowEmptyValue": { - "type": "boolean", - "default": false, - "description": "allows sending a parameter by name only or with an empty value." - }, - "type": { - "type": "string", - "enum": [ - "string", - "number", - "boolean", - "integer", - "array" - ] - }, - "format": { - "type": "string" - }, - "items": { - "$ref": "#/definitions/primitivesItems" - }, - "collectionFormat": { - "$ref": "#/definitions/collectionFormatWithMulti" - }, - "default": { - "$ref": "#/definitions/default" - }, - "maximum": { - "$ref": "#/definitions/maximum" - }, - "exclusiveMaximum": { - "$ref": "#/definitions/exclusiveMaximum" - }, - "minimum": { - "$ref": "#/definitions/minimum" - }, - "exclusiveMinimum": { - "$ref": "#/definitions/exclusiveMinimum" - }, - "maxLength": { - "$ref": "#/definitions/maxLength" - }, - "minLength": { - "$ref": "#/definitions/minLength" - }, - "pattern": { - "$ref": "#/definitions/pattern" - }, - "maxItems": { - "$ref": "#/definitions/maxItems" - }, - "minItems": { - "$ref": "#/definitions/minItems" - }, - "uniqueItems": { - "$ref": "#/definitions/uniqueItems" - }, - "enum": { - "$ref": "#/definitions/enum" - }, - "multipleOf": { - "$ref": "#/definitions/multipleOf" - } - } - }, - "formDataParameterSubSchema": { - "additionalProperties": false, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - }, - "properties": { - "required": { - "type": "boolean", - "description": "Determines whether or not this parameter is required or optional.", - "default": false - }, - "in": { - "type": "string", - "description": "Determines the location of the parameter.", - "enum": [ - "formData" - ] - }, - "description": { - "type": "string", - "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." - }, - "name": { - "type": "string", - "description": "The name of the parameter." - }, - "allowEmptyValue": { - "type": "boolean", - "default": false, - "description": "allows sending a parameter by name only or with an empty value." - }, - "type": { - "type": "string", - "enum": [ - "string", - "number", - "boolean", - "integer", - "array", - "file" - ] - }, - "format": { - "type": "string" - }, - "items": { - "$ref": "#/definitions/primitivesItems" - }, - "collectionFormat": { - "$ref": "#/definitions/collectionFormatWithMulti" - }, - "default": { - "$ref": "#/definitions/default" - }, - "maximum": { - "$ref": "#/definitions/maximum" - }, - "exclusiveMaximum": { - "$ref": "#/definitions/exclusiveMaximum" - }, - "minimum": { - "$ref": "#/definitions/minimum" - }, - "exclusiveMinimum": { - "$ref": "#/definitions/exclusiveMinimum" - }, - "maxLength": { - "$ref": "#/definitions/maxLength" - }, - "minLength": { - "$ref": "#/definitions/minLength" - }, - "pattern": { - "$ref": "#/definitions/pattern" - }, - "maxItems": { - "$ref": "#/definitions/maxItems" - }, - "minItems": { - "$ref": "#/definitions/minItems" - }, - "uniqueItems": { - "$ref": "#/definitions/uniqueItems" - }, - "enum": { - "$ref": "#/definitions/enum" - }, - "multipleOf": { - "$ref": "#/definitions/multipleOf" - } - } - }, - "pathParameterSubSchema": { - "additionalProperties": false, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - }, - "required": [ - "required" - ], - "properties": { - "required": { - "type": "boolean", - "enum": [ - true - ], - "description": "Determines whether or not this parameter is required or optional." - }, - "in": { - "type": "string", - "description": "Determines the location of the parameter.", - "enum": [ - "path" - ] - }, - "description": { - "type": "string", - "description": "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed." - }, - "name": { - "type": "string", - "description": "The name of the parameter." - }, - "type": { - "type": "string", - "enum": [ - "string", - "number", - "boolean", - "integer", - "array" - ] - }, - "format": { - "type": "string" - }, - "items": { - "$ref": "#/definitions/primitivesItems" - }, - "collectionFormat": { - "$ref": "#/definitions/collectionFormat" - }, - "default": { - "$ref": "#/definitions/default" - }, - "maximum": { - "$ref": "#/definitions/maximum" - }, - "exclusiveMaximum": { - "$ref": "#/definitions/exclusiveMaximum" - }, - "minimum": { - "$ref": "#/definitions/minimum" - }, - "exclusiveMinimum": { - "$ref": "#/definitions/exclusiveMinimum" - }, - "maxLength": { - "$ref": "#/definitions/maxLength" - }, - "minLength": { - "$ref": "#/definitions/minLength" - }, - "pattern": { - "$ref": "#/definitions/pattern" - }, - "maxItems": { - "$ref": "#/definitions/maxItems" - }, - "minItems": { - "$ref": "#/definitions/minItems" - }, - "uniqueItems": { - "$ref": "#/definitions/uniqueItems" - }, - "enum": { - "$ref": "#/definitions/enum" - }, - "multipleOf": { - "$ref": "#/definitions/multipleOf" - } - } - }, - "nonBodyParameter": { - "type": "object", - "required": [ - "name", - "in", - "type" - ], - "oneOf": [ - { - "$ref": "#/definitions/headerParameterSubSchema" - }, - { - "$ref": "#/definitions/formDataParameterSubSchema" - }, - { - "$ref": "#/definitions/queryParameterSubSchema" - }, - { - "$ref": "#/definitions/pathParameterSubSchema" - } - ] - }, - "parameter": { - "oneOf": [ - { - "$ref": "#/definitions/bodyParameter" - }, - { - "$ref": "#/definitions/nonBodyParameter" - } - ] - }, - "schema": { - "type": "object", - "description": "A deterministic version of a JSON Schema object.", - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - }, - "properties": { - "$ref": { - "type": "string" - }, - "format": { - "type": "string" - }, - "title": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/title" - }, - "description": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/description" - }, - "default": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/default" - }, - "multipleOf": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" - }, - "maximum": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" - }, - "exclusiveMaximum": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" - }, - "minimum": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" - }, - "exclusiveMinimum": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" - }, - "maxLength": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" - }, - "minLength": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" - }, - "pattern": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" - }, - "maxItems": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" - }, - "minItems": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" - }, - "uniqueItems": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" - }, - "maxProperties": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" - }, - "minProperties": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" - }, - "required": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" - }, - "enum": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/enum" - }, - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/definitions/schema" + resourcePath: { + type: "string", + format: "uri", + pattern: "^/", }, - { - "type": "boolean" - } - ], - "default": {} - }, - "type": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/type" - }, - "items": { - "anyOf": [ - { - "$ref": "#/definitions/schema" + apis: { + type: "array", + items: { $ref: "#/definitions/apiObject" }, }, - { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/definitions/schema" - } - } - ], - "default": {} - }, - "allOf": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "#/definitions/schema" - } - }, - "properties": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/schema" - }, - "default": {} - }, - "discriminator": { - "type": "string" - }, - "readOnly": { - "type": "boolean", - "default": false - }, - "xml": { - "$ref": "#/definitions/xml" - }, - "externalDocs": { - "$ref": "#/definitions/externalDocs" - }, - "example": {} - }, - "additionalProperties": false - }, - "fileSchema": { - "type": "object", - "description": "A deterministic version of a JSON Schema object.", - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - }, - "required": [ - "type" - ], - "properties": { - "format": { - "type": "string" - }, - "title": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/title" - }, - "description": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/description" - }, - "default": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/default" - }, - "required": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/stringArray" - }, - "type": { - "type": "string", - "enum": [ - "file" - ] - }, - "readOnly": { - "type": "boolean", - "default": false - }, - "externalDocs": { - "$ref": "#/definitions/externalDocs" - }, - "example": {} - }, - "additionalProperties": false - }, - "primitivesItems": { - "type": "object", - "additionalProperties": false, - "properties": { - "type": { - "type": "string", - "enum": [ - "string", - "number", - "integer", - "boolean", - "array" - ] - }, - "format": { - "type": "string" - }, - "items": { - "$ref": "#/definitions/primitivesItems" - }, - "collectionFormat": { - "$ref": "#/definitions/collectionFormat" - }, - "default": { - "$ref": "#/definitions/default" - }, - "maximum": { - "$ref": "#/definitions/maximum" - }, - "exclusiveMaximum": { - "$ref": "#/definitions/exclusiveMaximum" - }, - "minimum": { - "$ref": "#/definitions/minimum" - }, - "exclusiveMinimum": { - "$ref": "#/definitions/exclusiveMinimum" - }, - "maxLength": { - "$ref": "#/definitions/maxLength" - }, - "minLength": { - "$ref": "#/definitions/minLength" - }, - "pattern": { - "$ref": "#/definitions/pattern" - }, - "maxItems": { - "$ref": "#/definitions/maxItems" - }, - "minItems": { - "$ref": "#/definitions/minItems" - }, - "uniqueItems": { - "$ref": "#/definitions/uniqueItems" - }, - "enum": { - "$ref": "#/definitions/enum" - }, - "multipleOf": { - "$ref": "#/definitions/multipleOf" - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "security": { - "type": "array", - "items": { - "$ref": "#/definitions/securityRequirement" - }, - "uniqueItems": true - }, - "securityRequirement": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "xml": { - "type": "object", - "additionalProperties": false, - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "prefix": { - "type": "string" - }, - "attribute": { - "type": "boolean", - "default": false - }, - "wrapped": { - "type": "boolean", - "default": false - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "tag": { - "type": "object", - "additionalProperties": false, - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "externalDocs": { - "$ref": "#/definitions/externalDocs" - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "securityDefinitions": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/basicAuthenticationSecurity" - }, - { - "$ref": "#/definitions/apiKeySecurity" - }, - { - "$ref": "#/definitions/oauth2ImplicitSecurity" - }, - { - "$ref": "#/definitions/oauth2PasswordSecurity" + models: { + type: "object", + additionalProperties: { + $ref: "modelsObject.json#", + }, + }, + produces: { $ref: "#/definitions/mimeTypeArray" }, + consumes: { $ref: "#/definitions/mimeTypeArray" }, + authorizations: { $ref: "authorizationObject.json#" }, }, - { - "$ref": "#/definitions/oauth2ApplicationSecurity" + additionalProperties: false, + definitions: { + apiObject: { + type: "object", + required: ["path", "operations"], + properties: { + path: { + type: "string", + format: "uri-template", + pattern: "^/", + }, + description: { type: "string" }, + operations: { + type: "array", + items: { $ref: "operationObject.json#" }, + }, + }, + additionalProperties: false, + }, + mimeTypeArray: { + type: "array", + items: { + type: "string", + format: "mime-type", + }, + uniqueItems: true, + }, }, - { - "$ref": "#/definitions/oauth2AccessCodeSecurity" - } - ] - } - }, - "basicAuthenticationSecurity": { - "type": "object", - "additionalProperties": false, - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "basic" - ] - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "apiKeySecurity": { - "type": "object", - "additionalProperties": false, - "required": [ - "type", - "name", - "in" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "apiKey" - ] - }, - "name": { - "type": "string" - }, - "in": { - "type": "string", - "enum": [ - "header", - "query" - ] - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "oauth2ImplicitSecurity": { - "type": "object", - "additionalProperties": false, - "required": [ - "type", - "flow", - "authorizationUrl" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "oauth2" - ] - }, - "flow": { - "type": "string", - "enum": [ - "implicit" - ] - }, - "scopes": { - "$ref": "#/definitions/oauth2Scopes" - }, - "authorizationUrl": { - "type": "string", - "format": "uri" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "oauth2PasswordSecurity": { - "type": "object", - "additionalProperties": false, - "required": [ - "type", - "flow", - "tokenUrl" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "oauth2" - ] - }, - "flow": { - "type": "string", - "enum": [ - "password" - ] - }, - "scopes": { - "$ref": "#/definitions/oauth2Scopes" - }, - "tokenUrl": { - "type": "string", - "format": "uri" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "oauth2ApplicationSecurity": { - "type": "object", - "additionalProperties": false, - "required": [ - "type", - "flow", - "tokenUrl" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "oauth2" - ] - }, - "flow": { - "type": "string", - "enum": [ - "application" - ] - }, - "scopes": { - "$ref": "#/definitions/oauth2Scopes" - }, - "tokenUrl": { - "type": "string", - "format": "uri" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "oauth2AccessCodeSecurity": { - "type": "object", - "additionalProperties": false, - "required": [ - "type", - "flow", - "authorizationUrl", - "tokenUrl" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "oauth2" - ] - }, - "flow": { - "type": "string", - "enum": [ - "accessCode" - ] - }, - "scopes": { - "$ref": "#/definitions/oauth2Scopes" - }, - "authorizationUrl": { - "type": "string", - "format": "uri" - }, - "tokenUrl": { - "type": "string", - "format": "uri" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - "$ref": "#/definitions/vendorExtension" - } - } - }, - "oauth2Scopes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "mediaTypeList": { - "type": "array", - "items": { - "$ref": "#/definitions/mimeType" + }; }, - "uniqueItems": true - }, - "parametersList": { - "type": "array", - "description": "The parameters needed to send a valid API call.", - "additionalItems": false, - "items": { - "oneOf": [ - { - "$ref": "#/definitions/parameter" + {}, + ], + 27: [ + function (require, module, exports) { + module.exports = { + title: "A JSON Schema for Swagger 2.0 API.", + id: "http://swagger.io/v2/schema.json#", + $schema: "http://json-schema.org/draft-04/schema#", + type: "object", + required: ["swagger", "info", "paths"], + additionalProperties: false, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, }, - { - "$ref": "#/definitions/jsonReference" - } - ] - }, - "uniqueItems": true - }, - "schemesList": { - "type": "array", - "description": "The transfer protocol of the API.", - "items": { - "type": "string", - "enum": [ - "http", - "https", - "ws", - "wss" - ] - }, - "uniqueItems": true - }, - "collectionFormat": { - "type": "string", - "enum": [ - "csv", - "ssv", - "tsv", - "pipes" - ], - "default": "csv" - }, - "collectionFormatWithMulti": { - "type": "string", - "enum": [ - "csv", - "ssv", - "tsv", - "pipes", - "multi" - ], - "default": "csv" - }, - "title": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/title" - }, - "description": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/description" - }, - "default": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/default" - }, - "multipleOf": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/multipleOf" - }, - "maximum": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/maximum" - }, - "exclusiveMaximum": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" - }, - "minimum": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/minimum" - }, - "exclusiveMinimum": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" - }, - "maxLength": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" - }, - "minLength": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" - }, - "pattern": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/pattern" - }, - "maxItems": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" - }, - "minItems": { - "$ref": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" - }, - "uniqueItems": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/uniqueItems" - }, - "enum": { - "$ref": "http://json-schema.org/draft-04/schema#/properties/enum" - }, - "jsonReference": { - "type": "object", - "required": [ - "$ref" - ], - "additionalProperties": false, - "properties": { - "$ref": { - "type": "string" - } - } - } - } -} -},{}],28:[function(require,module,exports){ -module.exports={ - "id": "https://spec.openapis.org/oas/3.0/schema/2019-04-02", - "$schema": "http://json-schema.org/draft-04/schema#", - "description": "Validation schema for OpenAPI Specification 3.0.X.", - "type": "object", - "required": [ - "openapi", - "info", - "paths" - ], - "properties": { - "openapi": { - "type": "string", - "pattern": "^3\\.0\\.\\d(-.+)?$" - }, - "info": { - "$ref": "#/definitions/Info" - }, - "externalDocs": { - "$ref": "#/definitions/ExternalDocumentation" - }, - "servers": { - "type": "array", - "items": { - "$ref": "#/definitions/Server" - } - }, - "security": { - "type": "array", - "items": { - "$ref": "#/definitions/SecurityRequirement" - } - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/definitions/Tag" - }, - "uniqueItems": true - }, - "paths": { - "$ref": "#/definitions/Paths" - }, - "components": { - "$ref": "#/definitions/Components" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "definitions": { - "Reference": { - "type": "object", - "required": [ - "$ref" - ], - "patternProperties": { - "^\\$ref$": { - "type": "string", - "format": "uri-reference" - } - } - }, - "Info": { - "type": "object", - "required": [ - "title", - "version" - ], - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "termsOfService": { - "type": "string", - "format": "uri-reference" - }, - "contact": { - "$ref": "#/definitions/Contact" - }, - "license": { - "$ref": "#/definitions/License" - }, - "version": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Contact": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri-reference" - }, - "email": { - "type": "string", - "format": "email" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "License": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri-reference" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Server": { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "type": "string" - }, - "description": { - "type": "string" - }, - "variables": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServerVariable" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "ServerVariable": { - "type": "object", - "required": [ - "default" - ], - "properties": { - "enum": { - "type": "array", - "items": { - "type": "string" - } - }, - "default": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Components": { - "type": "object", - "properties": { - "schemas": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ + properties: { + swagger: { + type: "string", + enum: ["2.0"], + description: "The Swagger version of this document.", + }, + info: { + $ref: "#/definitions/info", + }, + host: { + type: "string", + pattern: "^[^{}/ :\\\\]+(?::\\d+)?$", + description: "The host (name or ip) of the API. Example: 'swagger.io'", + }, + basePath: { + type: "string", + pattern: "^/", + description: "The base path to the API. Example: '/api'.", + }, + schemes: { + $ref: "#/definitions/schemesList", + }, + consumes: { + description: "A list of MIME types accepted by the API.", + allOf: [ { - "$ref": "#/definitions/Schema" + $ref: "#/definitions/mediaTypeList", }, + ], + }, + produces: { + description: "A list of MIME types the API can produce.", + allOf: [ { - "$ref": "#/definitions/Reference" - } - ] - } - } - }, - "responses": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" + $ref: "#/definitions/mediaTypeList", }, - { - "$ref": "#/definitions/Response" - } - ] - } - } - }, - "parameters": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" + ], + }, + paths: { + $ref: "#/definitions/paths", + }, + definitions: { + $ref: "#/definitions/definitions", + }, + parameters: { + $ref: "#/definitions/parameterDefinitions", + }, + responses: { + $ref: "#/definitions/responseDefinitions", + }, + security: { + $ref: "#/definitions/security", + }, + securityDefinitions: { + $ref: "#/definitions/securityDefinitions", + }, + tags: { + type: "array", + items: { + $ref: "#/definitions/tag", + }, + uniqueItems: true, + }, + externalDocs: { + $ref: "#/definitions/externalDocs", + }, + }, + definitions: { + info: { + type: "object", + description: "General information about the API.", + required: ["version", "title"], + additionalProperties: false, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", }, - { - "$ref": "#/definitions/Parameter" - } - ] - } - } - }, - "examples": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" + }, + properties: { + title: { + type: "string", + description: "A unique and precise title of the API.", }, - { - "$ref": "#/definitions/Example" - } - ] - } - } - }, - "requestBodies": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" + version: { + type: "string", + description: "A semantic version number of the API.", }, - { - "$ref": "#/definitions/RequestBody" - } - ] - } - } - }, - "headers": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" + description: { + type: "string", + description: + "A longer description of the API. Should be different from the title. GitHub Flavored Markdown is allowed.", }, - { - "$ref": "#/definitions/Header" - } - ] - } - } - }, - "securitySchemes": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" + termsOfService: { + type: "string", + description: "The terms of service for the API.", }, - { - "$ref": "#/definitions/SecurityScheme" - } - ] - } - } - }, - "links": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" + contact: { + $ref: "#/definitions/contact", }, - { - "$ref": "#/definitions/Link" - } - ] - } - } - }, - "callbacks": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" + license: { + $ref: "#/definitions/license", }, - { - "$ref": "#/definitions/Callback" - } - ] - } - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Schema": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "multipleOf": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "boolean", - "default": false - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "boolean", - "default": false - }, - "maxLength": { - "type": "integer", - "minimum": 0 - }, - "minLength": { - "type": "integer", - "minimum": 0, - "default": 0 - }, - "pattern": { - "type": "string", - "format": "regex" - }, - "maxItems": { - "type": "integer", - "minimum": 0 - }, - "minItems": { - "type": "integer", - "minimum": 0, - "default": 0 - }, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "maxProperties": { - "type": "integer", - "minimum": 0 - }, - "minProperties": { - "type": "integer", - "minimum": 0, - "default": 0 - }, - "required": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1, - "uniqueItems": true - }, - "enum": { - "type": "array", - "items": { - }, - "minItems": 1, - "uniqueItems": false - }, - "type": { - "type": "string", - "enum": [ - "array", - "boolean", - "integer", - "number", - "object", - "string" - ] - }, - "not": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "allOf": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "oneOf": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" + }, + contact: { + type: "object", + description: "Contact information for the owners of the API.", + additionalProperties: false, + properties: { + name: { + type: "string", + description: "The identifying name of the contact person/organization.", + }, + url: { + type: "string", + description: "The URL pointing to the contact information.", + format: "uri", + }, + email: { + type: "string", + description: "The email address of the contact person/organization.", + format: "email", + }, }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "anyOf": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "properties": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" + license: { + type: "object", + required: ["name"], + additionalProperties: false, + properties: { + name: { + type: "string", + description: "The name of the license type. It's encouraged to use an OSI compatible license.", + }, + url: { + type: "string", + description: "The URL pointing to the license.", + format: "uri", + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" }, - { - "$ref": "#/definitions/Reference" + paths: { + type: "object", + description: "Relative paths to the individual endpoints. They must be relative to the 'basePath'.", + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + "^/": { + $ref: "#/definitions/pathItem", + }, + }, + additionalProperties: false, }, - { - "type": "boolean" - } - ], - "default": true - }, - "description": { - "type": "string" - }, - "format": { - "type": "string" - }, - "default": { - }, - "nullable": { - "type": "boolean", - "default": false - }, - "discriminator": { - "$ref": "#/definitions/Discriminator" - }, - "readOnly": { - "type": "boolean", - "default": false - }, - "writeOnly": { - "type": "boolean", - "default": false - }, - "example": { - }, - "externalDocs": { - "$ref": "#/definitions/ExternalDocumentation" - }, - "deprecated": { - "type": "boolean", - "default": false - }, - "xml": { - "$ref": "#/definitions/XML" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Discriminator": { - "type": "object", - "required": [ - "propertyName" - ], - "properties": { - "propertyName": { - "type": "string" - }, - "mapping": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "XML": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string", - "format": "uri" - }, - "prefix": { - "type": "string" - }, - "attribute": { - "type": "boolean", - "default": false - }, - "wrapped": { - "type": "boolean", - "default": false - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Response": { - "type": "object", - "required": [ - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "headers": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Header" + definitions: { + type: "object", + additionalProperties: { + $ref: "#/definitions/schema", }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "content": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MediaType" - } - }, - "links": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Link" + description: "One or more JSON objects describing the schemas being consumed and produced by the API.", + }, + parameterDefinitions: { + type: "object", + additionalProperties: { + $ref: "#/definitions/parameter", }, - { - "$ref": "#/definitions/Reference" - } - ] - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "MediaType": { - "type": "object", - "properties": { - "schema": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" + description: "One or more JSON representations for parameters", }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "example": { - }, - "examples": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Example" + responseDefinitions: { + type: "object", + additionalProperties: { + $ref: "#/definitions/response", }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "encoding": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Encoding" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "allOf": [ - { - "$ref": "#/definitions/ExampleXORExamples" - } - ] - }, - "Example": { - "type": "object", - "properties": { - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "value": { - }, - "externalValue": { - "type": "string", - "format": "uri-reference" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Header": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "required": { - "type": "boolean", - "default": false - }, - "deprecated": { - "type": "boolean", - "default": false - }, - "allowEmptyValue": { - "type": "boolean", - "default": false - }, - "style": { - "type": "string", - "enum": [ - "simple" - ], - "default": "simple" - }, - "explode": { - "type": "boolean" - }, - "allowReserved": { - "type": "boolean", - "default": false - }, - "schema": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" + description: "One or more JSON representations for responses", }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "content": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MediaType" - }, - "minProperties": 1, - "maxProperties": 1 - }, - "example": { - }, - "examples": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Example" + externalDocs: { + type: "object", + additionalProperties: false, + description: "information about external documentation", + required: ["url"], + properties: { + description: { + type: "string", + }, + url: { + type: "string", + format: "uri", + }, }, - { - "$ref": "#/definitions/Reference" - } - ] - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "allOf": [ - { - "$ref": "#/definitions/ExampleXORExamples" - }, - { - "$ref": "#/definitions/SchemaXORContent" - } - ] - }, - "Paths": { - "type": "object", - "patternProperties": { - "^\\/": { - "$ref": "#/definitions/PathItem" - }, - "^x-": { - } - }, - "additionalProperties": false - }, - "PathItem": { - "type": "object", - "properties": { - "$ref": { - "type": "string" - }, - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "servers": { - "type": "array", - "items": { - "$ref": "#/definitions/Server" - } - }, - "parameters": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Parameter" + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "uniqueItems": true - } - }, - "patternProperties": { - "^(get|put|post|delete|options|head|patch|trace)$": { - "$ref": "#/definitions/Operation" - }, - "^x-": { - } - }, - "additionalProperties": false - }, - "Operation": { - "type": "object", - "required": [ - "responses" - ], - "properties": { - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "externalDocs": { - "$ref": "#/definitions/ExternalDocumentation" - }, - "operationId": { - "type": "string" - }, - "parameters": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Parameter" + }, + examples: { + type: "object", + additionalProperties: true, + }, + mimeType: { + type: "string", + description: "The MIME type of the HTTP message.", + }, + operation: { + type: "object", + required: ["responses"], + additionalProperties: false, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, + properties: { + tags: { + type: "array", + items: { + type: "string", + }, + uniqueItems: true, + }, + summary: { + type: "string", + description: "A brief summary of the operation.", + }, + description: { + type: "string", + description: "A longer description of the operation, GitHub Flavored Markdown is allowed.", + }, + externalDocs: { + $ref: "#/definitions/externalDocs", + }, + operationId: { + type: "string", + description: "A unique identifier of the operation.", + }, + produces: { + description: "A list of MIME types the API can produce.", + allOf: [ + { + $ref: "#/definitions/mediaTypeList", + }, + ], + }, + consumes: { + description: "A list of MIME types the API can consume.", + allOf: [ + { + $ref: "#/definitions/mediaTypeList", + }, + ], + }, + parameters: { + $ref: "#/definitions/parametersList", + }, + responses: { + $ref: "#/definitions/responses", + }, + schemes: { + $ref: "#/definitions/schemesList", + }, + deprecated: { + type: "boolean", + default: false, + }, + security: { + $ref: "#/definitions/security", + }, }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "uniqueItems": true - }, - "requestBody": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBody" }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "responses": { - "$ref": "#/definitions/Responses" - }, - "callbacks": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Callback" + pathItem: { + type: "object", + additionalProperties: false, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, + properties: { + $ref: { + type: "string", + }, + get: { + $ref: "#/definitions/operation", + }, + put: { + $ref: "#/definitions/operation", + }, + post: { + $ref: "#/definitions/operation", + }, + delete: { + $ref: "#/definitions/operation", + }, + options: { + $ref: "#/definitions/operation", + }, + head: { + $ref: "#/definitions/operation", + }, + patch: { + $ref: "#/definitions/operation", + }, + parameters: { + $ref: "#/definitions/parametersList", + }, }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "deprecated": { - "type": "boolean", - "default": false - }, - "security": { - "type": "array", - "items": { - "$ref": "#/definitions/SecurityRequirement" - } - }, - "servers": { - "type": "array", - "items": { - "$ref": "#/definitions/Server" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Responses": { - "type": "object", - "properties": { - "default": { - "oneOf": [ - { - "$ref": "#/definitions/Response" }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "patternProperties": { - "^[1-5](?:\\d{2}|XX)$": { - "oneOf": [ - { - "$ref": "#/definitions/Response" + responses: { + type: "object", + description: "Response objects names can either be any valid HTTP status code or 'default'.", + minProperties: 1, + additionalProperties: false, + patternProperties: { + "^([0-9]{3})$|^(default)$": { + $ref: "#/definitions/responseValue", + }, + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, + not: { + type: "object", + additionalProperties: false, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, + }, }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "^x-": { - } - }, - "minProperties": 1, - "additionalProperties": false - }, - "SecurityRequirement": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Tag": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "externalDocs": { - "$ref": "#/definitions/ExternalDocumentation" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "ExternalDocumentation": { - "type": "object", - "required": [ - "url" - ], - "properties": { - "description": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri-reference" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "ExampleXORExamples": { - "description": "Example and examples are mutually exclusive", - "not": { - "required": [ - "example", - "examples" - ] - } - }, - "SchemaXORContent": { - "description": "Schema and content are mutually exclusive, at least one is required", - "not": { - "required": [ - "schema", - "content" - ] - }, - "oneOf": [ - { - "required": [ - "schema" - ] - }, - { - "required": [ - "content" - ], - "description": "Some properties are not allowed if content is present", - "allOf": [ - { - "not": { - "required": [ - "style" - ] - } + responseValue: { + oneOf: [ + { + $ref: "#/definitions/response", + }, + { + $ref: "#/definitions/jsonReference", + }, + ], }, - { - "not": { - "required": [ - "explode" - ] - } + response: { + type: "object", + required: ["description"], + properties: { + description: { + type: "string", + }, + schema: { + oneOf: [ + { + $ref: "#/definitions/schema", + }, + { + $ref: "#/definitions/fileSchema", + }, + ], + }, + headers: { + $ref: "#/definitions/headers", + }, + examples: { + $ref: "#/definitions/examples", + }, + }, + additionalProperties: false, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - { - "not": { - "required": [ - "allowReserved" - ] - } + headers: { + type: "object", + additionalProperties: { + $ref: "#/definitions/header", + }, }, - { - "not": { - "required": [ - "example" - ] - } + header: { + type: "object", + additionalProperties: false, + required: ["type"], + properties: { + type: { + type: "string", + enum: ["string", "number", "integer", "boolean", "array"], + }, + format: { + type: "string", + }, + items: { + $ref: "#/definitions/primitivesItems", + }, + collectionFormat: { + $ref: "#/definitions/collectionFormat", + }, + default: { + $ref: "#/definitions/default", + }, + maximum: { + $ref: "#/definitions/maximum", + }, + exclusiveMaximum: { + $ref: "#/definitions/exclusiveMaximum", + }, + minimum: { + $ref: "#/definitions/minimum", + }, + exclusiveMinimum: { + $ref: "#/definitions/exclusiveMinimum", + }, + maxLength: { + $ref: "#/definitions/maxLength", + }, + minLength: { + $ref: "#/definitions/minLength", + }, + pattern: { + $ref: "#/definitions/pattern", + }, + maxItems: { + $ref: "#/definitions/maxItems", + }, + minItems: { + $ref: "#/definitions/minItems", + }, + uniqueItems: { + $ref: "#/definitions/uniqueItems", + }, + enum: { + $ref: "#/definitions/enum", + }, + multipleOf: { + $ref: "#/definitions/multipleOf", + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - { - "not": { - "required": [ - "examples" - ] - } - } - ] - } - ] - }, - "Parameter": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "in": { - "type": "string" - }, - "description": { - "type": "string" - }, - "required": { - "type": "boolean", - "default": false - }, - "deprecated": { - "type": "boolean", - "default": false - }, - "allowEmptyValue": { - "type": "boolean", - "default": false - }, - "style": { - "type": "string" - }, - "explode": { - "type": "boolean" - }, - "allowReserved": { - "type": "boolean", - "default": false - }, - "schema": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" + vendorExtension: { + description: "Any property starting with x- is valid.", + additionalProperties: true, + additionalItems: true, }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "content": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MediaType" - }, - "minProperties": 1, - "maxProperties": 1 - }, - "example": { - }, - "examples": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Example" + bodyParameter: { + type: "object", + required: ["name", "in", "schema"], + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, }, - { - "$ref": "#/definitions/Reference" - } - ] - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "required": [ - "name", - "in" - ], - "allOf": [ - { - "$ref": "#/definitions/ExampleXORExamples" - }, - { - "$ref": "#/definitions/SchemaXORContent" - }, - { - "$ref": "#/definitions/ParameterLocation" - } - ] - }, - "ParameterLocation": { - "description": "Parameter location", - "oneOf": [ - { - "description": "Parameter in path", - "required": [ - "required" - ], - "properties": { - "in": { - "enum": [ - "path" - ] - }, - "style": { - "enum": [ - "matrix", - "label", - "simple" - ], - "default": "simple" - }, - "required": { - "enum": [ - true - ] - } - } - }, - { - "description": "Parameter in query", - "properties": { - "in": { - "enum": [ - "query" - ] - }, - "style": { - "enum": [ - "form", - "spaceDelimited", - "pipeDelimited", - "deepObject" - ], - "default": "form" - } - } - }, - { - "description": "Parameter in header", - "properties": { - "in": { - "enum": [ - "header" - ] - }, - "style": { - "enum": [ - "simple" - ], - "default": "simple" - } - } - }, - { - "description": "Parameter in cookie", - "properties": { - "in": { - "enum": [ - "cookie" - ] - }, - "style": { - "enum": [ - "form" - ], - "default": "form" - } - } - } - ] - }, - "RequestBody": { - "type": "object", - "required": [ - "content" - ], - "properties": { - "description": { - "type": "string" - }, - "content": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MediaType" - } - }, - "required": { - "type": "boolean", - "default": false - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "SecurityScheme": { - "oneOf": [ - { - "$ref": "#/definitions/APIKeySecurityScheme" - }, - { - "$ref": "#/definitions/HTTPSecurityScheme" - }, - { - "$ref": "#/definitions/OAuth2SecurityScheme" - }, - { - "$ref": "#/definitions/OpenIdConnectSecurityScheme" - } - ] - }, - "APIKeySecurityScheme": { - "type": "object", - "required": [ - "type", - "name", - "in" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "apiKey" - ] - }, - "name": { - "type": "string" - }, - "in": { - "type": "string", - "enum": [ - "header", - "query", - "cookie" - ] - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "HTTPSecurityScheme": { - "type": "object", - "required": [ - "scheme", - "type" - ], - "properties": { - "scheme": { - "type": "string" - }, - "bearerFormat": { - "type": "string" - }, - "description": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "http" - ] - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "oneOf": [ - { - "description": "Bearer", - "properties": { - "scheme": { - "enum": [ - "bearer" - ] - } - } - }, - { - "description": "Non Bearer", - "not": { - "required": [ - "bearerFormat" - ] - }, - "properties": { - "scheme": { - "not": { - "enum": [ - "bearer" - ] - } - } - } - } - ] - }, - "OAuth2SecurityScheme": { - "type": "object", - "required": [ - "type", - "flows" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "oauth2" - ] - }, - "flows": { - "$ref": "#/definitions/OAuthFlows" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "OpenIdConnectSecurityScheme": { - "type": "object", - "required": [ - "type", - "openIdConnectUrl" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "openIdConnect" - ] - }, - "openIdConnectUrl": { - "type": "string", - "format": "uri-reference" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "OAuthFlows": { - "type": "object", - "properties": { - "implicit": { - "$ref": "#/definitions/ImplicitOAuthFlow" - }, - "password": { - "$ref": "#/definitions/PasswordOAuthFlow" - }, - "clientCredentials": { - "$ref": "#/definitions/ClientCredentialsFlow" - }, - "authorizationCode": { - "$ref": "#/definitions/AuthorizationCodeOAuthFlow" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "ImplicitOAuthFlow": { - "type": "object", - "required": [ - "authorizationUrl", - "scopes" - ], - "properties": { - "authorizationUrl": { - "type": "string", - "format": "uri-reference" - }, - "refreshUrl": { - "type": "string", - "format": "uri-reference" - }, - "scopes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "PasswordOAuthFlow": { - "type": "object", - "required": [ - "tokenUrl" - ], - "properties": { - "tokenUrl": { - "type": "string", - "format": "uri-reference" - }, - "refreshUrl": { - "type": "string", - "format": "uri-reference" - }, - "scopes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "ClientCredentialsFlow": { - "type": "object", - "required": [ - "tokenUrl" - ], - "properties": { - "tokenUrl": { - "type": "string", - "format": "uri-reference" - }, - "refreshUrl": { - "type": "string", - "format": "uri-reference" - }, - "scopes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "AuthorizationCodeOAuthFlow": { - "type": "object", - "required": [ - "authorizationUrl", - "tokenUrl" - ], - "properties": { - "authorizationUrl": { - "type": "string", - "format": "uri-reference" - }, - "tokenUrl": { - "type": "string", - "format": "uri-reference" - }, - "refreshUrl": { - "type": "string", - "format": "uri-reference" - }, - "scopes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Link": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "operationRef": { - "type": "string", - "format": "uri-reference" - }, - "parameters": { - "type": "object", - "additionalProperties": { - } - }, - "requestBody": { - }, - "description": { - "type": "string" - }, - "server": { - "$ref": "#/definitions/Server" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "not": { - "description": "Operation Id and Operation Ref are mutually exclusive", - "required": [ - "operationId", - "operationRef" - ] - } - }, - "Callback": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/PathItem" - }, - "patternProperties": { - "^x-": { - } - } - }, - "Encoding": { - "type": "object", - "properties": { - "contentType": { - "type": "string" - }, - "headers": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Header" - } - }, - "style": { - "type": "string", - "enum": [ - "form", - "spaceDelimited", - "pipeDelimited", - "deepObject" - ] - }, - "explode": { - "type": "boolean" - }, - "allowReserved": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - } -} -},{}],29:[function(require,module,exports){ -module.exports={ - "$id": "https://spec.openapis.org/oas/3.1/schema/2021-04-15", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "type": "object", - "properties": { - "openapi": { - "type": "string", - "pattern": "^3\\.1\\.\\d+(-.+)?$" - }, - "info": { - "$ref": "#/$defs/info" - }, - "jsonSchemaDialect": { - "$ref": "#/$defs/uri", - "default": "https://spec.openapis.org/oas/3.1/dialect/base" - }, - "servers": { - "type": "array", - "items": { - "$ref": "#/$defs/server" - } - }, - "paths": { - "$ref": "#/$defs/paths" - }, - "webhooks": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/path-item-or-reference" - } - }, - "components": { - "$ref": "#/$defs/components" - }, - "security": { - "type": "array", - "items": { - "$ref": "#/$defs/security-requirement" - } - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/$defs/tag" - } - }, - "externalDocs": { - "$ref": "#/$defs/external-documentation" - } - }, - "required": [ - "openapi", - "info" - ], - "anyOf": [ - { - "required": [ - "paths" - ] - }, - { - "required": [ - "components" - ] - }, - { - "required": [ - "webhooks" - ] - } - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false, - "$defs": { - "info": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "termsOfService": { - "type": "string" - }, - "contact": { - "$ref": "#/$defs/contact" - }, - "license": { - "$ref": "#/$defs/license" - }, - "version": { - "type": "string" - } - }, - "required": [ - "title", - "version" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "contact": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "email": { - "type": "string" - } - }, - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "license": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "identifier": { - "type": "string" - }, - "url": { - "$ref": "#/$defs/uri" - } - }, - "required": [ - "name" - ], - "oneOf": [ - { - "required": [ - "identifier" - ] - }, - { - "required": [ - "url" - ] - } - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "server": { - "type": "object", - "properties": { - "url": { - "$ref": "#/$defs/uri" - }, - "description": { - "type": "string" - }, - "variables": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/server-variable" - } - } - }, - "required": [ - "url" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "server-variable": { - "type": "object", - "properties": { - "enum": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - }, - "default": { - "type": "string" - }, - "descriptions": { - "type": "string" - } - }, - "required": [ - "default" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "components": { - "type": "object", - "properties": { - "schemas": { - "type": "object", - "additionalProperties": { - "$dynamicRef": "#meta" - } - }, - "responses": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/response-or-reference" - } - }, - "parameters": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/parameter-or-reference" - } - }, - "examples": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/example-or-reference" - } - }, - "requestBodies": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/request-body-or-reference" - } - }, - "headers": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/header-or-reference" - } - }, - "securitySchemes": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/security-scheme-or-reference" - } - }, - "links": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/link-or-reference" - } - }, - "callbacks": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/callbacks-or-reference" - } - }, - "pathItems": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/path-item-or-reference" - } - } - }, - "patternProperties": { - "^(schemas|responses|parameters|examples|requestBodies|headers|securitySchemes|links|callbacks|pathItems)$": { - "$comment": "Enumerating all of the property names in the regex above is necessary for unevaluatedProperties to work as expected", - "propertyNames": { - "pattern": "^[a-zA-Z0-9._-]+$" - } - } - }, - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "paths": { - "type": "object", - "patternProperties": { - "^/": { - "$ref": "#/$defs/path-item" - } - }, - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "path-item": { - "type": "object", - "properties": { - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "servers": { - "type": "array", - "items": { - "$ref": "#/$defs/server" - } - }, - "parameters": { - "type": "array", - "items": { - "$ref": "#/$defs/parameter-or-reference" - } - } - }, - "patternProperties": { - "^(get|put|post|delete|options|head|patch|trace)$": { - "$ref": "#/$defs/operation" - } - }, - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "path-item-or-reference": { - "if": { - "required": [ - "$ref" - ] - }, - "then": { - "$ref": "#/$defs/reference" - }, - "else": { - "$ref": "#/$defs/path-item" - } - }, - "operation": { - "type": "object", - "properties": { - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "externalDocs": { - "$ref": "#/$defs/external-documentation" - }, - "operationId": { - "type": "string" - }, - "parameters": { - "type": "array", - "items": { - "$ref": "#/$defs/parameter-or-reference" - } - }, - "requestBody": { - "$ref": "#/$defs/request-body-or-reference" - }, - "responses": { - "$ref": "#/$defs/responses" - }, - "callbacks": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/callbacks-or-reference" - } - }, - "deprecated": { - "default": false, - "type": "boolean" - }, - "security": { - "type": "array", - "items": { - "$ref": "#/$defs/security-requirement" - } - }, - "servers": { - "type": "array", - "items": { - "$ref": "#/$defs/server" - } - } - }, - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "external-documentation": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "url": { - "$ref": "#/$defs/uri" - } - }, - "required": [ - "url" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "parameter": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "in": { - "enum": [ - "query", - "header", - "path", - "cookie" - ] - }, - "description": { - "type": "string" - }, - "required": { - "default": false, - "type": "boolean" - }, - "deprecated": { - "default": false, - "type": "boolean" - }, - "allowEmptyValue": { - "default": false, - "type": "boolean" - }, - "schema": { - "$dynamicRef": "#meta" - }, - "content": { - "$ref": "#/$defs/content" - } - }, - "required": [ - "in" - ], - "oneOf": [ - { - "required": [ - "schema" - ] - }, - { - "required": [ - "content" - ] - } - ], - "dependentSchemas": { - "schema": { - "properties": { - "style": { - "type": "string" - }, - "explode": { - "type": "boolean" - }, - "allowReserved": { - "default": false, - "type": "boolean" - } - }, - "allOf": [ - { - "$ref": "#/$defs/examples" - }, - { - "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-path" - }, - { - "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-header" - }, - { - "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-query" - }, - { - "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-cookie" - }, - { - "$ref": "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-form" - } - ], - "$defs": { - "styles-for-path": { - "if": { - "properties": { - "in": { - "const": "path" - } + properties: { + description: { + type: "string", + description: + "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.", }, - "required": [ - "in" - ] - }, - "then": { - "properties": { - "style": { - "default": "simple", - "enum": [ - "matrix", - "label", - "simple" - ] - }, - "required": { - "const": true - } + name: { + type: "string", + description: "The name of the parameter.", }, - "required": [ - "required" - ] - } + in: { + type: "string", + description: "Determines the location of the parameter.", + enum: ["body"], + }, + required: { + type: "boolean", + description: "Determines whether or not this parameter is required or optional.", + default: false, + }, + schema: { + $ref: "#/definitions/schema", + }, + }, + additionalProperties: false, }, - "styles-for-header": { - "if": { - "properties": { - "in": { - "const": "header" - } + headerParameterSubSchema: { + additionalProperties: false, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", }, - "required": [ - "in" - ] - }, - "then": { - "properties": { - "style": { - "default": "simple", - "enum": [ - "simple" - ] - } - } - } + }, + properties: { + required: { + type: "boolean", + description: "Determines whether or not this parameter is required or optional.", + default: false, + }, + in: { + type: "string", + description: "Determines the location of the parameter.", + enum: ["header"], + }, + description: { + type: "string", + description: + "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.", + }, + name: { + type: "string", + description: "The name of the parameter.", + }, + type: { + type: "string", + enum: ["string", "number", "boolean", "integer", "array"], + }, + format: { + type: "string", + }, + items: { + $ref: "#/definitions/primitivesItems", + }, + collectionFormat: { + $ref: "#/definitions/collectionFormat", + }, + default: { + $ref: "#/definitions/default", + }, + maximum: { + $ref: "#/definitions/maximum", + }, + exclusiveMaximum: { + $ref: "#/definitions/exclusiveMaximum", + }, + minimum: { + $ref: "#/definitions/minimum", + }, + exclusiveMinimum: { + $ref: "#/definitions/exclusiveMinimum", + }, + maxLength: { + $ref: "#/definitions/maxLength", + }, + minLength: { + $ref: "#/definitions/minLength", + }, + pattern: { + $ref: "#/definitions/pattern", + }, + maxItems: { + $ref: "#/definitions/maxItems", + }, + minItems: { + $ref: "#/definitions/minItems", + }, + uniqueItems: { + $ref: "#/definitions/uniqueItems", + }, + enum: { + $ref: "#/definitions/enum", + }, + multipleOf: { + $ref: "#/definitions/multipleOf", + }, + }, }, - "styles-for-query": { - "if": { - "properties": { - "in": { - "const": "query" - } + queryParameterSubSchema: { + additionalProperties: false, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", }, - "required": [ - "in" - ] - }, - "then": { - "properties": { - "style": { - "default": "form", - "enum": [ - "form", - "spaceDelimited", - "pipeDelimited", - "deepObject" - ] - } - } - } + }, + properties: { + required: { + type: "boolean", + description: "Determines whether or not this parameter is required or optional.", + default: false, + }, + in: { + type: "string", + description: "Determines the location of the parameter.", + enum: ["query"], + }, + description: { + type: "string", + description: + "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.", + }, + name: { + type: "string", + description: "The name of the parameter.", + }, + allowEmptyValue: { + type: "boolean", + default: false, + description: "allows sending a parameter by name only or with an empty value.", + }, + type: { + type: "string", + enum: ["string", "number", "boolean", "integer", "array"], + }, + format: { + type: "string", + }, + items: { + $ref: "#/definitions/primitivesItems", + }, + collectionFormat: { + $ref: "#/definitions/collectionFormatWithMulti", + }, + default: { + $ref: "#/definitions/default", + }, + maximum: { + $ref: "#/definitions/maximum", + }, + exclusiveMaximum: { + $ref: "#/definitions/exclusiveMaximum", + }, + minimum: { + $ref: "#/definitions/minimum", + }, + exclusiveMinimum: { + $ref: "#/definitions/exclusiveMinimum", + }, + maxLength: { + $ref: "#/definitions/maxLength", + }, + minLength: { + $ref: "#/definitions/minLength", + }, + pattern: { + $ref: "#/definitions/pattern", + }, + maxItems: { + $ref: "#/definitions/maxItems", + }, + minItems: { + $ref: "#/definitions/minItems", + }, + uniqueItems: { + $ref: "#/definitions/uniqueItems", + }, + enum: { + $ref: "#/definitions/enum", + }, + multipleOf: { + $ref: "#/definitions/multipleOf", + }, + }, }, - "styles-for-cookie": { - "if": { - "properties": { - "in": { - "const": "cookie" - } + formDataParameterSubSchema: { + additionalProperties: false, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", }, - "required": [ - "in" - ] - }, - "then": { - "properties": { - "style": { - "default": "form", - "enum": [ - "form" - ] - } - } - } + }, + properties: { + required: { + type: "boolean", + description: "Determines whether or not this parameter is required or optional.", + default: false, + }, + in: { + type: "string", + description: "Determines the location of the parameter.", + enum: ["formData"], + }, + description: { + type: "string", + description: + "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.", + }, + name: { + type: "string", + description: "The name of the parameter.", + }, + allowEmptyValue: { + type: "boolean", + default: false, + description: "allows sending a parameter by name only or with an empty value.", + }, + type: { + type: "string", + enum: ["string", "number", "boolean", "integer", "array", "file"], + }, + format: { + type: "string", + }, + items: { + $ref: "#/definitions/primitivesItems", + }, + collectionFormat: { + $ref: "#/definitions/collectionFormatWithMulti", + }, + default: { + $ref: "#/definitions/default", + }, + maximum: { + $ref: "#/definitions/maximum", + }, + exclusiveMaximum: { + $ref: "#/definitions/exclusiveMaximum", + }, + minimum: { + $ref: "#/definitions/minimum", + }, + exclusiveMinimum: { + $ref: "#/definitions/exclusiveMinimum", + }, + maxLength: { + $ref: "#/definitions/maxLength", + }, + minLength: { + $ref: "#/definitions/minLength", + }, + pattern: { + $ref: "#/definitions/pattern", + }, + maxItems: { + $ref: "#/definitions/maxItems", + }, + minItems: { + $ref: "#/definitions/minItems", + }, + uniqueItems: { + $ref: "#/definitions/uniqueItems", + }, + enum: { + $ref: "#/definitions/enum", + }, + multipleOf: { + $ref: "#/definitions/multipleOf", + }, + }, }, - "styles-for-form": { - "if": { - "properties": { - "style": { - "const": "form" - } + pathParameterSubSchema: { + additionalProperties: false, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", }, - "required": [ - "style" - ] }, - "then": { - "properties": { - "explode": { - "default": true - } - } + required: ["required"], + properties: { + required: { + type: "boolean", + enum: [true], + description: "Determines whether or not this parameter is required or optional.", + }, + in: { + type: "string", + description: "Determines the location of the parameter.", + enum: ["path"], + }, + description: { + type: "string", + description: + "A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.", + }, + name: { + type: "string", + description: "The name of the parameter.", + }, + type: { + type: "string", + enum: ["string", "number", "boolean", "integer", "array"], + }, + format: { + type: "string", + }, + items: { + $ref: "#/definitions/primitivesItems", + }, + collectionFormat: { + $ref: "#/definitions/collectionFormat", + }, + default: { + $ref: "#/definitions/default", + }, + maximum: { + $ref: "#/definitions/maximum", + }, + exclusiveMaximum: { + $ref: "#/definitions/exclusiveMaximum", + }, + minimum: { + $ref: "#/definitions/minimum", + }, + exclusiveMinimum: { + $ref: "#/definitions/exclusiveMinimum", + }, + maxLength: { + $ref: "#/definitions/maxLength", + }, + minLength: { + $ref: "#/definitions/minLength", + }, + pattern: { + $ref: "#/definitions/pattern", + }, + maxItems: { + $ref: "#/definitions/maxItems", + }, + minItems: { + $ref: "#/definitions/minItems", + }, + uniqueItems: { + $ref: "#/definitions/uniqueItems", + }, + enum: { + $ref: "#/definitions/enum", + }, + multipleOf: { + $ref: "#/definitions/multipleOf", + }, }, - "else": { - "properties": { - "explode": { - "default": false - } - } - } - } - } - } - }, - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "parameter-or-reference": { - "if": { - "required": [ - "$ref" - ] - }, - "then": { - "$ref": "#/$defs/reference" - }, - "else": { - "$ref": "#/$defs/parameter" - } - }, - "request-body": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "content": { - "$ref": "#/$defs/content" - }, - "required": { - "default": false, - "type": "boolean" - } - }, - "required": [ - "content" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "request-body-or-reference": { - "if": { - "required": [ - "$ref" - ] - }, - "then": { - "$ref": "#/$defs/reference" - }, - "else": { - "$ref": "#/$defs/request-body" - } - }, - "content": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/media-type" - }, - "propertyNames": { - "format": "media-range" - } - }, - "media-type": { - "type": "object", - "properties": { - "schema": { - "$dynamicRef": "#meta" - }, - "encoding": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/encoding" - } - } - }, - "allOf": [ - { - "$ref": "#/$defs/specification-extensions" - }, - { - "$ref": "#/$defs/examples" - } - ], - "unevaluatedProperties": false - }, - "encoding": { - "type": "object", - "properties": { - "contentType": { - "type": "string", - "format": "media-range" - }, - "headers": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/header-or-reference" - } - }, - "style": { - "default": "form", - "enum": [ - "form", - "spaceDelimited", - "pipeDelimited", - "deepObject" - ] - }, - "explode": { - "type": "boolean" - }, - "allowReserved": { - "default": false, - "type": "boolean" - } - }, - "allOf": [ - { - "$ref": "#/$defs/specification-extensions" - }, - { - "$ref": "#/$defs/encoding/$defs/explode-default" - } - ], - "unevaluatedProperties": false, - "$defs": { - "explode-default": { - "if": { - "properties": { - "style": { - "const": "form" - } - }, - "required": [ - "style" - ] - }, - "then": { - "properties": { - "explode": { - "default": true - } - } - }, - "else": { - "properties": { - "explode": { - "default": false - } - } - } - } - } - }, - "responses": { - "type": "object", - "properties": { - "default": { - "$ref": "#/$defs/response-or-reference" - } - }, - "patternProperties": { - "^[1-5][0-9X]{2}$": { - "$ref": "#/$defs/response-or-reference" - } - }, - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "response": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "headers": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/header-or-reference" - } - }, - "content": { - "$ref": "#/$defs/content" - }, - "links": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/link-or-reference" - } - } - }, - "required": [ - "description" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "response-or-reference": { - "if": { - "required": [ - "$ref" - ] - }, - "then": { - "$ref": "#/$defs/reference" - }, - "else": { - "$ref": "#/$defs/response" - } - }, - "callbacks": { - "type": "object", - "$ref": "#/$defs/specification-extensions", - "additionalProperties": { - "$ref": "#/$defs/path-item-or-reference" - } - }, - "callbacks-or-reference": { - "if": { - "required": [ - "$ref" - ] - }, - "then": { - "$ref": "#/$defs/reference" - }, - "else": { - "$ref": "#/$defs/callbacks" - } - }, - "example": { - "type": "object", - "properties": { - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "value": true, - "externalValue": { - "$ref": "#/$defs/uri" - } - }, - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "example-or-reference": { - "if": { - "required": [ - "$ref" - ] - }, - "then": { - "$ref": "#/$defs/reference" - }, - "else": { - "$ref": "#/$defs/example" - } - }, - "link": { - "type": "object", - "properties": { - "operationRef": { - "$ref": "#/$defs/uri" - }, - "operationId": true, - "parameters": { - "$ref": "#/$defs/map-of-strings" - }, - "requestBody": true, - "description": { - "type": "string" - }, - "body": { - "$ref": "#/$defs/server" - } - }, - "oneOf": [ - { - "required": [ - "operationRef" - ] - }, - { - "required": [ - "operationId" - ] - } - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "link-or-reference": { - "if": { - "required": [ - "$ref" - ] - }, - "then": { - "$ref": "#/$defs/reference" - }, - "else": { - "$ref": "#/$defs/link" - } - }, - "header": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "required": { - "default": false, - "type": "boolean" - }, - "deprecated": { - "default": false, - "type": "boolean" - }, - "allowEmptyValue": { - "default": false, - "type": "boolean" - } - }, - "dependentSchemas": { - "schema": { - "properties": { - "style": { - "default": "simple", - "enum": [ - "simple" - ] - }, - "explode": { - "default": false, - "type": "boolean" - }, - "allowReserved": { - "default": false, - "type": "boolean" - }, - "schema": { - "$dynamicRef": "#meta" - } - }, - "$ref": "#/$defs/examples" - }, - "content": { - "properties": { - "content": { - "$ref": "#/$defs/content" - } - } - } - }, - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "header-or-reference": { - "if": { - "required": [ - "$ref" - ] - }, - "then": { - "$ref": "#/$defs/reference" - }, - "else": { - "$ref": "#/$defs/header" - } - }, - "tag": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "externalDocs": { - "$ref": "#/$defs/external-documentation" - } - }, - "required": [ - "name" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "reference": { - "type": "object", - "properties": { - "$ref": { - "$ref": "#/$defs/uri" - }, - "summary": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "unevaluatedProperties": false - }, - "schema": { - "$dynamicAnchor": "meta", - "type": [ - "object", - "boolean" - ] - }, - "security-scheme": { - "type": "object", - "properties": { - "type": { - "enum": [ - "apiKey", - "http", - "mutualTLS", - "oauth2", - "openIdConnect" - ] - }, - "description": { - "type": "string" - } - }, - "required": [ - "type" - ], - "allOf": [ - { - "$ref": "#/$defs/specification-extensions" - }, - { - "$ref": "#/$defs/security-scheme/$defs/type-apikey" - }, - { - "$ref": "#/$defs/security-scheme/$defs/type-http" - }, - { - "$ref": "#/$defs/security-scheme/$defs/type-http-bearer" - }, - { - "$ref": "#/$defs/security-scheme/$defs/type-oauth2" - }, - { - "$ref": "#/$defs/security-scheme/$defs/type-oidc" - } - ], - "unevaluatedProperties": false, - "$defs": { - "type-apikey": { - "if": { - "properties": { - "type": { - "const": "apiKey" - } - }, - "required": [ - "type" - ] - }, - "then": { - "properties": { - "name": { - "type": "string" - }, - "in": { - "enum": [ - "query", - "header", - "cookie" - ] - } - }, - "required": [ - "name", - "in" - ] - } - }, - "type-http": { - "if": { - "properties": { - "type": { - "const": "http" - } - }, - "required": [ - "type" - ] - }, - "then": { - "properties": { - "scheme": { - "type": "string" - } }, - "required": [ - "scheme" - ] - } - }, - "type-http-bearer": { - "if": { - "properties": { - "type": { - "const": "http" + nonBodyParameter: { + type: "object", + required: ["name", "in", "type"], + oneOf: [ + { + $ref: "#/definitions/headerParameterSubSchema", + }, + { + $ref: "#/definitions/formDataParameterSubSchema", + }, + { + $ref: "#/definitions/queryParameterSubSchema", + }, + { + $ref: "#/definitions/pathParameterSubSchema", + }, + ], + }, + parameter: { + oneOf: [ + { + $ref: "#/definitions/bodyParameter", + }, + { + $ref: "#/definitions/nonBodyParameter", + }, + ], + }, + schema: { + type: "object", + description: "A deterministic version of a JSON Schema object.", + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, }, - "scheme": { - "const": "bearer" - } + properties: { + $ref: { + type: "string", + }, + format: { + type: "string", + }, + title: { + $ref: "http://json-schema.org/draft-04/schema#/properties/title", + }, + description: { + $ref: "http://json-schema.org/draft-04/schema#/properties/description", + }, + default: { + $ref: "http://json-schema.org/draft-04/schema#/properties/default", + }, + multipleOf: { + $ref: "http://json-schema.org/draft-04/schema#/properties/multipleOf", + }, + maximum: { + $ref: "http://json-schema.org/draft-04/schema#/properties/maximum", + }, + exclusiveMaximum: { + $ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum", + }, + minimum: { + $ref: "http://json-schema.org/draft-04/schema#/properties/minimum", + }, + exclusiveMinimum: { + $ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum", + }, + maxLength: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger", + }, + minLength: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0", + }, + pattern: { + $ref: "http://json-schema.org/draft-04/schema#/properties/pattern", + }, + maxItems: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger", + }, + minItems: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0", + }, + uniqueItems: { + $ref: "http://json-schema.org/draft-04/schema#/properties/uniqueItems", + }, + maxProperties: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger", + }, + minProperties: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0", + }, + required: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/stringArray", + }, + enum: { + $ref: "http://json-schema.org/draft-04/schema#/properties/enum", + }, + additionalProperties: { + anyOf: [ + { + $ref: "#/definitions/schema", + }, + { + type: "boolean", + }, + ], + default: {}, + }, + type: { + $ref: "http://json-schema.org/draft-04/schema#/properties/type", + }, + items: { + anyOf: [ + { + $ref: "#/definitions/schema", + }, + { + type: "array", + minItems: 1, + items: { + $ref: "#/definitions/schema", + }, + }, + ], + default: {}, + }, + allOf: { + type: "array", + minItems: 1, + items: { + $ref: "#/definitions/schema", + }, + }, + properties: { + type: "object", + additionalProperties: { + $ref: "#/definitions/schema", + }, + default: {}, + }, + discriminator: { + type: "string", + }, + readOnly: { + type: "boolean", + default: false, + }, + xml: { + $ref: "#/definitions/xml", + }, + externalDocs: { + $ref: "#/definitions/externalDocs", + }, + example: {}, + }, + additionalProperties: false, }, - "required": [ - "type", - "scheme" - ] - }, - "then": { - "properties": { - "bearerFormat": { - "type": "string" - } + fileSchema: { + type: "object", + description: "A deterministic version of a JSON Schema object.", + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, + required: ["type"], + properties: { + format: { + type: "string", + }, + title: { + $ref: "http://json-schema.org/draft-04/schema#/properties/title", + }, + description: { + $ref: "http://json-schema.org/draft-04/schema#/properties/description", + }, + default: { + $ref: "http://json-schema.org/draft-04/schema#/properties/default", + }, + required: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/stringArray", + }, + type: { + type: "string", + enum: ["file"], + }, + readOnly: { + type: "boolean", + default: false, + }, + externalDocs: { + $ref: "#/definitions/externalDocs", + }, + example: {}, + }, + additionalProperties: false, }, - "required": [ - "scheme" - ] - } - }, - "type-oauth2": { - "if": { - "properties": { - "type": { - "const": "oauth2" - } + primitivesItems: { + type: "object", + additionalProperties: false, + properties: { + type: { + type: "string", + enum: ["string", "number", "integer", "boolean", "array"], + }, + format: { + type: "string", + }, + items: { + $ref: "#/definitions/primitivesItems", + }, + collectionFormat: { + $ref: "#/definitions/collectionFormat", + }, + default: { + $ref: "#/definitions/default", + }, + maximum: { + $ref: "#/definitions/maximum", + }, + exclusiveMaximum: { + $ref: "#/definitions/exclusiveMaximum", + }, + minimum: { + $ref: "#/definitions/minimum", + }, + exclusiveMinimum: { + $ref: "#/definitions/exclusiveMinimum", + }, + maxLength: { + $ref: "#/definitions/maxLength", + }, + minLength: { + $ref: "#/definitions/minLength", + }, + pattern: { + $ref: "#/definitions/pattern", + }, + maxItems: { + $ref: "#/definitions/maxItems", + }, + minItems: { + $ref: "#/definitions/minItems", + }, + uniqueItems: { + $ref: "#/definitions/uniqueItems", + }, + enum: { + $ref: "#/definitions/enum", + }, + multipleOf: { + $ref: "#/definitions/multipleOf", + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - "required": [ - "type" - ] - }, - "then": { - "properties": { - "flows": { - "$ref": "#/$defs/oauth-flows" - } + security: { + type: "array", + items: { + $ref: "#/definitions/securityRequirement", + }, + uniqueItems: true, }, - "required": [ - "flows" - ] - } - }, - "type-oidc": { - "if": { - "properties": { - "type": { - "const": "openIdConnect" - } + securityRequirement: { + type: "object", + additionalProperties: { + type: "array", + items: { + type: "string", + }, + uniqueItems: true, + }, }, - "required": [ - "type" - ] - }, - "then": { - "properties": { - "openIdConnectUrl": { - "$ref": "#/$defs/uri" - } + xml: { + type: "object", + additionalProperties: false, + properties: { + name: { + type: "string", + }, + namespace: { + type: "string", + }, + prefix: { + type: "string", + }, + attribute: { + type: "boolean", + default: false, + }, + wrapped: { + type: "boolean", + default: false, + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - "required": [ - "openIdConnectUrl" - ] - } - } - } - }, - "security-scheme-or-reference": { - "if": { - "required": [ - "$ref" - ] - }, - "then": { - "$ref": "#/$defs/reference" - }, - "else": { - "$ref": "#/$defs/security-scheme" - } - }, - "oauth-flows": { - "type": "object", - "properties": { - "implicit": { - "$ref": "#/$defs/oauth-flows/$defs/implicit" - }, - "password": { - "$ref": "#/$defs/oauth-flows/$defs/password" - }, - "clientCredentials": { - "$ref": "#/$defs/oauth-flows/$defs/client-credentials" - }, - "authorizationCode": { - "$ref": "#/$defs/oauth-flows/$defs/authorization-code" - } - }, - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false, - "$defs": { - "implicit": { - "type": "object", - "properties": { - "authorizationUrl": { - "type": "string" + tag: { + type: "object", + additionalProperties: false, + required: ["name"], + properties: { + name: { + type: "string", + }, + description: { + type: "string", + }, + externalDocs: { + $ref: "#/definitions/externalDocs", + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - "refreshUrl": { - "type": "string" + securityDefinitions: { + type: "object", + additionalProperties: { + oneOf: [ + { + $ref: "#/definitions/basicAuthenticationSecurity", + }, + { + $ref: "#/definitions/apiKeySecurity", + }, + { + $ref: "#/definitions/oauth2ImplicitSecurity", + }, + { + $ref: "#/definitions/oauth2PasswordSecurity", + }, + { + $ref: "#/definitions/oauth2ApplicationSecurity", + }, + { + $ref: "#/definitions/oauth2AccessCodeSecurity", + }, + ], + }, }, - "scopes": { - "$ref": "#/$defs/map-of-strings" - } - }, - "required": [ - "authorizationUrl", - "scopes" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "password": { - "type": "object", - "properties": { - "tokenUrl": { - "type": "string" + basicAuthenticationSecurity: { + type: "object", + additionalProperties: false, + required: ["type"], + properties: { + type: { + type: "string", + enum: ["basic"], + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - "refreshUrl": { - "type": "string" + apiKeySecurity: { + type: "object", + additionalProperties: false, + required: ["type", "name", "in"], + properties: { + type: { + type: "string", + enum: ["apiKey"], + }, + name: { + type: "string", + }, + in: { + type: "string", + enum: ["header", "query"], + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - "scopes": { - "$ref": "#/$defs/map-of-strings" - } - }, - "required": [ - "tokenUrl", - "scopes" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "client-credentials": { - "type": "object", - "properties": { - "tokenUrl": { - "type": "string" + oauth2ImplicitSecurity: { + type: "object", + additionalProperties: false, + required: ["type", "flow", "authorizationUrl"], + properties: { + type: { + type: "string", + enum: ["oauth2"], + }, + flow: { + type: "string", + enum: ["implicit"], + }, + scopes: { + $ref: "#/definitions/oauth2Scopes", + }, + authorizationUrl: { + type: "string", + format: "uri", + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - "refreshUrl": { - "type": "string" + oauth2PasswordSecurity: { + type: "object", + additionalProperties: false, + required: ["type", "flow", "tokenUrl"], + properties: { + type: { + type: "string", + enum: ["oauth2"], + }, + flow: { + type: "string", + enum: ["password"], + }, + scopes: { + $ref: "#/definitions/oauth2Scopes", + }, + tokenUrl: { + type: "string", + format: "uri", + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - "scopes": { - "$ref": "#/$defs/map-of-strings" - } - }, - "required": [ - "tokenUrl", - "scopes" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - }, - "authorization-code": { - "type": "object", - "properties": { - "authorizationUrl": { - "type": "string" + oauth2ApplicationSecurity: { + type: "object", + additionalProperties: false, + required: ["type", "flow", "tokenUrl"], + properties: { + type: { + type: "string", + enum: ["oauth2"], + }, + flow: { + type: "string", + enum: ["application"], + }, + scopes: { + $ref: "#/definitions/oauth2Scopes", + }, + tokenUrl: { + type: "string", + format: "uri", + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - "tokenUrl": { - "type": "string" + oauth2AccessCodeSecurity: { + type: "object", + additionalProperties: false, + required: ["type", "flow", "authorizationUrl", "tokenUrl"], + properties: { + type: { + type: "string", + enum: ["oauth2"], + }, + flow: { + type: "string", + enum: ["accessCode"], + }, + scopes: { + $ref: "#/definitions/oauth2Scopes", + }, + authorizationUrl: { + type: "string", + format: "uri", + }, + tokenUrl: { + type: "string", + format: "uri", + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": { + $ref: "#/definitions/vendorExtension", + }, + }, }, - "refreshUrl": { - "type": "string" + oauth2Scopes: { + type: "object", + additionalProperties: { + type: "string", + }, }, - "scopes": { - "$ref": "#/$defs/map-of-strings" - } - }, - "required": [ - "authorizationUrl", - "tokenUrl", - "scopes" - ], - "$ref": "#/$defs/specification-extensions", - "unevaluatedProperties": false - } - } - }, - "security-requirement": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "specification-extensions": { - "patternProperties": { - "^x-": true - } - }, - "examples": { - "properties": { - "example": true, - "examples": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/example-or-reference" - } - } - } - }, - "uri": { - "type": "string", - "format": "uri" - }, - "map-of-strings": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } -} - -},{}],30:[function(require,module,exports){ -"use strict"; - -module.exports = [ - "get", "put", "post", "delete", "options", "head", "patch" -]; - -},{}],31:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Ono = void 0; -const extend_error_1 = require("./extend-error"); -const normalize_1 = require("./normalize"); -const to_json_1 = require("./to-json"); -const constructor = Ono; -exports.Ono = constructor; -/** - * Creates an `Ono` instance for a specifc error type. - */ -// eslint-disable-next-line @typescript-eslint/naming-convention -function Ono(ErrorConstructor, options) { - options = normalize_1.normalizeOptions(options); - function ono(...args) { - let { originalError, props, message } = normalize_1.normalizeArgs(args, options); - // Create a new error of the specified type - let newError = new ErrorConstructor(message); - // Extend the error with the properties of the original error and the `props` object - return extend_error_1.extendError(newError, originalError, props); - } - ono[Symbol.species] = ErrorConstructor; - return ono; -} -/** - * Returns an object containing all properties of the given Error object, - * which can be used with `JSON.stringify()`. - */ -Ono.toJSON = function toJSON(error) { - return to_json_1.toJSON.call(error); -}; -/** - * Extends the given Error object with enhanced Ono functionality, such as nested stack traces, - * additional properties, and improved support for `JSON.stringify()`. - */ -Ono.extend = function extend(error, originalError, props) { - if (props || originalError instanceof Error) { - return extend_error_1.extendError(error, originalError, props); - } - else if (originalError) { - return extend_error_1.extendError(error, undefined, originalError); - } - else { - return extend_error_1.extendError(error); - } -}; - -},{"./extend-error":32,"./normalize":35,"./to-json":38}],32:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.extendError = void 0; -const isomorphic_node_1 = require("./isomorphic.node"); -const stack_1 = require("./stack"); -const to_json_1 = require("./to-json"); -const protectedProps = ["name", "message", "stack"]; -/** - * Extends the new error with the properties of the original error and the `props` object. - * - * @param newError - The error object to extend - * @param originalError - The original error object, if any - * @param props - Additional properties to add, if any - */ -function extendError(error, originalError, props) { - let onoError = error; - extendStack(onoError, originalError); - // Copy properties from the original error - if (originalError && typeof originalError === "object") { - mergeErrors(onoError, originalError); - } - // The default `toJSON` method doesn't output props like `name`, `message`, `stack`, etc. - // So replace it with one that outputs every property of the error. - onoError.toJSON = to_json_1.toJSON; - // On Node.js, add support for the `util.inspect()` method - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (isomorphic_node_1.addInspectMethod) { - isomorphic_node_1.addInspectMethod(onoError); - } - // Finally, copy custom properties that were specified by the user. - // These props OVERWRITE any previous props - if (props && typeof props === "object") { - Object.assign(onoError, props); - } - return onoError; -} -exports.extendError = extendError; -/** - * Extend the error stack to include its cause - */ -function extendStack(newError, originalError) { - let stackProp = Object.getOwnPropertyDescriptor(newError, "stack"); - if (stack_1.isLazyStack(stackProp)) { - stack_1.lazyJoinStacks(stackProp, newError, originalError); - } - else if (stack_1.isWritableStack(stackProp)) { - newError.stack = stack_1.joinStacks(newError, originalError); - } -} -/** - * Merges properties of the original error with the new error. - * - * @param newError - The error object to extend - * @param originalError - The original error object, if any - */ -function mergeErrors(newError, originalError) { - // Get the original error's keys - // NOTE: We specifically exclude properties that we have already set on the new error. - // This is _especially_ important for the `stack` property, because this property has - // a lazy getter in some environments - let keys = to_json_1.getDeepKeys(originalError, protectedProps); - // HACK: We have to cast the errors to `any` so we can use symbol indexers. - // see https://github.com/Microsoft/TypeScript/issues/1863 - let _newError = newError; - let _originalError = originalError; - for (let key of keys) { - if (_newError[key] === undefined) { - try { + mediaTypeList: { + type: "array", + items: { + $ref: "#/definitions/mimeType", + }, + uniqueItems: true, + }, + parametersList: { + type: "array", + description: "The parameters needed to send a valid API call.", + additionalItems: false, + items: { + oneOf: [ + { + $ref: "#/definitions/parameter", + }, + { + $ref: "#/definitions/jsonReference", + }, + ], + }, + uniqueItems: true, + }, + schemesList: { + type: "array", + description: "The transfer protocol of the API.", + items: { + type: "string", + enum: ["http", "https", "ws", "wss"], + }, + uniqueItems: true, + }, + collectionFormat: { + type: "string", + enum: ["csv", "ssv", "tsv", "pipes"], + default: "csv", + }, + collectionFormatWithMulti: { + type: "string", + enum: ["csv", "ssv", "tsv", "pipes", "multi"], + default: "csv", + }, + title: { + $ref: "http://json-schema.org/draft-04/schema#/properties/title", + }, + description: { + $ref: "http://json-schema.org/draft-04/schema#/properties/description", + }, + default: { + $ref: "http://json-schema.org/draft-04/schema#/properties/default", + }, + multipleOf: { + $ref: "http://json-schema.org/draft-04/schema#/properties/multipleOf", + }, + maximum: { + $ref: "http://json-schema.org/draft-04/schema#/properties/maximum", + }, + exclusiveMaximum: { + $ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum", + }, + minimum: { + $ref: "http://json-schema.org/draft-04/schema#/properties/minimum", + }, + exclusiveMinimum: { + $ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum", + }, + maxLength: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger", + }, + minLength: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0", + }, + pattern: { + $ref: "http://json-schema.org/draft-04/schema#/properties/pattern", + }, + maxItems: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger", + }, + minItems: { + $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0", + }, + uniqueItems: { + $ref: "http://json-schema.org/draft-04/schema#/properties/uniqueItems", + }, + enum: { + $ref: "http://json-schema.org/draft-04/schema#/properties/enum", + }, + jsonReference: { + type: "object", + required: ["$ref"], + additionalProperties: false, + properties: { + $ref: { + type: "string", + }, + }, + }, + }, + }; + }, + {}, + ], + 28: [ + function (require, module, exports) { + module.exports = { + id: "https://spec.openapis.org/oas/3.0/schema/2019-04-02", + $schema: "http://json-schema.org/draft-04/schema#", + description: "Validation schema for OpenAPI Specification 3.0.X.", + type: "object", + required: ["openapi", "info", "paths"], + properties: { + openapi: { + type: "string", + pattern: "^3\\.0\\.\\d(-.+)?$", + }, + info: { + $ref: "#/definitions/Info", + }, + externalDocs: { + $ref: "#/definitions/ExternalDocumentation", + }, + servers: { + type: "array", + items: { + $ref: "#/definitions/Server", + }, + }, + security: { + type: "array", + items: { + $ref: "#/definitions/SecurityRequirement", + }, + }, + tags: { + type: "array", + items: { + $ref: "#/definitions/Tag", + }, + uniqueItems: true, + }, + paths: { + $ref: "#/definitions/Paths", + }, + components: { + $ref: "#/definitions/Components", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + definitions: { + Reference: { + type: "object", + required: ["$ref"], + patternProperties: { + "^\\$ref$": { + type: "string", + format: "uri-reference", + }, + }, + }, + Info: { + type: "object", + required: ["title", "version"], + properties: { + title: { + type: "string", + }, + description: { + type: "string", + }, + termsOfService: { + type: "string", + format: "uri-reference", + }, + contact: { + $ref: "#/definitions/Contact", + }, + license: { + $ref: "#/definitions/License", + }, + version: { + type: "string", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + Contact: { + type: "object", + properties: { + name: { + type: "string", + }, + url: { + type: "string", + format: "uri-reference", + }, + email: { + type: "string", + format: "email", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + License: { + type: "object", + required: ["name"], + properties: { + name: { + type: "string", + }, + url: { + type: "string", + format: "uri-reference", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + Server: { + type: "object", + required: ["url"], + properties: { + url: { + type: "string", + }, + description: { + type: "string", + }, + variables: { + type: "object", + additionalProperties: { + $ref: "#/definitions/ServerVariable", + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + ServerVariable: { + type: "object", + required: ["default"], + properties: { + enum: { + type: "array", + items: { + type: "string", + }, + }, + default: { + type: "string", + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + Components: { + type: "object", + properties: { + schemas: { + type: "object", + patternProperties: { + "^[a-zA-Z0-9\\.\\-_]+$": { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + }, + responses: { + type: "object", + patternProperties: { + "^[a-zA-Z0-9\\.\\-_]+$": { + oneOf: [ + { + $ref: "#/definitions/Reference", + }, + { + $ref: "#/definitions/Response", + }, + ], + }, + }, + }, + parameters: { + type: "object", + patternProperties: { + "^[a-zA-Z0-9\\.\\-_]+$": { + oneOf: [ + { + $ref: "#/definitions/Reference", + }, + { + $ref: "#/definitions/Parameter", + }, + ], + }, + }, + }, + examples: { + type: "object", + patternProperties: { + "^[a-zA-Z0-9\\.\\-_]+$": { + oneOf: [ + { + $ref: "#/definitions/Reference", + }, + { + $ref: "#/definitions/Example", + }, + ], + }, + }, + }, + requestBodies: { + type: "object", + patternProperties: { + "^[a-zA-Z0-9\\.\\-_]+$": { + oneOf: [ + { + $ref: "#/definitions/Reference", + }, + { + $ref: "#/definitions/RequestBody", + }, + ], + }, + }, + }, + headers: { + type: "object", + patternProperties: { + "^[a-zA-Z0-9\\.\\-_]+$": { + oneOf: [ + { + $ref: "#/definitions/Reference", + }, + { + $ref: "#/definitions/Header", + }, + ], + }, + }, + }, + securitySchemes: { + type: "object", + patternProperties: { + "^[a-zA-Z0-9\\.\\-_]+$": { + oneOf: [ + { + $ref: "#/definitions/Reference", + }, + { + $ref: "#/definitions/SecurityScheme", + }, + ], + }, + }, + }, + links: { + type: "object", + patternProperties: { + "^[a-zA-Z0-9\\.\\-_]+$": { + oneOf: [ + { + $ref: "#/definitions/Reference", + }, + { + $ref: "#/definitions/Link", + }, + ], + }, + }, + }, + callbacks: { + type: "object", + patternProperties: { + "^[a-zA-Z0-9\\.\\-_]+$": { + oneOf: [ + { + $ref: "#/definitions/Reference", + }, + { + $ref: "#/definitions/Callback", + }, + ], + }, + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + Schema: { + type: "object", + properties: { + title: { + type: "string", + }, + multipleOf: { + type: "number", + minimum: 0, + exclusiveMinimum: true, + }, + maximum: { + type: "number", + }, + exclusiveMaximum: { + type: "boolean", + default: false, + }, + minimum: { + type: "number", + }, + exclusiveMinimum: { + type: "boolean", + default: false, + }, + maxLength: { + type: "integer", + minimum: 0, + }, + minLength: { + type: "integer", + minimum: 0, + default: 0, + }, + pattern: { + type: "string", + format: "regex", + }, + maxItems: { + type: "integer", + minimum: 0, + }, + minItems: { + type: "integer", + minimum: 0, + default: 0, + }, + uniqueItems: { + type: "boolean", + default: false, + }, + maxProperties: { + type: "integer", + minimum: 0, + }, + minProperties: { + type: "integer", + minimum: 0, + default: 0, + }, + required: { + type: "array", + items: { + type: "string", + }, + minItems: 1, + uniqueItems: true, + }, + enum: { + type: "array", + items: {}, + minItems: 1, + uniqueItems: false, + }, + type: { + type: "string", + enum: ["array", "boolean", "integer", "number", "object", "string"], + }, + not: { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + allOf: { + type: "array", + items: { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + oneOf: { + type: "array", + items: { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + anyOf: { + type: "array", + items: { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + items: { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + properties: { + type: "object", + additionalProperties: { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + additionalProperties: { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + { + type: "boolean", + }, + ], + default: true, + }, + description: { + type: "string", + }, + format: { + type: "string", + }, + default: {}, + nullable: { + type: "boolean", + default: false, + }, + discriminator: { + $ref: "#/definitions/Discriminator", + }, + readOnly: { + type: "boolean", + default: false, + }, + writeOnly: { + type: "boolean", + default: false, + }, + example: {}, + externalDocs: { + $ref: "#/definitions/ExternalDocumentation", + }, + deprecated: { + type: "boolean", + default: false, + }, + xml: { + $ref: "#/definitions/XML", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + Discriminator: { + type: "object", + required: ["propertyName"], + properties: { + propertyName: { + type: "string", + }, + mapping: { + type: "object", + additionalProperties: { + type: "string", + }, + }, + }, + }, + XML: { + type: "object", + properties: { + name: { + type: "string", + }, + namespace: { + type: "string", + format: "uri", + }, + prefix: { + type: "string", + }, + attribute: { + type: "boolean", + default: false, + }, + wrapped: { + type: "boolean", + default: false, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + Response: { + type: "object", + required: ["description"], + properties: { + description: { + type: "string", + }, + headers: { + type: "object", + additionalProperties: { + oneOf: [ + { + $ref: "#/definitions/Header", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + content: { + type: "object", + additionalProperties: { + $ref: "#/definitions/MediaType", + }, + }, + links: { + type: "object", + additionalProperties: { + oneOf: [ + { + $ref: "#/definitions/Link", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + MediaType: { + type: "object", + properties: { + schema: { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + example: {}, + examples: { + type: "object", + additionalProperties: { + oneOf: [ + { + $ref: "#/definitions/Example", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + encoding: { + type: "object", + additionalProperties: { + $ref: "#/definitions/Encoding", + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + allOf: [ + { + $ref: "#/definitions/ExampleXORExamples", + }, + ], + }, + Example: { + type: "object", + properties: { + summary: { + type: "string", + }, + description: { + type: "string", + }, + value: {}, + externalValue: { + type: "string", + format: "uri-reference", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + Header: { + type: "object", + properties: { + description: { + type: "string", + }, + required: { + type: "boolean", + default: false, + }, + deprecated: { + type: "boolean", + default: false, + }, + allowEmptyValue: { + type: "boolean", + default: false, + }, + style: { + type: "string", + enum: ["simple"], + default: "simple", + }, + explode: { + type: "boolean", + }, + allowReserved: { + type: "boolean", + default: false, + }, + schema: { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + content: { + type: "object", + additionalProperties: { + $ref: "#/definitions/MediaType", + }, + minProperties: 1, + maxProperties: 1, + }, + example: {}, + examples: { + type: "object", + additionalProperties: { + oneOf: [ + { + $ref: "#/definitions/Example", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + allOf: [ + { + $ref: "#/definitions/ExampleXORExamples", + }, + { + $ref: "#/definitions/SchemaXORContent", + }, + ], + }, + Paths: { + type: "object", + patternProperties: { + "^\\/": { + $ref: "#/definitions/PathItem", + }, + "^x-": {}, + }, + additionalProperties: false, + }, + PathItem: { + type: "object", + properties: { + $ref: { + type: "string", + }, + summary: { + type: "string", + }, + description: { + type: "string", + }, + servers: { + type: "array", + items: { + $ref: "#/definitions/Server", + }, + }, + parameters: { + type: "array", + items: { + oneOf: [ + { + $ref: "#/definitions/Parameter", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + uniqueItems: true, + }, + }, + patternProperties: { + "^(get|put|post|delete|options|head|patch|trace)$": { + $ref: "#/definitions/Operation", + }, + "^x-": {}, + }, + additionalProperties: false, + }, + Operation: { + type: "object", + required: ["responses"], + properties: { + tags: { + type: "array", + items: { + type: "string", + }, + }, + summary: { + type: "string", + }, + description: { + type: "string", + }, + externalDocs: { + $ref: "#/definitions/ExternalDocumentation", + }, + operationId: { + type: "string", + }, + parameters: { + type: "array", + items: { + oneOf: [ + { + $ref: "#/definitions/Parameter", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + uniqueItems: true, + }, + requestBody: { + oneOf: [ + { + $ref: "#/definitions/RequestBody", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + responses: { + $ref: "#/definitions/Responses", + }, + callbacks: { + type: "object", + additionalProperties: { + oneOf: [ + { + $ref: "#/definitions/Callback", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + deprecated: { + type: "boolean", + default: false, + }, + security: { + type: "array", + items: { + $ref: "#/definitions/SecurityRequirement", + }, + }, + servers: { + type: "array", + items: { + $ref: "#/definitions/Server", + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + Responses: { + type: "object", + properties: { + default: { + oneOf: [ + { + $ref: "#/definitions/Response", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + patternProperties: { + "^[1-5](?:\\d{2}|XX)$": { + oneOf: [ + { + $ref: "#/definitions/Response", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + "^x-": {}, + }, + minProperties: 1, + additionalProperties: false, + }, + SecurityRequirement: { + type: "object", + additionalProperties: { + type: "array", + items: { + type: "string", + }, + }, + }, + Tag: { + type: "object", + required: ["name"], + properties: { + name: { + type: "string", + }, + description: { + type: "string", + }, + externalDocs: { + $ref: "#/definitions/ExternalDocumentation", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + ExternalDocumentation: { + type: "object", + required: ["url"], + properties: { + description: { + type: "string", + }, + url: { + type: "string", + format: "uri-reference", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + ExampleXORExamples: { + description: "Example and examples are mutually exclusive", + not: { + required: ["example", "examples"], + }, + }, + SchemaXORContent: { + description: "Schema and content are mutually exclusive, at least one is required", + not: { + required: ["schema", "content"], + }, + oneOf: [ + { + required: ["schema"], + }, + { + required: ["content"], + description: "Some properties are not allowed if content is present", + allOf: [ + { + not: { + required: ["style"], + }, + }, + { + not: { + required: ["explode"], + }, + }, + { + not: { + required: ["allowReserved"], + }, + }, + { + not: { + required: ["example"], + }, + }, + { + not: { + required: ["examples"], + }, + }, + ], + }, + ], + }, + Parameter: { + type: "object", + properties: { + name: { + type: "string", + }, + in: { + type: "string", + }, + description: { + type: "string", + }, + required: { + type: "boolean", + default: false, + }, + deprecated: { + type: "boolean", + default: false, + }, + allowEmptyValue: { + type: "boolean", + default: false, + }, + style: { + type: "string", + }, + explode: { + type: "boolean", + }, + allowReserved: { + type: "boolean", + default: false, + }, + schema: { + oneOf: [ + { + $ref: "#/definitions/Schema", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + content: { + type: "object", + additionalProperties: { + $ref: "#/definitions/MediaType", + }, + minProperties: 1, + maxProperties: 1, + }, + example: {}, + examples: { + type: "object", + additionalProperties: { + oneOf: [ + { + $ref: "#/definitions/Example", + }, + { + $ref: "#/definitions/Reference", + }, + ], + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + required: ["name", "in"], + allOf: [ + { + $ref: "#/definitions/ExampleXORExamples", + }, + { + $ref: "#/definitions/SchemaXORContent", + }, + { + $ref: "#/definitions/ParameterLocation", + }, + ], + }, + ParameterLocation: { + description: "Parameter location", + oneOf: [ + { + description: "Parameter in path", + required: ["required"], + properties: { + in: { + enum: ["path"], + }, + style: { + enum: ["matrix", "label", "simple"], + default: "simple", + }, + required: { + enum: [true], + }, + }, + }, + { + description: "Parameter in query", + properties: { + in: { + enum: ["query"], + }, + style: { + enum: ["form", "spaceDelimited", "pipeDelimited", "deepObject"], + default: "form", + }, + }, + }, + { + description: "Parameter in header", + properties: { + in: { + enum: ["header"], + }, + style: { + enum: ["simple"], + default: "simple", + }, + }, + }, + { + description: "Parameter in cookie", + properties: { + in: { + enum: ["cookie"], + }, + style: { + enum: ["form"], + default: "form", + }, + }, + }, + ], + }, + RequestBody: { + type: "object", + required: ["content"], + properties: { + description: { + type: "string", + }, + content: { + type: "object", + additionalProperties: { + $ref: "#/definitions/MediaType", + }, + }, + required: { + type: "boolean", + default: false, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + SecurityScheme: { + oneOf: [ + { + $ref: "#/definitions/APIKeySecurityScheme", + }, + { + $ref: "#/definitions/HTTPSecurityScheme", + }, + { + $ref: "#/definitions/OAuth2SecurityScheme", + }, + { + $ref: "#/definitions/OpenIdConnectSecurityScheme", + }, + ], + }, + APIKeySecurityScheme: { + type: "object", + required: ["type", "name", "in"], + properties: { + type: { + type: "string", + enum: ["apiKey"], + }, + name: { + type: "string", + }, + in: { + type: "string", + enum: ["header", "query", "cookie"], + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + HTTPSecurityScheme: { + type: "object", + required: ["scheme", "type"], + properties: { + scheme: { + type: "string", + }, + bearerFormat: { + type: "string", + }, + description: { + type: "string", + }, + type: { + type: "string", + enum: ["http"], + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + oneOf: [ + { + description: "Bearer", + properties: { + scheme: { + enum: ["bearer"], + }, + }, + }, + { + description: "Non Bearer", + not: { + required: ["bearerFormat"], + }, + properties: { + scheme: { + not: { + enum: ["bearer"], + }, + }, + }, + }, + ], + }, + OAuth2SecurityScheme: { + type: "object", + required: ["type", "flows"], + properties: { + type: { + type: "string", + enum: ["oauth2"], + }, + flows: { + $ref: "#/definitions/OAuthFlows", + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + OpenIdConnectSecurityScheme: { + type: "object", + required: ["type", "openIdConnectUrl"], + properties: { + type: { + type: "string", + enum: ["openIdConnect"], + }, + openIdConnectUrl: { + type: "string", + format: "uri-reference", + }, + description: { + type: "string", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + OAuthFlows: { + type: "object", + properties: { + implicit: { + $ref: "#/definitions/ImplicitOAuthFlow", + }, + password: { + $ref: "#/definitions/PasswordOAuthFlow", + }, + clientCredentials: { + $ref: "#/definitions/ClientCredentialsFlow", + }, + authorizationCode: { + $ref: "#/definitions/AuthorizationCodeOAuthFlow", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + ImplicitOAuthFlow: { + type: "object", + required: ["authorizationUrl", "scopes"], + properties: { + authorizationUrl: { + type: "string", + format: "uri-reference", + }, + refreshUrl: { + type: "string", + format: "uri-reference", + }, + scopes: { + type: "object", + additionalProperties: { + type: "string", + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + PasswordOAuthFlow: { + type: "object", + required: ["tokenUrl"], + properties: { + tokenUrl: { + type: "string", + format: "uri-reference", + }, + refreshUrl: { + type: "string", + format: "uri-reference", + }, + scopes: { + type: "object", + additionalProperties: { + type: "string", + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + ClientCredentialsFlow: { + type: "object", + required: ["tokenUrl"], + properties: { + tokenUrl: { + type: "string", + format: "uri-reference", + }, + refreshUrl: { + type: "string", + format: "uri-reference", + }, + scopes: { + type: "object", + additionalProperties: { + type: "string", + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + AuthorizationCodeOAuthFlow: { + type: "object", + required: ["authorizationUrl", "tokenUrl"], + properties: { + authorizationUrl: { + type: "string", + format: "uri-reference", + }, + tokenUrl: { + type: "string", + format: "uri-reference", + }, + refreshUrl: { + type: "string", + format: "uri-reference", + }, + scopes: { + type: "object", + additionalProperties: { + type: "string", + }, + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + }, + Link: { + type: "object", + properties: { + operationId: { + type: "string", + }, + operationRef: { + type: "string", + format: "uri-reference", + }, + parameters: { + type: "object", + additionalProperties: {}, + }, + requestBody: {}, + description: { + type: "string", + }, + server: { + $ref: "#/definitions/Server", + }, + }, + patternProperties: { + "^x-": {}, + }, + additionalProperties: false, + not: { + description: "Operation Id and Operation Ref are mutually exclusive", + required: ["operationId", "operationRef"], + }, + }, + Callback: { + type: "object", + additionalProperties: { + $ref: "#/definitions/PathItem", + }, + patternProperties: { + "^x-": {}, + }, + }, + Encoding: { + type: "object", + properties: { + contentType: { + type: "string", + }, + headers: { + type: "object", + additionalProperties: { + $ref: "#/definitions/Header", + }, + }, + style: { + type: "string", + enum: ["form", "spaceDelimited", "pipeDelimited", "deepObject"], + }, + explode: { + type: "boolean", + }, + allowReserved: { + type: "boolean", + default: false, + }, + }, + additionalProperties: false, + }, + }, + }; + }, + {}, + ], + 29: [ + function (require, module, exports) { + module.exports = { + $id: "https://spec.openapis.org/oas/3.1/schema/2021-04-15", + $schema: "https://json-schema.org/draft/2020-12/schema", + type: "object", + properties: { + openapi: { + type: "string", + pattern: "^3\\.1\\.\\d+(-.+)?$", + }, + info: { + $ref: "#/$defs/info", + }, + jsonSchemaDialect: { + $ref: "#/$defs/uri", + default: "https://spec.openapis.org/oas/3.1/dialect/base", + }, + servers: { + type: "array", + items: { + $ref: "#/$defs/server", + }, + }, + paths: { + $ref: "#/$defs/paths", + }, + webhooks: { + type: "object", + additionalProperties: { + $ref: "#/$defs/path-item-or-reference", + }, + }, + components: { + $ref: "#/$defs/components", + }, + security: { + type: "array", + items: { + $ref: "#/$defs/security-requirement", + }, + }, + tags: { + type: "array", + items: { + $ref: "#/$defs/tag", + }, + }, + externalDocs: { + $ref: "#/$defs/external-documentation", + }, + }, + required: ["openapi", "info"], + anyOf: [ + { + required: ["paths"], + }, + { + required: ["components"], + }, + { + required: ["webhooks"], + }, + ], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + $defs: { + info: { + type: "object", + properties: { + title: { + type: "string", + }, + summary: { + type: "string", + }, + description: { + type: "string", + }, + termsOfService: { + type: "string", + }, + contact: { + $ref: "#/$defs/contact", + }, + license: { + $ref: "#/$defs/license", + }, + version: { + type: "string", + }, + }, + required: ["title", "version"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + contact: { + type: "object", + properties: { + name: { + type: "string", + }, + url: { + type: "string", + }, + email: { + type: "string", + }, + }, + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + license: { + type: "object", + properties: { + name: { + type: "string", + }, + identifier: { + type: "string", + }, + url: { + $ref: "#/$defs/uri", + }, + }, + required: ["name"], + oneOf: [ + { + required: ["identifier"], + }, + { + required: ["url"], + }, + ], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + server: { + type: "object", + properties: { + url: { + $ref: "#/$defs/uri", + }, + description: { + type: "string", + }, + variables: { + type: "object", + additionalProperties: { + $ref: "#/$defs/server-variable", + }, + }, + }, + required: ["url"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "server-variable": { + type: "object", + properties: { + enum: { + type: "array", + items: { + type: "string", + }, + minItems: 1, + }, + default: { + type: "string", + }, + descriptions: { + type: "string", + }, + }, + required: ["default"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + components: { + type: "object", + properties: { + schemas: { + type: "object", + additionalProperties: { + $dynamicRef: "#meta", + }, + }, + responses: { + type: "object", + additionalProperties: { + $ref: "#/$defs/response-or-reference", + }, + }, + parameters: { + type: "object", + additionalProperties: { + $ref: "#/$defs/parameter-or-reference", + }, + }, + examples: { + type: "object", + additionalProperties: { + $ref: "#/$defs/example-or-reference", + }, + }, + requestBodies: { + type: "object", + additionalProperties: { + $ref: "#/$defs/request-body-or-reference", + }, + }, + headers: { + type: "object", + additionalProperties: { + $ref: "#/$defs/header-or-reference", + }, + }, + securitySchemes: { + type: "object", + additionalProperties: { + $ref: "#/$defs/security-scheme-or-reference", + }, + }, + links: { + type: "object", + additionalProperties: { + $ref: "#/$defs/link-or-reference", + }, + }, + callbacks: { + type: "object", + additionalProperties: { + $ref: "#/$defs/callbacks-or-reference", + }, + }, + pathItems: { + type: "object", + additionalProperties: { + $ref: "#/$defs/path-item-or-reference", + }, + }, + }, + patternProperties: { + "^(schemas|responses|parameters|examples|requestBodies|headers|securitySchemes|links|callbacks|pathItems)$": + { + $comment: + "Enumerating all of the property names in the regex above is necessary for unevaluatedProperties to work as expected", + propertyNames: { + pattern: "^[a-zA-Z0-9._-]+$", + }, + }, + }, + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + paths: { + type: "object", + patternProperties: { + "^/": { + $ref: "#/$defs/path-item", + }, + }, + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "path-item": { + type: "object", + properties: { + summary: { + type: "string", + }, + description: { + type: "string", + }, + servers: { + type: "array", + items: { + $ref: "#/$defs/server", + }, + }, + parameters: { + type: "array", + items: { + $ref: "#/$defs/parameter-or-reference", + }, + }, + }, + patternProperties: { + "^(get|put|post|delete|options|head|patch|trace)$": { + $ref: "#/$defs/operation", + }, + }, + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "path-item-or-reference": { + if: { + required: ["$ref"], + }, + then: { + $ref: "#/$defs/reference", + }, + else: { + $ref: "#/$defs/path-item", + }, + }, + operation: { + type: "object", + properties: { + tags: { + type: "array", + items: { + type: "string", + }, + }, + summary: { + type: "string", + }, + description: { + type: "string", + }, + externalDocs: { + $ref: "#/$defs/external-documentation", + }, + operationId: { + type: "string", + }, + parameters: { + type: "array", + items: { + $ref: "#/$defs/parameter-or-reference", + }, + }, + requestBody: { + $ref: "#/$defs/request-body-or-reference", + }, + responses: { + $ref: "#/$defs/responses", + }, + callbacks: { + type: "object", + additionalProperties: { + $ref: "#/$defs/callbacks-or-reference", + }, + }, + deprecated: { + default: false, + type: "boolean", + }, + security: { + type: "array", + items: { + $ref: "#/$defs/security-requirement", + }, + }, + servers: { + type: "array", + items: { + $ref: "#/$defs/server", + }, + }, + }, + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "external-documentation": { + type: "object", + properties: { + description: { + type: "string", + }, + url: { + $ref: "#/$defs/uri", + }, + }, + required: ["url"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + parameter: { + type: "object", + properties: { + name: { + type: "string", + }, + in: { + enum: ["query", "header", "path", "cookie"], + }, + description: { + type: "string", + }, + required: { + default: false, + type: "boolean", + }, + deprecated: { + default: false, + type: "boolean", + }, + allowEmptyValue: { + default: false, + type: "boolean", + }, + schema: { + $dynamicRef: "#meta", + }, + content: { + $ref: "#/$defs/content", + }, + }, + required: ["in"], + oneOf: [ + { + required: ["schema"], + }, + { + required: ["content"], + }, + ], + dependentSchemas: { + schema: { + properties: { + style: { + type: "string", + }, + explode: { + type: "boolean", + }, + allowReserved: { + default: false, + type: "boolean", + }, + }, + allOf: [ + { + $ref: "#/$defs/examples", + }, + { + $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-path", + }, + { + $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-header", + }, + { + $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-query", + }, + { + $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-cookie", + }, + { + $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-form", + }, + ], + $defs: { + "styles-for-path": { + if: { + properties: { + in: { + const: "path", + }, + }, + required: ["in"], + }, + then: { + properties: { + style: { + default: "simple", + enum: ["matrix", "label", "simple"], + }, + required: { + const: true, + }, + }, + required: ["required"], + }, + }, + "styles-for-header": { + if: { + properties: { + in: { + const: "header", + }, + }, + required: ["in"], + }, + then: { + properties: { + style: { + default: "simple", + enum: ["simple"], + }, + }, + }, + }, + "styles-for-query": { + if: { + properties: { + in: { + const: "query", + }, + }, + required: ["in"], + }, + then: { + properties: { + style: { + default: "form", + enum: ["form", "spaceDelimited", "pipeDelimited", "deepObject"], + }, + }, + }, + }, + "styles-for-cookie": { + if: { + properties: { + in: { + const: "cookie", + }, + }, + required: ["in"], + }, + then: { + properties: { + style: { + default: "form", + enum: ["form"], + }, + }, + }, + }, + "styles-for-form": { + if: { + properties: { + style: { + const: "form", + }, + }, + required: ["style"], + }, + then: { + properties: { + explode: { + default: true, + }, + }, + }, + else: { + properties: { + explode: { + default: false, + }, + }, + }, + }, + }, + }, + }, + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "parameter-or-reference": { + if: { + required: ["$ref"], + }, + then: { + $ref: "#/$defs/reference", + }, + else: { + $ref: "#/$defs/parameter", + }, + }, + "request-body": { + type: "object", + properties: { + description: { + type: "string", + }, + content: { + $ref: "#/$defs/content", + }, + required: { + default: false, + type: "boolean", + }, + }, + required: ["content"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "request-body-or-reference": { + if: { + required: ["$ref"], + }, + then: { + $ref: "#/$defs/reference", + }, + else: { + $ref: "#/$defs/request-body", + }, + }, + content: { + type: "object", + additionalProperties: { + $ref: "#/$defs/media-type", + }, + propertyNames: { + format: "media-range", + }, + }, + "media-type": { + type: "object", + properties: { + schema: { + $dynamicRef: "#meta", + }, + encoding: { + type: "object", + additionalProperties: { + $ref: "#/$defs/encoding", + }, + }, + }, + allOf: [ + { + $ref: "#/$defs/specification-extensions", + }, + { + $ref: "#/$defs/examples", + }, + ], + unevaluatedProperties: false, + }, + encoding: { + type: "object", + properties: { + contentType: { + type: "string", + format: "media-range", + }, + headers: { + type: "object", + additionalProperties: { + $ref: "#/$defs/header-or-reference", + }, + }, + style: { + default: "form", + enum: ["form", "spaceDelimited", "pipeDelimited", "deepObject"], + }, + explode: { + type: "boolean", + }, + allowReserved: { + default: false, + type: "boolean", + }, + }, + allOf: [ + { + $ref: "#/$defs/specification-extensions", + }, + { + $ref: "#/$defs/encoding/$defs/explode-default", + }, + ], + unevaluatedProperties: false, + $defs: { + "explode-default": { + if: { + properties: { + style: { + const: "form", + }, + }, + required: ["style"], + }, + then: { + properties: { + explode: { + default: true, + }, + }, + }, + else: { + properties: { + explode: { + default: false, + }, + }, + }, + }, + }, + }, + responses: { + type: "object", + properties: { + default: { + $ref: "#/$defs/response-or-reference", + }, + }, + patternProperties: { + "^[1-5][0-9X]{2}$": { + $ref: "#/$defs/response-or-reference", + }, + }, + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + response: { + type: "object", + properties: { + description: { + type: "string", + }, + headers: { + type: "object", + additionalProperties: { + $ref: "#/$defs/header-or-reference", + }, + }, + content: { + $ref: "#/$defs/content", + }, + links: { + type: "object", + additionalProperties: { + $ref: "#/$defs/link-or-reference", + }, + }, + }, + required: ["description"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "response-or-reference": { + if: { + required: ["$ref"], + }, + then: { + $ref: "#/$defs/reference", + }, + else: { + $ref: "#/$defs/response", + }, + }, + callbacks: { + type: "object", + $ref: "#/$defs/specification-extensions", + additionalProperties: { + $ref: "#/$defs/path-item-or-reference", + }, + }, + "callbacks-or-reference": { + if: { + required: ["$ref"], + }, + then: { + $ref: "#/$defs/reference", + }, + else: { + $ref: "#/$defs/callbacks", + }, + }, + example: { + type: "object", + properties: { + summary: { + type: "string", + }, + description: { + type: "string", + }, + value: true, + externalValue: { + $ref: "#/$defs/uri", + }, + }, + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "example-or-reference": { + if: { + required: ["$ref"], + }, + then: { + $ref: "#/$defs/reference", + }, + else: { + $ref: "#/$defs/example", + }, + }, + link: { + type: "object", + properties: { + operationRef: { + $ref: "#/$defs/uri", + }, + operationId: true, + parameters: { + $ref: "#/$defs/map-of-strings", + }, + requestBody: true, + description: { + type: "string", + }, + body: { + $ref: "#/$defs/server", + }, + }, + oneOf: [ + { + required: ["operationRef"], + }, + { + required: ["operationId"], + }, + ], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "link-or-reference": { + if: { + required: ["$ref"], + }, + then: { + $ref: "#/$defs/reference", + }, + else: { + $ref: "#/$defs/link", + }, + }, + header: { + type: "object", + properties: { + description: { + type: "string", + }, + required: { + default: false, + type: "boolean", + }, + deprecated: { + default: false, + type: "boolean", + }, + allowEmptyValue: { + default: false, + type: "boolean", + }, + }, + dependentSchemas: { + schema: { + properties: { + style: { + default: "simple", + enum: ["simple"], + }, + explode: { + default: false, + type: "boolean", + }, + allowReserved: { + default: false, + type: "boolean", + }, + schema: { + $dynamicRef: "#meta", + }, + }, + $ref: "#/$defs/examples", + }, + content: { + properties: { + content: { + $ref: "#/$defs/content", + }, + }, + }, + }, + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "header-or-reference": { + if: { + required: ["$ref"], + }, + then: { + $ref: "#/$defs/reference", + }, + else: { + $ref: "#/$defs/header", + }, + }, + tag: { + type: "object", + properties: { + name: { + type: "string", + }, + description: { + type: "string", + }, + externalDocs: { + $ref: "#/$defs/external-documentation", + }, + }, + required: ["name"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + reference: { + type: "object", + properties: { + $ref: { + $ref: "#/$defs/uri", + }, + summary: { + type: "string", + }, + description: { + type: "string", + }, + }, + unevaluatedProperties: false, + }, + schema: { + $dynamicAnchor: "meta", + type: ["object", "boolean"], + }, + "security-scheme": { + type: "object", + properties: { + type: { + enum: ["apiKey", "http", "mutualTLS", "oauth2", "openIdConnect"], + }, + description: { + type: "string", + }, + }, + required: ["type"], + allOf: [ + { + $ref: "#/$defs/specification-extensions", + }, + { + $ref: "#/$defs/security-scheme/$defs/type-apikey", + }, + { + $ref: "#/$defs/security-scheme/$defs/type-http", + }, + { + $ref: "#/$defs/security-scheme/$defs/type-http-bearer", + }, + { + $ref: "#/$defs/security-scheme/$defs/type-oauth2", + }, + { + $ref: "#/$defs/security-scheme/$defs/type-oidc", + }, + ], + unevaluatedProperties: false, + $defs: { + "type-apikey": { + if: { + properties: { + type: { + const: "apiKey", + }, + }, + required: ["type"], + }, + then: { + properties: { + name: { + type: "string", + }, + in: { + enum: ["query", "header", "cookie"], + }, + }, + required: ["name", "in"], + }, + }, + "type-http": { + if: { + properties: { + type: { + const: "http", + }, + }, + required: ["type"], + }, + then: { + properties: { + scheme: { + type: "string", + }, + }, + required: ["scheme"], + }, + }, + "type-http-bearer": { + if: { + properties: { + type: { + const: "http", + }, + scheme: { + const: "bearer", + }, + }, + required: ["type", "scheme"], + }, + then: { + properties: { + bearerFormat: { + type: "string", + }, + }, + required: ["scheme"], + }, + }, + "type-oauth2": { + if: { + properties: { + type: { + const: "oauth2", + }, + }, + required: ["type"], + }, + then: { + properties: { + flows: { + $ref: "#/$defs/oauth-flows", + }, + }, + required: ["flows"], + }, + }, + "type-oidc": { + if: { + properties: { + type: { + const: "openIdConnect", + }, + }, + required: ["type"], + }, + then: { + properties: { + openIdConnectUrl: { + $ref: "#/$defs/uri", + }, + }, + required: ["openIdConnectUrl"], + }, + }, + }, + }, + "security-scheme-or-reference": { + if: { + required: ["$ref"], + }, + then: { + $ref: "#/$defs/reference", + }, + else: { + $ref: "#/$defs/security-scheme", + }, + }, + "oauth-flows": { + type: "object", + properties: { + implicit: { + $ref: "#/$defs/oauth-flows/$defs/implicit", + }, + password: { + $ref: "#/$defs/oauth-flows/$defs/password", + }, + clientCredentials: { + $ref: "#/$defs/oauth-flows/$defs/client-credentials", + }, + authorizationCode: { + $ref: "#/$defs/oauth-flows/$defs/authorization-code", + }, + }, + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + $defs: { + implicit: { + type: "object", + properties: { + authorizationUrl: { + type: "string", + }, + refreshUrl: { + type: "string", + }, + scopes: { + $ref: "#/$defs/map-of-strings", + }, + }, + required: ["authorizationUrl", "scopes"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + password: { + type: "object", + properties: { + tokenUrl: { + type: "string", + }, + refreshUrl: { + type: "string", + }, + scopes: { + $ref: "#/$defs/map-of-strings", + }, + }, + required: ["tokenUrl", "scopes"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "client-credentials": { + type: "object", + properties: { + tokenUrl: { + type: "string", + }, + refreshUrl: { + type: "string", + }, + scopes: { + $ref: "#/$defs/map-of-strings", + }, + }, + required: ["tokenUrl", "scopes"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + "authorization-code": { + type: "object", + properties: { + authorizationUrl: { + type: "string", + }, + tokenUrl: { + type: "string", + }, + refreshUrl: { + type: "string", + }, + scopes: { + $ref: "#/$defs/map-of-strings", + }, + }, + required: ["authorizationUrl", "tokenUrl", "scopes"], + $ref: "#/$defs/specification-extensions", + unevaluatedProperties: false, + }, + }, + }, + "security-requirement": { + type: "object", + additionalProperties: { + type: "array", + items: { + type: "string", + }, + }, + }, + "specification-extensions": { + patternProperties: { + "^x-": true, + }, + }, + examples: { + properties: { + example: true, + examples: { + type: "object", + additionalProperties: { + $ref: "#/$defs/example-or-reference", + }, + }, + }, + }, + uri: { + type: "string", + format: "uri", + }, + "map-of-strings": { + type: "object", + additionalProperties: { + type: "string", + }, + }, + }, + }; + }, + {}, + ], + 30: [ + function (require, module, exports) { + "use strict"; + + module.exports = ["get", "put", "post", "delete", "options", "head", "patch"]; + }, + {}, + ], + 31: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Ono = void 0; + const extend_error_1 = require("./extend-error"); + const normalize_1 = require("./normalize"); + const to_json_1 = require("./to-json"); + const constructor = Ono; + exports.Ono = constructor; + /** + * Creates an `Ono` instance for a specifc error type. + */ + // eslint-disable-next-line @typescript-eslint/naming-convention + function Ono(ErrorConstructor, options) { + options = normalize_1.normalizeOptions(options); + function ono(...args) { + let { originalError, props, message } = normalize_1.normalizeArgs(args, options); + // Create a new error of the specified type + let newError = new ErrorConstructor(message); + // Extend the error with the properties of the original error and the `props` object + return extend_error_1.extendError(newError, originalError, props); + } + ono[Symbol.species] = ErrorConstructor; + return ono; + } + /** + * Returns an object containing all properties of the given Error object, + * which can be used with `JSON.stringify()`. + */ + Ono.toJSON = function toJSON(error) { + return to_json_1.toJSON.call(error); + }; + /** + * Extends the given Error object with enhanced Ono functionality, such as nested stack traces, + * additional properties, and improved support for `JSON.stringify()`. + */ + Ono.extend = function extend(error, originalError, props) { + if (props || originalError instanceof Error) { + return extend_error_1.extendError(error, originalError, props); + } else if (originalError) { + return extend_error_1.extendError(error, undefined, originalError); + } else { + return extend_error_1.extendError(error); + } + }; + }, + { "./extend-error": 32, "./normalize": 35, "./to-json": 38 }, + ], + 32: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.extendError = void 0; + const isomorphic_node_1 = require("./isomorphic.node"); + const stack_1 = require("./stack"); + const to_json_1 = require("./to-json"); + const protectedProps = ["name", "message", "stack"]; + /** + * Extends the new error with the properties of the original error and the `props` object. + * + * @param newError - The error object to extend + * @param originalError - The original error object, if any + * @param props - Additional properties to add, if any + */ + function extendError(error, originalError, props) { + let onoError = error; + extendStack(onoError, originalError); + // Copy properties from the original error + if (originalError && typeof originalError === "object") { + mergeErrors(onoError, originalError); + } + // The default `toJSON` method doesn't output props like `name`, `message`, `stack`, etc. + // So replace it with one that outputs every property of the error. + onoError.toJSON = to_json_1.toJSON; + // On Node.js, add support for the `util.inspect()` method + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (isomorphic_node_1.addInspectMethod) { + isomorphic_node_1.addInspectMethod(onoError); + } + // Finally, copy custom properties that were specified by the user. + // These props OVERWRITE any previous props + if (props && typeof props === "object") { + Object.assign(onoError, props); + } + return onoError; + } + exports.extendError = extendError; + /** + * Extend the error stack to include its cause + */ + function extendStack(newError, originalError) { + let stackProp = Object.getOwnPropertyDescriptor(newError, "stack"); + if (stack_1.isLazyStack(stackProp)) { + stack_1.lazyJoinStacks(stackProp, newError, originalError); + } else if (stack_1.isWritableStack(stackProp)) { + newError.stack = stack_1.joinStacks(newError, originalError); + } + } + /** + * Merges properties of the original error with the new error. + * + * @param newError - The error object to extend + * @param originalError - The original error object, if any + */ + function mergeErrors(newError, originalError) { + // Get the original error's keys + // NOTE: We specifically exclude properties that we have already set on the new error. + // This is _especially_ important for the `stack` property, because this property has + // a lazy getter in some environments + let keys = to_json_1.getDeepKeys(originalError, protectedProps); + // HACK: We have to cast the errors to `any` so we can use symbol indexers. + // see https://github.com/Microsoft/TypeScript/issues/1863 + let _newError = newError; + let _originalError = originalError; + for (let key of keys) { + if (_newError[key] === undefined) { + try { _newError[key] = _originalError[key]; + } catch (e) { + // This property is read-only, so it can't be copied + } + } + } + } + }, + { "./isomorphic.node": 34, "./stack": 37, "./to-json": 38 }, + ], + 33: [ + function (require, module, exports) { + "use strict"; + var __createBinding = + (this && this.__createBinding) || + (Object.create + ? function (o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { + enumerable: true, + get: function () { + return m[k]; + }, + }); + } + : function (o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; + }); + var __exportStar = + (this && this.__exportStar) || + function (m, exports) { + for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ono = void 0; + /* eslint-env commonjs */ + const singleton_1 = require("./singleton"); + Object.defineProperty(exports, "ono", { + enumerable: true, + get: function () { + return singleton_1.ono; + }, + }); + var constructor_1 = require("./constructor"); + Object.defineProperty(exports, "Ono", { + enumerable: true, + get: function () { + return constructor_1.Ono; + }, + }); + __exportStar(require("./types"), exports); + exports.default = singleton_1.ono; + // CommonJS default export hack + if (typeof module === "object" && typeof module.exports === "object") { + module.exports = Object.assign(module.exports.default, module.exports); + } + }, + { "./constructor": 31, "./singleton": 36, "./types": 39 }, + ], + 34: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.addInspectMethod = exports.format = void 0; + /** + * Ono supports custom formatters for error messages. In Node.js, it defaults + * to the `util.format()` function. In browsers, it defaults to `Array.join()`. + * + * The Node.js functionality can be used in a web browser via a polyfill, + * such as "format-util". + * + * @see https://github.com/tmpfs/format-util + */ + exports.format = false; + /** + * The `util.inspect()` functionality only applies to Node.js. + * We return the constant `false` here so that the Node-specific code gets removed by tree-shaking. + */ + exports.addInspectMethod = false; + }, + {}, + ], + 35: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.normalizeArgs = exports.normalizeOptions = void 0; + const isomorphic_node_1 = require("./isomorphic.node"); + /** + * Normalizes Ono options, accounting for defaults and optional options. + */ + function normalizeOptions(options) { + options = options || {}; + return { + concatMessages: options.concatMessages === undefined ? true : Boolean(options.concatMessages), + format: + options.format === undefined + ? isomorphic_node_1.format + : typeof options.format === "function" + ? options.format + : false, + }; + } + exports.normalizeOptions = normalizeOptions; + /** + * Normalizes the Ono arguments, accounting for defaults, options, and optional arguments. + */ + function normalizeArgs(args, options) { + let originalError; + let props; + let formatArgs; + let message = ""; + // Determine which arguments were actually specified + if (typeof args[0] === "string") { + formatArgs = args; + } else if (typeof args[1] === "string") { + if (args[0] instanceof Error) { + originalError = args[0]; + } else { + props = args[0]; + } + formatArgs = args.slice(1); + } else { + originalError = args[0]; + props = args[1]; + formatArgs = args.slice(2); + } + // If there are any format arguments, then format the error message + if (formatArgs.length > 0) { + if (options.format) { + message = options.format.apply(undefined, formatArgs); + } else { + message = formatArgs.join(" "); + } + } + if (options.concatMessages && originalError && originalError.message) { + // The inner-error's message will be added to the new message + message += (message ? " \n" : "") + originalError.message; + } + return { originalError, props, message }; + } + exports.normalizeArgs = normalizeArgs; + }, + { "./isomorphic.node": 34 }, + ], + 36: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ono = void 0; + const constructor_1 = require("./constructor"); + const singleton = ono; + exports.ono = singleton; + ono.error = new constructor_1.Ono(Error); + ono.eval = new constructor_1.Ono(EvalError); + ono.range = new constructor_1.Ono(RangeError); + ono.reference = new constructor_1.Ono(ReferenceError); + ono.syntax = new constructor_1.Ono(SyntaxError); + ono.type = new constructor_1.Ono(TypeError); + ono.uri = new constructor_1.Ono(URIError); + const onoMap = ono; + /** + * Creates a new error with the specified message, properties, and/or inner error. + * If an inner error is provided, then the new error will match its type, if possible. + */ + function ono(...args) { + let originalError = args[0]; + // Is the first argument an Error-like object? + if (typeof originalError === "object" && typeof originalError.name === "string") { + // Try to find an Ono singleton method that matches this error type + for (let typedOno of Object.values(onoMap)) { + if (typeof typedOno === "function" && typedOno.name === "ono") { + let species = typedOno[Symbol.species]; + if ( + species && + species !== Error && + (originalError instanceof species || originalError.name === species.name) + ) { + // Create an error of the same type + return typedOno.apply(undefined, args); + } + } + } + } + // By default, create a base Error object + return ono.error.apply(undefined, args); + } + }, + { "./constructor": 31 }, + ], + 37: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.lazyJoinStacks = exports.joinStacks = exports.isWritableStack = exports.isLazyStack = void 0; + const newline = /\r?\n/; + const onoCall = /\bono[ @]/; + /** + * Is the property lazily computed? + */ + function isLazyStack(stackProp) { + return Boolean(stackProp && stackProp.configurable && typeof stackProp.get === "function"); + } + exports.isLazyStack = isLazyStack; + /** + * Is the stack property writable? + */ + function isWritableStack(stackProp) { + return Boolean( + // If there is no stack property, then it's writable, since assigning it will create it + !stackProp || stackProp.writable || typeof stackProp.set === "function", + ); + } + exports.isWritableStack = isWritableStack; + /** + * Appends the original `Error.stack` property to the new Error's stack. + */ + function joinStacks(newError, originalError) { + let newStack = popStack(newError.stack); + let originalStack = originalError ? originalError.stack : undefined; + if (newStack && originalStack) { + return newStack + "\n\n" + originalStack; + } else { + return newStack || originalStack; + } + } + exports.joinStacks = joinStacks; + /** + * Calls `joinStacks` lazily, when the `Error.stack` property is accessed. + */ + function lazyJoinStacks(lazyStack, newError, originalError) { + if (originalError) { + Object.defineProperty(newError, "stack", { + get: () => { + let newStack = lazyStack.get.apply(newError); + return joinStacks({ stack: newStack }, originalError); + }, + enumerable: false, + configurable: true, + }); + } else { + lazyPopStack(newError, lazyStack); + } + } + exports.lazyJoinStacks = lazyJoinStacks; + /** + * Removes Ono from the stack, so that the stack starts at the original error location + */ + function popStack(stack) { + if (stack) { + let lines = stack.split(newline); + // Find the Ono call(s) in the stack, and remove them + let onoStart; + for (let i = 0; i < lines.length; i++) { + let line = lines[i]; + if (onoCall.test(line)) { + if (onoStart === undefined) { + // We found the first Ono call in the stack trace. + // There may be other subsequent Ono calls as well. + onoStart = i; + } + } else if (onoStart !== undefined) { + // We found the first non-Ono call after one or more Ono calls. + // So remove the Ono call lines from the stack trace + lines.splice(onoStart, i - onoStart); + break; + } + } + if (lines.length > 0) { + return lines.join("\n"); + } + } + // If we get here, then the stack doesn't contain a call to `ono`. + // This may be due to minification or some optimization of the JS engine. + // So just return the stack as-is. + return stack; + } + /** + * Calls `popStack` lazily, when the `Error.stack` property is accessed. + */ + function lazyPopStack(error, lazyStack) { + Object.defineProperty(error, "stack", { + get: () => popStack(lazyStack.get.apply(error)), + enumerable: false, + configurable: true, + }); + } + }, + {}, + ], + 38: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getDeepKeys = exports.toJSON = void 0; + const nonJsonTypes = ["function", "symbol", "undefined"]; + const protectedProps = ["constructor", "prototype", "__proto__"]; + const objectPrototype = Object.getPrototypeOf({}); + /** + * Custom JSON serializer for Error objects. + * Returns all built-in error properties, as well as extended properties. + */ + function toJSON() { + // HACK: We have to cast the objects to `any` so we can use symbol indexers. + // see https://github.com/Microsoft/TypeScript/issues/1863 + let pojo = {}; + let error = this; + for (let key of getDeepKeys(error)) { + if (typeof key === "string") { + let value = error[key]; + let type = typeof value; + if (!nonJsonTypes.includes(type)) { + pojo[key] = value; + } + } + } + return pojo; + } + exports.toJSON = toJSON; + /** + * Returns own, inherited, enumerable, non-enumerable, string, and symbol keys of `obj`. + * Does NOT return members of the base Object prototype, or the specified omitted keys. + */ + function getDeepKeys(obj, omit = []) { + let keys = []; + // Crawl the prototype chain, finding all the string and symbol keys + while (obj && obj !== objectPrototype) { + keys = keys.concat(Object.getOwnPropertyNames(obj), Object.getOwnPropertySymbols(obj)); + obj = Object.getPrototypeOf(obj); + } + // De-duplicate the list of keys + let uniqueKeys = new Set(keys); + // Remove any omitted keys + for (let key of omit.concat(protectedProps)) { + uniqueKeys.delete(key); + } + return uniqueKeys; + } + exports.getDeepKeys = getDeepKeys; + }, + {}, + ], + 39: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const util_1 = require("util"); + }, + { util: 204 }, + ], + 40: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CodeGen = + exports.Name = + exports.nil = + exports.stringify = + exports.str = + exports._ = + exports.KeywordCxt = + void 0; + const core_1 = require("ajv/dist/core"); + const draft4_1 = require("./vocabulary/draft4"); + const discriminator_1 = require("ajv/dist/vocabularies/discriminator"); + const draft4MetaSchema = require("./refs/json-schema-draft-04.json"); + const META_SUPPORT_DATA = ["/properties"]; + const META_SCHEMA_ID = "http://json-schema.org/draft-04/schema"; + class Ajv extends core_1.default { + constructor(opts = {}) { + super({ + ...opts, + schemaId: "id", + }); + } + _addVocabularies() { + super._addVocabularies(); + draft4_1.default.forEach((v) => this.addVocabulary(v)); + if (this.opts.discriminator) this.addKeyword(discriminator_1.default); + } + _addDefaultMetaSchema() { + super._addDefaultMetaSchema(); + if (!this.opts.meta) return; + const metaSchema = this.opts.$data + ? this.$dataMetaSchema(draft4MetaSchema, META_SUPPORT_DATA) + : draft4MetaSchema; + this.addMetaSchema(metaSchema, META_SCHEMA_ID, false); + this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID; + } + defaultMeta() { + return (this.opts.defaultMeta = + super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined)); + } + } + module.exports = exports = Ajv; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = Ajv; + var core_2 = require("ajv/dist/core"); + Object.defineProperty(exports, "KeywordCxt", { + enumerable: true, + get: function () { + return core_2.KeywordCxt; + }, + }); + var core_3 = require("ajv/dist/core"); + Object.defineProperty(exports, "_", { + enumerable: true, + get: function () { + return core_3._; + }, + }); + Object.defineProperty(exports, "str", { + enumerable: true, + get: function () { + return core_3.str; + }, + }); + Object.defineProperty(exports, "stringify", { + enumerable: true, + get: function () { + return core_3.stringify; + }, + }); + Object.defineProperty(exports, "nil", { + enumerable: true, + get: function () { + return core_3.nil; + }, + }); + Object.defineProperty(exports, "Name", { + enumerable: true, + get: function () { + return core_3.Name; + }, + }); + Object.defineProperty(exports, "CodeGen", { + enumerable: true, + get: function () { + return core_3.CodeGen; + }, + }); + }, + { + "./refs/json-schema-draft-04.json": 41, + "./vocabulary/draft4": 43, + "ajv/dist/core": 65, + "ajv/dist/vocabularies/discriminator": 102, + }, + ], + 41: [ + function (require, module, exports) { + module.exports = { + id: "http://json-schema.org/draft-04/schema#", + $schema: "http://json-schema.org/draft-04/schema#", + description: "Core schema meta-schema", + definitions: { + schemaArray: { + type: "array", + minItems: 1, + items: { $ref: "#" }, + }, + positiveInteger: { + type: "integer", + minimum: 0, + }, + positiveIntegerDefault0: { + allOf: [{ $ref: "#/definitions/positiveInteger" }, { default: 0 }], + }, + simpleTypes: { + enum: ["array", "boolean", "integer", "null", "number", "object", "string"], + }, + stringArray: { + type: "array", + items: { type: "string" }, + minItems: 1, + uniqueItems: true, + }, + }, + type: "object", + properties: { + id: { + type: "string", + format: "uri", + }, + $schema: { + type: "string", + format: "uri", + }, + title: { + type: "string", + }, + description: { + type: "string", + }, + default: {}, + multipleOf: { + type: "number", + minimum: 0, + exclusiveMinimum: true, + }, + maximum: { + type: "number", + }, + exclusiveMaximum: { + type: "boolean", + default: false, + }, + minimum: { + type: "number", + }, + exclusiveMinimum: { + type: "boolean", + default: false, + }, + maxLength: { $ref: "#/definitions/positiveInteger" }, + minLength: { $ref: "#/definitions/positiveIntegerDefault0" }, + pattern: { + type: "string", + format: "regex", + }, + additionalItems: { + anyOf: [{ type: "boolean" }, { $ref: "#" }], + default: {}, + }, + items: { + anyOf: [{ $ref: "#" }, { $ref: "#/definitions/schemaArray" }], + default: {}, + }, + maxItems: { $ref: "#/definitions/positiveInteger" }, + minItems: { $ref: "#/definitions/positiveIntegerDefault0" }, + uniqueItems: { + type: "boolean", + default: false, + }, + maxProperties: { $ref: "#/definitions/positiveInteger" }, + minProperties: { $ref: "#/definitions/positiveIntegerDefault0" }, + required: { $ref: "#/definitions/stringArray" }, + additionalProperties: { + anyOf: [{ type: "boolean" }, { $ref: "#" }], + default: {}, + }, + definitions: { + type: "object", + additionalProperties: { $ref: "#" }, + default: {}, + }, + properties: { + type: "object", + additionalProperties: { $ref: "#" }, + default: {}, + }, + patternProperties: { + type: "object", + additionalProperties: { $ref: "#" }, + default: {}, + }, + dependencies: { + type: "object", + additionalProperties: { + anyOf: [{ $ref: "#" }, { $ref: "#/definitions/stringArray" }], + }, + }, + enum: { + type: "array", + minItems: 1, + uniqueItems: true, + }, + type: { + anyOf: [ + { $ref: "#/definitions/simpleTypes" }, + { + type: "array", + items: { $ref: "#/definitions/simpleTypes" }, + minItems: 1, + uniqueItems: true, + }, + ], + }, + allOf: { $ref: "#/definitions/schemaArray" }, + anyOf: { $ref: "#/definitions/schemaArray" }, + oneOf: { $ref: "#/definitions/schemaArray" }, + not: { $ref: "#" }, + }, + dependencies: { + exclusiveMaximum: ["maximum"], + exclusiveMinimum: ["minimum"], + }, + default: {}, + }; + }, + {}, + ], + 42: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const ref_1 = require("ajv/dist/vocabularies/core/ref"); + const core = ["$schema", "id", "$defs", { keyword: "$comment" }, "definitions", ref_1.default]; + exports.default = core; + }, + { "ajv/dist/vocabularies/core/ref": 101 }, + ], + 43: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const core_1 = require("./core"); + const validation_1 = require("./validation"); + const applicator_1 = require("ajv/dist/vocabularies/applicator"); + const format_1 = require("ajv/dist/vocabularies/format"); + const metadataVocabulary = ["title", "description", "default"]; + const draft4Vocabularies = [ + core_1.default, + validation_1.default, + applicator_1.default(), + format_1.default, + metadataVocabulary, + ]; + exports.default = draft4Vocabularies; + }, + { "./core": 42, "./validation": 44, "ajv/dist/vocabularies/applicator": 88, "ajv/dist/vocabularies/format": 111 }, + ], + 44: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const limitNumber_1 = require("./limitNumber"); + const limitNumberExclusive_1 = require("./limitNumberExclusive"); + const multipleOf_1 = require("ajv/dist/vocabularies/validation/multipleOf"); + const limitLength_1 = require("ajv/dist/vocabularies/validation/limitLength"); + const pattern_1 = require("ajv/dist/vocabularies/validation/pattern"); + const limitProperties_1 = require("ajv/dist/vocabularies/validation/limitProperties"); + const required_1 = require("ajv/dist/vocabularies/validation/required"); + const limitItems_1 = require("ajv/dist/vocabularies/validation/limitItems"); + const uniqueItems_1 = require("ajv/dist/vocabularies/validation/uniqueItems"); + const const_1 = require("ajv/dist/vocabularies/validation/const"); + const enum_1 = require("ajv/dist/vocabularies/validation/enum"); + const validation = [ + // number + limitNumber_1.default, + limitNumberExclusive_1.default, + multipleOf_1.default, + // string + limitLength_1.default, + pattern_1.default, + // object + limitProperties_1.default, + required_1.default, + // array + limitItems_1.default, + uniqueItems_1.default, + // any + { keyword: "type", schemaType: ["string", "array"] }, + { keyword: "nullable", schemaType: "boolean" }, + const_1.default, + enum_1.default, + ]; + exports.default = validation; + }, + { + "./limitNumber": 45, + "./limitNumberExclusive": 46, + "ajv/dist/vocabularies/validation/const": 117, + "ajv/dist/vocabularies/validation/enum": 119, + "ajv/dist/vocabularies/validation/limitItems": 122, + "ajv/dist/vocabularies/validation/limitLength": 123, + "ajv/dist/vocabularies/validation/limitProperties": 125, + "ajv/dist/vocabularies/validation/multipleOf": 126, + "ajv/dist/vocabularies/validation/pattern": 127, + "ajv/dist/vocabularies/validation/required": 128, + "ajv/dist/vocabularies/validation/uniqueItems": 129, + }, + ], + 45: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const core_1 = require("ajv/dist/core"); + const codegen_1 = require("ajv/dist/compile/codegen"); + const ops = codegen_1.operators; + const KWDs = { + maximum: { + exclusive: "exclusiveMaximum", + ops: [ + { okStr: "<=", ok: ops.LTE, fail: ops.GT }, + { okStr: "<", ok: ops.LT, fail: ops.GTE }, + ], + }, + minimum: { + exclusive: "exclusiveMinimum", + ops: [ + { okStr: ">=", ok: ops.GTE, fail: ops.LT }, + { okStr: ">", ok: ops.GT, fail: ops.LTE }, + ], + }, + }; + const error = { + message: (cxt) => core_1.str`must be ${kwdOp(cxt).okStr} ${cxt.schemaCode}`, + params: (cxt) => core_1._`{comparison: ${kwdOp(cxt).okStr}, limit: ${cxt.schemaCode}}`, + }; + const def = { + keyword: Object.keys(KWDs), + type: "number", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { data, schemaCode } = cxt; + cxt.fail$data(core_1._`${data} ${kwdOp(cxt).fail} ${schemaCode} || isNaN(${data})`); + }, + }; + function kwdOp(cxt) { + var _a; + const keyword = cxt.keyword; + const opsIdx = ((_a = cxt.parentSchema) === null || _a === void 0 ? void 0 : _a[KWDs[keyword].exclusive]) + ? 1 + : 0; + return KWDs[keyword].ops[opsIdx]; + } + exports.default = def; + }, + { "ajv/dist/compile/codegen": 49, "ajv/dist/core": 65 }, + ], + 46: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const KWDs = { + exclusiveMaximum: "maximum", + exclusiveMinimum: "minimum", + }; + const def = { + keyword: Object.keys(KWDs), + type: "number", + schemaType: "boolean", + code({ keyword, parentSchema }) { + const limitKwd = KWDs[keyword]; + if (parentSchema[limitKwd] === undefined) { + throw new Error(`${keyword} can only be used with ${limitKwd}`); + } + }, + }; + exports.default = def; + }, + {}, + ], + 47: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CodeGen = + exports.Name = + exports.nil = + exports.stringify = + exports.str = + exports._ = + exports.KeywordCxt = + void 0; + const core_1 = require("./core"); + const draft2020_1 = require("./vocabularies/draft2020"); + const discriminator_1 = require("./vocabularies/discriminator"); + const json_schema_2020_12_1 = require("./refs/json-schema-2020-12"); + const META_SCHEMA_ID = "https://json-schema.org/draft/2020-12/schema"; + class Ajv2020 extends core_1.default { + constructor(opts = {}) { + super({ + ...opts, + dynamicRef: true, + next: true, + unevaluated: true, + }); + } + _addVocabularies() { + super._addVocabularies(); + draft2020_1.default.forEach((v) => this.addVocabulary(v)); + if (this.opts.discriminator) this.addKeyword(discriminator_1.default); + } + _addDefaultMetaSchema() { + super._addDefaultMetaSchema(); + const { $data, meta } = this.opts; + if (!meta) return; + json_schema_2020_12_1.default.call(this, $data); + this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID; + } + defaultMeta() { + return (this.opts.defaultMeta = + super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined)); + } + } + module.exports = exports = Ajv2020; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = Ajv2020; + var validate_1 = require("./compile/validate"); + Object.defineProperty(exports, "KeywordCxt", { + enumerable: true, + get: function () { + return validate_1.KeywordCxt; + }, + }); + var codegen_1 = require("./compile/codegen"); + Object.defineProperty(exports, "_", { + enumerable: true, + get: function () { + return codegen_1._; + }, + }); + Object.defineProperty(exports, "str", { + enumerable: true, + get: function () { + return codegen_1.str; + }, + }); + Object.defineProperty(exports, "stringify", { + enumerable: true, + get: function () { + return codegen_1.stringify; + }, + }); + Object.defineProperty(exports, "nil", { + enumerable: true, + get: function () { + return codegen_1.nil; + }, + }); + Object.defineProperty(exports, "Name", { + enumerable: true, + get: function () { + return codegen_1.Name; + }, + }); + Object.defineProperty(exports, "CodeGen", { + enumerable: true, + get: function () { + return codegen_1.CodeGen; + }, + }); + }, + { + "./compile/codegen": 49, + "./compile/validate": 62, + "./core": 65, + "./refs/json-schema-2020-12": 67, + "./vocabularies/discriminator": 102, + "./vocabularies/draft2020": 104, + }, + ], + 48: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.regexpCode = + exports.getEsmExportName = + exports.getProperty = + exports.safeStringify = + exports.stringify = + exports.strConcat = + exports.addCodeArg = + exports.str = + exports._ = + exports.nil = + exports._Code = + exports.Name = + exports.IDENTIFIER = + exports._CodeOrName = + void 0; + class _CodeOrName {} + exports._CodeOrName = _CodeOrName; + exports.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i; + class Name extends _CodeOrName { + constructor(s) { + super(); + if (!exports.IDENTIFIER.test(s)) throw new Error("CodeGen: name must be a valid identifier"); + this.str = s; + } + toString() { + return this.str; + } + emptyStr() { + return false; + } + get names() { + return { [this.str]: 1 }; + } + } + exports.Name = Name; + class _Code extends _CodeOrName { + constructor(code) { + super(); + this._items = typeof code === "string" ? [code] : code; + } + toString() { + return this.str; + } + emptyStr() { + if (this._items.length > 1) return false; + const item = this._items[0]; + return item === "" || item === '""'; + } + get str() { + var _a; + return (_a = this._str) !== null && _a !== void 0 + ? _a + : (this._str = this._items.reduce((s, c) => `${s}${c}`, "")); + } + get names() { + var _a; + return (_a = this._names) !== null && _a !== void 0 + ? _a + : (this._names = this._items.reduce((names, c) => { + if (c instanceof Name) names[c.str] = (names[c.str] || 0) + 1; + return names; + }, {})); + } + } + exports._Code = _Code; + exports.nil = new _Code(""); + function _(strs, ...args) { + const code = [strs[0]]; + let i = 0; + while (i < args.length) { + addCodeArg(code, args[i]); + code.push(strs[++i]); + } + return new _Code(code); + } + exports._ = _; + const plus = new _Code("+"); + function str(strs, ...args) { + const expr = [safeStringify(strs[0])]; + let i = 0; + while (i < args.length) { + expr.push(plus); + addCodeArg(expr, args[i]); + expr.push(plus, safeStringify(strs[++i])); + } + optimize(expr); + return new _Code(expr); + } + exports.str = str; + function addCodeArg(code, arg) { + if (arg instanceof _Code) code.push(...arg._items); + else if (arg instanceof Name) code.push(arg); + else code.push(interpolate(arg)); + } + exports.addCodeArg = addCodeArg; + function optimize(expr) { + let i = 1; + while (i < expr.length - 1) { + if (expr[i] === plus) { + const res = mergeExprItems(expr[i - 1], expr[i + 1]); + if (res !== undefined) { + expr.splice(i - 1, 3, res); + continue; + } + expr[i++] = "+"; + } + i++; + } + } + function mergeExprItems(a, b) { + if (b === '""') return a; + if (a === '""') return b; + if (typeof a == "string") { + if (b instanceof Name || a[a.length - 1] !== '"') return; + if (typeof b != "string") return `${a.slice(0, -1)}${b}"`; + if (b[0] === '"') return a.slice(0, -1) + b.slice(1); + return; + } + if (typeof b == "string" && b[0] === '"' && !(a instanceof Name)) return `"${a}${b.slice(1)}`; + return; + } + function strConcat(c1, c2) { + return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str`${c1}${c2}`; + } + exports.strConcat = strConcat; + // TODO do not allow arrays here + function interpolate(x) { + return typeof x == "number" || typeof x == "boolean" || x === null + ? x + : safeStringify(Array.isArray(x) ? x.join(",") : x); + } + function stringify(x) { + return new _Code(safeStringify(x)); + } + exports.stringify = stringify; + function safeStringify(x) { + return JSON.stringify(x) + .replace(/\u2028/g, "\\u2028") + .replace(/\u2029/g, "\\u2029"); + } + exports.safeStringify = safeStringify; + function getProperty(key) { + return typeof key == "string" && exports.IDENTIFIER.test(key) ? new _Code(`.${key}`) : _`[${key}]`; + } + exports.getProperty = getProperty; + //Does best effort to format the name properly + function getEsmExportName(key) { + if (typeof key == "string" && exports.IDENTIFIER.test(key)) { + return new _Code(`${key}`); + } + throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`); + } + exports.getEsmExportName = getEsmExportName; + function regexpCode(rx) { + return new _Code(rx.toString()); + } + exports.regexpCode = regexpCode; + }, + {}, + ], + 49: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.or = + exports.and = + exports.not = + exports.CodeGen = + exports.operators = + exports.varKinds = + exports.ValueScopeName = + exports.ValueScope = + exports.Scope = + exports.Name = + exports.regexpCode = + exports.stringify = + exports.getProperty = + exports.nil = + exports.strConcat = + exports.str = + exports._ = + void 0; + const code_1 = require("./code"); + const scope_1 = require("./scope"); + var code_2 = require("./code"); + Object.defineProperty(exports, "_", { + enumerable: true, + get: function () { + return code_2._; + }, + }); + Object.defineProperty(exports, "str", { + enumerable: true, + get: function () { + return code_2.str; + }, + }); + Object.defineProperty(exports, "strConcat", { + enumerable: true, + get: function () { + return code_2.strConcat; + }, + }); + Object.defineProperty(exports, "nil", { + enumerable: true, + get: function () { + return code_2.nil; + }, + }); + Object.defineProperty(exports, "getProperty", { + enumerable: true, + get: function () { + return code_2.getProperty; + }, + }); + Object.defineProperty(exports, "stringify", { + enumerable: true, + get: function () { + return code_2.stringify; + }, + }); + Object.defineProperty(exports, "regexpCode", { + enumerable: true, + get: function () { + return code_2.regexpCode; + }, + }); + Object.defineProperty(exports, "Name", { + enumerable: true, + get: function () { + return code_2.Name; + }, + }); + var scope_2 = require("./scope"); + Object.defineProperty(exports, "Scope", { + enumerable: true, + get: function () { + return scope_2.Scope; + }, + }); + Object.defineProperty(exports, "ValueScope", { + enumerable: true, + get: function () { + return scope_2.ValueScope; + }, + }); + Object.defineProperty(exports, "ValueScopeName", { + enumerable: true, + get: function () { + return scope_2.ValueScopeName; + }, + }); + Object.defineProperty(exports, "varKinds", { + enumerable: true, + get: function () { + return scope_2.varKinds; + }, + }); + exports.operators = { + GT: new code_1._Code(">"), + GTE: new code_1._Code(">="), + LT: new code_1._Code("<"), + LTE: new code_1._Code("<="), + EQ: new code_1._Code("==="), + NEQ: new code_1._Code("!=="), + NOT: new code_1._Code("!"), + OR: new code_1._Code("||"), + AND: new code_1._Code("&&"), + ADD: new code_1._Code("+"), + }; + class Node { + optimizeNodes() { + return this; + } + optimizeNames(_names, _constants) { + return this; + } + } + class Def extends Node { + constructor(varKind, name, rhs) { + super(); + this.varKind = varKind; + this.name = name; + this.rhs = rhs; + } + render({ es5, _n }) { + const varKind = es5 ? scope_1.varKinds.var : this.varKind; + const rhs = this.rhs === undefined ? "" : ` = ${this.rhs}`; + return `${varKind} ${this.name}${rhs};` + _n; + } + optimizeNames(names, constants) { + if (!names[this.name.str]) return; + if (this.rhs) this.rhs = optimizeExpr(this.rhs, names, constants); + return this; + } + get names() { + return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {}; + } + } + class Assign extends Node { + constructor(lhs, rhs, sideEffects) { + super(); + this.lhs = lhs; + this.rhs = rhs; + this.sideEffects = sideEffects; + } + render({ _n }) { + return `${this.lhs} = ${this.rhs};` + _n; + } + optimizeNames(names, constants) { + if (this.lhs instanceof code_1.Name && !names[this.lhs.str] && !this.sideEffects) return; + this.rhs = optimizeExpr(this.rhs, names, constants); + return this; + } + get names() { + const names = this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names }; + return addExprNames(names, this.rhs); + } + } + class AssignOp extends Assign { + constructor(lhs, op, rhs, sideEffects) { + super(lhs, rhs, sideEffects); + this.op = op; + } + render({ _n }) { + return `${this.lhs} ${this.op}= ${this.rhs};` + _n; + } + } + class Label extends Node { + constructor(label) { + super(); + this.label = label; + this.names = {}; + } + render({ _n }) { + return `${this.label}:` + _n; + } + } + class Break extends Node { + constructor(label) { + super(); + this.label = label; + this.names = {}; + } + render({ _n }) { + const label = this.label ? ` ${this.label}` : ""; + return `break${label};` + _n; + } + } + class Throw extends Node { + constructor(error) { + super(); + this.error = error; + } + render({ _n }) { + return `throw ${this.error};` + _n; + } + get names() { + return this.error.names; + } + } + class AnyCode extends Node { + constructor(code) { + super(); + this.code = code; + } + render({ _n }) { + return `${this.code};` + _n; + } + optimizeNodes() { + return `${this.code}` ? this : undefined; + } + optimizeNames(names, constants) { + this.code = optimizeExpr(this.code, names, constants); + return this; + } + get names() { + return this.code instanceof code_1._CodeOrName ? this.code.names : {}; + } + } + class ParentNode extends Node { + constructor(nodes = []) { + super(); + this.nodes = nodes; + } + render(opts) { + return this.nodes.reduce((code, n) => code + n.render(opts), ""); + } + optimizeNodes() { + const { nodes } = this; + let i = nodes.length; + while (i--) { + const n = nodes[i].optimizeNodes(); + if (Array.isArray(n)) nodes.splice(i, 1, ...n); + else if (n) nodes[i] = n; + else nodes.splice(i, 1); + } + return nodes.length > 0 ? this : undefined; + } + optimizeNames(names, constants) { + const { nodes } = this; + let i = nodes.length; + while (i--) { + // iterating backwards improves 1-pass optimization + const n = nodes[i]; + if (n.optimizeNames(names, constants)) continue; + subtractNames(names, n.names); + nodes.splice(i, 1); + } + return nodes.length > 0 ? this : undefined; + } + get names() { + return this.nodes.reduce((names, n) => addNames(names, n.names), {}); + } + } + class BlockNode extends ParentNode { + render(opts) { + return "{" + opts._n + super.render(opts) + "}" + opts._n; + } + } + class Root extends ParentNode {} + class Else extends BlockNode {} + Else.kind = "else"; + class If extends BlockNode { + constructor(condition, nodes) { + super(nodes); + this.condition = condition; + } + render(opts) { + let code = `if(${this.condition})` + super.render(opts); + if (this.else) code += "else " + this.else.render(opts); + return code; + } + optimizeNodes() { + super.optimizeNodes(); + const cond = this.condition; + if (cond === true) return this.nodes; // else is ignored here + let e = this.else; + if (e) { + const ns = e.optimizeNodes(); + e = this.else = Array.isArray(ns) ? new Else(ns) : ns; + } + if (e) { + if (cond === false) return e instanceof If ? e : e.nodes; + if (this.nodes.length) return this; + return new If(not(cond), e instanceof If ? [e] : e.nodes); + } + if (cond === false || !this.nodes.length) return undefined; + return this; + } + optimizeNames(names, constants) { + var _a; + this.else = (_a = this.else) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants); + if (!(super.optimizeNames(names, constants) || this.else)) return; + this.condition = optimizeExpr(this.condition, names, constants); + return this; + } + get names() { + const names = super.names; + addExprNames(names, this.condition); + if (this.else) addNames(names, this.else.names); + return names; + } + } + If.kind = "if"; + class For extends BlockNode {} + For.kind = "for"; + class ForLoop extends For { + constructor(iteration) { + super(); + this.iteration = iteration; + } + render(opts) { + return `for(${this.iteration})` + super.render(opts); + } + optimizeNames(names, constants) { + if (!super.optimizeNames(names, constants)) return; + this.iteration = optimizeExpr(this.iteration, names, constants); + return this; + } + get names() { + return addNames(super.names, this.iteration.names); + } + } + class ForRange extends For { + constructor(varKind, name, from, to) { + super(); + this.varKind = varKind; + this.name = name; + this.from = from; + this.to = to; + } + render(opts) { + const varKind = opts.es5 ? scope_1.varKinds.var : this.varKind; + const { name, from, to } = this; + return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts); + } + get names() { + const names = addExprNames(super.names, this.from); + return addExprNames(names, this.to); + } + } + class ForIter extends For { + constructor(loop, varKind, name, iterable) { + super(); + this.loop = loop; + this.varKind = varKind; + this.name = name; + this.iterable = iterable; + } + render(opts) { + return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts); + } + optimizeNames(names, constants) { + if (!super.optimizeNames(names, constants)) return; + this.iterable = optimizeExpr(this.iterable, names, constants); + return this; + } + get names() { + return addNames(super.names, this.iterable.names); + } + } + class Func extends BlockNode { + constructor(name, args, async) { + super(); + this.name = name; + this.args = args; + this.async = async; + } + render(opts) { + const _async = this.async ? "async " : ""; + return `${_async}function ${this.name}(${this.args})` + super.render(opts); + } + } + Func.kind = "func"; + class Return extends ParentNode { + render(opts) { + return "return " + super.render(opts); + } + } + Return.kind = "return"; + class Try extends BlockNode { + render(opts) { + let code = "try" + super.render(opts); + if (this.catch) code += this.catch.render(opts); + if (this.finally) code += this.finally.render(opts); + return code; + } + optimizeNodes() { + var _a, _b; + super.optimizeNodes(); + (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNodes(); + (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNodes(); + return this; + } + optimizeNames(names, constants) { + var _a, _b; + super.optimizeNames(names, constants); + (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants); + (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNames(names, constants); + return this; + } + get names() { + const names = super.names; + if (this.catch) addNames(names, this.catch.names); + if (this.finally) addNames(names, this.finally.names); + return names; + } + } + class Catch extends BlockNode { + constructor(error) { + super(); + this.error = error; + } + render(opts) { + return `catch(${this.error})` + super.render(opts); + } + } + Catch.kind = "catch"; + class Finally extends BlockNode { + render(opts) { + return "finally" + super.render(opts); + } + } + Finally.kind = "finally"; + class CodeGen { + constructor(extScope, opts = {}) { + this._values = {}; + this._blockStarts = []; + this._constants = {}; + this.opts = { ...opts, _n: opts.lines ? "\n" : "" }; + this._extScope = extScope; + this._scope = new scope_1.Scope({ parent: extScope }); + this._nodes = [new Root()]; + } + toString() { + return this._root.render(this.opts); + } + // returns unique name in the internal scope + name(prefix) { + return this._scope.name(prefix); + } + // reserves unique name in the external scope + scopeName(prefix) { + return this._extScope.name(prefix); + } + // reserves unique name in the external scope and assigns value to it + scopeValue(prefixOrName, value) { + const name = this._extScope.value(prefixOrName, value); + const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set()); + vs.add(name); + return name; + } + getScopeValue(prefix, keyOrRef) { + return this._extScope.getValue(prefix, keyOrRef); + } + // return code that assigns values in the external scope to the names that are used internally + // (same names that were returned by gen.scopeName or gen.scopeValue) + scopeRefs(scopeName) { + return this._extScope.scopeRefs(scopeName, this._values); + } + scopeCode() { + return this._extScope.scopeCode(this._values); + } + _def(varKind, nameOrPrefix, rhs, constant) { + const name = this._scope.toName(nameOrPrefix); + if (rhs !== undefined && constant) this._constants[name.str] = rhs; + this._leafNode(new Def(varKind, name, rhs)); + return name; + } + // `const` declaration (`var` in es5 mode) + const(nameOrPrefix, rhs, _constant) { + return this._def(scope_1.varKinds.const, nameOrPrefix, rhs, _constant); + } + // `let` declaration with optional assignment (`var` in es5 mode) + let(nameOrPrefix, rhs, _constant) { + return this._def(scope_1.varKinds.let, nameOrPrefix, rhs, _constant); + } + // `var` declaration with optional assignment + var(nameOrPrefix, rhs, _constant) { + return this._def(scope_1.varKinds.var, nameOrPrefix, rhs, _constant); + } + // assignment code + assign(lhs, rhs, sideEffects) { + return this._leafNode(new Assign(lhs, rhs, sideEffects)); + } + // `+=` code + add(lhs, rhs) { + return this._leafNode(new AssignOp(lhs, exports.operators.ADD, rhs)); + } + // appends passed SafeExpr to code or executes Block + code(c) { + if (typeof c == "function") c(); + else if (c !== code_1.nil) this._leafNode(new AnyCode(c)); + return this; + } + // returns code for object literal for the passed argument list of key-value pairs + object(...keyValues) { + const code = ["{"]; + for (const [key, value] of keyValues) { + if (code.length > 1) code.push(","); + code.push(key); + if (key !== value || this.opts.es5) { + code.push(":"); + (0, code_1.addCodeArg)(code, value); + } + } + code.push("}"); + return new code_1._Code(code); + } + // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed) + if(condition, thenBody, elseBody) { + this._blockNode(new If(condition)); + if (thenBody && elseBody) { + this.code(thenBody).else().code(elseBody).endIf(); + } else if (thenBody) { + this.code(thenBody).endIf(); + } else if (elseBody) { + throw new Error('CodeGen: "else" body without "then" body'); + } + return this; + } + // `else if` clause - invalid without `if` or after `else` clauses + elseIf(condition) { + return this._elseNode(new If(condition)); + } + // `else` clause - only valid after `if` or `else if` clauses + else() { + return this._elseNode(new Else()); + } + // end `if` statement (needed if gen.if was used only with condition) + endIf() { + return this._endBlockNode(If, Else); + } + _for(node, forBody) { + this._blockNode(node); + if (forBody) this.code(forBody).endFor(); + return this; + } + // a generic `for` clause (or statement if `forBody` is passed) + for(iteration, forBody) { + return this._for(new ForLoop(iteration), forBody); + } + // `for` statement for a range of values + forRange( + nameOrPrefix, + from, + to, + forBody, + varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let, + ) { + const name = this._scope.toName(nameOrPrefix); + return this._for(new ForRange(varKind, name, from, to), () => forBody(name)); + } + // `for-of` statement (in es5 mode replace with a normal for loop) + forOf(nameOrPrefix, iterable, forBody, varKind = scope_1.varKinds.const) { + const name = this._scope.toName(nameOrPrefix); + if (this.opts.es5) { + const arr = iterable instanceof code_1.Name ? iterable : this.var("_arr", iterable); + return this.forRange("_i", 0, (0, code_1._)`${arr}.length`, (i) => { + this.var(name, (0, code_1._)`${arr}[${i}]`); + forBody(name); + }); + } + return this._for(new ForIter("of", varKind, name, iterable), () => forBody(name)); + } + // `for-in` statement. + // With option `ownProperties` replaced with a `for-of` loop for object keys + forIn(nameOrPrefix, obj, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) { + if (this.opts.ownProperties) { + return this.forOf(nameOrPrefix, (0, code_1._)`Object.keys(${obj})`, forBody); + } + const name = this._scope.toName(nameOrPrefix); + return this._for(new ForIter("in", varKind, name, obj), () => forBody(name)); + } + // end `for` loop + endFor() { + return this._endBlockNode(For); + } + // `label` statement + label(label) { + return this._leafNode(new Label(label)); + } + // `break` statement + break(label) { + return this._leafNode(new Break(label)); + } + // `return` statement + return(value) { + const node = new Return(); + this._blockNode(node); + this.code(value); + if (node.nodes.length !== 1) throw new Error('CodeGen: "return" should have one node'); + return this._endBlockNode(Return); + } + // `try` statement + try(tryBody, catchCode, finallyCode) { + if (!catchCode && !finallyCode) throw new Error('CodeGen: "try" without "catch" and "finally"'); + const node = new Try(); + this._blockNode(node); + this.code(tryBody); + if (catchCode) { + const error = this.name("e"); + this._currNode = node.catch = new Catch(error); + catchCode(error); + } + if (finallyCode) { + this._currNode = node.finally = new Finally(); + this.code(finallyCode); + } + return this._endBlockNode(Catch, Finally); + } + // `throw` statement + throw(error) { + return this._leafNode(new Throw(error)); + } + // start self-balancing block + block(body, nodeCount) { + this._blockStarts.push(this._nodes.length); + if (body) this.code(body).endBlock(nodeCount); + return this; + } + // end the current self-balancing block + endBlock(nodeCount) { + const len = this._blockStarts.pop(); + if (len === undefined) throw new Error("CodeGen: not in self-balancing block"); + const toClose = this._nodes.length - len; + if (toClose < 0 || (nodeCount !== undefined && toClose !== nodeCount)) { + throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`); + } + this._nodes.length = len; + return this; + } + // `function` heading (or definition if funcBody is passed) + func(name, args = code_1.nil, async, funcBody) { + this._blockNode(new Func(name, args, async)); + if (funcBody) this.code(funcBody).endFunc(); + return this; + } + // end function definition + endFunc() { + return this._endBlockNode(Func); + } + optimize(n = 1) { + while (n-- > 0) { + this._root.optimizeNodes(); + this._root.optimizeNames(this._root.names, this._constants); + } + } + _leafNode(node) { + this._currNode.nodes.push(node); + return this; + } + _blockNode(node) { + this._currNode.nodes.push(node); + this._nodes.push(node); + } + _endBlockNode(N1, N2) { + const n = this._currNode; + if (n instanceof N1 || (N2 && n instanceof N2)) { + this._nodes.pop(); + return this; + } + throw new Error(`CodeGen: not in block "${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}"`); + } + _elseNode(node) { + const n = this._currNode; + if (!(n instanceof If)) { + throw new Error('CodeGen: "else" without "if"'); + } + this._currNode = n.else = node; + return this; + } + get _root() { + return this._nodes[0]; + } + get _currNode() { + const ns = this._nodes; + return ns[ns.length - 1]; + } + set _currNode(node) { + const ns = this._nodes; + ns[ns.length - 1] = node; + } + } + exports.CodeGen = CodeGen; + function addNames(names, from) { + for (const n in from) names[n] = (names[n] || 0) + (from[n] || 0); + return names; + } + function addExprNames(names, from) { + return from instanceof code_1._CodeOrName ? addNames(names, from.names) : names; + } + function optimizeExpr(expr, names, constants) { + if (expr instanceof code_1.Name) return replaceName(expr); + if (!canOptimize(expr)) return expr; + return new code_1._Code( + expr._items.reduce((items, c) => { + if (c instanceof code_1.Name) c = replaceName(c); + if (c instanceof code_1._Code) items.push(...c._items); + else items.push(c); + return items; + }, []), + ); + function replaceName(n) { + const c = constants[n.str]; + if (c === undefined || names[n.str] !== 1) return n; + delete names[n.str]; + return c; + } + function canOptimize(e) { + return ( + e instanceof code_1._Code && + e._items.some((c) => c instanceof code_1.Name && names[c.str] === 1 && constants[c.str] !== undefined) + ); + } + } + function subtractNames(names, from) { + for (const n in from) names[n] = (names[n] || 0) - (from[n] || 0); + } + function not(x) { + return typeof x == "boolean" || typeof x == "number" || x === null ? !x : (0, code_1._)`!${par(x)}`; + } + exports.not = not; + const andCode = mappend(exports.operators.AND); + // boolean AND (&&) expression with the passed arguments + function and(...args) { + return args.reduce(andCode); + } + exports.and = and; + const orCode = mappend(exports.operators.OR); + // boolean OR (||) expression with the passed arguments + function or(...args) { + return args.reduce(orCode); + } + exports.or = or; + function mappend(op) { + return (x, y) => (x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._)`${par(x)} ${op} ${par(y)}`); + } + function par(x) { + return x instanceof code_1.Name ? x : (0, code_1._)`(${x})`; + } + }, + { "./code": 48, "./scope": 50 }, + ], + 50: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ValueScope = + exports.ValueScopeName = + exports.Scope = + exports.varKinds = + exports.UsedValueState = + void 0; + const code_1 = require("./code"); + class ValueError extends Error { + constructor(name) { + super(`CodeGen: "code" for ${name} not defined`); + this.value = name.value; + } + } + var UsedValueState; + (function (UsedValueState) { + UsedValueState[(UsedValueState["Started"] = 0)] = "Started"; + UsedValueState[(UsedValueState["Completed"] = 1)] = "Completed"; + })((UsedValueState = exports.UsedValueState || (exports.UsedValueState = {}))); + exports.varKinds = { + const: new code_1.Name("const"), + let: new code_1.Name("let"), + var: new code_1.Name("var"), + }; + class Scope { + constructor({ prefixes, parent } = {}) { + this._names = {}; + this._prefixes = prefixes; + this._parent = parent; + } + toName(nameOrPrefix) { + return nameOrPrefix instanceof code_1.Name ? nameOrPrefix : this.name(nameOrPrefix); + } + name(prefix) { + return new code_1.Name(this._newName(prefix)); + } + _newName(prefix) { + const ng = this._names[prefix] || this._nameGroup(prefix); + return `${prefix}${ng.index++}`; + } + _nameGroup(prefix) { + var _a, _b; + if ( + ((_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a._prefixes) === null || _b === void 0 + ? void 0 + : _b.has(prefix)) || + (this._prefixes && !this._prefixes.has(prefix)) + ) { + throw new Error(`CodeGen: prefix "${prefix}" is not allowed in this scope`); + } + return (this._names[prefix] = { prefix, index: 0 }); + } + } + exports.Scope = Scope; + class ValueScopeName extends code_1.Name { + constructor(prefix, nameStr) { + super(nameStr); + this.prefix = prefix; + } + setValue(value, { property, itemIndex }) { + this.value = value; + this.scopePath = (0, code_1._)`.${new code_1.Name(property)}[${itemIndex}]`; + } + } + exports.ValueScopeName = ValueScopeName; + const line = (0, code_1._)`\n`; + class ValueScope extends Scope { + constructor(opts) { + super(opts); + this._values = {}; + this._scope = opts.scope; + this.opts = { ...opts, _n: opts.lines ? line : code_1.nil }; + } + get() { + return this._scope; + } + name(prefix) { + return new ValueScopeName(prefix, this._newName(prefix)); + } + value(nameOrPrefix, value) { + var _a; + if (value.ref === undefined) throw new Error("CodeGen: ref must be passed in value"); + const name = this.toName(nameOrPrefix); + const { prefix } = name; + const valueKey = (_a = value.key) !== null && _a !== void 0 ? _a : value.ref; + let vs = this._values[prefix]; + if (vs) { + const _name = vs.get(valueKey); + if (_name) return _name; + } else { + vs = this._values[prefix] = new Map(); + } + vs.set(valueKey, name); + const s = this._scope[prefix] || (this._scope[prefix] = []); + const itemIndex = s.length; + s[itemIndex] = value.ref; + name.setValue(value, { property: prefix, itemIndex }); + return name; + } + getValue(prefix, keyOrRef) { + const vs = this._values[prefix]; + if (!vs) return; + return vs.get(keyOrRef); + } + scopeRefs(scopeName, values = this._values) { + return this._reduceValues(values, (name) => { + if (name.scopePath === undefined) throw new Error(`CodeGen: name "${name}" has no value`); + return (0, code_1._)`${scopeName}${name.scopePath}`; + }); + } + scopeCode(values = this._values, usedValues, getCode) { + return this._reduceValues( + values, + (name) => { + if (name.value === undefined) throw new Error(`CodeGen: name "${name}" has no value`); + return name.value.code; + }, + usedValues, + getCode, + ); + } + _reduceValues(values, valueCode, usedValues = {}, getCode) { + let code = code_1.nil; + for (const prefix in values) { + const vs = values[prefix]; + if (!vs) continue; + const nameSet = (usedValues[prefix] = usedValues[prefix] || new Map()); + vs.forEach((name) => { + if (nameSet.has(name)) return; + nameSet.set(name, UsedValueState.Started); + let c = valueCode(name); + if (c) { + const def = this.opts.es5 ? exports.varKinds.var : exports.varKinds.const; + code = (0, code_1._)`${code}${def} ${name} = ${c};${this.opts._n}`; + } else if ((c = getCode === null || getCode === void 0 ? void 0 : getCode(name))) { + code = (0, code_1._)`${code}${c}${this.opts._n}`; + } else { + throw new ValueError(name); + } + nameSet.set(name, UsedValueState.Completed); + }); + } + return code; + } + } + exports.ValueScope = ValueScope; + }, + { "./code": 48 }, + ], + 51: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.extendErrors = + exports.resetErrorsCount = + exports.reportExtraError = + exports.reportError = + exports.keyword$DataError = + exports.keywordError = + void 0; + const codegen_1 = require("./codegen"); + const util_1 = require("./util"); + const names_1 = require("./names"); + exports.keywordError = { + message: ({ keyword }) => (0, codegen_1.str)`must pass "${keyword}" keyword validation`, + }; + exports.keyword$DataError = { + message: ({ keyword, schemaType }) => + schemaType + ? (0, codegen_1.str)`"${keyword}" keyword must be ${schemaType} ($data)` + : (0, codegen_1.str)`"${keyword}" keyword is invalid ($data)`, + }; + function reportError(cxt, error = exports.keywordError, errorPaths, overrideAllErrors) { + const { it } = cxt; + const { gen, compositeRule, allErrors } = it; + const errObj = errorObjectCode(cxt, error, errorPaths); + if ( + overrideAllErrors !== null && overrideAllErrors !== void 0 ? overrideAllErrors : compositeRule || allErrors + ) { + addError(gen, errObj); + } else { + returnErrors(it, (0, codegen_1._)`[${errObj}]`); + } + } + exports.reportError = reportError; + function reportExtraError(cxt, error = exports.keywordError, errorPaths) { + const { it } = cxt; + const { gen, compositeRule, allErrors } = it; + const errObj = errorObjectCode(cxt, error, errorPaths); + addError(gen, errObj); + if (!(compositeRule || allErrors)) { + returnErrors(it, names_1.default.vErrors); + } + } + exports.reportExtraError = reportExtraError; + function resetErrorsCount(gen, errsCount) { + gen.assign(names_1.default.errors, errsCount); + gen.if((0, codegen_1._)`${names_1.default.vErrors} !== null`, () => + gen.if( + errsCount, + () => gen.assign((0, codegen_1._)`${names_1.default.vErrors}.length`, errsCount), + () => gen.assign(names_1.default.vErrors, null), + ), + ); + } + exports.resetErrorsCount = resetErrorsCount; + function extendErrors({ gen, keyword, schemaValue, data, errsCount, it }) { + /* istanbul ignore if */ + if (errsCount === undefined) throw new Error("ajv implementation error"); + const err = gen.name("err"); + gen.forRange("i", errsCount, names_1.default.errors, (i) => { + gen.const(err, (0, codegen_1._)`${names_1.default.vErrors}[${i}]`); + gen.if((0, codegen_1._)`${err}.instancePath === undefined`, () => + gen.assign( + (0, codegen_1._)`${err}.instancePath`, + (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath), + ), + ); + gen.assign((0, codegen_1._)`${err}.schemaPath`, (0, codegen_1.str)`${it.errSchemaPath}/${keyword}`); + if (it.opts.verbose) { + gen.assign((0, codegen_1._)`${err}.schema`, schemaValue); + gen.assign((0, codegen_1._)`${err}.data`, data); + } + }); + } + exports.extendErrors = extendErrors; + function addError(gen, errObj) { + const err = gen.const("err", errObj); + gen.if( + (0, codegen_1._)`${names_1.default.vErrors} === null`, + () => gen.assign(names_1.default.vErrors, (0, codegen_1._)`[${err}]`), + (0, codegen_1._)`${names_1.default.vErrors}.push(${err})`, + ); + gen.code((0, codegen_1._)`${names_1.default.errors}++`); + } + function returnErrors(it, errs) { + const { gen, validateName, schemaEnv } = it; + if (schemaEnv.$async) { + gen.throw((0, codegen_1._)`new ${it.ValidationError}(${errs})`); + } else { + gen.assign((0, codegen_1._)`${validateName}.errors`, errs); + gen.return(false); + } + } + const E = { + keyword: new codegen_1.Name("keyword"), + schemaPath: new codegen_1.Name("schemaPath"), + params: new codegen_1.Name("params"), + propertyName: new codegen_1.Name("propertyName"), + message: new codegen_1.Name("message"), + schema: new codegen_1.Name("schema"), + parentSchema: new codegen_1.Name("parentSchema"), + }; + function errorObjectCode(cxt, error, errorPaths) { + const { createErrors } = cxt.it; + if (createErrors === false) return (0, codegen_1._)`{}`; + return errorObject(cxt, error, errorPaths); + } + function errorObject(cxt, error, errorPaths = {}) { + const { gen, it } = cxt; + const keyValues = [errorInstancePath(it, errorPaths), errorSchemaPath(cxt, errorPaths)]; + extraErrorProps(cxt, error, keyValues); + return gen.object(...keyValues); + } + function errorInstancePath({ errorPath }, { instancePath }) { + const instPath = instancePath + ? (0, codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(instancePath, util_1.Type.Str)}` + : errorPath; + return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, instPath)]; + } + function errorSchemaPath({ keyword, it: { errSchemaPath } }, { schemaPath, parentSchema }) { + let schPath = parentSchema ? errSchemaPath : (0, codegen_1.str)`${errSchemaPath}/${keyword}`; + if (schemaPath) { + schPath = (0, codegen_1.str)`${schPath}${(0, util_1.getErrorPath)(schemaPath, util_1.Type.Str)}`; + } + return [E.schemaPath, schPath]; + } + function extraErrorProps(cxt, { params, message }, keyValues) { + const { keyword, data, schemaValue, it } = cxt; + const { opts, propertyName, topSchemaRef, schemaPath } = it; + keyValues.push( + [E.keyword, keyword], + [E.params, typeof params == "function" ? params(cxt) : params || (0, codegen_1._)`{}`], + ); + if (opts.messages) { + keyValues.push([E.message, typeof message == "function" ? message(cxt) : message]); + } + if (opts.verbose) { + keyValues.push( + [E.schema, schemaValue], + [E.parentSchema, (0, codegen_1._)`${topSchemaRef}${schemaPath}`], + [names_1.default.data, data], + ); + } + if (propertyName) keyValues.push([E.propertyName, propertyName]); + } + }, + { "./codegen": 49, "./names": 53, "./util": 57 }, + ], + 52: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.resolveSchema = + exports.getCompilingSchema = + exports.resolveRef = + exports.compileSchema = + exports.SchemaEnv = + void 0; + const codegen_1 = require("./codegen"); + const validation_error_1 = require("../runtime/validation_error"); + const names_1 = require("./names"); + const resolve_1 = require("./resolve"); + const util_1 = require("./util"); + const validate_1 = require("./validate"); + class SchemaEnv { + constructor(env) { + var _a; + this.refs = {}; + this.dynamicAnchors = {}; + let schema; + if (typeof env.schema == "object") schema = env.schema; + this.schema = env.schema; + this.schemaId = env.schemaId; + this.root = env.root || this; + this.baseId = + (_a = env.baseId) !== null && _a !== void 0 + ? _a + : (0, resolve_1.normalizeId)( + schema === null || schema === void 0 ? void 0 : schema[env.schemaId || "$id"], + ); + this.schemaPath = env.schemaPath; + this.localRefs = env.localRefs; + this.meta = env.meta; + this.$async = schema === null || schema === void 0 ? void 0 : schema.$async; + this.refs = {}; + } + } + exports.SchemaEnv = SchemaEnv; + // let codeSize = 0 + // let nodeCount = 0 + // Compiles schema in SchemaEnv + function compileSchema(sch) { + // TODO refactor - remove compilations + const _sch = getCompilingSchema.call(this, sch); + if (_sch) return _sch; + const rootId = (0, resolve_1.getFullPath)(this.opts.uriResolver, sch.root.baseId); // TODO if getFullPath removed 1 tests fails + const { es5, lines } = this.opts.code; + const { ownProperties } = this.opts; + const gen = new codegen_1.CodeGen(this.scope, { es5, lines, ownProperties }); + let _ValidationError; + if (sch.$async) { + _ValidationError = gen.scopeValue("Error", { + ref: validation_error_1.default, + code: (0, codegen_1._)`require("ajv/dist/runtime/validation_error").default`, + }); + } + const validateName = gen.scopeName("validate"); + sch.validateName = validateName; + const schemaCxt = { + gen, + allErrors: this.opts.allErrors, + data: names_1.default.data, + parentData: names_1.default.parentData, + parentDataProperty: names_1.default.parentDataProperty, + dataNames: [names_1.default.data], + dataPathArr: [codegen_1.nil], + dataLevel: 0, + dataTypes: [], + definedProperties: new Set(), + topSchemaRef: gen.scopeValue( + "schema", + this.opts.code.source === true + ? { ref: sch.schema, code: (0, codegen_1.stringify)(sch.schema) } + : { ref: sch.schema }, + ), + validateName, + ValidationError: _ValidationError, + schema: sch.schema, + schemaEnv: sch, + rootId, + baseId: sch.baseId || rootId, + schemaPath: codegen_1.nil, + errSchemaPath: sch.schemaPath || (this.opts.jtd ? "" : "#"), + errorPath: (0, codegen_1._)`""`, + opts: this.opts, + self: this, + }; + let sourceCode; + try { + this._compilations.add(sch); + (0, validate_1.validateFunctionCode)(schemaCxt); + gen.optimize(this.opts.code.optimize); + // gen.optimize(1) + const validateCode = gen.toString(); + sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`; + // console.log((codeSize += sourceCode.length), (nodeCount += gen.nodeCount)) + if (this.opts.code.process) sourceCode = this.opts.code.process(sourceCode, sch); + // console.log("\n\n\n *** \n", sourceCode) + const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode); + const validate = makeValidate(this, this.scope.get()); + this.scope.value(validateName, { ref: validate }); + validate.errors = null; + validate.schema = sch.schema; + validate.schemaEnv = sch; + if (sch.$async) validate.$async = true; + if (this.opts.code.source === true) { + validate.source = { validateName, validateCode, scopeValues: gen._values }; + } + if (this.opts.unevaluated) { + const { props, items } = schemaCxt; + validate.evaluated = { + props: props instanceof codegen_1.Name ? undefined : props, + items: items instanceof codegen_1.Name ? undefined : items, + dynamicProps: props instanceof codegen_1.Name, + dynamicItems: items instanceof codegen_1.Name, + }; + if (validate.source) validate.source.evaluated = (0, codegen_1.stringify)(validate.evaluated); + } + sch.validate = validate; + return sch; + } catch (e) { + delete sch.validate; + delete sch.validateName; + if (sourceCode) this.logger.error("Error compiling schema, function code:", sourceCode); + // console.log("\n\n\n *** \n", sourceCode, this.opts) + throw e; + } finally { + this._compilations.delete(sch); + } + } + exports.compileSchema = compileSchema; + function resolveRef(root, baseId, ref) { + var _a; + ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, ref); + const schOrFunc = root.refs[ref]; + if (schOrFunc) return schOrFunc; + let _sch = resolve.call(this, root, ref); + if (_sch === undefined) { + const schema = (_a = root.localRefs) === null || _a === void 0 ? void 0 : _a[ref]; // TODO maybe localRefs should hold SchemaEnv + const { schemaId } = this.opts; + if (schema) _sch = new SchemaEnv({ schema, schemaId, root, baseId }); + } + if (_sch === undefined) return; + return (root.refs[ref] = inlineOrCompile.call(this, _sch)); + } + exports.resolveRef = resolveRef; + function inlineOrCompile(sch) { + if ((0, resolve_1.inlineRef)(sch.schema, this.opts.inlineRefs)) return sch.schema; + return sch.validate ? sch : compileSchema.call(this, sch); + } + // Index of schema compilation in the currently compiled list + function getCompilingSchema(schEnv) { + for (const sch of this._compilations) { + if (sameSchemaEnv(sch, schEnv)) return sch; + } + } + exports.getCompilingSchema = getCompilingSchema; + function sameSchemaEnv(s1, s2) { + return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId; + } + // resolve and compile the references ($ref) + // TODO returns AnySchemaObject (if the schema can be inlined) or validation function + function resolve( + root, // information about the root schema for the current schema + ref, // reference to resolve + ) { + let sch; + while (typeof (sch = this.refs[ref]) == "string") ref = sch; + return sch || this.schemas[ref] || resolveSchema.call(this, root, ref); + } + // Resolve schema, its root and baseId + function resolveSchema( + root, // root object with properties schema, refs TODO below SchemaEnv is assigned to it + ref, // reference to resolve + ) { + const p = this.opts.uriResolver.parse(ref); + const refPath = (0, resolve_1._getFullPath)(this.opts.uriResolver, p); + let baseId = (0, resolve_1.getFullPath)(this.opts.uriResolver, root.baseId, undefined); + // TODO `Object.keys(root.schema).length > 0` should not be needed - but removing breaks 2 tests + if (Object.keys(root.schema).length > 0 && refPath === baseId) { + return getJsonPointer.call(this, p, root); + } + const id = (0, resolve_1.normalizeId)(refPath); + const schOrRef = this.refs[id] || this.schemas[id]; + if (typeof schOrRef == "string") { + const sch = resolveSchema.call(this, root, schOrRef); + if (typeof (sch === null || sch === void 0 ? void 0 : sch.schema) !== "object") return; + return getJsonPointer.call(this, p, sch); + } + if (typeof (schOrRef === null || schOrRef === void 0 ? void 0 : schOrRef.schema) !== "object") return; + if (!schOrRef.validate) compileSchema.call(this, schOrRef); + if (id === (0, resolve_1.normalizeId)(ref)) { + const { schema } = schOrRef; + const { schemaId } = this.opts; + const schId = schema[schemaId]; + if (schId) baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId); + return new SchemaEnv({ schema, schemaId, root, baseId }); + } + return getJsonPointer.call(this, p, schOrRef); + } + exports.resolveSchema = resolveSchema; + const PREVENT_SCOPE_CHANGE = new Set([ + "properties", + "patternProperties", + "enum", + "dependencies", + "definitions", + ]); + function getJsonPointer(parsedRef, { baseId, schema, root }) { + var _a; + if (((_a = parsedRef.fragment) === null || _a === void 0 ? void 0 : _a[0]) !== "/") return; + for (const part of parsedRef.fragment.slice(1).split("/")) { + if (typeof schema === "boolean") return; + const partSchema = schema[(0, util_1.unescapeFragment)(part)]; + if (partSchema === undefined) return; + schema = partSchema; + // TODO PREVENT_SCOPE_CHANGE could be defined in keyword def? + const schId = typeof schema === "object" && schema[this.opts.schemaId]; + if (!PREVENT_SCOPE_CHANGE.has(part) && schId) { + baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId); + } + } + let env; + if (typeof schema != "boolean" && schema.$ref && !(0, util_1.schemaHasRulesButRef)(schema, this.RULES)) { + const $ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schema.$ref); + env = resolveSchema.call(this, root, $ref); + } + // even though resolution failed we need to return SchemaEnv to throw exception + // so that compileAsync loads missing schema. + const { schemaId } = this.opts; + env = env || new SchemaEnv({ schema, schemaId, root, baseId }); + if (env.schema !== env.root.schema) return env; + return undefined; + } + }, + { + "../runtime/validation_error": 79, + "./codegen": 49, + "./names": 53, + "./resolve": 55, + "./util": 57, + "./validate": 62, + }, + ], + 53: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("./codegen"); + const names = { + // validation function arguments + data: new codegen_1.Name("data"), + // args passed from referencing schema + valCxt: new codegen_1.Name("valCxt"), + instancePath: new codegen_1.Name("instancePath"), + parentData: new codegen_1.Name("parentData"), + parentDataProperty: new codegen_1.Name("parentDataProperty"), + rootData: new codegen_1.Name("rootData"), + dynamicAnchors: new codegen_1.Name("dynamicAnchors"), + // function scoped variables + vErrors: new codegen_1.Name("vErrors"), + errors: new codegen_1.Name("errors"), + this: new codegen_1.Name("this"), + // "globals" + self: new codegen_1.Name("self"), + scope: new codegen_1.Name("scope"), + // JTD serialize/parse name for JSON string and position + json: new codegen_1.Name("json"), + jsonPos: new codegen_1.Name("jsonPos"), + jsonLen: new codegen_1.Name("jsonLen"), + jsonPart: new codegen_1.Name("jsonPart"), + }; + exports.default = names; + }, + { "./codegen": 49 }, + ], + 54: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const resolve_1 = require("./resolve"); + class MissingRefError extends Error { + constructor(resolver, baseId, ref, msg) { + super(msg || `can't resolve reference ${ref} from id ${baseId}`); + this.missingRef = (0, resolve_1.resolveUrl)(resolver, baseId, ref); + this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(resolver, this.missingRef)); + } + } + exports.default = MissingRefError; + }, + { "./resolve": 55 }, + ], + 55: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getSchemaRefs = + exports.resolveUrl = + exports.normalizeId = + exports._getFullPath = + exports.getFullPath = + exports.inlineRef = + void 0; + const util_1 = require("./util"); + const equal = require("fast-deep-equal"); + const traverse = require("json-schema-traverse"); + // TODO refactor to use keyword definitions + const SIMPLE_INLINED = new Set([ + "type", + "format", + "pattern", + "maxLength", + "minLength", + "maxProperties", + "minProperties", + "maxItems", + "minItems", + "maximum", + "minimum", + "uniqueItems", + "multipleOf", + "required", + "enum", + "const", + ]); + function inlineRef(schema, limit = true) { + if (typeof schema == "boolean") return true; + if (limit === true) return !hasRef(schema); + if (!limit) return false; + return countKeys(schema) <= limit; + } + exports.inlineRef = inlineRef; + const REF_KEYWORDS = new Set(["$ref", "$recursiveRef", "$recursiveAnchor", "$dynamicRef", "$dynamicAnchor"]); + function hasRef(schema) { + for (const key in schema) { + if (REF_KEYWORDS.has(key)) return true; + const sch = schema[key]; + if (Array.isArray(sch) && sch.some(hasRef)) return true; + if (typeof sch == "object" && hasRef(sch)) return true; + } + return false; + } + function countKeys(schema) { + let count = 0; + for (const key in schema) { + if (key === "$ref") return Infinity; + count++; + if (SIMPLE_INLINED.has(key)) continue; + if (typeof schema[key] == "object") { + (0, util_1.eachItem)(schema[key], (sch) => (count += countKeys(sch))); + } + if (count === Infinity) return Infinity; + } + return count; + } + function getFullPath(resolver, id = "", normalize) { + if (normalize !== false) id = normalizeId(id); + const p = resolver.parse(id); + return _getFullPath(resolver, p); + } + exports.getFullPath = getFullPath; + function _getFullPath(resolver, p) { + const serialized = resolver.serialize(p); + return serialized.split("#")[0] + "#"; + } + exports._getFullPath = _getFullPath; + const TRAILING_SLASH_HASH = /#\/?$/; + function normalizeId(id) { + return id ? id.replace(TRAILING_SLASH_HASH, "") : ""; + } + exports.normalizeId = normalizeId; + function resolveUrl(resolver, baseId, id) { + id = normalizeId(id); + return resolver.resolve(baseId, id); + } + exports.resolveUrl = resolveUrl; + const ANCHOR = /^[a-z_][-a-z0-9._]*$/i; + function getSchemaRefs(schema, baseId) { + if (typeof schema == "boolean") return {}; + const { schemaId, uriResolver } = this.opts; + const schId = normalizeId(schema[schemaId] || baseId); + const baseIds = { "": schId }; + const pathPrefix = getFullPath(uriResolver, schId, false); + const localRefs = {}; + const schemaRefs = new Set(); + traverse(schema, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => { + if (parentJsonPtr === undefined) return; + const fullPath = pathPrefix + jsonPtr; + let baseId = baseIds[parentJsonPtr]; + if (typeof sch[schemaId] == "string") baseId = addRef.call(this, sch[schemaId]); + addAnchor.call(this, sch.$anchor); + addAnchor.call(this, sch.$dynamicAnchor); + baseIds[jsonPtr] = baseId; + function addRef(ref) { + // eslint-disable-next-line @typescript-eslint/unbound-method + const _resolve = this.opts.uriResolver.resolve; + ref = normalizeId(baseId ? _resolve(baseId, ref) : ref); + if (schemaRefs.has(ref)) throw ambiguos(ref); + schemaRefs.add(ref); + let schOrRef = this.refs[ref]; + if (typeof schOrRef == "string") schOrRef = this.refs[schOrRef]; + if (typeof schOrRef == "object") { + checkAmbiguosRef(sch, schOrRef.schema, ref); + } else if (ref !== normalizeId(fullPath)) { + if (ref[0] === "#") { + checkAmbiguosRef(sch, localRefs[ref], ref); + localRefs[ref] = sch; + } else { + this.refs[ref] = fullPath; + } + } + return ref; + } + function addAnchor(anchor) { + if (typeof anchor == "string") { + if (!ANCHOR.test(anchor)) throw new Error(`invalid anchor "${anchor}"`); + addRef.call(this, `#${anchor}`); + } + } + }); + return localRefs; + function checkAmbiguosRef(sch1, sch2, ref) { + if (sch2 !== undefined && !equal(sch1, sch2)) throw ambiguos(ref); + } + function ambiguos(ref) { + return new Error(`reference "${ref}" resolves to more than one schema`); + } + } + exports.getSchemaRefs = getSchemaRefs; + }, + { "./util": 57, "fast-deep-equal": 136, "json-schema-traverse": 171 }, + ], + 56: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getRules = exports.isJSONType = void 0; + const _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array"]; + const jsonTypes = new Set(_jsonTypes); + function isJSONType(x) { + return typeof x == "string" && jsonTypes.has(x); + } + exports.isJSONType = isJSONType; + function getRules() { + const groups = { + number: { type: "number", rules: [] }, + string: { type: "string", rules: [] }, + array: { type: "array", rules: [] }, + object: { type: "object", rules: [] }, + }; + return { + types: { ...groups, integer: true, boolean: true, null: true }, + rules: [{ rules: [] }, groups.number, groups.string, groups.array, groups.object], + post: { rules: [] }, + all: {}, + keywords: {}, + }; + } + exports.getRules = getRules; + }, + {}, + ], + 57: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.checkStrictMode = + exports.getErrorPath = + exports.Type = + exports.useFunc = + exports.setEvaluated = + exports.evaluatedPropsToName = + exports.mergeEvaluated = + exports.eachItem = + exports.unescapeJsonPointer = + exports.escapeJsonPointer = + exports.escapeFragment = + exports.unescapeFragment = + exports.schemaRefOrVal = + exports.schemaHasRulesButRef = + exports.schemaHasRules = + exports.checkUnknownRules = + exports.alwaysValidSchema = + exports.toHash = + void 0; + const codegen_1 = require("./codegen"); + const code_1 = require("./codegen/code"); + // TODO refactor to use Set + function toHash(arr) { + const hash = {}; + for (const item of arr) hash[item] = true; + return hash; + } + exports.toHash = toHash; + function alwaysValidSchema(it, schema) { + if (typeof schema == "boolean") return schema; + if (Object.keys(schema).length === 0) return true; + checkUnknownRules(it, schema); + return !schemaHasRules(schema, it.self.RULES.all); + } + exports.alwaysValidSchema = alwaysValidSchema; + function checkUnknownRules(it, schema = it.schema) { + const { opts, self } = it; + if (!opts.strictSchema) return; + if (typeof schema === "boolean") return; + const rules = self.RULES.keywords; + for (const key in schema) { + if (!rules[key]) checkStrictMode(it, `unknown keyword: "${key}"`); + } + } + exports.checkUnknownRules = checkUnknownRules; + function schemaHasRules(schema, rules) { + if (typeof schema == "boolean") return !schema; + for (const key in schema) if (rules[key]) return true; + return false; + } + exports.schemaHasRules = schemaHasRules; + function schemaHasRulesButRef(schema, RULES) { + if (typeof schema == "boolean") return !schema; + for (const key in schema) if (key !== "$ref" && RULES.all[key]) return true; + return false; + } + exports.schemaHasRulesButRef = schemaHasRulesButRef; + function schemaRefOrVal({ topSchemaRef, schemaPath }, schema, keyword, $data) { + if (!$data) { + if (typeof schema == "number" || typeof schema == "boolean") return schema; + if (typeof schema == "string") return (0, codegen_1._)`${schema}`; + } + return (0, codegen_1._)`${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`; + } + exports.schemaRefOrVal = schemaRefOrVal; + function unescapeFragment(str) { + return unescapeJsonPointer(decodeURIComponent(str)); + } + exports.unescapeFragment = unescapeFragment; + function escapeFragment(str) { + return encodeURIComponent(escapeJsonPointer(str)); + } + exports.escapeFragment = escapeFragment; + function escapeJsonPointer(str) { + if (typeof str == "number") return `${str}`; + return str.replace(/~/g, "~0").replace(/\//g, "~1"); + } + exports.escapeJsonPointer = escapeJsonPointer; + function unescapeJsonPointer(str) { + return str.replace(/~1/g, "/").replace(/~0/g, "~"); + } + exports.unescapeJsonPointer = unescapeJsonPointer; + function eachItem(xs, f) { + if (Array.isArray(xs)) { + for (const x of xs) f(x); + } else { + f(xs); + } + } + exports.eachItem = eachItem; + function makeMergeEvaluated({ mergeNames, mergeToName, mergeValues, resultToName }) { + return (gen, from, to, toName) => { + const res = + to === undefined + ? from + : to instanceof codegen_1.Name + ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to) + : from instanceof codegen_1.Name + ? (mergeToName(gen, to, from), from) + : mergeValues(from, to); + return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res; + }; + } + exports.mergeEvaluated = { + props: makeMergeEvaluated({ + mergeNames: (gen, from, to) => + gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => { + gen.if( + (0, codegen_1._)`${from} === true`, + () => gen.assign(to, true), + () => + gen.assign(to, (0, codegen_1._)`${to} || {}`).code((0, codegen_1._)`Object.assign(${to}, ${from})`), + ); + }), + mergeToName: (gen, from, to) => + gen.if((0, codegen_1._)`${to} !== true`, () => { + if (from === true) { + gen.assign(to, true); + } else { + gen.assign(to, (0, codegen_1._)`${to} || {}`); + setEvaluated(gen, to, from); + } + }), + mergeValues: (from, to) => (from === true ? true : { ...from, ...to }), + resultToName: evaluatedPropsToName, + }), + items: makeMergeEvaluated({ + mergeNames: (gen, from, to) => + gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => + gen.assign(to, (0, codegen_1._)`${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`), + ), + mergeToName: (gen, from, to) => + gen.if((0, codegen_1._)`${to} !== true`, () => + gen.assign(to, from === true ? true : (0, codegen_1._)`${to} > ${from} ? ${to} : ${from}`), + ), + mergeValues: (from, to) => (from === true ? true : Math.max(from, to)), + resultToName: (gen, items) => gen.var("items", items), + }), + }; + function evaluatedPropsToName(gen, ps) { + if (ps === true) return gen.var("props", true); + const props = gen.var("props", (0, codegen_1._)`{}`); + if (ps !== undefined) setEvaluated(gen, props, ps); + return props; + } + exports.evaluatedPropsToName = evaluatedPropsToName; + function setEvaluated(gen, props, ps) { + Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._)`${props}${(0, codegen_1.getProperty)(p)}`, true)); + } + exports.setEvaluated = setEvaluated; + const snippets = {}; + function useFunc(gen, f) { + return gen.scopeValue("func", { + ref: f, + code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code)), + }); + } + exports.useFunc = useFunc; + var Type; + (function (Type) { + Type[(Type["Num"] = 0)] = "Num"; + Type[(Type["Str"] = 1)] = "Str"; + })((Type = exports.Type || (exports.Type = {}))); + function getErrorPath(dataProp, dataPropType, jsPropertySyntax) { + // let path + if (dataProp instanceof codegen_1.Name) { + const isNumber = dataPropType === Type.Num; + return jsPropertySyntax + ? isNumber + ? (0, codegen_1._)`"[" + ${dataProp} + "]"` + : (0, codegen_1._)`"['" + ${dataProp} + "']"` + : isNumber + ? (0, codegen_1._)`"/" + ${dataProp}` + : (0, codegen_1._)`"/" + ${dataProp}.replace(/~/g, "~0").replace(/\\//g, "~1")`; // TODO maybe use global escapePointer + } + return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : "/" + escapeJsonPointer(dataProp); + } + exports.getErrorPath = getErrorPath; + function checkStrictMode(it, msg, mode = it.opts.strictSchema) { + if (!mode) return; + msg = `strict mode: ${msg}`; + if (mode === true) throw new Error(msg); + it.self.logger.warn(msg); + } + exports.checkStrictMode = checkStrictMode; + }, + { "./codegen": 49, "./codegen/code": 48 }, + ], + 58: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0; + function schemaHasRulesForType({ schema, self }, type) { + const group = self.RULES.types[type]; + return group && group !== true && shouldUseGroup(schema, group); + } + exports.schemaHasRulesForType = schemaHasRulesForType; + function shouldUseGroup(schema, group) { + return group.rules.some((rule) => shouldUseRule(schema, rule)); + } + exports.shouldUseGroup = shouldUseGroup; + function shouldUseRule(schema, rule) { + var _a; + return ( + schema[rule.keyword] !== undefined || + ((_a = rule.definition.implements) === null || _a === void 0 + ? void 0 + : _a.some((kwd) => schema[kwd] !== undefined)) + ); + } + exports.shouldUseRule = shouldUseRule; + }, + {}, + ], + 59: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0; + const errors_1 = require("../errors"); + const codegen_1 = require("../codegen"); + const names_1 = require("../names"); + const boolError = { + message: "boolean schema is false", + }; + function topBoolOrEmptySchema(it) { + const { gen, schema, validateName } = it; + if (schema === false) { + falseSchemaError(it, false); + } else if (typeof schema == "object" && schema.$async === true) { + gen.return(names_1.default.data); + } else { + gen.assign((0, codegen_1._)`${validateName}.errors`, null); + gen.return(true); + } + } + exports.topBoolOrEmptySchema = topBoolOrEmptySchema; + function boolOrEmptySchema(it, valid) { + const { gen, schema } = it; + if (schema === false) { + gen.var(valid, false); // TODO var + falseSchemaError(it); + } else { + gen.var(valid, true); // TODO var + } + } + exports.boolOrEmptySchema = boolOrEmptySchema; + function falseSchemaError(it, overrideAllErrors) { + const { gen, data } = it; + // TODO maybe some other interface should be used for non-keyword validation errors... + const cxt = { + gen, + keyword: "false schema", + data, + schema: false, + schemaCode: false, + schemaValue: false, + params: {}, + it, + }; + (0, errors_1.reportError)(cxt, boolError, undefined, overrideAllErrors); + } + }, + { "../codegen": 49, "../errors": 51, "../names": 53 }, + ], + 60: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.reportTypeError = + exports.checkDataTypes = + exports.checkDataType = + exports.coerceAndCheckDataType = + exports.getJSONTypes = + exports.getSchemaTypes = + exports.DataType = + void 0; + const rules_1 = require("../rules"); + const applicability_1 = require("./applicability"); + const errors_1 = require("../errors"); + const codegen_1 = require("../codegen"); + const util_1 = require("../util"); + var DataType; + (function (DataType) { + DataType[(DataType["Correct"] = 0)] = "Correct"; + DataType[(DataType["Wrong"] = 1)] = "Wrong"; + })((DataType = exports.DataType || (exports.DataType = {}))); + function getSchemaTypes(schema) { + const types = getJSONTypes(schema.type); + const hasNull = types.includes("null"); + if (hasNull) { + if (schema.nullable === false) throw new Error("type: null contradicts nullable: false"); + } else { + if (!types.length && schema.nullable !== undefined) { + throw new Error('"nullable" cannot be used without "type"'); + } + if (schema.nullable === true) types.push("null"); + } + return types; + } + exports.getSchemaTypes = getSchemaTypes; + function getJSONTypes(ts) { + const types = Array.isArray(ts) ? ts : ts ? [ts] : []; + if (types.every(rules_1.isJSONType)) return types; + throw new Error("type must be JSONType or JSONType[]: " + types.join(",")); + } + exports.getJSONTypes = getJSONTypes; + function coerceAndCheckDataType(it, types) { + const { gen, data, opts } = it; + const coerceTo = coerceToTypes(types, opts.coerceTypes); + const checkTypes = + types.length > 0 && + !(coerceTo.length === 0 && types.length === 1 && (0, applicability_1.schemaHasRulesForType)(it, types[0])); + if (checkTypes) { + const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong); + gen.if(wrongType, () => { + if (coerceTo.length) coerceData(it, types, coerceTo); + else reportTypeError(it); + }); + } + return checkTypes; + } + exports.coerceAndCheckDataType = coerceAndCheckDataType; + const COERCIBLE = new Set(["string", "number", "integer", "boolean", "null"]); + function coerceToTypes(types, coerceTypes) { + return coerceTypes ? types.filter((t) => COERCIBLE.has(t) || (coerceTypes === "array" && t === "array")) : []; + } + function coerceData(it, types, coerceTo) { + const { gen, data, opts } = it; + const dataType = gen.let("dataType", (0, codegen_1._)`typeof ${data}`); + const coerced = gen.let("coerced", (0, codegen_1._)`undefined`); + if (opts.coerceTypes === "array") { + gen.if((0, codegen_1._)`${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () => + gen + .assign(data, (0, codegen_1._)`${data}[0]`) + .assign(dataType, (0, codegen_1._)`typeof ${data}`) + .if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data)), + ); + } + gen.if((0, codegen_1._)`${coerced} !== undefined`); + for (const t of coerceTo) { + if (COERCIBLE.has(t) || (t === "array" && opts.coerceTypes === "array")) { + coerceSpecificType(t); + } + } + gen.else(); + reportTypeError(it); + gen.endIf(); + gen.if((0, codegen_1._)`${coerced} !== undefined`, () => { + gen.assign(data, coerced); + assignParentData(it, coerced); + }); + function coerceSpecificType(t) { + switch (t) { + case "string": + gen + .elseIf((0, codegen_1._)`${dataType} == "number" || ${dataType} == "boolean"`) + .assign(coerced, (0, codegen_1._)`"" + ${data}`) + .elseIf((0, codegen_1._)`${data} === null`) + .assign(coerced, (0, codegen_1._)`""`); + return; + case "number": + gen + .elseIf( + (0, codegen_1._)`${dataType} == "boolean" || ${data} === null + || (${dataType} == "string" && ${data} && ${data} == +${data})`, + ) + .assign(coerced, (0, codegen_1._)`+${data}`); + return; + case "integer": + gen + .elseIf( + (0, codegen_1._)`${dataType} === "boolean" || ${data} === null + || (${dataType} === "string" && ${data} && ${data} == +${data} && !(${data} % 1))`, + ) + .assign(coerced, (0, codegen_1._)`+${data}`); + return; + case "boolean": + gen + .elseIf((0, codegen_1._)`${data} === "false" || ${data} === 0 || ${data} === null`) + .assign(coerced, false) + .elseIf((0, codegen_1._)`${data} === "true" || ${data} === 1`) + .assign(coerced, true); + return; + case "null": + gen.elseIf((0, codegen_1._)`${data} === "" || ${data} === 0 || ${data} === false`); + gen.assign(coerced, null); + return; + case "array": + gen + .elseIf( + (0, codegen_1._)`${dataType} === "string" || ${dataType} === "number" + || ${dataType} === "boolean" || ${data} === null`, + ) + .assign(coerced, (0, codegen_1._)`[${data}]`); + } + } + } + function assignParentData({ gen, parentData, parentDataProperty }, expr) { + // TODO use gen.property + gen.if((0, codegen_1._)`${parentData} !== undefined`, () => + gen.assign((0, codegen_1._)`${parentData}[${parentDataProperty}]`, expr), + ); + } + function checkDataType(dataType, data, strictNums, correct = DataType.Correct) { + const EQ = correct === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ; + let cond; + switch (dataType) { + case "null": + return (0, codegen_1._)`${data} ${EQ} null`; + case "array": + cond = (0, codegen_1._)`Array.isArray(${data})`; + break; + case "object": + cond = (0, codegen_1._)`${data} && typeof ${data} == "object" && !Array.isArray(${data})`; + break; + case "integer": + cond = numCond((0, codegen_1._)`!(${data} % 1) && !isNaN(${data})`); + break; + case "number": + cond = numCond(); + break; + default: + return (0, codegen_1._)`typeof ${data} ${EQ} ${dataType}`; + } + return correct === DataType.Correct ? cond : (0, codegen_1.not)(cond); + function numCond(_cond = codegen_1.nil) { + return (0, codegen_1.and)( + (0, codegen_1._)`typeof ${data} == "number"`, + _cond, + strictNums ? (0, codegen_1._)`isFinite(${data})` : codegen_1.nil, + ); + } + } + exports.checkDataType = checkDataType; + function checkDataTypes(dataTypes, data, strictNums, correct) { + if (dataTypes.length === 1) { + return checkDataType(dataTypes[0], data, strictNums, correct); + } + let cond; + const types = (0, util_1.toHash)(dataTypes); + if (types.array && types.object) { + const notObj = (0, codegen_1._)`typeof ${data} != "object"`; + cond = types.null ? notObj : (0, codegen_1._)`!${data} || ${notObj}`; + delete types.null; + delete types.array; + delete types.object; + } else { + cond = codegen_1.nil; + } + if (types.number) delete types.integer; + for (const t in types) cond = (0, codegen_1.and)(cond, checkDataType(t, data, strictNums, correct)); + return cond; + } + exports.checkDataTypes = checkDataTypes; + const typeError = { + message: ({ schema }) => `must be ${schema}`, + params: ({ schema, schemaValue }) => + typeof schema == "string" ? (0, codegen_1._)`{type: ${schema}}` : (0, codegen_1._)`{type: ${schemaValue}}`, + }; + function reportTypeError(it) { + const cxt = getTypeErrorContext(it); + (0, errors_1.reportError)(cxt, typeError); + } + exports.reportTypeError = reportTypeError; + function getTypeErrorContext(it) { + const { gen, data, schema } = it; + const schemaCode = (0, util_1.schemaRefOrVal)(it, schema, "type"); + return { + gen, + keyword: "type", + data, + schema: schema.type, + schemaCode, + schemaValue: schemaCode, + parentSchema: schema, + params: {}, + it, + }; + } + }, + { "../codegen": 49, "../errors": 51, "../rules": 56, "../util": 57, "./applicability": 58 }, + ], + 61: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.assignDefaults = void 0; + const codegen_1 = require("../codegen"); + const util_1 = require("../util"); + function assignDefaults(it, ty) { + const { properties, items } = it.schema; + if (ty === "object" && properties) { + for (const key in properties) { + assignDefault(it, key, properties[key].default); + } + } else if (ty === "array" && Array.isArray(items)) { + items.forEach((sch, i) => assignDefault(it, i, sch.default)); + } + } + exports.assignDefaults = assignDefaults; + function assignDefault(it, prop, defaultValue) { + const { gen, compositeRule, data, opts } = it; + if (defaultValue === undefined) return; + const childData = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(prop)}`; + if (compositeRule) { + (0, util_1.checkStrictMode)(it, `default is ignored for: ${childData}`); + return; + } + let condition = (0, codegen_1._)`${childData} === undefined`; + if (opts.useDefaults === "empty") { + condition = (0, codegen_1._)`${condition} || ${childData} === null || ${childData} === ""`; + } + // `${childData} === undefined` + + // (opts.useDefaults === "empty" ? ` || ${childData} === null || ${childData} === ""` : "") + gen.if(condition, (0, codegen_1._)`${childData} = ${(0, codegen_1.stringify)(defaultValue)}`); + } + }, + { "../codegen": 49, "../util": 57 }, + ], + 62: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0; + const boolSchema_1 = require("./boolSchema"); + const dataType_1 = require("./dataType"); + const applicability_1 = require("./applicability"); + const dataType_2 = require("./dataType"); + const defaults_1 = require("./defaults"); + const keyword_1 = require("./keyword"); + const subschema_1 = require("./subschema"); + const codegen_1 = require("../codegen"); + const names_1 = require("../names"); + const resolve_1 = require("../resolve"); + const util_1 = require("../util"); + const errors_1 = require("../errors"); + // schema compilation - generates validation function, subschemaCode (below) is used for subschemas + function validateFunctionCode(it) { + if (isSchemaObj(it)) { + checkKeywords(it); + if (schemaCxtHasRules(it)) { + topSchemaObjCode(it); + return; + } + } + validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it)); + } + exports.validateFunctionCode = validateFunctionCode; + function validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) { + if (opts.code.es5) { + gen.func( + validateName, + (0, codegen_1._)`${names_1.default.data}, ${names_1.default.valCxt}`, + schemaEnv.$async, + () => { + gen.code((0, codegen_1._)`"use strict"; ${funcSourceUrl(schema, opts)}`); + destructureValCxtES5(gen, opts); + gen.code(body); + }, + ); + } else { + gen.func( + validateName, + (0, codegen_1._)`${names_1.default.data}, ${destructureValCxt(opts)}`, + schemaEnv.$async, + () => gen.code(funcSourceUrl(schema, opts)).code(body), + ); + } + } + function destructureValCxt(opts) { + return (0, + codegen_1._)`{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._)`, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`; + } + function destructureValCxtES5(gen, opts) { + gen.if( + names_1.default.valCxt, + () => { + gen.var( + names_1.default.instancePath, + (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.instancePath}`, + ); + gen.var( + names_1.default.parentData, + (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentData}`, + ); + gen.var( + names_1.default.parentDataProperty, + (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentDataProperty}`, + ); + gen.var( + names_1.default.rootData, + (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.rootData}`, + ); + if (opts.dynamicRef) + gen.var( + names_1.default.dynamicAnchors, + (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`, + ); + }, + () => { + gen.var(names_1.default.instancePath, (0, codegen_1._)`""`); + gen.var(names_1.default.parentData, (0, codegen_1._)`undefined`); + gen.var(names_1.default.parentDataProperty, (0, codegen_1._)`undefined`); + gen.var(names_1.default.rootData, names_1.default.data); + if (opts.dynamicRef) gen.var(names_1.default.dynamicAnchors, (0, codegen_1._)`{}`); + }, + ); + } + function topSchemaObjCode(it) { + const { schema, opts, gen } = it; + validateFunction(it, () => { + if (opts.$comment && schema.$comment) commentKeyword(it); + checkNoDefault(it); + gen.let(names_1.default.vErrors, null); + gen.let(names_1.default.errors, 0); + if (opts.unevaluated) resetEvaluated(it); + typeAndKeywords(it); + returnResults(it); + }); + return; + } + function resetEvaluated(it) { + // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated + const { gen, validateName } = it; + it.evaluated = gen.const("evaluated", (0, codegen_1._)`${validateName}.evaluated`); + gen.if((0, codegen_1._)`${it.evaluated}.dynamicProps`, () => + gen.assign((0, codegen_1._)`${it.evaluated}.props`, (0, codegen_1._)`undefined`), + ); + gen.if((0, codegen_1._)`${it.evaluated}.dynamicItems`, () => + gen.assign((0, codegen_1._)`${it.evaluated}.items`, (0, codegen_1._)`undefined`), + ); + } + function funcSourceUrl(schema, opts) { + const schId = typeof schema == "object" && schema[opts.schemaId]; + return schId && (opts.code.source || opts.code.process) + ? (0, codegen_1._)`/*# sourceURL=${schId} */` + : codegen_1.nil; + } + // schema compilation - this function is used recursively to generate code for sub-schemas + function subschemaCode(it, valid) { + if (isSchemaObj(it)) { + checkKeywords(it); + if (schemaCxtHasRules(it)) { + subSchemaObjCode(it, valid); + return; + } + } + (0, boolSchema_1.boolOrEmptySchema)(it, valid); + } + function schemaCxtHasRules({ schema, self }) { + if (typeof schema == "boolean") return !schema; + for (const key in schema) if (self.RULES.all[key]) return true; + return false; + } + function isSchemaObj(it) { + return typeof it.schema != "boolean"; + } + function subSchemaObjCode(it, valid) { + const { schema, gen, opts } = it; + if (opts.$comment && schema.$comment) commentKeyword(it); + updateContext(it); + checkAsyncSchema(it); + const errsCount = gen.const("_errs", names_1.default.errors); + typeAndKeywords(it, errsCount); + // TODO var + gen.var(valid, (0, codegen_1._)`${errsCount} === ${names_1.default.errors}`); + } + function checkKeywords(it) { + (0, util_1.checkUnknownRules)(it); + checkRefsAndKeywords(it); + } + function typeAndKeywords(it, errsCount) { + if (it.opts.jtd) return schemaKeywords(it, [], false, errsCount); + const types = (0, dataType_1.getSchemaTypes)(it.schema); + const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types); + schemaKeywords(it, types, !checkedTypes, errsCount); + } + function checkRefsAndKeywords(it) { + const { schema, errSchemaPath, opts, self } = it; + if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) { + self.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`); + } + } + function checkNoDefault(it) { + const { schema, opts } = it; + if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) { + (0, util_1.checkStrictMode)(it, "default is ignored in the schema root"); + } + } + function updateContext(it) { + const schId = it.schema[it.opts.schemaId]; + if (schId) it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId); + } + function checkAsyncSchema(it) { + if (it.schema.$async && !it.schemaEnv.$async) throw new Error("async schema in sync schema"); + } + function commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) { + const msg = schema.$comment; + if (opts.$comment === true) { + gen.code((0, codegen_1._)`${names_1.default.self}.logger.log(${msg})`); + } else if (typeof opts.$comment == "function") { + const schemaPath = (0, codegen_1.str)`${errSchemaPath}/$comment`; + const rootName = gen.scopeValue("root", { ref: schemaEnv.root }); + gen.code( + (0, codegen_1._)`${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`, + ); + } + } + function returnResults(it) { + const { gen, schemaEnv, validateName, ValidationError, opts } = it; + if (schemaEnv.$async) { + // TODO assign unevaluated + gen.if( + (0, codegen_1._)`${names_1.default.errors} === 0`, + () => gen.return(names_1.default.data), + () => gen.throw((0, codegen_1._)`new ${ValidationError}(${names_1.default.vErrors})`), + ); + } else { + gen.assign((0, codegen_1._)`${validateName}.errors`, names_1.default.vErrors); + if (opts.unevaluated) assignEvaluated(it); + gen.return((0, codegen_1._)`${names_1.default.errors} === 0`); + } + } + function assignEvaluated({ gen, evaluated, props, items }) { + if (props instanceof codegen_1.Name) gen.assign((0, codegen_1._)`${evaluated}.props`, props); + if (items instanceof codegen_1.Name) gen.assign((0, codegen_1._)`${evaluated}.items`, items); + } + function schemaKeywords(it, types, typeErrors, errsCount) { + const { gen, schema, data, allErrors, opts, self } = it; + const { RULES } = self; + if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) { + gen.block(() => keywordCode(it, "$ref", RULES.all.$ref.definition)); // TODO typecast + return; + } + if (!opts.jtd) checkStrictTypes(it, types); + gen.block(() => { + for (const group of RULES.rules) groupKeywords(group); + groupKeywords(RULES.post); + }); + function groupKeywords(group) { + if (!(0, applicability_1.shouldUseGroup)(schema, group)) return; + if (group.type) { + gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers)); + iterateKeywords(it, group); + if (types.length === 1 && types[0] === group.type && typeErrors) { + gen.else(); + (0, dataType_2.reportTypeError)(it); + } + gen.endIf(); + } else { + iterateKeywords(it, group); + } + // TODO make it "ok" call? + if (!allErrors) gen.if((0, codegen_1._)`${names_1.default.errors} === ${errsCount || 0}`); + } + } + function iterateKeywords(it, group) { + const { + gen, + schema, + opts: { useDefaults }, + } = it; + if (useDefaults) (0, defaults_1.assignDefaults)(it, group.type); + gen.block(() => { + for (const rule of group.rules) { + if ((0, applicability_1.shouldUseRule)(schema, rule)) { + keywordCode(it, rule.keyword, rule.definition, group.type); + } + } + }); + } + function checkStrictTypes(it, types) { + if (it.schemaEnv.meta || !it.opts.strictTypes) return; + checkContextTypes(it, types); + if (!it.opts.allowUnionTypes) checkMultipleTypes(it, types); + checkKeywordTypes(it, it.dataTypes); + } + function checkContextTypes(it, types) { + if (!types.length) return; + if (!it.dataTypes.length) { + it.dataTypes = types; + return; + } + types.forEach((t) => { + if (!includesType(it.dataTypes, t)) { + strictTypesError(it, `type "${t}" not allowed by context "${it.dataTypes.join(",")}"`); + } + }); + it.dataTypes = it.dataTypes.filter((t) => includesType(types, t)); + } + function checkMultipleTypes(it, ts) { + if (ts.length > 1 && !(ts.length === 2 && ts.includes("null"))) { + strictTypesError(it, "use allowUnionTypes to allow union type keyword"); + } + } + function checkKeywordTypes(it, ts) { + const rules = it.self.RULES.all; + for (const keyword in rules) { + const rule = rules[keyword]; + if (typeof rule == "object" && (0, applicability_1.shouldUseRule)(it.schema, rule)) { + const { type } = rule.definition; + if (type.length && !type.some((t) => hasApplicableType(ts, t))) { + strictTypesError(it, `missing type "${type.join(",")}" for keyword "${keyword}"`); + } + } + } + } + function hasApplicableType(schTs, kwdT) { + return schTs.includes(kwdT) || (kwdT === "number" && schTs.includes("integer")); + } + function includesType(ts, t) { + return ts.includes(t) || (t === "integer" && ts.includes("number")); + } + function strictTypesError(it, msg) { + const schemaPath = it.schemaEnv.baseId + it.errSchemaPath; + msg += ` at "${schemaPath}" (strictTypes)`; + (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes); + } + class KeywordCxt { + constructor(it, def, keyword) { + (0, keyword_1.validateKeywordUsage)(it, def, keyword); + this.gen = it.gen; + this.allErrors = it.allErrors; + this.keyword = keyword; + this.data = it.data; + this.schema = it.schema[keyword]; + this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data; + this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data); + this.schemaType = def.schemaType; + this.parentSchema = it.schema; + this.params = {}; + this.it = it; + this.def = def; + if (this.$data) { + this.schemaCode = it.gen.const("vSchema", getData(this.$data, it)); + } else { + this.schemaCode = this.schemaValue; + if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) { + throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`); + } + } + if ("code" in def ? def.trackErrors : def.errors !== false) { + this.errsCount = it.gen.const("_errs", names_1.default.errors); + } + } + result(condition, successAction, failAction) { + this.failResult((0, codegen_1.not)(condition), successAction, failAction); + } + failResult(condition, successAction, failAction) { + this.gen.if(condition); + if (failAction) failAction(); + else this.error(); + if (successAction) { + this.gen.else(); + successAction(); + if (this.allErrors) this.gen.endIf(); + } else { + if (this.allErrors) this.gen.endIf(); + else this.gen.else(); + } + } + pass(condition, failAction) { + this.failResult((0, codegen_1.not)(condition), undefined, failAction); + } + fail(condition) { + if (condition === undefined) { + this.error(); + if (!this.allErrors) this.gen.if(false); // this branch will be removed by gen.optimize + return; + } + this.gen.if(condition); + this.error(); + if (this.allErrors) this.gen.endIf(); + else this.gen.else(); + } + fail$data(condition) { + if (!this.$data) return this.fail(condition); + const { schemaCode } = this; + this.fail( + (0, codegen_1._)`${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`, + ); + } + error(append, errorParams, errorPaths) { + if (errorParams) { + this.setParams(errorParams); + this._error(append, errorPaths); + this.setParams({}); + return; + } + this._error(append, errorPaths); + } + _error(append, errorPaths) { + (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths); + } + $dataError() { + (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError); + } + reset() { + if (this.errsCount === undefined) throw new Error('add "trackErrors" to keyword definition'); + (0, errors_1.resetErrorsCount)(this.gen, this.errsCount); + } + ok(cond) { + if (!this.allErrors) this.gen.if(cond); + } + setParams(obj, assign) { + if (assign) Object.assign(this.params, obj); + else this.params = obj; + } + block$data(valid, codeBlock, $dataValid = codegen_1.nil) { + this.gen.block(() => { + this.check$data(valid, $dataValid); + codeBlock(); + }); + } + check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) { + if (!this.$data) return; + const { gen, schemaCode, schemaType, def } = this; + gen.if((0, codegen_1.or)((0, codegen_1._)`${schemaCode} === undefined`, $dataValid)); + if (valid !== codegen_1.nil) gen.assign(valid, true); + if (schemaType.length || def.validateSchema) { + gen.elseIf(this.invalid$data()); + this.$dataError(); + if (valid !== codegen_1.nil) gen.assign(valid, false); + } + gen.else(); + } + invalid$data() { + const { gen, schemaCode, schemaType, def, it } = this; + return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema()); + function wrong$DataType() { + if (schemaType.length) { + /* istanbul ignore if */ + if (!(schemaCode instanceof codegen_1.Name)) throw new Error("ajv implementation error"); + const st = Array.isArray(schemaType) ? schemaType : [schemaType]; + return (0, + codegen_1._)`${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`; + } + return codegen_1.nil; + } + function invalid$DataSchema() { + if (def.validateSchema) { + const validateSchemaRef = gen.scopeValue("validate$data", { ref: def.validateSchema }); // TODO value.code for standalone + return (0, codegen_1._)`!${validateSchemaRef}(${schemaCode})`; + } + return codegen_1.nil; + } + } + subschema(appl, valid) { + const subschema = (0, subschema_1.getSubschema)(this.it, appl); + (0, subschema_1.extendSubschemaData)(subschema, this.it, appl); + (0, subschema_1.extendSubschemaMode)(subschema, appl); + const nextContext = { ...this.it, ...subschema, items: undefined, props: undefined }; + subschemaCode(nextContext, valid); + return nextContext; + } + mergeEvaluated(schemaCxt, toName) { + const { it, gen } = this; + if (!it.opts.unevaluated) return; + if (it.props !== true && schemaCxt.props !== undefined) { + it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName); + } + if (it.items !== true && schemaCxt.items !== undefined) { + it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName); + } + } + mergeValidEvaluated(schemaCxt, valid) { + const { it, gen } = this; + if (it.opts.unevaluated && (it.props !== true || it.items !== true)) { + gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name)); + return true; + } + } + } + exports.KeywordCxt = KeywordCxt; + function keywordCode(it, keyword, def, ruleType) { + const cxt = new KeywordCxt(it, def, keyword); + if ("code" in def) { + def.code(cxt, ruleType); + } else if (cxt.$data && def.validate) { + (0, keyword_1.funcKeywordCode)(cxt, def); + } else if ("macro" in def) { + (0, keyword_1.macroKeywordCode)(cxt, def); + } else if (def.compile || def.validate) { + (0, keyword_1.funcKeywordCode)(cxt, def); + } + } + const JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/; + const RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/; + function getData($data, { dataLevel, dataNames, dataPathArr }) { + let jsonPointer; + let data; + if ($data === "") return names_1.default.rootData; + if ($data[0] === "/") { + if (!JSON_POINTER.test($data)) throw new Error(`Invalid JSON-pointer: ${$data}`); + jsonPointer = $data; + data = names_1.default.rootData; + } else { + const matches = RELATIVE_JSON_POINTER.exec($data); + if (!matches) throw new Error(`Invalid JSON-pointer: ${$data}`); + const up = +matches[1]; + jsonPointer = matches[2]; + if (jsonPointer === "#") { + if (up >= dataLevel) throw new Error(errorMsg("property/index", up)); + return dataPathArr[dataLevel - up]; + } + if (up > dataLevel) throw new Error(errorMsg("data", up)); + data = dataNames[dataLevel - up]; + if (!jsonPointer) return data; + } + let expr = data; + const segments = jsonPointer.split("/"); + for (const segment of segments) { + if (segment) { + data = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`; + expr = (0, codegen_1._)`${expr} && ${data}`; + } + } + return expr; + function errorMsg(pointerType, up) { + return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`; + } + } + exports.getData = getData; + }, + { + "../codegen": 49, + "../errors": 51, + "../names": 53, + "../resolve": 55, + "../util": 57, + "./applicability": 58, + "./boolSchema": 59, + "./dataType": 60, + "./defaults": 61, + "./keyword": 63, + "./subschema": 64, + }, + ], + 63: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateKeywordUsage = + exports.validSchemaType = + exports.funcKeywordCode = + exports.macroKeywordCode = + void 0; + const codegen_1 = require("../codegen"); + const names_1 = require("../names"); + const code_1 = require("../../vocabularies/code"); + const errors_1 = require("../errors"); + function macroKeywordCode(cxt, def) { + const { gen, keyword, schema, parentSchema, it } = cxt; + const macroSchema = def.macro.call(it.self, schema, parentSchema, it); + const schemaRef = useKeyword(gen, keyword, macroSchema); + if (it.opts.validateSchema !== false) it.self.validateSchema(macroSchema, true); + const valid = gen.name("valid"); + cxt.subschema( + { + schema: macroSchema, + schemaPath: codegen_1.nil, + errSchemaPath: `${it.errSchemaPath}/${keyword}`, + topSchemaRef: schemaRef, + compositeRule: true, + }, + valid, + ); + cxt.pass(valid, () => cxt.error(true)); + } + exports.macroKeywordCode = macroKeywordCode; + function funcKeywordCode(cxt, def) { + var _a; + const { gen, keyword, schema, parentSchema, $data, it } = cxt; + checkAsyncKeyword(it, def); + const validate = !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate; + const validateRef = useKeyword(gen, keyword, validate); + const valid = gen.let("valid"); + cxt.block$data(valid, validateKeyword); + cxt.ok((_a = def.valid) !== null && _a !== void 0 ? _a : valid); + function validateKeyword() { + if (def.errors === false) { + assignValid(); + if (def.modifying) modifyData(cxt); + reportErrs(() => cxt.error()); + } else { + const ruleErrs = def.async ? validateAsync() : validateSync(); + if (def.modifying) modifyData(cxt); + reportErrs(() => addErrs(cxt, ruleErrs)); + } + } + function validateAsync() { + const ruleErrs = gen.let("ruleErrs", null); + gen.try( + () => assignValid((0, codegen_1._)`await `), + (e) => + gen.assign(valid, false).if( + (0, codegen_1._)`${e} instanceof ${it.ValidationError}`, + () => gen.assign(ruleErrs, (0, codegen_1._)`${e}.errors`), + () => gen.throw(e), + ), + ); + return ruleErrs; + } + function validateSync() { + const validateErrs = (0, codegen_1._)`${validateRef}.errors`; + gen.assign(validateErrs, null); + assignValid(codegen_1.nil); + return validateErrs; + } + function assignValid(_await = def.async ? (0, codegen_1._)`await ` : codegen_1.nil) { + const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self; + const passSchema = !(("compile" in def && !$data) || def.schema === false); + gen.assign( + valid, + (0, codegen_1._)`${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, + def.modifying, + ); + } + function reportErrs(errors) { + var _a; + gen.if((0, codegen_1.not)((_a = def.valid) !== null && _a !== void 0 ? _a : valid), errors); + } + } + exports.funcKeywordCode = funcKeywordCode; + function modifyData(cxt) { + const { gen, data, it } = cxt; + gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._)`${it.parentData}[${it.parentDataProperty}]`)); + } + function addErrs(cxt, errs) { + const { gen } = cxt; + gen.if( + (0, codegen_1._)`Array.isArray(${errs})`, + () => { + gen + .assign( + names_1.default.vErrors, + (0, + codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`, + ) + .assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`); + (0, errors_1.extendErrors)(cxt); + }, + () => cxt.error(), + ); + } + function checkAsyncKeyword({ schemaEnv }, def) { + if (def.async && !schemaEnv.$async) throw new Error("async keyword in sync schema"); + } + function useKeyword(gen, keyword, result) { + if (result === undefined) throw new Error(`keyword "${keyword}" failed to compile`); + return gen.scopeValue( + "keyword", + typeof result == "function" ? { ref: result } : { ref: result, code: (0, codegen_1.stringify)(result) }, + ); + } + function validSchemaType(schema, schemaType, allowUndefined = false) { + // TODO add tests + return ( + !schemaType.length || + schemaType.some((st) => + st === "array" + ? Array.isArray(schema) + : st === "object" + ? schema && typeof schema == "object" && !Array.isArray(schema) + : typeof schema == st || (allowUndefined && typeof schema == "undefined"), + ) + ); + } + exports.validSchemaType = validSchemaType; + function validateKeywordUsage({ schema, opts, self, errSchemaPath }, def, keyword) { + /* istanbul ignore if */ + if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) { + throw new Error("ajv implementation error"); + } + const deps = def.dependencies; + if ( + deps === null || deps === void 0 + ? void 0 + : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd)) + ) { + throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(",")}`); + } + if (def.validateSchema) { + const valid = def.validateSchema(schema[keyword]); + if (!valid) { + const msg = + `keyword "${keyword}" value is invalid at path "${errSchemaPath}": ` + + self.errorsText(def.validateSchema.errors); + if (opts.validateSchema === "log") self.logger.error(msg); + else throw new Error(msg); + } + } + } + exports.validateKeywordUsage = validateKeywordUsage; + }, + { "../../vocabularies/code": 98, "../codegen": 49, "../errors": 51, "../names": 53 }, + ], + 64: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0; + const codegen_1 = require("../codegen"); + const util_1 = require("../util"); + function getSubschema(it, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }) { + if (keyword !== undefined && schema !== undefined) { + throw new Error('both "keyword" and "schema" passed, only one allowed'); + } + if (keyword !== undefined) { + const sch = it.schema[keyword]; + return schemaProp === undefined + ? { + schema: sch, + schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`, + errSchemaPath: `${it.errSchemaPath}/${keyword}`, + } + : { + schema: sch[schemaProp], + schemaPath: (0, + codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`, + errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}`, + }; + } + if (schema !== undefined) { + if (schemaPath === undefined || errSchemaPath === undefined || topSchemaRef === undefined) { + throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"'); + } + return { + schema, + schemaPath, + topSchemaRef, + errSchemaPath, + }; + } + throw new Error('either "keyword" or "schema" must be passed'); + } + exports.getSubschema = getSubschema; + function extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) { + if (data !== undefined && dataProp !== undefined) { + throw new Error('both "data" and "dataProp" passed, only one allowed'); + } + const { gen } = it; + if (dataProp !== undefined) { + const { errorPath, dataPathArr, opts } = it; + const nextData = gen.let("data", (0, codegen_1._)`${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true); + dataContextProps(nextData); + subschema.errorPath = (0, + codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`; + subschema.parentDataProperty = (0, codegen_1._)`${dataProp}`; + subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty]; + } + if (data !== undefined) { + const nextData = data instanceof codegen_1.Name ? data : gen.let("data", data, true); // replaceable if used once? + dataContextProps(nextData); + if (propertyName !== undefined) subschema.propertyName = propertyName; + // TODO something is possibly wrong here with not changing parentDataProperty and not appending dataPathArr + } + if (dataTypes) subschema.dataTypes = dataTypes; + function dataContextProps(_nextData) { + subschema.data = _nextData; + subschema.dataLevel = it.dataLevel + 1; + subschema.dataTypes = []; + it.definedProperties = new Set(); + subschema.parentData = it.data; + subschema.dataNames = [...it.dataNames, _nextData]; + } + } + exports.extendSubschemaData = extendSubschemaData; + function extendSubschemaMode( + subschema, + { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }, + ) { + if (compositeRule !== undefined) subschema.compositeRule = compositeRule; + if (createErrors !== undefined) subschema.createErrors = createErrors; + if (allErrors !== undefined) subschema.allErrors = allErrors; + subschema.jtdDiscriminator = jtdDiscriminator; // not inherited + subschema.jtdMetadata = jtdMetadata; // not inherited + } + exports.extendSubschemaMode = extendSubschemaMode; + }, + { "../codegen": 49, "../util": 57 }, + ], + 65: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CodeGen = + exports.Name = + exports.nil = + exports.stringify = + exports.str = + exports._ = + exports.KeywordCxt = + void 0; + var validate_1 = require("./compile/validate"); + Object.defineProperty(exports, "KeywordCxt", { + enumerable: true, + get: function () { + return validate_1.KeywordCxt; + }, + }); + var codegen_1 = require("./compile/codegen"); + Object.defineProperty(exports, "_", { + enumerable: true, + get: function () { + return codegen_1._; + }, + }); + Object.defineProperty(exports, "str", { + enumerable: true, + get: function () { + return codegen_1.str; + }, + }); + Object.defineProperty(exports, "stringify", { + enumerable: true, + get: function () { + return codegen_1.stringify; + }, + }); + Object.defineProperty(exports, "nil", { + enumerable: true, + get: function () { + return codegen_1.nil; + }, + }); + Object.defineProperty(exports, "Name", { + enumerable: true, + get: function () { + return codegen_1.Name; + }, + }); + Object.defineProperty(exports, "CodeGen", { + enumerable: true, + get: function () { + return codegen_1.CodeGen; + }, + }); + const validation_error_1 = require("./runtime/validation_error"); + const ref_error_1 = require("./compile/ref_error"); + const rules_1 = require("./compile/rules"); + const compile_1 = require("./compile"); + const codegen_2 = require("./compile/codegen"); + const resolve_1 = require("./compile/resolve"); + const dataType_1 = require("./compile/validate/dataType"); + const util_1 = require("./compile/util"); + const $dataRefSchema = require("./refs/data.json"); + const uri_1 = require("./runtime/uri"); + const defaultRegExp = (str, flags) => new RegExp(str, flags); + defaultRegExp.code = "new RegExp"; + const META_IGNORE_OPTIONS = ["removeAdditional", "useDefaults", "coerceTypes"]; + const EXT_SCOPE_NAMES = new Set([ + "validate", + "serialize", + "parse", + "wrapper", + "root", + "schema", + "keyword", + "pattern", + "formats", + "validate$data", + "func", + "obj", + "Error", + ]); + const removedOptions = { + errorDataPath: "", + format: "`validateFormats: false` can be used instead.", + nullable: '"nullable" keyword is supported by default.', + jsonPointers: "Deprecated jsPropertySyntax can be used instead.", + extendRefs: "Deprecated ignoreKeywordsWithRef can be used instead.", + missingRefs: "Pass empty schema with $id that should be ignored to ajv.addSchema.", + processCode: "Use option `code: {process: (code, schemaEnv: object) => string}`", + sourceCode: "Use option `code: {source: true}`", + strictDefaults: "It is default now, see option `strict`.", + strictKeywords: "It is default now, see option `strict`.", + uniqueItems: '"uniqueItems" keyword is always validated.', + unknownFormats: "Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).", + cache: "Map is used as cache, schema object as key.", + serialize: "Map is used as cache, schema object as key.", + ajvErrors: "It is default now.", + }; + const deprecatedOptions = { + ignoreKeywordsWithRef: "", + jsPropertySyntax: "", + unicode: '"minLength"/"maxLength" account for unicode characters by default.', + }; + const MAX_EXPRESSION = 200; + // eslint-disable-next-line complexity + function requiredOptions(o) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0; + const s = o.strict; + const _optz = (_a = o.code) === null || _a === void 0 ? void 0 : _a.optimize; + const optimize = _optz === true || _optz === undefined ? 1 : _optz || 0; + const regExp = + (_c = (_b = o.code) === null || _b === void 0 ? void 0 : _b.regExp) !== null && _c !== void 0 + ? _c + : defaultRegExp; + const uriResolver = (_d = o.uriResolver) !== null && _d !== void 0 ? _d : uri_1.default; + return { + strictSchema: + (_f = (_e = o.strictSchema) !== null && _e !== void 0 ? _e : s) !== null && _f !== void 0 ? _f : true, + strictNumbers: + (_h = (_g = o.strictNumbers) !== null && _g !== void 0 ? _g : s) !== null && _h !== void 0 ? _h : true, + strictTypes: + (_k = (_j = o.strictTypes) !== null && _j !== void 0 ? _j : s) !== null && _k !== void 0 ? _k : "log", + strictTuples: + (_m = (_l = o.strictTuples) !== null && _l !== void 0 ? _l : s) !== null && _m !== void 0 ? _m : "log", + strictRequired: + (_p = (_o = o.strictRequired) !== null && _o !== void 0 ? _o : s) !== null && _p !== void 0 ? _p : false, + code: o.code ? { ...o.code, optimize, regExp } : { optimize, regExp }, + loopRequired: (_q = o.loopRequired) !== null && _q !== void 0 ? _q : MAX_EXPRESSION, + loopEnum: (_r = o.loopEnum) !== null && _r !== void 0 ? _r : MAX_EXPRESSION, + meta: (_s = o.meta) !== null && _s !== void 0 ? _s : true, + messages: (_t = o.messages) !== null && _t !== void 0 ? _t : true, + inlineRefs: (_u = o.inlineRefs) !== null && _u !== void 0 ? _u : true, + schemaId: (_v = o.schemaId) !== null && _v !== void 0 ? _v : "$id", + addUsedSchema: (_w = o.addUsedSchema) !== null && _w !== void 0 ? _w : true, + validateSchema: (_x = o.validateSchema) !== null && _x !== void 0 ? _x : true, + validateFormats: (_y = o.validateFormats) !== null && _y !== void 0 ? _y : true, + unicodeRegExp: (_z = o.unicodeRegExp) !== null && _z !== void 0 ? _z : true, + int32range: (_0 = o.int32range) !== null && _0 !== void 0 ? _0 : true, + uriResolver: uriResolver, + }; + } + class Ajv { + constructor(opts = {}) { + this.schemas = {}; + this.refs = {}; + this.formats = {}; + this._compilations = new Set(); + this._loading = {}; + this._cache = new Map(); + opts = this.opts = { ...opts, ...requiredOptions(opts) }; + const { es5, lines } = this.opts.code; + this.scope = new codegen_2.ValueScope({ scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines }); + this.logger = getLogger(opts.logger); + const formatOpt = opts.validateFormats; + opts.validateFormats = false; + this.RULES = (0, rules_1.getRules)(); + checkOptions.call(this, removedOptions, opts, "NOT SUPPORTED"); + checkOptions.call(this, deprecatedOptions, opts, "DEPRECATED", "warn"); + this._metaOpts = getMetaSchemaOptions.call(this); + if (opts.formats) addInitialFormats.call(this); + this._addVocabularies(); + this._addDefaultMetaSchema(); + if (opts.keywords) addInitialKeywords.call(this, opts.keywords); + if (typeof opts.meta == "object") this.addMetaSchema(opts.meta); + addInitialSchemas.call(this); + opts.validateFormats = formatOpt; + } + _addVocabularies() { + this.addKeyword("$async"); + } + _addDefaultMetaSchema() { + const { $data, meta, schemaId } = this.opts; + let _dataRefSchema = $dataRefSchema; + if (schemaId === "id") { + _dataRefSchema = { ...$dataRefSchema }; + _dataRefSchema.id = _dataRefSchema.$id; + delete _dataRefSchema.$id; } - catch (e) { - // This property is read-only, so it can't be copied + if (meta && $data) this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false); + } + defaultMeta() { + const { meta, schemaId } = this.opts; + return (this.opts.defaultMeta = typeof meta == "object" ? meta[schemaId] || meta : undefined); + } + validate( + schemaKeyRef, // key, ref or schema object + data, // to be validated + ) { + let v; + if (typeof schemaKeyRef == "string") { + v = this.getSchema(schemaKeyRef); + if (!v) throw new Error(`no schema with key or ref "${schemaKeyRef}"`); + } else { + v = this.compile(schemaKeyRef); + } + const valid = v(data); + if (!("$async" in v)) this.errors = v.errors; + return valid; + } + compile(schema, _meta) { + const sch = this._addSchema(schema, _meta); + return sch.validate || this._compileSchemaEnv(sch); + } + compileAsync(schema, meta) { + if (typeof this.opts.loadSchema != "function") { + throw new Error("options.loadSchema should be a function"); + } + const { loadSchema } = this.opts; + return runCompileAsync.call(this, schema, meta); + async function runCompileAsync(_schema, _meta) { + await loadMetaSchema.call(this, _schema.$schema); + const sch = this._addSchema(_schema, _meta); + return sch.validate || _compileAsync.call(this, sch); + } + async function loadMetaSchema($ref) { + if ($ref && !this.getSchema($ref)) { + await runCompileAsync.call(this, { $ref }, true); + } + } + async function _compileAsync(sch) { + try { + return this._compileSchemaEnv(sch); + } catch (e) { + if (!(e instanceof ref_error_1.default)) throw e; + checkLoaded.call(this, e); + await loadMissingSchema.call(this, e.missingSchema); + return _compileAsync.call(this, sch); + } + } + function checkLoaded({ missingSchema: ref, missingRef }) { + if (this.refs[ref]) { + throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`); + } + } + async function loadMissingSchema(ref) { + const _schema = await _loadSchema.call(this, ref); + if (!this.refs[ref]) await loadMetaSchema.call(this, _schema.$schema); + if (!this.refs[ref]) this.addSchema(_schema, ref, meta); + } + async function _loadSchema(ref) { + const p = this._loading[ref]; + if (p) return p; + try { + return await (this._loading[ref] = loadSchema(ref)); + } finally { + delete this._loading[ref]; + } + } + } + // Adds schema to the instance + addSchema( + schema, // If array is passed, `key` will be ignored + key, // Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. + _meta, // true if schema is a meta-schema. Used internally, addMetaSchema should be used instead. + _validateSchema = this.opts.validateSchema, // false to skip schema validation. Used internally, option validateSchema should be used instead. + ) { + if (Array.isArray(schema)) { + for (const sch of schema) this.addSchema(sch, undefined, _meta, _validateSchema); + return this; + } + let id; + if (typeof schema === "object") { + const { schemaId } = this.opts; + id = schema[schemaId]; + if (id !== undefined && typeof id != "string") { + throw new Error(`schema ${schemaId} must be string`); + } + } + key = (0, resolve_1.normalizeId)(key || id); + this._checkUnique(key); + this.schemas[key] = this._addSchema(schema, _meta, key, _validateSchema, true); + return this; + } + // Add schema that will be used to validate other schemas + // options in META_IGNORE_OPTIONS are alway set to false + addMetaSchema( + schema, + key, // schema key + _validateSchema = this.opts.validateSchema, // false to skip schema validation, can be used to override validateSchema option for meta-schema + ) { + this.addSchema(schema, key, true, _validateSchema); + return this; + } + // Validate schema against its meta-schema + validateSchema(schema, throwOrLogError) { + if (typeof schema == "boolean") return true; + let $schema; + $schema = schema.$schema; + if ($schema !== undefined && typeof $schema != "string") { + throw new Error("$schema must be a string"); + } + $schema = $schema || this.opts.defaultMeta || this.defaultMeta(); + if (!$schema) { + this.logger.warn("meta-schema not available"); + this.errors = null; + return true; + } + const valid = this.validate($schema, schema); + if (!valid && throwOrLogError) { + const message = "schema is invalid: " + this.errorsText(); + if (this.opts.validateSchema === "log") this.logger.error(message); + else throw new Error(message); + } + return valid; + } + // Get compiled schema by `key` or `ref`. + // (`key` that was passed to `addSchema` or full schema reference - `schema.$id` or resolved id) + getSchema(keyRef) { + let sch; + while (typeof (sch = getSchEnv.call(this, keyRef)) == "string") keyRef = sch; + if (sch === undefined) { + const { schemaId } = this.opts; + const root = new compile_1.SchemaEnv({ schema: {}, schemaId }); + sch = compile_1.resolveSchema.call(this, root, keyRef); + if (!sch) return; + this.refs[keyRef] = sch; + } + return sch.validate || this._compileSchemaEnv(sch); + } + // Remove cached schema(s). + // If no parameter is passed all schemas but meta-schemas are removed. + // If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed. + // Even if schema is referenced by other schemas it still can be removed as other schemas have local references. + removeSchema(schemaKeyRef) { + if (schemaKeyRef instanceof RegExp) { + this._removeAllSchemas(this.schemas, schemaKeyRef); + this._removeAllSchemas(this.refs, schemaKeyRef); + return this; + } + switch (typeof schemaKeyRef) { + case "undefined": + this._removeAllSchemas(this.schemas); + this._removeAllSchemas(this.refs); + this._cache.clear(); + return this; + case "string": { + const sch = getSchEnv.call(this, schemaKeyRef); + if (typeof sch == "object") this._cache.delete(sch.schema); + delete this.schemas[schemaKeyRef]; + delete this.refs[schemaKeyRef]; + return this; + } + case "object": { + const cacheKey = schemaKeyRef; + this._cache.delete(cacheKey); + let id = schemaKeyRef[this.opts.schemaId]; + if (id) { + id = (0, resolve_1.normalizeId)(id); + delete this.schemas[id]; + delete this.refs[id]; + } + return this; + } + default: + throw new Error("ajv.removeSchema: invalid parameter"); + } + } + // add "vocabulary" - a collection of keywords + addVocabulary(definitions) { + for (const def of definitions) this.addKeyword(def); + return this; + } + addKeyword( + kwdOrDef, + def, // deprecated + ) { + let keyword; + if (typeof kwdOrDef == "string") { + keyword = kwdOrDef; + if (typeof def == "object") { + this.logger.warn("these parameters are deprecated, see docs for addKeyword"); + def.keyword = keyword; + } + } else if (typeof kwdOrDef == "object" && def === undefined) { + def = kwdOrDef; + keyword = def.keyword; + if (Array.isArray(keyword) && !keyword.length) { + throw new Error("addKeywords: keyword must be string or non-empty array"); + } + } else { + throw new Error("invalid addKeywords parameters"); + } + checkKeyword.call(this, keyword, def); + if (!def) { + (0, util_1.eachItem)(keyword, (kwd) => addRule.call(this, kwd)); + return this; + } + keywordMetaschema.call(this, def); + const definition = { + ...def, + type: (0, dataType_1.getJSONTypes)(def.type), + schemaType: (0, dataType_1.getJSONTypes)(def.schemaType), + }; + (0, util_1.eachItem)( + keyword, + definition.type.length === 0 + ? (k) => addRule.call(this, k, definition) + : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t)), + ); + return this; + } + getKeyword(keyword) { + const rule = this.RULES.all[keyword]; + return typeof rule == "object" ? rule.definition : !!rule; + } + // Remove keyword + removeKeyword(keyword) { + // TODO return type should be Ajv + const { RULES } = this; + delete RULES.keywords[keyword]; + delete RULES.all[keyword]; + for (const group of RULES.rules) { + const i = group.rules.findIndex((rule) => rule.keyword === keyword); + if (i >= 0) group.rules.splice(i, 1); + } + return this; + } + // Add format + addFormat(name, format) { + if (typeof format == "string") format = new RegExp(format); + this.formats[name] = format; + return this; + } + errorsText( + errors = this.errors, // optional array of validation errors + { separator = ", ", dataVar = "data" } = {}, // optional options with properties `separator` and `dataVar` + ) { + if (!errors || errors.length === 0) return "No errors"; + return errors + .map((e) => `${dataVar}${e.instancePath} ${e.message}`) + .reduce((text, msg) => text + separator + msg); + } + $dataMetaSchema(metaSchema, keywordsJsonPointers) { + const rules = this.RULES.all; + metaSchema = JSON.parse(JSON.stringify(metaSchema)); + for (const jsonPointer of keywordsJsonPointers) { + const segments = jsonPointer.split("/").slice(1); // first segment is an empty string + let keywords = metaSchema; + for (const seg of segments) keywords = keywords[seg]; + for (const key in rules) { + const rule = rules[key]; + if (typeof rule != "object") continue; + const { $data } = rule.definition; + const schema = keywords[key]; + if ($data && schema) keywords[key] = schemaOrData(schema); + } + } + return metaSchema; + } + _removeAllSchemas(schemas, regex) { + for (const keyRef in schemas) { + const sch = schemas[keyRef]; + if (!regex || regex.test(keyRef)) { + if (typeof sch == "string") { + delete schemas[keyRef]; + } else if (sch && !sch.meta) { + this._cache.delete(sch.schema); + delete schemas[keyRef]; + } + } + } + } + _addSchema( + schema, + meta, + baseId, + validateSchema = this.opts.validateSchema, + addSchema = this.opts.addUsedSchema, + ) { + let id; + const { schemaId } = this.opts; + if (typeof schema == "object") { + id = schema[schemaId]; + } else { + if (this.opts.jtd) throw new Error("schema must be object"); + else if (typeof schema != "boolean") throw new Error("schema must be object or boolean"); + } + let sch = this._cache.get(schema); + if (sch !== undefined) return sch; + baseId = (0, resolve_1.normalizeId)(id || baseId); + const localRefs = resolve_1.getSchemaRefs.call(this, schema, baseId); + sch = new compile_1.SchemaEnv({ schema, schemaId, meta, baseId, localRefs }); + this._cache.set(sch.schema, sch); + if (addSchema && !baseId.startsWith("#")) { + // TODO atm it is allowed to overwrite schemas without id (instead of not adding them) + if (baseId) this._checkUnique(baseId); + this.refs[baseId] = sch; + } + if (validateSchema) this.validateSchema(schema, true); + return sch; + } + _checkUnique(id) { + if (this.schemas[id] || this.refs[id]) { + throw new Error(`schema with key or id "${id}" already exists`); + } + } + _compileSchemaEnv(sch) { + if (sch.meta) this._compileMetaSchema(sch); + else compile_1.compileSchema.call(this, sch); + /* istanbul ignore if */ + if (!sch.validate) throw new Error("ajv implementation error"); + return sch.validate; + } + _compileMetaSchema(sch) { + const currentOpts = this.opts; + this.opts = this._metaOpts; + try { + compile_1.compileSchema.call(this, sch); + } finally { + this.opts = currentOpts; } + } } - } -} - -},{"./isomorphic.node":34,"./stack":37,"./to-json":38}],33:[function(require,module,exports){ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ono = void 0; -/* eslint-env commonjs */ -const singleton_1 = require("./singleton"); -Object.defineProperty(exports, "ono", { enumerable: true, get: function () { return singleton_1.ono; } }); -var constructor_1 = require("./constructor"); -Object.defineProperty(exports, "Ono", { enumerable: true, get: function () { return constructor_1.Ono; } }); -__exportStar(require("./types"), exports); -exports.default = singleton_1.ono; -// CommonJS default export hack -if (typeof module === "object" && typeof module.exports === "object") { - module.exports = Object.assign(module.exports.default, module.exports); -} - -},{"./constructor":31,"./singleton":36,"./types":39}],34:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.addInspectMethod = exports.format = void 0; -/** - * Ono supports custom formatters for error messages. In Node.js, it defaults - * to the `util.format()` function. In browsers, it defaults to `Array.join()`. - * - * The Node.js functionality can be used in a web browser via a polyfill, - * such as "format-util". - * - * @see https://github.com/tmpfs/format-util - */ -exports.format = false; -/** - * The `util.inspect()` functionality only applies to Node.js. - * We return the constant `false` here so that the Node-specific code gets removed by tree-shaking. - */ -exports.addInspectMethod = false; - -},{}],35:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.normalizeArgs = exports.normalizeOptions = void 0; -const isomorphic_node_1 = require("./isomorphic.node"); -/** - * Normalizes Ono options, accounting for defaults and optional options. - */ -function normalizeOptions(options) { - options = options || {}; - return { - concatMessages: options.concatMessages === undefined ? true : Boolean(options.concatMessages), - format: options.format === undefined ? isomorphic_node_1.format - : (typeof options.format === "function" ? options.format : false), - }; -} -exports.normalizeOptions = normalizeOptions; -/** - * Normalizes the Ono arguments, accounting for defaults, options, and optional arguments. - */ -function normalizeArgs(args, options) { - let originalError; - let props; - let formatArgs; - let message = ""; - // Determine which arguments were actually specified - if (typeof args[0] === "string") { - formatArgs = args; - } - else if (typeof args[1] === "string") { - if (args[0] instanceof Error) { - originalError = args[0]; + exports.default = Ajv; + Ajv.ValidationError = validation_error_1.default; + Ajv.MissingRefError = ref_error_1.default; + function checkOptions(checkOpts, options, msg, log = "error") { + for (const key in checkOpts) { + const opt = key; + if (opt in options) this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`); + } } - else { - props = args[0]; + function getSchEnv(keyRef) { + keyRef = (0, resolve_1.normalizeId)(keyRef); // TODO tests fail without this line + return this.schemas[keyRef] || this.refs[keyRef]; } - formatArgs = args.slice(1); - } - else { - originalError = args[0]; - props = args[1]; - formatArgs = args.slice(2); - } - // If there are any format arguments, then format the error message - if (formatArgs.length > 0) { - if (options.format) { - message = options.format.apply(undefined, formatArgs); + function addInitialSchemas() { + const optsSchemas = this.opts.schemas; + if (!optsSchemas) return; + if (Array.isArray(optsSchemas)) this.addSchema(optsSchemas); + else for (const key in optsSchemas) this.addSchema(optsSchemas[key], key); + } + function addInitialFormats() { + for (const name in this.opts.formats) { + const format = this.opts.formats[name]; + if (format) this.addFormat(name, format); + } + } + function addInitialKeywords(defs) { + if (Array.isArray(defs)) { + this.addVocabulary(defs); + return; + } + this.logger.warn("keywords option as map is deprecated, pass array"); + for (const keyword in defs) { + const def = defs[keyword]; + if (!def.keyword) def.keyword = keyword; + this.addKeyword(def); + } + } + function getMetaSchemaOptions() { + const metaOpts = { ...this.opts }; + for (const opt of META_IGNORE_OPTIONS) delete metaOpts[opt]; + return metaOpts; + } + const noLogs = { log() {}, warn() {}, error() {} }; + function getLogger(logger) { + if (logger === false) return noLogs; + if (logger === undefined) return console; + if (logger.log && logger.warn && logger.error) return logger; + throw new Error("logger must implement log, warn and error methods"); + } + const KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i; + function checkKeyword(keyword, def) { + const { RULES } = this; + (0, util_1.eachItem)(keyword, (kwd) => { + if (RULES.keywords[kwd]) throw new Error(`Keyword ${kwd} is already defined`); + if (!KEYWORD_NAME.test(kwd)) throw new Error(`Keyword ${kwd} has invalid name`); + }); + if (!def) return; + if (def.$data && !("code" in def || "validate" in def)) { + throw new Error('$data keyword must have "code" or "validate" function'); + } + } + function addRule(keyword, definition, dataType) { + var _a; + const post = definition === null || definition === void 0 ? void 0 : definition.post; + if (dataType && post) throw new Error('keyword with "post" flag cannot have "type"'); + const { RULES } = this; + let ruleGroup = post ? RULES.post : RULES.rules.find(({ type: t }) => t === dataType); + if (!ruleGroup) { + ruleGroup = { type: dataType, rules: [] }; + RULES.rules.push(ruleGroup); + } + RULES.keywords[keyword] = true; + if (!definition) return; + const rule = { + keyword, + definition: { + ...definition, + type: (0, dataType_1.getJSONTypes)(definition.type), + schemaType: (0, dataType_1.getJSONTypes)(definition.schemaType), + }, + }; + if (definition.before) addBeforeRule.call(this, ruleGroup, rule, definition.before); + else ruleGroup.rules.push(rule); + RULES.all[keyword] = rule; + (_a = definition.implements) === null || _a === void 0 ? void 0 : _a.forEach((kwd) => this.addKeyword(kwd)); + } + function addBeforeRule(ruleGroup, rule, before) { + const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before); + if (i >= 0) { + ruleGroup.rules.splice(i, 0, rule); + } else { + ruleGroup.rules.push(rule); + this.logger.warn(`rule ${before} is not defined`); + } + } + function keywordMetaschema(def) { + let { metaSchema } = def; + if (metaSchema === undefined) return; + if (def.$data && this.opts.$data) metaSchema = schemaOrData(metaSchema); + def.validateSchema = this.compile(metaSchema, true); + } + const $dataRef = { + $ref: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", + }; + function schemaOrData(schema) { + return { anyOf: [schema, $dataRef] }; + } + }, + { + "./compile": 52, + "./compile/codegen": 49, + "./compile/ref_error": 54, + "./compile/resolve": 55, + "./compile/rules": 56, + "./compile/util": 57, + "./compile/validate": 62, + "./compile/validate/dataType": 60, + "./refs/data.json": 66, + "./runtime/uri": 78, + "./runtime/validation_error": 79, + }, + ], + 66: [ + function (require, module, exports) { + module.exports = { + $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", + description: "Meta-schema for $data reference (JSON AnySchema extension proposal)", + type: "object", + required: ["$data"], + properties: { + $data: { + type: "string", + anyOf: [{ format: "relative-json-pointer" }, { format: "json-pointer" }], + }, + }, + additionalProperties: false, + }; + }, + {}, + ], + 67: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const metaSchema = require("./schema.json"); + const applicator = require("./meta/applicator.json"); + const unevaluated = require("./meta/unevaluated.json"); + const content = require("./meta/content.json"); + const core = require("./meta/core.json"); + const format = require("./meta/format-annotation.json"); + const metadata = require("./meta/meta-data.json"); + const validation = require("./meta/validation.json"); + const META_SUPPORT_DATA = ["/properties"]; + function addMetaSchema2020($data) { + [ + metaSchema, + applicator, + unevaluated, + content, + core, + with$data(this, format), + metadata, + with$data(this, validation), + ].forEach((sch) => this.addMetaSchema(sch, undefined, false)); + return this; + function with$data(ajv, sch) { + return $data ? ajv.$dataMetaSchema(sch, META_SUPPORT_DATA) : sch; + } + } + exports.default = addMetaSchema2020; + }, + { + "./meta/applicator.json": 68, + "./meta/content.json": 69, + "./meta/core.json": 70, + "./meta/format-annotation.json": 71, + "./meta/meta-data.json": 72, + "./meta/unevaluated.json": 73, + "./meta/validation.json": 74, + "./schema.json": 75, + }, + ], + 68: [ + function (require, module, exports) { + module.exports = { + $schema: "https://json-schema.org/draft/2020-12/schema", + $id: "https://json-schema.org/draft/2020-12/meta/applicator", + $vocabulary: { + "https://json-schema.org/draft/2020-12/vocab/applicator": true, + }, + $dynamicAnchor: "meta", + + title: "Applicator vocabulary meta-schema", + type: ["object", "boolean"], + properties: { + prefixItems: { $ref: "#/$defs/schemaArray" }, + items: { $dynamicRef: "#meta" }, + contains: { $dynamicRef: "#meta" }, + additionalProperties: { $dynamicRef: "#meta" }, + properties: { + type: "object", + additionalProperties: { $dynamicRef: "#meta" }, + default: {}, + }, + patternProperties: { + type: "object", + additionalProperties: { $dynamicRef: "#meta" }, + propertyNames: { format: "regex" }, + default: {}, + }, + dependentSchemas: { + type: "object", + additionalProperties: { $dynamicRef: "#meta" }, + default: {}, + }, + propertyNames: { $dynamicRef: "#meta" }, + if: { $dynamicRef: "#meta" }, + then: { $dynamicRef: "#meta" }, + else: { $dynamicRef: "#meta" }, + allOf: { $ref: "#/$defs/schemaArray" }, + anyOf: { $ref: "#/$defs/schemaArray" }, + oneOf: { $ref: "#/$defs/schemaArray" }, + not: { $dynamicRef: "#meta" }, + }, + $defs: { + schemaArray: { + type: "array", + minItems: 1, + items: { $dynamicRef: "#meta" }, + }, + }, + }; + }, + {}, + ], + 69: [ + function (require, module, exports) { + module.exports = { + $schema: "https://json-schema.org/draft/2020-12/schema", + $id: "https://json-schema.org/draft/2020-12/meta/content", + $vocabulary: { + "https://json-schema.org/draft/2020-12/vocab/content": true, + }, + $dynamicAnchor: "meta", + + title: "Content vocabulary meta-schema", + + type: ["object", "boolean"], + properties: { + contentEncoding: { type: "string" }, + contentMediaType: { type: "string" }, + contentSchema: { $dynamicRef: "#meta" }, + }, + }; + }, + {}, + ], + 70: [ + function (require, module, exports) { + module.exports = { + $schema: "https://json-schema.org/draft/2020-12/schema", + $id: "https://json-schema.org/draft/2020-12/meta/core", + $vocabulary: { + "https://json-schema.org/draft/2020-12/vocab/core": true, + }, + $dynamicAnchor: "meta", + + title: "Core vocabulary meta-schema", + type: ["object", "boolean"], + properties: { + $id: { + $ref: "#/$defs/uriReferenceString", + $comment: "Non-empty fragments not allowed.", + pattern: "^[^#]*#?$", + }, + $schema: { $ref: "#/$defs/uriString" }, + $ref: { $ref: "#/$defs/uriReferenceString" }, + $anchor: { $ref: "#/$defs/anchorString" }, + $dynamicRef: { $ref: "#/$defs/uriReferenceString" }, + $dynamicAnchor: { $ref: "#/$defs/anchorString" }, + $vocabulary: { + type: "object", + propertyNames: { $ref: "#/$defs/uriString" }, + additionalProperties: { + type: "boolean", + }, + }, + $comment: { + type: "string", + }, + $defs: { + type: "object", + additionalProperties: { $dynamicRef: "#meta" }, + }, + }, + $defs: { + anchorString: { + type: "string", + pattern: "^[A-Za-z_][-A-Za-z0-9._]*$", + }, + uriString: { + type: "string", + format: "uri", + }, + uriReferenceString: { + type: "string", + format: "uri-reference", + }, + }, + }; + }, + {}, + ], + 71: [ + function (require, module, exports) { + module.exports = { + $schema: "https://json-schema.org/draft/2020-12/schema", + $id: "https://json-schema.org/draft/2020-12/meta/format-annotation", + $vocabulary: { + "https://json-schema.org/draft/2020-12/vocab/format-annotation": true, + }, + $dynamicAnchor: "meta", + + title: "Format vocabulary meta-schema for annotation results", + type: ["object", "boolean"], + properties: { + format: { type: "string" }, + }, + }; + }, + {}, + ], + 72: [ + function (require, module, exports) { + module.exports = { + $schema: "https://json-schema.org/draft/2020-12/schema", + $id: "https://json-schema.org/draft/2020-12/meta/meta-data", + $vocabulary: { + "https://json-schema.org/draft/2020-12/vocab/meta-data": true, + }, + $dynamicAnchor: "meta", + + title: "Meta-data vocabulary meta-schema", + + type: ["object", "boolean"], + properties: { + title: { + type: "string", + }, + description: { + type: "string", + }, + default: true, + deprecated: { + type: "boolean", + default: false, + }, + readOnly: { + type: "boolean", + default: false, + }, + writeOnly: { + type: "boolean", + default: false, + }, + examples: { + type: "array", + items: true, + }, + }, + }; + }, + {}, + ], + 73: [ + function (require, module, exports) { + module.exports = { + $schema: "https://json-schema.org/draft/2020-12/schema", + $id: "https://json-schema.org/draft/2020-12/meta/unevaluated", + $vocabulary: { + "https://json-schema.org/draft/2020-12/vocab/unevaluated": true, + }, + $dynamicAnchor: "meta", + + title: "Unevaluated applicator vocabulary meta-schema", + type: ["object", "boolean"], + properties: { + unevaluatedItems: { $dynamicRef: "#meta" }, + unevaluatedProperties: { $dynamicRef: "#meta" }, + }, + }; + }, + {}, + ], + 74: [ + function (require, module, exports) { + module.exports = { + $schema: "https://json-schema.org/draft/2020-12/schema", + $id: "https://json-schema.org/draft/2020-12/meta/validation", + $vocabulary: { + "https://json-schema.org/draft/2020-12/vocab/validation": true, + }, + $dynamicAnchor: "meta", + + title: "Validation vocabulary meta-schema", + type: ["object", "boolean"], + properties: { + type: { + anyOf: [ + { $ref: "#/$defs/simpleTypes" }, + { + type: "array", + items: { $ref: "#/$defs/simpleTypes" }, + minItems: 1, + uniqueItems: true, + }, + ], + }, + const: true, + enum: { + type: "array", + items: true, + }, + multipleOf: { + type: "number", + exclusiveMinimum: 0, + }, + maximum: { + type: "number", + }, + exclusiveMaximum: { + type: "number", + }, + minimum: { + type: "number", + }, + exclusiveMinimum: { + type: "number", + }, + maxLength: { $ref: "#/$defs/nonNegativeInteger" }, + minLength: { $ref: "#/$defs/nonNegativeIntegerDefault0" }, + pattern: { + type: "string", + format: "regex", + }, + maxItems: { $ref: "#/$defs/nonNegativeInteger" }, + minItems: { $ref: "#/$defs/nonNegativeIntegerDefault0" }, + uniqueItems: { + type: "boolean", + default: false, + }, + maxContains: { $ref: "#/$defs/nonNegativeInteger" }, + minContains: { + $ref: "#/$defs/nonNegativeInteger", + default: 1, + }, + maxProperties: { $ref: "#/$defs/nonNegativeInteger" }, + minProperties: { $ref: "#/$defs/nonNegativeIntegerDefault0" }, + required: { $ref: "#/$defs/stringArray" }, + dependentRequired: { + type: "object", + additionalProperties: { + $ref: "#/$defs/stringArray", + }, + }, + }, + $defs: { + nonNegativeInteger: { + type: "integer", + minimum: 0, + }, + nonNegativeIntegerDefault0: { + $ref: "#/$defs/nonNegativeInteger", + default: 0, + }, + simpleTypes: { + enum: ["array", "boolean", "integer", "null", "number", "object", "string"], + }, + stringArray: { + type: "array", + items: { type: "string" }, + uniqueItems: true, + default: [], + }, + }, + }; + }, + {}, + ], + 75: [ + function (require, module, exports) { + module.exports = { + $schema: "https://json-schema.org/draft/2020-12/schema", + $id: "https://json-schema.org/draft/2020-12/schema", + $vocabulary: { + "https://json-schema.org/draft/2020-12/vocab/core": true, + "https://json-schema.org/draft/2020-12/vocab/applicator": true, + "https://json-schema.org/draft/2020-12/vocab/unevaluated": true, + "https://json-schema.org/draft/2020-12/vocab/validation": true, + "https://json-schema.org/draft/2020-12/vocab/meta-data": true, + "https://json-schema.org/draft/2020-12/vocab/format-annotation": true, + "https://json-schema.org/draft/2020-12/vocab/content": true, + }, + $dynamicAnchor: "meta", + + title: "Core and Validation specifications meta-schema", + allOf: [ + { $ref: "meta/core" }, + { $ref: "meta/applicator" }, + { $ref: "meta/unevaluated" }, + { $ref: "meta/validation" }, + { $ref: "meta/meta-data" }, + { $ref: "meta/format-annotation" }, + { $ref: "meta/content" }, + ], + type: ["object", "boolean"], + $comment: + "This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.", + properties: { + definitions: { + $comment: '"definitions" has been replaced by "$defs".', + type: "object", + additionalProperties: { $dynamicRef: "#meta" }, + deprecated: true, + default: {}, + }, + dependencies: { + $comment: + '"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.', + type: "object", + additionalProperties: { + anyOf: [{ $dynamicRef: "#meta" }, { $ref: "meta/validation#/$defs/stringArray" }], + }, + deprecated: true, + default: {}, + }, + $recursiveAnchor: { + $comment: '"$recursiveAnchor" has been replaced by "$dynamicAnchor".', + $ref: "meta/core#/$defs/anchorString", + deprecated: true, + }, + $recursiveRef: { + $comment: '"$recursiveRef" has been replaced by "$dynamicRef".', + $ref: "meta/core#/$defs/uriReferenceString", + deprecated: true, + }, + }, + }; + }, + {}, + ], + 76: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + // https://github.com/ajv-validator/ajv/issues/889 + const equal = require("fast-deep-equal"); + equal.code = 'require("ajv/dist/runtime/equal").default'; + exports.default = equal; + }, + { "fast-deep-equal": 136 }, + ], + 77: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + // https://mathiasbynens.be/notes/javascript-encoding + // https://github.com/bestiejs/punycode.js - punycode.ucs2.decode + function ucs2length(str) { + const len = str.length; + let length = 0; + let pos = 0; + let value; + while (pos < len) { + length++; + value = str.charCodeAt(pos++); + if (value >= 0xd800 && value <= 0xdbff && pos < len) { + // high surrogate, and there is a next character + value = str.charCodeAt(pos); + if ((value & 0xfc00) === 0xdc00) pos++; // low surrogate + } + } + return length; } - else { - message = formatArgs.join(" "); + exports.default = ucs2length; + ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default'; + }, + {}, + ], + 78: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const uri = require("uri-js"); + uri.code = 'require("ajv/dist/runtime/uri").default'; + exports.default = uri; + }, + { "uri-js": 198 }, + ], + 79: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + class ValidationError extends Error { + constructor(errors) { + super("validation failed"); + this.errors = errors; + this.ajv = this.validation = true; + } } - } - if (options.concatMessages && originalError && originalError.message) { - // The inner-error's message will be added to the new message - message += (message ? " \n" : "") + originalError.message; - } - return { originalError, props, message }; -} -exports.normalizeArgs = normalizeArgs; - -},{"./isomorphic.node":34}],36:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ono = void 0; -const constructor_1 = require("./constructor"); -const singleton = ono; -exports.ono = singleton; -ono.error = new constructor_1.Ono(Error); -ono.eval = new constructor_1.Ono(EvalError); -ono.range = new constructor_1.Ono(RangeError); -ono.reference = new constructor_1.Ono(ReferenceError); -ono.syntax = new constructor_1.Ono(SyntaxError); -ono.type = new constructor_1.Ono(TypeError); -ono.uri = new constructor_1.Ono(URIError); -const onoMap = ono; -/** - * Creates a new error with the specified message, properties, and/or inner error. - * If an inner error is provided, then the new error will match its type, if possible. - */ -function ono(...args) { - let originalError = args[0]; - // Is the first argument an Error-like object? - if (typeof originalError === "object" && typeof originalError.name === "string") { - // Try to find an Ono singleton method that matches this error type - for (let typedOno of Object.values(onoMap)) { - if (typeof typedOno === "function" && typedOno.name === "ono") { - let species = typedOno[Symbol.species]; - if (species && species !== Error && (originalError instanceof species || originalError.name === species.name)) { - // Create an error of the same type - return typedOno.apply(undefined, args); - } + exports.default = ValidationError; + }, + {}, + ], + 80: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateAdditionalItems = void 0; + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const error = { + message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`, + params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}`, + }; + const def = { + keyword: "additionalItems", + type: "array", + schemaType: ["boolean", "object"], + before: "uniqueItems", + error, + code(cxt) { + const { parentSchema, it } = cxt; + const { items } = parentSchema; + if (!Array.isArray(items)) { + (0, util_1.checkStrictMode)(it, '"additionalItems" is ignored when "items" is not an array of schemas'); + return; } + validateAdditionalItems(cxt, items); + }, + }; + function validateAdditionalItems(cxt, items) { + const { gen, schema, data, keyword, it } = cxt; + it.items = true; + const len = gen.const("len", (0, codegen_1._)`${data}.length`); + if (schema === false) { + cxt.setParams({ len: items.length }); + cxt.pass((0, codegen_1._)`${len} <= ${items.length}`); + } else if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) { + const valid = gen.var("valid", (0, codegen_1._)`${len} <= ${items.length}`); // TODO var + gen.if((0, codegen_1.not)(valid), () => validateItems(valid)); + cxt.ok(valid); + } + function validateItems(valid) { + gen.forRange("i", items.length, len, (i) => { + cxt.subschema({ keyword, dataProp: i, dataPropType: util_1.Type.Num }, valid); + if (!it.allErrors) gen.if((0, codegen_1.not)(valid), () => gen.break()); + }); + } } - } - // By default, create a base Error object - return ono.error.apply(undefined, args); -} - -},{"./constructor":31}],37:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.lazyJoinStacks = exports.joinStacks = exports.isWritableStack = exports.isLazyStack = void 0; -const newline = /\r?\n/; -const onoCall = /\bono[ @]/; -/** - * Is the property lazily computed? - */ -function isLazyStack(stackProp) { - return Boolean(stackProp && - stackProp.configurable && - typeof stackProp.get === "function"); -} -exports.isLazyStack = isLazyStack; -/** - * Is the stack property writable? - */ -function isWritableStack(stackProp) { - return Boolean( - // If there is no stack property, then it's writable, since assigning it will create it - !stackProp || - stackProp.writable || - typeof stackProp.set === "function"); -} -exports.isWritableStack = isWritableStack; -/** - * Appends the original `Error.stack` property to the new Error's stack. - */ -function joinStacks(newError, originalError) { - let newStack = popStack(newError.stack); - let originalStack = originalError ? originalError.stack : undefined; - if (newStack && originalStack) { - return newStack + "\n\n" + originalStack; - } - else { - return newStack || originalStack; - } -} -exports.joinStacks = joinStacks; -/** - * Calls `joinStacks` lazily, when the `Error.stack` property is accessed. - */ -function lazyJoinStacks(lazyStack, newError, originalError) { - if (originalError) { - Object.defineProperty(newError, "stack", { - get: () => { - let newStack = lazyStack.get.apply(newError); - return joinStacks({ stack: newStack }, originalError); - }, - enumerable: false, - configurable: true - }); - } - else { - lazyPopStack(newError, lazyStack); - } -} -exports.lazyJoinStacks = lazyJoinStacks; -/** - * Removes Ono from the stack, so that the stack starts at the original error location - */ -function popStack(stack) { - if (stack) { - let lines = stack.split(newline); - // Find the Ono call(s) in the stack, and remove them - let onoStart; - for (let i = 0; i < lines.length; i++) { - let line = lines[i]; - if (onoCall.test(line)) { - if (onoStart === undefined) { - // We found the first Ono call in the stack trace. - // There may be other subsequent Ono calls as well. - onoStart = i; - } + exports.validateAdditionalItems = validateAdditionalItems; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57 }, + ], + 81: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const code_1 = require("../code"); + const codegen_1 = require("../../compile/codegen"); + const names_1 = require("../../compile/names"); + const util_1 = require("../../compile/util"); + const error = { + message: "must NOT have additional properties", + params: ({ params }) => (0, codegen_1._)`{additionalProperty: ${params.additionalProperty}}`, + }; + const def = { + keyword: "additionalProperties", + type: ["object"], + schemaType: ["boolean", "object"], + allowUndefined: true, + trackErrors: true, + error, + code(cxt) { + const { gen, schema, parentSchema, data, errsCount, it } = cxt; + /* istanbul ignore if */ + if (!errsCount) throw new Error("ajv implementation error"); + const { allErrors, opts } = it; + it.props = true; + if (opts.removeAdditional !== "all" && (0, util_1.alwaysValidSchema)(it, schema)) return; + const props = (0, code_1.allSchemaProperties)(parentSchema.properties); + const patProps = (0, code_1.allSchemaProperties)(parentSchema.patternProperties); + checkAdditionalProperties(); + cxt.ok((0, codegen_1._)`${errsCount} === ${names_1.default.errors}`); + function checkAdditionalProperties() { + gen.forIn("key", data, (key) => { + if (!props.length && !patProps.length) additionalPropertyCode(key); + else gen.if(isAdditional(key), () => additionalPropertyCode(key)); + }); } - else if (onoStart !== undefined) { - // We found the first non-Ono call after one or more Ono calls. - // So remove the Ono call lines from the stack trace - lines.splice(onoStart, i - onoStart); - break; + function isAdditional(key) { + let definedProp; + if (props.length > 8) { + // TODO maybe an option instead of hard-coded 8? + const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema.properties, "properties"); + definedProp = (0, code_1.isOwnProperty)(gen, propsSchema, key); + } else if (props.length) { + definedProp = (0, codegen_1.or)(...props.map((p) => (0, codegen_1._)`${key} === ${p}`)); + } else { + definedProp = codegen_1.nil; + } + if (patProps.length) { + definedProp = (0, codegen_1.or)( + definedProp, + ...patProps.map((p) => (0, codegen_1._)`${(0, code_1.usePattern)(cxt, p)}.test(${key})`), + ); + } + return (0, codegen_1.not)(definedProp); } - } - if (lines.length > 0) { - return lines.join("\n"); - } - } - // If we get here, then the stack doesn't contain a call to `ono`. - // This may be due to minification or some optimization of the JS engine. - // So just return the stack as-is. - return stack; -} -/** - * Calls `popStack` lazily, when the `Error.stack` property is accessed. - */ -function lazyPopStack(error, lazyStack) { - Object.defineProperty(error, "stack", { - get: () => popStack(lazyStack.get.apply(error)), - enumerable: false, - configurable: true - }); -} - -},{}],38:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getDeepKeys = exports.toJSON = void 0; -const nonJsonTypes = ["function", "symbol", "undefined"]; -const protectedProps = ["constructor", "prototype", "__proto__"]; -const objectPrototype = Object.getPrototypeOf({}); -/** - * Custom JSON serializer for Error objects. - * Returns all built-in error properties, as well as extended properties. - */ -function toJSON() { - // HACK: We have to cast the objects to `any` so we can use symbol indexers. - // see https://github.com/Microsoft/TypeScript/issues/1863 - let pojo = {}; - let error = this; - for (let key of getDeepKeys(error)) { - if (typeof key === "string") { - let value = error[key]; - let type = typeof value; - if (!nonJsonTypes.includes(type)) { - pojo[key] = value; + function deleteAdditional(key) { + gen.code((0, codegen_1._)`delete ${data}[${key}]`); } - } - } - return pojo; -} -exports.toJSON = toJSON; -/** - * Returns own, inherited, enumerable, non-enumerable, string, and symbol keys of `obj`. - * Does NOT return members of the base Object prototype, or the specified omitted keys. - */ -function getDeepKeys(obj, omit = []) { - let keys = []; - // Crawl the prototype chain, finding all the string and symbol keys - while (obj && obj !== objectPrototype) { - keys = keys.concat(Object.getOwnPropertyNames(obj), Object.getOwnPropertySymbols(obj)); - obj = Object.getPrototypeOf(obj); - } - // De-duplicate the list of keys - let uniqueKeys = new Set(keys); - // Remove any omitted keys - for (let key of omit.concat(protectedProps)) { - uniqueKeys.delete(key); - } - return uniqueKeys; -} -exports.getDeepKeys = getDeepKeys; - -},{}],39:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("util"); - -},{"util":204}],40:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0; -const core_1 = require("ajv/dist/core"); -const draft4_1 = require("./vocabulary/draft4"); -const discriminator_1 = require("ajv/dist/vocabularies/discriminator"); -const draft4MetaSchema = require("./refs/json-schema-draft-04.json"); -const META_SUPPORT_DATA = ["/properties"]; -const META_SCHEMA_ID = "http://json-schema.org/draft-04/schema"; -class Ajv extends core_1.default { - constructor(opts = {}) { - super({ - ...opts, - schemaId: "id", - }); - } - _addVocabularies() { - super._addVocabularies(); - draft4_1.default.forEach((v) => this.addVocabulary(v)); - if (this.opts.discriminator) - this.addKeyword(discriminator_1.default); - } - _addDefaultMetaSchema() { - super._addDefaultMetaSchema(); - if (!this.opts.meta) - return; - const metaSchema = this.opts.$data - ? this.$dataMetaSchema(draft4MetaSchema, META_SUPPORT_DATA) - : draft4MetaSchema; - this.addMetaSchema(metaSchema, META_SCHEMA_ID, false); - this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID; - } - defaultMeta() { - return (this.opts.defaultMeta = - super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined)); - } -} -module.exports = exports = Ajv; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = Ajv; -var core_2 = require("ajv/dist/core"); -Object.defineProperty(exports, "KeywordCxt", { enumerable: true, get: function () { return core_2.KeywordCxt; } }); -var core_3 = require("ajv/dist/core"); -Object.defineProperty(exports, "_", { enumerable: true, get: function () { return core_3._; } }); -Object.defineProperty(exports, "str", { enumerable: true, get: function () { return core_3.str; } }); -Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return core_3.stringify; } }); -Object.defineProperty(exports, "nil", { enumerable: true, get: function () { return core_3.nil; } }); -Object.defineProperty(exports, "Name", { enumerable: true, get: function () { return core_3.Name; } }); -Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function () { return core_3.CodeGen; } }); - -},{"./refs/json-schema-draft-04.json":41,"./vocabulary/draft4":43,"ajv/dist/core":65,"ajv/dist/vocabularies/discriminator":102}],41:[function(require,module,exports){ -module.exports={ - "id": "http://json-schema.org/draft-04/schema#", - "$schema": "http://json-schema.org/draft-04/schema#", - "description": "Core schema meta-schema", - "definitions": { - "schemaArray": { - "type": "array", - "minItems": 1, - "items": {"$ref": "#"} - }, - "positiveInteger": { - "type": "integer", - "minimum": 0 - }, - "positiveIntegerDefault0": { - "allOf": [{"$ref": "#/definitions/positiveInteger"}, {"default": 0}] - }, - "simpleTypes": { - "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] - }, - "stringArray": { - "type": "array", - "items": {"type": "string"}, - "minItems": 1, - "uniqueItems": true - } - }, - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uri" - }, - "$schema": { - "type": "string", - "format": "uri" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "default": {}, - "multipleOf": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "boolean", - "default": false - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "boolean", - "default": false - }, - "maxLength": {"$ref": "#/definitions/positiveInteger"}, - "minLength": {"$ref": "#/definitions/positiveIntegerDefault0"}, - "pattern": { - "type": "string", - "format": "regex" - }, - "additionalItems": { - "anyOf": [{"type": "boolean"}, {"$ref": "#"}], - "default": {} - }, - "items": { - "anyOf": [{"$ref": "#"}, {"$ref": "#/definitions/schemaArray"}], - "default": {} - }, - "maxItems": {"$ref": "#/definitions/positiveInteger"}, - "minItems": {"$ref": "#/definitions/positiveIntegerDefault0"}, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "maxProperties": {"$ref": "#/definitions/positiveInteger"}, - "minProperties": {"$ref": "#/definitions/positiveIntegerDefault0"}, - "required": {"$ref": "#/definitions/stringArray"}, - "additionalProperties": { - "anyOf": [{"type": "boolean"}, {"$ref": "#"}], - "default": {} - }, - "definitions": { - "type": "object", - "additionalProperties": {"$ref": "#"}, - "default": {} - }, - "properties": { - "type": "object", - "additionalProperties": {"$ref": "#"}, - "default": {} - }, - "patternProperties": { - "type": "object", - "additionalProperties": {"$ref": "#"}, - "default": {} - }, - "dependencies": { - "type": "object", - "additionalProperties": { - "anyOf": [{"$ref": "#"}, {"$ref": "#/definitions/stringArray"}] - } - }, - "enum": { - "type": "array", - "minItems": 1, - "uniqueItems": true - }, - "type": { - "anyOf": [ - {"$ref": "#/definitions/simpleTypes"}, - { - "type": "array", - "items": {"$ref": "#/definitions/simpleTypes"}, - "minItems": 1, - "uniqueItems": true - } - ] - }, - "allOf": {"$ref": "#/definitions/schemaArray"}, - "anyOf": {"$ref": "#/definitions/schemaArray"}, - "oneOf": {"$ref": "#/definitions/schemaArray"}, - "not": {"$ref": "#"} - }, - "dependencies": { - "exclusiveMaximum": ["maximum"], - "exclusiveMinimum": ["minimum"] - }, - "default": {} -} - -},{}],42:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const ref_1 = require("ajv/dist/vocabularies/core/ref"); -const core = [ - "$schema", - "id", - "$defs", - { keyword: "$comment" }, - "definitions", - ref_1.default, -]; -exports.default = core; - -},{"ajv/dist/vocabularies/core/ref":101}],43:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const core_1 = require("./core"); -const validation_1 = require("./validation"); -const applicator_1 = require("ajv/dist/vocabularies/applicator"); -const format_1 = require("ajv/dist/vocabularies/format"); -const metadataVocabulary = ["title", "description", "default"]; -const draft4Vocabularies = [ - core_1.default, - validation_1.default, - applicator_1.default(), - format_1.default, - metadataVocabulary, -]; -exports.default = draft4Vocabularies; - -},{"./core":42,"./validation":44,"ajv/dist/vocabularies/applicator":88,"ajv/dist/vocabularies/format":111}],44:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const limitNumber_1 = require("./limitNumber"); -const limitNumberExclusive_1 = require("./limitNumberExclusive"); -const multipleOf_1 = require("ajv/dist/vocabularies/validation/multipleOf"); -const limitLength_1 = require("ajv/dist/vocabularies/validation/limitLength"); -const pattern_1 = require("ajv/dist/vocabularies/validation/pattern"); -const limitProperties_1 = require("ajv/dist/vocabularies/validation/limitProperties"); -const required_1 = require("ajv/dist/vocabularies/validation/required"); -const limitItems_1 = require("ajv/dist/vocabularies/validation/limitItems"); -const uniqueItems_1 = require("ajv/dist/vocabularies/validation/uniqueItems"); -const const_1 = require("ajv/dist/vocabularies/validation/const"); -const enum_1 = require("ajv/dist/vocabularies/validation/enum"); -const validation = [ - // number - limitNumber_1.default, - limitNumberExclusive_1.default, - multipleOf_1.default, - // string - limitLength_1.default, - pattern_1.default, - // object - limitProperties_1.default, - required_1.default, - // array - limitItems_1.default, - uniqueItems_1.default, - // any - { keyword: "type", schemaType: ["string", "array"] }, - { keyword: "nullable", schemaType: "boolean" }, - const_1.default, - enum_1.default, -]; -exports.default = validation; - -},{"./limitNumber":45,"./limitNumberExclusive":46,"ajv/dist/vocabularies/validation/const":117,"ajv/dist/vocabularies/validation/enum":119,"ajv/dist/vocabularies/validation/limitItems":122,"ajv/dist/vocabularies/validation/limitLength":123,"ajv/dist/vocabularies/validation/limitProperties":125,"ajv/dist/vocabularies/validation/multipleOf":126,"ajv/dist/vocabularies/validation/pattern":127,"ajv/dist/vocabularies/validation/required":128,"ajv/dist/vocabularies/validation/uniqueItems":129}],45:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const core_1 = require("ajv/dist/core"); -const codegen_1 = require("ajv/dist/compile/codegen"); -const ops = codegen_1.operators; -const KWDs = { - maximum: { - exclusive: "exclusiveMaximum", - ops: [ - { okStr: "<=", ok: ops.LTE, fail: ops.GT }, - { okStr: "<", ok: ops.LT, fail: ops.GTE }, - ], - }, - minimum: { - exclusive: "exclusiveMinimum", - ops: [ - { okStr: ">=", ok: ops.GTE, fail: ops.LT }, - { okStr: ">", ok: ops.GT, fail: ops.LTE }, - ], - }, -}; -const error = { - message: (cxt) => core_1.str `must be ${kwdOp(cxt).okStr} ${cxt.schemaCode}`, - params: (cxt) => core_1._ `{comparison: ${kwdOp(cxt).okStr}, limit: ${cxt.schemaCode}}`, -}; -const def = { - keyword: Object.keys(KWDs), - type: "number", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { data, schemaCode } = cxt; - cxt.fail$data(core_1._ `${data} ${kwdOp(cxt).fail} ${schemaCode} || isNaN(${data})`); - }, -}; -function kwdOp(cxt) { - var _a; - const keyword = cxt.keyword; - const opsIdx = ((_a = cxt.parentSchema) === null || _a === void 0 ? void 0 : _a[KWDs[keyword].exclusive]) ? 1 : 0; - return KWDs[keyword].ops[opsIdx]; -} -exports.default = def; - -},{"ajv/dist/compile/codegen":49,"ajv/dist/core":65}],46:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const KWDs = { - exclusiveMaximum: "maximum", - exclusiveMinimum: "minimum", -}; -const def = { - keyword: Object.keys(KWDs), - type: "number", - schemaType: "boolean", - code({ keyword, parentSchema }) { - const limitKwd = KWDs[keyword]; - if (parentSchema[limitKwd] === undefined) { - throw new Error(`${keyword} can only be used with ${limitKwd}`); - } - }, -}; -exports.default = def; - -},{}],47:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0; -const core_1 = require("./core"); -const draft2020_1 = require("./vocabularies/draft2020"); -const discriminator_1 = require("./vocabularies/discriminator"); -const json_schema_2020_12_1 = require("./refs/json-schema-2020-12"); -const META_SCHEMA_ID = "https://json-schema.org/draft/2020-12/schema"; -class Ajv2020 extends core_1.default { - constructor(opts = {}) { - super({ - ...opts, - dynamicRef: true, - next: true, - unevaluated: true, - }); - } - _addVocabularies() { - super._addVocabularies(); - draft2020_1.default.forEach((v) => this.addVocabulary(v)); - if (this.opts.discriminator) - this.addKeyword(discriminator_1.default); - } - _addDefaultMetaSchema() { - super._addDefaultMetaSchema(); - const { $data, meta } = this.opts; - if (!meta) - return; - json_schema_2020_12_1.default.call(this, $data); - this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID; - } - defaultMeta() { - return (this.opts.defaultMeta = - super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined)); - } -} -module.exports = exports = Ajv2020; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = Ajv2020; -var validate_1 = require("./compile/validate"); -Object.defineProperty(exports, "KeywordCxt", { enumerable: true, get: function () { return validate_1.KeywordCxt; } }); -var codegen_1 = require("./compile/codegen"); -Object.defineProperty(exports, "_", { enumerable: true, get: function () { return codegen_1._; } }); -Object.defineProperty(exports, "str", { enumerable: true, get: function () { return codegen_1.str; } }); -Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return codegen_1.stringify; } }); -Object.defineProperty(exports, "nil", { enumerable: true, get: function () { return codegen_1.nil; } }); -Object.defineProperty(exports, "Name", { enumerable: true, get: function () { return codegen_1.Name; } }); -Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function () { return codegen_1.CodeGen; } }); - -},{"./compile/codegen":49,"./compile/validate":62,"./core":65,"./refs/json-schema-2020-12":67,"./vocabularies/discriminator":102,"./vocabularies/draft2020":104}],48:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0; -class _CodeOrName { -} -exports._CodeOrName = _CodeOrName; -exports.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i; -class Name extends _CodeOrName { - constructor(s) { - super(); - if (!exports.IDENTIFIER.test(s)) - throw new Error("CodeGen: name must be a valid identifier"); - this.str = s; - } - toString() { - return this.str; - } - emptyStr() { - return false; - } - get names() { - return { [this.str]: 1 }; - } -} -exports.Name = Name; -class _Code extends _CodeOrName { - constructor(code) { - super(); - this._items = typeof code === "string" ? [code] : code; - } - toString() { - return this.str; - } - emptyStr() { - if (this._items.length > 1) - return false; - const item = this._items[0]; - return item === "" || item === '""'; - } - get str() { - var _a; - return ((_a = this._str) !== null && _a !== void 0 ? _a : (this._str = this._items.reduce((s, c) => `${s}${c}`, ""))); - } - get names() { - var _a; - return ((_a = this._names) !== null && _a !== void 0 ? _a : (this._names = this._items.reduce((names, c) => { - if (c instanceof Name) - names[c.str] = (names[c.str] || 0) + 1; - return names; - }, {}))); - } -} -exports._Code = _Code; -exports.nil = new _Code(""); -function _(strs, ...args) { - const code = [strs[0]]; - let i = 0; - while (i < args.length) { - addCodeArg(code, args[i]); - code.push(strs[++i]); - } - return new _Code(code); -} -exports._ = _; -const plus = new _Code("+"); -function str(strs, ...args) { - const expr = [safeStringify(strs[0])]; - let i = 0; - while (i < args.length) { - expr.push(plus); - addCodeArg(expr, args[i]); - expr.push(plus, safeStringify(strs[++i])); - } - optimize(expr); - return new _Code(expr); -} -exports.str = str; -function addCodeArg(code, arg) { - if (arg instanceof _Code) - code.push(...arg._items); - else if (arg instanceof Name) - code.push(arg); - else - code.push(interpolate(arg)); -} -exports.addCodeArg = addCodeArg; -function optimize(expr) { - let i = 1; - while (i < expr.length - 1) { - if (expr[i] === plus) { - const res = mergeExprItems(expr[i - 1], expr[i + 1]); - if (res !== undefined) { - expr.splice(i - 1, 3, res); - continue; + function additionalPropertyCode(key) { + if (opts.removeAdditional === "all" || (opts.removeAdditional && schema === false)) { + deleteAdditional(key); + return; + } + if (schema === false) { + cxt.setParams({ additionalProperty: key }); + cxt.error(); + if (!allErrors) gen.break(); + return; + } + if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) { + const valid = gen.name("valid"); + if (opts.removeAdditional === "failing") { + applyAdditionalSchema(key, valid, false); + gen.if((0, codegen_1.not)(valid), () => { + cxt.reset(); + deleteAdditional(key); + }); + } else { + applyAdditionalSchema(key, valid); + if (!allErrors) gen.if((0, codegen_1.not)(valid), () => gen.break()); + } + } } - expr[i++] = "+"; - } - i++; - } -} -function mergeExprItems(a, b) { - if (b === '""') - return a; - if (a === '""') - return b; - if (typeof a == "string") { - if (b instanceof Name || a[a.length - 1] !== '"') - return; - if (typeof b != "string") - return `${a.slice(0, -1)}${b}"`; - if (b[0] === '"') - return a.slice(0, -1) + b.slice(1); - return; - } - if (typeof b == "string" && b[0] === '"' && !(a instanceof Name)) - return `"${a}${b.slice(1)}`; - return; -} -function strConcat(c1, c2) { - return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str `${c1}${c2}`; -} -exports.strConcat = strConcat; -// TODO do not allow arrays here -function interpolate(x) { - return typeof x == "number" || typeof x == "boolean" || x === null - ? x - : safeStringify(Array.isArray(x) ? x.join(",") : x); -} -function stringify(x) { - return new _Code(safeStringify(x)); -} -exports.stringify = stringify; -function safeStringify(x) { - return JSON.stringify(x) - .replace(/\u2028/g, "\\u2028") - .replace(/\u2029/g, "\\u2029"); -} -exports.safeStringify = safeStringify; -function getProperty(key) { - return typeof key == "string" && exports.IDENTIFIER.test(key) ? new _Code(`.${key}`) : _ `[${key}]`; -} -exports.getProperty = getProperty; -//Does best effort to format the name properly -function getEsmExportName(key) { - if (typeof key == "string" && exports.IDENTIFIER.test(key)) { - return new _Code(`${key}`); - } - throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`); -} -exports.getEsmExportName = getEsmExportName; -function regexpCode(rx) { - return new _Code(rx.toString()); -} -exports.regexpCode = regexpCode; - -},{}],49:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0; -const code_1 = require("./code"); -const scope_1 = require("./scope"); -var code_2 = require("./code"); -Object.defineProperty(exports, "_", { enumerable: true, get: function () { return code_2._; } }); -Object.defineProperty(exports, "str", { enumerable: true, get: function () { return code_2.str; } }); -Object.defineProperty(exports, "strConcat", { enumerable: true, get: function () { return code_2.strConcat; } }); -Object.defineProperty(exports, "nil", { enumerable: true, get: function () { return code_2.nil; } }); -Object.defineProperty(exports, "getProperty", { enumerable: true, get: function () { return code_2.getProperty; } }); -Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return code_2.stringify; } }); -Object.defineProperty(exports, "regexpCode", { enumerable: true, get: function () { return code_2.regexpCode; } }); -Object.defineProperty(exports, "Name", { enumerable: true, get: function () { return code_2.Name; } }); -var scope_2 = require("./scope"); -Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { return scope_2.Scope; } }); -Object.defineProperty(exports, "ValueScope", { enumerable: true, get: function () { return scope_2.ValueScope; } }); -Object.defineProperty(exports, "ValueScopeName", { enumerable: true, get: function () { return scope_2.ValueScopeName; } }); -Object.defineProperty(exports, "varKinds", { enumerable: true, get: function () { return scope_2.varKinds; } }); -exports.operators = { - GT: new code_1._Code(">"), - GTE: new code_1._Code(">="), - LT: new code_1._Code("<"), - LTE: new code_1._Code("<="), - EQ: new code_1._Code("==="), - NEQ: new code_1._Code("!=="), - NOT: new code_1._Code("!"), - OR: new code_1._Code("||"), - AND: new code_1._Code("&&"), - ADD: new code_1._Code("+"), -}; -class Node { - optimizeNodes() { - return this; - } - optimizeNames(_names, _constants) { - return this; - } -} -class Def extends Node { - constructor(varKind, name, rhs) { - super(); - this.varKind = varKind; - this.name = name; - this.rhs = rhs; - } - render({ es5, _n }) { - const varKind = es5 ? scope_1.varKinds.var : this.varKind; - const rhs = this.rhs === undefined ? "" : ` = ${this.rhs}`; - return `${varKind} ${this.name}${rhs};` + _n; - } - optimizeNames(names, constants) { - if (!names[this.name.str]) - return; - if (this.rhs) - this.rhs = optimizeExpr(this.rhs, names, constants); - return this; - } - get names() { - return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {}; - } -} -class Assign extends Node { - constructor(lhs, rhs, sideEffects) { - super(); - this.lhs = lhs; - this.rhs = rhs; - this.sideEffects = sideEffects; - } - render({ _n }) { - return `${this.lhs} = ${this.rhs};` + _n; - } - optimizeNames(names, constants) { - if (this.lhs instanceof code_1.Name && !names[this.lhs.str] && !this.sideEffects) - return; - this.rhs = optimizeExpr(this.rhs, names, constants); - return this; - } - get names() { - const names = this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names }; - return addExprNames(names, this.rhs); - } -} -class AssignOp extends Assign { - constructor(lhs, op, rhs, sideEffects) { - super(lhs, rhs, sideEffects); - this.op = op; - } - render({ _n }) { - return `${this.lhs} ${this.op}= ${this.rhs};` + _n; - } -} -class Label extends Node { - constructor(label) { - super(); - this.label = label; - this.names = {}; - } - render({ _n }) { - return `${this.label}:` + _n; - } -} -class Break extends Node { - constructor(label) { - super(); - this.label = label; - this.names = {}; - } - render({ _n }) { - const label = this.label ? ` ${this.label}` : ""; - return `break${label};` + _n; - } -} -class Throw extends Node { - constructor(error) { - super(); - this.error = error; - } - render({ _n }) { - return `throw ${this.error};` + _n; - } - get names() { - return this.error.names; - } -} -class AnyCode extends Node { - constructor(code) { - super(); - this.code = code; - } - render({ _n }) { - return `${this.code};` + _n; - } - optimizeNodes() { - return `${this.code}` ? this : undefined; - } - optimizeNames(names, constants) { - this.code = optimizeExpr(this.code, names, constants); - return this; - } - get names() { - return this.code instanceof code_1._CodeOrName ? this.code.names : {}; - } -} -class ParentNode extends Node { - constructor(nodes = []) { - super(); - this.nodes = nodes; - } - render(opts) { - return this.nodes.reduce((code, n) => code + n.render(opts), ""); - } - optimizeNodes() { - const { nodes } = this; - let i = nodes.length; - while (i--) { - const n = nodes[i].optimizeNodes(); - if (Array.isArray(n)) - nodes.splice(i, 1, ...n); - else if (n) - nodes[i] = n; - else - nodes.splice(i, 1); - } - return nodes.length > 0 ? this : undefined; - } - optimizeNames(names, constants) { - const { nodes } = this; - let i = nodes.length; - while (i--) { - // iterating backwards improves 1-pass optimization - const n = nodes[i]; - if (n.optimizeNames(names, constants)) - continue; - subtractNames(names, n.names); - nodes.splice(i, 1); - } - return nodes.length > 0 ? this : undefined; - } - get names() { - return this.nodes.reduce((names, n) => addNames(names, n.names), {}); - } -} -class BlockNode extends ParentNode { - render(opts) { - return "{" + opts._n + super.render(opts) + "}" + opts._n; - } -} -class Root extends ParentNode { -} -class Else extends BlockNode { -} -Else.kind = "else"; -class If extends BlockNode { - constructor(condition, nodes) { - super(nodes); - this.condition = condition; - } - render(opts) { - let code = `if(${this.condition})` + super.render(opts); - if (this.else) - code += "else " + this.else.render(opts); - return code; - } - optimizeNodes() { - super.optimizeNodes(); - const cond = this.condition; - if (cond === true) - return this.nodes; // else is ignored here - let e = this.else; - if (e) { - const ns = e.optimizeNodes(); - e = this.else = Array.isArray(ns) ? new Else(ns) : ns; - } - if (e) { - if (cond === false) - return e instanceof If ? e : e.nodes; - if (this.nodes.length) - return this; - return new If(not(cond), e instanceof If ? [e] : e.nodes); - } - if (cond === false || !this.nodes.length) - return undefined; - return this; - } - optimizeNames(names, constants) { - var _a; - this.else = (_a = this.else) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants); - if (!(super.optimizeNames(names, constants) || this.else)) - return; - this.condition = optimizeExpr(this.condition, names, constants); - return this; - } - get names() { - const names = super.names; - addExprNames(names, this.condition); - if (this.else) - addNames(names, this.else.names); - return names; - } -} -If.kind = "if"; -class For extends BlockNode { -} -For.kind = "for"; -class ForLoop extends For { - constructor(iteration) { - super(); - this.iteration = iteration; - } - render(opts) { - return `for(${this.iteration})` + super.render(opts); - } - optimizeNames(names, constants) { - if (!super.optimizeNames(names, constants)) - return; - this.iteration = optimizeExpr(this.iteration, names, constants); - return this; - } - get names() { - return addNames(super.names, this.iteration.names); - } -} -class ForRange extends For { - constructor(varKind, name, from, to) { - super(); - this.varKind = varKind; - this.name = name; - this.from = from; - this.to = to; - } - render(opts) { - const varKind = opts.es5 ? scope_1.varKinds.var : this.varKind; - const { name, from, to } = this; - return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts); - } - get names() { - const names = addExprNames(super.names, this.from); - return addExprNames(names, this.to); - } -} -class ForIter extends For { - constructor(loop, varKind, name, iterable) { - super(); - this.loop = loop; - this.varKind = varKind; - this.name = name; - this.iterable = iterable; - } - render(opts) { - return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts); - } - optimizeNames(names, constants) { - if (!super.optimizeNames(names, constants)) - return; - this.iterable = optimizeExpr(this.iterable, names, constants); - return this; - } - get names() { - return addNames(super.names, this.iterable.names); - } -} -class Func extends BlockNode { - constructor(name, args, async) { - super(); - this.name = name; - this.args = args; - this.async = async; - } - render(opts) { - const _async = this.async ? "async " : ""; - return `${_async}function ${this.name}(${this.args})` + super.render(opts); - } -} -Func.kind = "func"; -class Return extends ParentNode { - render(opts) { - return "return " + super.render(opts); - } -} -Return.kind = "return"; -class Try extends BlockNode { - render(opts) { - let code = "try" + super.render(opts); - if (this.catch) - code += this.catch.render(opts); - if (this.finally) - code += this.finally.render(opts); - return code; - } - optimizeNodes() { - var _a, _b; - super.optimizeNodes(); - (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNodes(); - (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNodes(); - return this; - } - optimizeNames(names, constants) { - var _a, _b; - super.optimizeNames(names, constants); - (_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants); - (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNames(names, constants); - return this; - } - get names() { - const names = super.names; - if (this.catch) - addNames(names, this.catch.names); - if (this.finally) - addNames(names, this.finally.names); - return names; - } -} -class Catch extends BlockNode { - constructor(error) { - super(); - this.error = error; - } - render(opts) { - return `catch(${this.error})` + super.render(opts); - } -} -Catch.kind = "catch"; -class Finally extends BlockNode { - render(opts) { - return "finally" + super.render(opts); - } -} -Finally.kind = "finally"; -class CodeGen { - constructor(extScope, opts = {}) { - this._values = {}; - this._blockStarts = []; - this._constants = {}; - this.opts = { ...opts, _n: opts.lines ? "\n" : "" }; - this._extScope = extScope; - this._scope = new scope_1.Scope({ parent: extScope }); - this._nodes = [new Root()]; - } - toString() { - return this._root.render(this.opts); - } - // returns unique name in the internal scope - name(prefix) { - return this._scope.name(prefix); - } - // reserves unique name in the external scope - scopeName(prefix) { - return this._extScope.name(prefix); - } - // reserves unique name in the external scope and assigns value to it - scopeValue(prefixOrName, value) { - const name = this._extScope.value(prefixOrName, value); - const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set()); - vs.add(name); - return name; - } - getScopeValue(prefix, keyOrRef) { - return this._extScope.getValue(prefix, keyOrRef); - } - // return code that assigns values in the external scope to the names that are used internally - // (same names that were returned by gen.scopeName or gen.scopeValue) - scopeRefs(scopeName) { - return this._extScope.scopeRefs(scopeName, this._values); - } - scopeCode() { - return this._extScope.scopeCode(this._values); - } - _def(varKind, nameOrPrefix, rhs, constant) { - const name = this._scope.toName(nameOrPrefix); - if (rhs !== undefined && constant) - this._constants[name.str] = rhs; - this._leafNode(new Def(varKind, name, rhs)); - return name; - } - // `const` declaration (`var` in es5 mode) - const(nameOrPrefix, rhs, _constant) { - return this._def(scope_1.varKinds.const, nameOrPrefix, rhs, _constant); - } - // `let` declaration with optional assignment (`var` in es5 mode) - let(nameOrPrefix, rhs, _constant) { - return this._def(scope_1.varKinds.let, nameOrPrefix, rhs, _constant); - } - // `var` declaration with optional assignment - var(nameOrPrefix, rhs, _constant) { - return this._def(scope_1.varKinds.var, nameOrPrefix, rhs, _constant); - } - // assignment code - assign(lhs, rhs, sideEffects) { - return this._leafNode(new Assign(lhs, rhs, sideEffects)); - } - // `+=` code - add(lhs, rhs) { - return this._leafNode(new AssignOp(lhs, exports.operators.ADD, rhs)); - } - // appends passed SafeExpr to code or executes Block - code(c) { - if (typeof c == "function") - c(); - else if (c !== code_1.nil) - this._leafNode(new AnyCode(c)); - return this; - } - // returns code for object literal for the passed argument list of key-value pairs - object(...keyValues) { - const code = ["{"]; - for (const [key, value] of keyValues) { - if (code.length > 1) - code.push(","); - code.push(key); - if (key !== value || this.opts.es5) { - code.push(":"); - (0, code_1.addCodeArg)(code, value); + function applyAdditionalSchema(key, valid, errors) { + const subschema = { + keyword: "additionalProperties", + dataProp: key, + dataPropType: util_1.Type.Str, + }; + if (errors === false) { + Object.assign(subschema, { + compositeRule: true, + createErrors: false, + allErrors: false, + }); + } + cxt.subschema(subschema, valid); } - } - code.push("}"); - return new code_1._Code(code); - } - // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed) - if(condition, thenBody, elseBody) { - this._blockNode(new If(condition)); - if (thenBody && elseBody) { - this.code(thenBody).else().code(elseBody).endIf(); - } - else if (thenBody) { - this.code(thenBody).endIf(); - } - else if (elseBody) { - throw new Error('CodeGen: "else" body without "then" body'); - } - return this; - } - // `else if` clause - invalid without `if` or after `else` clauses - elseIf(condition) { - return this._elseNode(new If(condition)); - } - // `else` clause - only valid after `if` or `else if` clauses - else() { - return this._elseNode(new Else()); - } - // end `if` statement (needed if gen.if was used only with condition) - endIf() { - return this._endBlockNode(If, Else); - } - _for(node, forBody) { - this._blockNode(node); - if (forBody) - this.code(forBody).endFor(); - return this; - } - // a generic `for` clause (or statement if `forBody` is passed) - for(iteration, forBody) { - return this._for(new ForLoop(iteration), forBody); - } - // `for` statement for a range of values - forRange(nameOrPrefix, from, to, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let) { - const name = this._scope.toName(nameOrPrefix); - return this._for(new ForRange(varKind, name, from, to), () => forBody(name)); - } - // `for-of` statement (in es5 mode replace with a normal for loop) - forOf(nameOrPrefix, iterable, forBody, varKind = scope_1.varKinds.const) { - const name = this._scope.toName(nameOrPrefix); - if (this.opts.es5) { - const arr = iterable instanceof code_1.Name ? iterable : this.var("_arr", iterable); - return this.forRange("_i", 0, (0, code_1._) `${arr}.length`, (i) => { - this.var(name, (0, code_1._) `${arr}[${i}]`); - forBody(name); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/names": 53, "../../compile/util": 57, "../code": 98 }, + ], + 82: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const util_1 = require("../../compile/util"); + const def = { + keyword: "allOf", + schemaType: "array", + code(cxt) { + const { gen, schema, it } = cxt; + /* istanbul ignore if */ + if (!Array.isArray(schema)) throw new Error("ajv implementation error"); + const valid = gen.name("valid"); + schema.forEach((sch, i) => { + if ((0, util_1.alwaysValidSchema)(it, sch)) return; + const schCxt = cxt.subschema({ keyword: "allOf", schemaProp: i }, valid); + cxt.ok(valid); + cxt.mergeEvaluated(schCxt); }); + }, + }; + exports.default = def; + }, + { "../../compile/util": 57 }, + ], + 83: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const code_1 = require("../code"); + const def = { + keyword: "anyOf", + schemaType: "array", + trackErrors: true, + code: code_1.validateUnion, + error: { message: "must match a schema in anyOf" }, + }; + exports.default = def; + }, + { "../code": 98 }, + ], + 84: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const error = { + message: ({ params: { min, max } }) => + max === undefined + ? (0, codegen_1.str)`must contain at least ${min} valid item(s)` + : (0, codegen_1.str)`must contain at least ${min} and no more than ${max} valid item(s)`, + params: ({ params: { min, max } }) => + max === undefined + ? (0, codegen_1._)`{minContains: ${min}}` + : (0, codegen_1._)`{minContains: ${min}, maxContains: ${max}}`, + }; + const def = { + keyword: "contains", + type: "array", + schemaType: ["object", "boolean"], + before: "uniqueItems", + trackErrors: true, + error, + code(cxt) { + const { gen, schema, parentSchema, data, it } = cxt; + let min; + let max; + const { minContains, maxContains } = parentSchema; + if (it.opts.next) { + min = minContains === undefined ? 1 : minContains; + max = maxContains; + } else { + min = 1; + } + const len = gen.const("len", (0, codegen_1._)`${data}.length`); + cxt.setParams({ min, max }); + if (max === undefined && min === 0) { + (0, util_1.checkStrictMode)(it, `"minContains" == 0 without "maxContains": "contains" keyword ignored`); + return; + } + if (max !== undefined && min > max) { + (0, util_1.checkStrictMode)(it, `"minContains" > "maxContains" is always invalid`); + cxt.fail(); + return; + } + if ((0, util_1.alwaysValidSchema)(it, schema)) { + let cond = (0, codegen_1._)`${len} >= ${min}`; + if (max !== undefined) cond = (0, codegen_1._)`${cond} && ${len} <= ${max}`; + cxt.pass(cond); + return; + } + it.items = true; + const valid = gen.name("valid"); + if (max === undefined && min === 1) { + validateItems(valid, () => gen.if(valid, () => gen.break())); + } else if (min === 0) { + gen.let(valid, true); + if (max !== undefined) gen.if((0, codegen_1._)`${data}.length > 0`, validateItemsWithCount); + } else { + gen.let(valid, false); + validateItemsWithCount(); + } + cxt.result(valid, () => cxt.reset()); + function validateItemsWithCount() { + const schValid = gen.name("_valid"); + const count = gen.let("count", 0); + validateItems(schValid, () => gen.if(schValid, () => checkLimits(count))); + } + function validateItems(_valid, block) { + gen.forRange("i", 0, len, (i) => { + cxt.subschema( + { + keyword: "contains", + dataProp: i, + dataPropType: util_1.Type.Num, + compositeRule: true, + }, + _valid, + ); + block(); + }); + } + function checkLimits(count) { + gen.code((0, codegen_1._)`${count}++`); + if (max === undefined) { + gen.if((0, codegen_1._)`${count} >= ${min}`, () => gen.assign(valid, true).break()); + } else { + gen.if((0, codegen_1._)`${count} > ${max}`, () => gen.assign(valid, false).break()); + if (min === 1) gen.assign(valid, true); + else gen.if((0, codegen_1._)`${count} >= ${min}`, () => gen.assign(valid, true)); + } + } + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57 }, + ], + 85: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0; + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const code_1 = require("../code"); + exports.error = { + message: ({ params: { property, depsCount, deps } }) => { + const property_ies = depsCount === 1 ? "property" : "properties"; + return (0, codegen_1.str)`must have ${property_ies} ${deps} when property ${property} is present`; + }, + params: ({ params: { property, depsCount, deps, missingProperty } }) => (0, + codegen_1._)`{property: ${property}, + missingProperty: ${missingProperty}, + depsCount: ${depsCount}, + deps: ${deps}}`, // TODO change to reference + }; + const def = { + keyword: "dependencies", + type: "object", + schemaType: "object", + error: exports.error, + code(cxt) { + const [propDeps, schDeps] = splitDependencies(cxt); + validatePropertyDeps(cxt, propDeps); + validateSchemaDeps(cxt, schDeps); + }, + }; + function splitDependencies({ schema }) { + const propertyDeps = {}; + const schemaDeps = {}; + for (const key in schema) { + if (key === "__proto__") continue; + const deps = Array.isArray(schema[key]) ? propertyDeps : schemaDeps; + deps[key] = schema[key]; + } + return [propertyDeps, schemaDeps]; + } + function validatePropertyDeps(cxt, propertyDeps = cxt.schema) { + const { gen, data, it } = cxt; + if (Object.keys(propertyDeps).length === 0) return; + const missing = gen.let("missing"); + for (const prop in propertyDeps) { + const deps = propertyDeps[prop]; + if (deps.length === 0) continue; + const hasProperty = (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties); + cxt.setParams({ + property: prop, + depsCount: deps.length, + deps: deps.join(", "), + }); + if (it.allErrors) { + gen.if(hasProperty, () => { + for (const depProp of deps) { + (0, code_1.checkReportMissingProp)(cxt, depProp); + } + }); + } else { + gen.if((0, codegen_1._)`${hasProperty} && (${(0, code_1.checkMissingProp)(cxt, deps, missing)})`); + (0, code_1.reportMissingProp)(cxt, missing); + gen.else(); + } + } } - return this._for(new ForIter("of", varKind, name, iterable), () => forBody(name)); - } - // `for-in` statement. - // With option `ownProperties` replaced with a `for-of` loop for object keys - forIn(nameOrPrefix, obj, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) { - if (this.opts.ownProperties) { - return this.forOf(nameOrPrefix, (0, code_1._) `Object.keys(${obj})`, forBody); - } - const name = this._scope.toName(nameOrPrefix); - return this._for(new ForIter("in", varKind, name, obj), () => forBody(name)); - } - // end `for` loop - endFor() { - return this._endBlockNode(For); - } - // `label` statement - label(label) { - return this._leafNode(new Label(label)); - } - // `break` statement - break(label) { - return this._leafNode(new Break(label)); - } - // `return` statement - return(value) { - const node = new Return(); - this._blockNode(node); - this.code(value); - if (node.nodes.length !== 1) - throw new Error('CodeGen: "return" should have one node'); - return this._endBlockNode(Return); - } - // `try` statement - try(tryBody, catchCode, finallyCode) { - if (!catchCode && !finallyCode) - throw new Error('CodeGen: "try" without "catch" and "finally"'); - const node = new Try(); - this._blockNode(node); - this.code(tryBody); - if (catchCode) { - const error = this.name("e"); - this._currNode = node.catch = new Catch(error); - catchCode(error); - } - if (finallyCode) { - this._currNode = node.finally = new Finally(); - this.code(finallyCode); - } - return this._endBlockNode(Catch, Finally); - } - // `throw` statement - throw(error) { - return this._leafNode(new Throw(error)); - } - // start self-balancing block - block(body, nodeCount) { - this._blockStarts.push(this._nodes.length); - if (body) - this.code(body).endBlock(nodeCount); - return this; - } - // end the current self-balancing block - endBlock(nodeCount) { - const len = this._blockStarts.pop(); - if (len === undefined) - throw new Error("CodeGen: not in self-balancing block"); - const toClose = this._nodes.length - len; - if (toClose < 0 || (nodeCount !== undefined && toClose !== nodeCount)) { - throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`); - } - this._nodes.length = len; - return this; - } - // `function` heading (or definition if funcBody is passed) - func(name, args = code_1.nil, async, funcBody) { - this._blockNode(new Func(name, args, async)); - if (funcBody) - this.code(funcBody).endFunc(); - return this; - } - // end function definition - endFunc() { - return this._endBlockNode(Func); - } - optimize(n = 1) { - while (n-- > 0) { - this._root.optimizeNodes(); - this._root.optimizeNames(this._root.names, this._constants); - } - } - _leafNode(node) { - this._currNode.nodes.push(node); - return this; - } - _blockNode(node) { - this._currNode.nodes.push(node); - this._nodes.push(node); - } - _endBlockNode(N1, N2) { - const n = this._currNode; - if (n instanceof N1 || (N2 && n instanceof N2)) { - this._nodes.pop(); - return this; + exports.validatePropertyDeps = validatePropertyDeps; + function validateSchemaDeps(cxt, schemaDeps = cxt.schema) { + const { gen, data, keyword, it } = cxt; + const valid = gen.name("valid"); + for (const prop in schemaDeps) { + if ((0, util_1.alwaysValidSchema)(it, schemaDeps[prop])) continue; + gen.if( + (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties), + () => { + const schCxt = cxt.subschema({ keyword, schemaProp: prop }, valid); + cxt.mergeValidEvaluated(schCxt, valid); + }, + () => gen.var(valid, true), // TODO var + ); + cxt.ok(valid); + } } - throw new Error(`CodeGen: not in block "${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}"`); - } - _elseNode(node) { - const n = this._currNode; - if (!(n instanceof If)) { - throw new Error('CodeGen: "else" without "if"'); + exports.validateSchemaDeps = validateSchemaDeps; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../code": 98 }, + ], + 86: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const dependencies_1 = require("./dependencies"); + const def = { + keyword: "dependentSchemas", + type: "object", + schemaType: "object", + code: (cxt) => (0, dependencies_1.validateSchemaDeps)(cxt), + }; + exports.default = def; + }, + { "./dependencies": 85 }, + ], + 87: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const error = { + message: ({ params }) => (0, codegen_1.str)`must match "${params.ifClause}" schema`, + params: ({ params }) => (0, codegen_1._)`{failingKeyword: ${params.ifClause}}`, + }; + const def = { + keyword: "if", + schemaType: ["object", "boolean"], + trackErrors: true, + error, + code(cxt) { + const { gen, parentSchema, it } = cxt; + if (parentSchema.then === undefined && parentSchema.else === undefined) { + (0, util_1.checkStrictMode)(it, '"if" without "then" and "else" is ignored'); + } + const hasThen = hasSchema(it, "then"); + const hasElse = hasSchema(it, "else"); + if (!hasThen && !hasElse) return; + const valid = gen.let("valid", true); + const schValid = gen.name("_valid"); + validateIf(); + cxt.reset(); + if (hasThen && hasElse) { + const ifClause = gen.let("ifClause"); + cxt.setParams({ ifClause }); + gen.if(schValid, validateClause("then", ifClause), validateClause("else", ifClause)); + } else if (hasThen) { + gen.if(schValid, validateClause("then")); + } else { + gen.if((0, codegen_1.not)(schValid), validateClause("else")); + } + cxt.pass(valid, () => cxt.error(true)); + function validateIf() { + const schCxt = cxt.subschema( + { + keyword: "if", + compositeRule: true, + createErrors: false, + allErrors: false, + }, + schValid, + ); + cxt.mergeEvaluated(schCxt); + } + function validateClause(keyword, ifClause) { + return () => { + const schCxt = cxt.subschema({ keyword }, schValid); + gen.assign(valid, schValid); + cxt.mergeValidEvaluated(schCxt, valid); + if (ifClause) gen.assign(ifClause, (0, codegen_1._)`${keyword}`); + else cxt.setParams({ ifClause: keyword }); + }; + } + }, + }; + function hasSchema(it, keyword) { + const schema = it.schema[keyword]; + return schema !== undefined && !(0, util_1.alwaysValidSchema)(it, schema); } - this._currNode = n.else = node; - return this; - } - get _root() { - return this._nodes[0]; - } - get _currNode() { - const ns = this._nodes; - return ns[ns.length - 1]; - } - set _currNode(node) { - const ns = this._nodes; - ns[ns.length - 1] = node; - } -} -exports.CodeGen = CodeGen; -function addNames(names, from) { - for (const n in from) - names[n] = (names[n] || 0) + (from[n] || 0); - return names; -} -function addExprNames(names, from) { - return from instanceof code_1._CodeOrName ? addNames(names, from.names) : names; -} -function optimizeExpr(expr, names, constants) { - if (expr instanceof code_1.Name) - return replaceName(expr); - if (!canOptimize(expr)) - return expr; - return new code_1._Code(expr._items.reduce((items, c) => { - if (c instanceof code_1.Name) - c = replaceName(c); - if (c instanceof code_1._Code) - items.push(...c._items); - else - items.push(c); - return items; - }, [])); - function replaceName(n) { - const c = constants[n.str]; - if (c === undefined || names[n.str] !== 1) - return n; - delete names[n.str]; - return c; - } - function canOptimize(e) { - return (e instanceof code_1._Code && - e._items.some((c) => c instanceof code_1.Name && names[c.str] === 1 && constants[c.str] !== undefined)); - } -} -function subtractNames(names, from) { - for (const n in from) - names[n] = (names[n] || 0) - (from[n] || 0); -} -function not(x) { - return typeof x == "boolean" || typeof x == "number" || x === null ? !x : (0, code_1._) `!${par(x)}`; -} -exports.not = not; -const andCode = mappend(exports.operators.AND); -// boolean AND (&&) expression with the passed arguments -function and(...args) { - return args.reduce(andCode); -} -exports.and = and; -const orCode = mappend(exports.operators.OR); -// boolean OR (||) expression with the passed arguments -function or(...args) { - return args.reduce(orCode); -} -exports.or = or; -function mappend(op) { - return (x, y) => (x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._) `${par(x)} ${op} ${par(y)}`); -} -function par(x) { - return x instanceof code_1.Name ? x : (0, code_1._) `(${x})`; -} - -},{"./code":48,"./scope":50}],50:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0; -const code_1 = require("./code"); -class ValueError extends Error { - constructor(name) { - super(`CodeGen: "code" for ${name} not defined`); - this.value = name.value; - } -} -var UsedValueState; -(function (UsedValueState) { - UsedValueState[UsedValueState["Started"] = 0] = "Started"; - UsedValueState[UsedValueState["Completed"] = 1] = "Completed"; -})(UsedValueState = exports.UsedValueState || (exports.UsedValueState = {})); -exports.varKinds = { - const: new code_1.Name("const"), - let: new code_1.Name("let"), - var: new code_1.Name("var"), -}; -class Scope { - constructor({ prefixes, parent } = {}) { - this._names = {}; - this._prefixes = prefixes; - this._parent = parent; - } - toName(nameOrPrefix) { - return nameOrPrefix instanceof code_1.Name ? nameOrPrefix : this.name(nameOrPrefix); - } - name(prefix) { - return new code_1.Name(this._newName(prefix)); - } - _newName(prefix) { - const ng = this._names[prefix] || this._nameGroup(prefix); - return `${prefix}${ng.index++}`; - } - _nameGroup(prefix) { - var _a, _b; - if (((_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a._prefixes) === null || _b === void 0 ? void 0 : _b.has(prefix)) || (this._prefixes && !this._prefixes.has(prefix))) { - throw new Error(`CodeGen: prefix "${prefix}" is not allowed in this scope`); + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57 }, + ], + 88: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const additionalItems_1 = require("./additionalItems"); + const prefixItems_1 = require("./prefixItems"); + const items_1 = require("./items"); + const items2020_1 = require("./items2020"); + const contains_1 = require("./contains"); + const dependencies_1 = require("./dependencies"); + const propertyNames_1 = require("./propertyNames"); + const additionalProperties_1 = require("./additionalProperties"); + const properties_1 = require("./properties"); + const patternProperties_1 = require("./patternProperties"); + const not_1 = require("./not"); + const anyOf_1 = require("./anyOf"); + const oneOf_1 = require("./oneOf"); + const allOf_1 = require("./allOf"); + const if_1 = require("./if"); + const thenElse_1 = require("./thenElse"); + function getApplicator(draft2020 = false) { + const applicator = [ + // any + not_1.default, + anyOf_1.default, + oneOf_1.default, + allOf_1.default, + if_1.default, + thenElse_1.default, + // object + propertyNames_1.default, + additionalProperties_1.default, + dependencies_1.default, + properties_1.default, + patternProperties_1.default, + ]; + // array + if (draft2020) applicator.push(prefixItems_1.default, items2020_1.default); + else applicator.push(additionalItems_1.default, items_1.default); + applicator.push(contains_1.default); + return applicator; + } + exports.default = getApplicator; + }, + { + "./additionalItems": 80, + "./additionalProperties": 81, + "./allOf": 82, + "./anyOf": 83, + "./contains": 84, + "./dependencies": 85, + "./if": 87, + "./items": 89, + "./items2020": 90, + "./not": 91, + "./oneOf": 92, + "./patternProperties": 93, + "./prefixItems": 94, + "./properties": 95, + "./propertyNames": 96, + "./thenElse": 97, + }, + ], + 89: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateTuple = void 0; + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const code_1 = require("../code"); + const def = { + keyword: "items", + type: "array", + schemaType: ["object", "array", "boolean"], + before: "uniqueItems", + code(cxt) { + const { schema, it } = cxt; + if (Array.isArray(schema)) return validateTuple(cxt, "additionalItems", schema); + it.items = true; + if ((0, util_1.alwaysValidSchema)(it, schema)) return; + cxt.ok((0, code_1.validateArray)(cxt)); + }, + }; + function validateTuple(cxt, extraItems, schArr = cxt.schema) { + const { gen, parentSchema, data, keyword, it } = cxt; + checkStrictTuple(parentSchema); + if (it.opts.unevaluated && schArr.length && it.items !== true) { + it.items = util_1.mergeEvaluated.items(gen, schArr.length, it.items); + } + const valid = gen.name("valid"); + const len = gen.const("len", (0, codegen_1._)`${data}.length`); + schArr.forEach((sch, i) => { + if ((0, util_1.alwaysValidSchema)(it, sch)) return; + gen.if((0, codegen_1._)`${len} > ${i}`, () => + cxt.subschema( + { + keyword, + schemaProp: i, + dataProp: i, + }, + valid, + ), + ); + cxt.ok(valid); + }); + function checkStrictTuple(sch) { + const { opts, errSchemaPath } = it; + const l = schArr.length; + const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false); + if (opts.strictTuples && !fullTuple) { + const msg = `"${keyword}" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path "${errSchemaPath}"`; + (0, util_1.checkStrictMode)(it, msg, opts.strictTuples); + } + } } - return (this._names[prefix] = { prefix, index: 0 }); - } -} -exports.Scope = Scope; -class ValueScopeName extends code_1.Name { - constructor(prefix, nameStr) { - super(nameStr); - this.prefix = prefix; - } - setValue(value, { property, itemIndex }) { - this.value = value; - this.scopePath = (0, code_1._) `.${new code_1.Name(property)}[${itemIndex}]`; - } -} -exports.ValueScopeName = ValueScopeName; -const line = (0, code_1._) `\n`; -class ValueScope extends Scope { - constructor(opts) { - super(opts); - this._values = {}; - this._scope = opts.scope; - this.opts = { ...opts, _n: opts.lines ? line : code_1.nil }; - } - get() { - return this._scope; - } - name(prefix) { - return new ValueScopeName(prefix, this._newName(prefix)); - } - value(nameOrPrefix, value) { - var _a; - if (value.ref === undefined) - throw new Error("CodeGen: ref must be passed in value"); - const name = this.toName(nameOrPrefix); - const { prefix } = name; - const valueKey = (_a = value.key) !== null && _a !== void 0 ? _a : value.ref; - let vs = this._values[prefix]; - if (vs) { - const _name = vs.get(valueKey); - if (_name) - return _name; - } - else { - vs = this._values[prefix] = new Map(); - } - vs.set(valueKey, name); - const s = this._scope[prefix] || (this._scope[prefix] = []); - const itemIndex = s.length; - s[itemIndex] = value.ref; - name.setValue(value, { property: prefix, itemIndex }); - return name; - } - getValue(prefix, keyOrRef) { - const vs = this._values[prefix]; - if (!vs) - return; - return vs.get(keyOrRef); - } - scopeRefs(scopeName, values = this._values) { - return this._reduceValues(values, (name) => { - if (name.scopePath === undefined) - throw new Error(`CodeGen: name "${name}" has no value`); - return (0, code_1._) `${scopeName}${name.scopePath}`; - }); - } - scopeCode(values = this._values, usedValues, getCode) { - return this._reduceValues(values, (name) => { - if (name.value === undefined) - throw new Error(`CodeGen: name "${name}" has no value`); - return name.value.code; - }, usedValues, getCode); - } - _reduceValues(values, valueCode, usedValues = {}, getCode) { - let code = code_1.nil; - for (const prefix in values) { - const vs = values[prefix]; - if (!vs) - continue; - const nameSet = (usedValues[prefix] = usedValues[prefix] || new Map()); - vs.forEach((name) => { - if (nameSet.has(name)) - return; - nameSet.set(name, UsedValueState.Started); - let c = valueCode(name); - if (c) { - const def = this.opts.es5 ? exports.varKinds.var : exports.varKinds.const; - code = (0, code_1._) `${code}${def} ${name} = ${c};${this.opts._n}`; + exports.validateTuple = validateTuple; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../code": 98 }, + ], + 90: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const code_1 = require("../code"); + const additionalItems_1 = require("./additionalItems"); + const error = { + message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`, + params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}`, + }; + const def = { + keyword: "items", + type: "array", + schemaType: ["object", "boolean"], + before: "uniqueItems", + error, + code(cxt) { + const { schema, parentSchema, it } = cxt; + const { prefixItems } = parentSchema; + it.items = true; + if ((0, util_1.alwaysValidSchema)(it, schema)) return; + if (prefixItems) (0, additionalItems_1.validateAdditionalItems)(cxt, prefixItems); + else cxt.ok((0, code_1.validateArray)(cxt)); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../code": 98, "./additionalItems": 80 }, + ], + 91: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const util_1 = require("../../compile/util"); + const def = { + keyword: "not", + schemaType: ["object", "boolean"], + trackErrors: true, + code(cxt) { + const { gen, schema, it } = cxt; + if ((0, util_1.alwaysValidSchema)(it, schema)) { + cxt.fail(); + return; + } + const valid = gen.name("valid"); + cxt.subschema( + { + keyword: "not", + compositeRule: true, + createErrors: false, + allErrors: false, + }, + valid, + ); + cxt.failResult( + valid, + () => cxt.reset(), + () => cxt.error(), + ); + }, + error: { message: "must NOT be valid" }, + }; + exports.default = def; + }, + { "../../compile/util": 57 }, + ], + 92: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const error = { + message: "must match exactly one schema in oneOf", + params: ({ params }) => (0, codegen_1._)`{passingSchemas: ${params.passing}}`, + }; + const def = { + keyword: "oneOf", + schemaType: "array", + trackErrors: true, + error, + code(cxt) { + const { gen, schema, parentSchema, it } = cxt; + /* istanbul ignore if */ + if (!Array.isArray(schema)) throw new Error("ajv implementation error"); + if (it.opts.discriminator && parentSchema.discriminator) return; + const schArr = schema; + const valid = gen.let("valid", false); + const passing = gen.let("passing", null); + const schValid = gen.name("_valid"); + cxt.setParams({ passing }); + // TODO possibly fail straight away (with warning or exception) if there are two empty always valid schemas + gen.block(validateOneOf); + cxt.result( + valid, + () => cxt.reset(), + () => cxt.error(true), + ); + function validateOneOf() { + schArr.forEach((sch, i) => { + let schCxt; + if ((0, util_1.alwaysValidSchema)(it, sch)) { + gen.var(schValid, true); + } else { + schCxt = cxt.subschema( + { + keyword: "oneOf", + schemaProp: i, + compositeRule: true, + }, + schValid, + ); + } + if (i > 0) { + gen + .if((0, codegen_1._)`${schValid} && ${valid}`) + .assign(valid, false) + .assign(passing, (0, codegen_1._)`[${passing}, ${i}]`) + .else(); } - else if ((c = getCode === null || getCode === void 0 ? void 0 : getCode(name))) { - code = (0, code_1._) `${code}${c}${this.opts._n}`; + gen.if(schValid, () => { + gen.assign(valid, true); + gen.assign(passing, i); + if (schCxt) cxt.mergeEvaluated(schCxt, codegen_1.Name); + }); + }); + } + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57 }, + ], + 93: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const code_1 = require("../code"); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const util_2 = require("../../compile/util"); + const def = { + keyword: "patternProperties", + type: "object", + schemaType: "object", + code(cxt) { + const { gen, schema, data, parentSchema, it } = cxt; + const { opts } = it; + const patterns = (0, code_1.allSchemaProperties)(schema); + const alwaysValidPatterns = patterns.filter((p) => (0, util_1.alwaysValidSchema)(it, schema[p])); + if ( + patterns.length === 0 || + (alwaysValidPatterns.length === patterns.length && (!it.opts.unevaluated || it.props === true)) + ) { + return; + } + const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties; + const valid = gen.name("valid"); + if (it.props !== true && !(it.props instanceof codegen_1.Name)) { + it.props = (0, util_2.evaluatedPropsToName)(gen, it.props); + } + const { props } = it; + validatePatternProperties(); + function validatePatternProperties() { + for (const pat of patterns) { + if (checkProperties) checkMatchingProperties(pat); + if (it.allErrors) { + validateProperties(pat); + } else { + gen.var(valid, true); // TODO var + validateProperties(pat); + gen.if(valid); } - else { - throw new ValueError(name); + } + } + function checkMatchingProperties(pat) { + for (const prop in checkProperties) { + if (new RegExp(pat).test(prop)) { + (0, util_1.checkStrictMode)( + it, + `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`, + ); } - nameSet.set(name, UsedValueState.Completed); + } + } + function validateProperties(pat) { + gen.forIn("key", data, (key) => { + gen.if((0, codegen_1._)`${(0, code_1.usePattern)(cxt, pat)}.test(${key})`, () => { + const alwaysValid = alwaysValidPatterns.includes(pat); + if (!alwaysValid) { + cxt.subschema( + { + keyword: "patternProperties", + schemaProp: pat, + dataProp: key, + dataPropType: util_2.Type.Str, + }, + valid, + ); + } + if (it.opts.unevaluated && props !== true) { + gen.assign((0, codegen_1._)`${props}[${key}]`, true); + } else if (!alwaysValid && !it.allErrors) { + // can short-circuit if `unevaluatedProperties` is not supported (opts.next === false) + // or if all properties were evaluated (props === true) + gen.if((0, codegen_1.not)(valid), () => gen.break()); + } + }); + }); + } + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../code": 98 }, + ], + 94: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const items_1 = require("./items"); + const def = { + keyword: "prefixItems", + type: "array", + schemaType: ["array"], + before: "uniqueItems", + code: (cxt) => (0, items_1.validateTuple)(cxt, "items"), + }; + exports.default = def; + }, + { "./items": 89 }, + ], + 95: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const validate_1 = require("../../compile/validate"); + const code_1 = require("../code"); + const util_1 = require("../../compile/util"); + const additionalProperties_1 = require("./additionalProperties"); + const def = { + keyword: "properties", + type: "object", + schemaType: "object", + code(cxt) { + const { gen, schema, parentSchema, data, it } = cxt; + if (it.opts.removeAdditional === "all" && parentSchema.additionalProperties === undefined) { + additionalProperties_1.default.code( + new validate_1.KeywordCxt(it, additionalProperties_1.default, "additionalProperties"), + ); + } + const allProps = (0, code_1.allSchemaProperties)(schema); + for (const prop of allProps) { + it.definedProperties.add(prop); + } + if (it.opts.unevaluated && allProps.length && it.props !== true) { + it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props); + } + const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p])); + if (properties.length === 0) return; + const valid = gen.name("valid"); + for (const prop of properties) { + if (hasDefault(prop)) { + applyPropertySchema(prop); + } else { + gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties)); + applyPropertySchema(prop); + if (!it.allErrors) gen.else().var(valid, true); + gen.endIf(); + } + cxt.it.definedProperties.add(prop); + cxt.ok(valid); + } + function hasDefault(prop) { + return it.opts.useDefaults && !it.compositeRule && schema[prop].default !== undefined; + } + function applyPropertySchema(prop) { + cxt.subschema( + { + keyword: "properties", + schemaProp: prop, + dataProp: prop, + }, + valid, + ); + } + }, + }; + exports.default = def; + }, + { "../../compile/util": 57, "../../compile/validate": 62, "../code": 98, "./additionalProperties": 81 }, + ], + 96: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const error = { + message: "property name must be valid", + params: ({ params }) => (0, codegen_1._)`{propertyName: ${params.propertyName}}`, + }; + const def = { + keyword: "propertyNames", + type: "object", + schemaType: ["object", "boolean"], + error, + code(cxt) { + const { gen, schema, data, it } = cxt; + if ((0, util_1.alwaysValidSchema)(it, schema)) return; + const valid = gen.name("valid"); + gen.forIn("key", data, (key) => { + cxt.setParams({ propertyName: key }); + cxt.subschema( + { + keyword: "propertyNames", + data: key, + dataTypes: ["string"], + propertyName: key, + compositeRule: true, + }, + valid, + ); + gen.if((0, codegen_1.not)(valid), () => { + cxt.error(true); + if (!it.allErrors) gen.break(); + }); }); + cxt.ok(valid); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57 }, + ], + 97: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const util_1 = require("../../compile/util"); + const def = { + keyword: ["then", "else"], + schemaType: ["object", "boolean"], + code({ keyword, parentSchema, it }) { + if (parentSchema.if === undefined) (0, util_1.checkStrictMode)(it, `"${keyword}" without "if" is ignored`); + }, + }; + exports.default = def; + }, + { "../../compile/util": 57 }, + ], + 98: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.validateUnion = + exports.validateArray = + exports.usePattern = + exports.callValidateCode = + exports.schemaProperties = + exports.allSchemaProperties = + exports.noPropertyInData = + exports.propertyInData = + exports.isOwnProperty = + exports.hasPropFunc = + exports.reportMissingProp = + exports.checkMissingProp = + exports.checkReportMissingProp = + void 0; + const codegen_1 = require("../compile/codegen"); + const util_1 = require("../compile/util"); + const names_1 = require("../compile/names"); + const util_2 = require("../compile/util"); + function checkReportMissingProp(cxt, prop) { + const { gen, data, it } = cxt; + gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => { + cxt.setParams({ missingProperty: (0, codegen_1._)`${prop}` }, true); + cxt.error(); + }); + } + exports.checkReportMissingProp = checkReportMissingProp; + function checkMissingProp({ gen, data, it: { opts } }, properties, missing) { + return (0, codegen_1.or)( + ...properties.map((prop) => + (0, codegen_1.and)( + noPropertyInData(gen, data, prop, opts.ownProperties), + (0, codegen_1._)`${missing} = ${prop}`, + ), + ), + ); + } + exports.checkMissingProp = checkMissingProp; + function reportMissingProp(cxt, missing) { + cxt.setParams({ missingProperty: missing }, true); + cxt.error(); + } + exports.reportMissingProp = reportMissingProp; + function hasPropFunc(gen) { + return gen.scopeValue("func", { + // eslint-disable-next-line @typescript-eslint/unbound-method + ref: Object.prototype.hasOwnProperty, + code: (0, codegen_1._)`Object.prototype.hasOwnProperty`, + }); + } + exports.hasPropFunc = hasPropFunc; + function isOwnProperty(gen, data, property) { + return (0, codegen_1._)`${hasPropFunc(gen)}.call(${data}, ${property})`; + } + exports.isOwnProperty = isOwnProperty; + function propertyInData(gen, data, property, ownProperties) { + const cond = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(property)} !== undefined`; + return ownProperties ? (0, codegen_1._)`${cond} && ${isOwnProperty(gen, data, property)}` : cond; + } + exports.propertyInData = propertyInData; + function noPropertyInData(gen, data, property, ownProperties) { + const cond = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(property)} === undefined`; + return ownProperties ? (0, codegen_1.or)(cond, (0, codegen_1.not)(isOwnProperty(gen, data, property))) : cond; + } + exports.noPropertyInData = noPropertyInData; + function allSchemaProperties(schemaMap) { + return schemaMap ? Object.keys(schemaMap).filter((p) => p !== "__proto__") : []; + } + exports.allSchemaProperties = allSchemaProperties; + function schemaProperties(it, schemaMap) { + return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p])); + } + exports.schemaProperties = schemaProperties; + function callValidateCode( + { schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, + func, + context, + passSchema, + ) { + const dataAndSchema = passSchema + ? (0, codegen_1._)`${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` + : data; + const valCxt = [ + [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, errorPath)], + [names_1.default.parentData, it.parentData], + [names_1.default.parentDataProperty, it.parentDataProperty], + [names_1.default.rootData, names_1.default.rootData], + ]; + if (it.opts.dynamicRef) valCxt.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]); + const args = (0, codegen_1._)`${dataAndSchema}, ${gen.object(...valCxt)}`; + return context !== codegen_1.nil + ? (0, codegen_1._)`${func}.call(${context}, ${args})` + : (0, codegen_1._)`${func}(${args})`; + } + exports.callValidateCode = callValidateCode; + const newRegExp = (0, codegen_1._)`new RegExp`; + function usePattern({ gen, it: { opts } }, pattern) { + const u = opts.unicodeRegExp ? "u" : ""; + const { regExp } = opts.code; + const rx = regExp(pattern, u); + return gen.scopeValue("pattern", { + key: rx.toString(), + ref: rx, + code: (0, + codegen_1._)`${regExp.code === "new RegExp" ? newRegExp : (0, util_2.useFunc)(gen, regExp)}(${pattern}, ${u})`, + }); + } + exports.usePattern = usePattern; + function validateArray(cxt) { + const { gen, data, keyword, it } = cxt; + const valid = gen.name("valid"); + if (it.allErrors) { + const validArr = gen.let("valid", true); + validateItems(() => gen.assign(validArr, false)); + return validArr; + } + gen.var(valid, true); + validateItems(() => gen.break()); + return valid; + function validateItems(notValid) { + const len = gen.const("len", (0, codegen_1._)`${data}.length`); + gen.forRange("i", 0, len, (i) => { + cxt.subschema( + { + keyword, + dataProp: i, + dataPropType: util_1.Type.Num, + }, + valid, + ); + gen.if((0, codegen_1.not)(valid), notValid); + }); + } } - return code; - } -} -exports.ValueScope = ValueScope; - -},{"./code":48}],51:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0; -const codegen_1 = require("./codegen"); -const util_1 = require("./util"); -const names_1 = require("./names"); -exports.keywordError = { - message: ({ keyword }) => (0, codegen_1.str) `must pass "${keyword}" keyword validation`, -}; -exports.keyword$DataError = { - message: ({ keyword, schemaType }) => schemaType - ? (0, codegen_1.str) `"${keyword}" keyword must be ${schemaType} ($data)` - : (0, codegen_1.str) `"${keyword}" keyword is invalid ($data)`, -}; -function reportError(cxt, error = exports.keywordError, errorPaths, overrideAllErrors) { - const { it } = cxt; - const { gen, compositeRule, allErrors } = it; - const errObj = errorObjectCode(cxt, error, errorPaths); - if (overrideAllErrors !== null && overrideAllErrors !== void 0 ? overrideAllErrors : (compositeRule || allErrors)) { - addError(gen, errObj); - } - else { - returnErrors(it, (0, codegen_1._) `[${errObj}]`); - } -} -exports.reportError = reportError; -function reportExtraError(cxt, error = exports.keywordError, errorPaths) { - const { it } = cxt; - const { gen, compositeRule, allErrors } = it; - const errObj = errorObjectCode(cxt, error, errorPaths); - addError(gen, errObj); - if (!(compositeRule || allErrors)) { - returnErrors(it, names_1.default.vErrors); - } -} -exports.reportExtraError = reportExtraError; -function resetErrorsCount(gen, errsCount) { - gen.assign(names_1.default.errors, errsCount); - gen.if((0, codegen_1._) `${names_1.default.vErrors} !== null`, () => gen.if(errsCount, () => gen.assign((0, codegen_1._) `${names_1.default.vErrors}.length`, errsCount), () => gen.assign(names_1.default.vErrors, null))); -} -exports.resetErrorsCount = resetErrorsCount; -function extendErrors({ gen, keyword, schemaValue, data, errsCount, it, }) { - /* istanbul ignore if */ - if (errsCount === undefined) - throw new Error("ajv implementation error"); - const err = gen.name("err"); - gen.forRange("i", errsCount, names_1.default.errors, (i) => { - gen.const(err, (0, codegen_1._) `${names_1.default.vErrors}[${i}]`); - gen.if((0, codegen_1._) `${err}.instancePath === undefined`, () => gen.assign((0, codegen_1._) `${err}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath))); - gen.assign((0, codegen_1._) `${err}.schemaPath`, (0, codegen_1.str) `${it.errSchemaPath}/${keyword}`); - if (it.opts.verbose) { - gen.assign((0, codegen_1._) `${err}.schema`, schemaValue); - gen.assign((0, codegen_1._) `${err}.data`, data); - } - }); -} -exports.extendErrors = extendErrors; -function addError(gen, errObj) { - const err = gen.const("err", errObj); - gen.if((0, codegen_1._) `${names_1.default.vErrors} === null`, () => gen.assign(names_1.default.vErrors, (0, codegen_1._) `[${err}]`), (0, codegen_1._) `${names_1.default.vErrors}.push(${err})`); - gen.code((0, codegen_1._) `${names_1.default.errors}++`); -} -function returnErrors(it, errs) { - const { gen, validateName, schemaEnv } = it; - if (schemaEnv.$async) { - gen.throw((0, codegen_1._) `new ${it.ValidationError}(${errs})`); - } - else { - gen.assign((0, codegen_1._) `${validateName}.errors`, errs); - gen.return(false); - } -} -const E = { - keyword: new codegen_1.Name("keyword"), - schemaPath: new codegen_1.Name("schemaPath"), - params: new codegen_1.Name("params"), - propertyName: new codegen_1.Name("propertyName"), - message: new codegen_1.Name("message"), - schema: new codegen_1.Name("schema"), - parentSchema: new codegen_1.Name("parentSchema"), -}; -function errorObjectCode(cxt, error, errorPaths) { - const { createErrors } = cxt.it; - if (createErrors === false) - return (0, codegen_1._) `{}`; - return errorObject(cxt, error, errorPaths); -} -function errorObject(cxt, error, errorPaths = {}) { - const { gen, it } = cxt; - const keyValues = [ - errorInstancePath(it, errorPaths), - errorSchemaPath(cxt, errorPaths), - ]; - extraErrorProps(cxt, error, keyValues); - return gen.object(...keyValues); -} -function errorInstancePath({ errorPath }, { instancePath }) { - const instPath = instancePath - ? (0, codegen_1.str) `${errorPath}${(0, util_1.getErrorPath)(instancePath, util_1.Type.Str)}` - : errorPath; - return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, instPath)]; -} -function errorSchemaPath({ keyword, it: { errSchemaPath } }, { schemaPath, parentSchema }) { - let schPath = parentSchema ? errSchemaPath : (0, codegen_1.str) `${errSchemaPath}/${keyword}`; - if (schemaPath) { - schPath = (0, codegen_1.str) `${schPath}${(0, util_1.getErrorPath)(schemaPath, util_1.Type.Str)}`; - } - return [E.schemaPath, schPath]; -} -function extraErrorProps(cxt, { params, message }, keyValues) { - const { keyword, data, schemaValue, it } = cxt; - const { opts, propertyName, topSchemaRef, schemaPath } = it; - keyValues.push([E.keyword, keyword], [E.params, typeof params == "function" ? params(cxt) : params || (0, codegen_1._) `{}`]); - if (opts.messages) { - keyValues.push([E.message, typeof message == "function" ? message(cxt) : message]); - } - if (opts.verbose) { - keyValues.push([E.schema, schemaValue], [E.parentSchema, (0, codegen_1._) `${topSchemaRef}${schemaPath}`], [names_1.default.data, data]); - } - if (propertyName) - keyValues.push([E.propertyName, propertyName]); -} - -},{"./codegen":49,"./names":53,"./util":57}],52:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0; -const codegen_1 = require("./codegen"); -const validation_error_1 = require("../runtime/validation_error"); -const names_1 = require("./names"); -const resolve_1 = require("./resolve"); -const util_1 = require("./util"); -const validate_1 = require("./validate"); -class SchemaEnv { - constructor(env) { - var _a; - this.refs = {}; - this.dynamicAnchors = {}; - let schema; - if (typeof env.schema == "object") - schema = env.schema; - this.schema = env.schema; - this.schemaId = env.schemaId; - this.root = env.root || this; - this.baseId = (_a = env.baseId) !== null && _a !== void 0 ? _a : (0, resolve_1.normalizeId)(schema === null || schema === void 0 ? void 0 : schema[env.schemaId || "$id"]); - this.schemaPath = env.schemaPath; - this.localRefs = env.localRefs; - this.meta = env.meta; - this.$async = schema === null || schema === void 0 ? void 0 : schema.$async; - this.refs = {}; - } -} -exports.SchemaEnv = SchemaEnv; -// let codeSize = 0 -// let nodeCount = 0 -// Compiles schema in SchemaEnv -function compileSchema(sch) { - // TODO refactor - remove compilations - const _sch = getCompilingSchema.call(this, sch); - if (_sch) - return _sch; - const rootId = (0, resolve_1.getFullPath)(this.opts.uriResolver, sch.root.baseId); // TODO if getFullPath removed 1 tests fails - const { es5, lines } = this.opts.code; - const { ownProperties } = this.opts; - const gen = new codegen_1.CodeGen(this.scope, { es5, lines, ownProperties }); - let _ValidationError; - if (sch.$async) { - _ValidationError = gen.scopeValue("Error", { - ref: validation_error_1.default, - code: (0, codegen_1._) `require("ajv/dist/runtime/validation_error").default`, - }); - } - const validateName = gen.scopeName("validate"); - sch.validateName = validateName; - const schemaCxt = { - gen, - allErrors: this.opts.allErrors, - data: names_1.default.data, - parentData: names_1.default.parentData, - parentDataProperty: names_1.default.parentDataProperty, - dataNames: [names_1.default.data], - dataPathArr: [codegen_1.nil], - dataLevel: 0, - dataTypes: [], - definedProperties: new Set(), - topSchemaRef: gen.scopeValue("schema", this.opts.code.source === true - ? { ref: sch.schema, code: (0, codegen_1.stringify)(sch.schema) } - : { ref: sch.schema }), - validateName, - ValidationError: _ValidationError, - schema: sch.schema, - schemaEnv: sch, - rootId, - baseId: sch.baseId || rootId, - schemaPath: codegen_1.nil, - errSchemaPath: sch.schemaPath || (this.opts.jtd ? "" : "#"), - errorPath: (0, codegen_1._) `""`, - opts: this.opts, - self: this, - }; - let sourceCode; - try { - this._compilations.add(sch); - (0, validate_1.validateFunctionCode)(schemaCxt); - gen.optimize(this.opts.code.optimize); - // gen.optimize(1) - const validateCode = gen.toString(); - sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`; - // console.log((codeSize += sourceCode.length), (nodeCount += gen.nodeCount)) - if (this.opts.code.process) - sourceCode = this.opts.code.process(sourceCode, sch); - // console.log("\n\n\n *** \n", sourceCode) - const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode); - const validate = makeValidate(this, this.scope.get()); - this.scope.value(validateName, { ref: validate }); - validate.errors = null; - validate.schema = sch.schema; - validate.schemaEnv = sch; - if (sch.$async) - validate.$async = true; - if (this.opts.code.source === true) { - validate.source = { validateName, validateCode, scopeValues: gen._values }; - } - if (this.opts.unevaluated) { - const { props, items } = schemaCxt; - validate.evaluated = { - props: props instanceof codegen_1.Name ? undefined : props, - items: items instanceof codegen_1.Name ? undefined : items, - dynamicProps: props instanceof codegen_1.Name, - dynamicItems: items instanceof codegen_1.Name, - }; - if (validate.source) - validate.source.evaluated = (0, codegen_1.stringify)(validate.evaluated); - } - sch.validate = validate; - return sch; - } - catch (e) { - delete sch.validate; - delete sch.validateName; - if (sourceCode) - this.logger.error("Error compiling schema, function code:", sourceCode); - // console.log("\n\n\n *** \n", sourceCode, this.opts) - throw e; - } - finally { - this._compilations.delete(sch); - } -} -exports.compileSchema = compileSchema; -function resolveRef(root, baseId, ref) { - var _a; - ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, ref); - const schOrFunc = root.refs[ref]; - if (schOrFunc) - return schOrFunc; - let _sch = resolve.call(this, root, ref); - if (_sch === undefined) { - const schema = (_a = root.localRefs) === null || _a === void 0 ? void 0 : _a[ref]; // TODO maybe localRefs should hold SchemaEnv - const { schemaId } = this.opts; - if (schema) - _sch = new SchemaEnv({ schema, schemaId, root, baseId }); - } - if (_sch === undefined) - return; - return (root.refs[ref] = inlineOrCompile.call(this, _sch)); -} -exports.resolveRef = resolveRef; -function inlineOrCompile(sch) { - if ((0, resolve_1.inlineRef)(sch.schema, this.opts.inlineRefs)) - return sch.schema; - return sch.validate ? sch : compileSchema.call(this, sch); -} -// Index of schema compilation in the currently compiled list -function getCompilingSchema(schEnv) { - for (const sch of this._compilations) { - if (sameSchemaEnv(sch, schEnv)) - return sch; - } -} -exports.getCompilingSchema = getCompilingSchema; -function sameSchemaEnv(s1, s2) { - return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId; -} -// resolve and compile the references ($ref) -// TODO returns AnySchemaObject (if the schema can be inlined) or validation function -function resolve(root, // information about the root schema for the current schema -ref // reference to resolve -) { - let sch; - while (typeof (sch = this.refs[ref]) == "string") - ref = sch; - return sch || this.schemas[ref] || resolveSchema.call(this, root, ref); -} -// Resolve schema, its root and baseId -function resolveSchema(root, // root object with properties schema, refs TODO below SchemaEnv is assigned to it -ref // reference to resolve -) { - const p = this.opts.uriResolver.parse(ref); - const refPath = (0, resolve_1._getFullPath)(this.opts.uriResolver, p); - let baseId = (0, resolve_1.getFullPath)(this.opts.uriResolver, root.baseId, undefined); - // TODO `Object.keys(root.schema).length > 0` should not be needed - but removing breaks 2 tests - if (Object.keys(root.schema).length > 0 && refPath === baseId) { - return getJsonPointer.call(this, p, root); - } - const id = (0, resolve_1.normalizeId)(refPath); - const schOrRef = this.refs[id] || this.schemas[id]; - if (typeof schOrRef == "string") { - const sch = resolveSchema.call(this, root, schOrRef); - if (typeof (sch === null || sch === void 0 ? void 0 : sch.schema) !== "object") - return; - return getJsonPointer.call(this, p, sch); - } - if (typeof (schOrRef === null || schOrRef === void 0 ? void 0 : schOrRef.schema) !== "object") - return; - if (!schOrRef.validate) - compileSchema.call(this, schOrRef); - if (id === (0, resolve_1.normalizeId)(ref)) { - const { schema } = schOrRef; - const { schemaId } = this.opts; - const schId = schema[schemaId]; - if (schId) - baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId); - return new SchemaEnv({ schema, schemaId, root, baseId }); - } - return getJsonPointer.call(this, p, schOrRef); -} -exports.resolveSchema = resolveSchema; -const PREVENT_SCOPE_CHANGE = new Set([ - "properties", - "patternProperties", - "enum", - "dependencies", - "definitions", -]); -function getJsonPointer(parsedRef, { baseId, schema, root }) { - var _a; - if (((_a = parsedRef.fragment) === null || _a === void 0 ? void 0 : _a[0]) !== "/") - return; - for (const part of parsedRef.fragment.slice(1).split("/")) { - if (typeof schema === "boolean") - return; - const partSchema = schema[(0, util_1.unescapeFragment)(part)]; - if (partSchema === undefined) - return; - schema = partSchema; - // TODO PREVENT_SCOPE_CHANGE could be defined in keyword def? - const schId = typeof schema === "object" && schema[this.opts.schemaId]; - if (!PREVENT_SCOPE_CHANGE.has(part) && schId) { - baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId); + exports.validateArray = validateArray; + function validateUnion(cxt) { + const { gen, schema, keyword, it } = cxt; + /* istanbul ignore if */ + if (!Array.isArray(schema)) throw new Error("ajv implementation error"); + const alwaysValid = schema.some((sch) => (0, util_1.alwaysValidSchema)(it, sch)); + if (alwaysValid && !it.opts.unevaluated) return; + const valid = gen.let("valid", false); + const schValid = gen.name("_valid"); + gen.block(() => + schema.forEach((_sch, i) => { + const schCxt = cxt.subschema( + { + keyword, + schemaProp: i, + compositeRule: true, + }, + schValid, + ); + gen.assign(valid, (0, codegen_1._)`${valid} || ${schValid}`); + const merged = cxt.mergeValidEvaluated(schCxt, schValid); + // can short-circuit if `unevaluatedProperties/Items` not supported (opts.unevaluated !== true) + // or if all properties and items were evaluated (it.props === true && it.items === true) + if (!merged) gen.if((0, codegen_1.not)(valid)); + }), + ); + cxt.result( + valid, + () => cxt.reset(), + () => cxt.error(true), + ); + } + exports.validateUnion = validateUnion; + }, + { "../compile/codegen": 49, "../compile/names": 53, "../compile/util": 57 }, + ], + 99: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const def = { + keyword: "id", + code() { + throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID'); + }, + }; + exports.default = def; + }, + {}, + ], + 100: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const id_1 = require("./id"); + const ref_1 = require("./ref"); + const core = [ + "$schema", + "$id", + "$defs", + "$vocabulary", + { keyword: "$comment" }, + "definitions", + id_1.default, + ref_1.default, + ]; + exports.default = core; + }, + { "./id": 99, "./ref": 101 }, + ], + 101: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.callRef = exports.getValidate = void 0; + const ref_error_1 = require("../../compile/ref_error"); + const code_1 = require("../code"); + const codegen_1 = require("../../compile/codegen"); + const names_1 = require("../../compile/names"); + const compile_1 = require("../../compile"); + const util_1 = require("../../compile/util"); + const def = { + keyword: "$ref", + schemaType: "string", + code(cxt) { + const { gen, schema: $ref, it } = cxt; + const { baseId, schemaEnv: env, validateName, opts, self } = it; + const { root } = env; + if (($ref === "#" || $ref === "#/") && baseId === root.baseId) return callRootRef(); + const schOrEnv = compile_1.resolveRef.call(self, root, baseId, $ref); + if (schOrEnv === undefined) throw new ref_error_1.default(it.opts.uriResolver, baseId, $ref); + if (schOrEnv instanceof compile_1.SchemaEnv) return callValidate(schOrEnv); + return inlineRefSchema(schOrEnv); + function callRootRef() { + if (env === root) return callRef(cxt, validateName, env, env.$async); + const rootName = gen.scopeValue("root", { ref: root }); + return callRef(cxt, (0, codegen_1._)`${rootName}.validate`, root, root.$async); + } + function callValidate(sch) { + const v = getValidate(cxt, sch); + callRef(cxt, v, sch, sch.$async); + } + function inlineRefSchema(sch) { + const schName = gen.scopeValue( + "schema", + opts.code.source === true ? { ref: sch, code: (0, codegen_1.stringify)(sch) } : { ref: sch }, + ); + const valid = gen.name("valid"); + const schCxt = cxt.subschema( + { + schema: sch, + dataTypes: [], + schemaPath: codegen_1.nil, + topSchemaRef: schName, + errSchemaPath: $ref, + }, + valid, + ); + cxt.mergeEvaluated(schCxt); + cxt.ok(valid); + } + }, + }; + function getValidate(cxt, sch) { + const { gen } = cxt; + return sch.validate + ? gen.scopeValue("validate", { ref: sch.validate }) + : (0, codegen_1._)`${gen.scopeValue("wrapper", { ref: sch })}.validate`; + } + exports.getValidate = getValidate; + function callRef(cxt, v, sch, $async) { + const { gen, it } = cxt; + const { allErrors, schemaEnv: env, opts } = it; + const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil; + if ($async) callAsyncRef(); + else callSyncRef(); + function callAsyncRef() { + if (!env.$async) throw new Error("async schema referenced by sync schema"); + const valid = gen.let("valid"); + gen.try( + () => { + gen.code((0, codegen_1._)`await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`); + addEvaluatedFrom(v); // TODO will not work with async, it has to be returned with the result + if (!allErrors) gen.assign(valid, true); + }, + (e) => { + gen.if((0, codegen_1._)`!(${e} instanceof ${it.ValidationError})`, () => gen.throw(e)); + addErrorsFrom(e); + if (!allErrors) gen.assign(valid, false); + }, + ); + cxt.ok(valid); + } + function callSyncRef() { + cxt.result( + (0, code_1.callValidateCode)(cxt, v, passCxt), + () => addEvaluatedFrom(v), + () => addErrorsFrom(v), + ); + } + function addErrorsFrom(source) { + const errs = (0, codegen_1._)`${source}.errors`; + gen.assign( + names_1.default.vErrors, + (0, + codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`, + ); // TODO tagged + gen.assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`); + } + function addEvaluatedFrom(source) { + var _a; + if (!it.opts.unevaluated) return; + const schEvaluated = + (_a = sch === null || sch === void 0 ? void 0 : sch.validate) === null || _a === void 0 + ? void 0 + : _a.evaluated; + // TODO refactor + if (it.props !== true) { + if (schEvaluated && !schEvaluated.dynamicProps) { + if (schEvaluated.props !== undefined) { + it.props = util_1.mergeEvaluated.props(gen, schEvaluated.props, it.props); + } + } else { + const props = gen.var("props", (0, codegen_1._)`${source}.evaluated.props`); + it.props = util_1.mergeEvaluated.props(gen, props, it.props, codegen_1.Name); + } + } + if (it.items !== true) { + if (schEvaluated && !schEvaluated.dynamicItems) { + if (schEvaluated.items !== undefined) { + it.items = util_1.mergeEvaluated.items(gen, schEvaluated.items, it.items); + } + } else { + const items = gen.var("items", (0, codegen_1._)`${source}.evaluated.items`); + it.items = util_1.mergeEvaluated.items(gen, items, it.items, codegen_1.Name); + } + } + } } - } - let env; - if (typeof schema != "boolean" && schema.$ref && !(0, util_1.schemaHasRulesButRef)(schema, this.RULES)) { - const $ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schema.$ref); - env = resolveSchema.call(this, root, $ref); - } - // even though resolution failed we need to return SchemaEnv to throw exception - // so that compileAsync loads missing schema. - const { schemaId } = this.opts; - env = env || new SchemaEnv({ schema, schemaId, root, baseId }); - if (env.schema !== env.root.schema) - return env; - return undefined; -} - -},{"../runtime/validation_error":79,"./codegen":49,"./names":53,"./resolve":55,"./util":57,"./validate":62}],53:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("./codegen"); -const names = { - // validation function arguments - data: new codegen_1.Name("data"), - // args passed from referencing schema - valCxt: new codegen_1.Name("valCxt"), - instancePath: new codegen_1.Name("instancePath"), - parentData: new codegen_1.Name("parentData"), - parentDataProperty: new codegen_1.Name("parentDataProperty"), - rootData: new codegen_1.Name("rootData"), - dynamicAnchors: new codegen_1.Name("dynamicAnchors"), - // function scoped variables - vErrors: new codegen_1.Name("vErrors"), - errors: new codegen_1.Name("errors"), - this: new codegen_1.Name("this"), - // "globals" - self: new codegen_1.Name("self"), - scope: new codegen_1.Name("scope"), - // JTD serialize/parse name for JSON string and position - json: new codegen_1.Name("json"), - jsonPos: new codegen_1.Name("jsonPos"), - jsonLen: new codegen_1.Name("jsonLen"), - jsonPart: new codegen_1.Name("jsonPart"), -}; -exports.default = names; - -},{"./codegen":49}],54:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const resolve_1 = require("./resolve"); -class MissingRefError extends Error { - constructor(resolver, baseId, ref, msg) { - super(msg || `can't resolve reference ${ref} from id ${baseId}`); - this.missingRef = (0, resolve_1.resolveUrl)(resolver, baseId, ref); - this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(resolver, this.missingRef)); - } -} -exports.default = MissingRefError; - -},{"./resolve":55}],55:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0; -const util_1 = require("./util"); -const equal = require("fast-deep-equal"); -const traverse = require("json-schema-traverse"); -// TODO refactor to use keyword definitions -const SIMPLE_INLINED = new Set([ - "type", - "format", - "pattern", - "maxLength", - "minLength", - "maxProperties", - "minProperties", - "maxItems", - "minItems", - "maximum", - "minimum", - "uniqueItems", - "multipleOf", - "required", - "enum", - "const", -]); -function inlineRef(schema, limit = true) { - if (typeof schema == "boolean") - return true; - if (limit === true) - return !hasRef(schema); - if (!limit) - return false; - return countKeys(schema) <= limit; -} -exports.inlineRef = inlineRef; -const REF_KEYWORDS = new Set([ - "$ref", - "$recursiveRef", - "$recursiveAnchor", - "$dynamicRef", - "$dynamicAnchor", -]); -function hasRef(schema) { - for (const key in schema) { - if (REF_KEYWORDS.has(key)) - return true; - const sch = schema[key]; - if (Array.isArray(sch) && sch.some(hasRef)) - return true; - if (typeof sch == "object" && hasRef(sch)) - return true; - } - return false; -} -function countKeys(schema) { - let count = 0; - for (const key in schema) { - if (key === "$ref") - return Infinity; - count++; - if (SIMPLE_INLINED.has(key)) - continue; - if (typeof schema[key] == "object") { - (0, util_1.eachItem)(schema[key], (sch) => (count += countKeys(sch))); - } - if (count === Infinity) - return Infinity; - } - return count; -} -function getFullPath(resolver, id = "", normalize) { - if (normalize !== false) - id = normalizeId(id); - const p = resolver.parse(id); - return _getFullPath(resolver, p); -} -exports.getFullPath = getFullPath; -function _getFullPath(resolver, p) { - const serialized = resolver.serialize(p); - return serialized.split("#")[0] + "#"; -} -exports._getFullPath = _getFullPath; -const TRAILING_SLASH_HASH = /#\/?$/; -function normalizeId(id) { - return id ? id.replace(TRAILING_SLASH_HASH, "") : ""; -} -exports.normalizeId = normalizeId; -function resolveUrl(resolver, baseId, id) { - id = normalizeId(id); - return resolver.resolve(baseId, id); -} -exports.resolveUrl = resolveUrl; -const ANCHOR = /^[a-z_][-a-z0-9._]*$/i; -function getSchemaRefs(schema, baseId) { - if (typeof schema == "boolean") - return {}; - const { schemaId, uriResolver } = this.opts; - const schId = normalizeId(schema[schemaId] || baseId); - const baseIds = { "": schId }; - const pathPrefix = getFullPath(uriResolver, schId, false); - const localRefs = {}; - const schemaRefs = new Set(); - traverse(schema, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => { - if (parentJsonPtr === undefined) - return; - const fullPath = pathPrefix + jsonPtr; - let baseId = baseIds[parentJsonPtr]; - if (typeof sch[schemaId] == "string") - baseId = addRef.call(this, sch[schemaId]); - addAnchor.call(this, sch.$anchor); - addAnchor.call(this, sch.$dynamicAnchor); - baseIds[jsonPtr] = baseId; - function addRef(ref) { - // eslint-disable-next-line @typescript-eslint/unbound-method - const _resolve = this.opts.uriResolver.resolve; - ref = normalizeId(baseId ? _resolve(baseId, ref) : ref); - if (schemaRefs.has(ref)) - throw ambiguos(ref); - schemaRefs.add(ref); - let schOrRef = this.refs[ref]; - if (typeof schOrRef == "string") - schOrRef = this.refs[schOrRef]; - if (typeof schOrRef == "object") { - checkAmbiguosRef(sch, schOrRef.schema, ref); + exports.callRef = callRef; + exports.default = def; + }, + { + "../../compile": 52, + "../../compile/codegen": 49, + "../../compile/names": 53, + "../../compile/ref_error": 54, + "../../compile/util": 57, + "../code": 98, + }, + ], + 102: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const types_1 = require("../discriminator/types"); + const compile_1 = require("../../compile"); + const util_1 = require("../../compile/util"); + const error = { + message: ({ params: { discrError, tagName } }) => + discrError === types_1.DiscrError.Tag + ? `tag "${tagName}" must be string` + : `value of tag "${tagName}" must be in oneOf`, + params: ({ params: { discrError, tag, tagName } }) => + (0, codegen_1._)`{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`, + }; + const def = { + keyword: "discriminator", + type: "object", + schemaType: "object", + error, + code(cxt) { + const { gen, data, schema, parentSchema, it } = cxt; + const { oneOf } = parentSchema; + if (!it.opts.discriminator) { + throw new Error("discriminator: requires discriminator option"); } - else if (ref !== normalizeId(fullPath)) { - if (ref[0] === "#") { - checkAmbiguosRef(sch, localRefs[ref], ref); - localRefs[ref] = sch; + const tagName = schema.propertyName; + if (typeof tagName != "string") throw new Error("discriminator: requires propertyName"); + if (schema.mapping) throw new Error("discriminator: mapping is not supported"); + if (!oneOf) throw new Error("discriminator: requires oneOf keyword"); + const valid = gen.let("valid", false); + const tag = gen.const("tag", (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(tagName)}`); + gen.if( + (0, codegen_1._)`typeof ${tag} == "string"`, + () => validateMapping(), + () => cxt.error(false, { discrError: types_1.DiscrError.Tag, tag, tagName }), + ); + cxt.ok(valid); + function validateMapping() { + const mapping = getMapping(); + gen.if(false); + for (const tagValue in mapping) { + gen.elseIf((0, codegen_1._)`${tag} === ${tagValue}`); + gen.assign(valid, applyTagSchema(mapping[tagValue])); + } + gen.else(); + cxt.error(false, { discrError: types_1.DiscrError.Mapping, tag, tagName }); + gen.endIf(); + } + function applyTagSchema(schemaProp) { + const _valid = gen.name("valid"); + const schCxt = cxt.subschema({ keyword: "oneOf", schemaProp }, _valid); + cxt.mergeEvaluated(schCxt, codegen_1.Name); + return _valid; + } + function getMapping() { + var _a; + const oneOfMapping = {}; + const topRequired = hasRequired(parentSchema); + let tagRequired = true; + for (let i = 0; i < oneOf.length; i++) { + let sch = oneOf[i]; + if ( + (sch === null || sch === void 0 ? void 0 : sch.$ref) && + !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES) + ) { + sch = compile_1.resolveRef.call( + it.self, + it.schemaEnv.root, + it.baseId, + sch === null || sch === void 0 ? void 0 : sch.$ref, + ); + if (sch instanceof compile_1.SchemaEnv) sch = sch.schema; + } + const propSch = + (_a = sch === null || sch === void 0 ? void 0 : sch.properties) === null || _a === void 0 + ? void 0 + : _a[tagName]; + if (typeof propSch != "object") { + throw new Error( + `discriminator: oneOf subschemas (or referenced schemas) must have "properties/${tagName}"`, + ); + } + tagRequired = tagRequired && (topRequired || hasRequired(sch)); + addMappings(propSch, i); + } + if (!tagRequired) throw new Error(`discriminator: "${tagName}" must be required`); + return oneOfMapping; + function hasRequired({ required }) { + return Array.isArray(required) && required.includes(tagName); + } + function addMappings(sch, i) { + if (sch.const) { + addMapping(sch.const, i); + } else if (sch.enum) { + for (const tagValue of sch.enum) { + addMapping(tagValue, i); + } + } else { + throw new Error(`discriminator: "properties/${tagName}" must have "const" or "enum"`); } - else { - this.refs[ref] = fullPath; + } + function addMapping(tagValue, i) { + if (typeof tagValue != "string" || tagValue in oneOfMapping) { + throw new Error(`discriminator: "${tagName}" values must be unique strings`); } + oneOfMapping[tagValue] = i; + } } - return ref; - } - function addAnchor(anchor) { - if (typeof anchor == "string") { - if (!ANCHOR.test(anchor)) - throw new Error(`invalid anchor "${anchor}"`); - addRef.call(this, `#${anchor}`); + }, + }; + exports.default = def; + }, + { "../../compile": 52, "../../compile/codegen": 49, "../../compile/util": 57, "../discriminator/types": 103 }, + ], + 103: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DiscrError = void 0; + var DiscrError; + (function (DiscrError) { + DiscrError["Tag"] = "tag"; + DiscrError["Mapping"] = "mapping"; + })((DiscrError = exports.DiscrError || (exports.DiscrError = {}))); + }, + {}, + ], + 104: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const core_1 = require("./core"); + const validation_1 = require("./validation"); + const applicator_1 = require("./applicator"); + const dynamic_1 = require("./dynamic"); + const next_1 = require("./next"); + const unevaluated_1 = require("./unevaluated"); + const format_1 = require("./format"); + const metadata_1 = require("./metadata"); + const draft2020Vocabularies = [ + dynamic_1.default, + core_1.default, + validation_1.default, + (0, applicator_1.default)(true), + format_1.default, + metadata_1.metadataVocabulary, + metadata_1.contentVocabulary, + next_1.default, + unevaluated_1.default, + ]; + exports.default = draft2020Vocabularies; + }, + { + "./applicator": 88, + "./core": 100, + "./dynamic": 107, + "./format": 111, + "./metadata": 112, + "./next": 113, + "./unevaluated": 114, + "./validation": 120, + }, + ], + 105: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.dynamicAnchor = void 0; + const codegen_1 = require("../../compile/codegen"); + const names_1 = require("../../compile/names"); + const compile_1 = require("../../compile"); + const ref_1 = require("../core/ref"); + const def = { + keyword: "$dynamicAnchor", + schemaType: "string", + code: (cxt) => dynamicAnchor(cxt, cxt.schema), + }; + function dynamicAnchor(cxt, anchor) { + const { gen, it } = cxt; + it.schemaEnv.root.dynamicAnchors[anchor] = true; + const v = (0, codegen_1._)`${names_1.default.dynamicAnchors}${(0, codegen_1.getProperty)(anchor)}`; + const validate = it.errSchemaPath === "#" ? it.validateName : _getValidate(cxt); + gen.if((0, codegen_1._)`!${v}`, () => gen.assign(v, validate)); + } + exports.dynamicAnchor = dynamicAnchor; + function _getValidate(cxt) { + const { schemaEnv, schema, self } = cxt.it; + const { root, baseId, localRefs, meta } = schemaEnv.root; + const { schemaId } = self.opts; + const sch = new compile_1.SchemaEnv({ schema, schemaId, root, baseId, localRefs, meta }); + compile_1.compileSchema.call(self, sch); + return (0, ref_1.getValidate)(cxt, sch); + } + exports.default = def; + }, + { "../../compile": 52, "../../compile/codegen": 49, "../../compile/names": 53, "../core/ref": 101 }, + ], + 106: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.dynamicRef = void 0; + const codegen_1 = require("../../compile/codegen"); + const names_1 = require("../../compile/names"); + const ref_1 = require("../core/ref"); + const def = { + keyword: "$dynamicRef", + schemaType: "string", + code: (cxt) => dynamicRef(cxt, cxt.schema), + }; + function dynamicRef(cxt, ref) { + const { gen, keyword, it } = cxt; + if (ref[0] !== "#") throw new Error(`"${keyword}" only supports hash fragment reference`); + const anchor = ref.slice(1); + if (it.allErrors) { + _dynamicRef(); + } else { + const valid = gen.let("valid", false); + _dynamicRef(valid); + cxt.ok(valid); + } + function _dynamicRef(valid) { + // TODO the assumption here is that `recursiveRef: #` always points to the root + // of the schema object, which is not correct, because there may be $id that + // makes # point to it, and the target schema may not contain dynamic/recursiveAnchor. + // Because of that 2 tests in recursiveRef.json fail. + // This is a similar problem to #815 (`$id` doesn't alter resolution scope for `{ "$ref": "#" }`). + // (This problem is not tested in JSON-Schema-Test-Suite) + if (it.schemaEnv.root.dynamicAnchors[anchor]) { + const v = gen.let( + "_v", + (0, codegen_1._)`${names_1.default.dynamicAnchors}${(0, codegen_1.getProperty)(anchor)}`, + ); + gen.if(v, _callRef(v, valid), _callRef(it.validateName, valid)); + } else { + _callRef(it.validateName, valid)(); } + } + function _callRef(validate, valid) { + return valid + ? () => + gen.block(() => { + (0, ref_1.callRef)(cxt, validate); + gen.let(valid, true); + }) + : () => (0, ref_1.callRef)(cxt, validate); + } } - }); - return localRefs; - function checkAmbiguosRef(sch1, sch2, ref) { - if (sch2 !== undefined && !equal(sch1, sch2)) - throw ambiguos(ref); - } - function ambiguos(ref) { - return new Error(`reference "${ref}" resolves to more than one schema`); - } -} -exports.getSchemaRefs = getSchemaRefs; - -},{"./util":57,"fast-deep-equal":136,"json-schema-traverse":171}],56:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getRules = exports.isJSONType = void 0; -const _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array"]; -const jsonTypes = new Set(_jsonTypes); -function isJSONType(x) { - return typeof x == "string" && jsonTypes.has(x); -} -exports.isJSONType = isJSONType; -function getRules() { - const groups = { - number: { type: "number", rules: [] }, - string: { type: "string", rules: [] }, - array: { type: "array", rules: [] }, - object: { type: "object", rules: [] }, - }; - return { - types: { ...groups, integer: true, boolean: true, null: true }, - rules: [{ rules: [] }, groups.number, groups.string, groups.array, groups.object], - post: { rules: [] }, - all: {}, - keywords: {}, - }; -} -exports.getRules = getRules; - -},{}],57:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0; -const codegen_1 = require("./codegen"); -const code_1 = require("./codegen/code"); -// TODO refactor to use Set -function toHash(arr) { - const hash = {}; - for (const item of arr) - hash[item] = true; - return hash; -} -exports.toHash = toHash; -function alwaysValidSchema(it, schema) { - if (typeof schema == "boolean") - return schema; - if (Object.keys(schema).length === 0) - return true; - checkUnknownRules(it, schema); - return !schemaHasRules(schema, it.self.RULES.all); -} -exports.alwaysValidSchema = alwaysValidSchema; -function checkUnknownRules(it, schema = it.schema) { - const { opts, self } = it; - if (!opts.strictSchema) - return; - if (typeof schema === "boolean") - return; - const rules = self.RULES.keywords; - for (const key in schema) { - if (!rules[key]) - checkStrictMode(it, `unknown keyword: "${key}"`); - } -} -exports.checkUnknownRules = checkUnknownRules; -function schemaHasRules(schema, rules) { - if (typeof schema == "boolean") - return !schema; - for (const key in schema) - if (rules[key]) - return true; - return false; -} -exports.schemaHasRules = schemaHasRules; -function schemaHasRulesButRef(schema, RULES) { - if (typeof schema == "boolean") - return !schema; - for (const key in schema) - if (key !== "$ref" && RULES.all[key]) - return true; - return false; -} -exports.schemaHasRulesButRef = schemaHasRulesButRef; -function schemaRefOrVal({ topSchemaRef, schemaPath }, schema, keyword, $data) { - if (!$data) { - if (typeof schema == "number" || typeof schema == "boolean") - return schema; - if (typeof schema == "string") - return (0, codegen_1._) `${schema}`; - } - return (0, codegen_1._) `${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`; -} -exports.schemaRefOrVal = schemaRefOrVal; -function unescapeFragment(str) { - return unescapeJsonPointer(decodeURIComponent(str)); -} -exports.unescapeFragment = unescapeFragment; -function escapeFragment(str) { - return encodeURIComponent(escapeJsonPointer(str)); -} -exports.escapeFragment = escapeFragment; -function escapeJsonPointer(str) { - if (typeof str == "number") - return `${str}`; - return str.replace(/~/g, "~0").replace(/\//g, "~1"); -} -exports.escapeJsonPointer = escapeJsonPointer; -function unescapeJsonPointer(str) { - return str.replace(/~1/g, "/").replace(/~0/g, "~"); -} -exports.unescapeJsonPointer = unescapeJsonPointer; -function eachItem(xs, f) { - if (Array.isArray(xs)) { - for (const x of xs) - f(x); - } - else { - f(xs); - } -} -exports.eachItem = eachItem; -function makeMergeEvaluated({ mergeNames, mergeToName, mergeValues, resultToName, }) { - return (gen, from, to, toName) => { - const res = to === undefined - ? from - : to instanceof codegen_1.Name - ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to) - : from instanceof codegen_1.Name - ? (mergeToName(gen, to, from), from) - : mergeValues(from, to); - return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res; - }; -} -exports.mergeEvaluated = { - props: makeMergeEvaluated({ - mergeNames: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true && ${from} !== undefined`, () => { - gen.if((0, codegen_1._) `${from} === true`, () => gen.assign(to, true), () => gen.assign(to, (0, codegen_1._) `${to} || {}`).code((0, codegen_1._) `Object.assign(${to}, ${from})`)); - }), - mergeToName: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true`, () => { - if (from === true) { - gen.assign(to, true); + exports.dynamicRef = dynamicRef; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/names": 53, "../core/ref": 101 }, + ], + 107: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const dynamicAnchor_1 = require("./dynamicAnchor"); + const dynamicRef_1 = require("./dynamicRef"); + const recursiveAnchor_1 = require("./recursiveAnchor"); + const recursiveRef_1 = require("./recursiveRef"); + const dynamic = [ + dynamicAnchor_1.default, + dynamicRef_1.default, + recursiveAnchor_1.default, + recursiveRef_1.default, + ]; + exports.default = dynamic; + }, + { "./dynamicAnchor": 105, "./dynamicRef": 106, "./recursiveAnchor": 108, "./recursiveRef": 109 }, + ], + 108: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const dynamicAnchor_1 = require("./dynamicAnchor"); + const util_1 = require("../../compile/util"); + const def = { + keyword: "$recursiveAnchor", + schemaType: "boolean", + code(cxt) { + if (cxt.schema) (0, dynamicAnchor_1.dynamicAnchor)(cxt, ""); + else (0, util_1.checkStrictMode)(cxt.it, "$recursiveAnchor: false is ignored"); + }, + }; + exports.default = def; + }, + { "../../compile/util": 57, "./dynamicAnchor": 105 }, + ], + 109: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const dynamicRef_1 = require("./dynamicRef"); + const def = { + keyword: "$recursiveRef", + schemaType: "string", + code: (cxt) => (0, dynamicRef_1.dynamicRef)(cxt, cxt.schema), + }; + exports.default = def; + }, + { "./dynamicRef": 106 }, + ], + 110: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const error = { + message: ({ schemaCode }) => (0, codegen_1.str)`must match format "${schemaCode}"`, + params: ({ schemaCode }) => (0, codegen_1._)`{format: ${schemaCode}}`, + }; + const def = { + keyword: "format", + type: ["number", "string"], + schemaType: "string", + $data: true, + error, + code(cxt, ruleType) { + const { gen, data, $data, schema, schemaCode, it } = cxt; + const { opts, errSchemaPath, schemaEnv, self } = it; + if (!opts.validateFormats) return; + if ($data) validate$DataFormat(); + else validateFormat(); + function validate$DataFormat() { + const fmts = gen.scopeValue("formats", { + ref: self.formats, + code: opts.code.formats, + }); + const fDef = gen.const("fDef", (0, codegen_1._)`${fmts}[${schemaCode}]`); + const fType = gen.let("fType"); + const format = gen.let("format"); + // TODO simplify + gen.if( + (0, codegen_1._)`typeof ${fDef} == "object" && !(${fDef} instanceof RegExp)`, + () => + gen + .assign(fType, (0, codegen_1._)`${fDef}.type || "string"`) + .assign(format, (0, codegen_1._)`${fDef}.validate`), + () => gen.assign(fType, (0, codegen_1._)`"string"`).assign(format, fDef), + ); + cxt.fail$data((0, codegen_1.or)(unknownFmt(), invalidFmt())); + function unknownFmt() { + if (opts.strictSchema === false) return codegen_1.nil; + return (0, codegen_1._)`${schemaCode} && !${format}`; + } + function invalidFmt() { + const callFormat = schemaEnv.$async + ? (0, codegen_1._)`(${fDef}.async ? await ${format}(${data}) : ${format}(${data}))` + : (0, codegen_1._)`${format}(${data})`; + const validData = (0, + codegen_1._)`(typeof ${format} == "function" ? ${callFormat} : ${format}.test(${data}))`; + return (0, codegen_1._)`${format} && ${format} !== true && ${fType} === ${ruleType} && !${validData}`; + } } - else { - gen.assign(to, (0, codegen_1._) `${to} || {}`); - setEvaluated(gen, to, from); - } - }), - mergeValues: (from, to) => (from === true ? true : { ...from, ...to }), - resultToName: evaluatedPropsToName, - }), - items: makeMergeEvaluated({ - mergeNames: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true && ${from} !== undefined`, () => gen.assign(to, (0, codegen_1._) `${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)), - mergeToName: (gen, from, to) => gen.if((0, codegen_1._) `${to} !== true`, () => gen.assign(to, from === true ? true : (0, codegen_1._) `${to} > ${from} ? ${to} : ${from}`)), - mergeValues: (from, to) => (from === true ? true : Math.max(from, to)), - resultToName: (gen, items) => gen.var("items", items), - }), -}; -function evaluatedPropsToName(gen, ps) { - if (ps === true) - return gen.var("props", true); - const props = gen.var("props", (0, codegen_1._) `{}`); - if (ps !== undefined) - setEvaluated(gen, props, ps); - return props; -} -exports.evaluatedPropsToName = evaluatedPropsToName; -function setEvaluated(gen, props, ps) { - Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._) `${props}${(0, codegen_1.getProperty)(p)}`, true)); -} -exports.setEvaluated = setEvaluated; -const snippets = {}; -function useFunc(gen, f) { - return gen.scopeValue("func", { - ref: f, - code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code)), - }); -} -exports.useFunc = useFunc; -var Type; -(function (Type) { - Type[Type["Num"] = 0] = "Num"; - Type[Type["Str"] = 1] = "Str"; -})(Type = exports.Type || (exports.Type = {})); -function getErrorPath(dataProp, dataPropType, jsPropertySyntax) { - // let path - if (dataProp instanceof codegen_1.Name) { - const isNumber = dataPropType === Type.Num; - return jsPropertySyntax - ? isNumber - ? (0, codegen_1._) `"[" + ${dataProp} + "]"` - : (0, codegen_1._) `"['" + ${dataProp} + "']"` - : isNumber - ? (0, codegen_1._) `"/" + ${dataProp}` - : (0, codegen_1._) `"/" + ${dataProp}.replace(/~/g, "~0").replace(/\\//g, "~1")`; // TODO maybe use global escapePointer - } - return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : "/" + escapeJsonPointer(dataProp); -} -exports.getErrorPath = getErrorPath; -function checkStrictMode(it, msg, mode = it.opts.strictSchema) { - if (!mode) - return; - msg = `strict mode: ${msg}`; - if (mode === true) - throw new Error(msg); - it.self.logger.warn(msg); -} -exports.checkStrictMode = checkStrictMode; - -},{"./codegen":49,"./codegen/code":48}],58:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0; -function schemaHasRulesForType({ schema, self }, type) { - const group = self.RULES.types[type]; - return group && group !== true && shouldUseGroup(schema, group); -} -exports.schemaHasRulesForType = schemaHasRulesForType; -function shouldUseGroup(schema, group) { - return group.rules.some((rule) => shouldUseRule(schema, rule)); -} -exports.shouldUseGroup = shouldUseGroup; -function shouldUseRule(schema, rule) { - var _a; - return (schema[rule.keyword] !== undefined || - ((_a = rule.definition.implements) === null || _a === void 0 ? void 0 : _a.some((kwd) => schema[kwd] !== undefined))); -} -exports.shouldUseRule = shouldUseRule; - -},{}],59:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0; -const errors_1 = require("../errors"); -const codegen_1 = require("../codegen"); -const names_1 = require("../names"); -const boolError = { - message: "boolean schema is false", -}; -function topBoolOrEmptySchema(it) { - const { gen, schema, validateName } = it; - if (schema === false) { - falseSchemaError(it, false); - } - else if (typeof schema == "object" && schema.$async === true) { - gen.return(names_1.default.data); - } - else { - gen.assign((0, codegen_1._) `${validateName}.errors`, null); - gen.return(true); - } -} -exports.topBoolOrEmptySchema = topBoolOrEmptySchema; -function boolOrEmptySchema(it, valid) { - const { gen, schema } = it; - if (schema === false) { - gen.var(valid, false); // TODO var - falseSchemaError(it); - } - else { - gen.var(valid, true); // TODO var - } -} -exports.boolOrEmptySchema = boolOrEmptySchema; -function falseSchemaError(it, overrideAllErrors) { - const { gen, data } = it; - // TODO maybe some other interface should be used for non-keyword validation errors... - const cxt = { - gen, - keyword: "false schema", - data, - schema: false, - schemaCode: false, - schemaValue: false, - params: {}, - it, - }; - (0, errors_1.reportError)(cxt, boolError, undefined, overrideAllErrors); -} - -},{"../codegen":49,"../errors":51,"../names":53}],60:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0; -const rules_1 = require("../rules"); -const applicability_1 = require("./applicability"); -const errors_1 = require("../errors"); -const codegen_1 = require("../codegen"); -const util_1 = require("../util"); -var DataType; -(function (DataType) { - DataType[DataType["Correct"] = 0] = "Correct"; - DataType[DataType["Wrong"] = 1] = "Wrong"; -})(DataType = exports.DataType || (exports.DataType = {})); -function getSchemaTypes(schema) { - const types = getJSONTypes(schema.type); - const hasNull = types.includes("null"); - if (hasNull) { - if (schema.nullable === false) - throw new Error("type: null contradicts nullable: false"); - } - else { - if (!types.length && schema.nullable !== undefined) { - throw new Error('"nullable" cannot be used without "type"'); - } - if (schema.nullable === true) - types.push("null"); - } - return types; -} -exports.getSchemaTypes = getSchemaTypes; -function getJSONTypes(ts) { - const types = Array.isArray(ts) ? ts : ts ? [ts] : []; - if (types.every(rules_1.isJSONType)) - return types; - throw new Error("type must be JSONType or JSONType[]: " + types.join(",")); -} -exports.getJSONTypes = getJSONTypes; -function coerceAndCheckDataType(it, types) { - const { gen, data, opts } = it; - const coerceTo = coerceToTypes(types, opts.coerceTypes); - const checkTypes = types.length > 0 && - !(coerceTo.length === 0 && types.length === 1 && (0, applicability_1.schemaHasRulesForType)(it, types[0])); - if (checkTypes) { - const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong); - gen.if(wrongType, () => { - if (coerceTo.length) - coerceData(it, types, coerceTo); - else - reportTypeError(it); - }); - } - return checkTypes; -} -exports.coerceAndCheckDataType = coerceAndCheckDataType; -const COERCIBLE = new Set(["string", "number", "integer", "boolean", "null"]); -function coerceToTypes(types, coerceTypes) { - return coerceTypes - ? types.filter((t) => COERCIBLE.has(t) || (coerceTypes === "array" && t === "array")) - : []; -} -function coerceData(it, types, coerceTo) { - const { gen, data, opts } = it; - const dataType = gen.let("dataType", (0, codegen_1._) `typeof ${data}`); - const coerced = gen.let("coerced", (0, codegen_1._) `undefined`); - if (opts.coerceTypes === "array") { - gen.if((0, codegen_1._) `${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () => gen - .assign(data, (0, codegen_1._) `${data}[0]`) - .assign(dataType, (0, codegen_1._) `typeof ${data}`) - .if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data))); - } - gen.if((0, codegen_1._) `${coerced} !== undefined`); - for (const t of coerceTo) { - if (COERCIBLE.has(t) || (t === "array" && opts.coerceTypes === "array")) { - coerceSpecificType(t); - } - } - gen.else(); - reportTypeError(it); - gen.endIf(); - gen.if((0, codegen_1._) `${coerced} !== undefined`, () => { - gen.assign(data, coerced); - assignParentData(it, coerced); - }); - function coerceSpecificType(t) { - switch (t) { - case "string": - gen - .elseIf((0, codegen_1._) `${dataType} == "number" || ${dataType} == "boolean"`) - .assign(coerced, (0, codegen_1._) `"" + ${data}`) - .elseIf((0, codegen_1._) `${data} === null`) - .assign(coerced, (0, codegen_1._) `""`); - return; - case "number": - gen - .elseIf((0, codegen_1._) `${dataType} == "boolean" || ${data} === null - || (${dataType} == "string" && ${data} && ${data} == +${data})`) - .assign(coerced, (0, codegen_1._) `+${data}`); - return; - case "integer": - gen - .elseIf((0, codegen_1._) `${dataType} === "boolean" || ${data} === null - || (${dataType} === "string" && ${data} && ${data} == +${data} && !(${data} % 1))`) - .assign(coerced, (0, codegen_1._) `+${data}`); - return; - case "boolean": - gen - .elseIf((0, codegen_1._) `${data} === "false" || ${data} === 0 || ${data} === null`) - .assign(coerced, false) - .elseIf((0, codegen_1._) `${data} === "true" || ${data} === 1`) - .assign(coerced, true); - return; - case "null": - gen.elseIf((0, codegen_1._) `${data} === "" || ${data} === 0 || ${data} === false`); - gen.assign(coerced, null); + function validateFormat() { + const formatDef = self.formats[schema]; + if (!formatDef) { + unknownFormat(); return; - case "array": - gen - .elseIf((0, codegen_1._) `${dataType} === "string" || ${dataType} === "number" - || ${dataType} === "boolean" || ${data} === null`) - .assign(coerced, (0, codegen_1._) `[${data}]`); - } - } -} -function assignParentData({ gen, parentData, parentDataProperty }, expr) { - // TODO use gen.property - gen.if((0, codegen_1._) `${parentData} !== undefined`, () => gen.assign((0, codegen_1._) `${parentData}[${parentDataProperty}]`, expr)); -} -function checkDataType(dataType, data, strictNums, correct = DataType.Correct) { - const EQ = correct === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ; - let cond; - switch (dataType) { - case "null": - return (0, codegen_1._) `${data} ${EQ} null`; - case "array": - cond = (0, codegen_1._) `Array.isArray(${data})`; - break; - case "object": - cond = (0, codegen_1._) `${data} && typeof ${data} == "object" && !Array.isArray(${data})`; - break; - case "integer": - cond = numCond((0, codegen_1._) `!(${data} % 1) && !isNaN(${data})`); - break; - case "number": - cond = numCond(); - break; - default: - return (0, codegen_1._) `typeof ${data} ${EQ} ${dataType}`; - } - return correct === DataType.Correct ? cond : (0, codegen_1.not)(cond); - function numCond(_cond = codegen_1.nil) { - return (0, codegen_1.and)((0, codegen_1._) `typeof ${data} == "number"`, _cond, strictNums ? (0, codegen_1._) `isFinite(${data})` : codegen_1.nil); - } -} -exports.checkDataType = checkDataType; -function checkDataTypes(dataTypes, data, strictNums, correct) { - if (dataTypes.length === 1) { - return checkDataType(dataTypes[0], data, strictNums, correct); - } - let cond; - const types = (0, util_1.toHash)(dataTypes); - if (types.array && types.object) { - const notObj = (0, codegen_1._) `typeof ${data} != "object"`; - cond = types.null ? notObj : (0, codegen_1._) `!${data} || ${notObj}`; - delete types.null; - delete types.array; - delete types.object; - } - else { - cond = codegen_1.nil; - } - if (types.number) - delete types.integer; - for (const t in types) - cond = (0, codegen_1.and)(cond, checkDataType(t, data, strictNums, correct)); - return cond; -} -exports.checkDataTypes = checkDataTypes; -const typeError = { - message: ({ schema }) => `must be ${schema}`, - params: ({ schema, schemaValue }) => typeof schema == "string" ? (0, codegen_1._) `{type: ${schema}}` : (0, codegen_1._) `{type: ${schemaValue}}`, -}; -function reportTypeError(it) { - const cxt = getTypeErrorContext(it); - (0, errors_1.reportError)(cxt, typeError); -} -exports.reportTypeError = reportTypeError; -function getTypeErrorContext(it) { - const { gen, data, schema } = it; - const schemaCode = (0, util_1.schemaRefOrVal)(it, schema, "type"); - return { - gen, - keyword: "type", - data, - schema: schema.type, - schemaCode, - schemaValue: schemaCode, - parentSchema: schema, - params: {}, - it, - }; -} - -},{"../codegen":49,"../errors":51,"../rules":56,"../util":57,"./applicability":58}],61:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.assignDefaults = void 0; -const codegen_1 = require("../codegen"); -const util_1 = require("../util"); -function assignDefaults(it, ty) { - const { properties, items } = it.schema; - if (ty === "object" && properties) { - for (const key in properties) { - assignDefault(it, key, properties[key].default); - } - } - else if (ty === "array" && Array.isArray(items)) { - items.forEach((sch, i) => assignDefault(it, i, sch.default)); - } -} -exports.assignDefaults = assignDefaults; -function assignDefault(it, prop, defaultValue) { - const { gen, compositeRule, data, opts } = it; - if (defaultValue === undefined) - return; - const childData = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(prop)}`; - if (compositeRule) { - (0, util_1.checkStrictMode)(it, `default is ignored for: ${childData}`); - return; - } - let condition = (0, codegen_1._) `${childData} === undefined`; - if (opts.useDefaults === "empty") { - condition = (0, codegen_1._) `${condition} || ${childData} === null || ${childData} === ""`; - } - // `${childData} === undefined` + - // (opts.useDefaults === "empty" ? ` || ${childData} === null || ${childData} === ""` : "") - gen.if(condition, (0, codegen_1._) `${childData} = ${(0, codegen_1.stringify)(defaultValue)}`); -} - -},{"../codegen":49,"../util":57}],62:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0; -const boolSchema_1 = require("./boolSchema"); -const dataType_1 = require("./dataType"); -const applicability_1 = require("./applicability"); -const dataType_2 = require("./dataType"); -const defaults_1 = require("./defaults"); -const keyword_1 = require("./keyword"); -const subschema_1 = require("./subschema"); -const codegen_1 = require("../codegen"); -const names_1 = require("../names"); -const resolve_1 = require("../resolve"); -const util_1 = require("../util"); -const errors_1 = require("../errors"); -// schema compilation - generates validation function, subschemaCode (below) is used for subschemas -function validateFunctionCode(it) { - if (isSchemaObj(it)) { - checkKeywords(it); - if (schemaCxtHasRules(it)) { - topSchemaObjCode(it); - return; - } - } - validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it)); -} -exports.validateFunctionCode = validateFunctionCode; -function validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) { - if (opts.code.es5) { - gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => { - gen.code((0, codegen_1._) `"use strict"; ${funcSourceUrl(schema, opts)}`); - destructureValCxtES5(gen, opts); - gen.code(body); - }); - } - else { - gen.func(validateName, (0, codegen_1._) `${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema, opts)).code(body)); - } -} -function destructureValCxt(opts) { - return (0, codegen_1._) `{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._) `, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`; -} -function destructureValCxtES5(gen, opts) { - gen.if(names_1.default.valCxt, () => { - gen.var(names_1.default.instancePath, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.instancePath}`); - gen.var(names_1.default.parentData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentData}`); - gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.parentDataProperty}`); - gen.var(names_1.default.rootData, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.rootData}`); - if (opts.dynamicRef) - gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`); - }, () => { - gen.var(names_1.default.instancePath, (0, codegen_1._) `""`); - gen.var(names_1.default.parentData, (0, codegen_1._) `undefined`); - gen.var(names_1.default.parentDataProperty, (0, codegen_1._) `undefined`); - gen.var(names_1.default.rootData, names_1.default.data); - if (opts.dynamicRef) - gen.var(names_1.default.dynamicAnchors, (0, codegen_1._) `{}`); - }); -} -function topSchemaObjCode(it) { - const { schema, opts, gen } = it; - validateFunction(it, () => { - if (opts.$comment && schema.$comment) - commentKeyword(it); - checkNoDefault(it); - gen.let(names_1.default.vErrors, null); - gen.let(names_1.default.errors, 0); - if (opts.unevaluated) - resetEvaluated(it); - typeAndKeywords(it); - returnResults(it); - }); - return; -} -function resetEvaluated(it) { - // TODO maybe some hook to execute it in the end to check whether props/items are Name, as in assignEvaluated - const { gen, validateName } = it; - it.evaluated = gen.const("evaluated", (0, codegen_1._) `${validateName}.evaluated`); - gen.if((0, codegen_1._) `${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._) `${it.evaluated}.props`, (0, codegen_1._) `undefined`)); - gen.if((0, codegen_1._) `${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._) `${it.evaluated}.items`, (0, codegen_1._) `undefined`)); -} -function funcSourceUrl(schema, opts) { - const schId = typeof schema == "object" && schema[opts.schemaId]; - return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._) `/*# sourceURL=${schId} */` : codegen_1.nil; -} -// schema compilation - this function is used recursively to generate code for sub-schemas -function subschemaCode(it, valid) { - if (isSchemaObj(it)) { - checkKeywords(it); - if (schemaCxtHasRules(it)) { - subSchemaObjCode(it, valid); - return; - } - } - (0, boolSchema_1.boolOrEmptySchema)(it, valid); -} -function schemaCxtHasRules({ schema, self }) { - if (typeof schema == "boolean") - return !schema; - for (const key in schema) - if (self.RULES.all[key]) - return true; - return false; -} -function isSchemaObj(it) { - return typeof it.schema != "boolean"; -} -function subSchemaObjCode(it, valid) { - const { schema, gen, opts } = it; - if (opts.$comment && schema.$comment) - commentKeyword(it); - updateContext(it); - checkAsyncSchema(it); - const errsCount = gen.const("_errs", names_1.default.errors); - typeAndKeywords(it, errsCount); - // TODO var - gen.var(valid, (0, codegen_1._) `${errsCount} === ${names_1.default.errors}`); -} -function checkKeywords(it) { - (0, util_1.checkUnknownRules)(it); - checkRefsAndKeywords(it); -} -function typeAndKeywords(it, errsCount) { - if (it.opts.jtd) - return schemaKeywords(it, [], false, errsCount); - const types = (0, dataType_1.getSchemaTypes)(it.schema); - const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types); - schemaKeywords(it, types, !checkedTypes, errsCount); -} -function checkRefsAndKeywords(it) { - const { schema, errSchemaPath, opts, self } = it; - if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) { - self.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`); - } -} -function checkNoDefault(it) { - const { schema, opts } = it; - if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) { - (0, util_1.checkStrictMode)(it, "default is ignored in the schema root"); - } -} -function updateContext(it) { - const schId = it.schema[it.opts.schemaId]; - if (schId) - it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId); -} -function checkAsyncSchema(it) { - if (it.schema.$async && !it.schemaEnv.$async) - throw new Error("async schema in sync schema"); -} -function commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) { - const msg = schema.$comment; - if (opts.$comment === true) { - gen.code((0, codegen_1._) `${names_1.default.self}.logger.log(${msg})`); - } - else if (typeof opts.$comment == "function") { - const schemaPath = (0, codegen_1.str) `${errSchemaPath}/$comment`; - const rootName = gen.scopeValue("root", { ref: schemaEnv.root }); - gen.code((0, codegen_1._) `${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`); - } -} -function returnResults(it) { - const { gen, schemaEnv, validateName, ValidationError, opts } = it; - if (schemaEnv.$async) { - // TODO assign unevaluated - gen.if((0, codegen_1._) `${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._) `new ${ValidationError}(${names_1.default.vErrors})`)); - } - else { - gen.assign((0, codegen_1._) `${validateName}.errors`, names_1.default.vErrors); - if (opts.unevaluated) - assignEvaluated(it); - gen.return((0, codegen_1._) `${names_1.default.errors} === 0`); - } -} -function assignEvaluated({ gen, evaluated, props, items }) { - if (props instanceof codegen_1.Name) - gen.assign((0, codegen_1._) `${evaluated}.props`, props); - if (items instanceof codegen_1.Name) - gen.assign((0, codegen_1._) `${evaluated}.items`, items); -} -function schemaKeywords(it, types, typeErrors, errsCount) { - const { gen, schema, data, allErrors, opts, self } = it; - const { RULES } = self; - if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) { - gen.block(() => keywordCode(it, "$ref", RULES.all.$ref.definition)); // TODO typecast - return; - } - if (!opts.jtd) - checkStrictTypes(it, types); - gen.block(() => { - for (const group of RULES.rules) - groupKeywords(group); - groupKeywords(RULES.post); - }); - function groupKeywords(group) { - if (!(0, applicability_1.shouldUseGroup)(schema, group)) - return; - if (group.type) { - gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers)); - iterateKeywords(it, group); - if (types.length === 1 && types[0] === group.type && typeErrors) { - gen.else(); - (0, dataType_2.reportTypeError)(it); + } + if (formatDef === true) return; + const [fmtType, format, fmtRef] = getFormat(formatDef); + if (fmtType === ruleType) cxt.pass(validCondition()); + function unknownFormat() { + if (opts.strictSchema === false) { + self.logger.warn(unknownMsg()); + return; + } + throw new Error(unknownMsg()); + function unknownMsg() { + return `unknown format "${schema}" ignored in schema at path "${errSchemaPath}"`; + } + } + function getFormat(fmtDef) { + const code = + fmtDef instanceof RegExp + ? (0, codegen_1.regexpCode)(fmtDef) + : opts.code.formats + ? (0, codegen_1._)`${opts.code.formats}${(0, codegen_1.getProperty)(schema)}` + : undefined; + const fmt = gen.scopeValue("formats", { key: schema, ref: fmtDef, code }); + if (typeof fmtDef == "object" && !(fmtDef instanceof RegExp)) { + return [fmtDef.type || "string", fmtDef.validate, (0, codegen_1._)`${fmt}.validate`]; + } + return ["string", fmtDef, fmt]; + } + function validCondition() { + if (typeof formatDef == "object" && !(formatDef instanceof RegExp) && formatDef.async) { + if (!schemaEnv.$async) throw new Error("async format in sync schema"); + return (0, codegen_1._)`await ${fmtRef}(${data})`; + } + return typeof format == "function" + ? (0, codegen_1._)`${fmtRef}(${data})` + : (0, codegen_1._)`${fmtRef}.test(${data})`; + } } - gen.endIf(); - } - else { - iterateKeywords(it, group); - } - // TODO make it "ok" call? - if (!allErrors) - gen.if((0, codegen_1._) `${names_1.default.errors} === ${errsCount || 0}`); - } -} -function iterateKeywords(it, group) { - const { gen, schema, opts: { useDefaults }, } = it; - if (useDefaults) - (0, defaults_1.assignDefaults)(it, group.type); - gen.block(() => { - for (const rule of group.rules) { - if ((0, applicability_1.shouldUseRule)(schema, rule)) { - keywordCode(it, rule.keyword, rule.definition, group.type); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49 }, + ], + 111: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const format_1 = require("./format"); + const format = [format_1.default]; + exports.default = format; + }, + { "./format": 110 }, + ], + 112: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.contentVocabulary = exports.metadataVocabulary = void 0; + exports.metadataVocabulary = [ + "title", + "description", + "default", + "deprecated", + "readOnly", + "writeOnly", + "examples", + ]; + exports.contentVocabulary = ["contentMediaType", "contentEncoding", "contentSchema"]; + }, + {}, + ], + 113: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const dependentRequired_1 = require("./validation/dependentRequired"); + const dependentSchemas_1 = require("./applicator/dependentSchemas"); + const limitContains_1 = require("./validation/limitContains"); + const next = [dependentRequired_1.default, dependentSchemas_1.default, limitContains_1.default]; + exports.default = next; + }, + { "./applicator/dependentSchemas": 86, "./validation/dependentRequired": 118, "./validation/limitContains": 121 }, + ], + 114: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const unevaluatedProperties_1 = require("./unevaluatedProperties"); + const unevaluatedItems_1 = require("./unevaluatedItems"); + const unevaluated = [unevaluatedProperties_1.default, unevaluatedItems_1.default]; + exports.default = unevaluated; + }, + { "./unevaluatedItems": 115, "./unevaluatedProperties": 116 }, + ], + 115: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const error = { + message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`, + params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}`, + }; + const def = { + keyword: "unevaluatedItems", + type: "array", + schemaType: ["boolean", "object"], + error, + code(cxt) { + const { gen, schema, data, it } = cxt; + const items = it.items || 0; + if (items === true) return; + const len = gen.const("len", (0, codegen_1._)`${data}.length`); + if (schema === false) { + cxt.setParams({ len: items }); + cxt.fail((0, codegen_1._)`${len} > ${items}`); + } else if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) { + const valid = gen.var("valid", (0, codegen_1._)`${len} <= ${items}`); + gen.if((0, codegen_1.not)(valid), () => validateItems(valid, items)); + cxt.ok(valid); } - } - }); -} -function checkStrictTypes(it, types) { - if (it.schemaEnv.meta || !it.opts.strictTypes) - return; - checkContextTypes(it, types); - if (!it.opts.allowUnionTypes) - checkMultipleTypes(it, types); - checkKeywordTypes(it, it.dataTypes); -} -function checkContextTypes(it, types) { - if (!types.length) - return; - if (!it.dataTypes.length) { - it.dataTypes = types; - return; - } - types.forEach((t) => { - if (!includesType(it.dataTypes, t)) { - strictTypesError(it, `type "${t}" not allowed by context "${it.dataTypes.join(",")}"`); - } - }); - it.dataTypes = it.dataTypes.filter((t) => includesType(types, t)); -} -function checkMultipleTypes(it, ts) { - if (ts.length > 1 && !(ts.length === 2 && ts.includes("null"))) { - strictTypesError(it, "use allowUnionTypes to allow union type keyword"); - } -} -function checkKeywordTypes(it, ts) { - const rules = it.self.RULES.all; - for (const keyword in rules) { - const rule = rules[keyword]; - if (typeof rule == "object" && (0, applicability_1.shouldUseRule)(it.schema, rule)) { - const { type } = rule.definition; - if (type.length && !type.some((t) => hasApplicableType(ts, t))) { - strictTypesError(it, `missing type "${type.join(",")}" for keyword "${keyword}"`); + it.items = true; + function validateItems(valid, from) { + gen.forRange("i", from, len, (i) => { + cxt.subschema({ keyword: "unevaluatedItems", dataProp: i, dataPropType: util_1.Type.Num }, valid); + if (!it.allErrors) gen.if((0, codegen_1.not)(valid), () => gen.break()); + }); } - } - } -} -function hasApplicableType(schTs, kwdT) { - return schTs.includes(kwdT) || (kwdT === "number" && schTs.includes("integer")); -} -function includesType(ts, t) { - return ts.includes(t) || (t === "integer" && ts.includes("number")); -} -function strictTypesError(it, msg) { - const schemaPath = it.schemaEnv.baseId + it.errSchemaPath; - msg += ` at "${schemaPath}" (strictTypes)`; - (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes); -} -class KeywordCxt { - constructor(it, def, keyword) { - (0, keyword_1.validateKeywordUsage)(it, def, keyword); - this.gen = it.gen; - this.allErrors = it.allErrors; - this.keyword = keyword; - this.data = it.data; - this.schema = it.schema[keyword]; - this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data; - this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data); - this.schemaType = def.schemaType; - this.parentSchema = it.schema; - this.params = {}; - this.it = it; - this.def = def; - if (this.$data) { - this.schemaCode = it.gen.const("vSchema", getData(this.$data, it)); - } - else { - this.schemaCode = this.schemaValue; - if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) { - throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57 }, + ], + 116: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const names_1 = require("../../compile/names"); + const error = { + message: "must NOT have unevaluated properties", + params: ({ params }) => (0, codegen_1._)`{unevaluatedProperty: ${params.unevaluatedProperty}}`, + }; + const def = { + keyword: "unevaluatedProperties", + type: "object", + schemaType: ["boolean", "object"], + trackErrors: true, + error, + code(cxt) { + const { gen, schema, data, errsCount, it } = cxt; + /* istanbul ignore if */ + if (!errsCount) throw new Error("ajv implementation error"); + const { allErrors, props } = it; + if (props instanceof codegen_1.Name) { + gen.if((0, codegen_1._)`${props} !== true`, () => + gen.forIn("key", data, (key) => gen.if(unevaluatedDynamic(props, key), () => unevaluatedPropCode(key))), + ); + } else if (props !== true) { + gen.forIn("key", data, (key) => + props === undefined + ? unevaluatedPropCode(key) + : gen.if(unevaluatedStatic(props, key), () => unevaluatedPropCode(key)), + ); } - } - if ("code" in def ? def.trackErrors : def.errors !== false) { - this.errsCount = it.gen.const("_errs", names_1.default.errors); - } - } - result(condition, successAction, failAction) { - this.failResult((0, codegen_1.not)(condition), successAction, failAction); - } - failResult(condition, successAction, failAction) { - this.gen.if(condition); - if (failAction) - failAction(); - else - this.error(); - if (successAction) { - this.gen.else(); - successAction(); - if (this.allErrors) - this.gen.endIf(); - } - else { - if (this.allErrors) - this.gen.endIf(); - else - this.gen.else(); - } - } - pass(condition, failAction) { - this.failResult((0, codegen_1.not)(condition), undefined, failAction); - } - fail(condition) { - if (condition === undefined) { - this.error(); - if (!this.allErrors) - this.gen.if(false); // this branch will be removed by gen.optimize - return; - } - this.gen.if(condition); - this.error(); - if (this.allErrors) - this.gen.endIf(); - else - this.gen.else(); - } - fail$data(condition) { - if (!this.$data) - return this.fail(condition); - const { schemaCode } = this; - this.fail((0, codegen_1._) `${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`); - } - error(append, errorParams, errorPaths) { - if (errorParams) { - this.setParams(errorParams); - this._error(append, errorPaths); - this.setParams({}); - return; - } - this._error(append, errorPaths); - } - _error(append, errorPaths) { - ; - (append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths); - } - $dataError() { - (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError); - } - reset() { - if (this.errsCount === undefined) - throw new Error('add "trackErrors" to keyword definition'); - (0, errors_1.resetErrorsCount)(this.gen, this.errsCount); - } - ok(cond) { - if (!this.allErrors) - this.gen.if(cond); - } - setParams(obj, assign) { - if (assign) - Object.assign(this.params, obj); - else - this.params = obj; - } - block$data(valid, codeBlock, $dataValid = codegen_1.nil) { - this.gen.block(() => { - this.check$data(valid, $dataValid); - codeBlock(); - }); - } - check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) { - if (!this.$data) - return; - const { gen, schemaCode, schemaType, def } = this; - gen.if((0, codegen_1.or)((0, codegen_1._) `${schemaCode} === undefined`, $dataValid)); - if (valid !== codegen_1.nil) - gen.assign(valid, true); - if (schemaType.length || def.validateSchema) { - gen.elseIf(this.invalid$data()); - this.$dataError(); - if (valid !== codegen_1.nil) - gen.assign(valid, false); - } - gen.else(); - } - invalid$data() { - const { gen, schemaCode, schemaType, def, it } = this; - return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema()); - function wrong$DataType() { - if (schemaType.length) { - /* istanbul ignore if */ - if (!(schemaCode instanceof codegen_1.Name)) - throw new Error("ajv implementation error"); - const st = Array.isArray(schemaType) ? schemaType : [schemaType]; - return (0, codegen_1._) `${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`; + it.props = true; + cxt.ok((0, codegen_1._)`${errsCount} === ${names_1.default.errors}`); + function unevaluatedPropCode(key) { + if (schema === false) { + cxt.setParams({ unevaluatedProperty: key }); + cxt.error(); + if (!allErrors) gen.break(); + return; + } + if (!(0, util_1.alwaysValidSchema)(it, schema)) { + const valid = gen.name("valid"); + cxt.subschema( + { + keyword: "unevaluatedProperties", + dataProp: key, + dataPropType: util_1.Type.Str, + }, + valid, + ); + if (!allErrors) gen.if((0, codegen_1.not)(valid), () => gen.break()); + } } - return codegen_1.nil; - } - function invalid$DataSchema() { - if (def.validateSchema) { - const validateSchemaRef = gen.scopeValue("validate$data", { ref: def.validateSchema }); // TODO value.code for standalone - return (0, codegen_1._) `!${validateSchemaRef}(${schemaCode})`; + function unevaluatedDynamic(evaluatedProps, key) { + return (0, codegen_1._)`!${evaluatedProps} || !${evaluatedProps}[${key}]`; } - return codegen_1.nil; - } - } - subschema(appl, valid) { - const subschema = (0, subschema_1.getSubschema)(this.it, appl); - (0, subschema_1.extendSubschemaData)(subschema, this.it, appl); - (0, subschema_1.extendSubschemaMode)(subschema, appl); - const nextContext = { ...this.it, ...subschema, items: undefined, props: undefined }; - subschemaCode(nextContext, valid); - return nextContext; - } - mergeEvaluated(schemaCxt, toName) { - const { it, gen } = this; - if (!it.opts.unevaluated) - return; - if (it.props !== true && schemaCxt.props !== undefined) { - it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName); - } - if (it.items !== true && schemaCxt.items !== undefined) { - it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName); - } - } - mergeValidEvaluated(schemaCxt, valid) { - const { it, gen } = this; - if (it.opts.unevaluated && (it.props !== true || it.items !== true)) { - gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name)); - return true; - } - } -} -exports.KeywordCxt = KeywordCxt; -function keywordCode(it, keyword, def, ruleType) { - const cxt = new KeywordCxt(it, def, keyword); - if ("code" in def) { - def.code(cxt, ruleType); - } - else if (cxt.$data && def.validate) { - (0, keyword_1.funcKeywordCode)(cxt, def); - } - else if ("macro" in def) { - (0, keyword_1.macroKeywordCode)(cxt, def); - } - else if (def.compile || def.validate) { - (0, keyword_1.funcKeywordCode)(cxt, def); - } -} -const JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/; -const RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/; -function getData($data, { dataLevel, dataNames, dataPathArr }) { - let jsonPointer; - let data; - if ($data === "") - return names_1.default.rootData; - if ($data[0] === "/") { - if (!JSON_POINTER.test($data)) - throw new Error(`Invalid JSON-pointer: ${$data}`); - jsonPointer = $data; - data = names_1.default.rootData; - } - else { - const matches = RELATIVE_JSON_POINTER.exec($data); - if (!matches) - throw new Error(`Invalid JSON-pointer: ${$data}`); - const up = +matches[1]; - jsonPointer = matches[2]; - if (jsonPointer === "#") { - if (up >= dataLevel) - throw new Error(errorMsg("property/index", up)); - return dataPathArr[dataLevel - up]; - } - if (up > dataLevel) - throw new Error(errorMsg("data", up)); - data = dataNames[dataLevel - up]; - if (!jsonPointer) - return data; - } - let expr = data; - const segments = jsonPointer.split("/"); - for (const segment of segments) { - if (segment) { - data = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`; - expr = (0, codegen_1._) `${expr} && ${data}`; - } - } - return expr; - function errorMsg(pointerType, up) { - return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`; - } -} -exports.getData = getData; - -},{"../codegen":49,"../errors":51,"../names":53,"../resolve":55,"../util":57,"./applicability":58,"./boolSchema":59,"./dataType":60,"./defaults":61,"./keyword":63,"./subschema":64}],63:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0; -const codegen_1 = require("../codegen"); -const names_1 = require("../names"); -const code_1 = require("../../vocabularies/code"); -const errors_1 = require("../errors"); -function macroKeywordCode(cxt, def) { - const { gen, keyword, schema, parentSchema, it } = cxt; - const macroSchema = def.macro.call(it.self, schema, parentSchema, it); - const schemaRef = useKeyword(gen, keyword, macroSchema); - if (it.opts.validateSchema !== false) - it.self.validateSchema(macroSchema, true); - const valid = gen.name("valid"); - cxt.subschema({ - schema: macroSchema, - schemaPath: codegen_1.nil, - errSchemaPath: `${it.errSchemaPath}/${keyword}`, - topSchemaRef: schemaRef, - compositeRule: true, - }, valid); - cxt.pass(valid, () => cxt.error(true)); -} -exports.macroKeywordCode = macroKeywordCode; -function funcKeywordCode(cxt, def) { - var _a; - const { gen, keyword, schema, parentSchema, $data, it } = cxt; - checkAsyncKeyword(it, def); - const validate = !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate; - const validateRef = useKeyword(gen, keyword, validate); - const valid = gen.let("valid"); - cxt.block$data(valid, validateKeyword); - cxt.ok((_a = def.valid) !== null && _a !== void 0 ? _a : valid); - function validateKeyword() { - if (def.errors === false) { - assignValid(); - if (def.modifying) - modifyData(cxt); - reportErrs(() => cxt.error()); - } - else { - const ruleErrs = def.async ? validateAsync() : validateSync(); - if (def.modifying) - modifyData(cxt); - reportErrs(() => addErrs(cxt, ruleErrs)); - } - } - function validateAsync() { - const ruleErrs = gen.let("ruleErrs", null); - gen.try(() => assignValid((0, codegen_1._) `await `), (e) => gen.assign(valid, false).if((0, codegen_1._) `${e} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._) `${e}.errors`), () => gen.throw(e))); - return ruleErrs; - } - function validateSync() { - const validateErrs = (0, codegen_1._) `${validateRef}.errors`; - gen.assign(validateErrs, null); - assignValid(codegen_1.nil); - return validateErrs; - } - function assignValid(_await = def.async ? (0, codegen_1._) `await ` : codegen_1.nil) { - const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self; - const passSchema = !(("compile" in def && !$data) || def.schema === false); - gen.assign(valid, (0, codegen_1._) `${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying); - } - function reportErrs(errors) { - var _a; - gen.if((0, codegen_1.not)((_a = def.valid) !== null && _a !== void 0 ? _a : valid), errors); - } -} -exports.funcKeywordCode = funcKeywordCode; -function modifyData(cxt) { - const { gen, data, it } = cxt; - gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._) `${it.parentData}[${it.parentDataProperty}]`)); -} -function addErrs(cxt, errs) { - const { gen } = cxt; - gen.if((0, codegen_1._) `Array.isArray(${errs})`, () => { - gen - .assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`) - .assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`); - (0, errors_1.extendErrors)(cxt); - }, () => cxt.error()); -} -function checkAsyncKeyword({ schemaEnv }, def) { - if (def.async && !schemaEnv.$async) - throw new Error("async keyword in sync schema"); -} -function useKeyword(gen, keyword, result) { - if (result === undefined) - throw new Error(`keyword "${keyword}" failed to compile`); - return gen.scopeValue("keyword", typeof result == "function" ? { ref: result } : { ref: result, code: (0, codegen_1.stringify)(result) }); -} -function validSchemaType(schema, schemaType, allowUndefined = false) { - // TODO add tests - return (!schemaType.length || - schemaType.some((st) => st === "array" - ? Array.isArray(schema) - : st === "object" - ? schema && typeof schema == "object" && !Array.isArray(schema) - : typeof schema == st || (allowUndefined && typeof schema == "undefined"))); -} -exports.validSchemaType = validSchemaType; -function validateKeywordUsage({ schema, opts, self, errSchemaPath }, def, keyword) { - /* istanbul ignore if */ - if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) { - throw new Error("ajv implementation error"); - } - const deps = def.dependencies; - if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) { - throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(",")}`); - } - if (def.validateSchema) { - const valid = def.validateSchema(schema[keyword]); - if (!valid) { - const msg = `keyword "${keyword}" value is invalid at path "${errSchemaPath}": ` + - self.errorsText(def.validateSchema.errors); - if (opts.validateSchema === "log") - self.logger.error(msg); - else - throw new Error(msg); - } - } -} -exports.validateKeywordUsage = validateKeywordUsage; - -},{"../../vocabularies/code":98,"../codegen":49,"../errors":51,"../names":53}],64:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0; -const codegen_1 = require("../codegen"); -const util_1 = require("../util"); -function getSubschema(it, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }) { - if (keyword !== undefined && schema !== undefined) { - throw new Error('both "keyword" and "schema" passed, only one allowed'); - } - if (keyword !== undefined) { - const sch = it.schema[keyword]; - return schemaProp === undefined - ? { - schema: sch, - schemaPath: (0, codegen_1._) `${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`, - errSchemaPath: `${it.errSchemaPath}/${keyword}`, - } - : { - schema: sch[schemaProp], - schemaPath: (0, codegen_1._) `${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`, - errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}`, - }; - } - if (schema !== undefined) { - if (schemaPath === undefined || errSchemaPath === undefined || topSchemaRef === undefined) { - throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"'); - } - return { - schema, - schemaPath, - topSchemaRef, - errSchemaPath, + function unevaluatedStatic(evaluatedProps, key) { + const ps = []; + for (const p in evaluatedProps) { + if (evaluatedProps[p] === true) ps.push((0, codegen_1._)`${key} !== ${p}`); + } + return (0, codegen_1.and)(...ps); + } + }, }; - } - throw new Error('either "keyword" or "schema" must be passed'); -} -exports.getSubschema = getSubschema; -function extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) { - if (data !== undefined && dataProp !== undefined) { - throw new Error('both "data" and "dataProp" passed, only one allowed'); - } - const { gen } = it; - if (dataProp !== undefined) { - const { errorPath, dataPathArr, opts } = it; - const nextData = gen.let("data", (0, codegen_1._) `${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true); - dataContextProps(nextData); - subschema.errorPath = (0, codegen_1.str) `${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`; - subschema.parentDataProperty = (0, codegen_1._) `${dataProp}`; - subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty]; - } - if (data !== undefined) { - const nextData = data instanceof codegen_1.Name ? data : gen.let("data", data, true); // replaceable if used once? - dataContextProps(nextData); - if (propertyName !== undefined) - subschema.propertyName = propertyName; - // TODO something is possibly wrong here with not changing parentDataProperty and not appending dataPathArr - } - if (dataTypes) - subschema.dataTypes = dataTypes; - function dataContextProps(_nextData) { - subschema.data = _nextData; - subschema.dataLevel = it.dataLevel + 1; - subschema.dataTypes = []; - it.definedProperties = new Set(); - subschema.parentData = it.data; - subschema.dataNames = [...it.dataNames, _nextData]; - } -} -exports.extendSubschemaData = extendSubschemaData; -function extendSubschemaMode(subschema, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }) { - if (compositeRule !== undefined) - subschema.compositeRule = compositeRule; - if (createErrors !== undefined) - subschema.createErrors = createErrors; - if (allErrors !== undefined) - subschema.allErrors = allErrors; - subschema.jtdDiscriminator = jtdDiscriminator; // not inherited - subschema.jtdMetadata = jtdMetadata; // not inherited -} -exports.extendSubschemaMode = extendSubschemaMode; - -},{"../codegen":49,"../util":57}],65:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0; -var validate_1 = require("./compile/validate"); -Object.defineProperty(exports, "KeywordCxt", { enumerable: true, get: function () { return validate_1.KeywordCxt; } }); -var codegen_1 = require("./compile/codegen"); -Object.defineProperty(exports, "_", { enumerable: true, get: function () { return codegen_1._; } }); -Object.defineProperty(exports, "str", { enumerable: true, get: function () { return codegen_1.str; } }); -Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return codegen_1.stringify; } }); -Object.defineProperty(exports, "nil", { enumerable: true, get: function () { return codegen_1.nil; } }); -Object.defineProperty(exports, "Name", { enumerable: true, get: function () { return codegen_1.Name; } }); -Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function () { return codegen_1.CodeGen; } }); -const validation_error_1 = require("./runtime/validation_error"); -const ref_error_1 = require("./compile/ref_error"); -const rules_1 = require("./compile/rules"); -const compile_1 = require("./compile"); -const codegen_2 = require("./compile/codegen"); -const resolve_1 = require("./compile/resolve"); -const dataType_1 = require("./compile/validate/dataType"); -const util_1 = require("./compile/util"); -const $dataRefSchema = require("./refs/data.json"); -const uri_1 = require("./runtime/uri"); -const defaultRegExp = (str, flags) => new RegExp(str, flags); -defaultRegExp.code = "new RegExp"; -const META_IGNORE_OPTIONS = ["removeAdditional", "useDefaults", "coerceTypes"]; -const EXT_SCOPE_NAMES = new Set([ - "validate", - "serialize", - "parse", - "wrapper", - "root", - "schema", - "keyword", - "pattern", - "formats", - "validate$data", - "func", - "obj", - "Error", -]); -const removedOptions = { - errorDataPath: "", - format: "`validateFormats: false` can be used instead.", - nullable: '"nullable" keyword is supported by default.', - jsonPointers: "Deprecated jsPropertySyntax can be used instead.", - extendRefs: "Deprecated ignoreKeywordsWithRef can be used instead.", - missingRefs: "Pass empty schema with $id that should be ignored to ajv.addSchema.", - processCode: "Use option `code: {process: (code, schemaEnv: object) => string}`", - sourceCode: "Use option `code: {source: true}`", - strictDefaults: "It is default now, see option `strict`.", - strictKeywords: "It is default now, see option `strict`.", - uniqueItems: '"uniqueItems" keyword is always validated.', - unknownFormats: "Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).", - cache: "Map is used as cache, schema object as key.", - serialize: "Map is used as cache, schema object as key.", - ajvErrors: "It is default now.", -}; -const deprecatedOptions = { - ignoreKeywordsWithRef: "", - jsPropertySyntax: "", - unicode: '"minLength"/"maxLength" account for unicode characters by default.', -}; -const MAX_EXPRESSION = 200; -// eslint-disable-next-line complexity -function requiredOptions(o) { - var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0; - const s = o.strict; - const _optz = (_a = o.code) === null || _a === void 0 ? void 0 : _a.optimize; - const optimize = _optz === true || _optz === undefined ? 1 : _optz || 0; - const regExp = (_c = (_b = o.code) === null || _b === void 0 ? void 0 : _b.regExp) !== null && _c !== void 0 ? _c : defaultRegExp; - const uriResolver = (_d = o.uriResolver) !== null && _d !== void 0 ? _d : uri_1.default; - return { - strictSchema: (_f = (_e = o.strictSchema) !== null && _e !== void 0 ? _e : s) !== null && _f !== void 0 ? _f : true, - strictNumbers: (_h = (_g = o.strictNumbers) !== null && _g !== void 0 ? _g : s) !== null && _h !== void 0 ? _h : true, - strictTypes: (_k = (_j = o.strictTypes) !== null && _j !== void 0 ? _j : s) !== null && _k !== void 0 ? _k : "log", - strictTuples: (_m = (_l = o.strictTuples) !== null && _l !== void 0 ? _l : s) !== null && _m !== void 0 ? _m : "log", - strictRequired: (_p = (_o = o.strictRequired) !== null && _o !== void 0 ? _o : s) !== null && _p !== void 0 ? _p : false, - code: o.code ? { ...o.code, optimize, regExp } : { optimize, regExp }, - loopRequired: (_q = o.loopRequired) !== null && _q !== void 0 ? _q : MAX_EXPRESSION, - loopEnum: (_r = o.loopEnum) !== null && _r !== void 0 ? _r : MAX_EXPRESSION, - meta: (_s = o.meta) !== null && _s !== void 0 ? _s : true, - messages: (_t = o.messages) !== null && _t !== void 0 ? _t : true, - inlineRefs: (_u = o.inlineRefs) !== null && _u !== void 0 ? _u : true, - schemaId: (_v = o.schemaId) !== null && _v !== void 0 ? _v : "$id", - addUsedSchema: (_w = o.addUsedSchema) !== null && _w !== void 0 ? _w : true, - validateSchema: (_x = o.validateSchema) !== null && _x !== void 0 ? _x : true, - validateFormats: (_y = o.validateFormats) !== null && _y !== void 0 ? _y : true, - unicodeRegExp: (_z = o.unicodeRegExp) !== null && _z !== void 0 ? _z : true, - int32range: (_0 = o.int32range) !== null && _0 !== void 0 ? _0 : true, - uriResolver: uriResolver, - }; -} -class Ajv { - constructor(opts = {}) { - this.schemas = {}; - this.refs = {}; - this.formats = {}; - this._compilations = new Set(); - this._loading = {}; - this._cache = new Map(); - opts = this.opts = { ...opts, ...requiredOptions(opts) }; - const { es5, lines } = this.opts.code; - this.scope = new codegen_2.ValueScope({ scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines }); - this.logger = getLogger(opts.logger); - const formatOpt = opts.validateFormats; - opts.validateFormats = false; - this.RULES = (0, rules_1.getRules)(); - checkOptions.call(this, removedOptions, opts, "NOT SUPPORTED"); - checkOptions.call(this, deprecatedOptions, opts, "DEPRECATED", "warn"); - this._metaOpts = getMetaSchemaOptions.call(this); - if (opts.formats) - addInitialFormats.call(this); - this._addVocabularies(); - this._addDefaultMetaSchema(); - if (opts.keywords) - addInitialKeywords.call(this, opts.keywords); - if (typeof opts.meta == "object") - this.addMetaSchema(opts.meta); - addInitialSchemas.call(this); - opts.validateFormats = formatOpt; - } - _addVocabularies() { - this.addKeyword("$async"); - } - _addDefaultMetaSchema() { - const { $data, meta, schemaId } = this.opts; - let _dataRefSchema = $dataRefSchema; - if (schemaId === "id") { - _dataRefSchema = { ...$dataRefSchema }; - _dataRefSchema.id = _dataRefSchema.$id; - delete _dataRefSchema.$id; - } - if (meta && $data) - this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false); - } - defaultMeta() { - const { meta, schemaId } = this.opts; - return (this.opts.defaultMeta = typeof meta == "object" ? meta[schemaId] || meta : undefined); - } - validate(schemaKeyRef, // key, ref or schema object - data // to be validated - ) { - let v; - if (typeof schemaKeyRef == "string") { - v = this.getSchema(schemaKeyRef); - if (!v) - throw new Error(`no schema with key or ref "${schemaKeyRef}"`); - } - else { - v = this.compile(schemaKeyRef); - } - const valid = v(data); - if (!("$async" in v)) - this.errors = v.errors; - return valid; - } - compile(schema, _meta) { - const sch = this._addSchema(schema, _meta); - return (sch.validate || this._compileSchemaEnv(sch)); - } - compileAsync(schema, meta) { - if (typeof this.opts.loadSchema != "function") { - throw new Error("options.loadSchema should be a function"); - } - const { loadSchema } = this.opts; - return runCompileAsync.call(this, schema, meta); - async function runCompileAsync(_schema, _meta) { - await loadMetaSchema.call(this, _schema.$schema); - const sch = this._addSchema(_schema, _meta); - return sch.validate || _compileAsync.call(this, sch); - } - async function loadMetaSchema($ref) { - if ($ref && !this.getSchema($ref)) { - await runCompileAsync.call(this, { $ref }, true); + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/names": 53, "../../compile/util": 57 }, + ], + 117: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const equal_1 = require("../../runtime/equal"); + const error = { + message: "must be equal to constant", + params: ({ schemaCode }) => (0, codegen_1._)`{allowedValue: ${schemaCode}}`, + }; + const def = { + keyword: "const", + $data: true, + error, + code(cxt) { + const { gen, data, $data, schemaCode, schema } = cxt; + if ($data || (schema && typeof schema == "object")) { + cxt.fail$data((0, codegen_1._)`!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`); + } else { + cxt.fail((0, codegen_1._)`${schema} !== ${data}`); + } + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../../runtime/equal": 76 }, + ], + 118: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const dependencies_1 = require("../applicator/dependencies"); + const def = { + keyword: "dependentRequired", + type: "object", + schemaType: "object", + error: dependencies_1.error, + code: (cxt) => (0, dependencies_1.validatePropertyDeps)(cxt), + }; + exports.default = def; + }, + { "../applicator/dependencies": 85 }, + ], + 119: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const equal_1 = require("../../runtime/equal"); + const error = { + message: "must be equal to one of the allowed values", + params: ({ schemaCode }) => (0, codegen_1._)`{allowedValues: ${schemaCode}}`, + }; + const def = { + keyword: "enum", + schemaType: "array", + $data: true, + error, + code(cxt) { + const { gen, data, $data, schema, schemaCode, it } = cxt; + if (!$data && schema.length === 0) throw new Error("enum must have non-empty array"); + const useLoop = schema.length >= it.opts.loopEnum; + let eql; + const getEql = () => + eql !== null && eql !== void 0 ? eql : (eql = (0, util_1.useFunc)(gen, equal_1.default)); + let valid; + if (useLoop || $data) { + valid = gen.let("valid"); + cxt.block$data(valid, loopEnum); + } else { + /* istanbul ignore if */ + if (!Array.isArray(schema)) throw new Error("ajv implementation error"); + const vSchema = gen.const("vSchema", schemaCode); + valid = (0, codegen_1.or)(...schema.map((_x, i) => equalCode(vSchema, i))); } - } - async function _compileAsync(sch) { - try { - return this._compileSchemaEnv(sch); + cxt.pass(valid); + function loopEnum() { + gen.assign(valid, false); + gen.forOf("v", schemaCode, (v) => + gen.if((0, codegen_1._)`${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break()), + ); } - catch (e) { - if (!(e instanceof ref_error_1.default)) - throw e; - checkLoaded.call(this, e); - await loadMissingSchema.call(this, e.missingSchema); - return _compileAsync.call(this, sch); + function equalCode(vSchema, i) { + const sch = schema[i]; + return typeof sch === "object" && sch !== null + ? (0, codegen_1._)`${getEql()}(${data}, ${vSchema}[${i}])` + : (0, codegen_1._)`${data} === ${sch}`; } - } - function checkLoaded({ missingSchema: ref, missingRef }) { - if (this.refs[ref]) { - throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../../runtime/equal": 76 }, + ], + 120: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const limitNumber_1 = require("./limitNumber"); + const multipleOf_1 = require("./multipleOf"); + const limitLength_1 = require("./limitLength"); + const pattern_1 = require("./pattern"); + const limitProperties_1 = require("./limitProperties"); + const required_1 = require("./required"); + const limitItems_1 = require("./limitItems"); + const uniqueItems_1 = require("./uniqueItems"); + const const_1 = require("./const"); + const enum_1 = require("./enum"); + const validation = [ + // number + limitNumber_1.default, + multipleOf_1.default, + // string + limitLength_1.default, + pattern_1.default, + // object + limitProperties_1.default, + required_1.default, + // array + limitItems_1.default, + uniqueItems_1.default, + // any + { keyword: "type", schemaType: ["string", "array"] }, + { keyword: "nullable", schemaType: "boolean" }, + const_1.default, + enum_1.default, + ]; + exports.default = validation; + }, + { + "./const": 117, + "./enum": 119, + "./limitItems": 122, + "./limitLength": 123, + "./limitNumber": 124, + "./limitProperties": 125, + "./multipleOf": 126, + "./pattern": 127, + "./required": 128, + "./uniqueItems": 129, + }, + ], + 121: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const util_1 = require("../../compile/util"); + const def = { + keyword: ["maxContains", "minContains"], + type: "array", + schemaType: "number", + code({ keyword, parentSchema, it }) { + if (parentSchema.contains === undefined) { + (0, util_1.checkStrictMode)(it, `"${keyword}" without "contains" is ignored`); } - } - async function loadMissingSchema(ref) { - const _schema = await _loadSchema.call(this, ref); - if (!this.refs[ref]) - await loadMetaSchema.call(this, _schema.$schema); - if (!this.refs[ref]) - this.addSchema(_schema, ref, meta); - } - async function _loadSchema(ref) { - const p = this._loading[ref]; - if (p) - return p; - try { - return await (this._loading[ref] = loadSchema(ref)); + }, + }; + exports.default = def; + }, + { "../../compile/util": 57 }, + ], + 122: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const error = { + message({ keyword, schemaCode }) { + const comp = keyword === "maxItems" ? "more" : "fewer"; + return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} items`; + }, + params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}`, + }; + const def = { + keyword: ["maxItems", "minItems"], + type: "array", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { keyword, data, schemaCode } = cxt; + const op = keyword === "maxItems" ? codegen_1.operators.GT : codegen_1.operators.LT; + cxt.fail$data((0, codegen_1._)`${data}.length ${op} ${schemaCode}`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49 }, + ], + 123: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const ucs2length_1 = require("../../runtime/ucs2length"); + const error = { + message({ keyword, schemaCode }) { + const comp = keyword === "maxLength" ? "more" : "fewer"; + return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} characters`; + }, + params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}`, + }; + const def = { + keyword: ["maxLength", "minLength"], + type: "string", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { keyword, data, schemaCode, it } = cxt; + const op = keyword === "maxLength" ? codegen_1.operators.GT : codegen_1.operators.LT; + const len = + it.opts.unicode === false + ? (0, codegen_1._)`${data}.length` + : (0, codegen_1._)`${(0, util_1.useFunc)(cxt.gen, ucs2length_1.default)}(${data})`; + cxt.fail$data((0, codegen_1._)`${len} ${op} ${schemaCode}`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../../runtime/ucs2length": 77 }, + ], + 124: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const ops = codegen_1.operators; + const KWDs = { + maximum: { okStr: "<=", ok: ops.LTE, fail: ops.GT }, + minimum: { okStr: ">=", ok: ops.GTE, fail: ops.LT }, + exclusiveMaximum: { okStr: "<", ok: ops.LT, fail: ops.GTE }, + exclusiveMinimum: { okStr: ">", ok: ops.GT, fail: ops.LTE }, + }; + const error = { + message: ({ keyword, schemaCode }) => (0, codegen_1.str)`must be ${KWDs[keyword].okStr} ${schemaCode}`, + params: ({ keyword, schemaCode }) => + (0, codegen_1._)`{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`, + }; + const def = { + keyword: Object.keys(KWDs), + type: "number", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { keyword, data, schemaCode } = cxt; + cxt.fail$data((0, codegen_1._)`${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49 }, + ], + 125: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const error = { + message({ keyword, schemaCode }) { + const comp = keyword === "maxProperties" ? "more" : "fewer"; + return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} properties`; + }, + params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}`, + }; + const def = { + keyword: ["maxProperties", "minProperties"], + type: "object", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { keyword, data, schemaCode } = cxt; + const op = keyword === "maxProperties" ? codegen_1.operators.GT : codegen_1.operators.LT; + cxt.fail$data((0, codegen_1._)`Object.keys(${data}).length ${op} ${schemaCode}`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49 }, + ], + 126: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const codegen_1 = require("../../compile/codegen"); + const error = { + message: ({ schemaCode }) => (0, codegen_1.str)`must be multiple of ${schemaCode}`, + params: ({ schemaCode }) => (0, codegen_1._)`{multipleOf: ${schemaCode}}`, + }; + const def = { + keyword: "multipleOf", + type: "number", + schemaType: "number", + $data: true, + error, + code(cxt) { + const { gen, data, schemaCode, it } = cxt; + // const bdt = bad$DataType(schemaCode, def.schemaType, $data) + const prec = it.opts.multipleOfPrecision; + const res = gen.let("res"); + const invalid = prec + ? (0, codegen_1._)`Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}` + : (0, codegen_1._)`${res} !== parseInt(${res})`; + cxt.fail$data((0, codegen_1._)`(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49 }, + ], + 127: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const code_1 = require("../code"); + const codegen_1 = require("../../compile/codegen"); + const error = { + message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`, + params: ({ schemaCode }) => (0, codegen_1._)`{pattern: ${schemaCode}}`, + }; + const def = { + keyword: "pattern", + type: "string", + schemaType: "string", + $data: true, + error, + code(cxt) { + const { data, $data, schema, schemaCode, it } = cxt; + // TODO regexp should be wrapped in try/catchs + const u = it.opts.unicodeRegExp ? "u" : ""; + const regExp = $data + ? (0, codegen_1._)`(new RegExp(${schemaCode}, ${u}))` + : (0, code_1.usePattern)(cxt, schema); + cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../code": 98 }, + ], + 128: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const code_1 = require("../code"); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const error = { + message: ({ params: { missingProperty } }) => + (0, codegen_1.str)`must have required property '${missingProperty}'`, + params: ({ params: { missingProperty } }) => (0, codegen_1._)`{missingProperty: ${missingProperty}}`, + }; + const def = { + keyword: "required", + type: "object", + schemaType: "array", + $data: true, + error, + code(cxt) { + const { gen, schema, schemaCode, data, $data, it } = cxt; + const { opts } = it; + if (!$data && schema.length === 0) return; + const useLoop = schema.length >= opts.loopRequired; + if (it.allErrors) allErrorsMode(); + else exitOnErrorMode(); + if (opts.strictRequired) { + const props = cxt.parentSchema.properties; + const { definedProperties } = cxt.it; + for (const requiredKey of schema) { + if ( + (props === null || props === void 0 ? void 0 : props[requiredKey]) === undefined && + !definedProperties.has(requiredKey) + ) { + const schemaPath = it.schemaEnv.baseId + it.errSchemaPath; + const msg = `required property "${requiredKey}" is not defined at "${schemaPath}" (strictRequired)`; + (0, util_1.checkStrictMode)(it, msg, it.opts.strictRequired); + } + } } - finally { - delete this._loading[ref]; + function allErrorsMode() { + if (useLoop || $data) { + cxt.block$data(codegen_1.nil, loopAllRequired); + } else { + for (const prop of schema) { + (0, code_1.checkReportMissingProp)(cxt, prop); + } + } } - } - } - // Adds schema to the instance - addSchema(schema, // If array is passed, `key` will be ignored - key, // Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. - _meta, // true if schema is a meta-schema. Used internally, addMetaSchema should be used instead. - _validateSchema = this.opts.validateSchema // false to skip schema validation. Used internally, option validateSchema should be used instead. - ) { - if (Array.isArray(schema)) { - for (const sch of schema) - this.addSchema(sch, undefined, _meta, _validateSchema); - return this; - } - let id; - if (typeof schema === "object") { - const { schemaId } = this.opts; - id = schema[schemaId]; - if (id !== undefined && typeof id != "string") { - throw new Error(`schema ${schemaId} must be string`); + function exitOnErrorMode() { + const missing = gen.let("missing"); + if (useLoop || $data) { + const valid = gen.let("valid", true); + cxt.block$data(valid, () => loopUntilMissing(missing, valid)); + cxt.ok(valid); + } else { + gen.if((0, code_1.checkMissingProp)(cxt, schema, missing)); + (0, code_1.reportMissingProp)(cxt, missing); + gen.else(); + } } - } - key = (0, resolve_1.normalizeId)(key || id); - this._checkUnique(key); - this.schemas[key] = this._addSchema(schema, _meta, key, _validateSchema, true); - return this; - } - // Add schema that will be used to validate other schemas - // options in META_IGNORE_OPTIONS are alway set to false - addMetaSchema(schema, key, // schema key - _validateSchema = this.opts.validateSchema // false to skip schema validation, can be used to override validateSchema option for meta-schema - ) { - this.addSchema(schema, key, true, _validateSchema); - return this; - } - // Validate schema against its meta-schema - validateSchema(schema, throwOrLogError) { - if (typeof schema == "boolean") - return true; - let $schema; - $schema = schema.$schema; - if ($schema !== undefined && typeof $schema != "string") { - throw new Error("$schema must be a string"); - } - $schema = $schema || this.opts.defaultMeta || this.defaultMeta(); - if (!$schema) { - this.logger.warn("meta-schema not available"); - this.errors = null; - return true; - } - const valid = this.validate($schema, schema); - if (!valid && throwOrLogError) { - const message = "schema is invalid: " + this.errorsText(); - if (this.opts.validateSchema === "log") - this.logger.error(message); - else - throw new Error(message); - } - return valid; - } - // Get compiled schema by `key` or `ref`. - // (`key` that was passed to `addSchema` or full schema reference - `schema.$id` or resolved id) - getSchema(keyRef) { - let sch; - while (typeof (sch = getSchEnv.call(this, keyRef)) == "string") - keyRef = sch; - if (sch === undefined) { - const { schemaId } = this.opts; - const root = new compile_1.SchemaEnv({ schema: {}, schemaId }); - sch = compile_1.resolveSchema.call(this, root, keyRef); - if (!sch) - return; - this.refs[keyRef] = sch; - } - return (sch.validate || this._compileSchemaEnv(sch)); - } - // Remove cached schema(s). - // If no parameter is passed all schemas but meta-schemas are removed. - // If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed. - // Even if schema is referenced by other schemas it still can be removed as other schemas have local references. - removeSchema(schemaKeyRef) { - if (schemaKeyRef instanceof RegExp) { - this._removeAllSchemas(this.schemas, schemaKeyRef); - this._removeAllSchemas(this.refs, schemaKeyRef); - return this; - } - switch (typeof schemaKeyRef) { - case "undefined": - this._removeAllSchemas(this.schemas); - this._removeAllSchemas(this.refs); - this._cache.clear(); - return this; - case "string": { - const sch = getSchEnv.call(this, schemaKeyRef); - if (typeof sch == "object") - this._cache.delete(sch.schema); - delete this.schemas[schemaKeyRef]; - delete this.refs[schemaKeyRef]; - return this; + function loopAllRequired() { + gen.forOf("prop", schemaCode, (prop) => { + cxt.setParams({ missingProperty: prop }); + gen.if((0, code_1.noPropertyInData)(gen, data, prop, opts.ownProperties), () => cxt.error()); + }); } - case "object": { - const cacheKey = schemaKeyRef; - this._cache.delete(cacheKey); - let id = schemaKeyRef[this.opts.schemaId]; - if (id) { - id = (0, resolve_1.normalizeId)(id); - delete this.schemas[id]; - delete this.refs[id]; - } - return this; + function loopUntilMissing(missing, valid) { + cxt.setParams({ missingProperty: missing }); + gen.forOf( + missing, + schemaCode, + () => { + gen.assign(valid, (0, code_1.propertyInData)(gen, data, missing, opts.ownProperties)); + gen.if((0, codegen_1.not)(valid), () => { + cxt.error(); + gen.break(); + }); + }, + codegen_1.nil, + ); } - default: - throw new Error("ajv.removeSchema: invalid parameter"); - } - } - // add "vocabulary" - a collection of keywords - addVocabulary(definitions) { - for (const def of definitions) - this.addKeyword(def); - return this; - } - addKeyword(kwdOrDef, def // deprecated - ) { - let keyword; - if (typeof kwdOrDef == "string") { - keyword = kwdOrDef; - if (typeof def == "object") { - this.logger.warn("these parameters are deprecated, see docs for addKeyword"); - def.keyword = keyword; + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../code": 98 }, + ], + 129: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + const dataType_1 = require("../../compile/validate/dataType"); + const codegen_1 = require("../../compile/codegen"); + const util_1 = require("../../compile/util"); + const equal_1 = require("../../runtime/equal"); + const error = { + message: ({ params: { i, j } }) => + (0, codegen_1.str)`must NOT have duplicate items (items ## ${j} and ${i} are identical)`, + params: ({ params: { i, j } }) => (0, codegen_1._)`{i: ${i}, j: ${j}}`, + }; + const def = { + keyword: "uniqueItems", + type: "array", + schemaType: "boolean", + $data: true, + error, + code(cxt) { + const { gen, data, $data, schema, parentSchema, schemaCode, it } = cxt; + if (!$data && !schema) return; + const valid = gen.let("valid"); + const itemTypes = parentSchema.items ? (0, dataType_1.getSchemaTypes)(parentSchema.items) : []; + cxt.block$data(valid, validateUniqueItems, (0, codegen_1._)`${schemaCode} === false`); + cxt.ok(valid); + function validateUniqueItems() { + const i = gen.let("i", (0, codegen_1._)`${data}.length`); + const j = gen.let("j"); + cxt.setParams({ i, j }); + gen.assign(valid, true); + gen.if((0, codegen_1._)`${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j)); } - } - else if (typeof kwdOrDef == "object" && def === undefined) { - def = kwdOrDef; - keyword = def.keyword; - if (Array.isArray(keyword) && !keyword.length) { - throw new Error("addKeywords: keyword must be string or non-empty array"); + function canOptimize() { + return itemTypes.length > 0 && !itemTypes.some((t) => t === "object" || t === "array"); } - } - else { - throw new Error("invalid addKeywords parameters"); - } - checkKeyword.call(this, keyword, def); - if (!def) { - (0, util_1.eachItem)(keyword, (kwd) => addRule.call(this, kwd)); - return this; - } - keywordMetaschema.call(this, def); - const definition = { - ...def, - type: (0, dataType_1.getJSONTypes)(def.type), - schemaType: (0, dataType_1.getJSONTypes)(def.schemaType), - }; - (0, util_1.eachItem)(keyword, definition.type.length === 0 - ? (k) => addRule.call(this, k, definition) - : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t))); - return this; - } - getKeyword(keyword) { - const rule = this.RULES.all[keyword]; - return typeof rule == "object" ? rule.definition : !!rule; - } - // Remove keyword - removeKeyword(keyword) { - // TODO return type should be Ajv - const { RULES } = this; - delete RULES.keywords[keyword]; - delete RULES.all[keyword]; - for (const group of RULES.rules) { - const i = group.rules.findIndex((rule) => rule.keyword === keyword); - if (i >= 0) - group.rules.splice(i, 1); - } - return this; - } - // Add format - addFormat(name, format) { - if (typeof format == "string") - format = new RegExp(format); - this.formats[name] = format; - return this; - } - errorsText(errors = this.errors, // optional array of validation errors - { separator = ", ", dataVar = "data" } = {} // optional options with properties `separator` and `dataVar` - ) { - if (!errors || errors.length === 0) - return "No errors"; - return errors - .map((e) => `${dataVar}${e.instancePath} ${e.message}`) - .reduce((text, msg) => text + separator + msg); - } - $dataMetaSchema(metaSchema, keywordsJsonPointers) { - const rules = this.RULES.all; - metaSchema = JSON.parse(JSON.stringify(metaSchema)); - for (const jsonPointer of keywordsJsonPointers) { - const segments = jsonPointer.split("/").slice(1); // first segment is an empty string - let keywords = metaSchema; - for (const seg of segments) - keywords = keywords[seg]; - for (const key in rules) { - const rule = rules[key]; - if (typeof rule != "object") - continue; - const { $data } = rule.definition; - const schema = keywords[key]; - if ($data && schema) - keywords[key] = schemaOrData(schema); + function loopN(i, j) { + const item = gen.name("item"); + const wrongType = (0, dataType_1.checkDataTypes)( + itemTypes, + item, + it.opts.strictNumbers, + dataType_1.DataType.Wrong, + ); + const indices = gen.const("indices", (0, codegen_1._)`{}`); + gen.for((0, codegen_1._)`;${i}--;`, () => { + gen.let(item, (0, codegen_1._)`${data}[${i}]`); + gen.if(wrongType, (0, codegen_1._)`continue`); + if (itemTypes.length > 1) + gen.if((0, codegen_1._)`typeof ${item} == "string"`, (0, codegen_1._)`${item} += "_"`); + gen + .if((0, codegen_1._)`typeof ${indices}[${item}] == "number"`, () => { + gen.assign(j, (0, codegen_1._)`${indices}[${item}]`); + cxt.error(); + gen.assign(valid, false).break(); + }) + .code((0, codegen_1._)`${indices}[${item}] = ${i}`); + }); } - } - return metaSchema; - } - _removeAllSchemas(schemas, regex) { - for (const keyRef in schemas) { - const sch = schemas[keyRef]; - if (!regex || regex.test(keyRef)) { - if (typeof sch == "string") { - delete schemas[keyRef]; - } - else if (sch && !sch.meta) { - this._cache.delete(sch.schema); - delete schemas[keyRef]; - } + function loopN2(i, j) { + const eql = (0, util_1.useFunc)(gen, equal_1.default); + const outer = gen.name("outer"); + gen.label(outer).for((0, codegen_1._)`;${i}--;`, () => + gen.for((0, codegen_1._)`${j} = ${i}; ${j}--;`, () => + gen.if((0, codegen_1._)`${eql}(${data}[${i}], ${data}[${j}])`, () => { + cxt.error(); + gen.assign(valid, false).break(outer); + }), + ), + ); } + }, + }; + exports.default = def; + }, + { + "../../compile/codegen": 49, + "../../compile/util": 57, + "../../compile/validate/dataType": 60, + "../../runtime/equal": 76, + }, + ], + 130: [ + function (require, module, exports) { + "use strict"; + + exports.byteLength = byteLength; + exports.toByteArray = toByteArray; + exports.fromByteArray = fromByteArray; + + var lookup = []; + var revLookup = []; + var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; + + var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; } - } - _addSchema(schema, meta, baseId, validateSchema = this.opts.validateSchema, addSchema = this.opts.addUsedSchema) { - let id; - const { schemaId } = this.opts; - if (typeof schema == "object") { - id = schema[schemaId]; - } - else { - if (this.opts.jtd) - throw new Error("schema must be object"); - else if (typeof schema != "boolean") - throw new Error("schema must be object or boolean"); - } - let sch = this._cache.get(schema); - if (sch !== undefined) - return sch; - baseId = (0, resolve_1.normalizeId)(id || baseId); - const localRefs = resolve_1.getSchemaRefs.call(this, schema, baseId); - sch = new compile_1.SchemaEnv({ schema, schemaId, meta, baseId, localRefs }); - this._cache.set(sch.schema, sch); - if (addSchema && !baseId.startsWith("#")) { - // TODO atm it is allowed to overwrite schemas without id (instead of not adding them) - if (baseId) - this._checkUnique(baseId); - this.refs[baseId] = sch; - } - if (validateSchema) - this.validateSchema(schema, true); - return sch; - } - _checkUnique(id) { - if (this.schemas[id] || this.refs[id]) { - throw new Error(`schema with key or id "${id}" already exists`); + + // Support decoding URL-safe base64 strings, as Node.js does. + // See: https://en.wikipedia.org/wiki/Base64#URL_applications + revLookup["-".charCodeAt(0)] = 62; + revLookup["_".charCodeAt(0)] = 63; + + function getLens(b64) { + var len = b64.length; + + if (len % 4 > 0) { + throw new Error("Invalid string. Length must be a multiple of 4"); + } + + // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + var validLen = b64.indexOf("="); + if (validLen === -1) validLen = len; + + var placeHoldersLen = validLen === len ? 0 : 4 - (validLen % 4); + + return [validLen, placeHoldersLen]; } - } - _compileSchemaEnv(sch) { - if (sch.meta) - this._compileMetaSchema(sch); - else - compile_1.compileSchema.call(this, sch); - /* istanbul ignore if */ - if (!sch.validate) - throw new Error("ajv implementation error"); - return sch.validate; - } - _compileMetaSchema(sch) { - const currentOpts = this.opts; - this.opts = this._metaOpts; - try { - compile_1.compileSchema.call(this, sch); + + // base64 is 4/3 + up to two characters of the original data + function byteLength(b64) { + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + return ((validLen + placeHoldersLen) * 3) / 4 - placeHoldersLen; } - finally { - this.opts = currentOpts; + + function _byteLength(b64, validLen, placeHoldersLen) { + return ((validLen + placeHoldersLen) * 3) / 4 - placeHoldersLen; } - } -} -exports.default = Ajv; -Ajv.ValidationError = validation_error_1.default; -Ajv.MissingRefError = ref_error_1.default; -function checkOptions(checkOpts, options, msg, log = "error") { - for (const key in checkOpts) { - const opt = key; - if (opt in options) - this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`); - } -} -function getSchEnv(keyRef) { - keyRef = (0, resolve_1.normalizeId)(keyRef); // TODO tests fail without this line - return this.schemas[keyRef] || this.refs[keyRef]; -} -function addInitialSchemas() { - const optsSchemas = this.opts.schemas; - if (!optsSchemas) - return; - if (Array.isArray(optsSchemas)) - this.addSchema(optsSchemas); - else - for (const key in optsSchemas) - this.addSchema(optsSchemas[key], key); -} -function addInitialFormats() { - for (const name in this.opts.formats) { - const format = this.opts.formats[name]; - if (format) - this.addFormat(name, format); - } -} -function addInitialKeywords(defs) { - if (Array.isArray(defs)) { - this.addVocabulary(defs); - return; - } - this.logger.warn("keywords option as map is deprecated, pass array"); - for (const keyword in defs) { - const def = defs[keyword]; - if (!def.keyword) - def.keyword = keyword; - this.addKeyword(def); - } -} -function getMetaSchemaOptions() { - const metaOpts = { ...this.opts }; - for (const opt of META_IGNORE_OPTIONS) - delete metaOpts[opt]; - return metaOpts; -} -const noLogs = { log() { }, warn() { }, error() { } }; -function getLogger(logger) { - if (logger === false) - return noLogs; - if (logger === undefined) - return console; - if (logger.log && logger.warn && logger.error) - return logger; - throw new Error("logger must implement log, warn and error methods"); -} -const KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i; -function checkKeyword(keyword, def) { - const { RULES } = this; - (0, util_1.eachItem)(keyword, (kwd) => { - if (RULES.keywords[kwd]) - throw new Error(`Keyword ${kwd} is already defined`); - if (!KEYWORD_NAME.test(kwd)) - throw new Error(`Keyword ${kwd} has invalid name`); - }); - if (!def) - return; - if (def.$data && !("code" in def || "validate" in def)) { - throw new Error('$data keyword must have "code" or "validate" function'); - } -} -function addRule(keyword, definition, dataType) { - var _a; - const post = definition === null || definition === void 0 ? void 0 : definition.post; - if (dataType && post) - throw new Error('keyword with "post" flag cannot have "type"'); - const { RULES } = this; - let ruleGroup = post ? RULES.post : RULES.rules.find(({ type: t }) => t === dataType); - if (!ruleGroup) { - ruleGroup = { type: dataType, rules: [] }; - RULES.rules.push(ruleGroup); - } - RULES.keywords[keyword] = true; - if (!definition) - return; - const rule = { - keyword, - definition: { - ...definition, - type: (0, dataType_1.getJSONTypes)(definition.type), - schemaType: (0, dataType_1.getJSONTypes)(definition.schemaType), - }, - }; - if (definition.before) - addBeforeRule.call(this, ruleGroup, rule, definition.before); - else - ruleGroup.rules.push(rule); - RULES.all[keyword] = rule; - (_a = definition.implements) === null || _a === void 0 ? void 0 : _a.forEach((kwd) => this.addKeyword(kwd)); -} -function addBeforeRule(ruleGroup, rule, before) { - const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before); - if (i >= 0) { - ruleGroup.rules.splice(i, 0, rule); - } - else { - ruleGroup.rules.push(rule); - this.logger.warn(`rule ${before} is not defined`); - } -} -function keywordMetaschema(def) { - let { metaSchema } = def; - if (metaSchema === undefined) - return; - if (def.$data && this.opts.$data) - metaSchema = schemaOrData(metaSchema); - def.validateSchema = this.compile(metaSchema, true); -} -const $dataRef = { - $ref: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", -}; -function schemaOrData(schema) { - return { anyOf: [schema, $dataRef] }; -} - -},{"./compile":52,"./compile/codegen":49,"./compile/ref_error":54,"./compile/resolve":55,"./compile/rules":56,"./compile/util":57,"./compile/validate":62,"./compile/validate/dataType":60,"./refs/data.json":66,"./runtime/uri":78,"./runtime/validation_error":79}],66:[function(require,module,exports){ -module.exports={ - "$id": "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", - "description": "Meta-schema for $data reference (JSON AnySchema extension proposal)", - "type": "object", - "required": ["$data"], - "properties": { - "$data": { - "type": "string", - "anyOf": [{"format": "relative-json-pointer"}, {"format": "json-pointer"}] - } - }, - "additionalProperties": false -} - -},{}],67:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const metaSchema = require("./schema.json"); -const applicator = require("./meta/applicator.json"); -const unevaluated = require("./meta/unevaluated.json"); -const content = require("./meta/content.json"); -const core = require("./meta/core.json"); -const format = require("./meta/format-annotation.json"); -const metadata = require("./meta/meta-data.json"); -const validation = require("./meta/validation.json"); -const META_SUPPORT_DATA = ["/properties"]; -function addMetaSchema2020($data) { - ; - [ - metaSchema, - applicator, - unevaluated, - content, - core, - with$data(this, format), - metadata, - with$data(this, validation), - ].forEach((sch) => this.addMetaSchema(sch, undefined, false)); - return this; - function with$data(ajv, sch) { - return $data ? ajv.$dataMetaSchema(sch, META_SUPPORT_DATA) : sch; - } -} -exports.default = addMetaSchema2020; - -},{"./meta/applicator.json":68,"./meta/content.json":69,"./meta/core.json":70,"./meta/format-annotation.json":71,"./meta/meta-data.json":72,"./meta/unevaluated.json":73,"./meta/validation.json":74,"./schema.json":75}],68:[function(require,module,exports){ -module.exports={ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json-schema.org/draft/2020-12/meta/applicator", - "$vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/applicator": true - }, - "$dynamicAnchor": "meta", - - "title": "Applicator vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "prefixItems": {"$ref": "#/$defs/schemaArray"}, - "items": {"$dynamicRef": "#meta"}, - "contains": {"$dynamicRef": "#meta"}, - "additionalProperties": {"$dynamicRef": "#meta"}, - "properties": { - "type": "object", - "additionalProperties": {"$dynamicRef": "#meta"}, - "default": {} - }, - "patternProperties": { - "type": "object", - "additionalProperties": {"$dynamicRef": "#meta"}, - "propertyNames": {"format": "regex"}, - "default": {} - }, - "dependentSchemas": { - "type": "object", - "additionalProperties": {"$dynamicRef": "#meta"}, - "default": {} - }, - "propertyNames": {"$dynamicRef": "#meta"}, - "if": {"$dynamicRef": "#meta"}, - "then": {"$dynamicRef": "#meta"}, - "else": {"$dynamicRef": "#meta"}, - "allOf": {"$ref": "#/$defs/schemaArray"}, - "anyOf": {"$ref": "#/$defs/schemaArray"}, - "oneOf": {"$ref": "#/$defs/schemaArray"}, - "not": {"$dynamicRef": "#meta"} - }, - "$defs": { - "schemaArray": { - "type": "array", - "minItems": 1, - "items": {"$dynamicRef": "#meta"} - } - } -} - -},{}],69:[function(require,module,exports){ -module.exports={ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json-schema.org/draft/2020-12/meta/content", - "$vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/content": true - }, - "$dynamicAnchor": "meta", - "title": "Content vocabulary meta-schema", + function toByteArray(b64) { + var tmp; + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; - "type": ["object", "boolean"], - "properties": { - "contentEncoding": {"type": "string"}, - "contentMediaType": {"type": "string"}, - "contentSchema": {"$dynamicRef": "#meta"} - } -} - -},{}],70:[function(require,module,exports){ -module.exports={ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json-schema.org/draft/2020-12/meta/core", - "$vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/core": true - }, - "$dynamicAnchor": "meta", - - "title": "Core vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "$id": { - "$ref": "#/$defs/uriReferenceString", - "$comment": "Non-empty fragments not allowed.", - "pattern": "^[^#]*#?$" - }, - "$schema": {"$ref": "#/$defs/uriString"}, - "$ref": {"$ref": "#/$defs/uriReferenceString"}, - "$anchor": {"$ref": "#/$defs/anchorString"}, - "$dynamicRef": {"$ref": "#/$defs/uriReferenceString"}, - "$dynamicAnchor": {"$ref": "#/$defs/anchorString"}, - "$vocabulary": { - "type": "object", - "propertyNames": {"$ref": "#/$defs/uriString"}, - "additionalProperties": { - "type": "boolean" - } - }, - "$comment": { - "type": "string" - }, - "$defs": { - "type": "object", - "additionalProperties": {"$dynamicRef": "#meta"} - } - }, - "$defs": { - "anchorString": { - "type": "string", - "pattern": "^[A-Za-z_][-A-Za-z0-9._]*$" - }, - "uriString": { - "type": "string", - "format": "uri" - }, - "uriReferenceString": { - "type": "string", - "format": "uri-reference" - } - } -} - -},{}],71:[function(require,module,exports){ -module.exports={ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json-schema.org/draft/2020-12/meta/format-annotation", - "$vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/format-annotation": true - }, - "$dynamicAnchor": "meta", + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); - "title": "Format vocabulary meta-schema for annotation results", - "type": ["object", "boolean"], - "properties": { - "format": {"type": "string"} - } -} - -},{}],72:[function(require,module,exports){ -module.exports={ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json-schema.org/draft/2020-12/meta/meta-data", - "$vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/meta-data": true - }, - "$dynamicAnchor": "meta", - - "title": "Meta-data vocabulary meta-schema", - - "type": ["object", "boolean"], - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "default": true, - "deprecated": { - "type": "boolean", - "default": false - }, - "readOnly": { - "type": "boolean", - "default": false - }, - "writeOnly": { - "type": "boolean", - "default": false - }, - "examples": { - "type": "array", - "items": true - } - } -} - -},{}],73:[function(require,module,exports){ -module.exports={ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json-schema.org/draft/2020-12/meta/unevaluated", - "$vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/unevaluated": true - }, - "$dynamicAnchor": "meta", + var curByte = 0; - "title": "Unevaluated applicator vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "unevaluatedItems": {"$dynamicRef": "#meta"}, - "unevaluatedProperties": {"$dynamicRef": "#meta"} - } -} - -},{}],74:[function(require,module,exports){ -module.exports={ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json-schema.org/draft/2020-12/meta/validation", - "$vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/validation": true - }, - "$dynamicAnchor": "meta", - - "title": "Validation vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "type": { - "anyOf": [ - {"$ref": "#/$defs/simpleTypes"}, - { - "type": "array", - "items": {"$ref": "#/$defs/simpleTypes"}, - "minItems": 1, - "uniqueItems": true - } - ] - }, - "const": true, - "enum": { - "type": "array", - "items": true - }, - "multipleOf": { - "type": "number", - "exclusiveMinimum": 0 - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "number" - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "number" - }, - "maxLength": {"$ref": "#/$defs/nonNegativeInteger"}, - "minLength": {"$ref": "#/$defs/nonNegativeIntegerDefault0"}, - "pattern": { - "type": "string", - "format": "regex" - }, - "maxItems": {"$ref": "#/$defs/nonNegativeInteger"}, - "minItems": {"$ref": "#/$defs/nonNegativeIntegerDefault0"}, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "maxContains": {"$ref": "#/$defs/nonNegativeInteger"}, - "minContains": { - "$ref": "#/$defs/nonNegativeInteger", - "default": 1 - }, - "maxProperties": {"$ref": "#/$defs/nonNegativeInteger"}, - "minProperties": {"$ref": "#/$defs/nonNegativeIntegerDefault0"}, - "required": {"$ref": "#/$defs/stringArray"}, - "dependentRequired": { - "type": "object", - "additionalProperties": { - "$ref": "#/$defs/stringArray" - } - } - }, - "$defs": { - "nonNegativeInteger": { - "type": "integer", - "minimum": 0 - }, - "nonNegativeIntegerDefault0": { - "$ref": "#/$defs/nonNegativeInteger", - "default": 0 - }, - "simpleTypes": { - "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] - }, - "stringArray": { - "type": "array", - "items": {"type": "string"}, - "uniqueItems": true, - "default": [] - } - } -} - -},{}],75:[function(require,module,exports){ -module.exports={ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json-schema.org/draft/2020-12/schema", - "$vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/core": true, - "https://json-schema.org/draft/2020-12/vocab/applicator": true, - "https://json-schema.org/draft/2020-12/vocab/unevaluated": true, - "https://json-schema.org/draft/2020-12/vocab/validation": true, - "https://json-schema.org/draft/2020-12/vocab/meta-data": true, - "https://json-schema.org/draft/2020-12/vocab/format-annotation": true, - "https://json-schema.org/draft/2020-12/vocab/content": true - }, - "$dynamicAnchor": "meta", - - "title": "Core and Validation specifications meta-schema", - "allOf": [ - {"$ref": "meta/core"}, - {"$ref": "meta/applicator"}, - {"$ref": "meta/unevaluated"}, - {"$ref": "meta/validation"}, - {"$ref": "meta/meta-data"}, - {"$ref": "meta/format-annotation"}, - {"$ref": "meta/content"} - ], - "type": ["object", "boolean"], - "$comment": "This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.", - "properties": { - "definitions": { - "$comment": "\"definitions\" has been replaced by \"$defs\".", - "type": "object", - "additionalProperties": {"$dynamicRef": "#meta"}, - "deprecated": true, - "default": {} - }, - "dependencies": { - "$comment": "\"dependencies\" has been split and replaced by \"dependentSchemas\" and \"dependentRequired\" in order to serve their differing semantics.", - "type": "object", - "additionalProperties": { - "anyOf": [{"$dynamicRef": "#meta"}, {"$ref": "meta/validation#/$defs/stringArray"}] - }, - "deprecated": true, - "default": {} - }, - "$recursiveAnchor": { - "$comment": "\"$recursiveAnchor\" has been replaced by \"$dynamicAnchor\".", - "$ref": "meta/core#/$defs/anchorString", - "deprecated": true - }, - "$recursiveRef": { - "$comment": "\"$recursiveRef\" has been replaced by \"$dynamicRef\".", - "$ref": "meta/core#/$defs/uriReferenceString", - "deprecated": true - } - } -} - -},{}],76:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -// https://github.com/ajv-validator/ajv/issues/889 -const equal = require("fast-deep-equal"); -equal.code = 'require("ajv/dist/runtime/equal").default'; -exports.default = equal; - -},{"fast-deep-equal":136}],77:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -// https://mathiasbynens.be/notes/javascript-encoding -// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode -function ucs2length(str) { - const len = str.length; - let length = 0; - let pos = 0; - let value; - while (pos < len) { - length++; - value = str.charCodeAt(pos++); - if (value >= 0xd800 && value <= 0xdbff && pos < len) { - // high surrogate, and there is a next character - value = str.charCodeAt(pos); - if ((value & 0xfc00) === 0xdc00) - pos++; // low surrogate + // if there are placeholders, only get up to the last complete 4 chars + var len = placeHoldersLen > 0 ? validLen - 4 : validLen; + + var i; + for (i = 0; i < len; i += 4) { + tmp = + (revLookup[b64.charCodeAt(i)] << 18) | + (revLookup[b64.charCodeAt(i + 1)] << 12) | + (revLookup[b64.charCodeAt(i + 2)] << 6) | + revLookup[b64.charCodeAt(i + 3)]; + arr[curByte++] = (tmp >> 16) & 0xff; + arr[curByte++] = (tmp >> 8) & 0xff; + arr[curByte++] = tmp & 0xff; + } + + if (placeHoldersLen === 2) { + tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4); + arr[curByte++] = tmp & 0xff; + } + + if (placeHoldersLen === 1) { + tmp = + (revLookup[b64.charCodeAt(i)] << 10) | + (revLookup[b64.charCodeAt(i + 1)] << 4) | + (revLookup[b64.charCodeAt(i + 2)] >> 2); + arr[curByte++] = (tmp >> 8) & 0xff; + arr[curByte++] = tmp & 0xff; + } + + return arr; } - } - return length; -} -exports.default = ucs2length; -ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default'; - -},{}],78:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const uri = require("uri-js"); -uri.code = 'require("ajv/dist/runtime/uri").default'; -exports.default = uri; - -},{"uri-js":198}],79:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class ValidationError extends Error { - constructor(errors) { - super("validation failed"); - this.errors = errors; - this.ajv = this.validation = true; - } -} -exports.default = ValidationError; - -},{}],80:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateAdditionalItems = void 0; -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const error = { - message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`, - params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`, -}; -const def = { - keyword: "additionalItems", - type: "array", - schemaType: ["boolean", "object"], - before: "uniqueItems", - error, - code(cxt) { - const { parentSchema, it } = cxt; - const { items } = parentSchema; - if (!Array.isArray(items)) { - (0, util_1.checkStrictMode)(it, '"additionalItems" is ignored when "items" is not an array of schemas'); - return; + + function tripletToBase64(num) { + return ( + lookup[(num >> 18) & 0x3f] + lookup[(num >> 12) & 0x3f] + lookup[(num >> 6) & 0x3f] + lookup[num & 0x3f] + ); } - validateAdditionalItems(cxt, items); - }, -}; -function validateAdditionalItems(cxt, items) { - const { gen, schema, data, keyword, it } = cxt; - it.items = true; - const len = gen.const("len", (0, codegen_1._) `${data}.length`); - if (schema === false) { - cxt.setParams({ len: items.length }); - cxt.pass((0, codegen_1._) `${len} <= ${items.length}`); - } - else if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) { - const valid = gen.var("valid", (0, codegen_1._) `${len} <= ${items.length}`); // TODO var - gen.if((0, codegen_1.not)(valid), () => validateItems(valid)); - cxt.ok(valid); - } - function validateItems(valid) { - gen.forRange("i", items.length, len, (i) => { - cxt.subschema({ keyword, dataProp: i, dataPropType: util_1.Type.Num }, valid); - if (!it.allErrors) - gen.if((0, codegen_1.not)(valid), () => gen.break()); - }); - } -} -exports.validateAdditionalItems = validateAdditionalItems; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57}],81:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const code_1 = require("../code"); -const codegen_1 = require("../../compile/codegen"); -const names_1 = require("../../compile/names"); -const util_1 = require("../../compile/util"); -const error = { - message: "must NOT have additional properties", - params: ({ params }) => (0, codegen_1._) `{additionalProperty: ${params.additionalProperty}}`, -}; -const def = { - keyword: "additionalProperties", - type: ["object"], - schemaType: ["boolean", "object"], - allowUndefined: true, - trackErrors: true, - error, - code(cxt) { - const { gen, schema, parentSchema, data, errsCount, it } = cxt; - /* istanbul ignore if */ - if (!errsCount) - throw new Error("ajv implementation error"); - const { allErrors, opts } = it; - it.props = true; - if (opts.removeAdditional !== "all" && (0, util_1.alwaysValidSchema)(it, schema)) - return; - const props = (0, code_1.allSchemaProperties)(parentSchema.properties); - const patProps = (0, code_1.allSchemaProperties)(parentSchema.patternProperties); - checkAdditionalProperties(); - cxt.ok((0, codegen_1._) `${errsCount} === ${names_1.default.errors}`); - function checkAdditionalProperties() { - gen.forIn("key", data, (key) => { - if (!props.length && !patProps.length) - additionalPropertyCode(key); - else - gen.if(isAdditional(key), () => additionalPropertyCode(key)); - }); + + function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i = start; i < end; i += 3) { + tmp = ((uint8[i] << 16) & 0xff0000) + ((uint8[i + 1] << 8) & 0xff00) + (uint8[i + 2] & 0xff); + output.push(tripletToBase64(tmp)); + } + return output.join(""); } - function isAdditional(key) { - let definedProp; - if (props.length > 8) { - // TODO maybe an option instead of hard-coded 8? - const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema.properties, "properties"); - definedProp = (0, code_1.isOwnProperty)(gen, propsSchema, key); + + function fromByteArray(uint8) { + var tmp; + var len = uint8.length; + var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes + var parts = []; + var maxChunkLength = 16383; // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength)); + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1]; + parts.push(lookup[tmp >> 2] + lookup[(tmp << 4) & 0x3f] + "=="); + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + parts.push(lookup[tmp >> 10] + lookup[(tmp >> 4) & 0x3f] + lookup[(tmp << 2) & 0x3f] + "="); + } + + return parts.join(""); + } + }, + {}, + ], + 131: [function (require, module, exports) {}, {}], + 132: [ + function (require, module, exports) { + (function (Buffer) { + (function () { + /*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + /* eslint-disable no-proto */ + + "use strict"; + + var base64 = require("base64-js"); + var ieee754 = require("ieee754"); + + exports.Buffer = Buffer; + exports.SlowBuffer = SlowBuffer; + exports.INSPECT_MAX_BYTES = 50; + + var K_MAX_LENGTH = 0x7fffffff; + exports.kMaxLength = K_MAX_LENGTH; + + /** + * If `Buffer.TYPED_ARRAY_SUPPORT`: + * === true Use Uint8Array implementation (fastest) + * === false Print warning and recommend using `buffer` v4.x which has an Object + * implementation (most compatible, even IE6) + * + * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, + * Opera 11.6+, iOS 4.2+. + * + * We report that the browser does not support typed arrays if the are not subclassable + * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` + * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support + * for __proto__ and has a buggy typed array implementation. + */ + Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport(); + + if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") { + console.error( + "This browser lacks typed array (Uint8Array) support which is required by " + + "`buffer` v5.x. Use `buffer` v4.x if you require old browser support.", + ); + } + + function typedArraySupport() { + // Can typed array instances can be augmented? + try { + var arr = new Uint8Array(1); + arr.__proto__ = { + __proto__: Uint8Array.prototype, + foo: function () { + return 42; + }, + }; + return arr.foo() === 42; + } catch (e) { + return false; + } + } + + Object.defineProperty(Buffer.prototype, "parent", { + enumerable: true, + get: function () { + if (!Buffer.isBuffer(this)) return undefined; + return this.buffer; + }, + }); + + Object.defineProperty(Buffer.prototype, "offset", { + enumerable: true, + get: function () { + if (!Buffer.isBuffer(this)) return undefined; + return this.byteOffset; + }, + }); + + function createBuffer(length) { + if (length > K_MAX_LENGTH) { + throw new RangeError('The value "' + length + '" is invalid for option "size"'); + } + // Return an augmented `Uint8Array` instance + var buf = new Uint8Array(length); + buf.__proto__ = Buffer.prototype; + return buf; + } + + /** + * The Buffer constructor returns instances of `Uint8Array` that have their + * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of + * `Uint8Array`, so the returned instances will have all the node `Buffer` methods + * and the `Uint8Array` methods. Square bracket notation works as expected -- it + * returns a single octet. + * + * The `Uint8Array` prototype remains unmodified. + */ + + function Buffer(arg, encodingOrOffset, length) { + // Common case. + if (typeof arg === "number") { + if (typeof encodingOrOffset === "string") { + throw new TypeError('The "string" argument must be of type string. Received type number'); + } + return allocUnsafe(arg); + } + return from(arg, encodingOrOffset, length); + } + + // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 + if (typeof Symbol !== "undefined" && Symbol.species != null && Buffer[Symbol.species] === Buffer) { + Object.defineProperty(Buffer, Symbol.species, { + value: null, + configurable: true, + enumerable: false, + writable: false, + }); } - else if (props.length) { - definedProp = (0, codegen_1.or)(...props.map((p) => (0, codegen_1._) `${key} === ${p}`)); + + Buffer.poolSize = 8192; // not used by this implementation + + function from(value, encodingOrOffset, length) { + if (typeof value === "string") { + return fromString(value, encodingOrOffset); + } + + if (ArrayBuffer.isView(value)) { + return fromArrayLike(value); + } + + if (value == null) { + throw TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, " + + "or Array-like Object. Received type " + + typeof value, + ); + } + + if (isInstance(value, ArrayBuffer) || (value && isInstance(value.buffer, ArrayBuffer))) { + return fromArrayBuffer(value, encodingOrOffset, length); + } + + if (typeof value === "number") { + throw new TypeError('The "value" argument must not be of type number. Received type number'); + } + + var valueOf = value.valueOf && value.valueOf(); + if (valueOf != null && valueOf !== value) { + return Buffer.from(valueOf, encodingOrOffset, length); + } + + var b = fromObject(value); + if (b) return b; + + if ( + typeof Symbol !== "undefined" && + Symbol.toPrimitive != null && + typeof value[Symbol.toPrimitive] === "function" + ) { + return Buffer.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length); + } + + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, " + + "or Array-like Object. Received type " + + typeof value, + ); } - else { - definedProp = codegen_1.nil; + + /** + * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError + * if value is a number. + * Buffer.from(str[, encoding]) + * Buffer.from(array) + * Buffer.from(buffer) + * Buffer.from(arrayBuffer[, byteOffset[, length]]) + **/ + Buffer.from = function (value, encodingOrOffset, length) { + return from(value, encodingOrOffset, length); + }; + + // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug: + // https://github.com/feross/buffer/pull/148 + Buffer.prototype.__proto__ = Uint8Array.prototype; + Buffer.__proto__ = Uint8Array; + + function assertSize(size) { + if (typeof size !== "number") { + throw new TypeError('"size" argument must be of type number'); + } else if (size < 0) { + throw new RangeError('The value "' + size + '" is invalid for option "size"'); + } } - if (patProps.length) { - definedProp = (0, codegen_1.or)(definedProp, ...patProps.map((p) => (0, codegen_1._) `${(0, code_1.usePattern)(cxt, p)}.test(${key})`)); + + function alloc(size, fill, encoding) { + assertSize(size); + if (size <= 0) { + return createBuffer(size); + } + if (fill !== undefined) { + // Only pay attention to encoding if it's a string. This + // prevents accidentally sending in a number that would + // be interpretted as a start offset. + return typeof encoding === "string" + ? createBuffer(size).fill(fill, encoding) + : createBuffer(size).fill(fill); + } + return createBuffer(size); } - return (0, codegen_1.not)(definedProp); - } - function deleteAdditional(key) { - gen.code((0, codegen_1._) `delete ${data}[${key}]`); - } - function additionalPropertyCode(key) { - if (opts.removeAdditional === "all" || (opts.removeAdditional && schema === false)) { - deleteAdditional(key); - return; + + /** + * Creates a new filled Buffer instance. + * alloc(size[, fill[, encoding]]) + **/ + Buffer.alloc = function (size, fill, encoding) { + return alloc(size, fill, encoding); + }; + + function allocUnsafe(size) { + assertSize(size); + return createBuffer(size < 0 ? 0 : checked(size) | 0); } - if (schema === false) { - cxt.setParams({ additionalProperty: key }); - cxt.error(); - if (!allErrors) - gen.break(); - return; + + /** + * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. + * */ + Buffer.allocUnsafe = function (size) { + return allocUnsafe(size); + }; + /** + * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. + */ + Buffer.allocUnsafeSlow = function (size) { + return allocUnsafe(size); + }; + + function fromString(string, encoding) { + if (typeof encoding !== "string" || encoding === "") { + encoding = "utf8"; + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + + var length = byteLength(string, encoding) | 0; + var buf = createBuffer(length); + + var actual = buf.write(string, encoding); + + if (actual !== length) { + // Writing a hex string, for example, that contains invalid characters will + // cause everything after the first invalid character to be ignored. (e.g. + // 'abxxcd' will be treated as 'ab') + buf = buf.slice(0, actual); + } + + return buf; } - if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) { - const valid = gen.name("valid"); - if (opts.removeAdditional === "failing") { - applyAdditionalSchema(key, valid, false); - gen.if((0, codegen_1.not)(valid), () => { - cxt.reset(); - deleteAdditional(key); - }); + + function fromArrayLike(array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0; + var buf = createBuffer(length); + for (var i = 0; i < length; i += 1) { + buf[i] = array[i] & 255; + } + return buf; + } + + function fromArrayBuffer(array, byteOffset, length) { + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError('"offset" is outside of buffer bounds'); + } + + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError('"length" is outside of buffer bounds'); + } + + var buf; + if (byteOffset === undefined && length === undefined) { + buf = new Uint8Array(array); + } else if (length === undefined) { + buf = new Uint8Array(array, byteOffset); + } else { + buf = new Uint8Array(array, byteOffset, length); + } + + // Return an augmented `Uint8Array` instance + buf.__proto__ = Buffer.prototype; + return buf; + } + + function fromObject(obj) { + if (Buffer.isBuffer(obj)) { + var len = checked(obj.length) | 0; + var buf = createBuffer(len); + + if (buf.length === 0) { + return buf; } - else { - applyAdditionalSchema(key, valid); - if (!allErrors) - gen.if((0, codegen_1.not)(valid), () => gen.break()); + + obj.copy(buf, 0, 0, len); + return buf; + } + + if (obj.length !== undefined) { + if (typeof obj.length !== "number" || numberIsNaN(obj.length)) { + return createBuffer(0); } + return fromArrayLike(obj); + } + + if (obj.type === "Buffer" && Array.isArray(obj.data)) { + return fromArrayLike(obj.data); + } } - } - function applyAdditionalSchema(key, valid, errors) { - const subschema = { - keyword: "additionalProperties", - dataProp: key, - dataPropType: util_1.Type.Str, - }; - if (errors === false) { - Object.assign(subschema, { - compositeRule: true, - createErrors: false, - allErrors: false, - }); + + function checked(length) { + // Note: cannot use `length < K_MAX_LENGTH` here because that fails when + // length is NaN (which is otherwise coerced to zero.) + if (length >= K_MAX_LENGTH) { + throw new RangeError( + "Attempt to allocate Buffer larger than maximum " + "size: 0x" + K_MAX_LENGTH.toString(16) + " bytes", + ); + } + return length | 0; } - cxt.subschema(subschema, valid); - } - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/names":53,"../../compile/util":57,"../code":98}],82:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("../../compile/util"); -const def = { - keyword: "allOf", - schemaType: "array", - code(cxt) { - const { gen, schema, it } = cxt; - /* istanbul ignore if */ - if (!Array.isArray(schema)) - throw new Error("ajv implementation error"); - const valid = gen.name("valid"); - schema.forEach((sch, i) => { - if ((0, util_1.alwaysValidSchema)(it, sch)) - return; - const schCxt = cxt.subschema({ keyword: "allOf", schemaProp: i }, valid); - cxt.ok(valid); - cxt.mergeEvaluated(schCxt); - }); - }, -}; -exports.default = def; - -},{"../../compile/util":57}],83:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const code_1 = require("../code"); -const def = { - keyword: "anyOf", - schemaType: "array", - trackErrors: true, - code: code_1.validateUnion, - error: { message: "must match a schema in anyOf" }, -}; -exports.default = def; - -},{"../code":98}],84:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const error = { - message: ({ params: { min, max } }) => max === undefined - ? (0, codegen_1.str) `must contain at least ${min} valid item(s)` - : (0, codegen_1.str) `must contain at least ${min} and no more than ${max} valid item(s)`, - params: ({ params: { min, max } }) => max === undefined ? (0, codegen_1._) `{minContains: ${min}}` : (0, codegen_1._) `{minContains: ${min}, maxContains: ${max}}`, -}; -const def = { - keyword: "contains", - type: "array", - schemaType: ["object", "boolean"], - before: "uniqueItems", - trackErrors: true, - error, - code(cxt) { - const { gen, schema, parentSchema, data, it } = cxt; - let min; - let max; - const { minContains, maxContains } = parentSchema; - if (it.opts.next) { - min = minContains === undefined ? 1 : minContains; - max = maxContains; - } - else { - min = 1; - } - const len = gen.const("len", (0, codegen_1._) `${data}.length`); - cxt.setParams({ min, max }); - if (max === undefined && min === 0) { - (0, util_1.checkStrictMode)(it, `"minContains" == 0 without "maxContains": "contains" keyword ignored`); - return; - } - if (max !== undefined && min > max) { - (0, util_1.checkStrictMode)(it, `"minContains" > "maxContains" is always invalid`); - cxt.fail(); - return; - } - if ((0, util_1.alwaysValidSchema)(it, schema)) { - let cond = (0, codegen_1._) `${len} >= ${min}`; - if (max !== undefined) - cond = (0, codegen_1._) `${cond} && ${len} <= ${max}`; - cxt.pass(cond); - return; - } - it.items = true; - const valid = gen.name("valid"); - if (max === undefined && min === 1) { - validateItems(valid, () => gen.if(valid, () => gen.break())); - } - else if (min === 0) { - gen.let(valid, true); - if (max !== undefined) - gen.if((0, codegen_1._) `${data}.length > 0`, validateItemsWithCount); - } - else { - gen.let(valid, false); - validateItemsWithCount(); - } - cxt.result(valid, () => cxt.reset()); - function validateItemsWithCount() { - const schValid = gen.name("_valid"); - const count = gen.let("count", 0); - validateItems(schValid, () => gen.if(schValid, () => checkLimits(count))); - } - function validateItems(_valid, block) { - gen.forRange("i", 0, len, (i) => { - cxt.subschema({ - keyword: "contains", - dataProp: i, - dataPropType: util_1.Type.Num, - compositeRule: true, - }, _valid); - block(); - }); - } - function checkLimits(count) { - gen.code((0, codegen_1._) `${count}++`); - if (max === undefined) { - gen.if((0, codegen_1._) `${count} >= ${min}`, () => gen.assign(valid, true).break()); + + function SlowBuffer(length) { + if (+length != length) { + // eslint-disable-line eqeqeq + length = 0; + } + return Buffer.alloc(+length); } - else { - gen.if((0, codegen_1._) `${count} > ${max}`, () => gen.assign(valid, false).break()); - if (min === 1) - gen.assign(valid, true); - else - gen.if((0, codegen_1._) `${count} >= ${min}`, () => gen.assign(valid, true)); - } - } - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57}],85:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0; -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const code_1 = require("../code"); -exports.error = { - message: ({ params: { property, depsCount, deps } }) => { - const property_ies = depsCount === 1 ? "property" : "properties"; - return (0, codegen_1.str) `must have ${property_ies} ${deps} when property ${property} is present`; - }, - params: ({ params: { property, depsCount, deps, missingProperty } }) => (0, codegen_1._) `{property: ${property}, - missingProperty: ${missingProperty}, - depsCount: ${depsCount}, - deps: ${deps}}`, // TODO change to reference -}; -const def = { - keyword: "dependencies", - type: "object", - schemaType: "object", - error: exports.error, - code(cxt) { - const [propDeps, schDeps] = splitDependencies(cxt); - validatePropertyDeps(cxt, propDeps); - validateSchemaDeps(cxt, schDeps); - }, -}; -function splitDependencies({ schema }) { - const propertyDeps = {}; - const schemaDeps = {}; - for (const key in schema) { - if (key === "__proto__") - continue; - const deps = Array.isArray(schema[key]) ? propertyDeps : schemaDeps; - deps[key] = schema[key]; - } - return [propertyDeps, schemaDeps]; -} -function validatePropertyDeps(cxt, propertyDeps = cxt.schema) { - const { gen, data, it } = cxt; - if (Object.keys(propertyDeps).length === 0) - return; - const missing = gen.let("missing"); - for (const prop in propertyDeps) { - const deps = propertyDeps[prop]; - if (deps.length === 0) - continue; - const hasProperty = (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties); - cxt.setParams({ - property: prop, - depsCount: deps.length, - deps: deps.join(", "), - }); - if (it.allErrors) { - gen.if(hasProperty, () => { - for (const depProp of deps) { - (0, code_1.checkReportMissingProp)(cxt, depProp); - } - }); - } - else { - gen.if((0, codegen_1._) `${hasProperty} && (${(0, code_1.checkMissingProp)(cxt, deps, missing)})`); - (0, code_1.reportMissingProp)(cxt, missing); - gen.else(); - } - } -} -exports.validatePropertyDeps = validatePropertyDeps; -function validateSchemaDeps(cxt, schemaDeps = cxt.schema) { - const { gen, data, keyword, it } = cxt; - const valid = gen.name("valid"); - for (const prop in schemaDeps) { - if ((0, util_1.alwaysValidSchema)(it, schemaDeps[prop])) - continue; - gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties), () => { - const schCxt = cxt.subschema({ keyword, schemaProp: prop }, valid); - cxt.mergeValidEvaluated(schCxt, valid); - }, () => gen.var(valid, true) // TODO var - ); - cxt.ok(valid); - } -} -exports.validateSchemaDeps = validateSchemaDeps; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57,"../code":98}],86:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const dependencies_1 = require("./dependencies"); -const def = { - keyword: "dependentSchemas", - type: "object", - schemaType: "object", - code: (cxt) => (0, dependencies_1.validateSchemaDeps)(cxt), -}; -exports.default = def; - -},{"./dependencies":85}],87:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const error = { - message: ({ params }) => (0, codegen_1.str) `must match "${params.ifClause}" schema`, - params: ({ params }) => (0, codegen_1._) `{failingKeyword: ${params.ifClause}}`, -}; -const def = { - keyword: "if", - schemaType: ["object", "boolean"], - trackErrors: true, - error, - code(cxt) { - const { gen, parentSchema, it } = cxt; - if (parentSchema.then === undefined && parentSchema.else === undefined) { - (0, util_1.checkStrictMode)(it, '"if" without "then" and "else" is ignored'); - } - const hasThen = hasSchema(it, "then"); - const hasElse = hasSchema(it, "else"); - if (!hasThen && !hasElse) - return; - const valid = gen.let("valid", true); - const schValid = gen.name("_valid"); - validateIf(); - cxt.reset(); - if (hasThen && hasElse) { - const ifClause = gen.let("ifClause"); - cxt.setParams({ ifClause }); - gen.if(schValid, validateClause("then", ifClause), validateClause("else", ifClause)); - } - else if (hasThen) { - gen.if(schValid, validateClause("then")); - } - else { - gen.if((0, codegen_1.not)(schValid), validateClause("else")); - } - cxt.pass(valid, () => cxt.error(true)); - function validateIf() { - const schCxt = cxt.subschema({ - keyword: "if", - compositeRule: true, - createErrors: false, - allErrors: false, - }, schValid); - cxt.mergeEvaluated(schCxt); - } - function validateClause(keyword, ifClause) { - return () => { - const schCxt = cxt.subschema({ keyword }, schValid); - gen.assign(valid, schValid); - cxt.mergeValidEvaluated(schCxt, valid); - if (ifClause) - gen.assign(ifClause, (0, codegen_1._) `${keyword}`); - else - cxt.setParams({ ifClause: keyword }); + + Buffer.isBuffer = function isBuffer(b) { + return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false }; - } - }, -}; -function hasSchema(it, keyword) { - const schema = it.schema[keyword]; - return schema !== undefined && !(0, util_1.alwaysValidSchema)(it, schema); -} -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57}],88:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const additionalItems_1 = require("./additionalItems"); -const prefixItems_1 = require("./prefixItems"); -const items_1 = require("./items"); -const items2020_1 = require("./items2020"); -const contains_1 = require("./contains"); -const dependencies_1 = require("./dependencies"); -const propertyNames_1 = require("./propertyNames"); -const additionalProperties_1 = require("./additionalProperties"); -const properties_1 = require("./properties"); -const patternProperties_1 = require("./patternProperties"); -const not_1 = require("./not"); -const anyOf_1 = require("./anyOf"); -const oneOf_1 = require("./oneOf"); -const allOf_1 = require("./allOf"); -const if_1 = require("./if"); -const thenElse_1 = require("./thenElse"); -function getApplicator(draft2020 = false) { - const applicator = [ - // any - not_1.default, - anyOf_1.default, - oneOf_1.default, - allOf_1.default, - if_1.default, - thenElse_1.default, - // object - propertyNames_1.default, - additionalProperties_1.default, - dependencies_1.default, - properties_1.default, - patternProperties_1.default, - ]; - // array - if (draft2020) - applicator.push(prefixItems_1.default, items2020_1.default); - else - applicator.push(additionalItems_1.default, items_1.default); - applicator.push(contains_1.default); - return applicator; -} -exports.default = getApplicator; - -},{"./additionalItems":80,"./additionalProperties":81,"./allOf":82,"./anyOf":83,"./contains":84,"./dependencies":85,"./if":87,"./items":89,"./items2020":90,"./not":91,"./oneOf":92,"./patternProperties":93,"./prefixItems":94,"./properties":95,"./propertyNames":96,"./thenElse":97}],89:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateTuple = void 0; -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const code_1 = require("../code"); -const def = { - keyword: "items", - type: "array", - schemaType: ["object", "array", "boolean"], - before: "uniqueItems", - code(cxt) { - const { schema, it } = cxt; - if (Array.isArray(schema)) - return validateTuple(cxt, "additionalItems", schema); - it.items = true; - if ((0, util_1.alwaysValidSchema)(it, schema)) - return; - cxt.ok((0, code_1.validateArray)(cxt)); - }, -}; -function validateTuple(cxt, extraItems, schArr = cxt.schema) { - const { gen, parentSchema, data, keyword, it } = cxt; - checkStrictTuple(parentSchema); - if (it.opts.unevaluated && schArr.length && it.items !== true) { - it.items = util_1.mergeEvaluated.items(gen, schArr.length, it.items); - } - const valid = gen.name("valid"); - const len = gen.const("len", (0, codegen_1._) `${data}.length`); - schArr.forEach((sch, i) => { - if ((0, util_1.alwaysValidSchema)(it, sch)) - return; - gen.if((0, codegen_1._) `${len} > ${i}`, () => cxt.subschema({ - keyword, - schemaProp: i, - dataProp: i, - }, valid)); - cxt.ok(valid); - }); - function checkStrictTuple(sch) { - const { opts, errSchemaPath } = it; - const l = schArr.length; - const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false); - if (opts.strictTuples && !fullTuple) { - const msg = `"${keyword}" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path "${errSchemaPath}"`; - (0, util_1.checkStrictMode)(it, msg, opts.strictTuples); - } - } -} -exports.validateTuple = validateTuple; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57,"../code":98}],90:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const code_1 = require("../code"); -const additionalItems_1 = require("./additionalItems"); -const error = { - message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`, - params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`, -}; -const def = { - keyword: "items", - type: "array", - schemaType: ["object", "boolean"], - before: "uniqueItems", - error, - code(cxt) { - const { schema, parentSchema, it } = cxt; - const { prefixItems } = parentSchema; - it.items = true; - if ((0, util_1.alwaysValidSchema)(it, schema)) - return; - if (prefixItems) - (0, additionalItems_1.validateAdditionalItems)(cxt, prefixItems); - else - cxt.ok((0, code_1.validateArray)(cxt)); - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57,"../code":98,"./additionalItems":80}],91:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("../../compile/util"); -const def = { - keyword: "not", - schemaType: ["object", "boolean"], - trackErrors: true, - code(cxt) { - const { gen, schema, it } = cxt; - if ((0, util_1.alwaysValidSchema)(it, schema)) { - cxt.fail(); - return; - } - const valid = gen.name("valid"); - cxt.subschema({ - keyword: "not", - compositeRule: true, - createErrors: false, - allErrors: false, - }, valid); - cxt.failResult(valid, () => cxt.reset(), () => cxt.error()); - }, - error: { message: "must NOT be valid" }, -}; -exports.default = def; - -},{"../../compile/util":57}],92:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const error = { - message: "must match exactly one schema in oneOf", - params: ({ params }) => (0, codegen_1._) `{passingSchemas: ${params.passing}}`, -}; -const def = { - keyword: "oneOf", - schemaType: "array", - trackErrors: true, - error, - code(cxt) { - const { gen, schema, parentSchema, it } = cxt; - /* istanbul ignore if */ - if (!Array.isArray(schema)) - throw new Error("ajv implementation error"); - if (it.opts.discriminator && parentSchema.discriminator) - return; - const schArr = schema; - const valid = gen.let("valid", false); - const passing = gen.let("passing", null); - const schValid = gen.name("_valid"); - cxt.setParams({ passing }); - // TODO possibly fail straight away (with warning or exception) if there are two empty always valid schemas - gen.block(validateOneOf); - cxt.result(valid, () => cxt.reset(), () => cxt.error(true)); - function validateOneOf() { - schArr.forEach((sch, i) => { - let schCxt; - if ((0, util_1.alwaysValidSchema)(it, sch)) { - gen.var(schValid, true); + + Buffer.compare = function compare(a, b) { + if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength); + if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength); + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); + } + + if (a === b) return 0; + + var x = a.length; + var y = b.length; + + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; } - else { - schCxt = cxt.subschema({ - keyword: "oneOf", - schemaProp: i, - compositeRule: true, - }, schValid); + } + + if (x < y) return -1; + if (y < x) return 1; + return 0; + }; + + Buffer.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return true; + default: + return false; + } + }; + + Buffer.concat = function concat(list, length) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + + if (list.length === 0) { + return Buffer.alloc(0); + } + + var i; + if (length === undefined) { + length = 0; + for (i = 0; i < list.length; ++i) { + length += list[i].length; } - if (i > 0) { - gen - .if((0, codegen_1._) `${schValid} && ${valid}`) - .assign(valid, false) - .assign(passing, (0, codegen_1._) `[${passing}, ${i}]`) - .else(); + } + + var buffer = Buffer.allocUnsafe(length); + var pos = 0; + for (i = 0; i < list.length; ++i) { + var buf = list[i]; + if (isInstance(buf, Uint8Array)) { + buf = Buffer.from(buf); } - gen.if(schValid, () => { - gen.assign(valid, true); - gen.assign(passing, i); - if (schCxt) - cxt.mergeEvaluated(schCxt, codegen_1.Name); - }); - }); - } - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57}],93:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const code_1 = require("../code"); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const util_2 = require("../../compile/util"); -const def = { - keyword: "patternProperties", - type: "object", - schemaType: "object", - code(cxt) { - const { gen, schema, data, parentSchema, it } = cxt; - const { opts } = it; - const patterns = (0, code_1.allSchemaProperties)(schema); - const alwaysValidPatterns = patterns.filter((p) => (0, util_1.alwaysValidSchema)(it, schema[p])); - if (patterns.length === 0 || - (alwaysValidPatterns.length === patterns.length && - (!it.opts.unevaluated || it.props === true))) { - return; - } - const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties; - const valid = gen.name("valid"); - if (it.props !== true && !(it.props instanceof codegen_1.Name)) { - it.props = (0, util_2.evaluatedPropsToName)(gen, it.props); - } - const { props } = it; - validatePatternProperties(); - function validatePatternProperties() { - for (const pat of patterns) { - if (checkProperties) - checkMatchingProperties(pat); - if (it.allErrors) { - validateProperties(pat); + if (!Buffer.isBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); } - else { - gen.var(valid, true); // TODO var - validateProperties(pat); - gen.if(valid); + buf.copy(buffer, pos); + pos += buf.length; + } + return buffer; + }; + + function byteLength(string, encoding) { + if (Buffer.isBuffer(string)) { + return string.length; + } + if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { + return string.byteLength; + } + if (typeof string !== "string") { + throw new TypeError( + 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + + "Received type " + + typeof string, + ); + } + + var len = string.length; + var mustMatch = arguments.length > 2 && arguments[2] === true; + if (!mustMatch && len === 0) return 0; + + // Use a for loop to avoid recursion + var loweredCase = false; + for (;;) { + switch (encoding) { + case "ascii": + case "latin1": + case "binary": + return len; + case "utf8": + case "utf-8": + return utf8ToBytes(string).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return len * 2; + case "hex": + return len >>> 1; + case "base64": + return base64ToBytes(string).length; + default: + if (loweredCase) { + return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8 + } + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; } + } } - } - function checkMatchingProperties(pat) { - for (const prop in checkProperties) { - if (new RegExp(pat).test(prop)) { - (0, util_1.checkStrictMode)(it, `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`); + Buffer.byteLength = byteLength; + + function slowToString(encoding, start, end) { + var loweredCase = false; + + // No need to verify that "this.length <= MAX_UINT32" since it's a read-only + // property of a typed array. + + // This behaves neither like String nor Uint8Array in that we set start/end + // to their upper/lower bounds if the value passed is out of range. + // undefined is handled specially as per ECMA-262 6th Edition, + // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. + if (start === undefined || start < 0) { + start = 0; + } + // Return early if start > this.length. Done here to prevent potential uint32 + // coercion fail below. + if (start > this.length) { + return ""; + } + + if (end === undefined || end > this.length) { + end = this.length; + } + + if (end <= 0) { + return ""; + } + + // Force coersion to uint32. This will also coerce falsey/NaN values to 0. + end >>>= 0; + start >>>= 0; + + if (end <= start) { + return ""; + } + + if (!encoding) encoding = "utf8"; + + while (true) { + switch (encoding) { + case "hex": + return hexSlice(this, start, end); + + case "utf8": + case "utf-8": + return utf8Slice(this, start, end); + + case "ascii": + return asciiSlice(this, start, end); + + case "latin1": + case "binary": + return latin1Slice(this, start, end); + + case "base64": + return base64Slice(this, start, end); + + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return utf16leSlice(this, start, end); + + default: + if (loweredCase) throw new TypeError("Unknown encoding: " + encoding); + encoding = (encoding + "").toLowerCase(); + loweredCase = true; } + } } - } - function validateProperties(pat) { - gen.forIn("key", data, (key) => { - gen.if((0, codegen_1._) `${(0, code_1.usePattern)(cxt, pat)}.test(${key})`, () => { - const alwaysValid = alwaysValidPatterns.includes(pat); - if (!alwaysValid) { - cxt.subschema({ - keyword: "patternProperties", - schemaProp: pat, - dataProp: key, - dataPropType: util_2.Type.Str, - }, valid); - } - if (it.opts.unevaluated && props !== true) { - gen.assign((0, codegen_1._) `${props}[${key}]`, true); - } - else if (!alwaysValid && !it.allErrors) { - // can short-circuit if `unevaluatedProperties` is not supported (opts.next === false) - // or if all properties were evaluated (props === true) - gen.if((0, codegen_1.not)(valid), () => gen.break()); - } - }); - }); - } - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57,"../code":98}],94:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const items_1 = require("./items"); -const def = { - keyword: "prefixItems", - type: "array", - schemaType: ["array"], - before: "uniqueItems", - code: (cxt) => (0, items_1.validateTuple)(cxt, "items"), -}; -exports.default = def; - -},{"./items":89}],95:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const validate_1 = require("../../compile/validate"); -const code_1 = require("../code"); -const util_1 = require("../../compile/util"); -const additionalProperties_1 = require("./additionalProperties"); -const def = { - keyword: "properties", - type: "object", - schemaType: "object", - code(cxt) { - const { gen, schema, parentSchema, data, it } = cxt; - if (it.opts.removeAdditional === "all" && parentSchema.additionalProperties === undefined) { - additionalProperties_1.default.code(new validate_1.KeywordCxt(it, additionalProperties_1.default, "additionalProperties")); - } - const allProps = (0, code_1.allSchemaProperties)(schema); - for (const prop of allProps) { - it.definedProperties.add(prop); - } - if (it.opts.unevaluated && allProps.length && it.props !== true) { - it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props); - } - const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p])); - if (properties.length === 0) - return; - const valid = gen.name("valid"); - for (const prop of properties) { - if (hasDefault(prop)) { - applyPropertySchema(prop); - } - else { - gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties)); - applyPropertySchema(prop); - if (!it.allErrors) - gen.else().var(valid, true); - gen.endIf(); + + // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package) + // to detect a Buffer instance. It's not possible to use `instanceof Buffer` + // reliably in a browserify context because there could be multiple different + // copies of the 'buffer' package in use. This method works even for Buffer + // instances that were created from another copy of the `buffer` package. + // See: https://github.com/feross/buffer/issues/154 + Buffer.prototype._isBuffer = true; + + function swap(b, n, m) { + var i = b[n]; + b[n] = b[m]; + b[m] = i; } - cxt.it.definedProperties.add(prop); - cxt.ok(valid); - } - function hasDefault(prop) { - return it.opts.useDefaults && !it.compositeRule && schema[prop].default !== undefined; - } - function applyPropertySchema(prop) { - cxt.subschema({ - keyword: "properties", - schemaProp: prop, - dataProp: prop, - }, valid); - } - }, -}; -exports.default = def; - -},{"../../compile/util":57,"../../compile/validate":62,"../code":98,"./additionalProperties":81}],96:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const error = { - message: "property name must be valid", - params: ({ params }) => (0, codegen_1._) `{propertyName: ${params.propertyName}}`, -}; -const def = { - keyword: "propertyNames", - type: "object", - schemaType: ["object", "boolean"], - error, - code(cxt) { - const { gen, schema, data, it } = cxt; - if ((0, util_1.alwaysValidSchema)(it, schema)) - return; - const valid = gen.name("valid"); - gen.forIn("key", data, (key) => { - cxt.setParams({ propertyName: key }); - cxt.subschema({ - keyword: "propertyNames", - data: key, - dataTypes: ["string"], - propertyName: key, - compositeRule: true, - }, valid); - gen.if((0, codegen_1.not)(valid), () => { - cxt.error(true); - if (!it.allErrors) - gen.break(); - }); - }); - cxt.ok(valid); - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57}],97:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("../../compile/util"); -const def = { - keyword: ["then", "else"], - schemaType: ["object", "boolean"], - code({ keyword, parentSchema, it }) { - if (parentSchema.if === undefined) - (0, util_1.checkStrictMode)(it, `"${keyword}" without "if" is ignored`); - }, -}; -exports.default = def; - -},{"../../compile/util":57}],98:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0; -const codegen_1 = require("../compile/codegen"); -const util_1 = require("../compile/util"); -const names_1 = require("../compile/names"); -const util_2 = require("../compile/util"); -function checkReportMissingProp(cxt, prop) { - const { gen, data, it } = cxt; - gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => { - cxt.setParams({ missingProperty: (0, codegen_1._) `${prop}` }, true); - cxt.error(); - }); -} -exports.checkReportMissingProp = checkReportMissingProp; -function checkMissingProp({ gen, data, it: { opts } }, properties, missing) { - return (0, codegen_1.or)(...properties.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._) `${missing} = ${prop}`))); -} -exports.checkMissingProp = checkMissingProp; -function reportMissingProp(cxt, missing) { - cxt.setParams({ missingProperty: missing }, true); - cxt.error(); -} -exports.reportMissingProp = reportMissingProp; -function hasPropFunc(gen) { - return gen.scopeValue("func", { - // eslint-disable-next-line @typescript-eslint/unbound-method - ref: Object.prototype.hasOwnProperty, - code: (0, codegen_1._) `Object.prototype.hasOwnProperty`, - }); -} -exports.hasPropFunc = hasPropFunc; -function isOwnProperty(gen, data, property) { - return (0, codegen_1._) `${hasPropFunc(gen)}.call(${data}, ${property})`; -} -exports.isOwnProperty = isOwnProperty; -function propertyInData(gen, data, property, ownProperties) { - const cond = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(property)} !== undefined`; - return ownProperties ? (0, codegen_1._) `${cond} && ${isOwnProperty(gen, data, property)}` : cond; -} -exports.propertyInData = propertyInData; -function noPropertyInData(gen, data, property, ownProperties) { - const cond = (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(property)} === undefined`; - return ownProperties ? (0, codegen_1.or)(cond, (0, codegen_1.not)(isOwnProperty(gen, data, property))) : cond; -} -exports.noPropertyInData = noPropertyInData; -function allSchemaProperties(schemaMap) { - return schemaMap ? Object.keys(schemaMap).filter((p) => p !== "__proto__") : []; -} -exports.allSchemaProperties = allSchemaProperties; -function schemaProperties(it, schemaMap) { - return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p])); -} -exports.schemaProperties = schemaProperties; -function callValidateCode({ schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, func, context, passSchema) { - const dataAndSchema = passSchema ? (0, codegen_1._) `${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data; - const valCxt = [ - [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, errorPath)], - [names_1.default.parentData, it.parentData], - [names_1.default.parentDataProperty, it.parentDataProperty], - [names_1.default.rootData, names_1.default.rootData], - ]; - if (it.opts.dynamicRef) - valCxt.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]); - const args = (0, codegen_1._) `${dataAndSchema}, ${gen.object(...valCxt)}`; - return context !== codegen_1.nil ? (0, codegen_1._) `${func}.call(${context}, ${args})` : (0, codegen_1._) `${func}(${args})`; -} -exports.callValidateCode = callValidateCode; -const newRegExp = (0, codegen_1._) `new RegExp`; -function usePattern({ gen, it: { opts } }, pattern) { - const u = opts.unicodeRegExp ? "u" : ""; - const { regExp } = opts.code; - const rx = regExp(pattern, u); - return gen.scopeValue("pattern", { - key: rx.toString(), - ref: rx, - code: (0, codegen_1._) `${regExp.code === "new RegExp" ? newRegExp : (0, util_2.useFunc)(gen, regExp)}(${pattern}, ${u})`, - }); -} -exports.usePattern = usePattern; -function validateArray(cxt) { - const { gen, data, keyword, it } = cxt; - const valid = gen.name("valid"); - if (it.allErrors) { - const validArr = gen.let("valid", true); - validateItems(() => gen.assign(validArr, false)); - return validArr; - } - gen.var(valid, true); - validateItems(() => gen.break()); - return valid; - function validateItems(notValid) { - const len = gen.const("len", (0, codegen_1._) `${data}.length`); - gen.forRange("i", 0, len, (i) => { - cxt.subschema({ - keyword, - dataProp: i, - dataPropType: util_1.Type.Num, - }, valid); - gen.if((0, codegen_1.not)(valid), notValid); - }); - } -} -exports.validateArray = validateArray; -function validateUnion(cxt) { - const { gen, schema, keyword, it } = cxt; - /* istanbul ignore if */ - if (!Array.isArray(schema)) - throw new Error("ajv implementation error"); - const alwaysValid = schema.some((sch) => (0, util_1.alwaysValidSchema)(it, sch)); - if (alwaysValid && !it.opts.unevaluated) - return; - const valid = gen.let("valid", false); - const schValid = gen.name("_valid"); - gen.block(() => schema.forEach((_sch, i) => { - const schCxt = cxt.subschema({ - keyword, - schemaProp: i, - compositeRule: true, - }, schValid); - gen.assign(valid, (0, codegen_1._) `${valid} || ${schValid}`); - const merged = cxt.mergeValidEvaluated(schCxt, schValid); - // can short-circuit if `unevaluatedProperties/Items` not supported (opts.unevaluated !== true) - // or if all properties and items were evaluated (it.props === true && it.items === true) - if (!merged) - gen.if((0, codegen_1.not)(valid)); - })); - cxt.result(valid, () => cxt.reset(), () => cxt.error(true)); -} -exports.validateUnion = validateUnion; - -},{"../compile/codegen":49,"../compile/names":53,"../compile/util":57}],99:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const def = { - keyword: "id", - code() { - throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID'); - }, -}; -exports.default = def; - -},{}],100:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const id_1 = require("./id"); -const ref_1 = require("./ref"); -const core = [ - "$schema", - "$id", - "$defs", - "$vocabulary", - { keyword: "$comment" }, - "definitions", - id_1.default, - ref_1.default, -]; -exports.default = core; - -},{"./id":99,"./ref":101}],101:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.callRef = exports.getValidate = void 0; -const ref_error_1 = require("../../compile/ref_error"); -const code_1 = require("../code"); -const codegen_1 = require("../../compile/codegen"); -const names_1 = require("../../compile/names"); -const compile_1 = require("../../compile"); -const util_1 = require("../../compile/util"); -const def = { - keyword: "$ref", - schemaType: "string", - code(cxt) { - const { gen, schema: $ref, it } = cxt; - const { baseId, schemaEnv: env, validateName, opts, self } = it; - const { root } = env; - if (($ref === "#" || $ref === "#/") && baseId === root.baseId) - return callRootRef(); - const schOrEnv = compile_1.resolveRef.call(self, root, baseId, $ref); - if (schOrEnv === undefined) - throw new ref_error_1.default(it.opts.uriResolver, baseId, $ref); - if (schOrEnv instanceof compile_1.SchemaEnv) - return callValidate(schOrEnv); - return inlineRefSchema(schOrEnv); - function callRootRef() { - if (env === root) - return callRef(cxt, validateName, env, env.$async); - const rootName = gen.scopeValue("root", { ref: root }); - return callRef(cxt, (0, codegen_1._) `${rootName}.validate`, root, root.$async); - } - function callValidate(sch) { - const v = getValidate(cxt, sch); - callRef(cxt, v, sch, sch.$async); - } - function inlineRefSchema(sch) { - const schName = gen.scopeValue("schema", opts.code.source === true ? { ref: sch, code: (0, codegen_1.stringify)(sch) } : { ref: sch }); - const valid = gen.name("valid"); - const schCxt = cxt.subschema({ - schema: sch, - dataTypes: [], - schemaPath: codegen_1.nil, - topSchemaRef: schName, - errSchemaPath: $ref, - }, valid); - cxt.mergeEvaluated(schCxt); - cxt.ok(valid); - } - }, -}; -function getValidate(cxt, sch) { - const { gen } = cxt; - return sch.validate - ? gen.scopeValue("validate", { ref: sch.validate }) - : (0, codegen_1._) `${gen.scopeValue("wrapper", { ref: sch })}.validate`; -} -exports.getValidate = getValidate; -function callRef(cxt, v, sch, $async) { - const { gen, it } = cxt; - const { allErrors, schemaEnv: env, opts } = it; - const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil; - if ($async) - callAsyncRef(); - else - callSyncRef(); - function callAsyncRef() { - if (!env.$async) - throw new Error("async schema referenced by sync schema"); - const valid = gen.let("valid"); - gen.try(() => { - gen.code((0, codegen_1._) `await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`); - addEvaluatedFrom(v); // TODO will not work with async, it has to be returned with the result - if (!allErrors) - gen.assign(valid, true); - }, (e) => { - gen.if((0, codegen_1._) `!(${e} instanceof ${it.ValidationError})`, () => gen.throw(e)); - addErrorsFrom(e); - if (!allErrors) - gen.assign(valid, false); - }); - cxt.ok(valid); - } - function callSyncRef() { - cxt.result((0, code_1.callValidateCode)(cxt, v, passCxt), () => addEvaluatedFrom(v), () => addErrorsFrom(v)); - } - function addErrorsFrom(source) { - const errs = (0, codegen_1._) `${source}.errors`; - gen.assign(names_1.default.vErrors, (0, codegen_1._) `${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`); // TODO tagged - gen.assign(names_1.default.errors, (0, codegen_1._) `${names_1.default.vErrors}.length`); - } - function addEvaluatedFrom(source) { - var _a; - if (!it.opts.unevaluated) - return; - const schEvaluated = (_a = sch === null || sch === void 0 ? void 0 : sch.validate) === null || _a === void 0 ? void 0 : _a.evaluated; - // TODO refactor - if (it.props !== true) { - if (schEvaluated && !schEvaluated.dynamicProps) { - if (schEvaluated.props !== undefined) { - it.props = util_1.mergeEvaluated.props(gen, schEvaluated.props, it.props); + + Buffer.prototype.swap16 = function swap16() { + var len = this.length; + if (len % 2 !== 0) { + throw new RangeError("Buffer size must be a multiple of 16-bits"); + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1); + } + return this; + }; + + Buffer.prototype.swap32 = function swap32() { + var len = this.length; + if (len % 4 !== 0) { + throw new RangeError("Buffer size must be a multiple of 32-bits"); + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3); + swap(this, i + 1, i + 2); + } + return this; + }; + + Buffer.prototype.swap64 = function swap64() { + var len = this.length; + if (len % 8 !== 0) { + throw new RangeError("Buffer size must be a multiple of 64-bits"); + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7); + swap(this, i + 1, i + 6); + swap(this, i + 2, i + 5); + swap(this, i + 3, i + 4); + } + return this; + }; + + Buffer.prototype.toString = function toString() { + var length = this.length; + if (length === 0) return ""; + if (arguments.length === 0) return utf8Slice(this, 0, length); + return slowToString.apply(this, arguments); + }; + + Buffer.prototype.toLocaleString = Buffer.prototype.toString; + + Buffer.prototype.equals = function equals(b) { + if (!Buffer.isBuffer(b)) throw new TypeError("Argument must be a Buffer"); + if (this === b) return true; + return Buffer.compare(this, b) === 0; + }; + + Buffer.prototype.inspect = function inspect() { + var str = ""; + var max = exports.INSPECT_MAX_BYTES; + str = this.toString("hex", 0, max) + .replace(/(.{2})/g, "$1 ") + .trim(); + if (this.length > max) str += " ... "; + return ""; + }; + + Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { + if (isInstance(target, Uint8Array)) { + target = Buffer.from(target, target.offset, target.byteLength); + } + if (!Buffer.isBuffer(target)) { + throw new TypeError( + 'The "target" argument must be one of type Buffer or Uint8Array. ' + "Received type " + typeof target, + ); + } + + if (start === undefined) { + start = 0; + } + if (end === undefined) { + end = target ? target.length : 0; + } + if (thisStart === undefined) { + thisStart = 0; + } + if (thisEnd === undefined) { + thisEnd = this.length; + } + + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError("out of range index"); + } + + if (thisStart >= thisEnd && start >= end) { + return 0; + } + if (thisStart >= thisEnd) { + return -1; + } + if (start >= end) { + return 1; + } + + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + + if (this === target) return 0; + + var x = thisEnd - thisStart; + var y = end - start; + var len = Math.min(x, y); + + var thisCopy = this.slice(thisStart, thisEnd); + var targetCopy = target.slice(start, end); + + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i]; + y = targetCopy[i]; + break; } - } - else { - const props = gen.var("props", (0, codegen_1._) `${source}.evaluated.props`); - it.props = util_1.mergeEvaluated.props(gen, props, it.props, codegen_1.Name); - } - } - if (it.items !== true) { - if (schEvaluated && !schEvaluated.dynamicItems) { - if (schEvaluated.items !== undefined) { - it.items = util_1.mergeEvaluated.items(gen, schEvaluated.items, it.items); + } + + if (x < y) return -1; + if (y < x) return 1; + return 0; + }; + + // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, + // OR the last index of `val` in `buffer` at offset <= `byteOffset`. + // + // Arguments: + // - buffer - a Buffer to search + // - val - a string, Buffer, or number + // - byteOffset - an index into `buffer`; will be clamped to an int32 + // - encoding - an optional encoding, relevant is val is a string + // - dir - true for indexOf, false for lastIndexOf + function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + // Empty buffer means no match + if (buffer.length === 0) return -1; + + // Normalize byteOffset + if (typeof byteOffset === "string") { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 0x7fffffff) { + byteOffset = 0x7fffffff; + } else if (byteOffset < -0x80000000) { + byteOffset = -0x80000000; + } + byteOffset = +byteOffset; // Coerce to Number. + if (numberIsNaN(byteOffset)) { + // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer + byteOffset = dir ? 0 : buffer.length - 1; + } + + // Normalize byteOffset: negative offsets start from the end of the buffer + if (byteOffset < 0) byteOffset = buffer.length + byteOffset; + if (byteOffset >= buffer.length) { + if (dir) return -1; + else byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) byteOffset = 0; + else return -1; + } + + // Normalize val + if (typeof val === "string") { + val = Buffer.from(val, encoding); + } + + // Finally, search either indexOf (if dir is true) or lastIndexOf + if (Buffer.isBuffer(val)) { + // Special case: looking for empty string/buffer always fails + if (val.length === 0) { + return -1; } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === "number") { + val = val & 0xff; // Search for a byte value [0-255] + if (typeof Uint8Array.prototype.indexOf === "function") { + if (dir) { + return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset); + } else { + return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset); + } + } + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + + throw new TypeError("val must be string, number or Buffer"); } - else { - const items = gen.var("items", (0, codegen_1._) `${source}.evaluated.items`); - it.items = util_1.mergeEvaluated.items(gen, items, it.items, codegen_1.Name); - } - } - } -} -exports.callRef = callRef; -exports.default = def; - -},{"../../compile":52,"../../compile/codegen":49,"../../compile/names":53,"../../compile/ref_error":54,"../../compile/util":57,"../code":98}],102:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const types_1 = require("../discriminator/types"); -const compile_1 = require("../../compile"); -const util_1 = require("../../compile/util"); -const error = { - message: ({ params: { discrError, tagName } }) => discrError === types_1.DiscrError.Tag - ? `tag "${tagName}" must be string` - : `value of tag "${tagName}" must be in oneOf`, - params: ({ params: { discrError, tag, tagName } }) => (0, codegen_1._) `{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`, -}; -const def = { - keyword: "discriminator", - type: "object", - schemaType: "object", - error, - code(cxt) { - const { gen, data, schema, parentSchema, it } = cxt; - const { oneOf } = parentSchema; - if (!it.opts.discriminator) { - throw new Error("discriminator: requires discriminator option"); - } - const tagName = schema.propertyName; - if (typeof tagName != "string") - throw new Error("discriminator: requires propertyName"); - if (schema.mapping) - throw new Error("discriminator: mapping is not supported"); - if (!oneOf) - throw new Error("discriminator: requires oneOf keyword"); - const valid = gen.let("valid", false); - const tag = gen.const("tag", (0, codegen_1._) `${data}${(0, codegen_1.getProperty)(tagName)}`); - gen.if((0, codegen_1._) `typeof ${tag} == "string"`, () => validateMapping(), () => cxt.error(false, { discrError: types_1.DiscrError.Tag, tag, tagName })); - cxt.ok(valid); - function validateMapping() { - const mapping = getMapping(); - gen.if(false); - for (const tagValue in mapping) { - gen.elseIf((0, codegen_1._) `${tag} === ${tagValue}`); - gen.assign(valid, applyTagSchema(mapping[tagValue])); - } - gen.else(); - cxt.error(false, { discrError: types_1.DiscrError.Mapping, tag, tagName }); - gen.endIf(); - } - function applyTagSchema(schemaProp) { - const _valid = gen.name("valid"); - const schCxt = cxt.subschema({ keyword: "oneOf", schemaProp }, _valid); - cxt.mergeEvaluated(schCxt, codegen_1.Name); - return _valid; - } - function getMapping() { - var _a; - const oneOfMapping = {}; - const topRequired = hasRequired(parentSchema); - let tagRequired = true; - for (let i = 0; i < oneOf.length; i++) { - let sch = oneOf[i]; - if ((sch === null || sch === void 0 ? void 0 : sch.$ref) && !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES)) { - sch = compile_1.resolveRef.call(it.self, it.schemaEnv.root, it.baseId, sch === null || sch === void 0 ? void 0 : sch.$ref); - if (sch instanceof compile_1.SchemaEnv) - sch = sch.schema; + + function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + var indexSize = 1; + var arrLength = arr.length; + var valLength = val.length; + + if (encoding !== undefined) { + encoding = String(encoding).toLowerCase(); + if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { + if (arr.length < 2 || val.length < 2) { + return -1; + } + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; } - const propSch = (_a = sch === null || sch === void 0 ? void 0 : sch.properties) === null || _a === void 0 ? void 0 : _a[tagName]; - if (typeof propSch != "object") { - throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${tagName}"`); + } + + function read(buf, i) { + if (indexSize === 1) { + return buf[i]; + } else { + return buf.readUInt16BE(i * indexSize); } - tagRequired = tagRequired && (topRequired || hasRequired(sch)); - addMappings(propSch, i); - } - if (!tagRequired) - throw new Error(`discriminator: "${tagName}" must be required`); - return oneOfMapping; - function hasRequired({ required }) { - return Array.isArray(required) && required.includes(tagName); - } - function addMappings(sch, i) { - if (sch.const) { - addMapping(sch.const, i); + } + + var i; + if (dir) { + var foundIndex = -1; + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) foundIndex = i; + if (i - foundIndex + 1 === valLength) return foundIndex * indexSize; + } else { + if (foundIndex !== -1) i -= i - foundIndex; + foundIndex = -1; + } } - else if (sch.enum) { - for (const tagValue of sch.enum) { - addMapping(tagValue, i); + } else { + if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength; + for (i = byteOffset; i >= 0; i--) { + var found = true; + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false; + break; } + } + if (found) return i; } - else { - throw new Error(`discriminator: "properties/${tagName}" must have "const" or "enum"`); - } + } + + return -1; } - function addMapping(tagValue, i) { - if (typeof tagValue != "string" || tagValue in oneOfMapping) { - throw new Error(`discriminator: "${tagName}" values must be unique strings`); + + Buffer.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; + }; + + Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); + }; + + Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); + }; + + function hexWrite(buf, string, offset, length) { + offset = Number(offset) || 0; + var remaining = buf.length - offset; + if (!length) { + length = remaining; + } else { + length = Number(length); + if (length > remaining) { + length = remaining; } - oneOfMapping[tagValue] = i; + } + + var strLen = string.length; + + if (length > strLen / 2) { + length = strLen / 2; + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16); + if (numberIsNaN(parsed)) return i; + buf[offset + i] = parsed; + } + return i; } - } - }, -}; -exports.default = def; - -},{"../../compile":52,"../../compile/codegen":49,"../../compile/util":57,"../discriminator/types":103}],103:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.DiscrError = void 0; -var DiscrError; -(function (DiscrError) { - DiscrError["Tag"] = "tag"; - DiscrError["Mapping"] = "mapping"; -})(DiscrError = exports.DiscrError || (exports.DiscrError = {})); - -},{}],104:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const core_1 = require("./core"); -const validation_1 = require("./validation"); -const applicator_1 = require("./applicator"); -const dynamic_1 = require("./dynamic"); -const next_1 = require("./next"); -const unevaluated_1 = require("./unevaluated"); -const format_1 = require("./format"); -const metadata_1 = require("./metadata"); -const draft2020Vocabularies = [ - dynamic_1.default, - core_1.default, - validation_1.default, - (0, applicator_1.default)(true), - format_1.default, - metadata_1.metadataVocabulary, - metadata_1.contentVocabulary, - next_1.default, - unevaluated_1.default, -]; -exports.default = draft2020Vocabularies; - -},{"./applicator":88,"./core":100,"./dynamic":107,"./format":111,"./metadata":112,"./next":113,"./unevaluated":114,"./validation":120}],105:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.dynamicAnchor = void 0; -const codegen_1 = require("../../compile/codegen"); -const names_1 = require("../../compile/names"); -const compile_1 = require("../../compile"); -const ref_1 = require("../core/ref"); -const def = { - keyword: "$dynamicAnchor", - schemaType: "string", - code: (cxt) => dynamicAnchor(cxt, cxt.schema), -}; -function dynamicAnchor(cxt, anchor) { - const { gen, it } = cxt; - it.schemaEnv.root.dynamicAnchors[anchor] = true; - const v = (0, codegen_1._) `${names_1.default.dynamicAnchors}${(0, codegen_1.getProperty)(anchor)}`; - const validate = it.errSchemaPath === "#" ? it.validateName : _getValidate(cxt); - gen.if((0, codegen_1._) `!${v}`, () => gen.assign(v, validate)); -} -exports.dynamicAnchor = dynamicAnchor; -function _getValidate(cxt) { - const { schemaEnv, schema, self } = cxt.it; - const { root, baseId, localRefs, meta } = schemaEnv.root; - const { schemaId } = self.opts; - const sch = new compile_1.SchemaEnv({ schema, schemaId, root, baseId, localRefs, meta }); - compile_1.compileSchema.call(self, sch); - return (0, ref_1.getValidate)(cxt, sch); -} -exports.default = def; - -},{"../../compile":52,"../../compile/codegen":49,"../../compile/names":53,"../core/ref":101}],106:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.dynamicRef = void 0; -const codegen_1 = require("../../compile/codegen"); -const names_1 = require("../../compile/names"); -const ref_1 = require("../core/ref"); -const def = { - keyword: "$dynamicRef", - schemaType: "string", - code: (cxt) => dynamicRef(cxt, cxt.schema), -}; -function dynamicRef(cxt, ref) { - const { gen, keyword, it } = cxt; - if (ref[0] !== "#") - throw new Error(`"${keyword}" only supports hash fragment reference`); - const anchor = ref.slice(1); - if (it.allErrors) { - _dynamicRef(); - } - else { - const valid = gen.let("valid", false); - _dynamicRef(valid); - cxt.ok(valid); - } - function _dynamicRef(valid) { - // TODO the assumption here is that `recursiveRef: #` always points to the root - // of the schema object, which is not correct, because there may be $id that - // makes # point to it, and the target schema may not contain dynamic/recursiveAnchor. - // Because of that 2 tests in recursiveRef.json fail. - // This is a similar problem to #815 (`$id` doesn't alter resolution scope for `{ "$ref": "#" }`). - // (This problem is not tested in JSON-Schema-Test-Suite) - if (it.schemaEnv.root.dynamicAnchors[anchor]) { - const v = gen.let("_v", (0, codegen_1._) `${names_1.default.dynamicAnchors}${(0, codegen_1.getProperty)(anchor)}`); - gen.if(v, _callRef(v, valid), _callRef(it.validateName, valid)); - } - else { - _callRef(it.validateName, valid)(); - } - } - function _callRef(validate, valid) { - return valid - ? () => gen.block(() => { - (0, ref_1.callRef)(cxt, validate); - gen.let(valid, true); - }) - : () => (0, ref_1.callRef)(cxt, validate); - } -} -exports.dynamicRef = dynamicRef; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/names":53,"../core/ref":101}],107:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const dynamicAnchor_1 = require("./dynamicAnchor"); -const dynamicRef_1 = require("./dynamicRef"); -const recursiveAnchor_1 = require("./recursiveAnchor"); -const recursiveRef_1 = require("./recursiveRef"); -const dynamic = [dynamicAnchor_1.default, dynamicRef_1.default, recursiveAnchor_1.default, recursiveRef_1.default]; -exports.default = dynamic; - -},{"./dynamicAnchor":105,"./dynamicRef":106,"./recursiveAnchor":108,"./recursiveRef":109}],108:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const dynamicAnchor_1 = require("./dynamicAnchor"); -const util_1 = require("../../compile/util"); -const def = { - keyword: "$recursiveAnchor", - schemaType: "boolean", - code(cxt) { - if (cxt.schema) - (0, dynamicAnchor_1.dynamicAnchor)(cxt, ""); - else - (0, util_1.checkStrictMode)(cxt.it, "$recursiveAnchor: false is ignored"); - }, -}; -exports.default = def; - -},{"../../compile/util":57,"./dynamicAnchor":105}],109:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const dynamicRef_1 = require("./dynamicRef"); -const def = { - keyword: "$recursiveRef", - schemaType: "string", - code: (cxt) => (0, dynamicRef_1.dynamicRef)(cxt, cxt.schema), -}; -exports.default = def; - -},{"./dynamicRef":106}],110:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const error = { - message: ({ schemaCode }) => (0, codegen_1.str) `must match format "${schemaCode}"`, - params: ({ schemaCode }) => (0, codegen_1._) `{format: ${schemaCode}}`, -}; -const def = { - keyword: "format", - type: ["number", "string"], - schemaType: "string", - $data: true, - error, - code(cxt, ruleType) { - const { gen, data, $data, schema, schemaCode, it } = cxt; - const { opts, errSchemaPath, schemaEnv, self } = it; - if (!opts.validateFormats) - return; - if ($data) - validate$DataFormat(); - else - validateFormat(); - function validate$DataFormat() { - const fmts = gen.scopeValue("formats", { - ref: self.formats, - code: opts.code.formats, - }); - const fDef = gen.const("fDef", (0, codegen_1._) `${fmts}[${schemaCode}]`); - const fType = gen.let("fType"); - const format = gen.let("format"); - // TODO simplify - gen.if((0, codegen_1._) `typeof ${fDef} == "object" && !(${fDef} instanceof RegExp)`, () => gen.assign(fType, (0, codegen_1._) `${fDef}.type || "string"`).assign(format, (0, codegen_1._) `${fDef}.validate`), () => gen.assign(fType, (0, codegen_1._) `"string"`).assign(format, fDef)); - cxt.fail$data((0, codegen_1.or)(unknownFmt(), invalidFmt())); - function unknownFmt() { - if (opts.strictSchema === false) - return codegen_1.nil; - return (0, codegen_1._) `${schemaCode} && !${format}`; - } - function invalidFmt() { - const callFormat = schemaEnv.$async - ? (0, codegen_1._) `(${fDef}.async ? await ${format}(${data}) : ${format}(${data}))` - : (0, codegen_1._) `${format}(${data})`; - const validData = (0, codegen_1._) `(typeof ${format} == "function" ? ${callFormat} : ${format}.test(${data}))`; - return (0, codegen_1._) `${format} && ${format} !== true && ${fType} === ${ruleType} && !${validData}`; + + function utf8Write(buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length); } - } - function validateFormat() { - const formatDef = self.formats[schema]; - if (!formatDef) { - unknownFormat(); - return; + + function asciiWrite(buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length); } - if (formatDef === true) - return; - const [fmtType, format, fmtRef] = getFormat(formatDef); - if (fmtType === ruleType) - cxt.pass(validCondition()); - function unknownFormat() { - if (opts.strictSchema === false) { - self.logger.warn(unknownMsg()); - return; + + function latin1Write(buf, string, offset, length) { + return asciiWrite(buf, string, offset, length); + } + + function base64Write(buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length); + } + + function ucs2Write(buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length); + } + + Buffer.prototype.write = function write(string, offset, length, encoding) { + // Buffer#write(string) + if (offset === undefined) { + encoding = "utf8"; + length = this.length; + offset = 0; + // Buffer#write(string, encoding) + } else if (length === undefined && typeof offset === "string") { + encoding = offset; + length = this.length; + offset = 0; + // Buffer#write(string, offset[, length][, encoding]) + } else if (isFinite(offset)) { + offset = offset >>> 0; + if (isFinite(length)) { + length = length >>> 0; + if (encoding === undefined) encoding = "utf8"; + } else { + encoding = length; + length = undefined; } - throw new Error(unknownMsg()); - function unknownMsg() { - return `unknown format "${schema}" ignored in schema at path "${errSchemaPath}"`; + } else { + throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); + } + + var remaining = this.length - offset; + if (length === undefined || length > remaining) length = remaining; + + if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { + throw new RangeError("Attempt to write outside buffer bounds"); + } + + if (!encoding) encoding = "utf8"; + + var loweredCase = false; + for (;;) { + switch (encoding) { + case "hex": + return hexWrite(this, string, offset, length); + + case "utf8": + case "utf-8": + return utf8Write(this, string, offset, length); + + case "ascii": + return asciiWrite(this, string, offset, length); + + case "latin1": + case "binary": + return latin1Write(this, string, offset, length); + + case "base64": + // Warning: maxLength not taken into account in base64Write + return base64Write(this, string, offset, length); + + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return ucs2Write(this, string, offset, length); + + default: + if (loweredCase) throw new TypeError("Unknown encoding: " + encoding); + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; } + } + }; + + Buffer.prototype.toJSON = function toJSON() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0), + }; + }; + + function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base64.fromByteArray(buf); + } else { + return base64.fromByteArray(buf.slice(start, end)); + } } - function getFormat(fmtDef) { - const code = fmtDef instanceof RegExp - ? (0, codegen_1.regexpCode)(fmtDef) - : opts.code.formats - ? (0, codegen_1._) `${opts.code.formats}${(0, codegen_1.getProperty)(schema)}` - : undefined; - const fmt = gen.scopeValue("formats", { key: schema, ref: fmtDef, code }); - if (typeof fmtDef == "object" && !(fmtDef instanceof RegExp)) { - return [fmtDef.type || "string", fmtDef.validate, (0, codegen_1._) `${fmt}.validate`]; + + function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + var res = []; + + var i = start; + while (i < end) { + var firstByte = buf[i]; + var codePoint = null; + var bytesPerSequence = firstByte > 0xef ? 4 : firstByte > 0xdf ? 3 : firstByte > 0xbf ? 2 : 1; + + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint; + + switch (bytesPerSequence) { + case 1: + if (firstByte < 0x80) { + codePoint = firstByte; + } + break; + case 2: + secondByte = buf[i + 1]; + if ((secondByte & 0xc0) === 0x80) { + tempCodePoint = ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f); + if (tempCodePoint > 0x7f) { + codePoint = tempCodePoint; + } + } + break; + case 3: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + if ((secondByte & 0xc0) === 0x80 && (thirdByte & 0xc0) === 0x80) { + tempCodePoint = ((firstByte & 0xf) << 0xc) | ((secondByte & 0x3f) << 0x6) | (thirdByte & 0x3f); + if (tempCodePoint > 0x7ff && (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)) { + codePoint = tempCodePoint; + } + } + break; + case 4: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + fourthByte = buf[i + 3]; + if ((secondByte & 0xc0) === 0x80 && (thirdByte & 0xc0) === 0x80 && (fourthByte & 0xc0) === 0x80) { + tempCodePoint = + ((firstByte & 0xf) << 0x12) | + ((secondByte & 0x3f) << 0xc) | + ((thirdByte & 0x3f) << 0x6) | + (fourthByte & 0x3f); + if (tempCodePoint > 0xffff && tempCodePoint < 0x110000) { + codePoint = tempCodePoint; + } + } + } } - return ["string", fmtDef, fmt]; - } - function validCondition() { - if (typeof formatDef == "object" && !(formatDef instanceof RegExp) && formatDef.async) { - if (!schemaEnv.$async) - throw new Error("async format in sync schema"); - return (0, codegen_1._) `await ${fmtRef}(${data})`; + + if (codePoint === null) { + // we did not generate a valid codePoint so insert a + // replacement char (U+FFFD) and advance only 1 byte + codePoint = 0xfffd; + bytesPerSequence = 1; + } else if (codePoint > 0xffff) { + // encode to utf16 (surrogate pair dance) + codePoint -= 0x10000; + res.push(((codePoint >>> 10) & 0x3ff) | 0xd800); + codePoint = 0xdc00 | (codePoint & 0x3ff); } - return typeof format == "function" ? (0, codegen_1._) `${fmtRef}(${data})` : (0, codegen_1._) `${fmtRef}.test(${data})`; - } - } - }, -}; -exports.default = def; - -},{"../../compile/codegen":49}],111:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const format_1 = require("./format"); -const format = [format_1.default]; -exports.default = format; - -},{"./format":110}],112:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.contentVocabulary = exports.metadataVocabulary = void 0; -exports.metadataVocabulary = [ - "title", - "description", - "default", - "deprecated", - "readOnly", - "writeOnly", - "examples", -]; -exports.contentVocabulary = [ - "contentMediaType", - "contentEncoding", - "contentSchema", -]; - -},{}],113:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const dependentRequired_1 = require("./validation/dependentRequired"); -const dependentSchemas_1 = require("./applicator/dependentSchemas"); -const limitContains_1 = require("./validation/limitContains"); -const next = [dependentRequired_1.default, dependentSchemas_1.default, limitContains_1.default]; -exports.default = next; - -},{"./applicator/dependentSchemas":86,"./validation/dependentRequired":118,"./validation/limitContains":121}],114:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const unevaluatedProperties_1 = require("./unevaluatedProperties"); -const unevaluatedItems_1 = require("./unevaluatedItems"); -const unevaluated = [unevaluatedProperties_1.default, unevaluatedItems_1.default]; -exports.default = unevaluated; - -},{"./unevaluatedItems":115,"./unevaluatedProperties":116}],115:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const error = { - message: ({ params: { len } }) => (0, codegen_1.str) `must NOT have more than ${len} items`, - params: ({ params: { len } }) => (0, codegen_1._) `{limit: ${len}}`, -}; -const def = { - keyword: "unevaluatedItems", - type: "array", - schemaType: ["boolean", "object"], - error, - code(cxt) { - const { gen, schema, data, it } = cxt; - const items = it.items || 0; - if (items === true) - return; - const len = gen.const("len", (0, codegen_1._) `${data}.length`); - if (schema === false) { - cxt.setParams({ len: items }); - cxt.fail((0, codegen_1._) `${len} > ${items}`); - } - else if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) { - const valid = gen.var("valid", (0, codegen_1._) `${len} <= ${items}`); - gen.if((0, codegen_1.not)(valid), () => validateItems(valid, items)); - cxt.ok(valid); - } - it.items = true; - function validateItems(valid, from) { - gen.forRange("i", from, len, (i) => { - cxt.subschema({ keyword: "unevaluatedItems", dataProp: i, dataPropType: util_1.Type.Num }, valid); - if (!it.allErrors) - gen.if((0, codegen_1.not)(valid), () => gen.break()); - }); - } - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57}],116:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const names_1 = require("../../compile/names"); -const error = { - message: "must NOT have unevaluated properties", - params: ({ params }) => (0, codegen_1._) `{unevaluatedProperty: ${params.unevaluatedProperty}}`, -}; -const def = { - keyword: "unevaluatedProperties", - type: "object", - schemaType: ["boolean", "object"], - trackErrors: true, - error, - code(cxt) { - const { gen, schema, data, errsCount, it } = cxt; - /* istanbul ignore if */ - if (!errsCount) - throw new Error("ajv implementation error"); - const { allErrors, props } = it; - if (props instanceof codegen_1.Name) { - gen.if((0, codegen_1._) `${props} !== true`, () => gen.forIn("key", data, (key) => gen.if(unevaluatedDynamic(props, key), () => unevaluatedPropCode(key)))); - } - else if (props !== true) { - gen.forIn("key", data, (key) => props === undefined - ? unevaluatedPropCode(key) - : gen.if(unevaluatedStatic(props, key), () => unevaluatedPropCode(key))); - } - it.props = true; - cxt.ok((0, codegen_1._) `${errsCount} === ${names_1.default.errors}`); - function unevaluatedPropCode(key) { - if (schema === false) { - cxt.setParams({ unevaluatedProperty: key }); - cxt.error(); - if (!allErrors) - gen.break(); - return; + + res.push(codePoint); + i += bytesPerSequence; + } + + return decodeCodePointsArray(res); } - if (!(0, util_1.alwaysValidSchema)(it, schema)) { - const valid = gen.name("valid"); - cxt.subschema({ - keyword: "unevaluatedProperties", - dataProp: key, - dataPropType: util_1.Type.Str, - }, valid); - if (!allErrors) - gen.if((0, codegen_1.not)(valid), () => gen.break()); + + // Based on http://stackoverflow.com/a/22747272/680742, the browser with + // the lowest limit is Chrome, with 0x10000 args. + // We go 1 magnitude less, for safety + var MAX_ARGUMENTS_LENGTH = 0x1000; + + function decodeCodePointsArray(codePoints) { + var len = codePoints.length; + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); // avoid extra slice() + } + + // Decode in chunks to avoid "call stack size exceeded". + var res = ""; + var i = 0; + while (i < len) { + res += String.fromCharCode.apply(String, codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH))); + } + return res; } - } - function unevaluatedDynamic(evaluatedProps, key) { - return (0, codegen_1._) `!${evaluatedProps} || !${evaluatedProps}[${key}]`; - } - function unevaluatedStatic(evaluatedProps, key) { - const ps = []; - for (const p in evaluatedProps) { - if (evaluatedProps[p] === true) - ps.push((0, codegen_1._) `${key} !== ${p}`); - } - return (0, codegen_1.and)(...ps); - } - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/names":53,"../../compile/util":57}],117:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const equal_1 = require("../../runtime/equal"); -const error = { - message: "must be equal to constant", - params: ({ schemaCode }) => (0, codegen_1._) `{allowedValue: ${schemaCode}}`, -}; -const def = { - keyword: "const", - $data: true, - error, - code(cxt) { - const { gen, data, $data, schemaCode, schema } = cxt; - if ($data || (schema && typeof schema == "object")) { - cxt.fail$data((0, codegen_1._) `!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`); - } - else { - cxt.fail((0, codegen_1._) `${schema} !== ${data}`); - } - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57,"../../runtime/equal":76}],118:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const dependencies_1 = require("../applicator/dependencies"); -const def = { - keyword: "dependentRequired", - type: "object", - schemaType: "object", - error: dependencies_1.error, - code: (cxt) => (0, dependencies_1.validatePropertyDeps)(cxt), -}; -exports.default = def; - -},{"../applicator/dependencies":85}],119:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const equal_1 = require("../../runtime/equal"); -const error = { - message: "must be equal to one of the allowed values", - params: ({ schemaCode }) => (0, codegen_1._) `{allowedValues: ${schemaCode}}`, -}; -const def = { - keyword: "enum", - schemaType: "array", - $data: true, - error, - code(cxt) { - const { gen, data, $data, schema, schemaCode, it } = cxt; - if (!$data && schema.length === 0) - throw new Error("enum must have non-empty array"); - const useLoop = schema.length >= it.opts.loopEnum; - let eql; - const getEql = () => (eql !== null && eql !== void 0 ? eql : (eql = (0, util_1.useFunc)(gen, equal_1.default))); - let valid; - if (useLoop || $data) { - valid = gen.let("valid"); - cxt.block$data(valid, loopEnum); - } - else { - /* istanbul ignore if */ - if (!Array.isArray(schema)) - throw new Error("ajv implementation error"); - const vSchema = gen.const("vSchema", schemaCode); - valid = (0, codegen_1.or)(...schema.map((_x, i) => equalCode(vSchema, i))); - } - cxt.pass(valid); - function loopEnum() { - gen.assign(valid, false); - gen.forOf("v", schemaCode, (v) => gen.if((0, codegen_1._) `${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break())); - } - function equalCode(vSchema, i) { - const sch = schema[i]; - return typeof sch === "object" && sch !== null - ? (0, codegen_1._) `${getEql()}(${data}, ${vSchema}[${i}])` - : (0, codegen_1._) `${data} === ${sch}`; - } - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57,"../../runtime/equal":76}],120:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const limitNumber_1 = require("./limitNumber"); -const multipleOf_1 = require("./multipleOf"); -const limitLength_1 = require("./limitLength"); -const pattern_1 = require("./pattern"); -const limitProperties_1 = require("./limitProperties"); -const required_1 = require("./required"); -const limitItems_1 = require("./limitItems"); -const uniqueItems_1 = require("./uniqueItems"); -const const_1 = require("./const"); -const enum_1 = require("./enum"); -const validation = [ - // number - limitNumber_1.default, - multipleOf_1.default, - // string - limitLength_1.default, - pattern_1.default, - // object - limitProperties_1.default, - required_1.default, - // array - limitItems_1.default, - uniqueItems_1.default, - // any - { keyword: "type", schemaType: ["string", "array"] }, - { keyword: "nullable", schemaType: "boolean" }, - const_1.default, - enum_1.default, -]; -exports.default = validation; - -},{"./const":117,"./enum":119,"./limitItems":122,"./limitLength":123,"./limitNumber":124,"./limitProperties":125,"./multipleOf":126,"./pattern":127,"./required":128,"./uniqueItems":129}],121:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const util_1 = require("../../compile/util"); -const def = { - keyword: ["maxContains", "minContains"], - type: "array", - schemaType: "number", - code({ keyword, parentSchema, it }) { - if (parentSchema.contains === undefined) { - (0, util_1.checkStrictMode)(it, `"${keyword}" without "contains" is ignored`); - } - }, -}; -exports.default = def; - -},{"../../compile/util":57}],122:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const error = { - message({ keyword, schemaCode }) { - const comp = keyword === "maxItems" ? "more" : "fewer"; - return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} items`; - }, - params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`, -}; -const def = { - keyword: ["maxItems", "minItems"], - type: "array", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { keyword, data, schemaCode } = cxt; - const op = keyword === "maxItems" ? codegen_1.operators.GT : codegen_1.operators.LT; - cxt.fail$data((0, codegen_1._) `${data}.length ${op} ${schemaCode}`); - }, -}; -exports.default = def; - -},{"../../compile/codegen":49}],123:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const ucs2length_1 = require("../../runtime/ucs2length"); -const error = { - message({ keyword, schemaCode }) { - const comp = keyword === "maxLength" ? "more" : "fewer"; - return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} characters`; - }, - params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`, -}; -const def = { - keyword: ["maxLength", "minLength"], - type: "string", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { keyword, data, schemaCode, it } = cxt; - const op = keyword === "maxLength" ? codegen_1.operators.GT : codegen_1.operators.LT; - const len = it.opts.unicode === false ? (0, codegen_1._) `${data}.length` : (0, codegen_1._) `${(0, util_1.useFunc)(cxt.gen, ucs2length_1.default)}(${data})`; - cxt.fail$data((0, codegen_1._) `${len} ${op} ${schemaCode}`); - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57,"../../runtime/ucs2length":77}],124:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const ops = codegen_1.operators; -const KWDs = { - maximum: { okStr: "<=", ok: ops.LTE, fail: ops.GT }, - minimum: { okStr: ">=", ok: ops.GTE, fail: ops.LT }, - exclusiveMaximum: { okStr: "<", ok: ops.LT, fail: ops.GTE }, - exclusiveMinimum: { okStr: ">", ok: ops.GT, fail: ops.LTE }, -}; -const error = { - message: ({ keyword, schemaCode }) => (0, codegen_1.str) `must be ${KWDs[keyword].okStr} ${schemaCode}`, - params: ({ keyword, schemaCode }) => (0, codegen_1._) `{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`, -}; -const def = { - keyword: Object.keys(KWDs), - type: "number", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { keyword, data, schemaCode } = cxt; - cxt.fail$data((0, codegen_1._) `${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`); - }, -}; -exports.default = def; - -},{"../../compile/codegen":49}],125:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const error = { - message({ keyword, schemaCode }) { - const comp = keyword === "maxProperties" ? "more" : "fewer"; - return (0, codegen_1.str) `must NOT have ${comp} than ${schemaCode} properties`; - }, - params: ({ schemaCode }) => (0, codegen_1._) `{limit: ${schemaCode}}`, -}; -const def = { - keyword: ["maxProperties", "minProperties"], - type: "object", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { keyword, data, schemaCode } = cxt; - const op = keyword === "maxProperties" ? codegen_1.operators.GT : codegen_1.operators.LT; - cxt.fail$data((0, codegen_1._) `Object.keys(${data}).length ${op} ${schemaCode}`); - }, -}; -exports.default = def; - -},{"../../compile/codegen":49}],126:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const codegen_1 = require("../../compile/codegen"); -const error = { - message: ({ schemaCode }) => (0, codegen_1.str) `must be multiple of ${schemaCode}`, - params: ({ schemaCode }) => (0, codegen_1._) `{multipleOf: ${schemaCode}}`, -}; -const def = { - keyword: "multipleOf", - type: "number", - schemaType: "number", - $data: true, - error, - code(cxt) { - const { gen, data, schemaCode, it } = cxt; - // const bdt = bad$DataType(schemaCode, def.schemaType, $data) - const prec = it.opts.multipleOfPrecision; - const res = gen.let("res"); - const invalid = prec - ? (0, codegen_1._) `Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}` - : (0, codegen_1._) `${res} !== parseInt(${res})`; - cxt.fail$data((0, codegen_1._) `(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`); - }, -}; -exports.default = def; - -},{"../../compile/codegen":49}],127:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const code_1 = require("../code"); -const codegen_1 = require("../../compile/codegen"); -const error = { - message: ({ schemaCode }) => (0, codegen_1.str) `must match pattern "${schemaCode}"`, - params: ({ schemaCode }) => (0, codegen_1._) `{pattern: ${schemaCode}}`, -}; -const def = { - keyword: "pattern", - type: "string", - schemaType: "string", - $data: true, - error, - code(cxt) { - const { data, $data, schema, schemaCode, it } = cxt; - // TODO regexp should be wrapped in try/catchs - const u = it.opts.unicodeRegExp ? "u" : ""; - const regExp = $data ? (0, codegen_1._) `(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema); - cxt.fail$data((0, codegen_1._) `!${regExp}.test(${data})`); - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../code":98}],128:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const code_1 = require("../code"); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const error = { - message: ({ params: { missingProperty } }) => (0, codegen_1.str) `must have required property '${missingProperty}'`, - params: ({ params: { missingProperty } }) => (0, codegen_1._) `{missingProperty: ${missingProperty}}`, -}; -const def = { - keyword: "required", - type: "object", - schemaType: "array", - $data: true, - error, - code(cxt) { - const { gen, schema, schemaCode, data, $data, it } = cxt; - const { opts } = it; - if (!$data && schema.length === 0) - return; - const useLoop = schema.length >= opts.loopRequired; - if (it.allErrors) - allErrorsMode(); - else - exitOnErrorMode(); - if (opts.strictRequired) { - const props = cxt.parentSchema.properties; - const { definedProperties } = cxt.it; - for (const requiredKey of schema) { - if ((props === null || props === void 0 ? void 0 : props[requiredKey]) === undefined && !definedProperties.has(requiredKey)) { - const schemaPath = it.schemaEnv.baseId + it.errSchemaPath; - const msg = `required property "${requiredKey}" is not defined at "${schemaPath}" (strictRequired)`; - (0, util_1.checkStrictMode)(it, msg, it.opts.strictRequired); - } + + function asciiSlice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 0x7f); + } + return ret; } - } - function allErrorsMode() { - if (useLoop || $data) { - cxt.block$data(codegen_1.nil, loopAllRequired); + + function latin1Slice(buf, start, end) { + var ret = ""; + end = Math.min(buf.length, end); + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]); + } + return ret; } - else { - for (const prop of schema) { - (0, code_1.checkReportMissingProp)(cxt, prop); - } + + function hexSlice(buf, start, end) { + var len = buf.length; + + if (!start || start < 0) start = 0; + if (!end || end < 0 || end > len) end = len; + + var out = ""; + for (var i = start; i < end; ++i) { + out += toHex(buf[i]); + } + return out; } - } - function exitOnErrorMode() { - const missing = gen.let("missing"); - if (useLoop || $data) { - const valid = gen.let("valid", true); - cxt.block$data(valid, () => loopUntilMissing(missing, valid)); - cxt.ok(valid); + + function utf16leSlice(buf, start, end) { + var bytes = buf.slice(start, end); + var res = ""; + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + } + return res; } - else { - gen.if((0, code_1.checkMissingProp)(cxt, schema, missing)); - (0, code_1.reportMissingProp)(cxt, missing); - gen.else(); + + Buffer.prototype.slice = function slice(start, end) { + var len = this.length; + start = ~~start; + end = end === undefined ? len : ~~end; + + if (start < 0) { + start += len; + if (start < 0) start = 0; + } else if (start > len) { + start = len; + } + + if (end < 0) { + end += len; + if (end < 0) end = 0; + } else if (end > len) { + end = len; + } + + if (end < start) end = start; + + var newBuf = this.subarray(start, end); + // Return an augmented `Uint8Array` instance + newBuf.__proto__ = Buffer.prototype; + return newBuf; + }; + + /* + * Need to make sure that buffer isn't trying to write out of bounds. + */ + function checkOffset(offset, ext, length) { + if (offset % 1 !== 0 || offset < 0) throw new RangeError("offset is not uint"); + if (offset + ext > length) throw new RangeError("Trying to access beyond buffer length"); } - } - function loopAllRequired() { - gen.forOf("prop", schemaCode, (prop) => { - cxt.setParams({ missingProperty: prop }); - gen.if((0, code_1.noPropertyInData)(gen, data, prop, opts.ownProperties), () => cxt.error()); - }); - } - function loopUntilMissing(missing, valid) { - cxt.setParams({ missingProperty: missing }); - gen.forOf(missing, schemaCode, () => { - gen.assign(valid, (0, code_1.propertyInData)(gen, data, missing, opts.ownProperties)); - gen.if((0, codegen_1.not)(valid), () => { - cxt.error(); - gen.break(); - }); - }, codegen_1.nil); - } - }, -}; -exports.default = def; - -},{"../../compile/codegen":49,"../../compile/util":57,"../code":98}],129:[function(require,module,exports){ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const dataType_1 = require("../../compile/validate/dataType"); -const codegen_1 = require("../../compile/codegen"); -const util_1 = require("../../compile/util"); -const equal_1 = require("../../runtime/equal"); -const error = { - message: ({ params: { i, j } }) => (0, codegen_1.str) `must NOT have duplicate items (items ## ${j} and ${i} are identical)`, - params: ({ params: { i, j } }) => (0, codegen_1._) `{i: ${i}, j: ${j}}`, -}; -const def = { - keyword: "uniqueItems", - type: "array", - schemaType: "boolean", - $data: true, - error, - code(cxt) { - const { gen, data, $data, schema, parentSchema, schemaCode, it } = cxt; - if (!$data && !schema) - return; - const valid = gen.let("valid"); - const itemTypes = parentSchema.items ? (0, dataType_1.getSchemaTypes)(parentSchema.items) : []; - cxt.block$data(valid, validateUniqueItems, (0, codegen_1._) `${schemaCode} === false`); - cxt.ok(valid); - function validateUniqueItems() { - const i = gen.let("i", (0, codegen_1._) `${data}.length`); - const j = gen.let("j"); - cxt.setParams({ i, j }); - gen.assign(valid, true); - gen.if((0, codegen_1._) `${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j)); - } - function canOptimize() { - return itemTypes.length > 0 && !itemTypes.some((t) => t === "object" || t === "array"); - } - function loopN(i, j) { - const item = gen.name("item"); - const wrongType = (0, dataType_1.checkDataTypes)(itemTypes, item, it.opts.strictNumbers, dataType_1.DataType.Wrong); - const indices = gen.const("indices", (0, codegen_1._) `{}`); - gen.for((0, codegen_1._) `;${i}--;`, () => { - gen.let(item, (0, codegen_1._) `${data}[${i}]`); - gen.if(wrongType, (0, codegen_1._) `continue`); - if (itemTypes.length > 1) - gen.if((0, codegen_1._) `typeof ${item} == "string"`, (0, codegen_1._) `${item} += "_"`); - gen - .if((0, codegen_1._) `typeof ${indices}[${item}] == "number"`, () => { - gen.assign(j, (0, codegen_1._) `${indices}[${item}]`); - cxt.error(); - gen.assign(valid, false).break(); - }) - .code((0, codegen_1._) `${indices}[${item}] = ${i}`); - }); - } - function loopN2(i, j) { - const eql = (0, util_1.useFunc)(gen, equal_1.default); - const outer = gen.name("outer"); - gen.label(outer).for((0, codegen_1._) `;${i}--;`, () => gen.for((0, codegen_1._) `${j} = ${i}; ${j}--;`, () => gen.if((0, codegen_1._) `${eql}(${data}[${i}], ${data}[${j}])`, () => { - cxt.error(); - gen.assign(valid, false).break(outer); - }))); - } - }, -}; -exports.default = def; -},{"../../compile/codegen":49,"../../compile/util":57,"../../compile/validate/dataType":60,"../../runtime/equal":76}],130:[function(require,module,exports){ -'use strict' + Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) checkOffset(offset, byteLength, this.length); + + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul; + } + + return val; + }; + + Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) { + checkOffset(offset, byteLength, this.length); + } + + var val = this[offset + --byteLength]; + var mul = 1; + while (byteLength > 0 && (mul *= 0x100)) { + val += this[offset + --byteLength] * mul; + } + + return val; + }; + + Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 1, this.length); + return this[offset]; + }; + + Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + return this[offset] | (this[offset + 1] << 8); + }; + + Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + return (this[offset] << 8) | this[offset + 1]; + }; + + Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + + return (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) + this[offset + 3] * 0x1000000; + }; + + Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); -exports.byteLength = byteLength -exports.toByteArray = toByteArray -exports.fromByteArray = fromByteArray + return this[offset] * 0x1000000 + ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3]); + }; -var lookup = [] -var revLookup = [] -var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array + Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) checkOffset(offset, byteLength, this.length); -var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' -for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i] - revLookup[code.charCodeAt(i)] = i -} + var val = this[offset]; + var mul = 1; + var i = 0; + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul; + } + mul *= 0x80; -// Support decoding URL-safe base64 strings, as Node.js does. -// See: https://en.wikipedia.org/wiki/Base64#URL_applications -revLookup['-'.charCodeAt(0)] = 62 -revLookup['_'.charCodeAt(0)] = 63 + if (val >= mul) val -= Math.pow(2, 8 * byteLength); -function getLens (b64) { - var len = b64.length + return val; + }; - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } + Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) checkOffset(offset, byteLength, this.length); - // Trim off extra bytes after placeholder bytes are found - // See: https://github.com/beatgammit/base64-js/issues/42 - var validLen = b64.indexOf('=') - if (validLen === -1) validLen = len - - var placeHoldersLen = validLen === len - ? 0 - : 4 - (validLen % 4) - - return [validLen, placeHoldersLen] -} - -// base64 is 4/3 + up to two characters of the original data -function byteLength (b64) { - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} - -function _byteLength (b64, validLen, placeHoldersLen) { - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} - -function toByteArray (b64) { - var tmp - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - - var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) - - var curByte = 0 - - // if there are placeholders, only get up to the last complete 4 chars - var len = placeHoldersLen > 0 - ? validLen - 4 - : validLen - - var i - for (i = 0; i < len; i += 4) { - tmp = - (revLookup[b64.charCodeAt(i)] << 18) | - (revLookup[b64.charCodeAt(i + 1)] << 12) | - (revLookup[b64.charCodeAt(i + 2)] << 6) | - revLookup[b64.charCodeAt(i + 3)] - arr[curByte++] = (tmp >> 16) & 0xFF - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } + var i = byteLength; + var mul = 1; + var val = this[offset + --i]; + while (i > 0 && (mul *= 0x100)) { + val += this[offset + --i] * mul; + } + mul *= 0x80; - if (placeHoldersLen === 2) { - tmp = - (revLookup[b64.charCodeAt(i)] << 2) | - (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[curByte++] = tmp & 0xFF - } + if (val >= mul) val -= Math.pow(2, 8 * byteLength); - if (placeHoldersLen === 1) { - tmp = - (revLookup[b64.charCodeAt(i)] << 10) | - (revLookup[b64.charCodeAt(i + 1)] << 4) | - (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } + return val; + }; - return arr -} - -function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + - lookup[num >> 12 & 0x3F] + - lookup[num >> 6 & 0x3F] + - lookup[num & 0x3F] -} - -function encodeChunk (uint8, start, end) { - var tmp - var output = [] - for (var i = start; i < end; i += 3) { - tmp = - ((uint8[i] << 16) & 0xFF0000) + - ((uint8[i + 1] << 8) & 0xFF00) + - (uint8[i + 2] & 0xFF) - output.push(tripletToBase64(tmp)) - } - return output.join('') -} - -function fromByteArray (uint8) { - var tmp - var len = uint8.length - var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes - var parts = [] - var maxChunkLength = 16383 // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) - } + Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 1, this.length); + if (!(this[offset] & 0x80)) return this[offset]; + return (0xff - this[offset] + 1) * -1; + }; - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1] - parts.push( - lookup[tmp >> 2] + - lookup[(tmp << 4) & 0x3F] + - '==' - ) - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1] - parts.push( - lookup[tmp >> 10] + - lookup[(tmp >> 4) & 0x3F] + - lookup[(tmp << 2) & 0x3F] + - '=' - ) - } + Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + var val = this[offset] | (this[offset + 1] << 8); + return val & 0x8000 ? val | 0xffff0000 : val; + }; - return parts.join('') -} - -},{}],131:[function(require,module,exports){ - -},{}],132:[function(require,module,exports){ -(function (Buffer){(function (){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -/* eslint-disable no-proto */ - -'use strict' - -var base64 = require('base64-js') -var ieee754 = require('ieee754') - -exports.Buffer = Buffer -exports.SlowBuffer = SlowBuffer -exports.INSPECT_MAX_BYTES = 50 - -var K_MAX_LENGTH = 0x7fffffff -exports.kMaxLength = K_MAX_LENGTH - -/** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Print warning and recommend using `buffer` v4.x which has an Object - * implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * We report that the browser does not support typed arrays if the are not subclassable - * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` - * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support - * for __proto__ and has a buggy typed array implementation. - */ -Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport() - -if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && - typeof console.error === 'function') { - console.error( - 'This browser lacks typed array (Uint8Array) support which is required by ' + - '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.' - ) -} - -function typedArraySupport () { - // Can typed array instances can be augmented? - try { - var arr = new Uint8Array(1) - arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function () { return 42 } } - return arr.foo() === 42 - } catch (e) { - return false - } -} + Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + var val = this[offset + 1] | (this[offset] << 8); + return val & 0x8000 ? val | 0xffff0000 : val; + }; -Object.defineProperty(Buffer.prototype, 'parent', { - enumerable: true, - get: function () { - if (!Buffer.isBuffer(this)) return undefined - return this.buffer - } -}) + Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); -Object.defineProperty(Buffer.prototype, 'offset', { - enumerable: true, - get: function () { - if (!Buffer.isBuffer(this)) return undefined - return this.byteOffset - } -}) + return this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16) | (this[offset + 3] << 24); + }; -function createBuffer (length) { - if (length > K_MAX_LENGTH) { - throw new RangeError('The value "' + length + '" is invalid for option "size"') - } - // Return an augmented `Uint8Array` instance - var buf = new Uint8Array(length) - buf.__proto__ = Buffer.prototype - return buf -} - -/** - * The Buffer constructor returns instances of `Uint8Array` that have their - * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of - * `Uint8Array`, so the returned instances will have all the node `Buffer` methods - * and the `Uint8Array` methods. Square bracket notation works as expected -- it - * returns a single octet. - * - * The `Uint8Array` prototype remains unmodified. - */ - -function Buffer (arg, encodingOrOffset, length) { - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new TypeError( - 'The "string" argument must be of type string. Received type number' - ) - } - return allocUnsafe(arg) - } - return from(arg, encodingOrOffset, length) -} - -// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 -if (typeof Symbol !== 'undefined' && Symbol.species != null && - Buffer[Symbol.species] === Buffer) { - Object.defineProperty(Buffer, Symbol.species, { - value: null, - configurable: true, - enumerable: false, - writable: false - }) -} - -Buffer.poolSize = 8192 // not used by this implementation - -function from (value, encodingOrOffset, length) { - if (typeof value === 'string') { - return fromString(value, encodingOrOffset) - } + Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); - if (ArrayBuffer.isView(value)) { - return fromArrayLike(value) - } + return (this[offset] << 24) | (this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3]; + }; - if (value == null) { - throw TypeError( - 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + - 'or Array-like Object. Received type ' + (typeof value) - ) - } + Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return ieee754.read(this, offset, true, 23, 4); + }; - if (isInstance(value, ArrayBuffer) || - (value && isInstance(value.buffer, ArrayBuffer))) { - return fromArrayBuffer(value, encodingOrOffset, length) - } + Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return ieee754.read(this, offset, false, 23, 4); + }; - if (typeof value === 'number') { - throw new TypeError( - 'The "value" argument must not be of type number. Received type number' - ) - } + Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 8, this.length); + return ieee754.read(this, offset, true, 52, 8); + }; - var valueOf = value.valueOf && value.valueOf() - if (valueOf != null && valueOf !== value) { - return Buffer.from(valueOf, encodingOrOffset, length) - } + Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 8, this.length); + return ieee754.read(this, offset, false, 52, 8); + }; - var b = fromObject(value) - if (b) return b + function checkInt(buf, value, offset, ext, max, min) { + if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) throw new RangeError("Index out of range"); + } - if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && - typeof value[Symbol.toPrimitive] === 'function') { - return Buffer.from( - value[Symbol.toPrimitive]('string'), encodingOrOffset, length - ) - } + Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1; + checkInt(this, value, offset, byteLength, maxBytes, 0); + } - throw new TypeError( - 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + - 'or Array-like Object. Received type ' + (typeof value) - ) -} - -/** - * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError - * if value is a number. - * Buffer.from(str[, encoding]) - * Buffer.from(array) - * Buffer.from(buffer) - * Buffer.from(arrayBuffer[, byteOffset[, length]]) - **/ -Buffer.from = function (value, encodingOrOffset, length) { - return from(value, encodingOrOffset, length) -} - -// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug: -// https://github.com/feross/buffer/pull/148 -Buffer.prototype.__proto__ = Uint8Array.prototype -Buffer.__proto__ = Uint8Array - -function assertSize (size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be of type number') - } else if (size < 0) { - throw new RangeError('The value "' + size + '" is invalid for option "size"') - } -} + var mul = 1; + var i = 0; + this[offset] = value & 0xff; + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xff; + } -function alloc (size, fill, encoding) { - assertSize(size) - if (size <= 0) { - return createBuffer(size) - } - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' - ? createBuffer(size).fill(fill, encoding) - : createBuffer(size).fill(fill) - } - return createBuffer(size) -} - -/** - * Creates a new filled Buffer instance. - * alloc(size[, fill[, encoding]]) - **/ -Buffer.alloc = function (size, fill, encoding) { - return alloc(size, fill, encoding) -} - -function allocUnsafe (size) { - assertSize(size) - return createBuffer(size < 0 ? 0 : checked(size) | 0) -} - -/** - * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. - * */ -Buffer.allocUnsafe = function (size) { - return allocUnsafe(size) -} -/** - * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. - */ -Buffer.allocUnsafeSlow = function (size) { - return allocUnsafe(size) -} - -function fromString (string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8' - } + return offset + byteLength; + }; - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding) - } + Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1; + checkInt(this, value, offset, byteLength, maxBytes, 0); + } - var length = byteLength(string, encoding) | 0 - var buf = createBuffer(length) + var i = byteLength - 1; + var mul = 1; + this[offset + i] = value & 0xff; + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xff; + } - var actual = buf.write(string, encoding) + return offset + byteLength; + }; - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - buf = buf.slice(0, actual) - } + Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0); + this[offset] = value & 0xff; + return offset + 1; + }; - return buf -} + Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); + this[offset] = value & 0xff; + this[offset + 1] = value >>> 8; + return offset + 2; + }; -function fromArrayLike (array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0 - var buf = createBuffer(length) - for (var i = 0; i < length; i += 1) { - buf[i] = array[i] & 255 - } - return buf -} + Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); + this[offset] = value >>> 8; + this[offset + 1] = value & 0xff; + return offset + 2; + }; -function fromArrayBuffer (array, byteOffset, length) { - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('"offset" is outside of buffer bounds') - } + Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 0xff; + return offset + 4; + }; - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('"length" is outside of buffer bounds') - } + Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 0xff; + return offset + 4; + }; - var buf - if (byteOffset === undefined && length === undefined) { - buf = new Uint8Array(array) - } else if (length === undefined) { - buf = new Uint8Array(array, byteOffset) - } else { - buf = new Uint8Array(array, byteOffset, length) - } + Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1); - // Return an augmented `Uint8Array` instance - buf.__proto__ = Buffer.prototype - return buf -} + checkInt(this, value, offset, byteLength, limit - 1, -limit); + } -function fromObject (obj) { - if (Buffer.isBuffer(obj)) { - var len = checked(obj.length) | 0 - var buf = createBuffer(len) + var i = 0; + var mul = 1; + var sub = 0; + this[offset] = value & 0xff; + while (++i < byteLength && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1; + } + this[offset + i] = (((value / mul) >> 0) - sub) & 0xff; + } - if (buf.length === 0) { - return buf - } + return offset + byteLength; + }; - obj.copy(buf, 0, 0, len) - return buf - } + Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1); - if (obj.length !== undefined) { - if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) { - return createBuffer(0) - } - return fromArrayLike(obj) - } + checkInt(this, value, offset, byteLength, limit - 1, -limit); + } - if (obj.type === 'Buffer' && Array.isArray(obj.data)) { - return fromArrayLike(obj.data) - } -} - -function checked (length) { - // Note: cannot use `length < K_MAX_LENGTH` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= K_MAX_LENGTH) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + - 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes') - } - return length | 0 -} + var i = byteLength - 1; + var mul = 1; + var sub = 0; + this[offset + i] = value & 0xff; + while (--i >= 0 && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1; + } + this[offset + i] = (((value / mul) >> 0) - sub) & 0xff; + } -function SlowBuffer (length) { - if (+length != length) { // eslint-disable-line eqeqeq - length = 0 - } - return Buffer.alloc(+length) -} - -Buffer.isBuffer = function isBuffer (b) { - return b != null && b._isBuffer === true && - b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false -} - -Buffer.compare = function compare (a, b) { - if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength) - if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength) - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError( - 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' - ) - } + return offset + byteLength; + }; - if (a === b) return 0 + Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80); + if (value < 0) value = 0xff + value + 1; + this[offset] = value & 0xff; + return offset + 1; + }; - var x = a.length - var y = b.length + Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); + this[offset] = value & 0xff; + this[offset + 1] = value >>> 8; + return offset + 2; + }; - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i] - y = b[i] - break - } - } + Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); + this[offset] = value >>> 8; + this[offset + 1] = value & 0xff; + return offset + 2; + }; - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -Buffer.isEncoding = function isEncoding (encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true - default: - return false - } -} + Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); + this[offset] = value & 0xff; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + return offset + 4; + }; -Buffer.concat = function concat (list, length) { - if (!Array.isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } + Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); + if (value < 0) value = 0xffffffff + value + 1; + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 0xff; + return offset + 4; + }; - if (list.length === 0) { - return Buffer.alloc(0) - } + function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) throw new RangeError("Index out of range"); + if (offset < 0) throw new RangeError("Index out of range"); + } - var i - if (length === undefined) { - length = 0 - for (i = 0; i < list.length; ++i) { - length += list[i].length - } - } + function writeFloat(buf, value, offset, littleEndian, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 3.4028234663852886e38, -3.4028234663852886e38); + } + ieee754.write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; + } - var buffer = Buffer.allocUnsafe(length) - var pos = 0 - for (i = 0; i < list.length; ++i) { - var buf = list[i] - if (isInstance(buf, Uint8Array)) { - buf = Buffer.from(buf) - } - if (!Buffer.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - buf.copy(buffer, pos) - pos += buf.length - } - return buffer -} + Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); + }; -function byteLength (string, encoding) { - if (Buffer.isBuffer(string)) { - return string.length - } - if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { - return string.byteLength - } - if (typeof string !== 'string') { - throw new TypeError( - 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + - 'Received type ' + typeof string - ) - } + Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); + }; - var len = string.length - var mustMatch = (arguments.length > 2 && arguments[2] === true) - if (!mustMatch && len === 0) return 0 - - // Use a for loop to avoid recursion - var loweredCase = false - for (;;) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len - case 'utf8': - case 'utf-8': - return utf8ToBytes(string).length - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2 - case 'hex': - return len >>> 1 - case 'base64': - return base64ToBytes(string).length - default: - if (loweredCase) { - return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8 - } - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} -Buffer.byteLength = byteLength + function writeDouble(buf, value, offset, littleEndian, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 1.7976931348623157e308, -1.7976931348623157e308); + } + ieee754.write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; + } -function slowToString (encoding, start, end) { - var loweredCase = false + Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); + }; - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. + Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); + }; - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - if (start === undefined || start < 0) { - start = 0 - } - // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - if (start > this.length) { - return '' - } + // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) + Buffer.prototype.copy = function copy(target, targetStart, start, end) { + if (!Buffer.isBuffer(target)) throw new TypeError("argument should be a Buffer"); + if (!start) start = 0; + if (!end && end !== 0) end = this.length; + if (targetStart >= target.length) targetStart = target.length; + if (!targetStart) targetStart = 0; + if (end > 0 && end < start) end = start; + + // Copy 0 bytes; we're done + if (end === start) return 0; + if (target.length === 0 || this.length === 0) return 0; + + // Fatal error conditions + if (targetStart < 0) { + throw new RangeError("targetStart out of bounds"); + } + if (start < 0 || start >= this.length) throw new RangeError("Index out of range"); + if (end < 0) throw new RangeError("sourceEnd out of bounds"); - if (end === undefined || end > this.length) { - end = this.length - } + // Are we oob? + if (end > this.length) end = this.length; + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } - if (end <= 0) { - return '' - } + var len = end - start; - // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - end >>>= 0 - start >>>= 0 + if (this === target && typeof Uint8Array.prototype.copyWithin === "function") { + // Use built-in when available, missing from IE11 + this.copyWithin(targetStart, start, end); + } else if (this === target && start < targetStart && targetStart < end) { + // descending copy from end + for (var i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start]; + } + } else { + Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart); + } - if (end <= start) { - return '' - } + return len; + }; - if (!encoding) encoding = 'utf8' + // Usage: + // buffer.fill(number[, offset[, end]]) + // buffer.fill(buffer[, offset[, end]]) + // buffer.fill(string[, offset[, end]][, encoding]) + Buffer.prototype.fill = function fill(val, start, end, encoding) { + // Handle string cases: + if (typeof val === "string") { + if (typeof start === "string") { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === "string") { + encoding = end; + end = this.length; + } + if (encoding !== undefined && typeof encoding !== "string") { + throw new TypeError("encoding must be a string"); + } + if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + if (val.length === 1) { + var code = val.charCodeAt(0); + if ((encoding === "utf8" && code < 128) || encoding === "latin1") { + // Fast path: If `val` fits into a single byte, use that numeric value. + val = code; + } + } + } else if (typeof val === "number") { + val = val & 255; + } - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end) + // Invalid ranges are not set to a default, so can range check early. + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError("Out of range index"); + } - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end) + if (end <= start) { + return this; + } - case 'ascii': - return asciiSlice(this, start, end) + start = start >>> 0; + end = end === undefined ? this.length : end >>> 0; - case 'latin1': - case 'binary': - return latin1Slice(this, start, end) + if (!val) val = 0; - case 'base64': - return base64Slice(this, start, end) + var i; + if (typeof val === "number") { + for (i = start; i < end; ++i) { + this[i] = val; + } + } else { + var bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding); + var len = bytes.length; + if (len === 0) { + throw new TypeError('The value "' + val + '" is invalid for argument "value"'); + } + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len]; + } + } - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end) + return this; + }; - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = (encoding + '').toLowerCase() - loweredCase = true - } - } -} - -// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package) -// to detect a Buffer instance. It's not possible to use `instanceof Buffer` -// reliably in a browserify context because there could be multiple different -// copies of the 'buffer' package in use. This method works even for Buffer -// instances that were created from another copy of the `buffer` package. -// See: https://github.com/feross/buffer/issues/154 -Buffer.prototype._isBuffer = true - -function swap (b, n, m) { - var i = b[n] - b[n] = b[m] - b[m] = i -} - -Buffer.prototype.swap16 = function swap16 () { - var len = this.length - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits') - } - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1) - } - return this -} + // HELPER FUNCTIONS + // ================ + + var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g; + + function base64clean(str) { + // Node takes equal signs as end of the Base64 encoding + str = str.split("=")[0]; + // Node strips out invalid characters like \n and \t from the string, base64-js does not + str = str.trim().replace(INVALID_BASE64_RE, ""); + // Node converts strings with length < 2 to '' + if (str.length < 2) return ""; + // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not + while (str.length % 4 !== 0) { + str = str + "="; + } + return str; + } -Buffer.prototype.swap32 = function swap32 () { - var len = this.length - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits') - } - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3) - swap(this, i + 1, i + 2) - } - return this -} + function toHex(n) { + if (n < 16) return "0" + n.toString(16); + return n.toString(16); + } -Buffer.prototype.swap64 = function swap64 () { - var len = this.length - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits') - } - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7) - swap(this, i + 1, i + 6) - swap(this, i + 2, i + 5) - swap(this, i + 3, i + 4) - } - return this -} - -Buffer.prototype.toString = function toString () { - var length = this.length - if (length === 0) return '' - if (arguments.length === 0) return utf8Slice(this, 0, length) - return slowToString.apply(this, arguments) -} - -Buffer.prototype.toLocaleString = Buffer.prototype.toString - -Buffer.prototype.equals = function equals (b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return true - return Buffer.compare(this, b) === 0 -} - -Buffer.prototype.inspect = function inspect () { - var str = '' - var max = exports.INSPECT_MAX_BYTES - str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim() - if (this.length > max) str += ' ... ' - return '' -} - -Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { - if (isInstance(target, Uint8Array)) { - target = Buffer.from(target, target.offset, target.byteLength) - } - if (!Buffer.isBuffer(target)) { - throw new TypeError( - 'The "target" argument must be one of type Buffer or Uint8Array. ' + - 'Received type ' + (typeof target) - ) - } + function utf8ToBytes(string, units) { + units = units || Infinity; + var codePoint; + var length = string.length; + var leadSurrogate = null; + var bytes = []; + + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i); + + // is surrogate component + if (codePoint > 0xd7ff && codePoint < 0xe000) { + // last char was a lead + if (!leadSurrogate) { + // no lead yet + if (codePoint > 0xdbff) { + // unexpected trail + if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd); + continue; + } else if (i + 1 === length) { + // unpaired lead + if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd); + continue; + } - if (start === undefined) { - start = 0 - } - if (end === undefined) { - end = target ? target.length : 0 - } - if (thisStart === undefined) { - thisStart = 0 - } - if (thisEnd === undefined) { - thisEnd = this.length - } + // valid lead + leadSurrogate = codePoint; - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index') - } + continue; + } - if (thisStart >= thisEnd && start >= end) { - return 0 - } - if (thisStart >= thisEnd) { - return -1 - } - if (start >= end) { - return 1 - } + // 2 leads in a row + if (codePoint < 0xdc00) { + if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd); + leadSurrogate = codePoint; + continue; + } - start >>>= 0 - end >>>= 0 - thisStart >>>= 0 - thisEnd >>>= 0 + // valid surrogate pair + codePoint = (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) + 0x10000; + } else if (leadSurrogate) { + // valid bmp char, but last char was a lead + if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd); + } - if (this === target) return 0 + leadSurrogate = null; + + // encode utf8 + if (codePoint < 0x80) { + if ((units -= 1) < 0) break; + bytes.push(codePoint); + } else if (codePoint < 0x800) { + if ((units -= 2) < 0) break; + bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80); + } else if (codePoint < 0x10000) { + if ((units -= 3) < 0) break; + bytes.push((codePoint >> 0xc) | 0xe0, ((codePoint >> 0x6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80); + } else if (codePoint < 0x110000) { + if ((units -= 4) < 0) break; + bytes.push( + (codePoint >> 0x12) | 0xf0, + ((codePoint >> 0xc) & 0x3f) | 0x80, + ((codePoint >> 0x6) & 0x3f) | 0x80, + (codePoint & 0x3f) | 0x80, + ); + } else { + throw new Error("Invalid code point"); + } + } - var x = thisEnd - thisStart - var y = end - start - var len = Math.min(x, y) + return bytes; + } - var thisCopy = this.slice(thisStart, thisEnd) - var targetCopy = target.slice(start, end) + function asciiToBytes(str) { + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + // Node's code seems to be doing this and not & 0x7F.. + byteArray.push(str.charCodeAt(i) & 0xff); + } + return byteArray; + } - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i] - y = targetCopy[i] - break - } - } + function utf16leToBytes(str, units) { + var c, hi, lo; + var byteArray = []; + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) break; + + c = str.charCodeAt(i); + hi = c >> 8; + lo = c % 256; + byteArray.push(lo); + byteArray.push(hi); + } - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, -// OR the last index of `val` in `buffer` at offset <= `byteOffset`. -// -// Arguments: -// - buffer - a Buffer to search -// - val - a string, Buffer, or number -// - byteOffset - an index into `buffer`; will be clamped to an int32 -// - encoding - an optional encoding, relevant is val is a string -// - dir - true for indexOf, false for lastIndexOf -function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) return -1 - - // Normalize byteOffset - if (typeof byteOffset === 'string') { - encoding = byteOffset - byteOffset = 0 - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000 - } - byteOffset = +byteOffset // Coerce to Number. - if (numberIsNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : (buffer.length - 1) - } + return byteArray; + } - // Normalize byteOffset: negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = buffer.length + byteOffset - if (byteOffset >= buffer.length) { - if (dir) return -1 - else byteOffset = buffer.length - 1 - } else if (byteOffset < 0) { - if (dir) byteOffset = 0 - else return -1 - } + function base64ToBytes(str) { + return base64.toByteArray(base64clean(str)); + } - // Normalize val - if (typeof val === 'string') { - val = Buffer.from(val, encoding) - } + function blitBuffer(src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if (i + offset >= dst.length || i >= src.length) break; + dst[i + offset] = src[i]; + } + return i; + } - // Finally, search either indexOf (if dir is true) or lastIndexOf - if (Buffer.isBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1 - } - return arrayIndexOf(buffer, val, byteOffset, encoding, dir) - } else if (typeof val === 'number') { - val = val & 0xFF // Search for a byte value [0-255] - if (typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) - } - } - return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) - } + // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass + // the `instanceof` check but they should be treated as of that type. + // See: https://github.com/feross/buffer/issues/166 + function isInstance(obj, type) { + return ( + obj instanceof type || + (obj != null && + obj.constructor != null && + obj.constructor.name != null && + obj.constructor.name === type.name) + ); + } + function numberIsNaN(obj) { + // For IE11 support + return obj !== obj; // eslint-disable-line no-self-compare + } + }).call(this); + }).call(this, require("buffer").Buffer); + }, + { "base64-js": 130, buffer: 132, ieee754: 138 }, + ], + 133: [ + function (require, module, exports) { + module.exports = { + 100: "Continue", + 101: "Switching Protocols", + 102: "Processing", + 200: "OK", + 201: "Created", + 202: "Accepted", + 203: "Non-Authoritative Information", + 204: "No Content", + 205: "Reset Content", + 206: "Partial Content", + 207: "Multi-Status", + 208: "Already Reported", + 226: "IM Used", + 300: "Multiple Choices", + 301: "Moved Permanently", + 302: "Found", + 303: "See Other", + 304: "Not Modified", + 305: "Use Proxy", + 307: "Temporary Redirect", + 308: "Permanent Redirect", + 400: "Bad Request", + 401: "Unauthorized", + 402: "Payment Required", + 403: "Forbidden", + 404: "Not Found", + 405: "Method Not Allowed", + 406: "Not Acceptable", + 407: "Proxy Authentication Required", + 408: "Request Timeout", + 409: "Conflict", + 410: "Gone", + 411: "Length Required", + 412: "Precondition Failed", + 413: "Payload Too Large", + 414: "URI Too Long", + 415: "Unsupported Media Type", + 416: "Range Not Satisfiable", + 417: "Expectation Failed", + 418: "I'm a teapot", + 421: "Misdirected Request", + 422: "Unprocessable Entity", + 423: "Locked", + 424: "Failed Dependency", + 425: "Unordered Collection", + 426: "Upgrade Required", + 428: "Precondition Required", + 429: "Too Many Requests", + 431: "Request Header Fields Too Large", + 451: "Unavailable For Legal Reasons", + 500: "Internal Server Error", + 501: "Not Implemented", + 502: "Bad Gateway", + 503: "Service Unavailable", + 504: "Gateway Timeout", + 505: "HTTP Version Not Supported", + 506: "Variant Also Negotiates", + 507: "Insufficient Storage", + 508: "Loop Detected", + 509: "Bandwidth Limit Exceeded", + 510: "Not Extended", + 511: "Network Authentication Required", + }; + }, + {}, + ], + 134: [ + function (require, module, exports) { + (function (process, global) { + (function () { + "use strict"; + + var next = + (global.process && process.nextTick) || + global.setImmediate || + function (f) { + setTimeout(f, 0); + }; + + module.exports = function maybe(cb, promise) { + if (cb) { + promise.then( + function (result) { + next(function () { + cb(null, result); + }); + }, + function (err) { + next(function () { + cb(err); + }); + }, + ); + return undefined; + } else { + return promise; + } + }; + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + { _process: 172 }, + ], + 135: [ + function (require, module, exports) { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + var objectCreate = Object.create || objectCreatePolyfill; + var objectKeys = Object.keys || objectKeysPolyfill; + var bind = Function.prototype.bind || functionBindPolyfill; + + function EventEmitter() { + if (!this._events || !Object.prototype.hasOwnProperty.call(this, "_events")) { + this._events = objectCreate(null); + this._eventsCount = 0; + } - throw new TypeError('val must be string, number or Buffer') -} + this._maxListeners = this._maxListeners || undefined; + } + module.exports = EventEmitter; -function arrayIndexOf (arr, val, byteOffset, encoding, dir) { - var indexSize = 1 - var arrLength = arr.length - var valLength = val.length + // Backwards-compat with node 0.10.x + EventEmitter.EventEmitter = EventEmitter; - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase() - if (encoding === 'ucs2' || encoding === 'ucs-2' || - encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1 - } - indexSize = 2 - arrLength /= 2 - valLength /= 2 - byteOffset /= 2 - } - } + EventEmitter.prototype._events = undefined; + EventEmitter.prototype._maxListeners = undefined; - function read (buf, i) { - if (indexSize === 1) { - return buf[i] - } else { - return buf.readUInt16BE(i * indexSize) - } - } + // By default EventEmitters will print a warning if more than 10 listeners are + // added to it. This is a useful default which helps finding memory leaks. + var defaultMaxListeners = 10; - var i - if (dir) { - var foundIndex = -1 - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize - } else { - if (foundIndex !== -1) i -= i - foundIndex - foundIndex = -1 - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength - for (i = byteOffset; i >= 0; i--) { - var found = true - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false - break + var hasDefineProperty; + try { + var o = {}; + if (Object.defineProperty) Object.defineProperty(o, "x", { value: 0 }); + hasDefineProperty = o.x === 0; + } catch (err) { + hasDefineProperty = false; + } + if (hasDefineProperty) { + Object.defineProperty(EventEmitter, "defaultMaxListeners", { + enumerable: true, + get: function () { + return defaultMaxListeners; + }, + set: function (arg) { + // check whether the input is a positive number (whose value is zero or + // greater and not a NaN). + if (typeof arg !== "number" || arg < 0 || arg !== arg) + throw new TypeError('"defaultMaxListeners" must be a positive number'); + defaultMaxListeners = arg; + }, + }); + } else { + EventEmitter.defaultMaxListeners = defaultMaxListeners; } - } - if (found) return i - } - } - return -1 -} - -Buffer.prototype.includes = function includes (val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1 -} - -Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true) -} - -Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false) -} - -function hexWrite (buf, string, offset, length) { - offset = Number(offset) || 0 - var remaining = buf.length - offset - if (!length) { - length = remaining - } else { - length = Number(length) - if (length > remaining) { - length = remaining - } - } + // Obviously not all Emitters should be limited to 10. This function allows + // that to be increased. Set to zero for unlimited. + EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { + if (typeof n !== "number" || n < 0 || isNaN(n)) throw new TypeError('"n" argument must be a positive number'); + this._maxListeners = n; + return this; + }; + + function $getMaxListeners(that) { + if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners; + return that._maxListeners; + } - var strLen = string.length + EventEmitter.prototype.getMaxListeners = function getMaxListeners() { + return $getMaxListeners(this); + }; - if (length > strLen / 2) { - length = strLen / 2 - } - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16) - if (numberIsNaN(parsed)) return i - buf[offset + i] = parsed - } - return i -} - -function utf8Write (buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) -} - -function asciiWrite (buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length) -} - -function latin1Write (buf, string, offset, length) { - return asciiWrite(buf, string, offset, length) -} - -function base64Write (buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length) -} - -function ucs2Write (buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) -} - -Buffer.prototype.write = function write (string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8' - length = this.length - offset = 0 - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset - length = this.length - offset = 0 - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset >>> 0 - if (isFinite(length)) { - length = length >>> 0 - if (encoding === undefined) encoding = 'utf8' - } else { - encoding = length - length = undefined - } - } else { - throw new Error( - 'Buffer.write(string, encoding, offset[, length]) is no longer supported' - ) - } + // These standalone emit* functions are used to optimize calling of event + // handlers for fast cases because emit() itself often has a variable number of + // arguments and can be deoptimized because of that. These functions always have + // the same number of arguments and thus do not get deoptimized, so the code + // inside them can execute faster. + function emitNone(handler, isFn, self) { + if (isFn) handler.call(self); + else { + var len = handler.length; + var listeners = arrayClone(handler, len); + for (var i = 0; i < len; ++i) listeners[i].call(self); + } + } + function emitOne(handler, isFn, self, arg1) { + if (isFn) handler.call(self, arg1); + else { + var len = handler.length; + var listeners = arrayClone(handler, len); + for (var i = 0; i < len; ++i) listeners[i].call(self, arg1); + } + } + function emitTwo(handler, isFn, self, arg1, arg2) { + if (isFn) handler.call(self, arg1, arg2); + else { + var len = handler.length; + var listeners = arrayClone(handler, len); + for (var i = 0; i < len; ++i) listeners[i].call(self, arg1, arg2); + } + } + function emitThree(handler, isFn, self, arg1, arg2, arg3) { + if (isFn) handler.call(self, arg1, arg2, arg3); + else { + var len = handler.length; + var listeners = arrayClone(handler, len); + for (var i = 0; i < len; ++i) listeners[i].call(self, arg1, arg2, arg3); + } + } + + function emitMany(handler, isFn, self, args) { + if (isFn) handler.apply(self, args); + else { + var len = handler.length; + var listeners = arrayClone(handler, len); + for (var i = 0; i < len; ++i) listeners[i].apply(self, args); + } + } - var remaining = this.length - offset - if (length === undefined || length > remaining) length = remaining + EventEmitter.prototype.emit = function emit(type) { + var er, handler, len, args, i, events; + var doError = type === "error"; - if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds') - } + events = this._events; + if (events) doError = doError && events.error == null; + else if (!doError) return false; + + // If there is no 'error' event listener then throw. + if (doError) { + if (arguments.length > 1) er = arguments[1]; + if (er instanceof Error) { + throw er; // Unhandled 'error' event + } else { + // At least give some kind of context to the user + var err = new Error('Unhandled "error" event. (' + er + ")"); + err.context = er; + throw err; + } + return false; + } + + handler = events[type]; + + if (!handler) return false; + + var isFn = typeof handler === "function"; + len = arguments.length; + switch (len) { + // fast cases + case 1: + emitNone(handler, isFn, this); + break; + case 2: + emitOne(handler, isFn, this, arguments[1]); + break; + case 3: + emitTwo(handler, isFn, this, arguments[1], arguments[2]); + break; + case 4: + emitThree(handler, isFn, this, arguments[1], arguments[2], arguments[3]); + break; + // slower + default: + args = new Array(len - 1); + for (i = 1; i < len; i++) args[i - 1] = arguments[i]; + emitMany(handler, isFn, this, args); + } + + return true; + }; - if (!encoding) encoding = 'utf8' + function _addListener(target, type, listener, prepend) { + var m; + var events; + var existing; - var loweredCase = false - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length) + if (typeof listener !== "function") throw new TypeError('"listener" argument must be a function'); - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length) + events = target._events; + if (!events) { + events = target._events = objectCreate(null); + target._eventsCount = 0; + } else { + // To avoid recursion in the case that type === "newListener"! Before + // adding it to the listeners, first emit "newListener". + if (events.newListener) { + target.emit("newListener", type, listener.listener ? listener.listener : listener); + + // Re-assign `events` because a newListener handler could have caused the + // this._events to be assigned to a new object + events = target._events; + } + existing = events[type]; + } - case 'ascii': - return asciiWrite(this, string, offset, length) + if (!existing) { + // Optimize the case of one listener. Don't need the extra array object. + existing = events[type] = listener; + ++target._eventsCount; + } else { + if (typeof existing === "function") { + // Adding the second element, need to change to array. + existing = events[type] = prepend ? [listener, existing] : [existing, listener]; + } else { + // If we've already got an array, just append. + if (prepend) { + existing.unshift(listener); + } else { + existing.push(listener); + } + } - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length) + // Check for listener leak + if (!existing.warned) { + m = $getMaxListeners(target); + if (m && m > 0 && existing.length > m) { + existing.warned = true; + var w = new Error( + "Possible EventEmitter memory leak detected. " + + existing.length + + ' "' + + String(type) + + '" listeners ' + + "added. Use emitter.setMaxListeners() to " + + "increase limit.", + ); + w.name = "MaxListenersExceededWarning"; + w.emitter = target; + w.type = type; + w.count = existing.length; + if (typeof console === "object" && console.warn) { + console.warn("%s: %s", w.name, w.message); + } + } + } + } - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length) + return target; + } - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length) + EventEmitter.prototype.addListener = function addListener(type, listener) { + return _addListener(this, type, listener, false); + }; - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} + EventEmitter.prototype.on = EventEmitter.prototype.addListener; -Buffer.prototype.toJSON = function toJSON () { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - } -} + EventEmitter.prototype.prependListener = function prependListener(type, listener) { + return _addListener(this, type, listener, true); + }; -function base64Slice (buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf) - } else { - return base64.fromByteArray(buf.slice(start, end)) - } -} - -function utf8Slice (buf, start, end) { - end = Math.min(buf.length, end) - var res = [] - - var i = start - while (i < end) { - var firstByte = buf[i] - var codePoint = null - var bytesPerSequence = (firstByte > 0xEF) ? 4 - : (firstByte > 0xDF) ? 3 - : (firstByte > 0xBF) ? 2 - : 1 - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte - } - break - case 2: - secondByte = buf[i + 1] - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint - } - } - break - case 3: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint - } - } - break - case 4: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - fourthByte = buf[i + 3] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint + function onceWrapper() { + if (!this.fired) { + this.target.removeListener(this.type, this.wrapFn); + this.fired = true; + switch (arguments.length) { + case 0: + return this.listener.call(this.target); + case 1: + return this.listener.call(this.target, arguments[0]); + case 2: + return this.listener.call(this.target, arguments[0], arguments[1]); + case 3: + return this.listener.call(this.target, arguments[0], arguments[1], arguments[2]); + default: + var args = new Array(arguments.length); + for (var i = 0; i < args.length; ++i) args[i] = arguments[i]; + this.listener.apply(this.target, args); } } - } - } + } - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD - bytesPerSequence = 1 - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000 - res.push(codePoint >>> 10 & 0x3FF | 0xD800) - codePoint = 0xDC00 | codePoint & 0x3FF - } + function _onceWrap(target, type, listener) { + var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener }; + var wrapped = bind.call(onceWrapper, state); + wrapped.listener = listener; + state.wrapFn = wrapped; + return wrapped; + } - res.push(codePoint) - i += bytesPerSequence - } + EventEmitter.prototype.once = function once(type, listener) { + if (typeof listener !== "function") throw new TypeError('"listener" argument must be a function'); + this.on(type, _onceWrap(this, type, listener)); + return this; + }; - return decodeCodePointsArray(res) -} + EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) { + if (typeof listener !== "function") throw new TypeError('"listener" argument must be a function'); + this.prependListener(type, _onceWrap(this, type, listener)); + return this; + }; -// Based on http://stackoverflow.com/a/22747272/680742, the browser with -// the lowest limit is Chrome, with 0x10000 args. -// We go 1 magnitude less, for safety -var MAX_ARGUMENTS_LENGTH = 0x1000 + // Emits a 'removeListener' event if and only if the listener was removed. + EventEmitter.prototype.removeListener = function removeListener(type, listener) { + var list, events, position, i, originalListener; -function decodeCodePointsArray (codePoints) { - var len = codePoints.length - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints) // avoid extra slice() - } + if (typeof listener !== "function") throw new TypeError('"listener" argument must be a function'); - // Decode in chunks to avoid "call stack size exceeded". - var res = '' - var i = 0 - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) - ) - } - return res -} + events = this._events; + if (!events) return this; -function asciiSlice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) + list = events[type]; + if (!list) return this; - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F) - } - return ret -} + if (list === listener || list.listener === listener) { + if (--this._eventsCount === 0) this._events = objectCreate(null); + else { + delete events[type]; + if (events.removeListener) this.emit("removeListener", type, list.listener || listener); + } + } else if (typeof list !== "function") { + position = -1; -function latin1Slice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) + for (i = list.length - 1; i >= 0; i--) { + if (list[i] === listener || list[i].listener === listener) { + originalListener = list[i].listener; + position = i; + break; + } + } - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]) - } - return ret -} + if (position < 0) return this; -function hexSlice (buf, start, end) { - var len = buf.length + if (position === 0) list.shift(); + else spliceOne(list, position); - if (!start || start < 0) start = 0 - if (!end || end < 0 || end > len) end = len + if (list.length === 1) events[type] = list[0]; - var out = '' - for (var i = start; i < end; ++i) { - out += toHex(buf[i]) - } - return out -} - -function utf16leSlice (buf, start, end) { - var bytes = buf.slice(start, end) - var res = '' - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256)) - } - return res -} - -Buffer.prototype.slice = function slice (start, end) { - var len = this.length - start = ~~start - end = end === undefined ? len : ~~end - - if (start < 0) { - start += len - if (start < 0) start = 0 - } else if (start > len) { - start = len - } + if (events.removeListener) this.emit("removeListener", type, originalListener || listener); + } - if (end < 0) { - end += len - if (end < 0) end = 0 - } else if (end > len) { - end = len - } + return this; + }; - if (end < start) end = start - - var newBuf = this.subarray(start, end) - // Return an augmented `Uint8Array` instance - newBuf.__proto__ = Buffer.prototype - return newBuf -} - -/* - * Need to make sure that buffer isn't trying to write out of bounds. - */ -function checkOffset (offset, ext, length) { - if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') -} - -Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } + EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) { + var listeners, events, i; - return val -} + events = this._events; + if (!events) return this; -Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) { - checkOffset(offset, byteLength, this.length) - } + // not listening for removeListener, no need to emit + if (!events.removeListener) { + if (arguments.length === 0) { + this._events = objectCreate(null); + this._eventsCount = 0; + } else if (events[type]) { + if (--this._eventsCount === 0) this._events = objectCreate(null); + else delete events[type]; + } + return this; + } - var val = this[offset + --byteLength] - var mul = 1 - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul - } + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + var keys = objectKeys(events); + var key; + for (i = 0; i < keys.length; ++i) { + key = keys[i]; + if (key === "removeListener") continue; + this.removeAllListeners(key); + } + this.removeAllListeners("removeListener"); + this._events = objectCreate(null); + this._eventsCount = 0; + return this; + } - return val -} - -Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 1, this.length) - return this[offset] -} - -Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - return this[offset] | (this[offset + 1] << 8) -} - -Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - return (this[offset] << 8) | this[offset + 1] -} - -Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return ((this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16)) + - (this[offset + 3] * 0x1000000) -} - -Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] * 0x1000000) + - ((this[offset + 1] << 16) | - (this[offset + 2] << 8) | - this[offset + 3]) -} - -Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - mul *= 0x80 + listeners = events[type]; - if (val >= mul) val -= Math.pow(2, 8 * byteLength) + if (typeof listeners === "function") { + this.removeListener(type, listeners); + } else if (listeners) { + // LIFO order + for (i = listeners.length - 1; i >= 0; i--) { + this.removeListener(type, listeners[i]); + } + } - return val -} + return this; + }; -Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) + function _listeners(target, type, unwrap) { + var events = target._events; - var i = byteLength - var mul = 1 - var val = this[offset + --i] - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 1, this.length) - if (!(this[offset] & 0x80)) return (this[offset]) - return ((0xff - this[offset] + 1) * -1) -} - -Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset] | (this[offset + 1] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset + 1] | (this[offset] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16) | - (this[offset + 3] << 24) -} - -Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] << 24) | - (this[offset + 1] << 16) | - (this[offset + 2] << 8) | - (this[offset + 3]) -} - -Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, true, 23, 4) -} - -Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, false, 23, 4) -} - -Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, true, 52, 8) -} - -Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { - offset = offset >>> 0 - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, false, 52, 8) -} - -function checkInt (buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') - if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') - if (offset + ext > buf.length) throw new RangeError('Index out of range') -} - -Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } + if (!events) return []; - var mul = 1 - var i = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } + var evlistener = events[type]; + if (!evlistener) return []; - return offset + byteLength -} + if (typeof evlistener === "function") return unwrap ? [evlistener.listener || evlistener] : [evlistener]; -Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - byteLength = byteLength >>> 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } + return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); + } - var i = byteLength - 1 - var mul = 1 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } + EventEmitter.prototype.listeners = function listeners(type) { + return _listeners(this, type, true); + }; - return offset + byteLength -} - -Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - return offset + 2 -} - -Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - return offset + 2 -} - -Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - this[offset + 3] = (value >>> 24) - this[offset + 2] = (value >>> 16) - this[offset + 1] = (value >>> 8) - this[offset] = (value & 0xff) - return offset + 4 -} - -Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - return offset + 4 -} - -Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - var limit = Math.pow(2, (8 * byteLength) - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } + EventEmitter.prototype.rawListeners = function rawListeners(type) { + return _listeners(this, type, false); + }; - var i = 0 - var mul = 1 - var sub = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } + EventEmitter.listenerCount = function (emitter, type) { + if (typeof emitter.listenerCount === "function") { + return emitter.listenerCount(type); + } else { + return listenerCount.call(emitter, type); + } + }; - return offset + byteLength -} + EventEmitter.prototype.listenerCount = listenerCount; + function listenerCount(type) { + var events = this._events; -Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - var limit = Math.pow(2, (8 * byteLength) - 1) + if (events) { + var evlistener = events[type]; - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } + if (typeof evlistener === "function") { + return 1; + } else if (evlistener) { + return evlistener.length; + } + } - var i = byteLength - 1 - var mul = 1 - var sub = 0 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } + return 0; + } - return offset + byteLength -} - -Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) - if (value < 0) value = 0xff + value + 1 - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - return offset + 2 -} - -Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - return offset + 2 -} - -Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - this[offset + 2] = (value >>> 16) - this[offset + 3] = (value >>> 24) - return offset + 4 -} - -Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (value < 0) value = 0xffffffff + value + 1 - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - return offset + 4 -} - -function checkIEEE754 (buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) throw new RangeError('Index out of range') - if (offset < 0) throw new RangeError('Index out of range') -} - -function writeFloat (buf, value, offset, littleEndian, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) - } - ieee754.write(buf, value, offset, littleEndian, 23, 4) - return offset + 4 -} - -Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert) -} - -function writeDouble (buf, value, offset, littleEndian, noAssert) { - value = +value - offset = offset >>> 0 - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) - } - ieee754.write(buf, value, offset, littleEndian, 52, 8) - return offset + 8 -} - -Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert) -} - -// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) -Buffer.prototype.copy = function copy (target, targetStart, start, end) { - if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer') - if (!start) start = 0 - if (!end && end !== 0) end = this.length - if (targetStart >= target.length) targetStart = target.length - if (!targetStart) targetStart = 0 - if (end > 0 && end < start) end = start - - // Copy 0 bytes; we're done - if (end === start) return 0 - if (target.length === 0 || this.length === 0) return 0 - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds') - } - if (start < 0 || start >= this.length) throw new RangeError('Index out of range') - if (end < 0) throw new RangeError('sourceEnd out of bounds') + EventEmitter.prototype.eventNames = function eventNames() { + return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : []; + }; - // Are we oob? - if (end > this.length) end = this.length - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start - } + // About 1.5x faster than the two-arg version of Array#splice(). + function spliceOne(list, index) { + for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) list[i] = list[k]; + list.pop(); + } - var len = end - start + function arrayClone(arr, n) { + var copy = new Array(n); + for (var i = 0; i < n; ++i) copy[i] = arr[i]; + return copy; + } - if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') { - // Use built-in when available, missing from IE11 - this.copyWithin(targetStart, start, end) - } else if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (var i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start] - } - } else { - Uint8Array.prototype.set.call( - target, - this.subarray(start, end), - targetStart - ) - } + function unwrapListeners(arr) { + var ret = new Array(arr.length); + for (var i = 0; i < ret.length; ++i) { + ret[i] = arr[i].listener || arr[i]; + } + return ret; + } - return len -} - -// Usage: -// buffer.fill(number[, offset[, end]]) -// buffer.fill(buffer[, offset[, end]]) -// buffer.fill(string[, offset[, end]][, encoding]) -Buffer.prototype.fill = function fill (val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start - start = 0 - end = this.length - } else if (typeof end === 'string') { - encoding = end - end = this.length - } - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string') - } - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding) - } - if (val.length === 1) { - var code = val.charCodeAt(0) - if ((encoding === 'utf8' && code < 128) || - encoding === 'latin1') { - // Fast path: If `val` fits into a single byte, use that numeric value. - val = code - } - } - } else if (typeof val === 'number') { - val = val & 255 - } + function objectCreatePolyfill(proto) { + var F = function () {}; + F.prototype = proto; + return new F(); + } + function objectKeysPolyfill(obj) { + var keys = []; + for (var k in obj) + if (Object.prototype.hasOwnProperty.call(obj, k)) { + keys.push(k); + } + return k; + } + function functionBindPolyfill(context) { + var fn = this; + return function () { + return fn.apply(context, arguments); + }; + } + }, + {}, + ], + 136: [ + function (require, module, exports) { + "use strict"; + + // do not edit .js files directly - edit src/index.jst + + module.exports = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == "object" && typeof b == "object") { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0; ) if (!equal(a[i], b[i])) return false; + return true; + } - // Invalid ranges are not set to a default, so can range check early. - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index') - } + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); - if (end <= start) { - return this - } + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; - start = start >>> 0 - end = end === undefined ? this.length : end >>> 0 + for (i = length; i-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - if (!val) val = 0 + for (i = length; i-- !== 0; ) { + var key = keys[i]; - var i - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val - } - } else { - var bytes = Buffer.isBuffer(val) - ? val - : Buffer.from(val, encoding) - var len = bytes.length - if (len === 0) { - throw new TypeError('The value "' + val + - '" is invalid for argument "value"') - } - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len] - } - } + if (!equal(a[key], b[key])) return false; + } - return this -} + return true; + } -// HELPER FUNCTIONS -// ================ + // true if both NaN, false otherwise + return a !== a && b !== b; + }; + }, + {}, + ], + 137: [ + function (require, module, exports) { + var http = require("http"); + var url = require("url"); -var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g + var https = module.exports; -function base64clean (str) { - // Node takes equal signs as end of the Base64 encoding - str = str.split('=')[0] - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = str.trim().replace(INVALID_BASE64_RE, '') - // Node converts strings with length < 2 to '' - if (str.length < 2) return '' - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '=' - } - return str -} - -function toHex (n) { - if (n < 16) return '0' + n.toString(16) - return n.toString(16) -} - -function utf8ToBytes (string, units) { - units = units || Infinity - var codePoint - var length = string.length - var leadSurrogate = null - var bytes = [] - - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i) - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } - - // valid lead - leadSurrogate = codePoint - - continue - } + for (var key in http) { + if (http.hasOwnProperty(key)) https[key] = http[key]; + } - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - leadSurrogate = codePoint - continue - } + https.request = function (params, cb) { + params = validateParams(params); + return http.request.call(this, params, cb); + }; - // valid surrogate pair - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - } + https.get = function (params, cb) { + params = validateParams(params); + return http.get.call(this, params, cb); + }; - leadSurrogate = null - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break - bytes.push(codePoint) - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break - bytes.push( - codePoint >> 0x6 | 0xC0, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break - bytes.push( - codePoint >> 0xC | 0xE0, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break - bytes.push( - codePoint >> 0x12 | 0xF0, - codePoint >> 0xC & 0x3F | 0x80, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else { - throw new Error('Invalid code point') - } - } + function validateParams(params) { + if (typeof params === "string") { + params = url.parse(params); + } + if (!params.protocol) { + params.protocol = "https:"; + } + if (params.protocol !== "https:") { + throw new Error('Protocol "' + params.protocol + '" not supported. Expected "https:"'); + } + return params; + } + }, + { http: 192, url: 199 }, + ], + 138: [ + function (require, module, exports) { + /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ + exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + + i += d; + + e = s & ((1 << -nBits) - 1); + s >>= -nBits; + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << -nBits) - 1); + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); + }; - return bytes -} + exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; + + value = Math.abs(value); + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } -function asciiToBytes (str) { - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF) - } - return byteArray -} - -function utf16leToBytes (str, units) { - var c, hi, lo - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break - - c = str.charCodeAt(i) - hi = c >> 8 - lo = c % 256 - byteArray.push(lo) - byteArray.push(hi) - } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } - return byteArray -} + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} -function base64ToBytes (str) { - return base64.toByteArray(base64clean(str)) -} + e = (e << mLen) | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} -function blitBuffer (src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if ((i + offset >= dst.length) || (i >= src.length)) break - dst[i + offset] = src[i] - } - return i -} - -// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass -// the `instanceof` check but they should be treated as of that type. -// See: https://github.com/feross/buffer/issues/166 -function isInstance (obj, type) { - return obj instanceof type || - (obj != null && obj.constructor != null && obj.constructor.name != null && - obj.constructor.name === type.name) -} -function numberIsNaN (obj) { - // For IE11 support - return obj !== obj // eslint-disable-line no-self-compare -} - -}).call(this)}).call(this,require("buffer").Buffer) - -},{"base64-js":130,"buffer":132,"ieee754":138}],133:[function(require,module,exports){ -module.exports = { - "100": "Continue", - "101": "Switching Protocols", - "102": "Processing", - "200": "OK", - "201": "Created", - "202": "Accepted", - "203": "Non-Authoritative Information", - "204": "No Content", - "205": "Reset Content", - "206": "Partial Content", - "207": "Multi-Status", - "208": "Already Reported", - "226": "IM Used", - "300": "Multiple Choices", - "301": "Moved Permanently", - "302": "Found", - "303": "See Other", - "304": "Not Modified", - "305": "Use Proxy", - "307": "Temporary Redirect", - "308": "Permanent Redirect", - "400": "Bad Request", - "401": "Unauthorized", - "402": "Payment Required", - "403": "Forbidden", - "404": "Not Found", - "405": "Method Not Allowed", - "406": "Not Acceptable", - "407": "Proxy Authentication Required", - "408": "Request Timeout", - "409": "Conflict", - "410": "Gone", - "411": "Length Required", - "412": "Precondition Failed", - "413": "Payload Too Large", - "414": "URI Too Long", - "415": "Unsupported Media Type", - "416": "Range Not Satisfiable", - "417": "Expectation Failed", - "418": "I'm a teapot", - "421": "Misdirected Request", - "422": "Unprocessable Entity", - "423": "Locked", - "424": "Failed Dependency", - "425": "Unordered Collection", - "426": "Upgrade Required", - "428": "Precondition Required", - "429": "Too Many Requests", - "431": "Request Header Fields Too Large", - "451": "Unavailable For Legal Reasons", - "500": "Internal Server Error", - "501": "Not Implemented", - "502": "Bad Gateway", - "503": "Service Unavailable", - "504": "Gateway Timeout", - "505": "HTTP Version Not Supported", - "506": "Variant Also Negotiates", - "507": "Insufficient Storage", - "508": "Loop Detected", - "509": "Bandwidth Limit Exceeded", - "510": "Not Extended", - "511": "Network Authentication Required" -} - -},{}],134:[function(require,module,exports){ -(function (process,global){(function (){ -"use strict" - -var next = (global.process && process.nextTick) || global.setImmediate || function (f) { - setTimeout(f, 0) -} - -module.exports = function maybe (cb, promise) { - if (cb) { - promise - .then(function (result) { - next(function () { cb(null, result) }) - }, function (err) { - next(function () { cb(err) }) - }) - return undefined - } - else { - return promise - } -} - -}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"_process":172}],135:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -var objectCreate = Object.create || objectCreatePolyfill -var objectKeys = Object.keys || objectKeysPolyfill -var bind = Function.prototype.bind || functionBindPolyfill - -function EventEmitter() { - if (!this._events || !Object.prototype.hasOwnProperty.call(this, '_events')) { - this._events = objectCreate(null); - this._eventsCount = 0; - } + buffer[offset + i - d] |= s * 128; + }; + }, + {}, + ], + 139: [ + function (require, module, exports) { + if (typeof Object.create === "function") { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true, + }, + }); + } + }; + } else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + var TempCtor = function () {}; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + }; + } + }, + {}, + ], + 140: [ + function (require, module, exports) { + /*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ + + // The _isBuffer check is for Safari 5-7 support, because it's missing + // Object.prototype.constructor. Remove this eventually + module.exports = function (obj) { + return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer); + }; - this._maxListeners = this._maxListeners || undefined; -} -module.exports = EventEmitter; - -// Backwards-compat with node 0.10.x -EventEmitter.EventEmitter = EventEmitter; - -EventEmitter.prototype._events = undefined; -EventEmitter.prototype._maxListeners = undefined; - -// By default EventEmitters will print a warning if more than 10 listeners are -// added to it. This is a useful default which helps finding memory leaks. -var defaultMaxListeners = 10; - -var hasDefineProperty; -try { - var o = {}; - if (Object.defineProperty) Object.defineProperty(o, 'x', { value: 0 }); - hasDefineProperty = o.x === 0; -} catch (err) { hasDefineProperty = false } -if (hasDefineProperty) { - Object.defineProperty(EventEmitter, 'defaultMaxListeners', { - enumerable: true, - get: function() { - return defaultMaxListeners; - }, - set: function(arg) { - // check whether the input is a positive number (whose value is zero or - // greater and not a NaN). - if (typeof arg !== 'number' || arg < 0 || arg !== arg) - throw new TypeError('"defaultMaxListeners" must be a positive number'); - defaultMaxListeners = arg; - } - }); -} else { - EventEmitter.defaultMaxListeners = defaultMaxListeners; -} - -// Obviously not all Emitters should be limited to 10. This function allows -// that to be increased. Set to zero for unlimited. -EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { - if (typeof n !== 'number' || n < 0 || isNaN(n)) - throw new TypeError('"n" argument must be a positive number'); - this._maxListeners = n; - return this; -}; - -function $getMaxListeners(that) { - if (that._maxListeners === undefined) - return EventEmitter.defaultMaxListeners; - return that._maxListeners; -} - -EventEmitter.prototype.getMaxListeners = function getMaxListeners() { - return $getMaxListeners(this); -}; - -// These standalone emit* functions are used to optimize calling of event -// handlers for fast cases because emit() itself often has a variable number of -// arguments and can be deoptimized because of that. These functions always have -// the same number of arguments and thus do not get deoptimized, so the code -// inside them can execute faster. -function emitNone(handler, isFn, self) { - if (isFn) - handler.call(self); - else { - var len = handler.length; - var listeners = arrayClone(handler, len); - for (var i = 0; i < len; ++i) - listeners[i].call(self); - } -} -function emitOne(handler, isFn, self, arg1) { - if (isFn) - handler.call(self, arg1); - else { - var len = handler.length; - var listeners = arrayClone(handler, len); - for (var i = 0; i < len; ++i) - listeners[i].call(self, arg1); - } -} -function emitTwo(handler, isFn, self, arg1, arg2) { - if (isFn) - handler.call(self, arg1, arg2); - else { - var len = handler.length; - var listeners = arrayClone(handler, len); - for (var i = 0; i < len; ++i) - listeners[i].call(self, arg1, arg2); - } -} -function emitThree(handler, isFn, self, arg1, arg2, arg3) { - if (isFn) - handler.call(self, arg1, arg2, arg3); - else { - var len = handler.length; - var listeners = arrayClone(handler, len); - for (var i = 0; i < len; ++i) - listeners[i].call(self, arg1, arg2, arg3); - } -} - -function emitMany(handler, isFn, self, args) { - if (isFn) - handler.apply(self, args); - else { - var len = handler.length; - var listeners = arrayClone(handler, len); - for (var i = 0; i < len; ++i) - listeners[i].apply(self, args); - } -} - -EventEmitter.prototype.emit = function emit(type) { - var er, handler, len, args, i, events; - var doError = (type === 'error'); - - events = this._events; - if (events) - doError = (doError && events.error == null); - else if (!doError) - return false; - - // If there is no 'error' event listener then throw. - if (doError) { - if (arguments.length > 1) - er = arguments[1]; - if (er instanceof Error) { - throw er; // Unhandled 'error' event - } else { - // At least give some kind of context to the user - var err = new Error('Unhandled "error" event. (' + er + ')'); - err.context = er; - throw err; - } - return false; - } + function isBuffer(obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj); + } - handler = events[type]; - - if (!handler) - return false; - - var isFn = typeof handler === 'function'; - len = arguments.length; - switch (len) { - // fast cases - case 1: - emitNone(handler, isFn, this); - break; - case 2: - emitOne(handler, isFn, this, arguments[1]); - break; - case 3: - emitTwo(handler, isFn, this, arguments[1], arguments[2]); - break; - case 4: - emitThree(handler, isFn, this, arguments[1], arguments[2], arguments[3]); - break; - // slower - default: - args = new Array(len - 1); - for (i = 1; i < len; i++) - args[i - 1] = arguments[i]; - emitMany(handler, isFn, this, args); - } + // For Node v0.10 support. Remove this eventually. + function isSlowBuffer(obj) { + return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isBuffer(obj.slice(0, 0)); + } + }, + {}, + ], + 141: [ + function (require, module, exports) { + "use strict"; - return true; -}; - -function _addListener(target, type, listener, prepend) { - var m; - var events; - var existing; - - if (typeof listener !== 'function') - throw new TypeError('"listener" argument must be a function'); - - events = target._events; - if (!events) { - events = target._events = objectCreate(null); - target._eventsCount = 0; - } else { - // To avoid recursion in the case that type === "newListener"! Before - // adding it to the listeners, first emit "newListener". - if (events.newListener) { - target.emit('newListener', type, - listener.listener ? listener.listener : listener); - - // Re-assign `events` because a newListener handler could have caused the - // this._events to be assigned to a new object - events = target._events; - } - existing = events[type]; - } + var yaml = require("./lib/js-yaml.js"); - if (!existing) { - // Optimize the case of one listener. Don't need the extra array object. - existing = events[type] = listener; - ++target._eventsCount; - } else { - if (typeof existing === 'function') { - // Adding the second element, need to change to array. - existing = events[type] = - prepend ? [listener, existing] : [existing, listener]; - } else { - // If we've already got an array, just append. - if (prepend) { - existing.unshift(listener); - } else { - existing.push(listener); - } - } + module.exports = yaml; + }, + { "./lib/js-yaml.js": 142 }, + ], + 142: [ + function (require, module, exports) { + "use strict"; + + var loader = require("./js-yaml/loader"); + var dumper = require("./js-yaml/dumper"); + + function deprecated(name) { + return function () { + throw new Error("Function " + name + " is deprecated and cannot be used."); + }; + } + + module.exports.Type = require("./js-yaml/type"); + module.exports.Schema = require("./js-yaml/schema"); + module.exports.FAILSAFE_SCHEMA = require("./js-yaml/schema/failsafe"); + module.exports.JSON_SCHEMA = require("./js-yaml/schema/json"); + module.exports.CORE_SCHEMA = require("./js-yaml/schema/core"); + module.exports.DEFAULT_SAFE_SCHEMA = require("./js-yaml/schema/default_safe"); + module.exports.DEFAULT_FULL_SCHEMA = require("./js-yaml/schema/default_full"); + module.exports.load = loader.load; + module.exports.loadAll = loader.loadAll; + module.exports.safeLoad = loader.safeLoad; + module.exports.safeLoadAll = loader.safeLoadAll; + module.exports.dump = dumper.dump; + module.exports.safeDump = dumper.safeDump; + module.exports.YAMLException = require("./js-yaml/exception"); + + // Deprecated schema names from JS-YAML 2.0.x + module.exports.MINIMAL_SCHEMA = require("./js-yaml/schema/failsafe"); + module.exports.SAFE_SCHEMA = require("./js-yaml/schema/default_safe"); + module.exports.DEFAULT_SCHEMA = require("./js-yaml/schema/default_full"); + + // Deprecated functions from JS-YAML 1.x.x + module.exports.scan = deprecated("scan"); + module.exports.parse = deprecated("parse"); + module.exports.compose = deprecated("compose"); + module.exports.addConstructor = deprecated("addConstructor"); + }, + { + "./js-yaml/dumper": 144, + "./js-yaml/exception": 145, + "./js-yaml/loader": 146, + "./js-yaml/schema": 148, + "./js-yaml/schema/core": 149, + "./js-yaml/schema/default_full": 150, + "./js-yaml/schema/default_safe": 151, + "./js-yaml/schema/failsafe": 152, + "./js-yaml/schema/json": 153, + "./js-yaml/type": 154, + }, + ], + 143: [ + function (require, module, exports) { + "use strict"; - // Check for listener leak - if (!existing.warned) { - m = $getMaxListeners(target); - if (m && m > 0 && existing.length > m) { - existing.warned = true; - var w = new Error('Possible EventEmitter memory leak detected. ' + - existing.length + ' "' + String(type) + '" listeners ' + - 'added. Use emitter.setMaxListeners() to ' + - 'increase limit.'); - w.name = 'MaxListenersExceededWarning'; - w.emitter = target; - w.type = type; - w.count = existing.length; - if (typeof console === 'object' && console.warn) { - console.warn('%s: %s', w.name, w.message); + function isNothing(subject) { + return typeof subject === "undefined" || subject === null; } - } - } - } - return target; -} - -EventEmitter.prototype.addListener = function addListener(type, listener) { - return _addListener(this, type, listener, false); -}; - -EventEmitter.prototype.on = EventEmitter.prototype.addListener; - -EventEmitter.prototype.prependListener = - function prependListener(type, listener) { - return _addListener(this, type, listener, true); - }; - -function onceWrapper() { - if (!this.fired) { - this.target.removeListener(this.type, this.wrapFn); - this.fired = true; - switch (arguments.length) { - case 0: - return this.listener.call(this.target); - case 1: - return this.listener.call(this.target, arguments[0]); - case 2: - return this.listener.call(this.target, arguments[0], arguments[1]); - case 3: - return this.listener.call(this.target, arguments[0], arguments[1], - arguments[2]); - default: - var args = new Array(arguments.length); - for (var i = 0; i < args.length; ++i) - args[i] = arguments[i]; - this.listener.apply(this.target, args); - } - } -} - -function _onceWrap(target, type, listener) { - var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener }; - var wrapped = bind.call(onceWrapper, state); - wrapped.listener = listener; - state.wrapFn = wrapped; - return wrapped; -} - -EventEmitter.prototype.once = function once(type, listener) { - if (typeof listener !== 'function') - throw new TypeError('"listener" argument must be a function'); - this.on(type, _onceWrap(this, type, listener)); - return this; -}; - -EventEmitter.prototype.prependOnceListener = - function prependOnceListener(type, listener) { - if (typeof listener !== 'function') - throw new TypeError('"listener" argument must be a function'); - this.prependListener(type, _onceWrap(this, type, listener)); - return this; - }; - -// Emits a 'removeListener' event if and only if the listener was removed. -EventEmitter.prototype.removeListener = - function removeListener(type, listener) { - var list, events, position, i, originalListener; - - if (typeof listener !== 'function') - throw new TypeError('"listener" argument must be a function'); - - events = this._events; - if (!events) - return this; - - list = events[type]; - if (!list) - return this; - - if (list === listener || list.listener === listener) { - if (--this._eventsCount === 0) - this._events = objectCreate(null); - else { - delete events[type]; - if (events.removeListener) - this.emit('removeListener', type, list.listener || listener); - } - } else if (typeof list !== 'function') { - position = -1; - - for (i = list.length - 1; i >= 0; i--) { - if (list[i] === listener || list[i].listener === listener) { - originalListener = list[i].listener; - position = i; - break; - } - } - - if (position < 0) - return this; - - if (position === 0) - list.shift(); - else - spliceOne(list, position); + function isObject(subject) { + return typeof subject === "object" && subject !== null; + } - if (list.length === 1) - events[type] = list[0]; + function toArray(sequence) { + if (Array.isArray(sequence)) return sequence; + else if (isNothing(sequence)) return []; - if (events.removeListener) - this.emit('removeListener', type, originalListener || listener); - } + return [sequence]; + } - return this; - }; + function extend(target, source) { + var index, length, key, sourceKeys; -EventEmitter.prototype.removeAllListeners = - function removeAllListeners(type) { - var listeners, events, i; + if (source) { + sourceKeys = Object.keys(source); - events = this._events; - if (!events) - return this; + for (index = 0, length = sourceKeys.length; index < length; index += 1) { + key = sourceKeys[index]; + target[key] = source[key]; + } + } - // not listening for removeListener, no need to emit - if (!events.removeListener) { - if (arguments.length === 0) { - this._events = objectCreate(null); - this._eventsCount = 0; - } else if (events[type]) { - if (--this._eventsCount === 0) - this._events = objectCreate(null); - else - delete events[type]; + return target; } - return this; - } - // emit removeListener for all listeners on all events - if (arguments.length === 0) { - var keys = objectKeys(events); - var key; - for (i = 0; i < keys.length; ++i) { - key = keys[i]; - if (key === 'removeListener') continue; - this.removeAllListeners(key); - } - this.removeAllListeners('removeListener'); - this._events = objectCreate(null); - this._eventsCount = 0; - return this; - } + function repeat(string, count) { + var result = "", + cycle; - listeners = events[type]; + for (cycle = 0; cycle < count; cycle += 1) { + result += string; + } - if (typeof listeners === 'function') { - this.removeListener(type, listeners); - } else if (listeners) { - // LIFO order - for (i = listeners.length - 1; i >= 0; i--) { - this.removeListener(type, listeners[i]); + return result; } - } - - return this; - }; - -function _listeners(target, type, unwrap) { - var events = target._events; - if (!events) - return []; + function isNegativeZero(number) { + return number === 0 && Number.NEGATIVE_INFINITY === 1 / number; + } - var evlistener = events[type]; - if (!evlistener) - return []; + module.exports.isNothing = isNothing; + module.exports.isObject = isObject; + module.exports.toArray = toArray; + module.exports.repeat = repeat; + module.exports.isNegativeZero = isNegativeZero; + module.exports.extend = extend; + }, + {}, + ], + 144: [ + function (require, module, exports) { + "use strict"; + + /*eslint-disable no-use-before-define*/ + + var common = require("./common"); + var YAMLException = require("./exception"); + var DEFAULT_FULL_SCHEMA = require("./schema/default_full"); + var DEFAULT_SAFE_SCHEMA = require("./schema/default_safe"); + + var _toString = Object.prototype.toString; + var _hasOwnProperty = Object.prototype.hasOwnProperty; + + var CHAR_TAB = 0x09; /* Tab */ + var CHAR_LINE_FEED = 0x0a; /* LF */ + var CHAR_CARRIAGE_RETURN = 0x0d; /* CR */ + var CHAR_SPACE = 0x20; /* Space */ + var CHAR_EXCLAMATION = 0x21; /* ! */ + var CHAR_DOUBLE_QUOTE = 0x22; /* " */ + var CHAR_SHARP = 0x23; /* # */ + var CHAR_PERCENT = 0x25; /* % */ + var CHAR_AMPERSAND = 0x26; /* & */ + var CHAR_SINGLE_QUOTE = 0x27; /* ' */ + var CHAR_ASTERISK = 0x2a; /* * */ + var CHAR_COMMA = 0x2c; /* , */ + var CHAR_MINUS = 0x2d; /* - */ + var CHAR_COLON = 0x3a; /* : */ + var CHAR_EQUALS = 0x3d; /* = */ + var CHAR_GREATER_THAN = 0x3e; /* > */ + var CHAR_QUESTION = 0x3f; /* ? */ + var CHAR_COMMERCIAL_AT = 0x40; /* @ */ + var CHAR_LEFT_SQUARE_BRACKET = 0x5b; /* [ */ + var CHAR_RIGHT_SQUARE_BRACKET = 0x5d; /* ] */ + var CHAR_GRAVE_ACCENT = 0x60; /* ` */ + var CHAR_LEFT_CURLY_BRACKET = 0x7b; /* { */ + var CHAR_VERTICAL_LINE = 0x7c; /* | */ + var CHAR_RIGHT_CURLY_BRACKET = 0x7d; /* } */ + + var ESCAPE_SEQUENCES = {}; + + ESCAPE_SEQUENCES[0x00] = "\\0"; + ESCAPE_SEQUENCES[0x07] = "\\a"; + ESCAPE_SEQUENCES[0x08] = "\\b"; + ESCAPE_SEQUENCES[0x09] = "\\t"; + ESCAPE_SEQUENCES[0x0a] = "\\n"; + ESCAPE_SEQUENCES[0x0b] = "\\v"; + ESCAPE_SEQUENCES[0x0c] = "\\f"; + ESCAPE_SEQUENCES[0x0d] = "\\r"; + ESCAPE_SEQUENCES[0x1b] = "\\e"; + ESCAPE_SEQUENCES[0x22] = '\\"'; + ESCAPE_SEQUENCES[0x5c] = "\\\\"; + ESCAPE_SEQUENCES[0x85] = "\\N"; + ESCAPE_SEQUENCES[0xa0] = "\\_"; + ESCAPE_SEQUENCES[0x2028] = "\\L"; + ESCAPE_SEQUENCES[0x2029] = "\\P"; + + var DEPRECATED_BOOLEANS_SYNTAX = [ + "y", + "Y", + "yes", + "Yes", + "YES", + "on", + "On", + "ON", + "n", + "N", + "no", + "No", + "NO", + "off", + "Off", + "OFF", + ]; + + function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + + if (map === null) return {}; + + result = {}; + keys = Object.keys(map); + + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + + if (tag.slice(0, 2) === "!!") { + tag = "tag:yaml.org,2002:" + tag.slice(2); + } + type = schema.compiledTypeMap["fallback"][tag]; - if (typeof evlistener === 'function') - return unwrap ? [evlistener.listener || evlistener] : [evlistener]; + if (type && _hasOwnProperty.call(type.styleAliases, style)) { + style = type.styleAliases[style]; + } - return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); -} + result[tag] = style; + } -EventEmitter.prototype.listeners = function listeners(type) { - return _listeners(this, type, true); -}; + return result; + } -EventEmitter.prototype.rawListeners = function rawListeners(type) { - return _listeners(this, type, false); -}; + function encodeHex(character) { + var string, handle, length; -EventEmitter.listenerCount = function(emitter, type) { - if (typeof emitter.listenerCount === 'function') { - return emitter.listenerCount(type); - } else { - return listenerCount.call(emitter, type); - } -}; + string = character.toString(16).toUpperCase(); -EventEmitter.prototype.listenerCount = listenerCount; -function listenerCount(type) { - var events = this._events; + if (character <= 0xff) { + handle = "x"; + length = 2; + } else if (character <= 0xffff) { + handle = "u"; + length = 4; + } else if (character <= 0xffffffff) { + handle = "U"; + length = 8; + } else { + throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF"); + } - if (events) { - var evlistener = events[type]; + return "\\" + handle + common.repeat("0", length - string.length) + string; + } + + function State(options) { + this.schema = options["schema"] || DEFAULT_FULL_SCHEMA; + this.indent = Math.max(1, options["indent"] || 2); + this.noArrayIndent = options["noArrayIndent"] || false; + this.skipInvalid = options["skipInvalid"] || false; + this.flowLevel = common.isNothing(options["flowLevel"]) ? -1 : options["flowLevel"]; + this.styleMap = compileStyleMap(this.schema, options["styles"] || null); + this.sortKeys = options["sortKeys"] || false; + this.lineWidth = options["lineWidth"] || 80; + this.noRefs = options["noRefs"] || false; + this.noCompatMode = options["noCompatMode"] || false; + this.condenseFlow = options["condenseFlow"] || false; + + this.implicitTypes = this.schema.compiledImplicit; + this.explicitTypes = this.schema.compiledExplicit; + + this.tag = null; + this.result = ""; + + this.duplicates = []; + this.usedDuplicates = null; + } + + // Indents every line in a string. Empty lines (\n only) are not indented. + function indentString(string, spaces) { + var ind = common.repeat(" ", spaces), + position = 0, + next = -1, + result = "", + line, + length = string.length; + + while (position < length) { + next = string.indexOf("\n", position); + if (next === -1) { + line = string.slice(position); + position = length; + } else { + line = string.slice(position, next + 1); + position = next + 1; + } - if (typeof evlistener === 'function') { - return 1; - } else if (evlistener) { - return evlistener.length; - } - } + if (line.length && line !== "\n") result += ind; - return 0; -} - -EventEmitter.prototype.eventNames = function eventNames() { - return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : []; -}; - -// About 1.5x faster than the two-arg version of Array#splice(). -function spliceOne(list, index) { - for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) - list[i] = list[k]; - list.pop(); -} - -function arrayClone(arr, n) { - var copy = new Array(n); - for (var i = 0; i < n; ++i) - copy[i] = arr[i]; - return copy; -} - -function unwrapListeners(arr) { - var ret = new Array(arr.length); - for (var i = 0; i < ret.length; ++i) { - ret[i] = arr[i].listener || arr[i]; - } - return ret; -} - -function objectCreatePolyfill(proto) { - var F = function() {}; - F.prototype = proto; - return new F; -} -function objectKeysPolyfill(obj) { - var keys = []; - for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k)) { - keys.push(k); - } - return k; -} -function functionBindPolyfill(context) { - var fn = this; - return function () { - return fn.apply(context, arguments); - }; -} + result += line; + } -},{}],136:[function(require,module,exports){ -'use strict'; + return result; + } -// do not edit .js files directly - edit src/index.jst + function generateNextLine(state, level) { + return "\n" + common.repeat(" ", state.indent * level); + } + function testImplicitResolving(state, str) { + var index, length, type; + for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { + type = state.implicitTypes[index]; -module.exports = function equal(a, b) { - if (a === b) return true; + if (type.resolve(str)) { + return true; + } + } - if (a && b && typeof a == 'object' && typeof b == 'object') { - if (a.constructor !== b.constructor) return false; + return false; + } + + // [33] s-white ::= s-space | s-tab + function isWhitespace(c) { + return c === CHAR_SPACE || c === CHAR_TAB; + } + + // Returns true if the character can be printed without escaping. + // From YAML 1.2: "any allowed characters known to be non-printable + // should also be escaped. [However,] This isn’t mandatory" + // Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029. + function isPrintable(c) { + return ( + (0x00020 <= c && c <= 0x00007e) || + (0x000a1 <= c && c <= 0x00d7ff && c !== 0x2028 && c !== 0x2029) || + (0x0e000 <= c && c <= 0x00fffd && c !== 0xfeff) /* BOM */ || + (0x10000 <= c && c <= 0x10ffff) + ); + } + + // [34] ns-char ::= nb-char - s-white + // [27] nb-char ::= c-printable - b-char - c-byte-order-mark + // [26] b-char ::= b-line-feed | b-carriage-return + // [24] b-line-feed ::= #xA /* LF */ + // [25] b-carriage-return ::= #xD /* CR */ + // [3] c-byte-order-mark ::= #xFEFF + function isNsChar(c) { + return ( + isPrintable(c) && + !isWhitespace(c) && + // byte-order-mark + c !== 0xfeff && + // b-char + c !== CHAR_CARRIAGE_RETURN && + c !== CHAR_LINE_FEED + ); + } + + // Simplified test for values allowed after the first character in plain style. + function isPlainSafe(c, prev) { + // Uses a subset of nb-char - c-flow-indicator - ":" - "#" + // where nb-char ::= c-printable - b-char - c-byte-order-mark. + return ( + isPrintable(c) && + c !== 0xfeff && + // - c-flow-indicator + c !== CHAR_COMMA && + c !== CHAR_LEFT_SQUARE_BRACKET && + c !== CHAR_RIGHT_SQUARE_BRACKET && + c !== CHAR_LEFT_CURLY_BRACKET && + c !== CHAR_RIGHT_CURLY_BRACKET && + // - ":" - "#" + // /* An ns-char preceding */ "#" + c !== CHAR_COLON && + (c !== CHAR_SHARP || (prev && isNsChar(prev))) + ); + } + + // Simplified test for values allowed as the first character in plain style. + function isPlainSafeFirst(c) { + // Uses a subset of ns-char - c-indicator + // where ns-char = nb-char - s-white. + return ( + isPrintable(c) && + c !== 0xfeff && + !isWhitespace(c) && // - s-white + // - (c-indicator ::= + // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}” + c !== CHAR_MINUS && + c !== CHAR_QUESTION && + c !== CHAR_COLON && + c !== CHAR_COMMA && + c !== CHAR_LEFT_SQUARE_BRACKET && + c !== CHAR_RIGHT_SQUARE_BRACKET && + c !== CHAR_LEFT_CURLY_BRACKET && + c !== CHAR_RIGHT_CURLY_BRACKET && + // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “"” + c !== CHAR_SHARP && + c !== CHAR_AMPERSAND && + c !== CHAR_ASTERISK && + c !== CHAR_EXCLAMATION && + c !== CHAR_VERTICAL_LINE && + c !== CHAR_EQUALS && + c !== CHAR_GREATER_THAN && + c !== CHAR_SINGLE_QUOTE && + c !== CHAR_DOUBLE_QUOTE && + // | “%” | “@” | “`”) + c !== CHAR_PERCENT && + c !== CHAR_COMMERCIAL_AT && + c !== CHAR_GRAVE_ACCENT + ); + } + + // Determines whether block indentation indicator is required. + function needIndentIndicator(string) { + var leadingSpaceRe = /^\n* /; + return leadingSpaceRe.test(string); + } + + var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; + + // Determines which scalar styles are possible and returns the preferred style. + // lineWidth = -1 => no limit. + // Pre-conditions: str.length > 0. + // Post-conditions: + // STYLE_PLAIN or STYLE_SINGLE => no \n are in the string. + // STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1). + // STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1). + function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) { + var i; + var char, prev_char; + var hasLineBreak = false; + var hasFoldableLine = false; // only checked if shouldTrackWidth + var shouldTrackWidth = lineWidth !== -1; + var previousLineBreak = -1; // count the first line correctly + var plain = isPlainSafeFirst(string.charCodeAt(0)) && !isWhitespace(string.charCodeAt(string.length - 1)); + + if (singleLineOnly) { + // Case: no block styles. + // Check for disallowed characters to rule out plain and single. + for (i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + prev_char = i > 0 ? string.charCodeAt(i - 1) : null; + plain = plain && isPlainSafe(char, prev_char); + } + } else { + // Case: block styles permitted. + for (i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + if (char === CHAR_LINE_FEED) { + hasLineBreak = true; + // Check if any line can be folded. + if (shouldTrackWidth) { + hasFoldableLine = + hasFoldableLine || + // Foldable line = too long, and not more-indented. + (i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " "); + previousLineBreak = i; + } + } else if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + prev_char = i > 0 ? string.charCodeAt(i - 1) : null; + plain = plain && isPlainSafe(char, prev_char); + } + // in case the end is missing a \n + hasFoldableLine = + hasFoldableLine || + (shouldTrackWidth && i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " "); + } + // Although every style can represent \n without escaping, prefer block styles + // for multiline, since they're more readable and they don't add empty lines. + // Also prefer folding a super-long line. + if (!hasLineBreak && !hasFoldableLine) { + // Strings interpretable as another type have to be quoted; + // e.g. the string 'true' vs. the boolean true. + return plain && !testAmbiguousType(string) ? STYLE_PLAIN : STYLE_SINGLE; + } + // Edge case: block indentation indicator can only have one digit. + if (indentPerLevel > 9 && needIndentIndicator(string)) { + return STYLE_DOUBLE; + } + // At this point we know block styles are valid. + // Prefer literal style unless we want to fold. + return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; + } + + // Note: line breaking/folding is implemented for only the folded style. + // NB. We drop the last trailing newline (if any) of a returned block scalar + // since the dumper adds its own newline. This always works: + // • No ending newline => unaffected; already using strip "-" chomping. + // • Ending newline => removed then restored. + // Importantly, this keeps the "+" chomp indicator from gaining an extra line. + function writeScalar(state, string, level, iskey) { + state.dump = (function () { + if (string.length === 0) { + return "''"; + } + if (!state.noCompatMode && DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) { + return "'" + string + "'"; + } - var length, i, keys; - if (Array.isArray(a)) { - length = a.length; - if (length != b.length) return false; - for (i = length; i-- !== 0;) - if (!equal(a[i], b[i])) return false; - return true; - } + var indent = state.indent * Math.max(1, level); // no 0-indent scalars + // As indentation gets deeper, let the width decrease monotonically + // to the lower bound min(state.lineWidth, 40). + // Note that this implies + // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound. + // state.lineWidth > 40 + state.indent: width decreases until the lower bound. + // This behaves better than a constant minimum width which disallows narrower options, + // or an indent threshold which causes the width to suddenly increase. + var lineWidth = + state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); + + // Without knowing if keys are implicit/explicit, assume implicit for safety. + var singleLineOnly = + iskey || + // No block styles in flow mode. + (state.flowLevel > -1 && level >= state.flowLevel); + function testAmbiguity(string) { + return testImplicitResolving(state, string); + } + switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) { + case STYLE_PLAIN: + return string; + case STYLE_SINGLE: + return "'" + string.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return "|" + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent)); + case STYLE_FOLDED: + return ( + ">" + + blockHeader(string, state.indent) + + dropEndingNewline(indentString(foldString(string, lineWidth), indent)) + ); + case STYLE_DOUBLE: + return '"' + escapeString(string, lineWidth) + '"'; + default: + throw new YAMLException("impossible error: invalid scalar style"); + } + })(); + } + + // Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9. + function blockHeader(string, indentPerLevel) { + var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ""; + + // note the special case: the string '\n' counts as a "trailing" empty line. + var clip = string[string.length - 1] === "\n"; + var keep = clip && (string[string.length - 2] === "\n" || string === "\n"); + var chomp = keep ? "+" : clip ? "" : "-"; + + return indentIndicator + chomp + "\n"; + } + + // (See the note for writeScalar.) + function dropEndingNewline(string) { + return string[string.length - 1] === "\n" ? string.slice(0, -1) : string; + } + + // Note: a long line without a suitable break point will exceed the width limit. + // Pre-conditions: every char in str isPrintable, str.length > 0, width > 0. + function foldString(string, width) { + // In folded style, $k$ consecutive newlines output as $k+1$ newlines— + // unless they're before or after a more-indented line, or at the very + // beginning or end, in which case $k$ maps to $k$. + // Therefore, parse each chunk as newline(s) followed by a content line. + var lineRe = /(\n+)([^\n]*)/g; + + // first line (possibly an empty line) + var result = (function () { + var nextLF = string.indexOf("\n"); + nextLF = nextLF !== -1 ? nextLF : string.length; + lineRe.lastIndex = nextLF; + return foldLine(string.slice(0, nextLF), width); + })(); + // If we haven't reached the first content line yet, don't add an extra \n. + var prevMoreIndented = string[0] === "\n" || string[0] === " "; + var moreIndented; + + // rest of the lines + var match; + while ((match = lineRe.exec(string))) { + var prefix = match[1], + line = match[2]; + moreIndented = line[0] === " "; + result += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine(line, width); + prevMoreIndented = moreIndented; + } + return result; + } + + // Greedy line breaking. + // Picks the longest line under the limit each time, + // otherwise settles for the shortest line over the limit. + // NB. More-indented lines *cannot* be folded, as that would add an extra \n. + function foldLine(line, width) { + if (line === "" || line[0] === " ") return line; + + // Since a more-indented line adds a \n, breaks can't be followed by a space. + var breakRe = / [^ ]/g; // note: the match index will always be <= length-2. + var match; + // start is an inclusive index. end, curr, and next are exclusive. + var start = 0, + end, + curr = 0, + next = 0; + var result = ""; + + // Invariants: 0 <= start <= length-1. + // 0 <= curr <= next <= max(0, length-2). curr - start <= width. + // Inside the loop: + // A match implies length >= 2, so curr and next are <= length-2. + while ((match = breakRe.exec(line))) { + next = match.index; + // maintain invariant: curr - start <= width + if (next - start > width) { + end = curr > start ? curr : next; // derive end <= length-2 + result += "\n" + line.slice(start, end); + // skip the space that was output as \n + start = end + 1; // derive start <= length-1 + } + curr = next; + } - if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; - if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + // By the invariants, start <= length-1, so there is something left over. + // It is either the whole string or a part starting from non-whitespace. + result += "\n"; + // Insert a break if the remainder is too long and there is a break available. + if (line.length - start > width && curr > start) { + result += line.slice(start, curr) + "\n" + line.slice(curr + 1); + } else { + result += line.slice(start); + } - keys = Object.keys(a); - length = keys.length; - if (length !== Object.keys(b).length) return false; + return result.slice(1); // drop extra \n joiner + } + + // Escapes a double-quoted string. + function escapeString(string) { + var result = ""; + var char, nextChar; + var escapeSeq; + + for (var i = 0; i < string.length; i++) { + char = string.charCodeAt(i); + // Check for surrogate pairs (reference Unicode 3.0 section "3.7 Surrogates"). + if (char >= 0xd800 && char <= 0xdbff /* high surrogate */) { + nextChar = string.charCodeAt(i + 1); + if (nextChar >= 0xdc00 && nextChar <= 0xdfff /* low surrogate */) { + // Combine the surrogate pair and store it escaped. + result += encodeHex((char - 0xd800) * 0x400 + nextChar - 0xdc00 + 0x10000); + // Advance index one extra since we already used that char here. + i++; + continue; + } + } + escapeSeq = ESCAPE_SEQUENCES[char]; + result += !escapeSeq && isPrintable(char) ? string[i] : escapeSeq || encodeHex(char); + } - for (i = length; i-- !== 0;) - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + return result; + } - for (i = length; i-- !== 0;) { - var key = keys[i]; + function writeFlowSequence(state, level, object) { + var _result = "", + _tag = state.tag, + index, + length; - if (!equal(a[key], b[key])) return false; - } + for (index = 0, length = object.length; index < length; index += 1) { + // Write only valid elements. + if (writeNode(state, level, object[index], false, false)) { + if (index !== 0) _result += "," + (!state.condenseFlow ? " " : ""); + _result += state.dump; + } + } - return true; - } + state.tag = _tag; + state.dump = "[" + _result + "]"; + } - // true if both NaN, false otherwise - return a!==a && b!==b; -}; + function writeBlockSequence(state, level, object, compact) { + var _result = "", + _tag = state.tag, + index, + length; -},{}],137:[function(require,module,exports){ -var http = require('http') -var url = require('url') + for (index = 0, length = object.length; index < length; index += 1) { + // Write only valid elements. + if (writeNode(state, level + 1, object[index], true, true)) { + if (!compact || index !== 0) { + _result += generateNextLine(state, level); + } -var https = module.exports + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + _result += "-"; + } else { + _result += "- "; + } -for (var key in http) { - if (http.hasOwnProperty(key)) https[key] = http[key] -} + _result += state.dump; + } + } -https.request = function (params, cb) { - params = validateParams(params) - return http.request.call(this, params, cb) -} + state.tag = _tag; + state.dump = _result || "[]"; // Empty sequence if no valid values. + } -https.get = function (params, cb) { - params = validateParams(params) - return http.get.call(this, params, cb) -} + function writeFlowMapping(state, level, object) { + var _result = "", + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + pairBuffer; -function validateParams (params) { - if (typeof params === 'string') { - params = url.parse(params) - } - if (!params.protocol) { - params.protocol = 'https:' - } - if (params.protocol !== 'https:') { - throw new Error('Protocol "' + params.protocol + '" not supported. Expected "https:"') - } - return params -} - -},{"http":192,"url":199}],138:[function(require,module,exports){ -/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ -exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m - var eLen = (nBytes * 8) - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var nBits = -7 - var i = isLE ? (nBytes - 1) : 0 - var d = isLE ? -1 : 1 - var s = buffer[offset + i] - - i += d - - e = s & ((1 << (-nBits)) - 1) - s >>= (-nBits) - nBits += eLen - for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1) - e >>= (-nBits) - nBits += mLen - for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity) - } else { - m = m + Math.pow(2, mLen) - e = e - eBias - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen) -} - -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c - var eLen = (nBytes * 8) - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) - var i = isLE ? 0 : (nBytes - 1) - var d = isLE ? 1 : -1 - var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 - - value = Math.abs(value) - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0 - e = eMax - } else { - e = Math.floor(Math.log(value) / Math.LN2) - if (value * (c = Math.pow(2, -e)) < 1) { - e-- - c *= 2 - } - if (e + eBias >= 1) { - value += rt / c - } else { - value += rt * Math.pow(2, 1 - eBias) - } - if (value * c >= 2) { - e++ - c /= 2 - } + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ""; + if (index !== 0) pairBuffer += ", "; - if (e + eBias >= eMax) { - m = 0 - e = eMax - } else if (e + eBias >= 1) { - m = ((value * c) - 1) * Math.pow(2, mLen) - e = e + eBias - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) - e = 0 - } - } + if (state.condenseFlow) pairBuffer += '"'; - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = (e << mLen) | m - eLen += mLen - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128 -} - -},{}],139:[function(require,module,exports){ -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }) - } - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } - } -} + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; -},{}],140:[function(require,module,exports){ -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ + if (!writeNode(state, level, objectKey, false, false)) { + continue; // Skip this pair because of invalid key; + } -// The _isBuffer check is for Safari 5-7 support, because it's missing -// Object.prototype.constructor. Remove this eventually -module.exports = function (obj) { - return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) -} + if (state.dump.length > 1024) pairBuffer += "? "; -function isBuffer (obj) { - return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) -} + pairBuffer += state.dump + (state.condenseFlow ? '"' : "") + ":" + (state.condenseFlow ? "" : " "); -// For Node v0.10 support. Remove this eventually. -function isSlowBuffer (obj) { - return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) -} + if (!writeNode(state, level, objectValue, false, false)) { + continue; // Skip this pair because of invalid value. + } -},{}],141:[function(require,module,exports){ -'use strict'; + pairBuffer += state.dump; + // Both key and value are valid. + _result += pairBuffer; + } -var yaml = require('./lib/js-yaml.js'); + state.tag = _tag; + state.dump = "{" + _result + "}"; + } + + function writeBlockMapping(state, level, object, compact) { + var _result = "", + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair, + pairBuffer; + + // Allow sorting keys so that the output file is deterministic + if (state.sortKeys === true) { + // Default sorting + objectKeyList.sort(); + } else if (typeof state.sortKeys === "function") { + // Custom sort function + objectKeyList.sort(state.sortKeys); + } else if (state.sortKeys) { + // Something is wrong + throw new YAMLException("sortKeys must be a boolean or a function"); + } + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ""; -module.exports = yaml; + if (!compact || index !== 0) { + pairBuffer += generateNextLine(state, level); + } -},{"./lib/js-yaml.js":142}],142:[function(require,module,exports){ -'use strict'; + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + if (!writeNode(state, level + 1, objectKey, true, true, true)) { + continue; // Skip this pair because of invalid key. + } -var loader = require('./js-yaml/loader'); -var dumper = require('./js-yaml/dumper'); + explicitPair = (state.tag !== null && state.tag !== "?") || (state.dump && state.dump.length > 1024); + if (explicitPair) { + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += "?"; + } else { + pairBuffer += "? "; + } + } -function deprecated(name) { - return function () { - throw new Error('Function ' + name + ' is deprecated and cannot be used.'); - }; -} + pairBuffer += state.dump; + if (explicitPair) { + pairBuffer += generateNextLine(state, level); + } -module.exports.Type = require('./js-yaml/type'); -module.exports.Schema = require('./js-yaml/schema'); -module.exports.FAILSAFE_SCHEMA = require('./js-yaml/schema/failsafe'); -module.exports.JSON_SCHEMA = require('./js-yaml/schema/json'); -module.exports.CORE_SCHEMA = require('./js-yaml/schema/core'); -module.exports.DEFAULT_SAFE_SCHEMA = require('./js-yaml/schema/default_safe'); -module.exports.DEFAULT_FULL_SCHEMA = require('./js-yaml/schema/default_full'); -module.exports.load = loader.load; -module.exports.loadAll = loader.loadAll; -module.exports.safeLoad = loader.safeLoad; -module.exports.safeLoadAll = loader.safeLoadAll; -module.exports.dump = dumper.dump; -module.exports.safeDump = dumper.safeDump; -module.exports.YAMLException = require('./js-yaml/exception'); + if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { + continue; // Skip this pair because of invalid value. + } -// Deprecated schema names from JS-YAML 2.0.x -module.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/failsafe'); -module.exports.SAFE_SCHEMA = require('./js-yaml/schema/default_safe'); -module.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default_full'); + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += ":"; + } else { + pairBuffer += ": "; + } -// Deprecated functions from JS-YAML 1.x.x -module.exports.scan = deprecated('scan'); -module.exports.parse = deprecated('parse'); -module.exports.compose = deprecated('compose'); -module.exports.addConstructor = deprecated('addConstructor'); + pairBuffer += state.dump; -},{"./js-yaml/dumper":144,"./js-yaml/exception":145,"./js-yaml/loader":146,"./js-yaml/schema":148,"./js-yaml/schema/core":149,"./js-yaml/schema/default_full":150,"./js-yaml/schema/default_safe":151,"./js-yaml/schema/failsafe":152,"./js-yaml/schema/json":153,"./js-yaml/type":154}],143:[function(require,module,exports){ -'use strict'; + // Both key and value are valid. + _result += pairBuffer; + } + state.tag = _tag; + state.dump = _result || "{}"; // Empty mapping if no valid pairs. + } -function isNothing(subject) { - return (typeof subject === 'undefined') || (subject === null); -} + function detectType(state, object, explicit) { + var _result, typeList, index, length, type, style; + typeList = explicit ? state.explicitTypes : state.implicitTypes; -function isObject(subject) { - return (typeof subject === 'object') && (subject !== null); -} + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + if ( + (type.instanceOf || type.predicate) && + (!type.instanceOf || (typeof object === "object" && object instanceof type.instanceOf)) && + (!type.predicate || type.predicate(object)) + ) { + state.tag = explicit ? type.tag : "?"; -function toArray(sequence) { - if (Array.isArray(sequence)) return sequence; - else if (isNothing(sequence)) return []; + if (type.represent) { + style = state.styleMap[type.tag] || type.defaultStyle; - return [ sequence ]; -} + if (_toString.call(type.represent) === "[object Function]") { + _result = type.represent(object, style); + } else if (_hasOwnProperty.call(type.represent, style)) { + _result = type.represent[style](object, style); + } else { + throw new YAMLException("!<" + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + state.dump = _result; + } -function extend(target, source) { - var index, length, key, sourceKeys; + return true; + } + } - if (source) { - sourceKeys = Object.keys(source); + return false; + } - for (index = 0, length = sourceKeys.length; index < length; index += 1) { - key = sourceKeys[index]; - target[key] = source[key]; - } - } + // Serializes `object` and writes it to global `result`. + // Returns true on success, or false on invalid object. + // + function writeNode(state, level, object, block, compact, iskey) { + state.tag = null; + state.dump = object; - return target; -} + if (!detectType(state, object, false)) { + detectType(state, object, true); + } + var type = _toString.call(state.dump); -function repeat(string, count) { - var result = '', cycle; + if (block) { + block = state.flowLevel < 0 || state.flowLevel > level; + } - for (cycle = 0; cycle < count; cycle += 1) { - result += string; - } + var objectOrArray = type === "[object Object]" || type === "[object Array]", + duplicateIndex, + duplicate; - return result; -} - - -function isNegativeZero(number) { - return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number); -} - - -module.exports.isNothing = isNothing; -module.exports.isObject = isObject; -module.exports.toArray = toArray; -module.exports.repeat = repeat; -module.exports.isNegativeZero = isNegativeZero; -module.exports.extend = extend; - -},{}],144:[function(require,module,exports){ -'use strict'; - -/*eslint-disable no-use-before-define*/ - -var common = require('./common'); -var YAMLException = require('./exception'); -var DEFAULT_FULL_SCHEMA = require('./schema/default_full'); -var DEFAULT_SAFE_SCHEMA = require('./schema/default_safe'); - -var _toString = Object.prototype.toString; -var _hasOwnProperty = Object.prototype.hasOwnProperty; - -var CHAR_TAB = 0x09; /* Tab */ -var CHAR_LINE_FEED = 0x0A; /* LF */ -var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */ -var CHAR_SPACE = 0x20; /* Space */ -var CHAR_EXCLAMATION = 0x21; /* ! */ -var CHAR_DOUBLE_QUOTE = 0x22; /* " */ -var CHAR_SHARP = 0x23; /* # */ -var CHAR_PERCENT = 0x25; /* % */ -var CHAR_AMPERSAND = 0x26; /* & */ -var CHAR_SINGLE_QUOTE = 0x27; /* ' */ -var CHAR_ASTERISK = 0x2A; /* * */ -var CHAR_COMMA = 0x2C; /* , */ -var CHAR_MINUS = 0x2D; /* - */ -var CHAR_COLON = 0x3A; /* : */ -var CHAR_EQUALS = 0x3D; /* = */ -var CHAR_GREATER_THAN = 0x3E; /* > */ -var CHAR_QUESTION = 0x3F; /* ? */ -var CHAR_COMMERCIAL_AT = 0x40; /* @ */ -var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ -var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ -var CHAR_GRAVE_ACCENT = 0x60; /* ` */ -var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ -var CHAR_VERTICAL_LINE = 0x7C; /* | */ -var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ - -var ESCAPE_SEQUENCES = {}; - -ESCAPE_SEQUENCES[0x00] = '\\0'; -ESCAPE_SEQUENCES[0x07] = '\\a'; -ESCAPE_SEQUENCES[0x08] = '\\b'; -ESCAPE_SEQUENCES[0x09] = '\\t'; -ESCAPE_SEQUENCES[0x0A] = '\\n'; -ESCAPE_SEQUENCES[0x0B] = '\\v'; -ESCAPE_SEQUENCES[0x0C] = '\\f'; -ESCAPE_SEQUENCES[0x0D] = '\\r'; -ESCAPE_SEQUENCES[0x1B] = '\\e'; -ESCAPE_SEQUENCES[0x22] = '\\"'; -ESCAPE_SEQUENCES[0x5C] = '\\\\'; -ESCAPE_SEQUENCES[0x85] = '\\N'; -ESCAPE_SEQUENCES[0xA0] = '\\_'; -ESCAPE_SEQUENCES[0x2028] = '\\L'; -ESCAPE_SEQUENCES[0x2029] = '\\P'; - -var DEPRECATED_BOOLEANS_SYNTAX = [ - 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', - 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF' -]; - -function compileStyleMap(schema, map) { - var result, keys, index, length, tag, style, type; - - if (map === null) return {}; - - result = {}; - keys = Object.keys(map); - - for (index = 0, length = keys.length; index < length; index += 1) { - tag = keys[index]; - style = String(map[tag]); - - if (tag.slice(0, 2) === '!!') { - tag = 'tag:yaml.org,2002:' + tag.slice(2); - } - type = schema.compiledTypeMap['fallback'][tag]; + if (objectOrArray) { + duplicateIndex = state.duplicates.indexOf(object); + duplicate = duplicateIndex !== -1; + } - if (type && _hasOwnProperty.call(type.styleAliases, style)) { - style = type.styleAliases[style]; - } + if ((state.tag !== null && state.tag !== "?") || duplicate || (state.indent !== 2 && level > 0)) { + compact = false; + } - result[tag] = style; - } + if (duplicate && state.usedDuplicates[duplicateIndex]) { + state.dump = "*ref_" + duplicateIndex; + } else { + if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { + state.usedDuplicates[duplicateIndex] = true; + } + if (type === "[object Object]") { + if (block && Object.keys(state.dump).length !== 0) { + writeBlockMapping(state, level, state.dump, compact); + if (duplicate) { + state.dump = "&ref_" + duplicateIndex + state.dump; + } + } else { + writeFlowMapping(state, level, state.dump); + if (duplicate) { + state.dump = "&ref_" + duplicateIndex + " " + state.dump; + } + } + } else if (type === "[object Array]") { + var arrayLevel = state.noArrayIndent && level > 0 ? level - 1 : level; + if (block && state.dump.length !== 0) { + writeBlockSequence(state, arrayLevel, state.dump, compact); + if (duplicate) { + state.dump = "&ref_" + duplicateIndex + state.dump; + } + } else { + writeFlowSequence(state, arrayLevel, state.dump); + if (duplicate) { + state.dump = "&ref_" + duplicateIndex + " " + state.dump; + } + } + } else if (type === "[object String]") { + if (state.tag !== "?") { + writeScalar(state, state.dump, level, iskey); + } + } else { + if (state.skipInvalid) return false; + throw new YAMLException("unacceptable kind of an object to dump " + type); + } - return result; -} - -function encodeHex(character) { - var string, handle, length; - - string = character.toString(16).toUpperCase(); - - if (character <= 0xFF) { - handle = 'x'; - length = 2; - } else if (character <= 0xFFFF) { - handle = 'u'; - length = 4; - } else if (character <= 0xFFFFFFFF) { - handle = 'U'; - length = 8; - } else { - throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF'); - } + if (state.tag !== null && state.tag !== "?") { + state.dump = "!<" + state.tag + "> " + state.dump; + } + } - return '\\' + handle + common.repeat('0', length - string.length) + string; -} - -function State(options) { - this.schema = options['schema'] || DEFAULT_FULL_SCHEMA; - this.indent = Math.max(1, (options['indent'] || 2)); - this.noArrayIndent = options['noArrayIndent'] || false; - this.skipInvalid = options['skipInvalid'] || false; - this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']); - this.styleMap = compileStyleMap(this.schema, options['styles'] || null); - this.sortKeys = options['sortKeys'] || false; - this.lineWidth = options['lineWidth'] || 80; - this.noRefs = options['noRefs'] || false; - this.noCompatMode = options['noCompatMode'] || false; - this.condenseFlow = options['condenseFlow'] || false; - - this.implicitTypes = this.schema.compiledImplicit; - this.explicitTypes = this.schema.compiledExplicit; - - this.tag = null; - this.result = ''; - - this.duplicates = []; - this.usedDuplicates = null; -} - -// Indents every line in a string. Empty lines (\n only) are not indented. -function indentString(string, spaces) { - var ind = common.repeat(' ', spaces), - position = 0, - next = -1, - result = '', - line, - length = string.length; - - while (position < length) { - next = string.indexOf('\n', position); - if (next === -1) { - line = string.slice(position); - position = length; - } else { - line = string.slice(position, next + 1); - position = next + 1; - } + return true; + } - if (line.length && line !== '\n') result += ind; + function getDuplicateReferences(object, state) { + var objects = [], + duplicatesIndexes = [], + index, + length; - result += line; - } + inspectNode(object, objects, duplicatesIndexes); - return result; -} + for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { + state.duplicates.push(objects[duplicatesIndexes[index]]); + } + state.usedDuplicates = new Array(length); + } -function generateNextLine(state, level) { - return '\n' + common.repeat(' ', state.indent * level); -} + function inspectNode(object, objects, duplicatesIndexes) { + var objectKeyList, index, length; -function testImplicitResolving(state, str) { - var index, length, type; + if (object !== null && typeof object === "object") { + index = objects.indexOf(object); + if (index !== -1) { + if (duplicatesIndexes.indexOf(index) === -1) { + duplicatesIndexes.push(index); + } + } else { + objects.push(object); - for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { - type = state.implicitTypes[index]; + if (Array.isArray(object)) { + for (index = 0, length = object.length; index < length; index += 1) { + inspectNode(object[index], objects, duplicatesIndexes); + } + } else { + objectKeyList = Object.keys(object); - if (type.resolve(str)) { - return true; - } - } + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); + } + } + } + } + } - return false; -} - -// [33] s-white ::= s-space | s-tab -function isWhitespace(c) { - return c === CHAR_SPACE || c === CHAR_TAB; -} - -// Returns true if the character can be printed without escaping. -// From YAML 1.2: "any allowed characters known to be non-printable -// should also be escaped. [However,] This isn’t mandatory" -// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029. -function isPrintable(c) { - return (0x00020 <= c && c <= 0x00007E) - || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029) - || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */) - || (0x10000 <= c && c <= 0x10FFFF); -} - -// [34] ns-char ::= nb-char - s-white -// [27] nb-char ::= c-printable - b-char - c-byte-order-mark -// [26] b-char ::= b-line-feed | b-carriage-return -// [24] b-line-feed ::= #xA /* LF */ -// [25] b-carriage-return ::= #xD /* CR */ -// [3] c-byte-order-mark ::= #xFEFF -function isNsChar(c) { - return isPrintable(c) && !isWhitespace(c) - // byte-order-mark - && c !== 0xFEFF - // b-char - && c !== CHAR_CARRIAGE_RETURN - && c !== CHAR_LINE_FEED; -} - -// Simplified test for values allowed after the first character in plain style. -function isPlainSafe(c, prev) { - // Uses a subset of nb-char - c-flow-indicator - ":" - "#" - // where nb-char ::= c-printable - b-char - c-byte-order-mark. - return isPrintable(c) && c !== 0xFEFF - // - c-flow-indicator - && c !== CHAR_COMMA - && c !== CHAR_LEFT_SQUARE_BRACKET - && c !== CHAR_RIGHT_SQUARE_BRACKET - && c !== CHAR_LEFT_CURLY_BRACKET - && c !== CHAR_RIGHT_CURLY_BRACKET - // - ":" - "#" - // /* An ns-char preceding */ "#" - && c !== CHAR_COLON - && ((c !== CHAR_SHARP) || (prev && isNsChar(prev))); -} - -// Simplified test for values allowed as the first character in plain style. -function isPlainSafeFirst(c) { - // Uses a subset of ns-char - c-indicator - // where ns-char = nb-char - s-white. - return isPrintable(c) && c !== 0xFEFF - && !isWhitespace(c) // - s-white - // - (c-indicator ::= - // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}” - && c !== CHAR_MINUS - && c !== CHAR_QUESTION - && c !== CHAR_COLON - && c !== CHAR_COMMA - && c !== CHAR_LEFT_SQUARE_BRACKET - && c !== CHAR_RIGHT_SQUARE_BRACKET - && c !== CHAR_LEFT_CURLY_BRACKET - && c !== CHAR_RIGHT_CURLY_BRACKET - // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “"” - && c !== CHAR_SHARP - && c !== CHAR_AMPERSAND - && c !== CHAR_ASTERISK - && c !== CHAR_EXCLAMATION - && c !== CHAR_VERTICAL_LINE - && c !== CHAR_EQUALS - && c !== CHAR_GREATER_THAN - && c !== CHAR_SINGLE_QUOTE - && c !== CHAR_DOUBLE_QUOTE - // | “%” | “@” | “`”) - && c !== CHAR_PERCENT - && c !== CHAR_COMMERCIAL_AT - && c !== CHAR_GRAVE_ACCENT; -} - -// Determines whether block indentation indicator is required. -function needIndentIndicator(string) { - var leadingSpaceRe = /^\n* /; - return leadingSpaceRe.test(string); -} - -var STYLE_PLAIN = 1, - STYLE_SINGLE = 2, - STYLE_LITERAL = 3, - STYLE_FOLDED = 4, - STYLE_DOUBLE = 5; - -// Determines which scalar styles are possible and returns the preferred style. -// lineWidth = -1 => no limit. -// Pre-conditions: str.length > 0. -// Post-conditions: -// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string. -// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1). -// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1). -function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) { - var i; - var char, prev_char; - var hasLineBreak = false; - var hasFoldableLine = false; // only checked if shouldTrackWidth - var shouldTrackWidth = lineWidth !== -1; - var previousLineBreak = -1; // count the first line correctly - var plain = isPlainSafeFirst(string.charCodeAt(0)) - && !isWhitespace(string.charCodeAt(string.length - 1)); - - if (singleLineOnly) { - // Case: no block styles. - // Check for disallowed characters to rule out plain and single. - for (i = 0; i < string.length; i++) { - char = string.charCodeAt(i); - if (!isPrintable(char)) { - return STYLE_DOUBLE; - } - prev_char = i > 0 ? string.charCodeAt(i - 1) : null; - plain = plain && isPlainSafe(char, prev_char); - } - } else { - // Case: block styles permitted. - for (i = 0; i < string.length; i++) { - char = string.charCodeAt(i); - if (char === CHAR_LINE_FEED) { - hasLineBreak = true; - // Check if any line can be folded. - if (shouldTrackWidth) { - hasFoldableLine = hasFoldableLine || - // Foldable line = too long, and not more-indented. - (i - previousLineBreak - 1 > lineWidth && - string[previousLineBreak + 1] !== ' '); - previousLineBreak = i; - } - } else if (!isPrintable(char)) { - return STYLE_DOUBLE; - } - prev_char = i > 0 ? string.charCodeAt(i - 1) : null; - plain = plain && isPlainSafe(char, prev_char); - } - // in case the end is missing a \n - hasFoldableLine = hasFoldableLine || (shouldTrackWidth && - (i - previousLineBreak - 1 > lineWidth && - string[previousLineBreak + 1] !== ' ')); - } - // Although every style can represent \n without escaping, prefer block styles - // for multiline, since they're more readable and they don't add empty lines. - // Also prefer folding a super-long line. - if (!hasLineBreak && !hasFoldableLine) { - // Strings interpretable as another type have to be quoted; - // e.g. the string 'true' vs. the boolean true. - return plain && !testAmbiguousType(string) - ? STYLE_PLAIN : STYLE_SINGLE; - } - // Edge case: block indentation indicator can only have one digit. - if (indentPerLevel > 9 && needIndentIndicator(string)) { - return STYLE_DOUBLE; - } - // At this point we know block styles are valid. - // Prefer literal style unless we want to fold. - return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; -} - -// Note: line breaking/folding is implemented for only the folded style. -// NB. We drop the last trailing newline (if any) of a returned block scalar -// since the dumper adds its own newline. This always works: -// • No ending newline => unaffected; already using strip "-" chomping. -// • Ending newline => removed then restored. -// Importantly, this keeps the "+" chomp indicator from gaining an extra line. -function writeScalar(state, string, level, iskey) { - state.dump = (function () { - if (string.length === 0) { - return "''"; - } - if (!state.noCompatMode && - DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) { - return "'" + string + "'"; - } + function dump(input, options) { + options = options || {}; - var indent = state.indent * Math.max(1, level); // no 0-indent scalars - // As indentation gets deeper, let the width decrease monotonically - // to the lower bound min(state.lineWidth, 40). - // Note that this implies - // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound. - // state.lineWidth > 40 + state.indent: width decreases until the lower bound. - // This behaves better than a constant minimum width which disallows narrower options, - // or an indent threshold which causes the width to suddenly increase. - var lineWidth = state.lineWidth === -1 - ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); - - // Without knowing if keys are implicit/explicit, assume implicit for safety. - var singleLineOnly = iskey - // No block styles in flow mode. - || (state.flowLevel > -1 && level >= state.flowLevel); - function testAmbiguity(string) { - return testImplicitResolving(state, string); - } + var state = new State(options); - switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) { - case STYLE_PLAIN: - return string; - case STYLE_SINGLE: - return "'" + string.replace(/'/g, "''") + "'"; - case STYLE_LITERAL: - return '|' + blockHeader(string, state.indent) - + dropEndingNewline(indentString(string, indent)); - case STYLE_FOLDED: - return '>' + blockHeader(string, state.indent) - + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); - case STYLE_DOUBLE: - return '"' + escapeString(string, lineWidth) + '"'; - default: - throw new YAMLException('impossible error: invalid scalar style'); - } - }()); -} - -// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9. -function blockHeader(string, indentPerLevel) { - var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; - - // note the special case: the string '\n' counts as a "trailing" empty line. - var clip = string[string.length - 1] === '\n'; - var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); - var chomp = keep ? '+' : (clip ? '' : '-'); - - return indentIndicator + chomp + '\n'; -} - -// (See the note for writeScalar.) -function dropEndingNewline(string) { - return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; -} - -// Note: a long line without a suitable break point will exceed the width limit. -// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0. -function foldString(string, width) { - // In folded style, $k$ consecutive newlines output as $k+1$ newlines— - // unless they're before or after a more-indented line, or at the very - // beginning or end, in which case $k$ maps to $k$. - // Therefore, parse each chunk as newline(s) followed by a content line. - var lineRe = /(\n+)([^\n]*)/g; - - // first line (possibly an empty line) - var result = (function () { - var nextLF = string.indexOf('\n'); - nextLF = nextLF !== -1 ? nextLF : string.length; - lineRe.lastIndex = nextLF; - return foldLine(string.slice(0, nextLF), width); - }()); - // If we haven't reached the first content line yet, don't add an extra \n. - var prevMoreIndented = string[0] === '\n' || string[0] === ' '; - var moreIndented; - - // rest of the lines - var match; - while ((match = lineRe.exec(string))) { - var prefix = match[1], line = match[2]; - moreIndented = (line[0] === ' '); - result += prefix - + (!prevMoreIndented && !moreIndented && line !== '' - ? '\n' : '') - + foldLine(line, width); - prevMoreIndented = moreIndented; - } + if (!state.noRefs) getDuplicateReferences(input, state); - return result; -} - -// Greedy line breaking. -// Picks the longest line under the limit each time, -// otherwise settles for the shortest line over the limit. -// NB. More-indented lines *cannot* be folded, as that would add an extra \n. -function foldLine(line, width) { - if (line === '' || line[0] === ' ') return line; - - // Since a more-indented line adds a \n, breaks can't be followed by a space. - var breakRe = / [^ ]/g; // note: the match index will always be <= length-2. - var match; - // start is an inclusive index. end, curr, and next are exclusive. - var start = 0, end, curr = 0, next = 0; - var result = ''; - - // Invariants: 0 <= start <= length-1. - // 0 <= curr <= next <= max(0, length-2). curr - start <= width. - // Inside the loop: - // A match implies length >= 2, so curr and next are <= length-2. - while ((match = breakRe.exec(line))) { - next = match.index; - // maintain invariant: curr - start <= width - if (next - start > width) { - end = (curr > start) ? curr : next; // derive end <= length-2 - result += '\n' + line.slice(start, end); - // skip the space that was output as \n - start = end + 1; // derive start <= length-1 - } - curr = next; - } + if (writeNode(state, 0, input, true, true)) return state.dump + "\n"; - // By the invariants, start <= length-1, so there is something left over. - // It is either the whole string or a part starting from non-whitespace. - result += '\n'; - // Insert a break if the remainder is too long and there is a break available. - if (line.length - start > width && curr > start) { - result += line.slice(start, curr) + '\n' + line.slice(curr + 1); - } else { - result += line.slice(start); - } + return ""; + } - return result.slice(1); // drop extra \n joiner -} - -// Escapes a double-quoted string. -function escapeString(string) { - var result = ''; - var char, nextChar; - var escapeSeq; - - for (var i = 0; i < string.length; i++) { - char = string.charCodeAt(i); - // Check for surrogate pairs (reference Unicode 3.0 section "3.7 Surrogates"). - if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) { - nextChar = string.charCodeAt(i + 1); - if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) { - // Combine the surrogate pair and store it escaped. - result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000); - // Advance index one extra since we already used that char here. - i++; continue; - } - } - escapeSeq = ESCAPE_SEQUENCES[char]; - result += !escapeSeq && isPrintable(char) - ? string[i] - : escapeSeq || encodeHex(char); - } + function safeDump(input, options) { + return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); + } - return result; -} + module.exports.dump = dump; + module.exports.safeDump = safeDump; + }, + { "./common": 143, "./exception": 145, "./schema/default_full": 150, "./schema/default_safe": 151 }, + ], + 145: [ + function (require, module, exports) { + // YAML error class. http://stackoverflow.com/questions/8458984 + // + "use strict"; + + function YAMLException(reason, mark) { + // Super constructor + Error.call(this); + + this.name = "YAMLException"; + this.reason = reason; + this.mark = mark; + this.message = (this.reason || "(unknown reason)") + (this.mark ? " " + this.mark.toString() : ""); + + // Include stack trace in error object + if (Error.captureStackTrace) { + // Chrome and NodeJS + Error.captureStackTrace(this, this.constructor); + } else { + // FF, IE 10+ and Safari 6+. Fallback for others + this.stack = new Error().stack || ""; + } + } -function writeFlowSequence(state, level, object) { - var _result = '', - _tag = state.tag, - index, - length; + // Inherit from Error + YAMLException.prototype = Object.create(Error.prototype); + YAMLException.prototype.constructor = YAMLException; - for (index = 0, length = object.length; index < length; index += 1) { - // Write only valid elements. - if (writeNode(state, level, object[index], false, false)) { - if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : ''); - _result += state.dump; - } - } + YAMLException.prototype.toString = function toString(compact) { + var result = this.name + ": "; - state.tag = _tag; - state.dump = '[' + _result + ']'; -} - -function writeBlockSequence(state, level, object, compact) { - var _result = '', - _tag = state.tag, - index, - length; - - for (index = 0, length = object.length; index < length; index += 1) { - // Write only valid elements. - if (writeNode(state, level + 1, object[index], true, true)) { - if (!compact || index !== 0) { - _result += generateNextLine(state, level); - } + result += this.reason || "(unknown reason)"; - if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { - _result += '-'; - } else { - _result += '- '; - } + if (!compact && this.mark) { + result += " " + this.mark.toString(); + } - _result += state.dump; - } - } + return result; + }; - state.tag = _tag; - state.dump = _result || '[]'; // Empty sequence if no valid values. -} + module.exports = YAMLException; + }, + {}, + ], + 146: [ + function (require, module, exports) { + "use strict"; -function writeFlowMapping(state, level, object) { - var _result = '', - _tag = state.tag, - objectKeyList = Object.keys(object), - index, - length, - objectKey, - objectValue, - pairBuffer; + /*eslint-disable max-len,no-use-before-define*/ - for (index = 0, length = objectKeyList.length; index < length; index += 1) { + var common = require("./common"); + var YAMLException = require("./exception"); + var Mark = require("./mark"); + var DEFAULT_SAFE_SCHEMA = require("./schema/default_safe"); + var DEFAULT_FULL_SCHEMA = require("./schema/default_full"); - pairBuffer = ''; - if (index !== 0) pairBuffer += ', '; + var _hasOwnProperty = Object.prototype.hasOwnProperty; - if (state.condenseFlow) pairBuffer += '"'; + var CONTEXT_FLOW_IN = 1; + var CONTEXT_FLOW_OUT = 2; + var CONTEXT_BLOCK_IN = 3; + var CONTEXT_BLOCK_OUT = 4; - objectKey = objectKeyList[index]; - objectValue = object[objectKey]; + var CHOMPING_CLIP = 1; + var CHOMPING_STRIP = 2; + var CHOMPING_KEEP = 3; - if (!writeNode(state, level, objectKey, false, false)) { - continue; // Skip this pair because of invalid key; - } + var PATTERN_NON_PRINTABLE = + /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; + var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; + var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; + var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; + var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; - if (state.dump.length > 1024) pairBuffer += '? '; + function _class(obj) { + return Object.prototype.toString.call(obj); + } - pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); + function is_EOL(c) { + return c === 0x0a /* LF */ || c === 0x0d /* CR */; + } - if (!writeNode(state, level, objectValue, false, false)) { - continue; // Skip this pair because of invalid value. - } + function is_WHITE_SPACE(c) { + return c === 0x09 /* Tab */ || c === 0x20 /* Space */; + } - pairBuffer += state.dump; + function is_WS_OR_EOL(c) { + return c === 0x09 /* Tab */ || c === 0x20 /* Space */ || c === 0x0a /* LF */ || c === 0x0d /* CR */; + } - // Both key and value are valid. - _result += pairBuffer; - } + function is_FLOW_INDICATOR(c) { + return ( + c === 0x2c /* , */ || c === 0x5b /* [ */ || c === 0x5d /* ] */ || c === 0x7b /* { */ || c === 0x7d /* } */ + ); + } - state.tag = _tag; - state.dump = '{' + _result + '}'; -} - -function writeBlockMapping(state, level, object, compact) { - var _result = '', - _tag = state.tag, - objectKeyList = Object.keys(object), - index, - length, - objectKey, - objectValue, - explicitPair, - pairBuffer; - - // Allow sorting keys so that the output file is deterministic - if (state.sortKeys === true) { - // Default sorting - objectKeyList.sort(); - } else if (typeof state.sortKeys === 'function') { - // Custom sort function - objectKeyList.sort(state.sortKeys); - } else if (state.sortKeys) { - // Something is wrong - throw new YAMLException('sortKeys must be a boolean or a function'); - } + function fromHexCode(c) { + var lc; - for (index = 0, length = objectKeyList.length; index < length; index += 1) { - pairBuffer = ''; + if (0x30 /* 0 */ <= c && c <= 0x39 /* 9 */) { + return c - 0x30; + } - if (!compact || index !== 0) { - pairBuffer += generateNextLine(state, level); - } + /*eslint-disable no-bitwise*/ + lc = c | 0x20; - objectKey = objectKeyList[index]; - objectValue = object[objectKey]; + if (0x61 /* a */ <= lc && lc <= 0x66 /* f */) { + return lc - 0x61 + 10; + } - if (!writeNode(state, level + 1, objectKey, true, true, true)) { - continue; // Skip this pair because of invalid key. - } + return -1; + } - explicitPair = (state.tag !== null && state.tag !== '?') || - (state.dump && state.dump.length > 1024); + function escapedHexLen(c) { + if (c === 0x78 /* x */) { + return 2; + } + if (c === 0x75 /* u */) { + return 4; + } + if (c === 0x55 /* U */) { + return 8; + } + return 0; + } - if (explicitPair) { - if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { - pairBuffer += '?'; - } else { - pairBuffer += '? '; - } - } + function fromDecimalCode(c) { + if (0x30 /* 0 */ <= c && c <= 0x39 /* 9 */) { + return c - 0x30; + } - pairBuffer += state.dump; + return -1; + } + + function simpleEscapeSequence(c) { + /* eslint-disable indent */ + return c === 0x30 /* 0 */ + ? "\x00" + : c === 0x61 /* a */ + ? "\x07" + : c === 0x62 /* b */ + ? "\x08" + : c === 0x74 /* t */ + ? "\x09" + : c === 0x09 /* Tab */ + ? "\x09" + : c === 0x6e /* n */ + ? "\x0A" + : c === 0x76 /* v */ + ? "\x0B" + : c === 0x66 /* f */ + ? "\x0C" + : c === 0x72 /* r */ + ? "\x0D" + : c === 0x65 /* e */ + ? "\x1B" + : c === 0x20 /* Space */ + ? " " + : c === 0x22 /* " */ + ? "\x22" + : c === 0x2f /* / */ + ? "/" + : c === 0x5c /* \ */ + ? "\x5C" + : c === 0x4e /* N */ + ? "\x85" + : c === 0x5f /* _ */ + ? "\xA0" + : c === 0x4c /* L */ + ? "\u2028" + : c === 0x50 /* P */ + ? "\u2029" + : ""; + } + + function charFromCodepoint(c) { + if (c <= 0xffff) { + return String.fromCharCode(c); + } + // Encode UTF-16 surrogate pair + // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF + return String.fromCharCode(((c - 0x010000) >> 10) + 0xd800, ((c - 0x010000) & 0x03ff) + 0xdc00); + } - if (explicitPair) { - pairBuffer += generateNextLine(state, level); - } + var simpleEscapeCheck = new Array(256); // integer, for fast access + var simpleEscapeMap = new Array(256); + for (var i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); + } - if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { - continue; // Skip this pair because of invalid value. - } + function State(input, options) { + this.input = input; - if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { - pairBuffer += ':'; - } else { - pairBuffer += ': '; - } + this.filename = options["filename"] || null; + this.schema = options["schema"] || DEFAULT_FULL_SCHEMA; + this.onWarning = options["onWarning"] || null; + this.legacy = options["legacy"] || false; + this.json = options["json"] || false; + this.listener = options["listener"] || null; - pairBuffer += state.dump; + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; - // Both key and value are valid. - _result += pairBuffer; - } + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; - state.tag = _tag; - state.dump = _result || '{}'; // Empty mapping if no valid pairs. -} + this.documents = []; -function detectType(state, object, explicit) { - var _result, typeList, index, length, type, style; + /* + this.version; + this.checkLineBreaks; + this.tagMap; + this.anchorMap; + this.tag; + this.anchor; + this.kind; + this.result;*/ + } - typeList = explicit ? state.explicitTypes : state.implicitTypes; + function generateError(state, message) { + return new YAMLException( + message, + new Mark(state.filename, state.input, state.position, state.line, state.position - state.lineStart), + ); + } - for (index = 0, length = typeList.length; index < length; index += 1) { - type = typeList[index]; + function throwError(state, message) { + throw generateError(state, message); + } - if ((type.instanceOf || type.predicate) && - (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) && - (!type.predicate || type.predicate(object))) { + function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } + } - state.tag = explicit ? type.tag : '?'; + var directiveHandlers = { + YAML: function handleYamlDirective(state, name, args) { + var match, major, minor; - if (type.represent) { - style = state.styleMap[type.tag] || type.defaultStyle; + if (state.version !== null) { + throwError(state, "duplication of %YAML directive"); + } - if (_toString.call(type.represent) === '[object Function]') { - _result = type.represent(object, style); - } else if (_hasOwnProperty.call(type.represent, style)) { - _result = type.represent[style](object, style); - } else { - throw new YAMLException('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); - } + if (args.length !== 1) { + throwError(state, "YAML directive accepts exactly one argument"); + } - state.dump = _result; - } + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); - return true; - } - } + if (match === null) { + throwError(state, "ill-formed argument of the YAML directive"); + } - return false; -} + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); -// Serializes `object` and writes it to global `result`. -// Returns true on success, or false on invalid object. -// -function writeNode(state, level, object, block, compact, iskey) { - state.tag = null; - state.dump = object; + if (major !== 1) { + throwError(state, "unacceptable YAML version of the document"); + } - if (!detectType(state, object, false)) { - detectType(state, object, true); - } + state.version = args[0]; + state.checkLineBreaks = minor < 2; - var type = _toString.call(state.dump); + if (minor !== 1 && minor !== 2) { + throwWarning(state, "unsupported YAML version of the document"); + } + }, - if (block) { - block = (state.flowLevel < 0 || state.flowLevel > level); - } + TAG: function handleTagDirective(state, name, args) { + var handle, prefix; - var objectOrArray = type === '[object Object]' || type === '[object Array]', - duplicateIndex, - duplicate; + if (args.length !== 2) { + throwError(state, "TAG directive accepts exactly two arguments"); + } - if (objectOrArray) { - duplicateIndex = state.duplicates.indexOf(object); - duplicate = duplicateIndex !== -1; - } + handle = args[0]; + prefix = args[1]; - if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) { - compact = false; - } + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, "ill-formed tag handle (first argument) of the TAG directive"); + } - if (duplicate && state.usedDuplicates[duplicateIndex]) { - state.dump = '*ref_' + duplicateIndex; - } else { - if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { - state.usedDuplicates[duplicateIndex] = true; - } - if (type === '[object Object]') { - if (block && (Object.keys(state.dump).length !== 0)) { - writeBlockMapping(state, level, state.dump, compact); - if (duplicate) { - state.dump = '&ref_' + duplicateIndex + state.dump; - } - } else { - writeFlowMapping(state, level, state.dump); - if (duplicate) { - state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; - } - } - } else if (type === '[object Array]') { - var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level; - if (block && (state.dump.length !== 0)) { - writeBlockSequence(state, arrayLevel, state.dump, compact); - if (duplicate) { - state.dump = '&ref_' + duplicateIndex + state.dump; - } - } else { - writeFlowSequence(state, arrayLevel, state.dump); - if (duplicate) { - state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; - } - } - } else if (type === '[object String]') { - if (state.tag !== '?') { - writeScalar(state, state.dump, level, iskey); - } - } else { - if (state.skipInvalid) return false; - throw new YAMLException('unacceptable kind of an object to dump ' + type); - } + if (_hasOwnProperty.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } - if (state.tag !== null && state.tag !== '?') { - state.dump = '!<' + state.tag + '> ' + state.dump; - } - } + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, "ill-formed tag prefix (second argument) of the TAG directive"); + } - return true; -} + state.tagMap[handle] = prefix; + }, + }; -function getDuplicateReferences(object, state) { - var objects = [], - duplicatesIndexes = [], - index, - length; + function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; - inspectNode(object, objects, duplicatesIndexes); + if (start < end) { + _result = state.input.slice(start, end); - for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { - state.duplicates.push(objects[duplicatesIndexes[index]]); - } - state.usedDuplicates = new Array(length); -} - -function inspectNode(object, objects, duplicatesIndexes) { - var objectKeyList, - index, - length; - - if (object !== null && typeof object === 'object') { - index = objects.indexOf(object); - if (index !== -1) { - if (duplicatesIndexes.indexOf(index) === -1) { - duplicatesIndexes.push(index); - } - } else { - objects.push(object); + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 0x09 || (0x20 <= _character && _character <= 0x10ffff))) { + throwError(state, "expected valid JSON character"); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, "the stream contains non-printable characters"); + } - if (Array.isArray(object)) { - for (index = 0, length = object.length; index < length; index += 1) { - inspectNode(object[index], objects, duplicatesIndexes); + state.result += _result; + } } - } else { - objectKeyList = Object.keys(object); - for (index = 0, length = objectKeyList.length; index < length; index += 1) { - inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); - } - } - } - } -} + function mergeMappings(state, destination, source, overridableKeys) { + var sourceKeys, key, index, quantity; -function dump(input, options) { - options = options || {}; + if (!common.isObject(source)) { + throwError(state, "cannot merge mappings; the provided source object is unacceptable"); + } - var state = new State(options); + sourceKeys = Object.keys(source); - if (!state.noRefs) getDuplicateReferences(input, state); + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; - if (writeNode(state, 0, input, true, true)) return state.dump + '\n'; + if (!_hasOwnProperty.call(destination, key)) { + destination[key] = source[key]; + overridableKeys[key] = true; + } + } + } - return ''; -} + function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) { + var index, quantity; -function safeDump(input, options) { - return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); -} + // The output is a plain object here, so keys can only be strings. + // We need to convert keyNode to a string, but doing so can hang the process + // (deeply nested arrays that explode exponentially using aliases). + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); -module.exports.dump = dump; -module.exports.safeDump = safeDump; + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, "nested arrays are not supported inside keys"); + } -},{"./common":143,"./exception":145,"./schema/default_full":150,"./schema/default_safe":151}],145:[function(require,module,exports){ -// YAML error class. http://stackoverflow.com/questions/8458984 -// -'use strict'; + if (typeof keyNode === "object" && _class(keyNode[index]) === "[object Object]") { + keyNode[index] = "[object Object]"; + } + } + } -function YAMLException(reason, mark) { - // Super constructor - Error.call(this); + // Avoid code execution in load() via toString property + // (still use its own toString for arrays, timestamps, + // and whatever user schema extensions happen to have @@toStringTag) + if (typeof keyNode === "object" && _class(keyNode) === "[object Object]") { + keyNode = "[object Object]"; + } - this.name = 'YAMLException'; - this.reason = reason; - this.mark = mark; - this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : ''); + keyNode = String(keyNode); - // Include stack trace in error object - if (Error.captureStackTrace) { - // Chrome and NodeJS - Error.captureStackTrace(this, this.constructor); - } else { - // FF, IE 10+ and Safari 6+. Fallback for others - this.stack = (new Error()).stack || ''; - } -} + if (_result === null) { + _result = {}; + } + if (keyTag === "tag:yaml.org,2002:merge") { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if ( + !state.json && + !_hasOwnProperty.call(overridableKeys, keyNode) && + _hasOwnProperty.call(_result, keyNode) + ) { + state.line = startLine || state.line; + state.position = startPos || state.position; + throwError(state, "duplicated mapping key"); + } + _result[keyNode] = valueNode; + delete overridableKeys[keyNode]; + } -// Inherit from Error -YAMLException.prototype = Object.create(Error.prototype); -YAMLException.prototype.constructor = YAMLException; + return _result; + } + function readLineBreak(state) { + var ch; -YAMLException.prototype.toString = function toString(compact) { - var result = this.name + ': '; + ch = state.input.charCodeAt(state.position); - result += this.reason || '(unknown reason)'; + if (ch === 0x0a /* LF */) { + state.position++; + } else if (ch === 0x0d /* CR */) { + state.position++; + if (state.input.charCodeAt(state.position) === 0x0a /* LF */) { + state.position++; + } + } else { + throwError(state, "a line break is expected"); + } - if (!compact && this.mark) { - result += ' ' + this.mark.toString(); - } + state.line += 1; + state.lineStart = state.position; + } - return result; -}; + function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, + ch = state.input.charCodeAt(state.position); + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } -module.exports = YAMLException; + if (allowComments && ch === 0x23 /* # */) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0x0a /* LF */ && ch !== 0x0d /* CR */ && ch !== 0); + } -},{}],146:[function(require,module,exports){ -'use strict'; + if (is_EOL(ch)) { + readLineBreak(state); -/*eslint-disable max-len,no-use-before-define*/ + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; -var common = require('./common'); -var YAMLException = require('./exception'); -var Mark = require('./mark'); -var DEFAULT_SAFE_SCHEMA = require('./schema/default_safe'); -var DEFAULT_FULL_SCHEMA = require('./schema/default_full'); + while (ch === 0x20 /* Space */) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, "deficient indentation"); + } -var _hasOwnProperty = Object.prototype.hasOwnProperty; + return lineBreaks; + } + function testDocumentSeparator(state) { + var _position = state.position, + ch; -var CONTEXT_FLOW_IN = 1; -var CONTEXT_FLOW_OUT = 2; -var CONTEXT_BLOCK_IN = 3; -var CONTEXT_BLOCK_OUT = 4; + ch = state.input.charCodeAt(_position); + // Condition state.position === state.lineStart is tested + // in parent on each call, for efficiency. No needs to test here again. + if ( + (ch === 0x2d /* - */ || ch === 0x2e) /* . */ && + ch === state.input.charCodeAt(_position + 1) && + ch === state.input.charCodeAt(_position + 2) + ) { + _position += 3; -var CHOMPING_CLIP = 1; -var CHOMPING_STRIP = 2; -var CHOMPING_KEEP = 3; + ch = state.input.charCodeAt(_position); + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } -var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; -var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; -var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; -var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; -var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + return false; + } + function writeFoldedLines(state, count) { + if (count === 1) { + state.result += " "; + } else if (count > 1) { + state.result += common.repeat("\n", count - 1); + } + } -function _class(obj) { return Object.prototype.toString.call(obj); } + function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = state.kind, + _result = state.result, + ch; + + ch = state.input.charCodeAt(state.position); + + if ( + is_WS_OR_EOL(ch) || + is_FLOW_INDICATOR(ch) || + ch === 0x23 /* # */ || + ch === 0x26 /* & */ || + ch === 0x2a /* * */ || + ch === 0x21 /* ! */ || + ch === 0x7c /* | */ || + ch === 0x3e /* > */ || + ch === 0x27 /* ' */ || + ch === 0x22 /* " */ || + ch === 0x25 /* % */ || + ch === 0x40 /* @ */ || + ch === 0x60 /* ` */ + ) { + return false; + } -function is_EOL(c) { - return (c === 0x0A/* LF */) || (c === 0x0D/* CR */); -} + if (ch === 0x3f /* ? */ || ch === 0x2d /* - */) { + following = state.input.charCodeAt(state.position + 1); -function is_WHITE_SPACE(c) { - return (c === 0x09/* Tab */) || (c === 0x20/* Space */); -} + if (is_WS_OR_EOL(following) || (withinFlowCollection && is_FLOW_INDICATOR(following))) { + return false; + } + } -function is_WS_OR_EOL(c) { - return (c === 0x09/* Tab */) || - (c === 0x20/* Space */) || - (c === 0x0A/* LF */) || - (c === 0x0D/* CR */); -} + state.kind = "scalar"; + state.result = ""; + captureStart = captureEnd = state.position; + hasPendingContent = false; -function is_FLOW_INDICATOR(c) { - return c === 0x2C/* , */ || - c === 0x5B/* [ */ || - c === 0x5D/* ] */ || - c === 0x7B/* { */ || - c === 0x7D/* } */; -} + while (ch !== 0) { + if (ch === 0x3a /* : */) { + following = state.input.charCodeAt(state.position + 1); -function fromHexCode(c) { - var lc; + if (is_WS_OR_EOL(following) || (withinFlowCollection && is_FLOW_INDICATOR(following))) { + break; + } + } else if (ch === 0x23 /* # */) { + preceding = state.input.charCodeAt(state.position - 1); - if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { - return c - 0x30; - } + if (is_WS_OR_EOL(preceding)) { + break; + } + } else if ( + (state.position === state.lineStart && testDocumentSeparator(state)) || + (withinFlowCollection && is_FLOW_INDICATOR(ch)) + ) { + break; + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } - /*eslint-disable no-bitwise*/ - lc = c | 0x20; + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } - if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) { - return lc - 0x61 + 10; - } + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } - return -1; -} + ch = state.input.charCodeAt(++state.position); + } -function escapedHexLen(c) { - if (c === 0x78/* x */) { return 2; } - if (c === 0x75/* u */) { return 4; } - if (c === 0x55/* U */) { return 8; } - return 0; -} + captureSegment(state, captureStart, captureEnd, false); -function fromDecimalCode(c) { - if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { - return c - 0x30; - } + if (state.result) { + return true; + } - return -1; -} - -function simpleEscapeSequence(c) { - /* eslint-disable indent */ - return (c === 0x30/* 0 */) ? '\x00' : - (c === 0x61/* a */) ? '\x07' : - (c === 0x62/* b */) ? '\x08' : - (c === 0x74/* t */) ? '\x09' : - (c === 0x09/* Tab */) ? '\x09' : - (c === 0x6E/* n */) ? '\x0A' : - (c === 0x76/* v */) ? '\x0B' : - (c === 0x66/* f */) ? '\x0C' : - (c === 0x72/* r */) ? '\x0D' : - (c === 0x65/* e */) ? '\x1B' : - (c === 0x20/* Space */) ? ' ' : - (c === 0x22/* " */) ? '\x22' : - (c === 0x2F/* / */) ? '/' : - (c === 0x5C/* \ */) ? '\x5C' : - (c === 0x4E/* N */) ? '\x85' : - (c === 0x5F/* _ */) ? '\xA0' : - (c === 0x4C/* L */) ? '\u2028' : - (c === 0x50/* P */) ? '\u2029' : ''; -} - -function charFromCodepoint(c) { - if (c <= 0xFFFF) { - return String.fromCharCode(c); - } - // Encode UTF-16 surrogate pair - // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF - return String.fromCharCode( - ((c - 0x010000) >> 10) + 0xD800, - ((c - 0x010000) & 0x03FF) + 0xDC00 - ); -} - -var simpleEscapeCheck = new Array(256); // integer, for fast access -var simpleEscapeMap = new Array(256); -for (var i = 0; i < 256; i++) { - simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; - simpleEscapeMap[i] = simpleEscapeSequence(i); -} - - -function State(input, options) { - this.input = input; - - this.filename = options['filename'] || null; - this.schema = options['schema'] || DEFAULT_FULL_SCHEMA; - this.onWarning = options['onWarning'] || null; - this.legacy = options['legacy'] || false; - this.json = options['json'] || false; - this.listener = options['listener'] || null; - - this.implicitTypes = this.schema.compiledImplicit; - this.typeMap = this.schema.compiledTypeMap; - - this.length = input.length; - this.position = 0; - this.line = 0; - this.lineStart = 0; - this.lineIndent = 0; - - this.documents = []; - - /* - this.version; - this.checkLineBreaks; - this.tagMap; - this.anchorMap; - this.tag; - this.anchor; - this.kind; - this.result;*/ + state.kind = _kind; + state.result = _result; + return false; + } -} + function readSingleQuotedScalar(state, nodeIndent) { + var ch, captureStart, captureEnd; + ch = state.input.charCodeAt(state.position); -function generateError(state, message) { - return new YAMLException( - message, - new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart))); -} + if (ch !== 0x27 /* ' */) { + return false; + } -function throwError(state, message) { - throw generateError(state, message); -} + state.kind = "scalar"; + state.result = ""; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x27 /* ' */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x27 /* ' */) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, "unexpected end of the document within a single quoted scalar"); + } else { + state.position++; + captureEnd = state.position; + } + } -function throwWarning(state, message) { - if (state.onWarning) { - state.onWarning.call(null, generateError(state, message)); - } -} + throwError(state, "unexpected end of the stream within a single quoted scalar"); + } + function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, captureEnd, hexLength, hexResult, tmp, ch; -var directiveHandlers = { + ch = state.input.charCodeAt(state.position); - YAML: function handleYamlDirective(state, name, args) { + if (ch !== 0x22 /* " */) { + return false; + } - var match, major, minor; + state.kind = "scalar"; + state.result = ""; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x22 /* " */) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + } else if (ch === 0x5c /* \ */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + + // TODO: rework to inline fn with no type cast? + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + } else { + throwError(state, "expected hexadecimal character"); + } + } - if (state.version !== null) { - throwError(state, 'duplication of %YAML directive'); - } + state.result += charFromCodepoint(hexResult); - if (args.length !== 1) { - throwError(state, 'YAML directive accepts exactly one argument'); - } + state.position++; + } else { + throwError(state, "unknown escape sequence"); + } - match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + captureStart = captureEnd = state.position; + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, "unexpected end of the document within a double quoted scalar"); + } else { + state.position++; + captureEnd = state.position; + } + } - if (match === null) { - throwError(state, 'ill-formed argument of the YAML directive'); - } + throwError(state, "unexpected end of the stream within a double quoted scalar"); + } + + function readFlowCollection(state, nodeIndent) { + var readNext = true, + _line, + _tag = state.tag, + _result, + _anchor = state.anchor, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + overridableKeys = {}, + keyNode, + keyTag, + valueNode, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x5b /* [ */) { + terminator = 0x5d; /* ] */ + isMapping = false; + _result = []; + } else if (ch === 0x7b /* { */) { + terminator = 0x7d; /* } */ + isMapping = true; + _result = {}; + } else { + return false; + } - major = parseInt(match[1], 10); - minor = parseInt(match[2], 10); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } - if (major !== 1) { - throwError(state, 'unacceptable YAML version of the document'); - } + ch = state.input.charCodeAt(++state.position); - state.version = args[0]; - state.checkLineBreaks = (minor < 2); + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); - if (minor !== 1 && minor !== 2) { - throwWarning(state, 'unsupported YAML version of the document'); - } - }, + ch = state.input.charCodeAt(state.position); - TAG: function handleTagDirective(state, name, args) { + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? "mapping" : "sequence"; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, "missed comma between flow collection entries"); + } - var handle, prefix; + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; - if (args.length !== 2) { - throwError(state, 'TAG directive accepts exactly two arguments'); - } + if (ch === 0x3f /* ? */) { + following = state.input.charCodeAt(state.position + 1); - handle = args[0]; - prefix = args[1]; + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } - if (!PATTERN_TAG_HANDLE.test(handle)) { - throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); - } + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); - if (_hasOwnProperty.call(state.tagMap, handle)) { - throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); - } + ch = state.input.charCodeAt(state.position); - if (!PATTERN_TAG_URI.test(prefix)) { - throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); - } + if ((isExplicitPair || state.line === _line) && ch === 0x3a /* : */) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } - state.tagMap[handle] = prefix; - } -}; + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode)); + } else { + _result.push(keyNode); + } + skipSeparationSpace(state, true, nodeIndent); -function captureSegment(state, start, end, checkJson) { - var _position, _length, _character, _result; + ch = state.input.charCodeAt(state.position); - if (start < end) { - _result = state.input.slice(start, end); + if (ch === 0x2c /* , */) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } - if (checkJson) { - for (_position = 0, _length = _result.length; _position < _length; _position += 1) { - _character = _result.charCodeAt(_position); - if (!(_character === 0x09 || - (0x20 <= _character && _character <= 0x10FFFF))) { - throwError(state, 'expected valid JSON character'); + throwError(state, "unexpected end of the stream within a flow collection"); } - } - } else if (PATTERN_NON_PRINTABLE.test(_result)) { - throwError(state, 'the stream contains non-printable characters'); - } - - state.result += _result; - } -} - -function mergeMappings(state, destination, source, overridableKeys) { - var sourceKeys, key, index, quantity; - if (!common.isObject(source)) { - throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); - } + function readBlockScalar(state, nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + didReadContent = false, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = 0, + atMoreIndented = false, + tmp, + ch; - sourceKeys = Object.keys(source); + ch = state.input.charCodeAt(state.position); - for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { - key = sourceKeys[index]; + if (ch === 0x7c /* | */) { + folding = false; + } else if (ch === 0x3e /* > */) { + folding = true; + } else { + return false; + } - if (!_hasOwnProperty.call(destination, key)) { - destination[key] = source[key]; - overridableKeys[key] = true; - } - } -} + state.kind = "scalar"; + state.result = ""; -function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) { - var index, quantity; + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); - // The output is a plain object here, so keys can only be strings. - // We need to convert keyNode to a string, but doing so can hang the process - // (deeply nested arrays that explode exponentially using aliases). - if (Array.isArray(keyNode)) { - keyNode = Array.prototype.slice.call(keyNode); + if (ch === 0x2b /* + */ || ch === 0x2d /* - */) { + if (CHOMPING_CLIP === chomping) { + chomping = ch === 0x2b /* + */ ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, "repeat of a chomping mode identifier"); + } + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one"); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, "repeat of an indentation width identifier"); + } + } else { + break; + } + } - for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { - if (Array.isArray(keyNode[index])) { - throwError(state, 'nested arrays are not supported inside keys'); - } + if (is_WHITE_SPACE(ch)) { + do { + ch = state.input.charCodeAt(++state.position); + } while (is_WHITE_SPACE(ch)); - if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') { - keyNode[index] = '[object Object]'; - } - } - } + if (ch === 0x23 /* # */) { + do { + ch = state.input.charCodeAt(++state.position); + } while (!is_EOL(ch) && ch !== 0); + } + } - // Avoid code execution in load() via toString property - // (still use its own toString for arrays, timestamps, - // and whatever user schema extensions happen to have @@toStringTag) - if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') { - keyNode = '[object Object]'; - } + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + ch = state.input.charCodeAt(state.position); - keyNode = String(keyNode); + while ((!detectedIndent || state.lineIndent < textIndent) && ch === 0x20 /* Space */) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } - if (_result === null) { - _result = {}; - } + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } - if (keyTag === 'tag:yaml.org,2002:merge') { - if (Array.isArray(valueNode)) { - for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { - mergeMappings(state, _result, valueNode[index], overridableKeys); - } - } else { - mergeMappings(state, _result, valueNode, overridableKeys); - } - } else { - if (!state.json && - !_hasOwnProperty.call(overridableKeys, keyNode) && - _hasOwnProperty.call(_result, keyNode)) { - state.line = startLine || state.line; - state.position = startPos || state.position; - throwError(state, 'duplicated mapping key'); - } - _result[keyNode] = valueNode; - delete overridableKeys[keyNode]; - } + if (is_EOL(ch)) { + emptyLines++; + continue; + } - return _result; -} + // End of the scalar. + if (state.lineIndent < textIndent) { + // Perform the chomping. + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { + // i.e. only if the scalar is not empty. + state.result += "\n"; + } + } -function readLineBreak(state) { - var ch; + // Break this `while` cycle and go to the funciton's epilogue. + break; + } - ch = state.input.charCodeAt(state.position); + // Folded style: use fancy rules to handle line breaks. + if (folding) { + // Lines starting with white space characters (more-indented lines) are not folded. + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + // except for the first content line (cf. Example 8.1) + state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); + + // End of more-indented block. + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat("\n", emptyLines + 1); + + // Just one line break - perceive as the same line. + } else if (emptyLines === 0) { + if (didReadContent) { + // i.e. only if we have already read some scalar content. + state.result += " "; + } - if (ch === 0x0A/* LF */) { - state.position++; - } else if (ch === 0x0D/* CR */) { - state.position++; - if (state.input.charCodeAt(state.position) === 0x0A/* LF */) { - state.position++; - } - } else { - throwError(state, 'a line break is expected'); - } + // Several line breaks - perceive as different lines. + } else { + state.result += common.repeat("\n", emptyLines); + } - state.line += 1; - state.lineStart = state.position; -} + // Literal style: just add exact number of line breaks between content lines. + } else { + // Keep all line breaks except the header line break. + state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); + } -function skipSeparationSpace(state, allowComments, checkIndent) { - var lineBreaks = 0, - ch = state.input.charCodeAt(state.position); + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; - while (ch !== 0) { - while (is_WHITE_SPACE(ch)) { - ch = state.input.charCodeAt(++state.position); - } + while (!is_EOL(ch) && ch !== 0) { + ch = state.input.charCodeAt(++state.position); + } - if (allowComments && ch === 0x23/* # */) { - do { - ch = state.input.charCodeAt(++state.position); - } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0); - } + captureSegment(state, captureStart, state.position, false); + } - if (is_EOL(ch)) { - readLineBreak(state); + return true; + } - ch = state.input.charCodeAt(state.position); - lineBreaks++; - state.lineIndent = 0; + function readBlockSequence(state, nodeIndent) { + var _line, + _tag = state.tag, + _anchor = state.anchor, + _result = [], + following, + detected = false, + ch; - while (ch === 0x20/* Space */) { - state.lineIndent++; - ch = state.input.charCodeAt(++state.position); - } - } else { - break; - } - } + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } - if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { - throwWarning(state, 'deficient indentation'); - } + ch = state.input.charCodeAt(state.position); - return lineBreaks; -} + while (ch !== 0) { + if (ch !== 0x2d /* - */) { + break; + } -function testDocumentSeparator(state) { - var _position = state.position, - ch; + following = state.input.charCodeAt(state.position + 1); - ch = state.input.charCodeAt(_position); + if (!is_WS_OR_EOL(following)) { + break; + } - // Condition state.position === state.lineStart is tested - // in parent on each call, for efficiency. No needs to test here again. - if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) && - ch === state.input.charCodeAt(_position + 1) && - ch === state.input.charCodeAt(_position + 2)) { + detected = true; + state.position++; - _position += 3; + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } - ch = state.input.charCodeAt(_position); + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); - if (ch === 0 || is_WS_OR_EOL(ch)) { - return true; - } - } + ch = state.input.charCodeAt(state.position); - return false; -} + if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) { + throwError(state, "bad indentation of a sequence entry"); + } else if (state.lineIndent < nodeIndent) { + break; + } + } -function writeFoldedLines(state, count) { - if (count === 1) { - state.result += ' '; - } else if (count > 1) { - state.result += common.repeat('\n', count - 1); - } -} - - -function readPlainScalar(state, nodeIndent, withinFlowCollection) { - var preceding, - following, - captureStart, - captureEnd, - hasPendingContent, - _line, - _lineStart, - _lineIndent, - _kind = state.kind, - _result = state.result, - ch; - - ch = state.input.charCodeAt(state.position); - - if (is_WS_OR_EOL(ch) || - is_FLOW_INDICATOR(ch) || - ch === 0x23/* # */ || - ch === 0x26/* & */ || - ch === 0x2A/* * */ || - ch === 0x21/* ! */ || - ch === 0x7C/* | */ || - ch === 0x3E/* > */ || - ch === 0x27/* ' */ || - ch === 0x22/* " */ || - ch === 0x25/* % */ || - ch === 0x40/* @ */ || - ch === 0x60/* ` */) { - return false; - } + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = "sequence"; + state.result = _result; + return true; + } + return false; + } + + function readBlockMapping(state, nodeIndent, flowIndent) { + var following, + allowCompact, + _line, + _pos, + _tag = state.tag, + _anchor = state.anchor, + _result = {}, + overridableKeys = {}, + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false, + ch; - if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) { - following = state.input.charCodeAt(state.position + 1); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } - if (is_WS_OR_EOL(following) || - withinFlowCollection && is_FLOW_INDICATOR(following)) { - return false; - } - } + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + following = state.input.charCodeAt(state.position + 1); + _line = state.line; // Save the current line. + _pos = state.position; + + // + // Explicit notation case. There are two separate blocks: + // first for the key (denoted by "?") and second for the value (denoted by ":") + // + if ((ch === 0x3f /* ? */ || ch === 0x3a) /* : */ && is_WS_OR_EOL(following)) { + if (ch === 0x3f /* ? */) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } - state.kind = 'scalar'; - state.result = ''; - captureStart = captureEnd = state.position; - hasPendingContent = false; + detected = true; + atExplicitKey = true; + allowCompact = true; + } else if (atExplicitKey) { + // i.e. 0x3A/* : */ === character after the explicit key. + atExplicitKey = false; + allowCompact = true; + } else { + throwError( + state, + "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line", + ); + } - while (ch !== 0) { - if (ch === 0x3A/* : */) { - following = state.input.charCodeAt(state.position + 1); + state.position += 1; + ch = following; - if (is_WS_OR_EOL(following) || - withinFlowCollection && is_FLOW_INDICATOR(following)) { - break; - } + // + // Implicit notation case. Flow-style node as the key first, then ":", and the value. + // + } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); - } else if (ch === 0x23/* # */) { - preceding = state.input.charCodeAt(state.position - 1); + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } - if (is_WS_OR_EOL(preceding)) { - break; - } + if (ch === 0x3a /* : */) { + ch = state.input.charCodeAt(++state.position); - } else if ((state.position === state.lineStart && testDocumentSeparator(state)) || - withinFlowCollection && is_FLOW_INDICATOR(ch)) { - break; - - } else if (is_EOL(ch)) { - _line = state.line; - _lineStart = state.lineStart; - _lineIndent = state.lineIndent; - skipSeparationSpace(state, false, -1); - - if (state.lineIndent >= nodeIndent) { - hasPendingContent = true; - ch = state.input.charCodeAt(state.position); - continue; - } else { - state.position = captureEnd; - state.line = _line; - state.lineStart = _lineStart; - state.lineIndent = _lineIndent; - break; - } - } + if (!is_WS_OR_EOL(ch)) { + throwError( + state, + "a whitespace character is expected after the key-value separator within a block mapping", + ); + } - if (hasPendingContent) { - captureSegment(state, captureStart, captureEnd, false); - writeFoldedLines(state, state.line - _line); - captureStart = captureEnd = state.position; - hasPendingContent = false; - } + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + keyTag = keyNode = valueNode = null; + } - if (!is_WHITE_SPACE(ch)) { - captureEnd = state.position + 1; - } + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + } else if (detected) { + throwError(state, "can not read an implicit mapping pair; a colon is missed"); + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + } else if (detected) { + throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key"); + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + } else { + break; // Reading is done. Go to the epilogue. + } - ch = state.input.charCodeAt(++state.position); - } + // + // Common reading code for both explicit and implicit notations. + // + if (state.line === _line || state.lineIndent > nodeIndent) { + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } - captureSegment(state, captureStart, captureEnd, false); + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos); + keyTag = keyNode = valueNode = null; + } - if (state.result) { - return true; - } + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } - state.kind = _kind; - state.result = _result; - return false; -} + if (state.lineIndent > nodeIndent && ch !== 0) { + throwError(state, "bad indentation of a mapping entry"); + } else if (state.lineIndent < nodeIndent) { + break; + } + } -function readSingleQuotedScalar(state, nodeIndent) { - var ch, - captureStart, captureEnd; + // + // Epilogue. + // - ch = state.input.charCodeAt(state.position); + // Special case: last mapping's node contains only the key in explicit notation. + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); + } - if (ch !== 0x27/* ' */) { - return false; - } + // Expose the resulting mapping. + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = "mapping"; + state.result = _result; + } - state.kind = 'scalar'; - state.result = ''; - state.position++; - captureStart = captureEnd = state.position; - - while ((ch = state.input.charCodeAt(state.position)) !== 0) { - if (ch === 0x27/* ' */) { - captureSegment(state, captureStart, state.position, true); - ch = state.input.charCodeAt(++state.position); - - if (ch === 0x27/* ' */) { - captureStart = state.position; - state.position++; - captureEnd = state.position; - } else { - return true; - } + return detected; + } - } else if (is_EOL(ch)) { - captureSegment(state, captureStart, captureEnd, true); - writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); - captureStart = captureEnd = state.position; + function readTagProperty(state) { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName, + ch; - } else if (state.position === state.lineStart && testDocumentSeparator(state)) { - throwError(state, 'unexpected end of the document within a single quoted scalar'); + ch = state.input.charCodeAt(state.position); - } else { - state.position++; - captureEnd = state.position; - } - } + if (ch !== 0x21 /* ! */) return false; - throwError(state, 'unexpected end of the stream within a single quoted scalar'); -} + if (state.tag !== null) { + throwError(state, "duplication of a tag property"); + } -function readDoubleQuotedScalar(state, nodeIndent) { - var captureStart, - captureEnd, - hexLength, - hexResult, - tmp, - ch; + ch = state.input.charCodeAt(++state.position); - ch = state.input.charCodeAt(state.position); + if (ch === 0x3c /* < */) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + } else if (ch === 0x21 /* ! */) { + isNamed = true; + tagHandle = "!!"; + ch = state.input.charCodeAt(++state.position); + } else { + tagHandle = "!"; + } - if (ch !== 0x22/* " */) { - return false; - } + _position = state.position; - state.kind = 'scalar'; - state.result = ''; - state.position++; - captureStart = captureEnd = state.position; + if (isVerbatim) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0 && ch !== 0x3e /* > */); - while ((ch = state.input.charCodeAt(state.position)) !== 0) { - if (ch === 0x22/* " */) { - captureSegment(state, captureStart, state.position, true); - state.position++; - return true; + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, "unexpected end of the stream within a verbatim tag"); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + if (ch === 0x21 /* ! */) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); - } else if (ch === 0x5C/* \ */) { - captureSegment(state, captureStart, state.position, true); - ch = state.input.charCodeAt(++state.position); + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, "named tag handle cannot contain such characters"); + } - if (is_EOL(ch)) { - skipSeparationSpace(state, false, nodeIndent); + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, "tag suffix cannot contain exclamation marks"); + } + } - // TODO: rework to inline fn with no type cast? - } else if (ch < 256 && simpleEscapeCheck[ch]) { - state.result += simpleEscapeMap[ch]; - state.position++; + ch = state.input.charCodeAt(++state.position); + } - } else if ((tmp = escapedHexLen(ch)) > 0) { - hexLength = tmp; - hexResult = 0; + tagName = state.input.slice(_position, state.position); - for (; hexLength > 0; hexLength--) { - ch = state.input.charCodeAt(++state.position); + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, "tag suffix cannot contain flow indicator characters"); + } + } - if ((tmp = fromHexCode(ch)) >= 0) { - hexResult = (hexResult << 4) + tmp; + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, "tag name cannot contain such characters: " + tagName); + } + if (isVerbatim) { + state.tag = tagName; + } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + } else if (tagHandle === "!") { + state.tag = "!" + tagName; + } else if (tagHandle === "!!") { + state.tag = "tag:yaml.org,2002:" + tagName; } else { - throwError(state, 'expected hexadecimal character'); + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); } - } - - state.result += charFromCodepoint(hexResult); - - state.position++; - - } else { - throwError(state, 'unknown escape sequence'); - } - captureStart = captureEnd = state.position; + return true; + } - } else if (is_EOL(ch)) { - captureSegment(state, captureStart, captureEnd, true); - writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); - captureStart = captureEnd = state.position; + function readAnchorProperty(state) { + var _position, ch; - } else if (state.position === state.lineStart && testDocumentSeparator(state)) { - throwError(state, 'unexpected end of the document within a double quoted scalar'); + ch = state.input.charCodeAt(state.position); - } else { - state.position++; - captureEnd = state.position; - } - } + if (ch !== 0x26 /* & */) return false; - throwError(state, 'unexpected end of the stream within a double quoted scalar'); -} - -function readFlowCollection(state, nodeIndent) { - var readNext = true, - _line, - _tag = state.tag, - _result, - _anchor = state.anchor, - following, - terminator, - isPair, - isExplicitPair, - isMapping, - overridableKeys = {}, - keyNode, - keyTag, - valueNode, - ch; - - ch = state.input.charCodeAt(state.position); - - if (ch === 0x5B/* [ */) { - terminator = 0x5D;/* ] */ - isMapping = false; - _result = []; - } else if (ch === 0x7B/* { */) { - terminator = 0x7D;/* } */ - isMapping = true; - _result = {}; - } else { - return false; - } + if (state.anchor !== null) { + throwError(state, "duplication of an anchor property"); + } - if (state.anchor !== null) { - state.anchorMap[state.anchor] = _result; - } + ch = state.input.charCodeAt(++state.position); + _position = state.position; - ch = state.input.charCodeAt(++state.position); + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } - while (ch !== 0) { - skipSeparationSpace(state, true, nodeIndent); + if (state.position === _position) { + throwError(state, "name of an anchor node must contain at least one character"); + } - ch = state.input.charCodeAt(state.position); + state.anchor = state.input.slice(_position, state.position); + return true; + } - if (ch === terminator) { - state.position++; - state.tag = _tag; - state.anchor = _anchor; - state.kind = isMapping ? 'mapping' : 'sequence'; - state.result = _result; - return true; - } else if (!readNext) { - throwError(state, 'missed comma between flow collection entries'); - } + function readAlias(state) { + var _position, alias, ch; - keyTag = keyNode = valueNode = null; - isPair = isExplicitPair = false; + ch = state.input.charCodeAt(state.position); - if (ch === 0x3F/* ? */) { - following = state.input.charCodeAt(state.position + 1); + if (ch !== 0x2a /* * */) return false; - if (is_WS_OR_EOL(following)) { - isPair = isExplicitPair = true; - state.position++; - skipSeparationSpace(state, true, nodeIndent); - } - } + ch = state.input.charCodeAt(++state.position); + _position = state.position; - _line = state.line; - composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); - keyTag = state.tag; - keyNode = state.result; - skipSeparationSpace(state, true, nodeIndent); + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } - ch = state.input.charCodeAt(state.position); + if (state.position === _position) { + throwError(state, "name of an alias node must contain at least one character"); + } - if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) { - isPair = true; - ch = state.input.charCodeAt(++state.position); - skipSeparationSpace(state, true, nodeIndent); - composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); - valueNode = state.result; - } + alias = state.input.slice(_position, state.position); - if (isMapping) { - storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode); - } else if (isPair) { - _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode)); - } else { - _result.push(keyNode); - } + if (!_hasOwnProperty.call(state.anchorMap, alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } - skipSeparationSpace(state, true, nodeIndent); + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; + } + + function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } - if (ch === 0x2C/* , */) { - readNext = true; - ch = state.input.charCodeAt(++state.position); - } else { - readNext = false; - } - } + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } - throwError(state, 'unexpected end of the stream within a flow collection'); -} - -function readBlockScalar(state, nodeIndent) { - var captureStart, - folding, - chomping = CHOMPING_CLIP, - didReadContent = false, - detectedIndent = false, - textIndent = nodeIndent, - emptyLines = 0, - atMoreIndented = false, - tmp, - ch; - - ch = state.input.charCodeAt(state.position); - - if (ch === 0x7C/* | */) { - folding = false; - } else if (ch === 0x3E/* > */) { - folding = true; - } else { - return false; - } + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } - state.kind = 'scalar'; - state.result = ''; + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } - while (ch !== 0) { - ch = state.input.charCodeAt(++state.position); + blockIndent = state.position - state.lineStart; + + if (indentStatus === 1) { + if ( + (allowBlockCollections && + (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent))) || + readFlowCollection(state, flowIndent) + ) { + hasContent = true; + } else { + if ( + (allowBlockScalars && readBlockScalar(state, flowIndent)) || + readSingleQuotedScalar(state, flowIndent) || + readDoubleQuotedScalar(state, flowIndent) + ) { + hasContent = true; + } else if (readAlias(state)) { + hasContent = true; + + if (state.tag !== null || state.anchor !== null) { + throwError(state, "alias node should not have any properties"); + } + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; - if (ch === 0x2B/* + */ || ch === 0x2D/* - */) { - if (CHOMPING_CLIP === chomping) { - chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP; - } else { - throwError(state, 'repeat of a chomping mode identifier'); - } + if (state.tag === null) { + state.tag = "?"; + } + } - } else if ((tmp = fromDecimalCode(ch)) >= 0) { - if (tmp === 0) { - throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); - } else if (!detectedIndent) { - textIndent = nodeIndent + tmp - 1; - detectedIndent = true; - } else { - throwError(state, 'repeat of an indentation width identifier'); - } + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + // Special case: block sequences are allowed to have same indentation level as the parent. + // http://www.yaml.org/spec/1.2/spec.html#id2799784 + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } - } else { - break; - } - } + if (state.tag !== null && state.tag !== "!") { + if (state.tag === "?") { + // Implicit resolving is not allowed for non-scalar types, and '?' + // non-specific tag is only automatically assigned to plain scalars. + // + // We only need to check kind conformity in case user explicitly assigns '?' + // tag, for example like this: "! [0]" + // + if (state.result !== null && state.kind !== "scalar") { + throwError( + state, + 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"', + ); + } - if (is_WHITE_SPACE(ch)) { - do { ch = state.input.charCodeAt(++state.position); } - while (is_WHITE_SPACE(ch)); + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type = state.implicitTypes[typeIndex]; - if (ch === 0x23/* # */) { - do { ch = state.input.charCodeAt(++state.position); } - while (!is_EOL(ch) && (ch !== 0)); - } - } + if (type.resolve(state.result)) { + // `state.result` updated in resolver if matched + state.result = type.construct(state.result); + state.tag = type.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (_hasOwnProperty.call(state.typeMap[state.kind || "fallback"], state.tag)) { + type = state.typeMap[state.kind || "fallback"][state.tag]; + + if (state.result !== null && type.kind !== state.kind) { + throwError( + state, + "unacceptable node kind for !<" + + state.tag + + '> tag; it should be "' + + type.kind + + '", not "' + + state.kind + + '"', + ); + } - while (ch !== 0) { - readLineBreak(state); - state.lineIndent = 0; + if (!type.resolve(state.result)) { + // `state.result` updated in resolver if matched + throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag"); + } else { + state.result = type.construct(state.result); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else { + throwError(state, "unknown tag !<" + state.tag + ">"); + } + } - ch = state.input.charCodeAt(state.position); + if (state.listener !== null) { + state.listener("close", state); + } + return state.tag !== null || state.anchor !== null || hasContent; + } - while ((!detectedIndent || state.lineIndent < textIndent) && - (ch === 0x20/* Space */)) { - state.lineIndent++; - ch = state.input.charCodeAt(++state.position); - } + function readDocument(state) { + var documentStart = state.position, + _position, + directiveName, + directiveArgs, + hasDirectives = false, + ch; - if (!detectedIndent && state.lineIndent > textIndent) { - textIndent = state.lineIndent; - } + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = {}; + state.anchorMap = {}; - if (is_EOL(ch)) { - emptyLines++; - continue; - } + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); - // End of the scalar. - if (state.lineIndent < textIndent) { + ch = state.input.charCodeAt(state.position); - // Perform the chomping. - if (chomping === CHOMPING_KEEP) { - state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); - } else if (chomping === CHOMPING_CLIP) { - if (didReadContent) { // i.e. only if the scalar is not empty. - state.result += '\n'; - } - } + if (state.lineIndent > 0 || ch !== 0x25 /* % */) { + break; + } - // Break this `while` cycle and go to the funciton's epilogue. - break; - } + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; - // Folded style: use fancy rules to handle line breaks. - if (folding) { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } - // Lines starting with white space characters (more-indented lines) are not folded. - if (is_WHITE_SPACE(ch)) { - atMoreIndented = true; - // except for the first content line (cf. Example 8.1) - state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; - // End of more-indented block. - } else if (atMoreIndented) { - atMoreIndented = false; - state.result += common.repeat('\n', emptyLines + 1); + if (directiveName.length < 1) { + throwError(state, "directive name must not be less than one character in length"); + } - // Just one line break - perceive as the same line. - } else if (emptyLines === 0) { - if (didReadContent) { // i.e. only if we have already read some scalar content. - state.result += ' '; - } + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } - // Several line breaks - perceive as different lines. - } else { - state.result += common.repeat('\n', emptyLines); - } + if (ch === 0x23 /* # */) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0 && !is_EOL(ch)); + break; + } - // Literal style: just add exact number of line breaks between content lines. - } else { - // Keep all line breaks except the header line break. - state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); - } + if (is_EOL(ch)) break; - didReadContent = true; - detectedIndent = true; - emptyLines = 0; - captureStart = state.position; + _position = state.position; - while (!is_EOL(ch) && (ch !== 0)) { - ch = state.input.charCodeAt(++state.position); - } + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } - captureSegment(state, captureStart, state.position, false); - } + directiveArgs.push(state.input.slice(_position, state.position)); + } - return true; -} + if (ch !== 0) readLineBreak(state); -function readBlockSequence(state, nodeIndent) { - var _line, - _tag = state.tag, - _anchor = state.anchor, - _result = [], - following, - detected = false, - ch; + if (_hasOwnProperty.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } - if (state.anchor !== null) { - state.anchorMap[state.anchor] = _result; - } + skipSeparationSpace(state, true, -1); + + if ( + state.lineIndent === 0 && + state.input.charCodeAt(state.position) === 0x2d /* - */ && + state.input.charCodeAt(state.position + 1) === 0x2d /* - */ && + state.input.charCodeAt(state.position + 2) === 0x2d /* - */ + ) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } else if (hasDirectives) { + throwError(state, "directives end mark is expected"); + } - ch = state.input.charCodeAt(state.position); + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); - while (ch !== 0) { + if ( + state.checkLineBreaks && + PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position)) + ) { + throwWarning(state, "non-ASCII line breaks are interpreted as content"); + } - if (ch !== 0x2D/* - */) { - break; - } + state.documents.push(state.result); - following = state.input.charCodeAt(state.position + 1); + if (state.position === state.lineStart && testDocumentSeparator(state)) { + if (state.input.charCodeAt(state.position) === 0x2e /* . */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } - if (!is_WS_OR_EOL(following)) { - break; - } + if (state.position < state.length - 1) { + throwError(state, "end of the stream or a document separator is expected"); + } else { + return; + } + } - detected = true; - state.position++; + function loadDocuments(input, options) { + input = String(input); + options = options || {}; - if (skipSeparationSpace(state, true, -1)) { - if (state.lineIndent <= nodeIndent) { - _result.push(null); - ch = state.input.charCodeAt(state.position); - continue; - } - } + if (input.length !== 0) { + // Add tailing `\n` if not exists + if ( + input.charCodeAt(input.length - 1) !== 0x0a /* LF */ && + input.charCodeAt(input.length - 1) !== 0x0d /* CR */ + ) { + input += "\n"; + } - _line = state.line; - composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); - _result.push(state.result); - skipSeparationSpace(state, true, -1); + // Strip BOM + if (input.charCodeAt(0) === 0xfeff) { + input = input.slice(1); + } + } - ch = state.input.charCodeAt(state.position); + var state = new State(input, options); - if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { - throwError(state, 'bad indentation of a sequence entry'); - } else if (state.lineIndent < nodeIndent) { - break; - } - } + var nullpos = input.indexOf("\0"); - if (detected) { - state.tag = _tag; - state.anchor = _anchor; - state.kind = 'sequence'; - state.result = _result; - return true; - } - return false; -} - -function readBlockMapping(state, nodeIndent, flowIndent) { - var following, - allowCompact, - _line, - _pos, - _tag = state.tag, - _anchor = state.anchor, - _result = {}, - overridableKeys = {}, - keyTag = null, - keyNode = null, - valueNode = null, - atExplicitKey = false, - detected = false, - ch; - - if (state.anchor !== null) { - state.anchorMap[state.anchor] = _result; - } + if (nullpos !== -1) { + state.position = nullpos; + throwError(state, "null byte is not allowed in input"); + } - ch = state.input.charCodeAt(state.position); + // Use 0 as string terminator. That significantly simplifies bounds check. + state.input += "\0"; - while (ch !== 0) { - following = state.input.charCodeAt(state.position + 1); - _line = state.line; // Save the current line. - _pos = state.position; + while (state.input.charCodeAt(state.position) === 0x20 /* Space */) { + state.lineIndent += 1; + state.position += 1; + } - // - // Explicit notation case. There are two separate blocks: - // first for the key (denoted by "?") and second for the value (denoted by ":") - // - if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) { + while (state.position < state.length - 1) { + readDocument(state); + } - if (ch === 0x3F/* ? */) { - if (atExplicitKey) { - storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); - keyTag = keyNode = valueNode = null; + return state.documents; } - detected = true; - atExplicitKey = true; - allowCompact = true; - - } else if (atExplicitKey) { - // i.e. 0x3A/* : */ === character after the explicit key. - atExplicitKey = false; - allowCompact = true; - - } else { - throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); - } - - state.position += 1; - ch = following; + function loadAll(input, iterator, options) { + if (iterator !== null && typeof iterator === "object" && typeof options === "undefined") { + options = iterator; + iterator = null; + } - // - // Implicit notation case. Flow-style node as the key first, then ":", and the value. - // - } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + var documents = loadDocuments(input, options); - if (state.line === _line) { - ch = state.input.charCodeAt(state.position); + if (typeof iterator !== "function") { + return documents; + } - while (is_WHITE_SPACE(ch)) { - ch = state.input.charCodeAt(++state.position); + for (var index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } } - if (ch === 0x3A/* : */) { - ch = state.input.charCodeAt(++state.position); + function load(input, options) { + var documents = loadDocuments(input, options); - if (!is_WS_OR_EOL(ch)) { - throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); + if (documents.length === 0) { + /*eslint-disable no-undefined*/ + return undefined; + } else if (documents.length === 1) { + return documents[0]; } + throw new YAMLException("expected a single document in the stream, but found more"); + } - if (atExplicitKey) { - storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); - keyTag = keyNode = valueNode = null; + function safeLoadAll(input, iterator, options) { + if (typeof iterator === "object" && iterator !== null && typeof options === "undefined") { + options = iterator; + iterator = null; } - detected = true; - atExplicitKey = false; - allowCompact = false; - keyTag = state.tag; - keyNode = state.result; + return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); + } - } else if (detected) { - throwError(state, 'can not read an implicit mapping pair; a colon is missed'); + function safeLoad(input, options) { + return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); + } - } else { - state.tag = _tag; - state.anchor = _anchor; - return true; // Keep the result of `composeNode`. + module.exports.loadAll = loadAll; + module.exports.load = load; + module.exports.safeLoadAll = safeLoadAll; + module.exports.safeLoad = safeLoad; + }, + { + "./common": 143, + "./exception": 145, + "./mark": 147, + "./schema/default_full": 150, + "./schema/default_safe": 151, + }, + ], + 147: [ + function (require, module, exports) { + "use strict"; + + var common = require("./common"); + + function Mark(name, buffer, position, line, column) { + this.name = name; + this.buffer = buffer; + this.position = position; + this.line = line; + this.column = column; } - } else if (detected) { - throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + Mark.prototype.getSnippet = function getSnippet(indent, maxLength) { + var head, start, tail, end, snippet; - } else { - state.tag = _tag; - state.anchor = _anchor; - return true; // Keep the result of `composeNode`. - } + if (!this.buffer) return null; - } else { - break; // Reading is done. Go to the epilogue. - } + indent = indent || 4; + maxLength = maxLength || 75; - // - // Common reading code for both explicit and implicit notations. - // - if (state.line === _line || state.lineIndent > nodeIndent) { - if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { - if (atExplicitKey) { - keyNode = state.result; - } else { - valueNode = state.result; - } - } + head = ""; + start = this.position; - if (!atExplicitKey) { - storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos); - keyTag = keyNode = valueNode = null; - } + while (start > 0 && "\x00\r\n\x85\u2028\u2029".indexOf(this.buffer.charAt(start - 1)) === -1) { + start -= 1; + if (this.position - start > maxLength / 2 - 1) { + head = " ... "; + start += 5; + break; + } + } - skipSeparationSpace(state, true, -1); - ch = state.input.charCodeAt(state.position); - } + tail = ""; + end = this.position; - if (state.lineIndent > nodeIndent && (ch !== 0)) { - throwError(state, 'bad indentation of a mapping entry'); - } else if (state.lineIndent < nodeIndent) { - break; - } - } + while (end < this.buffer.length && "\x00\r\n\x85\u2028\u2029".indexOf(this.buffer.charAt(end)) === -1) { + end += 1; + if (end - this.position > maxLength / 2 - 1) { + tail = " ... "; + end -= 5; + break; + } + } - // - // Epilogue. - // + snippet = this.buffer.slice(start, end); + + return ( + common.repeat(" ", indent) + + head + + snippet + + tail + + "\n" + + common.repeat(" ", indent + this.position - start + head.length) + + "^" + ); + }; - // Special case: last mapping's node contains only the key in explicit notation. - if (atExplicitKey) { - storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); - } + Mark.prototype.toString = function toString(compact) { + var snippet, + where = ""; - // Expose the resulting mapping. - if (detected) { - state.tag = _tag; - state.anchor = _anchor; - state.kind = 'mapping'; - state.result = _result; - } + if (this.name) { + where += 'in "' + this.name + '" '; + } - return detected; -} + where += "at line " + (this.line + 1) + ", column " + (this.column + 1); -function readTagProperty(state) { - var _position, - isVerbatim = false, - isNamed = false, - tagHandle, - tagName, - ch; + if (!compact) { + snippet = this.getSnippet(); - ch = state.input.charCodeAt(state.position); + if (snippet) { + where += ":\n" + snippet; + } + } - if (ch !== 0x21/* ! */) return false; + return where; + }; - if (state.tag !== null) { - throwError(state, 'duplication of a tag property'); - } + module.exports = Mark; + }, + { "./common": 143 }, + ], + 148: [ + function (require, module, exports) { + "use strict"; - ch = state.input.charCodeAt(++state.position); + /*eslint-disable max-len*/ - if (ch === 0x3C/* < */) { - isVerbatim = true; - ch = state.input.charCodeAt(++state.position); + var common = require("./common"); + var YAMLException = require("./exception"); + var Type = require("./type"); - } else if (ch === 0x21/* ! */) { - isNamed = true; - tagHandle = '!!'; - ch = state.input.charCodeAt(++state.position); + function compileList(schema, name, result) { + var exclude = []; - } else { - tagHandle = '!'; - } + schema.include.forEach(function (includedSchema) { + result = compileList(includedSchema, name, result); + }); - _position = state.position; + schema[name].forEach(function (currentType) { + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) { + exclude.push(previousIndex); + } + }); - if (isVerbatim) { - do { ch = state.input.charCodeAt(++state.position); } - while (ch !== 0 && ch !== 0x3E/* > */); + result.push(currentType); + }); - if (state.position < state.length) { - tagName = state.input.slice(_position, state.position); - ch = state.input.charCodeAt(++state.position); - } else { - throwError(state, 'unexpected end of the stream within a verbatim tag'); - } - } else { - while (ch !== 0 && !is_WS_OR_EOL(ch)) { + return result.filter(function (type, index) { + return exclude.indexOf(index) === -1; + }); + } - if (ch === 0x21/* ! */) { - if (!isNamed) { - tagHandle = state.input.slice(_position - 1, state.position + 1); + function compileMap(/* lists... */) { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {}, + }, + index, + length; - if (!PATTERN_TAG_HANDLE.test(tagHandle)) { - throwError(state, 'named tag handle cannot contain such characters'); + function collectType(type) { + result[type.kind][type.tag] = result["fallback"][type.tag] = type; } - isNamed = true; - _position = state.position + 1; - } else { - throwError(state, 'tag suffix cannot contain exclamation marks'); + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; } - } - ch = state.input.charCodeAt(++state.position); - } + function Schema(definition) { + this.include = definition.include || []; + this.implicit = definition.implicit || []; + this.explicit = definition.explicit || []; - tagName = state.input.slice(_position, state.position); + this.implicit.forEach(function (type) { + if (type.loadKind && type.loadKind !== "scalar") { + throw new YAMLException( + "There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.", + ); + } + }); - if (PATTERN_FLOW_INDICATORS.test(tagName)) { - throwError(state, 'tag suffix cannot contain flow indicator characters'); - } - } + this.compiledImplicit = compileList(this, "implicit", []); + this.compiledExplicit = compileList(this, "explicit", []); + this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit); + } - if (tagName && !PATTERN_TAG_URI.test(tagName)) { - throwError(state, 'tag name cannot contain such characters: ' + tagName); - } + Schema.DEFAULT = null; - if (isVerbatim) { - state.tag = tagName; + Schema.create = function createSchema() { + var schemas, types; - } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) { - state.tag = state.tagMap[tagHandle] + tagName; + switch (arguments.length) { + case 1: + schemas = Schema.DEFAULT; + types = arguments[0]; + break; - } else if (tagHandle === '!') { - state.tag = '!' + tagName; + case 2: + schemas = arguments[0]; + types = arguments[1]; + break; - } else if (tagHandle === '!!') { - state.tag = 'tag:yaml.org,2002:' + tagName; + default: + throw new YAMLException("Wrong number of arguments for Schema.create function"); + } - } else { - throwError(state, 'undeclared tag handle "' + tagHandle + '"'); - } + schemas = common.toArray(schemas); + types = common.toArray(types); - return true; -} + if ( + !schemas.every(function (schema) { + return schema instanceof Schema; + }) + ) { + throw new YAMLException( + "Specified list of super schemas (or a single Schema object) contains a non-Schema object.", + ); + } + + if ( + !types.every(function (type) { + return type instanceof Type; + }) + ) { + throw new YAMLException( + "Specified list of YAML types (or a single Type object) contains a non-Type object.", + ); + } -function readAnchorProperty(state) { - var _position, - ch; + return new Schema({ + include: schemas, + explicit: types, + }); + }; - ch = state.input.charCodeAt(state.position); + module.exports = Schema; + }, + { "./common": 143, "./exception": 145, "./type": 154 }, + ], + 149: [ + function (require, module, exports) { + // Standard YAML's Core schema. + // http://www.yaml.org/spec/1.2/spec.html#id2804923 + // + // NOTE: JS-YAML does not support schema-specific tag resolution restrictions. + // So, Core schema has no distinctions from JSON schema is JS-YAML. + + "use strict"; + + var Schema = require("../schema"); + + module.exports = new Schema({ + include: [require("./json")], + }); + }, + { "../schema": 148, "./json": 153 }, + ], + 150: [ + function (require, module, exports) { + // JS-YAML's default schema for `load` function. + // It is not described in the YAML specification. + // + // This schema is based on JS-YAML's default safe schema and includes + // JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function. + // + // Also this schema is used as default base schema at `Schema.create` function. + + "use strict"; + + var Schema = require("../schema"); + + module.exports = Schema.DEFAULT = new Schema({ + include: [require("./default_safe")], + explicit: [require("../type/js/undefined"), require("../type/js/regexp"), require("../type/js/function")], + }); + }, + { + "../schema": 148, + "../type/js/function": 159, + "../type/js/regexp": 160, + "../type/js/undefined": 161, + "./default_safe": 151, + }, + ], + 151: [ + function (require, module, exports) { + // JS-YAML's default schema for `safeLoad` function. + // It is not described in the YAML specification. + // + // This schema is based on standard YAML's Core schema and includes most of + // extra types described at YAML tag repository. (http://yaml.org/type/) + + "use strict"; + + var Schema = require("../schema"); + + module.exports = new Schema({ + include: [require("./core")], + implicit: [require("../type/timestamp"), require("../type/merge")], + explicit: [ + require("../type/binary"), + require("../type/omap"), + require("../type/pairs"), + require("../type/set"), + ], + }); + }, + { + "../schema": 148, + "../type/binary": 155, + "../type/merge": 163, + "../type/omap": 165, + "../type/pairs": 166, + "../type/set": 168, + "../type/timestamp": 170, + "./core": 149, + }, + ], + 152: [ + function (require, module, exports) { + // Standard YAML's Failsafe schema. + // http://www.yaml.org/spec/1.2/spec.html#id2802346 - if (ch !== 0x26/* & */) return false; + "use strict"; - if (state.anchor !== null) { - throwError(state, 'duplication of an anchor property'); - } + var Schema = require("../schema"); - ch = state.input.charCodeAt(++state.position); - _position = state.position; + module.exports = new Schema({ + explicit: [require("../type/str"), require("../type/seq"), require("../type/map")], + }); + }, + { "../schema": 148, "../type/map": 162, "../type/seq": 167, "../type/str": 169 }, + ], + 153: [ + function (require, module, exports) { + // Standard YAML's JSON schema. + // http://www.yaml.org/spec/1.2/spec.html#id2803231 + // + // NOTE: JS-YAML does not support schema-specific tag resolution restrictions. + // So, this schema is not such strict as defined in the YAML specification. + // It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc. + + "use strict"; + + var Schema = require("../schema"); + + module.exports = new Schema({ + include: [require("./failsafe")], + implicit: [ + require("../type/null"), + require("../type/bool"), + require("../type/int"), + require("../type/float"), + ], + }); + }, + { + "../schema": 148, + "../type/bool": 156, + "../type/float": 157, + "../type/int": 158, + "../type/null": 164, + "./failsafe": 152, + }, + ], + 154: [ + function (require, module, exports) { + "use strict"; + + var YAMLException = require("./exception"); + + var TYPE_CONSTRUCTOR_OPTIONS = [ + "kind", + "resolve", + "construct", + "instanceOf", + "predicate", + "represent", + "defaultStyle", + "styleAliases", + ]; + + var YAML_NODE_KINDS = ["scalar", "sequence", "mapping"]; + + function compileStyleAliases(map) { + var result = {}; + + if (map !== null) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } - while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { - ch = state.input.charCodeAt(++state.position); - } + return result; + } - if (state.position === _position) { - throwError(state, 'name of an anchor node must contain at least one character'); - } + function Type(tag, options) { + options = options || {}; - state.anchor = state.input.slice(_position, state.position); - return true; -} + Object.keys(options).forEach(function (name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + + // TODO: Add tag format check. + this.tag = tag; + this.kind = options["kind"] || null; + this.resolve = + options["resolve"] || + function () { + return true; + }; + this.construct = + options["construct"] || + function (data) { + return data; + }; + this.instanceOf = options["instanceOf"] || null; + this.predicate = options["predicate"] || null; + this.represent = options["represent"] || null; + this.defaultStyle = options["defaultStyle"] || null; + this.styleAliases = compileStyleAliases(options["styleAliases"] || null); + + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } + } -function readAlias(state) { - var _position, alias, - ch; + module.exports = Type; + }, + { "./exception": 145 }, + ], + 155: [ + function (require, module, exports) { + "use strict"; - ch = state.input.charCodeAt(state.position); + /*eslint-disable no-bitwise*/ - if (ch !== 0x2A/* * */) return false; + var NodeBuffer; - ch = state.input.charCodeAt(++state.position); - _position = state.position; + try { + // A trick for browserified version, to not include `Buffer` shim + var _require = require; + NodeBuffer = _require("buffer").Buffer; + } catch (__) {} - while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { - ch = state.input.charCodeAt(++state.position); - } + var Type = require("../type"); - if (state.position === _position) { - throwError(state, 'name of an alias node must contain at least one character'); - } + // [ 64, 65, 66 ] -> [ padding, CR, LF ] + var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r"; - alias = state.input.slice(_position, state.position); + function resolveYamlBinary(data) { + if (data === null) return false; - if (!_hasOwnProperty.call(state.anchorMap, alias)) { - throwError(state, 'unidentified alias "' + alias + '"'); - } + var code, + idx, + bitlen = 0, + max = data.length, + map = BASE64_MAP; - state.result = state.anchorMap[alias]; - skipSeparationSpace(state, true, -1); - return true; -} - -function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { - var allowBlockStyles, - allowBlockScalars, - allowBlockCollections, - indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) { - indentStatus = 1; - } else if (state.lineIndent === parentIndent) { - indentStatus = 0; - } else if (state.lineIndent < parentIndent) { - indentStatus = -1; - } - } - } + // Skip CR/LF + if (code > 64) continue; - if (indentStatus === 1) { - while (readTagProperty(state) || readAnchorProperty(state)) { - if (skipSeparationSpace(state, true, -1)) { - atNewLine = true; - allowBlockCollections = allowBlockStyles; - - if (state.lineIndent > parentIndent) { - indentStatus = 1; - } else if (state.lineIndent === parentIndent) { - indentStatus = 0; - } else if (state.lineIndent < parentIndent) { - indentStatus = -1; - } - } else { - allowBlockCollections = false; - } - } - } + // Fail on illegal characters + if (code < 0) return false; - if (allowBlockCollections) { - allowBlockCollections = atNewLine || allowCompact; - } + bitlen += 6; + } - if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { - if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { - flowIndent = parentIndent; - } else { - flowIndent = parentIndent + 1; - } + // If there are any bits left, source was corrupted + return bitlen % 8 === 0; + } - blockIndent = state.position - state.lineStart; + function constructYamlBinary(data) { + var idx, + tailbits, + input = data.replace(/[\r\n=]/g, ""), // remove CR/LF & padding to simplify scan + max = input.length, + map = BASE64_MAP, + bits = 0, + result = []; - if (indentStatus === 1) { - if (allowBlockCollections && - (readBlockSequence(state, blockIndent) || - readBlockMapping(state, blockIndent, flowIndent)) || - readFlowCollection(state, flowIndent)) { - hasContent = true; - } else { - if ((allowBlockScalars && readBlockScalar(state, flowIndent)) || - readSingleQuotedScalar(state, flowIndent) || - readDoubleQuotedScalar(state, flowIndent)) { - hasContent = true; + // Collect by 6*4 bits (3 bytes) - } else if (readAlias(state)) { - hasContent = true; + for (idx = 0; idx < max; idx++) { + if (idx % 4 === 0 && idx) { + result.push((bits >> 16) & 0xff); + result.push((bits >> 8) & 0xff); + result.push(bits & 0xff); + } - if (state.tag !== null || state.anchor !== null) { - throwError(state, 'alias node should not have any properties'); + bits = (bits << 6) | map.indexOf(input.charAt(idx)); } - } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { - hasContent = true; + // Dump tail - if (state.tag === null) { - state.tag = '?'; + tailbits = (max % 4) * 6; + + if (tailbits === 0) { + result.push((bits >> 16) & 0xff); + result.push((bits >> 8) & 0xff); + result.push(bits & 0xff); + } else if (tailbits === 18) { + result.push((bits >> 10) & 0xff); + result.push((bits >> 2) & 0xff); + } else if (tailbits === 12) { + result.push((bits >> 4) & 0xff); } - } - if (state.anchor !== null) { - state.anchorMap[state.anchor] = state.result; + // Wrap into Buffer for NodeJS and leave Array for browser + if (NodeBuffer) { + // Support node 6.+ Buffer API when available + return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result); + } + + return result; } - } - } else if (indentStatus === 0) { - // Special case: block sequences are allowed to have same indentation level as the parent. - // http://www.yaml.org/spec/1.2/spec.html#id2799784 - hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); - } - } - if (state.tag !== null && state.tag !== '!') { - if (state.tag === '?') { - // Implicit resolving is not allowed for non-scalar types, and '?' - // non-specific tag is only automatically assigned to plain scalars. - // - // We only need to check kind conformity in case user explicitly assigns '?' - // tag, for example like this: "! [0]" - // - if (state.result !== null && state.kind !== 'scalar') { - throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"'); - } + function representYamlBinary(object /*, style*/) { + var result = "", + bits = 0, + idx, + tail, + max = object.length, + map = BASE64_MAP; - for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { - type = state.implicitTypes[typeIndex]; + // Convert every three bytes to 4 ASCII characters. - if (type.resolve(state.result)) { // `state.result` updated in resolver if matched - state.result = type.construct(state.result); - state.tag = type.tag; - if (state.anchor !== null) { - state.anchorMap[state.anchor] = state.result; + for (idx = 0; idx < max; idx++) { + if (idx % 3 === 0 && idx) { + result += map[(bits >> 18) & 0x3f]; + result += map[(bits >> 12) & 0x3f]; + result += map[(bits >> 6) & 0x3f]; + result += map[bits & 0x3f]; + } + + bits = (bits << 8) + object[idx]; } - break; - } - } - } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) { - type = state.typeMap[state.kind || 'fallback'][state.tag]; - if (state.result !== null && type.kind !== state.kind) { - throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); - } + // Dump tail + + tail = max % 3; + + if (tail === 0) { + result += map[(bits >> 18) & 0x3f]; + result += map[(bits >> 12) & 0x3f]; + result += map[(bits >> 6) & 0x3f]; + result += map[bits & 0x3f]; + } else if (tail === 2) { + result += map[(bits >> 10) & 0x3f]; + result += map[(bits >> 4) & 0x3f]; + result += map[(bits << 2) & 0x3f]; + result += map[64]; + } else if (tail === 1) { + result += map[(bits >> 2) & 0x3f]; + result += map[(bits << 4) & 0x3f]; + result += map[64]; + result += map[64]; + } - if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched - throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); - } else { - state.result = type.construct(state.result); - if (state.anchor !== null) { - state.anchorMap[state.anchor] = state.result; + return result; } - } - } else { - throwError(state, 'unknown tag !<' + state.tag + '>'); - } - } - if (state.listener !== null) { - state.listener('close', state); - } - return state.tag !== null || state.anchor !== null || hasContent; -} + function isBinary(object) { + return NodeBuffer && NodeBuffer.isBuffer(object); + } -function readDocument(state) { - var documentStart = state.position, - _position, - directiveName, - directiveArgs, - hasDirectives = false, - ch; + module.exports = new Type("tag:yaml.org,2002:binary", { + kind: "scalar", + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary, + }); + }, + { "../type": 154 }, + ], + 156: [ + function (require, module, exports) { + "use strict"; - state.version = null; - state.checkLineBreaks = state.legacy; - state.tagMap = {}; - state.anchorMap = {}; + var Type = require("../type"); - while ((ch = state.input.charCodeAt(state.position)) !== 0) { - skipSeparationSpace(state, true, -1); + function resolveYamlBoolean(data) { + if (data === null) return false; - ch = state.input.charCodeAt(state.position); + var max = data.length; - if (state.lineIndent > 0 || ch !== 0x25/* % */) { - break; - } + return ( + (max === 4 && (data === "true" || data === "True" || data === "TRUE")) || + (max === 5 && (data === "false" || data === "False" || data === "FALSE")) + ); + } - hasDirectives = true; - ch = state.input.charCodeAt(++state.position); - _position = state.position; + function constructYamlBoolean(data) { + return data === "true" || data === "True" || data === "TRUE"; + } - while (ch !== 0 && !is_WS_OR_EOL(ch)) { - ch = state.input.charCodeAt(++state.position); - } + function isBoolean(object) { + return Object.prototype.toString.call(object) === "[object Boolean]"; + } - directiveName = state.input.slice(_position, state.position); - directiveArgs = []; + module.exports = new Type("tag:yaml.org,2002:bool", { + kind: "scalar", + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function (object) { + return object ? "true" : "false"; + }, + uppercase: function (object) { + return object ? "TRUE" : "FALSE"; + }, + camelcase: function (object) { + return object ? "True" : "False"; + }, + }, + defaultStyle: "lowercase", + }); + }, + { "../type": 154 }, + ], + 157: [ + function (require, module, exports) { + "use strict"; + + var common = require("../common"); + var Type = require("../type"); + + var YAML_FLOAT_PATTERN = new RegExp( + // 2.5e4, 2.5 and integers + "^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?" + + // .2e4, .2 + // special case, seems not from spec + "|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?" + + // 20:59 + "|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*" + + // .inf + "|[-+]?\\.(?:inf|Inf|INF)" + + // .nan + "|\\.(?:nan|NaN|NAN))$", + ); - if (directiveName.length < 1) { - throwError(state, 'directive name must not be less than one character in length'); - } + function resolveYamlFloat(data) { + if (data === null) return false; - while (ch !== 0) { - while (is_WHITE_SPACE(ch)) { - ch = state.input.charCodeAt(++state.position); - } + if ( + !YAML_FLOAT_PATTERN.test(data) || + // Quick hack to not allow integers end with `_` + // Probably should update regexp & check speed + data[data.length - 1] === "_" + ) { + return false; + } - if (ch === 0x23/* # */) { - do { ch = state.input.charCodeAt(++state.position); } - while (ch !== 0 && !is_EOL(ch)); - break; - } + return true; + } - if (is_EOL(ch)) break; + function constructYamlFloat(data) { + var value, sign, base, digits; - _position = state.position; + value = data.replace(/_/g, "").toLowerCase(); + sign = value[0] === "-" ? -1 : 1; + digits = []; - while (ch !== 0 && !is_WS_OR_EOL(ch)) { - ch = state.input.charCodeAt(++state.position); - } + if ("+-".indexOf(value[0]) >= 0) { + value = value.slice(1); + } - directiveArgs.push(state.input.slice(_position, state.position)); - } + if (value === ".inf") { + return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + } else if (value === ".nan") { + return NaN; + } else if (value.indexOf(":") >= 0) { + value.split(":").forEach(function (v) { + digits.unshift(parseFloat(v, 10)); + }); - if (ch !== 0) readLineBreak(state); + value = 0.0; + base = 1; - if (_hasOwnProperty.call(directiveHandlers, directiveName)) { - directiveHandlers[directiveName](state, directiveName, directiveArgs); - } else { - throwWarning(state, 'unknown document directive "' + directiveName + '"'); - } - } + digits.forEach(function (d) { + value += d * base; + base *= 60; + }); - skipSeparationSpace(state, true, -1); + return sign * value; + } + return sign * parseFloat(value, 10); + } - if (state.lineIndent === 0 && - state.input.charCodeAt(state.position) === 0x2D/* - */ && - state.input.charCodeAt(state.position + 1) === 0x2D/* - */ && - state.input.charCodeAt(state.position + 2) === 0x2D/* - */) { - state.position += 3; - skipSeparationSpace(state, true, -1); + var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; - } else if (hasDirectives) { - throwError(state, 'directives end mark is expected'); - } + function representYamlFloat(object, style) { + var res; - composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); - skipSeparationSpace(state, true, -1); + if (isNaN(object)) { + switch (style) { + case "lowercase": + return ".nan"; + case "uppercase": + return ".NAN"; + case "camelcase": + return ".NaN"; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case "lowercase": + return ".inf"; + case "uppercase": + return ".INF"; + case "camelcase": + return ".Inf"; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case "lowercase": + return "-.inf"; + case "uppercase": + return "-.INF"; + case "camelcase": + return "-.Inf"; + } + } else if (common.isNegativeZero(object)) { + return "-0.0"; + } - if (state.checkLineBreaks && - PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { - throwWarning(state, 'non-ASCII line breaks are interpreted as content'); - } + res = object.toString(10); - state.documents.push(state.result); + // JS stringifier can build scientific format without dots: 5e-100, + // while YAML requres dot: 5.e-100. Fix it with simple hack - if (state.position === state.lineStart && testDocumentSeparator(state)) { + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace("e", ".e") : res; + } - if (state.input.charCodeAt(state.position) === 0x2E/* . */) { - state.position += 3; - skipSeparationSpace(state, true, -1); - } - return; - } + function isFloat(object) { + return ( + Object.prototype.toString.call(object) === "[object Number]" && + (object % 1 !== 0 || common.isNegativeZero(object)) + ); + } - if (state.position < (state.length - 1)) { - throwError(state, 'end of the stream or a document separator is expected'); - } else { - return; - } -} + module.exports = new Type("tag:yaml.org,2002:float", { + kind: "scalar", + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: "lowercase", + }); + }, + { "../common": 143, "../type": 154 }, + ], + 158: [ + function (require, module, exports) { + "use strict"; + var common = require("../common"); + var Type = require("../type"); -function loadDocuments(input, options) { - input = String(input); - options = options || {}; + function isHexCode(c) { + return ( + (0x30 /* 0 */ <= c && c <= 0x39 /* 9 */) || + (0x41 /* A */ <= c && c <= 0x46 /* F */) || + (0x61 /* a */ <= c && c <= 0x66 /* f */) + ); + } - if (input.length !== 0) { + function isOctCode(c) { + return 0x30 /* 0 */ <= c && c <= 0x37 /* 7 */; + } - // Add tailing `\n` if not exists - if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ && - input.charCodeAt(input.length - 1) !== 0x0D/* CR */) { - input += '\n'; - } + function isDecCode(c) { + return 0x30 /* 0 */ <= c && c <= 0x39 /* 9 */; + } - // Strip BOM - if (input.charCodeAt(0) === 0xFEFF) { - input = input.slice(1); - } - } + function resolveYamlInteger(data) { + if (data === null) return false; - var state = new State(input, options); + var max = data.length, + index = 0, + hasDigits = false, + ch; - var nullpos = input.indexOf('\0'); + if (!max) return false; - if (nullpos !== -1) { - state.position = nullpos; - throwError(state, 'null byte is not allowed in input'); - } + ch = data[index]; + + // sign + if (ch === "-" || ch === "+") { + ch = data[++index]; + } - // Use 0 as string terminator. That significantly simplifies bounds check. - state.input += '\0'; + if (ch === "0") { + // 0 + if (index + 1 === max) return true; + ch = data[++index]; - while (state.input.charCodeAt(state.position) === 0x20/* Space */) { - state.lineIndent += 1; - state.position += 1; - } + // base 2, base 8, base 16 - while (state.position < (state.length - 1)) { - readDocument(state); - } + if (ch === "b") { + // base 2 + index++; - return state.documents; -} + for (; index < max; index++) { + ch = data[index]; + if (ch === "_") continue; + if (ch !== "0" && ch !== "1") return false; + hasDigits = true; + } + return hasDigits && ch !== "_"; + } + if (ch === "x") { + // base 16 + index++; -function loadAll(input, iterator, options) { - if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') { - options = iterator; - iterator = null; - } + for (; index < max; index++) { + ch = data[index]; + if (ch === "_") continue; + if (!isHexCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== "_"; + } - var documents = loadDocuments(input, options); + // base 8 + for (; index < max; index++) { + ch = data[index]; + if (ch === "_") continue; + if (!isOctCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== "_"; + } - if (typeof iterator !== 'function') { - return documents; - } + // base 10 (except 0) or base 60 - for (var index = 0, length = documents.length; index < length; index += 1) { - iterator(documents[index]); - } -} + // value should not start with `_`; + if (ch === "_") return false; + for (; index < max; index++) { + ch = data[index]; + if (ch === "_") continue; + if (ch === ":") break; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } -function load(input, options) { - var documents = loadDocuments(input, options); + // Should have digits and should not end with `_` + if (!hasDigits || ch === "_") return false; - if (documents.length === 0) { - /*eslint-disable no-undefined*/ - return undefined; - } else if (documents.length === 1) { - return documents[0]; - } - throw new YAMLException('expected a single document in the stream, but found more'); -} + // if !base60 - done; + if (ch !== ":") return true; + // base60 almost not used, no needs to optimize + return /^(:[0-5]?[0-9])+$/.test(data.slice(index)); + } -function safeLoadAll(input, iterator, options) { - if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') { - options = iterator; - iterator = null; - } + function constructYamlInteger(data) { + var value = data, + sign = 1, + ch, + base, + digits = []; - return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); -} + if (value.indexOf("_") !== -1) { + value = value.replace(/_/g, ""); + } + ch = value[0]; -function safeLoad(input, options) { - return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); -} + if (ch === "-" || ch === "+") { + if (ch === "-") sign = -1; + value = value.slice(1); + ch = value[0]; + } + if (value === "0") return 0; -module.exports.loadAll = loadAll; -module.exports.load = load; -module.exports.safeLoadAll = safeLoadAll; -module.exports.safeLoad = safeLoad; + if (ch === "0") { + if (value[1] === "b") return sign * parseInt(value.slice(2), 2); + if (value[1] === "x") return sign * parseInt(value, 16); + return sign * parseInt(value, 8); + } -},{"./common":143,"./exception":145,"./mark":147,"./schema/default_full":150,"./schema/default_safe":151}],147:[function(require,module,exports){ -'use strict'; + if (value.indexOf(":") !== -1) { + value.split(":").forEach(function (v) { + digits.unshift(parseInt(v, 10)); + }); + value = 0; + base = 1; -var common = require('./common'); + digits.forEach(function (d) { + value += d * base; + base *= 60; + }); + return sign * value; + } -function Mark(name, buffer, position, line, column) { - this.name = name; - this.buffer = buffer; - this.position = position; - this.line = line; - this.column = column; -} + return sign * parseInt(value, 10); + } + function isInteger(object) { + return ( + Object.prototype.toString.call(object) === "[object Number]" && + object % 1 === 0 && + !common.isNegativeZero(object) + ); + } -Mark.prototype.getSnippet = function getSnippet(indent, maxLength) { - var head, start, tail, end, snippet; + module.exports = new Type("tag:yaml.org,2002:int", { + kind: "scalar", + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function (obj) { + return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1); + }, + octal: function (obj) { + return obj >= 0 ? "0" + obj.toString(8) : "-0" + obj.toString(8).slice(1); + }, + decimal: function (obj) { + return obj.toString(10); + }, + /* eslint-disable max-len */ + hexadecimal: function (obj) { + return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1); + }, + }, + defaultStyle: "decimal", + styleAliases: { + binary: [2, "bin"], + octal: [8, "oct"], + decimal: [10, "dec"], + hexadecimal: [16, "hex"], + }, + }); + }, + { "../common": 143, "../type": 154 }, + ], + 159: [ + function (require, module, exports) { + "use strict"; + + var esprima; + + // Browserified version does not have esprima + // + // 1. For node.js just require module as deps + // 2. For browser try to require mudule via external AMD system. + // If not found - try to fallback to window.esprima. If not + // found too - then fail to parse. + // + try { + // workaround to exclude package from browserify list. + var _require = require; + esprima = _require("esprima"); + } catch (_) { + /* eslint-disable no-redeclare */ + /* global window */ + if (typeof window !== "undefined") esprima = window.esprima; + } - if (!this.buffer) return null; + var Type = require("../../type"); - indent = indent || 4; - maxLength = maxLength || 75; + function resolveJavascriptFunction(data) { + if (data === null) return false; - head = ''; - start = this.position; + try { + var source = "(" + data + ")", + ast = esprima.parse(source, { range: true }); - while (start > 0 && '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) { - start -= 1; - if (this.position - start > (maxLength / 2 - 1)) { - head = ' ... '; - start += 5; - break; - } - } + if ( + ast.type !== "Program" || + ast.body.length !== 1 || + ast.body[0].type !== "ExpressionStatement" || + (ast.body[0].expression.type !== "ArrowFunctionExpression" && + ast.body[0].expression.type !== "FunctionExpression") + ) { + return false; + } - tail = ''; - end = this.position; + return true; + } catch (err) { + return false; + } + } - while (end < this.buffer.length && '\x00\r\n\x85\u2028\u2029'.indexOf(this.buffer.charAt(end)) === -1) { - end += 1; - if (end - this.position > (maxLength / 2 - 1)) { - tail = ' ... '; - end -= 5; - break; - } - } + function constructJavascriptFunction(data) { + /*jslint evil:true*/ - snippet = this.buffer.slice(start, end); + var source = "(" + data + ")", + ast = esprima.parse(source, { range: true }), + params = [], + body; - return common.repeat(' ', indent) + head + snippet + tail + '\n' + - common.repeat(' ', indent + this.position - start + head.length) + '^'; -}; + if ( + ast.type !== "Program" || + ast.body.length !== 1 || + ast.body[0].type !== "ExpressionStatement" || + (ast.body[0].expression.type !== "ArrowFunctionExpression" && + ast.body[0].expression.type !== "FunctionExpression") + ) { + throw new Error("Failed to resolve function"); + } + ast.body[0].expression.params.forEach(function (param) { + params.push(param.name); + }); -Mark.prototype.toString = function toString(compact) { - var snippet, where = ''; + body = ast.body[0].expression.body.range; - if (this.name) { - where += 'in "' + this.name + '" '; - } + // Esprima's ranges include the first '{' and the last '}' characters on + // function expressions. So cut them out. + if (ast.body[0].expression.body.type === "BlockStatement") { + /*eslint-disable no-new-func*/ + return new Function(params, source.slice(body[0] + 1, body[1] - 1)); + } + // ES6 arrow functions can omit the BlockStatement. In that case, just return + // the body. + /*eslint-disable no-new-func*/ + return new Function(params, "return " + source.slice(body[0], body[1])); + } - where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1); + function representJavascriptFunction(object /*, style*/) { + return object.toString(); + } - if (!compact) { - snippet = this.getSnippet(); + function isFunction(object) { + return Object.prototype.toString.call(object) === "[object Function]"; + } - if (snippet) { - where += ':\n' + snippet; - } - } + module.exports = new Type("tag:yaml.org,2002:js/function", { + kind: "scalar", + resolve: resolveJavascriptFunction, + construct: constructJavascriptFunction, + predicate: isFunction, + represent: representJavascriptFunction, + }); + }, + { "../../type": 154 }, + ], + 160: [ + function (require, module, exports) { + "use strict"; + + var Type = require("../../type"); + + function resolveJavascriptRegExp(data) { + if (data === null) return false; + if (data.length === 0) return false; + + var regexp = data, + tail = /\/([gim]*)$/.exec(data), + modifiers = ""; + + // if regexp starts with '/' it can have modifiers and must be properly closed + // `/foo/gim` - modifiers tail can be maximum 3 chars + if (regexp[0] === "/") { + if (tail) modifiers = tail[1]; + + if (modifiers.length > 3) return false; + // if expression starts with /, is should be properly terminated + if (regexp[regexp.length - modifiers.length - 1] !== "/") return false; + } - return where; -}; + return true; + } + function constructJavascriptRegExp(data) { + var regexp = data, + tail = /\/([gim]*)$/.exec(data), + modifiers = ""; -module.exports = Mark; + // `/foo/gim` - tail can be maximum 4 chars + if (regexp[0] === "/") { + if (tail) modifiers = tail[1]; + regexp = regexp.slice(1, regexp.length - modifiers.length - 1); + } -},{"./common":143}],148:[function(require,module,exports){ -'use strict'; + return new RegExp(regexp, modifiers); + } -/*eslint-disable max-len*/ + function representJavascriptRegExp(object /*, style*/) { + var result = "/" + object.source + "/"; -var common = require('./common'); -var YAMLException = require('./exception'); -var Type = require('./type'); + if (object.global) result += "g"; + if (object.multiline) result += "m"; + if (object.ignoreCase) result += "i"; + return result; + } -function compileList(schema, name, result) { - var exclude = []; + function isRegExp(object) { + return Object.prototype.toString.call(object) === "[object RegExp]"; + } - schema.include.forEach(function (includedSchema) { - result = compileList(includedSchema, name, result); - }); + module.exports = new Type("tag:yaml.org,2002:js/regexp", { + kind: "scalar", + resolve: resolveJavascriptRegExp, + construct: constructJavascriptRegExp, + predicate: isRegExp, + represent: representJavascriptRegExp, + }); + }, + { "../../type": 154 }, + ], + 161: [ + function (require, module, exports) { + "use strict"; - schema[name].forEach(function (currentType) { - result.forEach(function (previousType, previousIndex) { - if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) { - exclude.push(previousIndex); - } - }); + var Type = require("../../type"); - result.push(currentType); - }); + function resolveJavascriptUndefined() { + return true; + } - return result.filter(function (type, index) { - return exclude.indexOf(index) === -1; - }); -} + function constructJavascriptUndefined() { + /*eslint-disable no-undefined*/ + return undefined; + } + function representJavascriptUndefined() { + return ""; + } -function compileMap(/* lists... */) { - var result = { - scalar: {}, - sequence: {}, - mapping: {}, - fallback: {} - }, index, length; + function isUndefined(object) { + return typeof object === "undefined"; + } - function collectType(type) { - result[type.kind][type.tag] = result['fallback'][type.tag] = type; - } + module.exports = new Type("tag:yaml.org,2002:js/undefined", { + kind: "scalar", + resolve: resolveJavascriptUndefined, + construct: constructJavascriptUndefined, + predicate: isUndefined, + represent: representJavascriptUndefined, + }); + }, + { "../../type": 154 }, + ], + 162: [ + function (require, module, exports) { + "use strict"; + + var Type = require("../type"); + + module.exports = new Type("tag:yaml.org,2002:map", { + kind: "mapping", + construct: function (data) { + return data !== null ? data : {}; + }, + }); + }, + { "../type": 154 }, + ], + 163: [ + function (require, module, exports) { + "use strict"; - for (index = 0, length = arguments.length; index < length; index += 1) { - arguments[index].forEach(collectType); - } - return result; -} + var Type = require("../type"); + function resolveYamlMerge(data) { + return data === "<<" || data === null; + } -function Schema(definition) { - this.include = definition.include || []; - this.implicit = definition.implicit || []; - this.explicit = definition.explicit || []; + module.exports = new Type("tag:yaml.org,2002:merge", { + kind: "scalar", + resolve: resolveYamlMerge, + }); + }, + { "../type": 154 }, + ], + 164: [ + function (require, module, exports) { + "use strict"; - this.implicit.forEach(function (type) { - if (type.loadKind && type.loadKind !== 'scalar') { - throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); - } - }); + var Type = require("../type"); - this.compiledImplicit = compileList(this, 'implicit', []); - this.compiledExplicit = compileList(this, 'explicit', []); - this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit); -} + function resolveYamlNull(data) { + if (data === null) return true; + var max = data.length; -Schema.DEFAULT = null; + return (max === 1 && data === "~") || (max === 4 && (data === "null" || data === "Null" || data === "NULL")); + } + function constructYamlNull() { + return null; + } -Schema.create = function createSchema() { - var schemas, types; + function isNull(object) { + return object === null; + } - switch (arguments.length) { - case 1: - schemas = Schema.DEFAULT; - types = arguments[0]; - break; + module.exports = new Type("tag:yaml.org,2002:null", { + kind: "scalar", + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function () { + return "~"; + }, + lowercase: function () { + return "null"; + }, + uppercase: function () { + return "NULL"; + }, + camelcase: function () { + return "Null"; + }, + }, + defaultStyle: "lowercase", + }); + }, + { "../type": 154 }, + ], + 165: [ + function (require, module, exports) { + "use strict"; + + var Type = require("../type"); + + var _hasOwnProperty = Object.prototype.hasOwnProperty; + var _toString = Object.prototype.toString; + + function resolveYamlOmap(data) { + if (data === null) return true; + + var objectKeys = [], + index, + length, + pair, + pairKey, + pairHasKey, + object = data; + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + + if (_toString.call(pair) !== "[object Object]") return false; + + for (pairKey in pair) { + if (_hasOwnProperty.call(pair, pairKey)) { + if (!pairHasKey) pairHasKey = true; + else return false; + } + } - case 2: - schemas = arguments[0]; - types = arguments[1]; - break; + if (!pairHasKey) return false; - default: - throw new YAMLException('Wrong number of arguments for Schema.create function'); - } + if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); + else return false; + } - schemas = common.toArray(schemas); - types = common.toArray(types); + return true; + } - if (!schemas.every(function (schema) { return schema instanceof Schema; })) { - throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.'); - } + function constructYamlOmap(data) { + return data !== null ? data : []; + } - if (!types.every(function (type) { return type instanceof Type; })) { - throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); - } + module.exports = new Type("tag:yaml.org,2002:omap", { + kind: "sequence", + resolve: resolveYamlOmap, + construct: constructYamlOmap, + }); + }, + { "../type": 154 }, + ], + 166: [ + function (require, module, exports) { + "use strict"; - return new Schema({ - include: schemas, - explicit: types - }); -}; + var Type = require("../type"); + var _toString = Object.prototype.toString; -module.exports = Schema; + function resolveYamlPairs(data) { + if (data === null) return true; -},{"./common":143,"./exception":145,"./type":154}],149:[function(require,module,exports){ -// Standard YAML's Core schema. -// http://www.yaml.org/spec/1.2/spec.html#id2804923 -// -// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. -// So, Core schema has no distinctions from JSON schema is JS-YAML. + var index, + length, + pair, + keys, + result, + object = data; + result = new Array(object.length); -'use strict'; + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + if (_toString.call(pair) !== "[object Object]") return false; -var Schema = require('../schema'); + keys = Object.keys(pair); + if (keys.length !== 1) return false; -module.exports = new Schema({ - include: [ - require('./json') - ] -}); + result[index] = [keys[0], pair[keys[0]]]; + } -},{"../schema":148,"./json":153}],150:[function(require,module,exports){ -// JS-YAML's default schema for `load` function. -// It is not described in the YAML specification. -// -// This schema is based on JS-YAML's default safe schema and includes -// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function. -// -// Also this schema is used as default base schema at `Schema.create` function. + return true; + } + function constructYamlPairs(data) { + if (data === null) return []; -'use strict'; + var index, + length, + pair, + keys, + result, + object = data; + result = new Array(object.length); -var Schema = require('../schema'); + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + keys = Object.keys(pair); -module.exports = Schema.DEFAULT = new Schema({ - include: [ - require('./default_safe') - ], - explicit: [ - require('../type/js/undefined'), - require('../type/js/regexp'), - require('../type/js/function') - ] -}); + result[index] = [keys[0], pair[keys[0]]]; + } -},{"../schema":148,"../type/js/function":159,"../type/js/regexp":160,"../type/js/undefined":161,"./default_safe":151}],151:[function(require,module,exports){ -// JS-YAML's default schema for `safeLoad` function. -// It is not described in the YAML specification. -// -// This schema is based on standard YAML's Core schema and includes most of -// extra types described at YAML tag repository. (http://yaml.org/type/) + return result; + } + module.exports = new Type("tag:yaml.org,2002:pairs", { + kind: "sequence", + resolve: resolveYamlPairs, + construct: constructYamlPairs, + }); + }, + { "../type": 154 }, + ], + 167: [ + function (require, module, exports) { + "use strict"; + + var Type = require("../type"); + + module.exports = new Type("tag:yaml.org,2002:seq", { + kind: "sequence", + construct: function (data) { + return data !== null ? data : []; + }, + }); + }, + { "../type": 154 }, + ], + 168: [ + function (require, module, exports) { + "use strict"; -'use strict'; + var Type = require("../type"); + var _hasOwnProperty = Object.prototype.hasOwnProperty; -var Schema = require('../schema'); + function resolveYamlSet(data) { + if (data === null) return true; + var key, + object = data; -module.exports = new Schema({ - include: [ - require('./core') - ], - implicit: [ - require('../type/timestamp'), - require('../type/merge') - ], - explicit: [ - require('../type/binary'), - require('../type/omap'), - require('../type/pairs'), - require('../type/set') - ] -}); + for (key in object) { + if (_hasOwnProperty.call(object, key)) { + if (object[key] !== null) return false; + } + } -},{"../schema":148,"../type/binary":155,"../type/merge":163,"../type/omap":165,"../type/pairs":166,"../type/set":168,"../type/timestamp":170,"./core":149}],152:[function(require,module,exports){ -// Standard YAML's Failsafe schema. -// http://www.yaml.org/spec/1.2/spec.html#id2802346 + return true; + } + function constructYamlSet(data) { + return data !== null ? data : {}; + } -'use strict'; + module.exports = new Type("tag:yaml.org,2002:set", { + kind: "mapping", + resolve: resolveYamlSet, + construct: constructYamlSet, + }); + }, + { "../type": 154 }, + ], + 169: [ + function (require, module, exports) { + "use strict"; + + var Type = require("../type"); + + module.exports = new Type("tag:yaml.org,2002:str", { + kind: "scalar", + construct: function (data) { + return data !== null ? data : ""; + }, + }); + }, + { "../type": 154 }, + ], + 170: [ + function (require, module, exports) { + "use strict"; + + var Type = require("../type"); + + var YAML_DATE_REGEXP = new RegExp( + "^([0-9][0-9][0-9][0-9])" + // [1] year + "-([0-9][0-9])" + // [2] month + "-([0-9][0-9])$", + ); // [3] day + + var YAML_TIMESTAMP_REGEXP = new RegExp( + "^([0-9][0-9][0-9][0-9])" + // [1] year + "-([0-9][0-9]?)" + // [2] month + "-([0-9][0-9]?)" + // [3] day + "(?:[Tt]|[ \\t]+)" + // ... + "([0-9][0-9]?)" + // [4] hour + ":([0-9][0-9])" + // [5] minute + ":([0-9][0-9])" + // [6] second + "(?:\\.([0-9]*))?" + // [7] fraction + "(?:[ \\t]*(Z|([-+])([0-9][0-9]?)" + // [8] tz [9] tz_sign [10] tz_hour + "(?::([0-9][0-9]))?))?$", + ); // [11] tz_minute + + function resolveYamlTimestamp(data) { + if (data === null) return false; + if (YAML_DATE_REGEXP.exec(data) !== null) return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; + return false; + } + + function constructYamlTimestamp(data) { + var match, + year, + month, + day, + hour, + minute, + second, + fraction = 0, + delta = null, + tz_hour, + tz_minute, + date; + + match = YAML_DATE_REGEXP.exec(data); + if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + + if (match === null) throw new Error("Date resolve error"); + + // match: [1] year [2] month [3] day + + year = +match[1]; + month = +match[2] - 1; // JS month starts with 0 + day = +match[3]; + + if (!match[4]) { + // no hour + return new Date(Date.UTC(year, month, day)); + } + // match: [4] hour [5] minute [6] second [7] fraction -var Schema = require('../schema'); + hour = +match[4]; + minute = +match[5]; + second = +match[6]; + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { + // milli-seconds + fraction += "0"; + } + fraction = +fraction; + } -module.exports = new Schema({ - explicit: [ - require('../type/str'), - require('../type/seq'), - require('../type/map') - ] -}); + // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute -},{"../schema":148,"../type/map":162,"../type/seq":167,"../type/str":169}],153:[function(require,module,exports){ -// Standard YAML's JSON schema. -// http://www.yaml.org/spec/1.2/spec.html#id2803231 -// -// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. -// So, this schema is not such strict as defined in the YAML specification. -// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc. + if (match[9]) { + tz_hour = +match[10]; + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds + if (match[9] === "-") delta = -delta; + } + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); -'use strict'; + if (delta) date.setTime(date.getTime() - delta); + return date; + } -var Schema = require('../schema'); + function representYamlTimestamp(object /*, style*/) { + return object.toISOString(); + } + module.exports = new Type("tag:yaml.org,2002:timestamp", { + kind: "scalar", + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp, + }); + }, + { "../type": 154 }, + ], + 171: [ + function (require, module, exports) { + "use strict"; + + var traverse = (module.exports = function (schema, opts, cb) { + // Legacy support for v0.3.1 and earlier. + if (typeof opts == "function") { + cb = opts; + opts = {}; + } -module.exports = new Schema({ - include: [ - require('./failsafe') - ], - implicit: [ - require('../type/null'), - require('../type/bool'), - require('../type/int'), - require('../type/float') - ] -}); + cb = opts.cb || cb; + var pre = typeof cb == "function" ? cb : cb.pre || function () {}; + var post = cb.post || function () {}; -},{"../schema":148,"../type/bool":156,"../type/float":157,"../type/int":158,"../type/null":164,"./failsafe":152}],154:[function(require,module,exports){ -'use strict'; + _traverse(opts, pre, post, schema, "", schema); + }); -var YAMLException = require('./exception'); + traverse.keywords = { + additionalItems: true, + items: true, + contains: true, + additionalProperties: true, + propertyNames: true, + not: true, + if: true, + then: true, + else: true, + }; -var TYPE_CONSTRUCTOR_OPTIONS = [ - 'kind', - 'resolve', - 'construct', - 'instanceOf', - 'predicate', - 'represent', - 'defaultStyle', - 'styleAliases' -]; - -var YAML_NODE_KINDS = [ - 'scalar', - 'sequence', - 'mapping' -]; + traverse.arrayKeywords = { + items: true, + allOf: true, + anyOf: true, + oneOf: true, + }; -function compileStyleAliases(map) { - var result = {}; + traverse.propsKeywords = { + $defs: true, + definitions: true, + properties: true, + patternProperties: true, + dependencies: true, + }; - if (map !== null) { - Object.keys(map).forEach(function (style) { - map[style].forEach(function (alias) { - result[String(alias)] = style; - }); - }); - } + traverse.skipKeywords = { + default: true, + enum: true, + const: true, + required: true, + maximum: true, + minimum: true, + exclusiveMaximum: true, + exclusiveMinimum: true, + multipleOf: true, + maxLength: true, + minLength: true, + pattern: true, + format: true, + maxItems: true, + minItems: true, + uniqueItems: true, + maxProperties: true, + minProperties: true, + }; - return result; -} + function _traverse( + opts, + pre, + post, + schema, + jsonPtr, + rootSchema, + parentJsonPtr, + parentKeyword, + parentSchema, + keyIndex, + ) { + if (schema && typeof schema == "object" && !Array.isArray(schema)) { + pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex); + for (var key in schema) { + var sch = schema[key]; + if (Array.isArray(sch)) { + if (key in traverse.arrayKeywords) { + for (var i = 0; i < sch.length; i++) + _traverse( + opts, + pre, + post, + sch[i], + jsonPtr + "/" + key + "/" + i, + rootSchema, + jsonPtr, + key, + schema, + i, + ); + } + } else if (key in traverse.propsKeywords) { + if (sch && typeof sch == "object") { + for (var prop in sch) + _traverse( + opts, + pre, + post, + sch[prop], + jsonPtr + "/" + key + "/" + escapeJsonPtr(prop), + rootSchema, + jsonPtr, + key, + schema, + prop, + ); + } + } else if (key in traverse.keywords || (opts.allKeys && !(key in traverse.skipKeywords))) { + _traverse(opts, pre, post, sch, jsonPtr + "/" + key, rootSchema, jsonPtr, key, schema); + } + } + post(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex); + } + } -function Type(tag, options) { - options = options || {}; + function escapeJsonPtr(str) { + return str.replace(/~/g, "~0").replace(/\//g, "~1"); + } + }, + {}, + ], + 172: [ + function (require, module, exports) { + // shim for using process in browser + var process = (module.exports = {}); + + // cached from whatever global is present so that test runners that stub it + // don't break things. But we need to wrap it in a try catch in case it is + // wrapped in strict mode code which doesn't define any globals. It's inside a + // function because try/catches deoptimize in certain engines. + + var cachedSetTimeout; + var cachedClearTimeout; + + function defaultSetTimout() { + throw new Error("setTimeout has not been defined"); + } + function defaultClearTimeout() { + throw new Error("clearTimeout has not been defined"); + } + (function () { + try { + if (typeof setTimeout === "function") { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === "function") { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } + })(); + function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch (e) { + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch (e) { + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + } + function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e) { + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e) { + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + } + var queue = []; + var draining = false; + var currentQueue; + var queueIndex = -1; - Object.keys(options).forEach(function (name) { - if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { - throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); - } - }); - - // TODO: Add tag format check. - this.tag = tag; - this.kind = options['kind'] || null; - this.resolve = options['resolve'] || function () { return true; }; - this.construct = options['construct'] || function (data) { return data; }; - this.instanceOf = options['instanceOf'] || null; - this.predicate = options['predicate'] || null; - this.represent = options['represent'] || null; - this.defaultStyle = options['defaultStyle'] || null; - this.styleAliases = compileStyleAliases(options['styleAliases'] || null); - - if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { - throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); - } -} + function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } + } -module.exports = Type; + function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while (len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); + } -},{"./exception":145}],155:[function(require,module,exports){ -'use strict'; + process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } + }; -/*eslint-disable no-bitwise*/ + // v8 likes predictible objects + function Item(fun, array) { + this.fun = fun; + this.array = array; + } + Item.prototype.run = function () { + this.fun.apply(null, this.array); + }; + process.title = "browser"; + process.browser = true; + process.env = {}; + process.argv = []; + process.version = ""; // empty string to avoid regexp issues + process.versions = {}; + + function noop() {} + + process.on = noop; + process.addListener = noop; + process.once = noop; + process.off = noop; + process.removeListener = noop; + process.removeAllListeners = noop; + process.emit = noop; + process.prependListener = noop; + process.prependOnceListener = noop; + + process.listeners = function (name) { + return []; + }; -var NodeBuffer; + process.binding = function (name) { + throw new Error("process.binding is not supported"); + }; -try { - // A trick for browserified version, to not include `Buffer` shim - var _require = require; - NodeBuffer = _require('buffer').Buffer; -} catch (__) {} + process.cwd = function () { + return "/"; + }; + process.chdir = function (dir) { + throw new Error("process.chdir is not supported"); + }; + process.umask = function () { + return 0; + }; + }, + {}, + ], + 173: [ + function (require, module, exports) { + (function (global) { + (function () { + /*! https://mths.be/punycode v1.4.1 by @mathias */ + (function (root) { + /** Detect free variables */ + var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; + var freeModule = typeof module == "object" && module && !module.nodeType && module; + var freeGlobal = typeof global == "object" && global; + if ( + freeGlobal.global === freeGlobal || + freeGlobal.window === freeGlobal || + freeGlobal.self === freeGlobal + ) { + root = freeGlobal; + } -var Type = require('../type'); + /** + * The `punycode` object. + * @name punycode + * @type Object + */ + var punycode, + /** Highest positive signed 32-bit float value */ + maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 + /** Bootstring parameters */ + base = 36, + tMin = 1, + tMax = 26, + skew = 38, + damp = 700, + initialBias = 72, + initialN = 128, // 0x80 + delimiter = "-", // '\x2D' + /** Regular expressions */ + regexPunycode = /^xn--/, + regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars + regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators + /** Error messages */ + errors = { + overflow: "Overflow: input needs wider integers to process", + "not-basic": "Illegal input >= 0x80 (not a basic code point)", + "invalid-input": "Invalid input", + }, + /** Convenience shortcuts */ + baseMinusTMin = base - tMin, + floor = Math.floor, + stringFromCharCode = String.fromCharCode, + /** Temporary variable */ + key; + + /*--------------------------------------------------------------------------*/ + + /** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ + function error(type) { + throw new RangeError(errors[type]); + } + /** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ + function map(array, fn) { + var length = array.length; + var result = []; + while (length--) { + result[length] = fn(array[length]); + } + return result; + } -// [ 64, 65, 66 ] -> [ padding, CR, LF ] -var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; + /** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ + function mapDomain(string, fn) { + var parts = string.split("@"); + var result = ""; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + "@"; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, "\x2E"); + var labels = string.split("."); + var encoded = map(labels, fn).join("."); + return result + encoded; + } + /** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ + function ucs2decode(string) { + var output = [], + counter = 0, + length = string.length, + value, + extra; + while (counter < length) { + value = string.charCodeAt(counter++); + if (value >= 0xd800 && value <= 0xdbff && counter < length) { + // high surrogate, and there is a next character + extra = string.charCodeAt(counter++); + if ((extra & 0xfc00) == 0xdc00) { + // low surrogate + output.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000); + } else { + // unmatched surrogate; only append this code unit, in case the next + // code unit is the high surrogate of a surrogate pair + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; + } -function resolveYamlBinary(data) { - if (data === null) return false; + /** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ + function ucs2encode(array) { + return map(array, function (value) { + var output = ""; + if (value > 0xffff) { + value -= 0x10000; + output += stringFromCharCode(((value >>> 10) & 0x3ff) | 0xd800); + value = 0xdc00 | (value & 0x3ff); + } + output += stringFromCharCode(value); + return output; + }).join(""); + } - var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP; + /** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ + function basicToDigit(codePoint) { + if (codePoint - 48 < 10) { + return codePoint - 22; + } + if (codePoint - 65 < 26) { + return codePoint - 65; + } + if (codePoint - 97 < 26) { + return codePoint - 97; + } + return base; + } - // Convert one by one. - for (idx = 0; idx < max; idx++) { - code = map.indexOf(data.charAt(idx)); + /** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ + function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); + } - // Skip CR/LF - if (code > 64) continue; + /** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ + function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (; /* no initialization */ delta > (baseMinusTMin * tMax) >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + ((baseMinusTMin + 1) * delta) / (delta + skew)); + } - // Fail on illegal characters - if (code < 0) return false; + /** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ + function decode(input) { + // Don't use UCS-2 + var output = [], + inputLength = input.length, + out, + i = 0, + n = initialN, + bias = initialBias, + basic, + j, + index, + oldi, + w, + k, + digit, + t, + /** Cached calculation results */ + baseMinusT; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } - bitlen += 6; - } + for (j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error("not-basic"); + } + output.push(input.charCodeAt(j)); + } - // If there are any bits left, source was corrupted - return (bitlen % 8) === 0; -} - -function constructYamlBinary(data) { - var idx, tailbits, - input = data.replace(/[\r\n=]/g, ''), // remove CR/LF & padding to simplify scan - max = input.length, - map = BASE64_MAP, - bits = 0, - result = []; - - // Collect by 6*4 bits (3 bytes) - - for (idx = 0; idx < max; idx++) { - if ((idx % 4 === 0) && idx) { - result.push((bits >> 16) & 0xFF); - result.push((bits >> 8) & 0xFF); - result.push(bits & 0xFF); - } + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (index = basic > 0 ? basic + 1 : 0; index < inputLength /* no final expression */; ) { + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + for (oldi = i, w = 1, k = base /* no condition */; ; k += base) { + if (index >= inputLength) { + error("invalid-input"); + } - bits = (bits << 6) | map.indexOf(input.charAt(idx)); - } + digit = basicToDigit(input.charCodeAt(index++)); - // Dump tail + if (digit >= base || digit > floor((maxInt - i) / w)) { + error("overflow"); + } - tailbits = (max % 4) * 6; + i += digit * w; + t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (tailbits === 0) { - result.push((bits >> 16) & 0xFF); - result.push((bits >> 8) & 0xFF); - result.push(bits & 0xFF); - } else if (tailbits === 18) { - result.push((bits >> 10) & 0xFF); - result.push((bits >> 2) & 0xFF); - } else if (tailbits === 12) { - result.push((bits >> 4) & 0xFF); - } + if (digit < t) { + break; + } - // Wrap into Buffer for NodeJS and leave Array for browser - if (NodeBuffer) { - // Support node 6.+ Buffer API when available - return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result); - } + baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error("overflow"); + } - return result; -} + w *= baseMinusT; + } -function representYamlBinary(object /*, style*/) { - var result = '', bits = 0, idx, tail, - max = object.length, - map = BASE64_MAP; + out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); - // Convert every three bytes to 4 ASCII characters. + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error("overflow"); + } - for (idx = 0; idx < max; idx++) { - if ((idx % 3 === 0) && idx) { - result += map[(bits >> 18) & 0x3F]; - result += map[(bits >> 12) & 0x3F]; - result += map[(bits >> 6) & 0x3F]; - result += map[bits & 0x3F]; - } + n += floor(i / out); + i %= out; - bits = (bits << 8) + object[idx]; - } + // Insert `n` at position `i` of the output + output.splice(i++, 0, n); + } - // Dump tail - - tail = max % 3; - - if (tail === 0) { - result += map[(bits >> 18) & 0x3F]; - result += map[(bits >> 12) & 0x3F]; - result += map[(bits >> 6) & 0x3F]; - result += map[bits & 0x3F]; - } else if (tail === 2) { - result += map[(bits >> 10) & 0x3F]; - result += map[(bits >> 4) & 0x3F]; - result += map[(bits << 2) & 0x3F]; - result += map[64]; - } else if (tail === 1) { - result += map[(bits >> 2) & 0x3F]; - result += map[(bits << 4) & 0x3F]; - result += map[64]; - result += map[64]; - } + return ucs2encode(output); + } - return result; -} - -function isBinary(object) { - return NodeBuffer && NodeBuffer.isBuffer(object); -} - -module.exports = new Type('tag:yaml.org,2002:binary', { - kind: 'scalar', - resolve: resolveYamlBinary, - construct: constructYamlBinary, - predicate: isBinary, - represent: representYamlBinary -}); - -},{"../type":154}],156:[function(require,module,exports){ -'use strict'; - -var Type = require('../type'); - -function resolveYamlBoolean(data) { - if (data === null) return false; - - var max = data.length; - - return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) || - (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE')); -} - -function constructYamlBoolean(data) { - return data === 'true' || - data === 'True' || - data === 'TRUE'; -} - -function isBoolean(object) { - return Object.prototype.toString.call(object) === '[object Boolean]'; -} - -module.exports = new Type('tag:yaml.org,2002:bool', { - kind: 'scalar', - resolve: resolveYamlBoolean, - construct: constructYamlBoolean, - predicate: isBoolean, - represent: { - lowercase: function (object) { return object ? 'true' : 'false'; }, - uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, - camelcase: function (object) { return object ? 'True' : 'False'; } - }, - defaultStyle: 'lowercase' -}); - -},{"../type":154}],157:[function(require,module,exports){ -'use strict'; - -var common = require('../common'); -var Type = require('../type'); - -var YAML_FLOAT_PATTERN = new RegExp( - // 2.5e4, 2.5 and integers - '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + - // .2e4, .2 - // special case, seems not from spec - '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + - // 20:59 - '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*' + - // .inf - '|[-+]?\\.(?:inf|Inf|INF)' + - // .nan - '|\\.(?:nan|NaN|NAN))$'); - -function resolveYamlFloat(data) { - if (data === null) return false; - - if (!YAML_FLOAT_PATTERN.test(data) || - // Quick hack to not allow integers end with `_` - // Probably should update regexp & check speed - data[data.length - 1] === '_') { - return false; - } + /** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ + function encode(input) { + var n, + delta, + handledCPCount, + basicLength, + bias, + j, + m, + q, + k, + t, + currentValue, + output = [], + /** `inputLength` will hold the number of code points in `input`. */ + inputLength, + /** Cached calculation results */ + handledCPCountPlusOne, + baseMinusT, + qMinusT; + + // Convert the input in UCS-2 to Unicode + input = ucs2decode(input); + + // Cache the length + inputLength = input.length; + + // Initialize the state + n = initialN; + delta = 0; + bias = initialBias; + + // Handle the basic code points + for (j = 0; j < inputLength; ++j) { + currentValue = input[j]; + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } - return true; -} + handledCPCount = basicLength = output.length; -function constructYamlFloat(data) { - var value, sign, base, digits; + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. - value = data.replace(/_/g, '').toLowerCase(); - sign = value[0] === '-' ? -1 : 1; - digits = []; + // Finish the basic string - if it is not empty - with a delimiter + if (basicLength) { + output.push(delimiter); + } - if ('+-'.indexOf(value[0]) >= 0) { - value = value.slice(1); - } + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next + // larger one: + for (m = maxInt, j = 0; j < inputLength; ++j) { + currentValue = input[j]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } - if (value === '.inf') { - return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow + handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error("overflow"); + } - } else if (value === '.nan') { - return NaN; + delta += (m - n) * handledCPCountPlusOne; + n = m; - } else if (value.indexOf(':') >= 0) { - value.split(':').forEach(function (v) { - digits.unshift(parseFloat(v, 10)); - }); + for (j = 0; j < inputLength; ++j) { + currentValue = input[j]; - value = 0.0; - base = 1; + if (currentValue < n && ++delta > maxInt) { + error("overflow"); + } - digits.forEach(function (d) { - value += d * base; - base *= 60; - }); + if (currentValue == n) { + // Represent delta as a generalized variable-length integer + for (q = delta, k = base /* no condition */; ; k += base) { + t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) { + break; + } + qMinusT = q - t; + baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + (qMinusT % baseMinusT), 0))); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } - return sign * value; + ++delta; + ++n; + } + return output.join(""); + } - } - return sign * parseFloat(value, 10); -} + /** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ + function toUnicode(input) { + return mapDomain(input, function (string) { + return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; + }); + } + /** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ + function toASCII(input) { + return mapDomain(input, function (string) { + return regexNonASCII.test(string) ? "xn--" + encode(string) : string; + }); + } -var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; + /*--------------------------------------------------------------------------*/ + + /** Define the public API */ + punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + version: "1.4.1", + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + ucs2: { + decode: ucs2decode, + encode: ucs2encode, + }, + decode: decode, + encode: encode, + toASCII: toASCII, + toUnicode: toUnicode, + }; + + /** Expose `punycode` */ + // Some AMD build optimizers, like r.js, check for specific condition patterns + // like the following: + if (typeof define == "function" && typeof define.amd == "object" && define.amd) { + define("punycode", function () { + return punycode; + }); + } else if (freeExports && freeModule) { + if (module.exports == freeExports) { + // in Node.js, io.js, or RingoJS v0.8.0+ + freeModule.exports = punycode; + } else { + // in Narwhal or RingoJS v0.7.0- + for (key in punycode) { + punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); + } + } + } else { + // in Rhino or a web browser + root.punycode = punycode; + } + })(this); + }).call(this); + }).call( + this, + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + {}, + ], + 174: [ + function (require, module, exports) { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + "use strict"; + + // If obj.hasOwnProperty has been overridden, then calling + // obj.hasOwnProperty(prop) will break. + // See: https://github.com/joyent/node/issues/1707 + function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); + } + + module.exports = function (qs, sep, eq, options) { + sep = sep || "&"; + eq = eq || "="; + var obj = {}; + + if (typeof qs !== "string" || qs.length === 0) { + return obj; + } -function representYamlFloat(object, style) { - var res; + var regexp = /\+/g; + qs = qs.split(sep); - if (isNaN(object)) { - switch (style) { - case 'lowercase': return '.nan'; - case 'uppercase': return '.NAN'; - case 'camelcase': return '.NaN'; - } - } else if (Number.POSITIVE_INFINITY === object) { - switch (style) { - case 'lowercase': return '.inf'; - case 'uppercase': return '.INF'; - case 'camelcase': return '.Inf'; - } - } else if (Number.NEGATIVE_INFINITY === object) { - switch (style) { - case 'lowercase': return '-.inf'; - case 'uppercase': return '-.INF'; - case 'camelcase': return '-.Inf'; - } - } else if (common.isNegativeZero(object)) { - return '-0.0'; - } + var maxKeys = 1000; + if (options && typeof options.maxKeys === "number") { + maxKeys = options.maxKeys; + } - res = object.toString(10); + var len = qs.length; + // maxKeys <= 0 means that we should not limit keys count + if (maxKeys > 0 && len > maxKeys) { + len = maxKeys; + } - // JS stringifier can build scientific format without dots: 5e-100, - // while YAML requres dot: 5.e-100. Fix it with simple hack + for (var i = 0; i < len; ++i) { + var x = qs[i].replace(regexp, "%20"), + idx = x.indexOf(eq), + kstr, + vstr, + k, + v; + + if (idx >= 0) { + kstr = x.substr(0, idx); + vstr = x.substr(idx + 1); + } else { + kstr = x; + vstr = ""; + } - return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; -} + k = decodeURIComponent(kstr); + v = decodeURIComponent(vstr); -function isFloat(object) { - return (Object.prototype.toString.call(object) === '[object Number]') && - (object % 1 !== 0 || common.isNegativeZero(object)); -} + if (!hasOwnProperty(obj, k)) { + obj[k] = v; + } else if (isArray(obj[k])) { + obj[k].push(v); + } else { + obj[k] = [obj[k], v]; + } + } -module.exports = new Type('tag:yaml.org,2002:float', { - kind: 'scalar', - resolve: resolveYamlFloat, - construct: constructYamlFloat, - predicate: isFloat, - represent: representYamlFloat, - defaultStyle: 'lowercase' -}); + return obj; + }; -},{"../common":143,"../type":154}],158:[function(require,module,exports){ -'use strict'; + var isArray = + Array.isArray || + function (xs) { + return Object.prototype.toString.call(xs) === "[object Array]"; + }; + }, + {}, + ], + 175: [ + function (require, module, exports) { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + "use strict"; + + var stringifyPrimitive = function (v) { + switch (typeof v) { + case "string": + return v; -var common = require('../common'); -var Type = require('../type'); + case "boolean": + return v ? "true" : "false"; -function isHexCode(c) { - return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) || - ((0x41/* A */ <= c) && (c <= 0x46/* F */)) || - ((0x61/* a */ <= c) && (c <= 0x66/* f */)); -} + case "number": + return isFinite(v) ? v : ""; -function isOctCode(c) { - return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */)); -} + default: + return ""; + } + }; -function isDecCode(c) { - return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)); -} + module.exports = function (obj, sep, eq, name) { + sep = sep || "&"; + eq = eq || "="; + if (obj === null) { + obj = undefined; + } -function resolveYamlInteger(data) { - if (data === null) return false; + if (typeof obj === "object") { + return map(objectKeys(obj), function (k) { + var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; + if (isArray(obj[k])) { + return map(obj[k], function (v) { + return ks + encodeURIComponent(stringifyPrimitive(v)); + }).join(sep); + } else { + return ks + encodeURIComponent(stringifyPrimitive(obj[k])); + } + }).join(sep); + } - var max = data.length, - index = 0, - hasDigits = false, - ch; + if (!name) return ""; + return encodeURIComponent(stringifyPrimitive(name)) + eq + encodeURIComponent(stringifyPrimitive(obj)); + }; - if (!max) return false; + var isArray = + Array.isArray || + function (xs) { + return Object.prototype.toString.call(xs) === "[object Array]"; + }; + + function map(xs, f) { + if (xs.map) return xs.map(f); + var res = []; + for (var i = 0; i < xs.length; i++) { + res.push(f(xs[i], i)); + } + return res; + } - ch = data[index]; + var objectKeys = + Object.keys || + function (obj) { + var res = []; + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key); + } + return res; + }; + }, + {}, + ], + 176: [ + function (require, module, exports) { + "use strict"; + + exports.decode = exports.parse = require("./decode"); + exports.encode = exports.stringify = require("./encode"); + }, + { "./decode": 174, "./encode": 175 }, + ], + 177: [ + function (require, module, exports) { + "use strict"; - // sign - if (ch === '-' || ch === '+') { - ch = data[++index]; - } + function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; + } - if (ch === '0') { - // 0 - if (index + 1 === max) return true; - ch = data[++index]; + var codes = {}; - // base 2, base 8, base 16 + function createErrorType(code, message, Base) { + if (!Base) { + Base = Error; + } - if (ch === 'b') { - // base 2 - index++; + function getMessage(arg1, arg2, arg3) { + if (typeof message === "string") { + return message; + } else { + return message(arg1, arg2, arg3); + } + } - for (; index < max; index++) { - ch = data[index]; - if (ch === '_') continue; - if (ch !== '0' && ch !== '1') return false; - hasDigits = true; - } - return hasDigits && ch !== '_'; - } + var NodeError = + /*#__PURE__*/ + (function (_Base) { + _inheritsLoose(NodeError, _Base); + function NodeError(arg1, arg2, arg3) { + return _Base.call(this, getMessage(arg1, arg2, arg3)) || this; + } - if (ch === 'x') { - // base 16 - index++; + return NodeError; + })(Base); - for (; index < max; index++) { - ch = data[index]; - if (ch === '_') continue; - if (!isHexCode(data.charCodeAt(index))) return false; - hasDigits = true; - } - return hasDigits && ch !== '_'; - } + NodeError.prototype.name = Base.name; + NodeError.prototype.code = code; + codes[code] = NodeError; + } // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js - // base 8 - for (; index < max; index++) { - ch = data[index]; - if (ch === '_') continue; - if (!isOctCode(data.charCodeAt(index))) return false; - hasDigits = true; - } - return hasDigits && ch !== '_'; - } + function oneOf(expected, thing) { + if (Array.isArray(expected)) { + var len = expected.length; + expected = expected.map(function (i) { + return String(i); + }); - // base 10 (except 0) or base 60 + if (len > 2) { + return ( + "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(", "), ", or ") + expected[len - 1] + ); + } else if (len === 2) { + return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]); + } else { + return "of ".concat(thing, " ").concat(expected[0]); + } + } else { + return "of ".concat(thing, " ").concat(String(expected)); + } + } // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith - // value should not start with `_`; - if (ch === '_') return false; + function startsWith(str, search, pos) { + return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; + } // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith - for (; index < max; index++) { - ch = data[index]; - if (ch === '_') continue; - if (ch === ':') break; - if (!isDecCode(data.charCodeAt(index))) { - return false; - } - hasDigits = true; - } + function endsWith(str, search, this_len) { + if (this_len === undefined || this_len > str.length) { + this_len = str.length; + } - // Should have digits and should not end with `_` - if (!hasDigits || ch === '_') return false; + return str.substring(this_len - search.length, this_len) === search; + } // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes - // if !base60 - done; - if (ch !== ':') return true; + function includes(str, search, start) { + if (typeof start !== "number") { + start = 0; + } - // base60 almost not used, no needs to optimize - return /^(:[0-5]?[0-9])+$/.test(data.slice(index)); -} + if (start + search.length > str.length) { + return false; + } else { + return str.indexOf(search, start) !== -1; + } + } -function constructYamlInteger(data) { - var value = data, sign = 1, ch, base, digits = []; + createErrorType( + "ERR_INVALID_OPT_VALUE", + function (name, value) { + return 'The value "' + value + '" is invalid for option "' + name + '"'; + }, + TypeError, + ); + createErrorType( + "ERR_INVALID_ARG_TYPE", + function (name, expected, actual) { + // determiner: 'must be' or 'must not be' + var determiner; + + if (typeof expected === "string" && startsWith(expected, "not ")) { + determiner = "must not be"; + expected = expected.replace(/^not /, ""); + } else { + determiner = "must be"; + } - if (value.indexOf('_') !== -1) { - value = value.replace(/_/g, ''); - } + var msg; - ch = value[0]; + if (endsWith(name, " argument")) { + // For cases like 'first argument' + msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, "type")); + } else { + var type = includes(name, ".") ? "property" : "argument"; + msg = 'The "' + .concat(name, '" ') + .concat(type, " ") + .concat(determiner, " ") + .concat(oneOf(expected, "type")); + } - if (ch === '-' || ch === '+') { - if (ch === '-') sign = -1; - value = value.slice(1); - ch = value[0]; - } + msg += ". Received type ".concat(typeof actual); + return msg; + }, + TypeError, + ); + createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF"); + createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function (name) { + return "The " + name + " method is not implemented"; + }); + createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close"); + createErrorType("ERR_STREAM_DESTROYED", function (name) { + return "Cannot call " + name + " after a stream was destroyed"; + }); + createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times"); + createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable"); + createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end"); + createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError); + createErrorType( + "ERR_UNKNOWN_ENCODING", + function (arg) { + return "Unknown encoding: " + arg; + }, + TypeError, + ); + createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event"); + module.exports.codes = codes; + }, + {}, + ], + 178: [ + function (require, module, exports) { + (function (process) { + (function () { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + // a duplex stream is just a stream that is both readable and writable. + // Since JS doesn't have multiple prototypal inheritance, this class + // prototypally inherits from Readable, and then parasitically from + // Writable. + "use strict"; + /**/ + + var objectKeys = + Object.keys || + function (obj) { + var keys = []; + + for (var key in obj) { + keys.push(key); + } - if (value === '0') return 0; + return keys; + }; + /**/ - if (ch === '0') { - if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); - if (value[1] === 'x') return sign * parseInt(value, 16); - return sign * parseInt(value, 8); - } + module.exports = Duplex; - if (value.indexOf(':') !== -1) { - value.split(':').forEach(function (v) { - digits.unshift(parseInt(v, 10)); - }); + var Readable = require("./_stream_readable"); - value = 0; - base = 1; + var Writable = require("./_stream_writable"); - digits.forEach(function (d) { - value += (d * base); - base *= 60; - }); + require("inherits")(Duplex, Readable); - return sign * value; + { + // Allow the keys array to be GC'ed. + var keys = objectKeys(Writable.prototype); - } + for (var v = 0; v < keys.length; v++) { + var method = keys[v]; + if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; + } + } - return sign * parseInt(value, 10); -} - -function isInteger(object) { - return (Object.prototype.toString.call(object)) === '[object Number]' && - (object % 1 === 0 && !common.isNegativeZero(object)); -} - -module.exports = new Type('tag:yaml.org,2002:int', { - kind: 'scalar', - resolve: resolveYamlInteger, - construct: constructYamlInteger, - predicate: isInteger, - represent: { - binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); }, - octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); }, - decimal: function (obj) { return obj.toString(10); }, - /* eslint-disable max-len */ - hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); } - }, - defaultStyle: 'decimal', - styleAliases: { - binary: [ 2, 'bin' ], - octal: [ 8, 'oct' ], - decimal: [ 10, 'dec' ], - hexadecimal: [ 16, 'hex' ] - } -}); - -},{"../common":143,"../type":154}],159:[function(require,module,exports){ -'use strict'; - -var esprima; - -// Browserified version does not have esprima -// -// 1. For node.js just require module as deps -// 2. For browser try to require mudule via external AMD system. -// If not found - try to fallback to window.esprima. If not -// found too - then fail to parse. -// -try { - // workaround to exclude package from browserify list. - var _require = require; - esprima = _require('esprima'); -} catch (_) { - /* eslint-disable no-redeclare */ - /* global window */ - if (typeof window !== 'undefined') esprima = window.esprima; -} - -var Type = require('../../type'); - -function resolveJavascriptFunction(data) { - if (data === null) return false; - - try { - var source = '(' + data + ')', - ast = esprima.parse(source, { range: true }); - - if (ast.type !== 'Program' || - ast.body.length !== 1 || - ast.body[0].type !== 'ExpressionStatement' || - (ast.body[0].expression.type !== 'ArrowFunctionExpression' && - ast.body[0].expression.type !== 'FunctionExpression')) { - return false; - } + function Duplex(options) { + if (!(this instanceof Duplex)) return new Duplex(options); + Readable.call(this, options); + Writable.call(this, options); + this.allowHalfOpen = true; - return true; - } catch (err) { - return false; - } -} - -function constructJavascriptFunction(data) { - /*jslint evil:true*/ - - var source = '(' + data + ')', - ast = esprima.parse(source, { range: true }), - params = [], - body; - - if (ast.type !== 'Program' || - ast.body.length !== 1 || - ast.body[0].type !== 'ExpressionStatement' || - (ast.body[0].expression.type !== 'ArrowFunctionExpression' && - ast.body[0].expression.type !== 'FunctionExpression')) { - throw new Error('Failed to resolve function'); - } + if (options) { + if (options.readable === false) this.readable = false; + if (options.writable === false) this.writable = false; - ast.body[0].expression.params.forEach(function (param) { - params.push(param.name); - }); + if (options.allowHalfOpen === false) { + this.allowHalfOpen = false; + this.once("end", onend); + } + } + } - body = ast.body[0].expression.body.range; + Object.defineProperty(Duplex.prototype, "writableHighWaterMark", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.highWaterMark; + }, + }); + Object.defineProperty(Duplex.prototype, "writableBuffer", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState && this._writableState.getBuffer(); + }, + }); + Object.defineProperty(Duplex.prototype, "writableLength", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.length; + }, + }); // the no-half-open enforcer - // Esprima's ranges include the first '{' and the last '}' characters on - // function expressions. So cut them out. - if (ast.body[0].expression.body.type === 'BlockStatement') { - /*eslint-disable no-new-func*/ - return new Function(params, source.slice(body[0] + 1, body[1] - 1)); - } - // ES6 arrow functions can omit the BlockStatement. In that case, just return - // the body. - /*eslint-disable no-new-func*/ - return new Function(params, 'return ' + source.slice(body[0], body[1])); -} - -function representJavascriptFunction(object /*, style*/) { - return object.toString(); -} - -function isFunction(object) { - return Object.prototype.toString.call(object) === '[object Function]'; -} - -module.exports = new Type('tag:yaml.org,2002:js/function', { - kind: 'scalar', - resolve: resolveJavascriptFunction, - construct: constructJavascriptFunction, - predicate: isFunction, - represent: representJavascriptFunction -}); - -},{"../../type":154}],160:[function(require,module,exports){ -'use strict'; - -var Type = require('../../type'); - -function resolveJavascriptRegExp(data) { - if (data === null) return false; - if (data.length === 0) return false; - - var regexp = data, - tail = /\/([gim]*)$/.exec(data), - modifiers = ''; - - // if regexp starts with '/' it can have modifiers and must be properly closed - // `/foo/gim` - modifiers tail can be maximum 3 chars - if (regexp[0] === '/') { - if (tail) modifiers = tail[1]; - - if (modifiers.length > 3) return false; - // if expression starts with /, is should be properly terminated - if (regexp[regexp.length - modifiers.length - 1] !== '/') return false; - } + function onend() { + // If the writable side ended, then we're ok. + if (this._writableState.ended) return; // no more data can be written. + // But allow more writes to happen in this tick. - return true; -} + process.nextTick(onEndNT, this); + } -function constructJavascriptRegExp(data) { - var regexp = data, - tail = /\/([gim]*)$/.exec(data), - modifiers = ''; + function onEndNT(self) { + self.end(); + } - // `/foo/gim` - tail can be maximum 4 chars - if (regexp[0] === '/') { - if (tail) modifiers = tail[1]; - regexp = regexp.slice(1, regexp.length - modifiers.length - 1); - } + Object.defineProperty(Duplex.prototype, "destroyed", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + if (this._readableState === undefined || this._writableState === undefined) { + return false; + } - return new RegExp(regexp, modifiers); -} + return this._readableState.destroyed && this._writableState.destroyed; + }, + set: function set(value) { + // we ignore the value if the stream + // has not been initialized yet + if (this._readableState === undefined || this._writableState === undefined) { + return; + } // backward compatibility, the user is explicitly + // managing destroyed + + this._readableState.destroyed = value; + this._writableState.destroyed = value; + }, + }); + }).call(this); + }).call(this, require("_process")); + }, + { "./_stream_readable": 180, "./_stream_writable": 182, _process: 172, inherits: 139 }, + ], + 179: [ + function (require, module, exports) { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + // a passthrough stream. + // basically just the most minimal sort of Transform stream. + // Every written chunk gets output as-is. + "use strict"; + + module.exports = PassThrough; + + var Transform = require("./_stream_transform"); + + require("inherits")(PassThrough, Transform); + + function PassThrough(options) { + if (!(this instanceof PassThrough)) return new PassThrough(options); + Transform.call(this, options); + } + + PassThrough.prototype._transform = function (chunk, encoding, cb) { + cb(null, chunk); + }; + }, + { "./_stream_transform": 181, inherits: 139 }, + ], + 180: [ + function (require, module, exports) { + (function (process, global) { + (function () { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + "use strict"; + + module.exports = Readable; + /**/ + + var Duplex; + /**/ + + Readable.ReadableState = ReadableState; + /**/ + + var EE = require("events").EventEmitter; + + var EElistenerCount = function EElistenerCount(emitter, type) { + return emitter.listeners(type).length; + }; + /**/ -function representJavascriptRegExp(object /*, style*/) { - var result = '/' + object.source + '/'; + /**/ - if (object.global) result += 'g'; - if (object.multiline) result += 'm'; - if (object.ignoreCase) result += 'i'; + var Stream = require("./internal/streams/stream"); + /**/ - return result; -} + var Buffer = require("buffer").Buffer; -function isRegExp(object) { - return Object.prototype.toString.call(object) === '[object RegExp]'; -} + var OurUint8Array = global.Uint8Array || function () {}; -module.exports = new Type('tag:yaml.org,2002:js/regexp', { - kind: 'scalar', - resolve: resolveJavascriptRegExp, - construct: constructJavascriptRegExp, - predicate: isRegExp, - represent: representJavascriptRegExp -}); + function _uint8ArrayToBuffer(chunk) { + return Buffer.from(chunk); + } -},{"../../type":154}],161:[function(require,module,exports){ -'use strict'; + function _isUint8Array(obj) { + return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; + } + /**/ -var Type = require('../../type'); + var debugUtil = require("util"); -function resolveJavascriptUndefined() { - return true; -} + var debug; -function constructJavascriptUndefined() { - /*eslint-disable no-undefined*/ - return undefined; -} + if (debugUtil && debugUtil.debuglog) { + debug = debugUtil.debuglog("stream"); + } else { + debug = function debug() {}; + } + /**/ -function representJavascriptUndefined() { - return ''; -} + var BufferList = require("./internal/streams/buffer_list"); -function isUndefined(object) { - return typeof object === 'undefined'; -} + var destroyImpl = require("./internal/streams/destroy"); -module.exports = new Type('tag:yaml.org,2002:js/undefined', { - kind: 'scalar', - resolve: resolveJavascriptUndefined, - construct: constructJavascriptUndefined, - predicate: isUndefined, - represent: representJavascriptUndefined -}); + var _require = require("./internal/streams/state"), + getHighWaterMark = _require.getHighWaterMark; -},{"../../type":154}],162:[function(require,module,exports){ -'use strict'; + var _require$codes = require("../errors").codes, + ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, + ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance. -var Type = require('../type'); + var StringDecoder; + var createReadableStreamAsyncIterator; + var from; -module.exports = new Type('tag:yaml.org,2002:map', { - kind: 'mapping', - construct: function (data) { return data !== null ? data : {}; } -}); + require("inherits")(Readable, Stream); -},{"../type":154}],163:[function(require,module,exports){ -'use strict'; + var errorOrDestroy = destroyImpl.errorOrDestroy; + var kProxyEvents = ["error", "close", "destroy", "pause", "resume"]; -var Type = require('../type'); + function prependListener(emitter, event, fn) { + // Sadly this is not cacheable as some libraries bundle their own + // event emitter implementation with them. + if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any + // userland ones. NEVER DO THIS. This is here only because this code needs + // to continue to work with older versions of Node.js that do not include + // the prependListener() method. The goal is to eventually remove this hack. -function resolveYamlMerge(data) { - return data === '<<' || data === null; -} + if (!emitter._events || !emitter._events[event]) emitter.on(event, fn); + else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn); + else emitter._events[event] = [fn, emitter._events[event]]; + } -module.exports = new Type('tag:yaml.org,2002:merge', { - kind: 'scalar', - resolve: resolveYamlMerge -}); + function ReadableState(options, stream, isDuplex) { + Duplex = Duplex || require("./_stream_duplex"); + options = options || {}; // Duplex streams are both readable and writable, but share + // the same options object. + // However, some cases require setting options to different + // values for the readable and the writable sides of the duplex stream. + // These options can be provided separately as readableXXX and writableXXX. + + if (typeof isDuplex !== "boolean") isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to + // make all the buffer merging and length checks go away + + this.objectMode = !!options.objectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer + // Note: 0 is a valid value, means "don't call _read preemptively ever" + + this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex); // A linked list is used to store data chunks instead of an array because the + // linked list can remove elements from the beginning faster than + // array.shift() + + this.buffer = new BufferList(); + this.length = 0; + this.pipes = null; + this.pipesCount = 0; + this.flowing = null; + this.ended = false; + this.endEmitted = false; + this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted + // immediately, or on a later tick. We set this to true at first, because + // any actions that shouldn't happen until "later" should generally also + // not happen before the first read call. + + this.sync = true; // whenever we return null, then we set a flag to say + // that we're awaiting a 'readable' event emission. + + this.needReadable = false; + this.emittedReadable = false; + this.readableListening = false; + this.resumeScheduled = false; + this.paused = true; // Should close be emitted on destroy. Defaults to true. + + this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish') + + this.autoDestroy = !!options.autoDestroy; // has it been destroyed + + this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + + this.defaultEncoding = options.defaultEncoding || "utf8"; // the number of writers that are awaiting a drain event in .pipe()s + + this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled + + this.readingMore = false; + this.decoder = null; + this.encoding = null; + + if (options.encoding) { + if (!StringDecoder) StringDecoder = require("string_decoder/").StringDecoder; + this.decoder = new StringDecoder(options.encoding); + this.encoding = options.encoding; + } + } -},{"../type":154}],164:[function(require,module,exports){ -'use strict'; + function Readable(options) { + Duplex = Duplex || require("./_stream_duplex"); + if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside + // the ReadableState constructor, at least with V8 6.5 -var Type = require('../type'); + var isDuplex = this instanceof Duplex; + this._readableState = new ReadableState(options, this, isDuplex); // legacy -function resolveYamlNull(data) { - if (data === null) return true; + this.readable = true; - var max = data.length; + if (options) { + if (typeof options.read === "function") this._read = options.read; + if (typeof options.destroy === "function") this._destroy = options.destroy; + } - return (max === 1 && data === '~') || - (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL')); -} + Stream.call(this); + } -function constructYamlNull() { - return null; -} + Object.defineProperty(Readable.prototype, "destroyed", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + if (this._readableState === undefined) { + return false; + } -function isNull(object) { - return object === null; -} + return this._readableState.destroyed; + }, + set: function set(value) { + // we ignore the value if the stream + // has not been initialized yet + if (!this._readableState) { + return; + } // backward compatibility, the user is explicitly + // managing destroyed + + this._readableState.destroyed = value; + }, + }); + Readable.prototype.destroy = destroyImpl.destroy; + Readable.prototype._undestroy = destroyImpl.undestroy; + + Readable.prototype._destroy = function (err, cb) { + cb(err); + }; // Manually shove something into the read() buffer. + // This returns true if the highWaterMark has not been hit yet, + // similar to how Writable.write() returns true if you should + // write() some more. + + Readable.prototype.push = function (chunk, encoding) { + var state = this._readableState; + var skipChunkCheck; + + if (!state.objectMode) { + if (typeof chunk === "string") { + encoding = encoding || state.defaultEncoding; + + if (encoding !== state.encoding) { + chunk = Buffer.from(chunk, encoding); + encoding = ""; + } -module.exports = new Type('tag:yaml.org,2002:null', { - kind: 'scalar', - resolve: resolveYamlNull, - construct: constructYamlNull, - predicate: isNull, - represent: { - canonical: function () { return '~'; }, - lowercase: function () { return 'null'; }, - uppercase: function () { return 'NULL'; }, - camelcase: function () { return 'Null'; } - }, - defaultStyle: 'lowercase' -}); + skipChunkCheck = true; + } + } else { + skipChunkCheck = true; + } -},{"../type":154}],165:[function(require,module,exports){ -'use strict'; + return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); + }; // Unshift should *always* be something directly out of read() -var Type = require('../type'); + Readable.prototype.unshift = function (chunk) { + return readableAddChunk(this, chunk, null, true, false); + }; -var _hasOwnProperty = Object.prototype.hasOwnProperty; -var _toString = Object.prototype.toString; + function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { + debug("readableAddChunk", chunk); + var state = stream._readableState; + + if (chunk === null) { + state.reading = false; + onEofChunk(stream, state); + } else { + var er; + if (!skipChunkCheck) er = chunkInvalid(state, chunk); + + if (er) { + errorOrDestroy(stream, er); + } else if (state.objectMode || (chunk && chunk.length > 0)) { + if ( + typeof chunk !== "string" && + !state.objectMode && + Object.getPrototypeOf(chunk) !== Buffer.prototype + ) { + chunk = _uint8ArrayToBuffer(chunk); + } -function resolveYamlOmap(data) { - if (data === null) return true; + if (addToFront) { + if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT()); + else addChunk(stream, state, chunk, true); + } else if (state.ended) { + errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); + } else if (state.destroyed) { + return false; + } else { + state.reading = false; + + if (state.decoder && !encoding) { + chunk = state.decoder.write(chunk); + if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false); + else maybeReadMore(stream, state); + } else { + addChunk(stream, state, chunk, false); + } + } + } else if (!addToFront) { + state.reading = false; + maybeReadMore(stream, state); + } + } // We can push more data if we are below the highWaterMark. + // Also, if we have no data yet, we can stand some more bytes. + // This is to work around cases where hwm=0, such as the repl. - var objectKeys = [], index, length, pair, pairKey, pairHasKey, - object = data; + return !state.ended && (state.length < state.highWaterMark || state.length === 0); + } - for (index = 0, length = object.length; index < length; index += 1) { - pair = object[index]; - pairHasKey = false; + function addChunk(stream, state, chunk, addToFront) { + if (state.flowing && state.length === 0 && !state.sync) { + state.awaitDrain = 0; + stream.emit("data", chunk); + } else { + // update the buffer info. + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) state.buffer.unshift(chunk); + else state.buffer.push(chunk); + if (state.needReadable) emitReadable(stream); + } - if (_toString.call(pair) !== '[object Object]') return false; + maybeReadMore(stream, state); + } - for (pairKey in pair) { - if (_hasOwnProperty.call(pair, pairKey)) { - if (!pairHasKey) pairHasKey = true; - else return false; - } - } + function chunkInvalid(state, chunk) { + var er; - if (!pairHasKey) return false; + if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== undefined && !state.objectMode) { + er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk); + } - if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); - else return false; - } + return er; + } - return true; -} + Readable.prototype.isPaused = function () { + return this._readableState.flowing === false; + }; // backwards compatibility. -function constructYamlOmap(data) { - return data !== null ? data : []; -} + Readable.prototype.setEncoding = function (enc) { + if (!StringDecoder) StringDecoder = require("string_decoder/").StringDecoder; + var decoder = new StringDecoder(enc); + this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8 -module.exports = new Type('tag:yaml.org,2002:omap', { - kind: 'sequence', - resolve: resolveYamlOmap, - construct: constructYamlOmap -}); + this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers: -},{"../type":154}],166:[function(require,module,exports){ -'use strict'; + var p = this._readableState.buffer.head; + var content = ""; -var Type = require('../type'); + while (p !== null) { + content += decoder.write(p.data); + p = p.next; + } -var _toString = Object.prototype.toString; + this._readableState.buffer.clear(); + + if (content !== "") this._readableState.buffer.push(content); + this._readableState.length = content.length; + return this; + }; // Don't raise the hwm > 1GB + + var MAX_HWM = 0x40000000; + + function computeNewHighWaterMark(n) { + if (n >= MAX_HWM) { + // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE. + n = MAX_HWM; + } else { + // Get the next highest power of 2 to prevent increasing hwm excessively in + // tiny amounts + n--; + n |= n >>> 1; + n |= n >>> 2; + n |= n >>> 4; + n |= n >>> 8; + n |= n >>> 16; + n++; + } -function resolveYamlPairs(data) { - if (data === null) return true; + return n; + } // This function is designed to be inlinable, so please take care when making + // changes to the function body. - var index, length, pair, keys, result, - object = data; + function howMuchToRead(n, state) { + if (n <= 0 || (state.length === 0 && state.ended)) return 0; + if (state.objectMode) return 1; - result = new Array(object.length); + if (n !== n) { + // Only flow one buffer at a time + if (state.flowing && state.length) return state.buffer.head.data.length; + else return state.length; + } // If we're asking for more than the current hwm, then raise the hwm. - for (index = 0, length = object.length; index < length; index += 1) { - pair = object[index]; + if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); + if (n <= state.length) return n; // Don't have enough - if (_toString.call(pair) !== '[object Object]') return false; + if (!state.ended) { + state.needReadable = true; + return 0; + } - keys = Object.keys(pair); + return state.length; + } // you can override either this method, or the async _read(n) below. + + Readable.prototype.read = function (n) { + debug("read", n); + n = parseInt(n, 10); + var state = this._readableState; + var nOrig = n; + if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we + // already have a bunch of data in the buffer, then just trigger + // the 'readable' event and move on. + + if ( + n === 0 && + state.needReadable && + ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended) + ) { + debug("read: emitReadable", state.length, state.ended); + if (state.length === 0 && state.ended) endReadable(this); + else emitReadable(this); + return null; + } - if (keys.length !== 1) return false; + n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up. + + if (n === 0 && state.ended) { + if (state.length === 0) endReadable(this); + return null; + } // All the actual chunk generation logic needs to be + // *below* the call to _read. The reason is that in certain + // synthetic stream cases, such as passthrough streams, _read + // may be a completely synchronous operation which may change + // the state of the read buffer, providing enough data when + // before there was *not* enough. + // + // So, the steps are: + // 1. Figure out what the state of things will be after we do + // a read from the buffer. + // + // 2. If that resulting state will trigger a _read, then call _read. + // Note that this may be asynchronous, or synchronous. Yes, it is + // deeply ugly to write APIs this way, but that still doesn't mean + // that the Readable class should behave improperly, as streams are + // designed to be sync/async agnostic. + // Take note if the _read call is sync or async (ie, if the read call + // has returned yet), so that we know whether or not it's safe to emit + // 'readable' etc. + // + // 3. Actually pull the requested chunks out of the buffer and return. + // if we need a readable event, then we need to do some reading. + + var doRead = state.needReadable; + debug("need readable", doRead); // if we currently have less than the highWaterMark, then also read some + + if (state.length === 0 || state.length - n < state.highWaterMark) { + doRead = true; + debug("length less than watermark", doRead); + } // however, if we've ended, then there's no point, and if we're already + // reading, then it's unnecessary. + + if (state.ended || state.reading) { + doRead = false; + debug("reading or ended", doRead); + } else if (doRead) { + debug("do read"); + state.reading = true; + state.sync = true; // if the length is currently zero, then we *need* a readable event. + + if (state.length === 0) state.needReadable = true; // call internal read method + + this._read(state.highWaterMark); + + state.sync = false; // If _read pushed data synchronously, then `reading` will be false, + // and we need to re-evaluate how much data we can return to the user. + + if (!state.reading) n = howMuchToRead(nOrig, state); + } - result[index] = [ keys[0], pair[keys[0]] ]; - } + var ret; + if (n > 0) ret = fromList(n, state); + else ret = null; - return true; -} + if (ret === null) { + state.needReadable = state.length <= state.highWaterMark; + n = 0; + } else { + state.length -= n; + state.awaitDrain = 0; + } -function constructYamlPairs(data) { - if (data === null) return []; + if (state.length === 0) { + // If we have nothing in the buffer, then we want to know + // as soon as we *do* get something into the buffer. + if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick. - var index, length, pair, keys, result, - object = data; + if (nOrig !== n && state.ended) endReadable(this); + } - result = new Array(object.length); + if (ret !== null) this.emit("data", ret); + return ret; + }; - for (index = 0, length = object.length; index < length; index += 1) { - pair = object[index]; + function onEofChunk(stream, state) { + debug("onEofChunk"); + if (state.ended) return; - keys = Object.keys(pair); + if (state.decoder) { + var chunk = state.decoder.end(); - result[index] = [ keys[0], pair[keys[0]] ]; - } + if (chunk && chunk.length) { + state.buffer.push(chunk); + state.length += state.objectMode ? 1 : chunk.length; + } + } - return result; -} + state.ended = true; -module.exports = new Type('tag:yaml.org,2002:pairs', { - kind: 'sequence', - resolve: resolveYamlPairs, - construct: constructYamlPairs -}); + if (state.sync) { + // if we are sync, wait until next tick to emit the data. + // Otherwise we risk emitting data in the flow() + // the readable code triggers during a read() call + emitReadable(stream); + } else { + // emit 'readable' now to make sure it gets picked up. + state.needReadable = false; -},{"../type":154}],167:[function(require,module,exports){ -'use strict'; + if (!state.emittedReadable) { + state.emittedReadable = true; + emitReadable_(stream); + } + } + } // Don't emit readable right away in sync mode, because this can trigger + // another read() call => stack overflow. This way, it might trigger + // a nextTick recursion warning, but that's not so bad. + + function emitReadable(stream) { + var state = stream._readableState; + debug("emitReadable", state.needReadable, state.emittedReadable); + state.needReadable = false; + + if (!state.emittedReadable) { + debug("emitReadable", state.flowing); + state.emittedReadable = true; + process.nextTick(emitReadable_, stream); + } + } -var Type = require('../type'); + function emitReadable_(stream) { + var state = stream._readableState; + debug("emitReadable_", state.destroyed, state.length, state.ended); + + if (!state.destroyed && (state.length || state.ended)) { + stream.emit("readable"); + state.emittedReadable = false; + } // The stream needs another readable event if + // 1. It is not flowing, as the flow mechanism will take + // care of it. + // 2. It is not ended. + // 3. It is below the highWaterMark, so we can schedule + // another readable later. + + state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark; + flow(stream); + } // at this point, the user has presumably seen the 'readable' event, + // and called read() to consume some data. that may have triggered + // in turn another _read(n) call, in which case reading = true if + // it's in progress. + // However, if we're not ended, or reading, and the length < hwm, + // then go ahead and try to read some more preemptively. + + function maybeReadMore(stream, state) { + if (!state.readingMore) { + state.readingMore = true; + process.nextTick(maybeReadMore_, stream, state); + } + } -module.exports = new Type('tag:yaml.org,2002:seq', { - kind: 'sequence', - construct: function (data) { return data !== null ? data : []; } -}); + function maybeReadMore_(stream, state) { + // Attempt to read more data if we should. + // + // The conditions for reading more data are (one of): + // - Not enough data buffered (state.length < state.highWaterMark). The loop + // is responsible for filling the buffer with enough data if such data + // is available. If highWaterMark is 0 and we are not in the flowing mode + // we should _not_ attempt to buffer any extra data. We'll get more data + // when the stream consumer calls read() instead. + // - No data in the buffer, and the stream is in flowing mode. In this mode + // the loop below is responsible for ensuring read() is called. Failing to + // call read here would abort the flow and there's no other mechanism for + // continuing the flow if the stream consumer has just subscribed to the + // 'data' event. + // + // In addition to the above conditions to keep reading data, the following + // conditions prevent the data from being read: + // - The stream has ended (state.ended). + // - There is already a pending 'read' operation (state.reading). This is a + // case where the the stream has called the implementation defined _read() + // method, but they are processing the call asynchronously and have _not_ + // called push() with new data. In this case we skip performing more + // read()s. The execution ends in this method again after the _read() ends + // up calling push() with more data. + while ( + !state.reading && + !state.ended && + (state.length < state.highWaterMark || (state.flowing && state.length === 0)) + ) { + var len = state.length; + debug("maybeReadMore read 0"); + stream.read(0); + if (len === state.length) + // didn't get any data, stop spinning. + break; + } -},{"../type":154}],168:[function(require,module,exports){ -'use strict'; + state.readingMore = false; + } // abstract method. to be overridden in specific implementation classes. + // call cb(er, data) where data is <= n in length. + // for virtual (non-string, non-buffer) streams, "length" is somewhat + // arbitrary, and perhaps not very meaningful. -var Type = require('../type'); + Readable.prototype._read = function (n) { + errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()")); + }; -var _hasOwnProperty = Object.prototype.hasOwnProperty; + Readable.prototype.pipe = function (dest, pipeOpts) { + var src = this; + var state = this._readableState; -function resolveYamlSet(data) { - if (data === null) return true; + switch (state.pipesCount) { + case 0: + state.pipes = dest; + break; - var key, object = data; + case 1: + state.pipes = [state.pipes, dest]; + break; - for (key in object) { - if (_hasOwnProperty.call(object, key)) { - if (object[key] !== null) return false; - } - } + default: + state.pipes.push(dest); + break; + } - return true; -} + state.pipesCount += 1; + debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts); + var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; + var endFn = doEnd ? onend : unpipe; + if (state.endEmitted) process.nextTick(endFn); + else src.once("end", endFn); + dest.on("unpipe", onunpipe); + + function onunpipe(readable, unpipeInfo) { + debug("onunpipe"); + + if (readable === src) { + if (unpipeInfo && unpipeInfo.hasUnpiped === false) { + unpipeInfo.hasUnpiped = true; + cleanup(); + } + } + } -function constructYamlSet(data) { - return data !== null ? data : {}; -} + function onend() { + debug("onend"); + dest.end(); + } // when the dest drains, it reduces the awaitDrain counter + // on the source. This would be more elegant with a .once() + // handler in flow(), but adding and removing repeatedly is + // too slow. + + var ondrain = pipeOnDrain(src); + dest.on("drain", ondrain); + var cleanedUp = false; + + function cleanup() { + debug("cleanup"); // cleanup event handlers once the pipe is broken + + dest.removeListener("close", onclose); + dest.removeListener("finish", onfinish); + dest.removeListener("drain", ondrain); + dest.removeListener("error", onerror); + dest.removeListener("unpipe", onunpipe); + src.removeListener("end", onend); + src.removeListener("end", unpipe); + src.removeListener("data", ondata); + cleanedUp = true; // if the reader is waiting for a drain event from this + // specific writer, then it would cause it to never start + // flowing again. + // So, if this is awaiting a drain, then we just call it now. + // If we don't know, then assume that we are waiting for one. + + if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); + } -module.exports = new Type('tag:yaml.org,2002:set', { - kind: 'mapping', - resolve: resolveYamlSet, - construct: constructYamlSet -}); + src.on("data", ondata); + + function ondata(chunk) { + debug("ondata"); + var ret = dest.write(chunk); + debug("dest.write", ret); + + if (ret === false) { + // If the user unpiped during `dest.write()`, it is possible + // to get stuck in a permanently paused state if that write + // also returned false. + // => Check whether `dest` is still a piping destination. + if ( + ((state.pipesCount === 1 && state.pipes === dest) || + (state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1)) && + !cleanedUp + ) { + debug("false write response, pause", state.awaitDrain); + state.awaitDrain++; + } -},{"../type":154}],169:[function(require,module,exports){ -'use strict'; + src.pause(); + } + } // if the dest has an error, then stop piping into it. + // however, don't suppress the throwing behavior for this. -var Type = require('../type'); + function onerror(er) { + debug("onerror", er); + unpipe(); + dest.removeListener("error", onerror); + if (EElistenerCount(dest, "error") === 0) errorOrDestroy(dest, er); + } // Make sure our error handler is attached before userland ones. -module.exports = new Type('tag:yaml.org,2002:str', { - kind: 'scalar', - construct: function (data) { return data !== null ? data : ''; } -}); + prependListener(dest, "error", onerror); // Both close and finish should trigger unpipe, but only once. -},{"../type":154}],170:[function(require,module,exports){ -'use strict'; + function onclose() { + dest.removeListener("finish", onfinish); + unpipe(); + } -var Type = require('../type'); + dest.once("close", onclose); -var YAML_DATE_REGEXP = new RegExp( - '^([0-9][0-9][0-9][0-9])' + // [1] year - '-([0-9][0-9])' + // [2] month - '-([0-9][0-9])$'); // [3] day + function onfinish() { + debug("onfinish"); + dest.removeListener("close", onclose); + unpipe(); + } -var YAML_TIMESTAMP_REGEXP = new RegExp( - '^([0-9][0-9][0-9][0-9])' + // [1] year - '-([0-9][0-9]?)' + // [2] month - '-([0-9][0-9]?)' + // [3] day - '(?:[Tt]|[ \\t]+)' + // ... - '([0-9][0-9]?)' + // [4] hour - ':([0-9][0-9])' + // [5] minute - ':([0-9][0-9])' + // [6] second - '(?:\\.([0-9]*))?' + // [7] fraction - '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour - '(?::([0-9][0-9]))?))?$'); // [11] tz_minute + dest.once("finish", onfinish); -function resolveYamlTimestamp(data) { - if (data === null) return false; - if (YAML_DATE_REGEXP.exec(data) !== null) return true; - if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; - return false; -} + function unpipe() { + debug("unpipe"); + src.unpipe(dest); + } // tell the dest that it's being piped to -function constructYamlTimestamp(data) { - var match, year, month, day, hour, minute, second, fraction = 0, - delta = null, tz_hour, tz_minute, date; + dest.emit("pipe", src); // start the flow if it hasn't been started already. - match = YAML_DATE_REGEXP.exec(data); - if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + if (!state.flowing) { + debug("pipe resume"); + src.resume(); + } - if (match === null) throw new Error('Date resolve error'); + return dest; + }; - // match: [1] year [2] month [3] day + function pipeOnDrain(src) { + return function pipeOnDrainFunctionResult() { + var state = src._readableState; + debug("pipeOnDrain", state.awaitDrain); + if (state.awaitDrain) state.awaitDrain--; - year = +(match[1]); - month = +(match[2]) - 1; // JS month starts with 0 - day = +(match[3]); + if (state.awaitDrain === 0 && EElistenerCount(src, "data")) { + state.flowing = true; + flow(src); + } + }; + } - if (!match[4]) { // no hour - return new Date(Date.UTC(year, month, day)); - } + Readable.prototype.unpipe = function (dest) { + var state = this._readableState; + var unpipeInfo = { + hasUnpiped: false, + }; // if we're not piping anywhere, then do nothing. - // match: [4] hour [5] minute [6] second [7] fraction + if (state.pipesCount === 0) return this; // just one destination. most common case. - hour = +(match[4]); - minute = +(match[5]); - second = +(match[6]); + if (state.pipesCount === 1) { + // passed in one, but it's not the right one. + if (dest && dest !== state.pipes) return this; + if (!dest) dest = state.pipes; // got a match. - if (match[7]) { - fraction = match[7].slice(0, 3); - while (fraction.length < 3) { // milli-seconds - fraction += '0'; - } - fraction = +fraction; - } + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + if (dest) dest.emit("unpipe", this, unpipeInfo); + return this; + } // slow case. multiple pipe destinations. + + if (!dest) { + // remove all. + var dests = state.pipes; + var len = state.pipesCount; + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + + for (var i = 0; i < len; i++) { + dests[i].emit("unpipe", this, { + hasUnpiped: false, + }); + } - // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute + return this; + } // try to find the right one. + + var index = indexOf(state.pipes, dest); + if (index === -1) return this; + state.pipes.splice(index, 1); + state.pipesCount -= 1; + if (state.pipesCount === 1) state.pipes = state.pipes[0]; + dest.emit("unpipe", this, unpipeInfo); + return this; + }; // set up data events if they are asked for + // Ensure readable listeners eventually get something + + Readable.prototype.on = function (ev, fn) { + var res = Stream.prototype.on.call(this, ev, fn); + var state = this._readableState; + + if (ev === "data") { + // update readableListening so that resume() may be a no-op + // a few lines down. This is needed to support once('readable'). + state.readableListening = this.listenerCount("readable") > 0; // Try start flowing on next tick if stream isn't explicitly paused + + if (state.flowing !== false) this.resume(); + } else if (ev === "readable") { + if (!state.endEmitted && !state.readableListening) { + state.readableListening = state.needReadable = true; + state.flowing = false; + state.emittedReadable = false; + debug("on readable", state.length, state.reading); + + if (state.length) { + emitReadable(this); + } else if (!state.reading) { + process.nextTick(nReadingNextTick, this); + } + } + } - if (match[9]) { - tz_hour = +(match[10]); - tz_minute = +(match[11] || 0); - delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds - if (match[9] === '-') delta = -delta; - } + return res; + }; - date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + Readable.prototype.addListener = Readable.prototype.on; - if (delta) date.setTime(date.getTime() - delta); + Readable.prototype.removeListener = function (ev, fn) { + var res = Stream.prototype.removeListener.call(this, ev, fn); - return date; -} + if (ev === "readable") { + // We need to check if there is someone still listening to + // readable and reset the state. However this needs to happen + // after readable has been emitted but before I/O (nextTick) to + // support once('readable', fn) cycles. This means that calling + // resume within the same tick will have no + // effect. + process.nextTick(updateReadableListening, this); + } -function representYamlTimestamp(object /*, style*/) { - return object.toISOString(); -} + return res; + }; -module.exports = new Type('tag:yaml.org,2002:timestamp', { - kind: 'scalar', - resolve: resolveYamlTimestamp, - construct: constructYamlTimestamp, - instanceOf: Date, - represent: representYamlTimestamp -}); + Readable.prototype.removeAllListeners = function (ev) { + var res = Stream.prototype.removeAllListeners.apply(this, arguments); + + if (ev === "readable" || ev === undefined) { + // We need to check if there is someone still listening to + // readable and reset the state. However this needs to happen + // after readable has been emitted but before I/O (nextTick) to + // support once('readable', fn) cycles. This means that calling + // resume within the same tick will have no + // effect. + process.nextTick(updateReadableListening, this); + } -},{"../type":154}],171:[function(require,module,exports){ -'use strict'; + return res; + }; -var traverse = module.exports = function (schema, opts, cb) { - // Legacy support for v0.3.1 and earlier. - if (typeof opts == 'function') { - cb = opts; - opts = {}; - } + function updateReadableListening(self) { + var state = self._readableState; + state.readableListening = self.listenerCount("readable") > 0; - cb = opts.cb || cb; - var pre = (typeof cb == 'function') ? cb : cb.pre || function() {}; - var post = cb.post || function() {}; - - _traverse(opts, pre, post, schema, '', schema); -}; - - -traverse.keywords = { - additionalItems: true, - items: true, - contains: true, - additionalProperties: true, - propertyNames: true, - not: true, - if: true, - then: true, - else: true -}; - -traverse.arrayKeywords = { - items: true, - allOf: true, - anyOf: true, - oneOf: true -}; - -traverse.propsKeywords = { - $defs: true, - definitions: true, - properties: true, - patternProperties: true, - dependencies: true -}; - -traverse.skipKeywords = { - default: true, - enum: true, - const: true, - required: true, - maximum: true, - minimum: true, - exclusiveMaximum: true, - exclusiveMinimum: true, - multipleOf: true, - maxLength: true, - minLength: true, - pattern: true, - format: true, - maxItems: true, - minItems: true, - uniqueItems: true, - maxProperties: true, - minProperties: true -}; - - -function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) { - if (schema && typeof schema == 'object' && !Array.isArray(schema)) { - pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex); - for (var key in schema) { - var sch = schema[key]; - if (Array.isArray(sch)) { - if (key in traverse.arrayKeywords) { - for (var i=0; i 0) { + self.resume(); + } + } + function nReadingNextTick(self) { + debug("readable nexttick read 0"); + self.read(0); + } // pause() and resume() are remnants of the legacy readable stream API + // If the user uses them, then switch into old mode. -function escapeJsonPtr(str) { - return str.replace(/~/g, '~0').replace(/\//g, '~1'); -} + Readable.prototype.resume = function () { + var state = this._readableState; -},{}],172:[function(require,module,exports){ -// shim for using process in browser -var process = module.exports = {}; + if (!state.flowing) { + debug("resume"); // we flow only if there is no one listening + // for readable, but we still have to call + // resume() -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. + state.flowing = !state.readableListening; + resume(this, state); + } -var cachedSetTimeout; -var cachedClearTimeout; + state.paused = false; + return this; + }; -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -} ()) -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch(e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch(e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } + function resume(stream, state) { + if (!state.resumeScheduled) { + state.resumeScheduled = true; + process.nextTick(resume_, stream, state); + } + } + function resume_(stream, state) { + debug("resume", state.reading); -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } + if (!state.reading) { + stream.read(0); + } + state.resumeScheduled = false; + stream.emit("resume"); + flow(stream); + if (state.flowing && !state.reading) stream.read(0); + } + Readable.prototype.pause = function () { + debug("call pause flowing=%j", this._readableState.flowing); -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; + if (this._readableState.flowing !== false) { + debug("pause"); + this._readableState.flowing = false; + this.emit("pause"); + } -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} + this._readableState.paused = true; + return this; + }; -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} + function flow(stream) { + var state = stream._readableState; + debug("flow", state.flowing); -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - -},{}],173:[function(require,module,exports){ -(function (global){(function (){ -/*! https://mths.be/punycode v1.4.1 by @mathias */ -;(function(root) { - - /** Detect free variables */ - var freeExports = typeof exports == 'object' && exports && - !exports.nodeType && exports; - var freeModule = typeof module == 'object' && module && - !module.nodeType && module; - var freeGlobal = typeof global == 'object' && global; - if ( - freeGlobal.global === freeGlobal || - freeGlobal.window === freeGlobal || - freeGlobal.self === freeGlobal - ) { - root = freeGlobal; - } - - /** - * The `punycode` object. - * @name punycode - * @type Object - */ - var punycode, - - /** Highest positive signed 32-bit float value */ - maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 - - /** Bootstring parameters */ - base = 36, - tMin = 1, - tMax = 26, - skew = 38, - damp = 700, - initialBias = 72, - initialN = 128, // 0x80 - delimiter = '-', // '\x2D' - - /** Regular expressions */ - regexPunycode = /^xn--/, - regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars - regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators - - /** Error messages */ - errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' - }, - - /** Convenience shortcuts */ - baseMinusTMin = base - tMin, - floor = Math.floor, - stringFromCharCode = String.fromCharCode, - - /** Temporary variable */ - key; - - /*--------------------------------------------------------------------------*/ - - /** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ - function error(type) { - throw new RangeError(errors[type]); - } - - /** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. - */ - function map(array, fn) { - var length = array.length; - var result = []; - while (length--) { - result[length] = fn(array[length]); - } - return result; - } - - /** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ - function mapDomain(string, fn) { - var parts = string.split('@'); - var result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - var labels = string.split('.'); - var encoded = map(labels, fn).join('.'); - return result + encoded; - } - - /** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ - function ucs2decode(string) { - var output = [], - counter = 0, - length = string.length, - value, - extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // high surrogate, and there is a next character - extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { // low surrogate - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // unmatched surrogate; only append this code unit, in case the next - // code unit is the high surrogate of a surrogate pair - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - - /** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). - */ - function ucs2encode(array) { - return map(array, function(value) { - var output = ''; - if (value > 0xFFFF) { - value -= 0x10000; - output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); - value = 0xDC00 | value & 0x3FF; - } - output += stringFromCharCode(value); - return output; - }).join(''); - } - - /** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. - */ - function basicToDigit(codePoint) { - if (codePoint - 48 < 10) { - return codePoint - 22; - } - if (codePoint - 65 < 26) { - return codePoint - 65; - } - if (codePoint - 97 < 26) { - return codePoint - 97; - } - return base; - } - - /** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ - function digitToBasic(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); - } - - /** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private - */ - function adapt(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); - } - - /** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. - */ - function decode(input) { - // Don't use UCS-2 - var output = [], - inputLength = input.length, - out, - i = 0, - n = initialN, - bias = initialBias, - basic, - j, - index, - oldi, - w, - k, - digit, - t, - /** Cached calculation results */ - baseMinusT; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - - for (j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error('not-basic'); - } - output.push(input.charCodeAt(j)); - } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { - - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - for (oldi = i, w = 1, k = base; /* no condition */; k += base) { - - if (index >= inputLength) { - error('invalid-input'); - } - - digit = basicToDigit(input.charCodeAt(index++)); - - if (digit >= base || digit > floor((maxInt - i) / w)) { - error('overflow'); - } - - i += digit * w; - t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - - if (digit < t) { - break; - } - - baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error('overflow'); - } - - w *= baseMinusT; - - } - - out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error('overflow'); - } - - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output - output.splice(i++, 0, n); - - } - - return ucs2encode(output); - } - - /** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ - function encode(input) { - var n, - delta, - handledCPCount, - basicLength, - bias, - j, - m, - q, - k, - t, - currentValue, - output = [], - /** `inputLength` will hold the number of code points in `input`. */ - inputLength, - /** Cached calculation results */ - handledCPCountPlusOne, - baseMinusT, - qMinusT; - - // Convert the input in UCS-2 to Unicode - input = ucs2decode(input); - - // Cache the length - inputLength = input.length; - - // Initialize the state - n = initialN; - delta = 0; - bias = initialBias; - - // Handle the basic code points - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - handledCPCount = basicLength = output.length; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string - if it is not empty - with a delimiter - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - for (m = maxInt, j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow - handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error('overflow'); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - - if (currentValue < n && ++delta > maxInt) { - error('overflow'); - } - - if (currentValue == n) { - // Represent delta as a generalized variable-length integer - for (q = delta, k = base; /* no condition */; k += base) { - t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - if (q < t) { - break; - } - qMinusT = q - t; - baseMinusT = base - t; - output.push( - stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) - ); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - - } - return output.join(''); - } - - /** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. - */ - function toUnicode(input) { - return mapDomain(input, function(string) { - return regexPunycode.test(string) - ? decode(string.slice(4).toLowerCase()) - : string; - }); - } - - /** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ - function toASCII(input) { - return mapDomain(input, function(string) { - return regexNonASCII.test(string) - ? 'xn--' + encode(string) - : string; - }); - } - - /*--------------------------------------------------------------------------*/ - - /** Define the public API */ - punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '1.4.1', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode - }, - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode - }; - - /** Expose `punycode` */ - // Some AMD build optimizers, like r.js, check for specific condition patterns - // like the following: - if ( - typeof define == 'function' && - typeof define.amd == 'object' && - define.amd - ) { - define('punycode', function() { - return punycode; - }); - } else if (freeExports && freeModule) { - if (module.exports == freeExports) { - // in Node.js, io.js, or RingoJS v0.8.0+ - freeModule.exports = punycode; - } else { - // in Narwhal or RingoJS v0.7.0- - for (key in punycode) { - punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); - } - } - } else { - // in Rhino or a web browser - root.punycode = punycode; - } - -}(this)); - -}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{}],174:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -'use strict'; - -// If obj.hasOwnProperty has been overridden, then calling -// obj.hasOwnProperty(prop) will break. -// See: https://github.com/joyent/node/issues/1707 -function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} - -module.exports = function(qs, sep, eq, options) { - sep = sep || '&'; - eq = eq || '='; - var obj = {}; - - if (typeof qs !== 'string' || qs.length === 0) { - return obj; - } + while (state.flowing && stream.read() !== null) {} + } // wrap an old-style stream as the async data source. + // This is *not* part of the readable stream interface. + // It is an ugly unfortunate mess of history. - var regexp = /\+/g; - qs = qs.split(sep); + Readable.prototype.wrap = function (stream) { + var _this = this; - var maxKeys = 1000; - if (options && typeof options.maxKeys === 'number') { - maxKeys = options.maxKeys; - } + var state = this._readableState; + var paused = false; + stream.on("end", function () { + debug("wrapped end"); - var len = qs.length; - // maxKeys <= 0 means that we should not limit keys count - if (maxKeys > 0 && len > maxKeys) { - len = maxKeys; - } + if (state.decoder && !state.ended) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) _this.push(chunk); + } - for (var i = 0; i < len; ++i) { - var x = qs[i].replace(regexp, '%20'), - idx = x.indexOf(eq), - kstr, vstr, k, v; - - if (idx >= 0) { - kstr = x.substr(0, idx); - vstr = x.substr(idx + 1); - } else { - kstr = x; - vstr = ''; - } + _this.push(null); + }); + stream.on("data", function (chunk) { + debug("wrapped data"); + if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode - k = decodeURIComponent(kstr); - v = decodeURIComponent(vstr); + if (state.objectMode && (chunk === null || chunk === undefined)) return; + else if (!state.objectMode && (!chunk || !chunk.length)) return; - if (!hasOwnProperty(obj, k)) { - obj[k] = v; - } else if (isArray(obj[k])) { - obj[k].push(v); - } else { - obj[k] = [obj[k], v]; - } - } + var ret = _this.push(chunk); - return obj; -}; - -var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; -}; - -},{}],175:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -'use strict'; - -var stringifyPrimitive = function(v) { - switch (typeof v) { - case 'string': - return v; - - case 'boolean': - return v ? 'true' : 'false'; - - case 'number': - return isFinite(v) ? v : ''; - - default: - return ''; - } -}; + if (!ret) { + paused = true; + stream.pause(); + } + }); // proxy all the other methods. + // important when wrapping filters and duplexes. + + for (var i in stream) { + if (this[i] === undefined && typeof stream[i] === "function") { + this[i] = (function methodWrap(method) { + return function methodWrapReturnFunction() { + return stream[method].apply(stream, arguments); + }; + })(i); + } + } // proxy certain important events. -module.exports = function(obj, sep, eq, name) { - sep = sep || '&'; - eq = eq || '='; - if (obj === null) { - obj = undefined; - } + for (var n = 0; n < kProxyEvents.length; n++) { + stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); + } // when we try to consume some more bytes, simply unpause the + // underlying stream. - if (typeof obj === 'object') { - return map(objectKeys(obj), function(k) { - var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; - if (isArray(obj[k])) { - return map(obj[k], function(v) { - return ks + encodeURIComponent(stringifyPrimitive(v)); - }).join(sep); - } else { - return ks + encodeURIComponent(stringifyPrimitive(obj[k])); - } - }).join(sep); + this._read = function (n) { + debug("wrapped _read", n); - } + if (paused) { + paused = false; + stream.resume(); + } + }; - if (!name) return ''; - return encodeURIComponent(stringifyPrimitive(name)) + eq + - encodeURIComponent(stringifyPrimitive(obj)); -}; + return this; + }; -var isArray = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; -}; + if (typeof Symbol === "function") { + Readable.prototype[Symbol.asyncIterator] = function () { + if (createReadableStreamAsyncIterator === undefined) { + createReadableStreamAsyncIterator = require("./internal/streams/async_iterator"); + } -function map (xs, f) { - if (xs.map) return xs.map(f); - var res = []; - for (var i = 0; i < xs.length; i++) { - res.push(f(xs[i], i)); - } - return res; -} + return createReadableStreamAsyncIterator(this); + }; + } -var objectKeys = Object.keys || function (obj) { - var res = []; - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key); - } - return res; -}; + Object.defineProperty(Readable.prototype, "readableHighWaterMark", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState.highWaterMark; + }, + }); + Object.defineProperty(Readable.prototype, "readableBuffer", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState && this._readableState.buffer; + }, + }); + Object.defineProperty(Readable.prototype, "readableFlowing", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState.flowing; + }, + set: function set(state) { + if (this._readableState) { + this._readableState.flowing = state; + } + }, + }); // exposed for testing purposes only. + + Readable._fromList = fromList; + Object.defineProperty(Readable.prototype, "readableLength", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._readableState.length; + }, + }); // Pluck off n bytes from an array of buffers. + // Length is the combined lengths of all the buffers in the list. + // This function is designed to be inlinable, so please take care when making + // changes to the function body. + + function fromList(n, state) { + // nothing buffered + if (state.length === 0) return null; + var ret; + if (state.objectMode) ret = state.buffer.shift(); + else if (!n || n >= state.length) { + // read it all, truncate the list + if (state.decoder) ret = state.buffer.join(""); + else if (state.buffer.length === 1) ret = state.buffer.first(); + else ret = state.buffer.concat(state.length); + state.buffer.clear(); + } else { + // read part of list + ret = state.buffer.consume(n, state.decoder); + } + return ret; + } -},{}],176:[function(require,module,exports){ -'use strict'; + function endReadable(stream) { + var state = stream._readableState; + debug("endReadable", state.endEmitted); -exports.decode = exports.parse = require('./decode'); -exports.encode = exports.stringify = require('./encode'); + if (!state.endEmitted) { + state.ended = true; + process.nextTick(endReadableNT, state, stream); + } + } -},{"./decode":174,"./encode":175}],177:[function(require,module,exports){ -'use strict'; + function endReadableNT(state, stream) { + debug("endReadableNT", state.endEmitted, state.length); // Check that we didn't get one last unshift. -function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } + if (!state.endEmitted && state.length === 0) { + state.endEmitted = true; + stream.readable = false; + stream.emit("end"); -var codes = {}; + if (state.autoDestroy) { + // In case of duplex streams we need a way to detect + // if the writable side is ready for autoDestroy as well + var wState = stream._writableState; -function createErrorType(code, message, Base) { - if (!Base) { - Base = Error; - } + if (!wState || (wState.autoDestroy && wState.finished)) { + stream.destroy(); + } + } + } + } - function getMessage(arg1, arg2, arg3) { - if (typeof message === 'string') { - return message; - } else { - return message(arg1, arg2, arg3); - } - } + if (typeof Symbol === "function") { + Readable.from = function (iterable, opts) { + if (from === undefined) { + from = require("./internal/streams/from"); + } - var NodeError = - /*#__PURE__*/ - function (_Base) { - _inheritsLoose(NodeError, _Base); + return from(Readable, iterable, opts); + }; + } - function NodeError(arg1, arg2, arg3) { - return _Base.call(this, getMessage(arg1, arg2, arg3)) || this; - } + function indexOf(xs, x) { + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) return i; + } - return NodeError; - }(Base); + return -1; + } + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + { + "../errors": 177, + "./_stream_duplex": 178, + "./internal/streams/async_iterator": 183, + "./internal/streams/buffer_list": 184, + "./internal/streams/destroy": 185, + "./internal/streams/from": 187, + "./internal/streams/state": 189, + "./internal/streams/stream": 190, + _process: 172, + buffer: 132, + events: 135, + inherits: 139, + "string_decoder/": 196, + util: 131, + }, + ], + 181: [ + function (require, module, exports) { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + // a transform stream is a readable/writable stream where you do + // something with the data. Sometimes it's called a "filter", + // but that's not a great name for it, since that implies a thing where + // some bits pass through, and others are simply ignored. (That would + // be a valid example of a transform, of course.) + // + // While the output is causally related to the input, it's not a + // necessarily symmetric or synchronous transformation. For example, + // a zlib stream might take multiple plain-text writes(), and then + // emit a single compressed chunk some time in the future. + // + // Here's how this works: + // + // The Transform stream has all the aspects of the readable and writable + // stream classes. When you write(chunk), that calls _write(chunk,cb) + // internally, and returns false if there's a lot of pending writes + // buffered up. When you call read(), that calls _read(n) until + // there's enough pending readable data buffered up. + // + // In a transform stream, the written data is placed in a buffer. When + // _read(n) is called, it transforms the queued up data, calling the + // buffered _write cb's as it consumes chunks. If consuming a single + // written chunk would result in multiple output chunks, then the first + // outputted bit calls the readcb, and subsequent chunks just go into + // the read buffer, and will cause it to emit 'readable' if necessary. + // + // This way, back-pressure is actually determined by the reading side, + // since _read has to be called to start processing a new chunk. However, + // a pathological inflate type of transform can cause excessive buffering + // here. For example, imagine a stream where every byte of input is + // interpreted as an integer from 0-255, and then results in that many + // bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in + // 1kb of data being output. In this case, you could write a very small + // amount of input, and end up with a very large amount of output. In + // such a pathological inflating mechanism, there'd be no way to tell + // the system to stop doing the transform. A single 4MB write could + // cause the system to run out of memory. + // + // However, even in such a pathological case, only a single written chunk + // would be consumed, and then the rest would wait (un-transformed) until + // the results of the previous transformed chunk were consumed. + "use strict"; + + module.exports = Transform; + + var _require$codes = require("../errors").codes, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, + ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING, + ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0; + + var Duplex = require("./_stream_duplex"); + + require("inherits")(Transform, Duplex); + + function afterTransform(er, data) { + var ts = this._transformState; + ts.transforming = false; + var cb = ts.writecb; + + if (cb === null) { + return this.emit("error", new ERR_MULTIPLE_CALLBACK()); + } - NodeError.prototype.name = Base.name; - NodeError.prototype.code = code; - codes[code] = NodeError; -} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js + ts.writechunk = null; + ts.writecb = null; + if (data != null) + // single equals check for both `null` and `undefined` + this.push(data); + cb(er); + var rs = this._readableState; + rs.reading = false; + + if (rs.needReadable || rs.length < rs.highWaterMark) { + this._read(rs.highWaterMark); + } + } + function Transform(options) { + if (!(this instanceof Transform)) return new Transform(options); + Duplex.call(this, options); + this._transformState = { + afterTransform: afterTransform.bind(this), + needTransform: false, + transforming: false, + writecb: null, + writechunk: null, + writeencoding: null, + }; // start out asking for a readable event once data is transformed. -function oneOf(expected, thing) { - if (Array.isArray(expected)) { - var len = expected.length; - expected = expected.map(function (i) { - return String(i); - }); + this._readableState.needReadable = true; // we have implemented the _read method, and done the other things + // that Readable wants before the first _read call, so unset the + // sync guard flag. - if (len > 2) { - return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(', '), ", or ") + expected[len - 1]; - } else if (len === 2) { - return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]); - } else { - return "of ".concat(thing, " ").concat(expected[0]); - } - } else { - return "of ".concat(thing, " ").concat(String(expected)); - } -} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith + this._readableState.sync = false; + if (options) { + if (typeof options.transform === "function") this._transform = options.transform; + if (typeof options.flush === "function") this._flush = options.flush; + } // When the writable side finishes, then flush out anything remaining. -function startsWith(str, search, pos) { - return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search; -} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith + this.on("prefinish", prefinish); + } + function prefinish() { + var _this = this; -function endsWith(str, search, this_len) { - if (this_len === undefined || this_len > str.length) { - this_len = str.length; - } + if (typeof this._flush === "function" && !this._readableState.destroyed) { + this._flush(function (er, data) { + done(_this, er, data); + }); + } else { + done(this, null, null); + } + } - return str.substring(this_len - search.length, this_len) === search; -} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes + Transform.prototype.push = function (chunk, encoding) { + this._transformState.needTransform = false; + return Duplex.prototype.push.call(this, chunk, encoding); + }; // This is the part where you do stuff! + // override this function in implementation classes. + // 'chunk' is an input chunk. + // + // Call `push(newChunk)` to pass along transformed output + // to the readable side. You may call 'push' zero or more times. + // + // Call `cb(err)` when you are done with this chunk. If you pass + // an error, then that'll put the hurt on the whole operation. If you + // never call cb(), then you'll never get another chunk. + + Transform.prototype._transform = function (chunk, encoding, cb) { + cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()")); + }; + Transform.prototype._write = function (chunk, encoding, cb) { + var ts = this._transformState; + ts.writecb = cb; + ts.writechunk = chunk; + ts.writeencoding = encoding; -function includes(str, search, start) { - if (typeof start !== 'number') { - start = 0; - } + if (!ts.transforming) { + var rs = this._readableState; + if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); + } + }; // Doesn't matter what the args are here. + // _transform does all the work. + // That we got here means that the readable side wants more data. - if (start + search.length > str.length) { - return false; - } else { - return str.indexOf(search, start) !== -1; - } -} - -createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) { - return 'The value "' + value + '" is invalid for option "' + name + '"'; -}, TypeError); -createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) { - // determiner: 'must be' or 'must not be' - var determiner; - - if (typeof expected === 'string' && startsWith(expected, 'not ')) { - determiner = 'must not be'; - expected = expected.replace(/^not /, ''); - } else { - determiner = 'must be'; - } + Transform.prototype._read = function (n) { + var ts = this._transformState; - var msg; + if (ts.writechunk !== null && !ts.transforming) { + ts.transforming = true; - if (endsWith(name, ' argument')) { - // For cases like 'first argument' - msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, 'type')); - } else { - var type = includes(name, '.') ? 'property' : 'argument'; - msg = "The \"".concat(name, "\" ").concat(type, " ").concat(determiner, " ").concat(oneOf(expected, 'type')); - } + this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); + } else { + // mark that we need a transform, so that any data that comes in + // will get processed, now that we've asked for it. + ts.needTransform = true; + } + }; - msg += ". Received type ".concat(typeof actual); - return msg; -}, TypeError); -createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF'); -createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) { - return 'The ' + name + ' method is not implemented'; -}); -createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close'); -createErrorType('ERR_STREAM_DESTROYED', function (name) { - return 'Cannot call ' + name + ' after a stream was destroyed'; -}); -createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times'); -createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable'); -createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end'); -createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError); -createErrorType('ERR_UNKNOWN_ENCODING', function (arg) { - return 'Unknown encoding: ' + arg; -}, TypeError); -createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event'); -module.exports.codes = codes; - -},{}],178:[function(require,module,exports){ -(function (process){(function (){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -// a duplex stream is just a stream that is both readable and writable. -// Since JS doesn't have multiple prototypal inheritance, this class -// prototypally inherits from Readable, and then parasitically from -// Writable. -'use strict'; -/**/ - -var objectKeys = Object.keys || function (obj) { - var keys = []; - - for (var key in obj) { - keys.push(key); - } + Transform.prototype._destroy = function (err, cb) { + Duplex.prototype._destroy.call(this, err, function (err2) { + cb(err2); + }); + }; - return keys; -}; -/**/ + function done(stream, er, data) { + if (er) return stream.emit("error", er); + if (data != null) + // single equals check for both `null` and `undefined` + stream.push(data); // TODO(BridgeAR): Write a test for these two error cases + // if there's nothing in the write buffer, then that means + // that nothing more will ever be provided + if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0(); + if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING(); + return stream.push(null); + } + }, + { "../errors": 177, "./_stream_duplex": 178, inherits: 139 }, + ], + 182: [ + function (require, module, exports) { + (function (process, global) { + (function () { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + // A bit simpler than readable streams. + // Implement an async ._write(chunk, encoding, cb), and it'll handle all + // the drain event emission and buffering. + "use strict"; + + module.exports = Writable; + /* */ + + function WriteReq(chunk, encoding, cb) { + this.chunk = chunk; + this.encoding = encoding; + this.callback = cb; + this.next = null; + } // It seems a linked list but it is not + // there will be only 2 of these for each stream + + function CorkedRequest(state) { + var _this = this; + + this.next = null; + this.entry = null; + + this.finish = function () { + onCorkedFinish(_this, state); + }; + } + /* */ -module.exports = Duplex; + /**/ -var Readable = require('./_stream_readable'); + var Duplex; + /**/ -var Writable = require('./_stream_writable'); + Writable.WritableState = WritableState; + /**/ -require('inherits')(Duplex, Readable); + var internalUtil = { + deprecate: require("util-deprecate"), + }; + /**/ -{ - // Allow the keys array to be GC'ed. - var keys = objectKeys(Writable.prototype); + /**/ - for (var v = 0; v < keys.length; v++) { - var method = keys[v]; - if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; - } -} + var Stream = require("./internal/streams/stream"); + /**/ -function Duplex(options) { - if (!(this instanceof Duplex)) return new Duplex(options); - Readable.call(this, options); - Writable.call(this, options); - this.allowHalfOpen = true; + var Buffer = require("buffer").Buffer; - if (options) { - if (options.readable === false) this.readable = false; - if (options.writable === false) this.writable = false; + var OurUint8Array = global.Uint8Array || function () {}; - if (options.allowHalfOpen === false) { - this.allowHalfOpen = false; - this.once('end', onend); - } - } -} - -Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.highWaterMark; - } -}); -Object.defineProperty(Duplex.prototype, 'writableBuffer', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState && this._writableState.getBuffer(); - } -}); -Object.defineProperty(Duplex.prototype, 'writableLength', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.length; - } -}); // the no-half-open enforcer - -function onend() { - // If the writable side ended, then we're ok. - if (this._writableState.ended) return; // no more data can be written. - // But allow more writes to happen in this tick. - - process.nextTick(onEndNT, this); -} - -function onEndNT(self) { - self.end(); -} - -Object.defineProperty(Duplex.prototype, 'destroyed', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - if (this._readableState === undefined || this._writableState === undefined) { - return false; - } + function _uint8ArrayToBuffer(chunk) { + return Buffer.from(chunk); + } - return this._readableState.destroyed && this._writableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (this._readableState === undefined || this._writableState === undefined) { - return; - } // backward compatibility, the user is explicitly - // managing destroyed + function _isUint8Array(obj) { + return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; + } + var destroyImpl = require("./internal/streams/destroy"); - this._readableState.destroyed = value; - this._writableState.destroyed = value; - } -}); -}).call(this)}).call(this,require('_process')) - -},{"./_stream_readable":180,"./_stream_writable":182,"_process":172,"inherits":139}],179:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. -'use strict'; - -module.exports = PassThrough; - -var Transform = require('./_stream_transform'); - -require('inherits')(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - Transform.call(this, options); -} - -PassThrough.prototype._transform = function (chunk, encoding, cb) { - cb(null, chunk); -}; -},{"./_stream_transform":181,"inherits":139}],180:[function(require,module,exports){ -(function (process,global){(function (){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -'use strict'; - -module.exports = Readable; -/**/ - -var Duplex; -/**/ - -Readable.ReadableState = ReadableState; -/**/ - -var EE = require('events').EventEmitter; - -var EElistenerCount = function EElistenerCount(emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -/**/ - - -var Stream = require('./internal/streams/stream'); -/**/ - - -var Buffer = require('buffer').Buffer; - -var OurUint8Array = global.Uint8Array || function () {}; - -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} - -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} -/**/ - - -var debugUtil = require('util'); - -var debug; - -if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog('stream'); -} else { - debug = function debug() {}; -} -/**/ - - -var BufferList = require('./internal/streams/buffer_list'); - -var destroyImpl = require('./internal/streams/destroy'); + var _require = require("./internal/streams/state"), + getHighWaterMark = _require.getHighWaterMark; -var _require = require('./internal/streams/state'), - getHighWaterMark = _require.getHighWaterMark; + var _require$codes = require("../errors").codes, + ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, + ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE, + ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED, + ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES, + ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END, + ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING; -var _require$codes = require('../errors').codes, - ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, - ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF, - ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, - ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance. + var errorOrDestroy = destroyImpl.errorOrDestroy; + require("inherits")(Writable, Stream); -var StringDecoder; -var createReadableStreamAsyncIterator; -var from; + function nop() {} -require('inherits')(Readable, Stream); + function WritableState(options, stream, isDuplex) { + Duplex = Duplex || require("./_stream_duplex"); + options = options || {}; // Duplex streams are both readable and writable, but share + // the same options object. + // However, some cases require setting options to different + // values for the readable and the writable sides of the duplex stream, + // e.g. options.readableObjectMode vs. options.writableObjectMode, etc. -var errorOrDestroy = destroyImpl.errorOrDestroy; -var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; + if (typeof isDuplex !== "boolean") isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream + // contains buffers or objects. -function prependListener(emitter, event, fn) { - // Sadly this is not cacheable as some libraries bundle their own - // event emitter implementation with them. - if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any - // userland ones. NEVER DO THIS. This is here only because this code needs - // to continue to work with older versions of Node.js that do not include - // the prependListener() method. The goal is to eventually remove this hack. + this.objectMode = !!options.objectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false + // Note: 0 is a valid value, means that we always return false if + // the entire buffer is not flushed immediately on write() - if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; -} + this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex); // if _final has been called -function ReadableState(options, stream, isDuplex) { - Duplex = Duplex || require('./_stream_duplex'); - options = options || {}; // Duplex streams are both readable and writable, but share - // the same options object. - // However, some cases require setting options to different - // values for the readable and the writable sides of the duplex stream. - // These options can be provided separately as readableXXX and writableXXX. + this.finalCalled = false; // drain event flag. - if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away + this.needDrain = false; // at the start of calling end() - this.objectMode = !!options.objectMode; - if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" + this.ending = false; // when end() has been called, and returned - this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the - // linked list can remove elements from the beginning faster than - // array.shift() + this.ended = false; // when 'finish' is emitted - this.buffer = new BufferList(); - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted - // immediately, or on a later tick. We set this to true at first, because - // any actions that shouldn't happen until "later" should generally also - // not happen before the first read call. + this.finished = false; // has it been destroyed - this.sync = true; // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. + this.destroyed = false; // should we decode strings into buffers before passing to _write? + // this is here so that some node-core streams can optimize string + // handling at a lower level. - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - this.paused = true; // Should close be emitted on destroy. Defaults to true. + var noDecode = options.decodeStrings === false; + this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. - this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish') + this.defaultEncoding = options.defaultEncoding || "utf8"; // not an actual buffer we keep track of, but a measurement + // of how much we're waiting to get pushed to some underlying + // socket or file. - this.autoDestroy = !!options.autoDestroy; // has it been destroyed + this.length = 0; // a flag to see when we're in the middle of a write. - this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. + this.writing = false; // when true all writes will be buffered until .uncork() call - this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s + this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately, + // or on a later tick. We set this to true at first, because any + // actions that shouldn't happen until "later" should generally also + // not happen before the first write call. - this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled + this.sync = true; // a flag to know if we're processing previously buffered items, which + // may call the _write() callback in the same tick, so that we don't + // end up in an overlapped onwrite situation. - this.readingMore = false; - this.decoder = null; - this.encoding = null; + this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb) - if (options.encoding) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} + this.onwrite = function (er) { + onwrite(stream, er); + }; // the callback that the user supplies to write(chunk,encoding,cb) -function Readable(options) { - Duplex = Duplex || require('./_stream_duplex'); - if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside - // the ReadableState constructor, at least with V8 6.5 + this.writecb = null; // the amount that is being written when _write is called. - var isDuplex = this instanceof Duplex; - this._readableState = new ReadableState(options, this, isDuplex); // legacy + this.writelen = 0; + this.bufferedRequest = null; + this.lastBufferedRequest = null; // number of pending user-supplied write callbacks + // this must be 0 before 'finish' can be emitted - this.readable = true; + this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs + // This is relevant for synchronous Transform streams - if (options) { - if (typeof options.read === 'function') this._read = options.read; - if (typeof options.destroy === 'function') this._destroy = options.destroy; - } + this.prefinished = false; // True if the error was already emitted and should not be thrown again - Stream.call(this); -} - -Object.defineProperty(Readable.prototype, 'destroyed', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - if (this._readableState === undefined) { - return false; - } + this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true. - return this._readableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._readableState) { - return; - } // backward compatibility, the user is explicitly - // managing destroyed + this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end') + this.autoDestroy = !!options.autoDestroy; // count buffered requests - this._readableState.destroyed = value; - } -}); -Readable.prototype.destroy = destroyImpl.destroy; -Readable.prototype._undestroy = destroyImpl.undestroy; + this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always + // one allocated and free to use, and we maintain at most two -Readable.prototype._destroy = function (err, cb) { - cb(err); -}; // Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. + this.corkedRequestsFree = new CorkedRequest(this); + } + WritableState.prototype.getBuffer = function getBuffer() { + var current = this.bufferedRequest; + var out = []; -Readable.prototype.push = function (chunk, encoding) { - var state = this._readableState; - var skipChunkCheck; + while (current) { + out.push(current); + current = current.next; + } - if (!state.objectMode) { - if (typeof chunk === 'string') { - encoding = encoding || state.defaultEncoding; + return out; + }; - if (encoding !== state.encoding) { - chunk = Buffer.from(chunk, encoding); - encoding = ''; - } + (function () { + try { + Object.defineProperty(WritableState.prototype, "buffer", { + get: internalUtil.deprecate( + function writableStateBufferGetter() { + return this.getBuffer(); + }, + "_writableState.buffer is deprecated. Use _writableState.getBuffer " + "instead.", + "DEP0003", + ), + }); + } catch (_) {} + })(); // Test _writableState for inheritance to account for Duplex streams, + // whose prototype chain only points to Readable. + + var realHasInstance; + + if ( + typeof Symbol === "function" && + Symbol.hasInstance && + typeof Function.prototype[Symbol.hasInstance] === "function" + ) { + realHasInstance = Function.prototype[Symbol.hasInstance]; + Object.defineProperty(Writable, Symbol.hasInstance, { + value: function value(object) { + if (realHasInstance.call(this, object)) return true; + if (this !== Writable) return false; + return object && object._writableState instanceof WritableState; + }, + }); + } else { + realHasInstance = function realHasInstance(object) { + return object instanceof this; + }; + } - skipChunkCheck = true; - } - } else { - skipChunkCheck = true; - } + function Writable(options) { + Duplex = Duplex || require("./_stream_duplex"); // Writable ctor is applied to Duplexes, too. + // `realHasInstance` is necessary because using plain `instanceof` + // would return false, as no `_writableState` property is attached. + // Trying to use the custom `instanceof` for Writable here will also break the + // Node.js LazyTransform implementation, which has a non-trivial getter for + // `_writableState` that would lead to infinite recursion. + // Checking for a Stream.Duplex instance is faster here instead of inside + // the WritableState constructor, at least with V8 6.5 + + var isDuplex = this instanceof Duplex; + if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options); + this._writableState = new WritableState(options, this, isDuplex); // legacy. + + this.writable = true; + + if (options) { + if (typeof options.write === "function") this._write = options.write; + if (typeof options.writev === "function") this._writev = options.writev; + if (typeof options.destroy === "function") this._destroy = options.destroy; + if (typeof options.final === "function") this._final = options.final; + } - return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); -}; // Unshift should *always* be something directly out of read() + Stream.call(this); + } // Otherwise people can pipe Writable streams, which is just wrong. + Writable.prototype.pipe = function () { + errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); + }; -Readable.prototype.unshift = function (chunk) { - return readableAddChunk(this, chunk, null, true, false); -}; + function writeAfterEnd(stream, cb) { + var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb -function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { - debug('readableAddChunk', chunk); - var state = stream._readableState; + errorOrDestroy(stream, er); + process.nextTick(cb, er); + } // Checks that a user-supplied chunk is valid, especially for the particular + // mode the stream is in. Currently this means that `null` is never accepted + // and undefined/non-string values are only allowed in object mode. - if (chunk === null) { - state.reading = false; - onEofChunk(stream, state); - } else { - var er; - if (!skipChunkCheck) er = chunkInvalid(state, chunk); + function validChunk(stream, state, chunk, cb) { + var er; - if (er) { - errorOrDestroy(stream, er); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { - chunk = _uint8ArrayToBuffer(chunk); - } + if (chunk === null) { + er = new ERR_STREAM_NULL_VALUES(); + } else if (typeof chunk !== "string" && !state.objectMode) { + er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk); + } - if (addToFront) { - if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true); - } else if (state.ended) { - errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF()); - } else if (state.destroyed) { - return false; - } else { - state.reading = false; - - if (state.decoder && !encoding) { - chunk = state.decoder.write(chunk); - if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); - } else { - addChunk(stream, state, chunk, false); - } - } - } else if (!addToFront) { - state.reading = false; - maybeReadMore(stream, state); - } - } // We can push more data if we are below the highWaterMark. - // Also, if we have no data yet, we can stand some more bytes. - // This is to work around cases where hwm=0, such as the repl. - - - return !state.ended && (state.length < state.highWaterMark || state.length === 0); -} - -function addChunk(stream, state, chunk, addToFront) { - if (state.flowing && state.length === 0 && !state.sync) { - state.awaitDrain = 0; - stream.emit('data', chunk); - } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); - if (state.needReadable) emitReadable(stream); - } + if (er) { + errorOrDestroy(stream, er); + process.nextTick(cb, er); + return false; + } - maybeReadMore(stream, state); -} + return true; + } -function chunkInvalid(state, chunk) { - var er; + Writable.prototype.write = function (chunk, encoding, cb) { + var state = this._writableState; + var ret = false; - if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk); - } + var isBuf = !state.objectMode && _isUint8Array(chunk); - return er; -} + if (isBuf && !Buffer.isBuffer(chunk)) { + chunk = _uint8ArrayToBuffer(chunk); + } -Readable.prototype.isPaused = function () { - return this._readableState.flowing === false; -}; // backwards compatibility. + if (typeof encoding === "function") { + cb = encoding; + encoding = null; + } + if (isBuf) encoding = "buffer"; + else if (!encoding) encoding = state.defaultEncoding; + if (typeof cb !== "function") cb = nop; + if (state.ending) writeAfterEnd(this, cb); + else if (isBuf || validChunk(this, state, chunk, cb)) { + state.pendingcb++; + ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); + } + return ret; + }; -Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder; - var decoder = new StringDecoder(enc); - this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8 + Writable.prototype.cork = function () { + this._writableState.corked++; + }; - this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers: + Writable.prototype.uncork = function () { + var state = this._writableState; - var p = this._readableState.buffer.head; - var content = ''; + if (state.corked) { + state.corked--; + if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) + clearBuffer(this, state); + } + }; - while (p !== null) { - content += decoder.write(p.data); - p = p.next; - } + Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { + // node::ParseEncoding() requires lower case. + if (typeof encoding === "string") encoding = encoding.toLowerCase(); + if ( + !( + [ + "hex", + "utf8", + "utf-8", + "ascii", + "binary", + "base64", + "ucs2", + "ucs-2", + "utf16le", + "utf-16le", + "raw", + ].indexOf((encoding + "").toLowerCase()) > -1 + ) + ) + throw new ERR_UNKNOWN_ENCODING(encoding); + this._writableState.defaultEncoding = encoding; + return this; + }; - this._readableState.buffer.clear(); - - if (content !== '') this._readableState.buffer.push(content); - this._readableState.length = content.length; - return this; -}; // Don't raise the hwm > 1GB - - -var MAX_HWM = 0x40000000; - -function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE. - n = MAX_HWM; - } else { - // Get the next highest power of 2 to prevent increasing hwm excessively in - // tiny amounts - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } + Object.defineProperty(Writable.prototype, "writableBuffer", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState && this._writableState.getBuffer(); + }, + }); - return n; -} // This function is designed to be inlinable, so please take care when making -// changes to the function body. + function decodeChunk(state, chunk, encoding) { + if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") { + chunk = Buffer.from(chunk, encoding); + } + return chunk; + } -function howMuchToRead(n, state) { - if (n <= 0 || state.length === 0 && state.ended) return 0; - if (state.objectMode) return 1; + Object.defineProperty(Writable.prototype, "writableHighWaterMark", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.highWaterMark; + }, + }); // if we're already writing something, then just put this + // in the queue, and wait our turn. Otherwise, call _write + // If we return false, then we need a drain event, so set that flag. + + function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { + if (!isBuf) { + var newChunk = decodeChunk(state, chunk, encoding); + + if (chunk !== newChunk) { + isBuf = true; + encoding = "buffer"; + chunk = newChunk; + } + } - if (n !== n) { - // Only flow one buffer at a time - if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; - } // If we're asking for more than the current hwm, then raise the hwm. + var len = state.objectMode ? 1 : chunk.length; + state.length += len; + var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false. + if (!ret) state.needDrain = true; - if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); - if (n <= state.length) return n; // Don't have enough + if (state.writing || state.corked) { + var last = state.lastBufferedRequest; + state.lastBufferedRequest = { + chunk: chunk, + encoding: encoding, + isBuf: isBuf, + callback: cb, + next: null, + }; - if (!state.ended) { - state.needReadable = true; - return 0; - } + if (last) { + last.next = state.lastBufferedRequest; + } else { + state.bufferedRequest = state.lastBufferedRequest; + } - return state.length; -} // you can override either this method, or the async _read(n) below. + state.bufferedRequestCount += 1; + } else { + doWrite(stream, state, false, len, chunk, encoding, cb); + } + return ret; + } -Readable.prototype.read = function (n) { - debug('read', n); - n = parseInt(n, 10); - var state = this._readableState; - var nOrig = n; - if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. + function doWrite(stream, state, writev, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write")); + else if (writev) stream._writev(chunk, state.onwrite); + else stream._write(chunk, encoding, state.onwrite); + state.sync = false; + } - if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) { - debug('read: emitReadable', state.length, state.ended); - if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); - return null; - } + function onwriteError(stream, state, sync, er, cb) { + --state.pendingcb; + + if (sync) { + // defer the callback if we are being called synchronously + // to avoid piling up things on the stack + process.nextTick(cb, er); // this can emit finish, and it will always happen + // after error + + process.nextTick(finishMaybe, stream, state); + stream._writableState.errorEmitted = true; + errorOrDestroy(stream, er); + } else { + // the caller expect this to happen before if + // it is async + cb(er); + stream._writableState.errorEmitted = true; + errorOrDestroy(stream, er); // this can emit finish, but finish must + // always follow error + + finishMaybe(stream, state); + } + } - n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up. - - if (n === 0 && state.ended) { - if (state.length === 0) endReadable(this); - return null; - } // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - // if we need a readable event, then we need to do some reading. - - - var doRead = state.needReadable; - debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some - - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug('length less than watermark', doRead); - } // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - - - if (state.ended || state.reading) { - doRead = false; - debug('reading or ended', doRead); - } else if (doRead) { - debug('do read'); - state.reading = true; - state.sync = true; // if the length is currently zero, then we *need* a readable event. - - if (state.length === 0) state.needReadable = true; // call internal read method - - this._read(state.highWaterMark); - - state.sync = false; // If _read pushed data synchronously, then `reading` will be false, - // and we need to re-evaluate how much data we can return to the user. - - if (!state.reading) n = howMuchToRead(nOrig, state); - } + function onwriteStateUpdate(state) { + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; + } - var ret; - if (n > 0) ret = fromList(n, state);else ret = null; + function onwrite(stream, er) { + var state = stream._writableState; + var sync = state.sync; + var cb = state.writecb; + if (typeof cb !== "function") throw new ERR_MULTIPLE_CALLBACK(); + onwriteStateUpdate(state); + if (er) onwriteError(stream, state, sync, er, cb); + else { + // Check if we're actually ready to finish, but don't emit yet + var finished = needFinish(state) || stream.destroyed; + + if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { + clearBuffer(stream, state); + } - if (ret === null) { - state.needReadable = state.length <= state.highWaterMark; - n = 0; - } else { - state.length -= n; - state.awaitDrain = 0; - } + if (sync) { + process.nextTick(afterWrite, stream, state, finished, cb); + } else { + afterWrite(stream, state, finished, cb); + } + } + } - if (state.length === 0) { - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick. + function afterWrite(stream, state, finished, cb) { + if (!finished) onwriteDrain(stream, state); + state.pendingcb--; + cb(); + finishMaybe(stream, state); + } // Must force callback to be called on nextTick, so that we don't + // emit 'drain' before the write() consumer gets the 'false' return + // value, and has a chance to attach a 'drain' listener. + + function onwriteDrain(stream, state) { + if (state.length === 0 && state.needDrain) { + state.needDrain = false; + stream.emit("drain"); + } + } // if there's something in the buffer waiting, then process it + + function clearBuffer(stream, state) { + state.bufferProcessing = true; + var entry = state.bufferedRequest; + + if (stream._writev && entry && entry.next) { + // Fast case, write everything using _writev() + var l = state.bufferedRequestCount; + var buffer = new Array(l); + var holder = state.corkedRequestsFree; + holder.entry = entry; + var count = 0; + var allBuffers = true; + + while (entry) { + buffer[count] = entry; + if (!entry.isBuf) allBuffers = false; + entry = entry.next; + count += 1; + } - if (nOrig !== n && state.ended) endReadable(this); - } + buffer.allBuffers = allBuffers; + doWrite(stream, state, true, state.length, buffer, "", holder.finish); // doWrite is almost always async, defer these to save a bit of time + // as the hot path ends with doWrite - if (ret !== null) this.emit('data', ret); - return ret; -}; + state.pendingcb++; + state.lastBufferedRequest = null; -function onEofChunk(stream, state) { - debug('onEofChunk'); - if (state.ended) return; + if (holder.next) { + state.corkedRequestsFree = holder.next; + holder.next = null; + } else { + state.corkedRequestsFree = new CorkedRequest(state); + } - if (state.decoder) { - var chunk = state.decoder.end(); + state.bufferedRequestCount = 0; + } else { + // Slow case, write chunks one-by-one + while (entry) { + var chunk = entry.chunk; + var encoding = entry.encoding; + var cb = entry.callback; + var len = state.objectMode ? 1 : chunk.length; + doWrite(stream, state, false, len, chunk, encoding, cb); + entry = entry.next; + state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then + // it means that we need to wait until it does. + // also, that means that the chunk and cb are currently + // being processed, so move the buffer counter past them. + + if (state.writing) { + break; + } + } - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } + if (entry === null) state.lastBufferedRequest = null; + } - state.ended = true; + state.bufferedRequest = entry; + state.bufferProcessing = false; + } - if (state.sync) { - // if we are sync, wait until next tick to emit the data. - // Otherwise we risk emitting data in the flow() - // the readable code triggers during a read() call - emitReadable(stream); - } else { - // emit 'readable' now to make sure it gets picked up. - state.needReadable = false; + Writable.prototype._write = function (chunk, encoding, cb) { + cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()")); + }; - if (!state.emittedReadable) { - state.emittedReadable = true; - emitReadable_(stream); - } - } -} // Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. + Writable.prototype._writev = null; + Writable.prototype.end = function (chunk, encoding, cb) { + var state = this._writableState; -function emitReadable(stream) { - var state = stream._readableState; - debug('emitReadable', state.needReadable, state.emittedReadable); - state.needReadable = false; + if (typeof chunk === "function") { + cb = chunk; + chunk = null; + encoding = null; + } else if (typeof encoding === "function") { + cb = encoding; + encoding = null; + } - if (!state.emittedReadable) { - debug('emitReadable', state.flowing); - state.emittedReadable = true; - process.nextTick(emitReadable_, stream); - } -} - -function emitReadable_(stream) { - var state = stream._readableState; - debug('emitReadable_', state.destroyed, state.length, state.ended); - - if (!state.destroyed && (state.length || state.ended)) { - stream.emit('readable'); - state.emittedReadable = false; - } // The stream needs another readable event if - // 1. It is not flowing, as the flow mechanism will take - // care of it. - // 2. It is not ended. - // 3. It is below the highWaterMark, so we can schedule - // another readable later. - - - state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark; - flow(stream); -} // at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. - - -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - process.nextTick(maybeReadMore_, stream, state); - } -} - -function maybeReadMore_(stream, state) { - // Attempt to read more data if we should. - // - // The conditions for reading more data are (one of): - // - Not enough data buffered (state.length < state.highWaterMark). The loop - // is responsible for filling the buffer with enough data if such data - // is available. If highWaterMark is 0 and we are not in the flowing mode - // we should _not_ attempt to buffer any extra data. We'll get more data - // when the stream consumer calls read() instead. - // - No data in the buffer, and the stream is in flowing mode. In this mode - // the loop below is responsible for ensuring read() is called. Failing to - // call read here would abort the flow and there's no other mechanism for - // continuing the flow if the stream consumer has just subscribed to the - // 'data' event. - // - // In addition to the above conditions to keep reading data, the following - // conditions prevent the data from being read: - // - The stream has ended (state.ended). - // - There is already a pending 'read' operation (state.reading). This is a - // case where the the stream has called the implementation defined _read() - // method, but they are processing the call asynchronously and have _not_ - // called push() with new data. In this case we skip performing more - // read()s. The execution ends in this method again after the _read() ends - // up calling push() with more data. - while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) { - var len = state.length; - debug('maybeReadMore read 0'); - stream.read(0); - if (len === state.length) // didn't get any data, stop spinning. - break; - } + if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks - state.readingMore = false; -} // abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. + if (state.corked) { + state.corked = 1; + this.uncork(); + } // ignore unnecessary end() calls. + if (!state.ending) endWritable(this, state, cb); + return this; + }; -Readable.prototype._read = function (n) { - errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()')); -}; + Object.defineProperty(Writable.prototype, "writableLength", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + return this._writableState.length; + }, + }); -Readable.prototype.pipe = function (dest, pipeOpts) { - var src = this; - var state = this._readableState; + function needFinish(state) { + return ( + state.ending && + state.length === 0 && + state.bufferedRequest === null && + !state.finished && + !state.writing + ); + } - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; + function callFinal(stream, state) { + stream._final(function (err) { + state.pendingcb--; - case 1: - state.pipes = [state.pipes, dest]; - break; + if (err) { + errorOrDestroy(stream, err); + } - default: - state.pipes.push(dest); - break; - } + state.prefinished = true; + stream.emit("prefinish"); + finishMaybe(stream, state); + }); + } - state.pipesCount += 1; - debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - var endFn = doEnd ? onend : unpipe; - if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn); - dest.on('unpipe', onunpipe); + function prefinish(stream, state) { + if (!state.prefinished && !state.finalCalled) { + if (typeof stream._final === "function" && !state.destroyed) { + state.pendingcb++; + state.finalCalled = true; + process.nextTick(callFinal, stream, state); + } else { + state.prefinished = true; + stream.emit("prefinish"); + } + } + } - function onunpipe(readable, unpipeInfo) { - debug('onunpipe'); + function finishMaybe(stream, state) { + var need = needFinish(state); - if (readable === src) { - if (unpipeInfo && unpipeInfo.hasUnpiped === false) { - unpipeInfo.hasUnpiped = true; - cleanup(); - } - } - } + if (need) { + prefinish(stream, state); - function onend() { - debug('onend'); - dest.end(); - } // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - - - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - var cleanedUp = false; - - function cleanup() { - debug('cleanup'); // cleanup event handlers once the pipe is broken - - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', unpipe); - src.removeListener('data', ondata); - cleanedUp = true; // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); - } + if (state.pendingcb === 0) { + state.finished = true; + stream.emit("finish"); - src.on('data', ondata); - - function ondata(chunk) { - debug('ondata'); - var ret = dest.write(chunk); - debug('dest.write', ret); - - if (ret === false) { - // If the user unpiped during `dest.write()`, it is possible - // to get stuck in a permanently paused state if that write - // also returned false. - // => Check whether `dest` is still a piping destination. - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug('false write response, pause', state.awaitDrain); - state.awaitDrain++; - } + if (state.autoDestroy) { + // In case of duplex streams we need a way to detect + // if the readable side is ready for autoDestroy as well + var rState = stream._readableState; - src.pause(); - } - } // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. + if (!rState || (rState.autoDestroy && rState.endEmitted)) { + stream.destroy(); + } + } + } + } + return need; + } - function onerror(er) { - debug('onerror', er); - unpipe(); - dest.removeListener('error', onerror); - if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er); - } // Make sure our error handler is attached before userland ones. + function endWritable(stream, state, cb) { + state.ending = true; + finishMaybe(stream, state); + if (cb) { + if (state.finished) process.nextTick(cb); + else stream.once("finish", cb); + } - prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once. + state.ended = true; + stream.writable = false; + } - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } + function onCorkedFinish(corkReq, state, err) { + var entry = corkReq.entry; + corkReq.entry = null; - dest.once('close', onclose); + while (entry) { + var cb = entry.callback; + state.pendingcb--; + cb(err); + entry = entry.next; + } // reuse the free corkReq. - function onfinish() { - debug('onfinish'); - dest.removeListener('close', onclose); - unpipe(); - } + state.corkedRequestsFree.next = corkReq; + } - dest.once('finish', onfinish); + Object.defineProperty(Writable.prototype, "destroyed", { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function get() { + if (this._writableState === undefined) { + return false; + } - function unpipe() { - debug('unpipe'); - src.unpipe(dest); - } // tell the dest that it's being piped to + return this._writableState.destroyed; + }, + set: function set(value) { + // we ignore the value if the stream + // has not been initialized yet + if (!this._writableState) { + return; + } // backward compatibility, the user is explicitly + // managing destroyed + + this._writableState.destroyed = value; + }, + }); + Writable.prototype.destroy = destroyImpl.destroy; + Writable.prototype._undestroy = destroyImpl.undestroy; + Writable.prototype._destroy = function (err, cb) { + cb(err); + }; + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + { + "../errors": 177, + "./_stream_duplex": 178, + "./internal/streams/destroy": 185, + "./internal/streams/state": 189, + "./internal/streams/stream": 190, + _process: 172, + buffer: 132, + inherits: 139, + "util-deprecate": 201, + }, + ], + 183: [ + function (require, module, exports) { + (function (process) { + (function () { + "use strict"; + + var _Object$setPrototypeO; + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } - dest.emit('pipe', src); // start the flow if it hasn't been started already. + var finished = require("./end-of-stream"); + + var kLastResolve = Symbol("lastResolve"); + var kLastReject = Symbol("lastReject"); + var kError = Symbol("error"); + var kEnded = Symbol("ended"); + var kLastPromise = Symbol("lastPromise"); + var kHandlePromise = Symbol("handlePromise"); + var kStream = Symbol("stream"); + + function createIterResult(value, done) { + return { + value: value, + done: done, + }; + } - if (!state.flowing) { - debug('pipe resume'); - src.resume(); - } + function readAndResolve(iter) { + var resolve = iter[kLastResolve]; - return dest; -}; + if (resolve !== null) { + var data = iter[kStream].read(); // we defer if data is null + // we can be expecting either 'end' or + // 'error' -function pipeOnDrain(src) { - return function pipeOnDrainFunctionResult() { - var state = src._readableState; - debug('pipeOnDrain', state.awaitDrain); - if (state.awaitDrain) state.awaitDrain--; + if (data !== null) { + iter[kLastPromise] = null; + iter[kLastResolve] = null; + iter[kLastReject] = null; + resolve(createIterResult(data, false)); + } + } + } - if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { - state.flowing = true; - flow(src); - } - }; -} - -Readable.prototype.unpipe = function (dest) { - var state = this._readableState; - var unpipeInfo = { - hasUnpiped: false - }; // if we're not piping anywhere, then do nothing. - - if (state.pipesCount === 0) return this; // just one destination. most common case. - - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) return this; - if (!dest) dest = state.pipes; // got a match. - - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) dest.emit('unpipe', this, unpipeInfo); - return this; - } // slow case. multiple pipe destinations. - - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - - for (var i = 0; i < len; i++) { - dests[i].emit('unpipe', this, { - hasUnpiped: false - }); - } + function onReadable(iter) { + // we wait for the next tick, because it might + // emit an error with process.nextTick + process.nextTick(readAndResolve, iter); + } - return this; - } // try to find the right one. - - - var index = indexOf(state.pipes, dest); - if (index === -1) return this; - state.pipes.splice(index, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) state.pipes = state.pipes[0]; - dest.emit('unpipe', this, unpipeInfo); - return this; -}; // set up data events if they are asked for -// Ensure readable listeners eventually get something - - -Readable.prototype.on = function (ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - var state = this._readableState; - - if (ev === 'data') { - // update readableListening so that resume() may be a no-op - // a few lines down. This is needed to support once('readable'). - state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused - - if (state.flowing !== false) this.resume(); - } else if (ev === 'readable') { - if (!state.endEmitted && !state.readableListening) { - state.readableListening = state.needReadable = true; - state.flowing = false; - state.emittedReadable = false; - debug('on readable', state.length, state.reading); - - if (state.length) { - emitReadable(this); - } else if (!state.reading) { - process.nextTick(nReadingNextTick, this); - } - } - } + function wrapForNext(lastPromise, iter) { + return function (resolve, reject) { + lastPromise.then(function () { + if (iter[kEnded]) { + resolve(createIterResult(undefined, true)); + return; + } - return res; -}; + iter[kHandlePromise](resolve, reject); + }, reject); + }; + } -Readable.prototype.addListener = Readable.prototype.on; + var AsyncIteratorPrototype = Object.getPrototypeOf(function () {}); + var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf( + ((_Object$setPrototypeO = { + get stream() { + return this[kStream]; + }, -Readable.prototype.removeListener = function (ev, fn) { - var res = Stream.prototype.removeListener.call(this, ev, fn); + next: function next() { + var _this = this; - if (ev === 'readable') { - // We need to check if there is someone still listening to - // readable and reset the state. However this needs to happen - // after readable has been emitted but before I/O (nextTick) to - // support once('readable', fn) cycles. This means that calling - // resume within the same tick will have no - // effect. - process.nextTick(updateReadableListening, this); - } + // if we have detected an error in the meanwhile + // reject straight away + var error = this[kError]; - return res; -}; + if (error !== null) { + return Promise.reject(error); + } -Readable.prototype.removeAllListeners = function (ev) { - var res = Stream.prototype.removeAllListeners.apply(this, arguments); + if (this[kEnded]) { + return Promise.resolve(createIterResult(undefined, true)); + } - if (ev === 'readable' || ev === undefined) { - // We need to check if there is someone still listening to - // readable and reset the state. However this needs to happen - // after readable has been emitted but before I/O (nextTick) to - // support once('readable', fn) cycles. This means that calling - // resume within the same tick will have no - // effect. - process.nextTick(updateReadableListening, this); - } + if (this[kStream].destroyed) { + // We need to defer via nextTick because if .destroy(err) is + // called, the error will be emitted via nextTick, and + // we cannot guarantee that there is no error lingering around + // waiting to be emitted. + return new Promise(function (resolve, reject) { + process.nextTick(function () { + if (_this[kError]) { + reject(_this[kError]); + } else { + resolve(createIterResult(undefined, true)); + } + }); + }); + } // if we have multiple next() calls + // we will wait for the previous Promise to finish + // this logic is optimized to support for await loops, + // where next() is only called once at a time + + var lastPromise = this[kLastPromise]; + var promise; + + if (lastPromise) { + promise = new Promise(wrapForNext(lastPromise, this)); + } else { + // fast path needed to support multiple this.push() + // without triggering the next() queue + var data = this[kStream].read(); + + if (data !== null) { + return Promise.resolve(createIterResult(data, false)); + } - return res; -}; + promise = new Promise(this[kHandlePromise]); + } -function updateReadableListening(self) { - var state = self._readableState; - state.readableListening = self.listenerCount('readable') > 0; + this[kLastPromise] = promise; + return promise; + }, + }), + _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () { + return this; + }), + _defineProperty(_Object$setPrototypeO, "return", function _return() { + var _this2 = this; + + // destroy(err, cb) is a private API + // we can guarantee we have that here, because we control the + // Readable class this is attached to + return new Promise(function (resolve, reject) { + _this2[kStream].destroy(null, function (err) { + if (err) { + reject(err); + return; + } - if (state.resumeScheduled && !state.paused) { - // flowing needs to be set to true now, otherwise - // the upcoming resume will not flow. - state.flowing = true; // crude way to check if we should resume - } else if (self.listenerCount('data') > 0) { - self.resume(); - } -} + resolve(createIterResult(undefined, true)); + }); + }); + }), + _Object$setPrototypeO), + AsyncIteratorPrototype, + ); + + var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) { + var _Object$create; + + var iterator = Object.create( + ReadableStreamAsyncIteratorPrototype, + ((_Object$create = {}), + _defineProperty(_Object$create, kStream, { + value: stream, + writable: true, + }), + _defineProperty(_Object$create, kLastResolve, { + value: null, + writable: true, + }), + _defineProperty(_Object$create, kLastReject, { + value: null, + writable: true, + }), + _defineProperty(_Object$create, kError, { + value: null, + writable: true, + }), + _defineProperty(_Object$create, kEnded, { + value: stream._readableState.endEmitted, + writable: true, + }), + _defineProperty(_Object$create, kHandlePromise, { + value: function value(resolve, reject) { + var data = iterator[kStream].read(); + + if (data) { + iterator[kLastPromise] = null; + iterator[kLastResolve] = null; + iterator[kLastReject] = null; + resolve(createIterResult(data, false)); + } else { + iterator[kLastResolve] = resolve; + iterator[kLastReject] = reject; + } + }, + writable: true, + }), + _Object$create), + ); + iterator[kLastPromise] = null; + finished(stream, function (err) { + if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") { + var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise + // returned by next() and store the error + + if (reject !== null) { + iterator[kLastPromise] = null; + iterator[kLastResolve] = null; + iterator[kLastReject] = null; + reject(err); + } -function nReadingNextTick(self) { - debug('readable nexttick read 0'); - self.read(0); -} // pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. + iterator[kError] = err; + return; + } + var resolve = iterator[kLastResolve]; -Readable.prototype.resume = function () { - var state = this._readableState; + if (resolve !== null) { + iterator[kLastPromise] = null; + iterator[kLastResolve] = null; + iterator[kLastReject] = null; + resolve(createIterResult(undefined, true)); + } - if (!state.flowing) { - debug('resume'); // we flow only if there is no one listening - // for readable, but we still have to call - // resume() + iterator[kEnded] = true; + }); + stream.on("readable", onReadable.bind(null, iterator)); + return iterator; + }; - state.flowing = !state.readableListening; - resume(this, state); - } + module.exports = createReadableStreamAsyncIterator; + }).call(this); + }).call(this, require("_process")); + }, + { "./end-of-stream": 186, _process: 172 }, + ], + 184: [ + function (require, module, exports) { + "use strict"; + + function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) + symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + return keys; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + return target; + } - state.paused = false; - return this; -}; + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); + } else { + obj[key] = value; + } + return obj; + } -function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - process.nextTick(resume_, stream, state); - } -} + function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + } -function resume_(stream, state) { - debug('resume', state.reading); + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } - if (!state.reading) { - stream.read(0); - } + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } - state.resumeScheduled = false; - stream.emit('resume'); - flow(stream); - if (state.flowing && !state.reading) stream.read(0); -} + var _require = require("buffer"), + Buffer = _require.Buffer; -Readable.prototype.pause = function () { - debug('call pause flowing=%j', this._readableState.flowing); + var _require2 = require("util"), + inspect = _require2.inspect; - if (this._readableState.flowing !== false) { - debug('pause'); - this._readableState.flowing = false; - this.emit('pause'); - } + var custom = (inspect && inspect.custom) || "inspect"; - this._readableState.paused = true; - return this; -}; + function copyBuffer(src, target, offset) { + Buffer.prototype.copy.call(src, target, offset); + } -function flow(stream) { - var state = stream._readableState; - debug('flow', state.flowing); + module.exports = + /*#__PURE__*/ + (function () { + function BufferList() { + _classCallCheck(this, BufferList); - while (state.flowing && stream.read() !== null) { - ; - } -} // wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. + this.head = null; + this.tail = null; + this.length = 0; + } + _createClass(BufferList, [ + { + key: "push", + value: function push(v) { + var entry = { + data: v, + next: null, + }; + if (this.length > 0) this.tail.next = entry; + else this.head = entry; + this.tail = entry; + ++this.length; + }, + }, + { + key: "unshift", + value: function unshift(v) { + var entry = { + data: v, + next: this.head, + }; + if (this.length === 0) this.tail = entry; + this.head = entry; + ++this.length; + }, + }, + { + key: "shift", + value: function shift() { + if (this.length === 0) return; + var ret = this.head.data; + if (this.length === 1) this.head = this.tail = null; + else this.head = this.head.next; + --this.length; + return ret; + }, + }, + { + key: "clear", + value: function clear() { + this.head = this.tail = null; + this.length = 0; + }, + }, + { + key: "join", + value: function join(s) { + if (this.length === 0) return ""; + var p = this.head; + var ret = "" + p.data; + + while ((p = p.next)) { + ret += s + p.data; + } -Readable.prototype.wrap = function (stream) { - var _this = this; + return ret; + }, + }, + { + key: "concat", + value: function concat(n) { + if (this.length === 0) return Buffer.alloc(0); + var ret = Buffer.allocUnsafe(n >>> 0); + var p = this.head; + var i = 0; + + while (p) { + copyBuffer(p.data, ret, i); + i += p.data.length; + p = p.next; + } - var state = this._readableState; - var paused = false; - stream.on('end', function () { - debug('wrapped end'); + return ret; + }, // Consumes a specified amount of bytes or characters from the buffered data. + }, + { + key: "consume", + value: function consume(n, hasStrings) { + var ret; + + if (n < this.head.data.length) { + // `slice` is the same for buffers and strings. + ret = this.head.data.slice(0, n); + this.head.data = this.head.data.slice(n); + } else if (n === this.head.data.length) { + // First chunk is a perfect match. + ret = this.shift(); + } else { + // Result spans more than one buffer. + ret = hasStrings ? this._getString(n) : this._getBuffer(n); + } - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) _this.push(chunk); - } + return ret; + }, + }, + { + key: "first", + value: function first() { + return this.head.data; + }, // Consumes a specified amount of characters from the buffered data. + }, + { + key: "_getString", + value: function _getString(n) { + var p = this.head; + var c = 1; + var ret = p.data; + n -= ret.length; + + while ((p = p.next)) { + var str = p.data; + var nb = n > str.length ? str.length : n; + if (nb === str.length) ret += str; + else ret += str.slice(0, n); + n -= nb; + + if (n === 0) { + if (nb === str.length) { + ++c; + if (p.next) this.head = p.next; + else this.head = this.tail = null; + } else { + this.head = p; + p.data = str.slice(nb); + } + + break; + } - _this.push(null); - }); - stream.on('data', function (chunk) { - debug('wrapped data'); - if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode + ++c; + } - if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; + this.length -= c; + return ret; + }, // Consumes a specified amount of bytes from the buffered data. + }, + { + key: "_getBuffer", + value: function _getBuffer(n) { + var ret = Buffer.allocUnsafe(n); + var p = this.head; + var c = 1; + p.data.copy(ret); + n -= p.data.length; + + while ((p = p.next)) { + var buf = p.data; + var nb = n > buf.length ? buf.length : n; + buf.copy(ret, ret.length - n, 0, nb); + n -= nb; + + if (n === 0) { + if (nb === buf.length) { + ++c; + if (p.next) this.head = p.next; + else this.head = this.tail = null; + } else { + this.head = p; + p.data = buf.slice(nb); + } + + break; + } - var ret = _this.push(chunk); + ++c; + } - if (!ret) { - paused = true; - stream.pause(); - } - }); // proxy all the other methods. - // important when wrapping filters and duplexes. - - for (var i in stream) { - if (this[i] === undefined && typeof stream[i] === 'function') { - this[i] = function methodWrap(method) { - return function methodWrapReturnFunction() { - return stream[method].apply(stream, arguments); - }; - }(i); - } - } // proxy certain important events. + this.length -= c; + return ret; + }, // Make sure the linked list only shows the minimal necessary information. + }, + { + key: custom, + value: function value(_, options) { + return inspect( + this, + _objectSpread({}, options, { + // Only inspect one level. + depth: 0, + // It should not recurse. + customInspect: false, + }), + ); + }, + }, + ]); + return BufferList; + })(); + }, + { buffer: 132, util: 131 }, + ], + 185: [ + function (require, module, exports) { + (function (process) { + (function () { + "use strict"; // undocumented cb() API, needed for core, not for public API + + function destroy(err, cb) { + var _this = this; + + var readableDestroyed = this._readableState && this._readableState.destroyed; + var writableDestroyed = this._writableState && this._writableState.destroyed; + + if (readableDestroyed || writableDestroyed) { + if (cb) { + cb(err); + } else if (err) { + if (!this._writableState) { + process.nextTick(emitErrorNT, this, err); + } else if (!this._writableState.errorEmitted) { + this._writableState.errorEmitted = true; + process.nextTick(emitErrorNT, this, err); + } + } - for (var n = 0; n < kProxyEvents.length; n++) { - stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); - } // when we try to consume some more bytes, simply unpause the - // underlying stream. + return this; + } // we set destroyed to true before firing error callbacks in order + // to make it re-entrance safe in case destroy() is called within callbacks + if (this._readableState) { + this._readableState.destroyed = true; + } // if this is a duplex stream mark the writable part as destroyed as well - this._read = function (n) { - debug('wrapped _read', n); + if (this._writableState) { + this._writableState.destroyed = true; + } - if (paused) { - paused = false; - stream.resume(); - } - }; + this._destroy(err || null, function (err) { + if (!cb && err) { + if (!_this._writableState) { + process.nextTick(emitErrorAndCloseNT, _this, err); + } else if (!_this._writableState.errorEmitted) { + _this._writableState.errorEmitted = true; + process.nextTick(emitErrorAndCloseNT, _this, err); + } else { + process.nextTick(emitCloseNT, _this); + } + } else if (cb) { + process.nextTick(emitCloseNT, _this); + cb(err); + } else { + process.nextTick(emitCloseNT, _this); + } + }); - return this; -}; + return this; + } -if (typeof Symbol === 'function') { - Readable.prototype[Symbol.asyncIterator] = function () { - if (createReadableStreamAsyncIterator === undefined) { - createReadableStreamAsyncIterator = require('./internal/streams/async_iterator'); - } + function emitErrorAndCloseNT(self, err) { + emitErrorNT(self, err); + emitCloseNT(self); + } - return createReadableStreamAsyncIterator(this); - }; -} - -Object.defineProperty(Readable.prototype, 'readableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState.highWaterMark; - } -}); -Object.defineProperty(Readable.prototype, 'readableBuffer', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState && this._readableState.buffer; - } -}); -Object.defineProperty(Readable.prototype, 'readableFlowing', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState.flowing; - }, - set: function set(state) { - if (this._readableState) { - this._readableState.flowing = state; - } - } -}); // exposed for testing purposes only. - -Readable._fromList = fromList; -Object.defineProperty(Readable.prototype, 'readableLength', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._readableState.length; - } -}); // Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. - -function fromList(n, state) { - // nothing buffered - if (state.length === 0) return null; - var ret; - if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { - // read it all, truncate the list - if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length); - state.buffer.clear(); - } else { - // read part of list - ret = state.buffer.consume(n, state.decoder); - } - return ret; -} + function emitCloseNT(self) { + if (self._writableState && !self._writableState.emitClose) return; + if (self._readableState && !self._readableState.emitClose) return; + self.emit("close"); + } -function endReadable(stream) { - var state = stream._readableState; - debug('endReadable', state.endEmitted); + function undestroy() { + if (this._readableState) { + this._readableState.destroyed = false; + this._readableState.reading = false; + this._readableState.ended = false; + this._readableState.endEmitted = false; + } - if (!state.endEmitted) { - state.ended = true; - process.nextTick(endReadableNT, state, stream); - } -} + if (this._writableState) { + this._writableState.destroyed = false; + this._writableState.ended = false; + this._writableState.ending = false; + this._writableState.finalCalled = false; + this._writableState.prefinished = false; + this._writableState.finished = false; + this._writableState.errorEmitted = false; + } + } -function endReadableNT(state, stream) { - debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift. + function emitErrorNT(self, err) { + self.emit("error", err); + } - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); + function errorOrDestroy(stream, err) { + // We have tests that rely on errors being emitted + // in the same tick, so changing this is semver major. + // For now when you opt-in to autoDestroy we allow + // the error to be emitted nextTick. In a future + // semver major update we should change the default to this. + var rState = stream._readableState; + var wState = stream._writableState; + if ((rState && rState.autoDestroy) || (wState && wState.autoDestroy)) stream.destroy(err); + else stream.emit("error", err); + } - if (state.autoDestroy) { - // In case of duplex streams we need a way to detect - // if the writable side is ready for autoDestroy as well - var wState = stream._writableState; + module.exports = { + destroy: destroy, + undestroy: undestroy, + errorOrDestroy: errorOrDestroy, + }; + }).call(this); + }).call(this, require("_process")); + }, + { _process: 172 }, + ], + 186: [ + function (require, module, exports) { + // Ported from https://github.com/mafintosh/end-of-stream with + // permission from the author, Mathias Buus (@mafintosh). + "use strict"; + + var ERR_STREAM_PREMATURE_CLOSE = require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE; + + function once(callback) { + var called = false; + return function () { + if (called) return; + called = true; + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } - if (!wState || wState.autoDestroy && wState.finished) { - stream.destroy(); - } - } - } -} + callback.apply(this, args); + }; + } -if (typeof Symbol === 'function') { - Readable.from = function (iterable, opts) { - if (from === undefined) { - from = require('./internal/streams/from'); - } + function noop() {} - return from(Readable, iterable, opts); - }; -} + function isRequest(stream) { + return stream.setHeader && typeof stream.abort === "function"; + } -function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } + function eos(stream, opts, callback) { + if (typeof opts === "function") return eos(stream, null, opts); + if (!opts) opts = {}; + callback = once(callback || noop); + var readable = opts.readable || (opts.readable !== false && stream.readable); + var writable = opts.writable || (opts.writable !== false && stream.writable); - return -1; -} -}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"../errors":177,"./_stream_duplex":178,"./internal/streams/async_iterator":183,"./internal/streams/buffer_list":184,"./internal/streams/destroy":185,"./internal/streams/from":187,"./internal/streams/state":189,"./internal/streams/stream":190,"_process":172,"buffer":132,"events":135,"inherits":139,"string_decoder/":196,"util":131}],181:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. -'use strict'; - -module.exports = Transform; - -var _require$codes = require('../errors').codes, - ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, - ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, - ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING, - ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0; - -var Duplex = require('./_stream_duplex'); - -require('inherits')(Transform, Duplex); - -function afterTransform(er, data) { - var ts = this._transformState; - ts.transforming = false; - var cb = ts.writecb; - - if (cb === null) { - return this.emit('error', new ERR_MULTIPLE_CALLBACK()); - } + var onlegacyfinish = function onlegacyfinish() { + if (!stream.writable) onfinish(); + }; - ts.writechunk = null; - ts.writecb = null; - if (data != null) // single equals check for both `null` and `undefined` - this.push(data); - cb(er); - var rs = this._readableState; - rs.reading = false; + var writableEnded = stream._writableState && stream._writableState.finished; - if (rs.needReadable || rs.length < rs.highWaterMark) { - this._read(rs.highWaterMark); - } -} - -function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); - Duplex.call(this, options); - this._transformState = { - afterTransform: afterTransform.bind(this), - needTransform: false, - transforming: false, - writecb: null, - writechunk: null, - writeencoding: null - }; // start out asking for a readable event once data is transformed. - - this._readableState.needReadable = true; // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - - this._readableState.sync = false; - - if (options) { - if (typeof options.transform === 'function') this._transform = options.transform; - if (typeof options.flush === 'function') this._flush = options.flush; - } // When the writable side finishes, then flush out anything remaining. - - - this.on('prefinish', prefinish); -} - -function prefinish() { - var _this = this; - - if (typeof this._flush === 'function' && !this._readableState.destroyed) { - this._flush(function (er, data) { - done(_this, er, data); - }); - } else { - done(this, null, null); - } -} - -Transform.prototype.push = function (chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; // This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. - - -Transform.prototype._transform = function (chunk, encoding, cb) { - cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()')); -}; - -Transform.prototype._write = function (chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); - } -}; // Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. + var onfinish = function onfinish() { + writable = false; + writableEnded = true; + if (!readable) callback.call(stream); + }; + var readableEnded = stream._readableState && stream._readableState.endEmitted; -Transform.prototype._read = function (n) { - var ts = this._transformState; + var onend = function onend() { + readable = false; + readableEnded = true; + if (!writable) callback.call(stream); + }; - if (ts.writechunk !== null && !ts.transforming) { - ts.transforming = true; + var onerror = function onerror(err) { + callback.call(stream, err); + }; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - -Transform.prototype._destroy = function (err, cb) { - Duplex.prototype._destroy.call(this, err, function (err2) { - cb(err2); - }); -}; - -function done(stream, er, data) { - if (er) return stream.emit('error', er); - if (data != null) // single equals check for both `null` and `undefined` - stream.push(data); // TODO(BridgeAR): Write a test for these two error cases - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - - if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0(); - if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING(); - return stream.push(null); -} -},{"../errors":177,"./_stream_duplex":178,"inherits":139}],182:[function(require,module,exports){ -(function (process,global){(function (){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -// A bit simpler than readable streams. -// Implement an async ._write(chunk, encoding, cb), and it'll handle all -// the drain event emission and buffering. -'use strict'; - -module.exports = Writable; -/* */ - -function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; - this.next = null; -} // It seems a linked list but it is not -// there will be only 2 of these for each stream - - -function CorkedRequest(state) { - var _this = this; - - this.next = null; - this.entry = null; - - this.finish = function () { - onCorkedFinish(_this, state); - }; -} -/* */ - -/**/ + var onclose = function onclose() { + var err; + if (readable && !readableEnded) { + if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); + return callback.call(stream, err); + } -var Duplex; -/**/ - -Writable.WritableState = WritableState; -/**/ + if (writable && !writableEnded) { + if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); + return callback.call(stream, err); + } + }; + + var onrequest = function onrequest() { + stream.req.on("finish", onfinish); + }; + + if (isRequest(stream)) { + stream.on("complete", onfinish); + stream.on("abort", onclose); + if (stream.req) onrequest(); + else stream.on("request", onrequest); + } else if (writable && !stream._writableState) { + // legacy streams + stream.on("end", onlegacyfinish); + stream.on("close", onlegacyfinish); + } -var internalUtil = { - deprecate: require('util-deprecate') -}; -/**/ + stream.on("end", onend); + stream.on("finish", onfinish); + if (opts.error !== false) stream.on("error", onerror); + stream.on("close", onclose); + return function () { + stream.removeListener("complete", onfinish); + stream.removeListener("abort", onclose); + stream.removeListener("request", onrequest); + if (stream.req) stream.req.removeListener("finish", onfinish); + stream.removeListener("end", onlegacyfinish); + stream.removeListener("close", onlegacyfinish); + stream.removeListener("finish", onfinish); + stream.removeListener("end", onend); + stream.removeListener("error", onerror); + stream.removeListener("close", onclose); + }; + } + + module.exports = eos; + }, + { "../../../errors": 177 }, + ], + 187: [ + function (require, module, exports) { + module.exports = function () { + throw new Error("Readable.from is not available in the browser"); + }; + }, + {}, + ], + 188: [ + function (require, module, exports) { + // Ported from https://github.com/mafintosh/pump with + // permission from the author, Mathias Buus (@mafintosh). + "use strict"; + + var eos; + + function once(callback) { + var called = false; + return function () { + if (called) return; + called = true; + callback.apply(void 0, arguments); + }; + } + + var _require$codes = require("../../../errors").codes, + ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, + ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED; + + function noop(err) { + // Rethrow the error if it exists to avoid swallowing it + if (err) throw err; + } + + function isRequest(stream) { + return stream.setHeader && typeof stream.abort === "function"; + } + + function destroyer(stream, reading, writing, callback) { + callback = once(callback); + var closed = false; + stream.on("close", function () { + closed = true; + }); + if (eos === undefined) eos = require("./end-of-stream"); + eos( + stream, + { + readable: reading, + writable: writing, + }, + function (err) { + if (err) return callback(err); + closed = true; + callback(); + }, + ); + var destroyed = false; + return function (err) { + if (closed) return; + if (destroyed) return; + destroyed = true; // request.destroy just do .end - .abort is what we want -/**/ + if (isRequest(stream)) return stream.abort(); + if (typeof stream.destroy === "function") return stream.destroy(); + callback(err || new ERR_STREAM_DESTROYED("pipe")); + }; + } -var Stream = require('./internal/streams/stream'); -/**/ + function call(fn) { + fn(); + } + function pipe(from, to) { + return from.pipe(to); + } -var Buffer = require('buffer').Buffer; + function popCallback(streams) { + if (!streams.length) return noop; + if (typeof streams[streams.length - 1] !== "function") return noop; + return streams.pop(); + } -var OurUint8Array = global.Uint8Array || function () {}; + function pipeline() { + for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) { + streams[_key] = arguments[_key]; + } -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} + var callback = popCallback(streams); + if (Array.isArray(streams[0])) streams = streams[0]; -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} + if (streams.length < 2) { + throw new ERR_MISSING_ARGS("streams"); + } -var destroyImpl = require('./internal/streams/destroy'); + var error; + var destroys = streams.map(function (stream, i) { + var reading = i < streams.length - 1; + var writing = i > 0; + return destroyer(stream, reading, writing, function (err) { + if (!error) error = err; + if (err) destroys.forEach(call); + if (reading) return; + destroys.forEach(call); + callback(error); + }); + }); + return streams.reduce(pipe); + } -var _require = require('./internal/streams/state'), - getHighWaterMark = _require.getHighWaterMark; + module.exports = pipeline; + }, + { "../../../errors": 177, "./end-of-stream": 186 }, + ], + 189: [ + function (require, module, exports) { + "use strict"; -var _require$codes = require('../errors').codes, - ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, - ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, - ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, - ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE, - ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED, - ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES, - ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END, - ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING; + var ERR_INVALID_OPT_VALUE = require("../../../errors").codes.ERR_INVALID_OPT_VALUE; -var errorOrDestroy = destroyImpl.errorOrDestroy; + function highWaterMarkFrom(options, isDuplex, duplexKey) { + return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null; + } -require('inherits')(Writable, Stream); + function getHighWaterMark(state, options, duplexKey, isDuplex) { + var hwm = highWaterMarkFrom(options, isDuplex, duplexKey); -function nop() {} + if (hwm != null) { + if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) { + var name = isDuplex ? duplexKey : "highWaterMark"; + throw new ERR_INVALID_OPT_VALUE(name, hwm); + } -function WritableState(options, stream, isDuplex) { - Duplex = Duplex || require('./_stream_duplex'); - options = options || {}; // Duplex streams are both readable and writable, but share - // the same options object. - // However, some cases require setting options to different - // values for the readable and the writable sides of the duplex stream, - // e.g. options.readableObjectMode vs. options.writableObjectMode, etc. + return Math.floor(hwm); + } // Default value - if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream - // contains buffers or objects. + return state.objectMode ? 16 : 16 * 1024; + } - this.objectMode = !!options.objectMode; - if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false - // Note: 0 is a valid value, means that we always return false if - // the entire buffer is not flushed immediately on write() + module.exports = { + getHighWaterMark: getHighWaterMark, + }; + }, + { "../../../errors": 177 }, + ], + 190: [ + function (require, module, exports) { + module.exports = require("events").EventEmitter; + }, + { events: 135 }, + ], + 191: [ + function (require, module, exports) { + exports = module.exports = require("./lib/_stream_readable.js"); + exports.Stream = exports; + exports.Readable = exports; + exports.Writable = require("./lib/_stream_writable.js"); + exports.Duplex = require("./lib/_stream_duplex.js"); + exports.Transform = require("./lib/_stream_transform.js"); + exports.PassThrough = require("./lib/_stream_passthrough.js"); + exports.finished = require("./lib/internal/streams/end-of-stream.js"); + exports.pipeline = require("./lib/internal/streams/pipeline.js"); + }, + { + "./lib/_stream_duplex.js": 178, + "./lib/_stream_passthrough.js": 179, + "./lib/_stream_readable.js": 180, + "./lib/_stream_transform.js": 181, + "./lib/_stream_writable.js": 182, + "./lib/internal/streams/end-of-stream.js": 186, + "./lib/internal/streams/pipeline.js": 188, + }, + ], + 192: [ + function (require, module, exports) { + (function (global) { + (function () { + var ClientRequest = require("./lib/request"); + var response = require("./lib/response"); + var extend = require("xtend"); + var statusCodes = require("builtin-status-codes"); + var url = require("url"); + + var http = exports; + + http.request = function (opts, cb) { + if (typeof opts === "string") opts = url.parse(opts); + else opts = extend(opts); + + // Normally, the page is loaded from http or https, so not specifying a protocol + // will result in a (valid) protocol-relative url. However, this won't work if + // the protocol is something else, like 'file:' + var defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? "http:" : ""; + + var protocol = opts.protocol || defaultProtocol; + var host = opts.hostname || opts.host; + var port = opts.port; + var path = opts.path || "/"; + + // Necessary for IPv6 addresses + if (host && host.indexOf(":") !== -1) host = "[" + host + "]"; + + // This may be a relative url. The browser should always be able to interpret it correctly. + opts.url = (host ? protocol + "//" + host : "") + (port ? ":" + port : "") + path; + opts.method = (opts.method || "GET").toUpperCase(); + opts.headers = opts.headers || {}; + + // Also valid opts.auth, opts.mode + + var req = new ClientRequest(opts); + if (cb) req.on("response", cb); + return req; + }; - this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called + http.get = function get(opts, cb) { + var req = http.request(opts, cb); + req.end(); + return req; + }; - this.finalCalled = false; // drain event flag. + http.ClientRequest = ClientRequest; + http.IncomingMessage = response.IncomingMessage; + + http.Agent = function () {}; + http.Agent.defaultMaxSockets = 4; + + http.globalAgent = new http.Agent(); + + http.STATUS_CODES = statusCodes; + + http.METHODS = [ + "CHECKOUT", + "CONNECT", + "COPY", + "DELETE", + "GET", + "HEAD", + "LOCK", + "M-SEARCH", + "MERGE", + "MKACTIVITY", + "MKCOL", + "MOVE", + "NOTIFY", + "OPTIONS", + "PATCH", + "POST", + "PROPFIND", + "PROPPATCH", + "PURGE", + "PUT", + "REPORT", + "SEARCH", + "SUBSCRIBE", + "TRACE", + "UNLOCK", + "UNSUBSCRIBE", + ]; + }).call(this); + }).call( + this, + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + { "./lib/request": 194, "./lib/response": 195, "builtin-status-codes": 133, url: 199, xtend: 205 }, + ], + 193: [ + function (require, module, exports) { + (function (global) { + (function () { + exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream); + + exports.writableStream = isFunction(global.WritableStream); + + exports.abortController = isFunction(global.AbortController); + + // The xhr request to example.com may violate some restrictive CSP configurations, + // so if we're running in a browser that supports `fetch`, avoid calling getXHR() + // and assume support for certain features below. + var xhr; + function getXHR() { + // Cache the xhr value + if (xhr !== undefined) return xhr; + + if (global.XMLHttpRequest) { + xhr = new global.XMLHttpRequest(); + // If XDomainRequest is available (ie only, where xhr might not work + // cross domain), use the page location. Otherwise use example.com + // Note: this doesn't actually make an http request. + try { + xhr.open("GET", global.XDomainRequest ? "/" : "https://example.com"); + } catch (e) { + xhr = null; + } + } else { + // Service workers don't have XHR + xhr = null; + } + return xhr; + } - this.needDrain = false; // at the start of calling end() + function checkTypeSupport(type) { + var xhr = getXHR(); + if (!xhr) return false; + try { + xhr.responseType = type; + return xhr.responseType === type; + } catch (e) {} + return false; + } - this.ending = false; // when end() has been called, and returned + // If fetch is supported, then arraybuffer will be supported too. Skip calling + // checkTypeSupport(), since that calls getXHR(). + exports.arraybuffer = exports.fetch || checkTypeSupport("arraybuffer"); - this.ended = false; // when 'finish' is emitted + // These next two tests unavoidably show warnings in Chrome. Since fetch will always + // be used if it's available, just return false for these to avoid the warnings. + exports.msstream = !exports.fetch && checkTypeSupport("ms-stream"); + exports.mozchunkedarraybuffer = !exports.fetch && checkTypeSupport("moz-chunked-arraybuffer"); - this.finished = false; // has it been destroyed + // If fetch is supported, then overrideMimeType will be supported too. Skip calling + // getXHR(). + exports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false); - this.destroyed = false; // should we decode strings into buffers before passing to _write? - // this is here so that some node-core streams can optimize string - // handling at a lower level. + function isFunction(value) { + return typeof value === "function"; + } - var noDecode = options.decodeStrings === false; - this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. + xhr = null; // Help gc + }).call(this); + }).call( + this, + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + {}, + ], + 194: [ + function (require, module, exports) { + (function (process, global, Buffer) { + (function () { + var capability = require("./capability"); + var inherits = require("inherits"); + var response = require("./response"); + var stream = require("readable-stream"); + + var IncomingMessage = response.IncomingMessage; + var rStates = response.readyStates; + + function decideMode(preferBinary, useFetch) { + if (capability.fetch && useFetch) { + return "fetch"; + } else if (capability.mozchunkedarraybuffer) { + return "moz-chunked-arraybuffer"; + } else if (capability.msstream) { + return "ms-stream"; + } else if (capability.arraybuffer && preferBinary) { + return "arraybuffer"; + } else { + return "text"; + } + } - this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement - // of how much we're waiting to get pushed to some underlying - // socket or file. + var ClientRequest = (module.exports = function (opts) { + var self = this; + stream.Writable.call(self); + + self._opts = opts; + self._body = []; + self._headers = {}; + if (opts.auth) self.setHeader("Authorization", "Basic " + Buffer.from(opts.auth).toString("base64")); + Object.keys(opts.headers).forEach(function (name) { + self.setHeader(name, opts.headers[name]); + }); + + var preferBinary; + var useFetch = true; + if (opts.mode === "disable-fetch" || ("requestTimeout" in opts && !capability.abortController)) { + // If the use of XHR should be preferred. Not typically needed. + useFetch = false; + preferBinary = true; + } else if (opts.mode === "prefer-streaming") { + // If streaming is a high priority but binary compatibility and + // the accuracy of the 'content-type' header aren't + preferBinary = false; + } else if (opts.mode === "allow-wrong-content-type") { + // If streaming is more important than preserving the 'content-type' header + preferBinary = !capability.overrideMimeType; + } else if (!opts.mode || opts.mode === "default" || opts.mode === "prefer-fast") { + // Use binary if text streaming may corrupt data or the content-type header, or for speed + preferBinary = true; + } else { + throw new Error("Invalid value for opts.mode"); + } + self._mode = decideMode(preferBinary, useFetch); + self._fetchTimer = null; + self._socketTimeout = null; + self._socketTimer = null; + + self.on("finish", function () { + self._onFinish(); + }); + }); - this.length = 0; // a flag to see when we're in the middle of a write. + inherits(ClientRequest, stream.Writable); - this.writing = false; // when true all writes will be buffered until .uncork() call + ClientRequest.prototype.setHeader = function (name, value) { + var self = this; + var lowerName = name.toLowerCase(); + // This check is not necessary, but it prevents warnings from browsers about setting unsafe + // headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but + // http-browserify did it, so I will too. + if (unsafeHeaders.indexOf(lowerName) !== -1) return; - this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. + self._headers[lowerName] = { + name: name, + value: value, + }; + }; - this.sync = true; // a flag to know if we're processing previously buffered items, which - // may call the _write() callback in the same tick, so that we don't - // end up in an overlapped onwrite situation. + ClientRequest.prototype.getHeader = function (name) { + var header = this._headers[name.toLowerCase()]; + if (header) return header.value; + return null; + }; - this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb) + ClientRequest.prototype.removeHeader = function (name) { + var self = this; + delete self._headers[name.toLowerCase()]; + }; - this.onwrite = function (er) { - onwrite(stream, er); - }; // the callback that the user supplies to write(chunk,encoding,cb) + ClientRequest.prototype._onFinish = function () { + var self = this; + if (self._destroyed) return; + var opts = self._opts; - this.writecb = null; // the amount that is being written when _write is called. + if ("timeout" in opts && opts.timeout !== 0) { + self.setTimeout(opts.timeout); + } - this.writelen = 0; - this.bufferedRequest = null; - this.lastBufferedRequest = null; // number of pending user-supplied write callbacks - // this must be 0 before 'finish' can be emitted + var headersObj = self._headers; + var body = null; + if (opts.method !== "GET" && opts.method !== "HEAD") { + body = new Blob(self._body, { + type: (headersObj["content-type"] || {}).value || "", + }); + } - this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs - // This is relevant for synchronous Transform streams + // create flattened list of headers + var headersList = []; + Object.keys(headersObj).forEach(function (keyName) { + var name = headersObj[keyName].name; + var value = headersObj[keyName].value; + if (Array.isArray(value)) { + value.forEach(function (v) { + headersList.push([name, v]); + }); + } else { + headersList.push([name, value]); + } + }); + + if (self._mode === "fetch") { + var signal = null; + if (capability.abortController) { + var controller = new AbortController(); + signal = controller.signal; + self._fetchAbortController = controller; + + if ("requestTimeout" in opts && opts.requestTimeout !== 0) { + self._fetchTimer = global.setTimeout(function () { + self.emit("requestTimeout"); + if (self._fetchAbortController) self._fetchAbortController.abort(); + }, opts.requestTimeout); + } + } - this.prefinished = false; // True if the error was already emitted and should not be thrown again + global + .fetch(self._opts.url, { + method: self._opts.method, + headers: headersList, + body: body || undefined, + mode: "cors", + credentials: opts.withCredentials ? "include" : "same-origin", + signal: signal, + }) + .then( + function (response) { + self._fetchResponse = response; + self._resetTimers(false); + self._connect(); + }, + function (reason) { + self._resetTimers(true); + if (!self._destroyed) self.emit("error", reason); + }, + ); + } else { + var xhr = (self._xhr = new global.XMLHttpRequest()); + try { + xhr.open(self._opts.method, self._opts.url, true); + } catch (err) { + process.nextTick(function () { + self.emit("error", err); + }); + return; + } - this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true. + // Can't set responseType on really old browsers + if ("responseType" in xhr) xhr.responseType = self._mode; - this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end') + if ("withCredentials" in xhr) xhr.withCredentials = !!opts.withCredentials; - this.autoDestroy = !!options.autoDestroy; // count buffered requests + if (self._mode === "text" && "overrideMimeType" in xhr) + xhr.overrideMimeType("text/plain; charset=x-user-defined"); - this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always - // one allocated and free to use, and we maintain at most two + if ("requestTimeout" in opts) { + xhr.timeout = opts.requestTimeout; + xhr.ontimeout = function () { + self.emit("requestTimeout"); + }; + } - this.corkedRequestsFree = new CorkedRequest(this); -} + headersList.forEach(function (header) { + xhr.setRequestHeader(header[0], header[1]); + }); -WritableState.prototype.getBuffer = function getBuffer() { - var current = this.bufferedRequest; - var out = []; + self._response = null; + xhr.onreadystatechange = function () { + switch (xhr.readyState) { + case rStates.LOADING: + case rStates.DONE: + self._onXHRProgress(); + break; + } + }; + // Necessary for streaming in Firefox, since xhr.response is ONLY defined + // in onprogress, not in onreadystatechange with xhr.readyState = 3 + if (self._mode === "moz-chunked-arraybuffer") { + xhr.onprogress = function () { + self._onXHRProgress(); + }; + } - while (current) { - out.push(current); - current = current.next; - } + xhr.onerror = function () { + if (self._destroyed) return; + self._resetTimers(true); + self.emit("error", new Error("XHR error")); + }; - return out; -}; + try { + xhr.send(body); + } catch (err) { + process.nextTick(function () { + self.emit("error", err); + }); + return; + } + } + }; -(function () { - try { - Object.defineProperty(WritableState.prototype, 'buffer', { - get: internalUtil.deprecate(function writableStateBufferGetter() { - return this.getBuffer(); - }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003') - }); - } catch (_) {} -})(); // Test _writableState for inheritance to account for Duplex streams, -// whose prototype chain only points to Readable. - - -var realHasInstance; - -if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') { - realHasInstance = Function.prototype[Symbol.hasInstance]; - Object.defineProperty(Writable, Symbol.hasInstance, { - value: function value(object) { - if (realHasInstance.call(this, object)) return true; - if (this !== Writable) return false; - return object && object._writableState instanceof WritableState; - } - }); -} else { - realHasInstance = function realHasInstance(object) { - return object instanceof this; - }; -} - -function Writable(options) { - Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too. - // `realHasInstance` is necessary because using plain `instanceof` - // would return false, as no `_writableState` property is attached. - // Trying to use the custom `instanceof` for Writable here will also break the - // Node.js LazyTransform implementation, which has a non-trivial getter for - // `_writableState` that would lead to infinite recursion. - // Checking for a Stream.Duplex instance is faster here instead of inside - // the WritableState constructor, at least with V8 6.5 - - var isDuplex = this instanceof Duplex; - if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options); - this._writableState = new WritableState(options, this, isDuplex); // legacy. - - this.writable = true; - - if (options) { - if (typeof options.write === 'function') this._write = options.write; - if (typeof options.writev === 'function') this._writev = options.writev; - if (typeof options.destroy === 'function') this._destroy = options.destroy; - if (typeof options.final === 'function') this._final = options.final; - } + /** + * Checks if xhr.status is readable and non-zero, indicating no error. + * Even though the spec says it should be available in readyState 3, + * accessing it throws an exception in IE8 + */ + function statusValid(xhr) { + try { + var status = xhr.status; + return status !== null && status !== 0; + } catch (e) { + return false; + } + } - Stream.call(this); -} // Otherwise people can pipe Writable streams, which is just wrong. + ClientRequest.prototype._onXHRProgress = function () { + var self = this; + self._resetTimers(false); -Writable.prototype.pipe = function () { - errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); -}; + if (!statusValid(self._xhr) || self._destroyed) return; -function writeAfterEnd(stream, cb) { - var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb + if (!self._response) self._connect(); - errorOrDestroy(stream, er); - process.nextTick(cb, er); -} // Checks that a user-supplied chunk is valid, especially for the particular -// mode the stream is in. Currently this means that `null` is never accepted -// and undefined/non-string values are only allowed in object mode. + self._response._onXHRProgress(self._resetTimers.bind(self)); + }; + ClientRequest.prototype._connect = function () { + var self = this; -function validChunk(stream, state, chunk, cb) { - var er; + if (self._destroyed) return; - if (chunk === null) { - er = new ERR_STREAM_NULL_VALUES(); - } else if (typeof chunk !== 'string' && !state.objectMode) { - er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk); - } + self._response = new IncomingMessage( + self._xhr, + self._fetchResponse, + self._mode, + self._resetTimers.bind(self), + ); + self._response.on("error", function (err) { + self.emit("error", err); + }); - if (er) { - errorOrDestroy(stream, er); - process.nextTick(cb, er); - return false; - } + self.emit("response", self._response); + }; - return true; -} + ClientRequest.prototype._write = function (chunk, encoding, cb) { + var self = this; -Writable.prototype.write = function (chunk, encoding, cb) { - var state = this._writableState; - var ret = false; + self._body.push(chunk); + cb(); + }; - var isBuf = !state.objectMode && _isUint8Array(chunk); + ClientRequest.prototype._resetTimers = function (done) { + var self = this; - if (isBuf && !Buffer.isBuffer(chunk)) { - chunk = _uint8ArrayToBuffer(chunk); - } + global.clearTimeout(self._socketTimer); + self._socketTimer = null; - if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } + if (done) { + global.clearTimeout(self._fetchTimer); + self._fetchTimer = null; + } else if (self._socketTimeout) { + self._socketTimer = global.setTimeout(function () { + self.emit("timeout"); + }, self._socketTimeout); + } + }; - if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; - if (typeof cb !== 'function') cb = nop; - if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { - state.pendingcb++; - ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); - } - return ret; -}; + ClientRequest.prototype.abort = ClientRequest.prototype.destroy = function (err) { + var self = this; + self._destroyed = true; + self._resetTimers(true); + if (self._response) self._response._destroyed = true; + if (self._xhr) self._xhr.abort(); + else if (self._fetchAbortController) self._fetchAbortController.abort(); -Writable.prototype.cork = function () { - this._writableState.corked++; -}; + if (err) self.emit("error", err); + }; -Writable.prototype.uncork = function () { - var state = this._writableState; + ClientRequest.prototype.end = function (data, encoding, cb) { + var self = this; + if (typeof data === "function") { + cb = data; + data = undefined; + } - if (state.corked) { - state.corked--; - if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state); - } -}; - -Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) { - // node::ParseEncoding() requires lower case. - if (typeof encoding === 'string') encoding = encoding.toLowerCase(); - if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding); - this._writableState.defaultEncoding = encoding; - return this; -}; - -Object.defineProperty(Writable.prototype, 'writableBuffer', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState && this._writableState.getBuffer(); - } -}); + stream.Writable.prototype.end.call(self, data, encoding, cb); + }; -function decodeChunk(state, chunk, encoding) { - if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { - chunk = Buffer.from(chunk, encoding); - } + ClientRequest.prototype.setTimeout = function (timeout, cb) { + var self = this; - return chunk; -} + if (cb) self.once("timeout", cb); -Object.defineProperty(Writable.prototype, 'writableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.highWaterMark; - } -}); // if we're already writing something, then just put this -// in the queue, and wait our turn. Otherwise, call _write -// If we return false, then we need a drain event, so set that flag. - -function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { - if (!isBuf) { - var newChunk = decodeChunk(state, chunk, encoding); - - if (chunk !== newChunk) { - isBuf = true; - encoding = 'buffer'; - chunk = newChunk; - } - } + self._socketTimeout = timeout; + self._resetTimers(false); + }; - var len = state.objectMode ? 1 : chunk.length; - state.length += len; - var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false. - - if (!ret) state.needDrain = true; - - if (state.writing || state.corked) { - var last = state.lastBufferedRequest; - state.lastBufferedRequest = { - chunk: chunk, - encoding: encoding, - isBuf: isBuf, - callback: cb, - next: null - }; - - if (last) { - last.next = state.lastBufferedRequest; - } else { - state.bufferedRequest = state.lastBufferedRequest; - } + ClientRequest.prototype.flushHeaders = function () {}; + ClientRequest.prototype.setNoDelay = function () {}; + ClientRequest.prototype.setSocketKeepAlive = function () {}; + + // Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method + var unsafeHeaders = [ + "accept-charset", + "accept-encoding", + "access-control-request-headers", + "access-control-request-method", + "connection", + "content-length", + "cookie", + "cookie2", + "date", + "dnt", + "expect", + "host", + "keep-alive", + "origin", + "referer", + "te", + "trailer", + "transfer-encoding", + "upgrade", + "via", + ]; + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + require("buffer").Buffer, + ); + }, + { "./capability": 193, "./response": 195, _process: 172, buffer: 132, inherits: 139, "readable-stream": 191 }, + ], + 195: [ + function (require, module, exports) { + (function (process, global, Buffer) { + (function () { + var capability = require("./capability"); + var inherits = require("inherits"); + var stream = require("readable-stream"); + + var rStates = (exports.readyStates = { + UNSENT: 0, + OPENED: 1, + HEADERS_RECEIVED: 2, + LOADING: 3, + DONE: 4, + }); - state.bufferedRequestCount += 1; - } else { - doWrite(stream, state, false, len, chunk, encoding, cb); - } + var IncomingMessage = (exports.IncomingMessage = function (xhr, response, mode, resetTimers) { + var self = this; + stream.Readable.call(self); + + self._mode = mode; + self.headers = {}; + self.rawHeaders = []; + self.trailers = {}; + self.rawTrailers = []; + + // Fake the 'close' event, but only once 'end' fires + self.on("end", function () { + // The nextTick is necessary to prevent the 'request' module from causing an infinite loop + process.nextTick(function () { + self.emit("close"); + }); + }); - return ret; -} - -function doWrite(stream, state, writev, len, chunk, encoding, cb) { - state.writelen = len; - state.writecb = cb; - state.writing = true; - state.sync = true; - if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite); - state.sync = false; -} - -function onwriteError(stream, state, sync, er, cb) { - --state.pendingcb; - - if (sync) { - // defer the callback if we are being called synchronously - // to avoid piling up things on the stack - process.nextTick(cb, er); // this can emit finish, and it will always happen - // after error - - process.nextTick(finishMaybe, stream, state); - stream._writableState.errorEmitted = true; - errorOrDestroy(stream, er); - } else { - // the caller expect this to happen before if - // it is async - cb(er); - stream._writableState.errorEmitted = true; - errorOrDestroy(stream, er); // this can emit finish, but finish must - // always follow error - - finishMaybe(stream, state); - } -} - -function onwriteStateUpdate(state) { - state.writing = false; - state.writecb = null; - state.length -= state.writelen; - state.writelen = 0; -} - -function onwrite(stream, er) { - var state = stream._writableState; - var sync = state.sync; - var cb = state.writecb; - if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK(); - onwriteStateUpdate(state); - if (er) onwriteError(stream, state, sync, er, cb);else { - // Check if we're actually ready to finish, but don't emit yet - var finished = needFinish(state) || stream.destroyed; - - if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) { - clearBuffer(stream, state); - } + if (mode === "fetch") { + self._fetchResponse = response; - if (sync) { - process.nextTick(afterWrite, stream, state, finished, cb); - } else { - afterWrite(stream, state, finished, cb); - } - } -} - -function afterWrite(stream, state, finished, cb) { - if (!finished) onwriteDrain(stream, state); - state.pendingcb--; - cb(); - finishMaybe(stream, state); -} // Must force callback to be called on nextTick, so that we don't -// emit 'drain' before the write() consumer gets the 'false' return -// value, and has a chance to attach a 'drain' listener. - - -function onwriteDrain(stream, state) { - if (state.length === 0 && state.needDrain) { - state.needDrain = false; - stream.emit('drain'); - } -} // if there's something in the buffer waiting, then process it - - -function clearBuffer(stream, state) { - state.bufferProcessing = true; - var entry = state.bufferedRequest; - - if (stream._writev && entry && entry.next) { - // Fast case, write everything using _writev() - var l = state.bufferedRequestCount; - var buffer = new Array(l); - var holder = state.corkedRequestsFree; - holder.entry = entry; - var count = 0; - var allBuffers = true; - - while (entry) { - buffer[count] = entry; - if (!entry.isBuf) allBuffers = false; - entry = entry.next; - count += 1; - } + self.url = response.url; + self.statusCode = response.status; + self.statusMessage = response.statusText; - buffer.allBuffers = allBuffers; - doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time - // as the hot path ends with doWrite + response.headers.forEach(function (header, key) { + self.headers[key.toLowerCase()] = header; + self.rawHeaders.push(key, header); + }); - state.pendingcb++; - state.lastBufferedRequest = null; + if (capability.writableStream) { + var writable = new WritableStream({ + write: function (chunk) { + resetTimers(false); + return new Promise(function (resolve, reject) { + if (self._destroyed) { + reject(); + } else if (self.push(Buffer.from(chunk))) { + resolve(); + } else { + self._resumeFetch = resolve; + } + }); + }, + close: function () { + resetTimers(true); + if (!self._destroyed) self.push(null); + }, + abort: function (err) { + resetTimers(true); + if (!self._destroyed) self.emit("error", err); + }, + }); + + try { + response.body.pipeTo(writable).catch(function (err) { + resetTimers(true); + if (!self._destroyed) self.emit("error", err); + }); + return; + } catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this + } + // fallback for when writableStream or pipeTo aren't available + var reader = response.body.getReader(); + function read() { + reader + .read() + .then(function (result) { + if (self._destroyed) return; + resetTimers(result.done); + if (result.done) { + self.push(null); + return; + } + self.push(Buffer.from(result.value)); + read(); + }) + .catch(function (err) { + resetTimers(true); + if (!self._destroyed) self.emit("error", err); + }); + } + read(); + } else { + self._xhr = xhr; + self._pos = 0; + + self.url = xhr.responseURL; + self.statusCode = xhr.status; + self.statusMessage = xhr.statusText; + var headers = xhr.getAllResponseHeaders().split(/\r?\n/); + headers.forEach(function (header) { + var matches = header.match(/^([^:]+):\s*(.*)/); + if (matches) { + var key = matches[1].toLowerCase(); + if (key === "set-cookie") { + if (self.headers[key] === undefined) { + self.headers[key] = []; + } + self.headers[key].push(matches[2]); + } else if (self.headers[key] !== undefined) { + self.headers[key] += ", " + matches[2]; + } else { + self.headers[key] = matches[2]; + } + self.rawHeaders.push(matches[1], matches[2]); + } + }); - if (holder.next) { - state.corkedRequestsFree = holder.next; - holder.next = null; - } else { - state.corkedRequestsFree = new CorkedRequest(state); - } + self._charset = "x-user-defined"; + if (!capability.overrideMimeType) { + var mimeType = self.rawHeaders["mime-type"]; + if (mimeType) { + var charsetMatch = mimeType.match(/;\s*charset=([^;])(;|$)/); + if (charsetMatch) { + self._charset = charsetMatch[1].toLowerCase(); + } + } + if (!self._charset) self._charset = "utf-8"; // best guess + } + } + }); - state.bufferedRequestCount = 0; - } else { - // Slow case, write chunks one-by-one - while (entry) { - var chunk = entry.chunk; - var encoding = entry.encoding; - var cb = entry.callback; - var len = state.objectMode ? 1 : chunk.length; - doWrite(stream, state, false, len, chunk, encoding, cb); - entry = entry.next; - state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then - // it means that we need to wait until it does. - // also, that means that the chunk and cb are currently - // being processed, so move the buffer counter past them. - - if (state.writing) { - break; - } - } + inherits(IncomingMessage, stream.Readable); - if (entry === null) state.lastBufferedRequest = null; - } + IncomingMessage.prototype._read = function () { + var self = this; - state.bufferedRequest = entry; - state.bufferProcessing = false; -} + var resolve = self._resumeFetch; + if (resolve) { + self._resumeFetch = null; + resolve(); + } + }; -Writable.prototype._write = function (chunk, encoding, cb) { - cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()')); -}; + IncomingMessage.prototype._onXHRProgress = function (resetTimers) { + var self = this; -Writable.prototype._writev = null; + var xhr = self._xhr; -Writable.prototype.end = function (chunk, encoding, cb) { - var state = this._writableState; + var response = null; + switch (self._mode) { + case "text": + response = xhr.responseText; + if (response.length > self._pos) { + var newData = response.substr(self._pos); + if (self._charset === "x-user-defined") { + var buffer = Buffer.alloc(newData.length); + for (var i = 0; i < newData.length; i++) buffer[i] = newData.charCodeAt(i) & 0xff; - if (typeof chunk === 'function') { - cb = chunk; - chunk = null; - encoding = null; - } else if (typeof encoding === 'function') { - cb = encoding; - encoding = null; - } + self.push(buffer); + } else { + self.push(newData, self._charset); + } + self._pos = response.length; + } + break; + case "arraybuffer": + if (xhr.readyState !== rStates.DONE || !xhr.response) break; + response = xhr.response; + self.push(Buffer.from(new Uint8Array(response))); + break; + case "moz-chunked-arraybuffer": // take whole + response = xhr.response; + if (xhr.readyState !== rStates.LOADING || !response) break; + self.push(Buffer.from(new Uint8Array(response))); + break; + case "ms-stream": + response = xhr.response; + if (xhr.readyState !== rStates.LOADING) break; + var reader = new global.MSStreamReader(); + reader.onprogress = function () { + if (reader.result.byteLength > self._pos) { + self.push(Buffer.from(new Uint8Array(reader.result.slice(self._pos)))); + self._pos = reader.result.byteLength; + } + }; + reader.onload = function () { + resetTimers(true); + self.push(null); + }; + // reader.onerror = ??? // TODO: this + reader.readAsArrayBuffer(response); + break; + } - if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks + // The ms-stream case handles end separately in reader.onload() + if (self._xhr.readyState === rStates.DONE && self._mode !== "ms-stream") { + resetTimers(true); + self.push(null); + } + }; + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + require("buffer").Buffer, + ); + }, + { "./capability": 193, _process: 172, buffer: 132, inherits: 139, "readable-stream": 191 }, + ], + 196: [ + function (require, module, exports) { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + "use strict"; + + /**/ + + var Buffer = require("safe-buffer").Buffer; + /**/ + + var isEncoding = + Buffer.isEncoding || + function (encoding) { + encoding = "" + encoding; + switch (encoding && encoding.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 true; + default: + return false; + } + }; + + function _normalizeEncoding(enc) { + if (!enc) return "utf8"; + var retried; + while (true) { + switch (enc) { + 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 enc; + default: + if (retried) return; // undefined + enc = ("" + enc).toLowerCase(); + retried = true; + } + } + } - if (state.corked) { - state.corked = 1; - this.uncork(); - } // ignore unnecessary end() calls. + // Do not cache `Buffer.isEncoding` when checking encoding names as some + // modules monkey-patch it to support additional encodings + function normalizeEncoding(enc) { + var nenc = _normalizeEncoding(enc); + if (typeof nenc !== "string" && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) + throw new Error("Unknown encoding: " + enc); + return nenc || enc; + } + + // StringDecoder provides an interface for efficiently splitting a series of + // buffers into a series of JS strings without breaking apart multi-byte + // characters. + exports.StringDecoder = StringDecoder; + function StringDecoder(encoding) { + this.encoding = normalizeEncoding(encoding); + var nb; + switch (this.encoding) { + case "utf16le": + this.text = utf16Text; + this.end = utf16End; + nb = 4; + break; + case "utf8": + this.fillLast = utf8FillLast; + nb = 4; + break; + case "base64": + this.text = base64Text; + this.end = base64End; + nb = 3; + break; + default: + this.write = simpleWrite; + this.end = simpleEnd; + return; + } + this.lastNeed = 0; + this.lastTotal = 0; + this.lastChar = Buffer.allocUnsafe(nb); + } + + StringDecoder.prototype.write = function (buf) { + if (buf.length === 0) return ""; + var r; + var i; + if (this.lastNeed) { + r = this.fillLast(buf); + if (r === undefined) return ""; + i = this.lastNeed; + this.lastNeed = 0; + } else { + i = 0; + } + if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); + return r || ""; + }; + StringDecoder.prototype.end = utf8End; - if (!state.ending) endWritable(this, state, cb); - return this; -}; + // Returns only complete characters in a Buffer + StringDecoder.prototype.text = utf8Text; -Object.defineProperty(Writable.prototype, 'writableLength', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - return this._writableState.length; - } -}); + // Attempts to complete a partial non-UTF-8 character using bytes from a Buffer + StringDecoder.prototype.fillLast = function (buf) { + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); + this.lastNeed -= buf.length; + }; -function needFinish(state) { - return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; -} + // Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a + // continuation byte. If an invalid byte is detected, -2 is returned. + function utf8CheckByte(byte) { + if (byte <= 0x7f) return 0; + else if (byte >> 5 === 0x06) return 2; + else if (byte >> 4 === 0x0e) return 3; + else if (byte >> 3 === 0x1e) return 4; + return byte >> 6 === 0x02 ? -1 : -2; + } + + // Checks at most 3 bytes at the end of a Buffer in order to detect an + // incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) + // needed to complete the UTF-8 character (if applicable) are returned. + function utf8CheckIncomplete(self, buf, i) { + var j = buf.length - 1; + if (j < i) return 0; + var nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 1; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 2; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) { + if (nb === 2) nb = 0; + else self.lastNeed = nb - 3; + } + return nb; + } + return 0; + } + + // Validates as many continuation bytes for a multi-byte UTF-8 character as + // needed or are available. If we see a non-continuation byte where we expect + // one, we "replace" the validated continuation bytes we've seen so far with + // a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding + // behavior. The continuation byte check is included three times in the case + // where all of the continuation bytes for a character exist in the same buffer. + // It is also done this way as a slight performance increase instead of using a + // loop. + function utf8CheckExtraBytes(self, buf, p) { + if ((buf[0] & 0xc0) !== 0x80) { + self.lastNeed = 0; + return "\ufffd"; + } + if (self.lastNeed > 1 && buf.length > 1) { + if ((buf[1] & 0xc0) !== 0x80) { + self.lastNeed = 1; + return "\ufffd"; + } + if (self.lastNeed > 2 && buf.length > 2) { + if ((buf[2] & 0xc0) !== 0x80) { + self.lastNeed = 2; + return "\ufffd"; + } + } + } + } -function callFinal(stream, state) { - stream._final(function (err) { - state.pendingcb--; + // Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. + function utf8FillLast(buf) { + var p = this.lastTotal - this.lastNeed; + var r = utf8CheckExtraBytes(this, buf, p); + if (r !== undefined) return r; + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, p, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, p, 0, buf.length); + this.lastNeed -= buf.length; + } + + // Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a + // partial character, the character's bytes are buffered until the required + // number of bytes are available. + function utf8Text(buf, i) { + var total = utf8CheckIncomplete(this, buf, i); + if (!this.lastNeed) return buf.toString("utf8", i); + this.lastTotal = total; + var end = buf.length - (total - this.lastNeed); + buf.copy(this.lastChar, 0, end); + return buf.toString("utf8", i, end); + } + + // For UTF-8, a replacement character is added when ending on a partial + // character. + function utf8End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) return r + "\ufffd"; + return r; + } + + // UTF-16LE typically needs two bytes per character, but even if we have an even + // number of bytes available, we need to check if we end on a leading/high + // surrogate. In that case, we need to wait for the next two bytes in order to + // decode the last character properly. + function utf16Text(buf, i) { + if ((buf.length - i) % 2 === 0) { + var r = buf.toString("utf16le", i); + if (r) { + var c = r.charCodeAt(r.length - 1); + if (c >= 0xd800 && c <= 0xdbff) { + this.lastNeed = 2; + this.lastTotal = 4; + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + return r.slice(0, -1); + } + } + return r; + } + this.lastNeed = 1; + this.lastTotal = 2; + this.lastChar[0] = buf[buf.length - 1]; + return buf.toString("utf16le", i, buf.length - 1); + } + + // For UTF-16LE we do not explicitly append special replacement characters if we + // end on a partial character, we simply let v8 handle that. + function utf16End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) { + var end = this.lastTotal - this.lastNeed; + return r + this.lastChar.toString("utf16le", 0, end); + } + return r; + } - if (err) { - errorOrDestroy(stream, err); - } + function base64Text(buf, i) { + var n = (buf.length - i) % 3; + if (n === 0) return buf.toString("base64", i); + this.lastNeed = 3 - n; + this.lastTotal = 3; + if (n === 1) { + this.lastChar[0] = buf[buf.length - 1]; + } else { + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + } + return buf.toString("base64", i, buf.length - n); + } - state.prefinished = true; - stream.emit('prefinish'); - finishMaybe(stream, state); - }); -} - -function prefinish(stream, state) { - if (!state.prefinished && !state.finalCalled) { - if (typeof stream._final === 'function' && !state.destroyed) { - state.pendingcb++; - state.finalCalled = true; - process.nextTick(callFinal, stream, state); - } else { - state.prefinished = true; - stream.emit('prefinish'); - } - } -} + function base64End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed); + return r; + } -function finishMaybe(stream, state) { - var need = needFinish(state); + // Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) + function simpleWrite(buf) { + return buf.toString(this.encoding); + } - if (need) { - prefinish(stream, state); + function simpleEnd(buf) { + return buf && buf.length ? this.write(buf) : ""; + } + }, + { "safe-buffer": 197 }, + ], + 197: [ + function (require, module, exports) { + /*! safe-buffer. MIT License. Feross Aboukhadijeh */ + /* eslint-disable node/no-deprecated-api */ + var buffer = require("buffer"); + var Buffer = buffer.Buffer; + + // alternative to using Object.keys for old browsers + function copyProps(src, dst) { + for (var key in src) { + dst[key] = src[key]; + } + } + if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { + module.exports = buffer; + } else { + // Copy properties from require('buffer') + copyProps(buffer, exports); + exports.Buffer = SafeBuffer; + } - if (state.pendingcb === 0) { - state.finished = true; - stream.emit('finish'); + function SafeBuffer(arg, encodingOrOffset, length) { + return Buffer(arg, encodingOrOffset, length); + } - if (state.autoDestroy) { - // In case of duplex streams we need a way to detect - // if the readable side is ready for autoDestroy as well - var rState = stream._readableState; + SafeBuffer.prototype = Object.create(Buffer.prototype); - if (!rState || rState.autoDestroy && rState.endEmitted) { - stream.destroy(); - } - } - } - } + // Copy static methods from Buffer + copyProps(Buffer, SafeBuffer); - return need; -} + SafeBuffer.from = function (arg, encodingOrOffset, length) { + if (typeof arg === "number") { + throw new TypeError("Argument must not be a number"); + } + return Buffer(arg, encodingOrOffset, length); + }; -function endWritable(stream, state, cb) { - state.ending = true; - finishMaybe(stream, state); + SafeBuffer.alloc = function (size, fill, encoding) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + var buf = Buffer(size); + if (fill !== undefined) { + if (typeof encoding === "string") { + buf.fill(fill, encoding); + } else { + buf.fill(fill); + } + } else { + buf.fill(0); + } + return buf; + }; - if (cb) { - if (state.finished) process.nextTick(cb);else stream.once('finish', cb); - } + SafeBuffer.allocUnsafe = function (size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + return Buffer(size); + }; - state.ended = true; - stream.writable = false; -} - -function onCorkedFinish(corkReq, state, err) { - var entry = corkReq.entry; - corkReq.entry = null; - - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; - } // reuse the free corkReq. - - - state.corkedRequestsFree.next = corkReq; -} - -Object.defineProperty(Writable.prototype, 'destroyed', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function get() { - if (this._writableState === undefined) { - return false; - } + SafeBuffer.allocUnsafeSlow = function (size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + return buffer.SlowBuffer(size); + }; + }, + { buffer: 132 }, + ], + 198: [ + function (require, module, exports) { + /** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ + (function (global, factory) { + typeof exports === "object" && typeof module !== "undefined" + ? factory(exports) + : typeof define === "function" && define.amd + ? define(["exports"], factory) + : factory((global.URI = global.URI || {})); + })(this, function (exports) { + "use strict"; + + function merge() { + for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) { + sets[_key] = arguments[_key]; + } - return this._writableState.destroyed; - }, - set: function set(value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._writableState) { - return; - } // backward compatibility, the user is explicitly - // managing destroyed + if (sets.length > 1) { + sets[0] = sets[0].slice(0, -1); + var xl = sets.length - 1; + for (var x = 1; x < xl; ++x) { + sets[x] = sets[x].slice(1, -1); + } + sets[xl] = sets[xl].slice(1); + return sets.join(""); + } else { + return sets[0]; + } + } + function subexp(str) { + return "(?:" + str + ")"; + } + function typeOf(o) { + return o === undefined + ? "undefined" + : o === null + ? "null" + : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); + } + function toUpperCase(str) { + return str.toUpperCase(); + } + function toArray(obj) { + return obj !== undefined && obj !== null + ? obj instanceof Array + ? obj + : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call + ? [obj] + : Array.prototype.slice.call(obj) + : []; + } + function assign(target, source) { + var obj = target; + if (source) { + for (var key in source) { + obj[key] = source[key]; + } + } + return obj; + } + function buildExps(isIRI) { + var ALPHA$$ = "[A-Za-z]", + CR$ = "[\\x0D]", + DIGIT$$ = "[0-9]", + DQUOTE$$ = "[\\x22]", + HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), + //case-insensitive + LF$$ = "[\\x0A]", + SP$$ = "[\\x20]", + PCT_ENCODED$ = subexp( + subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + + "|" + + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + + "|" + + subexp("%" + HEXDIG$$ + HEXDIG$$), + ), + //expanded + GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", + SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", + RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), + UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", + //subset, excludes bidi control characters + IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", + //subset + UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), + SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), + USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), + DEC_OCTET$ = subexp( + subexp("25[0-5]") + + "|" + + subexp("2[0-4]" + DIGIT$$) + + "|" + + subexp("1" + DIGIT$$ + DIGIT$$) + + "|" + + subexp("[1-9]" + DIGIT$$) + + "|" + + DIGIT$$, + ), + DEC_OCTET_RELAXED$ = subexp( + subexp("25[0-5]") + + "|" + + subexp("2[0-4]" + DIGIT$$) + + "|" + + subexp("1" + DIGIT$$ + DIGIT$$) + + "|" + + subexp("0?[1-9]" + DIGIT$$) + + "|0?0?" + + DIGIT$$, + ), + //relaxed parsing rules + IPV4ADDRESS$ = subexp( + DEC_OCTET_RELAXED$ + + "\\." + + DEC_OCTET_RELAXED$ + + "\\." + + DEC_OCTET_RELAXED$ + + "\\." + + DEC_OCTET_RELAXED$, + ), + H16$ = subexp(HEXDIG$$ + "{1,4}"), + LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), + IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), + // 6( h16 ":" ) ls32 + IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), + // "::" 5( h16 ":" ) ls32 + IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), + //[ h16 ] "::" 4( h16 ":" ) ls32 + IPV6ADDRESS4$ = subexp( + subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$, + ), + //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + IPV6ADDRESS5$ = subexp( + subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$, + ), + //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), + //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), + //[ *4( h16 ":" ) h16 ] "::" ls32 + IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), + //[ *5( h16 ":" ) h16 ] "::" h16 + IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), + //[ *6( h16 ":" ) h16 ] "::" + IPV6ADDRESS$ = subexp( + [ + IPV6ADDRESS1$, + IPV6ADDRESS2$, + IPV6ADDRESS3$, + IPV6ADDRESS4$, + IPV6ADDRESS5$, + IPV6ADDRESS6$, + IPV6ADDRESS7$, + IPV6ADDRESS8$, + IPV6ADDRESS9$, + ].join("|"), + ), + ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), + //RFC 6874 + IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), + //RFC 6874 + IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), + //RFC 6874, with relaxed parsing rules + IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), + IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), + //RFC 6874 + REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), + HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), + PORT$ = subexp(DIGIT$$ + "*"), + AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), + PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), + SEGMENT$ = subexp(PCHAR$ + "*"), + SEGMENT_NZ$ = subexp(PCHAR$ + "+"), + SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), + PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), + PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), + //simplified + PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), + //simplified + PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), + //simplified + PATH_EMPTY$ = "(?!" + PCHAR$ + ")", + PATH$ = subexp( + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$, + ), + QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), + FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), + HIER_PART$ = subexp( + subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + + "|" + + PATH_ABSOLUTE$ + + "|" + + PATH_ROOTLESS$ + + "|" + + PATH_EMPTY$, + ), + URI$ = subexp( + SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?", + ), + RELATIVE_PART$ = subexp( + subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + + "|" + + PATH_ABSOLUTE$ + + "|" + + PATH_NOSCHEME$ + + "|" + + PATH_EMPTY$, + ), + RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), + URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), + ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), + GENERIC_REF$ = + "^(" + + SCHEME$ + + ")\\:" + + subexp( + subexp( + "\\/\\/(" + + subexp("(" + USERINFO$ + ")@") + + "?(" + + HOST$ + + ")" + + subexp("\\:(" + PORT$ + ")") + + "?)", + ) + + "?(" + + PATH_ABEMPTY$ + + "|" + + PATH_ABSOLUTE$ + + "|" + + PATH_ROOTLESS$ + + "|" + + PATH_EMPTY$ + + ")", + ) + + subexp("\\?(" + QUERY$ + ")") + + "?" + + subexp("\\#(" + FRAGMENT$ + ")") + + "?$", + RELATIVE_REF$ = + "^(){0}" + + subexp( + subexp( + "\\/\\/(" + + subexp("(" + USERINFO$ + ")@") + + "?(" + + HOST$ + + ")" + + subexp("\\:(" + PORT$ + ")") + + "?)", + ) + + "?(" + + PATH_ABEMPTY$ + + "|" + + PATH_ABSOLUTE$ + + "|" + + PATH_NOSCHEME$ + + "|" + + PATH_EMPTY$ + + ")", + ) + + subexp("\\?(" + QUERY$ + ")") + + "?" + + subexp("\\#(" + FRAGMENT$ + ")") + + "?$", + ABSOLUTE_REF$ = + "^(" + + SCHEME$ + + ")\\:" + + subexp( + subexp( + "\\/\\/(" + + subexp("(" + USERINFO$ + ")@") + + "?(" + + HOST$ + + ")" + + subexp("\\:(" + PORT$ + ")") + + "?)", + ) + + "?(" + + PATH_ABEMPTY$ + + "|" + + PATH_ABSOLUTE$ + + "|" + + PATH_ROOTLESS$ + + "|" + + PATH_EMPTY$ + + ")", + ) + + subexp("\\?(" + QUERY$ + ")") + + "?$", + SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", + AUTHORITY_REF$ = + "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; + return { + NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), + NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), + NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), + NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), + ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), + UNRESERVED: new RegExp(UNRESERVED$$, "g"), + OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), + PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), + IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), + IPV6ADDRESS: new RegExp( + "^\\[?(" + + IPV6ADDRESS$ + + ")" + + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + + "?\\]?$", + ), //RFC 6874, with relaxed parsing rules + }; + } + var URI_PROTOCOL = buildExps(false); - this._writableState.destroyed = value; - } -}); -Writable.prototype.destroy = destroyImpl.destroy; -Writable.prototype._undestroy = destroyImpl.undestroy; - -Writable.prototype._destroy = function (err, cb) { - cb(err); -}; -}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"../errors":177,"./_stream_duplex":178,"./internal/streams/destroy":185,"./internal/streams/state":189,"./internal/streams/stream":190,"_process":172,"buffer":132,"inherits":139,"util-deprecate":201}],183:[function(require,module,exports){ -(function (process){(function (){ -'use strict'; - -var _Object$setPrototypeO; - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var finished = require('./end-of-stream'); - -var kLastResolve = Symbol('lastResolve'); -var kLastReject = Symbol('lastReject'); -var kError = Symbol('error'); -var kEnded = Symbol('ended'); -var kLastPromise = Symbol('lastPromise'); -var kHandlePromise = Symbol('handlePromise'); -var kStream = Symbol('stream'); - -function createIterResult(value, done) { - return { - value: value, - done: done - }; -} - -function readAndResolve(iter) { - var resolve = iter[kLastResolve]; - - if (resolve !== null) { - var data = iter[kStream].read(); // we defer if data is null - // we can be expecting either 'end' or - // 'error' - - if (data !== null) { - iter[kLastPromise] = null; - iter[kLastResolve] = null; - iter[kLastReject] = null; - resolve(createIterResult(data, false)); - } - } -} - -function onReadable(iter) { - // we wait for the next tick, because it might - // emit an error with process.nextTick - process.nextTick(readAndResolve, iter); -} - -function wrapForNext(lastPromise, iter) { - return function (resolve, reject) { - lastPromise.then(function () { - if (iter[kEnded]) { - resolve(createIterResult(undefined, true)); - return; - } + var IRI_PROTOCOL = buildExps(true); - iter[kHandlePromise](resolve, reject); - }, reject); - }; -} + var slicedToArray = (function () { + function sliceIterator(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; -var AsyncIteratorPrototype = Object.getPrototypeOf(function () {}); -var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = { - get stream() { - return this[kStream]; - }, + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); - next: function next() { - var _this = this; + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"]) _i["return"](); + } finally { + if (_d) throw _e; + } + } - // if we have detected an error in the meanwhile - // reject straight away - var error = this[kError]; + return _arr; + } - if (error !== null) { - return Promise.reject(error); - } + return function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if (Symbol.iterator in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + }; + })(); - if (this[kEnded]) { - return Promise.resolve(createIterResult(undefined, true)); - } + var toConsumableArray = function (arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; - if (this[kStream].destroyed) { - // We need to defer via nextTick because if .destroy(err) is - // called, the error will be emitted via nextTick, and - // we cannot guarantee that there is no error lingering around - // waiting to be emitted. - return new Promise(function (resolve, reject) { - process.nextTick(function () { - if (_this[kError]) { - reject(_this[kError]); - } else { - resolve(createIterResult(undefined, true)); + return arr2; + } else { + return Array.from(arr); + } + }; + + /** Highest positive signed 32-bit float value */ + + var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 + + /** Bootstring parameters */ + var base = 36; + var tMin = 1; + var tMax = 26; + var skew = 38; + var damp = 700; + var initialBias = 72; + var initialN = 128; // 0x80 + var delimiter = "-"; // '\x2D' + + /** Regular expressions */ + var regexPunycode = /^xn--/; + var regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars + var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators + + /** Error messages */ + var errors = { + overflow: "Overflow: input needs wider integers to process", + "not-basic": "Illegal input >= 0x80 (not a basic code point)", + "invalid-input": "Invalid input", + }; + + /** Convenience shortcuts */ + var baseMinusTMin = base - tMin; + var floor = Math.floor; + var stringFromCharCode = String.fromCharCode; + + /*--------------------------------------------------------------------------*/ + + /** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ + function error$1(type) { + throw new RangeError(errors[type]); } - }); - }); - } // if we have multiple next() calls - // we will wait for the previous Promise to finish - // this logic is optimized to support for await loops, - // where next() is only called once at a time + /** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ + function map(array, fn) { + var result = []; + var length = array.length; + while (length--) { + result[length] = fn(array[length]); + } + return result; + } - var lastPromise = this[kLastPromise]; - var promise; - - if (lastPromise) { - promise = new Promise(wrapForNext(lastPromise, this)); - } else { - // fast path needed to support multiple this.push() - // without triggering the next() queue - var data = this[kStream].read(); + /** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ + function mapDomain(string, fn) { + var parts = string.split("@"); + var result = ""; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + "@"; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, "\x2E"); + var labels = string.split("."); + var encoded = map(labels, fn).join("."); + return result + encoded; + } - if (data !== null) { - return Promise.resolve(createIterResult(data, false)); - } + /** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ + function ucs2decode(string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = string.charCodeAt(counter++); + if (value >= 0xd800 && value <= 0xdbff && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = string.charCodeAt(counter++); + if ((extra & 0xfc00) == 0xdc00) { + // Low surrogate. + output.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; + } - promise = new Promise(this[kHandlePromise]); - } + /** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ + var ucs2encode = function ucs2encode(array) { + return String.fromCodePoint.apply(String, toConsumableArray(array)); + }; + + /** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ + var basicToDigit = function basicToDigit(codePoint) { + if (codePoint - 0x30 < 0x0a) { + return codePoint - 0x16; + } + if (codePoint - 0x41 < 0x1a) { + return codePoint - 0x41; + } + if (codePoint - 0x61 < 0x1a) { + return codePoint - 0x61; + } + return base; + }; + + /** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ + var digitToBasic = function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); + }; + + /** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ + var adapt = function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (; /* no initialization */ delta > (baseMinusTMin * tMax) >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + ((baseMinusTMin + 1) * delta) / (delta + skew)); + }; + + /** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ + var decode = function decode(input) { + // Don't use UCS-2. + var output = []; + var inputLength = input.length; + var i = 0; + var n = initialN; + var bias = initialBias; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + var basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } - this[kLastPromise] = promise; - return promise; - } -}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () { - return this; -}), _defineProperty(_Object$setPrototypeO, "return", function _return() { - var _this2 = this; - - // destroy(err, cb) is a private API - // we can guarantee we have that here, because we control the - // Readable class this is attached to - return new Promise(function (resolve, reject) { - _this2[kStream].destroy(null, function (err) { - if (err) { - reject(err); - return; - } + for (var j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error$1("not-basic"); + } + output.push(input.charCodeAt(j)); + } - resolve(createIterResult(undefined, true)); - }); - }); -}), _Object$setPrototypeO), AsyncIteratorPrototype); - -var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) { - var _Object$create; - - var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, { - value: stream, - writable: true - }), _defineProperty(_Object$create, kLastResolve, { - value: null, - writable: true - }), _defineProperty(_Object$create, kLastReject, { - value: null, - writable: true - }), _defineProperty(_Object$create, kError, { - value: null, - writable: true - }), _defineProperty(_Object$create, kEnded, { - value: stream._readableState.endEmitted, - writable: true - }), _defineProperty(_Object$create, kHandlePromise, { - value: function value(resolve, reject) { - var data = iterator[kStream].read(); - - if (data) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - resolve(createIterResult(data, false)); - } else { - iterator[kLastResolve] = resolve; - iterator[kLastReject] = reject; - } - }, - writable: true - }), _Object$create)); - iterator[kLastPromise] = null; - finished(stream, function (err) { - if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') { - var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise - // returned by next() and store the error - - if (reject !== null) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - reject(err); - } + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (var index = basic > 0 ? basic + 1 : 0; index < inputLength; ) /* no final expression */ { + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + var oldi = i; + for (var w = 1, k = base; ; /* no condition */ k += base) { + if (index >= inputLength) { + error$1("invalid-input"); + } - iterator[kError] = err; - return; - } + var digit = basicToDigit(input.charCodeAt(index++)); - var resolve = iterator[kLastResolve]; + if (digit >= base || digit > floor((maxInt - i) / w)) { + error$1("overflow"); + } - if (resolve !== null) { - iterator[kLastPromise] = null; - iterator[kLastResolve] = null; - iterator[kLastReject] = null; - resolve(createIterResult(undefined, true)); - } + i += digit * w; + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - iterator[kEnded] = true; - }); - stream.on('readable', onReadable.bind(null, iterator)); - return iterator; -}; + if (digit < t) { + break; + } -module.exports = createReadableStreamAsyncIterator; -}).call(this)}).call(this,require('_process')) + var baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error$1("overflow"); + } -},{"./end-of-stream":186,"_process":172}],184:[function(require,module,exports){ -'use strict'; + w *= baseMinusT; + } -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + var out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error$1("overflow"); + } -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + n += floor(i / out); + i %= out; -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); + } -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + return String.fromCodePoint.apply(String, output); + }; -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + /** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ + var encode = function encode(input) { + var output = []; -var _require = require('buffer'), - Buffer = _require.Buffer; + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); -var _require2 = require('util'), - inspect = _require2.inspect; + // Cache the length. + var inputLength = input.length; -var custom = inspect && inspect.custom || 'inspect'; + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; -function copyBuffer(src, target, offset) { - Buffer.prototype.copy.call(src, target, offset); -} + // Handle the basic code points. + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; -module.exports = -/*#__PURE__*/ -function () { - function BufferList() { - _classCallCheck(this, BufferList); + try { + for ( + var _iterator = input[Symbol.iterator](), _step; + !(_iteratorNormalCompletion = (_step = _iterator.next()).done); + _iteratorNormalCompletion = true + ) { + var _currentValue2 = _step.value; + + if (_currentValue2 < 0x80) { + output.push(stringFromCharCode(_currentValue2)); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } - this.head = null; - this.tail = null; - this.length = 0; - } + var basicLength = output.length; + var handledCPCount = basicLength; - _createClass(BufferList, [{ - key: "push", - value: function push(v) { - var entry = { - data: v, - next: null - }; - if (this.length > 0) this.tail.next = entry;else this.head = entry; - this.tail = entry; - ++this.length; - } - }, { - key: "unshift", - value: function unshift(v) { - var entry = { - data: v, - next: this.head - }; - if (this.length === 0) this.tail = entry; - this.head = entry; - ++this.length; - } - }, { - key: "shift", - value: function shift() { - if (this.length === 0) return; - var ret = this.head.data; - if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; - --this.length; - return ret; - } - }, { - key: "clear", - value: function clear() { - this.head = this.tail = null; - this.length = 0; - } - }, { - key: "join", - value: function join(s) { - if (this.length === 0) return ''; - var p = this.head; - var ret = '' + p.data; - - while (p = p.next) { - ret += s + p.data; - } + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. - return ret; - } - }, { - key: "concat", - value: function concat(n) { - if (this.length === 0) return Buffer.alloc(0); - var ret = Buffer.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - - while (p) { - copyBuffer(p.data, ret, i); - i += p.data.length; - p = p.next; - } + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } - return ret; - } // Consumes a specified amount of bytes or characters from the buffered data. - - }, { - key: "consume", - value: function consume(n, hasStrings) { - var ret; - - if (n < this.head.data.length) { - // `slice` is the same for buffers and strings. - ret = this.head.data.slice(0, n); - this.head.data = this.head.data.slice(n); - } else if (n === this.head.data.length) { - // First chunk is a perfect match. - ret = this.shift(); - } else { - // Result spans more than one buffer. - ret = hasStrings ? this._getString(n) : this._getBuffer(n); - } + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next + // larger one: + var m = maxInt; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for ( + var _iterator2 = input[Symbol.iterator](), _step2; + !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); + _iteratorNormalCompletion2 = true + ) { + var currentValue = _step2.value; + + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } - return ret; - } - }, { - key: "first", - value: function first() { - return this.head.data; - } // Consumes a specified amount of characters from the buffered data. - - }, { - key: "_getString", - value: function _getString(n) { - var p = this.head; - var c = 1; - var ret = p.data; - n -= ret.length; - - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) ret += str;else ret += str.slice(0, n); - n -= nb; - - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) this.head = p.next;else this.head = this.tail = null; - } else { - this.head = p; - p.data = str.slice(nb); - } + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } - break; - } + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error$1("overflow"); + } - ++c; - } + delta += (m - n) * handledCPCountPlusOne; + n = m; - this.length -= c; - return ret; - } // Consumes a specified amount of bytes from the buffered data. - - }, { - key: "_getBuffer", - value: function _getBuffer(n) { - var ret = Buffer.allocUnsafe(n); - var p = this.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) this.head = p.next;else this.head = this.tail = null; - } else { - this.head = p; - p.data = buf.slice(nb); - } + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; - break; - } + try { + for ( + var _iterator3 = input[Symbol.iterator](), _step3; + !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); + _iteratorNormalCompletion3 = true + ) { + var _currentValue = _step3.value; - ++c; - } + if (_currentValue < n && ++delta > maxInt) { + error$1("overflow"); + } + if (_currentValue == n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + for (var k = base; ; /* no condition */ k += base) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) { + break; + } + var qMinusT = q - t; + var baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + (qMinusT % baseMinusT), 0))); + q = floor(qMinusT / baseMinusT); + } - this.length -= c; - return ret; - } // Make sure the linked list only shows the minimal necessary information. - - }, { - key: custom, - value: function value(_, options) { - return inspect(this, _objectSpread({}, options, { - // Only inspect one level. - depth: 0, - // It should not recurse. - customInspect: false - })); - } - }]); - - return BufferList; -}(); -},{"buffer":132,"util":131}],185:[function(require,module,exports){ -(function (process){(function (){ -'use strict'; // undocumented cb() API, needed for core, not for public API - -function destroy(err, cb) { - var _this = this; - - var readableDestroyed = this._readableState && this._readableState.destroyed; - var writableDestroyed = this._writableState && this._writableState.destroyed; - - if (readableDestroyed || writableDestroyed) { - if (cb) { - cb(err); - } else if (err) { - if (!this._writableState) { - process.nextTick(emitErrorNT, this, err); - } else if (!this._writableState.errorEmitted) { - this._writableState.errorEmitted = true; - process.nextTick(emitErrorNT, this, err); - } - } + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } - return this; - } // we set destroyed to true before firing error callbacks in order - // to make it re-entrance safe in case destroy() is called within callbacks + ++delta; + ++n; + } + return output.join(""); + }; + + /** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ + var toUnicode = function toUnicode(input) { + return mapDomain(input, function (string) { + return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; + }); + }; + + /** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ + var toASCII = function toASCII(input) { + return mapDomain(input, function (string) { + return regexNonASCII.test(string) ? "xn--" + encode(string) : string; + }); + }; + + /*--------------------------------------------------------------------------*/ + + /** Define the public API */ + var punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + version: "2.1.0", + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + ucs2: { + decode: ucs2decode, + encode: ucs2encode, + }, + decode: decode, + encode: encode, + toASCII: toASCII, + toUnicode: toUnicode, + }; + + /** + * URI.js + * + * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. + * @author
Gary Court + * @see http://github.com/garycourt/uri-js + */ + /** + * Copyright 2011 Gary Court. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of Gary Court. + */ + var SCHEMES = {}; + function pctEncChar(chr) { + var c = chr.charCodeAt(0); + var e = void 0; + if (c < 16) e = "%0" + c.toString(16).toUpperCase(); + else if (c < 128) e = "%" + c.toString(16).toUpperCase(); + else if (c < 2048) + e = "%" + ((c >> 6) | 192).toString(16).toUpperCase() + "%" + ((c & 63) | 128).toString(16).toUpperCase(); + else + e = + "%" + + ((c >> 12) | 224).toString(16).toUpperCase() + + "%" + + (((c >> 6) & 63) | 128).toString(16).toUpperCase() + + "%" + + ((c & 63) | 128).toString(16).toUpperCase(); + return e; + } + function pctDecChars(str) { + var newStr = ""; + var i = 0; + var il = str.length; + while (i < il) { + var c = parseInt(str.substr(i + 1, 2), 16); + if (c < 128) { + newStr += String.fromCharCode(c); + i += 3; + } else if (c >= 194 && c < 224) { + if (il - i >= 6) { + var c2 = parseInt(str.substr(i + 4, 2), 16); + newStr += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + } else { + newStr += str.substr(i, 6); + } + i += 6; + } else if (c >= 224) { + if (il - i >= 9) { + var _c = parseInt(str.substr(i + 4, 2), 16); + var c3 = parseInt(str.substr(i + 7, 2), 16); + newStr += String.fromCharCode(((c & 15) << 12) | ((_c & 63) << 6) | (c3 & 63)); + } else { + newStr += str.substr(i, 9); + } + i += 9; + } else { + newStr += str.substr(i, 3); + i += 3; + } + } + return newStr; + } + function _normalizeComponentEncoding(components, protocol) { + function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(protocol.UNRESERVED) ? str : decStr; + } + if (components.scheme) + components.scheme = String(components.scheme) + .replace(protocol.PCT_ENCODED, decodeUnreserved) + .toLowerCase() + .replace(protocol.NOT_SCHEME, ""); + if (components.userinfo !== undefined) + components.userinfo = String(components.userinfo) + .replace(protocol.PCT_ENCODED, decodeUnreserved) + .replace(protocol.NOT_USERINFO, pctEncChar) + .replace(protocol.PCT_ENCODED, toUpperCase); + if (components.host !== undefined) + components.host = String(components.host) + .replace(protocol.PCT_ENCODED, decodeUnreserved) + .toLowerCase() + .replace(protocol.NOT_HOST, pctEncChar) + .replace(protocol.PCT_ENCODED, toUpperCase); + if (components.path !== undefined) + components.path = String(components.path) + .replace(protocol.PCT_ENCODED, decodeUnreserved) + .replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar) + .replace(protocol.PCT_ENCODED, toUpperCase); + if (components.query !== undefined) + components.query = String(components.query) + .replace(protocol.PCT_ENCODED, decodeUnreserved) + .replace(protocol.NOT_QUERY, pctEncChar) + .replace(protocol.PCT_ENCODED, toUpperCase); + if (components.fragment !== undefined) + components.fragment = String(components.fragment) + .replace(protocol.PCT_ENCODED, decodeUnreserved) + .replace(protocol.NOT_FRAGMENT, pctEncChar) + .replace(protocol.PCT_ENCODED, toUpperCase); + return components; + } + function _stripLeadingZeros(str) { + return str.replace(/^0*(.*)/, "$1") || "0"; + } + function _normalizeIPv4(host, protocol) { + var matches = host.match(protocol.IPV4ADDRESS) || []; - if (this._readableState) { - this._readableState.destroyed = true; - } // if this is a duplex stream mark the writable part as destroyed as well + var _matches = slicedToArray(matches, 2), + address = _matches[1]; + if (address) { + return address.split(".").map(_stripLeadingZeros).join("."); + } else { + return host; + } + } + function _normalizeIPv6(host, protocol) { + var matches = host.match(protocol.IPV6ADDRESS) || []; + + var _matches2 = slicedToArray(matches, 3), + address = _matches2[1], + zone = _matches2[2]; + + if (address) { + var _address$toLowerCase$ = address.toLowerCase().split("::").reverse(), + _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), + last = _address$toLowerCase$2[0], + first = _address$toLowerCase$2[1]; + + var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; + var lastFields = last.split(":").map(_stripLeadingZeros); + var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); + var fieldCount = isLastFieldIPv4Address ? 7 : 8; + var lastFieldsStart = lastFields.length - fieldCount; + var fields = Array(fieldCount); + for (var x = 0; x < fieldCount; ++x) { + fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ""; + } + if (isLastFieldIPv4Address) { + fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); + } + var allZeroFields = fields.reduce(function (acc, field, index) { + if (!field || field === "0") { + var lastLongest = acc[acc.length - 1]; + if (lastLongest && lastLongest.index + lastLongest.length === index) { + lastLongest.length++; + } else { + acc.push({ index: index, length: 1 }); + } + } + return acc; + }, []); + var longestZeroFields = allZeroFields.sort(function (a, b) { + return b.length - a.length; + })[0]; + var newHost = void 0; + if (longestZeroFields && longestZeroFields.length > 1) { + var newFirst = fields.slice(0, longestZeroFields.index); + var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); + newHost = newFirst.join(":") + "::" + newLast.join(":"); + } else { + newHost = fields.join(":"); + } + if (zone) { + newHost += "%" + zone; + } + return newHost; + } else { + return host; + } + } + var URI_PARSE = + /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; + var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === undefined; + function parse(uriString) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var components = {}; + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + if (options.reference === "suffix") + uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; + var matches = uriString.match(URI_PARSE); + if (matches) { + if (NO_MATCH_IS_UNDEFINED) { + //store each component + components.scheme = matches[1]; + components.userinfo = matches[3]; + components.host = matches[4]; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = matches[7]; + components.fragment = matches[8]; + //fix port number + if (isNaN(components.port)) { + components.port = matches[5]; + } + } else { + //IE FIX for improper RegExp matching + //store each component + components.scheme = matches[1] || undefined; + components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : undefined; + components.host = uriString.indexOf("//") !== -1 ? matches[4] : undefined; + components.port = parseInt(matches[5], 10); + components.path = matches[6] || ""; + components.query = uriString.indexOf("?") !== -1 ? matches[7] : undefined; + components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : undefined; + //fix port number + if (isNaN(components.port)) { + components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined; + } + } + if (components.host) { + //normalize IP hosts + components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); + } + //determine reference type + if ( + components.scheme === undefined && + components.userinfo === undefined && + components.host === undefined && + components.port === undefined && + !components.path && + components.query === undefined + ) { + components.reference = "same-document"; + } else if (components.scheme === undefined) { + components.reference = "relative"; + } else if (components.fragment === undefined) { + components.reference = "absolute"; + } else { + components.reference = "uri"; + } + //check for reference errors + if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { + components.error = components.error || "URI is not a " + options.reference + " reference."; + } + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //check if scheme can't handle IRIs + if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { + //if host component is a domain name + if (components.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost))) { + //convert Unicode IDN -> ASCII IDN + try { + components.host = punycode.toASCII( + components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase(), + ); + } catch (e) { + components.error = + components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + } + //convert IRI -> URI + _normalizeComponentEncoding(components, URI_PROTOCOL); + } else { + //normalize encodings + _normalizeComponentEncoding(components, protocol); + } + //perform scheme specific parsing + if (schemeHandler && schemeHandler.parse) { + schemeHandler.parse(components, options); + } + } else { + components.error = components.error || "URI can not be parsed."; + } + return components; + } - if (this._writableState) { - this._writableState.destroyed = true; - } + function _recomposeAuthority(components, options) { + var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + if (components.userinfo !== undefined) { + uriTokens.push(components.userinfo); + uriTokens.push("@"); + } + if (components.host !== undefined) { + //normalize IP hosts, add brackets and escape zone separator for IPv6 + uriTokens.push( + _normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace( + protocol.IPV6ADDRESS, + function (_, $1, $2) { + return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; + }, + ), + ); + } + if (typeof components.port === "number" || typeof components.port === "string") { + uriTokens.push(":"); + uriTokens.push(String(components.port)); + } + return uriTokens.length ? uriTokens.join("") : undefined; + } - this._destroy(err || null, function (err) { - if (!cb && err) { - if (!_this._writableState) { - process.nextTick(emitErrorAndCloseNT, _this, err); - } else if (!_this._writableState.errorEmitted) { - _this._writableState.errorEmitted = true; - process.nextTick(emitErrorAndCloseNT, _this, err); - } else { - process.nextTick(emitCloseNT, _this); - } - } else if (cb) { - process.nextTick(emitCloseNT, _this); - cb(err); - } else { - process.nextTick(emitCloseNT, _this); - } - }); - - return this; -} - -function emitErrorAndCloseNT(self, err) { - emitErrorNT(self, err); - emitCloseNT(self); -} - -function emitCloseNT(self) { - if (self._writableState && !self._writableState.emitClose) return; - if (self._readableState && !self._readableState.emitClose) return; - self.emit('close'); -} - -function undestroy() { - if (this._readableState) { - this._readableState.destroyed = false; - this._readableState.reading = false; - this._readableState.ended = false; - this._readableState.endEmitted = false; - } + var RDS1 = /^\.\.?\//; + var RDS2 = /^\/\.(\/|$)/; + var RDS3 = /^\/\.\.(\/|$)/; + var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; + function removeDotSegments(input) { + var output = []; + while (input.length) { + if (input.match(RDS1)) { + input = input.replace(RDS1, ""); + } else if (input.match(RDS2)) { + input = input.replace(RDS2, "/"); + } else if (input.match(RDS3)) { + input = input.replace(RDS3, "/"); + output.pop(); + } else if (input === "." || input === "..") { + input = ""; + } else { + var im = input.match(RDS5); + if (im) { + var s = im[0]; + input = input.slice(s.length); + output.push(s); + } else { + throw new Error("Unexpected dot segment condition"); + } + } + } + return output.join(""); + } - if (this._writableState) { - this._writableState.destroyed = false; - this._writableState.ended = false; - this._writableState.ending = false; - this._writableState.finalCalled = false; - this._writableState.prefinished = false; - this._writableState.finished = false; - this._writableState.errorEmitted = false; - } -} - -function emitErrorNT(self, err) { - self.emit('error', err); -} - -function errorOrDestroy(stream, err) { - // We have tests that rely on errors being emitted - // in the same tick, so changing this is semver major. - // For now when you opt-in to autoDestroy we allow - // the error to be emitted nextTick. In a future - // semver major update we should change the default to this. - var rState = stream._readableState; - var wState = stream._writableState; - if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err); -} - -module.exports = { - destroy: destroy, - undestroy: undestroy, - errorOrDestroy: errorOrDestroy -}; -}).call(this)}).call(this,require('_process')) - -},{"_process":172}],186:[function(require,module,exports){ -// Ported from https://github.com/mafintosh/end-of-stream with -// permission from the author, Mathias Buus (@mafintosh). -'use strict'; - -var ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE; - -function once(callback) { - var called = false; - return function () { - if (called) return; - called = true; - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } + function serialize(components) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; + var uriTokens = []; + //find scheme handler + var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; + //perform scheme specific serialization + if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); + if (components.host) { + //if host component is an IPv6 address + if (protocol.IPV6ADDRESS.test(components.host)) { + } + //TODO: normalize IPv6 address as per RFC 5952 - callback.apply(this, args); - }; -} + //if host component is a domain name + else if (options.domainHost || (schemeHandler && schemeHandler.domainHost)) { + //convert IDN via punycode + try { + components.host = !options.iri + ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) + : punycode.toUnicode(components.host); + } catch (e) { + components.error = + components.error || + "Host's domain name can not be converted to " + + (!options.iri ? "ASCII" : "Unicode") + + " via punycode: " + + e; + } + } + } + //normalize encoding + _normalizeComponentEncoding(components, protocol); + if (options.reference !== "suffix" && components.scheme) { + uriTokens.push(components.scheme); + uriTokens.push(":"); + } + var authority = _recomposeAuthority(components, options); + if (authority !== undefined) { + if (options.reference !== "suffix") { + uriTokens.push("//"); + } + uriTokens.push(authority); + if (components.path && components.path.charAt(0) !== "/") { + uriTokens.push("/"); + } + } + if (components.path !== undefined) { + var s = components.path; + if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { + s = removeDotSegments(s); + } + if (authority === undefined) { + s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" + } + uriTokens.push(s); + } + if (components.query !== undefined) { + uriTokens.push("?"); + uriTokens.push(components.query); + } + if (components.fragment !== undefined) { + uriTokens.push("#"); + uriTokens.push(components.fragment); + } + return uriTokens.join(""); //merge tokens into a string + } -function noop() {} + function resolveComponents(base, relative) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var skipNormalization = arguments[3]; -function isRequest(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -} + var target = {}; + if (!skipNormalization) { + base = parse(serialize(base, options), options); //normalize base components + relative = parse(serialize(relative, options), options); //normalize relative components + } + options = options || {}; + if (!options.tolerant && relative.scheme) { + target.scheme = relative.scheme; + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { + //target.authority = relative.authority; + target.userinfo = relative.userinfo; + target.host = relative.host; + target.port = relative.port; + target.path = removeDotSegments(relative.path || ""); + target.query = relative.query; + } else { + if (!relative.path) { + target.path = base.path; + if (relative.query !== undefined) { + target.query = relative.query; + } else { + target.query = base.query; + } + } else { + if (relative.path.charAt(0) === "/") { + target.path = removeDotSegments(relative.path); + } else { + if ( + (base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && + !base.path + ) { + target.path = "/" + relative.path; + } else if (!base.path) { + target.path = relative.path; + } else { + target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; + } + target.path = removeDotSegments(target.path); + } + target.query = relative.query; + } + //target.authority = base.authority; + target.userinfo = base.userinfo; + target.host = base.host; + target.port = base.port; + } + target.scheme = base.scheme; + } + target.fragment = relative.fragment; + return target; + } -function eos(stream, opts, callback) { - if (typeof opts === 'function') return eos(stream, null, opts); - if (!opts) opts = {}; - callback = once(callback || noop); - var readable = opts.readable || opts.readable !== false && stream.readable; - var writable = opts.writable || opts.writable !== false && stream.writable; + function resolve(baseURI, relativeURI, options) { + var schemelessOptions = assign({ scheme: "null" }, options); + return serialize( + resolveComponents( + parse(baseURI, schemelessOptions), + parse(relativeURI, schemelessOptions), + schemelessOptions, + true, + ), + schemelessOptions, + ); + } - var onlegacyfinish = function onlegacyfinish() { - if (!stream.writable) onfinish(); - }; + function normalize(uri, options) { + if (typeof uri === "string") { + uri = serialize(parse(uri, options), options); + } else if (typeOf(uri) === "object") { + uri = parse(serialize(uri, options), options); + } + return uri; + } - var writableEnded = stream._writableState && stream._writableState.finished; + function equal(uriA, uriB, options) { + if (typeof uriA === "string") { + uriA = serialize(parse(uriA, options), options); + } else if (typeOf(uriA) === "object") { + uriA = serialize(uriA, options); + } + if (typeof uriB === "string") { + uriB = serialize(parse(uriB, options), options); + } else if (typeOf(uriB) === "object") { + uriB = serialize(uriB, options); + } + return uriA === uriB; + } - var onfinish = function onfinish() { - writable = false; - writableEnded = true; - if (!readable) callback.call(stream); - }; + function escapeComponent(str, options) { + return ( + str && + str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar) + ); + } - var readableEnded = stream._readableState && stream._readableState.endEmitted; + function unescapeComponent(str, options) { + return ( + str && + str + .toString() + .replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars) + ); + } - var onend = function onend() { - readable = false; - readableEnded = true; - if (!writable) callback.call(stream); - }; + var handler = { + scheme: "http", + domainHost: true, + parse: function parse(components, options) { + //report missing host + if (!components.host) { + components.error = components.error || "HTTP URIs must have a host."; + } + return components; + }, + serialize: function serialize(components, options) { + var secure = String(components.scheme).toLowerCase() === "https"; + //normalize the default port + if (components.port === (secure ? 443 : 80) || components.port === "") { + components.port = undefined; + } + //normalize the empty path + if (!components.path) { + components.path = "/"; + } + //NOTE: We do not parse query strings for HTTP URIs + //as WWW Form Url Encoded query strings are part of the HTML4+ spec, + //and not the HTTP spec. + return components; + }, + }; + + var handler$1 = { + scheme: "https", + domainHost: handler.domainHost, + parse: handler.parse, + serialize: handler.serialize, + }; + + function isSecure(wsComponents) { + return typeof wsComponents.secure === "boolean" + ? wsComponents.secure + : String(wsComponents.scheme).toLowerCase() === "wss"; + } + //RFC 6455 + var handler$2 = { + scheme: "ws", + domainHost: true, + parse: function parse(components, options) { + var wsComponents = components; + //indicate if the secure flag is set + wsComponents.secure = isSecure(wsComponents); + //construct resouce name + wsComponents.resourceName = + (wsComponents.path || "/") + (wsComponents.query ? "?" + wsComponents.query : ""); + wsComponents.path = undefined; + wsComponents.query = undefined; + return wsComponents; + }, + serialize: function serialize(wsComponents, options) { + //normalize the default port + if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { + wsComponents.port = undefined; + } + //ensure scheme matches secure flag + if (typeof wsComponents.secure === "boolean") { + wsComponents.scheme = wsComponents.secure ? "wss" : "ws"; + wsComponents.secure = undefined; + } + //reconstruct path from resource name + if (wsComponents.resourceName) { + var _wsComponents$resourc = wsComponents.resourceName.split("?"), + _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), + path = _wsComponents$resourc2[0], + query = _wsComponents$resourc2[1]; + + wsComponents.path = path && path !== "/" ? path : undefined; + wsComponents.query = query; + wsComponents.resourceName = undefined; + } + //forbid fragment component + wsComponents.fragment = undefined; + return wsComponents; + }, + }; + + var handler$3 = { + scheme: "wss", + domainHost: handler$2.domainHost, + parse: handler$2.parse, + serialize: handler$2.serialize, + }; + + var O = {}; + var isIRI = true; + //RFC 3986 + var UNRESERVED$$ = + "[A-Za-z0-9\\-\\.\\_\\~" + + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + + "]"; + var HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive + var PCT_ENCODED$ = subexp( + subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + + "|" + + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + + "|" + + subexp("%" + HEXDIG$$ + HEXDIG$$), + ); //expanded + //RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = + //const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; + //const WSP$$ = "[\\x20\\x09]"; + //const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) + //const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext + //const VCHAR$$ = "[\\x21-\\x7E]"; + //const WSP$$ = "[\\x20\\x09]"; + //const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext + //const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); + //const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); + //const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); + var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; + var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; + var VCHAR$$ = merge(QTEXT$$, '[\\"\\\\]'); + var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; + var UNRESERVED = new RegExp(UNRESERVED$$, "g"); + var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); + var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); + var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); + var NOT_HFVALUE = NOT_HFNAME; + function decodeUnreserved(str) { + var decStr = pctDecChars(str); + return !decStr.match(UNRESERVED) ? str : decStr; + } + var handler$4 = { + scheme: "mailto", + parse: function parse$$1(components, options) { + var mailtoComponents = components; + var to = (mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []); + mailtoComponents.path = undefined; + if (mailtoComponents.query) { + var unknownHeaders = false; + var headers = {}; + var hfields = mailtoComponents.query.split("&"); + for (var x = 0, xl = hfields.length; x < xl; ++x) { + var hfield = hfields[x].split("="); + switch (hfield[0]) { + case "to": + var toAddrs = hfield[1].split(","); + for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { + to.push(toAddrs[_x]); + } + break; + case "subject": + mailtoComponents.subject = unescapeComponent(hfield[1], options); + break; + case "body": + mailtoComponents.body = unescapeComponent(hfield[1], options); + break; + default: + unknownHeaders = true; + headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); + break; + } + } + if (unknownHeaders) mailtoComponents.headers = headers; + } + mailtoComponents.query = undefined; + for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { + var addr = to[_x2].split("@"); + addr[0] = unescapeComponent(addr[0]); + if (!options.unicodeSupport) { + //convert Unicode IDN -> ASCII IDN + try { + addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); + } catch (e) { + mailtoComponents.error = + mailtoComponents.error || + "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + } else { + addr[1] = unescapeComponent(addr[1], options).toLowerCase(); + } + to[_x2] = addr.join("@"); + } + return mailtoComponents; + }, + serialize: function serialize$$1(mailtoComponents, options) { + var components = mailtoComponents; + var to = toArray(mailtoComponents.to); + if (to) { + for (var x = 0, xl = to.length; x < xl; ++x) { + var toAddr = String(to[x]); + var atIdx = toAddr.lastIndexOf("@"); + var localPart = toAddr + .slice(0, atIdx) + .replace(PCT_ENCODED, decodeUnreserved) + .replace(PCT_ENCODED, toUpperCase) + .replace(NOT_LOCAL_PART, pctEncChar); + var domain = toAddr.slice(atIdx + 1); + //convert IDN via punycode + try { + domain = !options.iri + ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) + : punycode.toUnicode(domain); + } catch (e) { + components.error = + components.error || + "Email address's domain name can not be converted to " + + (!options.iri ? "ASCII" : "Unicode") + + " via punycode: " + + e; + } + to[x] = localPart + "@" + domain; + } + components.path = to.join(","); + } + var headers = (mailtoComponents.headers = mailtoComponents.headers || {}); + if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; + if (mailtoComponents.body) headers["body"] = mailtoComponents.body; + var fields = []; + for (var name in headers) { + if (headers[name] !== O[name]) { + fields.push( + name + .replace(PCT_ENCODED, decodeUnreserved) + .replace(PCT_ENCODED, toUpperCase) + .replace(NOT_HFNAME, pctEncChar) + + "=" + + headers[name] + .replace(PCT_ENCODED, decodeUnreserved) + .replace(PCT_ENCODED, toUpperCase) + .replace(NOT_HFVALUE, pctEncChar), + ); + } + } + if (fields.length) { + components.query = fields.join("&"); + } + return components; + }, + }; + + var URN_PARSE = /^([^\:]+)\:(.*)/; + //RFC 2141 + var handler$5 = { + scheme: "urn", + parse: function parse$$1(components, options) { + var matches = components.path && components.path.match(URN_PARSE); + var urnComponents = components; + if (matches) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = matches[1].toLowerCase(); + var nss = matches[2]; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + urnComponents.nid = nid; + urnComponents.nss = nss; + urnComponents.path = undefined; + if (schemeHandler) { + urnComponents = schemeHandler.parse(urnComponents, options); + } + } else { + urnComponents.error = urnComponents.error || "URN can not be parsed."; + } + return urnComponents; + }, + serialize: function serialize$$1(urnComponents, options) { + var scheme = options.scheme || urnComponents.scheme || "urn"; + var nid = urnComponents.nid; + var urnScheme = scheme + ":" + (options.nid || nid); + var schemeHandler = SCHEMES[urnScheme]; + if (schemeHandler) { + urnComponents = schemeHandler.serialize(urnComponents, options); + } + var uriComponents = urnComponents; + var nss = urnComponents.nss; + uriComponents.path = (nid || options.nid) + ":" + nss; + return uriComponents; + }, + }; + + var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; + //RFC 4122 + var handler$6 = { + scheme: "urn:uuid", + parse: function parse(urnComponents, options) { + var uuidComponents = urnComponents; + uuidComponents.uuid = uuidComponents.nss; + uuidComponents.nss = undefined; + if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { + uuidComponents.error = uuidComponents.error || "UUID is not valid."; + } + return uuidComponents; + }, + serialize: function serialize(uuidComponents, options) { + var urnComponents = uuidComponents; + //normalize UUID + urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); + return urnComponents; + }, + }; + + SCHEMES[handler.scheme] = handler; + SCHEMES[handler$1.scheme] = handler$1; + SCHEMES[handler$2.scheme] = handler$2; + SCHEMES[handler$3.scheme] = handler$3; + SCHEMES[handler$4.scheme] = handler$4; + SCHEMES[handler$5.scheme] = handler$5; + SCHEMES[handler$6.scheme] = handler$6; + + exports.SCHEMES = SCHEMES; + exports.pctEncChar = pctEncChar; + exports.pctDecChars = pctDecChars; + exports.parse = parse; + exports.removeDotSegments = removeDotSegments; + exports.serialize = serialize; + exports.resolveComponents = resolveComponents; + exports.resolve = resolve; + exports.normalize = normalize; + exports.equal = equal; + exports.escapeComponent = escapeComponent; + exports.unescapeComponent = unescapeComponent; + + Object.defineProperty(exports, "__esModule", { value: true }); + }); + }, + {}, + ], + 199: [ + function (require, module, exports) { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + "use strict"; + + var punycode = require("punycode"); + var util = require("./util"); + + exports.parse = urlParse; + exports.resolve = urlResolve; + exports.resolveObject = urlResolveObject; + exports.format = urlFormat; + + exports.Url = Url; + + function Url() { + this.protocol = null; + this.slashes = null; + this.auth = null; + this.host = null; + this.port = null; + this.hostname = null; + this.hash = null; + this.search = null; + this.query = null; + this.pathname = null; + this.path = null; + this.href = null; + } + + // Reference: RFC 3986, RFC 1808, RFC 2396 + + // define these here so at least they only have to be + // compiled once on the first module load. + var protocolPattern = /^([a-z0-9.+-]+:)/i, + portPattern = /:[0-9]*$/, + // Special case for a simple path URL + simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, + // RFC 2396: characters reserved for delimiting URLs. + // We actually just auto-escape these. + delims = ["<", ">", '"', "`", " ", "\r", "\n", "\t"], + // RFC 2396: characters not allowed for various reasons. + unwise = ["{", "}", "|", "\\", "^", "`"].concat(delims), + // Allowed by RFCs, but cause of XSS attacks. Always escape these. + autoEscape = ["'"].concat(unwise), + // Characters that are never ever allowed in a hostname. + // Note that any invalid chars are also handled, but these + // are the ones that are *expected* to be seen, so we fast-path + // them. + nonHostChars = ["%", "/", "?", ";", "#"].concat(autoEscape), + hostEndingChars = ["/", "?", "#"], + hostnameMaxLen = 255, + hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, + hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, + // protocols that can allow "unsafe" and "unwise" chars. + unsafeProtocol = { + javascript: true, + "javascript:": true, + }, + // protocols that never have a hostname. + hostlessProtocol = { + javascript: true, + "javascript:": true, + }, + // protocols that always contain a // bit. + slashedProtocol = { + http: true, + https: true, + ftp: true, + gopher: true, + file: true, + "http:": true, + "https:": true, + "ftp:": true, + "gopher:": true, + "file:": true, + }, + querystring = require("querystring"); - var onerror = function onerror(err) { - callback.call(stream, err); - }; + function urlParse(url, parseQueryString, slashesDenoteHost) { + if (url && util.isObject(url) && url instanceof Url) return url; - var onclose = function onclose() { - var err; + var u = new Url(); + u.parse(url, parseQueryString, slashesDenoteHost); + return u; + } - if (readable && !readableEnded) { - if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); - return callback.call(stream, err); - } + Url.prototype.parse = function (url, parseQueryString, slashesDenoteHost) { + if (!util.isString(url)) { + throw new TypeError("Parameter 'url' must be a string, not " + typeof url); + } - if (writable && !writableEnded) { - if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE(); - return callback.call(stream, err); - } - }; - - var onrequest = function onrequest() { - stream.req.on('finish', onfinish); - }; - - if (isRequest(stream)) { - stream.on('complete', onfinish); - stream.on('abort', onclose); - if (stream.req) onrequest();else stream.on('request', onrequest); - } else if (writable && !stream._writableState) { - // legacy streams - stream.on('end', onlegacyfinish); - stream.on('close', onlegacyfinish); - } + // Copy chrome, IE, opera backslash-handling behavior. + // Back slashes before the query string get converted to forward slashes + // See: https://code.google.com/p/chromium/issues/detail?id=25916 + var queryIndex = url.indexOf("?"), + splitter = queryIndex !== -1 && queryIndex < url.indexOf("#") ? "?" : "#", + uSplit = url.split(splitter), + slashRegex = /\\/g; + uSplit[0] = uSplit[0].replace(slashRegex, "/"); + url = uSplit.join(splitter); + + var rest = url; + + // trim before proceeding. + // This is to support parse stuff like " http://foo.com \n" + rest = rest.trim(); + + if (!slashesDenoteHost && url.split("#").length === 1) { + // Try fast path regexp + var simplePath = simplePathPattern.exec(rest); + if (simplePath) { + this.path = rest; + this.href = rest; + this.pathname = simplePath[1]; + if (simplePath[2]) { + this.search = simplePath[2]; + if (parseQueryString) { + this.query = querystring.parse(this.search.substr(1)); + } else { + this.query = this.search.substr(1); + } + } else if (parseQueryString) { + this.search = ""; + this.query = {}; + } + return this; + } + } - stream.on('end', onend); - stream.on('finish', onfinish); - if (opts.error !== false) stream.on('error', onerror); - stream.on('close', onclose); - return function () { - stream.removeListener('complete', onfinish); - stream.removeListener('abort', onclose); - stream.removeListener('request', onrequest); - if (stream.req) stream.req.removeListener('finish', onfinish); - stream.removeListener('end', onlegacyfinish); - stream.removeListener('close', onlegacyfinish); - stream.removeListener('finish', onfinish); - stream.removeListener('end', onend); - stream.removeListener('error', onerror); - stream.removeListener('close', onclose); - }; -} - -module.exports = eos; -},{"../../../errors":177}],187:[function(require,module,exports){ -module.exports = function () { - throw new Error('Readable.from is not available in the browser') -}; - -},{}],188:[function(require,module,exports){ -// Ported from https://github.com/mafintosh/pump with -// permission from the author, Mathias Buus (@mafintosh). -'use strict'; - -var eos; - -function once(callback) { - var called = false; - return function () { - if (called) return; - called = true; - callback.apply(void 0, arguments); - }; -} - -var _require$codes = require('../../../errors').codes, - ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, - ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED; - -function noop(err) { - // Rethrow the error if it exists to avoid swallowing it - if (err) throw err; -} - -function isRequest(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -} - -function destroyer(stream, reading, writing, callback) { - callback = once(callback); - var closed = false; - stream.on('close', function () { - closed = true; - }); - if (eos === undefined) eos = require('./end-of-stream'); - eos(stream, { - readable: reading, - writable: writing - }, function (err) { - if (err) return callback(err); - closed = true; - callback(); - }); - var destroyed = false; - return function (err) { - if (closed) return; - if (destroyed) return; - destroyed = true; // request.destroy just do .end - .abort is what we want - - if (isRequest(stream)) return stream.abort(); - if (typeof stream.destroy === 'function') return stream.destroy(); - callback(err || new ERR_STREAM_DESTROYED('pipe')); - }; -} - -function call(fn) { - fn(); -} - -function pipe(from, to) { - return from.pipe(to); -} - -function popCallback(streams) { - if (!streams.length) return noop; - if (typeof streams[streams.length - 1] !== 'function') return noop; - return streams.pop(); -} - -function pipeline() { - for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) { - streams[_key] = arguments[_key]; - } + var proto = protocolPattern.exec(rest); + if (proto) { + proto = proto[0]; + var lowerProto = proto.toLowerCase(); + this.protocol = lowerProto; + rest = rest.substr(proto.length); + } - var callback = popCallback(streams); - if (Array.isArray(streams[0])) streams = streams[0]; + // figure out if it's got a host + // user@server is *always* interpreted as a hostname, and url + // resolution will treat //foo/bar as host=foo,path=bar because that's + // how the browser resolves relative URLs. + if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { + var slashes = rest.substr(0, 2) === "//"; + if (slashes && !(proto && hostlessProtocol[proto])) { + rest = rest.substr(2); + this.slashes = true; + } + } - if (streams.length < 2) { - throw new ERR_MISSING_ARGS('streams'); - } + if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) { + // there's a hostname. + // the first instance of /, ?, ;, or # ends the host. + // + // If there is an @ in the hostname, then non-host chars *are* allowed + // to the left of the last @ sign, unless some host-ending character + // comes *before* the @-sign. + // URLs are obnoxious. + // + // ex: + // http://a@b@c/ => user:a@b host:c + // http://a@b?@c => user:a host:c path:/?@c + + // v0.12 TODO(isaacs): This is not quite how Chrome does things. + // Review our test case against browsers more comprehensively. + + // find the first instance of any hostEndingChars + var hostEnd = -1; + for (var i = 0; i < hostEndingChars.length; i++) { + var hec = rest.indexOf(hostEndingChars[i]); + if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) hostEnd = hec; + } - var error; - var destroys = streams.map(function (stream, i) { - var reading = i < streams.length - 1; - var writing = i > 0; - return destroyer(stream, reading, writing, function (err) { - if (!error) error = err; - if (err) destroys.forEach(call); - if (reading) return; - destroys.forEach(call); - callback(error); - }); - }); - return streams.reduce(pipe); -} - -module.exports = pipeline; -},{"../../../errors":177,"./end-of-stream":186}],189:[function(require,module,exports){ -'use strict'; - -var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE; - -function highWaterMarkFrom(options, isDuplex, duplexKey) { - return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null; -} - -function getHighWaterMark(state, options, duplexKey, isDuplex) { - var hwm = highWaterMarkFrom(options, isDuplex, duplexKey); - - if (hwm != null) { - if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) { - var name = isDuplex ? duplexKey : 'highWaterMark'; - throw new ERR_INVALID_OPT_VALUE(name, hwm); - } + // at this point, either we have an explicit point where the + // auth portion cannot go past, or the last @ char is the decider. + var auth, atSign; + if (hostEnd === -1) { + // atSign can be anywhere. + atSign = rest.lastIndexOf("@"); + } else { + // atSign must be in auth portion. + // http://a@b/c@d => host:b auth:a path:/c@d + atSign = rest.lastIndexOf("@", hostEnd); + } - return Math.floor(hwm); - } // Default value - - - return state.objectMode ? 16 : 16 * 1024; -} - -module.exports = { - getHighWaterMark: getHighWaterMark -}; -},{"../../../errors":177}],190:[function(require,module,exports){ -module.exports = require('events').EventEmitter; - -},{"events":135}],191:[function(require,module,exports){ -exports = module.exports = require('./lib/_stream_readable.js'); -exports.Stream = exports; -exports.Readable = exports; -exports.Writable = require('./lib/_stream_writable.js'); -exports.Duplex = require('./lib/_stream_duplex.js'); -exports.Transform = require('./lib/_stream_transform.js'); -exports.PassThrough = require('./lib/_stream_passthrough.js'); -exports.finished = require('./lib/internal/streams/end-of-stream.js'); -exports.pipeline = require('./lib/internal/streams/pipeline.js'); - -},{"./lib/_stream_duplex.js":178,"./lib/_stream_passthrough.js":179,"./lib/_stream_readable.js":180,"./lib/_stream_transform.js":181,"./lib/_stream_writable.js":182,"./lib/internal/streams/end-of-stream.js":186,"./lib/internal/streams/pipeline.js":188}],192:[function(require,module,exports){ -(function (global){(function (){ -var ClientRequest = require('./lib/request') -var response = require('./lib/response') -var extend = require('xtend') -var statusCodes = require('builtin-status-codes') -var url = require('url') - -var http = exports - -http.request = function (opts, cb) { - if (typeof opts === 'string') - opts = url.parse(opts) - else - opts = extend(opts) - - // Normally, the page is loaded from http or https, so not specifying a protocol - // will result in a (valid) protocol-relative url. However, this won't work if - // the protocol is something else, like 'file:' - var defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : '' - - var protocol = opts.protocol || defaultProtocol - var host = opts.hostname || opts.host - var port = opts.port - var path = opts.path || '/' - - // Necessary for IPv6 addresses - if (host && host.indexOf(':') !== -1) - host = '[' + host + ']' - - // This may be a relative url. The browser should always be able to interpret it correctly. - opts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path - opts.method = (opts.method || 'GET').toUpperCase() - opts.headers = opts.headers || {} - - // Also valid opts.auth, opts.mode - - var req = new ClientRequest(opts) - if (cb) - req.on('response', cb) - return req -} - -http.get = function get (opts, cb) { - var req = http.request(opts, cb) - req.end() - return req -} - -http.ClientRequest = ClientRequest -http.IncomingMessage = response.IncomingMessage - -http.Agent = function () {} -http.Agent.defaultMaxSockets = 4 - -http.globalAgent = new http.Agent() - -http.STATUS_CODES = statusCodes - -http.METHODS = [ - 'CHECKOUT', - 'CONNECT', - 'COPY', - 'DELETE', - 'GET', - 'HEAD', - 'LOCK', - 'M-SEARCH', - 'MERGE', - 'MKACTIVITY', - 'MKCOL', - 'MOVE', - 'NOTIFY', - 'OPTIONS', - 'PATCH', - 'POST', - 'PROPFIND', - 'PROPPATCH', - 'PURGE', - 'PUT', - 'REPORT', - 'SEARCH', - 'SUBSCRIBE', - 'TRACE', - 'UNLOCK', - 'UNSUBSCRIBE' -] -}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"./lib/request":194,"./lib/response":195,"builtin-status-codes":133,"url":199,"xtend":205}],193:[function(require,module,exports){ -(function (global){(function (){ -exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream) - -exports.writableStream = isFunction(global.WritableStream) - -exports.abortController = isFunction(global.AbortController) - -// The xhr request to example.com may violate some restrictive CSP configurations, -// so if we're running in a browser that supports `fetch`, avoid calling getXHR() -// and assume support for certain features below. -var xhr -function getXHR () { - // Cache the xhr value - if (xhr !== undefined) return xhr - - if (global.XMLHttpRequest) { - xhr = new global.XMLHttpRequest() - // If XDomainRequest is available (ie only, where xhr might not work - // cross domain), use the page location. Otherwise use example.com - // Note: this doesn't actually make an http request. - try { - xhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com') - } catch(e) { - xhr = null - } - } else { - // Service workers don't have XHR - xhr = null - } - return xhr -} - -function checkTypeSupport (type) { - var xhr = getXHR() - if (!xhr) return false - try { - xhr.responseType = type - return xhr.responseType === type - } catch (e) {} - return false -} - -// If fetch is supported, then arraybuffer will be supported too. Skip calling -// checkTypeSupport(), since that calls getXHR(). -exports.arraybuffer = exports.fetch || checkTypeSupport('arraybuffer') - -// These next two tests unavoidably show warnings in Chrome. Since fetch will always -// be used if it's available, just return false for these to avoid the warnings. -exports.msstream = !exports.fetch && checkTypeSupport('ms-stream') -exports.mozchunkedarraybuffer = !exports.fetch && checkTypeSupport('moz-chunked-arraybuffer') - -// If fetch is supported, then overrideMimeType will be supported too. Skip calling -// getXHR(). -exports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false) - -function isFunction (value) { - return typeof value === 'function' -} - -xhr = null // Help gc - -}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{}],194:[function(require,module,exports){ -(function (process,global,Buffer){(function (){ -var capability = require('./capability') -var inherits = require('inherits') -var response = require('./response') -var stream = require('readable-stream') - -var IncomingMessage = response.IncomingMessage -var rStates = response.readyStates - -function decideMode (preferBinary, useFetch) { - if (capability.fetch && useFetch) { - return 'fetch' - } else if (capability.mozchunkedarraybuffer) { - return 'moz-chunked-arraybuffer' - } else if (capability.msstream) { - return 'ms-stream' - } else if (capability.arraybuffer && preferBinary) { - return 'arraybuffer' - } else { - return 'text' - } -} - -var ClientRequest = module.exports = function (opts) { - var self = this - stream.Writable.call(self) - - self._opts = opts - self._body = [] - self._headers = {} - if (opts.auth) - self.setHeader('Authorization', 'Basic ' + Buffer.from(opts.auth).toString('base64')) - Object.keys(opts.headers).forEach(function (name) { - self.setHeader(name, opts.headers[name]) - }) - - var preferBinary - var useFetch = true - if (opts.mode === 'disable-fetch' || ('requestTimeout' in opts && !capability.abortController)) { - // If the use of XHR should be preferred. Not typically needed. - useFetch = false - preferBinary = true - } else if (opts.mode === 'prefer-streaming') { - // If streaming is a high priority but binary compatibility and - // the accuracy of the 'content-type' header aren't - preferBinary = false - } else if (opts.mode === 'allow-wrong-content-type') { - // If streaming is more important than preserving the 'content-type' header - preferBinary = !capability.overrideMimeType - } else if (!opts.mode || opts.mode === 'default' || opts.mode === 'prefer-fast') { - // Use binary if text streaming may corrupt data or the content-type header, or for speed - preferBinary = true - } else { - throw new Error('Invalid value for opts.mode') - } - self._mode = decideMode(preferBinary, useFetch) - self._fetchTimer = null - self._socketTimeout = null - self._socketTimer = null - - self.on('finish', function () { - self._onFinish() - }) -} - -inherits(ClientRequest, stream.Writable) - -ClientRequest.prototype.setHeader = function (name, value) { - var self = this - var lowerName = name.toLowerCase() - // This check is not necessary, but it prevents warnings from browsers about setting unsafe - // headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but - // http-browserify did it, so I will too. - if (unsafeHeaders.indexOf(lowerName) !== -1) - return - - self._headers[lowerName] = { - name: name, - value: value - } -} - -ClientRequest.prototype.getHeader = function (name) { - var header = this._headers[name.toLowerCase()] - if (header) - return header.value - return null -} - -ClientRequest.prototype.removeHeader = function (name) { - var self = this - delete self._headers[name.toLowerCase()] -} - -ClientRequest.prototype._onFinish = function () { - var self = this - - if (self._destroyed) - return - var opts = self._opts - - if ('timeout' in opts && opts.timeout !== 0) { - self.setTimeout(opts.timeout) - } - - var headersObj = self._headers - var body = null - if (opts.method !== 'GET' && opts.method !== 'HEAD') { - body = new Blob(self._body, { - type: (headersObj['content-type'] || {}).value || '' - }); - } + // Now we have a portion which is definitely the auth. + // Pull that off. + if (atSign !== -1) { + auth = rest.slice(0, atSign); + rest = rest.slice(atSign + 1); + this.auth = decodeURIComponent(auth); + } - // create flattened list of headers - var headersList = [] - Object.keys(headersObj).forEach(function (keyName) { - var name = headersObj[keyName].name - var value = headersObj[keyName].value - if (Array.isArray(value)) { - value.forEach(function (v) { - headersList.push([name, v]) - }) - } else { - headersList.push([name, value]) - } - }) - - if (self._mode === 'fetch') { - var signal = null - if (capability.abortController) { - var controller = new AbortController() - signal = controller.signal - self._fetchAbortController = controller - - if ('requestTimeout' in opts && opts.requestTimeout !== 0) { - self._fetchTimer = global.setTimeout(function () { - self.emit('requestTimeout') - if (self._fetchAbortController) - self._fetchAbortController.abort() - }, opts.requestTimeout) - } - } - - global.fetch(self._opts.url, { - method: self._opts.method, - headers: headersList, - body: body || undefined, - mode: 'cors', - credentials: opts.withCredentials ? 'include' : 'same-origin', - signal: signal - }).then(function (response) { - self._fetchResponse = response - self._resetTimers(false) - self._connect() - }, function (reason) { - self._resetTimers(true) - if (!self._destroyed) - self.emit('error', reason) - }) - } else { - var xhr = self._xhr = new global.XMLHttpRequest() - try { - xhr.open(self._opts.method, self._opts.url, true) - } catch (err) { - process.nextTick(function () { - self.emit('error', err) - }) - return - } - - // Can't set responseType on really old browsers - if ('responseType' in xhr) - xhr.responseType = self._mode - - if ('withCredentials' in xhr) - xhr.withCredentials = !!opts.withCredentials - - if (self._mode === 'text' && 'overrideMimeType' in xhr) - xhr.overrideMimeType('text/plain; charset=x-user-defined') - - if ('requestTimeout' in opts) { - xhr.timeout = opts.requestTimeout - xhr.ontimeout = function () { - self.emit('requestTimeout') - } - } - - headersList.forEach(function (header) { - xhr.setRequestHeader(header[0], header[1]) - }) - - self._response = null - xhr.onreadystatechange = function () { - switch (xhr.readyState) { - case rStates.LOADING: - case rStates.DONE: - self._onXHRProgress() - break - } - } - // Necessary for streaming in Firefox, since xhr.response is ONLY defined - // in onprogress, not in onreadystatechange with xhr.readyState = 3 - if (self._mode === 'moz-chunked-arraybuffer') { - xhr.onprogress = function () { - self._onXHRProgress() - } - } - - xhr.onerror = function () { - if (self._destroyed) - return - self._resetTimers(true) - self.emit('error', new Error('XHR error')) - } - - try { - xhr.send(body) - } catch (err) { - process.nextTick(function () { - self.emit('error', err) - }) - return - } - } -} - -/** - * Checks if xhr.status is readable and non-zero, indicating no error. - * Even though the spec says it should be available in readyState 3, - * accessing it throws an exception in IE8 - */ -function statusValid (xhr) { - try { - var status = xhr.status - return (status !== null && status !== 0) - } catch (e) { - return false - } -} - -ClientRequest.prototype._onXHRProgress = function () { - var self = this - - self._resetTimers(false) - - if (!statusValid(self._xhr) || self._destroyed) - return - - if (!self._response) - self._connect() - - self._response._onXHRProgress(self._resetTimers.bind(self)) -} - -ClientRequest.prototype._connect = function () { - var self = this - - if (self._destroyed) - return - - self._response = new IncomingMessage(self._xhr, self._fetchResponse, self._mode, self._resetTimers.bind(self)) - self._response.on('error', function(err) { - self.emit('error', err) - }) - - self.emit('response', self._response) -} - -ClientRequest.prototype._write = function (chunk, encoding, cb) { - var self = this - - self._body.push(chunk) - cb() -} - -ClientRequest.prototype._resetTimers = function (done) { - var self = this - - global.clearTimeout(self._socketTimer) - self._socketTimer = null - - if (done) { - global.clearTimeout(self._fetchTimer) - self._fetchTimer = null - } else if (self._socketTimeout) { - self._socketTimer = global.setTimeout(function () { - self.emit('timeout') - }, self._socketTimeout) - } -} - -ClientRequest.prototype.abort = ClientRequest.prototype.destroy = function (err) { - var self = this - self._destroyed = true - self._resetTimers(true) - if (self._response) - self._response._destroyed = true - if (self._xhr) - self._xhr.abort() - else if (self._fetchAbortController) - self._fetchAbortController.abort() - - if (err) - self.emit('error', err) -} - -ClientRequest.prototype.end = function (data, encoding, cb) { - var self = this - if (typeof data === 'function') { - cb = data - data = undefined - } - - stream.Writable.prototype.end.call(self, data, encoding, cb) -} - -ClientRequest.prototype.setTimeout = function (timeout, cb) { - var self = this - - if (cb) - self.once('timeout', cb) - - self._socketTimeout = timeout - self._resetTimers(false) -} - -ClientRequest.prototype.flushHeaders = function () {} -ClientRequest.prototype.setNoDelay = function () {} -ClientRequest.prototype.setSocketKeepAlive = function () {} - -// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method -var unsafeHeaders = [ - 'accept-charset', - 'accept-encoding', - 'access-control-request-headers', - 'access-control-request-method', - 'connection', - 'content-length', - 'cookie', - 'cookie2', - 'date', - 'dnt', - 'expect', - 'host', - 'keep-alive', - 'origin', - 'referer', - 'te', - 'trailer', - 'transfer-encoding', - 'upgrade', - 'via' -] - -}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) - -},{"./capability":193,"./response":195,"_process":172,"buffer":132,"inherits":139,"readable-stream":191}],195:[function(require,module,exports){ -(function (process,global,Buffer){(function (){ -var capability = require('./capability') -var inherits = require('inherits') -var stream = require('readable-stream') - -var rStates = exports.readyStates = { - UNSENT: 0, - OPENED: 1, - HEADERS_RECEIVED: 2, - LOADING: 3, - DONE: 4 -} - -var IncomingMessage = exports.IncomingMessage = function (xhr, response, mode, resetTimers) { - var self = this - stream.Readable.call(self) - - self._mode = mode - self.headers = {} - self.rawHeaders = [] - self.trailers = {} - self.rawTrailers = [] - - // Fake the 'close' event, but only once 'end' fires - self.on('end', function () { - // The nextTick is necessary to prevent the 'request' module from causing an infinite loop - process.nextTick(function () { - self.emit('close') - }) - }) - - if (mode === 'fetch') { - self._fetchResponse = response - - self.url = response.url - self.statusCode = response.status - self.statusMessage = response.statusText - - response.headers.forEach(function (header, key){ - self.headers[key.toLowerCase()] = header - self.rawHeaders.push(key, header) - }) - - if (capability.writableStream) { - var writable = new WritableStream({ - write: function (chunk) { - resetTimers(false) - return new Promise(function (resolve, reject) { - if (self._destroyed) { - reject() - } else if(self.push(Buffer.from(chunk))) { - resolve() - } else { - self._resumeFetch = resolve - } - }) - }, - close: function () { - resetTimers(true) - if (!self._destroyed) - self.push(null) - }, - abort: function (err) { - resetTimers(true) - if (!self._destroyed) - self.emit('error', err) - } - }) - - try { - response.body.pipeTo(writable).catch(function (err) { - resetTimers(true) - if (!self._destroyed) - self.emit('error', err) - }) - return - } catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this - } - // fallback for when writableStream or pipeTo aren't available - var reader = response.body.getReader() - function read () { - reader.read().then(function (result) { - if (self._destroyed) - return - resetTimers(result.done) - if (result.done) { - self.push(null) - return - } - self.push(Buffer.from(result.value)) - read() - }).catch(function (err) { - resetTimers(true) - if (!self._destroyed) - self.emit('error', err) - }) - } - read() - } else { - self._xhr = xhr - self._pos = 0 - - self.url = xhr.responseURL - self.statusCode = xhr.status - self.statusMessage = xhr.statusText - var headers = xhr.getAllResponseHeaders().split(/\r?\n/) - headers.forEach(function (header) { - var matches = header.match(/^([^:]+):\s*(.*)/) - if (matches) { - var key = matches[1].toLowerCase() - if (key === 'set-cookie') { - if (self.headers[key] === undefined) { - self.headers[key] = [] - } - self.headers[key].push(matches[2]) - } else if (self.headers[key] !== undefined) { - self.headers[key] += ', ' + matches[2] - } else { - self.headers[key] = matches[2] - } - self.rawHeaders.push(matches[1], matches[2]) - } - }) - - self._charset = 'x-user-defined' - if (!capability.overrideMimeType) { - var mimeType = self.rawHeaders['mime-type'] - if (mimeType) { - var charsetMatch = mimeType.match(/;\s*charset=([^;])(;|$)/) - if (charsetMatch) { - self._charset = charsetMatch[1].toLowerCase() - } - } - if (!self._charset) - self._charset = 'utf-8' // best guess - } - } -} - -inherits(IncomingMessage, stream.Readable) - -IncomingMessage.prototype._read = function () { - var self = this - - var resolve = self._resumeFetch - if (resolve) { - self._resumeFetch = null - resolve() - } -} - -IncomingMessage.prototype._onXHRProgress = function (resetTimers) { - var self = this - - var xhr = self._xhr - - var response = null - switch (self._mode) { - case 'text': - response = xhr.responseText - if (response.length > self._pos) { - var newData = response.substr(self._pos) - if (self._charset === 'x-user-defined') { - var buffer = Buffer.alloc(newData.length) - for (var i = 0; i < newData.length; i++) - buffer[i] = newData.charCodeAt(i) & 0xff - - self.push(buffer) - } else { - self.push(newData, self._charset) - } - self._pos = response.length - } - break - case 'arraybuffer': - if (xhr.readyState !== rStates.DONE || !xhr.response) - break - response = xhr.response - self.push(Buffer.from(new Uint8Array(response))) - break - case 'moz-chunked-arraybuffer': // take whole - response = xhr.response - if (xhr.readyState !== rStates.LOADING || !response) - break - self.push(Buffer.from(new Uint8Array(response))) - break - case 'ms-stream': - response = xhr.response - if (xhr.readyState !== rStates.LOADING) - break - var reader = new global.MSStreamReader() - reader.onprogress = function () { - if (reader.result.byteLength > self._pos) { - self.push(Buffer.from(new Uint8Array(reader.result.slice(self._pos)))) - self._pos = reader.result.byteLength - } - } - reader.onload = function () { - resetTimers(true) - self.push(null) - } - // reader.onerror = ??? // TODO: this - reader.readAsArrayBuffer(response) - break - } - - // The ms-stream case handles end separately in reader.onload() - if (self._xhr.readyState === rStates.DONE && self._mode !== 'ms-stream') { - resetTimers(true) - self.push(null) - } -} - -}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) - -},{"./capability":193,"_process":172,"buffer":132,"inherits":139,"readable-stream":191}],196:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -'use strict'; - -/**/ - -var Buffer = require('safe-buffer').Buffer; -/**/ - -var isEncoding = Buffer.isEncoding || function (encoding) { - encoding = '' + encoding; - switch (encoding && encoding.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 true; - default: - return false; - } -}; - -function _normalizeEncoding(enc) { - if (!enc) return 'utf8'; - var retried; - while (true) { - switch (enc) { - 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 enc; - default: - if (retried) return; // undefined - enc = ('' + enc).toLowerCase(); - retried = true; - } - } -}; - -// Do not cache `Buffer.isEncoding` when checking encoding names as some -// modules monkey-patch it to support additional encodings -function normalizeEncoding(enc) { - var nenc = _normalizeEncoding(enc); - if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); - return nenc || enc; -} - -// StringDecoder provides an interface for efficiently splitting a series of -// buffers into a series of JS strings without breaking apart multi-byte -// characters. -exports.StringDecoder = StringDecoder; -function StringDecoder(encoding) { - this.encoding = normalizeEncoding(encoding); - var nb; - switch (this.encoding) { - case 'utf16le': - this.text = utf16Text; - this.end = utf16End; - nb = 4; - break; - case 'utf8': - this.fillLast = utf8FillLast; - nb = 4; - break; - case 'base64': - this.text = base64Text; - this.end = base64End; - nb = 3; - break; - default: - this.write = simpleWrite; - this.end = simpleEnd; - return; - } - this.lastNeed = 0; - this.lastTotal = 0; - this.lastChar = Buffer.allocUnsafe(nb); -} - -StringDecoder.prototype.write = function (buf) { - if (buf.length === 0) return ''; - var r; - var i; - if (this.lastNeed) { - r = this.fillLast(buf); - if (r === undefined) return ''; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); - return r || ''; -}; + // the host is the remaining to the left of the first non-host char + hostEnd = -1; + for (var i = 0; i < nonHostChars.length; i++) { + var hec = rest.indexOf(nonHostChars[i]); + if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) hostEnd = hec; + } + // if we still have not hit it, then the entire thing is a host. + if (hostEnd === -1) hostEnd = rest.length; + + this.host = rest.slice(0, hostEnd); + rest = rest.slice(hostEnd); + + // pull out port. + this.parseHost(); + + // we've indicated that there is a hostname, + // so even if it's empty, it has to be present. + this.hostname = this.hostname || ""; + + // if hostname begins with [ and ends with ] + // assume that it's an IPv6 address. + var ipv6Hostname = this.hostname[0] === "[" && this.hostname[this.hostname.length - 1] === "]"; + + // validate a little. + if (!ipv6Hostname) { + var hostparts = this.hostname.split(/\./); + for (var i = 0, l = hostparts.length; i < l; i++) { + var part = hostparts[i]; + if (!part) continue; + if (!part.match(hostnamePartPattern)) { + var newpart = ""; + for (var j = 0, k = part.length; j < k; j++) { + if (part.charCodeAt(j) > 127) { + // we replace non-ASCII char with a temporary placeholder + // we need this to make sure size of hostname is not + // broken by replacing non-ASCII by nothing + newpart += "x"; + } else { + newpart += part[j]; + } + } + // we test again with ASCII char only + if (!newpart.match(hostnamePartPattern)) { + var validParts = hostparts.slice(0, i); + var notHost = hostparts.slice(i + 1); + var bit = part.match(hostnamePartStart); + if (bit) { + validParts.push(bit[1]); + notHost.unshift(bit[2]); + } + if (notHost.length) { + rest = "/" + notHost.join(".") + rest; + } + this.hostname = validParts.join("."); + break; + } + } + } + } -StringDecoder.prototype.end = utf8End; + if (this.hostname.length > hostnameMaxLen) { + this.hostname = ""; + } else { + // hostnames are always lower case. + this.hostname = this.hostname.toLowerCase(); + } -// Returns only complete characters in a Buffer -StringDecoder.prototype.text = utf8Text; + if (!ipv6Hostname) { + // IDNA Support: Returns a punycoded representation of "domain". + // It only converts parts of the domain name that + // have non-ASCII characters, i.e. it doesn't matter if + // you call it with a domain that already is ASCII-only. + this.hostname = punycode.toASCII(this.hostname); + } -// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer -StringDecoder.prototype.fillLast = function (buf) { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; -}; - -// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a -// continuation byte. If an invalid byte is detected, -2 is returned. -function utf8CheckByte(byte) { - if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; - return byte >> 6 === 0x02 ? -1 : -2; -} - -// Checks at most 3 bytes at the end of a Buffer in order to detect an -// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) -// needed to complete the UTF-8 character (if applicable) are returned. -function utf8CheckIncomplete(self, buf, i) { - var j = buf.length - 1; - if (j < i) return 0; - var nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 1; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 2; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) nb = 0;else self.lastNeed = nb - 3; - } - return nb; - } - return 0; -} - -// Validates as many continuation bytes for a multi-byte UTF-8 character as -// needed or are available. If we see a non-continuation byte where we expect -// one, we "replace" the validated continuation bytes we've seen so far with -// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding -// behavior. The continuation byte check is included three times in the case -// where all of the continuation bytes for a character exist in the same buffer. -// It is also done this way as a slight performance increase instead of using a -// loop. -function utf8CheckExtraBytes(self, buf, p) { - if ((buf[0] & 0xC0) !== 0x80) { - self.lastNeed = 0; - return '\ufffd'; - } - if (self.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 0xC0) !== 0x80) { - self.lastNeed = 1; - return '\ufffd'; - } - if (self.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 0xC0) !== 0x80) { - self.lastNeed = 2; - return '\ufffd'; - } - } - } -} - -// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. -function utf8FillLast(buf) { - var p = this.lastTotal - this.lastNeed; - var r = utf8CheckExtraBytes(this, buf, p); - if (r !== undefined) return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; -} - -// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a -// partial character, the character's bytes are buffered until the required -// number of bytes are available. -function utf8Text(buf, i) { - var total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) return buf.toString('utf8', i); - this.lastTotal = total; - var end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString('utf8', i, end); -} - -// For UTF-8, a replacement character is added when ending on a partial -// character. -function utf8End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + '\ufffd'; - return r; -} - -// UTF-16LE typically needs two bytes per character, but even if we have an even -// number of bytes available, we need to check if we end on a leading/high -// surrogate. In that case, we need to wait for the next two bytes in order to -// decode the last character properly. -function utf16Text(buf, i) { - if ((buf.length - i) % 2 === 0) { - var r = buf.toString('utf16le', i); - if (r) { - var c = r.charCodeAt(r.length - 1); - if (c >= 0xD800 && c <= 0xDBFF) { - this.lastNeed = 2; - this.lastTotal = 4; - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - return r.slice(0, -1); - } - } - return r; - } - this.lastNeed = 1; - this.lastTotal = 2; - this.lastChar[0] = buf[buf.length - 1]; - return buf.toString('utf16le', i, buf.length - 1); -} - -// For UTF-16LE we do not explicitly append special replacement characters if we -// end on a partial character, we simply let v8 handle that. -function utf16End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) { - var end = this.lastTotal - this.lastNeed; - return r + this.lastChar.toString('utf16le', 0, end); - } - return r; -} - -function base64Text(buf, i) { - var n = (buf.length - i) % 3; - if (n === 0) return buf.toString('base64', i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString('base64', i, buf.length - n); -} + var p = this.port ? ":" + this.port : ""; + var h = this.hostname || ""; + this.host = h + p; + this.href += this.host; + + // strip [ and ] from the hostname + // the host field still retains them, though + if (ipv6Hostname) { + this.hostname = this.hostname.substr(1, this.hostname.length - 2); + if (rest[0] !== "/") { + rest = "/" + rest; + } + } + } -function base64End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); - return r; -} - -// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) -function simpleWrite(buf) { - return buf.toString(this.encoding); -} - -function simpleEnd(buf) { - return buf && buf.length ? this.write(buf) : ''; -} -},{"safe-buffer":197}],197:[function(require,module,exports){ -/*! safe-buffer. MIT License. Feross Aboukhadijeh */ -/* eslint-disable node/no-deprecated-api */ -var buffer = require('buffer') -var Buffer = buffer.Buffer - -// alternative to using Object.keys for old browsers -function copyProps (src, dst) { - for (var key in src) { - dst[key] = src[key] - } -} -if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { - module.exports = buffer -} else { - // Copy properties from require('buffer') - copyProps(buffer, exports) - exports.Buffer = SafeBuffer -} - -function SafeBuffer (arg, encodingOrOffset, length) { - return Buffer(arg, encodingOrOffset, length) -} - -SafeBuffer.prototype = Object.create(Buffer.prototype) - -// Copy static methods from Buffer -copyProps(Buffer, SafeBuffer) - -SafeBuffer.from = function (arg, encodingOrOffset, length) { - if (typeof arg === 'number') { - throw new TypeError('Argument must not be a number') - } - return Buffer(arg, encodingOrOffset, length) -} + // now rest is set to the post-host stuff. + // chop off any delim chars. + if (!unsafeProtocol[lowerProto]) { + // First, make 100% sure that any "autoEscape" chars get + // escaped, even if encodeURIComponent doesn't think they + // need to be. + for (var i = 0, l = autoEscape.length; i < l; i++) { + var ae = autoEscape[i]; + if (rest.indexOf(ae) === -1) continue; + var esc = encodeURIComponent(ae); + if (esc === ae) { + esc = escape(ae); + } + rest = rest.split(ae).join(esc); + } + } -SafeBuffer.alloc = function (size, fill, encoding) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - var buf = Buffer(size) - if (fill !== undefined) { - if (typeof encoding === 'string') { - buf.fill(fill, encoding) - } else { - buf.fill(fill) - } - } else { - buf.fill(0) - } - return buf -} + // chop off from the tail first. + var hash = rest.indexOf("#"); + if (hash !== -1) { + // got a fragment string. + this.hash = rest.substr(hash); + rest = rest.slice(0, hash); + } + var qm = rest.indexOf("?"); + if (qm !== -1) { + this.search = rest.substr(qm); + this.query = rest.substr(qm + 1); + if (parseQueryString) { + this.query = querystring.parse(this.query); + } + rest = rest.slice(0, qm); + } else if (parseQueryString) { + // no query string, but parseQueryString still requested + this.search = ""; + this.query = {}; + } + if (rest) this.pathname = rest; + if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) { + this.pathname = "/"; + } -SafeBuffer.allocUnsafe = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - return Buffer(size) -} + //to support http.request + if (this.pathname || this.search) { + var p = this.pathname || ""; + var s = this.search || ""; + this.path = p + s; + } -SafeBuffer.allocUnsafeSlow = function (size) { - if (typeof size !== 'number') { - throw new TypeError('Argument must be a number') - } - return buffer.SlowBuffer(size) -} - -},{"buffer":132}],198:[function(require,module,exports){ -/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.URI = global.URI || {}))); -}(this, (function (exports) { 'use strict'; - -function merge() { - for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) { - sets[_key] = arguments[_key]; - } + // finally, reconstruct the href based on what has been validated. + this.href = this.format(); + return this; + }; - if (sets.length > 1) { - sets[0] = sets[0].slice(0, -1); - var xl = sets.length - 1; - for (var x = 1; x < xl; ++x) { - sets[x] = sets[x].slice(1, -1); - } - sets[xl] = sets[xl].slice(1); - return sets.join(''); - } else { - return sets[0]; - } -} -function subexp(str) { - return "(?:" + str + ")"; -} -function typeOf(o) { - return o === undefined ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); -} -function toUpperCase(str) { - return str.toUpperCase(); -} -function toArray(obj) { - return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : []; -} -function assign(target, source) { - var obj = target; - if (source) { - for (var key in source) { - obj[key] = source[key]; - } - } - return obj; -} - -function buildExps(isIRI) { - var ALPHA$$ = "[A-Za-z]", - CR$ = "[\\x0D]", - DIGIT$$ = "[0-9]", - DQUOTE$$ = "[\\x22]", - HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), - //case-insensitive - LF$$ = "[\\x0A]", - SP$$ = "[\\x20]", - PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), - //expanded - GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", - SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", - RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), - UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", - //subset, excludes bidi control characters - IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", - //subset - UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), - SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), - USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), - DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), - DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), - //relaxed parsing rules - IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), - H16$ = subexp(HEXDIG$$ + "{1,4}"), - LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), - IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), - // 6( h16 ":" ) ls32 - IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), - // "::" 5( h16 ":" ) ls32 - IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), - //[ h16 ] "::" 4( h16 ":" ) ls32 - IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), - //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 - IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), - //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 - IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), - //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 - IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), - //[ *4( h16 ":" ) h16 ] "::" ls32 - IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), - //[ *5( h16 ":" ) h16 ] "::" h16 - IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), - //[ *6( h16 ":" ) h16 ] "::" - IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), - ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), - //RFC 6874 - IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), - //RFC 6874 - IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), - //RFC 6874, with relaxed parsing rules - IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), - IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), - //RFC 6874 - REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), - HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), - PORT$ = subexp(DIGIT$$ + "*"), - AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), - PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), - SEGMENT$ = subexp(PCHAR$ + "*"), - SEGMENT_NZ$ = subexp(PCHAR$ + "+"), - SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), - PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), - PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), - //simplified - PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), - //simplified - PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), - //simplified - PATH_EMPTY$ = "(?!" + PCHAR$ + ")", - PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), - QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), - FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), - HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), - URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), - RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), - RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), - URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), - ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), - GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", - RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", - ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", - SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", - AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; - return { - NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), - NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), - NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), - NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), - NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), - NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), - NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), - ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), - UNRESERVED: new RegExp(UNRESERVED$$, "g"), - OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), - PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), - IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), - IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules - }; -} -var URI_PROTOCOL = buildExps(false); - -var IRI_PROTOCOL = buildExps(true); - -var slicedToArray = function () { - function sliceIterator(arr, i) { - var _arr = []; - var _n = true; - var _d = false; - var _e = undefined; - - try { - for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"]) _i["return"](); - } finally { - if (_d) throw _e; - } - } + // format a parsed object into a url string + function urlFormat(obj) { + // ensure it's an object, and not a string url. + // If it's an obj, this is a no-op. + // this way, you can call url_format() on strings + // to clean up potentially wonky urls. + if (util.isString(obj)) obj = urlParse(obj); + if (!(obj instanceof Url)) return Url.prototype.format.call(obj); + return obj.format(); + } + + Url.prototype.format = function () { + var auth = this.auth || ""; + if (auth) { + auth = encodeURIComponent(auth); + auth = auth.replace(/%3A/i, ":"); + auth += "@"; + } - return _arr; - } + var protocol = this.protocol || "", + pathname = this.pathname || "", + hash = this.hash || "", + host = false, + query = ""; + + if (this.host) { + host = auth + this.host; + } else if (this.hostname) { + host = auth + (this.hostname.indexOf(":") === -1 ? this.hostname : "[" + this.hostname + "]"); + if (this.port) { + host += ":" + this.port; + } + } - return function (arr, i) { - if (Array.isArray(arr)) { - return arr; - } else if (Symbol.iterator in Object(arr)) { - return sliceIterator(arr, i); - } else { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); - } - }; -}(); + if (this.query && util.isObject(this.query) && Object.keys(this.query).length) { + query = querystring.stringify(this.query); + } + var search = this.search || (query && "?" + query) || ""; + if (protocol && protocol.substr(-1) !== ":") protocol += ":"; + // only the slashedProtocols get the //. Not mailto:, xmpp:, etc. + // unless they had them to begin with. + if (this.slashes || ((!protocol || slashedProtocol[protocol]) && host !== false)) { + host = "//" + (host || ""); + if (pathname && pathname.charAt(0) !== "/") pathname = "/" + pathname; + } else if (!host) { + host = ""; + } + if (hash && hash.charAt(0) !== "#") hash = "#" + hash; + if (search && search.charAt(0) !== "?") search = "?" + search; + pathname = pathname.replace(/[?#]/g, function (match) { + return encodeURIComponent(match); + }); + search = search.replace("#", "%23"); + return protocol + host + pathname + search + hash; + }; + function urlResolve(source, relative) { + return urlParse(source, false, true).resolve(relative); + } + Url.prototype.resolve = function (relative) { + return this.resolveObject(urlParse(relative, false, true)).format(); + }; + function urlResolveObject(source, relative) { + if (!source) return relative; + return urlParse(source, false, true).resolveObject(relative); + } + Url.prototype.resolveObject = function (relative) { + if (util.isString(relative)) { + var rel = new Url(); + rel.parse(relative, false, true); + relative = rel; + } + var result = new Url(); + var tkeys = Object.keys(this); + for (var tk = 0; tk < tkeys.length; tk++) { + var tkey = tkeys[tk]; + result[tkey] = this[tkey]; + } + // hash is always overridden, no matter what. + // even href="" will remove it. + result.hash = relative.hash; -var toConsumableArray = function (arr) { - if (Array.isArray(arr)) { - for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + // if the relative url is empty, then there's nothing left to do here. + if (relative.href === "") { + result.href = result.format(); + return result; + } - return arr2; - } else { - return Array.from(arr); - } -}; - -/** Highest positive signed 32-bit float value */ - -var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 - -/** Bootstring parameters */ -var base = 36; -var tMin = 1; -var tMax = 26; -var skew = 38; -var damp = 700; -var initialBias = 72; -var initialN = 128; // 0x80 -var delimiter = '-'; // '\x2D' - -/** Regular expressions */ -var regexPunycode = /^xn--/; -var regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars -var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators - -/** Error messages */ -var errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' -}; - -/** Convenience shortcuts */ -var baseMinusTMin = base - tMin; -var floor = Math.floor; -var stringFromCharCode = String.fromCharCode; - -/*--------------------------------------------------------------------------*/ - -/** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ -function error$1(type) { - throw new RangeError(errors[type]); -} - -/** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. - */ -function map(array, fn) { - var result = []; - var length = array.length; - while (length--) { - result[length] = fn(array[length]); - } - return result; -} - -/** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ -function mapDomain(string, fn) { - var parts = string.split('@'); - var result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - var labels = string.split('.'); - var encoded = map(labels, fn).join('.'); - return result + encoded; -} - -/** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ -function ucs2decode(string) { - var output = []; - var counter = 0; - var length = string.length; - while (counter < length) { - var value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // It's a high surrogate, and there is a next character. - var extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { - // Low surrogate. - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // It's an unmatched surrogate; only append this code unit, in case the - // next code unit is the high surrogate of a surrogate pair. - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; -} - -/** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). - */ -var ucs2encode = function ucs2encode(array) { - return String.fromCodePoint.apply(String, toConsumableArray(array)); -}; - -/** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. - */ -var basicToDigit = function basicToDigit(codePoint) { - if (codePoint - 0x30 < 0x0A) { - return codePoint - 0x16; - } - if (codePoint - 0x41 < 0x1A) { - return codePoint - 0x41; - } - if (codePoint - 0x61 < 0x1A) { - return codePoint - 0x61; - } - return base; -}; - -/** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ -var digitToBasic = function digitToBasic(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); -}; - -/** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private - */ -var adapt = function adapt(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); -}; - -/** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. - */ -var decode = function decode(input) { - // Don't use UCS-2. - var output = []; - var inputLength = input.length; - var i = 0; - var n = initialN; - var bias = initialBias; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - var basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - - for (var j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error$1('not-basic'); - } - output.push(input.charCodeAt(j)); - } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{ - - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - var oldi = i; - for (var w = 1, k = base;; /* no condition */k += base) { - - if (index >= inputLength) { - error$1('invalid-input'); - } - - var digit = basicToDigit(input.charCodeAt(index++)); - - if (digit >= base || digit > floor((maxInt - i) / w)) { - error$1('overflow'); - } - - i += digit * w; - var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - - if (digit < t) { - break; - } - - var baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error$1('overflow'); - } - - w *= baseMinusT; - } - - var out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error$1('overflow'); - } - - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output. - output.splice(i++, 0, n); - } - - return String.fromCodePoint.apply(String, output); -}; - -/** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ -var encode = function encode(input) { - var output = []; - - // Convert the input in UCS-2 to an array of Unicode code points. - input = ucs2decode(input); - - // Cache the length. - var inputLength = input.length; - - // Initialize the state. - var n = initialN; - var delta = 0; - var bias = initialBias; - - // Handle the basic code points. - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _currentValue2 = _step.value; - - if (_currentValue2 < 0x80) { - output.push(stringFromCharCode(_currentValue2)); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - var basicLength = output.length; - var handledCPCount = basicLength; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string with a delimiter unless it's empty. - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - var m = maxInt; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var currentValue = _step2.value; - - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow. - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - var handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error$1('overflow'); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var _currentValue = _step3.value; - - if (_currentValue < n && ++delta > maxInt) { - error$1('overflow'); - } - if (_currentValue == n) { - // Represent delta as a generalized variable-length integer. - var q = delta; - for (var k = base;; /* no condition */k += base) { - var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (q < t) { - break; - } - var qMinusT = q - t; - var baseMinusT = base - t; - output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - ++delta; - ++n; - } - return output.join(''); -}; - -/** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. - */ -var toUnicode = function toUnicode(input) { - return mapDomain(input, function (string) { - return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; - }); -}; - -/** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ -var toASCII = function toASCII(input) { - return mapDomain(input, function (string) { - return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; - }); -}; - -/*--------------------------------------------------------------------------*/ - -/** Define the public API */ -var punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '2.1.0', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode - }, - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode -}; - -/** - * URI.js - * - * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. - * @author Gary Court - * @see http://github.com/garycourt/uri-js - */ -/** - * Copyright 2011 Gary Court. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of Gary Court. - */ -var SCHEMES = {}; -function pctEncChar(chr) { - var c = chr.charCodeAt(0); - var e = void 0; - if (c < 16) e = "%0" + c.toString(16).toUpperCase();else if (c < 128) e = "%" + c.toString(16).toUpperCase();else if (c < 2048) e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase();else e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); - return e; -} -function pctDecChars(str) { - var newStr = ""; - var i = 0; - var il = str.length; - while (i < il) { - var c = parseInt(str.substr(i + 1, 2), 16); - if (c < 128) { - newStr += String.fromCharCode(c); - i += 3; - } else if (c >= 194 && c < 224) { - if (il - i >= 6) { - var c2 = parseInt(str.substr(i + 4, 2), 16); - newStr += String.fromCharCode((c & 31) << 6 | c2 & 63); - } else { - newStr += str.substr(i, 6); - } - i += 6; - } else if (c >= 224) { - if (il - i >= 9) { - var _c = parseInt(str.substr(i + 4, 2), 16); - var c3 = parseInt(str.substr(i + 7, 2), 16); - newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63); - } else { - newStr += str.substr(i, 9); + // hrefs like //foo/bar always cut to the protocol. + if (relative.slashes && !relative.protocol) { + // take everything except the protocol from relative + var rkeys = Object.keys(relative); + for (var rk = 0; rk < rkeys.length; rk++) { + var rkey = rkeys[rk]; + if (rkey !== "protocol") result[rkey] = relative[rkey]; } - i += 9; - } else { - newStr += str.substr(i, 3); - i += 3; - } - } - return newStr; -} -function _normalizeComponentEncoding(components, protocol) { - function decodeUnreserved(str) { - var decStr = pctDecChars(str); - return !decStr.match(protocol.UNRESERVED) ? str : decStr; - } - if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); - if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - return components; -} - -function _stripLeadingZeros(str) { - return str.replace(/^0*(.*)/, "$1") || "0"; -} -function _normalizeIPv4(host, protocol) { - var matches = host.match(protocol.IPV4ADDRESS) || []; - - var _matches = slicedToArray(matches, 2), - address = _matches[1]; - - if (address) { - return address.split(".").map(_stripLeadingZeros).join("."); - } else { - return host; - } -} -function _normalizeIPv6(host, protocol) { - var matches = host.match(protocol.IPV6ADDRESS) || []; - - var _matches2 = slicedToArray(matches, 3), - address = _matches2[1], - zone = _matches2[2]; - - if (address) { - var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(), - _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), - last = _address$toLowerCase$2[0], - first = _address$toLowerCase$2[1]; - - var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; - var lastFields = last.split(":").map(_stripLeadingZeros); - var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); - var fieldCount = isLastFieldIPv4Address ? 7 : 8; - var lastFieldsStart = lastFields.length - fieldCount; - var fields = Array(fieldCount); - for (var x = 0; x < fieldCount; ++x) { - fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; - } - if (isLastFieldIPv4Address) { - fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); - } - var allZeroFields = fields.reduce(function (acc, field, index) { - if (!field || field === "0") { - var lastLongest = acc[acc.length - 1]; - if (lastLongest && lastLongest.index + lastLongest.length === index) { - lastLongest.length++; - } else { - acc.push({ index: index, length: 1 }); - } - } - return acc; - }, []); - var longestZeroFields = allZeroFields.sort(function (a, b) { - return b.length - a.length; - })[0]; - var newHost = void 0; - if (longestZeroFields && longestZeroFields.length > 1) { - var newFirst = fields.slice(0, longestZeroFields.index); - var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); - newHost = newFirst.join(":") + "::" + newLast.join(":"); - } else { - newHost = fields.join(":"); - } - if (zone) { - newHost += "%" + zone; - } - return newHost; - } else { - return host; - } -} -var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; -var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === undefined; -function parse(uriString) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - var components = {}; - var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; - if (options.reference === "suffix") uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; - var matches = uriString.match(URI_PARSE); - if (matches) { - if (NO_MATCH_IS_UNDEFINED) { - //store each component - components.scheme = matches[1]; - components.userinfo = matches[3]; - components.host = matches[4]; - components.port = parseInt(matches[5], 10); - components.path = matches[6] || ""; - components.query = matches[7]; - components.fragment = matches[8]; - //fix port number - if (isNaN(components.port)) { - components.port = matches[5]; + + //urlParse appends trailing / to urls like http://www.example.com + if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) { + result.path = result.pathname = "/"; } - } else { - //IE FIX for improper RegExp matching - //store each component - components.scheme = matches[1] || undefined; - components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : undefined; - components.host = uriString.indexOf("//") !== -1 ? matches[4] : undefined; - components.port = parseInt(matches[5], 10); - components.path = matches[6] || ""; - components.query = uriString.indexOf("?") !== -1 ? matches[7] : undefined; - components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : undefined; - //fix port number - if (isNaN(components.port)) { - components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined; - } - } - if (components.host) { - //normalize IP hosts - components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); - } - //determine reference type - if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { - components.reference = "same-document"; - } else if (components.scheme === undefined) { - components.reference = "relative"; - } else if (components.fragment === undefined) { - components.reference = "absolute"; - } else { - components.reference = "uri"; - } - //check for reference errors - if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { - components.error = components.error || "URI is not a " + options.reference + " reference."; - } - //find scheme handler - var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; - //check if scheme can't handle IRIs - if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { - //if host component is a domain name - if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) { - //convert Unicode IDN -> ASCII IDN - try { - components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); - } catch (e) { - components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; - } + + result.href = result.format(); + return result; + } + + if (relative.protocol && relative.protocol !== result.protocol) { + // if it's a known url protocol, then changing + // the protocol does weird things + // first, if it's not file:, then we MUST have a host, + // and if there was a path + // to begin with, then we MUST have a path. + // if it is file:, then the host is dropped, + // because that's known to be hostless. + // anything else is assumed to be absolute. + if (!slashedProtocol[relative.protocol]) { + var keys = Object.keys(relative); + for (var v = 0; v < keys.length; v++) { + var k = keys[v]; + result[k] = relative[k]; + } + result.href = result.format(); + return result; } - //convert IRI -> URI - _normalizeComponentEncoding(components, URI_PROTOCOL); - } else { - //normalize encodings - _normalizeComponentEncoding(components, protocol); - } - //perform scheme specific parsing - if (schemeHandler && schemeHandler.parse) { - schemeHandler.parse(components, options); - } - } else { - components.error = components.error || "URI can not be parsed."; - } - return components; -} - -function _recomposeAuthority(components, options) { - var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; - var uriTokens = []; - if (components.userinfo !== undefined) { - uriTokens.push(components.userinfo); - uriTokens.push("@"); - } - if (components.host !== undefined) { - //normalize IP hosts, add brackets and escape zone separator for IPv6 - uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) { - return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; - })); - } - if (typeof components.port === "number" || typeof components.port === "string") { - uriTokens.push(":"); - uriTokens.push(String(components.port)); - } - return uriTokens.length ? uriTokens.join("") : undefined; -} - -var RDS1 = /^\.\.?\//; -var RDS2 = /^\/\.(\/|$)/; -var RDS3 = /^\/\.\.(\/|$)/; -var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; -function removeDotSegments(input) { - var output = []; - while (input.length) { - if (input.match(RDS1)) { - input = input.replace(RDS1, ""); - } else if (input.match(RDS2)) { - input = input.replace(RDS2, "/"); - } else if (input.match(RDS3)) { - input = input.replace(RDS3, "/"); - output.pop(); - } else if (input === "." || input === "..") { - input = ""; - } else { - var im = input.match(RDS5); - if (im) { - var s = im[0]; - input = input.slice(s.length); - output.push(s); + + result.protocol = relative.protocol; + if (!relative.host && !hostlessProtocol[relative.protocol]) { + var relPath = (relative.pathname || "").split("/"); + while (relPath.length && !(relative.host = relPath.shift())); + if (!relative.host) relative.host = ""; + if (!relative.hostname) relative.hostname = ""; + if (relPath[0] !== "") relPath.unshift(""); + if (relPath.length < 2) relPath.unshift(""); + result.pathname = relPath.join("/"); } else { - throw new Error("Unexpected dot segment condition"); + result.pathname = relative.pathname; } - } - } - return output.join(""); -} - -function serialize(components) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; - var uriTokens = []; - //find scheme handler - var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; - //perform scheme specific serialization - if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); - if (components.host) { - //if host component is an IPv6 address - if (protocol.IPV6ADDRESS.test(components.host)) {} - //TODO: normalize IPv6 address as per RFC 5952 - - //if host component is a domain name - else if (options.domainHost || schemeHandler && schemeHandler.domainHost) { - //convert IDN via punycode - try { - components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host); - } catch (e) { - components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; - } + result.search = relative.search; + result.query = relative.query; + result.host = relative.host || ""; + result.auth = relative.auth; + result.hostname = relative.hostname || relative.host; + result.port = relative.port; + // to support http.request + if (result.pathname || result.search) { + var p = result.pathname || ""; + var s = result.search || ""; + result.path = p + s; } - } - //normalize encoding - _normalizeComponentEncoding(components, protocol); - if (options.reference !== "suffix" && components.scheme) { - uriTokens.push(components.scheme); - uriTokens.push(":"); - } - var authority = _recomposeAuthority(components, options); - if (authority !== undefined) { - if (options.reference !== "suffix") { - uriTokens.push("//"); - } - uriTokens.push(authority); - if (components.path && components.path.charAt(0) !== "/") { - uriTokens.push("/"); - } - } - if (components.path !== undefined) { - var s = components.path; - if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { - s = removeDotSegments(s); - } - if (authority === undefined) { - s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" - } - uriTokens.push(s); - } - if (components.query !== undefined) { - uriTokens.push("?"); - uriTokens.push(components.query); - } - if (components.fragment !== undefined) { - uriTokens.push("#"); - uriTokens.push(components.fragment); - } - return uriTokens.join(""); //merge tokens into a string -} - -function resolveComponents(base, relative) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - var skipNormalization = arguments[3]; + result.slashes = result.slashes || relative.slashes; + result.href = result.format(); + return result; + } - var target = {}; - if (!skipNormalization) { - base = parse(serialize(base, options), options); //normalize base components - relative = parse(serialize(relative, options), options); //normalize relative components - } - options = options || {}; - if (!options.tolerant && relative.scheme) { - target.scheme = relative.scheme; - //target.authority = relative.authority; - target.userinfo = relative.userinfo; - target.host = relative.host; - target.port = relative.port; - target.path = removeDotSegments(relative.path || ""); - target.query = relative.query; - } else { - if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { - //target.authority = relative.authority; - target.userinfo = relative.userinfo; - target.host = relative.host; - target.port = relative.port; - target.path = removeDotSegments(relative.path || ""); - target.query = relative.query; - } else { - if (!relative.path) { - target.path = base.path; - if (relative.query !== undefined) { - target.query = relative.query; - } else { - target.query = base.query; - } - } else { - if (relative.path.charAt(0) === "/") { - target.path = removeDotSegments(relative.path); - } else { - if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { - target.path = "/" + relative.path; - } else if (!base.path) { - target.path = relative.path; - } else { - target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; - } - target.path = removeDotSegments(target.path); - } - target.query = relative.query; - } - //target.authority = base.authority; - target.userinfo = base.userinfo; - target.host = base.host; - target.port = base.port; - } - target.scheme = base.scheme; - } - target.fragment = relative.fragment; - return target; -} - -function resolve(baseURI, relativeURI, options) { - var schemelessOptions = assign({ scheme: 'null' }, options); - return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); -} - -function normalize(uri, options) { - if (typeof uri === "string") { - uri = serialize(parse(uri, options), options); - } else if (typeOf(uri) === "object") { - uri = parse(serialize(uri, options), options); - } - return uri; -} - -function equal(uriA, uriB, options) { - if (typeof uriA === "string") { - uriA = serialize(parse(uriA, options), options); - } else if (typeOf(uriA) === "object") { - uriA = serialize(uriA, options); - } - if (typeof uriB === "string") { - uriB = serialize(parse(uriB, options), options); - } else if (typeOf(uriB) === "object") { - uriB = serialize(uriB, options); - } - return uriA === uriB; -} - -function escapeComponent(str, options) { - return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar); -} - -function unescapeComponent(str, options) { - return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars); -} - -var handler = { - scheme: "http", - domainHost: true, - parse: function parse(components, options) { - //report missing host - if (!components.host) { - components.error = components.error || "HTTP URIs must have a host."; - } - return components; - }, - serialize: function serialize(components, options) { - var secure = String(components.scheme).toLowerCase() === "https"; - //normalize the default port - if (components.port === (secure ? 443 : 80) || components.port === "") { - components.port = undefined; - } - //normalize the empty path - if (!components.path) { - components.path = "/"; - } - //NOTE: We do not parse query strings for HTTP URIs - //as WWW Form Url Encoded query strings are part of the HTML4+ spec, - //and not the HTTP spec. - return components; - } -}; - -var handler$1 = { - scheme: "https", - domainHost: handler.domainHost, - parse: handler.parse, - serialize: handler.serialize -}; - -function isSecure(wsComponents) { - return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss"; -} -//RFC 6455 -var handler$2 = { - scheme: "ws", - domainHost: true, - parse: function parse(components, options) { - var wsComponents = components; - //indicate if the secure flag is set - wsComponents.secure = isSecure(wsComponents); - //construct resouce name - wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : ''); - wsComponents.path = undefined; - wsComponents.query = undefined; - return wsComponents; - }, - serialize: function serialize(wsComponents, options) { - //normalize the default port - if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { - wsComponents.port = undefined; - } - //ensure scheme matches secure flag - if (typeof wsComponents.secure === 'boolean') { - wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws'; - wsComponents.secure = undefined; - } - //reconstruct path from resource name - if (wsComponents.resourceName) { - var _wsComponents$resourc = wsComponents.resourceName.split('?'), - _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), - path = _wsComponents$resourc2[0], - query = _wsComponents$resourc2[1]; - - wsComponents.path = path && path !== '/' ? path : undefined; - wsComponents.query = query; - wsComponents.resourceName = undefined; - } - //forbid fragment component - wsComponents.fragment = undefined; - return wsComponents; - } -}; - -var handler$3 = { - scheme: "wss", - domainHost: handler$2.domainHost, - parse: handler$2.parse, - serialize: handler$2.serialize -}; - -var O = {}; -var isIRI = true; -//RFC 3986 -var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; -var HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive -var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded -//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = -//const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; -//const WSP$$ = "[\\x20\\x09]"; -//const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) -//const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext -//const VCHAR$$ = "[\\x21-\\x7E]"; -//const WSP$$ = "[\\x20\\x09]"; -//const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext -//const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); -//const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); -//const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); -var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; -var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; -var VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); -var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; -var UNRESERVED = new RegExp(UNRESERVED$$, "g"); -var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); -var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); -var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); -var NOT_HFVALUE = NOT_HFNAME; -function decodeUnreserved(str) { - var decStr = pctDecChars(str); - return !decStr.match(UNRESERVED) ? str : decStr; -} -var handler$4 = { - scheme: "mailto", - parse: function parse$$1(components, options) { - var mailtoComponents = components; - var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []; - mailtoComponents.path = undefined; - if (mailtoComponents.query) { - var unknownHeaders = false; - var headers = {}; - var hfields = mailtoComponents.query.split("&"); - for (var x = 0, xl = hfields.length; x < xl; ++x) { - var hfield = hfields[x].split("="); - switch (hfield[0]) { - case "to": - var toAddrs = hfield[1].split(","); - for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { - to.push(toAddrs[_x]); - } - break; - case "subject": - mailtoComponents.subject = unescapeComponent(hfield[1], options); - break; - case "body": - mailtoComponents.body = unescapeComponent(hfield[1], options); - break; - default: - unknownHeaders = true; - headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); - break; - } + var isSourceAbs = result.pathname && result.pathname.charAt(0) === "/", + isRelAbs = relative.host || (relative.pathname && relative.pathname.charAt(0) === "/"), + mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname), + removeAllDots = mustEndAbs, + srcPath = (result.pathname && result.pathname.split("/")) || [], + relPath = (relative.pathname && relative.pathname.split("/")) || [], + psychotic = result.protocol && !slashedProtocol[result.protocol]; + + // if the url is a non-slashed url, then relative + // links like ../.. should be able + // to crawl up to the hostname, as well. This is strange. + // result.protocol has already been set by now. + // Later on, put the first path part into the host field. + if (psychotic) { + result.hostname = ""; + result.port = null; + if (result.host) { + if (srcPath[0] === "") srcPath[0] = result.host; + else srcPath.unshift(result.host); } - if (unknownHeaders) mailtoComponents.headers = headers; - } - mailtoComponents.query = undefined; - for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { - var addr = to[_x2].split("@"); - addr[0] = unescapeComponent(addr[0]); - if (!options.unicodeSupport) { - //convert Unicode IDN -> ASCII IDN - try { - addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); - } catch (e) { - mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; - } - } else { - addr[1] = unescapeComponent(addr[1], options).toLowerCase(); - } - to[_x2] = addr.join("@"); - } - return mailtoComponents; - }, - serialize: function serialize$$1(mailtoComponents, options) { - var components = mailtoComponents; - var to = toArray(mailtoComponents.to); - if (to) { - for (var x = 0, xl = to.length; x < xl; ++x) { - var toAddr = String(to[x]); - var atIdx = toAddr.lastIndexOf("@"); - var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); - var domain = toAddr.slice(atIdx + 1); - //convert IDN via punycode - try { - domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain); - } catch (e) { - components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; - } - to[x] = localPart + "@" + domain; + result.host = ""; + if (relative.protocol) { + relative.hostname = null; + relative.port = null; + if (relative.host) { + if (relPath[0] === "") relPath[0] = relative.host; + else relPath.unshift(relative.host); + } + relative.host = null; } - components.path = to.join(","); - } - var headers = mailtoComponents.headers = mailtoComponents.headers || {}; - if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; - if (mailtoComponents.body) headers["body"] = mailtoComponents.body; - var fields = []; - for (var name in headers) { - if (headers[name] !== O[name]) { - fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); + mustEndAbs = mustEndAbs && (relPath[0] === "" || srcPath[0] === ""); + } + + if (isRelAbs) { + // it's absolute. + result.host = relative.host || relative.host === "" ? relative.host : result.host; + result.hostname = relative.hostname || relative.hostname === "" ? relative.hostname : result.hostname; + result.search = relative.search; + result.query = relative.query; + srcPath = relPath; + // fall through to the dot-handling below. + } else if (relPath.length) { + // it's relative + // throw away the existing file, and take the new path instead. + if (!srcPath) srcPath = []; + srcPath.pop(); + srcPath = srcPath.concat(relPath); + result.search = relative.search; + result.query = relative.query; + } else if (!util.isNullOrUndefined(relative.search)) { + // just pull out the search. + // like href='?foo'. + // Put this after the other two cases because it simplifies the booleans + if (psychotic) { + result.hostname = result.host = srcPath.shift(); + //occationaly the auth can get stuck only in host + //this especially happens in cases like + //url.resolveObject('mailto:local1@domain1', 'local2@domain2') + var authInHost = result.host && result.host.indexOf("@") > 0 ? result.host.split("@") : false; + if (authInHost) { + result.auth = authInHost.shift(); + result.host = result.hostname = authInHost.shift(); + } } - } - if (fields.length) { - components.query = fields.join("&"); - } - return components; - } -}; - -var URN_PARSE = /^([^\:]+)\:(.*)/; -//RFC 2141 -var handler$5 = { - scheme: "urn", - parse: function parse$$1(components, options) { - var matches = components.path && components.path.match(URN_PARSE); - var urnComponents = components; - if (matches) { - var scheme = options.scheme || urnComponents.scheme || "urn"; - var nid = matches[1].toLowerCase(); - var nss = matches[2]; - var urnScheme = scheme + ":" + (options.nid || nid); - var schemeHandler = SCHEMES[urnScheme]; - urnComponents.nid = nid; - urnComponents.nss = nss; - urnComponents.path = undefined; - if (schemeHandler) { - urnComponents = schemeHandler.parse(urnComponents, options); + result.search = relative.search; + result.query = relative.query; + //to support http.request + if (!util.isNull(result.pathname) || !util.isNull(result.search)) { + result.path = (result.pathname ? result.pathname : "") + (result.search ? result.search : ""); } - } else { - urnComponents.error = urnComponents.error || "URN can not be parsed."; - } - return urnComponents; - }, - serialize: function serialize$$1(urnComponents, options) { - var scheme = options.scheme || urnComponents.scheme || "urn"; - var nid = urnComponents.nid; - var urnScheme = scheme + ":" + (options.nid || nid); - var schemeHandler = SCHEMES[urnScheme]; - if (schemeHandler) { - urnComponents = schemeHandler.serialize(urnComponents, options); - } - var uriComponents = urnComponents; - var nss = urnComponents.nss; - uriComponents.path = (nid || options.nid) + ":" + nss; - return uriComponents; - } -}; - -var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; -//RFC 4122 -var handler$6 = { - scheme: "urn:uuid", - parse: function parse(urnComponents, options) { - var uuidComponents = urnComponents; - uuidComponents.uuid = uuidComponents.nss; - uuidComponents.nss = undefined; - if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { - uuidComponents.error = uuidComponents.error || "UUID is not valid."; - } - return uuidComponents; - }, - serialize: function serialize(uuidComponents, options) { - var urnComponents = uuidComponents; - //normalize UUID - urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); - return urnComponents; - } -}; - -SCHEMES[handler.scheme] = handler; -SCHEMES[handler$1.scheme] = handler$1; -SCHEMES[handler$2.scheme] = handler$2; -SCHEMES[handler$3.scheme] = handler$3; -SCHEMES[handler$4.scheme] = handler$4; -SCHEMES[handler$5.scheme] = handler$5; -SCHEMES[handler$6.scheme] = handler$6; - -exports.SCHEMES = SCHEMES; -exports.pctEncChar = pctEncChar; -exports.pctDecChars = pctDecChars; -exports.parse = parse; -exports.removeDotSegments = removeDotSegments; -exports.serialize = serialize; -exports.resolveComponents = resolveComponents; -exports.resolve = resolve; -exports.normalize = normalize; -exports.equal = equal; -exports.escapeComponent = escapeComponent; -exports.unescapeComponent = unescapeComponent; - -Object.defineProperty(exports, '__esModule', { value: true }); - -}))); - - -},{}],199:[function(require,module,exports){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -'use strict'; - -var punycode = require('punycode'); -var util = require('./util'); - -exports.parse = urlParse; -exports.resolve = urlResolve; -exports.resolveObject = urlResolveObject; -exports.format = urlFormat; - -exports.Url = Url; - -function Url() { - this.protocol = null; - this.slashes = null; - this.auth = null; - this.host = null; - this.port = null; - this.hostname = null; - this.hash = null; - this.search = null; - this.query = null; - this.pathname = null; - this.path = null; - this.href = null; -} - -// Reference: RFC 3986, RFC 1808, RFC 2396 - -// define these here so at least they only have to be -// compiled once on the first module load. -var protocolPattern = /^([a-z0-9.+-]+:)/i, - portPattern = /:[0-9]*$/, - - // Special case for a simple path URL - simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, - - // RFC 2396: characters reserved for delimiting URLs. - // We actually just auto-escape these. - delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'], - - // RFC 2396: characters not allowed for various reasons. - unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims), - - // Allowed by RFCs, but cause of XSS attacks. Always escape these. - autoEscape = ['\''].concat(unwise), - // Characters that are never ever allowed in a hostname. - // Note that any invalid chars are also handled, but these - // are the ones that are *expected* to be seen, so we fast-path - // them. - nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape), - hostEndingChars = ['/', '?', '#'], - hostnameMaxLen = 255, - hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, - hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, - // protocols that can allow "unsafe" and "unwise" chars. - unsafeProtocol = { - 'javascript': true, - 'javascript:': true - }, - // protocols that never have a hostname. - hostlessProtocol = { - 'javascript': true, - 'javascript:': true - }, - // protocols that always contain a // bit. - slashedProtocol = { - 'http': true, - 'https': true, - 'ftp': true, - 'gopher': true, - 'file': true, - 'http:': true, - 'https:': true, - 'ftp:': true, - 'gopher:': true, - 'file:': true - }, - querystring = require('querystring'); - -function urlParse(url, parseQueryString, slashesDenoteHost) { - if (url && util.isObject(url) && url instanceof Url) return url; - - var u = new Url; - u.parse(url, parseQueryString, slashesDenoteHost); - return u; -} - -Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) { - if (!util.isString(url)) { - throw new TypeError("Parameter 'url' must be a string, not " + typeof url); - } - - // Copy chrome, IE, opera backslash-handling behavior. - // Back slashes before the query string get converted to forward slashes - // See: https://code.google.com/p/chromium/issues/detail?id=25916 - var queryIndex = url.indexOf('?'), - splitter = - (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#', - uSplit = url.split(splitter), - slashRegex = /\\/g; - uSplit[0] = uSplit[0].replace(slashRegex, '/'); - url = uSplit.join(splitter); - - var rest = url; - - // trim before proceeding. - // This is to support parse stuff like " http://foo.com \n" - rest = rest.trim(); - - if (!slashesDenoteHost && url.split('#').length === 1) { - // Try fast path regexp - var simplePath = simplePathPattern.exec(rest); - if (simplePath) { - this.path = rest; - this.href = rest; - this.pathname = simplePath[1]; - if (simplePath[2]) { - this.search = simplePath[2]; - if (parseQueryString) { - this.query = querystring.parse(this.search.substr(1)); - } else { - this.query = this.search.substr(1); - } - } else if (parseQueryString) { - this.search = ''; - this.query = {}; - } - return this; - } - } - - var proto = protocolPattern.exec(rest); - if (proto) { - proto = proto[0]; - var lowerProto = proto.toLowerCase(); - this.protocol = lowerProto; - rest = rest.substr(proto.length); - } - - // figure out if it's got a host - // user@server is *always* interpreted as a hostname, and url - // resolution will treat //foo/bar as host=foo,path=bar because that's - // how the browser resolves relative URLs. - if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { - var slashes = rest.substr(0, 2) === '//'; - if (slashes && !(proto && hostlessProtocol[proto])) { - rest = rest.substr(2); - this.slashes = true; - } - } - - if (!hostlessProtocol[proto] && - (slashes || (proto && !slashedProtocol[proto]))) { - - // there's a hostname. - // the first instance of /, ?, ;, or # ends the host. - // - // If there is an @ in the hostname, then non-host chars *are* allowed - // to the left of the last @ sign, unless some host-ending character - // comes *before* the @-sign. - // URLs are obnoxious. - // - // ex: - // http://a@b@c/ => user:a@b host:c - // http://a@b?@c => user:a host:c path:/?@c - - // v0.12 TODO(isaacs): This is not quite how Chrome does things. - // Review our test case against browsers more comprehensively. - - // find the first instance of any hostEndingChars - var hostEnd = -1; - for (var i = 0; i < hostEndingChars.length; i++) { - var hec = rest.indexOf(hostEndingChars[i]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) - hostEnd = hec; - } - - // at this point, either we have an explicit point where the - // auth portion cannot go past, or the last @ char is the decider. - var auth, atSign; - if (hostEnd === -1) { - // atSign can be anywhere. - atSign = rest.lastIndexOf('@'); - } else { - // atSign must be in auth portion. - // http://a@b/c@d => host:b auth:a path:/c@d - atSign = rest.lastIndexOf('@', hostEnd); - } - - // Now we have a portion which is definitely the auth. - // Pull that off. - if (atSign !== -1) { - auth = rest.slice(0, atSign); - rest = rest.slice(atSign + 1); - this.auth = decodeURIComponent(auth); - } + result.href = result.format(); + return result; + } - // the host is the remaining to the left of the first non-host char - hostEnd = -1; - for (var i = 0; i < nonHostChars.length; i++) { - var hec = rest.indexOf(nonHostChars[i]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) - hostEnd = hec; - } - // if we still have not hit it, then the entire thing is a host. - if (hostEnd === -1) - hostEnd = rest.length; - - this.host = rest.slice(0, hostEnd); - rest = rest.slice(hostEnd); - - // pull out port. - this.parseHost(); - - // we've indicated that there is a hostname, - // so even if it's empty, it has to be present. - this.hostname = this.hostname || ''; - - // if hostname begins with [ and ends with ] - // assume that it's an IPv6 address. - var ipv6Hostname = this.hostname[0] === '[' && - this.hostname[this.hostname.length - 1] === ']'; - - // validate a little. - if (!ipv6Hostname) { - var hostparts = this.hostname.split(/\./); - for (var i = 0, l = hostparts.length; i < l; i++) { - var part = hostparts[i]; - if (!part) continue; - if (!part.match(hostnamePartPattern)) { - var newpart = ''; - for (var j = 0, k = part.length; j < k; j++) { - if (part.charCodeAt(j) > 127) { - // we replace non-ASCII char with a temporary placeholder - // we need this to make sure size of hostname is not - // broken by replacing non-ASCII by nothing - newpart += 'x'; + if (!srcPath.length) { + // no path at all. easy. + // we've already handled the other stuff above. + result.pathname = null; + //to support http.request + if (result.search) { + result.path = "/" + result.search; } else { - newpart += part[j]; + result.path = null; } + result.href = result.format(); + return result; } - // we test again with ASCII char only - if (!newpart.match(hostnamePartPattern)) { - var validParts = hostparts.slice(0, i); - var notHost = hostparts.slice(i + 1); - var bit = part.match(hostnamePartStart); - if (bit) { - validParts.push(bit[1]); - notHost.unshift(bit[2]); - } - if (notHost.length) { - rest = '/' + notHost.join('.') + rest; + + // if a url ENDs in . or .., then it must get a trailing slash. + // however, if it ends in anything else non-slashy, + // then it must NOT get a trailing slash. + var last = srcPath.slice(-1)[0]; + var hasTrailingSlash = + ((result.host || relative.host || srcPath.length > 1) && (last === "." || last === "..")) || last === ""; + + // strip single dots, resolve double dots to parent dir + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = srcPath.length; i >= 0; i--) { + last = srcPath[i]; + if (last === ".") { + srcPath.splice(i, 1); + } else if (last === "..") { + srcPath.splice(i, 1); + up++; + } else if (up) { + srcPath.splice(i, 1); + up--; } - this.hostname = validParts.join('.'); - break; } - } - } - } - - if (this.hostname.length > hostnameMaxLen) { - this.hostname = ''; - } else { - // hostnames are always lower case. - this.hostname = this.hostname.toLowerCase(); - } - if (!ipv6Hostname) { - // IDNA Support: Returns a punycoded representation of "domain". - // It only converts parts of the domain name that - // have non-ASCII characters, i.e. it doesn't matter if - // you call it with a domain that already is ASCII-only. - this.hostname = punycode.toASCII(this.hostname); - } + // if the path is allowed to go above the root, restore leading ..s + if (!mustEndAbs && !removeAllDots) { + for (; up--; up) { + srcPath.unshift(".."); + } + } - var p = this.port ? ':' + this.port : ''; - var h = this.hostname || ''; - this.host = h + p; - this.href += this.host; - - // strip [ and ] from the hostname - // the host field still retains them, though - if (ipv6Hostname) { - this.hostname = this.hostname.substr(1, this.hostname.length - 2); - if (rest[0] !== '/') { - rest = '/' + rest; - } - } - } + if (mustEndAbs && srcPath[0] !== "" && (!srcPath[0] || srcPath[0].charAt(0) !== "/")) { + srcPath.unshift(""); + } - // now rest is set to the post-host stuff. - // chop off any delim chars. - if (!unsafeProtocol[lowerProto]) { - - // First, make 100% sure that any "autoEscape" chars get - // escaped, even if encodeURIComponent doesn't think they - // need to be. - for (var i = 0, l = autoEscape.length; i < l; i++) { - var ae = autoEscape[i]; - if (rest.indexOf(ae) === -1) - continue; - var esc = encodeURIComponent(ae); - if (esc === ae) { - esc = escape(ae); - } - rest = rest.split(ae).join(esc); - } - } + if (hasTrailingSlash && srcPath.join("/").substr(-1) !== "/") { + srcPath.push(""); + } + var isAbsolute = srcPath[0] === "" || (srcPath[0] && srcPath[0].charAt(0) === "/"); + + // put the host back + if (psychotic) { + result.hostname = result.host = isAbsolute ? "" : srcPath.length ? srcPath.shift() : ""; + //occationaly the auth can get stuck only in host + //this especially happens in cases like + //url.resolveObject('mailto:local1@domain1', 'local2@domain2') + var authInHost = result.host && result.host.indexOf("@") > 0 ? result.host.split("@") : false; + if (authInHost) { + result.auth = authInHost.shift(); + result.host = result.hostname = authInHost.shift(); + } + } - // chop off from the tail first. - var hash = rest.indexOf('#'); - if (hash !== -1) { - // got a fragment string. - this.hash = rest.substr(hash); - rest = rest.slice(0, hash); - } - var qm = rest.indexOf('?'); - if (qm !== -1) { - this.search = rest.substr(qm); - this.query = rest.substr(qm + 1); - if (parseQueryString) { - this.query = querystring.parse(this.query); - } - rest = rest.slice(0, qm); - } else if (parseQueryString) { - // no query string, but parseQueryString still requested - this.search = ''; - this.query = {}; - } - if (rest) this.pathname = rest; - if (slashedProtocol[lowerProto] && - this.hostname && !this.pathname) { - this.pathname = '/'; - } + mustEndAbs = mustEndAbs || (result.host && srcPath.length); - //to support http.request - if (this.pathname || this.search) { - var p = this.pathname || ''; - var s = this.search || ''; - this.path = p + s; - } + if (mustEndAbs && !isAbsolute) { + srcPath.unshift(""); + } - // finally, reconstruct the href based on what has been validated. - this.href = this.format(); - return this; -}; - -// format a parsed object into a url string -function urlFormat(obj) { - // ensure it's an object, and not a string url. - // If it's an obj, this is a no-op. - // this way, you can call url_format() on strings - // to clean up potentially wonky urls. - if (util.isString(obj)) obj = urlParse(obj); - if (!(obj instanceof Url)) return Url.prototype.format.call(obj); - return obj.format(); -} - -Url.prototype.format = function() { - var auth = this.auth || ''; - if (auth) { - auth = encodeURIComponent(auth); - auth = auth.replace(/%3A/i, ':'); - auth += '@'; - } + if (!srcPath.length) { + result.pathname = null; + result.path = null; + } else { + result.pathname = srcPath.join("/"); + } - var protocol = this.protocol || '', - pathname = this.pathname || '', - hash = this.hash || '', - host = false, - query = ''; - - if (this.host) { - host = auth + this.host; - } else if (this.hostname) { - host = auth + (this.hostname.indexOf(':') === -1 ? - this.hostname : - '[' + this.hostname + ']'); - if (this.port) { - host += ':' + this.port; - } - } + //to support request.http + if (!util.isNull(result.pathname) || !util.isNull(result.search)) { + result.path = (result.pathname ? result.pathname : "") + (result.search ? result.search : ""); + } + result.auth = relative.auth || result.auth; + result.slashes = result.slashes || relative.slashes; + result.href = result.format(); + return result; + }; - if (this.query && - util.isObject(this.query) && - Object.keys(this.query).length) { - query = querystring.stringify(this.query); - } + Url.prototype.parseHost = function () { + var host = this.host; + var port = portPattern.exec(host); + if (port) { + port = port[0]; + if (port !== ":") { + this.port = port.substr(1); + } + host = host.substr(0, host.length - port.length); + } + if (host) this.hostname = host; + }; + }, + { "./util": 200, punycode: 173, querystring: 176 }, + ], + 200: [ + function (require, module, exports) { + "use strict"; + + module.exports = { + isString: function (arg) { + return typeof arg === "string"; + }, + isObject: function (arg) { + return typeof arg === "object" && arg !== null; + }, + isNull: function (arg) { + return arg === null; + }, + isNullOrUndefined: function (arg) { + return arg == null; + }, + }; + }, + {}, + ], + 201: [ + function (require, module, exports) { + (function (global) { + (function () { + /** + * Module exports. + */ + + module.exports = deprecate; + + /** + * Mark that a method should not be used. + * Returns a modified function which warns once by default. + * + * If `localStorage.noDeprecation = true` is set, then it is a no-op. + * + * If `localStorage.throwDeprecation = true` is set, then deprecated functions + * will throw an Error when invoked. + * + * If `localStorage.traceDeprecation = true` is set, then deprecated functions + * will invoke `console.trace()` instead of `console.error()`. + * + * @param {Function} fn - the function to deprecate + * @param {String} msg - the string to print to the console when `fn` is invoked + * @returns {Function} a new "deprecated" version of `fn` + * @api public + */ + + function deprecate(fn, msg) { + if (config("noDeprecation")) { + return fn; + } - var search = this.search || (query && ('?' + query)) || ''; + var warned = false; + function deprecated() { + if (!warned) { + if (config("throwDeprecation")) { + throw new Error(msg); + } else if (config("traceDeprecation")) { + console.trace(msg); + } else { + console.warn(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } - if (protocol && protocol.substr(-1) !== ':') protocol += ':'; + return deprecated; + } - // only the slashedProtocols get the //. Not mailto:, xmpp:, etc. - // unless they had them to begin with. - if (this.slashes || - (!protocol || slashedProtocol[protocol]) && host !== false) { - host = '//' + (host || ''); - if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname; - } else if (!host) { - host = ''; - } + /** + * Checks `localStorage` for boolean values for the given `name`. + * + * @param {String} name + * @returns {Boolean} + * @api private + */ + + function config(name) { + // accessing global.localStorage can trigger a DOMException in sandboxed iframes + try { + if (!global.localStorage) return false; + } catch (_) { + return false; + } + var val = global.localStorage[name]; + if (null == val) return false; + return String(val).toLowerCase() === "true"; + } + }).call(this); + }).call( + this, + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + {}, + ], + 202: [ + function (require, module, exports) { + if (typeof Object.create === "function") { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true, + }, + }); + }; + } else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function () {}; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + }; + } + }, + {}, + ], + 203: [ + function (require, module, exports) { + module.exports = function isBuffer(arg) { + return ( + arg && + typeof arg === "object" && + typeof arg.copy === "function" && + typeof arg.fill === "function" && + typeof arg.readUInt8 === "function" + ); + }; + }, + {}, + ], + 204: [ + function (require, module, exports) { + (function (process, global) { + (function () { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + var formatRegExp = /%[sdj%]/g; + exports.format = function (f) { + if (!isString(f)) { + var objects = []; + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + return objects.join(" "); + } - if (hash && hash.charAt(0) !== '#') hash = '#' + hash; - if (search && search.charAt(0) !== '?') search = '?' + search; + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function (x) { + if (x === "%%") return "%"; + if (i >= len) return x; + switch (x) { + case "%s": + return String(args[i++]); + case "%d": + return Number(args[i++]); + case "%j": + try { + return JSON.stringify(args[i++]); + } catch (_) { + return "[Circular]"; + } + default: + return x; + } + }); + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += " " + x; + } else { + str += " " + inspect(x); + } + } + return str; + }; - pathname = pathname.replace(/[?#]/g, function(match) { - return encodeURIComponent(match); - }); - search = search.replace('#', '%23'); + // Mark that a method should not be used. + // Returns a modified function which warns once by default. + // If --no-deprecation is set, then it is a no-op. + exports.deprecate = function (fn, msg) { + // Allow for deprecating things in the process of starting up. + if (isUndefined(global.process)) { + return function () { + return exports.deprecate(fn, msg).apply(this, arguments); + }; + } - return protocol + host + pathname + search + hash; -}; + if (process.noDeprecation === true) { + return fn; + } -function urlResolve(source, relative) { - return urlParse(source, false, true).resolve(relative); -} + var warned = false; + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } -Url.prototype.resolve = function(relative) { - return this.resolveObject(urlParse(relative, false, true)).format(); -}; + return deprecated; + }; -function urlResolveObject(source, relative) { - if (!source) return relative; - return urlParse(source, false, true).resolveObject(relative); -} + var debugs = {}; + var debugEnviron; + exports.debuglog = function (set) { + if (isUndefined(debugEnviron)) debugEnviron = process.env.NODE_DEBUG || ""; + set = set.toUpperCase(); + if (!debugs[set]) { + if (new RegExp("\\b" + set + "\\b", "i").test(debugEnviron)) { + var pid = process.pid; + debugs[set] = function () { + var msg = exports.format.apply(exports, arguments); + console.error("%s %d: %s", set, pid, msg); + }; + } else { + debugs[set] = function () {}; + } + } + return debugs[set]; + }; -Url.prototype.resolveObject = function(relative) { - if (util.isString(relative)) { - var rel = new Url(); - rel.parse(relative, false, true); - relative = rel; - } + /** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Object} opts Optional options object that alters the output. + */ + /* legacy: obj, showHidden, depth, colors*/ + function inspect(obj, opts) { + // default options + var ctx = { + seen: [], + stylize: stylizeNoColor, + }; + // legacy... + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + if (isBoolean(opts)) { + // legacy... + ctx.showHidden = opts; + } else if (opts) { + // got an "options" object + exports._extend(ctx, opts); + } + // set default options + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); + } + exports.inspect = inspect; + + // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics + inspect.colors = { + bold: [1, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + white: [37, 39], + grey: [90, 39], + black: [30, 39], + blue: [34, 39], + cyan: [36, 39], + green: [32, 39], + magenta: [35, 39], + red: [31, 39], + yellow: [33, 39], + }; - var result = new Url(); - var tkeys = Object.keys(this); - for (var tk = 0; tk < tkeys.length; tk++) { - var tkey = tkeys[tk]; - result[tkey] = this[tkey]; - } + // Don't use 'blue' not visible on cmd.exe + inspect.styles = { + special: "cyan", + number: "yellow", + boolean: "yellow", + undefined: "grey", + null: "bold", + string: "green", + date: "magenta", + // "name": intentionally not styling + regexp: "red", + }; - // hash is always overridden, no matter what. - // even href="" will remove it. - result.hash = relative.hash; + function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; - // if the relative url is empty, then there's nothing left to do here. - if (relative.href === '') { - result.href = result.format(); - return result; - } + if (style) { + return "\u001b[" + inspect.colors[style][0] + "m" + str + "\u001b[" + inspect.colors[style][1] + "m"; + } else { + return str; + } + } - // hrefs like //foo/bar always cut to the protocol. - if (relative.slashes && !relative.protocol) { - // take everything except the protocol from relative - var rkeys = Object.keys(relative); - for (var rk = 0; rk < rkeys.length; rk++) { - var rkey = rkeys[rk]; - if (rkey !== 'protocol') - result[rkey] = relative[rkey]; - } + function stylizeNoColor(str, styleType) { + return str; + } - //urlParse appends trailing / to urls like http://www.example.com - if (slashedProtocol[result.protocol] && - result.hostname && !result.pathname) { - result.path = result.pathname = '/'; - } + function arrayToHash(array) { + var hash = {}; - result.href = result.format(); - return result; - } + array.forEach(function (val, idx) { + hash[val] = true; + }); - if (relative.protocol && relative.protocol !== result.protocol) { - // if it's a known url protocol, then changing - // the protocol does weird things - // first, if it's not file:, then we MUST have a host, - // and if there was a path - // to begin with, then we MUST have a path. - // if it is file:, then the host is dropped, - // because that's known to be hostless. - // anything else is assumed to be absolute. - if (!slashedProtocol[relative.protocol]) { - var keys = Object.keys(relative); - for (var v = 0; v < keys.length; v++) { - var k = keys[v]; - result[k] = relative[k]; - } - result.href = result.format(); - return result; - } + return hash; + } - result.protocol = relative.protocol; - if (!relative.host && !hostlessProtocol[relative.protocol]) { - var relPath = (relative.pathname || '').split('/'); - while (relPath.length && !(relative.host = relPath.shift())); - if (!relative.host) relative.host = ''; - if (!relative.hostname) relative.hostname = ''; - if (relPath[0] !== '') relPath.unshift(''); - if (relPath.length < 2) relPath.unshift(''); - result.pathname = relPath.join('/'); - } else { - result.pathname = relative.pathname; - } - result.search = relative.search; - result.query = relative.query; - result.host = relative.host || ''; - result.auth = relative.auth; - result.hostname = relative.hostname || relative.host; - result.port = relative.port; - // to support http.request - if (result.pathname || result.search) { - var p = result.pathname || ''; - var s = result.search || ''; - result.path = p + s; - } - result.slashes = result.slashes || relative.slashes; - result.href = result.format(); - return result; - } + function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if ( + ctx.customInspect && + value && + isFunction(value.inspect) && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value) + ) { + var ret = value.inspect(recurseTimes, ctx); + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } - var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'), - isRelAbs = ( - relative.host || - relative.pathname && relative.pathname.charAt(0) === '/' - ), - mustEndAbs = (isRelAbs || isSourceAbs || - (result.host && relative.pathname)), - removeAllDots = mustEndAbs, - srcPath = result.pathname && result.pathname.split('/') || [], - relPath = relative.pathname && relative.pathname.split('/') || [], - psychotic = result.protocol && !slashedProtocol[result.protocol]; - - // if the url is a non-slashed url, then relative - // links like ../.. should be able - // to crawl up to the hostname, as well. This is strange. - // result.protocol has already been set by now. - // Later on, put the first path part into the host field. - if (psychotic) { - result.hostname = ''; - result.port = null; - if (result.host) { - if (srcPath[0] === '') srcPath[0] = result.host; - else srcPath.unshift(result.host); - } - result.host = ''; - if (relative.protocol) { - relative.hostname = null; - relative.port = null; - if (relative.host) { - if (relPath[0] === '') relPath[0] = relative.host; - else relPath.unshift(relative.host); - } - relative.host = null; - } - mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === ''); - } + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } - if (isRelAbs) { - // it's absolute. - result.host = (relative.host || relative.host === '') ? - relative.host : result.host; - result.hostname = (relative.hostname || relative.hostname === '') ? - relative.hostname : result.hostname; - result.search = relative.search; - result.query = relative.query; - srcPath = relPath; - // fall through to the dot-handling below. - } else if (relPath.length) { - // it's relative - // throw away the existing file, and take the new path instead. - if (!srcPath) srcPath = []; - srcPath.pop(); - srcPath = srcPath.concat(relPath); - result.search = relative.search; - result.query = relative.query; - } else if (!util.isNullOrUndefined(relative.search)) { - // just pull out the search. - // like href='?foo'. - // Put this after the other two cases because it simplifies the booleans - if (psychotic) { - result.hostname = result.host = srcPath.shift(); - //occationaly the auth can get stuck only in host - //this especially happens in cases like - //url.resolveObject('mailto:local1@domain1', 'local2@domain2') - var authInHost = result.host && result.host.indexOf('@') > 0 ? - result.host.split('@') : false; - if (authInHost) { - result.auth = authInHost.shift(); - result.host = result.hostname = authInHost.shift(); - } - } - result.search = relative.search; - result.query = relative.query; - //to support http.request - if (!util.isNull(result.pathname) || !util.isNull(result.search)) { - result.path = (result.pathname ? result.pathname : '') + - (result.search ? result.search : ''); - } - result.href = result.format(); - return result; - } + // Look up the keys of the object. + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); - if (!srcPath.length) { - // no path at all. easy. - // we've already handled the other stuff above. - result.pathname = null; - //to support http.request - if (result.search) { - result.path = '/' + result.search; - } else { - result.path = null; - } - result.href = result.format(); - return result; - } + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } - // if a url ENDs in . or .., then it must get a trailing slash. - // however, if it ends in anything else non-slashy, - // then it must NOT get a trailing slash. - var last = srcPath.slice(-1)[0]; - var hasTrailingSlash = ( - (result.host || relative.host || srcPath.length > 1) && - (last === '.' || last === '..') || last === ''); - - // strip single dots, resolve double dots to parent dir - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = srcPath.length; i >= 0; i--) { - last = srcPath[i]; - if (last === '.') { - srcPath.splice(i, 1); - } else if (last === '..') { - srcPath.splice(i, 1); - up++; - } else if (up) { - srcPath.splice(i, 1); - up--; - } - } + // IE doesn't make error fields non-enumerable + // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx + if (isError(value) && (keys.indexOf("message") >= 0 || keys.indexOf("description") >= 0)) { + return formatError(value); + } - // if the path is allowed to go above the root, restore leading ..s - if (!mustEndAbs && !removeAllDots) { - for (; up--; up) { - srcPath.unshift('..'); - } - } + // Some type of object without properties can be shortcutted. + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ": " + value.name : ""; + return ctx.stylize("[Function" + name + "]", "special"); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), "regexp"); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), "date"); + } + if (isError(value)) { + return formatError(value); + } + } - if (mustEndAbs && srcPath[0] !== '' && - (!srcPath[0] || srcPath[0].charAt(0) !== '/')) { - srcPath.unshift(''); - } + var base = "", + array = false, + braces = ["{", "}"]; - if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) { - srcPath.push(''); - } + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ["[", "]"]; + } - var isAbsolute = srcPath[0] === '' || - (srcPath[0] && srcPath[0].charAt(0) === '/'); - - // put the host back - if (psychotic) { - result.hostname = result.host = isAbsolute ? '' : - srcPath.length ? srcPath.shift() : ''; - //occationaly the auth can get stuck only in host - //this especially happens in cases like - //url.resolveObject('mailto:local1@domain1', 'local2@domain2') - var authInHost = result.host && result.host.indexOf('@') > 0 ? - result.host.split('@') : false; - if (authInHost) { - result.auth = authInHost.shift(); - result.host = result.hostname = authInHost.shift(); - } - } + // Make functions say that they are functions + if (isFunction(value)) { + var n = value.name ? ": " + value.name : ""; + base = " [Function" + n + "]"; + } - mustEndAbs = mustEndAbs || (result.host && srcPath.length); + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = " " + RegExp.prototype.toString.call(value); + } - if (mustEndAbs && !isAbsolute) { - srcPath.unshift(''); - } + // Make dates with properties first say the date + if (isDate(value)) { + base = " " + Date.prototype.toUTCString.call(value); + } - if (!srcPath.length) { - result.pathname = null; - result.path = null; - } else { - result.pathname = srcPath.join('/'); - } + // Make error with message first say the error + if (isError(value)) { + base = " " + formatError(value); + } - //to support request.http - if (!util.isNull(result.pathname) || !util.isNull(result.search)) { - result.path = (result.pathname ? result.pathname : '') + - (result.search ? result.search : ''); - } - result.auth = relative.auth || result.auth; - result.slashes = result.slashes || relative.slashes; - result.href = result.format(); - return result; -}; - -Url.prototype.parseHost = function() { - var host = this.host; - var port = portPattern.exec(host); - if (port) { - port = port[0]; - if (port !== ':') { - this.port = port.substr(1); - } - host = host.substr(0, host.length - port.length); - } - if (host) this.hostname = host; -}; + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } -},{"./util":200,"punycode":173,"querystring":176}],200:[function(require,module,exports){ -'use strict'; + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), "regexp"); + } else { + return ctx.stylize("[Object]", "special"); + } + } -module.exports = { - isString: function(arg) { - return typeof(arg) === 'string'; - }, - isObject: function(arg) { - return typeof(arg) === 'object' && arg !== null; - }, - isNull: function(arg) { - return arg === null; - }, - isNullOrUndefined: function(arg) { - return arg == null; - } -}; - -},{}],201:[function(require,module,exports){ -(function (global){(function (){ - -/** - * Module exports. - */ - -module.exports = deprecate; - -/** - * Mark that a method should not be used. - * Returns a modified function which warns once by default. - * - * If `localStorage.noDeprecation = true` is set, then it is a no-op. - * - * If `localStorage.throwDeprecation = true` is set, then deprecated functions - * will throw an Error when invoked. - * - * If `localStorage.traceDeprecation = true` is set, then deprecated functions - * will invoke `console.trace()` instead of `console.error()`. - * - * @param {Function} fn - the function to deprecate - * @param {String} msg - the string to print to the console when `fn` is invoked - * @returns {Function} a new "deprecated" version of `fn` - * @api public - */ - -function deprecate (fn, msg) { - if (config('noDeprecation')) { - return fn; - } + ctx.seen.push(value); - var warned = false; - function deprecated() { - if (!warned) { - if (config('throwDeprecation')) { - throw new Error(msg); - } else if (config('traceDeprecation')) { - console.trace(msg); - } else { - console.warn(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function (key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } - return deprecated; -} - -/** - * Checks `localStorage` for boolean values for the given `name`. - * - * @param {String} name - * @returns {Boolean} - * @api private - */ - -function config (name) { - // accessing global.localStorage can trigger a DOMException in sandboxed iframes - try { - if (!global.localStorage) return false; - } catch (_) { - return false; - } - var val = global.localStorage[name]; - if (null == val) return false; - return String(val).toLowerCase() === 'true'; -} - -}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{}],202:[function(require,module,exports){ -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } -} - -},{}],203:[function(require,module,exports){ -module.exports = function isBuffer(arg) { - return arg && typeof arg === 'object' - && typeof arg.copy === 'function' - && typeof arg.fill === 'function' - && typeof arg.readUInt8 === 'function'; -} -},{}],204:[function(require,module,exports){ -(function (process,global){(function (){ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -var formatRegExp = /%[sdj%]/g; -exports.format = function(f) { - if (!isString(f)) { - var objects = []; - for (var i = 0; i < arguments.length; i++) { - objects.push(inspect(arguments[i])); - } - return objects.join(' '); - } + ctx.seen.pop(); - var i = 1; - var args = arguments; - var len = args.length; - var str = String(f).replace(formatRegExp, function(x) { - if (x === '%%') return '%'; - if (i >= len) return x; - switch (x) { - case '%s': return String(args[i++]); - case '%d': return Number(args[i++]); - case '%j': - try { - return JSON.stringify(args[i++]); - } catch (_) { - return '[Circular]'; - } - default: - return x; - } - }); - for (var x = args[i]; i < len; x = args[++i]) { - if (isNull(x) || !isObject(x)) { - str += ' ' + x; - } else { - str += ' ' + inspect(x); - } - } - return str; -}; - - -// Mark that a method should not be used. -// Returns a modified function which warns once by default. -// If --no-deprecation is set, then it is a no-op. -exports.deprecate = function(fn, msg) { - // Allow for deprecating things in the process of starting up. - if (isUndefined(global.process)) { - return function() { - return exports.deprecate(fn, msg).apply(this, arguments); - }; - } + return reduceToSingleString(output, base, braces); + } - if (process.noDeprecation === true) { - return fn; - } + function formatPrimitive(ctx, value) { + if (isUndefined(value)) return ctx.stylize("undefined", "undefined"); + if (isString(value)) { + var simple = + "'" + JSON.stringify(value).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'"; + return ctx.stylize(simple, "string"); + } + if (isNumber(value)) return ctx.stylize("" + value, "number"); + if (isBoolean(value)) return ctx.stylize("" + value, "boolean"); + // For some reason typeof null is "object", so special case here. + if (isNull(value)) return ctx.stylize("null", "null"); + } - var warned = false; - function deprecated() { - if (!warned) { - if (process.throwDeprecation) { - throw new Error(msg); - } else if (process.traceDeprecation) { - console.trace(msg); - } else { - console.error(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } + function formatError(value) { + return "[" + Error.prototype.toString.call(value) + "]"; + } - return deprecated; -}; - - -var debugs = {}; -var debugEnviron; -exports.debuglog = function(set) { - if (isUndefined(debugEnviron)) - debugEnviron = process.env.NODE_DEBUG || ''; - set = set.toUpperCase(); - if (!debugs[set]) { - if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { - var pid = process.pid; - debugs[set] = function() { - var msg = exports.format.apply(exports, arguments); - console.error('%s %d: %s', set, pid, msg); - }; - } else { - debugs[set] = function() {}; - } - } - return debugs[set]; -}; - - -/** - * Echos the value of a value. Trys to print the value out - * in the best way possible given the different types. - * - * @param {Object} obj The object to print out. - * @param {Object} opts Optional options object that alters the output. - */ -/* legacy: obj, showHidden, depth, colors*/ -function inspect(obj, opts) { - // default options - var ctx = { - seen: [], - stylize: stylizeNoColor - }; - // legacy... - if (arguments.length >= 3) ctx.depth = arguments[2]; - if (arguments.length >= 4) ctx.colors = arguments[3]; - if (isBoolean(opts)) { - // legacy... - ctx.showHidden = opts; - } else if (opts) { - // got an "options" object - exports._extend(ctx, opts); - } - // set default options - if (isUndefined(ctx.showHidden)) ctx.showHidden = false; - if (isUndefined(ctx.depth)) ctx.depth = 2; - if (isUndefined(ctx.colors)) ctx.colors = false; - if (isUndefined(ctx.customInspect)) ctx.customInspect = true; - if (ctx.colors) ctx.stylize = stylizeWithColor; - return formatValue(ctx, obj, ctx.depth); -} -exports.inspect = inspect; - - -// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics -inspect.colors = { - 'bold' : [1, 22], - 'italic' : [3, 23], - 'underline' : [4, 24], - 'inverse' : [7, 27], - 'white' : [37, 39], - 'grey' : [90, 39], - 'black' : [30, 39], - 'blue' : [34, 39], - 'cyan' : [36, 39], - 'green' : [32, 39], - 'magenta' : [35, 39], - 'red' : [31, 39], - 'yellow' : [33, 39] -}; - -// Don't use 'blue' not visible on cmd.exe -inspect.styles = { - 'special': 'cyan', - 'number': 'yellow', - 'boolean': 'yellow', - 'undefined': 'grey', - 'null': 'bold', - 'string': 'green', - 'date': 'magenta', - // "name": intentionally not styling - 'regexp': 'red' -}; - - -function stylizeWithColor(str, styleType) { - var style = inspect.styles[styleType]; - - if (style) { - return '\u001b[' + inspect.colors[style][0] + 'm' + str + - '\u001b[' + inspect.colors[style][1] + 'm'; - } else { - return str; - } -} + function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true)); + } else { + output.push(""); + } + } + keys.forEach(function (key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true)); + } + }); + return output; + } + function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; + if (desc.get) { + if (desc.set) { + str = ctx.stylize("[Getter/Setter]", "special"); + } else { + str = ctx.stylize("[Getter]", "special"); + } + } else { + if (desc.set) { + str = ctx.stylize("[Setter]", "special"); + } + } + if (!hasOwnProperty(visibleKeys, key)) { + name = "[" + key + "]"; + } + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + if (str.indexOf("\n") > -1) { + if (array) { + str = str + .split("\n") + .map(function (line) { + return " " + line; + }) + .join("\n") + .substr(2); + } else { + str = + "\n" + + str + .split("\n") + .map(function (line) { + return " " + line; + }) + .join("\n"); + } + } + } else { + str = ctx.stylize("[Circular]", "special"); + } + } + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify("" + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, "name"); + } else { + name = name + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, "string"); + } + } -function stylizeNoColor(str, styleType) { - return str; -} + return name + ": " + str; + } + function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function (prev, cur) { + numLinesEst++; + if (cur.indexOf("\n") >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, "").length + 1; + }, 0); -function arrayToHash(array) { - var hash = {}; + if (length > 60) { + return braces[0] + (base === "" ? "" : base + "\n ") + " " + output.join(",\n ") + " " + braces[1]; + } - array.forEach(function(val, idx) { - hash[val] = true; - }); + return braces[0] + base + " " + output.join(", ") + " " + braces[1]; + } - return hash; -} + // NOTE: These type checking functions intentionally don't use `instanceof` + // because it is fragile and can be easily faked with `Object.create()`. + function isArray(ar) { + return Array.isArray(ar); + } + exports.isArray = isArray; + function isBoolean(arg) { + return typeof arg === "boolean"; + } + exports.isBoolean = isBoolean; -function formatValue(ctx, value, recurseTimes) { - // Provide a hook for user-specified inspect functions. - // Check that value is an object with an inspect function on it - if (ctx.customInspect && - value && - isFunction(value.inspect) && - // Filter out the util module, it's inspect function is special - value.inspect !== exports.inspect && - // Also filter out any prototype objects using the circular check. - !(value.constructor && value.constructor.prototype === value)) { - var ret = value.inspect(recurseTimes, ctx); - if (!isString(ret)) { - ret = formatValue(ctx, ret, recurseTimes); - } - return ret; - } + function isNull(arg) { + return arg === null; + } + exports.isNull = isNull; - // Primitive types cannot have properties - var primitive = formatPrimitive(ctx, value); - if (primitive) { - return primitive; - } + function isNullOrUndefined(arg) { + return arg == null; + } + exports.isNullOrUndefined = isNullOrUndefined; - // Look up the keys of the object. - var keys = Object.keys(value); - var visibleKeys = arrayToHash(keys); + function isNumber(arg) { + return typeof arg === "number"; + } + exports.isNumber = isNumber; - if (ctx.showHidden) { - keys = Object.getOwnPropertyNames(value); - } + function isString(arg) { + return typeof arg === "string"; + } + exports.isString = isString; - // IE doesn't make error fields non-enumerable - // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx - if (isError(value) - && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { - return formatError(value); - } + function isSymbol(arg) { + return typeof arg === "symbol"; + } + exports.isSymbol = isSymbol; - // Some type of object without properties can be shortcutted. - if (keys.length === 0) { - if (isFunction(value)) { - var name = value.name ? ': ' + value.name : ''; - return ctx.stylize('[Function' + name + ']', 'special'); - } - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } - if (isDate(value)) { - return ctx.stylize(Date.prototype.toString.call(value), 'date'); - } - if (isError(value)) { - return formatError(value); - } - } + function isUndefined(arg) { + return arg === void 0; + } + exports.isUndefined = isUndefined; - var base = '', array = false, braces = ['{', '}']; + function isRegExp(re) { + return isObject(re) && objectToString(re) === "[object RegExp]"; + } + exports.isRegExp = isRegExp; - // Make Array say that they are Array - if (isArray(value)) { - array = true; - braces = ['[', ']']; - } + function isObject(arg) { + return typeof arg === "object" && arg !== null; + } + exports.isObject = isObject; - // Make functions say that they are functions - if (isFunction(value)) { - var n = value.name ? ': ' + value.name : ''; - base = ' [Function' + n + ']'; - } + function isDate(d) { + return isObject(d) && objectToString(d) === "[object Date]"; + } + exports.isDate = isDate; - // Make RegExps say that they are RegExps - if (isRegExp(value)) { - base = ' ' + RegExp.prototype.toString.call(value); - } + function isError(e) { + return isObject(e) && (objectToString(e) === "[object Error]" || e instanceof Error); + } + exports.isError = isError; - // Make dates with properties first say the date - if (isDate(value)) { - base = ' ' + Date.prototype.toUTCString.call(value); - } + function isFunction(arg) { + return typeof arg === "function"; + } + exports.isFunction = isFunction; + + function isPrimitive(arg) { + return ( + arg === null || + typeof arg === "boolean" || + typeof arg === "number" || + typeof arg === "string" || + typeof arg === "symbol" || // ES6 symbol + typeof arg === "undefined" + ); + } + exports.isPrimitive = isPrimitive; - // Make error with message first say the error - if (isError(value)) { - base = ' ' + formatError(value); - } + exports.isBuffer = require("./support/isBuffer"); - if (keys.length === 0 && (!array || value.length == 0)) { - return braces[0] + base + braces[1]; - } + function objectToString(o) { + return Object.prototype.toString.call(o); + } - if (recurseTimes < 0) { - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } else { - return ctx.stylize('[Object]', 'special'); - } - } + function pad(n) { + return n < 10 ? "0" + n.toString(10) : n.toString(10); + } - ctx.seen.push(value); + var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; - var output; - if (array) { - output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); - } else { - output = keys.map(function(key) { - return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); - }); - } + // 26 Feb 16:19:34 + function timestamp() { + var d = new Date(); + var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(":"); + return [d.getDate(), months[d.getMonth()], time].join(" "); + } - ctx.seen.pop(); + // log is just a thin wrapper to console.log that prepends a timestamp + exports.log = function () { + console.log("%s - %s", timestamp(), exports.format.apply(exports, arguments)); + }; - return reduceToSingleString(output, base, braces); -} + /** + * Inherit the prototype methods from one constructor into another. + * + * The Function.prototype.inherits from lang.js rewritten as a standalone + * function (not on Function.prototype). NOTE: If this file is to be loaded + * during bootstrapping this function needs to be rewritten using some native + * functions as prototype setup using normal JavaScript does not work as + * expected during bootstrapping (see mirror.js in r114903). + * + * @param {function} ctor Constructor function which needs to inherit the + * prototype. + * @param {function} superCtor Constructor function to inherit prototype from. + */ + exports.inherits = require("inherits"); + + exports._extend = function (origin, add) { + // Don't do anything if add isn't an object + if (!add || !isObject(add)) return origin; + + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin; + }; + function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); + } + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + { "./support/isBuffer": 203, _process: 172, inherits: 202 }, + ], + 205: [ + function (require, module, exports) { + module.exports = extend; -function formatPrimitive(ctx, value) { - if (isUndefined(value)) - return ctx.stylize('undefined', 'undefined'); - if (isString(value)) { - var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') - .replace(/'/g, "\\'") - .replace(/\\"/g, '"') + '\''; - return ctx.stylize(simple, 'string'); - } - if (isNumber(value)) - return ctx.stylize('' + value, 'number'); - if (isBoolean(value)) - return ctx.stylize('' + value, 'boolean'); - // For some reason typeof null is "object", so special case here. - if (isNull(value)) - return ctx.stylize('null', 'null'); -} - - -function formatError(value) { - return '[' + Error.prototype.toString.call(value) + ']'; -} - - -function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { - var output = []; - for (var i = 0, l = value.length; i < l; ++i) { - if (hasOwnProperty(value, String(i))) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - String(i), true)); - } else { - output.push(''); - } - } - keys.forEach(function(key) { - if (!key.match(/^\d+$/)) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - key, true)); - } - }); - return output; -} - - -function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { - var name, str, desc; - desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; - if (desc.get) { - if (desc.set) { - str = ctx.stylize('[Getter/Setter]', 'special'); - } else { - str = ctx.stylize('[Getter]', 'special'); - } - } else { - if (desc.set) { - str = ctx.stylize('[Setter]', 'special'); - } - } - if (!hasOwnProperty(visibleKeys, key)) { - name = '[' + key + ']'; - } - if (!str) { - if (ctx.seen.indexOf(desc.value) < 0) { - if (isNull(recurseTimes)) { - str = formatValue(ctx, desc.value, null); - } else { - str = formatValue(ctx, desc.value, recurseTimes - 1); - } - if (str.indexOf('\n') > -1) { - if (array) { - str = str.split('\n').map(function(line) { - return ' ' + line; - }).join('\n').substr(2); - } else { - str = '\n' + str.split('\n').map(function(line) { - return ' ' + line; - }).join('\n'); - } - } - } else { - str = ctx.stylize('[Circular]', 'special'); - } - } - if (isUndefined(name)) { - if (array && key.match(/^\d+$/)) { - return str; - } - name = JSON.stringify('' + key); - if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { - name = name.substr(1, name.length - 2); - name = ctx.stylize(name, 'name'); - } else { - name = name.replace(/'/g, "\\'") - .replace(/\\"/g, '"') - .replace(/(^"|"$)/g, "'"); - name = ctx.stylize(name, 'string'); - } - } + var hasOwnProperty = Object.prototype.hasOwnProperty; - return name + ': ' + str; -} - - -function reduceToSingleString(output, base, braces) { - var numLinesEst = 0; - var length = output.reduce(function(prev, cur) { - numLinesEst++; - if (cur.indexOf('\n') >= 0) numLinesEst++; - return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; - }, 0); - - if (length > 60) { - return braces[0] + - (base === '' ? '' : base + '\n ') + - ' ' + - output.join(',\n ') + - ' ' + - braces[1]; - } + function extend() { + var target = {}; - return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; -} - - -// NOTE: These type checking functions intentionally don't use `instanceof` -// because it is fragile and can be easily faked with `Object.create()`. -function isArray(ar) { - return Array.isArray(ar); -} -exports.isArray = isArray; - -function isBoolean(arg) { - return typeof arg === 'boolean'; -} -exports.isBoolean = isBoolean; - -function isNull(arg) { - return arg === null; -} -exports.isNull = isNull; - -function isNullOrUndefined(arg) { - return arg == null; -} -exports.isNullOrUndefined = isNullOrUndefined; - -function isNumber(arg) { - return typeof arg === 'number'; -} -exports.isNumber = isNumber; - -function isString(arg) { - return typeof arg === 'string'; -} -exports.isString = isString; - -function isSymbol(arg) { - return typeof arg === 'symbol'; -} -exports.isSymbol = isSymbol; - -function isUndefined(arg) { - return arg === void 0; -} -exports.isUndefined = isUndefined; - -function isRegExp(re) { - return isObject(re) && objectToString(re) === '[object RegExp]'; -} -exports.isRegExp = isRegExp; - -function isObject(arg) { - return typeof arg === 'object' && arg !== null; -} -exports.isObject = isObject; - -function isDate(d) { - return isObject(d) && objectToString(d) === '[object Date]'; -} -exports.isDate = isDate; - -function isError(e) { - return isObject(e) && - (objectToString(e) === '[object Error]' || e instanceof Error); -} -exports.isError = isError; - -function isFunction(arg) { - return typeof arg === 'function'; -} -exports.isFunction = isFunction; - -function isPrimitive(arg) { - return arg === null || - typeof arg === 'boolean' || - typeof arg === 'number' || - typeof arg === 'string' || - typeof arg === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; -} -exports.isPrimitive = isPrimitive; - -exports.isBuffer = require('./support/isBuffer'); - -function objectToString(o) { - return Object.prototype.toString.call(o); -} - - -function pad(n) { - return n < 10 ? '0' + n.toString(10) : n.toString(10); -} - - -var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', - 'Oct', 'Nov', 'Dec']; - -// 26 Feb 16:19:34 -function timestamp() { - var d = new Date(); - var time = [pad(d.getHours()), - pad(d.getMinutes()), - pad(d.getSeconds())].join(':'); - return [d.getDate(), months[d.getMonth()], time].join(' '); -} - - -// log is just a thin wrapper to console.log that prepends a timestamp -exports.log = function() { - console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); -}; - - -/** - * Inherit the prototype methods from one constructor into another. - * - * The Function.prototype.inherits from lang.js rewritten as a standalone - * function (not on Function.prototype). NOTE: If this file is to be loaded - * during bootstrapping this function needs to be rewritten using some native - * functions as prototype setup using normal JavaScript does not work as - * expected during bootstrapping (see mirror.js in r114903). - * - * @param {function} ctor Constructor function which needs to inherit the - * prototype. - * @param {function} superCtor Constructor function to inherit prototype from. - */ -exports.inherits = require('inherits'); - -exports._extend = function(origin, add) { - // Don't do anything if add isn't an object - if (!add || !isObject(add)) return origin; - - var keys = Object.keys(add); - var i = keys.length; - while (i--) { - origin[keys[i]] = add[keys[i]]; - } - return origin; -}; + for (var i = 0; i < arguments.length; i++) { + var source = arguments[i]; -function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } -}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + return target; + } + }, + {}, + ], + 206: [ + function (require, module, exports) { + "use strict"; + + let debug = location.hostname === "localhost"; + + module.exports = analytics; + + /** + * Initializes Google Analytics and sends a "pageview" hit + */ + function analytics() { + if (!debug) { + if (typeof gtag === "undefined") { + console.warn("Google Analytics is not enabled"); + } + } + } -},{"./support/isBuffer":203,"_process":172,"inherits":202}],205:[function(require,module,exports){ -module.exports = extend + /** + * Tracks an event in Google Analytics + * + * @param {string} category - the object type (e.g. "button", "menu", "link", etc.) + * @param {string} action - the action (e.g. "click", "show", "hide", etc.) + * @param {string} [label] - label for categorization + * @param {number} [value] - numeric value, such as a counter + */ + analytics.trackEvent = function (category, action, label, value) { + try { + console.log("Analytics event: ", category, action, label, value); + + if (!debug) { + gtag("event", action, { + event_category: category, // eslint-disable-line camelcase + event_label: label, // eslint-disable-line camelcase + value, + }); + } + } catch (error) { + analytics.trackError(error); + } + }; -var hasOwnProperty = Object.prototype.hasOwnProperty; + /** + * Tracks an error in Google Analytics + * + * @param {Error} err + */ + analytics.trackError = function (err) { + try { + console.error("Analytics error: ", err); + + if (!debug) { + gtag("event", "exception", { + name: err.name || "Error", + description: err.message, + stack: err.stack, + }); + } + } catch (error) { + console.error(err); + } + }; + }, + {}, + ], + 207: [ + function (require, module, exports) { + "use strict"; + + const form = require("./form"); + const analytics = require("./analytics"); + + module.exports = dropdowns; + + /** + * Adds all the drop-down menu functionality + */ + function dropdowns() { + // Set the initial method name (in case it was set by the querystring module) + setSelectedMethod(form.method.button.val()); + + // Update each dropdown's label when its value(s) change + onChange(form.allow.menu, setAllowLabel); + onChange(form.refs.menu, setRefsLabel); + onChange(form.validate.menu, setValidateLabel); + + // Track option changes + trackCheckbox(form.allow.json); + trackCheckbox(form.allow.yaml); + trackCheckbox(form.allow.text); + trackCheckbox(form.allow.empty); + trackCheckbox(form.allow.unknown); + trackCheckbox(form.refs.external); + trackCheckbox(form.refs.circular); + trackCheckbox(form.validate.schema); + trackCheckbox(form.validate.spec); + + // Change the button text whenever a new method is selected + form.method.menu.find("a").on("click", function (event) { + form.method.menu.dropdown("toggle"); + event.stopPropagation(); + let methodName = $(this).data("value"); + setSelectedMethod(methodName); + trackButtonLabel(methodName); + }); + } + + /** + * Calls the given function whenever the user selects (or deselects) + * a value in the given drop-down menu. + * + * @param {jQuery} menu + * @param {function} setLabel + */ + function onChange(menu, setLabel) { + let dropdown = menu.parent(".dropdown"); + + // Don't auto-close the menu when items are clicked + menu.find("a").on("click", (event) => { + event.stopPropagation(); + }); + + // Set the label immediately, and again whenever the menu is closed + setLabel(); + dropdown.on("hidden.bs.dropdown", setLabel); + + // Track when a dropdown menu is shown + dropdown.on("shown.bs.dropdown", () => { + analytics.trackEvent("options", "shown", menu.attr("id")); + }); + } + + /** + * Sets the "allow" label, based on which options are selected + */ + function setAllowLabel() { + let values = getCheckedAndUnchecked( + form.allow.json, + form.allow.yaml, + form.allow.text, + form.allow.empty, + form.allow.unknown, + ); + + switch (values.checked.length) { + case 0: + form.allow.label.text("No file types allowed"); + break; + case 1: + form.allow.label.text("Only allow " + values.checked[0] + " files"); + break; + case 2: + form.allow.label.text("Only allow " + values.checked[0] + " and " + values.checked[1]); + break; + case 3: + form.allow.label.text("Don't allow " + values.unchecked[0] + " or " + values.unchecked[1]); + break; + case 4: + form.allow.label.text("Don't allow " + values.unchecked[0] + " files"); + break; + case 5: + form.allow.label.text("Allow all file types"); + } + } -function extend() { - var target = {} + /** + * Sets the "refs" label, based on which options are selected + */ + function setRefsLabel() { + let values = getCheckedAndUnchecked(form.refs.external, form.refs.circular); + + switch (values.checked.length) { + case 0: + form.refs.label.text("Only follow internal $refs"); + break; + case 1: + form.refs.label.text("Don't follow " + values.unchecked[0] + " $refs"); + break; + case 2: + form.refs.label.text("Follow all $refs"); + } + } - for (var i = 0; i < arguments.length; i++) { - var source = arguments[i] + /** + * Sets the "validate" label, based on which options are selected + */ + function setValidateLabel() { + let values = getCheckedAndUnchecked(form.validate.schema, form.validate.spec); + + switch (values.checked.length) { + case 0: + form.validate.label.text("Don't validate anything"); + break; + case 1: + form.validate.label.text("Don't validate Swagger " + values.unchecked[0]); + break; + case 2: + form.validate.label.text("Validate everything"); + } + } - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] + /** + * Updates the UI to match the specified method name + * + * @param {string} methodName - The method name (e.g. "validate", "dereference", etc.) + */ + function setSelectedMethod(methodName) { + form.method.button.val(methodName.toLowerCase()); + + methodName = methodName[0].toUpperCase() + methodName.substr(1); + form.method.button.text(methodName + " it!"); + form.tabs.url.text(methodName + " a URL"); + form.tabs.text.text(methodName + " Text"); + } + + /** + * Tracks changes to a checkbox option + * + * @param {jQuery} checkbox + */ + function trackCheckbox(checkbox) { + checkbox.on("change", () => { + let value = checkbox.is(":checked") ? 1 : 0; + analytics.trackEvent("options", "changed", checkbox.attr("name"), value); + }); + } + + /** + * Tracks changes to the "Validate!" button + * + * @param {string} methodName - The method name (e.g. "validate", "dereference", etc.) + */ + function trackButtonLabel(methodName) { + let value = ["", "parse", "resolve", "bundle", "dereference", "validate"].indexOf(methodName); + analytics.trackEvent("options", "changed", "method", value); + } + + /** + * Examines the given checkboxes, and returns arrays of checked and unchecked values. + * + * @param {...jQuery} _checkboxes + * @returns {{checked: string[], unchecked: string[]}} + */ + function getCheckedAndUnchecked(_checkboxes) { + let checked = [], + unchecked = []; + for (let i = 0; i < arguments.length; i++) { + let checkbox = arguments[i]; + if (checkbox.is(":checked")) { + checked.push(checkbox.data("value")); + } else { + unchecked.push(checkbox.data("value")); } + } + return { checked, unchecked }; } - } + }, + { "./analytics": 206, "./form": 209 }, + ], + 208: [ + function (require, module, exports) { + "use strict"; + + const form = require("./form"); + const ACE_THEME = "ace/theme/terminal"; + + module.exports = editors; + + /** + * Initializes the ACE text editors + */ + function editors() { + editors.textBox = form.textBox = ace.edit("text-box"); + form.textBox.setTheme(ACE_THEME); + let session = form.textBox.getSession(); + session.setMode("ace/mode/yaml"); + session.setTabSize(2); + + editors.results = $("#results"); + editors.tabs = editors.results.find(".nav-tabs"); + editors.panes = editors.results.find(".tab-content"); + } + + /** + * Removes all results tabs and editors + */ + editors.clearResults = function () { + editors.results.removeClass("error animated").addClass("hidden"); + editors.tabs.children().remove(); + editors.panes.children().remove(); + }; - return target -} + /** + * Displays a successful result + * + * @param {string} title - The title of the tab + * @param {object|string} content - An object that will be displayed as JSON in the editor + */ + editors.showResult = function (title, content) { + editors.results.removeClass("hidden"); + editors.addResult(title, content); + showResults(); + }; -},{}],206:[function(require,module,exports){ -"use strict"; + /** + * Displays an error result + * + * @param {Error} err + */ + editors.showError = function (err) { + editors.results.removeClass("hidden").addClass("error"); + editors.addResult("Error!", err); + showResults(); + }; -let debug = location.hostname === "localhost"; + /** + * Adds a results tab with an Ace Editor containing the given content + * + * @param {string} title - The title of the tab + * @param {object|string} content - An object that will be displayed as JSON in the editor + */ + editors.addResult = function (title, content) { + let index = editors.tabs.children().length; + let titleId = "results-tab-" + index + "-title"; + let editorId = "results-" + index; + let active = index === 0 ? "active" : ""; + + // Add a tab and pane + editors.tabs.append( + '", + ); + editors.panes.append( + '
' + + '
' +
+              "
", + ); + + // Set the tab title + let shortTitle = getShortTitle(title) || "Sample API"; + editors.tabs + .find("#" + titleId) + .text(shortTitle) + .attr("title", title); + + // Set the
 content
+          content = toText(content);
+          editors.panes.find("#" + editorId).text(content.text);
+
+          // Turn the 
 into an Ace Editor
+          let editor = ace.edit(editorId);
+          editor.setTheme(ACE_THEME);
+          editor.session.setOption("useWorker", false);
+          content.isJSON && editor.getSession().setMode("ace/mode/json");
+          editor.setReadOnly(true);
+        };
 
-module.exports = analytics;
+        /**
+         * Returns a short version of the given title text, to better fit in a tab
+         *
+         * @param {string} title
+         * @returns {string}
+         */
+        function getShortTitle(title) {
+          // Get just the file name
+          let lastSlash = title.lastIndexOf("/");
+          if (lastSlash !== -1) {
+            title = title.substr(lastSlash + 1);
+          }
 
-/**
- * Initializes Google Analytics and sends a "pageview" hit
- */
-function analytics () {
-  if (!debug) {
-    if (typeof gtag === "undefined") {
-      console.warn("Google Analytics is not enabled");
-    }
-  }
-}
-
-/**
- * Tracks an event in Google Analytics
- *
- * @param {string} category - the object type (e.g. "button", "menu", "link", etc.)
- * @param {string} action - the action (e.g. "click", "show", "hide", etc.)
- * @param {string} [label] - label for categorization
- * @param {number} [value] - numeric value, such as a counter
- */
-analytics.trackEvent = function (category, action, label, value) {
-  try {
-    console.log("Analytics event: ", category, action, label, value);
-
-    if (!debug) {
-      gtag("event", action, {
-        event_category: category,   // eslint-disable-line camelcase
-        event_label: label,         // eslint-disable-line camelcase
-        value
-      });
-    }
-  }
-  catch (error) {
-    analytics.trackError(error);
-  }
-};
-
-/**
- * Tracks an error in Google Analytics
- *
- * @param {Error} err
- */
-analytics.trackError = function (err) {
-  try {
-    console.error("Analytics error: ", err);
-
-    if (!debug) {
-      gtag("event", "exception", {
-        name: err.name || "Error",
-        description: err.message,
-        stack: err.stack,
-      });
-    }
-  }
-  catch (error) {
-    console.error(err);
-  }
-};
-
-},{}],207:[function(require,module,exports){
-"use strict";
-
-const form = require("./form");
-const analytics = require("./analytics");
-
-module.exports = dropdowns;
-
-/**
- * Adds all the drop-down menu functionality
- */
-function dropdowns () {
-  // Set the initial method name (in case it was set by the querystring module)
-  setSelectedMethod(form.method.button.val());
-
-  // Update each dropdown's label when its value(s) change
-  onChange(form.allow.menu, setAllowLabel);
-  onChange(form.refs.menu, setRefsLabel);
-  onChange(form.validate.menu, setValidateLabel);
-
-  // Track option changes
-  trackCheckbox(form.allow.json);
-  trackCheckbox(form.allow.yaml);
-  trackCheckbox(form.allow.text);
-  trackCheckbox(form.allow.empty);
-  trackCheckbox(form.allow.unknown);
-  trackCheckbox(form.refs.external);
-  trackCheckbox(form.refs.circular);
-  trackCheckbox(form.validate.schema);
-  trackCheckbox(form.validate.spec);
-
-  // Change the button text whenever a new method is selected
-  form.method.menu.find("a").on("click", function (event) {
-    form.method.menu.dropdown("toggle");
-    event.stopPropagation();
-    let methodName = $(this).data("value");
-    setSelectedMethod(methodName);
-    trackButtonLabel(methodName);
-  });
-}
-
-/**
- * Calls the given function whenever the user selects (or deselects)
- * a value in the given drop-down menu.
- *
- * @param {jQuery} menu
- * @param {function} setLabel
- */
-function onChange (menu, setLabel) {
-  let dropdown = menu.parent(".dropdown");
-
-  // Don't auto-close the menu when items are clicked
-  menu.find("a").on("click", (event) => {
-    event.stopPropagation();
-  });
-
-  // Set the label immediately, and again whenever the menu is closed
-  setLabel();
-  dropdown.on("hidden.bs.dropdown", setLabel);
-
-  // Track when a dropdown menu is shown
-  dropdown.on("shown.bs.dropdown", () => {
-    analytics.trackEvent("options", "shown", menu.attr("id"));
-  });
-}
-
-/**
- * Sets the "allow" label, based on which options are selected
- */
-function setAllowLabel () {
-  let values = getCheckedAndUnchecked(
-    form.allow.json, form.allow.yaml, form.allow.text, form.allow.empty, form.allow.unknown);
-
-  switch (values.checked.length) {
-    case 0:
-      form.allow.label.text("No file types allowed");
-      break;
-    case 1:
-      form.allow.label.text("Only allow " + values.checked[0] + " files");
-      break;
-    case 2:
-      form.allow.label.text("Only allow " + values.checked[0] + " and " + values.checked[1]);
-      break;
-    case 3:
-      form.allow.label.text("Don't allow " + values.unchecked[0] + " or " + values.unchecked[1]);
-      break;
-    case 4:
-      form.allow.label.text("Don't allow " + values.unchecked[0] + " files");
-      break;
-    case 5:
-      form.allow.label.text("Allow all file types");
-  }
-}
-
-/**
- * Sets the "refs" label, based on which options are selected
- */
-function setRefsLabel () {
-  let values = getCheckedAndUnchecked(form.refs.external, form.refs.circular);
-
-  switch (values.checked.length) {
-    case 0:
-      form.refs.label.text("Only follow internal $refs");
-      break;
-    case 1:
-      form.refs.label.text("Don't follow " + values.unchecked[0] + " $refs");
-      break;
-    case 2:
-      form.refs.label.text("Follow all $refs");
-  }
-}
-
-/**
- * Sets the "validate" label, based on which options are selected
- */
-function setValidateLabel () {
-  let values = getCheckedAndUnchecked(form.validate.schema, form.validate.spec);
-
-  switch (values.checked.length) {
-    case 0:
-      form.validate.label.text("Don't validate anything");
-      break;
-    case 1:
-      form.validate.label.text("Don't validate Swagger " + values.unchecked[0]);
-      break;
-    case 2:
-      form.validate.label.text("Validate everything");
-  }
-}
-
-/**
- * Updates the UI to match the specified method name
- *
- * @param {string} methodName - The method name (e.g. "validate", "dereference", etc.)
- */
-function setSelectedMethod (methodName) {
-  form.method.button.val(methodName.toLowerCase());
-
-  methodName = methodName[0].toUpperCase() + methodName.substr(1);
-  form.method.button.text(methodName + " it!");
-  form.tabs.url.text(methodName + " a URL");
-  form.tabs.text.text(methodName + " Text");
-}
-
-/**
- * Tracks changes to a checkbox option
- *
- * @param {jQuery} checkbox
- */
-function trackCheckbox (checkbox) {
-  checkbox.on("change", () => {
-    let value = checkbox.is(":checked") ? 1 : 0;
-    analytics.trackEvent("options", "changed", checkbox.attr("name"), value);
-  });
-}
-
-/**
- * Tracks changes to the "Validate!" button
- *
- * @param {string} methodName - The method name (e.g. "validate", "dereference", etc.)
- */
-function trackButtonLabel (methodName) {
-  let value = ["", "parse", "resolve", "bundle", "dereference", "validate"].indexOf(methodName);
-  analytics.trackEvent("options", "changed", "method", value);
-}
-
-/**
- * Examines the given checkboxes, and returns arrays of checked and unchecked values.
- *
- * @param {...jQuery} _checkboxes
- * @returns {{checked: string[], unchecked: string[]}}
- */
-function getCheckedAndUnchecked (_checkboxes) {
-  let checked = [], unchecked = [];
-  for (let i = 0; i < arguments.length; i++) {
-    let checkbox = arguments[i];
-    if (checkbox.is(":checked")) {
-      checked.push(checkbox.data("value"));
-    }
-    else {
-      unchecked.push(checkbox.data("value"));
-    }
-  }
-  return { checked, unchecked };
-}
-
-},{"./analytics":206,"./form":209}],208:[function(require,module,exports){
-"use strict";
-
-const form = require("./form");
-const ACE_THEME = "ace/theme/terminal";
-
-module.exports = editors;
-
-/**
- * Initializes the ACE text editors
- */
-function editors () {
-  editors.textBox = form.textBox = ace.edit("text-box");
-  form.textBox.setTheme(ACE_THEME);
-  let session = form.textBox.getSession();
-  session.setMode("ace/mode/yaml");
-  session.setTabSize(2);
-
-  editors.results = $("#results");
-  editors.tabs = editors.results.find(".nav-tabs");
-  editors.panes = editors.results.find(".tab-content");
-}
-
-/**
- * Removes all results tabs and editors
- */
-editors.clearResults = function () {
-  editors.results.removeClass("error animated").addClass("hidden");
-  editors.tabs.children().remove();
-  editors.panes.children().remove();
-};
-
-/**
- * Displays a successful result
- *
- * @param {string} title - The title of the tab
- * @param {object|string} content - An object that will be displayed as JSON in the editor
- */
-editors.showResult = function (title, content) {
-  editors.results.removeClass("hidden");
-  editors.addResult(title, content);
-  showResults();
-};
-
-/**
- * Displays an error result
- *
- * @param {Error} err
- */
-editors.showError = function (err) {
-  editors.results.removeClass("hidden").addClass("error");
-  editors.addResult("Error!", err);
-  showResults();
-};
-
-/**
- * Adds a results tab with an Ace Editor containing the given content
- *
- * @param {string} title - The title of the tab
- * @param {object|string} content - An object that will be displayed as JSON in the editor
- */
-editors.addResult = function (title, content) {
-  let index = editors.tabs.children().length;
-  let titleId = "results-tab-" + index + "-title";
-  let editorId = "results-" + index;
-  let active = index === 0 ? "active" : "";
-
-  // Add a tab and pane
-  editors.tabs.append(
-    '"
-  );
-  editors.panes.append(
-    '
' + - '
' +
-    "
" - ); - - // Set the tab title - let shortTitle = getShortTitle(title) || "Sample API"; - editors.tabs.find("#" + titleId).text(shortTitle).attr("title", title); - - // Set the
 content
-  content = toText(content);
-  editors.panes.find("#" + editorId).text(content.text);
-
-  // Turn the 
 into an Ace Editor
-  let editor = ace.edit(editorId);
-  editor.setTheme(ACE_THEME);
-  editor.session.setOption("useWorker", false);
-  content.isJSON && editor.getSession().setMode("ace/mode/json");
-  editor.setReadOnly(true);
-};
-
-/**
- * Returns a short version of the given title text, to better fit in a tab
- *
- * @param {string} title
- * @returns {string}
- */
-function getShortTitle (title) {
-  // Get just the file name
-  let lastSlash = title.lastIndexOf("/");
-  if (lastSlash !== -1) {
-    title = title.substr(lastSlash + 1);
-  }
+          if (title.length > 15) {
+            // It's still too long, so, just return the first 10 characters
+            title = title.substr(0, 10) + "...";
+          }
 
-  if (title.length > 15) {
-    // It's still too long, so, just return the first 10 characters
-    title = title.substr(0, 10) + "...";
-  }
+          return title;
+        }
+
+        /**
+         * Ensures that the results are visible, and plays an animation to get the user's attention.
+         */
+        function showResults() {
+          let results = editors.results;
+
+          setTimeout(() => {
+            results[0].scrollIntoView();
+            results
+              .addClass("animated")
+              .one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", () => {
+                // Remove the "animated" class when the animation ends,
+                // so we can replay the animation again next time
+                results.removeClass("animated");
+              });
+          });
+        }
+
+        /**
+         * Converts the given object to text.
+         * If possible, it is converted to JSON; otherwise, plain text.
+         *
+         * @param {object} obj
+         * @returns {object}
+         */
+        function toText(obj) {
+          if (obj instanceof Error) {
+            return {
+              isJSON: false,
+              text: obj.message + "\n\n" + obj.stack,
+            };
+          } else {
+            try {
+              return {
+                isJSON: true,
+                text: JSON.stringify(obj, null, 2),
+              };
+            } catch (e) {
+              return {
+                isJSON: false,
+                text: "This API is valid, but it cannot be shown because it contains circular references\n\n" + e.stack,
+              };
+            }
+          }
+        }
+      },
+      { "./form": 209 },
+    ],
+    209: [
+      function (require, module, exports) {
+        "use strict";
+
+        const jsYAML = require("js-yaml");
+
+        module.exports = form;
+
+        /**
+         * Finds all form fields and exposes them as properties.
+         */
+        function form() {
+          form.form = $("#swagger-parser-form");
+
+          form.allow = {
+            label: form.form.find("#allow-label"),
+            menu: form.form.find("#allow-menu"),
+            json: form.form.find("input[name=allow-json]"),
+            yaml: form.form.find("input[name=allow-yaml]"),
+            text: form.form.find("input[name=allow-text]"),
+            empty: form.form.find("input[name=allow-empty]"),
+            unknown: form.form.find("input[name=allow-unknown]"),
+          };
+
+          form.refs = {
+            label: form.form.find("#refs-label"),
+            menu: form.form.find("#refs-menu"),
+            external: form.form.find("input[name=refs-external]"),
+            circular: form.form.find("input[name=refs-circular]"),
+          };
+
+          form.validate = {
+            label: form.form.find("#validate-label"),
+            menu: form.form.find("#validate-menu"),
+            schema: form.form.find("input[name=validate-schema]"),
+            spec: form.form.find("input[name=validate-spec]"),
+          };
+
+          form.tabs = {
+            url: form.form.find("#url-tab"),
+            text: form.form.find("#text-tab"),
+          };
+
+          form.method = {
+            button: form.form.find("button[name=method]"),
+            menu: form.form.find("#method-menu"),
+          };
+
+          form.samples = {
+            url: {
+              container: form.form.find("#url-sample"),
+              link: form.form.find("#url-sample-link"),
+            },
+            text: {
+              container: form.form.find("#text-sample"),
+              link: form.form.find("#text-sample-link"),
+            },
+          };
+
+          form.url = form.form.find("input[name=url]");
+          form.textBox = null; // This is set in editors.js
+          form.bookmark = form.form.find("#bookmark");
+        }
+
+        /**
+         * Returns a Swagger Parser options object,
+         * set to the current values of all the form fields.
+         */
+        form.getOptions = function () {
+          return {
+            parse: {
+              json: form.allow.json.is(":checked")
+                ? {
+                    allowEmpty: form.allow.empty.is(":checked"),
+                  }
+                : false,
+              yaml: form.allow.yaml.is(":checked")
+                ? {
+                    allowEmpty: form.allow.empty.is(":checked"),
+                  }
+                : false,
+              text: form.allow.text.is(":checked")
+                ? {
+                    allowEmpty: form.allow.empty.is(":checked"),
+                  }
+                : false,
+              binary: form.allow.unknown.is(":checked")
+                ? {
+                    allowEmpty: form.allow.empty.is(":checked"),
+                  }
+                : false,
+            },
+            resolve: {
+              external: form.refs.external.is(":checked"),
+            },
+            dereference: {
+              circular: form.refs.circular.is(":checked"),
+            },
+            validate: {
+              schema: form.validate.schema.is(":checked"),
+              spec: form.validate.spec.is(":checked"),
+            },
+          };
+        };
 
-  return title;
-}
-
-/**
- * Ensures that the results are visible, and plays an animation to get the user's attention.
- */
-function showResults () {
-  let results = editors.results;
-
-  setTimeout(() => {
-    results[0].scrollIntoView();
-    results.addClass("animated")
-      .one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", () => {
-        // Remove the "animated" class when the animation ends,
-        // so we can replay the animation again next time
-        results.removeClass("animated");
-      });
-  });
-}
-
-/**
- * Converts the given object to text.
- * If possible, it is converted to JSON; otherwise, plain text.
- *
- * @param {object} obj
- * @returns {object}
- */
-function toText (obj) {
-  if (obj instanceof Error) {
-    return {
-      isJSON: false,
-      text: obj.message + "\n\n" + obj.stack
-    };
-  }
-  else {
-    try {
-      return {
-        isJSON: true,
-        text: JSON.stringify(obj, null, 2)
-      };
-    }
-    catch (e) {
-      return {
-        isJSON: false,
-        text: "This API is valid, but it cannot be shown because it contains circular references\n\n" + e.stack
-      };
-    }
-  }
-}
-
-},{"./form":209}],209:[function(require,module,exports){
-"use strict";
-
-const jsYAML = require("js-yaml");
-
-module.exports = form;
-
-/**
- * Finds all form fields and exposes them as properties.
- */
-function form () {
-  form.form = $("#swagger-parser-form");
-
-  form.allow = {
-    label: form.form.find("#allow-label"),
-    menu: form.form.find("#allow-menu"),
-    json: form.form.find("input[name=allow-json]"),
-    yaml: form.form.find("input[name=allow-yaml]"),
-    text: form.form.find("input[name=allow-text]"),
-    empty: form.form.find("input[name=allow-empty]"),
-    unknown: form.form.find("input[name=allow-unknown]")
-  };
-
-  form.refs = {
-    label: form.form.find("#refs-label"),
-    menu: form.form.find("#refs-menu"),
-    external: form.form.find("input[name=refs-external]"),
-    circular: form.form.find("input[name=refs-circular]")
-  };
-
-  form.validate = {
-    label: form.form.find("#validate-label"),
-    menu: form.form.find("#validate-menu"),
-    schema: form.form.find("input[name=validate-schema]"),
-    spec: form.form.find("input[name=validate-spec]")
-  };
-
-  form.tabs = {
-    url: form.form.find("#url-tab"),
-    text: form.form.find("#text-tab")
-  };
-
-  form.method = {
-    button: form.form.find("button[name=method]"),
-    menu: form.form.find("#method-menu")
-  };
-
-  form.samples = {
-    url: {
-      container: form.form.find("#url-sample"),
-      link: form.form.find("#url-sample-link"),
-    },
-    text: {
-      container: form.form.find("#text-sample"),
-      link: form.form.find("#text-sample-link"),
-    }
-  };
-
-  form.url = form.form.find("input[name=url]");
-  form.textBox = null; // This is set in editors.js
-  form.bookmark = form.form.find("#bookmark");
-}
-
-/**
- * Returns a Swagger Parser options object,
- * set to the current values of all the form fields.
- */
-form.getOptions = function () {
-  return {
-    parse: {
-      json: form.allow.json.is(":checked") ? {
-        allowEmpty: form.allow.empty.is(":checked"),
-      } : false,
-      yaml: form.allow.yaml.is(":checked") ? {
-        allowEmpty: form.allow.empty.is(":checked"),
-      } : false,
-      text: form.allow.text.is(":checked") ? {
-        allowEmpty: form.allow.empty.is(":checked"),
-      } : false,
-      binary: form.allow.unknown.is(":checked") ? {
-        allowEmpty: form.allow.empty.is(":checked"),
-      } : false,
-    },
-    resolve: {
-      external: form.refs.external.is(":checked"),
-    },
-    dereference: {
-      circular: form.refs.circular.is(":checked"),
-    },
-    validate: {
-      schema: form.validate.schema.is(":checked"),
-      spec: form.validate.spec.is(":checked"),
-    },
-  };
-};
-
-/**
- * Returns the Swagger API or URL, depending on the current form fields.
- */
-form.getAPI = function () {
-  // Determine which tab is selected
-  if (form.tabs.url.parent().attr("class").indexOf("active") >= 0) {
-    let url = form.url.val();
-    if (url) {
-      return url;
-    }
-    else {
-      throw new URIError("Please specify the URL of your Swagger/OpenAPI definition");
-    }
-  }
-  else {
-    let text = form.textBox.getValue();
-    if (form.allow.yaml.is(":checked")) {
-      return jsYAML.safeLoad(text);
-    }
-    else if (form.allow.json.is(":checked")) {
-      return JSON.parse(text);
-    }
-    else {
-      throw new SyntaxError("Unable to parse the API. Neither YAML nor JSON are allowed.");
-    }
-  }
-};
-
-},{"js-yaml":141}],210:[function(require,module,exports){
-"use strict";
-
-const form = require("./form");
-const querystring = require("./querystring");
-const dropdowns = require("./dropdowns");
-const editors = require("./editors");
-const samples = require("./samples");
-const parser = require("./parser");
-const analytics = require("./analytics");
-
-$(() => {
-  form();
-  querystring();
-  dropdowns();
-  editors();
-  samples();
-  parser();
-  analytics();
-});
-
-},{"./analytics":206,"./dropdowns":207,"./editors":208,"./form":209,"./parser":211,"./querystring":212,"./samples":213}],211:[function(require,module,exports){
-"use strict";
-
-const form = require("./form");
-const editors = require("./editors");
-const analytics = require("./analytics");
-const { ono } = require("@jsdevtools/ono");
-const SwaggerParser = require("../../../");
-
-let swaggerParser = null;
-let counters = { parse: 0, resolve: 0, bundle: 0, dereference: 0, validate: 0 };
-
-module.exports = parser;
-
-/**
- * Adds event handlers to trigger Swagger Parser methods
- */
-function parser () {
-  // When the form is submitted, parse the Swagger API
-  form.form.on("submit", (event) => {
-    event.preventDefault();
-    parseSwagger();
-  });
-
-  // When the "x" button is clicked, discard the results
-  $("#clear").on("click", () => {
-    swaggerParser = null;
-    editors.clearResults();
-    analytics.trackEvent("results", "clear");
-  });
-}
-
-/**
- * This function is called when the "Validate it!" button is clicked.
- * It calls Swagger Parser, passing it all the options selected on the form.
- */
-function parseSwagger () {
-  try {
-    // Clear any previous results
-    editors.clearResults();
-
-    // Get all the parameters
-    swaggerParser = swaggerParser || new SwaggerParser();
-    let options = form.getOptions();
-    let method = form.method.button.val();
-    let api = form.getAPI();
-
-    // Call Swagger Parser
-    swaggerParser[method](api, options)
-      .then(() => {
-        // Show the results
-        let results = swaggerParser.$refs.values();
-        Object.keys(results).forEach((key) => {
-          editors.showResult(key, results[key]);
+        /**
+         * Returns the Swagger API or URL, depending on the current form fields.
+         */
+        form.getAPI = function () {
+          // Determine which tab is selected
+          if (form.tabs.url.parent().attr("class").indexOf("active") >= 0) {
+            let url = form.url.val();
+            if (url) {
+              return url;
+            } else {
+              throw new URIError("Please specify the URL of your Swagger/OpenAPI definition");
+            }
+          } else {
+            let text = form.textBox.getValue();
+            if (form.allow.yaml.is(":checked")) {
+              return jsYAML.safeLoad(text);
+            } else if (form.allow.json.is(":checked")) {
+              return JSON.parse(text);
+            } else {
+              throw new SyntaxError("Unable to parse the API. Neither YAML nor JSON are allowed.");
+            }
+          }
+        };
+      },
+      { "js-yaml": 141 },
+    ],
+    210: [
+      function (require, module, exports) {
+        "use strict";
+
+        const form = require("./form");
+        const querystring = require("./querystring");
+        const dropdowns = require("./dropdowns");
+        const editors = require("./editors");
+        const samples = require("./samples");
+        const parser = require("./parser");
+        const analytics = require("./analytics");
+
+        $(() => {
+          form();
+          querystring();
+          dropdowns();
+          editors();
+          samples();
+          parser();
+          analytics();
         });
-      })
-      .catch((err) => {
-        editors.showError(ono(err));
-        analytics.trackError(err);
-      });
-
-    // Track the operation
-    counters[method]++;
-    analytics.trackEvent("button", "click", method, counters[method]);
-  }
-  catch (err) {
-    editors.showError(ono(err));
-    analytics.trackError(err);
-  }
-}
-
-},{"../../../":1,"./analytics":206,"./editors":208,"./form":209,"@jsdevtools/ono":33}],212:[function(require,module,exports){
-"use strict";
-
-const qs = require("querystring");
-const form = require("./form");
-
-module.exports = querystring;
-
-/**
- * Initializes the UI, based on the query-string in the URL
- */
-function querystring () {
-  setFormFields();
-  setBookmarkURL();
-  form.bookmark.on("click focus mouseenter", setBookmarkURL);
-}
-
-/**
- * Populates all form fields based on the query-string in the URL
- */
-function setFormFields () {
-  let query = qs.parse(window.location.search.substr(1));
-
-  setCheckbox(form.allow.json, query["allow-json"]);
-  setCheckbox(form.allow.yaml, query["allow-yaml"]);
-  setCheckbox(form.allow.text, query["allow-text"]);
-  setCheckbox(form.allow.empty, query["allow-empty"]);
-  setCheckbox(form.allow.unknown, query["allow-unknown"]);
-  setCheckbox(form.refs.external, query["refs-external"]);
-  setCheckbox(form.refs.circular, query["refs-circular"]);
-  setCheckbox(form.validate.schema, query["validate-schema"]);
-  setCheckbox(form.validate.spec, query["validate-spec"]);
-
-  // If a custom URL is specified, then show the "Your API" tab
-  if (query.url) {
-    form.url.val(query.url);
-  }
+      },
+      {
+        "./analytics": 206,
+        "./dropdowns": 207,
+        "./editors": 208,
+        "./form": 209,
+        "./parser": 211,
+        "./querystring": 212,
+        "./samples": 213,
+      },
+    ],
+    211: [
+      function (require, module, exports) {
+        "use strict";
+
+        const form = require("./form");
+        const editors = require("./editors");
+        const analytics = require("./analytics");
+        const { ono } = require("@jsdevtools/ono");
+        const SwaggerParser = require("../../../");
+
+        let swaggerParser = null;
+        let counters = { parse: 0, resolve: 0, bundle: 0, dereference: 0, validate: 0 };
+
+        module.exports = parser;
+
+        /**
+         * Adds event handlers to trigger Swagger Parser methods
+         */
+        function parser() {
+          // When the form is submitted, parse the Swagger API
+          form.form.on("submit", (event) => {
+            event.preventDefault();
+            parseSwagger();
+          });
+
+          // When the "x" button is clicked, discard the results
+          $("#clear").on("click", () => {
+            swaggerParser = null;
+            editors.clearResults();
+            analytics.trackEvent("results", "clear");
+          });
+        }
+
+        /**
+         * This function is called when the "Validate it!" button is clicked.
+         * It calls Swagger Parser, passing it all the options selected on the form.
+         */
+        function parseSwagger() {
+          try {
+            // Clear any previous results
+            editors.clearResults();
+
+            // Get all the parameters
+            swaggerParser = swaggerParser || new SwaggerParser();
+            let options = form.getOptions();
+            let method = form.method.button.val();
+            let api = form.getAPI();
+
+            // Call Swagger Parser
+            swaggerParser[method](api, options)
+              .then(() => {
+                // Show the results
+                let results = swaggerParser.$refs.values();
+                Object.keys(results).forEach((key) => {
+                  editors.showResult(key, results[key]);
+                });
+              })
+              .catch((err) => {
+                editors.showError(ono(err));
+                analytics.trackError(err);
+              });
+
+            // Track the operation
+            counters[method]++;
+            analytics.trackEvent("button", "click", method, counters[method]);
+          } catch (err) {
+            editors.showError(ono(err));
+            analytics.trackError(err);
+          }
+        }
+      },
+      { "../../../": 1, "./analytics": 206, "./editors": 208, "./form": 209, "@jsdevtools/ono": 33 },
+    ],
+    212: [
+      function (require, module, exports) {
+        "use strict";
+
+        const qs = require("querystring");
+        const form = require("./form");
+
+        module.exports = querystring;
+
+        /**
+         * Initializes the UI, based on the query-string in the URL
+         */
+        function querystring() {
+          setFormFields();
+          setBookmarkURL();
+          form.bookmark.on("click focus mouseenter", setBookmarkURL);
+        }
+
+        /**
+         * Populates all form fields based on the query-string in the URL
+         */
+        function setFormFields() {
+          let query = qs.parse(window.location.search.substr(1));
+
+          setCheckbox(form.allow.json, query["allow-json"]);
+          setCheckbox(form.allow.yaml, query["allow-yaml"]);
+          setCheckbox(form.allow.text, query["allow-text"]);
+          setCheckbox(form.allow.empty, query["allow-empty"]);
+          setCheckbox(form.allow.unknown, query["allow-unknown"]);
+          setCheckbox(form.refs.external, query["refs-external"]);
+          setCheckbox(form.refs.circular, query["refs-circular"]);
+          setCheckbox(form.validate.schema, query["validate-schema"]);
+          setCheckbox(form.validate.spec, query["validate-spec"]);
+
+          // If a custom URL is specified, then show the "Your API" tab
+          if (query.url) {
+            form.url.val(query.url);
+          }
 
-  // If a method is specified, then change the "Validate!" button
-  if (query.method) {
-    query.method = query.method.toLowerCase();
-    if (["parse", "resolve", "bundle", "dereference", "validate"].indexOf(query.method) !== -1) {
-      form.method.button.val(query.method);
-    }
-  }
-}
-
-/**
- * Checks or unchecks the given checkbox, based on the given value.
- *
- * @param {jQuery} input
- * @param {*} value
- */
-function setCheckbox (input, value) {
-  if (!value || value === "true" || value === "on") {
-    value = "yes";
-  }
-  input.val([value]);
-}
-
-/**
- * Sets the href of the bookmark link, based on the values of each form field
- */
-function setBookmarkURL () {
-  let query = {};
-  let options = form.getOptions();
-  options.parse.json || (query["allow-json"] = "no");
-  options.parse.yaml || (query["allow-yaml"] = "no");
-  options.parse.text || (query["allow-text"] = "no");
-  options.parse.json.allowEmpty || (query["allow-empty"] = "no");
-  options.parse.binary || (query["allow-unknown"] = "no");
-  options.resolve.external || (query["refs-external"] = "no");
-  options.dereference.circular || (query["refs-circular"] = "no");
-  options.validate.schema || (query["validate-schema"] = "no");
-  options.validate.spec || (query["validate-spec"] = "no");
-
-  let method = form.method.button.val();
-  method === "validate" || (query.method = method);
-
-  let url = form.url.val();
-  url === "" || (query.url = url);
-
-  let bookmark = "?" + qs.stringify(query);
-  form.bookmark.attr("href", bookmark);
-}
-
-},{"./form":209,"querystring":176}],213:[function(require,module,exports){
-"use strict";
-
-const form = require("./form");
-
-module.exports = samples;
-
-/**
- * Allows the user to use a sample URL or sample API text
- */
-function samples () {
-  form.samples.url.link.on("click", (event) => {
-    event.preventDefault();
-    form.url.val(samples.url);
-  });
-
-  form.samples.text.link.on("click", (event) => {
-    event.preventDefault();
-    form.textBox.setValue(samples.text, -1);
-    form.samples.text.container.hide();
-    form.textBox.focus();
-  });
-
-  form.textBox.on("input", () => {
-    if (form.textBox.session.getValue().length === 0) {
-      form.samples.text.container.show();
-    }
-    else {
-      form.samples.text.container.hide();
-    }
-  });
-}
-
-samples.url = "https://apitools.dev/swagger-parser/online/sample/swagger.yaml";
-
-samples.text =
-  'swagger: "2.0"\n' +
-  "info:\n" +
-  "  version: 1.0.0\n" +
-  "  title: Swagger Petstore\n" +
-  "  description: >\n" +
-  "    A sample API that uses a petstore as an example\n" +
-  "    to demonstrate features in the swagger-2.0 specification\n" +
-  "consumes:\n" +
-  "  - application/json\n" +
-  "produces:\n" +
-  "  - application/json\n" +
-  "paths:\n" +
-  "  /pets:\n" +
-  "    get:\n" +
-  "      description: Returns all pets from the petstore\n" +
-  "      responses:\n" +
-  '        "200":\n' +
-  "          description: pet response\n" +
-  "          schema:\n" +
-  "            type: array\n" +
-  "            items:\n" +
-  '              $ref: "#/definitions/pet"\n' +
-  "        default:\n" +
-  "          description: unexpected error\n" +
-  "          schema:\n" +
-  '            $ref: "#/definitions/errorModel"\n' +
-  "    post:\n" +
-  "      description: Creates a new pet in the store\n" +
-  "      parameters:\n" +
-  "        - name: pet\n" +
-  "          in: body\n" +
-  "          description: Pet to add to the store\n" +
-  "          required: true\n" +
-  "          schema:\n" +
-  '            $ref: "#/definitions/pet"\n' +
-  "      responses:\n" +
-  '        "200":\n' +
-  "          description: pet response\n" +
-  "          schema:\n" +
-  '            $ref: "#/definitions/pet"\n' +
-  "        default:\n" +
-  "          description: unexpected error\n" +
-  "          schema:\n" +
-  '            $ref: "#/definitions/errorModel"\n' +
-  '  "/pets/{name}":\n' +
-  "    get:\n" +
-  "      description: Returns a single pet by name\n" +
-  "      parameters:\n" +
-  "        - name: name\n" +
-  "          in: path\n" +
-  "          description: Name of the pet to fetch\n" +
-  "          required: true\n" +
-  "          type: string\n" +
-  "      responses:\n" +
-  '        "200":\n' +
-  "          description: pet response\n" +
-  "          schema:\n" +
-  '            $ref: "#/definitions/pet"\n' +
-  "        default:\n" +
-  "          description: unexpected error\n" +
-  "          schema:\n" +
-  '            $ref: "#/definitions/errorModel"\n' +
-  "definitions:\n" +
-  "  pet:\n" +
-  "    $ref: sample/pet.yaml\n" +
-  "  pet-owner:\n" +
-  "    $ref: sample/pet-owner.yaml\n" +
-  "  errorModel:\n" +
-  "    $ref: sample/error.json\n";
-
-},{"./form":209}]},{},[210])
+          // If a method is specified, then change the "Validate!" button
+          if (query.method) {
+            query.method = query.method.toLowerCase();
+            if (["parse", "resolve", "bundle", "dereference", "validate"].indexOf(query.method) !== -1) {
+              form.method.button.val(query.method);
+            }
+          }
+        }
+
+        /**
+         * Checks or unchecks the given checkbox, based on the given value.
+         *
+         * @param {jQuery} input
+         * @param {*} value
+         */
+        function setCheckbox(input, value) {
+          if (!value || value === "true" || value === "on") {
+            value = "yes";
+          }
+          input.val([value]);
+        }
+
+        /**
+         * Sets the href of the bookmark link, based on the values of each form field
+         */
+        function setBookmarkURL() {
+          let query = {};
+          let options = form.getOptions();
+          options.parse.json || (query["allow-json"] = "no");
+          options.parse.yaml || (query["allow-yaml"] = "no");
+          options.parse.text || (query["allow-text"] = "no");
+          options.parse.json.allowEmpty || (query["allow-empty"] = "no");
+          options.parse.binary || (query["allow-unknown"] = "no");
+          options.resolve.external || (query["refs-external"] = "no");
+          options.dereference.circular || (query["refs-circular"] = "no");
+          options.validate.schema || (query["validate-schema"] = "no");
+          options.validate.spec || (query["validate-spec"] = "no");
+
+          let method = form.method.button.val();
+          method === "validate" || (query.method = method);
+
+          let url = form.url.val();
+          url === "" || (query.url = url);
+
+          let bookmark = "?" + qs.stringify(query);
+          form.bookmark.attr("href", bookmark);
+        }
+      },
+      { "./form": 209, querystring: 176 },
+    ],
+    213: [
+      function (require, module, exports) {
+        "use strict";
+
+        const form = require("./form");
+
+        module.exports = samples;
+
+        /**
+         * Allows the user to use a sample URL or sample API text
+         */
+        function samples() {
+          form.samples.url.link.on("click", (event) => {
+            event.preventDefault();
+            form.url.val(samples.url);
+          });
+
+          form.samples.text.link.on("click", (event) => {
+            event.preventDefault();
+            form.textBox.setValue(samples.text, -1);
+            form.samples.text.container.hide();
+            form.textBox.focus();
+          });
+
+          form.textBox.on("input", () => {
+            if (form.textBox.session.getValue().length === 0) {
+              form.samples.text.container.show();
+            } else {
+              form.samples.text.container.hide();
+            }
+          });
+        }
+
+        samples.url = "https://apitools.dev/swagger-parser/online/sample/swagger.yaml";
+
+        samples.text =
+          'swagger: "2.0"\n' +
+          "info:\n" +
+          "  version: 1.0.0\n" +
+          "  title: Swagger Petstore\n" +
+          "  description: >\n" +
+          "    A sample API that uses a petstore as an example\n" +
+          "    to demonstrate features in the swagger-2.0 specification\n" +
+          "consumes:\n" +
+          "  - application/json\n" +
+          "produces:\n" +
+          "  - application/json\n" +
+          "paths:\n" +
+          "  /pets:\n" +
+          "    get:\n" +
+          "      description: Returns all pets from the petstore\n" +
+          "      responses:\n" +
+          '        "200":\n' +
+          "          description: pet response\n" +
+          "          schema:\n" +
+          "            type: array\n" +
+          "            items:\n" +
+          '              $ref: "#/definitions/pet"\n' +
+          "        default:\n" +
+          "          description: unexpected error\n" +
+          "          schema:\n" +
+          '            $ref: "#/definitions/errorModel"\n' +
+          "    post:\n" +
+          "      description: Creates a new pet in the store\n" +
+          "      parameters:\n" +
+          "        - name: pet\n" +
+          "          in: body\n" +
+          "          description: Pet to add to the store\n" +
+          "          required: true\n" +
+          "          schema:\n" +
+          '            $ref: "#/definitions/pet"\n' +
+          "      responses:\n" +
+          '        "200":\n' +
+          "          description: pet response\n" +
+          "          schema:\n" +
+          '            $ref: "#/definitions/pet"\n' +
+          "        default:\n" +
+          "          description: unexpected error\n" +
+          "          schema:\n" +
+          '            $ref: "#/definitions/errorModel"\n' +
+          '  "/pets/{name}":\n' +
+          "    get:\n" +
+          "      description: Returns a single pet by name\n" +
+          "      parameters:\n" +
+          "        - name: name\n" +
+          "          in: path\n" +
+          "          description: Name of the pet to fetch\n" +
+          "          required: true\n" +
+          "          type: string\n" +
+          "      responses:\n" +
+          '        "200":\n' +
+          "          description: pet response\n" +
+          "          schema:\n" +
+          '            $ref: "#/definitions/pet"\n' +
+          "        default:\n" +
+          "          description: unexpected error\n" +
+          "          schema:\n" +
+          '            $ref: "#/definitions/errorModel"\n' +
+          "definitions:\n" +
+          "  pet:\n" +
+          "    $ref: sample/pet.yaml\n" +
+          "  pet-owner:\n" +
+          "    $ref: sample/pet-owner.yaml\n" +
+          "  errorModel:\n" +
+          "    $ref: sample/error.json\n";
+      },
+      { "./form": 209 },
+    ],
+  },
+  {},
+  [210],
+);
 //# sourceMappingURL=bundle.js.map
diff --git a/online/js/bundle.min.js b/online/js/bundle.min.js
index 3807210b..392d2812 100644
--- a/online/js/bundle.min.js
+++ b/online/js/bundle.min.js
@@ -1,31 +1,18809 @@
-(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;ifixServers(e,r)),["paths","webhooks"].forEach(s=>{Object.keys(e[s]||[]).forEach(t=>{const i=e[s][t];Object.keys(i).forEach(e=>{"servers"===e?i[e].map(e=>fixServers(e,r)):operationsList.includes(e)&&i[e].servers&&i[e].servers.map(e=>fixServers(e,r))})})}))}exports.fixOasRelativeServers=fixOasRelativeServers},{"@apidevtools/json-schema-ref-parser/lib/util/url":24,util:204}],4:[function(require,module,exports){"use strict";const util=require("../util"),{ono:ono}=require("@jsdevtools/ono"),AjvDraft4=require("ajv-draft-04"),Ajv=require("ajv/dist/2020"),{openapi:openapi}=require("@apidevtools/openapi-schemas");function validateSchema(e){let a,i;if(e.swagger)i=openapi.v2,a=initializeAjv();else if(e.openapi.startsWith("3.1")){const e=(i=openapi.v31).$defs.schema;delete e.$dynamicAnchor,i.$defs.components.properties.schemas.additionalProperties=e,i.$defs.header.dependentSchemas.schema.properties.schema=e,i.$defs["media-type"].properties.schema=e,i.$defs.parameter.properties.schema=e,a=initializeAjv(!1)}else i=openapi.v3,a=initializeAjv();if(!a.validate(i,e)){let e=a.errors,i="Swagger schema validation failed.\n"+formatAjvError(e);throw ono.syntax(e,{details:e},i)}}function initializeAjv(e=!0){const a={allErrors:!0,strict:!1,validateFormats:!1};return e?new AjvDraft4(a):new Ajv(a)}function formatAjvError(e,a){a=a||"  ";let i="";for(let t of e)i+=util.format(`${a}#${t.instancePath.length?t.instancePath:"/"} ${t.message}\n`);return i}module.exports=validateSchema},{"../util":3,"@apidevtools/openapi-schemas":25,"@jsdevtools/ono":33,"ajv-draft-04":40,"ajv/dist/2020":47}],5:[function(require,module,exports){"use strict";const util=require("../util"),{ono:ono}=require("@jsdevtools/ono"),swaggerMethods=require("@apidevtools/swagger-methods"),primitiveTypes=["array","boolean","integer","number","string"],schemaTypes=["array","boolean","integer","number","string","object","null",void 0];function validateSpec(e){if(e.openapi)return;let a=Object.keys(e.paths||{}),t=[];for(let i of a){let a=e.paths[i],o="/paths"+i;a&&0===i.indexOf("/")&&validatePath(e,a,o,t)}let i=Object.keys(e.definitions||{});for(let a of i){validateRequiredPropertiesExist(e.definitions[a],"/definitions/"+a)}}function validatePath(e,a,t,i){for(let o of swaggerMethods){let r=a[o],n=t+"/"+o;if(r){let o=r.operationId;if(o){if(-1!==i.indexOf(o))throw ono.syntax(`Validation failed. Duplicate operation id '${o}'`);i.push(o)}validateParameters(e,a,t,r,n);let s=Object.keys(r.responses||{});for(let e of s){validateResponse(e,r.responses[e]||{},n+"/responses/"+e)}}}}function validateParameters(e,a,t,i,o){let r=a.parameters||[],n=i.parameters||[];try{checkForDuplicates(r)}catch(e){throw ono.syntax(e,`Validation failed. ${t} has duplicate parameters`)}try{checkForDuplicates(n)}catch(e){throw ono.syntax(e,`Validation failed. ${o} has duplicate parameters`)}let s=r.reduce((e,a)=>{return e.some(e=>e.in===a.in&&e.name===a.name)||e.push(a),e},n.slice());validateBodyParameters(s,o),validatePathParameters(s,t,o),validateParameterTypes(s,e,i,o)}function validateBodyParameters(e,a){let t=e.filter(e=>"body"===e.in),i=e.filter(e=>"formData"===e.in);if(t.length>1)throw ono.syntax(`Validation failed. ${a} has ${t.length} body parameters. Only one is allowed.`);if(t.length>0&&i.length>0)throw ono.syntax(`Validation failed. ${a} has body parameters and formData parameters. Only one or the other is allowed.`)}function validatePathParameters(e,a,t){let i=a.match(util.swaggerParamRegExp)||[];for(let e=0;e"path"===e.in);for(let a of e){if(!0!==a.required)throw ono.syntax("Validation failed. Path parameters cannot be optional. "+`Set required=true for the "${a.name}" parameter at ${t}`);let e=i.indexOf("{"+a.name+"}");if(-1===e)throw ono.syntax(`Validation failed. ${t} has a path parameter named "${a.name}", `+`but there is no corresponding {${a.name}} in the path string`);i.splice(e,1)}if(i.length>0)throw ono.syntax(`Validation failed. ${t} is missing path parameter(s) for ${i}`)}function validateParameterTypes(e,a,t,i){for(let o of e){let e,r,n=i+"/parameters/"+o.name;switch(o.in){case"body":e=o.schema,r=schemaTypes;break;case"formData":e=o,r=primitiveTypes.concat("file");break;default:e=o,r=primitiveTypes}if(validateSchema(e,n,r),validateRequiredPropertiesExist(e,n),"file"===e.type){let e=/multipart\/(.*\+)?form-data/,o=/application\/(.*\+)?x-www-form-urlencoded/;if(!(t.consumes||a.consumes||[]).some(a=>e.test(a)||o.test(a)))throw ono.syntax(`Validation failed. ${i} has a file parameter, so it must consume multipart/form-data `+"or application/x-www-form-urlencoded")}}}function checkForDuplicates(e){for(let a=0;a599))throw ono.syntax(`Validation failed. ${t} has an invalid response code (${e})`);let i=Object.keys(a.headers||{});for(let e of i){validateSchema(a.headers[e],t+"/headers/"+e,primitiveTypes)}if(a.schema){let e=schemaTypes.concat("file");if(-1===e.indexOf(a.schema.type))throw ono.syntax(`Validation failed. ${t} has an invalid response schema type (${a.schema.type})`);validateSchema(a.schema,t+"/schema",e)}}function validateSchema(e,a,t){if(-1===t.indexOf(e.type))throw ono.syntax(`Validation failed. ${a} has an invalid type (${e.type})`);if("array"===e.type&&!e.items)throw ono.syntax(`Validation failed. ${a} is an array, so it must include an "items" schema`)}function validateRequiredPropertiesExist(e,a){if(e.required&&Array.isArray(e.required)){let t={};!function e(a,t){if(a.properties)for(let e in a.properties)a.properties.hasOwnProperty(e)&&(t[e]=a.properties[e]);if(a.allOf)for(let i of a.allOf)e(i,t)}(e,t);for(let i of e.required)if(!t[i])throw ono.syntax(`Validation failed. Property '${i}' listed as required but does not exist in '${a}'`)}}module.exports=validateSpec},{"../util":3,"@apidevtools/swagger-methods":30,"@jsdevtools/ono":33}],6:[function(require,module,exports){"use strict";const $Ref=require("./ref"),Pointer=require("./pointer"),url=require("./util/url");function bundle(e,r){let t=[];crawl(e,"schema",e.$refs._root$Ref.path+"#","#",0,t,e.$refs,r),remap(t)}function crawl(e,r,t,n,i,o,f,l){let a=null===r?e:e[r];if(a&&"object"==typeof a&&!ArrayBuffer.isView(a))if($Ref.isAllowed$Ref(a))inventory$Ref(e,r,t,n,i,o,f,l);else{let e=Object.keys(a).sort((e,r)=>"definitions"===e?-1:"definitions"===r?1:e.length-r.length);for(let r of e){let e=Pointer.join(t,r),h=Pointer.join(n,r),s=a[r];$Ref.isAllowed$Ref(s)?inventory$Ref(a,r,t,h,i,o,f,l):crawl(a,r,e,h,i,o,f,l)}}}function inventory$Ref(e,r,t,n,i,o,f,l){let a=null===r?e:e[r],h=url.resolve(t,a.$ref),s=f._resolve(h,n,l);if(null===s)return;let u=Pointer.parse(n).length,d=url.stripHash(s.path),c=url.getHash(s.path),p=d!==f._root$Ref.path,$=$Ref.isExtended$Ref(a);i+=s.indirections;let R=findInInventory(o,e,r);if(R){if(!(u{if(e.file!==r.file)return e.file0)throw new JSONParserErrorGroup(r)}module.exports=$RefParser,module.exports.default=$RefParser,module.exports.JSONParserError=JSONParserError,module.exports.InvalidPointerError=InvalidPointerError,module.exports.MissingPointerError=MissingPointerError,module.exports.ResolverError=ResolverError,module.exports.ParserError=ParserError,module.exports.UnmatchedParserError=UnmatchedParserError,module.exports.UnmatchedResolverError=UnmatchedResolverError,$RefParser.parse=function(r,e,s,o){let a=new this;return a.parse.apply(a,arguments)},$RefParser.prototype.parse=async function(r,e,s,o){let a,t=normalizeArgs(arguments);if(!t.path&&!t.schema){let r=ono(`Expected a file path, URL, or object. Got ${t.path||t.schema}`);return maybe(t.callback,Promise.reject(r))}this.schema=null,this.$refs=new $Refs;let l="http";if(url.isFileSystemPath(t.path)&&(t.path=url.fromFileSystemPath(t.path),l="file"),t.path=url.resolve(url.cwd(),t.path),t.schema&&"object"==typeof t.schema){let r=this.$refs._add(t.path);r.value=t.schema,r.pathType=l,a=Promise.resolve(t.schema)}else a=_parse(t.path,this.$refs,t.options);let n=this;try{let r=await a;if(null===r||"object"!=typeof r||Buffer.isBuffer(r)){if(t.options.continueOnError)return n.schema=null,maybe(t.callback,Promise.resolve(n.schema));throw ono.syntax(`"${n.$refs._root$Ref.path||r}" is not a valid JSON Schema`)}return n.schema=r,maybe(t.callback,Promise.resolve(n.schema))}catch(r){return t.options.continueOnError&&isHandledError(r)?(this.$refs._$refs[url.stripHash(t.path)]&&this.$refs._$refs[url.stripHash(t.path)].addError(r),maybe(t.callback,Promise.resolve(null))):maybe(t.callback,Promise.reject(r))}},$RefParser.resolve=function(r,e,s,o){let a=new this;return a.resolve.apply(a,arguments)},$RefParser.prototype.resolve=async function(r,e,s,o){let a=this,t=normalizeArgs(arguments);try{return await this.parse(t.path,t.schema,t.options),await resolveExternal(a,t.options),finalize(a),maybe(t.callback,Promise.resolve(a.$refs))}catch(r){return maybe(t.callback,Promise.reject(r))}},$RefParser.bundle=function(r,e,s,o){let a=new this;return a.bundle.apply(a,arguments)},$RefParser.prototype.bundle=async function(r,e,s,o){let a=this,t=normalizeArgs(arguments);try{return await this.resolve(t.path,t.schema,t.options),_bundle(a,t.options),finalize(a),maybe(t.callback,Promise.resolve(a.schema))}catch(r){return maybe(t.callback,Promise.reject(r))}},$RefParser.dereference=function(r,e,s,o){let a=new this;return a.dereference.apply(a,arguments)},$RefParser.prototype.dereference=async function(r,e,s,o){let a=this,t=normalizeArgs(arguments);try{return await this.resolve(t.path,t.schema,t.options),_dereference(a,t.options),finalize(a),maybe(t.callback,Promise.resolve(a.schema))}catch(r){return maybe(t.callback,Promise.reject(r))}}}).call(this)}).call(this,{isBuffer:require("../../../is-buffer/index.js")})},{"../../../is-buffer/index.js":140,"./bundle":6,"./dereference":7,"./normalize-args":9,"./parse":11,"./refs":18,"./resolve-external":19,"./util/errors":22,"./util/url":24,"@jsdevtools/ono":33,"call-me-maybe":134}],9:[function(require,module,exports){"use strict";const Options=require("./options");function normalizeArgs(o){let t,e,n,i;return"function"==typeof(o=Array.prototype.slice.call(o))[o.length-1]&&(i=o.pop()),"string"==typeof o[0]?(t=o[0],"object"==typeof o[2]?(e=o[1],n=o[2]):(e=void 0,n=o[1])):(t="",e=o[0],n=o[1]),n instanceof Options||(n=new Options(n)),{path:t,schema:e,options:n,callback:i}}module.exports=normalizeArgs},{"./options":10}],10:[function(require,module,exports){"use strict";const jsonParser=require("./parsers/json"),yamlParser=require("./parsers/yaml"),textParser=require("./parsers/text"),binaryParser=require("./parsers/binary"),fileResolver=require("./resolvers/file"),httpResolver=require("./resolvers/http");function $RefParserOptions(e){merge(this,$RefParserOptions.defaults),merge(this,e)}function merge(e,r){if(isMergeable(r)){let s=Object.keys(r);for(let t=0;t{let t=plugins.all(e.resolve);t=plugins.filter(t,"canRead",r),plugins.sort(t),plugins.run(t,"read",r,n).then(o,function(n){!n&&e.continueOnError?s(new UnmatchedResolverError(r.url)):n&&"error"in n?n.error instanceof ResolverError?s(n.error):s(new ResolverError(n,r.url)):s(ono.syntax(`Unable to resolve $ref pointer "${r.url}"`))})})}function parseFile(r,e,n){return new Promise((o,s)=>{let t=plugins.all(e.parse),l=plugins.filter(t,"canParse",r),a=l.length>0?l:t;plugins.sort(a),plugins.run(a,"parse",r,n).then(function(e){!e.plugin.allowEmpty&&isEmpty(e.result)?s(ono.syntax(`Error parsing "${r.url}" as ${e.plugin.name}. \nParsed value is empty`)):o(e)},function(n){!n&&e.continueOnError?s(new UnmatchedParserError(r.url)):n&&"error"in n?n.error instanceof ParserError?s(n.error):s(new ParserError(n.error.message,r.url)):s(ono.syntax(`Unable to parse ${r.url}`))})})}function isEmpty(r){return void 0===r||"object"==typeof r&&0===Object.keys(r).length||"string"==typeof r&&0===r.trim().length||Buffer.isBuffer(r)&&0===r.length}module.exports=parse}).call(this)}).call(this,{isBuffer:require("../../../is-buffer/index.js")})},{"../../../is-buffer/index.js":140,"./util/errors":22,"./util/plugins":23,"./util/url":24,"@jsdevtools/ono":33}],12:[function(require,module,exports){(function(Buffer){(function(){"use strict";let BINARY_REGEXP=/\.(jpeg|jpg|gif|png|bmp|ico)$/i;module.exports={order:400,allowEmpty:!0,canParse:e=>Buffer.isBuffer(e.data)&&BINARY_REGEXP.test(e.url),parse:e=>Buffer.isBuffer(e.data)?e.data:Buffer.from(e.data)}}).call(this)}).call(this,require("buffer").Buffer)},{buffer:132}],13:[function(require,module,exports){(function(Buffer){(function(){"use strict";const{ParserError:ParserError}=require("../util/errors");module.exports={order:100,allowEmpty:!0,canParse:".json",async parse(r){let e=r.data;if(Buffer.isBuffer(e)&&(e=e.toString()),"string"!=typeof e)return e;if(0!==e.trim().length)try{return JSON.parse(e)}catch(e){throw new ParserError(e.message,r.url)}}}}).call(this)}).call(this,{isBuffer:require("../../../../is-buffer/index.js")})},{"../../../../is-buffer/index.js":140,"../util/errors":22}],14:[function(require,module,exports){(function(Buffer){(function(){"use strict";const{ParserError:ParserError}=require("../util/errors");let TEXT_REGEXP=/\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i;module.exports={order:300,allowEmpty:!0,encoding:"utf8",canParse:r=>("string"==typeof r.data||Buffer.isBuffer(r.data))&&TEXT_REGEXP.test(r.url),parse(r){if("string"==typeof r.data)return r.data;if(Buffer.isBuffer(r.data))return r.data.toString(this.encoding);throw new ParserError("data is not text",r.url)}}}).call(this)}).call(this,{isBuffer:require("../../../../is-buffer/index.js")})},{"../../../../is-buffer/index.js":140,"../util/errors":22}],15:[function(require,module,exports){(function(Buffer){(function(){"use strict";const{ParserError:ParserError}=require("../util/errors"),yaml=require("js-yaml");module.exports={order:200,allowEmpty:!0,canParse:[".yaml",".yml",".json"],async parse(r){let e=r.data;if(Buffer.isBuffer(e)&&(e=e.toString()),"string"!=typeof e)return e;try{return yaml.safeLoad(e)}catch(e){throw new ParserError(e.message,r.url)}}}}).call(this)}).call(this,{isBuffer:require("../../../../is-buffer/index.js")})},{"../../../../is-buffer/index.js":140,"../util/errors":22,"js-yaml":141}],16:[function(require,module,exports){"use strict";module.exports=Pointer;const $Ref=require("./ref"),url=require("./util/url"),{JSONParserError:JSONParserError,InvalidPointerError:InvalidPointerError,MissingPointerError:MissingPointerError,isHandledError:isHandledError}=require("./util/errors"),slashes=/\//g,tildes=/~/g,escapedSlash=/~1/g,escapedTilde=/~0/g;function Pointer(e,r,t){this.$ref=e,this.path=r,this.originalPath=t||r,this.value=void 0,this.circular=!1,this.indirections=0}function resolveIf$Ref(e,r){if($Ref.isAllowed$Ref(e.value,r)){let t=url.resolve(e.path,e.value.$ref);if(t!==e.path){let i=e.$ref.$refs._resolve(t,e.path,r);return e.indirections+=i.indirections+1,$Ref.isExtended$Ref(e.value)?(e.value=$Ref.dereference(e.value,i.value),!1):(e.$ref=i.$ref,e.path=i.path,e.value=i.value,!0)}e.circular=!0}}function setValue(e,r,t){if(!e.value||"object"!=typeof e.value)throw new JSONParserError(`Error assigning $ref pointer "${e.path}". \nCannot set "${r}" of a non-object.`);return"-"===r&&Array.isArray(e.value)?e.value.push(t):e.value[r]=t,t}function unwrapOrThrow(e){if(isHandledError(e))throw e;return e}Pointer.prototype.resolve=function(e,r,t){let i=Pointer.parse(this.path,this.originalPath);this.value=unwrapOrThrow(e);for(let e=0;e0},$Ref.isExternal$Ref=function(r){return $Ref.is$Ref(r)&&"#"!==r.$ref[0]},$Ref.isAllowed$Ref=function(r,e){if($Ref.is$Ref(r)){if("#/"===r.$ref.substr(0,2)||"#"===r.$ref)return!0;if("#"!==r.$ref[0]&&(!e||e.resolve.external))return!0}},$Ref.isExtended$Ref=function(r){return $Ref.is$Ref(r)&&Object.keys(r).length>1},$Ref.dereference=function(r,e){if(e&&"object"==typeof e&&$Ref.isExtended$Ref(r)){let t={};for(let e of Object.keys(r))"$ref"!==e&&(t[e]=r[e]);for(let r of Object.keys(e))r in t||(t[r]=e[r]);return t}return e}},{"./pointer":16,"./util/errors":22,"./util/url":24}],18:[function(require,module,exports){"use strict";const{ono:ono}=require("@jsdevtools/ono"),$Ref=require("./ref"),url=require("./util/url");function $Refs(){this.circular=!1,this._$refs={},this._root$Ref=null}function getPaths(e,t){let r=Object.keys(e);return(t=Array.isArray(t[0])?t[0]:Array.prototype.slice.call(t)).length>0&&t[0]&&(r=r.filter(r=>-1!==t.indexOf(e[r].pathType))),r.map(t=>({encoded:t,decoded:"file"===e[t].pathType?url.toFileSystemPath(t,!0):t}))}module.exports=$Refs,$Refs.prototype.paths=function(e){return getPaths(this._$refs,arguments).map(e=>e.decoded)},$Refs.prototype.values=function(e){let t=this._$refs;return getPaths(t,arguments).reduce((e,r)=>(e[r.decoded]=t[r.encoded].value,e),{})},$Refs.prototype.toJSON=$Refs.prototype.values,$Refs.prototype.exists=function(e,t){try{return this._resolve(e,"",t),!0}catch(e){return!1}},$Refs.prototype.get=function(e,t){return this._resolve(e,"",t).value},$Refs.prototype.set=function(e,t){let r=url.resolve(this._root$Ref.path,e),o=url.stripHash(r),s=this._$refs[o];if(!s)throw ono(`Error resolving $ref pointer "${e}". \n"${o}" not found.`);s.set(r,t)},$Refs.prototype._add=function(e){let t=url.stripHash(e),r=new $Ref;return r.path=t,r.$refs=this,this._$refs[t]=r,this._root$Ref=this._root$Ref||r,r},$Refs.prototype._resolve=function(e,t,r){let o=url.resolve(this._root$Ref.path,e),s=url.stripHash(o),n=this._$refs[s];if(!n)throw ono(`Error resolving $ref pointer "${e}". \n"${s}" not found.`);return n.resolve(o,r,e,t)},$Refs.prototype._get$Ref=function(e){e=url.resolve(this._root$Ref.path,e);let t=url.stripHash(e);return this._$refs[t]}},{"./ref":17,"./util/url":24,"@jsdevtools/ono":33}],19:[function(require,module,exports){"use strict";const $Ref=require("./ref"),Pointer=require("./pointer"),parse=require("./parse"),url=require("./util/url"),{isHandledError:isHandledError}=require("./util/errors");function resolveExternal(e,r){if(!r.resolve.external)return Promise.resolve();try{let t=crawl(e.schema,e.$refs._root$Ref.path+"#",e.$refs,r);return Promise.all(t)}catch(e){return Promise.reject(e)}}function crawl(e,r,t,s){let l=[];if(e&&"object"==typeof e&&!ArrayBuffer.isView(e))if($Ref.isExternal$Ref(e))l.push(resolve$Ref(e,r,t,s));else for(let o of Object.keys(e)){let i=Pointer.join(r,o),a=e[o];$Ref.isExternal$Ref(a)?l.push(resolve$Ref(a,i,t,s)):l=l.concat(crawl(a,i,t,s))}return l}async function resolve$Ref(e,r,t,s){let l=url.resolve(r,e.$ref),o=url.stripHash(l);if(e=t._$refs[o])return Promise.resolve(e.value);try{let e=crawl(await parse(l,t,s),o+"#",t,s);return Promise.all(e)}catch(e){if(!s.continueOnError||!isHandledError(e))throw e;return t._$refs[o]&&(e.source=url.stripHash(r),e.path=url.safePointerToPath(url.getHash(r))),[]}}module.exports=resolveExternal},{"./parse":11,"./pointer":16,"./ref":17,"./util/errors":22,"./util/url":24}],20:[function(require,module,exports){"use strict";const fs=require("fs"),{ono:ono}=require("@jsdevtools/ono"),url=require("../util/url"),{ResolverError:ResolverError}=require("../util/errors");module.exports={order:100,canRead:r=>url.isFileSystemPath(r.url),read:r=>new Promise((e,o)=>{let l;try{l=url.toFileSystemPath(r.url)}catch(e){o(new ResolverError(ono.uri(e,`Malformed URI: ${r.url}`),r.url))}try{fs.readFile(l,(r,s)=>{r?o(new ResolverError(ono(r,`Error opening file "${l}"`),l)):e(s)})}catch(r){o(new ResolverError(ono(r,`Error opening file "${l}"`),l))}})}},{"../util/errors":22,"../util/url":24,"@jsdevtools/ono":33,fs:131}],21:[function(require,module,exports){(function(process,Buffer){(function(){"use strict";const http=require("http"),https=require("https"),{ono:ono}=require("@jsdevtools/ono"),url=require("../util/url"),{ResolverError:ResolverError}=require("../util/errors");function download(o,e,r){return new Promise((t,s)=>{o=url.parse(o),(r=r||[]).push(o.href),get(o,e).then(n=>{if(n.statusCode>=400)throw ono({status:n.statusCode},`HTTP ERROR ${n.statusCode}`);if(n.statusCode>=300)if(r.length>e.redirects)s(new ResolverError(ono({status:n.statusCode},`Error downloading ${r[0]}. \nToo many redirects: \n  ${r.join(" \n  ")}`)));else{if(!n.headers.location)throw ono({status:n.statusCode},`HTTP ${n.statusCode} redirect with no location header`);download(url.resolve(o,n.headers.location),e,r).then(t,s)}else t(n.body||Buffer.alloc(0))}).catch(e=>{s(new ResolverError(ono(e,`Error downloading ${o.href}`),o.href))})})}function get(o,e){return new Promise((r,t)=>{let s=("https:"===o.protocol?https:http).get({hostname:o.hostname,port:o.port,path:o.path,auth:o.auth,protocol:o.protocol,headers:e.headers||{},withCredentials:e.withCredentials});"function"==typeof s.setTimeout&&s.setTimeout(e.timeout),s.on("timeout",()=>{s.abort()}),s.on("error",t),s.once("response",o=>{o.body=Buffer.alloc(0),o.on("data",e=>{o.body=Buffer.concat([o.body,Buffer.from(e)])}),o.on("error",t),o.on("end",()=>{r(o)})})})}module.exports={order:200,headers:null,timeout:5e3,redirects:5,withCredentials:!1,canRead:o=>url.isHttp(o.url),read(o){let e=url.parse(o.url);return process.browser&&!e.protocol&&(e.protocol=url.parse(location.href).protocol),download(e,this)}}}).call(this)}).call(this,require("_process"),require("buffer").Buffer)},{"../util/errors":22,"../util/url":24,"@jsdevtools/ono":33,_process:172,buffer:132,http:192,https:137}],22:[function(require,module,exports){"use strict";const{Ono:Ono}=require("@jsdevtools/ono"),{stripHash:stripHash,toFileSystemPath:toFileSystemPath}=require("./url"),JSONParserError=exports.JSONParserError=class extends Error{constructor(r,e){super(),this.code="EUNKNOWN",this.message=r,this.source=e,this.path=null,Ono.extend(this)}};setErrorName(JSONParserError);const JSONParserErrorGroup=exports.JSONParserErrorGroup=class r extends Error{constructor(r){super(),this.files=r,this.message=`${this.errors.length} error${this.errors.length>1?"s":""} occurred while reading '${toFileSystemPath(r.$refs._root$Ref.path)}'`,Ono.extend(this)}static getParserErrors(r){const e=[];for(const s of Object.values(r.$refs._$refs))s.errors&&e.push(...s.errors);return e}get errors(){return r.getParserErrors(this.files)}};setErrorName(JSONParserErrorGroup);const ParserError=exports.ParserError=class extends JSONParserError{constructor(r,e){super(`Error parsing ${e}: ${r}`,e),this.code="EPARSER"}};setErrorName(ParserError);const UnmatchedParserError=exports.UnmatchedParserError=class extends JSONParserError{constructor(r){super(`Could not find parser for "${r}"`,r),this.code="EUNMATCHEDPARSER"}};setErrorName(UnmatchedParserError);const ResolverError=exports.ResolverError=class extends JSONParserError{constructor(r,e){super(r.message||`Error reading file "${e}"`,e),this.code="ERESOLVER","code"in r&&(this.ioErrorCode=String(r.code))}};setErrorName(ResolverError);const UnmatchedResolverError=exports.UnmatchedResolverError=class extends JSONParserError{constructor(r){super(`Could not find resolver for "${r}"`,r),this.code="EUNMATCHEDRESOLVER"}};setErrorName(UnmatchedResolverError);const MissingPointerError=exports.MissingPointerError=class extends JSONParserError{constructor(r,e){super(`Token "${r}" does not exist.`,stripHash(e)),this.code="EMISSINGPOINTER"}};setErrorName(MissingPointerError);const InvalidPointerError=exports.InvalidPointerError=class extends JSONParserError{constructor(r,e){super(`Invalid $ref pointer "${r}". Pointers must begin with "#/"`,stripHash(e)),this.code="EINVALIDPOINTER"}};function setErrorName(r){Object.defineProperty(r.prototype,"name",{value:r.name,enumerable:!0})}setErrorName(InvalidPointerError),exports.isHandledError=function(r){return r instanceof JSONParserError||r instanceof JSONParserErrorGroup},exports.normalizeError=function(r){return null===r.path&&(r.path=[]),r}},{"./url":24,"@jsdevtools/ono":33}],23:[function(require,module,exports){"use strict";function getResult(e,t,r,n,o){let i=e[t];if("function"==typeof i)return i.apply(e,[r,n,o]);if(!n){if(i instanceof RegExp)return i.test(r.url);if("string"==typeof i)return i===r.extension;if(Array.isArray(i))return-1!==i.indexOf(r.extension)}return i}exports.all=function(e){return Object.keys(e).filter(t=>"object"==typeof e[t]).map(t=>(e[t].name=t,e[t]))},exports.filter=function(e,t,r){return e.filter(e=>!!getResult(e,t,r))},exports.sort=function(e){for(let t of e)t.order=t.order||Number.MAX_SAFE_INTEGER;return e.sort((e,t)=>e.order-t.order)},exports.run=function(e,t,r,n){let o,i,u=0;return new Promise((f,s)=>{function l(){if(!(o=e[u++]))return s(i);try{let i=getResult(o,t,r,c,n);if(i&&"function"==typeof i.then)i.then(p,a);else if(void 0!==i)p(i);else if(u===e.length)throw new Error("No promise has been returned or callback has been called.")}catch(e){a(e)}}function c(e,t){e?a(e):p(t)}function p(e){f({plugin:o,result:e})}function a(e){i={plugin:o,error:e},l()}l()})}},{}],24:[function(require,module,exports){(function(process){(function(){"use strict";let isWindows=/^win/.test(process.platform),forwardSlashPattern=/\//g,protocolPattern=/^(\w{2,}):\/\//i,url=module.exports,jsonPointerSlash=/~1/g,jsonPointerTilde=/~0/g,urlEncodePatterns=[/\?/g,"%3F",/\#/g,"%23"],urlDecodePatterns=[/\%23/g,"#",/\%24/g,"$",/\%26/g,"&",/\%2C/g,",",/\%40/g,"@"];exports.parse=require("url").parse,exports.resolve=require("url").resolve,exports.cwd=function(){if(process.browser)return location.href;let e=process.cwd(),t=e.slice(-1);return"/"===t||"\\"===t?e:e+"/"},exports.getProtocol=function(e){let t=protocolPattern.exec(e);if(t)return t[1].toLowerCase()},exports.getExtension=function(e){let t=e.lastIndexOf(".");return t>=0?e.substr(t).toLowerCase():""},exports.getHash=function(e){let t=e.indexOf("#");return t>=0?e.substr(t):"#"},exports.stripHash=function(e){let t=e.indexOf("#");return t>=0&&(e=e.substr(0,t)),e},exports.isHttp=function(e){let t=url.getProtocol(e);return"http"===t||"https"===t||void 0===t&&process.browser},exports.isFileSystemPath=function(e){if(process.browser)return!1;let t=url.getProtocol(e);return void 0===t||"file"===t},exports.fromFileSystemPath=function(e){isWindows&&(e=e.replace(/\\/g,"/")),e=encodeURI(e);for(let t=0;tdecodeURIComponent(e).replace(jsonPointerSlash,"/").replace(jsonPointerTilde,"~"))}}).call(this)}).call(this,require("_process"))},{_process:172,url:199}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.openapi=exports.openapiV31=exports.openapiV3=exports.openapiV2=exports.openapiV1=void 0,exports.openapiV1=require("../schemas/v1.2/apiDeclaration.json"),exports.openapiV2=require("../schemas/v2.0/schema.json"),exports.openapiV3=require("../schemas/v3.0/schema.json"),exports.openapiV31=require("../schemas/v3.1/schema.json"),exports.openapi={v1:exports.openapiV1,v2:exports.openapiV2,v3:exports.openapiV3,v31:exports.openapiV31},exports.default=exports.openapi,"object"==typeof module&&"object"==typeof module.exports&&(module.exports=Object.assign(module.exports.default,module.exports))},{"../schemas/v1.2/apiDeclaration.json":26,"../schemas/v2.0/schema.json":27,"../schemas/v3.0/schema.json":28,"../schemas/v3.1/schema.json":29}],26:[function(require,module,exports){module.exports={id:"https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/apiDeclaration.json#",$schema:"http://json-schema.org/draft-04/schema#",type:"object",required:["swaggerVersion","basePath","apis"],properties:{swaggerVersion:{enum:["1.2"]},apiVersion:{type:"string"},basePath:{type:"string",format:"uri",pattern:"^https?://"},resourcePath:{type:"string",format:"uri",pattern:"^/"},apis:{type:"array",items:{$ref:"#/definitions/apiObject"}},models:{type:"object",additionalProperties:{$ref:"modelsObject.json#"}},produces:{$ref:"#/definitions/mimeTypeArray"},consumes:{$ref:"#/definitions/mimeTypeArray"},authorizations:{$ref:"authorizationObject.json#"}},additionalProperties:false,definitions:{apiObject:{type:"object",required:["path","operations"],properties:{path:{type:"string",format:"uri-template",pattern:"^/"},description:{type:"string"},operations:{type:"array",items:{$ref:"operationObject.json#"}}},additionalProperties:false},mimeTypeArray:{type:"array",items:{type:"string",format:"mime-type"},uniqueItems:true}}}},{}],27:[function(require,module,exports){module.exports={title:"A JSON Schema for Swagger 2.0 API.",id:"http://swagger.io/v2/schema.json#",$schema:"http://json-schema.org/draft-04/schema#",type:"object",required:["swagger","info","paths"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{swagger:{type:"string",enum:["2.0"],description:"The Swagger version of this document."},info:{$ref:"#/definitions/info"},host:{type:"string",pattern:"^[^{}/ :\\\\]+(?::\\d+)?$",description:"The host (name or ip) of the API. Example: 'swagger.io'"},basePath:{type:"string",pattern:"^/",description:"The base path to the API. Example: '/api'."},schemes:{$ref:"#/definitions/schemesList"},consumes:{description:"A list of MIME types accepted by the API.",allOf:[{$ref:"#/definitions/mediaTypeList"}]},produces:{description:"A list of MIME types the API can produce.",allOf:[{$ref:"#/definitions/mediaTypeList"}]},paths:{$ref:"#/definitions/paths"},definitions:{$ref:"#/definitions/definitions"},parameters:{$ref:"#/definitions/parameterDefinitions"},responses:{$ref:"#/definitions/responseDefinitions"},security:{$ref:"#/definitions/security"},securityDefinitions:{$ref:"#/definitions/securityDefinitions"},tags:{type:"array",items:{$ref:"#/definitions/tag"},uniqueItems:true},externalDocs:{$ref:"#/definitions/externalDocs"}},definitions:{info:{type:"object",description:"General information about the API.",required:["version","title"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{title:{type:"string",description:"A unique and precise title of the API."},version:{type:"string",description:"A semantic version number of the API."},description:{type:"string",description:"A longer description of the API. Should be different from the title.  GitHub Flavored Markdown is allowed."},termsOfService:{type:"string",description:"The terms of service for the API."},contact:{$ref:"#/definitions/contact"},license:{$ref:"#/definitions/license"}}},contact:{type:"object",description:"Contact information for the owners of the API.",additionalProperties:false,properties:{name:{type:"string",description:"The identifying name of the contact person/organization."},url:{type:"string",description:"The URL pointing to the contact information.",format:"uri"},email:{type:"string",description:"The email address of the contact person/organization.",format:"email"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},license:{type:"object",required:["name"],additionalProperties:false,properties:{name:{type:"string",description:"The name of the license type. It's encouraged to use an OSI compatible license."},url:{type:"string",description:"The URL pointing to the license.",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},paths:{type:"object",description:"Relative paths to the individual endpoints. They must be relative to the 'basePath'.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"},"^/":{$ref:"#/definitions/pathItem"}},additionalProperties:false},definitions:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},description:"One or more JSON objects describing the schemas being consumed and produced by the API."},parameterDefinitions:{type:"object",additionalProperties:{$ref:"#/definitions/parameter"},description:"One or more JSON representations for parameters"},responseDefinitions:{type:"object",additionalProperties:{$ref:"#/definitions/response"},description:"One or more JSON representations for responses"},externalDocs:{type:"object",additionalProperties:false,description:"information about external documentation",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},examples:{type:"object",additionalProperties:true},mimeType:{type:"string",description:"The MIME type of the HTTP message."},operation:{type:"object",required:["responses"],additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{tags:{type:"array",items:{type:"string"},uniqueItems:true},summary:{type:"string",description:"A brief summary of the operation."},description:{type:"string",description:"A longer description of the operation, GitHub Flavored Markdown is allowed."},externalDocs:{$ref:"#/definitions/externalDocs"},operationId:{type:"string",description:"A unique identifier of the operation."},produces:{description:"A list of MIME types the API can produce.",allOf:[{$ref:"#/definitions/mediaTypeList"}]},consumes:{description:"A list of MIME types the API can consume.",allOf:[{$ref:"#/definitions/mediaTypeList"}]},parameters:{$ref:"#/definitions/parametersList"},responses:{$ref:"#/definitions/responses"},schemes:{$ref:"#/definitions/schemesList"},deprecated:{type:"boolean",default:false},security:{$ref:"#/definitions/security"}}},pathItem:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},get:{$ref:"#/definitions/operation"},put:{$ref:"#/definitions/operation"},post:{$ref:"#/definitions/operation"},delete:{$ref:"#/definitions/operation"},options:{$ref:"#/definitions/operation"},head:{$ref:"#/definitions/operation"},patch:{$ref:"#/definitions/operation"},parameters:{$ref:"#/definitions/parametersList"}}},responses:{type:"object",description:"Response objects names can either be any valid HTTP status code or 'default'.",minProperties:1,additionalProperties:false,patternProperties:{"^([0-9]{3})$|^(default)$":{$ref:"#/definitions/responseValue"},"^x-":{$ref:"#/definitions/vendorExtension"}},not:{type:"object",additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}}},responseValue:{oneOf:[{$ref:"#/definitions/response"},{$ref:"#/definitions/jsonReference"}]},response:{type:"object",required:["description"],properties:{description:{type:"string"},schema:{oneOf:[{$ref:"#/definitions/schema"},{$ref:"#/definitions/fileSchema"}]},headers:{$ref:"#/definitions/headers"},examples:{$ref:"#/definitions/examples"}},additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},headers:{type:"object",additionalProperties:{$ref:"#/definitions/header"}},header:{type:"object",additionalProperties:false,required:["type"],properties:{type:{type:"string",enum:["string","number","integer","boolean","array"]},format:{type:"string"},items:{$ref:"#/definitions/primitivesItems"},collectionFormat:{$ref:"#/definitions/collectionFormat"},default:{$ref:"#/definitions/default"},maximum:{$ref:"#/definitions/maximum"},exclusiveMaximum:{$ref:"#/definitions/exclusiveMaximum"},minimum:{$ref:"#/definitions/minimum"},exclusiveMinimum:{$ref:"#/definitions/exclusiveMinimum"},maxLength:{$ref:"#/definitions/maxLength"},minLength:{$ref:"#/definitions/minLength"},pattern:{$ref:"#/definitions/pattern"},maxItems:{$ref:"#/definitions/maxItems"},minItems:{$ref:"#/definitions/minItems"},uniqueItems:{$ref:"#/definitions/uniqueItems"},enum:{$ref:"#/definitions/enum"},multipleOf:{$ref:"#/definitions/multipleOf"},description:{type:"string"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},vendorExtension:{description:"Any property starting with x- is valid.",additionalProperties:true,additionalItems:true},bodyParameter:{type:"object",required:["name","in","schema"],patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{description:{type:"string",description:"A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},in:{type:"string",description:"Determines the location of the parameter.",enum:["body"]},required:{type:"boolean",description:"Determines whether or not this parameter is required or optional.",default:false},schema:{$ref:"#/definitions/schema"}},additionalProperties:false},headerParameterSubSchema:{additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{required:{type:"boolean",description:"Determines whether or not this parameter is required or optional.",default:false},in:{type:"string",description:"Determines the location of the parameter.",enum:["header"]},description:{type:"string",description:"A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},type:{type:"string",enum:["string","number","boolean","integer","array"]},format:{type:"string"},items:{$ref:"#/definitions/primitivesItems"},collectionFormat:{$ref:"#/definitions/collectionFormat"},default:{$ref:"#/definitions/default"},maximum:{$ref:"#/definitions/maximum"},exclusiveMaximum:{$ref:"#/definitions/exclusiveMaximum"},minimum:{$ref:"#/definitions/minimum"},exclusiveMinimum:{$ref:"#/definitions/exclusiveMinimum"},maxLength:{$ref:"#/definitions/maxLength"},minLength:{$ref:"#/definitions/minLength"},pattern:{$ref:"#/definitions/pattern"},maxItems:{$ref:"#/definitions/maxItems"},minItems:{$ref:"#/definitions/minItems"},uniqueItems:{$ref:"#/definitions/uniqueItems"},enum:{$ref:"#/definitions/enum"},multipleOf:{$ref:"#/definitions/multipleOf"}}},queryParameterSubSchema:{additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{required:{type:"boolean",description:"Determines whether or not this parameter is required or optional.",default:false},in:{type:"string",description:"Determines the location of the parameter.",enum:["query"]},description:{type:"string",description:"A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},allowEmptyValue:{type:"boolean",default:false,description:"allows sending a parameter by name only or with an empty value."},type:{type:"string",enum:["string","number","boolean","integer","array"]},format:{type:"string"},items:{$ref:"#/definitions/primitivesItems"},collectionFormat:{$ref:"#/definitions/collectionFormatWithMulti"},default:{$ref:"#/definitions/default"},maximum:{$ref:"#/definitions/maximum"},exclusiveMaximum:{$ref:"#/definitions/exclusiveMaximum"},minimum:{$ref:"#/definitions/minimum"},exclusiveMinimum:{$ref:"#/definitions/exclusiveMinimum"},maxLength:{$ref:"#/definitions/maxLength"},minLength:{$ref:"#/definitions/minLength"},pattern:{$ref:"#/definitions/pattern"},maxItems:{$ref:"#/definitions/maxItems"},minItems:{$ref:"#/definitions/minItems"},uniqueItems:{$ref:"#/definitions/uniqueItems"},enum:{$ref:"#/definitions/enum"},multipleOf:{$ref:"#/definitions/multipleOf"}}},formDataParameterSubSchema:{additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{required:{type:"boolean",description:"Determines whether or not this parameter is required or optional.",default:false},in:{type:"string",description:"Determines the location of the parameter.",enum:["formData"]},description:{type:"string",description:"A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},allowEmptyValue:{type:"boolean",default:false,description:"allows sending a parameter by name only or with an empty value."},type:{type:"string",enum:["string","number","boolean","integer","array","file"]},format:{type:"string"},items:{$ref:"#/definitions/primitivesItems"},collectionFormat:{$ref:"#/definitions/collectionFormatWithMulti"},default:{$ref:"#/definitions/default"},maximum:{$ref:"#/definitions/maximum"},exclusiveMaximum:{$ref:"#/definitions/exclusiveMaximum"},minimum:{$ref:"#/definitions/minimum"},exclusiveMinimum:{$ref:"#/definitions/exclusiveMinimum"},maxLength:{$ref:"#/definitions/maxLength"},minLength:{$ref:"#/definitions/minLength"},pattern:{$ref:"#/definitions/pattern"},maxItems:{$ref:"#/definitions/maxItems"},minItems:{$ref:"#/definitions/minItems"},uniqueItems:{$ref:"#/definitions/uniqueItems"},enum:{$ref:"#/definitions/enum"},multipleOf:{$ref:"#/definitions/multipleOf"}}},pathParameterSubSchema:{additionalProperties:false,patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},required:["required"],properties:{required:{type:"boolean",enum:[true],description:"Determines whether or not this parameter is required or optional."},in:{type:"string",description:"Determines the location of the parameter.",enum:["path"]},description:{type:"string",description:"A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed."},name:{type:"string",description:"The name of the parameter."},type:{type:"string",enum:["string","number","boolean","integer","array"]},format:{type:"string"},items:{$ref:"#/definitions/primitivesItems"},collectionFormat:{$ref:"#/definitions/collectionFormat"},default:{$ref:"#/definitions/default"},maximum:{$ref:"#/definitions/maximum"},exclusiveMaximum:{$ref:"#/definitions/exclusiveMaximum"},minimum:{$ref:"#/definitions/minimum"},exclusiveMinimum:{$ref:"#/definitions/exclusiveMinimum"},maxLength:{$ref:"#/definitions/maxLength"},minLength:{$ref:"#/definitions/minLength"},pattern:{$ref:"#/definitions/pattern"},maxItems:{$ref:"#/definitions/maxItems"},minItems:{$ref:"#/definitions/minItems"},uniqueItems:{$ref:"#/definitions/uniqueItems"},enum:{$ref:"#/definitions/enum"},multipleOf:{$ref:"#/definitions/multipleOf"}}},nonBodyParameter:{type:"object",required:["name","in","type"],oneOf:[{$ref:"#/definitions/headerParameterSubSchema"},{$ref:"#/definitions/formDataParameterSubSchema"},{$ref:"#/definitions/queryParameterSubSchema"},{$ref:"#/definitions/pathParameterSubSchema"}]},parameter:{oneOf:[{$ref:"#/definitions/bodyParameter"},{$ref:"#/definitions/nonBodyParameter"}]},schema:{type:"object",description:"A deterministic version of a JSON Schema object.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},properties:{$ref:{type:"string"},format:{type:"string"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},maxProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minProperties:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},required:{$ref:"http://json-schema.org/draft-04/schema#/definitions/stringArray"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"},additionalProperties:{anyOf:[{$ref:"#/definitions/schema"},{type:"boolean"}],default:{}},type:{$ref:"http://json-schema.org/draft-04/schema#/properties/type"},items:{anyOf:[{$ref:"#/definitions/schema"},{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}}],default:{}},allOf:{type:"array",minItems:1,items:{$ref:"#/definitions/schema"}},properties:{type:"object",additionalProperties:{$ref:"#/definitions/schema"},default:{}},discriminator:{type:"string"},readOnly:{type:"boolean",default:false},xml:{$ref:"#/definitions/xml"},externalDocs:{$ref:"#/definitions/externalDocs"},example:{}},additionalProperties:false},fileSchema:{type:"object",description:"A deterministic version of a JSON Schema object.",patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}},required:["type"],properties:{format:{type:"string"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},required:{$ref:"http://json-schema.org/draft-04/schema#/definitions/stringArray"},type:{type:"string",enum:["file"]},readOnly:{type:"boolean",default:false},externalDocs:{$ref:"#/definitions/externalDocs"},example:{}},additionalProperties:false},primitivesItems:{type:"object",additionalProperties:false,properties:{type:{type:"string",enum:["string","number","integer","boolean","array"]},format:{type:"string"},items:{$ref:"#/definitions/primitivesItems"},collectionFormat:{$ref:"#/definitions/collectionFormat"},default:{$ref:"#/definitions/default"},maximum:{$ref:"#/definitions/maximum"},exclusiveMaximum:{$ref:"#/definitions/exclusiveMaximum"},minimum:{$ref:"#/definitions/minimum"},exclusiveMinimum:{$ref:"#/definitions/exclusiveMinimum"},maxLength:{$ref:"#/definitions/maxLength"},minLength:{$ref:"#/definitions/minLength"},pattern:{$ref:"#/definitions/pattern"},maxItems:{$ref:"#/definitions/maxItems"},minItems:{$ref:"#/definitions/minItems"},uniqueItems:{$ref:"#/definitions/uniqueItems"},enum:{$ref:"#/definitions/enum"},multipleOf:{$ref:"#/definitions/multipleOf"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},security:{type:"array",items:{$ref:"#/definitions/securityRequirement"},uniqueItems:true},securityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"},uniqueItems:true}},xml:{type:"object",additionalProperties:false,properties:{name:{type:"string"},namespace:{type:"string"},prefix:{type:"string"},attribute:{type:"boolean",default:false},wrapped:{type:"boolean",default:false}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},tag:{type:"object",additionalProperties:false,required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/externalDocs"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},securityDefinitions:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/basicAuthenticationSecurity"},{$ref:"#/definitions/apiKeySecurity"},{$ref:"#/definitions/oauth2ImplicitSecurity"},{$ref:"#/definitions/oauth2PasswordSecurity"},{$ref:"#/definitions/oauth2ApplicationSecurity"},{$ref:"#/definitions/oauth2AccessCodeSecurity"}]}},basicAuthenticationSecurity:{type:"object",additionalProperties:false,required:["type"],properties:{type:{type:"string",enum:["basic"]},description:{type:"string"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},apiKeySecurity:{type:"object",additionalProperties:false,required:["type","name","in"],properties:{type:{type:"string",enum:["apiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query"]},description:{type:"string"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},oauth2ImplicitSecurity:{type:"object",additionalProperties:false,required:["type","flow","authorizationUrl"],properties:{type:{type:"string",enum:["oauth2"]},flow:{type:"string",enum:["implicit"]},scopes:{$ref:"#/definitions/oauth2Scopes"},authorizationUrl:{type:"string",format:"uri"},description:{type:"string"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},oauth2PasswordSecurity:{type:"object",additionalProperties:false,required:["type","flow","tokenUrl"],properties:{type:{type:"string",enum:["oauth2"]},flow:{type:"string",enum:["password"]},scopes:{$ref:"#/definitions/oauth2Scopes"},tokenUrl:{type:"string",format:"uri"},description:{type:"string"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},oauth2ApplicationSecurity:{type:"object",additionalProperties:false,required:["type","flow","tokenUrl"],properties:{type:{type:"string",enum:["oauth2"]},flow:{type:"string",enum:["application"]},scopes:{$ref:"#/definitions/oauth2Scopes"},tokenUrl:{type:"string",format:"uri"},description:{type:"string"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},oauth2AccessCodeSecurity:{type:"object",additionalProperties:false,required:["type","flow","authorizationUrl","tokenUrl"],properties:{type:{type:"string",enum:["oauth2"]},flow:{type:"string",enum:["accessCode"]},scopes:{$ref:"#/definitions/oauth2Scopes"},authorizationUrl:{type:"string",format:"uri"},tokenUrl:{type:"string",format:"uri"},description:{type:"string"}},patternProperties:{"^x-":{$ref:"#/definitions/vendorExtension"}}},oauth2Scopes:{type:"object",additionalProperties:{type:"string"}},mediaTypeList:{type:"array",items:{$ref:"#/definitions/mimeType"},uniqueItems:true},parametersList:{type:"array",description:"The parameters needed to send a valid API call.",additionalItems:false,items:{oneOf:[{$ref:"#/definitions/parameter"},{$ref:"#/definitions/jsonReference"}]},uniqueItems:true},schemesList:{type:"array",description:"The transfer protocol of the API.",items:{type:"string",enum:["http","https","ws","wss"]},uniqueItems:true},collectionFormat:{type:"string",enum:["csv","ssv","tsv","pipes"],default:"csv"},collectionFormatWithMulti:{type:"string",enum:["csv","ssv","tsv","pipes","multi"],default:"csv"},title:{$ref:"http://json-schema.org/draft-04/schema#/properties/title"},description:{$ref:"http://json-schema.org/draft-04/schema#/properties/description"},default:{$ref:"http://json-schema.org/draft-04/schema#/properties/default"},multipleOf:{$ref:"http://json-schema.org/draft-04/schema#/properties/multipleOf"},maximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/maximum"},exclusiveMaximum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum"},minimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/minimum"},exclusiveMinimum:{$ref:"http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum"},maxLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minLength:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},pattern:{$ref:"http://json-schema.org/draft-04/schema#/properties/pattern"},maxItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveInteger"},minItems:{$ref:"http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0"},uniqueItems:{$ref:"http://json-schema.org/draft-04/schema#/properties/uniqueItems"},enum:{$ref:"http://json-schema.org/draft-04/schema#/properties/enum"},jsonReference:{type:"object",required:["$ref"],additionalProperties:false,properties:{$ref:{type:"string"}}}}}},{}],28:[function(require,module,exports){module.exports={id:"https://spec.openapis.org/oas/3.0/schema/2019-04-02",$schema:"http://json-schema.org/draft-04/schema#",description:"Validation schema for OpenAPI Specification 3.0.X.",type:"object",required:["openapi","info","paths"],properties:{openapi:{type:"string",pattern:"^3\\.0\\.\\d(-.+)?$"},info:{$ref:"#/definitions/Info"},externalDocs:{$ref:"#/definitions/ExternalDocumentation"},servers:{type:"array",items:{$ref:"#/definitions/Server"}},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},tags:{type:"array",items:{$ref:"#/definitions/Tag"},uniqueItems:true},paths:{$ref:"#/definitions/Paths"},components:{$ref:"#/definitions/Components"}},patternProperties:{"^x-":{}},additionalProperties:false,definitions:{Reference:{type:"object",required:["$ref"],patternProperties:{"^\\$ref$":{type:"string",format:"uri-reference"}}},Info:{type:"object",required:["title","version"],properties:{title:{type:"string"},description:{type:"string"},termsOfService:{type:"string",format:"uri-reference"},contact:{$ref:"#/definitions/Contact"},license:{$ref:"#/definitions/License"},version:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},Contact:{type:"object",properties:{name:{type:"string"},url:{type:"string",format:"uri-reference"},email:{type:"string",format:"email"}},patternProperties:{"^x-":{}},additionalProperties:false},License:{type:"object",required:["name"],properties:{name:{type:"string"},url:{type:"string",format:"uri-reference"}},patternProperties:{"^x-":{}},additionalProperties:false},Server:{type:"object",required:["url"],properties:{url:{type:"string"},description:{type:"string"},variables:{type:"object",additionalProperties:{$ref:"#/definitions/ServerVariable"}}},patternProperties:{"^x-":{}},additionalProperties:false},ServerVariable:{type:"object",required:["default"],properties:{enum:{type:"array",items:{type:"string"}},default:{type:"string"},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},Components:{type:"object",properties:{schemas:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"}]}}},responses:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/Response"}]}}},parameters:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/Parameter"}]}}},examples:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/Example"}]}}},requestBodies:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/RequestBody"}]}}},headers:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/Header"}]}}},securitySchemes:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/SecurityScheme"}]}}},links:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/Link"}]}}},callbacks:{type:"object",patternProperties:{"^[a-zA-Z0-9\\.\\-_]+$":{oneOf:[{$ref:"#/definitions/Reference"},{$ref:"#/definitions/Callback"}]}}}},patternProperties:{"^x-":{}},additionalProperties:false},Schema:{type:"object",properties:{title:{type:"string"},multipleOf:{type:"number",minimum:0,exclusiveMinimum:true},maximum:{type:"number"},exclusiveMaximum:{type:"boolean",default:false},minimum:{type:"number"},exclusiveMinimum:{type:"boolean",default:false},maxLength:{type:"integer",minimum:0},minLength:{type:"integer",minimum:0,default:0},pattern:{type:"string",format:"regex"},maxItems:{type:"integer",minimum:0},minItems:{type:"integer",minimum:0,default:0},uniqueItems:{type:"boolean",default:false},maxProperties:{type:"integer",minimum:0},minProperties:{type:"integer",minimum:0,default:0},required:{type:"array",items:{type:"string"},minItems:1,uniqueItems:true},enum:{type:"array",items:{},minItems:1,uniqueItems:false},type:{type:"string",enum:["array","boolean","integer","number","object","string"]},not:{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"}]},allOf:{type:"array",items:{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"}]}},oneOf:{type:"array",items:{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"}]}},anyOf:{type:"array",items:{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"}]}},items:{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"}]},properties:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"}]}},additionalProperties:{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"},{type:"boolean"}],default:true},description:{type:"string"},format:{type:"string"},default:{},nullable:{type:"boolean",default:false},discriminator:{$ref:"#/definitions/Discriminator"},readOnly:{type:"boolean",default:false},writeOnly:{type:"boolean",default:false},example:{},externalDocs:{$ref:"#/definitions/ExternalDocumentation"},deprecated:{type:"boolean",default:false},xml:{$ref:"#/definitions/XML"}},patternProperties:{"^x-":{}},additionalProperties:false},Discriminator:{type:"object",required:["propertyName"],properties:{propertyName:{type:"string"},mapping:{type:"object",additionalProperties:{type:"string"}}}},XML:{type:"object",properties:{name:{type:"string"},namespace:{type:"string",format:"uri"},prefix:{type:"string"},attribute:{type:"boolean",default:false},wrapped:{type:"boolean",default:false}},patternProperties:{"^x-":{}},additionalProperties:false},Response:{type:"object",required:["description"],properties:{description:{type:"string"},headers:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Header"},{$ref:"#/definitions/Reference"}]}},content:{type:"object",additionalProperties:{$ref:"#/definitions/MediaType"}},links:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Link"},{$ref:"#/definitions/Reference"}]}}},patternProperties:{"^x-":{}},additionalProperties:false},MediaType:{type:"object",properties:{schema:{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"}]},example:{},examples:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Example"},{$ref:"#/definitions/Reference"}]}},encoding:{type:"object",additionalProperties:{$ref:"#/definitions/Encoding"}}},patternProperties:{"^x-":{}},additionalProperties:false,allOf:[{$ref:"#/definitions/ExampleXORExamples"}]},Example:{type:"object",properties:{summary:{type:"string"},description:{type:"string"},value:{},externalValue:{type:"string",format:"uri-reference"}},patternProperties:{"^x-":{}},additionalProperties:false},Header:{type:"object",properties:{description:{type:"string"},required:{type:"boolean",default:false},deprecated:{type:"boolean",default:false},allowEmptyValue:{type:"boolean",default:false},style:{type:"string",enum:["simple"],default:"simple"},explode:{type:"boolean"},allowReserved:{type:"boolean",default:false},schema:{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"}]},content:{type:"object",additionalProperties:{$ref:"#/definitions/MediaType"},minProperties:1,maxProperties:1},example:{},examples:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Example"},{$ref:"#/definitions/Reference"}]}}},patternProperties:{"^x-":{}},additionalProperties:false,allOf:[{$ref:"#/definitions/ExampleXORExamples"},{$ref:"#/definitions/SchemaXORContent"}]},Paths:{type:"object",patternProperties:{"^\\/":{$ref:"#/definitions/PathItem"},"^x-":{}},additionalProperties:false},PathItem:{type:"object",properties:{$ref:{type:"string"},summary:{type:"string"},description:{type:"string"},servers:{type:"array",items:{$ref:"#/definitions/Server"}},parameters:{type:"array",items:{oneOf:[{$ref:"#/definitions/Parameter"},{$ref:"#/definitions/Reference"}]},uniqueItems:true}},patternProperties:{"^(get|put|post|delete|options|head|patch|trace)$":{$ref:"#/definitions/Operation"},"^x-":{}},additionalProperties:false},Operation:{type:"object",required:["responses"],properties:{tags:{type:"array",items:{type:"string"}},summary:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/ExternalDocumentation"},operationId:{type:"string"},parameters:{type:"array",items:{oneOf:[{$ref:"#/definitions/Parameter"},{$ref:"#/definitions/Reference"}]},uniqueItems:true},requestBody:{oneOf:[{$ref:"#/definitions/RequestBody"},{$ref:"#/definitions/Reference"}]},responses:{$ref:"#/definitions/Responses"},callbacks:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Callback"},{$ref:"#/definitions/Reference"}]}},deprecated:{type:"boolean",default:false},security:{type:"array",items:{$ref:"#/definitions/SecurityRequirement"}},servers:{type:"array",items:{$ref:"#/definitions/Server"}}},patternProperties:{"^x-":{}},additionalProperties:false},Responses:{type:"object",properties:{default:{oneOf:[{$ref:"#/definitions/Response"},{$ref:"#/definitions/Reference"}]}},patternProperties:{"^[1-5](?:\\d{2}|XX)$":{oneOf:[{$ref:"#/definitions/Response"},{$ref:"#/definitions/Reference"}]},"^x-":{}},minProperties:1,additionalProperties:false},SecurityRequirement:{type:"object",additionalProperties:{type:"array",items:{type:"string"}}},Tag:{type:"object",required:["name"],properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/definitions/ExternalDocumentation"}},patternProperties:{"^x-":{}},additionalProperties:false},ExternalDocumentation:{type:"object",required:["url"],properties:{description:{type:"string"},url:{type:"string",format:"uri-reference"}},patternProperties:{"^x-":{}},additionalProperties:false},ExampleXORExamples:{description:"Example and examples are mutually exclusive",not:{required:["example","examples"]}},SchemaXORContent:{description:"Schema and content are mutually exclusive, at least one is required",not:{required:["schema","content"]},oneOf:[{required:["schema"]},{required:["content"],description:"Some properties are not allowed if content is present",allOf:[{not:{required:["style"]}},{not:{required:["explode"]}},{not:{required:["allowReserved"]}},{not:{required:["example"]}},{not:{required:["examples"]}}]}]},Parameter:{type:"object",properties:{name:{type:"string"},in:{type:"string"},description:{type:"string"},required:{type:"boolean",default:false},deprecated:{type:"boolean",default:false},allowEmptyValue:{type:"boolean",default:false},style:{type:"string"},explode:{type:"boolean"},allowReserved:{type:"boolean",default:false},schema:{oneOf:[{$ref:"#/definitions/Schema"},{$ref:"#/definitions/Reference"}]},content:{type:"object",additionalProperties:{$ref:"#/definitions/MediaType"},minProperties:1,maxProperties:1},example:{},examples:{type:"object",additionalProperties:{oneOf:[{$ref:"#/definitions/Example"},{$ref:"#/definitions/Reference"}]}}},patternProperties:{"^x-":{}},additionalProperties:false,required:["name","in"],allOf:[{$ref:"#/definitions/ExampleXORExamples"},{$ref:"#/definitions/SchemaXORContent"},{$ref:"#/definitions/ParameterLocation"}]},ParameterLocation:{description:"Parameter location",oneOf:[{description:"Parameter in path",required:["required"],properties:{in:{enum:["path"]},style:{enum:["matrix","label","simple"],default:"simple"},required:{enum:[true]}}},{description:"Parameter in query",properties:{in:{enum:["query"]},style:{enum:["form","spaceDelimited","pipeDelimited","deepObject"],default:"form"}}},{description:"Parameter in header",properties:{in:{enum:["header"]},style:{enum:["simple"],default:"simple"}}},{description:"Parameter in cookie",properties:{in:{enum:["cookie"]},style:{enum:["form"],default:"form"}}}]},RequestBody:{type:"object",required:["content"],properties:{description:{type:"string"},content:{type:"object",additionalProperties:{$ref:"#/definitions/MediaType"}},required:{type:"boolean",default:false}},patternProperties:{"^x-":{}},additionalProperties:false},SecurityScheme:{oneOf:[{$ref:"#/definitions/APIKeySecurityScheme"},{$ref:"#/definitions/HTTPSecurityScheme"},{$ref:"#/definitions/OAuth2SecurityScheme"},{$ref:"#/definitions/OpenIdConnectSecurityScheme"}]},APIKeySecurityScheme:{type:"object",required:["type","name","in"],properties:{type:{type:"string",enum:["apiKey"]},name:{type:"string"},in:{type:"string",enum:["header","query","cookie"]},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},HTTPSecurityScheme:{type:"object",required:["scheme","type"],properties:{scheme:{type:"string"},bearerFormat:{type:"string"},description:{type:"string"},type:{type:"string",enum:["http"]}},patternProperties:{"^x-":{}},additionalProperties:false,oneOf:[{description:"Bearer",properties:{scheme:{enum:["bearer"]}}},{description:"Non Bearer",not:{required:["bearerFormat"]},properties:{scheme:{not:{enum:["bearer"]}}}}]},OAuth2SecurityScheme:{type:"object",required:["type","flows"],properties:{type:{type:"string",enum:["oauth2"]},flows:{$ref:"#/definitions/OAuthFlows"},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},OpenIdConnectSecurityScheme:{type:"object",required:["type","openIdConnectUrl"],properties:{type:{type:"string",enum:["openIdConnect"]},openIdConnectUrl:{type:"string",format:"uri-reference"},description:{type:"string"}},patternProperties:{"^x-":{}},additionalProperties:false},OAuthFlows:{type:"object",properties:{implicit:{$ref:"#/definitions/ImplicitOAuthFlow"},password:{$ref:"#/definitions/PasswordOAuthFlow"},clientCredentials:{$ref:"#/definitions/ClientCredentialsFlow"},authorizationCode:{$ref:"#/definitions/AuthorizationCodeOAuthFlow"}},patternProperties:{"^x-":{}},additionalProperties:false},ImplicitOAuthFlow:{type:"object",required:["authorizationUrl","scopes"],properties:{authorizationUrl:{type:"string",format:"uri-reference"},refreshUrl:{type:"string",format:"uri-reference"},scopes:{type:"object",additionalProperties:{type:"string"}}},patternProperties:{"^x-":{}},additionalProperties:false},PasswordOAuthFlow:{type:"object",required:["tokenUrl"],properties:{tokenUrl:{type:"string",format:"uri-reference"},refreshUrl:{type:"string",format:"uri-reference"},scopes:{type:"object",additionalProperties:{type:"string"}}},patternProperties:{"^x-":{}},additionalProperties:false},ClientCredentialsFlow:{type:"object",required:["tokenUrl"],properties:{tokenUrl:{type:"string",format:"uri-reference"},refreshUrl:{type:"string",format:"uri-reference"},scopes:{type:"object",additionalProperties:{type:"string"}}},patternProperties:{"^x-":{}},additionalProperties:false},AuthorizationCodeOAuthFlow:{type:"object",required:["authorizationUrl","tokenUrl"],properties:{authorizationUrl:{type:"string",format:"uri-reference"},tokenUrl:{type:"string",format:"uri-reference"},refreshUrl:{type:"string",format:"uri-reference"},scopes:{type:"object",additionalProperties:{type:"string"}}},patternProperties:{"^x-":{}},additionalProperties:false},Link:{type:"object",properties:{operationId:{type:"string"},operationRef:{type:"string",format:"uri-reference"},parameters:{type:"object",additionalProperties:{}},requestBody:{},description:{type:"string"},server:{$ref:"#/definitions/Server"}},patternProperties:{"^x-":{}},additionalProperties:false,not:{description:"Operation Id and Operation Ref are mutually exclusive",required:["operationId","operationRef"]}},Callback:{type:"object",additionalProperties:{$ref:"#/definitions/PathItem"},patternProperties:{"^x-":{}}},Encoding:{type:"object",properties:{contentType:{type:"string"},headers:{type:"object",additionalProperties:{$ref:"#/definitions/Header"}},style:{type:"string",enum:["form","spaceDelimited","pipeDelimited","deepObject"]},explode:{type:"boolean"},allowReserved:{type:"boolean",default:false}},additionalProperties:false}}}},{}],29:[function(require,module,exports){module.exports={$id:"https://spec.openapis.org/oas/3.1/schema/2021-04-15",$schema:"https://json-schema.org/draft/2020-12/schema",type:"object",properties:{openapi:{type:"string",pattern:"^3\\.1\\.\\d+(-.+)?$"},info:{$ref:"#/$defs/info"},jsonSchemaDialect:{$ref:"#/$defs/uri",default:"https://spec.openapis.org/oas/3.1/dialect/base"},servers:{type:"array",items:{$ref:"#/$defs/server"}},paths:{$ref:"#/$defs/paths"},webhooks:{type:"object",additionalProperties:{$ref:"#/$defs/path-item-or-reference"}},components:{$ref:"#/$defs/components"},security:{type:"array",items:{$ref:"#/$defs/security-requirement"}},tags:{type:"array",items:{$ref:"#/$defs/tag"}},externalDocs:{$ref:"#/$defs/external-documentation"}},required:["openapi","info"],anyOf:[{required:["paths"]},{required:["components"]},{required:["webhooks"]}],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false,$defs:{info:{type:"object",properties:{title:{type:"string"},summary:{type:"string"},description:{type:"string"},termsOfService:{type:"string"},contact:{$ref:"#/$defs/contact"},license:{$ref:"#/$defs/license"},version:{type:"string"}},required:["title","version"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},contact:{type:"object",properties:{name:{type:"string"},url:{type:"string"},email:{type:"string"}},$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},license:{type:"object",properties:{name:{type:"string"},identifier:{type:"string"},url:{$ref:"#/$defs/uri"}},required:["name"],oneOf:[{required:["identifier"]},{required:["url"]}],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},server:{type:"object",properties:{url:{$ref:"#/$defs/uri"},description:{type:"string"},variables:{type:"object",additionalProperties:{$ref:"#/$defs/server-variable"}}},required:["url"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"server-variable":{type:"object",properties:{enum:{type:"array",items:{type:"string"},minItems:1},default:{type:"string"},descriptions:{type:"string"}},required:["default"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},components:{type:"object",properties:{schemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"}},responses:{type:"object",additionalProperties:{$ref:"#/$defs/response-or-reference"}},parameters:{type:"object",additionalProperties:{$ref:"#/$defs/parameter-or-reference"}},examples:{type:"object",additionalProperties:{$ref:"#/$defs/example-or-reference"}},requestBodies:{type:"object",additionalProperties:{$ref:"#/$defs/request-body-or-reference"}},headers:{type:"object",additionalProperties:{$ref:"#/$defs/header-or-reference"}},securitySchemes:{type:"object",additionalProperties:{$ref:"#/$defs/security-scheme-or-reference"}},links:{type:"object",additionalProperties:{$ref:"#/$defs/link-or-reference"}},callbacks:{type:"object",additionalProperties:{$ref:"#/$defs/callbacks-or-reference"}},pathItems:{type:"object",additionalProperties:{$ref:"#/$defs/path-item-or-reference"}}},patternProperties:{"^(schemas|responses|parameters|examples|requestBodies|headers|securitySchemes|links|callbacks|pathItems)$":{$comment:"Enumerating all of the property names in the regex above is necessary for unevaluatedProperties to work as expected",propertyNames:{pattern:"^[a-zA-Z0-9._-]+$"}}},$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},paths:{type:"object",patternProperties:{"^/":{$ref:"#/$defs/path-item"}},$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"path-item":{type:"object",properties:{summary:{type:"string"},description:{type:"string"},servers:{type:"array",items:{$ref:"#/$defs/server"}},parameters:{type:"array",items:{$ref:"#/$defs/parameter-or-reference"}}},patternProperties:{"^(get|put|post|delete|options|head|patch|trace)$":{$ref:"#/$defs/operation"}},$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"path-item-or-reference":{if:{required:["$ref"]},then:{$ref:"#/$defs/reference"},else:{$ref:"#/$defs/path-item"}},operation:{type:"object",properties:{tags:{type:"array",items:{type:"string"}},summary:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/$defs/external-documentation"},operationId:{type:"string"},parameters:{type:"array",items:{$ref:"#/$defs/parameter-or-reference"}},requestBody:{$ref:"#/$defs/request-body-or-reference"},responses:{$ref:"#/$defs/responses"},callbacks:{type:"object",additionalProperties:{$ref:"#/$defs/callbacks-or-reference"}},deprecated:{default:false,type:"boolean"},security:{type:"array",items:{$ref:"#/$defs/security-requirement"}},servers:{type:"array",items:{$ref:"#/$defs/server"}}},$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"external-documentation":{type:"object",properties:{description:{type:"string"},url:{$ref:"#/$defs/uri"}},required:["url"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},parameter:{type:"object",properties:{name:{type:"string"},in:{enum:["query","header","path","cookie"]},description:{type:"string"},required:{default:false,type:"boolean"},deprecated:{default:false,type:"boolean"},allowEmptyValue:{default:false,type:"boolean"},schema:{$dynamicRef:"#meta"},content:{$ref:"#/$defs/content"}},required:["in"],oneOf:[{required:["schema"]},{required:["content"]}],dependentSchemas:{schema:{properties:{style:{type:"string"},explode:{type:"boolean"},allowReserved:{default:false,type:"boolean"}},allOf:[{$ref:"#/$defs/examples"},{$ref:"#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-path"},{$ref:"#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-header"},{$ref:"#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-query"},{$ref:"#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-cookie"},{$ref:"#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-form"}],$defs:{"styles-for-path":{if:{properties:{in:{const:"path"}},required:["in"]},then:{properties:{style:{default:"simple",enum:["matrix","label","simple"]},required:{const:true}},required:["required"]}},"styles-for-header":{if:{properties:{in:{const:"header"}},required:["in"]},then:{properties:{style:{default:"simple",enum:["simple"]}}}},"styles-for-query":{if:{properties:{in:{const:"query"}},required:["in"]},then:{properties:{style:{default:"form",enum:["form","spaceDelimited","pipeDelimited","deepObject"]}}}},"styles-for-cookie":{if:{properties:{in:{const:"cookie"}},required:["in"]},then:{properties:{style:{default:"form",enum:["form"]}}}},"styles-for-form":{if:{properties:{style:{const:"form"}},required:["style"]},then:{properties:{explode:{default:true}}},else:{properties:{explode:{default:false}}}}}}},$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"parameter-or-reference":{if:{required:["$ref"]},then:{$ref:"#/$defs/reference"},else:{$ref:"#/$defs/parameter"}},"request-body":{type:"object",properties:{description:{type:"string"},content:{$ref:"#/$defs/content"},required:{default:false,type:"boolean"}},required:["content"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"request-body-or-reference":{if:{required:["$ref"]},then:{$ref:"#/$defs/reference"},else:{$ref:"#/$defs/request-body"}},content:{type:"object",additionalProperties:{$ref:"#/$defs/media-type"},propertyNames:{format:"media-range"}},"media-type":{type:"object",properties:{schema:{$dynamicRef:"#meta"},encoding:{type:"object",additionalProperties:{$ref:"#/$defs/encoding"}}},allOf:[{$ref:"#/$defs/specification-extensions"},{$ref:"#/$defs/examples"}],unevaluatedProperties:false},encoding:{type:"object",properties:{contentType:{type:"string",format:"media-range"},headers:{type:"object",additionalProperties:{$ref:"#/$defs/header-or-reference"}},style:{default:"form",enum:["form","spaceDelimited","pipeDelimited","deepObject"]},explode:{type:"boolean"},allowReserved:{default:false,type:"boolean"}},allOf:[{$ref:"#/$defs/specification-extensions"},{$ref:"#/$defs/encoding/$defs/explode-default"}],unevaluatedProperties:false,$defs:{"explode-default":{if:{properties:{style:{const:"form"}},required:["style"]},then:{properties:{explode:{default:true}}},else:{properties:{explode:{default:false}}}}}},responses:{type:"object",properties:{default:{$ref:"#/$defs/response-or-reference"}},patternProperties:{"^[1-5][0-9X]{2}$":{$ref:"#/$defs/response-or-reference"}},$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},response:{type:"object",properties:{description:{type:"string"},headers:{type:"object",additionalProperties:{$ref:"#/$defs/header-or-reference"}},content:{$ref:"#/$defs/content"},links:{type:"object",additionalProperties:{$ref:"#/$defs/link-or-reference"}}},required:["description"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"response-or-reference":{if:{required:["$ref"]},then:{$ref:"#/$defs/reference"},else:{$ref:"#/$defs/response"}},callbacks:{type:"object",$ref:"#/$defs/specification-extensions",additionalProperties:{$ref:"#/$defs/path-item-or-reference"}},"callbacks-or-reference":{if:{required:["$ref"]},then:{$ref:"#/$defs/reference"},else:{$ref:"#/$defs/callbacks"}},example:{type:"object",properties:{summary:{type:"string"},description:{type:"string"},value:true,externalValue:{$ref:"#/$defs/uri"}},$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"example-or-reference":{if:{required:["$ref"]},then:{$ref:"#/$defs/reference"},else:{$ref:"#/$defs/example"}},link:{type:"object",properties:{operationRef:{$ref:"#/$defs/uri"},operationId:true,parameters:{$ref:"#/$defs/map-of-strings"},requestBody:true,description:{type:"string"},body:{$ref:"#/$defs/server"}},oneOf:[{required:["operationRef"]},{required:["operationId"]}],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"link-or-reference":{if:{required:["$ref"]},then:{$ref:"#/$defs/reference"},else:{$ref:"#/$defs/link"}},header:{type:"object",properties:{description:{type:"string"},required:{default:false,type:"boolean"},deprecated:{default:false,type:"boolean"},allowEmptyValue:{default:false,type:"boolean"}},dependentSchemas:{schema:{properties:{style:{default:"simple",enum:["simple"]},explode:{default:false,type:"boolean"},allowReserved:{default:false,type:"boolean"},schema:{$dynamicRef:"#meta"}},$ref:"#/$defs/examples"},content:{properties:{content:{$ref:"#/$defs/content"}}}},$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"header-or-reference":{if:{required:["$ref"]},then:{$ref:"#/$defs/reference"},else:{$ref:"#/$defs/header"}},tag:{type:"object",properties:{name:{type:"string"},description:{type:"string"},externalDocs:{$ref:"#/$defs/external-documentation"}},required:["name"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},reference:{type:"object",properties:{$ref:{$ref:"#/$defs/uri"},summary:{type:"string"},description:{type:"string"}},unevaluatedProperties:false},schema:{$dynamicAnchor:"meta",type:["object","boolean"]},"security-scheme":{type:"object",properties:{type:{enum:["apiKey","http","mutualTLS","oauth2","openIdConnect"]},description:{type:"string"}},required:["type"],allOf:[{$ref:"#/$defs/specification-extensions"},{$ref:"#/$defs/security-scheme/$defs/type-apikey"},{$ref:"#/$defs/security-scheme/$defs/type-http"},{$ref:"#/$defs/security-scheme/$defs/type-http-bearer"},{$ref:"#/$defs/security-scheme/$defs/type-oauth2"},{$ref:"#/$defs/security-scheme/$defs/type-oidc"}],unevaluatedProperties:false,$defs:{"type-apikey":{if:{properties:{type:{const:"apiKey"}},required:["type"]},then:{properties:{name:{type:"string"},in:{enum:["query","header","cookie"]}},required:["name","in"]}},"type-http":{if:{properties:{type:{const:"http"}},required:["type"]},then:{properties:{scheme:{type:"string"}},required:["scheme"]}},"type-http-bearer":{if:{properties:{type:{const:"http"},scheme:{const:"bearer"}},required:["type","scheme"]},then:{properties:{bearerFormat:{type:"string"}},required:["scheme"]}},"type-oauth2":{if:{properties:{type:{const:"oauth2"}},required:["type"]},then:{properties:{flows:{$ref:"#/$defs/oauth-flows"}},required:["flows"]}},"type-oidc":{if:{properties:{type:{const:"openIdConnect"}},required:["type"]},then:{properties:{openIdConnectUrl:{$ref:"#/$defs/uri"}},required:["openIdConnectUrl"]}}}},"security-scheme-or-reference":{if:{required:["$ref"]},then:{$ref:"#/$defs/reference"},else:{$ref:"#/$defs/security-scheme"}},"oauth-flows":{type:"object",properties:{implicit:{$ref:"#/$defs/oauth-flows/$defs/implicit"},password:{$ref:"#/$defs/oauth-flows/$defs/password"},clientCredentials:{$ref:"#/$defs/oauth-flows/$defs/client-credentials"},authorizationCode:{$ref:"#/$defs/oauth-flows/$defs/authorization-code"}},$ref:"#/$defs/specification-extensions",unevaluatedProperties:false,$defs:{implicit:{type:"object",properties:{authorizationUrl:{type:"string"},refreshUrl:{type:"string"},scopes:{$ref:"#/$defs/map-of-strings"}},required:["authorizationUrl","scopes"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},password:{type:"object",properties:{tokenUrl:{type:"string"},refreshUrl:{type:"string"},scopes:{$ref:"#/$defs/map-of-strings"}},required:["tokenUrl","scopes"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"client-credentials":{type:"object",properties:{tokenUrl:{type:"string"},refreshUrl:{type:"string"},scopes:{$ref:"#/$defs/map-of-strings"}},required:["tokenUrl","scopes"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false},"authorization-code":{type:"object",properties:{authorizationUrl:{type:"string"},tokenUrl:{type:"string"},refreshUrl:{type:"string"},scopes:{$ref:"#/$defs/map-of-strings"}},required:["authorizationUrl","tokenUrl","scopes"],$ref:"#/$defs/specification-extensions",unevaluatedProperties:false}}},"security-requirement":{type:"object",additionalProperties:{type:"array",items:{type:"string"}}},"specification-extensions":{patternProperties:{"^x-":true}},examples:{properties:{example:true,examples:{type:"object",additionalProperties:{$ref:"#/$defs/example-or-reference"}}}},uri:{type:"string",format:"uri"},"map-of-strings":{type:"object",additionalProperties:{type:"string"}}}}},{}],30:[function(require,module,exports){"use strict";module.exports=["get","put","post","delete","options","head","patch"]},{}],31:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Ono=void 0;const extend_error_1=require("./extend-error"),normalize_1=require("./normalize"),to_json_1=require("./to-json"),constructor=Ono;function Ono(r,e){function o(...o){let{originalError:n,props:t,message:i}=normalize_1.normalizeArgs(o,e),s=new r(i);return extend_error_1.extendError(s,n,t)}return e=normalize_1.normalizeOptions(e),o[Symbol.species]=r,o}exports.Ono=constructor,Ono.toJSON=function(r){return to_json_1.toJSON.call(r)},Ono.extend=function(r,e,o){return o||e instanceof Error?extend_error_1.extendError(r,e,o):e?extend_error_1.extendError(r,void 0,e):extend_error_1.extendError(r)}},{"./extend-error":32,"./normalize":35,"./to-json":38}],32:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.extendError=void 0;const isomorphic_node_1=require("./isomorphic.node"),stack_1=require("./stack"),to_json_1=require("./to-json"),protectedProps=["name","message","stack"];function extendError(e,t,o){let r=e;return extendStack(r,t),t&&"object"==typeof t&&mergeErrors(r,t),r.toJSON=to_json_1.toJSON,isomorphic_node_1.addInspectMethod&&isomorphic_node_1.addInspectMethod(r),o&&"object"==typeof o&&Object.assign(r,o),r}function extendStack(e,t){let o=Object.getOwnPropertyDescriptor(e,"stack");stack_1.isLazyStack(o)?stack_1.lazyJoinStacks(o,e,t):stack_1.isWritableStack(o)&&(e.stack=stack_1.joinStacks(e,t))}function mergeErrors(e,t){let o=to_json_1.getDeepKeys(t,protectedProps),r=e,s=t;for(let e of o)if(void 0===r[e])try{r[e]=s[e]}catch(e){}}exports.extendError=extendError},{"./isomorphic.node":34,"./stack":37,"./to-json":38}],33:[function(require,module,exports){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),__exportStar=this&&this.__exportStar||function(e,t){for(var o in e)"default"===o||t.hasOwnProperty(o)||__createBinding(t,e,o)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ono=void 0;const singleton_1=require("./singleton");Object.defineProperty(exports,"ono",{enumerable:!0,get:function(){return singleton_1.ono}});var constructor_1=require("./constructor");Object.defineProperty(exports,"Ono",{enumerable:!0,get:function(){return constructor_1.Ono}}),__exportStar(require("./types"),exports),exports.default=singleton_1.ono,"object"==typeof module&&"object"==typeof module.exports&&(module.exports=Object.assign(module.exports.default,module.exports))},{"./constructor":31,"./singleton":36,"./types":39}],34:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.addInspectMethod=exports.format=void 0,exports.format=!1,exports.addInspectMethod=!1},{}],35:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeArgs=exports.normalizeOptions=void 0;const isomorphic_node_1=require("./isomorphic.node");function normalizeOptions(o){return{concatMessages:void 0===(o=o||{}).concatMessages||Boolean(o.concatMessages),format:void 0===o.format?isomorphic_node_1.format:"function"==typeof o.format&&o.format}}function normalizeArgs(o,e){let r,s,n,t="";return"string"==typeof o[0]?n=o:"string"==typeof o[1]?(o[0]instanceof Error?r=o[0]:s=o[0],n=o.slice(1)):(r=o[0],s=o[1],n=o.slice(2)),n.length>0&&(t=e.format?e.format.apply(void 0,n):n.join(" ")),e.concatMessages&&r&&r.message&&(t+=(t?" \n":"")+r.message),{originalError:r,props:s,message:t}}exports.normalizeOptions=normalizeOptions,exports.normalizeArgs=normalizeArgs},{"./isomorphic.node":34}],36:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ono=void 0;const constructor_1=require("./constructor"),singleton=ono;exports.ono=singleton,ono.error=new constructor_1.Ono(Error),ono.eval=new constructor_1.Ono(EvalError),ono.range=new constructor_1.Ono(RangeError),ono.reference=new constructor_1.Ono(ReferenceError),ono.syntax=new constructor_1.Ono(SyntaxError),ono.type=new constructor_1.Ono(TypeError),ono.uri=new constructor_1.Ono(URIError);const onoMap=ono;function ono(...o){let r=o[0];if("object"==typeof r&&"string"==typeof r.name)for(let n of Object.values(onoMap))if("function"==typeof n&&"ono"===n.name){let e=n[Symbol.species];if(e&&e!==Error&&(r instanceof e||r.name===e.name))return n.apply(void 0,o)}return ono.error.apply(void 0,o)}},{"./constructor":31}],37:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.lazyJoinStacks=exports.joinStacks=exports.isWritableStack=exports.isLazyStack=void 0;const newline=/\r?\n/,onoCall=/\bono[ @]/;function isLazyStack(t){return Boolean(t&&t.configurable&&"function"==typeof t.get)}function isWritableStack(t){return Boolean(!t||t.writable||"function"==typeof t.set)}function joinStacks(t,e){let o=popStack(t.stack),n=e?e.stack:void 0;return o&&n?o+"\n\n"+n:o||n}function lazyJoinStacks(t,e,o){o?Object.defineProperty(e,"stack",{get:()=>{return joinStacks({stack:t.get.apply(e)},o)},enumerable:!1,configurable:!0}):lazyPopStack(e,t)}function popStack(t){if(t){let e,o=t.split(newline);for(let t=0;t0)return o.join("\n")}return t}function lazyPopStack(t,e){Object.defineProperty(t,"stack",{get:()=>popStack(e.get.apply(t)),enumerable:!1,configurable:!0})}exports.isLazyStack=isLazyStack,exports.isWritableStack=isWritableStack,exports.joinStacks=joinStacks,exports.lazyJoinStacks=lazyJoinStacks},{}],38:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getDeepKeys=exports.toJSON=void 0;const nonJsonTypes=["function","symbol","undefined"],protectedProps=["constructor","prototype","__proto__"],objectPrototype=Object.getPrototypeOf({});function toJSON(){let e={},t=this;for(let o of getDeepKeys(t))if("string"==typeof o){let r=t[o],p=typeof r;nonJsonTypes.includes(p)||(e[o]=r)}return e}function getDeepKeys(e,t=[]){let o=[];for(;e&&e!==objectPrototype;)o=o.concat(Object.getOwnPropertyNames(e),Object.getOwnPropertySymbols(e)),e=Object.getPrototypeOf(e);let r=new Set(o);for(let e of t.concat(protectedProps))r.delete(e);return r}exports.toJSON=toJSON,exports.getDeepKeys=getDeepKeys},{}],39:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const util_1=require("util")},{util:204}],40:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodeGen=exports.Name=exports.nil=exports.stringify=exports.str=exports._=exports.KeywordCxt=void 0;const core_1=require("ajv/dist/core"),draft4_1=require("./vocabulary/draft4"),discriminator_1=require("ajv/dist/vocabularies/discriminator"),draft4MetaSchema=require("./refs/json-schema-draft-04.json"),META_SUPPORT_DATA=["/properties"],META_SCHEMA_ID="http://json-schema.org/draft-04/schema";class Ajv extends core_1.default{constructor(e={}){super({...e,schemaId:"id"})}_addVocabularies(){super._addVocabularies(),draft4_1.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(discriminator_1.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(draft4MetaSchema,META_SUPPORT_DATA):draft4MetaSchema;this.addMetaSchema(e,META_SCHEMA_ID,!1),this.refs["http://json-schema.org/schema"]=META_SCHEMA_ID}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(META_SCHEMA_ID)?META_SCHEMA_ID:void 0)}}module.exports=exports=Ajv,Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Ajv;var core_2=require("ajv/dist/core");Object.defineProperty(exports,"KeywordCxt",{enumerable:!0,get:function(){return core_2.KeywordCxt}});var core_3=require("ajv/dist/core");Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return core_3._}}),Object.defineProperty(exports,"str",{enumerable:!0,get:function(){return core_3.str}}),Object.defineProperty(exports,"stringify",{enumerable:!0,get:function(){return core_3.stringify}}),Object.defineProperty(exports,"nil",{enumerable:!0,get:function(){return core_3.nil}}),Object.defineProperty(exports,"Name",{enumerable:!0,get:function(){return core_3.Name}}),Object.defineProperty(exports,"CodeGen",{enumerable:!0,get:function(){return core_3.CodeGen}})},{"./refs/json-schema-draft-04.json":41,"./vocabulary/draft4":43,"ajv/dist/core":65,"ajv/dist/vocabularies/discriminator":102}],41:[function(require,module,exports){module.exports={id:"http://json-schema.org/draft-04/schema#",$schema:"http://json-schema.org/draft-04/schema#",description:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},positiveInteger:{type:"integer",minimum:0},positiveIntegerDefault0:{allOf:[{$ref:"#/definitions/positiveInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},minItems:1,uniqueItems:true}},type:"object",properties:{id:{type:"string",format:"uri"},$schema:{type:"string",format:"uri"},title:{type:"string"},description:{type:"string"},default:{},multipleOf:{type:"number",minimum:0,exclusiveMinimum:true},maximum:{type:"number"},exclusiveMaximum:{type:"boolean",default:false},minimum:{type:"number"},exclusiveMinimum:{type:"boolean",default:false},maxLength:{$ref:"#/definitions/positiveInteger"},minLength:{$ref:"#/definitions/positiveIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{anyOf:[{type:"boolean"},{$ref:"#"}],default:{}},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:{}},maxItems:{$ref:"#/definitions/positiveInteger"},minItems:{$ref:"#/definitions/positiveIntegerDefault0"},uniqueItems:{type:"boolean",default:false},maxProperties:{$ref:"#/definitions/positiveInteger"},minProperties:{$ref:"#/definitions/positiveIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{anyOf:[{type:"boolean"},{$ref:"#"}],default:{}},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},enum:{type:"array",minItems:1,uniqueItems:true},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:true}]},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},dependencies:{exclusiveMaximum:["maximum"],exclusiveMinimum:["minimum"]},default:{}}},{}],42:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const ref_1=require("ajv/dist/vocabularies/core/ref"),core=["$schema","id","$defs",{keyword:"$comment"},"definitions",ref_1.default];exports.default=core},{"ajv/dist/vocabularies/core/ref":101}],43:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const core_1=require("./core"),validation_1=require("./validation"),applicator_1=require("ajv/dist/vocabularies/applicator"),format_1=require("ajv/dist/vocabularies/format"),metadataVocabulary=["title","description","default"],draft4Vocabularies=[core_1.default,validation_1.default,applicator_1.default(),format_1.default,metadataVocabulary];exports.default=draft4Vocabularies},{"./core":42,"./validation":44,"ajv/dist/vocabularies/applicator":88,"ajv/dist/vocabularies/format":111}],44:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const limitNumber_1=require("./limitNumber"),limitNumberExclusive_1=require("./limitNumberExclusive"),multipleOf_1=require("ajv/dist/vocabularies/validation/multipleOf"),limitLength_1=require("ajv/dist/vocabularies/validation/limitLength"),pattern_1=require("ajv/dist/vocabularies/validation/pattern"),limitProperties_1=require("ajv/dist/vocabularies/validation/limitProperties"),required_1=require("ajv/dist/vocabularies/validation/required"),limitItems_1=require("ajv/dist/vocabularies/validation/limitItems"),uniqueItems_1=require("ajv/dist/vocabularies/validation/uniqueItems"),const_1=require("ajv/dist/vocabularies/validation/const"),enum_1=require("ajv/dist/vocabularies/validation/enum"),validation=[limitNumber_1.default,limitNumberExclusive_1.default,multipleOf_1.default,limitLength_1.default,pattern_1.default,limitProperties_1.default,required_1.default,limitItems_1.default,uniqueItems_1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},const_1.default,enum_1.default];exports.default=validation},{"./limitNumber":45,"./limitNumberExclusive":46,"ajv/dist/vocabularies/validation/const":117,"ajv/dist/vocabularies/validation/enum":119,"ajv/dist/vocabularies/validation/limitItems":122,"ajv/dist/vocabularies/validation/limitLength":123,"ajv/dist/vocabularies/validation/limitProperties":125,"ajv/dist/vocabularies/validation/multipleOf":126,"ajv/dist/vocabularies/validation/pattern":127,"ajv/dist/vocabularies/validation/required":128,"ajv/dist/vocabularies/validation/uniqueItems":129}],45:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const core_1=require("ajv/dist/core"),codegen_1=require("ajv/dist/compile/codegen"),ops=codegen_1.operators,KWDs={maximum:{exclusive:"exclusiveMaximum",ops:[{okStr:"<=",ok:ops.LTE,fail:ops.GT},{okStr:"<",ok:ops.LT,fail:ops.GTE}]},minimum:{exclusive:"exclusiveMinimum",ops:[{okStr:">=",ok:ops.GTE,fail:ops.LT},{okStr:">",ok:ops.GT,fail:ops.LTE}]}},error={message:e=>core_1.str`must be ${kwdOp(e).okStr} ${e.schemaCode}`,params:e=>core_1._`{comparison: ${kwdOp(e).okStr}, limit: ${e.schemaCode}}`},def={keyword:Object.keys(KWDs),type:"number",schemaType:"number",$data:!0,error:error,code(e){const{data:o,schemaCode:s}=e;e.fail$data(core_1._`${o} ${kwdOp(e).fail} ${s} || isNaN(${o})`)}};function kwdOp(e){var o;const s=e.keyword,r=(null===(o=e.parentSchema)||void 0===o?void 0:o[KWDs[s].exclusive])?1:0;return KWDs[s].ops[r]}exports.default=def},{"ajv/dist/compile/codegen":49,"ajv/dist/core":65}],46:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const KWDs={exclusiveMaximum:"maximum",exclusiveMinimum:"minimum"},def={keyword:Object.keys(KWDs),type:"number",schemaType:"boolean",code({keyword:e,parentSchema:o}){const s=KWDs[e];if(void 0===o[s])throw new Error(`${e} can only be used with ${s}`)}};exports.default=def},{}],47:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodeGen=exports.Name=exports.nil=exports.stringify=exports.str=exports._=exports.KeywordCxt=void 0;const core_1=require("./core"),draft2020_1=require("./vocabularies/draft2020"),discriminator_1=require("./vocabularies/discriminator"),json_schema_2020_12_1=require("./refs/json-schema-2020-12"),META_SCHEMA_ID="https://json-schema.org/draft/2020-12/schema";class Ajv2020 extends core_1.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),draft2020_1.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(discriminator_1.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:e,meta:t}=this.opts;t&&(json_schema_2020_12_1.default.call(this,e),this.refs["http://json-schema.org/schema"]=META_SCHEMA_ID)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(META_SCHEMA_ID)?META_SCHEMA_ID:void 0)}}module.exports=exports=Ajv2020,Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Ajv2020;var validate_1=require("./compile/validate");Object.defineProperty(exports,"KeywordCxt",{enumerable:!0,get:function(){return validate_1.KeywordCxt}});var codegen_1=require("./compile/codegen");Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return codegen_1._}}),Object.defineProperty(exports,"str",{enumerable:!0,get:function(){return codegen_1.str}}),Object.defineProperty(exports,"stringify",{enumerable:!0,get:function(){return codegen_1.stringify}}),Object.defineProperty(exports,"nil",{enumerable:!0,get:function(){return codegen_1.nil}}),Object.defineProperty(exports,"Name",{enumerable:!0,get:function(){return codegen_1.Name}}),Object.defineProperty(exports,"CodeGen",{enumerable:!0,get:function(){return codegen_1.CodeGen}})},{"./compile/codegen":49,"./compile/validate":62,"./core":65,"./refs/json-schema-2020-12":67,"./vocabularies/discriminator":102,"./vocabularies/draft2020":104}],48:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.regexpCode=exports.getEsmExportName=exports.getProperty=exports.safeStringify=exports.stringify=exports.strConcat=exports.addCodeArg=exports.str=exports._=exports.nil=exports._Code=exports.Name=exports.IDENTIFIER=exports._CodeOrName=void 0;class _CodeOrName{}exports._CodeOrName=_CodeOrName,exports.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class Name extends _CodeOrName{constructor(e){if(super(),!exports.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}exports.Name=Name;class _Code extends _CodeOrName{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce((e,t)=>`${e}${t}`,"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce((e,t)=>(t instanceof Name&&(e[t.str]=(e[t.str]||0)+1),e),{})}}function _(e,...t){const r=[e[0]];let s=0;for(;s"),GTE:new code_1._Code(">="),LT:new code_1._Code("<"),LTE:new code_1._Code("<="),EQ:new code_1._Code("==="),NEQ:new code_1._Code("!=="),NOT:new code_1._Code("!"),OR:new code_1._Code("||"),AND:new code_1._Code("&&"),ADD:new code_1._Code("+")};class Node{optimizeNodes(){return this}optimizeNames(e,t){return this}}class Def extends Node{constructor(e,t,s){super(),this.varKind=e,this.name=t,this.rhs=s}render({es5:e,_n:t}){const s=e?scope_1.varKinds.var:this.varKind,r=void 0===this.rhs?"":` = ${this.rhs}`;return`${s} ${this.name}${r};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=optimizeExpr(this.rhs,e,t)),this}get names(){return this.rhs instanceof code_1._CodeOrName?this.rhs.names:{}}}class Assign extends Node{constructor(e,t,s){super(),this.lhs=e,this.rhs=t,this.sideEffects=s}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof code_1.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=optimizeExpr(this.rhs,e,t),this}get names(){return addExprNames(this.lhs instanceof code_1.Name?{}:{...this.lhs.names},this.rhs)}}class AssignOp extends Assign{constructor(e,t,s,r){super(e,s,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class Label extends Node{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class Break extends Node{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class Throw extends Node{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class AnyCode extends Node{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=optimizeExpr(this.code,e,t),this}get names(){return this.code instanceof code_1._CodeOrName?this.code.names:{}}}class ParentNode extends Node{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,s)=>t+s.render(e),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const s=e[t].optimizeNodes();Array.isArray(s)?e.splice(t,1,...s):s?e[t]=s:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:s}=this;let r=s.length;for(;r--;){const o=s[r];o.optimizeNames(e,t)||(subtractNames(e,o.names),s.splice(r,1))}return s.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>addNames(e,t.names),{})}}class BlockNode extends ParentNode{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class Root extends ParentNode{}class Else extends BlockNode{}Else.kind="else";class If extends BlockNode{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new Else(e):e}return t?!1===e?t instanceof If?t:t.nodes:this.nodes.length?this:new If(not(e),t instanceof If?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var s;if(this.else=null===(s=this.else)||void 0===s?void 0:s.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=optimizeExpr(this.condition,e,t),this}get names(){const e=super.names;return addExprNames(e,this.condition),this.else&&addNames(e,this.else.names),e}}If.kind="if";class For extends BlockNode{}For.kind="for";class ForLoop extends For{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=optimizeExpr(this.iteration,e,t),this}get names(){return addNames(super.names,this.iteration.names)}}class ForRange extends For{constructor(e,t,s,r){super(),this.varKind=e,this.name=t,this.from=s,this.to=r}render(e){const t=e.es5?scope_1.varKinds.var:this.varKind,{name:s,from:r,to:o}=this;return`for(${t} ${s}=${r}; ${s}<${o}; ${s}++)`+super.render(e)}get names(){const e=addExprNames(super.names,this.from);return addExprNames(e,this.to)}}class ForIter extends For{constructor(e,t,s,r){super(),this.loop=e,this.varKind=t,this.name=s,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=optimizeExpr(this.iterable,e,t),this}get names(){return addNames(super.names,this.iterable.names)}}class Func extends BlockNode{constructor(e,t,s){super(),this.name=e,this.args=t,this.async=s}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}Func.kind="func";class Return extends ParentNode{render(e){return"return "+super.render(e)}}Return.kind="return";class Try extends BlockNode{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var s,r;return super.optimizeNames(e,t),null===(s=this.catch)||void 0===s||s.optimizeNames(e,t),null===(r=this.finally)||void 0===r||r.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&addNames(e,this.catch.names),this.finally&&addNames(e,this.finally.names),e}}class Catch extends BlockNode{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}Catch.kind="catch";class Finally extends BlockNode{render(e){return"finally"+super.render(e)}}Finally.kind="finally";class CodeGen{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new scope_1.Scope({parent:e}),this._nodes=[new Root]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const s=this._extScope.value(e,t);return(this._values[s.prefix]||(this._values[s.prefix]=new Set)).add(s),s}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,s,r){const o=this._scope.toName(t);return void 0!==s&&r&&(this._constants[o.str]=s),this._leafNode(new Def(e,o,s)),o}const(e,t,s){return this._def(scope_1.varKinds.const,e,t,s)}let(e,t,s){return this._def(scope_1.varKinds.let,e,t,s)}var(e,t,s){return this._def(scope_1.varKinds.var,e,t,s)}assign(e,t,s){return this._leafNode(new Assign(e,t,s))}add(e,t){return this._leafNode(new AssignOp(e,exports.operators.ADD,t))}code(e){return"function"==typeof e?e():e!==code_1.nil&&this._leafNode(new AnyCode(e)),this}object(...e){const t=["{"];for(const[s,r]of e)t.length>1&&t.push(","),t.push(s),(s!==r||this.opts.es5)&&(t.push(":"),(0,code_1.addCodeArg)(t,r));return t.push("}"),new code_1._Code(t)}if(e,t,s){if(this._blockNode(new If(e)),t&&s)this.code(t).else().code(s).endIf();else if(t)this.code(t).endIf();else if(s)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new If(e))}else(){return this._elseNode(new Else)}endIf(){return this._endBlockNode(If,Else)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new ForLoop(e),t)}forRange(e,t,s,r,o=(this.opts.es5?scope_1.varKinds.var:scope_1.varKinds.let)){const n=this._scope.toName(e);return this._for(new ForRange(o,n,t,s),()=>r(n))}forOf(e,t,s,r=scope_1.varKinds.const){const o=this._scope.toName(e);if(this.opts.es5){const e=t instanceof code_1.Name?t:this.var("_arr",t);return this.forRange("_i",0,code_1._`${e}.length`,t=>{this.var(o,code_1._`${e}[${t}]`),s(o)})}return this._for(new ForIter("of",r,o,t),()=>s(o))}forIn(e,t,s,r=(this.opts.es5?scope_1.varKinds.var:scope_1.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,code_1._`Object.keys(${t})`,s);const o=this._scope.toName(e);return this._for(new ForIter("in",r,o,t),()=>s(o))}endFor(){return this._endBlockNode(For)}label(e){return this._leafNode(new Label(e))}break(e){return this._leafNode(new Break(e))}return(e){const t=new Return;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Return)}try(e,t,s){if(!t&&!s)throw new Error('CodeGen: "try" without "catch" and "finally"');const r=new Try;if(this._blockNode(r),this.code(e),t){const e=this.name("e");this._currNode=r.catch=new Catch(e),t(e)}return s&&(this._currNode=r.finally=new Finally,this.code(s)),this._endBlockNode(Catch,Finally)}throw(e){return this._leafNode(new Throw(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const s=this._nodes.length-t;if(s<0||void 0!==e&&s!==e)throw new Error(`CodeGen: wrong number of nodes: ${s} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=code_1.nil,s,r){return this._blockNode(new Func(e,t,s)),r&&this.code(r).endFunc(),this}endFunc(){return this._endBlockNode(Func)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const s=this._currNode;if(s instanceof e||t&&s instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof If))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}}function addNames(e,t){for(const s in t)e[s]=(e[s]||0)+(t[s]||0);return e}function addExprNames(e,t){return t instanceof code_1._CodeOrName?addNames(e,t.names):e}function optimizeExpr(e,t,s){return e instanceof code_1.Name?o(e):(r=e)instanceof code_1._Code&&r._items.some(e=>e instanceof code_1.Name&&1===t[e.str]&&void 0!==s[e.str])?new code_1._Code(e._items.reduce((e,t)=>(t instanceof code_1.Name&&(t=o(t)),t instanceof code_1._Code?e.push(...t._items):e.push(t),e),[])):e;var r;function o(e){const r=s[e.str];return void 0===r||1!==t[e.str]?e:(delete t[e.str],r)}}function subtractNames(e,t){for(const s in t)e[s]=(e[s]||0)-(t[s]||0)}function not(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:code_1._`!${par(e)}`}exports.CodeGen=CodeGen,exports.not=not;const andCode=mappend(exports.operators.AND);function and(...e){return e.reduce(andCode)}exports.and=and;const orCode=mappend(exports.operators.OR);function or(...e){return e.reduce(orCode)}function mappend(e){return(t,s)=>t===code_1.nil?s:s===code_1.nil?t:code_1._`${par(t)} ${e} ${par(s)}`}function par(e){return e instanceof code_1.Name?e:code_1._`(${e})`}exports.or=or},{"./code":48,"./scope":50}],50:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ValueScope=exports.ValueScopeName=exports.Scope=exports.varKinds=exports.UsedValueState=void 0;const code_1=require("./code");class ValueError extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var UsedValueState;!function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"}(UsedValueState=exports.UsedValueState||(exports.UsedValueState={})),exports.varKinds={const:new code_1.Name("const"),let:new code_1.Name("let"),var:new code_1.Name("var")};class Scope{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof code_1.Name?e:this.name(e)}name(e){return new code_1.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,s;if((null===(s=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===s?void 0:s.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}exports.Scope=Scope;class ValueScopeName extends code_1.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:s}){this.value=e,this.scopePath=code_1._`.${new code_1.Name(t)}[${s}]`}}exports.ValueScopeName=ValueScopeName;const line=code_1._`\n`;class ValueScope extends Scope{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?line:code_1.nil}}get(){return this._scope}name(e){return new ValueScopeName(e,this._newName(e))}value(e,t){var s;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const o=this.toName(e),{prefix:r}=o,a=null!==(s=t.key)&&void 0!==s?s:t.ref;let n=this._values[r];if(n){const e=n.get(a);if(e)return e}else n=this._values[r]=new Map;n.set(a,o);const i=this._scope[r]||(this._scope[r]=[]),c=i.length;return i[c]=t.ref,o.setValue(t,{property:r,itemIndex:c}),o}getValue(e,t){const s=this._values[e];if(s)return s.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,t=>{if(void 0===t.scopePath)throw new Error(`CodeGen: name "${t}" has no value`);return code_1._`${e}${t.scopePath}`})}scopeCode(e=this._values,t,s){return this._reduceValues(e,e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code},t,s)}_reduceValues(e,t,s={},o){let r=code_1.nil;for(const a in e){const n=e[a];if(!n)continue;const i=s[a]=s[a]||new Map;n.forEach(e=>{if(i.has(e))return;i.set(e,UsedValueState.Started);let s=t(e);if(s){const t=this.opts.es5?exports.varKinds.var:exports.varKinds.const;r=code_1._`${r}${t} ${e} = ${s};${this.opts._n}`}else{if(!(s=null==o?void 0:o(e)))throw new ValueError(e);r=code_1._`${r}${s}${this.opts._n}`}i.set(e,UsedValueState.Completed)})}return r}}exports.ValueScope=ValueScope},{"./code":48}],51:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.extendErrors=exports.resetErrorsCount=exports.reportExtraError=exports.reportError=exports.keyword$DataError=exports.keywordError=void 0;const codegen_1=require("./codegen"),util_1=require("./util"),names_1=require("./names");function reportError(e,r=exports.keywordError,o,t){const{it:a}=e,{gen:n,compositeRule:s,allErrors:c}=a,d=errorObjectCode(e,r,o);(null!=t?t:s||c)?addError(n,d):returnErrors(a,codegen_1._`[${d}]`)}function reportExtraError(e,r=exports.keywordError,o){const{it:t}=e,{gen:a,compositeRule:n,allErrors:s}=t;addError(a,errorObjectCode(e,r,o)),n||s||returnErrors(t,names_1.default.vErrors)}function resetErrorsCount(e,r){e.assign(names_1.default.errors,r),e.if(codegen_1._`${names_1.default.vErrors} !== null`,()=>e.if(r,()=>e.assign(codegen_1._`${names_1.default.vErrors}.length`,r),()=>e.assign(names_1.default.vErrors,null)))}function extendErrors({gen:e,keyword:r,schemaValue:o,data:t,errsCount:a,it:n}){if(void 0===a)throw new Error("ajv implementation error");const s=e.name("err");e.forRange("i",a,names_1.default.errors,a=>{e.const(s,codegen_1._`${names_1.default.vErrors}[${a}]`),e.if(codegen_1._`${s}.instancePath === undefined`,()=>e.assign(codegen_1._`${s}.instancePath`,(0,codegen_1.strConcat)(names_1.default.instancePath,n.errorPath))),e.assign(codegen_1._`${s}.schemaPath`,codegen_1.str`${n.errSchemaPath}/${r}`),n.opts.verbose&&(e.assign(codegen_1._`${s}.schema`,o),e.assign(codegen_1._`${s}.data`,t))})}function addError(e,r){const o=e.const("err",r);e.if(codegen_1._`${names_1.default.vErrors} === null`,()=>e.assign(names_1.default.vErrors,codegen_1._`[${o}]`),codegen_1._`${names_1.default.vErrors}.push(${o})`),e.code(codegen_1._`${names_1.default.errors}++`)}function returnErrors(e,r){const{gen:o,validateName:t,schemaEnv:a}=e;a.$async?o.throw(codegen_1._`new ${e.ValidationError}(${r})`):(o.assign(codegen_1._`${t}.errors`,r),o.return(!1))}exports.keywordError={message:({keyword:e})=>codegen_1.str`must pass "${e}" keyword validation`},exports.keyword$DataError={message:({keyword:e,schemaType:r})=>r?codegen_1.str`"${e}" keyword must be ${r} ($data)`:codegen_1.str`"${e}" keyword is invalid ($data)`},exports.reportError=reportError,exports.reportExtraError=reportExtraError,exports.resetErrorsCount=resetErrorsCount,exports.extendErrors=extendErrors;const E={keyword:new codegen_1.Name("keyword"),schemaPath:new codegen_1.Name("schemaPath"),params:new codegen_1.Name("params"),propertyName:new codegen_1.Name("propertyName"),message:new codegen_1.Name("message"),schema:new codegen_1.Name("schema"),parentSchema:new codegen_1.Name("parentSchema")};function errorObjectCode(e,r,o){const{createErrors:t}=e.it;return!1===t?codegen_1._`{}`:errorObject(e,r,o)}function errorObject(e,r,o={}){const{gen:t,it:a}=e,n=[errorInstancePath(a,o),errorSchemaPath(e,o)];return extraErrorProps(e,r,n),t.object(...n)}function errorInstancePath({errorPath:e},{instancePath:r}){const o=r?codegen_1.str`${e}${(0,util_1.getErrorPath)(r,util_1.Type.Str)}`:e;return[names_1.default.instancePath,(0,codegen_1.strConcat)(names_1.default.instancePath,o)]}function errorSchemaPath({keyword:e,it:{errSchemaPath:r}},{schemaPath:o,parentSchema:t}){let a=t?r:codegen_1.str`${r}/${e}`;return o&&(a=codegen_1.str`${a}${(0,util_1.getErrorPath)(o,util_1.Type.Str)}`),[E.schemaPath,a]}function extraErrorProps(e,{params:r,message:o},t){const{keyword:a,data:n,schemaValue:s,it:c}=e,{opts:d,propertyName:_,topSchemaRef:m,schemaPath:u}=c;t.push([E.keyword,a],[E.params,"function"==typeof r?r(e):r||codegen_1._`{}`]),d.messages&&t.push([E.message,"function"==typeof o?o(e):o]),d.verbose&&t.push([E.schema,s],[E.parentSchema,codegen_1._`${m}${u}`],[names_1.default.data,n]),_&&t.push([E.propertyName,_])}},{"./codegen":49,"./names":53,"./util":57}],52:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveSchema=exports.getCompilingSchema=exports.resolveRef=exports.compileSchema=exports.SchemaEnv=void 0;const codegen_1=require("./codegen"),validation_error_1=require("../runtime/validation_error"),names_1=require("./names"),resolve_1=require("./resolve"),util_1=require("./util"),validate_1=require("./validate");class SchemaEnv{constructor(e){var s;let t;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(t=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(s=e.baseId)&&void 0!==s?s:(0,resolve_1.normalizeId)(null==t?void 0:t[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==t?void 0:t.$async,this.refs={}}}function compileSchema(e){const s=getCompilingSchema.call(this,e);if(s)return s;const t=(0,resolve_1.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:o,lines:a}=this.opts.code,{ownProperties:r}=this.opts,i=new codegen_1.CodeGen(this.scope,{es5:o,lines:a,ownProperties:r});let c;e.$async&&(c=i.scopeValue("Error",{ref:validation_error_1.default,code:codegen_1._`require("ajv/dist/runtime/validation_error").default`}));const n=i.scopeName("validate");e.validateName=n;const l={gen:i,allErrors:this.opts.allErrors,data:names_1.default.data,parentData:names_1.default.parentData,parentDataProperty:names_1.default.parentDataProperty,dataNames:[names_1.default.data],dataPathArr:[codegen_1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,codegen_1.stringify)(e.schema)}:{ref:e.schema}),validateName:n,ValidationError:c,schema:e.schema,schemaEnv:e,rootId:t,baseId:e.baseId||t,schemaPath:codegen_1.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:codegen_1._`""`,opts:this.opts,self:this};let h;try{this._compilations.add(e),(0,validate_1.validateFunctionCode)(l),i.optimize(this.opts.code.optimize);const s=i.toString();h=`${i.scopeRefs(names_1.default.scope)}return ${s}`,this.opts.code.process&&(h=this.opts.code.process(h,e));const t=new Function(`${names_1.default.self}`,`${names_1.default.scope}`,h)(this,this.scope.get());if(this.scope.value(n,{ref:t}),t.errors=null,t.schema=e.schema,t.schemaEnv=e,e.$async&&(t.$async=!0),!0===this.opts.code.source&&(t.source={validateName:n,validateCode:s,scopeValues:i._values}),this.opts.unevaluated){const{props:e,items:s}=l;t.evaluated={props:e instanceof codegen_1.Name?void 0:e,items:s instanceof codegen_1.Name?void 0:s,dynamicProps:e instanceof codegen_1.Name,dynamicItems:s instanceof codegen_1.Name},t.source&&(t.source.evaluated=(0,codegen_1.stringify)(t.evaluated))}return e.validate=t,e}catch(s){throw delete e.validate,delete e.validateName,h&&this.logger.error("Error compiling schema, function code:",h),s}finally{this._compilations.delete(e)}}function resolveRef(e,s,t){var o;t=(0,resolve_1.resolveUrl)(this.opts.uriResolver,s,t);const a=e.refs[t];if(a)return a;let r=resolve.call(this,e,t);if(void 0===r){const a=null===(o=e.localRefs)||void 0===o?void 0:o[t],{schemaId:i}=this.opts;a&&(r=new SchemaEnv({schema:a,schemaId:i,root:e,baseId:s}))}return void 0!==r?e.refs[t]=inlineOrCompile.call(this,r):void 0}function inlineOrCompile(e){return(0,resolve_1.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:compileSchema.call(this,e)}function getCompilingSchema(e){for(const s of this._compilations)if(sameSchemaEnv(s,e))return s}function sameSchemaEnv(e,s){return e.schema===s.schema&&e.root===s.root&&e.baseId===s.baseId}function resolve(e,s){let t;for(;"string"==typeof(t=this.refs[s]);)s=t;return t||this.schemas[s]||resolveSchema.call(this,e,s)}function resolveSchema(e,s){const t=this.opts.uriResolver.parse(s),o=(0,resolve_1._getFullPath)(this.opts.uriResolver,t);let a=(0,resolve_1.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&o===a)return getJsonPointer.call(this,t,e);const r=(0,resolve_1.normalizeId)(o),i=this.refs[r]||this.schemas[r];if("string"==typeof i){const s=resolveSchema.call(this,e,i);if("object"!=typeof(null==s?void 0:s.schema))return;return getJsonPointer.call(this,t,s)}if("object"==typeof(null==i?void 0:i.schema)){if(i.validate||compileSchema.call(this,i),r===(0,resolve_1.normalizeId)(s)){const{schema:s}=i,{schemaId:t}=this.opts,o=s[t];return o&&(a=(0,resolve_1.resolveUrl)(this.opts.uriResolver,a,o)),new SchemaEnv({schema:s,schemaId:t,root:e,baseId:a})}return getJsonPointer.call(this,t,i)}}exports.SchemaEnv=SchemaEnv,exports.compileSchema=compileSchema,exports.resolveRef=resolveRef,exports.getCompilingSchema=getCompilingSchema,exports.resolveSchema=resolveSchema;const PREVENT_SCOPE_CHANGE=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function getJsonPointer(e,{baseId:s,schema:t,root:o}){var a;if("/"!==(null===(a=e.fragment)||void 0===a?void 0:a[0]))return;for(const o of e.fragment.slice(1).split("/")){if("boolean"==typeof t)return;const e=t[(0,util_1.unescapeFragment)(o)];if(void 0===e)return;const a="object"==typeof(t=e)&&t[this.opts.schemaId];!PREVENT_SCOPE_CHANGE.has(o)&&a&&(s=(0,resolve_1.resolveUrl)(this.opts.uriResolver,s,a))}let r;if("boolean"!=typeof t&&t.$ref&&!(0,util_1.schemaHasRulesButRef)(t,this.RULES)){const e=(0,resolve_1.resolveUrl)(this.opts.uriResolver,s,t.$ref);r=resolveSchema.call(this,o,e)}const{schemaId:i}=this.opts;return(r=r||new SchemaEnv({schema:t,schemaId:i,root:o,baseId:s})).schema!==r.root.schema?r:void 0}},{"../runtime/validation_error":79,"./codegen":49,"./names":53,"./resolve":55,"./util":57,"./validate":62}],53:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("./codegen"),names={data:new codegen_1.Name("data"),valCxt:new codegen_1.Name("valCxt"),instancePath:new codegen_1.Name("instancePath"),parentData:new codegen_1.Name("parentData"),parentDataProperty:new codegen_1.Name("parentDataProperty"),rootData:new codegen_1.Name("rootData"),dynamicAnchors:new codegen_1.Name("dynamicAnchors"),vErrors:new codegen_1.Name("vErrors"),errors:new codegen_1.Name("errors"),this:new codegen_1.Name("this"),self:new codegen_1.Name("self"),scope:new codegen_1.Name("scope"),json:new codegen_1.Name("json"),jsonPos:new codegen_1.Name("jsonPos"),jsonLen:new codegen_1.Name("jsonLen"),jsonPart:new codegen_1.Name("jsonPart")};exports.default=names},{"./codegen":49}],54:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const resolve_1=require("./resolve");class MissingRefError extends Error{constructor(e,r,s,o){super(o||`can't resolve reference ${s} from id ${r}`),this.missingRef=(0,resolve_1.resolveUrl)(e,r,s),this.missingSchema=(0,resolve_1.normalizeId)((0,resolve_1.getFullPath)(e,this.missingRef))}}exports.default=MissingRefError},{"./resolve":55}],55:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSchemaRefs=exports.resolveUrl=exports.normalizeId=exports._getFullPath=exports.getFullPath=exports.inlineRef=void 0;const util_1=require("./util"),equal=require("fast-deep-equal"),traverse=require("json-schema-traverse"),SIMPLE_INLINED=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function inlineRef(e,t=!0){return"boolean"==typeof e||(!0===t?!hasRef(e):!!t&&countKeys(e)<=t)}exports.inlineRef=inlineRef;const REF_KEYWORDS=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function hasRef(e){for(const t in e){if(REF_KEYWORDS.has(t))return!0;const r=e[t];if(Array.isArray(r)&&r.some(hasRef))return!0;if("object"==typeof r&&hasRef(r))return!0}return!1}function countKeys(e){let t=0;for(const r in e){if("$ref"===r)return 1/0;if(t++,!SIMPLE_INLINED.has(r)&&("object"==typeof e[r]&&(0,util_1.eachItem)(e[r],e=>t+=countKeys(e)),t===1/0))return 1/0}return t}function getFullPath(e,t="",r){!1!==r&&(t=normalizeId(t));const n=e.parse(t);return _getFullPath(e,n)}function _getFullPath(e,t){return e.serialize(t).split("#")[0]+"#"}exports.getFullPath=getFullPath,exports._getFullPath=_getFullPath;const TRAILING_SLASH_HASH=/#\/?$/;function normalizeId(e){return e?e.replace(TRAILING_SLASH_HASH,""):""}function resolveUrl(e,t,r){return r=normalizeId(r),e.resolve(t,r)}exports.normalizeId=normalizeId,exports.resolveUrl=resolveUrl;const ANCHOR=/^[a-z_][-a-z0-9._]*$/i;function getSchemaRefs(e,t){if("boolean"==typeof e)return{};const{schemaId:r,uriResolver:n}=this.opts,o=normalizeId(e[r]||t),s={"":o},i=getFullPath(n,o,!1),l={},a=new Set;return traverse(e,{allKeys:!0},(e,t,n,o)=>{if(void 0===o)return;const f=i+t;let h=s[o];function m(t){const r=this.opts.uriResolver.resolve;if(t=normalizeId(h?r(h,t):t),a.has(t))throw c(t);a.add(t);let n=this.refs[t];return"string"==typeof n&&(n=this.refs[n]),"object"==typeof n?u(e,n.schema,t):t!==normalizeId(f)&&("#"===t[0]?(u(e,l[t],t),l[t]=e):this.refs[t]=f),t}function p(e){if("string"==typeof e){if(!ANCHOR.test(e))throw new Error(`invalid anchor "${e}"`);m.call(this,`#${e}`)}}"string"==typeof e[r]&&(h=m.call(this,e[r])),p.call(this,e.$anchor),p.call(this,e.$dynamicAnchor),s[t]=h}),l;function u(e,t,r){if(void 0!==t&&!equal(e,t))throw c(r)}function c(e){return new Error(`reference "${e}" resolves to more than one schema`)}}exports.getSchemaRefs=getSchemaRefs},{"./util":57,"fast-deep-equal":136,"json-schema-traverse":171}],56:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getRules=exports.isJSONType=void 0;const _jsonTypes=["string","number","integer","boolean","null","object","array"],jsonTypes=new Set(_jsonTypes);function isJSONType(e){return"string"==typeof e&&jsonTypes.has(e)}function getRules(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}exports.isJSONType=isJSONType,exports.getRules=getRules},{}],57:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkStrictMode=exports.getErrorPath=exports.Type=exports.useFunc=exports.setEvaluated=exports.evaluatedPropsToName=exports.mergeEvaluated=exports.eachItem=exports.unescapeJsonPointer=exports.escapeJsonPointer=exports.escapeFragment=exports.unescapeFragment=exports.schemaRefOrVal=exports.schemaHasRulesButRef=exports.schemaHasRules=exports.checkUnknownRules=exports.alwaysValidSchema=exports.toHash=void 0;const codegen_1=require("./codegen"),code_1=require("./codegen/code");function toHash(e){const t={};for(const o of e)t[o]=!0;return t}function alwaysValidSchema(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(checkUnknownRules(e,t),!schemaHasRules(t,e.self.RULES.all))}function checkUnknownRules(e,t=e.schema){const{opts:o,self:n}=e;if(!o.strictSchema)return;if("boolean"==typeof t)return;const r=n.RULES.keywords;for(const o in t)r[o]||checkStrictMode(e,`unknown keyword: "${o}"`)}function schemaHasRules(e,t){if("boolean"==typeof e)return!e;for(const o in e)if(t[o])return!0;return!1}function schemaHasRulesButRef(e,t){if("boolean"==typeof e)return!e;for(const o in e)if("$ref"!==o&&t.all[o])return!0;return!1}function schemaRefOrVal({topSchemaRef:e,schemaPath:t},o,n,r){if(!r){if("number"==typeof o||"boolean"==typeof o)return o;if("string"==typeof o)return codegen_1._`${o}`}return codegen_1._`${e}${t}${(0,codegen_1.getProperty)(n)}`}function unescapeFragment(e){return unescapeJsonPointer(decodeURIComponent(e))}function escapeFragment(e){return encodeURIComponent(escapeJsonPointer(e))}function escapeJsonPointer(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function unescapeJsonPointer(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function eachItem(e,t){if(Array.isArray(e))for(const o of e)t(o);else t(e)}function makeMergeEvaluated({mergeNames:e,mergeToName:t,mergeValues:o,resultToName:n}){return(r,s,a,c)=>{const u=void 0===a?s:a instanceof codegen_1.Name?(s instanceof codegen_1.Name?e(r,s,a):t(r,s,a),a):s instanceof codegen_1.Name?(t(r,a,s),s):o(s,a);return c!==codegen_1.Name||u instanceof codegen_1.Name?u:n(r,u)}}function evaluatedPropsToName(e,t){if(!0===t)return e.var("props",!0);const o=e.var("props",codegen_1._`{}`);return void 0!==t&&setEvaluated(e,o,t),o}function setEvaluated(e,t,o){Object.keys(o).forEach(o=>e.assign(codegen_1._`${t}${(0,codegen_1.getProperty)(o)}`,!0))}exports.toHash=toHash,exports.alwaysValidSchema=alwaysValidSchema,exports.checkUnknownRules=checkUnknownRules,exports.schemaHasRules=schemaHasRules,exports.schemaHasRulesButRef=schemaHasRulesButRef,exports.schemaRefOrVal=schemaRefOrVal,exports.unescapeFragment=unescapeFragment,exports.escapeFragment=escapeFragment,exports.escapeJsonPointer=escapeJsonPointer,exports.unescapeJsonPointer=unescapeJsonPointer,exports.eachItem=eachItem,exports.mergeEvaluated={props:makeMergeEvaluated({mergeNames:(e,t,o)=>e.if(codegen_1._`${o} !== true && ${t} !== undefined`,()=>{e.if(codegen_1._`${t} === true`,()=>e.assign(o,!0),()=>e.assign(o,codegen_1._`${o} || {}`).code(codegen_1._`Object.assign(${o}, ${t})`))}),mergeToName:(e,t,o)=>e.if(codegen_1._`${o} !== true`,()=>{!0===t?e.assign(o,!0):(e.assign(o,codegen_1._`${o} || {}`),setEvaluated(e,o,t))}),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:evaluatedPropsToName}),items:makeMergeEvaluated({mergeNames:(e,t,o)=>e.if(codegen_1._`${o} !== true && ${t} !== undefined`,()=>e.assign(o,codegen_1._`${t} === true ? true : ${o} > ${t} ? ${o} : ${t}`)),mergeToName:(e,t,o)=>e.if(codegen_1._`${o} !== true`,()=>e.assign(o,!0===t||codegen_1._`${o} > ${t} ? ${o} : ${t}`)),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},exports.evaluatedPropsToName=evaluatedPropsToName,exports.setEvaluated=setEvaluated;const snippets={};function useFunc(e,t){return e.scopeValue("func",{ref:t,code:snippets[t.code]||(snippets[t.code]=new code_1._Code(t.code))})}var Type;function getErrorPath(e,t,o){if(e instanceof codegen_1.Name){const n=t===Type.Num;return o?n?codegen_1._`"[" + ${e} + "]"`:codegen_1._`"['" + ${e} + "']"`:n?codegen_1._`"/" + ${e}`:codegen_1._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return o?(0,codegen_1.getProperty)(e).toString():"/"+escapeJsonPointer(e)}function checkStrictMode(e,t,o=e.opts.strictSchema){if(o){if(t=`strict mode: ${t}`,!0===o)throw new Error(t);e.self.logger.warn(t)}}exports.useFunc=useFunc,function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"}(Type=exports.Type||(exports.Type={})),exports.getErrorPath=getErrorPath,exports.checkStrictMode=checkStrictMode},{"./codegen":49,"./codegen/code":48}],58:[function(require,module,exports){"use strict";function schemaHasRulesForType({schema:e,self:s},o){const u=s.RULES.types[o];return u&&!0!==u&&shouldUseGroup(e,u)}function shouldUseGroup(e,s){return s.rules.some(s=>shouldUseRule(e,s))}function shouldUseRule(e,s){var o;return void 0!==e[s.keyword]||(null===(o=s.definition.implements)||void 0===o?void 0:o.some(s=>void 0!==e[s]))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.shouldUseRule=exports.shouldUseGroup=exports.schemaHasRulesForType=void 0,exports.schemaHasRulesForType=schemaHasRulesForType,exports.shouldUseGroup=shouldUseGroup,exports.shouldUseRule=shouldUseRule},{}],59:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.boolOrEmptySchema=exports.topBoolOrEmptySchema=void 0;const errors_1=require("../errors"),codegen_1=require("../codegen"),names_1=require("../names"),boolError={message:"boolean schema is false"};function topBoolOrEmptySchema(e){const{gen:r,schema:o,validateName:a}=e;!1===o?falseSchemaError(e,!1):"object"==typeof o&&!0===o.$async?r.return(names_1.default.data):(r.assign(codegen_1._`${a}.errors`,null),r.return(!0))}function boolOrEmptySchema(e,r){const{gen:o,schema:a}=e;!1===a?(o.var(r,!1),falseSchemaError(e)):o.var(r,!0)}function falseSchemaError(e,r){const{gen:o,data:a}=e,t={gen:o,keyword:"false schema",data:a,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,errors_1.reportError)(t,boolError,void 0,r)}exports.topBoolOrEmptySchema=topBoolOrEmptySchema,exports.boolOrEmptySchema=boolOrEmptySchema},{"../codegen":49,"../errors":51,"../names":53}],60:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.reportTypeError=exports.checkDataTypes=exports.checkDataType=exports.coerceAndCheckDataType=exports.getJSONTypes=exports.getSchemaTypes=exports.DataType=void 0;const rules_1=require("../rules"),applicability_1=require("./applicability"),errors_1=require("../errors"),codegen_1=require("../codegen"),util_1=require("../util");var DataType;function getSchemaTypes(e){const r=getJSONTypes(e.type);if(r.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!r.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&r.push("null")}return r}function getJSONTypes(e){const r=Array.isArray(e)?e:e?[e]:[];if(r.every(rules_1.isJSONType))return r;throw new Error("type must be JSONType or JSONType[]: "+r.join(","))}function coerceAndCheckDataType(e,r){const{gen:t,data:n,opts:o}=e,a=coerceToTypes(r,o.coerceTypes),c=r.length>0&&!(0===a.length&&1===r.length&&(0,applicability_1.schemaHasRulesForType)(e,r[0]));if(c){const c=checkDataTypes(r,n,o.strictNumbers,DataType.Wrong);t.if(c,()=>{a.length?coerceData(e,r,a):reportTypeError(e)})}return c}!function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"}(DataType=exports.DataType||(exports.DataType={})),exports.getSchemaTypes=getSchemaTypes,exports.getJSONTypes=getJSONTypes,exports.coerceAndCheckDataType=coerceAndCheckDataType;const COERCIBLE=new Set(["string","number","integer","boolean","null"]);function coerceToTypes(e,r){return r?e.filter(e=>COERCIBLE.has(e)||"array"===r&&"array"===e):[]}function coerceData(e,r,t){const{gen:n,data:o,opts:a}=e,c=n.let("dataType",codegen_1._`typeof ${o}`),s=n.let("coerced",codegen_1._`undefined`);"array"===a.coerceTypes&&n.if(codegen_1._`${c} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,codegen_1._`${o}[0]`).assign(c,codegen_1._`typeof ${o}`).if(checkDataTypes(r,o,a.strictNumbers),()=>n.assign(s,o))),n.if(codegen_1._`${s} !== undefined`);for(const e of t)(COERCIBLE.has(e)||"array"===e&&"array"===a.coerceTypes)&&p(e);function p(e){switch(e){case"string":return void n.elseIf(codegen_1._`${c} == "number" || ${c} == "boolean"`).assign(s,codegen_1._`"" + ${o}`).elseIf(codegen_1._`${o} === null`).assign(s,codegen_1._`""`);case"number":return void n.elseIf(codegen_1._`${c} == "boolean" || ${o} === null
-              || (${c} == "string" && ${o} && ${o} == +${o})`).assign(s,codegen_1._`+${o}`);case"integer":return void n.elseIf(codegen_1._`${c} === "boolean" || ${o} === null
-              || (${c} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(s,codegen_1._`+${o}`);case"boolean":return void n.elseIf(codegen_1._`${o} === "false" || ${o} === 0 || ${o} === null`).assign(s,!1).elseIf(codegen_1._`${o} === "true" || ${o} === 1`).assign(s,!0);case"null":return n.elseIf(codegen_1._`${o} === "" || ${o} === 0 || ${o} === false`),void n.assign(s,null);case"array":n.elseIf(codegen_1._`${c} === "string" || ${c} === "number"
-              || ${c} === "boolean" || ${o} === null`).assign(s,codegen_1._`[${o}]`)}}n.else(),reportTypeError(e),n.endIf(),n.if(codegen_1._`${s} !== undefined`,()=>{n.assign(o,s),assignParentData(e,s)})}function assignParentData({gen:e,parentData:r,parentDataProperty:t},n){e.if(codegen_1._`${r} !== undefined`,()=>e.assign(codegen_1._`${r}[${t}]`,n))}function checkDataType(e,r,t,n=DataType.Correct){const o=n===DataType.Correct?codegen_1.operators.EQ:codegen_1.operators.NEQ;let a;switch(e){case"null":return codegen_1._`${r} ${o} null`;case"array":a=codegen_1._`Array.isArray(${r})`;break;case"object":a=codegen_1._`${r} && typeof ${r} == "object" && !Array.isArray(${r})`;break;case"integer":a=c(codegen_1._`!(${r} % 1) && !isNaN(${r})`);break;case"number":a=c();break;default:return codegen_1._`typeof ${r} ${o} ${e}`}return n===DataType.Correct?a:(0,codegen_1.not)(a);function c(e=codegen_1.nil){return(0,codegen_1.and)(codegen_1._`typeof ${r} == "number"`,e,t?codegen_1._`isFinite(${r})`:codegen_1.nil)}}function checkDataTypes(e,r,t,n){if(1===e.length)return checkDataType(e[0],r,t,n);let o;const a=(0,util_1.toHash)(e);if(a.array&&a.object){const e=codegen_1._`typeof ${r} != "object"`;o=a.null?e:codegen_1._`!${r} || ${e}`,delete a.null,delete a.array,delete a.object}else o=codegen_1.nil;a.number&&delete a.integer;for(const e in a)o=(0,codegen_1.and)(o,checkDataType(e,r,t,n));return o}exports.checkDataType=checkDataType,exports.checkDataTypes=checkDataTypes;const typeError={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:r})=>"string"==typeof e?codegen_1._`{type: ${e}}`:codegen_1._`{type: ${r}}`};function reportTypeError(e){const r=getTypeErrorContext(e);(0,errors_1.reportError)(r,typeError)}function getTypeErrorContext(e){const{gen:r,data:t,schema:n}=e,o=(0,util_1.schemaRefOrVal)(e,n,"type");return{gen:r,keyword:"type",data:t,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}exports.reportTypeError=reportTypeError},{"../codegen":49,"../errors":51,"../rules":56,"../util":57,"./applicability":58}],61:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.assignDefaults=void 0;const codegen_1=require("../codegen"),util_1=require("../util");function assignDefaults(e,t){const{properties:s,items:i}=e.schema;if("object"===t&&s)for(const t in s)assignDefault(e,t,s[t].default);else"array"===t&&Array.isArray(i)&&i.forEach((t,s)=>assignDefault(e,s,t.default))}function assignDefault(e,t,s){const{gen:i,compositeRule:n,data:o,opts:r}=e;if(void 0===s)return;const a=codegen_1._`${o}${(0,codegen_1.getProperty)(t)}`;if(n)return void(0,util_1.checkStrictMode)(e,`default is ignored for: ${a}`);let u=codegen_1._`${a} === undefined`;"empty"===r.useDefaults&&(u=codegen_1._`${u} || ${a} === null || ${a} === ""`),i.if(u,codegen_1._`${a} = ${(0,codegen_1.stringify)(s)}`)}exports.assignDefaults=assignDefaults},{"../codegen":49,"../util":57}],62:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getData=exports.KeywordCxt=exports.validateFunctionCode=void 0;const boolSchema_1=require("./boolSchema"),dataType_1=require("./dataType"),applicability_1=require("./applicability"),dataType_2=require("./dataType"),defaults_1=require("./defaults"),keyword_1=require("./keyword"),subschema_1=require("./subschema"),codegen_1=require("../codegen"),names_1=require("../names"),resolve_1=require("../resolve"),util_1=require("../util"),errors_1=require("../errors");function validateFunctionCode(e){isSchemaObj(e)&&(checkKeywords(e),schemaCxtHasRules(e))?topSchemaObjCode(e):validateFunction(e,()=>(0,boolSchema_1.topBoolOrEmptySchema)(e))}function validateFunction({gen:e,validateName:t,schema:a,schemaEnv:s,opts:r},n){r.code.es5?e.func(t,codegen_1._`${names_1.default.data}, ${names_1.default.valCxt}`,s.$async,()=>{e.code(codegen_1._`"use strict"; ${funcSourceUrl(a,r)}`),destructureValCxtES5(e,r),e.code(n)}):e.func(t,codegen_1._`${names_1.default.data}, ${destructureValCxt(r)}`,s.$async,()=>e.code(funcSourceUrl(a,r)).code(n))}function destructureValCxt(e){return codegen_1._`{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${e.dynamicRef?codegen_1._`, ${names_1.default.dynamicAnchors}={}`:codegen_1.nil}}={}`}function destructureValCxtES5(e,t){e.if(names_1.default.valCxt,()=>{e.var(names_1.default.instancePath,codegen_1._`${names_1.default.valCxt}.${names_1.default.instancePath}`),e.var(names_1.default.parentData,codegen_1._`${names_1.default.valCxt}.${names_1.default.parentData}`),e.var(names_1.default.parentDataProperty,codegen_1._`${names_1.default.valCxt}.${names_1.default.parentDataProperty}`),e.var(names_1.default.rootData,codegen_1._`${names_1.default.valCxt}.${names_1.default.rootData}`),t.dynamicRef&&e.var(names_1.default.dynamicAnchors,codegen_1._`${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`)},()=>{e.var(names_1.default.instancePath,codegen_1._`""`),e.var(names_1.default.parentData,codegen_1._`undefined`),e.var(names_1.default.parentDataProperty,codegen_1._`undefined`),e.var(names_1.default.rootData,names_1.default.data),t.dynamicRef&&e.var(names_1.default.dynamicAnchors,codegen_1._`{}`)})}function topSchemaObjCode(e){const{schema:t,opts:a,gen:s}=e;validateFunction(e,()=>{a.$comment&&t.$comment&&commentKeyword(e),checkNoDefault(e),s.let(names_1.default.vErrors,null),s.let(names_1.default.errors,0),a.unevaluated&&resetEvaluated(e),typeAndKeywords(e),returnResults(e)})}function resetEvaluated(e){const{gen:t,validateName:a}=e;e.evaluated=t.const("evaluated",codegen_1._`${a}.evaluated`),t.if(codegen_1._`${e.evaluated}.dynamicProps`,()=>t.assign(codegen_1._`${e.evaluated}.props`,codegen_1._`undefined`)),t.if(codegen_1._`${e.evaluated}.dynamicItems`,()=>t.assign(codegen_1._`${e.evaluated}.items`,codegen_1._`undefined`))}function funcSourceUrl(e,t){const a="object"==typeof e&&e[t.schemaId];return a&&(t.code.source||t.code.process)?codegen_1._`/*# sourceURL=${a} */`:codegen_1.nil}function subschemaCode(e,t){isSchemaObj(e)&&(checkKeywords(e),schemaCxtHasRules(e))?subSchemaObjCode(e,t):(0,boolSchema_1.boolOrEmptySchema)(e,t)}function schemaCxtHasRules({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const a in e)if(t.RULES.all[a])return!0;return!1}function isSchemaObj(e){return"boolean"!=typeof e.schema}function subSchemaObjCode(e,t){const{schema:a,gen:s,opts:r}=e;r.$comment&&a.$comment&&commentKeyword(e),updateContext(e),checkAsyncSchema(e);const n=s.const("_errs",names_1.default.errors);typeAndKeywords(e,n),s.var(t,codegen_1._`${n} === ${names_1.default.errors}`)}function checkKeywords(e){(0,util_1.checkUnknownRules)(e),checkRefsAndKeywords(e)}function typeAndKeywords(e,t){if(e.opts.jtd)return schemaKeywords(e,[],!1,t);const a=(0,dataType_1.getSchemaTypes)(e.schema);schemaKeywords(e,a,!(0,dataType_1.coerceAndCheckDataType)(e,a),t)}function checkRefsAndKeywords(e){const{schema:t,errSchemaPath:a,opts:s,self:r}=e;t.$ref&&s.ignoreKeywordsWithRef&&(0,util_1.schemaHasRulesButRef)(t,r.RULES)&&r.logger.warn(`$ref: keywords ignored in schema at path "${a}"`)}function checkNoDefault(e){const{schema:t,opts:a}=e;void 0!==t.default&&a.useDefaults&&a.strictSchema&&(0,util_1.checkStrictMode)(e,"default is ignored in the schema root")}function updateContext(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,resolve_1.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function checkAsyncSchema(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function commentKeyword({gen:e,schemaEnv:t,schema:a,errSchemaPath:s,opts:r}){const n=a.$comment;if(!0===r.$comment)e.code(codegen_1._`${names_1.default.self}.logger.log(${n})`);else if("function"==typeof r.$comment){const a=codegen_1.str`${s}/$comment`,r=e.scopeValue("root",{ref:t.root});e.code(codegen_1._`${names_1.default.self}.opts.$comment(${n}, ${a}, ${r}.schema)`)}}function returnResults(e){const{gen:t,schemaEnv:a,validateName:s,ValidationError:r,opts:n}=e;a.$async?t.if(codegen_1._`${names_1.default.errors} === 0`,()=>t.return(names_1.default.data),()=>t.throw(codegen_1._`new ${r}(${names_1.default.vErrors})`)):(t.assign(codegen_1._`${s}.errors`,names_1.default.vErrors),n.unevaluated&&assignEvaluated(e),t.return(codegen_1._`${names_1.default.errors} === 0`))}function assignEvaluated({gen:e,evaluated:t,props:a,items:s}){a instanceof codegen_1.Name&&e.assign(codegen_1._`${t}.props`,a),s instanceof codegen_1.Name&&e.assign(codegen_1._`${t}.items`,s)}function schemaKeywords(e,t,a,s){const{gen:r,schema:n,data:o,allErrors:c,opts:i,self:d}=e,{RULES:l}=d;function u(d){(0,applicability_1.shouldUseGroup)(n,d)&&(d.type?(r.if((0,dataType_2.checkDataType)(d.type,o,i.strictNumbers)),iterateKeywords(e,d),1===t.length&&t[0]===d.type&&a&&(r.else(),(0,dataType_2.reportTypeError)(e)),r.endIf()):iterateKeywords(e,d),c||r.if(codegen_1._`${names_1.default.errors} === ${s||0}`))}!n.$ref||!i.ignoreKeywordsWithRef&&(0,util_1.schemaHasRulesButRef)(n,l)?(i.jtd||checkStrictTypes(e,t),r.block(()=>{for(const e of l.rules)u(e);u(l.post)})):r.block(()=>keywordCode(e,"$ref",l.all.$ref.definition))}function iterateKeywords(e,t){const{gen:a,schema:s,opts:{useDefaults:r}}=e;r&&(0,defaults_1.assignDefaults)(e,t.type),a.block(()=>{for(const a of t.rules)(0,applicability_1.shouldUseRule)(s,a)&&keywordCode(e,a.keyword,a.definition,t.type)})}function checkStrictTypes(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(checkContextTypes(e,t),e.opts.allowUnionTypes||checkMultipleTypes(e,t),checkKeywordTypes(e,e.dataTypes))}function checkContextTypes(e,t){t.length&&(e.dataTypes.length?(t.forEach(t=>{includesType(e.dataTypes,t)||strictTypesError(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)}),e.dataTypes=e.dataTypes.filter(e=>includesType(t,e))):e.dataTypes=t)}function checkMultipleTypes(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&strictTypesError(e,"use allowUnionTypes to allow union type keyword")}function checkKeywordTypes(e,t){const a=e.self.RULES.all;for(const s in a){const r=a[s];if("object"==typeof r&&(0,applicability_1.shouldUseRule)(e.schema,r)){const{type:a}=r.definition;a.length&&!a.some(e=>hasApplicableType(t,e))&&strictTypesError(e,`missing type "${a.join(",")}" for keyword "${s}"`)}}}function hasApplicableType(e,t){return e.includes(t)||"number"===t&&e.includes("integer")}function includesType(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function strictTypesError(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,util_1.checkStrictMode)(e,t,e.opts.strictTypes)}exports.validateFunctionCode=validateFunctionCode;class KeywordCxt{constructor(e,t,a){if((0,keyword_1.validateKeywordUsage)(e,t,a),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=a,this.data=e.data,this.schema=e.schema[a],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,util_1.schemaRefOrVal)(e,this.schema,a,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",getData(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,keyword_1.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${a} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",names_1.default.errors))}result(e,t,a){this.failResult((0,codegen_1.not)(e),t,a)}failResult(e,t,a){this.gen.if(e),a?a():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,codegen_1.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(codegen_1._`${t} !== undefined && (${(0,codegen_1.or)(this.invalid$data(),e)})`)}error(e,t,a){if(t)return this.setParams(t),this._error(e,a),void this.setParams({});this._error(e,a)}_error(e,t){(e?errors_1.reportExtraError:errors_1.reportError)(this,this.def.error,t)}$dataError(){(0,errors_1.reportError)(this,this.def.$dataError||errors_1.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,errors_1.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,a=codegen_1.nil){this.gen.block(()=>{this.check$data(e,a),t()})}check$data(e=codegen_1.nil,t=codegen_1.nil){if(!this.$data)return;const{gen:a,schemaCode:s,schemaType:r,def:n}=this;a.if((0,codegen_1.or)(codegen_1._`${s} === undefined`,t)),e!==codegen_1.nil&&a.assign(e,!0),(r.length||n.validateSchema)&&(a.elseIf(this.invalid$data()),this.$dataError(),e!==codegen_1.nil&&a.assign(e,!1)),a.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:a,def:s,it:r}=this;return(0,codegen_1.or)(function(){if(a.length){if(!(t instanceof codegen_1.Name))throw new Error("ajv implementation error");const e=Array.isArray(a)?a:[a];return codegen_1._`${(0,dataType_2.checkDataTypes)(e,t,r.opts.strictNumbers,dataType_2.DataType.Wrong)}`}return codegen_1.nil}(),function(){if(s.validateSchema){const a=e.scopeValue("validate$data",{ref:s.validateSchema});return codegen_1._`!${a}(${t})`}return codegen_1.nil}())}subschema(e,t){const a=(0,subschema_1.getSubschema)(this.it,e);(0,subschema_1.extendSubschemaData)(a,this.it,e),(0,subschema_1.extendSubschemaMode)(a,e);const s={...this.it,...a,items:void 0,props:void 0};return subschemaCode(s,t),s}mergeEvaluated(e,t){const{it:a,gen:s}=this;a.opts.unevaluated&&(!0!==a.props&&void 0!==e.props&&(a.props=util_1.mergeEvaluated.props(s,e.props,a.props,t)),!0!==a.items&&void 0!==e.items&&(a.items=util_1.mergeEvaluated.items(s,e.items,a.items,t)))}mergeValidEvaluated(e,t){const{it:a,gen:s}=this;if(a.opts.unevaluated&&(!0!==a.props||!0!==a.items))return s.if(t,()=>this.mergeEvaluated(e,codegen_1.Name)),!0}}function keywordCode(e,t,a,s){const r=new KeywordCxt(e,a,t);"code"in a?a.code(r,s):r.$data&&a.validate?(0,keyword_1.funcKeywordCode)(r,a):"macro"in a?(0,keyword_1.macroKeywordCode)(r,a):(a.compile||a.validate)&&(0,keyword_1.funcKeywordCode)(r,a)}exports.KeywordCxt=KeywordCxt;const JSON_POINTER=/^\/(?:[^~]|~0|~1)*$/,RELATIVE_JSON_POINTER=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function getData(e,{dataLevel:t,dataNames:a,dataPathArr:s}){let r,n;if(""===e)return names_1.default.rootData;if("/"===e[0]){if(!JSON_POINTER.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);r=e,n=names_1.default.rootData}else{const o=RELATIVE_JSON_POINTER.exec(e);if(!o)throw new Error(`Invalid JSON-pointer: ${e}`);const c=+o[1];if("#"===(r=o[2])){if(c>=t)throw new Error(i("property/index",c));return s[t-c]}if(c>t)throw new Error(i("data",c));if(n=a[t-c],!r)return n}let o=n;const c=r.split("/");for(const e of c)e&&(n=codegen_1._`${n}${(0,codegen_1.getProperty)((0,util_1.unescapeJsonPointer)(e))}`,o=codegen_1._`${o} && ${n}`);return o;function i(e,a){return`Cannot access ${e} ${a} levels up, current level is ${t}`}}exports.getData=getData},{"../codegen":49,"../errors":51,"../names":53,"../resolve":55,"../util":57,"./applicability":58,"./boolSchema":59,"./dataType":60,"./defaults":61,"./keyword":63,"./subschema":64}],63:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.validateKeywordUsage=exports.validSchemaType=exports.funcKeywordCode=exports.macroKeywordCode=void 0;const codegen_1=require("../codegen"),names_1=require("../names"),code_1=require("../../vocabularies/code"),errors_1=require("../errors");function macroKeywordCode(e,r){const{gen:o,keyword:a,schema:n,parentSchema:t,it:s}=e,c=r.macro.call(s.self,n,t,s),d=useKeyword(o,a,c);!1!==s.opts.validateSchema&&s.self.validateSchema(c,!0);const i=o.name("valid");e.subschema({schema:c,schemaPath:codegen_1.nil,errSchemaPath:`${s.errSchemaPath}/${a}`,topSchemaRef:d,compositeRule:!0},i),e.pass(i,()=>e.error(!0))}function funcKeywordCode(e,r){var o;const{gen:a,keyword:n,schema:t,parentSchema:s,$data:c,it:d}=e;checkAsyncKeyword(d,r);const i=!c&&r.compile?r.compile.call(d.self,t,s,d):r.validate,l=useKeyword(a,n,i),y=a.let("valid");function f(o=(r.async?codegen_1._`await `:codegen_1.nil)){const n=d.opts.passContext?names_1.default.this:names_1.default.self,t=!("compile"in r&&!c||!1===r.schema);a.assign(y,codegen_1._`${o}${(0,code_1.callValidateCode)(e,l,n,t)}`,r.modifying)}function m(e){var o;a.if((0,codegen_1.not)(null!==(o=r.valid)&&void 0!==o?o:y),e)}e.block$data(y,function(){if(!1===r.errors)f(),r.modifying&&modifyData(e),m(()=>e.error());else{const o=r.async?function(){const e=a.let("ruleErrs",null);return a.try(()=>f(codegen_1._`await `),r=>a.assign(y,!1).if(codegen_1._`${r} instanceof ${d.ValidationError}`,()=>a.assign(e,codegen_1._`${r}.errors`),()=>a.throw(r))),e}():function(){const e=codegen_1._`${l}.errors`;return a.assign(e,null),f(codegen_1.nil),e}();r.modifying&&modifyData(e),m(()=>addErrs(e,o))}}),e.ok(null!==(o=r.valid)&&void 0!==o?o:y)}function modifyData(e){const{gen:r,data:o,it:a}=e;r.if(a.parentData,()=>r.assign(o,codegen_1._`${a.parentData}[${a.parentDataProperty}]`))}function addErrs(e,r){const{gen:o}=e;o.if(codegen_1._`Array.isArray(${r})`,()=>{o.assign(names_1.default.vErrors,codegen_1._`${names_1.default.vErrors} === null ? ${r} : ${names_1.default.vErrors}.concat(${r})`).assign(names_1.default.errors,codegen_1._`${names_1.default.vErrors}.length`),(0,errors_1.extendErrors)(e)},()=>e.error())}function checkAsyncKeyword({schemaEnv:e},r){if(r.async&&!e.$async)throw new Error("async keyword in sync schema")}function useKeyword(e,r,o){if(void 0===o)throw new Error(`keyword "${r}" failed to compile`);return e.scopeValue("keyword","function"==typeof o?{ref:o}:{ref:o,code:(0,codegen_1.stringify)(o)})}function validSchemaType(e,r,o=!1){return!r.length||r.some(r=>"array"===r?Array.isArray(e):"object"===r?e&&"object"==typeof e&&!Array.isArray(e):typeof e==r||o&&void 0===e)}function validateKeywordUsage({schema:e,opts:r,self:o,errSchemaPath:a},n,t){if(Array.isArray(n.keyword)?!n.keyword.includes(t):n.keyword!==t)throw new Error("ajv implementation error");const s=n.dependencies;if(null==s?void 0:s.some(r=>!Object.prototype.hasOwnProperty.call(e,r)))throw new Error(`parent schema must have dependencies of ${t}: ${s.join(",")}`);if(n.validateSchema){if(!n.validateSchema(e[t])){const e=`keyword "${t}" value is invalid at path "${a}": `+o.errorsText(n.validateSchema.errors);if("log"!==r.validateSchema)throw new Error(e);o.logger.error(e)}}}exports.macroKeywordCode=macroKeywordCode,exports.funcKeywordCode=funcKeywordCode,exports.validSchemaType=validSchemaType,exports.validateKeywordUsage=validateKeywordUsage},{"../../vocabularies/code":98,"../codegen":49,"../errors":51,"../names":53}],64:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.extendSubschemaMode=exports.extendSubschemaData=exports.getSubschema=void 0;const codegen_1=require("../codegen"),util_1=require("../util");function getSubschema(e,{keyword:a,schemaProp:t,schema:r,schemaPath:o,errSchemaPath:d,topSchemaRef:c}){if(void 0!==a&&void 0!==r)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==a){const r=e.schema[a];return void 0===t?{schema:r,schemaPath:codegen_1._`${e.schemaPath}${(0,codegen_1.getProperty)(a)}`,errSchemaPath:`${e.errSchemaPath}/${a}`}:{schema:r[t],schemaPath:codegen_1._`${e.schemaPath}${(0,codegen_1.getProperty)(a)}${(0,codegen_1.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${a}/${(0,util_1.escapeFragment)(t)}`}}if(void 0!==r){if(void 0===o||void 0===d||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:r,schemaPath:o,topSchemaRef:c,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}function extendSubschemaData(e,a,{dataProp:t,dataPropType:r,data:o,dataTypes:d,propertyName:c}){if(void 0!==o&&void 0!==t)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:s}=a;if(void 0!==t){const{errorPath:o,dataPathArr:d,opts:c}=a;h(s.let("data",codegen_1._`${a.data}${(0,codegen_1.getProperty)(t)}`,!0)),e.errorPath=codegen_1.str`${o}${(0,util_1.getErrorPath)(t,r,c.jsPropertySyntax)}`,e.parentDataProperty=codegen_1._`${t}`,e.dataPathArr=[...d,e.parentDataProperty]}if(void 0!==o){h(o instanceof codegen_1.Name?o:s.let("data",o,!0)),void 0!==c&&(e.propertyName=c)}function h(t){e.data=t,e.dataLevel=a.dataLevel+1,e.dataTypes=[],a.definedProperties=new Set,e.parentData=a.data,e.dataNames=[...a.dataNames,t]}d&&(e.dataTypes=d)}function extendSubschemaMode(e,{jtdDiscriminator:a,jtdMetadata:t,compositeRule:r,createErrors:o,allErrors:d}){void 0!==r&&(e.compositeRule=r),void 0!==o&&(e.createErrors=o),void 0!==d&&(e.allErrors=d),e.jtdDiscriminator=a,e.jtdMetadata=t}exports.getSubschema=getSubschema,exports.extendSubschemaData=extendSubschemaData,exports.extendSubschemaMode=extendSubschemaMode},{"../codegen":49,"../util":57}],65:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodeGen=exports.Name=exports.nil=exports.stringify=exports.str=exports._=exports.KeywordCxt=void 0;var validate_1=require("./compile/validate");Object.defineProperty(exports,"KeywordCxt",{enumerable:!0,get:function(){return validate_1.KeywordCxt}});var codegen_1=require("./compile/codegen");Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return codegen_1._}}),Object.defineProperty(exports,"str",{enumerable:!0,get:function(){return codegen_1.str}}),Object.defineProperty(exports,"stringify",{enumerable:!0,get:function(){return codegen_1.stringify}}),Object.defineProperty(exports,"nil",{enumerable:!0,get:function(){return codegen_1.nil}}),Object.defineProperty(exports,"Name",{enumerable:!0,get:function(){return codegen_1.Name}}),Object.defineProperty(exports,"CodeGen",{enumerable:!0,get:function(){return codegen_1.CodeGen}});const validation_error_1=require("./runtime/validation_error"),ref_error_1=require("./compile/ref_error"),rules_1=require("./compile/rules"),compile_1=require("./compile"),codegen_2=require("./compile/codegen"),resolve_1=require("./compile/resolve"),dataType_1=require("./compile/validate/dataType"),util_1=require("./compile/util"),$dataRefSchema=require("./refs/data.json"),uri_1=require("./runtime/uri"),defaultRegExp=(e,t)=>new RegExp(e,t);defaultRegExp.code="new RegExp";const META_IGNORE_OPTIONS=["removeAdditional","useDefaults","coerceTypes"],EXT_SCOPE_NAMES=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),removedOptions={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},deprecatedOptions={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},MAX_EXPRESSION=200;function requiredOptions(e){var t,s,r,a,o,i,n,c,d,l,h,m,u,p,f,y,v,g,w,_,S,E,b,R,O;const $=e.strict,j=null===(t=e.code)||void 0===t?void 0:t.optimize,x=!0===j||void 0===j?1:j||0,I=null!==(r=null===(s=e.code)||void 0===s?void 0:s.regExp)&&void 0!==r?r:defaultRegExp,k=null!==(a=e.uriResolver)&&void 0!==a?a:uri_1.default;return{strictSchema:null===(i=null!==(o=e.strictSchema)&&void 0!==o?o:$)||void 0===i||i,strictNumbers:null===(c=null!==(n=e.strictNumbers)&&void 0!==n?n:$)||void 0===c||c,strictTypes:null!==(l=null!==(d=e.strictTypes)&&void 0!==d?d:$)&&void 0!==l?l:"log",strictTuples:null!==(m=null!==(h=e.strictTuples)&&void 0!==h?h:$)&&void 0!==m?m:"log",strictRequired:null!==(p=null!==(u=e.strictRequired)&&void 0!==u?u:$)&&void 0!==p&&p,code:e.code?{...e.code,optimize:x,regExp:I}:{optimize:x,regExp:I},loopRequired:null!==(f=e.loopRequired)&&void 0!==f?f:MAX_EXPRESSION,loopEnum:null!==(y=e.loopEnum)&&void 0!==y?y:MAX_EXPRESSION,meta:null===(v=e.meta)||void 0===v||v,messages:null===(g=e.messages)||void 0===g||g,inlineRefs:null===(w=e.inlineRefs)||void 0===w||w,schemaId:null!==(_=e.schemaId)&&void 0!==_?_:"$id",addUsedSchema:null===(S=e.addUsedSchema)||void 0===S||S,validateSchema:null===(E=e.validateSchema)||void 0===E||E,validateFormats:null===(b=e.validateFormats)||void 0===b||b,unicodeRegExp:null===(R=e.unicodeRegExp)||void 0===R||R,int32range:null===(O=e.int32range)||void 0===O||O,uriResolver:k}}class Ajv{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...requiredOptions(e)};const{es5:t,lines:s}=this.opts.code;this.scope=new codegen_2.ValueScope({scope:{},prefixes:EXT_SCOPE_NAMES,es5:t,lines:s}),this.logger=getLogger(e.logger);const r=e.validateFormats;e.validateFormats=!1,this.RULES=(0,rules_1.getRules)(),checkOptions.call(this,removedOptions,e,"NOT SUPPORTED"),checkOptions.call(this,deprecatedOptions,e,"DEPRECATED","warn"),this._metaOpts=getMetaSchemaOptions.call(this),e.formats&&addInitialFormats.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&addInitialKeywords.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),addInitialSchemas.call(this),e.validateFormats=r}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:s}=this.opts;let r=$dataRefSchema;"id"===s&&((r={...$dataRefSchema}).id=r.$id,delete r.$id),t&&e&&this.addMetaSchema(r,r[s],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let s;if("string"==typeof e){if(!(s=this.getSchema(e)))throw new Error(`no schema with key or ref "${e}"`)}else s=this.compile(e);const r=s(t);return"$async"in s||(this.errors=s.errors),r}compile(e,t){const s=this._addSchema(e,t);return s.validate||this._compileSchemaEnv(s)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:s}=this.opts;return r.call(this,e,t);async function r(e,r){await a.call(this,e.$schema);const o=this._addSchema(e,r);return o.validate||async function e(r){try{return this._compileSchemaEnv(r)}catch(o){if(!(o instanceof ref_error_1.default))throw o;return function({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}.call(this,o),await async function(e){const r=await async function(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=s(e))}finally{delete this._loading[e]}}.call(this,e);this.refs[e]||await a.call(this,r.$schema);this.refs[e]||this.addSchema(r,e,t)}.call(this,o.missingSchema),e.call(this,r)}}.call(this,o)}async function a(e){e&&!this.getSchema(e)&&await r.call(this,{$ref:e},!0)}}addSchema(e,t,s,r=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,s,r);return this}let a;if("object"==typeof e){const{schemaId:t}=this.opts;if(void 0!==(a=e[t])&&"string"!=typeof a)throw new Error(`schema ${t} must be string`)}return t=(0,resolve_1.normalizeId)(t||a),this._checkUnique(t),this.schemas[t]=this._addSchema(e,s,t,r,!0),this}addMetaSchema(e,t,s=this.opts.validateSchema){return this.addSchema(e,t,!0,s),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let s;if(void 0!==(s=e.$schema)&&"string"!=typeof s)throw new Error("$schema must be a string");if(!(s=s||this.opts.defaultMeta||this.defaultMeta()))return this.logger.warn("meta-schema not available"),this.errors=null,!0;const r=this.validate(s,e);if(!r&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return r}getSchema(e){let t;for(;"string"==typeof(t=getSchEnv.call(this,e));)e=t;if(void 0===t){const{schemaId:s}=this.opts,r=new compile_1.SchemaEnv({schema:{},schemaId:s});if(!(t=compile_1.resolveSchema.call(this,r,e)))return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=getSchEnv.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let s=e[this.opts.schemaId];return s&&(s=(0,resolve_1.normalizeId)(s),delete this.schemas[s],delete this.refs[s]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let s;if("string"==typeof e)s=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=s);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(s=(t=e).keyword,Array.isArray(s)&&!s.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(checkKeyword.call(this,s,t),!t)return(0,util_1.eachItem)(s,e=>addRule.call(this,e)),this;keywordMetaschema.call(this,t);const r={...t,type:(0,dataType_1.getJSONTypes)(t.type),schemaType:(0,dataType_1.getJSONTypes)(t.schemaType)};return(0,util_1.eachItem)(s,0===r.type.length?e=>addRule.call(this,e,r):e=>r.type.forEach(t=>addRule.call(this,e,r,t))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const s of t.rules){const t=s.rules.findIndex(t=>t.keyword===e);t>=0&&s.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:s="data"}={}){return e&&0!==e.length?e.map(e=>`${s}${e.instancePath} ${e.message}`).reduce((e,s)=>e+t+s):"No errors"}$dataMetaSchema(e,t){const s=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const r of t){const t=r.split("/").slice(1);let a=e;for(const e of t)a=a[e];for(const e in s){const t=s[e];if("object"!=typeof t)continue;const{$data:r}=t.definition,o=a[e];r&&o&&(a[e]=schemaOrData(o))}}return e}_removeAllSchemas(e,t){for(const s in e){const r=e[s];t&&!t.test(s)||("string"==typeof r?delete e[s]:r&&!r.meta&&(this._cache.delete(r.schema),delete e[s]))}}_addSchema(e,t,s,r=this.opts.validateSchema,a=this.opts.addUsedSchema){let o;const{schemaId:i}=this.opts;if("object"==typeof e)o=e[i];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let n=this._cache.get(e);if(void 0!==n)return n;s=(0,resolve_1.normalizeId)(o||s);const c=resolve_1.getSchemaRefs.call(this,e,s);return n=new compile_1.SchemaEnv({schema:e,schemaId:i,meta:t,baseId:s,localRefs:c}),this._cache.set(n.schema,n),a&&!s.startsWith("#")&&(s&&this._checkUnique(s),this.refs[s]=n),r&&this.validateSchema(e,!0),n}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):compile_1.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{compile_1.compileSchema.call(this,e)}finally{this.opts=t}}}function checkOptions(e,t,s,r="error"){for(const a in e){const o=a;o in t&&this.logger[r](`${s}: option ${a}. ${e[o]}`)}}function getSchEnv(e){return e=(0,resolve_1.normalizeId)(e),this.schemas[e]||this.refs[e]}function addInitialSchemas(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function addInitialFormats(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function addInitialKeywords(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const s=e[t];s.keyword||(s.keyword=t),this.addKeyword(s)}}}function getMetaSchemaOptions(){const e={...this.opts};for(const t of META_IGNORE_OPTIONS)delete e[t];return e}exports.default=Ajv,Ajv.ValidationError=validation_error_1.default,Ajv.MissingRefError=ref_error_1.default;const noLogs={log(){},warn(){},error(){}};function getLogger(e){if(!1===e)return noLogs;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}const KEYWORD_NAME=/^[a-z_$][a-z0-9_$:-]*$/i;function checkKeyword(e,t){const{RULES:s}=this;if((0,util_1.eachItem)(e,e=>{if(s.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!KEYWORD_NAME.test(e))throw new Error(`Keyword ${e} has invalid name`)}),t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function addRule(e,t,s){var r;const a=null==t?void 0:t.post;if(s&&a)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:o}=this;let i=a?o.post:o.rules.find(({type:e})=>e===s);if(i||(i={type:s,rules:[]},o.rules.push(i)),o.keywords[e]=!0,!t)return;const n={keyword:e,definition:{...t,type:(0,dataType_1.getJSONTypes)(t.type),schemaType:(0,dataType_1.getJSONTypes)(t.schemaType)}};t.before?addBeforeRule.call(this,i,n,t.before):i.rules.push(n),o.all[e]=n,null===(r=t.implements)||void 0===r||r.forEach(e=>this.addKeyword(e))}function addBeforeRule(e,t,s){const r=e.rules.findIndex(e=>e.keyword===s);r>=0?e.rules.splice(r,0,t):(e.rules.push(t),this.logger.warn(`rule ${s} is not defined`))}function keywordMetaschema(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=schemaOrData(t)),e.validateSchema=this.compile(t,!0))}const $dataRef={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function schemaOrData(e){return{anyOf:[e,$dataRef]}}},{"./compile":52,"./compile/codegen":49,"./compile/ref_error":54,"./compile/resolve":55,"./compile/rules":56,"./compile/util":57,"./compile/validate":62,"./compile/validate/dataType":60,"./refs/data.json":66,"./runtime/uri":78,"./runtime/validation_error":79}],66:[function(require,module,exports){module.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:false}},{}],67:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const metaSchema=require("./schema.json"),applicator=require("./meta/applicator.json"),unevaluated=require("./meta/unevaluated.json"),content=require("./meta/content.json"),core=require("./meta/core.json"),format=require("./meta/format-annotation.json"),metadata=require("./meta/meta-data.json"),validation=require("./meta/validation.json"),META_SUPPORT_DATA=["/properties"];function addMetaSchema2020(e){return[metaSchema,applicator,unevaluated,content,core,a(this,format),metadata,a(this,validation)].forEach(e=>this.addMetaSchema(e,void 0,!1)),this;function a(a,t){return e?a.$dataMetaSchema(t,META_SUPPORT_DATA):t}}exports.default=addMetaSchema2020},{"./meta/applicator.json":68,"./meta/content.json":69,"./meta/core.json":70,"./meta/format-annotation.json":71,"./meta/meta-data.json":72,"./meta/unevaluated.json":73,"./meta/validation.json":74,"./schema.json":75}],68:[function(require,module,exports){module.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":true},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}}},{}],69:[function(require,module,exports){module.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}}},{}],70:[function(require,module,exports){module.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}}},{}],71:[function(require,module,exports){module.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}}},{}],72:[function(require,module,exports){module.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:true,deprecated:{type:"boolean",default:false},readOnly:{type:"boolean",default:false},writeOnly:{type:"boolean",default:false},examples:{type:"array",items:true}}}},{}],73:[function(require,module,exports){module.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}}},{}],74:[function(require,module,exports){module.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":true},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:true}]},const:true,enum:{type:"array",items:true},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:false},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:true,default:[]}}}},{}],75:[function(require,module,exports){module.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:true,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:true,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:true},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:true}}}},{}],76:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const equal=require("fast-deep-equal");equal.code='require("ajv/dist/runtime/equal").default',exports.default=equal},{"fast-deep-equal":136}],77:[function(require,module,exports){"use strict";function ucs2length(e){const t=e.length;let r,u=0,c=0;for(;c=55296&&r<=56319&&ccodegen_1.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>codegen_1._`{limit: ${e}}`},def={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:error,code(e){const{parentSchema:t,it:a}=e,{items:o}=t;Array.isArray(o)?validateAdditionalItems(e,o):(0,util_1.checkStrictMode)(a,'"additionalItems" is ignored when "items" is not an array of schemas')}};function validateAdditionalItems(e,t){const{gen:a,schema:o,data:i,keyword:r,it:n}=e;n.items=!0;const s=a.const("len",codegen_1._`${i}.length`);if(!1===o)e.setParams({len:t.length}),e.pass(codegen_1._`${s} <= ${t.length}`);else if("object"==typeof o&&!(0,util_1.alwaysValidSchema)(n,o)){const o=a.var("valid",codegen_1._`${s} <= ${t.length}`);a.if((0,codegen_1.not)(o),()=>(function(o){a.forRange("i",t.length,s,t=>{e.subschema({keyword:r,dataProp:t,dataPropType:util_1.Type.Num},o),n.allErrors||a.if((0,codegen_1.not)(o),()=>a.break())})})(o)),e.ok(o)}}exports.validateAdditionalItems=validateAdditionalItems,exports.default=def},{"../../compile/codegen":49,"../../compile/util":57}],81:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const code_1=require("../code"),codegen_1=require("../../compile/codegen"),names_1=require("../../compile/names"),util_1=require("../../compile/util"),error={message:"must NOT have additional properties",params:({params:e})=>codegen_1._`{additionalProperty: ${e.additionalProperty}}`},def={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:error,code(e){const{gen:r,schema:o,parentSchema:t,data:a,errsCount:i,it:n}=e;if(!i)throw new Error("ajv implementation error");const{allErrors:d,opts:l}=n;if(n.props=!0,"all"!==l.removeAdditional&&(0,util_1.alwaysValidSchema)(n,o))return;const s=(0,code_1.allSchemaProperties)(t.properties),c=(0,code_1.allSchemaProperties)(t.patternProperties);function p(e){r.code(codegen_1._`delete ${a}[${e}]`)}function _(t){if("all"===l.removeAdditional||l.removeAdditional&&!1===o)p(t);else{if(!1===o)return e.setParams({additionalProperty:t}),e.error(),void(d||r.break());if("object"==typeof o&&!(0,util_1.alwaysValidSchema)(n,o)){const o=r.name("valid");"failing"===l.removeAdditional?(m(t,o,!1),r.if((0,codegen_1.not)(o),()=>{e.reset(),p(t)})):(m(t,o),d||r.if((0,codegen_1.not)(o),()=>r.break()))}}}function m(r,o,t){const a={keyword:"additionalProperties",dataProp:r,dataPropType:util_1.Type.Str};!1===t&&Object.assign(a,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(a,o)}r.forIn("key",a,o=>{s.length||c.length?r.if(function(o){let a;if(s.length>8){const e=(0,util_1.schemaRefOrVal)(n,t.properties,"properties");a=(0,code_1.isOwnProperty)(r,e,o)}else a=s.length?(0,codegen_1.or)(...s.map(e=>codegen_1._`${o} === ${e}`)):codegen_1.nil;return c.length&&(a=(0,codegen_1.or)(a,...c.map(r=>codegen_1._`${(0,code_1.usePattern)(e,r)}.test(${o})`))),(0,codegen_1.not)(a)}(o),()=>_(o)):_(o)}),e.ok(codegen_1._`${i} === ${names_1.default.errors}`)}};exports.default=def},{"../../compile/codegen":49,"../../compile/names":53,"../../compile/util":57,"../code":98}],82:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const util_1=require("../../compile/util"),def={keyword:"allOf",schemaType:"array",code(e){const{gen:r,schema:a,it:t}=e;if(!Array.isArray(a))throw new Error("ajv implementation error");const o=r.name("valid");a.forEach((r,a)=>{if((0,util_1.alwaysValidSchema)(t,r))return;const l=e.subschema({keyword:"allOf",schemaProp:a},o);e.ok(o),e.mergeEvaluated(l)})}};exports.default=def},{"../../compile/util":57}],83:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const code_1=require("../code"),def={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:code_1.validateUnion,error:{message:"must match a schema in anyOf"}};exports.default=def},{"../code":98}],84:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),error={message:({params:{min:e,max:n}})=>void 0===n?codegen_1.str`must contain at least ${e} valid item(s)`:codegen_1.str`must contain at least ${e} and no more than ${n} valid item(s)`,params:({params:{min:e,max:n}})=>void 0===n?codegen_1._`{minContains: ${e}}`:codegen_1._`{minContains: ${e}, maxContains: ${n}}`},def={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:error,code(e){const{gen:n,schema:i,parentSchema:o,data:t,it:a}=e;let s,r;const{minContains:c,maxContains:d}=o;a.opts.next?(s=void 0===c?1:c,r=d):s=1;const m=n.const("len",codegen_1._`${t}.length`);if(e.setParams({min:s,max:r}),void 0===r&&0===s)return void(0,util_1.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==r&&s>r)return(0,util_1.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,util_1.alwaysValidSchema)(a,i)){let n=codegen_1._`${m} >= ${s}`;return void 0!==r&&(n=codegen_1._`${n} && ${m} <= ${r}`),void e.pass(n)}a.items=!0;const l=n.name("valid");function _(){const e=n.name("_valid"),i=n.let("count",0);u(e,()=>n.if(e,()=>(function(e){n.code(codegen_1._`${e}++`),void 0===r?n.if(codegen_1._`${e} >= ${s}`,()=>n.assign(l,!0).break()):(n.if(codegen_1._`${e} > ${r}`,()=>n.assign(l,!1).break()),1===s?n.assign(l,!0):n.if(codegen_1._`${e} >= ${s}`,()=>n.assign(l,!0)))})(i)))}function u(i,o){n.forRange("i",0,m,n=>{e.subschema({keyword:"contains",dataProp:n,dataPropType:util_1.Type.Num,compositeRule:!0},i),o()})}void 0===r&&1===s?u(l,()=>n.if(l,()=>n.break())):0===s?(n.let(l,!0),void 0!==r&&n.if(codegen_1._`${t}.length > 0`,_)):(n.let(l,!1),_()),e.result(l,()=>e.reset())}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57}],85:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.validateSchemaDeps=exports.validatePropertyDeps=exports.error=void 0;const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),code_1=require("../code");exports.error={message:({params:{property:e,depsCount:r,deps:o}})=>{const t=1===r?"property":"properties";return codegen_1.str`must have ${t} ${o} when property ${e} is present`},params:({params:{property:e,depsCount:r,deps:o,missingProperty:t}})=>codegen_1._`{property: ${e},
+(function () {
+  function r(e, n, t) {
+    function o(i, f) {
+      if (!n[i]) {
+        if (!e[i]) {
+          var c = "function" == typeof require && require;
+          if (!f && c) return c(i, !0);
+          if (u) return u(i, !0);
+          var a = new Error("Cannot find module '" + i + "'");
+          throw ((a.code = "MODULE_NOT_FOUND"), a);
+        }
+        var p = (n[i] = { exports: {} });
+        e[i][0].call(
+          p.exports,
+          function (r) {
+            var n = e[i][1][r];
+            return o(n || r);
+          },
+          p,
+          p.exports,
+          r,
+          e,
+          n,
+          t,
+        );
+      }
+      return n[i].exports;
+    }
+    for (var u = "function" == typeof require && require, i = 0; i < t.length; i++) o(t[i]);
+    return o;
+  }
+  return r;
+})()(
+  {
+    1: [
+      function (require, module, exports) {
+        "use strict";
+        const validateSchema = require("./validators/schema"),
+          validateSpec = require("./validators/spec"),
+          normalizeArgs = require("@apidevtools/json-schema-ref-parser/lib/normalize-args"),
+          util = require("./util"),
+          Options = require("./options"),
+          maybe = require("call-me-maybe"),
+          { ono: ono } = require("@jsdevtools/ono"),
+          $RefParser = require("@apidevtools/json-schema-ref-parser"),
+          dereference = require("@apidevtools/json-schema-ref-parser/lib/dereference");
+        function SwaggerParser() {
+          $RefParser.apply(this, arguments);
+        }
+        (module.exports = SwaggerParser),
+          util.inherits(SwaggerParser, $RefParser),
+          (SwaggerParser.parse = $RefParser.parse),
+          (SwaggerParser.resolve = $RefParser.resolve),
+          (SwaggerParser.bundle = $RefParser.bundle),
+          (SwaggerParser.dereference = $RefParser.dereference),
+          Object.defineProperty(SwaggerParser.prototype, "api", {
+            configurable: !0,
+            enumerable: !0,
+            get() {
+              return this.schema;
+            },
+          }),
+          (SwaggerParser.prototype.parse = async function (e, r, a, o) {
+            let i = normalizeArgs(arguments);
+            i.options = new Options(i.options);
+            try {
+              let e = await $RefParser.prototype.parse.call(this, i.path, i.schema, i.options);
+              if (e.swagger) {
+                if (void 0 === e.swagger || void 0 === e.info || void 0 === e.paths)
+                  throw ono.syntax(`${i.path || i.schema} is not a valid Swagger API definition`);
+                if ("number" == typeof e.swagger)
+                  throw ono.syntax('Swagger version number must be a string (e.g. "2.0") not a number.');
+                if ("number" == typeof e.info.version)
+                  throw ono.syntax('API version number must be a string (e.g. "1.0.0") not a number.');
+                if ("2.0" !== e.swagger) throw ono.syntax(`Unrecognized Swagger version: ${e.swagger}. Expected 2.0`);
+              } else {
+                let r = ["3.0.0", "3.0.1", "3.0.2", "3.0.3", "3.1.0"];
+                if (void 0 === e.openapi || void 0 === e.info)
+                  throw ono.syntax(`${i.path || i.schema} is not a valid Openapi API definition`);
+                if (void 0 === e.paths) {
+                  if ("3.1.0" !== e.openapi)
+                    throw ono.syntax(`${i.path || i.schema} is not a valid Openapi API definition`);
+                  if (void 0 === e.webhooks)
+                    throw ono.syntax(`${i.path || i.schema} is not a valid Openapi API definition`);
+                } else {
+                  if ("number" == typeof e.openapi)
+                    throw ono.syntax('Openapi version number must be a string (e.g. "3.0.0") not a number.');
+                  if ("number" == typeof e.info.version)
+                    throw ono.syntax('API version number must be a string (e.g. "1.0.0") not a number.');
+                  if (-1 === r.indexOf(e.openapi))
+                    throw ono.syntax(
+                      `Unsupported OpenAPI version: ${e.openapi}. ` +
+                        `Swagger Parser only supports versions ${r.join(", ")}`,
+                    );
+                }
+                util.fixOasRelativeServers(e, i.path);
+              }
+              return maybe(i.callback, Promise.resolve(e));
+            } catch (e) {
+              return maybe(i.callback, Promise.reject(e));
+            }
+          }),
+          (SwaggerParser.validate = function (e, r, a, o) {
+            let i = new this();
+            return i.validate.apply(i, arguments);
+          }),
+          (SwaggerParser.prototype.validate = async function (e, r, a, o) {
+            let i = this,
+              n = normalizeArgs(arguments);
+            n.options = new Options(n.options);
+            let s = n.options.dereference.circular;
+            n.options.validate.schema && (n.options.dereference.circular = "ignore");
+            try {
+              if (
+                (await this.dereference(n.path, n.schema, n.options),
+                (n.options.dereference.circular = s),
+                n.options.validate.schema && (validateSchema(i.api), i.$refs.circular))
+              )
+                if (!0 === s) dereference(i, n.options);
+                else if (!1 === s) throw ono.reference("The API contains circular references");
+              return n.options.validate.spec && validateSpec(i.api), maybe(n.callback, Promise.resolve(i.schema));
+            } catch (e) {
+              return maybe(n.callback, Promise.reject(e));
+            }
+          });
+      },
+      {
+        "./options": 2,
+        "./util": 3,
+        "./validators/schema": 4,
+        "./validators/spec": 5,
+        "@apidevtools/json-schema-ref-parser": 8,
+        "@apidevtools/json-schema-ref-parser/lib/dereference": 7,
+        "@apidevtools/json-schema-ref-parser/lib/normalize-args": 9,
+        "@jsdevtools/ono": 33,
+        "call-me-maybe": 134,
+      },
+    ],
+    2: [
+      function (require, module, exports) {
+        "use strict";
+        const $RefParserOptions = require("@apidevtools/json-schema-ref-parser/lib/options"),
+          schemaValidator = require("./validators/schema"),
+          specValidator = require("./validators/spec"),
+          util = require("util");
+        function ParserOptions(s) {
+          $RefParserOptions.call(this, ParserOptions.defaults), $RefParserOptions.apply(this, arguments);
+        }
+        (module.exports = ParserOptions),
+          (ParserOptions.defaults = { validate: { schema: schemaValidator, spec: specValidator } }),
+          util.inherits(ParserOptions, $RefParserOptions);
+      },
+      {
+        "./validators/schema": 4,
+        "./validators/spec": 5,
+        "@apidevtools/json-schema-ref-parser/lib/options": 10,
+        util: 204,
+      },
+    ],
+    3: [
+      function (require, module, exports) {
+        "use strict";
+        const util = require("util"),
+          url = require("@apidevtools/json-schema-ref-parser/lib/util/url");
+        (exports.format = util.format),
+          (exports.inherits = util.inherits),
+          (exports.swaggerParamRegExp = /\{([^/}]+)}/g);
+        const operationsList = ["get", "post", "put", "delete", "patch", "options", "head", "trace"];
+        function fixServers(e, r) {
+          if (e.url && e.url.startsWith("/")) {
+            const s = url.parse(r),
+              t = s.protocol + "//" + s.hostname + e.url;
+            return (e.url = t), e;
+          }
+        }
+        function fixOasRelativeServers(e, r) {
+          e.openapi &&
+            r &&
+            (r.startsWith("http:") || r.startsWith("https:")) &&
+            (e.servers && e.servers.map((e) => fixServers(e, r)),
+            ["paths", "webhooks"].forEach((s) => {
+              Object.keys(e[s] || []).forEach((t) => {
+                const i = e[s][t];
+                Object.keys(i).forEach((e) => {
+                  "servers" === e
+                    ? i[e].map((e) => fixServers(e, r))
+                    : operationsList.includes(e) && i[e].servers && i[e].servers.map((e) => fixServers(e, r));
+                });
+              });
+            }));
+        }
+        exports.fixOasRelativeServers = fixOasRelativeServers;
+      },
+      { "@apidevtools/json-schema-ref-parser/lib/util/url": 24, util: 204 },
+    ],
+    4: [
+      function (require, module, exports) {
+        "use strict";
+        const util = require("../util"),
+          { ono: ono } = require("@jsdevtools/ono"),
+          AjvDraft4 = require("ajv-draft-04"),
+          Ajv = require("ajv/dist/2020"),
+          { openapi: openapi } = require("@apidevtools/openapi-schemas");
+        function validateSchema(e) {
+          let a, i;
+          if (e.swagger) (i = openapi.v2), (a = initializeAjv());
+          else if (e.openapi.startsWith("3.1")) {
+            const e = (i = openapi.v31).$defs.schema;
+            delete e.$dynamicAnchor,
+              (i.$defs.components.properties.schemas.additionalProperties = e),
+              (i.$defs.header.dependentSchemas.schema.properties.schema = e),
+              (i.$defs["media-type"].properties.schema = e),
+              (i.$defs.parameter.properties.schema = e),
+              (a = initializeAjv(!1));
+          } else (i = openapi.v3), (a = initializeAjv());
+          if (!a.validate(i, e)) {
+            let e = a.errors,
+              i = "Swagger schema validation failed.\n" + formatAjvError(e);
+            throw ono.syntax(e, { details: e }, i);
+          }
+        }
+        function initializeAjv(e = !0) {
+          const a = { allErrors: !0, strict: !1, validateFormats: !1 };
+          return e ? new AjvDraft4(a) : new Ajv(a);
+        }
+        function formatAjvError(e, a) {
+          a = a || "  ";
+          let i = "";
+          for (let t of e) i += util.format(`${a}#${t.instancePath.length ? t.instancePath : "/"} ${t.message}\n`);
+          return i;
+        }
+        module.exports = validateSchema;
+      },
+      {
+        "../util": 3,
+        "@apidevtools/openapi-schemas": 25,
+        "@jsdevtools/ono": 33,
+        "ajv-draft-04": 40,
+        "ajv/dist/2020": 47,
+      },
+    ],
+    5: [
+      function (require, module, exports) {
+        "use strict";
+        const util = require("../util"),
+          { ono: ono } = require("@jsdevtools/ono"),
+          swaggerMethods = require("@apidevtools/swagger-methods"),
+          primitiveTypes = ["array", "boolean", "integer", "number", "string"],
+          schemaTypes = ["array", "boolean", "integer", "number", "string", "object", "null", void 0];
+        function validateSpec(e) {
+          if (e.openapi) return;
+          let a = Object.keys(e.paths || {}),
+            t = [];
+          for (let i of a) {
+            let a = e.paths[i],
+              o = "/paths" + i;
+            a && 0 === i.indexOf("/") && validatePath(e, a, o, t);
+          }
+          let i = Object.keys(e.definitions || {});
+          for (let a of i) {
+            validateRequiredPropertiesExist(e.definitions[a], "/definitions/" + a);
+          }
+        }
+        function validatePath(e, a, t, i) {
+          for (let o of swaggerMethods) {
+            let r = a[o],
+              n = t + "/" + o;
+            if (r) {
+              let o = r.operationId;
+              if (o) {
+                if (-1 !== i.indexOf(o)) throw ono.syntax(`Validation failed. Duplicate operation id '${o}'`);
+                i.push(o);
+              }
+              validateParameters(e, a, t, r, n);
+              let s = Object.keys(r.responses || {});
+              for (let e of s) {
+                validateResponse(e, r.responses[e] || {}, n + "/responses/" + e);
+              }
+            }
+          }
+        }
+        function validateParameters(e, a, t, i, o) {
+          let r = a.parameters || [],
+            n = i.parameters || [];
+          try {
+            checkForDuplicates(r);
+          } catch (e) {
+            throw ono.syntax(e, `Validation failed. ${t} has duplicate parameters`);
+          }
+          try {
+            checkForDuplicates(n);
+          } catch (e) {
+            throw ono.syntax(e, `Validation failed. ${o} has duplicate parameters`);
+          }
+          let s = r.reduce((e, a) => {
+            return e.some((e) => e.in === a.in && e.name === a.name) || e.push(a), e;
+          }, n.slice());
+          validateBodyParameters(s, o), validatePathParameters(s, t, o), validateParameterTypes(s, e, i, o);
+        }
+        function validateBodyParameters(e, a) {
+          let t = e.filter((e) => "body" === e.in),
+            i = e.filter((e) => "formData" === e.in);
+          if (t.length > 1)
+            throw ono.syntax(`Validation failed. ${a} has ${t.length} body parameters. Only one is allowed.`);
+          if (t.length > 0 && i.length > 0)
+            throw ono.syntax(
+              `Validation failed. ${a} has body parameters and formData parameters. Only one or the other is allowed.`,
+            );
+        }
+        function validatePathParameters(e, a, t) {
+          let i = a.match(util.swaggerParamRegExp) || [];
+          for (let e = 0; e < i.length; e++)
+            for (let a = e + 1; a < i.length; a++)
+              if (i[e] === i[a])
+                throw ono.syntax(`Validation failed. ${t} has multiple path placeholders named ${i[e]}`);
+          e = e.filter((e) => "path" === e.in);
+          for (let a of e) {
+            if (!0 !== a.required)
+              throw ono.syntax(
+                "Validation failed. Path parameters cannot be optional. " +
+                  `Set required=true for the "${a.name}" parameter at ${t}`,
+              );
+            let e = i.indexOf("{" + a.name + "}");
+            if (-1 === e)
+              throw ono.syntax(
+                `Validation failed. ${t} has a path parameter named "${a.name}", ` +
+                  `but there is no corresponding {${a.name}} in the path string`,
+              );
+            i.splice(e, 1);
+          }
+          if (i.length > 0) throw ono.syntax(`Validation failed. ${t} is missing path parameter(s) for ${i}`);
+        }
+        function validateParameterTypes(e, a, t, i) {
+          for (let o of e) {
+            let e,
+              r,
+              n = i + "/parameters/" + o.name;
+            switch (o.in) {
+              case "body":
+                (e = o.schema), (r = schemaTypes);
+                break;
+              case "formData":
+                (e = o), (r = primitiveTypes.concat("file"));
+                break;
+              default:
+                (e = o), (r = primitiveTypes);
+            }
+            if ((validateSchema(e, n, r), validateRequiredPropertiesExist(e, n), "file" === e.type)) {
+              let e = /multipart\/(.*\+)?form-data/,
+                o = /application\/(.*\+)?x-www-form-urlencoded/;
+              if (!(t.consumes || a.consumes || []).some((a) => e.test(a) || o.test(a)))
+                throw ono.syntax(
+                  `Validation failed. ${i} has a file parameter, so it must consume multipart/form-data ` +
+                    "or application/x-www-form-urlencoded",
+                );
+            }
+          }
+        }
+        function checkForDuplicates(e) {
+          for (let a = 0; a < e.length - 1; a++) {
+            let t = e[a];
+            for (let i = a + 1; i < e.length; i++) {
+              let a = e[i];
+              if (t.name === a.name && t.in === a.in)
+                throw ono.syntax(`Validation failed. Found multiple ${t.in} parameters named "${t.name}"`);
+            }
+          }
+        }
+        function validateResponse(e, a, t) {
+          if ("default" !== e && (e < 100 || e > 599))
+            throw ono.syntax(`Validation failed. ${t} has an invalid response code (${e})`);
+          let i = Object.keys(a.headers || {});
+          for (let e of i) {
+            validateSchema(a.headers[e], t + "/headers/" + e, primitiveTypes);
+          }
+          if (a.schema) {
+            let e = schemaTypes.concat("file");
+            if (-1 === e.indexOf(a.schema.type))
+              throw ono.syntax(`Validation failed. ${t} has an invalid response schema type (${a.schema.type})`);
+            validateSchema(a.schema, t + "/schema", e);
+          }
+        }
+        function validateSchema(e, a, t) {
+          if (-1 === t.indexOf(e.type)) throw ono.syntax(`Validation failed. ${a} has an invalid type (${e.type})`);
+          if ("array" === e.type && !e.items)
+            throw ono.syntax(`Validation failed. ${a} is an array, so it must include an "items" schema`);
+        }
+        function validateRequiredPropertiesExist(e, a) {
+          if (e.required && Array.isArray(e.required)) {
+            let t = {};
+            !(function e(a, t) {
+              if (a.properties) for (let e in a.properties) a.properties.hasOwnProperty(e) && (t[e] = a.properties[e]);
+              if (a.allOf) for (let i of a.allOf) e(i, t);
+            })(e, t);
+            for (let i of e.required)
+              if (!t[i])
+                throw ono.syntax(`Validation failed. Property '${i}' listed as required but does not exist in '${a}'`);
+          }
+        }
+        module.exports = validateSpec;
+      },
+      { "../util": 3, "@apidevtools/swagger-methods": 30, "@jsdevtools/ono": 33 },
+    ],
+    6: [
+      function (require, module, exports) {
+        "use strict";
+        const $Ref = require("./ref"),
+          Pointer = require("./pointer"),
+          url = require("./util/url");
+        function bundle(e, r) {
+          let t = [];
+          crawl(e, "schema", e.$refs._root$Ref.path + "#", "#", 0, t, e.$refs, r), remap(t);
+        }
+        function crawl(e, r, t, n, i, o, f, l) {
+          let a = null === r ? e : e[r];
+          if (a && "object" == typeof a && !ArrayBuffer.isView(a))
+            if ($Ref.isAllowed$Ref(a)) inventory$Ref(e, r, t, n, i, o, f, l);
+            else {
+              let e = Object.keys(a).sort((e, r) =>
+                "definitions" === e ? -1 : "definitions" === r ? 1 : e.length - r.length,
+              );
+              for (let r of e) {
+                let e = Pointer.join(t, r),
+                  h = Pointer.join(n, r),
+                  s = a[r];
+                $Ref.isAllowed$Ref(s) ? inventory$Ref(a, r, t, h, i, o, f, l) : crawl(a, r, e, h, i, o, f, l);
+              }
+            }
+        }
+        function inventory$Ref(e, r, t, n, i, o, f, l) {
+          let a = null === r ? e : e[r],
+            h = url.resolve(t, a.$ref),
+            s = f._resolve(h, n, l);
+          if (null === s) return;
+          let u = Pointer.parse(n).length,
+            d = url.stripHash(s.path),
+            c = url.getHash(s.path),
+            p = d !== f._root$Ref.path,
+            $ = $Ref.isExtended$Ref(a);
+          i += s.indirections;
+          let R = findInInventory(o, e, r);
+          if (R) {
+            if (!(u < R.depth || i < R.indirections)) return;
+            removeFromInventory(o, R);
+          }
+          o.push({
+            $ref: a,
+            parent: e,
+            key: r,
+            pathFromRoot: n,
+            depth: u,
+            file: d,
+            hash: c,
+            value: s.value,
+            circular: s.circular,
+            extended: $,
+            external: p,
+            indirections: i,
+          }),
+            R || crawl(s.value, null, s.path, n, i + 1, o, f, l);
+        }
+        function remap(e) {
+          let r, t, n;
+          e.sort((e, r) => {
+            if (e.file !== r.file) return e.file < r.file ? -1 : 1;
+            if (e.hash !== r.hash) return e.hash < r.hash ? -1 : 1;
+            if (e.circular !== r.circular) return e.circular ? -1 : 1;
+            if (e.extended !== r.extended) return e.extended ? 1 : -1;
+            if (e.indirections !== r.indirections) return e.indirections - r.indirections;
+            if (e.depth !== r.depth) return e.depth - r.depth;
+            {
+              let t = e.pathFromRoot.lastIndexOf("/definitions"),
+                n = r.pathFromRoot.lastIndexOf("/definitions");
+              return t !== n ? n - t : e.pathFromRoot.length - r.pathFromRoot.length;
+            }
+          });
+          for (let i of e)
+            i.external
+              ? i.file === r && i.hash === t
+                ? (i.$ref.$ref = n)
+                : i.file === r && 0 === i.hash.indexOf(t + "/")
+                  ? (i.$ref.$ref = Pointer.join(n, Pointer.parse(i.hash.replace(t, "#"))))
+                  : ((r = i.file),
+                    (t = i.hash),
+                    (n = i.pathFromRoot),
+                    (i.$ref = i.parent[i.key] = $Ref.dereference(i.$ref, i.value)),
+                    i.circular && (i.$ref.$ref = i.pathFromRoot))
+              : (i.$ref.$ref = i.hash);
+        }
+        function findInInventory(e, r, t) {
+          for (let n = 0; n < e.length; n++) {
+            let i = e[n];
+            if (i.parent === r && i.key === t) return i;
+          }
+        }
+        function removeFromInventory(e, r) {
+          let t = e.indexOf(r);
+          e.splice(t, 1);
+        }
+        module.exports = bundle;
+      },
+      { "./pointer": 16, "./ref": 17, "./util/url": 24 },
+    ],
+    7: [
+      function (require, module, exports) {
+        "use strict";
+        const $Ref = require("./ref"),
+          Pointer = require("./pointer"),
+          { ono: ono } = require("@jsdevtools/ono"),
+          url = require("./util/url");
+        function dereference(e, r) {
+          let c = crawl(e.schema, e.$refs._root$Ref.path, "#", [], e.$refs, r);
+          (e.$refs.circular = c.circular), (e.schema = c.value);
+        }
+        function crawl(e, r, c, l, u, f) {
+          let i,
+            n = { value: e, circular: !1 };
+          if (e && "object" == typeof e && !ArrayBuffer.isView(e)) {
+            if ((l.push(e), $Ref.isAllowed$Ref(e, f)))
+              (i = dereference$Ref(e, r, c, l, u, f)), (n.circular = i.circular), (n.value = i.value);
+            else
+              for (let a of Object.keys(e)) {
+                let o = Pointer.join(r, a),
+                  t = Pointer.join(c, a),
+                  s = e[a],
+                  d = !1;
+                $Ref.isAllowed$Ref(s, f)
+                  ? ((d = (i = dereference$Ref(s, o, t, l, u, f)).circular), e[a] !== i.value && (e[a] = i.value))
+                  : -1 === l.indexOf(s)
+                    ? ((d = (i = crawl(s, o, t, l, u, f)).circular), e[a] !== i.value && (e[a] = i.value))
+                    : (d = foundCircularReference(o, u, f)),
+                  (n.circular = n.circular || d);
+              }
+            l.pop();
+          }
+          return n;
+        }
+        function dereference$Ref(e, r, c, l, u, f) {
+          let i = url.resolve(r, e.$ref),
+            n = u._resolve(i, r, f);
+          if (null === n) return { circular: !1, value: null };
+          let a = n.circular,
+            o = a || -1 !== l.indexOf(n.value);
+          o && foundCircularReference(r, u, f);
+          let t = $Ref.dereference(e, n.value);
+          if (!o) {
+            let e = crawl(t, n.path, c, l, u, f);
+            (o = e.circular), (t = e.value);
+          }
+          return (
+            o && !a && "ignore" === f.dereference.circular && (t = e), a && (t.$ref = c), { circular: o, value: t }
+          );
+        }
+        function foundCircularReference(e, r, c) {
+          if (((r.circular = !0), !c.dereference.circular)) throw ono.reference(`Circular $ref pointer found at ${e}`);
+          return !0;
+        }
+        module.exports = dereference;
+      },
+      { "./pointer": 16, "./ref": 17, "./util/url": 24, "@jsdevtools/ono": 33 },
+    ],
+    8: [
+      function (require, module, exports) {
+        (function (Buffer) {
+          (function () {
+            "use strict";
+            const $Refs = require("./refs"),
+              _parse = require("./parse"),
+              normalizeArgs = require("./normalize-args"),
+              resolveExternal = require("./resolve-external"),
+              _bundle = require("./bundle"),
+              _dereference = require("./dereference"),
+              url = require("./util/url"),
+              {
+                JSONParserError: JSONParserError,
+                InvalidPointerError: InvalidPointerError,
+                MissingPointerError: MissingPointerError,
+                ResolverError: ResolverError,
+                ParserError: ParserError,
+                UnmatchedParserError: UnmatchedParserError,
+                UnmatchedResolverError: UnmatchedResolverError,
+                isHandledError: isHandledError,
+                JSONParserErrorGroup: JSONParserErrorGroup,
+              } = require("./util/errors"),
+              maybe = require("call-me-maybe"),
+              { ono: ono } = require("@jsdevtools/ono");
+            function $RefParser() {
+              (this.schema = null), (this.$refs = new $Refs());
+            }
+            function finalize(r) {
+              if (JSONParserErrorGroup.getParserErrors(r).length > 0) throw new JSONParserErrorGroup(r);
+            }
+            (module.exports = $RefParser),
+              (module.exports.default = $RefParser),
+              (module.exports.JSONParserError = JSONParserError),
+              (module.exports.InvalidPointerError = InvalidPointerError),
+              (module.exports.MissingPointerError = MissingPointerError),
+              (module.exports.ResolverError = ResolverError),
+              (module.exports.ParserError = ParserError),
+              (module.exports.UnmatchedParserError = UnmatchedParserError),
+              (module.exports.UnmatchedResolverError = UnmatchedResolverError),
+              ($RefParser.parse = function (r, e, s, o) {
+                let a = new this();
+                return a.parse.apply(a, arguments);
+              }),
+              ($RefParser.prototype.parse = async function (r, e, s, o) {
+                let a,
+                  t = normalizeArgs(arguments);
+                if (!t.path && !t.schema) {
+                  let r = ono(`Expected a file path, URL, or object. Got ${t.path || t.schema}`);
+                  return maybe(t.callback, Promise.reject(r));
+                }
+                (this.schema = null), (this.$refs = new $Refs());
+                let l = "http";
+                if (
+                  (url.isFileSystemPath(t.path) && ((t.path = url.fromFileSystemPath(t.path)), (l = "file")),
+                  (t.path = url.resolve(url.cwd(), t.path)),
+                  t.schema && "object" == typeof t.schema)
+                ) {
+                  let r = this.$refs._add(t.path);
+                  (r.value = t.schema), (r.pathType = l), (a = Promise.resolve(t.schema));
+                } else a = _parse(t.path, this.$refs, t.options);
+                let n = this;
+                try {
+                  let r = await a;
+                  if (null === r || "object" != typeof r || Buffer.isBuffer(r)) {
+                    if (t.options.continueOnError)
+                      return (n.schema = null), maybe(t.callback, Promise.resolve(n.schema));
+                    throw ono.syntax(`"${n.$refs._root$Ref.path || r}" is not a valid JSON Schema`);
+                  }
+                  return (n.schema = r), maybe(t.callback, Promise.resolve(n.schema));
+                } catch (r) {
+                  return t.options.continueOnError && isHandledError(r)
+                    ? (this.$refs._$refs[url.stripHash(t.path)] && this.$refs._$refs[url.stripHash(t.path)].addError(r),
+                      maybe(t.callback, Promise.resolve(null)))
+                    : maybe(t.callback, Promise.reject(r));
+                }
+              }),
+              ($RefParser.resolve = function (r, e, s, o) {
+                let a = new this();
+                return a.resolve.apply(a, arguments);
+              }),
+              ($RefParser.prototype.resolve = async function (r, e, s, o) {
+                let a = this,
+                  t = normalizeArgs(arguments);
+                try {
+                  return (
+                    await this.parse(t.path, t.schema, t.options),
+                    await resolveExternal(a, t.options),
+                    finalize(a),
+                    maybe(t.callback, Promise.resolve(a.$refs))
+                  );
+                } catch (r) {
+                  return maybe(t.callback, Promise.reject(r));
+                }
+              }),
+              ($RefParser.bundle = function (r, e, s, o) {
+                let a = new this();
+                return a.bundle.apply(a, arguments);
+              }),
+              ($RefParser.prototype.bundle = async function (r, e, s, o) {
+                let a = this,
+                  t = normalizeArgs(arguments);
+                try {
+                  return (
+                    await this.resolve(t.path, t.schema, t.options),
+                    _bundle(a, t.options),
+                    finalize(a),
+                    maybe(t.callback, Promise.resolve(a.schema))
+                  );
+                } catch (r) {
+                  return maybe(t.callback, Promise.reject(r));
+                }
+              }),
+              ($RefParser.dereference = function (r, e, s, o) {
+                let a = new this();
+                return a.dereference.apply(a, arguments);
+              }),
+              ($RefParser.prototype.dereference = async function (r, e, s, o) {
+                let a = this,
+                  t = normalizeArgs(arguments);
+                try {
+                  return (
+                    await this.resolve(t.path, t.schema, t.options),
+                    _dereference(a, t.options),
+                    finalize(a),
+                    maybe(t.callback, Promise.resolve(a.schema))
+                  );
+                } catch (r) {
+                  return maybe(t.callback, Promise.reject(r));
+                }
+              });
+          }).call(this);
+        }).call(this, { isBuffer: require("../../../is-buffer/index.js") });
+      },
+      {
+        "../../../is-buffer/index.js": 140,
+        "./bundle": 6,
+        "./dereference": 7,
+        "./normalize-args": 9,
+        "./parse": 11,
+        "./refs": 18,
+        "./resolve-external": 19,
+        "./util/errors": 22,
+        "./util/url": 24,
+        "@jsdevtools/ono": 33,
+        "call-me-maybe": 134,
+      },
+    ],
+    9: [
+      function (require, module, exports) {
+        "use strict";
+        const Options = require("./options");
+        function normalizeArgs(o) {
+          let t, e, n, i;
+          return (
+            "function" == typeof (o = Array.prototype.slice.call(o))[o.length - 1] && (i = o.pop()),
+            "string" == typeof o[0]
+              ? ((t = o[0]), "object" == typeof o[2] ? ((e = o[1]), (n = o[2])) : ((e = void 0), (n = o[1])))
+              : ((t = ""), (e = o[0]), (n = o[1])),
+            n instanceof Options || (n = new Options(n)),
+            { path: t, schema: e, options: n, callback: i }
+          );
+        }
+        module.exports = normalizeArgs;
+      },
+      { "./options": 10 },
+    ],
+    10: [
+      function (require, module, exports) {
+        "use strict";
+        const jsonParser = require("./parsers/json"),
+          yamlParser = require("./parsers/yaml"),
+          textParser = require("./parsers/text"),
+          binaryParser = require("./parsers/binary"),
+          fileResolver = require("./resolvers/file"),
+          httpResolver = require("./resolvers/http");
+        function $RefParserOptions(e) {
+          merge(this, $RefParserOptions.defaults), merge(this, e);
+        }
+        function merge(e, r) {
+          if (isMergeable(r)) {
+            let s = Object.keys(r);
+            for (let t = 0; t < s.length; t++) {
+              let a = s[t],
+                i = r[a],
+                n = e[a];
+              isMergeable(i) ? (e[a] = merge(n || {}, i)) : void 0 !== i && (e[a] = i);
+            }
+          }
+          return e;
+        }
+        function isMergeable(e) {
+          return e && "object" == typeof e && !Array.isArray(e) && !(e instanceof RegExp) && !(e instanceof Date);
+        }
+        (module.exports = $RefParserOptions),
+          ($RefParserOptions.defaults = {
+            parse: { json: jsonParser, yaml: yamlParser, text: textParser, binary: binaryParser },
+            resolve: { file: fileResolver, http: httpResolver, external: !0 },
+            continueOnError: !1,
+            dereference: { circular: !0 },
+          });
+      },
+      {
+        "./parsers/binary": 12,
+        "./parsers/json": 13,
+        "./parsers/text": 14,
+        "./parsers/yaml": 15,
+        "./resolvers/file": 20,
+        "./resolvers/http": 21,
+      },
+    ],
+    11: [
+      function (require, module, exports) {
+        (function (Buffer) {
+          (function () {
+            "use strict";
+            const { ono: ono } = require("@jsdevtools/ono"),
+              url = require("./util/url"),
+              plugins = require("./util/plugins"),
+              {
+                ResolverError: ResolverError,
+                ParserError: ParserError,
+                UnmatchedParserError: UnmatchedParserError,
+                UnmatchedResolverError: UnmatchedResolverError,
+                isHandledError: isHandledError,
+              } = require("./util/errors");
+            async function parse(r, e, n) {
+              r = url.stripHash(r);
+              let o = e._add(r),
+                s = { url: r, extension: url.getExtension(r) };
+              try {
+                const r = await readFile(s, n, e);
+                (o.pathType = r.plugin.name), (s.data = r.result);
+                const t = await parseFile(s, n, e);
+                return (o.value = t.result), t.result;
+              } catch (r) {
+                throw (isHandledError(r) && (o.value = r), r);
+              }
+            }
+            function readFile(r, e, n) {
+              return new Promise((o, s) => {
+                let t = plugins.all(e.resolve);
+                (t = plugins.filter(t, "canRead", r)),
+                  plugins.sort(t),
+                  plugins.run(t, "read", r, n).then(o, function (n) {
+                    !n && e.continueOnError
+                      ? s(new UnmatchedResolverError(r.url))
+                      : n && "error" in n
+                        ? n.error instanceof ResolverError
+                          ? s(n.error)
+                          : s(new ResolverError(n, r.url))
+                        : s(ono.syntax(`Unable to resolve $ref pointer "${r.url}"`));
+                  });
+              });
+            }
+            function parseFile(r, e, n) {
+              return new Promise((o, s) => {
+                let t = plugins.all(e.parse),
+                  l = plugins.filter(t, "canParse", r),
+                  a = l.length > 0 ? l : t;
+                plugins.sort(a),
+                  plugins.run(a, "parse", r, n).then(
+                    function (e) {
+                      !e.plugin.allowEmpty && isEmpty(e.result)
+                        ? s(ono.syntax(`Error parsing "${r.url}" as ${e.plugin.name}. \nParsed value is empty`))
+                        : o(e);
+                    },
+                    function (n) {
+                      !n && e.continueOnError
+                        ? s(new UnmatchedParserError(r.url))
+                        : n && "error" in n
+                          ? n.error instanceof ParserError
+                            ? s(n.error)
+                            : s(new ParserError(n.error.message, r.url))
+                          : s(ono.syntax(`Unable to parse ${r.url}`));
+                    },
+                  );
+              });
+            }
+            function isEmpty(r) {
+              return (
+                void 0 === r ||
+                ("object" == typeof r && 0 === Object.keys(r).length) ||
+                ("string" == typeof r && 0 === r.trim().length) ||
+                (Buffer.isBuffer(r) && 0 === r.length)
+              );
+            }
+            module.exports = parse;
+          }).call(this);
+        }).call(this, { isBuffer: require("../../../is-buffer/index.js") });
+      },
+      {
+        "../../../is-buffer/index.js": 140,
+        "./util/errors": 22,
+        "./util/plugins": 23,
+        "./util/url": 24,
+        "@jsdevtools/ono": 33,
+      },
+    ],
+    12: [
+      function (require, module, exports) {
+        (function (Buffer) {
+          (function () {
+            "use strict";
+            let BINARY_REGEXP = /\.(jpeg|jpg|gif|png|bmp|ico)$/i;
+            module.exports = {
+              order: 400,
+              allowEmpty: !0,
+              canParse: (e) => Buffer.isBuffer(e.data) && BINARY_REGEXP.test(e.url),
+              parse: (e) => (Buffer.isBuffer(e.data) ? e.data : Buffer.from(e.data)),
+            };
+          }).call(this);
+        }).call(this, require("buffer").Buffer);
+      },
+      { buffer: 132 },
+    ],
+    13: [
+      function (require, module, exports) {
+        (function (Buffer) {
+          (function () {
+            "use strict";
+            const { ParserError: ParserError } = require("../util/errors");
+            module.exports = {
+              order: 100,
+              allowEmpty: !0,
+              canParse: ".json",
+              async parse(r) {
+                let e = r.data;
+                if ((Buffer.isBuffer(e) && (e = e.toString()), "string" != typeof e)) return e;
+                if (0 !== e.trim().length)
+                  try {
+                    return JSON.parse(e);
+                  } catch (e) {
+                    throw new ParserError(e.message, r.url);
+                  }
+              },
+            };
+          }).call(this);
+        }).call(this, { isBuffer: require("../../../../is-buffer/index.js") });
+      },
+      { "../../../../is-buffer/index.js": 140, "../util/errors": 22 },
+    ],
+    14: [
+      function (require, module, exports) {
+        (function (Buffer) {
+          (function () {
+            "use strict";
+            const { ParserError: ParserError } = require("../util/errors");
+            let TEXT_REGEXP = /\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i;
+            module.exports = {
+              order: 300,
+              allowEmpty: !0,
+              encoding: "utf8",
+              canParse: (r) => ("string" == typeof r.data || Buffer.isBuffer(r.data)) && TEXT_REGEXP.test(r.url),
+              parse(r) {
+                if ("string" == typeof r.data) return r.data;
+                if (Buffer.isBuffer(r.data)) return r.data.toString(this.encoding);
+                throw new ParserError("data is not text", r.url);
+              },
+            };
+          }).call(this);
+        }).call(this, { isBuffer: require("../../../../is-buffer/index.js") });
+      },
+      { "../../../../is-buffer/index.js": 140, "../util/errors": 22 },
+    ],
+    15: [
+      function (require, module, exports) {
+        (function (Buffer) {
+          (function () {
+            "use strict";
+            const { ParserError: ParserError } = require("../util/errors"),
+              yaml = require("js-yaml");
+            module.exports = {
+              order: 200,
+              allowEmpty: !0,
+              canParse: [".yaml", ".yml", ".json"],
+              async parse(r) {
+                let e = r.data;
+                if ((Buffer.isBuffer(e) && (e = e.toString()), "string" != typeof e)) return e;
+                try {
+                  return yaml.safeLoad(e);
+                } catch (e) {
+                  throw new ParserError(e.message, r.url);
+                }
+              },
+            };
+          }).call(this);
+        }).call(this, { isBuffer: require("../../../../is-buffer/index.js") });
+      },
+      { "../../../../is-buffer/index.js": 140, "../util/errors": 22, "js-yaml": 141 },
+    ],
+    16: [
+      function (require, module, exports) {
+        "use strict";
+        module.exports = Pointer;
+        const $Ref = require("./ref"),
+          url = require("./util/url"),
+          {
+            JSONParserError: JSONParserError,
+            InvalidPointerError: InvalidPointerError,
+            MissingPointerError: MissingPointerError,
+            isHandledError: isHandledError,
+          } = require("./util/errors"),
+          slashes = /\//g,
+          tildes = /~/g,
+          escapedSlash = /~1/g,
+          escapedTilde = /~0/g;
+        function Pointer(e, r, t) {
+          (this.$ref = e),
+            (this.path = r),
+            (this.originalPath = t || r),
+            (this.value = void 0),
+            (this.circular = !1),
+            (this.indirections = 0);
+        }
+        function resolveIf$Ref(e, r) {
+          if ($Ref.isAllowed$Ref(e.value, r)) {
+            let t = url.resolve(e.path, e.value.$ref);
+            if (t !== e.path) {
+              let i = e.$ref.$refs._resolve(t, e.path, r);
+              return (
+                (e.indirections += i.indirections + 1),
+                $Ref.isExtended$Ref(e.value)
+                  ? ((e.value = $Ref.dereference(e.value, i.value)), !1)
+                  : ((e.$ref = i.$ref), (e.path = i.path), (e.value = i.value), !0)
+              );
+            }
+            e.circular = !0;
+          }
+        }
+        function setValue(e, r, t) {
+          if (!e.value || "object" != typeof e.value)
+            throw new JSONParserError(`Error assigning $ref pointer "${e.path}". \nCannot set "${r}" of a non-object.`);
+          return "-" === r && Array.isArray(e.value) ? e.value.push(t) : (e.value[r] = t), t;
+        }
+        function unwrapOrThrow(e) {
+          if (isHandledError(e)) throw e;
+          return e;
+        }
+        (Pointer.prototype.resolve = function (e, r, t) {
+          let i = Pointer.parse(this.path, this.originalPath);
+          this.value = unwrapOrThrow(e);
+          for (let e = 0; e < i.length; e++) {
+            if (
+              (resolveIf$Ref(this, r) && (this.path = Pointer.join(this.path, i.slice(e))),
+              "object" == typeof this.value && null !== this.value && "$ref" in this.value)
+            )
+              return this;
+            let t = i[e];
+            if (void 0 === this.value[t] || null === this.value[t])
+              throw ((this.value = null), new MissingPointerError(t, this.originalPath));
+            this.value = this.value[t];
+          }
+          return (
+            (!this.value || (this.value.$ref && url.resolve(this.path, this.value.$ref) !== t)) &&
+              resolveIf$Ref(this, r),
+            this
+          );
+        }),
+          (Pointer.prototype.set = function (e, r, t) {
+            let i,
+              s = Pointer.parse(this.path);
+            if (0 === s.length) return (this.value = r), r;
+            this.value = unwrapOrThrow(e);
+            for (let e = 0; e < s.length - 1; e++)
+              resolveIf$Ref(this, t),
+                (i = s[e]),
+                this.value && void 0 !== this.value[i]
+                  ? (this.value = this.value[i])
+                  : (this.value = setValue(this, i, {}));
+            return resolveIf$Ref(this, t), setValue(this, (i = s[s.length - 1]), r), e;
+          }),
+          (Pointer.parse = function (e, r) {
+            let t = url.getHash(e).substr(1);
+            if (!t) return [];
+            t = t.split("/");
+            for (let e = 0; e < t.length; e++)
+              t[e] = decodeURIComponent(t[e].replace(escapedSlash, "/").replace(escapedTilde, "~"));
+            if ("" !== t[0]) throw new InvalidPointerError(t, void 0 === r ? e : r);
+            return t.slice(1);
+          }),
+          (Pointer.join = function (e, r) {
+            -1 === e.indexOf("#") && (e += "#"), (r = Array.isArray(r) ? r : [r]);
+            for (let t = 0; t < r.length; t++) {
+              let i = r[t];
+              e += "/" + encodeURIComponent(i.replace(tildes, "~0").replace(slashes, "~1"));
+            }
+            return e;
+          });
+      },
+      { "./ref": 17, "./util/errors": 22, "./util/url": 24 },
+    ],
+    17: [
+      function (require, module, exports) {
+        "use strict";
+        module.exports = $Ref;
+        const Pointer = require("./pointer"),
+          {
+            InvalidPointerError: InvalidPointerError,
+            isHandledError: isHandledError,
+            normalizeError: normalizeError,
+          } = require("./util/errors"),
+          { safePointerToPath: safePointerToPath, stripHash: stripHash, getHash: getHash } = require("./util/url");
+        function $Ref() {
+          (this.path = void 0),
+            (this.value = void 0),
+            (this.$refs = void 0),
+            (this.pathType = void 0),
+            (this.errors = void 0);
+        }
+        ($Ref.prototype.addError = function (r) {
+          void 0 === this.errors && (this.errors = []),
+            Array.isArray(r.errors)
+              ? this.errors.push(...r.errors.map(normalizeError))
+              : this.errors.push(normalizeError(r));
+        }),
+          ($Ref.prototype.exists = function (r, e) {
+            try {
+              return this.resolve(r, e), !0;
+            } catch (r) {
+              return !1;
+            }
+          }),
+          ($Ref.prototype.get = function (r, e) {
+            return this.resolve(r, e).value;
+          }),
+          ($Ref.prototype.resolve = function (r, e, t, o) {
+            let i = new Pointer(this, r, t);
+            try {
+              return i.resolve(this.value, e, o);
+            } catch (r) {
+              if (!e || !e.continueOnError || !isHandledError(r)) throw r;
+              return (
+                null === r.path && (r.path = safePointerToPath(getHash(o))),
+                r instanceof InvalidPointerError && (r.source = stripHash(o)),
+                this.addError(r),
+                null
+              );
+            }
+          }),
+          ($Ref.prototype.set = function (r, e) {
+            let t = new Pointer(this, r);
+            this.value = t.set(this.value, e);
+          }),
+          ($Ref.is$Ref = function (r) {
+            return r && "object" == typeof r && "string" == typeof r.$ref && r.$ref.length > 0;
+          }),
+          ($Ref.isExternal$Ref = function (r) {
+            return $Ref.is$Ref(r) && "#" !== r.$ref[0];
+          }),
+          ($Ref.isAllowed$Ref = function (r, e) {
+            if ($Ref.is$Ref(r)) {
+              if ("#/" === r.$ref.substr(0, 2) || "#" === r.$ref) return !0;
+              if ("#" !== r.$ref[0] && (!e || e.resolve.external)) return !0;
+            }
+          }),
+          ($Ref.isExtended$Ref = function (r) {
+            return $Ref.is$Ref(r) && Object.keys(r).length > 1;
+          }),
+          ($Ref.dereference = function (r, e) {
+            if (e && "object" == typeof e && $Ref.isExtended$Ref(r)) {
+              let t = {};
+              for (let e of Object.keys(r)) "$ref" !== e && (t[e] = r[e]);
+              for (let r of Object.keys(e)) r in t || (t[r] = e[r]);
+              return t;
+            }
+            return e;
+          });
+      },
+      { "./pointer": 16, "./util/errors": 22, "./util/url": 24 },
+    ],
+    18: [
+      function (require, module, exports) {
+        "use strict";
+        const { ono: ono } = require("@jsdevtools/ono"),
+          $Ref = require("./ref"),
+          url = require("./util/url");
+        function $Refs() {
+          (this.circular = !1), (this._$refs = {}), (this._root$Ref = null);
+        }
+        function getPaths(e, t) {
+          let r = Object.keys(e);
+          return (
+            (t = Array.isArray(t[0]) ? t[0] : Array.prototype.slice.call(t)).length > 0 &&
+              t[0] &&
+              (r = r.filter((r) => -1 !== t.indexOf(e[r].pathType))),
+            r.map((t) => ({ encoded: t, decoded: "file" === e[t].pathType ? url.toFileSystemPath(t, !0) : t }))
+          );
+        }
+        (module.exports = $Refs),
+          ($Refs.prototype.paths = function (e) {
+            return getPaths(this._$refs, arguments).map((e) => e.decoded);
+          }),
+          ($Refs.prototype.values = function (e) {
+            let t = this._$refs;
+            return getPaths(t, arguments).reduce((e, r) => ((e[r.decoded] = t[r.encoded].value), e), {});
+          }),
+          ($Refs.prototype.toJSON = $Refs.prototype.values),
+          ($Refs.prototype.exists = function (e, t) {
+            try {
+              return this._resolve(e, "", t), !0;
+            } catch (e) {
+              return !1;
+            }
+          }),
+          ($Refs.prototype.get = function (e, t) {
+            return this._resolve(e, "", t).value;
+          }),
+          ($Refs.prototype.set = function (e, t) {
+            let r = url.resolve(this._root$Ref.path, e),
+              o = url.stripHash(r),
+              s = this._$refs[o];
+            if (!s) throw ono(`Error resolving $ref pointer "${e}". \n"${o}" not found.`);
+            s.set(r, t);
+          }),
+          ($Refs.prototype._add = function (e) {
+            let t = url.stripHash(e),
+              r = new $Ref();
+            return (r.path = t), (r.$refs = this), (this._$refs[t] = r), (this._root$Ref = this._root$Ref || r), r;
+          }),
+          ($Refs.prototype._resolve = function (e, t, r) {
+            let o = url.resolve(this._root$Ref.path, e),
+              s = url.stripHash(o),
+              n = this._$refs[s];
+            if (!n) throw ono(`Error resolving $ref pointer "${e}". \n"${s}" not found.`);
+            return n.resolve(o, r, e, t);
+          }),
+          ($Refs.prototype._get$Ref = function (e) {
+            e = url.resolve(this._root$Ref.path, e);
+            let t = url.stripHash(e);
+            return this._$refs[t];
+          });
+      },
+      { "./ref": 17, "./util/url": 24, "@jsdevtools/ono": 33 },
+    ],
+    19: [
+      function (require, module, exports) {
+        "use strict";
+        const $Ref = require("./ref"),
+          Pointer = require("./pointer"),
+          parse = require("./parse"),
+          url = require("./util/url"),
+          { isHandledError: isHandledError } = require("./util/errors");
+        function resolveExternal(e, r) {
+          if (!r.resolve.external) return Promise.resolve();
+          try {
+            let t = crawl(e.schema, e.$refs._root$Ref.path + "#", e.$refs, r);
+            return Promise.all(t);
+          } catch (e) {
+            return Promise.reject(e);
+          }
+        }
+        function crawl(e, r, t, s) {
+          let l = [];
+          if (e && "object" == typeof e && !ArrayBuffer.isView(e))
+            if ($Ref.isExternal$Ref(e)) l.push(resolve$Ref(e, r, t, s));
+            else
+              for (let o of Object.keys(e)) {
+                let i = Pointer.join(r, o),
+                  a = e[o];
+                $Ref.isExternal$Ref(a) ? l.push(resolve$Ref(a, i, t, s)) : (l = l.concat(crawl(a, i, t, s)));
+              }
+          return l;
+        }
+        async function resolve$Ref(e, r, t, s) {
+          let l = url.resolve(r, e.$ref),
+            o = url.stripHash(l);
+          if ((e = t._$refs[o])) return Promise.resolve(e.value);
+          try {
+            let e = crawl(await parse(l, t, s), o + "#", t, s);
+            return Promise.all(e);
+          } catch (e) {
+            if (!s.continueOnError || !isHandledError(e)) throw e;
+            return t._$refs[o] && ((e.source = url.stripHash(r)), (e.path = url.safePointerToPath(url.getHash(r)))), [];
+          }
+        }
+        module.exports = resolveExternal;
+      },
+      { "./parse": 11, "./pointer": 16, "./ref": 17, "./util/errors": 22, "./util/url": 24 },
+    ],
+    20: [
+      function (require, module, exports) {
+        "use strict";
+        const fs = require("fs"),
+          { ono: ono } = require("@jsdevtools/ono"),
+          url = require("../util/url"),
+          { ResolverError: ResolverError } = require("../util/errors");
+        module.exports = {
+          order: 100,
+          canRead: (r) => url.isFileSystemPath(r.url),
+          read: (r) =>
+            new Promise((e, o) => {
+              let l;
+              try {
+                l = url.toFileSystemPath(r.url);
+              } catch (e) {
+                o(new ResolverError(ono.uri(e, `Malformed URI: ${r.url}`), r.url));
+              }
+              try {
+                fs.readFile(l, (r, s) => {
+                  r ? o(new ResolverError(ono(r, `Error opening file "${l}"`), l)) : e(s);
+                });
+              } catch (r) {
+                o(new ResolverError(ono(r, `Error opening file "${l}"`), l));
+              }
+            }),
+        };
+      },
+      { "../util/errors": 22, "../util/url": 24, "@jsdevtools/ono": 33, fs: 131 },
+    ],
+    21: [
+      function (require, module, exports) {
+        (function (process, Buffer) {
+          (function () {
+            "use strict";
+            const http = require("http"),
+              https = require("https"),
+              { ono: ono } = require("@jsdevtools/ono"),
+              url = require("../util/url"),
+              { ResolverError: ResolverError } = require("../util/errors");
+            function download(o, e, r) {
+              return new Promise((t, s) => {
+                (o = url.parse(o)),
+                  (r = r || []).push(o.href),
+                  get(o, e)
+                    .then((n) => {
+                      if (n.statusCode >= 400) throw ono({ status: n.statusCode }, `HTTP ERROR ${n.statusCode}`);
+                      if (n.statusCode >= 300)
+                        if (r.length > e.redirects)
+                          s(
+                            new ResolverError(
+                              ono(
+                                { status: n.statusCode },
+                                `Error downloading ${r[0]}. \nToo many redirects: \n  ${r.join(" \n  ")}`,
+                              ),
+                            ),
+                          );
+                        else {
+                          if (!n.headers.location)
+                            throw ono(
+                              { status: n.statusCode },
+                              `HTTP ${n.statusCode} redirect with no location header`,
+                            );
+                          download(url.resolve(o, n.headers.location), e, r).then(t, s);
+                        }
+                      else t(n.body || Buffer.alloc(0));
+                    })
+                    .catch((e) => {
+                      s(new ResolverError(ono(e, `Error downloading ${o.href}`), o.href));
+                    });
+              });
+            }
+            function get(o, e) {
+              return new Promise((r, t) => {
+                let s = ("https:" === o.protocol ? https : http).get({
+                  hostname: o.hostname,
+                  port: o.port,
+                  path: o.path,
+                  auth: o.auth,
+                  protocol: o.protocol,
+                  headers: e.headers || {},
+                  withCredentials: e.withCredentials,
+                });
+                "function" == typeof s.setTimeout && s.setTimeout(e.timeout),
+                  s.on("timeout", () => {
+                    s.abort();
+                  }),
+                  s.on("error", t),
+                  s.once("response", (o) => {
+                    (o.body = Buffer.alloc(0)),
+                      o.on("data", (e) => {
+                        o.body = Buffer.concat([o.body, Buffer.from(e)]);
+                      }),
+                      o.on("error", t),
+                      o.on("end", () => {
+                        r(o);
+                      });
+                  });
+              });
+            }
+            module.exports = {
+              order: 200,
+              headers: null,
+              timeout: 5e3,
+              redirects: 5,
+              withCredentials: !1,
+              canRead: (o) => url.isHttp(o.url),
+              read(o) {
+                let e = url.parse(o.url);
+                return (
+                  process.browser && !e.protocol && (e.protocol = url.parse(location.href).protocol), download(e, this)
+                );
+              },
+            };
+          }).call(this);
+        }).call(this, require("_process"), require("buffer").Buffer);
+      },
+      {
+        "../util/errors": 22,
+        "../util/url": 24,
+        "@jsdevtools/ono": 33,
+        _process: 172,
+        buffer: 132,
+        http: 192,
+        https: 137,
+      },
+    ],
+    22: [
+      function (require, module, exports) {
+        "use strict";
+        const { Ono: Ono } = require("@jsdevtools/ono"),
+          { stripHash: stripHash, toFileSystemPath: toFileSystemPath } = require("./url"),
+          JSONParserError = (exports.JSONParserError = class extends Error {
+            constructor(r, e) {
+              super(),
+                (this.code = "EUNKNOWN"),
+                (this.message = r),
+                (this.source = e),
+                (this.path = null),
+                Ono.extend(this);
+            }
+          });
+        setErrorName(JSONParserError);
+        const JSONParserErrorGroup = (exports.JSONParserErrorGroup = class r extends Error {
+          constructor(r) {
+            super(),
+              (this.files = r),
+              (this.message = `${this.errors.length} error${this.errors.length > 1 ? "s" : ""} occurred while reading '${toFileSystemPath(r.$refs._root$Ref.path)}'`),
+              Ono.extend(this);
+          }
+          static getParserErrors(r) {
+            const e = [];
+            for (const s of Object.values(r.$refs._$refs)) s.errors && e.push(...s.errors);
+            return e;
+          }
+          get errors() {
+            return r.getParserErrors(this.files);
+          }
+        });
+        setErrorName(JSONParserErrorGroup);
+        const ParserError = (exports.ParserError = class extends JSONParserError {
+          constructor(r, e) {
+            super(`Error parsing ${e}: ${r}`, e), (this.code = "EPARSER");
+          }
+        });
+        setErrorName(ParserError);
+        const UnmatchedParserError = (exports.UnmatchedParserError = class extends JSONParserError {
+          constructor(r) {
+            super(`Could not find parser for "${r}"`, r), (this.code = "EUNMATCHEDPARSER");
+          }
+        });
+        setErrorName(UnmatchedParserError);
+        const ResolverError = (exports.ResolverError = class extends JSONParserError {
+          constructor(r, e) {
+            super(r.message || `Error reading file "${e}"`, e),
+              (this.code = "ERESOLVER"),
+              "code" in r && (this.ioErrorCode = String(r.code));
+          }
+        });
+        setErrorName(ResolverError);
+        const UnmatchedResolverError = (exports.UnmatchedResolverError = class extends JSONParserError {
+          constructor(r) {
+            super(`Could not find resolver for "${r}"`, r), (this.code = "EUNMATCHEDRESOLVER");
+          }
+        });
+        setErrorName(UnmatchedResolverError);
+        const MissingPointerError = (exports.MissingPointerError = class extends JSONParserError {
+          constructor(r, e) {
+            super(`Token "${r}" does not exist.`, stripHash(e)), (this.code = "EMISSINGPOINTER");
+          }
+        });
+        setErrorName(MissingPointerError);
+        const InvalidPointerError = (exports.InvalidPointerError = class extends JSONParserError {
+          constructor(r, e) {
+            super(`Invalid $ref pointer "${r}". Pointers must begin with "#/"`, stripHash(e)),
+              (this.code = "EINVALIDPOINTER");
+          }
+        });
+        function setErrorName(r) {
+          Object.defineProperty(r.prototype, "name", { value: r.name, enumerable: !0 });
+        }
+        setErrorName(InvalidPointerError),
+          (exports.isHandledError = function (r) {
+            return r instanceof JSONParserError || r instanceof JSONParserErrorGroup;
+          }),
+          (exports.normalizeError = function (r) {
+            return null === r.path && (r.path = []), r;
+          });
+      },
+      { "./url": 24, "@jsdevtools/ono": 33 },
+    ],
+    23: [
+      function (require, module, exports) {
+        "use strict";
+        function getResult(e, t, r, n, o) {
+          let i = e[t];
+          if ("function" == typeof i) return i.apply(e, [r, n, o]);
+          if (!n) {
+            if (i instanceof RegExp) return i.test(r.url);
+            if ("string" == typeof i) return i === r.extension;
+            if (Array.isArray(i)) return -1 !== i.indexOf(r.extension);
+          }
+          return i;
+        }
+        (exports.all = function (e) {
+          return Object.keys(e)
+            .filter((t) => "object" == typeof e[t])
+            .map((t) => ((e[t].name = t), e[t]));
+        }),
+          (exports.filter = function (e, t, r) {
+            return e.filter((e) => !!getResult(e, t, r));
+          }),
+          (exports.sort = function (e) {
+            for (let t of e) t.order = t.order || Number.MAX_SAFE_INTEGER;
+            return e.sort((e, t) => e.order - t.order);
+          }),
+          (exports.run = function (e, t, r, n) {
+            let o,
+              i,
+              u = 0;
+            return new Promise((f, s) => {
+              function l() {
+                if (!(o = e[u++])) return s(i);
+                try {
+                  let i = getResult(o, t, r, c, n);
+                  if (i && "function" == typeof i.then) i.then(p, a);
+                  else if (void 0 !== i) p(i);
+                  else if (u === e.length) throw new Error("No promise has been returned or callback has been called.");
+                } catch (e) {
+                  a(e);
+                }
+              }
+              function c(e, t) {
+                e ? a(e) : p(t);
+              }
+              function p(e) {
+                f({ plugin: o, result: e });
+              }
+              function a(e) {
+                (i = { plugin: o, error: e }), l();
+              }
+              l();
+            });
+          });
+      },
+      {},
+    ],
+    24: [
+      function (require, module, exports) {
+        (function (process) {
+          (function () {
+            "use strict";
+            let isWindows = /^win/.test(process.platform),
+              forwardSlashPattern = /\//g,
+              protocolPattern = /^(\w{2,}):\/\//i,
+              url = module.exports,
+              jsonPointerSlash = /~1/g,
+              jsonPointerTilde = /~0/g,
+              urlEncodePatterns = [/\?/g, "%3F", /\#/g, "%23"],
+              urlDecodePatterns = [/\%23/g, "#", /\%24/g, "$", /\%26/g, "&", /\%2C/g, ",", /\%40/g, "@"];
+            (exports.parse = require("url").parse),
+              (exports.resolve = require("url").resolve),
+              (exports.cwd = function () {
+                if (process.browser) return location.href;
+                let e = process.cwd(),
+                  t = e.slice(-1);
+                return "/" === t || "\\" === t ? e : e + "/";
+              }),
+              (exports.getProtocol = function (e) {
+                let t = protocolPattern.exec(e);
+                if (t) return t[1].toLowerCase();
+              }),
+              (exports.getExtension = function (e) {
+                let t = e.lastIndexOf(".");
+                return t >= 0 ? e.substr(t).toLowerCase() : "";
+              }),
+              (exports.getHash = function (e) {
+                let t = e.indexOf("#");
+                return t >= 0 ? e.substr(t) : "#";
+              }),
+              (exports.stripHash = function (e) {
+                let t = e.indexOf("#");
+                return t >= 0 && (e = e.substr(0, t)), e;
+              }),
+              (exports.isHttp = function (e) {
+                let t = url.getProtocol(e);
+                return "http" === t || "https" === t || (void 0 === t && process.browser);
+              }),
+              (exports.isFileSystemPath = function (e) {
+                if (process.browser) return !1;
+                let t = url.getProtocol(e);
+                return void 0 === t || "file" === t;
+              }),
+              (exports.fromFileSystemPath = function (e) {
+                isWindows && (e = e.replace(/\\/g, "/")), (e = encodeURI(e));
+                for (let t = 0; t < urlEncodePatterns.length; t += 2)
+                  e = e.replace(urlEncodePatterns[t], urlEncodePatterns[t + 1]);
+                return e;
+              }),
+              (exports.toFileSystemPath = function (e, t) {
+                e = decodeURI(e);
+                for (let t = 0; t < urlDecodePatterns.length; t += 2)
+                  e = e.replace(urlDecodePatterns[t], urlDecodePatterns[t + 1]);
+                let r = "file://" === e.substr(0, 7).toLowerCase();
+                return (
+                  r &&
+                    ((e = "/" === e[7] ? e.substr(8) : e.substr(7)),
+                    isWindows && "/" === e[1] && (e = e[0] + ":" + e.substr(1)),
+                    t ? (e = "file:///" + e) : ((r = !1), (e = isWindows ? e : "/" + e))),
+                  isWindows &&
+                    !r &&
+                    ":\\" === (e = e.replace(forwardSlashPattern, "\\")).substr(1, 2) &&
+                    (e = e[0].toUpperCase() + e.substr(1)),
+                  e
+                );
+              }),
+              (exports.safePointerToPath = function (e) {
+                return e.length <= 1 || "#" !== e[0] || "/" !== e[1]
+                  ? []
+                  : e
+                      .slice(2)
+                      .split("/")
+                      .map((e) => decodeURIComponent(e).replace(jsonPointerSlash, "/").replace(jsonPointerTilde, "~"));
+              });
+          }).call(this);
+        }).call(this, require("_process"));
+      },
+      { _process: 172, url: 199 },
+    ],
+    25: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.openapi = exports.openapiV31 = exports.openapiV3 = exports.openapiV2 = exports.openapiV1 = void 0),
+          (exports.openapiV1 = require("../schemas/v1.2/apiDeclaration.json")),
+          (exports.openapiV2 = require("../schemas/v2.0/schema.json")),
+          (exports.openapiV3 = require("../schemas/v3.0/schema.json")),
+          (exports.openapiV31 = require("../schemas/v3.1/schema.json")),
+          (exports.openapi = {
+            v1: exports.openapiV1,
+            v2: exports.openapiV2,
+            v3: exports.openapiV3,
+            v31: exports.openapiV31,
+          }),
+          (exports.default = exports.openapi),
+          "object" == typeof module &&
+            "object" == typeof module.exports &&
+            (module.exports = Object.assign(module.exports.default, module.exports));
+      },
+      {
+        "../schemas/v1.2/apiDeclaration.json": 26,
+        "../schemas/v2.0/schema.json": 27,
+        "../schemas/v3.0/schema.json": 28,
+        "../schemas/v3.1/schema.json": 29,
+      },
+    ],
+    26: [
+      function (require, module, exports) {
+        module.exports = {
+          id: "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/apiDeclaration.json#",
+          $schema: "http://json-schema.org/draft-04/schema#",
+          type: "object",
+          required: ["swaggerVersion", "basePath", "apis"],
+          properties: {
+            swaggerVersion: { enum: ["1.2"] },
+            apiVersion: { type: "string" },
+            basePath: { type: "string", format: "uri", pattern: "^https?://" },
+            resourcePath: { type: "string", format: "uri", pattern: "^/" },
+            apis: { type: "array", items: { $ref: "#/definitions/apiObject" } },
+            models: { type: "object", additionalProperties: { $ref: "modelsObject.json#" } },
+            produces: { $ref: "#/definitions/mimeTypeArray" },
+            consumes: { $ref: "#/definitions/mimeTypeArray" },
+            authorizations: { $ref: "authorizationObject.json#" },
+          },
+          additionalProperties: false,
+          definitions: {
+            apiObject: {
+              type: "object",
+              required: ["path", "operations"],
+              properties: {
+                path: { type: "string", format: "uri-template", pattern: "^/" },
+                description: { type: "string" },
+                operations: { type: "array", items: { $ref: "operationObject.json#" } },
+              },
+              additionalProperties: false,
+            },
+            mimeTypeArray: { type: "array", items: { type: "string", format: "mime-type" }, uniqueItems: true },
+          },
+        };
+      },
+      {},
+    ],
+    27: [
+      function (require, module, exports) {
+        module.exports = {
+          title: "A JSON Schema for Swagger 2.0 API.",
+          id: "http://swagger.io/v2/schema.json#",
+          $schema: "http://json-schema.org/draft-04/schema#",
+          type: "object",
+          required: ["swagger", "info", "paths"],
+          additionalProperties: false,
+          patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+          properties: {
+            swagger: { type: "string", enum: ["2.0"], description: "The Swagger version of this document." },
+            info: { $ref: "#/definitions/info" },
+            host: {
+              type: "string",
+              pattern: "^[^{}/ :\\\\]+(?::\\d+)?$",
+              description: "The host (name or ip) of the API. Example: 'swagger.io'",
+            },
+            basePath: { type: "string", pattern: "^/", description: "The base path to the API. Example: '/api'." },
+            schemes: { $ref: "#/definitions/schemesList" },
+            consumes: {
+              description: "A list of MIME types accepted by the API.",
+              allOf: [{ $ref: "#/definitions/mediaTypeList" }],
+            },
+            produces: {
+              description: "A list of MIME types the API can produce.",
+              allOf: [{ $ref: "#/definitions/mediaTypeList" }],
+            },
+            paths: { $ref: "#/definitions/paths" },
+            definitions: { $ref: "#/definitions/definitions" },
+            parameters: { $ref: "#/definitions/parameterDefinitions" },
+            responses: { $ref: "#/definitions/responseDefinitions" },
+            security: { $ref: "#/definitions/security" },
+            securityDefinitions: { $ref: "#/definitions/securityDefinitions" },
+            tags: { type: "array", items: { $ref: "#/definitions/tag" }, uniqueItems: true },
+            externalDocs: { $ref: "#/definitions/externalDocs" },
+          },
+          definitions: {
+            info: {
+              type: "object",
+              description: "General information about the API.",
+              required: ["version", "title"],
+              additionalProperties: false,
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              properties: {
+                title: { type: "string", description: "A unique and precise title of the API." },
+                version: { type: "string", description: "A semantic version number of the API." },
+                description: {
+                  type: "string",
+                  description:
+                    "A longer description of the API. Should be different from the title.  GitHub Flavored Markdown is allowed.",
+                },
+                termsOfService: { type: "string", description: "The terms of service for the API." },
+                contact: { $ref: "#/definitions/contact" },
+                license: { $ref: "#/definitions/license" },
+              },
+            },
+            contact: {
+              type: "object",
+              description: "Contact information for the owners of the API.",
+              additionalProperties: false,
+              properties: {
+                name: { type: "string", description: "The identifying name of the contact person/organization." },
+                url: { type: "string", description: "The URL pointing to the contact information.", format: "uri" },
+                email: {
+                  type: "string",
+                  description: "The email address of the contact person/organization.",
+                  format: "email",
+                },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            license: {
+              type: "object",
+              required: ["name"],
+              additionalProperties: false,
+              properties: {
+                name: {
+                  type: "string",
+                  description: "The name of the license type. It's encouraged to use an OSI compatible license.",
+                },
+                url: { type: "string", description: "The URL pointing to the license.", format: "uri" },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            paths: {
+              type: "object",
+              description: "Relative paths to the individual endpoints. They must be relative to the 'basePath'.",
+              patternProperties: {
+                "^x-": { $ref: "#/definitions/vendorExtension" },
+                "^/": { $ref: "#/definitions/pathItem" },
+              },
+              additionalProperties: false,
+            },
+            definitions: {
+              type: "object",
+              additionalProperties: { $ref: "#/definitions/schema" },
+              description: "One or more JSON objects describing the schemas being consumed and produced by the API.",
+            },
+            parameterDefinitions: {
+              type: "object",
+              additionalProperties: { $ref: "#/definitions/parameter" },
+              description: "One or more JSON representations for parameters",
+            },
+            responseDefinitions: {
+              type: "object",
+              additionalProperties: { $ref: "#/definitions/response" },
+              description: "One or more JSON representations for responses",
+            },
+            externalDocs: {
+              type: "object",
+              additionalProperties: false,
+              description: "information about external documentation",
+              required: ["url"],
+              properties: { description: { type: "string" }, url: { type: "string", format: "uri" } },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            examples: { type: "object", additionalProperties: true },
+            mimeType: { type: "string", description: "The MIME type of the HTTP message." },
+            operation: {
+              type: "object",
+              required: ["responses"],
+              additionalProperties: false,
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              properties: {
+                tags: { type: "array", items: { type: "string" }, uniqueItems: true },
+                summary: { type: "string", description: "A brief summary of the operation." },
+                description: {
+                  type: "string",
+                  description: "A longer description of the operation, GitHub Flavored Markdown is allowed.",
+                },
+                externalDocs: { $ref: "#/definitions/externalDocs" },
+                operationId: { type: "string", description: "A unique identifier of the operation." },
+                produces: {
+                  description: "A list of MIME types the API can produce.",
+                  allOf: [{ $ref: "#/definitions/mediaTypeList" }],
+                },
+                consumes: {
+                  description: "A list of MIME types the API can consume.",
+                  allOf: [{ $ref: "#/definitions/mediaTypeList" }],
+                },
+                parameters: { $ref: "#/definitions/parametersList" },
+                responses: { $ref: "#/definitions/responses" },
+                schemes: { $ref: "#/definitions/schemesList" },
+                deprecated: { type: "boolean", default: false },
+                security: { $ref: "#/definitions/security" },
+              },
+            },
+            pathItem: {
+              type: "object",
+              additionalProperties: false,
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              properties: {
+                $ref: { type: "string" },
+                get: { $ref: "#/definitions/operation" },
+                put: { $ref: "#/definitions/operation" },
+                post: { $ref: "#/definitions/operation" },
+                delete: { $ref: "#/definitions/operation" },
+                options: { $ref: "#/definitions/operation" },
+                head: { $ref: "#/definitions/operation" },
+                patch: { $ref: "#/definitions/operation" },
+                parameters: { $ref: "#/definitions/parametersList" },
+              },
+            },
+            responses: {
+              type: "object",
+              description: "Response objects names can either be any valid HTTP status code or 'default'.",
+              minProperties: 1,
+              additionalProperties: false,
+              patternProperties: {
+                "^([0-9]{3})$|^(default)$": { $ref: "#/definitions/responseValue" },
+                "^x-": { $ref: "#/definitions/vendorExtension" },
+              },
+              not: {
+                type: "object",
+                additionalProperties: false,
+                patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              },
+            },
+            responseValue: { oneOf: [{ $ref: "#/definitions/response" }, { $ref: "#/definitions/jsonReference" }] },
+            response: {
+              type: "object",
+              required: ["description"],
+              properties: {
+                description: { type: "string" },
+                schema: { oneOf: [{ $ref: "#/definitions/schema" }, { $ref: "#/definitions/fileSchema" }] },
+                headers: { $ref: "#/definitions/headers" },
+                examples: { $ref: "#/definitions/examples" },
+              },
+              additionalProperties: false,
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            headers: { type: "object", additionalProperties: { $ref: "#/definitions/header" } },
+            header: {
+              type: "object",
+              additionalProperties: false,
+              required: ["type"],
+              properties: {
+                type: { type: "string", enum: ["string", "number", "integer", "boolean", "array"] },
+                format: { type: "string" },
+                items: { $ref: "#/definitions/primitivesItems" },
+                collectionFormat: { $ref: "#/definitions/collectionFormat" },
+                default: { $ref: "#/definitions/default" },
+                maximum: { $ref: "#/definitions/maximum" },
+                exclusiveMaximum: { $ref: "#/definitions/exclusiveMaximum" },
+                minimum: { $ref: "#/definitions/minimum" },
+                exclusiveMinimum: { $ref: "#/definitions/exclusiveMinimum" },
+                maxLength: { $ref: "#/definitions/maxLength" },
+                minLength: { $ref: "#/definitions/minLength" },
+                pattern: { $ref: "#/definitions/pattern" },
+                maxItems: { $ref: "#/definitions/maxItems" },
+                minItems: { $ref: "#/definitions/minItems" },
+                uniqueItems: { $ref: "#/definitions/uniqueItems" },
+                enum: { $ref: "#/definitions/enum" },
+                multipleOf: { $ref: "#/definitions/multipleOf" },
+                description: { type: "string" },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            vendorExtension: {
+              description: "Any property starting with x- is valid.",
+              additionalProperties: true,
+              additionalItems: true,
+            },
+            bodyParameter: {
+              type: "object",
+              required: ["name", "in", "schema"],
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              properties: {
+                description: {
+                  type: "string",
+                  description:
+                    "A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.",
+                },
+                name: { type: "string", description: "The name of the parameter." },
+                in: { type: "string", description: "Determines the location of the parameter.", enum: ["body"] },
+                required: {
+                  type: "boolean",
+                  description: "Determines whether or not this parameter is required or optional.",
+                  default: false,
+                },
+                schema: { $ref: "#/definitions/schema" },
+              },
+              additionalProperties: false,
+            },
+            headerParameterSubSchema: {
+              additionalProperties: false,
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              properties: {
+                required: {
+                  type: "boolean",
+                  description: "Determines whether or not this parameter is required or optional.",
+                  default: false,
+                },
+                in: { type: "string", description: "Determines the location of the parameter.", enum: ["header"] },
+                description: {
+                  type: "string",
+                  description:
+                    "A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.",
+                },
+                name: { type: "string", description: "The name of the parameter." },
+                type: { type: "string", enum: ["string", "number", "boolean", "integer", "array"] },
+                format: { type: "string" },
+                items: { $ref: "#/definitions/primitivesItems" },
+                collectionFormat: { $ref: "#/definitions/collectionFormat" },
+                default: { $ref: "#/definitions/default" },
+                maximum: { $ref: "#/definitions/maximum" },
+                exclusiveMaximum: { $ref: "#/definitions/exclusiveMaximum" },
+                minimum: { $ref: "#/definitions/minimum" },
+                exclusiveMinimum: { $ref: "#/definitions/exclusiveMinimum" },
+                maxLength: { $ref: "#/definitions/maxLength" },
+                minLength: { $ref: "#/definitions/minLength" },
+                pattern: { $ref: "#/definitions/pattern" },
+                maxItems: { $ref: "#/definitions/maxItems" },
+                minItems: { $ref: "#/definitions/minItems" },
+                uniqueItems: { $ref: "#/definitions/uniqueItems" },
+                enum: { $ref: "#/definitions/enum" },
+                multipleOf: { $ref: "#/definitions/multipleOf" },
+              },
+            },
+            queryParameterSubSchema: {
+              additionalProperties: false,
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              properties: {
+                required: {
+                  type: "boolean",
+                  description: "Determines whether or not this parameter is required or optional.",
+                  default: false,
+                },
+                in: { type: "string", description: "Determines the location of the parameter.", enum: ["query"] },
+                description: {
+                  type: "string",
+                  description:
+                    "A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.",
+                },
+                name: { type: "string", description: "The name of the parameter." },
+                allowEmptyValue: {
+                  type: "boolean",
+                  default: false,
+                  description: "allows sending a parameter by name only or with an empty value.",
+                },
+                type: { type: "string", enum: ["string", "number", "boolean", "integer", "array"] },
+                format: { type: "string" },
+                items: { $ref: "#/definitions/primitivesItems" },
+                collectionFormat: { $ref: "#/definitions/collectionFormatWithMulti" },
+                default: { $ref: "#/definitions/default" },
+                maximum: { $ref: "#/definitions/maximum" },
+                exclusiveMaximum: { $ref: "#/definitions/exclusiveMaximum" },
+                minimum: { $ref: "#/definitions/minimum" },
+                exclusiveMinimum: { $ref: "#/definitions/exclusiveMinimum" },
+                maxLength: { $ref: "#/definitions/maxLength" },
+                minLength: { $ref: "#/definitions/minLength" },
+                pattern: { $ref: "#/definitions/pattern" },
+                maxItems: { $ref: "#/definitions/maxItems" },
+                minItems: { $ref: "#/definitions/minItems" },
+                uniqueItems: { $ref: "#/definitions/uniqueItems" },
+                enum: { $ref: "#/definitions/enum" },
+                multipleOf: { $ref: "#/definitions/multipleOf" },
+              },
+            },
+            formDataParameterSubSchema: {
+              additionalProperties: false,
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              properties: {
+                required: {
+                  type: "boolean",
+                  description: "Determines whether or not this parameter is required or optional.",
+                  default: false,
+                },
+                in: { type: "string", description: "Determines the location of the parameter.", enum: ["formData"] },
+                description: {
+                  type: "string",
+                  description:
+                    "A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.",
+                },
+                name: { type: "string", description: "The name of the parameter." },
+                allowEmptyValue: {
+                  type: "boolean",
+                  default: false,
+                  description: "allows sending a parameter by name only or with an empty value.",
+                },
+                type: { type: "string", enum: ["string", "number", "boolean", "integer", "array", "file"] },
+                format: { type: "string" },
+                items: { $ref: "#/definitions/primitivesItems" },
+                collectionFormat: { $ref: "#/definitions/collectionFormatWithMulti" },
+                default: { $ref: "#/definitions/default" },
+                maximum: { $ref: "#/definitions/maximum" },
+                exclusiveMaximum: { $ref: "#/definitions/exclusiveMaximum" },
+                minimum: { $ref: "#/definitions/minimum" },
+                exclusiveMinimum: { $ref: "#/definitions/exclusiveMinimum" },
+                maxLength: { $ref: "#/definitions/maxLength" },
+                minLength: { $ref: "#/definitions/minLength" },
+                pattern: { $ref: "#/definitions/pattern" },
+                maxItems: { $ref: "#/definitions/maxItems" },
+                minItems: { $ref: "#/definitions/minItems" },
+                uniqueItems: { $ref: "#/definitions/uniqueItems" },
+                enum: { $ref: "#/definitions/enum" },
+                multipleOf: { $ref: "#/definitions/multipleOf" },
+              },
+            },
+            pathParameterSubSchema: {
+              additionalProperties: false,
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              required: ["required"],
+              properties: {
+                required: {
+                  type: "boolean",
+                  enum: [true],
+                  description: "Determines whether or not this parameter is required or optional.",
+                },
+                in: { type: "string", description: "Determines the location of the parameter.", enum: ["path"] },
+                description: {
+                  type: "string",
+                  description:
+                    "A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.",
+                },
+                name: { type: "string", description: "The name of the parameter." },
+                type: { type: "string", enum: ["string", "number", "boolean", "integer", "array"] },
+                format: { type: "string" },
+                items: { $ref: "#/definitions/primitivesItems" },
+                collectionFormat: { $ref: "#/definitions/collectionFormat" },
+                default: { $ref: "#/definitions/default" },
+                maximum: { $ref: "#/definitions/maximum" },
+                exclusiveMaximum: { $ref: "#/definitions/exclusiveMaximum" },
+                minimum: { $ref: "#/definitions/minimum" },
+                exclusiveMinimum: { $ref: "#/definitions/exclusiveMinimum" },
+                maxLength: { $ref: "#/definitions/maxLength" },
+                minLength: { $ref: "#/definitions/minLength" },
+                pattern: { $ref: "#/definitions/pattern" },
+                maxItems: { $ref: "#/definitions/maxItems" },
+                minItems: { $ref: "#/definitions/minItems" },
+                uniqueItems: { $ref: "#/definitions/uniqueItems" },
+                enum: { $ref: "#/definitions/enum" },
+                multipleOf: { $ref: "#/definitions/multipleOf" },
+              },
+            },
+            nonBodyParameter: {
+              type: "object",
+              required: ["name", "in", "type"],
+              oneOf: [
+                { $ref: "#/definitions/headerParameterSubSchema" },
+                { $ref: "#/definitions/formDataParameterSubSchema" },
+                { $ref: "#/definitions/queryParameterSubSchema" },
+                { $ref: "#/definitions/pathParameterSubSchema" },
+              ],
+            },
+            parameter: { oneOf: [{ $ref: "#/definitions/bodyParameter" }, { $ref: "#/definitions/nonBodyParameter" }] },
+            schema: {
+              type: "object",
+              description: "A deterministic version of a JSON Schema object.",
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              properties: {
+                $ref: { type: "string" },
+                format: { type: "string" },
+                title: { $ref: "http://json-schema.org/draft-04/schema#/properties/title" },
+                description: { $ref: "http://json-schema.org/draft-04/schema#/properties/description" },
+                default: { $ref: "http://json-schema.org/draft-04/schema#/properties/default" },
+                multipleOf: { $ref: "http://json-schema.org/draft-04/schema#/properties/multipleOf" },
+                maximum: { $ref: "http://json-schema.org/draft-04/schema#/properties/maximum" },
+                exclusiveMaximum: { $ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" },
+                minimum: { $ref: "http://json-schema.org/draft-04/schema#/properties/minimum" },
+                exclusiveMinimum: { $ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" },
+                maxLength: { $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" },
+                minLength: { $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" },
+                pattern: { $ref: "http://json-schema.org/draft-04/schema#/properties/pattern" },
+                maxItems: { $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" },
+                minItems: { $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" },
+                uniqueItems: { $ref: "http://json-schema.org/draft-04/schema#/properties/uniqueItems" },
+                maxProperties: { $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" },
+                minProperties: { $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" },
+                required: { $ref: "http://json-schema.org/draft-04/schema#/definitions/stringArray" },
+                enum: { $ref: "http://json-schema.org/draft-04/schema#/properties/enum" },
+                additionalProperties: { anyOf: [{ $ref: "#/definitions/schema" }, { type: "boolean" }], default: {} },
+                type: { $ref: "http://json-schema.org/draft-04/schema#/properties/type" },
+                items: {
+                  anyOf: [
+                    { $ref: "#/definitions/schema" },
+                    { type: "array", minItems: 1, items: { $ref: "#/definitions/schema" } },
+                  ],
+                  default: {},
+                },
+                allOf: { type: "array", minItems: 1, items: { $ref: "#/definitions/schema" } },
+                properties: { type: "object", additionalProperties: { $ref: "#/definitions/schema" }, default: {} },
+                discriminator: { type: "string" },
+                readOnly: { type: "boolean", default: false },
+                xml: { $ref: "#/definitions/xml" },
+                externalDocs: { $ref: "#/definitions/externalDocs" },
+                example: {},
+              },
+              additionalProperties: false,
+            },
+            fileSchema: {
+              type: "object",
+              description: "A deterministic version of a JSON Schema object.",
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+              required: ["type"],
+              properties: {
+                format: { type: "string" },
+                title: { $ref: "http://json-schema.org/draft-04/schema#/properties/title" },
+                description: { $ref: "http://json-schema.org/draft-04/schema#/properties/description" },
+                default: { $ref: "http://json-schema.org/draft-04/schema#/properties/default" },
+                required: { $ref: "http://json-schema.org/draft-04/schema#/definitions/stringArray" },
+                type: { type: "string", enum: ["file"] },
+                readOnly: { type: "boolean", default: false },
+                externalDocs: { $ref: "#/definitions/externalDocs" },
+                example: {},
+              },
+              additionalProperties: false,
+            },
+            primitivesItems: {
+              type: "object",
+              additionalProperties: false,
+              properties: {
+                type: { type: "string", enum: ["string", "number", "integer", "boolean", "array"] },
+                format: { type: "string" },
+                items: { $ref: "#/definitions/primitivesItems" },
+                collectionFormat: { $ref: "#/definitions/collectionFormat" },
+                default: { $ref: "#/definitions/default" },
+                maximum: { $ref: "#/definitions/maximum" },
+                exclusiveMaximum: { $ref: "#/definitions/exclusiveMaximum" },
+                minimum: { $ref: "#/definitions/minimum" },
+                exclusiveMinimum: { $ref: "#/definitions/exclusiveMinimum" },
+                maxLength: { $ref: "#/definitions/maxLength" },
+                minLength: { $ref: "#/definitions/minLength" },
+                pattern: { $ref: "#/definitions/pattern" },
+                maxItems: { $ref: "#/definitions/maxItems" },
+                minItems: { $ref: "#/definitions/minItems" },
+                uniqueItems: { $ref: "#/definitions/uniqueItems" },
+                enum: { $ref: "#/definitions/enum" },
+                multipleOf: { $ref: "#/definitions/multipleOf" },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            security: { type: "array", items: { $ref: "#/definitions/securityRequirement" }, uniqueItems: true },
+            securityRequirement: {
+              type: "object",
+              additionalProperties: { type: "array", items: { type: "string" }, uniqueItems: true },
+            },
+            xml: {
+              type: "object",
+              additionalProperties: false,
+              properties: {
+                name: { type: "string" },
+                namespace: { type: "string" },
+                prefix: { type: "string" },
+                attribute: { type: "boolean", default: false },
+                wrapped: { type: "boolean", default: false },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            tag: {
+              type: "object",
+              additionalProperties: false,
+              required: ["name"],
+              properties: {
+                name: { type: "string" },
+                description: { type: "string" },
+                externalDocs: { $ref: "#/definitions/externalDocs" },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            securityDefinitions: {
+              type: "object",
+              additionalProperties: {
+                oneOf: [
+                  { $ref: "#/definitions/basicAuthenticationSecurity" },
+                  { $ref: "#/definitions/apiKeySecurity" },
+                  { $ref: "#/definitions/oauth2ImplicitSecurity" },
+                  { $ref: "#/definitions/oauth2PasswordSecurity" },
+                  { $ref: "#/definitions/oauth2ApplicationSecurity" },
+                  { $ref: "#/definitions/oauth2AccessCodeSecurity" },
+                ],
+              },
+            },
+            basicAuthenticationSecurity: {
+              type: "object",
+              additionalProperties: false,
+              required: ["type"],
+              properties: { type: { type: "string", enum: ["basic"] }, description: { type: "string" } },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            apiKeySecurity: {
+              type: "object",
+              additionalProperties: false,
+              required: ["type", "name", "in"],
+              properties: {
+                type: { type: "string", enum: ["apiKey"] },
+                name: { type: "string" },
+                in: { type: "string", enum: ["header", "query"] },
+                description: { type: "string" },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            oauth2ImplicitSecurity: {
+              type: "object",
+              additionalProperties: false,
+              required: ["type", "flow", "authorizationUrl"],
+              properties: {
+                type: { type: "string", enum: ["oauth2"] },
+                flow: { type: "string", enum: ["implicit"] },
+                scopes: { $ref: "#/definitions/oauth2Scopes" },
+                authorizationUrl: { type: "string", format: "uri" },
+                description: { type: "string" },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            oauth2PasswordSecurity: {
+              type: "object",
+              additionalProperties: false,
+              required: ["type", "flow", "tokenUrl"],
+              properties: {
+                type: { type: "string", enum: ["oauth2"] },
+                flow: { type: "string", enum: ["password"] },
+                scopes: { $ref: "#/definitions/oauth2Scopes" },
+                tokenUrl: { type: "string", format: "uri" },
+                description: { type: "string" },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            oauth2ApplicationSecurity: {
+              type: "object",
+              additionalProperties: false,
+              required: ["type", "flow", "tokenUrl"],
+              properties: {
+                type: { type: "string", enum: ["oauth2"] },
+                flow: { type: "string", enum: ["application"] },
+                scopes: { $ref: "#/definitions/oauth2Scopes" },
+                tokenUrl: { type: "string", format: "uri" },
+                description: { type: "string" },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            oauth2AccessCodeSecurity: {
+              type: "object",
+              additionalProperties: false,
+              required: ["type", "flow", "authorizationUrl", "tokenUrl"],
+              properties: {
+                type: { type: "string", enum: ["oauth2"] },
+                flow: { type: "string", enum: ["accessCode"] },
+                scopes: { $ref: "#/definitions/oauth2Scopes" },
+                authorizationUrl: { type: "string", format: "uri" },
+                tokenUrl: { type: "string", format: "uri" },
+                description: { type: "string" },
+              },
+              patternProperties: { "^x-": { $ref: "#/definitions/vendorExtension" } },
+            },
+            oauth2Scopes: { type: "object", additionalProperties: { type: "string" } },
+            mediaTypeList: { type: "array", items: { $ref: "#/definitions/mimeType" }, uniqueItems: true },
+            parametersList: {
+              type: "array",
+              description: "The parameters needed to send a valid API call.",
+              additionalItems: false,
+              items: { oneOf: [{ $ref: "#/definitions/parameter" }, { $ref: "#/definitions/jsonReference" }] },
+              uniqueItems: true,
+            },
+            schemesList: {
+              type: "array",
+              description: "The transfer protocol of the API.",
+              items: { type: "string", enum: ["http", "https", "ws", "wss"] },
+              uniqueItems: true,
+            },
+            collectionFormat: { type: "string", enum: ["csv", "ssv", "tsv", "pipes"], default: "csv" },
+            collectionFormatWithMulti: {
+              type: "string",
+              enum: ["csv", "ssv", "tsv", "pipes", "multi"],
+              default: "csv",
+            },
+            title: { $ref: "http://json-schema.org/draft-04/schema#/properties/title" },
+            description: { $ref: "http://json-schema.org/draft-04/schema#/properties/description" },
+            default: { $ref: "http://json-schema.org/draft-04/schema#/properties/default" },
+            multipleOf: { $ref: "http://json-schema.org/draft-04/schema#/properties/multipleOf" },
+            maximum: { $ref: "http://json-schema.org/draft-04/schema#/properties/maximum" },
+            exclusiveMaximum: { $ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMaximum" },
+            minimum: { $ref: "http://json-schema.org/draft-04/schema#/properties/minimum" },
+            exclusiveMinimum: { $ref: "http://json-schema.org/draft-04/schema#/properties/exclusiveMinimum" },
+            maxLength: { $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" },
+            minLength: { $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" },
+            pattern: { $ref: "http://json-schema.org/draft-04/schema#/properties/pattern" },
+            maxItems: { $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveInteger" },
+            minItems: { $ref: "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0" },
+            uniqueItems: { $ref: "http://json-schema.org/draft-04/schema#/properties/uniqueItems" },
+            enum: { $ref: "http://json-schema.org/draft-04/schema#/properties/enum" },
+            jsonReference: {
+              type: "object",
+              required: ["$ref"],
+              additionalProperties: false,
+              properties: { $ref: { type: "string" } },
+            },
+          },
+        };
+      },
+      {},
+    ],
+    28: [
+      function (require, module, exports) {
+        module.exports = {
+          id: "https://spec.openapis.org/oas/3.0/schema/2019-04-02",
+          $schema: "http://json-schema.org/draft-04/schema#",
+          description: "Validation schema for OpenAPI Specification 3.0.X.",
+          type: "object",
+          required: ["openapi", "info", "paths"],
+          properties: {
+            openapi: { type: "string", pattern: "^3\\.0\\.\\d(-.+)?$" },
+            info: { $ref: "#/definitions/Info" },
+            externalDocs: { $ref: "#/definitions/ExternalDocumentation" },
+            servers: { type: "array", items: { $ref: "#/definitions/Server" } },
+            security: { type: "array", items: { $ref: "#/definitions/SecurityRequirement" } },
+            tags: { type: "array", items: { $ref: "#/definitions/Tag" }, uniqueItems: true },
+            paths: { $ref: "#/definitions/Paths" },
+            components: { $ref: "#/definitions/Components" },
+          },
+          patternProperties: { "^x-": {} },
+          additionalProperties: false,
+          definitions: {
+            Reference: {
+              type: "object",
+              required: ["$ref"],
+              patternProperties: { "^\\$ref$": { type: "string", format: "uri-reference" } },
+            },
+            Info: {
+              type: "object",
+              required: ["title", "version"],
+              properties: {
+                title: { type: "string" },
+                description: { type: "string" },
+                termsOfService: { type: "string", format: "uri-reference" },
+                contact: { $ref: "#/definitions/Contact" },
+                license: { $ref: "#/definitions/License" },
+                version: { type: "string" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            Contact: {
+              type: "object",
+              properties: {
+                name: { type: "string" },
+                url: { type: "string", format: "uri-reference" },
+                email: { type: "string", format: "email" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            License: {
+              type: "object",
+              required: ["name"],
+              properties: { name: { type: "string" }, url: { type: "string", format: "uri-reference" } },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            Server: {
+              type: "object",
+              required: ["url"],
+              properties: {
+                url: { type: "string" },
+                description: { type: "string" },
+                variables: { type: "object", additionalProperties: { $ref: "#/definitions/ServerVariable" } },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            ServerVariable: {
+              type: "object",
+              required: ["default"],
+              properties: {
+                enum: { type: "array", items: { type: "string" } },
+                default: { type: "string" },
+                description: { type: "string" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            Components: {
+              type: "object",
+              properties: {
+                schemas: {
+                  type: "object",
+                  patternProperties: {
+                    "^[a-zA-Z0-9\\.\\-_]+$": {
+                      oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }],
+                    },
+                  },
+                },
+                responses: {
+                  type: "object",
+                  patternProperties: {
+                    "^[a-zA-Z0-9\\.\\-_]+$": {
+                      oneOf: [{ $ref: "#/definitions/Reference" }, { $ref: "#/definitions/Response" }],
+                    },
+                  },
+                },
+                parameters: {
+                  type: "object",
+                  patternProperties: {
+                    "^[a-zA-Z0-9\\.\\-_]+$": {
+                      oneOf: [{ $ref: "#/definitions/Reference" }, { $ref: "#/definitions/Parameter" }],
+                    },
+                  },
+                },
+                examples: {
+                  type: "object",
+                  patternProperties: {
+                    "^[a-zA-Z0-9\\.\\-_]+$": {
+                      oneOf: [{ $ref: "#/definitions/Reference" }, { $ref: "#/definitions/Example" }],
+                    },
+                  },
+                },
+                requestBodies: {
+                  type: "object",
+                  patternProperties: {
+                    "^[a-zA-Z0-9\\.\\-_]+$": {
+                      oneOf: [{ $ref: "#/definitions/Reference" }, { $ref: "#/definitions/RequestBody" }],
+                    },
+                  },
+                },
+                headers: {
+                  type: "object",
+                  patternProperties: {
+                    "^[a-zA-Z0-9\\.\\-_]+$": {
+                      oneOf: [{ $ref: "#/definitions/Reference" }, { $ref: "#/definitions/Header" }],
+                    },
+                  },
+                },
+                securitySchemes: {
+                  type: "object",
+                  patternProperties: {
+                    "^[a-zA-Z0-9\\.\\-_]+$": {
+                      oneOf: [{ $ref: "#/definitions/Reference" }, { $ref: "#/definitions/SecurityScheme" }],
+                    },
+                  },
+                },
+                links: {
+                  type: "object",
+                  patternProperties: {
+                    "^[a-zA-Z0-9\\.\\-_]+$": {
+                      oneOf: [{ $ref: "#/definitions/Reference" }, { $ref: "#/definitions/Link" }],
+                    },
+                  },
+                },
+                callbacks: {
+                  type: "object",
+                  patternProperties: {
+                    "^[a-zA-Z0-9\\.\\-_]+$": {
+                      oneOf: [{ $ref: "#/definitions/Reference" }, { $ref: "#/definitions/Callback" }],
+                    },
+                  },
+                },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            Schema: {
+              type: "object",
+              properties: {
+                title: { type: "string" },
+                multipleOf: { type: "number", minimum: 0, exclusiveMinimum: true },
+                maximum: { type: "number" },
+                exclusiveMaximum: { type: "boolean", default: false },
+                minimum: { type: "number" },
+                exclusiveMinimum: { type: "boolean", default: false },
+                maxLength: { type: "integer", minimum: 0 },
+                minLength: { type: "integer", minimum: 0, default: 0 },
+                pattern: { type: "string", format: "regex" },
+                maxItems: { type: "integer", minimum: 0 },
+                minItems: { type: "integer", minimum: 0, default: 0 },
+                uniqueItems: { type: "boolean", default: false },
+                maxProperties: { type: "integer", minimum: 0 },
+                minProperties: { type: "integer", minimum: 0, default: 0 },
+                required: { type: "array", items: { type: "string" }, minItems: 1, uniqueItems: true },
+                enum: { type: "array", items: {}, minItems: 1, uniqueItems: false },
+                type: { type: "string", enum: ["array", "boolean", "integer", "number", "object", "string"] },
+                not: { oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }] },
+                allOf: {
+                  type: "array",
+                  items: { oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }] },
+                },
+                oneOf: {
+                  type: "array",
+                  items: { oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }] },
+                },
+                anyOf: {
+                  type: "array",
+                  items: { oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }] },
+                },
+                items: { oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }] },
+                properties: {
+                  type: "object",
+                  additionalProperties: {
+                    oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }],
+                  },
+                },
+                additionalProperties: {
+                  oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }, { type: "boolean" }],
+                  default: true,
+                },
+                description: { type: "string" },
+                format: { type: "string" },
+                default: {},
+                nullable: { type: "boolean", default: false },
+                discriminator: { $ref: "#/definitions/Discriminator" },
+                readOnly: { type: "boolean", default: false },
+                writeOnly: { type: "boolean", default: false },
+                example: {},
+                externalDocs: { $ref: "#/definitions/ExternalDocumentation" },
+                deprecated: { type: "boolean", default: false },
+                xml: { $ref: "#/definitions/XML" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            Discriminator: {
+              type: "object",
+              required: ["propertyName"],
+              properties: {
+                propertyName: { type: "string" },
+                mapping: { type: "object", additionalProperties: { type: "string" } },
+              },
+            },
+            XML: {
+              type: "object",
+              properties: {
+                name: { type: "string" },
+                namespace: { type: "string", format: "uri" },
+                prefix: { type: "string" },
+                attribute: { type: "boolean", default: false },
+                wrapped: { type: "boolean", default: false },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            Response: {
+              type: "object",
+              required: ["description"],
+              properties: {
+                description: { type: "string" },
+                headers: {
+                  type: "object",
+                  additionalProperties: {
+                    oneOf: [{ $ref: "#/definitions/Header" }, { $ref: "#/definitions/Reference" }],
+                  },
+                },
+                content: { type: "object", additionalProperties: { $ref: "#/definitions/MediaType" } },
+                links: {
+                  type: "object",
+                  additionalProperties: {
+                    oneOf: [{ $ref: "#/definitions/Link" }, { $ref: "#/definitions/Reference" }],
+                  },
+                },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            MediaType: {
+              type: "object",
+              properties: {
+                schema: { oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }] },
+                example: {},
+                examples: {
+                  type: "object",
+                  additionalProperties: {
+                    oneOf: [{ $ref: "#/definitions/Example" }, { $ref: "#/definitions/Reference" }],
+                  },
+                },
+                encoding: { type: "object", additionalProperties: { $ref: "#/definitions/Encoding" } },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+              allOf: [{ $ref: "#/definitions/ExampleXORExamples" }],
+            },
+            Example: {
+              type: "object",
+              properties: {
+                summary: { type: "string" },
+                description: { type: "string" },
+                value: {},
+                externalValue: { type: "string", format: "uri-reference" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            Header: {
+              type: "object",
+              properties: {
+                description: { type: "string" },
+                required: { type: "boolean", default: false },
+                deprecated: { type: "boolean", default: false },
+                allowEmptyValue: { type: "boolean", default: false },
+                style: { type: "string", enum: ["simple"], default: "simple" },
+                explode: { type: "boolean" },
+                allowReserved: { type: "boolean", default: false },
+                schema: { oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }] },
+                content: {
+                  type: "object",
+                  additionalProperties: { $ref: "#/definitions/MediaType" },
+                  minProperties: 1,
+                  maxProperties: 1,
+                },
+                example: {},
+                examples: {
+                  type: "object",
+                  additionalProperties: {
+                    oneOf: [{ $ref: "#/definitions/Example" }, { $ref: "#/definitions/Reference" }],
+                  },
+                },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+              allOf: [{ $ref: "#/definitions/ExampleXORExamples" }, { $ref: "#/definitions/SchemaXORContent" }],
+            },
+            Paths: {
+              type: "object",
+              patternProperties: { "^\\/": { $ref: "#/definitions/PathItem" }, "^x-": {} },
+              additionalProperties: false,
+            },
+            PathItem: {
+              type: "object",
+              properties: {
+                $ref: { type: "string" },
+                summary: { type: "string" },
+                description: { type: "string" },
+                servers: { type: "array", items: { $ref: "#/definitions/Server" } },
+                parameters: {
+                  type: "array",
+                  items: { oneOf: [{ $ref: "#/definitions/Parameter" }, { $ref: "#/definitions/Reference" }] },
+                  uniqueItems: true,
+                },
+              },
+              patternProperties: {
+                "^(get|put|post|delete|options|head|patch|trace)$": { $ref: "#/definitions/Operation" },
+                "^x-": {},
+              },
+              additionalProperties: false,
+            },
+            Operation: {
+              type: "object",
+              required: ["responses"],
+              properties: {
+                tags: { type: "array", items: { type: "string" } },
+                summary: { type: "string" },
+                description: { type: "string" },
+                externalDocs: { $ref: "#/definitions/ExternalDocumentation" },
+                operationId: { type: "string" },
+                parameters: {
+                  type: "array",
+                  items: { oneOf: [{ $ref: "#/definitions/Parameter" }, { $ref: "#/definitions/Reference" }] },
+                  uniqueItems: true,
+                },
+                requestBody: { oneOf: [{ $ref: "#/definitions/RequestBody" }, { $ref: "#/definitions/Reference" }] },
+                responses: { $ref: "#/definitions/Responses" },
+                callbacks: {
+                  type: "object",
+                  additionalProperties: {
+                    oneOf: [{ $ref: "#/definitions/Callback" }, { $ref: "#/definitions/Reference" }],
+                  },
+                },
+                deprecated: { type: "boolean", default: false },
+                security: { type: "array", items: { $ref: "#/definitions/SecurityRequirement" } },
+                servers: { type: "array", items: { $ref: "#/definitions/Server" } },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            Responses: {
+              type: "object",
+              properties: {
+                default: { oneOf: [{ $ref: "#/definitions/Response" }, { $ref: "#/definitions/Reference" }] },
+              },
+              patternProperties: {
+                "^[1-5](?:\\d{2}|XX)$": {
+                  oneOf: [{ $ref: "#/definitions/Response" }, { $ref: "#/definitions/Reference" }],
+                },
+                "^x-": {},
+              },
+              minProperties: 1,
+              additionalProperties: false,
+            },
+            SecurityRequirement: { type: "object", additionalProperties: { type: "array", items: { type: "string" } } },
+            Tag: {
+              type: "object",
+              required: ["name"],
+              properties: {
+                name: { type: "string" },
+                description: { type: "string" },
+                externalDocs: { $ref: "#/definitions/ExternalDocumentation" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            ExternalDocumentation: {
+              type: "object",
+              required: ["url"],
+              properties: { description: { type: "string" }, url: { type: "string", format: "uri-reference" } },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            ExampleXORExamples: {
+              description: "Example and examples are mutually exclusive",
+              not: { required: ["example", "examples"] },
+            },
+            SchemaXORContent: {
+              description: "Schema and content are mutually exclusive, at least one is required",
+              not: { required: ["schema", "content"] },
+              oneOf: [
+                { required: ["schema"] },
+                {
+                  required: ["content"],
+                  description: "Some properties are not allowed if content is present",
+                  allOf: [
+                    { not: { required: ["style"] } },
+                    { not: { required: ["explode"] } },
+                    { not: { required: ["allowReserved"] } },
+                    { not: { required: ["example"] } },
+                    { not: { required: ["examples"] } },
+                  ],
+                },
+              ],
+            },
+            Parameter: {
+              type: "object",
+              properties: {
+                name: { type: "string" },
+                in: { type: "string" },
+                description: { type: "string" },
+                required: { type: "boolean", default: false },
+                deprecated: { type: "boolean", default: false },
+                allowEmptyValue: { type: "boolean", default: false },
+                style: { type: "string" },
+                explode: { type: "boolean" },
+                allowReserved: { type: "boolean", default: false },
+                schema: { oneOf: [{ $ref: "#/definitions/Schema" }, { $ref: "#/definitions/Reference" }] },
+                content: {
+                  type: "object",
+                  additionalProperties: { $ref: "#/definitions/MediaType" },
+                  minProperties: 1,
+                  maxProperties: 1,
+                },
+                example: {},
+                examples: {
+                  type: "object",
+                  additionalProperties: {
+                    oneOf: [{ $ref: "#/definitions/Example" }, { $ref: "#/definitions/Reference" }],
+                  },
+                },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+              required: ["name", "in"],
+              allOf: [
+                { $ref: "#/definitions/ExampleXORExamples" },
+                { $ref: "#/definitions/SchemaXORContent" },
+                { $ref: "#/definitions/ParameterLocation" },
+              ],
+            },
+            ParameterLocation: {
+              description: "Parameter location",
+              oneOf: [
+                {
+                  description: "Parameter in path",
+                  required: ["required"],
+                  properties: {
+                    in: { enum: ["path"] },
+                    style: { enum: ["matrix", "label", "simple"], default: "simple" },
+                    required: { enum: [true] },
+                  },
+                },
+                {
+                  description: "Parameter in query",
+                  properties: {
+                    in: { enum: ["query"] },
+                    style: { enum: ["form", "spaceDelimited", "pipeDelimited", "deepObject"], default: "form" },
+                  },
+                },
+                {
+                  description: "Parameter in header",
+                  properties: { in: { enum: ["header"] }, style: { enum: ["simple"], default: "simple" } },
+                },
+                {
+                  description: "Parameter in cookie",
+                  properties: { in: { enum: ["cookie"] }, style: { enum: ["form"], default: "form" } },
+                },
+              ],
+            },
+            RequestBody: {
+              type: "object",
+              required: ["content"],
+              properties: {
+                description: { type: "string" },
+                content: { type: "object", additionalProperties: { $ref: "#/definitions/MediaType" } },
+                required: { type: "boolean", default: false },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            SecurityScheme: {
+              oneOf: [
+                { $ref: "#/definitions/APIKeySecurityScheme" },
+                { $ref: "#/definitions/HTTPSecurityScheme" },
+                { $ref: "#/definitions/OAuth2SecurityScheme" },
+                { $ref: "#/definitions/OpenIdConnectSecurityScheme" },
+              ],
+            },
+            APIKeySecurityScheme: {
+              type: "object",
+              required: ["type", "name", "in"],
+              properties: {
+                type: { type: "string", enum: ["apiKey"] },
+                name: { type: "string" },
+                in: { type: "string", enum: ["header", "query", "cookie"] },
+                description: { type: "string" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            HTTPSecurityScheme: {
+              type: "object",
+              required: ["scheme", "type"],
+              properties: {
+                scheme: { type: "string" },
+                bearerFormat: { type: "string" },
+                description: { type: "string" },
+                type: { type: "string", enum: ["http"] },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+              oneOf: [
+                { description: "Bearer", properties: { scheme: { enum: ["bearer"] } } },
+                {
+                  description: "Non Bearer",
+                  not: { required: ["bearerFormat"] },
+                  properties: { scheme: { not: { enum: ["bearer"] } } },
+                },
+              ],
+            },
+            OAuth2SecurityScheme: {
+              type: "object",
+              required: ["type", "flows"],
+              properties: {
+                type: { type: "string", enum: ["oauth2"] },
+                flows: { $ref: "#/definitions/OAuthFlows" },
+                description: { type: "string" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            OpenIdConnectSecurityScheme: {
+              type: "object",
+              required: ["type", "openIdConnectUrl"],
+              properties: {
+                type: { type: "string", enum: ["openIdConnect"] },
+                openIdConnectUrl: { type: "string", format: "uri-reference" },
+                description: { type: "string" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            OAuthFlows: {
+              type: "object",
+              properties: {
+                implicit: { $ref: "#/definitions/ImplicitOAuthFlow" },
+                password: { $ref: "#/definitions/PasswordOAuthFlow" },
+                clientCredentials: { $ref: "#/definitions/ClientCredentialsFlow" },
+                authorizationCode: { $ref: "#/definitions/AuthorizationCodeOAuthFlow" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            ImplicitOAuthFlow: {
+              type: "object",
+              required: ["authorizationUrl", "scopes"],
+              properties: {
+                authorizationUrl: { type: "string", format: "uri-reference" },
+                refreshUrl: { type: "string", format: "uri-reference" },
+                scopes: { type: "object", additionalProperties: { type: "string" } },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            PasswordOAuthFlow: {
+              type: "object",
+              required: ["tokenUrl"],
+              properties: {
+                tokenUrl: { type: "string", format: "uri-reference" },
+                refreshUrl: { type: "string", format: "uri-reference" },
+                scopes: { type: "object", additionalProperties: { type: "string" } },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            ClientCredentialsFlow: {
+              type: "object",
+              required: ["tokenUrl"],
+              properties: {
+                tokenUrl: { type: "string", format: "uri-reference" },
+                refreshUrl: { type: "string", format: "uri-reference" },
+                scopes: { type: "object", additionalProperties: { type: "string" } },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            AuthorizationCodeOAuthFlow: {
+              type: "object",
+              required: ["authorizationUrl", "tokenUrl"],
+              properties: {
+                authorizationUrl: { type: "string", format: "uri-reference" },
+                tokenUrl: { type: "string", format: "uri-reference" },
+                refreshUrl: { type: "string", format: "uri-reference" },
+                scopes: { type: "object", additionalProperties: { type: "string" } },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+            },
+            Link: {
+              type: "object",
+              properties: {
+                operationId: { type: "string" },
+                operationRef: { type: "string", format: "uri-reference" },
+                parameters: { type: "object", additionalProperties: {} },
+                requestBody: {},
+                description: { type: "string" },
+                server: { $ref: "#/definitions/Server" },
+              },
+              patternProperties: { "^x-": {} },
+              additionalProperties: false,
+              not: {
+                description: "Operation Id and Operation Ref are mutually exclusive",
+                required: ["operationId", "operationRef"],
+              },
+            },
+            Callback: {
+              type: "object",
+              additionalProperties: { $ref: "#/definitions/PathItem" },
+              patternProperties: { "^x-": {} },
+            },
+            Encoding: {
+              type: "object",
+              properties: {
+                contentType: { type: "string" },
+                headers: { type: "object", additionalProperties: { $ref: "#/definitions/Header" } },
+                style: { type: "string", enum: ["form", "spaceDelimited", "pipeDelimited", "deepObject"] },
+                explode: { type: "boolean" },
+                allowReserved: { type: "boolean", default: false },
+              },
+              additionalProperties: false,
+            },
+          },
+        };
+      },
+      {},
+    ],
+    29: [
+      function (require, module, exports) {
+        module.exports = {
+          $id: "https://spec.openapis.org/oas/3.1/schema/2021-04-15",
+          $schema: "https://json-schema.org/draft/2020-12/schema",
+          type: "object",
+          properties: {
+            openapi: { type: "string", pattern: "^3\\.1\\.\\d+(-.+)?$" },
+            info: { $ref: "#/$defs/info" },
+            jsonSchemaDialect: { $ref: "#/$defs/uri", default: "https://spec.openapis.org/oas/3.1/dialect/base" },
+            servers: { type: "array", items: { $ref: "#/$defs/server" } },
+            paths: { $ref: "#/$defs/paths" },
+            webhooks: { type: "object", additionalProperties: { $ref: "#/$defs/path-item-or-reference" } },
+            components: { $ref: "#/$defs/components" },
+            security: { type: "array", items: { $ref: "#/$defs/security-requirement" } },
+            tags: { type: "array", items: { $ref: "#/$defs/tag" } },
+            externalDocs: { $ref: "#/$defs/external-documentation" },
+          },
+          required: ["openapi", "info"],
+          anyOf: [{ required: ["paths"] }, { required: ["components"] }, { required: ["webhooks"] }],
+          $ref: "#/$defs/specification-extensions",
+          unevaluatedProperties: false,
+          $defs: {
+            info: {
+              type: "object",
+              properties: {
+                title: { type: "string" },
+                summary: { type: "string" },
+                description: { type: "string" },
+                termsOfService: { type: "string" },
+                contact: { $ref: "#/$defs/contact" },
+                license: { $ref: "#/$defs/license" },
+                version: { type: "string" },
+              },
+              required: ["title", "version"],
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            contact: {
+              type: "object",
+              properties: { name: { type: "string" }, url: { type: "string" }, email: { type: "string" } },
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            license: {
+              type: "object",
+              properties: { name: { type: "string" }, identifier: { type: "string" }, url: { $ref: "#/$defs/uri" } },
+              required: ["name"],
+              oneOf: [{ required: ["identifier"] }, { required: ["url"] }],
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            server: {
+              type: "object",
+              properties: {
+                url: { $ref: "#/$defs/uri" },
+                description: { type: "string" },
+                variables: { type: "object", additionalProperties: { $ref: "#/$defs/server-variable" } },
+              },
+              required: ["url"],
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            "server-variable": {
+              type: "object",
+              properties: {
+                enum: { type: "array", items: { type: "string" }, minItems: 1 },
+                default: { type: "string" },
+                descriptions: { type: "string" },
+              },
+              required: ["default"],
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            components: {
+              type: "object",
+              properties: {
+                schemas: { type: "object", additionalProperties: { $dynamicRef: "#meta" } },
+                responses: { type: "object", additionalProperties: { $ref: "#/$defs/response-or-reference" } },
+                parameters: { type: "object", additionalProperties: { $ref: "#/$defs/parameter-or-reference" } },
+                examples: { type: "object", additionalProperties: { $ref: "#/$defs/example-or-reference" } },
+                requestBodies: { type: "object", additionalProperties: { $ref: "#/$defs/request-body-or-reference" } },
+                headers: { type: "object", additionalProperties: { $ref: "#/$defs/header-or-reference" } },
+                securitySchemes: {
+                  type: "object",
+                  additionalProperties: { $ref: "#/$defs/security-scheme-or-reference" },
+                },
+                links: { type: "object", additionalProperties: { $ref: "#/$defs/link-or-reference" } },
+                callbacks: { type: "object", additionalProperties: { $ref: "#/$defs/callbacks-or-reference" } },
+                pathItems: { type: "object", additionalProperties: { $ref: "#/$defs/path-item-or-reference" } },
+              },
+              patternProperties: {
+                "^(schemas|responses|parameters|examples|requestBodies|headers|securitySchemes|links|callbacks|pathItems)$":
+                  {
+                    $comment:
+                      "Enumerating all of the property names in the regex above is necessary for unevaluatedProperties to work as expected",
+                    propertyNames: { pattern: "^[a-zA-Z0-9._-]+$" },
+                  },
+              },
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            paths: {
+              type: "object",
+              patternProperties: { "^/": { $ref: "#/$defs/path-item" } },
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            "path-item": {
+              type: "object",
+              properties: {
+                summary: { type: "string" },
+                description: { type: "string" },
+                servers: { type: "array", items: { $ref: "#/$defs/server" } },
+                parameters: { type: "array", items: { $ref: "#/$defs/parameter-or-reference" } },
+              },
+              patternProperties: { "^(get|put|post|delete|options|head|patch|trace)$": { $ref: "#/$defs/operation" } },
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            "path-item-or-reference": {
+              if: { required: ["$ref"] },
+              then: { $ref: "#/$defs/reference" },
+              else: { $ref: "#/$defs/path-item" },
+            },
+            operation: {
+              type: "object",
+              properties: {
+                tags: { type: "array", items: { type: "string" } },
+                summary: { type: "string" },
+                description: { type: "string" },
+                externalDocs: { $ref: "#/$defs/external-documentation" },
+                operationId: { type: "string" },
+                parameters: { type: "array", items: { $ref: "#/$defs/parameter-or-reference" } },
+                requestBody: { $ref: "#/$defs/request-body-or-reference" },
+                responses: { $ref: "#/$defs/responses" },
+                callbacks: { type: "object", additionalProperties: { $ref: "#/$defs/callbacks-or-reference" } },
+                deprecated: { default: false, type: "boolean" },
+                security: { type: "array", items: { $ref: "#/$defs/security-requirement" } },
+                servers: { type: "array", items: { $ref: "#/$defs/server" } },
+              },
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            "external-documentation": {
+              type: "object",
+              properties: { description: { type: "string" }, url: { $ref: "#/$defs/uri" } },
+              required: ["url"],
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            parameter: {
+              type: "object",
+              properties: {
+                name: { type: "string" },
+                in: { enum: ["query", "header", "path", "cookie"] },
+                description: { type: "string" },
+                required: { default: false, type: "boolean" },
+                deprecated: { default: false, type: "boolean" },
+                allowEmptyValue: { default: false, type: "boolean" },
+                schema: { $dynamicRef: "#meta" },
+                content: { $ref: "#/$defs/content" },
+              },
+              required: ["in"],
+              oneOf: [{ required: ["schema"] }, { required: ["content"] }],
+              dependentSchemas: {
+                schema: {
+                  properties: {
+                    style: { type: "string" },
+                    explode: { type: "boolean" },
+                    allowReserved: { default: false, type: "boolean" },
+                  },
+                  allOf: [
+                    { $ref: "#/$defs/examples" },
+                    { $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-path" },
+                    { $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-header" },
+                    { $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-query" },
+                    { $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-cookie" },
+                    { $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-form" },
+                  ],
+                  $defs: {
+                    "styles-for-path": {
+                      if: { properties: { in: { const: "path" } }, required: ["in"] },
+                      then: {
+                        properties: {
+                          style: { default: "simple", enum: ["matrix", "label", "simple"] },
+                          required: { const: true },
+                        },
+                        required: ["required"],
+                      },
+                    },
+                    "styles-for-header": {
+                      if: { properties: { in: { const: "header" } }, required: ["in"] },
+                      then: { properties: { style: { default: "simple", enum: ["simple"] } } },
+                    },
+                    "styles-for-query": {
+                      if: { properties: { in: { const: "query" } }, required: ["in"] },
+                      then: {
+                        properties: {
+                          style: { default: "form", enum: ["form", "spaceDelimited", "pipeDelimited", "deepObject"] },
+                        },
+                      },
+                    },
+                    "styles-for-cookie": {
+                      if: { properties: { in: { const: "cookie" } }, required: ["in"] },
+                      then: { properties: { style: { default: "form", enum: ["form"] } } },
+                    },
+                    "styles-for-form": {
+                      if: { properties: { style: { const: "form" } }, required: ["style"] },
+                      then: { properties: { explode: { default: true } } },
+                      else: { properties: { explode: { default: false } } },
+                    },
+                  },
+                },
+              },
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            "parameter-or-reference": {
+              if: { required: ["$ref"] },
+              then: { $ref: "#/$defs/reference" },
+              else: { $ref: "#/$defs/parameter" },
+            },
+            "request-body": {
+              type: "object",
+              properties: {
+                description: { type: "string" },
+                content: { $ref: "#/$defs/content" },
+                required: { default: false, type: "boolean" },
+              },
+              required: ["content"],
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            "request-body-or-reference": {
+              if: { required: ["$ref"] },
+              then: { $ref: "#/$defs/reference" },
+              else: { $ref: "#/$defs/request-body" },
+            },
+            content: {
+              type: "object",
+              additionalProperties: { $ref: "#/$defs/media-type" },
+              propertyNames: { format: "media-range" },
+            },
+            "media-type": {
+              type: "object",
+              properties: {
+                schema: { $dynamicRef: "#meta" },
+                encoding: { type: "object", additionalProperties: { $ref: "#/$defs/encoding" } },
+              },
+              allOf: [{ $ref: "#/$defs/specification-extensions" }, { $ref: "#/$defs/examples" }],
+              unevaluatedProperties: false,
+            },
+            encoding: {
+              type: "object",
+              properties: {
+                contentType: { type: "string", format: "media-range" },
+                headers: { type: "object", additionalProperties: { $ref: "#/$defs/header-or-reference" } },
+                style: { default: "form", enum: ["form", "spaceDelimited", "pipeDelimited", "deepObject"] },
+                explode: { type: "boolean" },
+                allowReserved: { default: false, type: "boolean" },
+              },
+              allOf: [{ $ref: "#/$defs/specification-extensions" }, { $ref: "#/$defs/encoding/$defs/explode-default" }],
+              unevaluatedProperties: false,
+              $defs: {
+                "explode-default": {
+                  if: { properties: { style: { const: "form" } }, required: ["style"] },
+                  then: { properties: { explode: { default: true } } },
+                  else: { properties: { explode: { default: false } } },
+                },
+              },
+            },
+            responses: {
+              type: "object",
+              properties: { default: { $ref: "#/$defs/response-or-reference" } },
+              patternProperties: { "^[1-5][0-9X]{2}$": { $ref: "#/$defs/response-or-reference" } },
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            response: {
+              type: "object",
+              properties: {
+                description: { type: "string" },
+                headers: { type: "object", additionalProperties: { $ref: "#/$defs/header-or-reference" } },
+                content: { $ref: "#/$defs/content" },
+                links: { type: "object", additionalProperties: { $ref: "#/$defs/link-or-reference" } },
+              },
+              required: ["description"],
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            "response-or-reference": {
+              if: { required: ["$ref"] },
+              then: { $ref: "#/$defs/reference" },
+              else: { $ref: "#/$defs/response" },
+            },
+            callbacks: {
+              type: "object",
+              $ref: "#/$defs/specification-extensions",
+              additionalProperties: { $ref: "#/$defs/path-item-or-reference" },
+            },
+            "callbacks-or-reference": {
+              if: { required: ["$ref"] },
+              then: { $ref: "#/$defs/reference" },
+              else: { $ref: "#/$defs/callbacks" },
+            },
+            example: {
+              type: "object",
+              properties: {
+                summary: { type: "string" },
+                description: { type: "string" },
+                value: true,
+                externalValue: { $ref: "#/$defs/uri" },
+              },
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            "example-or-reference": {
+              if: { required: ["$ref"] },
+              then: { $ref: "#/$defs/reference" },
+              else: { $ref: "#/$defs/example" },
+            },
+            link: {
+              type: "object",
+              properties: {
+                operationRef: { $ref: "#/$defs/uri" },
+                operationId: true,
+                parameters: { $ref: "#/$defs/map-of-strings" },
+                requestBody: true,
+                description: { type: "string" },
+                body: { $ref: "#/$defs/server" },
+              },
+              oneOf: [{ required: ["operationRef"] }, { required: ["operationId"] }],
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            "link-or-reference": {
+              if: { required: ["$ref"] },
+              then: { $ref: "#/$defs/reference" },
+              else: { $ref: "#/$defs/link" },
+            },
+            header: {
+              type: "object",
+              properties: {
+                description: { type: "string" },
+                required: { default: false, type: "boolean" },
+                deprecated: { default: false, type: "boolean" },
+                allowEmptyValue: { default: false, type: "boolean" },
+              },
+              dependentSchemas: {
+                schema: {
+                  properties: {
+                    style: { default: "simple", enum: ["simple"] },
+                    explode: { default: false, type: "boolean" },
+                    allowReserved: { default: false, type: "boolean" },
+                    schema: { $dynamicRef: "#meta" },
+                  },
+                  $ref: "#/$defs/examples",
+                },
+                content: { properties: { content: { $ref: "#/$defs/content" } } },
+              },
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            "header-or-reference": {
+              if: { required: ["$ref"] },
+              then: { $ref: "#/$defs/reference" },
+              else: { $ref: "#/$defs/header" },
+            },
+            tag: {
+              type: "object",
+              properties: {
+                name: { type: "string" },
+                description: { type: "string" },
+                externalDocs: { $ref: "#/$defs/external-documentation" },
+              },
+              required: ["name"],
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+            },
+            reference: {
+              type: "object",
+              properties: {
+                $ref: { $ref: "#/$defs/uri" },
+                summary: { type: "string" },
+                description: { type: "string" },
+              },
+              unevaluatedProperties: false,
+            },
+            schema: { $dynamicAnchor: "meta", type: ["object", "boolean"] },
+            "security-scheme": {
+              type: "object",
+              properties: {
+                type: { enum: ["apiKey", "http", "mutualTLS", "oauth2", "openIdConnect"] },
+                description: { type: "string" },
+              },
+              required: ["type"],
+              allOf: [
+                { $ref: "#/$defs/specification-extensions" },
+                { $ref: "#/$defs/security-scheme/$defs/type-apikey" },
+                { $ref: "#/$defs/security-scheme/$defs/type-http" },
+                { $ref: "#/$defs/security-scheme/$defs/type-http-bearer" },
+                { $ref: "#/$defs/security-scheme/$defs/type-oauth2" },
+                { $ref: "#/$defs/security-scheme/$defs/type-oidc" },
+              ],
+              unevaluatedProperties: false,
+              $defs: {
+                "type-apikey": {
+                  if: { properties: { type: { const: "apiKey" } }, required: ["type"] },
+                  then: {
+                    properties: { name: { type: "string" }, in: { enum: ["query", "header", "cookie"] } },
+                    required: ["name", "in"],
+                  },
+                },
+                "type-http": {
+                  if: { properties: { type: { const: "http" } }, required: ["type"] },
+                  then: { properties: { scheme: { type: "string" } }, required: ["scheme"] },
+                },
+                "type-http-bearer": {
+                  if: {
+                    properties: { type: { const: "http" }, scheme: { const: "bearer" } },
+                    required: ["type", "scheme"],
+                  },
+                  then: { properties: { bearerFormat: { type: "string" } }, required: ["scheme"] },
+                },
+                "type-oauth2": {
+                  if: { properties: { type: { const: "oauth2" } }, required: ["type"] },
+                  then: { properties: { flows: { $ref: "#/$defs/oauth-flows" } }, required: ["flows"] },
+                },
+                "type-oidc": {
+                  if: { properties: { type: { const: "openIdConnect" } }, required: ["type"] },
+                  then: { properties: { openIdConnectUrl: { $ref: "#/$defs/uri" } }, required: ["openIdConnectUrl"] },
+                },
+              },
+            },
+            "security-scheme-or-reference": {
+              if: { required: ["$ref"] },
+              then: { $ref: "#/$defs/reference" },
+              else: { $ref: "#/$defs/security-scheme" },
+            },
+            "oauth-flows": {
+              type: "object",
+              properties: {
+                implicit: { $ref: "#/$defs/oauth-flows/$defs/implicit" },
+                password: { $ref: "#/$defs/oauth-flows/$defs/password" },
+                clientCredentials: { $ref: "#/$defs/oauth-flows/$defs/client-credentials" },
+                authorizationCode: { $ref: "#/$defs/oauth-flows/$defs/authorization-code" },
+              },
+              $ref: "#/$defs/specification-extensions",
+              unevaluatedProperties: false,
+              $defs: {
+                implicit: {
+                  type: "object",
+                  properties: {
+                    authorizationUrl: { type: "string" },
+                    refreshUrl: { type: "string" },
+                    scopes: { $ref: "#/$defs/map-of-strings" },
+                  },
+                  required: ["authorizationUrl", "scopes"],
+                  $ref: "#/$defs/specification-extensions",
+                  unevaluatedProperties: false,
+                },
+                password: {
+                  type: "object",
+                  properties: {
+                    tokenUrl: { type: "string" },
+                    refreshUrl: { type: "string" },
+                    scopes: { $ref: "#/$defs/map-of-strings" },
+                  },
+                  required: ["tokenUrl", "scopes"],
+                  $ref: "#/$defs/specification-extensions",
+                  unevaluatedProperties: false,
+                },
+                "client-credentials": {
+                  type: "object",
+                  properties: {
+                    tokenUrl: { type: "string" },
+                    refreshUrl: { type: "string" },
+                    scopes: { $ref: "#/$defs/map-of-strings" },
+                  },
+                  required: ["tokenUrl", "scopes"],
+                  $ref: "#/$defs/specification-extensions",
+                  unevaluatedProperties: false,
+                },
+                "authorization-code": {
+                  type: "object",
+                  properties: {
+                    authorizationUrl: { type: "string" },
+                    tokenUrl: { type: "string" },
+                    refreshUrl: { type: "string" },
+                    scopes: { $ref: "#/$defs/map-of-strings" },
+                  },
+                  required: ["authorizationUrl", "tokenUrl", "scopes"],
+                  $ref: "#/$defs/specification-extensions",
+                  unevaluatedProperties: false,
+                },
+              },
+            },
+            "security-requirement": {
+              type: "object",
+              additionalProperties: { type: "array", items: { type: "string" } },
+            },
+            "specification-extensions": { patternProperties: { "^x-": true } },
+            examples: {
+              properties: {
+                example: true,
+                examples: { type: "object", additionalProperties: { $ref: "#/$defs/example-or-reference" } },
+              },
+            },
+            uri: { type: "string", format: "uri" },
+            "map-of-strings": { type: "object", additionalProperties: { type: "string" } },
+          },
+        };
+      },
+      {},
+    ],
+    30: [
+      function (require, module, exports) {
+        "use strict";
+        module.exports = ["get", "put", "post", "delete", "options", "head", "patch"];
+      },
+      {},
+    ],
+    31: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.Ono = void 0);
+        const extend_error_1 = require("./extend-error"),
+          normalize_1 = require("./normalize"),
+          to_json_1 = require("./to-json"),
+          constructor = Ono;
+        function Ono(r, e) {
+          function o(...o) {
+            let { originalError: n, props: t, message: i } = normalize_1.normalizeArgs(o, e),
+              s = new r(i);
+            return extend_error_1.extendError(s, n, t);
+          }
+          return (e = normalize_1.normalizeOptions(e)), (o[Symbol.species] = r), o;
+        }
+        (exports.Ono = constructor),
+          (Ono.toJSON = function (r) {
+            return to_json_1.toJSON.call(r);
+          }),
+          (Ono.extend = function (r, e, o) {
+            return o || e instanceof Error
+              ? extend_error_1.extendError(r, e, o)
+              : e
+                ? extend_error_1.extendError(r, void 0, e)
+                : extend_error_1.extendError(r);
+          });
+      },
+      { "./extend-error": 32, "./normalize": 35, "./to-json": 38 },
+    ],
+    32: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.extendError = void 0);
+        const isomorphic_node_1 = require("./isomorphic.node"),
+          stack_1 = require("./stack"),
+          to_json_1 = require("./to-json"),
+          protectedProps = ["name", "message", "stack"];
+        function extendError(e, t, o) {
+          let r = e;
+          return (
+            extendStack(r, t),
+            t && "object" == typeof t && mergeErrors(r, t),
+            (r.toJSON = to_json_1.toJSON),
+            isomorphic_node_1.addInspectMethod && isomorphic_node_1.addInspectMethod(r),
+            o && "object" == typeof o && Object.assign(r, o),
+            r
+          );
+        }
+        function extendStack(e, t) {
+          let o = Object.getOwnPropertyDescriptor(e, "stack");
+          stack_1.isLazyStack(o)
+            ? stack_1.lazyJoinStacks(o, e, t)
+            : stack_1.isWritableStack(o) && (e.stack = stack_1.joinStacks(e, t));
+        }
+        function mergeErrors(e, t) {
+          let o = to_json_1.getDeepKeys(t, protectedProps),
+            r = e,
+            s = t;
+          for (let e of o)
+            if (void 0 === r[e])
+              try {
+                r[e] = s[e];
+              } catch (e) {}
+        }
+        exports.extendError = extendError;
+      },
+      { "./isomorphic.node": 34, "./stack": 37, "./to-json": 38 },
+    ],
+    33: [
+      function (require, module, exports) {
+        "use strict";
+        var __createBinding =
+            (this && this.__createBinding) ||
+            (Object.create
+              ? function (e, t, o, r) {
+                  void 0 === r && (r = o),
+                    Object.defineProperty(e, r, {
+                      enumerable: !0,
+                      get: function () {
+                        return t[o];
+                      },
+                    });
+                }
+              : function (e, t, o, r) {
+                  void 0 === r && (r = o), (e[r] = t[o]);
+                }),
+          __exportStar =
+            (this && this.__exportStar) ||
+            function (e, t) {
+              for (var o in e) "default" === o || t.hasOwnProperty(o) || __createBinding(t, e, o);
+            };
+        Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.ono = void 0);
+        const singleton_1 = require("./singleton");
+        Object.defineProperty(exports, "ono", {
+          enumerable: !0,
+          get: function () {
+            return singleton_1.ono;
+          },
+        });
+        var constructor_1 = require("./constructor");
+        Object.defineProperty(exports, "Ono", {
+          enumerable: !0,
+          get: function () {
+            return constructor_1.Ono;
+          },
+        }),
+          __exportStar(require("./types"), exports),
+          (exports.default = singleton_1.ono),
+          "object" == typeof module &&
+            "object" == typeof module.exports &&
+            (module.exports = Object.assign(module.exports.default, module.exports));
+      },
+      { "./constructor": 31, "./singleton": 36, "./types": 39 },
+    ],
+    34: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.addInspectMethod = exports.format = void 0),
+          (exports.format = !1),
+          (exports.addInspectMethod = !1);
+      },
+      {},
+    ],
+    35: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.normalizeArgs = exports.normalizeOptions = void 0);
+        const isomorphic_node_1 = require("./isomorphic.node");
+        function normalizeOptions(o) {
+          return {
+            concatMessages: void 0 === (o = o || {}).concatMessages || Boolean(o.concatMessages),
+            format: void 0 === o.format ? isomorphic_node_1.format : "function" == typeof o.format && o.format,
+          };
+        }
+        function normalizeArgs(o, e) {
+          let r,
+            s,
+            n,
+            t = "";
+          return (
+            "string" == typeof o[0]
+              ? (n = o)
+              : "string" == typeof o[1]
+                ? (o[0] instanceof Error ? (r = o[0]) : (s = o[0]), (n = o.slice(1)))
+                : ((r = o[0]), (s = o[1]), (n = o.slice(2))),
+            n.length > 0 && (t = e.format ? e.format.apply(void 0, n) : n.join(" ")),
+            e.concatMessages && r && r.message && (t += (t ? " \n" : "") + r.message),
+            { originalError: r, props: s, message: t }
+          );
+        }
+        (exports.normalizeOptions = normalizeOptions), (exports.normalizeArgs = normalizeArgs);
+      },
+      { "./isomorphic.node": 34 },
+    ],
+    36: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.ono = void 0);
+        const constructor_1 = require("./constructor"),
+          singleton = ono;
+        (exports.ono = singleton),
+          (ono.error = new constructor_1.Ono(Error)),
+          (ono.eval = new constructor_1.Ono(EvalError)),
+          (ono.range = new constructor_1.Ono(RangeError)),
+          (ono.reference = new constructor_1.Ono(ReferenceError)),
+          (ono.syntax = new constructor_1.Ono(SyntaxError)),
+          (ono.type = new constructor_1.Ono(TypeError)),
+          (ono.uri = new constructor_1.Ono(URIError));
+        const onoMap = ono;
+        function ono(...o) {
+          let r = o[0];
+          if ("object" == typeof r && "string" == typeof r.name)
+            for (let n of Object.values(onoMap))
+              if ("function" == typeof n && "ono" === n.name) {
+                let e = n[Symbol.species];
+                if (e && e !== Error && (r instanceof e || r.name === e.name)) return n.apply(void 0, o);
+              }
+          return ono.error.apply(void 0, o);
+        }
+      },
+      { "./constructor": 31 },
+    ],
+    37: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.lazyJoinStacks = exports.joinStacks = exports.isWritableStack = exports.isLazyStack = void 0);
+        const newline = /\r?\n/,
+          onoCall = /\bono[ @]/;
+        function isLazyStack(t) {
+          return Boolean(t && t.configurable && "function" == typeof t.get);
+        }
+        function isWritableStack(t) {
+          return Boolean(!t || t.writable || "function" == typeof t.set);
+        }
+        function joinStacks(t, e) {
+          let o = popStack(t.stack),
+            n = e ? e.stack : void 0;
+          return o && n ? o + "\n\n" + n : o || n;
+        }
+        function lazyJoinStacks(t, e, o) {
+          o
+            ? Object.defineProperty(e, "stack", {
+                get: () => {
+                  return joinStacks({ stack: t.get.apply(e) }, o);
+                },
+                enumerable: !1,
+                configurable: !0,
+              })
+            : lazyPopStack(e, t);
+        }
+        function popStack(t) {
+          if (t) {
+            let e,
+              o = t.split(newline);
+            for (let t = 0; t < o.length; t++) {
+              let n = o[t];
+              if (onoCall.test(n)) void 0 === e && (e = t);
+              else if (void 0 !== e) {
+                o.splice(e, t - e);
+                break;
+              }
+            }
+            if (o.length > 0) return o.join("\n");
+          }
+          return t;
+        }
+        function lazyPopStack(t, e) {
+          Object.defineProperty(t, "stack", { get: () => popStack(e.get.apply(t)), enumerable: !1, configurable: !0 });
+        }
+        (exports.isLazyStack = isLazyStack),
+          (exports.isWritableStack = isWritableStack),
+          (exports.joinStacks = joinStacks),
+          (exports.lazyJoinStacks = lazyJoinStacks);
+      },
+      {},
+    ],
+    38: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.getDeepKeys = exports.toJSON = void 0);
+        const nonJsonTypes = ["function", "symbol", "undefined"],
+          protectedProps = ["constructor", "prototype", "__proto__"],
+          objectPrototype = Object.getPrototypeOf({});
+        function toJSON() {
+          let e = {},
+            t = this;
+          for (let o of getDeepKeys(t))
+            if ("string" == typeof o) {
+              let r = t[o],
+                p = typeof r;
+              nonJsonTypes.includes(p) || (e[o] = r);
+            }
+          return e;
+        }
+        function getDeepKeys(e, t = []) {
+          let o = [];
+          for (; e && e !== objectPrototype; )
+            (o = o.concat(Object.getOwnPropertyNames(e), Object.getOwnPropertySymbols(e))),
+              (e = Object.getPrototypeOf(e));
+          let r = new Set(o);
+          for (let e of t.concat(protectedProps)) r.delete(e);
+          return r;
+        }
+        (exports.toJSON = toJSON), (exports.getDeepKeys = getDeepKeys);
+      },
+      {},
+    ],
+    39: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const util_1 = require("util");
+      },
+      { util: 204 },
+    ],
+    40: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.CodeGen =
+            exports.Name =
+            exports.nil =
+            exports.stringify =
+            exports.str =
+            exports._ =
+            exports.KeywordCxt =
+              void 0);
+        const core_1 = require("ajv/dist/core"),
+          draft4_1 = require("./vocabulary/draft4"),
+          discriminator_1 = require("ajv/dist/vocabularies/discriminator"),
+          draft4MetaSchema = require("./refs/json-schema-draft-04.json"),
+          META_SUPPORT_DATA = ["/properties"],
+          META_SCHEMA_ID = "http://json-schema.org/draft-04/schema";
+        class Ajv extends core_1.default {
+          constructor(e = {}) {
+            super({ ...e, schemaId: "id" });
+          }
+          _addVocabularies() {
+            super._addVocabularies(),
+              draft4_1.default.forEach((e) => this.addVocabulary(e)),
+              this.opts.discriminator && this.addKeyword(discriminator_1.default);
+          }
+          _addDefaultMetaSchema() {
+            if ((super._addDefaultMetaSchema(), !this.opts.meta)) return;
+            const e = this.opts.$data ? this.$dataMetaSchema(draft4MetaSchema, META_SUPPORT_DATA) : draft4MetaSchema;
+            this.addMetaSchema(e, META_SCHEMA_ID, !1), (this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID);
+          }
+          defaultMeta() {
+            return (this.opts.defaultMeta =
+              super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : void 0));
+          }
+        }
+        (module.exports = exports = Ajv),
+          Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.default = Ajv);
+        var core_2 = require("ajv/dist/core");
+        Object.defineProperty(exports, "KeywordCxt", {
+          enumerable: !0,
+          get: function () {
+            return core_2.KeywordCxt;
+          },
+        });
+        var core_3 = require("ajv/dist/core");
+        Object.defineProperty(exports, "_", {
+          enumerable: !0,
+          get: function () {
+            return core_3._;
+          },
+        }),
+          Object.defineProperty(exports, "str", {
+            enumerable: !0,
+            get: function () {
+              return core_3.str;
+            },
+          }),
+          Object.defineProperty(exports, "stringify", {
+            enumerable: !0,
+            get: function () {
+              return core_3.stringify;
+            },
+          }),
+          Object.defineProperty(exports, "nil", {
+            enumerable: !0,
+            get: function () {
+              return core_3.nil;
+            },
+          }),
+          Object.defineProperty(exports, "Name", {
+            enumerable: !0,
+            get: function () {
+              return core_3.Name;
+            },
+          }),
+          Object.defineProperty(exports, "CodeGen", {
+            enumerable: !0,
+            get: function () {
+              return core_3.CodeGen;
+            },
+          });
+      },
+      {
+        "./refs/json-schema-draft-04.json": 41,
+        "./vocabulary/draft4": 43,
+        "ajv/dist/core": 65,
+        "ajv/dist/vocabularies/discriminator": 102,
+      },
+    ],
+    41: [
+      function (require, module, exports) {
+        module.exports = {
+          id: "http://json-schema.org/draft-04/schema#",
+          $schema: "http://json-schema.org/draft-04/schema#",
+          description: "Core schema meta-schema",
+          definitions: {
+            schemaArray: { type: "array", minItems: 1, items: { $ref: "#" } },
+            positiveInteger: { type: "integer", minimum: 0 },
+            positiveIntegerDefault0: { allOf: [{ $ref: "#/definitions/positiveInteger" }, { default: 0 }] },
+            simpleTypes: { enum: ["array", "boolean", "integer", "null", "number", "object", "string"] },
+            stringArray: { type: "array", items: { type: "string" }, minItems: 1, uniqueItems: true },
+          },
+          type: "object",
+          properties: {
+            id: { type: "string", format: "uri" },
+            $schema: { type: "string", format: "uri" },
+            title: { type: "string" },
+            description: { type: "string" },
+            default: {},
+            multipleOf: { type: "number", minimum: 0, exclusiveMinimum: true },
+            maximum: { type: "number" },
+            exclusiveMaximum: { type: "boolean", default: false },
+            minimum: { type: "number" },
+            exclusiveMinimum: { type: "boolean", default: false },
+            maxLength: { $ref: "#/definitions/positiveInteger" },
+            minLength: { $ref: "#/definitions/positiveIntegerDefault0" },
+            pattern: { type: "string", format: "regex" },
+            additionalItems: { anyOf: [{ type: "boolean" }, { $ref: "#" }], default: {} },
+            items: { anyOf: [{ $ref: "#" }, { $ref: "#/definitions/schemaArray" }], default: {} },
+            maxItems: { $ref: "#/definitions/positiveInteger" },
+            minItems: { $ref: "#/definitions/positiveIntegerDefault0" },
+            uniqueItems: { type: "boolean", default: false },
+            maxProperties: { $ref: "#/definitions/positiveInteger" },
+            minProperties: { $ref: "#/definitions/positiveIntegerDefault0" },
+            required: { $ref: "#/definitions/stringArray" },
+            additionalProperties: { anyOf: [{ type: "boolean" }, { $ref: "#" }], default: {} },
+            definitions: { type: "object", additionalProperties: { $ref: "#" }, default: {} },
+            properties: { type: "object", additionalProperties: { $ref: "#" }, default: {} },
+            patternProperties: { type: "object", additionalProperties: { $ref: "#" }, default: {} },
+            dependencies: {
+              type: "object",
+              additionalProperties: { anyOf: [{ $ref: "#" }, { $ref: "#/definitions/stringArray" }] },
+            },
+            enum: { type: "array", minItems: 1, uniqueItems: true },
+            type: {
+              anyOf: [
+                { $ref: "#/definitions/simpleTypes" },
+                { type: "array", items: { $ref: "#/definitions/simpleTypes" }, minItems: 1, uniqueItems: true },
+              ],
+            },
+            allOf: { $ref: "#/definitions/schemaArray" },
+            anyOf: { $ref: "#/definitions/schemaArray" },
+            oneOf: { $ref: "#/definitions/schemaArray" },
+            not: { $ref: "#" },
+          },
+          dependencies: { exclusiveMaximum: ["maximum"], exclusiveMinimum: ["minimum"] },
+          default: {},
+        };
+      },
+      {},
+    ],
+    42: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const ref_1 = require("ajv/dist/vocabularies/core/ref"),
+          core = ["$schema", "id", "$defs", { keyword: "$comment" }, "definitions", ref_1.default];
+        exports.default = core;
+      },
+      { "ajv/dist/vocabularies/core/ref": 101 },
+    ],
+    43: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const core_1 = require("./core"),
+          validation_1 = require("./validation"),
+          applicator_1 = require("ajv/dist/vocabularies/applicator"),
+          format_1 = require("ajv/dist/vocabularies/format"),
+          metadataVocabulary = ["title", "description", "default"],
+          draft4Vocabularies = [
+            core_1.default,
+            validation_1.default,
+            applicator_1.default(),
+            format_1.default,
+            metadataVocabulary,
+          ];
+        exports.default = draft4Vocabularies;
+      },
+      { "./core": 42, "./validation": 44, "ajv/dist/vocabularies/applicator": 88, "ajv/dist/vocabularies/format": 111 },
+    ],
+    44: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const limitNumber_1 = require("./limitNumber"),
+          limitNumberExclusive_1 = require("./limitNumberExclusive"),
+          multipleOf_1 = require("ajv/dist/vocabularies/validation/multipleOf"),
+          limitLength_1 = require("ajv/dist/vocabularies/validation/limitLength"),
+          pattern_1 = require("ajv/dist/vocabularies/validation/pattern"),
+          limitProperties_1 = require("ajv/dist/vocabularies/validation/limitProperties"),
+          required_1 = require("ajv/dist/vocabularies/validation/required"),
+          limitItems_1 = require("ajv/dist/vocabularies/validation/limitItems"),
+          uniqueItems_1 = require("ajv/dist/vocabularies/validation/uniqueItems"),
+          const_1 = require("ajv/dist/vocabularies/validation/const"),
+          enum_1 = require("ajv/dist/vocabularies/validation/enum"),
+          validation = [
+            limitNumber_1.default,
+            limitNumberExclusive_1.default,
+            multipleOf_1.default,
+            limitLength_1.default,
+            pattern_1.default,
+            limitProperties_1.default,
+            required_1.default,
+            limitItems_1.default,
+            uniqueItems_1.default,
+            { keyword: "type", schemaType: ["string", "array"] },
+            { keyword: "nullable", schemaType: "boolean" },
+            const_1.default,
+            enum_1.default,
+          ];
+        exports.default = validation;
+      },
+      {
+        "./limitNumber": 45,
+        "./limitNumberExclusive": 46,
+        "ajv/dist/vocabularies/validation/const": 117,
+        "ajv/dist/vocabularies/validation/enum": 119,
+        "ajv/dist/vocabularies/validation/limitItems": 122,
+        "ajv/dist/vocabularies/validation/limitLength": 123,
+        "ajv/dist/vocabularies/validation/limitProperties": 125,
+        "ajv/dist/vocabularies/validation/multipleOf": 126,
+        "ajv/dist/vocabularies/validation/pattern": 127,
+        "ajv/dist/vocabularies/validation/required": 128,
+        "ajv/dist/vocabularies/validation/uniqueItems": 129,
+      },
+    ],
+    45: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const core_1 = require("ajv/dist/core"),
+          codegen_1 = require("ajv/dist/compile/codegen"),
+          ops = codegen_1.operators,
+          KWDs = {
+            maximum: {
+              exclusive: "exclusiveMaximum",
+              ops: [
+                { okStr: "<=", ok: ops.LTE, fail: ops.GT },
+                { okStr: "<", ok: ops.LT, fail: ops.GTE },
+              ],
+            },
+            minimum: {
+              exclusive: "exclusiveMinimum",
+              ops: [
+                { okStr: ">=", ok: ops.GTE, fail: ops.LT },
+                { okStr: ">", ok: ops.GT, fail: ops.LTE },
+              ],
+            },
+          },
+          error = {
+            message: (e) => core_1.str`must be ${kwdOp(e).okStr} ${e.schemaCode}`,
+            params: (e) => core_1._`{comparison: ${kwdOp(e).okStr}, limit: ${e.schemaCode}}`,
+          },
+          def = {
+            keyword: Object.keys(KWDs),
+            type: "number",
+            schemaType: "number",
+            $data: !0,
+            error: error,
+            code(e) {
+              const { data: o, schemaCode: s } = e;
+              e.fail$data(core_1._`${o} ${kwdOp(e).fail} ${s} || isNaN(${o})`);
+            },
+          };
+        function kwdOp(e) {
+          var o;
+          const s = e.keyword,
+            r = (null === (o = e.parentSchema) || void 0 === o ? void 0 : o[KWDs[s].exclusive]) ? 1 : 0;
+          return KWDs[s].ops[r];
+        }
+        exports.default = def;
+      },
+      { "ajv/dist/compile/codegen": 49, "ajv/dist/core": 65 },
+    ],
+    46: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const KWDs = { exclusiveMaximum: "maximum", exclusiveMinimum: "minimum" },
+          def = {
+            keyword: Object.keys(KWDs),
+            type: "number",
+            schemaType: "boolean",
+            code({ keyword: e, parentSchema: o }) {
+              const s = KWDs[e];
+              if (void 0 === o[s]) throw new Error(`${e} can only be used with ${s}`);
+            },
+          };
+        exports.default = def;
+      },
+      {},
+    ],
+    47: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.CodeGen =
+            exports.Name =
+            exports.nil =
+            exports.stringify =
+            exports.str =
+            exports._ =
+            exports.KeywordCxt =
+              void 0);
+        const core_1 = require("./core"),
+          draft2020_1 = require("./vocabularies/draft2020"),
+          discriminator_1 = require("./vocabularies/discriminator"),
+          json_schema_2020_12_1 = require("./refs/json-schema-2020-12"),
+          META_SCHEMA_ID = "https://json-schema.org/draft/2020-12/schema";
+        class Ajv2020 extends core_1.default {
+          constructor(e = {}) {
+            super({ ...e, dynamicRef: !0, next: !0, unevaluated: !0 });
+          }
+          _addVocabularies() {
+            super._addVocabularies(),
+              draft2020_1.default.forEach((e) => this.addVocabulary(e)),
+              this.opts.discriminator && this.addKeyword(discriminator_1.default);
+          }
+          _addDefaultMetaSchema() {
+            super._addDefaultMetaSchema();
+            const { $data: e, meta: t } = this.opts;
+            t &&
+              (json_schema_2020_12_1.default.call(this, e),
+              (this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID));
+          }
+          defaultMeta() {
+            return (this.opts.defaultMeta =
+              super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : void 0));
+          }
+        }
+        (module.exports = exports = Ajv2020),
+          Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.default = Ajv2020);
+        var validate_1 = require("./compile/validate");
+        Object.defineProperty(exports, "KeywordCxt", {
+          enumerable: !0,
+          get: function () {
+            return validate_1.KeywordCxt;
+          },
+        });
+        var codegen_1 = require("./compile/codegen");
+        Object.defineProperty(exports, "_", {
+          enumerable: !0,
+          get: function () {
+            return codegen_1._;
+          },
+        }),
+          Object.defineProperty(exports, "str", {
+            enumerable: !0,
+            get: function () {
+              return codegen_1.str;
+            },
+          }),
+          Object.defineProperty(exports, "stringify", {
+            enumerable: !0,
+            get: function () {
+              return codegen_1.stringify;
+            },
+          }),
+          Object.defineProperty(exports, "nil", {
+            enumerable: !0,
+            get: function () {
+              return codegen_1.nil;
+            },
+          }),
+          Object.defineProperty(exports, "Name", {
+            enumerable: !0,
+            get: function () {
+              return codegen_1.Name;
+            },
+          }),
+          Object.defineProperty(exports, "CodeGen", {
+            enumerable: !0,
+            get: function () {
+              return codegen_1.CodeGen;
+            },
+          });
+      },
+      {
+        "./compile/codegen": 49,
+        "./compile/validate": 62,
+        "./core": 65,
+        "./refs/json-schema-2020-12": 67,
+        "./vocabularies/discriminator": 102,
+        "./vocabularies/draft2020": 104,
+      },
+    ],
+    48: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.regexpCode =
+            exports.getEsmExportName =
+            exports.getProperty =
+            exports.safeStringify =
+            exports.stringify =
+            exports.strConcat =
+            exports.addCodeArg =
+            exports.str =
+            exports._ =
+            exports.nil =
+            exports._Code =
+            exports.Name =
+            exports.IDENTIFIER =
+            exports._CodeOrName =
+              void 0);
+        class _CodeOrName {}
+        (exports._CodeOrName = _CodeOrName), (exports.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i);
+        class Name extends _CodeOrName {
+          constructor(e) {
+            if ((super(), !exports.IDENTIFIER.test(e))) throw new Error("CodeGen: name must be a valid identifier");
+            this.str = e;
+          }
+          toString() {
+            return this.str;
+          }
+          emptyStr() {
+            return !1;
+          }
+          get names() {
+            return { [this.str]: 1 };
+          }
+        }
+        exports.Name = Name;
+        class _Code extends _CodeOrName {
+          constructor(e) {
+            super(), (this._items = "string" == typeof e ? [e] : e);
+          }
+          toString() {
+            return this.str;
+          }
+          emptyStr() {
+            if (this._items.length > 1) return !1;
+            const e = this._items[0];
+            return "" === e || '""' === e;
+          }
+          get str() {
+            var e;
+            return null !== (e = this._str) && void 0 !== e
+              ? e
+              : (this._str = this._items.reduce((e, t) => `${e}${t}`, ""));
+          }
+          get names() {
+            var e;
+            return null !== (e = this._names) && void 0 !== e
+              ? e
+              : (this._names = this._items.reduce(
+                  (e, t) => (t instanceof Name && (e[t.str] = (e[t.str] || 0) + 1), e),
+                  {},
+                ));
+          }
+        }
+        function _(e, ...t) {
+          const r = [e[0]];
+          let s = 0;
+          for (; s < t.length; ) addCodeArg(r, t[s]), r.push(e[++s]);
+          return new _Code(r);
+        }
+        (exports._Code = _Code), (exports.nil = new _Code("")), (exports._ = _);
+        const plus = new _Code("+");
+        function str(e, ...t) {
+          const r = [safeStringify(e[0])];
+          let s = 0;
+          for (; s < t.length; ) r.push(plus), addCodeArg(r, t[s]), r.push(plus, safeStringify(e[++s]));
+          return optimize(r), new _Code(r);
+        }
+        function addCodeArg(e, t) {
+          t instanceof _Code ? e.push(...t._items) : t instanceof Name ? e.push(t) : e.push(interpolate(t));
+        }
+        function optimize(e) {
+          let t = 1;
+          for (; t < e.length - 1; ) {
+            if (e[t] === plus) {
+              const r = mergeExprItems(e[t - 1], e[t + 1]);
+              if (void 0 !== r) {
+                e.splice(t - 1, 3, r);
+                continue;
+              }
+              e[t++] = "+";
+            }
+            t++;
+          }
+        }
+        function mergeExprItems(e, t) {
+          if ('""' === t) return e;
+          if ('""' === e) return t;
+          if ("string" == typeof e) {
+            if (t instanceof Name || '"' !== e[e.length - 1]) return;
+            return "string" != typeof t
+              ? `${e.slice(0, -1)}${t}"`
+              : '"' === t[0]
+                ? e.slice(0, -1) + t.slice(1)
+                : void 0;
+          }
+          return "string" != typeof t || '"' !== t[0] || e instanceof Name ? void 0 : `"${e}${t.slice(1)}`;
+        }
+        function strConcat(e, t) {
+          return t.emptyStr() ? e : e.emptyStr() ? t : str`${e}${t}`;
+        }
+        function interpolate(e) {
+          return "number" == typeof e || "boolean" == typeof e || null === e
+            ? e
+            : safeStringify(Array.isArray(e) ? e.join(",") : e);
+        }
+        function stringify(e) {
+          return new _Code(safeStringify(e));
+        }
+        function safeStringify(e) {
+          return JSON.stringify(e)
+            .replace(/\u2028/g, "\\u2028")
+            .replace(/\u2029/g, "\\u2029");
+        }
+        function getProperty(e) {
+          return "string" == typeof e && exports.IDENTIFIER.test(e) ? new _Code(`.${e}`) : _`[${e}]`;
+        }
+        function getEsmExportName(e) {
+          if ("string" == typeof e && exports.IDENTIFIER.test(e)) return new _Code(`${e}`);
+          throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`);
+        }
+        function regexpCode(e) {
+          return new _Code(e.toString());
+        }
+        (exports.str = str),
+          (exports.addCodeArg = addCodeArg),
+          (exports.strConcat = strConcat),
+          (exports.stringify = stringify),
+          (exports.safeStringify = safeStringify),
+          (exports.getProperty = getProperty),
+          (exports.getEsmExportName = getEsmExportName),
+          (exports.regexpCode = regexpCode);
+      },
+      {},
+    ],
+    49: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.or =
+            exports.and =
+            exports.not =
+            exports.CodeGen =
+            exports.operators =
+            exports.varKinds =
+            exports.ValueScopeName =
+            exports.ValueScope =
+            exports.Scope =
+            exports.Name =
+            exports.regexpCode =
+            exports.stringify =
+            exports.getProperty =
+            exports.nil =
+            exports.strConcat =
+            exports.str =
+            exports._ =
+              void 0);
+        const code_1 = require("./code"),
+          scope_1 = require("./scope");
+        var code_2 = require("./code");
+        Object.defineProperty(exports, "_", {
+          enumerable: !0,
+          get: function () {
+            return code_2._;
+          },
+        }),
+          Object.defineProperty(exports, "str", {
+            enumerable: !0,
+            get: function () {
+              return code_2.str;
+            },
+          }),
+          Object.defineProperty(exports, "strConcat", {
+            enumerable: !0,
+            get: function () {
+              return code_2.strConcat;
+            },
+          }),
+          Object.defineProperty(exports, "nil", {
+            enumerable: !0,
+            get: function () {
+              return code_2.nil;
+            },
+          }),
+          Object.defineProperty(exports, "getProperty", {
+            enumerable: !0,
+            get: function () {
+              return code_2.getProperty;
+            },
+          }),
+          Object.defineProperty(exports, "stringify", {
+            enumerable: !0,
+            get: function () {
+              return code_2.stringify;
+            },
+          }),
+          Object.defineProperty(exports, "regexpCode", {
+            enumerable: !0,
+            get: function () {
+              return code_2.regexpCode;
+            },
+          }),
+          Object.defineProperty(exports, "Name", {
+            enumerable: !0,
+            get: function () {
+              return code_2.Name;
+            },
+          });
+        var scope_2 = require("./scope");
+        Object.defineProperty(exports, "Scope", {
+          enumerable: !0,
+          get: function () {
+            return scope_2.Scope;
+          },
+        }),
+          Object.defineProperty(exports, "ValueScope", {
+            enumerable: !0,
+            get: function () {
+              return scope_2.ValueScope;
+            },
+          }),
+          Object.defineProperty(exports, "ValueScopeName", {
+            enumerable: !0,
+            get: function () {
+              return scope_2.ValueScopeName;
+            },
+          }),
+          Object.defineProperty(exports, "varKinds", {
+            enumerable: !0,
+            get: function () {
+              return scope_2.varKinds;
+            },
+          }),
+          (exports.operators = {
+            GT: new code_1._Code(">"),
+            GTE: new code_1._Code(">="),
+            LT: new code_1._Code("<"),
+            LTE: new code_1._Code("<="),
+            EQ: new code_1._Code("==="),
+            NEQ: new code_1._Code("!=="),
+            NOT: new code_1._Code("!"),
+            OR: new code_1._Code("||"),
+            AND: new code_1._Code("&&"),
+            ADD: new code_1._Code("+"),
+          });
+        class Node {
+          optimizeNodes() {
+            return this;
+          }
+          optimizeNames(e, t) {
+            return this;
+          }
+        }
+        class Def extends Node {
+          constructor(e, t, s) {
+            super(), (this.varKind = e), (this.name = t), (this.rhs = s);
+          }
+          render({ es5: e, _n: t }) {
+            const s = e ? scope_1.varKinds.var : this.varKind,
+              r = void 0 === this.rhs ? "" : ` = ${this.rhs}`;
+            return `${s} ${this.name}${r};` + t;
+          }
+          optimizeNames(e, t) {
+            if (e[this.name.str]) return this.rhs && (this.rhs = optimizeExpr(this.rhs, e, t)), this;
+          }
+          get names() {
+            return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {};
+          }
+        }
+        class Assign extends Node {
+          constructor(e, t, s) {
+            super(), (this.lhs = e), (this.rhs = t), (this.sideEffects = s);
+          }
+          render({ _n: e }) {
+            return `${this.lhs} = ${this.rhs};` + e;
+          }
+          optimizeNames(e, t) {
+            if (!(this.lhs instanceof code_1.Name) || e[this.lhs.str] || this.sideEffects)
+              return (this.rhs = optimizeExpr(this.rhs, e, t)), this;
+          }
+          get names() {
+            return addExprNames(this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names }, this.rhs);
+          }
+        }
+        class AssignOp extends Assign {
+          constructor(e, t, s, r) {
+            super(e, s, r), (this.op = t);
+          }
+          render({ _n: e }) {
+            return `${this.lhs} ${this.op}= ${this.rhs};` + e;
+          }
+        }
+        class Label extends Node {
+          constructor(e) {
+            super(), (this.label = e), (this.names = {});
+          }
+          render({ _n: e }) {
+            return `${this.label}:` + e;
+          }
+        }
+        class Break extends Node {
+          constructor(e) {
+            super(), (this.label = e), (this.names = {});
+          }
+          render({ _n: e }) {
+            return `break${this.label ? ` ${this.label}` : ""};` + e;
+          }
+        }
+        class Throw extends Node {
+          constructor(e) {
+            super(), (this.error = e);
+          }
+          render({ _n: e }) {
+            return `throw ${this.error};` + e;
+          }
+          get names() {
+            return this.error.names;
+          }
+        }
+        class AnyCode extends Node {
+          constructor(e) {
+            super(), (this.code = e);
+          }
+          render({ _n: e }) {
+            return `${this.code};` + e;
+          }
+          optimizeNodes() {
+            return `${this.code}` ? this : void 0;
+          }
+          optimizeNames(e, t) {
+            return (this.code = optimizeExpr(this.code, e, t)), this;
+          }
+          get names() {
+            return this.code instanceof code_1._CodeOrName ? this.code.names : {};
+          }
+        }
+        class ParentNode extends Node {
+          constructor(e = []) {
+            super(), (this.nodes = e);
+          }
+          render(e) {
+            return this.nodes.reduce((t, s) => t + s.render(e), "");
+          }
+          optimizeNodes() {
+            const { nodes: e } = this;
+            let t = e.length;
+            for (; t--; ) {
+              const s = e[t].optimizeNodes();
+              Array.isArray(s) ? e.splice(t, 1, ...s) : s ? (e[t] = s) : e.splice(t, 1);
+            }
+            return e.length > 0 ? this : void 0;
+          }
+          optimizeNames(e, t) {
+            const { nodes: s } = this;
+            let r = s.length;
+            for (; r--; ) {
+              const o = s[r];
+              o.optimizeNames(e, t) || (subtractNames(e, o.names), s.splice(r, 1));
+            }
+            return s.length > 0 ? this : void 0;
+          }
+          get names() {
+            return this.nodes.reduce((e, t) => addNames(e, t.names), {});
+          }
+        }
+        class BlockNode extends ParentNode {
+          render(e) {
+            return "{" + e._n + super.render(e) + "}" + e._n;
+          }
+        }
+        class Root extends ParentNode {}
+        class Else extends BlockNode {}
+        Else.kind = "else";
+        class If extends BlockNode {
+          constructor(e, t) {
+            super(t), (this.condition = e);
+          }
+          render(e) {
+            let t = `if(${this.condition})` + super.render(e);
+            return this.else && (t += "else " + this.else.render(e)), t;
+          }
+          optimizeNodes() {
+            super.optimizeNodes();
+            const e = this.condition;
+            if (!0 === e) return this.nodes;
+            let t = this.else;
+            if (t) {
+              const e = t.optimizeNodes();
+              t = this.else = Array.isArray(e) ? new Else(e) : e;
+            }
+            return t
+              ? !1 === e
+                ? t instanceof If
+                  ? t
+                  : t.nodes
+                : this.nodes.length
+                  ? this
+                  : new If(not(e), t instanceof If ? [t] : t.nodes)
+              : !1 !== e && this.nodes.length
+                ? this
+                : void 0;
+          }
+          optimizeNames(e, t) {
+            var s;
+            if (
+              ((this.else = null === (s = this.else) || void 0 === s ? void 0 : s.optimizeNames(e, t)),
+              super.optimizeNames(e, t) || this.else)
+            )
+              return (this.condition = optimizeExpr(this.condition, e, t)), this;
+          }
+          get names() {
+            const e = super.names;
+            return addExprNames(e, this.condition), this.else && addNames(e, this.else.names), e;
+          }
+        }
+        If.kind = "if";
+        class For extends BlockNode {}
+        For.kind = "for";
+        class ForLoop extends For {
+          constructor(e) {
+            super(), (this.iteration = e);
+          }
+          render(e) {
+            return `for(${this.iteration})` + super.render(e);
+          }
+          optimizeNames(e, t) {
+            if (super.optimizeNames(e, t)) return (this.iteration = optimizeExpr(this.iteration, e, t)), this;
+          }
+          get names() {
+            return addNames(super.names, this.iteration.names);
+          }
+        }
+        class ForRange extends For {
+          constructor(e, t, s, r) {
+            super(), (this.varKind = e), (this.name = t), (this.from = s), (this.to = r);
+          }
+          render(e) {
+            const t = e.es5 ? scope_1.varKinds.var : this.varKind,
+              { name: s, from: r, to: o } = this;
+            return `for(${t} ${s}=${r}; ${s}<${o}; ${s}++)` + super.render(e);
+          }
+          get names() {
+            const e = addExprNames(super.names, this.from);
+            return addExprNames(e, this.to);
+          }
+        }
+        class ForIter extends For {
+          constructor(e, t, s, r) {
+            super(), (this.loop = e), (this.varKind = t), (this.name = s), (this.iterable = r);
+          }
+          render(e) {
+            return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(e);
+          }
+          optimizeNames(e, t) {
+            if (super.optimizeNames(e, t)) return (this.iterable = optimizeExpr(this.iterable, e, t)), this;
+          }
+          get names() {
+            return addNames(super.names, this.iterable.names);
+          }
+        }
+        class Func extends BlockNode {
+          constructor(e, t, s) {
+            super(), (this.name = e), (this.args = t), (this.async = s);
+          }
+          render(e) {
+            return `${this.async ? "async " : ""}function ${this.name}(${this.args})` + super.render(e);
+          }
+        }
+        Func.kind = "func";
+        class Return extends ParentNode {
+          render(e) {
+            return "return " + super.render(e);
+          }
+        }
+        Return.kind = "return";
+        class Try extends BlockNode {
+          render(e) {
+            let t = "try" + super.render(e);
+            return this.catch && (t += this.catch.render(e)), this.finally && (t += this.finally.render(e)), t;
+          }
+          optimizeNodes() {
+            var e, t;
+            return (
+              super.optimizeNodes(),
+              null === (e = this.catch) || void 0 === e || e.optimizeNodes(),
+              null === (t = this.finally) || void 0 === t || t.optimizeNodes(),
+              this
+            );
+          }
+          optimizeNames(e, t) {
+            var s, r;
+            return (
+              super.optimizeNames(e, t),
+              null === (s = this.catch) || void 0 === s || s.optimizeNames(e, t),
+              null === (r = this.finally) || void 0 === r || r.optimizeNames(e, t),
+              this
+            );
+          }
+          get names() {
+            const e = super.names;
+            return this.catch && addNames(e, this.catch.names), this.finally && addNames(e, this.finally.names), e;
+          }
+        }
+        class Catch extends BlockNode {
+          constructor(e) {
+            super(), (this.error = e);
+          }
+          render(e) {
+            return `catch(${this.error})` + super.render(e);
+          }
+        }
+        Catch.kind = "catch";
+        class Finally extends BlockNode {
+          render(e) {
+            return "finally" + super.render(e);
+          }
+        }
+        Finally.kind = "finally";
+        class CodeGen {
+          constructor(e, t = {}) {
+            (this._values = {}),
+              (this._blockStarts = []),
+              (this._constants = {}),
+              (this.opts = { ...t, _n: t.lines ? "\n" : "" }),
+              (this._extScope = e),
+              (this._scope = new scope_1.Scope({ parent: e })),
+              (this._nodes = [new Root()]);
+          }
+          toString() {
+            return this._root.render(this.opts);
+          }
+          name(e) {
+            return this._scope.name(e);
+          }
+          scopeName(e) {
+            return this._extScope.name(e);
+          }
+          scopeValue(e, t) {
+            const s = this._extScope.value(e, t);
+            return (this._values[s.prefix] || (this._values[s.prefix] = new Set())).add(s), s;
+          }
+          getScopeValue(e, t) {
+            return this._extScope.getValue(e, t);
+          }
+          scopeRefs(e) {
+            return this._extScope.scopeRefs(e, this._values);
+          }
+          scopeCode() {
+            return this._extScope.scopeCode(this._values);
+          }
+          _def(e, t, s, r) {
+            const o = this._scope.toName(t);
+            return void 0 !== s && r && (this._constants[o.str] = s), this._leafNode(new Def(e, o, s)), o;
+          }
+          const(e, t, s) {
+            return this._def(scope_1.varKinds.const, e, t, s);
+          }
+          let(e, t, s) {
+            return this._def(scope_1.varKinds.let, e, t, s);
+          }
+          var(e, t, s) {
+            return this._def(scope_1.varKinds.var, e, t, s);
+          }
+          assign(e, t, s) {
+            return this._leafNode(new Assign(e, t, s));
+          }
+          add(e, t) {
+            return this._leafNode(new AssignOp(e, exports.operators.ADD, t));
+          }
+          code(e) {
+            return "function" == typeof e ? e() : e !== code_1.nil && this._leafNode(new AnyCode(e)), this;
+          }
+          object(...e) {
+            const t = ["{"];
+            for (const [s, r] of e)
+              t.length > 1 && t.push(","),
+                t.push(s),
+                (s !== r || this.opts.es5) && (t.push(":"), (0, code_1.addCodeArg)(t, r));
+            return t.push("}"), new code_1._Code(t);
+          }
+          if(e, t, s) {
+            if ((this._blockNode(new If(e)), t && s)) this.code(t).else().code(s).endIf();
+            else if (t) this.code(t).endIf();
+            else if (s) throw new Error('CodeGen: "else" body without "then" body');
+            return this;
+          }
+          elseIf(e) {
+            return this._elseNode(new If(e));
+          }
+          else() {
+            return this._elseNode(new Else());
+          }
+          endIf() {
+            return this._endBlockNode(If, Else);
+          }
+          _for(e, t) {
+            return this._blockNode(e), t && this.code(t).endFor(), this;
+          }
+          for(e, t) {
+            return this._for(new ForLoop(e), t);
+          }
+          forRange(e, t, s, r, o = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let) {
+            const n = this._scope.toName(e);
+            return this._for(new ForRange(o, n, t, s), () => r(n));
+          }
+          forOf(e, t, s, r = scope_1.varKinds.const) {
+            const o = this._scope.toName(e);
+            if (this.opts.es5) {
+              const e = t instanceof code_1.Name ? t : this.var("_arr", t);
+              return this.forRange("_i", 0, code_1._`${e}.length`, (t) => {
+                this.var(o, code_1._`${e}[${t}]`), s(o);
+              });
+            }
+            return this._for(new ForIter("of", r, o, t), () => s(o));
+          }
+          forIn(e, t, s, r = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) {
+            if (this.opts.ownProperties) return this.forOf(e, code_1._`Object.keys(${t})`, s);
+            const o = this._scope.toName(e);
+            return this._for(new ForIter("in", r, o, t), () => s(o));
+          }
+          endFor() {
+            return this._endBlockNode(For);
+          }
+          label(e) {
+            return this._leafNode(new Label(e));
+          }
+          break(e) {
+            return this._leafNode(new Break(e));
+          }
+          return(e) {
+            const t = new Return();
+            if ((this._blockNode(t), this.code(e), 1 !== t.nodes.length))
+              throw new Error('CodeGen: "return" should have one node');
+            return this._endBlockNode(Return);
+          }
+          try(e, t, s) {
+            if (!t && !s) throw new Error('CodeGen: "try" without "catch" and "finally"');
+            const r = new Try();
+            if ((this._blockNode(r), this.code(e), t)) {
+              const e = this.name("e");
+              (this._currNode = r.catch = new Catch(e)), t(e);
+            }
+            return (
+              s && ((this._currNode = r.finally = new Finally()), this.code(s)), this._endBlockNode(Catch, Finally)
+            );
+          }
+          throw(e) {
+            return this._leafNode(new Throw(e));
+          }
+          block(e, t) {
+            return this._blockStarts.push(this._nodes.length), e && this.code(e).endBlock(t), this;
+          }
+          endBlock(e) {
+            const t = this._blockStarts.pop();
+            if (void 0 === t) throw new Error("CodeGen: not in self-balancing block");
+            const s = this._nodes.length - t;
+            if (s < 0 || (void 0 !== e && s !== e))
+              throw new Error(`CodeGen: wrong number of nodes: ${s} vs ${e} expected`);
+            return (this._nodes.length = t), this;
+          }
+          func(e, t = code_1.nil, s, r) {
+            return this._blockNode(new Func(e, t, s)), r && this.code(r).endFunc(), this;
+          }
+          endFunc() {
+            return this._endBlockNode(Func);
+          }
+          optimize(e = 1) {
+            for (; e-- > 0; ) this._root.optimizeNodes(), this._root.optimizeNames(this._root.names, this._constants);
+          }
+          _leafNode(e) {
+            return this._currNode.nodes.push(e), this;
+          }
+          _blockNode(e) {
+            this._currNode.nodes.push(e), this._nodes.push(e);
+          }
+          _endBlockNode(e, t) {
+            const s = this._currNode;
+            if (s instanceof e || (t && s instanceof t)) return this._nodes.pop(), this;
+            throw new Error(`CodeGen: not in block "${t ? `${e.kind}/${t.kind}` : e.kind}"`);
+          }
+          _elseNode(e) {
+            const t = this._currNode;
+            if (!(t instanceof If)) throw new Error('CodeGen: "else" without "if"');
+            return (this._currNode = t.else = e), this;
+          }
+          get _root() {
+            return this._nodes[0];
+          }
+          get _currNode() {
+            const e = this._nodes;
+            return e[e.length - 1];
+          }
+          set _currNode(e) {
+            const t = this._nodes;
+            t[t.length - 1] = e;
+          }
+        }
+        function addNames(e, t) {
+          for (const s in t) e[s] = (e[s] || 0) + (t[s] || 0);
+          return e;
+        }
+        function addExprNames(e, t) {
+          return t instanceof code_1._CodeOrName ? addNames(e, t.names) : e;
+        }
+        function optimizeExpr(e, t, s) {
+          return e instanceof code_1.Name
+            ? o(e)
+            : (r = e) instanceof code_1._Code &&
+                r._items.some((e) => e instanceof code_1.Name && 1 === t[e.str] && void 0 !== s[e.str])
+              ? new code_1._Code(
+                  e._items.reduce(
+                    (e, t) => (
+                      t instanceof code_1.Name && (t = o(t)),
+                      t instanceof code_1._Code ? e.push(...t._items) : e.push(t),
+                      e
+                    ),
+                    [],
+                  ),
+                )
+              : e;
+          var r;
+          function o(e) {
+            const r = s[e.str];
+            return void 0 === r || 1 !== t[e.str] ? e : (delete t[e.str], r);
+          }
+        }
+        function subtractNames(e, t) {
+          for (const s in t) e[s] = (e[s] || 0) - (t[s] || 0);
+        }
+        function not(e) {
+          return "boolean" == typeof e || "number" == typeof e || null === e ? !e : code_1._`!${par(e)}`;
+        }
+        (exports.CodeGen = CodeGen), (exports.not = not);
+        const andCode = mappend(exports.operators.AND);
+        function and(...e) {
+          return e.reduce(andCode);
+        }
+        exports.and = and;
+        const orCode = mappend(exports.operators.OR);
+        function or(...e) {
+          return e.reduce(orCode);
+        }
+        function mappend(e) {
+          return (t, s) => (t === code_1.nil ? s : s === code_1.nil ? t : code_1._`${par(t)} ${e} ${par(s)}`);
+        }
+        function par(e) {
+          return e instanceof code_1.Name ? e : code_1._`(${e})`;
+        }
+        exports.or = or;
+      },
+      { "./code": 48, "./scope": 50 },
+    ],
+    50: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.ValueScope =
+            exports.ValueScopeName =
+            exports.Scope =
+            exports.varKinds =
+            exports.UsedValueState =
+              void 0);
+        const code_1 = require("./code");
+        class ValueError extends Error {
+          constructor(e) {
+            super(`CodeGen: "code" for ${e} not defined`), (this.value = e.value);
+          }
+        }
+        var UsedValueState;
+        !(function (e) {
+          (e[(e.Started = 0)] = "Started"), (e[(e.Completed = 1)] = "Completed");
+        })((UsedValueState = exports.UsedValueState || (exports.UsedValueState = {}))),
+          (exports.varKinds = {
+            const: new code_1.Name("const"),
+            let: new code_1.Name("let"),
+            var: new code_1.Name("var"),
+          });
+        class Scope {
+          constructor({ prefixes: e, parent: t } = {}) {
+            (this._names = {}), (this._prefixes = e), (this._parent = t);
+          }
+          toName(e) {
+            return e instanceof code_1.Name ? e : this.name(e);
+          }
+          name(e) {
+            return new code_1.Name(this._newName(e));
+          }
+          _newName(e) {
+            return `${e}${(this._names[e] || this._nameGroup(e)).index++}`;
+          }
+          _nameGroup(e) {
+            var t, s;
+            if (
+              (null === (s = null === (t = this._parent) || void 0 === t ? void 0 : t._prefixes) || void 0 === s
+                ? void 0
+                : s.has(e)) ||
+              (this._prefixes && !this._prefixes.has(e))
+            )
+              throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);
+            return (this._names[e] = { prefix: e, index: 0 });
+          }
+        }
+        exports.Scope = Scope;
+        class ValueScopeName extends code_1.Name {
+          constructor(e, t) {
+            super(t), (this.prefix = e);
+          }
+          setValue(e, { property: t, itemIndex: s }) {
+            (this.value = e), (this.scopePath = code_1._`.${new code_1.Name(t)}[${s}]`);
+          }
+        }
+        exports.ValueScopeName = ValueScopeName;
+        const line = code_1._`\n`;
+        class ValueScope extends Scope {
+          constructor(e) {
+            super(e),
+              (this._values = {}),
+              (this._scope = e.scope),
+              (this.opts = { ...e, _n: e.lines ? line : code_1.nil });
+          }
+          get() {
+            return this._scope;
+          }
+          name(e) {
+            return new ValueScopeName(e, this._newName(e));
+          }
+          value(e, t) {
+            var s;
+            if (void 0 === t.ref) throw new Error("CodeGen: ref must be passed in value");
+            const o = this.toName(e),
+              { prefix: r } = o,
+              a = null !== (s = t.key) && void 0 !== s ? s : t.ref;
+            let n = this._values[r];
+            if (n) {
+              const e = n.get(a);
+              if (e) return e;
+            } else n = this._values[r] = new Map();
+            n.set(a, o);
+            const i = this._scope[r] || (this._scope[r] = []),
+              c = i.length;
+            return (i[c] = t.ref), o.setValue(t, { property: r, itemIndex: c }), o;
+          }
+          getValue(e, t) {
+            const s = this._values[e];
+            if (s) return s.get(t);
+          }
+          scopeRefs(e, t = this._values) {
+            return this._reduceValues(t, (t) => {
+              if (void 0 === t.scopePath) throw new Error(`CodeGen: name "${t}" has no value`);
+              return code_1._`${e}${t.scopePath}`;
+            });
+          }
+          scopeCode(e = this._values, t, s) {
+            return this._reduceValues(
+              e,
+              (e) => {
+                if (void 0 === e.value) throw new Error(`CodeGen: name "${e}" has no value`);
+                return e.value.code;
+              },
+              t,
+              s,
+            );
+          }
+          _reduceValues(e, t, s = {}, o) {
+            let r = code_1.nil;
+            for (const a in e) {
+              const n = e[a];
+              if (!n) continue;
+              const i = (s[a] = s[a] || new Map());
+              n.forEach((e) => {
+                if (i.has(e)) return;
+                i.set(e, UsedValueState.Started);
+                let s = t(e);
+                if (s) {
+                  const t = this.opts.es5 ? exports.varKinds.var : exports.varKinds.const;
+                  r = code_1._`${r}${t} ${e} = ${s};${this.opts._n}`;
+                } else {
+                  if (!(s = null == o ? void 0 : o(e))) throw new ValueError(e);
+                  r = code_1._`${r}${s}${this.opts._n}`;
+                }
+                i.set(e, UsedValueState.Completed);
+              });
+            }
+            return r;
+          }
+        }
+        exports.ValueScope = ValueScope;
+      },
+      { "./code": 48 },
+    ],
+    51: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.extendErrors =
+            exports.resetErrorsCount =
+            exports.reportExtraError =
+            exports.reportError =
+            exports.keyword$DataError =
+            exports.keywordError =
+              void 0);
+        const codegen_1 = require("./codegen"),
+          util_1 = require("./util"),
+          names_1 = require("./names");
+        function reportError(e, r = exports.keywordError, o, t) {
+          const { it: a } = e,
+            { gen: n, compositeRule: s, allErrors: c } = a,
+            d = errorObjectCode(e, r, o);
+          (null != t ? t : s || c) ? addError(n, d) : returnErrors(a, codegen_1._`[${d}]`);
+        }
+        function reportExtraError(e, r = exports.keywordError, o) {
+          const { it: t } = e,
+            { gen: a, compositeRule: n, allErrors: s } = t;
+          addError(a, errorObjectCode(e, r, o)), n || s || returnErrors(t, names_1.default.vErrors);
+        }
+        function resetErrorsCount(e, r) {
+          e.assign(names_1.default.errors, r),
+            e.if(codegen_1._`${names_1.default.vErrors} !== null`, () =>
+              e.if(
+                r,
+                () => e.assign(codegen_1._`${names_1.default.vErrors}.length`, r),
+                () => e.assign(names_1.default.vErrors, null),
+              ),
+            );
+        }
+        function extendErrors({ gen: e, keyword: r, schemaValue: o, data: t, errsCount: a, it: n }) {
+          if (void 0 === a) throw new Error("ajv implementation error");
+          const s = e.name("err");
+          e.forRange("i", a, names_1.default.errors, (a) => {
+            e.const(s, codegen_1._`${names_1.default.vErrors}[${a}]`),
+              e.if(codegen_1._`${s}.instancePath === undefined`, () =>
+                e.assign(
+                  codegen_1._`${s}.instancePath`,
+                  (0, codegen_1.strConcat)(names_1.default.instancePath, n.errorPath),
+                ),
+              ),
+              e.assign(codegen_1._`${s}.schemaPath`, codegen_1.str`${n.errSchemaPath}/${r}`),
+              n.opts.verbose && (e.assign(codegen_1._`${s}.schema`, o), e.assign(codegen_1._`${s}.data`, t));
+          });
+        }
+        function addError(e, r) {
+          const o = e.const("err", r);
+          e.if(
+            codegen_1._`${names_1.default.vErrors} === null`,
+            () => e.assign(names_1.default.vErrors, codegen_1._`[${o}]`),
+            codegen_1._`${names_1.default.vErrors}.push(${o})`,
+          ),
+            e.code(codegen_1._`${names_1.default.errors}++`);
+        }
+        function returnErrors(e, r) {
+          const { gen: o, validateName: t, schemaEnv: a } = e;
+          a.$async
+            ? o.throw(codegen_1._`new ${e.ValidationError}(${r})`)
+            : (o.assign(codegen_1._`${t}.errors`, r), o.return(!1));
+        }
+        (exports.keywordError = { message: ({ keyword: e }) => codegen_1.str`must pass "${e}" keyword validation` }),
+          (exports.keyword$DataError = {
+            message: ({ keyword: e, schemaType: r }) =>
+              r ? codegen_1.str`"${e}" keyword must be ${r} ($data)` : codegen_1.str`"${e}" keyword is invalid ($data)`,
+          }),
+          (exports.reportError = reportError),
+          (exports.reportExtraError = reportExtraError),
+          (exports.resetErrorsCount = resetErrorsCount),
+          (exports.extendErrors = extendErrors);
+        const E = {
+          keyword: new codegen_1.Name("keyword"),
+          schemaPath: new codegen_1.Name("schemaPath"),
+          params: new codegen_1.Name("params"),
+          propertyName: new codegen_1.Name("propertyName"),
+          message: new codegen_1.Name("message"),
+          schema: new codegen_1.Name("schema"),
+          parentSchema: new codegen_1.Name("parentSchema"),
+        };
+        function errorObjectCode(e, r, o) {
+          const { createErrors: t } = e.it;
+          return !1 === t ? codegen_1._`{}` : errorObject(e, r, o);
+        }
+        function errorObject(e, r, o = {}) {
+          const { gen: t, it: a } = e,
+            n = [errorInstancePath(a, o), errorSchemaPath(e, o)];
+          return extraErrorProps(e, r, n), t.object(...n);
+        }
+        function errorInstancePath({ errorPath: e }, { instancePath: r }) {
+          const o = r ? codegen_1.str`${e}${(0, util_1.getErrorPath)(r, util_1.Type.Str)}` : e;
+          return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, o)];
+        }
+        function errorSchemaPath({ keyword: e, it: { errSchemaPath: r } }, { schemaPath: o, parentSchema: t }) {
+          let a = t ? r : codegen_1.str`${r}/${e}`;
+          return o && (a = codegen_1.str`${a}${(0, util_1.getErrorPath)(o, util_1.Type.Str)}`), [E.schemaPath, a];
+        }
+        function extraErrorProps(e, { params: r, message: o }, t) {
+          const { keyword: a, data: n, schemaValue: s, it: c } = e,
+            { opts: d, propertyName: _, topSchemaRef: m, schemaPath: u } = c;
+          t.push([E.keyword, a], [E.params, "function" == typeof r ? r(e) : r || codegen_1._`{}`]),
+            d.messages && t.push([E.message, "function" == typeof o ? o(e) : o]),
+            d.verbose && t.push([E.schema, s], [E.parentSchema, codegen_1._`${m}${u}`], [names_1.default.data, n]),
+            _ && t.push([E.propertyName, _]);
+        }
+      },
+      { "./codegen": 49, "./names": 53, "./util": 57 },
+    ],
+    52: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.resolveSchema =
+            exports.getCompilingSchema =
+            exports.resolveRef =
+            exports.compileSchema =
+            exports.SchemaEnv =
+              void 0);
+        const codegen_1 = require("./codegen"),
+          validation_error_1 = require("../runtime/validation_error"),
+          names_1 = require("./names"),
+          resolve_1 = require("./resolve"),
+          util_1 = require("./util"),
+          validate_1 = require("./validate");
+        class SchemaEnv {
+          constructor(e) {
+            var s;
+            let t;
+            (this.refs = {}),
+              (this.dynamicAnchors = {}),
+              "object" == typeof e.schema && (t = e.schema),
+              (this.schema = e.schema),
+              (this.schemaId = e.schemaId),
+              (this.root = e.root || this),
+              (this.baseId =
+                null !== (s = e.baseId) && void 0 !== s
+                  ? s
+                  : (0, resolve_1.normalizeId)(null == t ? void 0 : t[e.schemaId || "$id"])),
+              (this.schemaPath = e.schemaPath),
+              (this.localRefs = e.localRefs),
+              (this.meta = e.meta),
+              (this.$async = null == t ? void 0 : t.$async),
+              (this.refs = {});
+          }
+        }
+        function compileSchema(e) {
+          const s = getCompilingSchema.call(this, e);
+          if (s) return s;
+          const t = (0, resolve_1.getFullPath)(this.opts.uriResolver, e.root.baseId),
+            { es5: o, lines: a } = this.opts.code,
+            { ownProperties: r } = this.opts,
+            i = new codegen_1.CodeGen(this.scope, { es5: o, lines: a, ownProperties: r });
+          let c;
+          e.$async &&
+            (c = i.scopeValue("Error", {
+              ref: validation_error_1.default,
+              code: codegen_1._`require("ajv/dist/runtime/validation_error").default`,
+            }));
+          const n = i.scopeName("validate");
+          e.validateName = n;
+          const l = {
+            gen: i,
+            allErrors: this.opts.allErrors,
+            data: names_1.default.data,
+            parentData: names_1.default.parentData,
+            parentDataProperty: names_1.default.parentDataProperty,
+            dataNames: [names_1.default.data],
+            dataPathArr: [codegen_1.nil],
+            dataLevel: 0,
+            dataTypes: [],
+            definedProperties: new Set(),
+            topSchemaRef: i.scopeValue(
+              "schema",
+              !0 === this.opts.code.source
+                ? { ref: e.schema, code: (0, codegen_1.stringify)(e.schema) }
+                : { ref: e.schema },
+            ),
+            validateName: n,
+            ValidationError: c,
+            schema: e.schema,
+            schemaEnv: e,
+            rootId: t,
+            baseId: e.baseId || t,
+            schemaPath: codegen_1.nil,
+            errSchemaPath: e.schemaPath || (this.opts.jtd ? "" : "#"),
+            errorPath: codegen_1._`""`,
+            opts: this.opts,
+            self: this,
+          };
+          let h;
+          try {
+            this._compilations.add(e), (0, validate_1.validateFunctionCode)(l), i.optimize(this.opts.code.optimize);
+            const s = i.toString();
+            (h = `${i.scopeRefs(names_1.default.scope)}return ${s}`),
+              this.opts.code.process && (h = this.opts.code.process(h, e));
+            const t = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, h)(this, this.scope.get());
+            if (
+              (this.scope.value(n, { ref: t }),
+              (t.errors = null),
+              (t.schema = e.schema),
+              (t.schemaEnv = e),
+              e.$async && (t.$async = !0),
+              !0 === this.opts.code.source && (t.source = { validateName: n, validateCode: s, scopeValues: i._values }),
+              this.opts.unevaluated)
+            ) {
+              const { props: e, items: s } = l;
+              (t.evaluated = {
+                props: e instanceof codegen_1.Name ? void 0 : e,
+                items: s instanceof codegen_1.Name ? void 0 : s,
+                dynamicProps: e instanceof codegen_1.Name,
+                dynamicItems: s instanceof codegen_1.Name,
+              }),
+                t.source && (t.source.evaluated = (0, codegen_1.stringify)(t.evaluated));
+            }
+            return (e.validate = t), e;
+          } catch (s) {
+            throw (
+              (delete e.validate,
+              delete e.validateName,
+              h && this.logger.error("Error compiling schema, function code:", h),
+              s)
+            );
+          } finally {
+            this._compilations.delete(e);
+          }
+        }
+        function resolveRef(e, s, t) {
+          var o;
+          t = (0, resolve_1.resolveUrl)(this.opts.uriResolver, s, t);
+          const a = e.refs[t];
+          if (a) return a;
+          let r = resolve.call(this, e, t);
+          if (void 0 === r) {
+            const a = null === (o = e.localRefs) || void 0 === o ? void 0 : o[t],
+              { schemaId: i } = this.opts;
+            a && (r = new SchemaEnv({ schema: a, schemaId: i, root: e, baseId: s }));
+          }
+          return void 0 !== r ? (e.refs[t] = inlineOrCompile.call(this, r)) : void 0;
+        }
+        function inlineOrCompile(e) {
+          return (0, resolve_1.inlineRef)(e.schema, this.opts.inlineRefs)
+            ? e.schema
+            : e.validate
+              ? e
+              : compileSchema.call(this, e);
+        }
+        function getCompilingSchema(e) {
+          for (const s of this._compilations) if (sameSchemaEnv(s, e)) return s;
+        }
+        function sameSchemaEnv(e, s) {
+          return e.schema === s.schema && e.root === s.root && e.baseId === s.baseId;
+        }
+        function resolve(e, s) {
+          let t;
+          for (; "string" == typeof (t = this.refs[s]); ) s = t;
+          return t || this.schemas[s] || resolveSchema.call(this, e, s);
+        }
+        function resolveSchema(e, s) {
+          const t = this.opts.uriResolver.parse(s),
+            o = (0, resolve_1._getFullPath)(this.opts.uriResolver, t);
+          let a = (0, resolve_1.getFullPath)(this.opts.uriResolver, e.baseId, void 0);
+          if (Object.keys(e.schema).length > 0 && o === a) return getJsonPointer.call(this, t, e);
+          const r = (0, resolve_1.normalizeId)(o),
+            i = this.refs[r] || this.schemas[r];
+          if ("string" == typeof i) {
+            const s = resolveSchema.call(this, e, i);
+            if ("object" != typeof (null == s ? void 0 : s.schema)) return;
+            return getJsonPointer.call(this, t, s);
+          }
+          if ("object" == typeof (null == i ? void 0 : i.schema)) {
+            if ((i.validate || compileSchema.call(this, i), r === (0, resolve_1.normalizeId)(s))) {
+              const { schema: s } = i,
+                { schemaId: t } = this.opts,
+                o = s[t];
+              return (
+                o && (a = (0, resolve_1.resolveUrl)(this.opts.uriResolver, a, o)),
+                new SchemaEnv({ schema: s, schemaId: t, root: e, baseId: a })
+              );
+            }
+            return getJsonPointer.call(this, t, i);
+          }
+        }
+        (exports.SchemaEnv = SchemaEnv),
+          (exports.compileSchema = compileSchema),
+          (exports.resolveRef = resolveRef),
+          (exports.getCompilingSchema = getCompilingSchema),
+          (exports.resolveSchema = resolveSchema);
+        const PREVENT_SCOPE_CHANGE = new Set([
+          "properties",
+          "patternProperties",
+          "enum",
+          "dependencies",
+          "definitions",
+        ]);
+        function getJsonPointer(e, { baseId: s, schema: t, root: o }) {
+          var a;
+          if ("/" !== (null === (a = e.fragment) || void 0 === a ? void 0 : a[0])) return;
+          for (const o of e.fragment.slice(1).split("/")) {
+            if ("boolean" == typeof t) return;
+            const e = t[(0, util_1.unescapeFragment)(o)];
+            if (void 0 === e) return;
+            const a = "object" == typeof (t = e) && t[this.opts.schemaId];
+            !PREVENT_SCOPE_CHANGE.has(o) && a && (s = (0, resolve_1.resolveUrl)(this.opts.uriResolver, s, a));
+          }
+          let r;
+          if ("boolean" != typeof t && t.$ref && !(0, util_1.schemaHasRulesButRef)(t, this.RULES)) {
+            const e = (0, resolve_1.resolveUrl)(this.opts.uriResolver, s, t.$ref);
+            r = resolveSchema.call(this, o, e);
+          }
+          const { schemaId: i } = this.opts;
+          return (r = r || new SchemaEnv({ schema: t, schemaId: i, root: o, baseId: s })).schema !== r.root.schema
+            ? r
+            : void 0;
+        }
+      },
+      {
+        "../runtime/validation_error": 79,
+        "./codegen": 49,
+        "./names": 53,
+        "./resolve": 55,
+        "./util": 57,
+        "./validate": 62,
+      },
+    ],
+    53: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const codegen_1 = require("./codegen"),
+          names = {
+            data: new codegen_1.Name("data"),
+            valCxt: new codegen_1.Name("valCxt"),
+            instancePath: new codegen_1.Name("instancePath"),
+            parentData: new codegen_1.Name("parentData"),
+            parentDataProperty: new codegen_1.Name("parentDataProperty"),
+            rootData: new codegen_1.Name("rootData"),
+            dynamicAnchors: new codegen_1.Name("dynamicAnchors"),
+            vErrors: new codegen_1.Name("vErrors"),
+            errors: new codegen_1.Name("errors"),
+            this: new codegen_1.Name("this"),
+            self: new codegen_1.Name("self"),
+            scope: new codegen_1.Name("scope"),
+            json: new codegen_1.Name("json"),
+            jsonPos: new codegen_1.Name("jsonPos"),
+            jsonLen: new codegen_1.Name("jsonLen"),
+            jsonPart: new codegen_1.Name("jsonPart"),
+          };
+        exports.default = names;
+      },
+      { "./codegen": 49 },
+    ],
+    54: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const resolve_1 = require("./resolve");
+        class MissingRefError extends Error {
+          constructor(e, r, s, o) {
+            super(o || `can't resolve reference ${s} from id ${r}`),
+              (this.missingRef = (0, resolve_1.resolveUrl)(e, r, s)),
+              (this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(e, this.missingRef)));
+          }
+        }
+        exports.default = MissingRefError;
+      },
+      { "./resolve": 55 },
+    ],
+    55: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.getSchemaRefs =
+            exports.resolveUrl =
+            exports.normalizeId =
+            exports._getFullPath =
+            exports.getFullPath =
+            exports.inlineRef =
+              void 0);
+        const util_1 = require("./util"),
+          equal = require("fast-deep-equal"),
+          traverse = require("json-schema-traverse"),
+          SIMPLE_INLINED = new Set([
+            "type",
+            "format",
+            "pattern",
+            "maxLength",
+            "minLength",
+            "maxProperties",
+            "minProperties",
+            "maxItems",
+            "minItems",
+            "maximum",
+            "minimum",
+            "uniqueItems",
+            "multipleOf",
+            "required",
+            "enum",
+            "const",
+          ]);
+        function inlineRef(e, t = !0) {
+          return "boolean" == typeof e || (!0 === t ? !hasRef(e) : !!t && countKeys(e) <= t);
+        }
+        exports.inlineRef = inlineRef;
+        const REF_KEYWORDS = new Set(["$ref", "$recursiveRef", "$recursiveAnchor", "$dynamicRef", "$dynamicAnchor"]);
+        function hasRef(e) {
+          for (const t in e) {
+            if (REF_KEYWORDS.has(t)) return !0;
+            const r = e[t];
+            if (Array.isArray(r) && r.some(hasRef)) return !0;
+            if ("object" == typeof r && hasRef(r)) return !0;
+          }
+          return !1;
+        }
+        function countKeys(e) {
+          let t = 0;
+          for (const r in e) {
+            if ("$ref" === r) return 1 / 0;
+            if (
+              (t++,
+              !SIMPLE_INLINED.has(r) &&
+                ("object" == typeof e[r] && (0, util_1.eachItem)(e[r], (e) => (t += countKeys(e))), t === 1 / 0))
+            )
+              return 1 / 0;
+          }
+          return t;
+        }
+        function getFullPath(e, t = "", r) {
+          !1 !== r && (t = normalizeId(t));
+          const n = e.parse(t);
+          return _getFullPath(e, n);
+        }
+        function _getFullPath(e, t) {
+          return e.serialize(t).split("#")[0] + "#";
+        }
+        (exports.getFullPath = getFullPath), (exports._getFullPath = _getFullPath);
+        const TRAILING_SLASH_HASH = /#\/?$/;
+        function normalizeId(e) {
+          return e ? e.replace(TRAILING_SLASH_HASH, "") : "";
+        }
+        function resolveUrl(e, t, r) {
+          return (r = normalizeId(r)), e.resolve(t, r);
+        }
+        (exports.normalizeId = normalizeId), (exports.resolveUrl = resolveUrl);
+        const ANCHOR = /^[a-z_][-a-z0-9._]*$/i;
+        function getSchemaRefs(e, t) {
+          if ("boolean" == typeof e) return {};
+          const { schemaId: r, uriResolver: n } = this.opts,
+            o = normalizeId(e[r] || t),
+            s = { "": o },
+            i = getFullPath(n, o, !1),
+            l = {},
+            a = new Set();
+          return (
+            traverse(e, { allKeys: !0 }, (e, t, n, o) => {
+              if (void 0 === o) return;
+              const f = i + t;
+              let h = s[o];
+              function m(t) {
+                const r = this.opts.uriResolver.resolve;
+                if (((t = normalizeId(h ? r(h, t) : t)), a.has(t))) throw c(t);
+                a.add(t);
+                let n = this.refs[t];
+                return (
+                  "string" == typeof n && (n = this.refs[n]),
+                  "object" == typeof n
+                    ? u(e, n.schema, t)
+                    : t !== normalizeId(f) && ("#" === t[0] ? (u(e, l[t], t), (l[t] = e)) : (this.refs[t] = f)),
+                  t
+                );
+              }
+              function p(e) {
+                if ("string" == typeof e) {
+                  if (!ANCHOR.test(e)) throw new Error(`invalid anchor "${e}"`);
+                  m.call(this, `#${e}`);
+                }
+              }
+              "string" == typeof e[r] && (h = m.call(this, e[r])),
+                p.call(this, e.$anchor),
+                p.call(this, e.$dynamicAnchor),
+                (s[t] = h);
+            }),
+            l
+          );
+          function u(e, t, r) {
+            if (void 0 !== t && !equal(e, t)) throw c(r);
+          }
+          function c(e) {
+            return new Error(`reference "${e}" resolves to more than one schema`);
+          }
+        }
+        exports.getSchemaRefs = getSchemaRefs;
+      },
+      { "./util": 57, "fast-deep-equal": 136, "json-schema-traverse": 171 },
+    ],
+    56: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.getRules = exports.isJSONType = void 0);
+        const _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array"],
+          jsonTypes = new Set(_jsonTypes);
+        function isJSONType(e) {
+          return "string" == typeof e && jsonTypes.has(e);
+        }
+        function getRules() {
+          const e = {
+            number: { type: "number", rules: [] },
+            string: { type: "string", rules: [] },
+            array: { type: "array", rules: [] },
+            object: { type: "object", rules: [] },
+          };
+          return {
+            types: { ...e, integer: !0, boolean: !0, null: !0 },
+            rules: [{ rules: [] }, e.number, e.string, e.array, e.object],
+            post: { rules: [] },
+            all: {},
+            keywords: {},
+          };
+        }
+        (exports.isJSONType = isJSONType), (exports.getRules = getRules);
+      },
+      {},
+    ],
+    57: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.checkStrictMode =
+            exports.getErrorPath =
+            exports.Type =
+            exports.useFunc =
+            exports.setEvaluated =
+            exports.evaluatedPropsToName =
+            exports.mergeEvaluated =
+            exports.eachItem =
+            exports.unescapeJsonPointer =
+            exports.escapeJsonPointer =
+            exports.escapeFragment =
+            exports.unescapeFragment =
+            exports.schemaRefOrVal =
+            exports.schemaHasRulesButRef =
+            exports.schemaHasRules =
+            exports.checkUnknownRules =
+            exports.alwaysValidSchema =
+            exports.toHash =
+              void 0);
+        const codegen_1 = require("./codegen"),
+          code_1 = require("./codegen/code");
+        function toHash(e) {
+          const t = {};
+          for (const o of e) t[o] = !0;
+          return t;
+        }
+        function alwaysValidSchema(e, t) {
+          return "boolean" == typeof t
+            ? t
+            : 0 === Object.keys(t).length || (checkUnknownRules(e, t), !schemaHasRules(t, e.self.RULES.all));
+        }
+        function checkUnknownRules(e, t = e.schema) {
+          const { opts: o, self: n } = e;
+          if (!o.strictSchema) return;
+          if ("boolean" == typeof t) return;
+          const r = n.RULES.keywords;
+          for (const o in t) r[o] || checkStrictMode(e, `unknown keyword: "${o}"`);
+        }
+        function schemaHasRules(e, t) {
+          if ("boolean" == typeof e) return !e;
+          for (const o in e) if (t[o]) return !0;
+          return !1;
+        }
+        function schemaHasRulesButRef(e, t) {
+          if ("boolean" == typeof e) return !e;
+          for (const o in e) if ("$ref" !== o && t.all[o]) return !0;
+          return !1;
+        }
+        function schemaRefOrVal({ topSchemaRef: e, schemaPath: t }, o, n, r) {
+          if (!r) {
+            if ("number" == typeof o || "boolean" == typeof o) return o;
+            if ("string" == typeof o) return codegen_1._`${o}`;
+          }
+          return codegen_1._`${e}${t}${(0, codegen_1.getProperty)(n)}`;
+        }
+        function unescapeFragment(e) {
+          return unescapeJsonPointer(decodeURIComponent(e));
+        }
+        function escapeFragment(e) {
+          return encodeURIComponent(escapeJsonPointer(e));
+        }
+        function escapeJsonPointer(e) {
+          return "number" == typeof e ? `${e}` : e.replace(/~/g, "~0").replace(/\//g, "~1");
+        }
+        function unescapeJsonPointer(e) {
+          return e.replace(/~1/g, "/").replace(/~0/g, "~");
+        }
+        function eachItem(e, t) {
+          if (Array.isArray(e)) for (const o of e) t(o);
+          else t(e);
+        }
+        function makeMergeEvaluated({ mergeNames: e, mergeToName: t, mergeValues: o, resultToName: n }) {
+          return (r, s, a, c) => {
+            const u =
+              void 0 === a
+                ? s
+                : a instanceof codegen_1.Name
+                  ? (s instanceof codegen_1.Name ? e(r, s, a) : t(r, s, a), a)
+                  : s instanceof codegen_1.Name
+                    ? (t(r, a, s), s)
+                    : o(s, a);
+            return c !== codegen_1.Name || u instanceof codegen_1.Name ? u : n(r, u);
+          };
+        }
+        function evaluatedPropsToName(e, t) {
+          if (!0 === t) return e.var("props", !0);
+          const o = e.var("props", codegen_1._`{}`);
+          return void 0 !== t && setEvaluated(e, o, t), o;
+        }
+        function setEvaluated(e, t, o) {
+          Object.keys(o).forEach((o) => e.assign(codegen_1._`${t}${(0, codegen_1.getProperty)(o)}`, !0));
+        }
+        (exports.toHash = toHash),
+          (exports.alwaysValidSchema = alwaysValidSchema),
+          (exports.checkUnknownRules = checkUnknownRules),
+          (exports.schemaHasRules = schemaHasRules),
+          (exports.schemaHasRulesButRef = schemaHasRulesButRef),
+          (exports.schemaRefOrVal = schemaRefOrVal),
+          (exports.unescapeFragment = unescapeFragment),
+          (exports.escapeFragment = escapeFragment),
+          (exports.escapeJsonPointer = escapeJsonPointer),
+          (exports.unescapeJsonPointer = unescapeJsonPointer),
+          (exports.eachItem = eachItem),
+          (exports.mergeEvaluated = {
+            props: makeMergeEvaluated({
+              mergeNames: (e, t, o) =>
+                e.if(codegen_1._`${o} !== true && ${t} !== undefined`, () => {
+                  e.if(
+                    codegen_1._`${t} === true`,
+                    () => e.assign(o, !0),
+                    () => e.assign(o, codegen_1._`${o} || {}`).code(codegen_1._`Object.assign(${o}, ${t})`),
+                  );
+                }),
+              mergeToName: (e, t, o) =>
+                e.if(codegen_1._`${o} !== true`, () => {
+                  !0 === t ? e.assign(o, !0) : (e.assign(o, codegen_1._`${o} || {}`), setEvaluated(e, o, t));
+                }),
+              mergeValues: (e, t) => !0 === e || { ...e, ...t },
+              resultToName: evaluatedPropsToName,
+            }),
+            items: makeMergeEvaluated({
+              mergeNames: (e, t, o) =>
+                e.if(codegen_1._`${o} !== true && ${t} !== undefined`, () =>
+                  e.assign(o, codegen_1._`${t} === true ? true : ${o} > ${t} ? ${o} : ${t}`),
+                ),
+              mergeToName: (e, t, o) =>
+                e.if(codegen_1._`${o} !== true`, () => e.assign(o, !0 === t || codegen_1._`${o} > ${t} ? ${o} : ${t}`)),
+              mergeValues: (e, t) => !0 === e || Math.max(e, t),
+              resultToName: (e, t) => e.var("items", t),
+            }),
+          }),
+          (exports.evaluatedPropsToName = evaluatedPropsToName),
+          (exports.setEvaluated = setEvaluated);
+        const snippets = {};
+        function useFunc(e, t) {
+          return e.scopeValue("func", {
+            ref: t,
+            code: snippets[t.code] || (snippets[t.code] = new code_1._Code(t.code)),
+          });
+        }
+        var Type;
+        function getErrorPath(e, t, o) {
+          if (e instanceof codegen_1.Name) {
+            const n = t === Type.Num;
+            return o
+              ? n
+                ? codegen_1._`"[" + ${e} + "]"`
+                : codegen_1._`"['" + ${e} + "']"`
+              : n
+                ? codegen_1._`"/" + ${e}`
+                : codegen_1._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`;
+          }
+          return o ? (0, codegen_1.getProperty)(e).toString() : "/" + escapeJsonPointer(e);
+        }
+        function checkStrictMode(e, t, o = e.opts.strictSchema) {
+          if (o) {
+            if (((t = `strict mode: ${t}`), !0 === o)) throw new Error(t);
+            e.self.logger.warn(t);
+          }
+        }
+        (exports.useFunc = useFunc),
+          (function (e) {
+            (e[(e.Num = 0)] = "Num"), (e[(e.Str = 1)] = "Str");
+          })((Type = exports.Type || (exports.Type = {}))),
+          (exports.getErrorPath = getErrorPath),
+          (exports.checkStrictMode = checkStrictMode);
+      },
+      { "./codegen": 49, "./codegen/code": 48 },
+    ],
+    58: [
+      function (require, module, exports) {
+        "use strict";
+        function schemaHasRulesForType({ schema: e, self: s }, o) {
+          const u = s.RULES.types[o];
+          return u && !0 !== u && shouldUseGroup(e, u);
+        }
+        function shouldUseGroup(e, s) {
+          return s.rules.some((s) => shouldUseRule(e, s));
+        }
+        function shouldUseRule(e, s) {
+          var o;
+          return (
+            void 0 !== e[s.keyword] ||
+            (null === (o = s.definition.implements) || void 0 === o ? void 0 : o.some((s) => void 0 !== e[s]))
+          );
+        }
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0),
+          (exports.schemaHasRulesForType = schemaHasRulesForType),
+          (exports.shouldUseGroup = shouldUseGroup),
+          (exports.shouldUseRule = shouldUseRule);
+      },
+      {},
+    ],
+    59: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0);
+        const errors_1 = require("../errors"),
+          codegen_1 = require("../codegen"),
+          names_1 = require("../names"),
+          boolError = { message: "boolean schema is false" };
+        function topBoolOrEmptySchema(e) {
+          const { gen: r, schema: o, validateName: a } = e;
+          !1 === o
+            ? falseSchemaError(e, !1)
+            : "object" == typeof o && !0 === o.$async
+              ? r.return(names_1.default.data)
+              : (r.assign(codegen_1._`${a}.errors`, null), r.return(!0));
+        }
+        function boolOrEmptySchema(e, r) {
+          const { gen: o, schema: a } = e;
+          !1 === a ? (o.var(r, !1), falseSchemaError(e)) : o.var(r, !0);
+        }
+        function falseSchemaError(e, r) {
+          const { gen: o, data: a } = e,
+            t = {
+              gen: o,
+              keyword: "false schema",
+              data: a,
+              schema: !1,
+              schemaCode: !1,
+              schemaValue: !1,
+              params: {},
+              it: e,
+            };
+          (0, errors_1.reportError)(t, boolError, void 0, r);
+        }
+        (exports.topBoolOrEmptySchema = topBoolOrEmptySchema), (exports.boolOrEmptySchema = boolOrEmptySchema);
+      },
+      { "../codegen": 49, "../errors": 51, "../names": 53 },
+    ],
+    60: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.reportTypeError =
+            exports.checkDataTypes =
+            exports.checkDataType =
+            exports.coerceAndCheckDataType =
+            exports.getJSONTypes =
+            exports.getSchemaTypes =
+            exports.DataType =
+              void 0);
+        const rules_1 = require("../rules"),
+          applicability_1 = require("./applicability"),
+          errors_1 = require("../errors"),
+          codegen_1 = require("../codegen"),
+          util_1 = require("../util");
+        var DataType;
+        function getSchemaTypes(e) {
+          const r = getJSONTypes(e.type);
+          if (r.includes("null")) {
+            if (!1 === e.nullable) throw new Error("type: null contradicts nullable: false");
+          } else {
+            if (!r.length && void 0 !== e.nullable) throw new Error('"nullable" cannot be used without "type"');
+            !0 === e.nullable && r.push("null");
+          }
+          return r;
+        }
+        function getJSONTypes(e) {
+          const r = Array.isArray(e) ? e : e ? [e] : [];
+          if (r.every(rules_1.isJSONType)) return r;
+          throw new Error("type must be JSONType or JSONType[]: " + r.join(","));
+        }
+        function coerceAndCheckDataType(e, r) {
+          const { gen: t, data: n, opts: o } = e,
+            a = coerceToTypes(r, o.coerceTypes),
+            c =
+              r.length > 0 &&
+              !(0 === a.length && 1 === r.length && (0, applicability_1.schemaHasRulesForType)(e, r[0]));
+          if (c) {
+            const c = checkDataTypes(r, n, o.strictNumbers, DataType.Wrong);
+            t.if(c, () => {
+              a.length ? coerceData(e, r, a) : reportTypeError(e);
+            });
+          }
+          return c;
+        }
+        !(function (e) {
+          (e[(e.Correct = 0)] = "Correct"), (e[(e.Wrong = 1)] = "Wrong");
+        })((DataType = exports.DataType || (exports.DataType = {}))),
+          (exports.getSchemaTypes = getSchemaTypes),
+          (exports.getJSONTypes = getJSONTypes),
+          (exports.coerceAndCheckDataType = coerceAndCheckDataType);
+        const COERCIBLE = new Set(["string", "number", "integer", "boolean", "null"]);
+        function coerceToTypes(e, r) {
+          return r ? e.filter((e) => COERCIBLE.has(e) || ("array" === r && "array" === e)) : [];
+        }
+        function coerceData(e, r, t) {
+          const { gen: n, data: o, opts: a } = e,
+            c = n.let("dataType", codegen_1._`typeof ${o}`),
+            s = n.let("coerced", codegen_1._`undefined`);
+          "array" === a.coerceTypes &&
+            n.if(codegen_1._`${c} == 'object' && Array.isArray(${o}) && ${o}.length == 1`, () =>
+              n
+                .assign(o, codegen_1._`${o}[0]`)
+                .assign(c, codegen_1._`typeof ${o}`)
+                .if(checkDataTypes(r, o, a.strictNumbers), () => n.assign(s, o)),
+            ),
+            n.if(codegen_1._`${s} !== undefined`);
+          for (const e of t) (COERCIBLE.has(e) || ("array" === e && "array" === a.coerceTypes)) && p(e);
+          function p(e) {
+            switch (e) {
+              case "string":
+                return void n
+                  .elseIf(codegen_1._`${c} == "number" || ${c} == "boolean"`)
+                  .assign(s, codegen_1._`"" + ${o}`)
+                  .elseIf(codegen_1._`${o} === null`)
+                  .assign(s, codegen_1._`""`);
+              case "number":
+                return void n
+                  .elseIf(
+                    codegen_1._`${c} == "boolean" || ${o} === null
+              || (${c} == "string" && ${o} && ${o} == +${o})`,
+                  )
+                  .assign(s, codegen_1._`+${o}`);
+              case "integer":
+                return void n
+                  .elseIf(
+                    codegen_1._`${c} === "boolean" || ${o} === null
+              || (${c} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`,
+                  )
+                  .assign(s, codegen_1._`+${o}`);
+              case "boolean":
+                return void n
+                  .elseIf(codegen_1._`${o} === "false" || ${o} === 0 || ${o} === null`)
+                  .assign(s, !1)
+                  .elseIf(codegen_1._`${o} === "true" || ${o} === 1`)
+                  .assign(s, !0);
+              case "null":
+                return n.elseIf(codegen_1._`${o} === "" || ${o} === 0 || ${o} === false`), void n.assign(s, null);
+              case "array":
+                n.elseIf(
+                  codegen_1._`${c} === "string" || ${c} === "number"
+              || ${c} === "boolean" || ${o} === null`,
+                ).assign(s, codegen_1._`[${o}]`);
+            }
+          }
+          n.else(),
+            reportTypeError(e),
+            n.endIf(),
+            n.if(codegen_1._`${s} !== undefined`, () => {
+              n.assign(o, s), assignParentData(e, s);
+            });
+        }
+        function assignParentData({ gen: e, parentData: r, parentDataProperty: t }, n) {
+          e.if(codegen_1._`${r} !== undefined`, () => e.assign(codegen_1._`${r}[${t}]`, n));
+        }
+        function checkDataType(e, r, t, n = DataType.Correct) {
+          const o = n === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ;
+          let a;
+          switch (e) {
+            case "null":
+              return codegen_1._`${r} ${o} null`;
+            case "array":
+              a = codegen_1._`Array.isArray(${r})`;
+              break;
+            case "object":
+              a = codegen_1._`${r} && typeof ${r} == "object" && !Array.isArray(${r})`;
+              break;
+            case "integer":
+              a = c(codegen_1._`!(${r} % 1) && !isNaN(${r})`);
+              break;
+            case "number":
+              a = c();
+              break;
+            default:
+              return codegen_1._`typeof ${r} ${o} ${e}`;
+          }
+          return n === DataType.Correct ? a : (0, codegen_1.not)(a);
+          function c(e = codegen_1.nil) {
+            return (0, codegen_1.and)(
+              codegen_1._`typeof ${r} == "number"`,
+              e,
+              t ? codegen_1._`isFinite(${r})` : codegen_1.nil,
+            );
+          }
+        }
+        function checkDataTypes(e, r, t, n) {
+          if (1 === e.length) return checkDataType(e[0], r, t, n);
+          let o;
+          const a = (0, util_1.toHash)(e);
+          if (a.array && a.object) {
+            const e = codegen_1._`typeof ${r} != "object"`;
+            (o = a.null ? e : codegen_1._`!${r} || ${e}`), delete a.null, delete a.array, delete a.object;
+          } else o = codegen_1.nil;
+          a.number && delete a.integer;
+          for (const e in a) o = (0, codegen_1.and)(o, checkDataType(e, r, t, n));
+          return o;
+        }
+        (exports.checkDataType = checkDataType), (exports.checkDataTypes = checkDataTypes);
+        const typeError = {
+          message: ({ schema: e }) => `must be ${e}`,
+          params: ({ schema: e, schemaValue: r }) =>
+            "string" == typeof e ? codegen_1._`{type: ${e}}` : codegen_1._`{type: ${r}}`,
+        };
+        function reportTypeError(e) {
+          const r = getTypeErrorContext(e);
+          (0, errors_1.reportError)(r, typeError);
+        }
+        function getTypeErrorContext(e) {
+          const { gen: r, data: t, schema: n } = e,
+            o = (0, util_1.schemaRefOrVal)(e, n, "type");
+          return {
+            gen: r,
+            keyword: "type",
+            data: t,
+            schema: n.type,
+            schemaCode: o,
+            schemaValue: o,
+            parentSchema: n,
+            params: {},
+            it: e,
+          };
+        }
+        exports.reportTypeError = reportTypeError;
+      },
+      { "../codegen": 49, "../errors": 51, "../rules": 56, "../util": 57, "./applicability": 58 },
+    ],
+    61: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.assignDefaults = void 0);
+        const codegen_1 = require("../codegen"),
+          util_1 = require("../util");
+        function assignDefaults(e, t) {
+          const { properties: s, items: i } = e.schema;
+          if ("object" === t && s) for (const t in s) assignDefault(e, t, s[t].default);
+          else "array" === t && Array.isArray(i) && i.forEach((t, s) => assignDefault(e, s, t.default));
+        }
+        function assignDefault(e, t, s) {
+          const { gen: i, compositeRule: n, data: o, opts: r } = e;
+          if (void 0 === s) return;
+          const a = codegen_1._`${o}${(0, codegen_1.getProperty)(t)}`;
+          if (n) return void (0, util_1.checkStrictMode)(e, `default is ignored for: ${a}`);
+          let u = codegen_1._`${a} === undefined`;
+          "empty" === r.useDefaults && (u = codegen_1._`${u} || ${a} === null || ${a} === ""`),
+            i.if(u, codegen_1._`${a} = ${(0, codegen_1.stringify)(s)}`);
+        }
+        exports.assignDefaults = assignDefaults;
+      },
+      { "../codegen": 49, "../util": 57 },
+    ],
+    62: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0);
+        const boolSchema_1 = require("./boolSchema"),
+          dataType_1 = require("./dataType"),
+          applicability_1 = require("./applicability"),
+          dataType_2 = require("./dataType"),
+          defaults_1 = require("./defaults"),
+          keyword_1 = require("./keyword"),
+          subschema_1 = require("./subschema"),
+          codegen_1 = require("../codegen"),
+          names_1 = require("../names"),
+          resolve_1 = require("../resolve"),
+          util_1 = require("../util"),
+          errors_1 = require("../errors");
+        function validateFunctionCode(e) {
+          isSchemaObj(e) && (checkKeywords(e), schemaCxtHasRules(e))
+            ? topSchemaObjCode(e)
+            : validateFunction(e, () => (0, boolSchema_1.topBoolOrEmptySchema)(e));
+        }
+        function validateFunction({ gen: e, validateName: t, schema: a, schemaEnv: s, opts: r }, n) {
+          r.code.es5
+            ? e.func(t, codegen_1._`${names_1.default.data}, ${names_1.default.valCxt}`, s.$async, () => {
+                e.code(codegen_1._`"use strict"; ${funcSourceUrl(a, r)}`), destructureValCxtES5(e, r), e.code(n);
+              })
+            : e.func(t, codegen_1._`${names_1.default.data}, ${destructureValCxt(r)}`, s.$async, () =>
+                e.code(funcSourceUrl(a, r)).code(n),
+              );
+        }
+        function destructureValCxt(e) {
+          return codegen_1._`{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${e.dynamicRef ? codegen_1._`, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`;
+        }
+        function destructureValCxtES5(e, t) {
+          e.if(
+            names_1.default.valCxt,
+            () => {
+              e.var(
+                names_1.default.instancePath,
+                codegen_1._`${names_1.default.valCxt}.${names_1.default.instancePath}`,
+              ),
+                e.var(names_1.default.parentData, codegen_1._`${names_1.default.valCxt}.${names_1.default.parentData}`),
+                e.var(
+                  names_1.default.parentDataProperty,
+                  codegen_1._`${names_1.default.valCxt}.${names_1.default.parentDataProperty}`,
+                ),
+                e.var(names_1.default.rootData, codegen_1._`${names_1.default.valCxt}.${names_1.default.rootData}`),
+                t.dynamicRef &&
+                  e.var(
+                    names_1.default.dynamicAnchors,
+                    codegen_1._`${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`,
+                  );
+            },
+            () => {
+              e.var(names_1.default.instancePath, codegen_1._`""`),
+                e.var(names_1.default.parentData, codegen_1._`undefined`),
+                e.var(names_1.default.parentDataProperty, codegen_1._`undefined`),
+                e.var(names_1.default.rootData, names_1.default.data),
+                t.dynamicRef && e.var(names_1.default.dynamicAnchors, codegen_1._`{}`);
+            },
+          );
+        }
+        function topSchemaObjCode(e) {
+          const { schema: t, opts: a, gen: s } = e;
+          validateFunction(e, () => {
+            a.$comment && t.$comment && commentKeyword(e),
+              checkNoDefault(e),
+              s.let(names_1.default.vErrors, null),
+              s.let(names_1.default.errors, 0),
+              a.unevaluated && resetEvaluated(e),
+              typeAndKeywords(e),
+              returnResults(e);
+          });
+        }
+        function resetEvaluated(e) {
+          const { gen: t, validateName: a } = e;
+          (e.evaluated = t.const("evaluated", codegen_1._`${a}.evaluated`)),
+            t.if(codegen_1._`${e.evaluated}.dynamicProps`, () =>
+              t.assign(codegen_1._`${e.evaluated}.props`, codegen_1._`undefined`),
+            ),
+            t.if(codegen_1._`${e.evaluated}.dynamicItems`, () =>
+              t.assign(codegen_1._`${e.evaluated}.items`, codegen_1._`undefined`),
+            );
+        }
+        function funcSourceUrl(e, t) {
+          const a = "object" == typeof e && e[t.schemaId];
+          return a && (t.code.source || t.code.process) ? codegen_1._`/*# sourceURL=${a} */` : codegen_1.nil;
+        }
+        function subschemaCode(e, t) {
+          isSchemaObj(e) && (checkKeywords(e), schemaCxtHasRules(e))
+            ? subSchemaObjCode(e, t)
+            : (0, boolSchema_1.boolOrEmptySchema)(e, t);
+        }
+        function schemaCxtHasRules({ schema: e, self: t }) {
+          if ("boolean" == typeof e) return !e;
+          for (const a in e) if (t.RULES.all[a]) return !0;
+          return !1;
+        }
+        function isSchemaObj(e) {
+          return "boolean" != typeof e.schema;
+        }
+        function subSchemaObjCode(e, t) {
+          const { schema: a, gen: s, opts: r } = e;
+          r.$comment && a.$comment && commentKeyword(e), updateContext(e), checkAsyncSchema(e);
+          const n = s.const("_errs", names_1.default.errors);
+          typeAndKeywords(e, n), s.var(t, codegen_1._`${n} === ${names_1.default.errors}`);
+        }
+        function checkKeywords(e) {
+          (0, util_1.checkUnknownRules)(e), checkRefsAndKeywords(e);
+        }
+        function typeAndKeywords(e, t) {
+          if (e.opts.jtd) return schemaKeywords(e, [], !1, t);
+          const a = (0, dataType_1.getSchemaTypes)(e.schema);
+          schemaKeywords(e, a, !(0, dataType_1.coerceAndCheckDataType)(e, a), t);
+        }
+        function checkRefsAndKeywords(e) {
+          const { schema: t, errSchemaPath: a, opts: s, self: r } = e;
+          t.$ref &&
+            s.ignoreKeywordsWithRef &&
+            (0, util_1.schemaHasRulesButRef)(t, r.RULES) &&
+            r.logger.warn(`$ref: keywords ignored in schema at path "${a}"`);
+        }
+        function checkNoDefault(e) {
+          const { schema: t, opts: a } = e;
+          void 0 !== t.default &&
+            a.useDefaults &&
+            a.strictSchema &&
+            (0, util_1.checkStrictMode)(e, "default is ignored in the schema root");
+        }
+        function updateContext(e) {
+          const t = e.schema[e.opts.schemaId];
+          t && (e.baseId = (0, resolve_1.resolveUrl)(e.opts.uriResolver, e.baseId, t));
+        }
+        function checkAsyncSchema(e) {
+          if (e.schema.$async && !e.schemaEnv.$async) throw new Error("async schema in sync schema");
+        }
+        function commentKeyword({ gen: e, schemaEnv: t, schema: a, errSchemaPath: s, opts: r }) {
+          const n = a.$comment;
+          if (!0 === r.$comment) e.code(codegen_1._`${names_1.default.self}.logger.log(${n})`);
+          else if ("function" == typeof r.$comment) {
+            const a = codegen_1.str`${s}/$comment`,
+              r = e.scopeValue("root", { ref: t.root });
+            e.code(codegen_1._`${names_1.default.self}.opts.$comment(${n}, ${a}, ${r}.schema)`);
+          }
+        }
+        function returnResults(e) {
+          const { gen: t, schemaEnv: a, validateName: s, ValidationError: r, opts: n } = e;
+          a.$async
+            ? t.if(
+                codegen_1._`${names_1.default.errors} === 0`,
+                () => t.return(names_1.default.data),
+                () => t.throw(codegen_1._`new ${r}(${names_1.default.vErrors})`),
+              )
+            : (t.assign(codegen_1._`${s}.errors`, names_1.default.vErrors),
+              n.unevaluated && assignEvaluated(e),
+              t.return(codegen_1._`${names_1.default.errors} === 0`));
+        }
+        function assignEvaluated({ gen: e, evaluated: t, props: a, items: s }) {
+          a instanceof codegen_1.Name && e.assign(codegen_1._`${t}.props`, a),
+            s instanceof codegen_1.Name && e.assign(codegen_1._`${t}.items`, s);
+        }
+        function schemaKeywords(e, t, a, s) {
+          const { gen: r, schema: n, data: o, allErrors: c, opts: i, self: d } = e,
+            { RULES: l } = d;
+          function u(d) {
+            (0, applicability_1.shouldUseGroup)(n, d) &&
+              (d.type
+                ? (r.if((0, dataType_2.checkDataType)(d.type, o, i.strictNumbers)),
+                  iterateKeywords(e, d),
+                  1 === t.length && t[0] === d.type && a && (r.else(), (0, dataType_2.reportTypeError)(e)),
+                  r.endIf())
+                : iterateKeywords(e, d),
+              c || r.if(codegen_1._`${names_1.default.errors} === ${s || 0}`));
+          }
+          !n.$ref || (!i.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(n, l))
+            ? (i.jtd || checkStrictTypes(e, t),
+              r.block(() => {
+                for (const e of l.rules) u(e);
+                u(l.post);
+              }))
+            : r.block(() => keywordCode(e, "$ref", l.all.$ref.definition));
+        }
+        function iterateKeywords(e, t) {
+          const {
+            gen: a,
+            schema: s,
+            opts: { useDefaults: r },
+          } = e;
+          r && (0, defaults_1.assignDefaults)(e, t.type),
+            a.block(() => {
+              for (const a of t.rules)
+                (0, applicability_1.shouldUseRule)(s, a) && keywordCode(e, a.keyword, a.definition, t.type);
+            });
+        }
+        function checkStrictTypes(e, t) {
+          !e.schemaEnv.meta &&
+            e.opts.strictTypes &&
+            (checkContextTypes(e, t),
+            e.opts.allowUnionTypes || checkMultipleTypes(e, t),
+            checkKeywordTypes(e, e.dataTypes));
+        }
+        function checkContextTypes(e, t) {
+          t.length &&
+            (e.dataTypes.length
+              ? (t.forEach((t) => {
+                  includesType(e.dataTypes, t) ||
+                    strictTypesError(e, `type "${t}" not allowed by context "${e.dataTypes.join(",")}"`);
+                }),
+                (e.dataTypes = e.dataTypes.filter((e) => includesType(t, e))))
+              : (e.dataTypes = t));
+        }
+        function checkMultipleTypes(e, t) {
+          t.length > 1 &&
+            (2 !== t.length || !t.includes("null")) &&
+            strictTypesError(e, "use allowUnionTypes to allow union type keyword");
+        }
+        function checkKeywordTypes(e, t) {
+          const a = e.self.RULES.all;
+          for (const s in a) {
+            const r = a[s];
+            if ("object" == typeof r && (0, applicability_1.shouldUseRule)(e.schema, r)) {
+              const { type: a } = r.definition;
+              a.length &&
+                !a.some((e) => hasApplicableType(t, e)) &&
+                strictTypesError(e, `missing type "${a.join(",")}" for keyword "${s}"`);
+            }
+          }
+        }
+        function hasApplicableType(e, t) {
+          return e.includes(t) || ("number" === t && e.includes("integer"));
+        }
+        function includesType(e, t) {
+          return e.includes(t) || ("integer" === t && e.includes("number"));
+        }
+        function strictTypesError(e, t) {
+          (t += ` at "${e.schemaEnv.baseId + e.errSchemaPath}" (strictTypes)`),
+            (0, util_1.checkStrictMode)(e, t, e.opts.strictTypes);
+        }
+        exports.validateFunctionCode = validateFunctionCode;
+        class KeywordCxt {
+          constructor(e, t, a) {
+            if (
+              ((0, keyword_1.validateKeywordUsage)(e, t, a),
+              (this.gen = e.gen),
+              (this.allErrors = e.allErrors),
+              (this.keyword = a),
+              (this.data = e.data),
+              (this.schema = e.schema[a]),
+              (this.$data = t.$data && e.opts.$data && this.schema && this.schema.$data),
+              (this.schemaValue = (0, util_1.schemaRefOrVal)(e, this.schema, a, this.$data)),
+              (this.schemaType = t.schemaType),
+              (this.parentSchema = e.schema),
+              (this.params = {}),
+              (this.it = e),
+              (this.def = t),
+              this.$data)
+            )
+              this.schemaCode = e.gen.const("vSchema", getData(this.$data, e));
+            else if (
+              ((this.schemaCode = this.schemaValue),
+              !(0, keyword_1.validSchemaType)(this.schema, t.schemaType, t.allowUndefined))
+            )
+              throw new Error(`${a} value must be ${JSON.stringify(t.schemaType)}`);
+            ("code" in t ? t.trackErrors : !1 !== t.errors) &&
+              (this.errsCount = e.gen.const("_errs", names_1.default.errors));
+          }
+          result(e, t, a) {
+            this.failResult((0, codegen_1.not)(e), t, a);
+          }
+          failResult(e, t, a) {
+            this.gen.if(e),
+              a ? a() : this.error(),
+              t
+                ? (this.gen.else(), t(), this.allErrors && this.gen.endIf())
+                : this.allErrors
+                  ? this.gen.endIf()
+                  : this.gen.else();
+          }
+          pass(e, t) {
+            this.failResult((0, codegen_1.not)(e), void 0, t);
+          }
+          fail(e) {
+            if (void 0 === e) return this.error(), void (this.allErrors || this.gen.if(!1));
+            this.gen.if(e), this.error(), this.allErrors ? this.gen.endIf() : this.gen.else();
+          }
+          fail$data(e) {
+            if (!this.$data) return this.fail(e);
+            const { schemaCode: t } = this;
+            this.fail(codegen_1._`${t} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), e)})`);
+          }
+          error(e, t, a) {
+            if (t) return this.setParams(t), this._error(e, a), void this.setParams({});
+            this._error(e, a);
+          }
+          _error(e, t) {
+            (e ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, t);
+          }
+          $dataError() {
+            (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError);
+          }
+          reset() {
+            if (void 0 === this.errsCount) throw new Error('add "trackErrors" to keyword definition');
+            (0, errors_1.resetErrorsCount)(this.gen, this.errsCount);
+          }
+          ok(e) {
+            this.allErrors || this.gen.if(e);
+          }
+          setParams(e, t) {
+            t ? Object.assign(this.params, e) : (this.params = e);
+          }
+          block$data(e, t, a = codegen_1.nil) {
+            this.gen.block(() => {
+              this.check$data(e, a), t();
+            });
+          }
+          check$data(e = codegen_1.nil, t = codegen_1.nil) {
+            if (!this.$data) return;
+            const { gen: a, schemaCode: s, schemaType: r, def: n } = this;
+            a.if((0, codegen_1.or)(codegen_1._`${s} === undefined`, t)),
+              e !== codegen_1.nil && a.assign(e, !0),
+              (r.length || n.validateSchema) &&
+                (a.elseIf(this.invalid$data()), this.$dataError(), e !== codegen_1.nil && a.assign(e, !1)),
+              a.else();
+          }
+          invalid$data() {
+            const { gen: e, schemaCode: t, schemaType: a, def: s, it: r } = this;
+            return (0, codegen_1.or)(
+              (function () {
+                if (a.length) {
+                  if (!(t instanceof codegen_1.Name)) throw new Error("ajv implementation error");
+                  const e = Array.isArray(a) ? a : [a];
+                  return codegen_1._`${(0, dataType_2.checkDataTypes)(e, t, r.opts.strictNumbers, dataType_2.DataType.Wrong)}`;
+                }
+                return codegen_1.nil;
+              })(),
+              (function () {
+                if (s.validateSchema) {
+                  const a = e.scopeValue("validate$data", { ref: s.validateSchema });
+                  return codegen_1._`!${a}(${t})`;
+                }
+                return codegen_1.nil;
+              })(),
+            );
+          }
+          subschema(e, t) {
+            const a = (0, subschema_1.getSubschema)(this.it, e);
+            (0, subschema_1.extendSubschemaData)(a, this.it, e), (0, subschema_1.extendSubschemaMode)(a, e);
+            const s = { ...this.it, ...a, items: void 0, props: void 0 };
+            return subschemaCode(s, t), s;
+          }
+          mergeEvaluated(e, t) {
+            const { it: a, gen: s } = this;
+            a.opts.unevaluated &&
+              (!0 !== a.props && void 0 !== e.props && (a.props = util_1.mergeEvaluated.props(s, e.props, a.props, t)),
+              !0 !== a.items && void 0 !== e.items && (a.items = util_1.mergeEvaluated.items(s, e.items, a.items, t)));
+          }
+          mergeValidEvaluated(e, t) {
+            const { it: a, gen: s } = this;
+            if (a.opts.unevaluated && (!0 !== a.props || !0 !== a.items))
+              return s.if(t, () => this.mergeEvaluated(e, codegen_1.Name)), !0;
+          }
+        }
+        function keywordCode(e, t, a, s) {
+          const r = new KeywordCxt(e, a, t);
+          "code" in a
+            ? a.code(r, s)
+            : r.$data && a.validate
+              ? (0, keyword_1.funcKeywordCode)(r, a)
+              : "macro" in a
+                ? (0, keyword_1.macroKeywordCode)(r, a)
+                : (a.compile || a.validate) && (0, keyword_1.funcKeywordCode)(r, a);
+        }
+        exports.KeywordCxt = KeywordCxt;
+        const JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/,
+          RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;
+        function getData(e, { dataLevel: t, dataNames: a, dataPathArr: s }) {
+          let r, n;
+          if ("" === e) return names_1.default.rootData;
+          if ("/" === e[0]) {
+            if (!JSON_POINTER.test(e)) throw new Error(`Invalid JSON-pointer: ${e}`);
+            (r = e), (n = names_1.default.rootData);
+          } else {
+            const o = RELATIVE_JSON_POINTER.exec(e);
+            if (!o) throw new Error(`Invalid JSON-pointer: ${e}`);
+            const c = +o[1];
+            if ("#" === (r = o[2])) {
+              if (c >= t) throw new Error(i("property/index", c));
+              return s[t - c];
+            }
+            if (c > t) throw new Error(i("data", c));
+            if (((n = a[t - c]), !r)) return n;
+          }
+          let o = n;
+          const c = r.split("/");
+          for (const e of c)
+            e &&
+              ((n = codegen_1._`${n}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(e))}`),
+              (o = codegen_1._`${o} && ${n}`));
+          return o;
+          function i(e, a) {
+            return `Cannot access ${e} ${a} levels up, current level is ${t}`;
+          }
+        }
+        exports.getData = getData;
+      },
+      {
+        "../codegen": 49,
+        "../errors": 51,
+        "../names": 53,
+        "../resolve": 55,
+        "../util": 57,
+        "./applicability": 58,
+        "./boolSchema": 59,
+        "./dataType": 60,
+        "./defaults": 61,
+        "./keyword": 63,
+        "./subschema": 64,
+      },
+    ],
+    63: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.validateKeywordUsage =
+            exports.validSchemaType =
+            exports.funcKeywordCode =
+            exports.macroKeywordCode =
+              void 0);
+        const codegen_1 = require("../codegen"),
+          names_1 = require("../names"),
+          code_1 = require("../../vocabularies/code"),
+          errors_1 = require("../errors");
+        function macroKeywordCode(e, r) {
+          const { gen: o, keyword: a, schema: n, parentSchema: t, it: s } = e,
+            c = r.macro.call(s.self, n, t, s),
+            d = useKeyword(o, a, c);
+          !1 !== s.opts.validateSchema && s.self.validateSchema(c, !0);
+          const i = o.name("valid");
+          e.subschema(
+            {
+              schema: c,
+              schemaPath: codegen_1.nil,
+              errSchemaPath: `${s.errSchemaPath}/${a}`,
+              topSchemaRef: d,
+              compositeRule: !0,
+            },
+            i,
+          ),
+            e.pass(i, () => e.error(!0));
+        }
+        function funcKeywordCode(e, r) {
+          var o;
+          const { gen: a, keyword: n, schema: t, parentSchema: s, $data: c, it: d } = e;
+          checkAsyncKeyword(d, r);
+          const i = !c && r.compile ? r.compile.call(d.self, t, s, d) : r.validate,
+            l = useKeyword(a, n, i),
+            y = a.let("valid");
+          function f(o = r.async ? codegen_1._`await ` : codegen_1.nil) {
+            const n = d.opts.passContext ? names_1.default.this : names_1.default.self,
+              t = !(("compile" in r && !c) || !1 === r.schema);
+            a.assign(y, codegen_1._`${o}${(0, code_1.callValidateCode)(e, l, n, t)}`, r.modifying);
+          }
+          function m(e) {
+            var o;
+            a.if((0, codegen_1.not)(null !== (o = r.valid) && void 0 !== o ? o : y), e);
+          }
+          e.block$data(y, function () {
+            if (!1 === r.errors) f(), r.modifying && modifyData(e), m(() => e.error());
+            else {
+              const o = r.async
+                ? (function () {
+                    const e = a.let("ruleErrs", null);
+                    return (
+                      a.try(
+                        () => f(codegen_1._`await `),
+                        (r) =>
+                          a.assign(y, !1).if(
+                            codegen_1._`${r} instanceof ${d.ValidationError}`,
+                            () => a.assign(e, codegen_1._`${r}.errors`),
+                            () => a.throw(r),
+                          ),
+                      ),
+                      e
+                    );
+                  })()
+                : (function () {
+                    const e = codegen_1._`${l}.errors`;
+                    return a.assign(e, null), f(codegen_1.nil), e;
+                  })();
+              r.modifying && modifyData(e), m(() => addErrs(e, o));
+            }
+          }),
+            e.ok(null !== (o = r.valid) && void 0 !== o ? o : y);
+        }
+        function modifyData(e) {
+          const { gen: r, data: o, it: a } = e;
+          r.if(a.parentData, () => r.assign(o, codegen_1._`${a.parentData}[${a.parentDataProperty}]`));
+        }
+        function addErrs(e, r) {
+          const { gen: o } = e;
+          o.if(
+            codegen_1._`Array.isArray(${r})`,
+            () => {
+              o
+                .assign(
+                  names_1.default.vErrors,
+                  codegen_1._`${names_1.default.vErrors} === null ? ${r} : ${names_1.default.vErrors}.concat(${r})`,
+                )
+                .assign(names_1.default.errors, codegen_1._`${names_1.default.vErrors}.length`),
+                (0, errors_1.extendErrors)(e);
+            },
+            () => e.error(),
+          );
+        }
+        function checkAsyncKeyword({ schemaEnv: e }, r) {
+          if (r.async && !e.$async) throw new Error("async keyword in sync schema");
+        }
+        function useKeyword(e, r, o) {
+          if (void 0 === o) throw new Error(`keyword "${r}" failed to compile`);
+          return e.scopeValue(
+            "keyword",
+            "function" == typeof o ? { ref: o } : { ref: o, code: (0, codegen_1.stringify)(o) },
+          );
+        }
+        function validSchemaType(e, r, o = !1) {
+          return (
+            !r.length ||
+            r.some((r) =>
+              "array" === r
+                ? Array.isArray(e)
+                : "object" === r
+                  ? e && "object" == typeof e && !Array.isArray(e)
+                  : typeof e == r || (o && void 0 === e),
+            )
+          );
+        }
+        function validateKeywordUsage({ schema: e, opts: r, self: o, errSchemaPath: a }, n, t) {
+          if (Array.isArray(n.keyword) ? !n.keyword.includes(t) : n.keyword !== t)
+            throw new Error("ajv implementation error");
+          const s = n.dependencies;
+          if (null == s ? void 0 : s.some((r) => !Object.prototype.hasOwnProperty.call(e, r)))
+            throw new Error(`parent schema must have dependencies of ${t}: ${s.join(",")}`);
+          if (n.validateSchema) {
+            if (!n.validateSchema(e[t])) {
+              const e = `keyword "${t}" value is invalid at path "${a}": ` + o.errorsText(n.validateSchema.errors);
+              if ("log" !== r.validateSchema) throw new Error(e);
+              o.logger.error(e);
+            }
+          }
+        }
+        (exports.macroKeywordCode = macroKeywordCode),
+          (exports.funcKeywordCode = funcKeywordCode),
+          (exports.validSchemaType = validSchemaType),
+          (exports.validateKeywordUsage = validateKeywordUsage);
+      },
+      { "../../vocabularies/code": 98, "../codegen": 49, "../errors": 51, "../names": 53 },
+    ],
+    64: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0);
+        const codegen_1 = require("../codegen"),
+          util_1 = require("../util");
+        function getSubschema(
+          e,
+          { keyword: a, schemaProp: t, schema: r, schemaPath: o, errSchemaPath: d, topSchemaRef: c },
+        ) {
+          if (void 0 !== a && void 0 !== r) throw new Error('both "keyword" and "schema" passed, only one allowed');
+          if (void 0 !== a) {
+            const r = e.schema[a];
+            return void 0 === t
+              ? {
+                  schema: r,
+                  schemaPath: codegen_1._`${e.schemaPath}${(0, codegen_1.getProperty)(a)}`,
+                  errSchemaPath: `${e.errSchemaPath}/${a}`,
+                }
+              : {
+                  schema: r[t],
+                  schemaPath: codegen_1._`${e.schemaPath}${(0, codegen_1.getProperty)(a)}${(0, codegen_1.getProperty)(t)}`,
+                  errSchemaPath: `${e.errSchemaPath}/${a}/${(0, util_1.escapeFragment)(t)}`,
+                };
+          }
+          if (void 0 !== r) {
+            if (void 0 === o || void 0 === d || void 0 === c)
+              throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');
+            return { schema: r, schemaPath: o, topSchemaRef: c, errSchemaPath: d };
+          }
+          throw new Error('either "keyword" or "schema" must be passed');
+        }
+        function extendSubschemaData(e, a, { dataProp: t, dataPropType: r, data: o, dataTypes: d, propertyName: c }) {
+          if (void 0 !== o && void 0 !== t) throw new Error('both "data" and "dataProp" passed, only one allowed');
+          const { gen: s } = a;
+          if (void 0 !== t) {
+            const { errorPath: o, dataPathArr: d, opts: c } = a;
+            h(s.let("data", codegen_1._`${a.data}${(0, codegen_1.getProperty)(t)}`, !0)),
+              (e.errorPath = codegen_1.str`${o}${(0, util_1.getErrorPath)(t, r, c.jsPropertySyntax)}`),
+              (e.parentDataProperty = codegen_1._`${t}`),
+              (e.dataPathArr = [...d, e.parentDataProperty]);
+          }
+          if (void 0 !== o) {
+            h(o instanceof codegen_1.Name ? o : s.let("data", o, !0)), void 0 !== c && (e.propertyName = c);
+          }
+          function h(t) {
+            (e.data = t),
+              (e.dataLevel = a.dataLevel + 1),
+              (e.dataTypes = []),
+              (a.definedProperties = new Set()),
+              (e.parentData = a.data),
+              (e.dataNames = [...a.dataNames, t]);
+          }
+          d && (e.dataTypes = d);
+        }
+        function extendSubschemaMode(
+          e,
+          { jtdDiscriminator: a, jtdMetadata: t, compositeRule: r, createErrors: o, allErrors: d },
+        ) {
+          void 0 !== r && (e.compositeRule = r),
+            void 0 !== o && (e.createErrors = o),
+            void 0 !== d && (e.allErrors = d),
+            (e.jtdDiscriminator = a),
+            (e.jtdMetadata = t);
+        }
+        (exports.getSubschema = getSubschema),
+          (exports.extendSubschemaData = extendSubschemaData),
+          (exports.extendSubschemaMode = extendSubschemaMode);
+      },
+      { "../codegen": 49, "../util": 57 },
+    ],
+    65: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.CodeGen =
+            exports.Name =
+            exports.nil =
+            exports.stringify =
+            exports.str =
+            exports._ =
+            exports.KeywordCxt =
+              void 0);
+        var validate_1 = require("./compile/validate");
+        Object.defineProperty(exports, "KeywordCxt", {
+          enumerable: !0,
+          get: function () {
+            return validate_1.KeywordCxt;
+          },
+        });
+        var codegen_1 = require("./compile/codegen");
+        Object.defineProperty(exports, "_", {
+          enumerable: !0,
+          get: function () {
+            return codegen_1._;
+          },
+        }),
+          Object.defineProperty(exports, "str", {
+            enumerable: !0,
+            get: function () {
+              return codegen_1.str;
+            },
+          }),
+          Object.defineProperty(exports, "stringify", {
+            enumerable: !0,
+            get: function () {
+              return codegen_1.stringify;
+            },
+          }),
+          Object.defineProperty(exports, "nil", {
+            enumerable: !0,
+            get: function () {
+              return codegen_1.nil;
+            },
+          }),
+          Object.defineProperty(exports, "Name", {
+            enumerable: !0,
+            get: function () {
+              return codegen_1.Name;
+            },
+          }),
+          Object.defineProperty(exports, "CodeGen", {
+            enumerable: !0,
+            get: function () {
+              return codegen_1.CodeGen;
+            },
+          });
+        const validation_error_1 = require("./runtime/validation_error"),
+          ref_error_1 = require("./compile/ref_error"),
+          rules_1 = require("./compile/rules"),
+          compile_1 = require("./compile"),
+          codegen_2 = require("./compile/codegen"),
+          resolve_1 = require("./compile/resolve"),
+          dataType_1 = require("./compile/validate/dataType"),
+          util_1 = require("./compile/util"),
+          $dataRefSchema = require("./refs/data.json"),
+          uri_1 = require("./runtime/uri"),
+          defaultRegExp = (e, t) => new RegExp(e, t);
+        defaultRegExp.code = "new RegExp";
+        const META_IGNORE_OPTIONS = ["removeAdditional", "useDefaults", "coerceTypes"],
+          EXT_SCOPE_NAMES = new Set([
+            "validate",
+            "serialize",
+            "parse",
+            "wrapper",
+            "root",
+            "schema",
+            "keyword",
+            "pattern",
+            "formats",
+            "validate$data",
+            "func",
+            "obj",
+            "Error",
+          ]),
+          removedOptions = {
+            errorDataPath: "",
+            format: "`validateFormats: false` can be used instead.",
+            nullable: '"nullable" keyword is supported by default.',
+            jsonPointers: "Deprecated jsPropertySyntax can be used instead.",
+            extendRefs: "Deprecated ignoreKeywordsWithRef can be used instead.",
+            missingRefs: "Pass empty schema with $id that should be ignored to ajv.addSchema.",
+            processCode: "Use option `code: {process: (code, schemaEnv: object) => string}`",
+            sourceCode: "Use option `code: {source: true}`",
+            strictDefaults: "It is default now, see option `strict`.",
+            strictKeywords: "It is default now, see option `strict`.",
+            uniqueItems: '"uniqueItems" keyword is always validated.',
+            unknownFormats: "Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",
+            cache: "Map is used as cache, schema object as key.",
+            serialize: "Map is used as cache, schema object as key.",
+            ajvErrors: "It is default now.",
+          },
+          deprecatedOptions = {
+            ignoreKeywordsWithRef: "",
+            jsPropertySyntax: "",
+            unicode: '"minLength"/"maxLength" account for unicode characters by default.',
+          },
+          MAX_EXPRESSION = 200;
+        function requiredOptions(e) {
+          var t, s, r, a, o, i, n, c, d, l, h, m, u, p, f, y, v, g, w, _, S, E, b, R, O;
+          const $ = e.strict,
+            j = null === (t = e.code) || void 0 === t ? void 0 : t.optimize,
+            x = !0 === j || void 0 === j ? 1 : j || 0,
+            I =
+              null !== (r = null === (s = e.code) || void 0 === s ? void 0 : s.regExp) && void 0 !== r
+                ? r
+                : defaultRegExp,
+            k = null !== (a = e.uriResolver) && void 0 !== a ? a : uri_1.default;
+          return {
+            strictSchema: null === (i = null !== (o = e.strictSchema) && void 0 !== o ? o : $) || void 0 === i || i,
+            strictNumbers: null === (c = null !== (n = e.strictNumbers) && void 0 !== n ? n : $) || void 0 === c || c,
+            strictTypes:
+              null !== (l = null !== (d = e.strictTypes) && void 0 !== d ? d : $) && void 0 !== l ? l : "log",
+            strictTuples:
+              null !== (m = null !== (h = e.strictTuples) && void 0 !== h ? h : $) && void 0 !== m ? m : "log",
+            strictRequired: null !== (p = null !== (u = e.strictRequired) && void 0 !== u ? u : $) && void 0 !== p && p,
+            code: e.code ? { ...e.code, optimize: x, regExp: I } : { optimize: x, regExp: I },
+            loopRequired: null !== (f = e.loopRequired) && void 0 !== f ? f : MAX_EXPRESSION,
+            loopEnum: null !== (y = e.loopEnum) && void 0 !== y ? y : MAX_EXPRESSION,
+            meta: null === (v = e.meta) || void 0 === v || v,
+            messages: null === (g = e.messages) || void 0 === g || g,
+            inlineRefs: null === (w = e.inlineRefs) || void 0 === w || w,
+            schemaId: null !== (_ = e.schemaId) && void 0 !== _ ? _ : "$id",
+            addUsedSchema: null === (S = e.addUsedSchema) || void 0 === S || S,
+            validateSchema: null === (E = e.validateSchema) || void 0 === E || E,
+            validateFormats: null === (b = e.validateFormats) || void 0 === b || b,
+            unicodeRegExp: null === (R = e.unicodeRegExp) || void 0 === R || R,
+            int32range: null === (O = e.int32range) || void 0 === O || O,
+            uriResolver: k,
+          };
+        }
+        class Ajv {
+          constructor(e = {}) {
+            (this.schemas = {}),
+              (this.refs = {}),
+              (this.formats = {}),
+              (this._compilations = new Set()),
+              (this._loading = {}),
+              (this._cache = new Map()),
+              (e = this.opts = { ...e, ...requiredOptions(e) });
+            const { es5: t, lines: s } = this.opts.code;
+            (this.scope = new codegen_2.ValueScope({ scope: {}, prefixes: EXT_SCOPE_NAMES, es5: t, lines: s })),
+              (this.logger = getLogger(e.logger));
+            const r = e.validateFormats;
+            (e.validateFormats = !1),
+              (this.RULES = (0, rules_1.getRules)()),
+              checkOptions.call(this, removedOptions, e, "NOT SUPPORTED"),
+              checkOptions.call(this, deprecatedOptions, e, "DEPRECATED", "warn"),
+              (this._metaOpts = getMetaSchemaOptions.call(this)),
+              e.formats && addInitialFormats.call(this),
+              this._addVocabularies(),
+              this._addDefaultMetaSchema(),
+              e.keywords && addInitialKeywords.call(this, e.keywords),
+              "object" == typeof e.meta && this.addMetaSchema(e.meta),
+              addInitialSchemas.call(this),
+              (e.validateFormats = r);
+          }
+          _addVocabularies() {
+            this.addKeyword("$async");
+          }
+          _addDefaultMetaSchema() {
+            const { $data: e, meta: t, schemaId: s } = this.opts;
+            let r = $dataRefSchema;
+            "id" === s && (((r = { ...$dataRefSchema }).id = r.$id), delete r.$id),
+              t && e && this.addMetaSchema(r, r[s], !1);
+          }
+          defaultMeta() {
+            const { meta: e, schemaId: t } = this.opts;
+            return (this.opts.defaultMeta = "object" == typeof e ? e[t] || e : void 0);
+          }
+          validate(e, t) {
+            let s;
+            if ("string" == typeof e) {
+              if (!(s = this.getSchema(e))) throw new Error(`no schema with key or ref "${e}"`);
+            } else s = this.compile(e);
+            const r = s(t);
+            return "$async" in s || (this.errors = s.errors), r;
+          }
+          compile(e, t) {
+            const s = this._addSchema(e, t);
+            return s.validate || this._compileSchemaEnv(s);
+          }
+          compileAsync(e, t) {
+            if ("function" != typeof this.opts.loadSchema) throw new Error("options.loadSchema should be a function");
+            const { loadSchema: s } = this.opts;
+            return r.call(this, e, t);
+            async function r(e, r) {
+              await a.call(this, e.$schema);
+              const o = this._addSchema(e, r);
+              return (
+                o.validate ||
+                async function e(r) {
+                  try {
+                    return this._compileSchemaEnv(r);
+                  } catch (o) {
+                    if (!(o instanceof ref_error_1.default)) throw o;
+                    return (
+                      function ({ missingSchema: e, missingRef: t }) {
+                        if (this.refs[e]) throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`);
+                      }.call(this, o),
+                      await async function (e) {
+                        const r = await async function (e) {
+                          const t = this._loading[e];
+                          if (t) return t;
+                          try {
+                            return await (this._loading[e] = s(e));
+                          } finally {
+                            delete this._loading[e];
+                          }
+                        }.call(this, e);
+                        this.refs[e] || (await a.call(this, r.$schema));
+                        this.refs[e] || this.addSchema(r, e, t);
+                      }.call(this, o.missingSchema),
+                      e.call(this, r)
+                    );
+                  }
+                }.call(this, o)
+              );
+            }
+            async function a(e) {
+              e && !this.getSchema(e) && (await r.call(this, { $ref: e }, !0));
+            }
+          }
+          addSchema(e, t, s, r = this.opts.validateSchema) {
+            if (Array.isArray(e)) {
+              for (const t of e) this.addSchema(t, void 0, s, r);
+              return this;
+            }
+            let a;
+            if ("object" == typeof e) {
+              const { schemaId: t } = this.opts;
+              if (void 0 !== (a = e[t]) && "string" != typeof a) throw new Error(`schema ${t} must be string`);
+            }
+            return (
+              (t = (0, resolve_1.normalizeId)(t || a)),
+              this._checkUnique(t),
+              (this.schemas[t] = this._addSchema(e, s, t, r, !0)),
+              this
+            );
+          }
+          addMetaSchema(e, t, s = this.opts.validateSchema) {
+            return this.addSchema(e, t, !0, s), this;
+          }
+          validateSchema(e, t) {
+            if ("boolean" == typeof e) return !0;
+            let s;
+            if (void 0 !== (s = e.$schema) && "string" != typeof s) throw new Error("$schema must be a string");
+            if (!(s = s || this.opts.defaultMeta || this.defaultMeta()))
+              return this.logger.warn("meta-schema not available"), (this.errors = null), !0;
+            const r = this.validate(s, e);
+            if (!r && t) {
+              const e = "schema is invalid: " + this.errorsText();
+              if ("log" !== this.opts.validateSchema) throw new Error(e);
+              this.logger.error(e);
+            }
+            return r;
+          }
+          getSchema(e) {
+            let t;
+            for (; "string" == typeof (t = getSchEnv.call(this, e)); ) e = t;
+            if (void 0 === t) {
+              const { schemaId: s } = this.opts,
+                r = new compile_1.SchemaEnv({ schema: {}, schemaId: s });
+              if (!(t = compile_1.resolveSchema.call(this, r, e))) return;
+              this.refs[e] = t;
+            }
+            return t.validate || this._compileSchemaEnv(t);
+          }
+          removeSchema(e) {
+            if (e instanceof RegExp)
+              return this._removeAllSchemas(this.schemas, e), this._removeAllSchemas(this.refs, e), this;
+            switch (typeof e) {
+              case "undefined":
+                return (
+                  this._removeAllSchemas(this.schemas), this._removeAllSchemas(this.refs), this._cache.clear(), this
+                );
+              case "string": {
+                const t = getSchEnv.call(this, e);
+                return (
+                  "object" == typeof t && this._cache.delete(t.schema),
+                  delete this.schemas[e],
+                  delete this.refs[e],
+                  this
+                );
+              }
+              case "object": {
+                const t = e;
+                this._cache.delete(t);
+                let s = e[this.opts.schemaId];
+                return s && ((s = (0, resolve_1.normalizeId)(s)), delete this.schemas[s], delete this.refs[s]), this;
+              }
+              default:
+                throw new Error("ajv.removeSchema: invalid parameter");
+            }
+          }
+          addVocabulary(e) {
+            for (const t of e) this.addKeyword(t);
+            return this;
+          }
+          addKeyword(e, t) {
+            let s;
+            if ("string" == typeof e)
+              (s = e),
+                "object" == typeof t &&
+                  (this.logger.warn("these parameters are deprecated, see docs for addKeyword"), (t.keyword = s));
+            else {
+              if ("object" != typeof e || void 0 !== t) throw new Error("invalid addKeywords parameters");
+              if (((s = (t = e).keyword), Array.isArray(s) && !s.length))
+                throw new Error("addKeywords: keyword must be string or non-empty array");
+            }
+            if ((checkKeyword.call(this, s, t), !t)) return (0, util_1.eachItem)(s, (e) => addRule.call(this, e)), this;
+            keywordMetaschema.call(this, t);
+            const r = {
+              ...t,
+              type: (0, dataType_1.getJSONTypes)(t.type),
+              schemaType: (0, dataType_1.getJSONTypes)(t.schemaType),
+            };
+            return (
+              (0, util_1.eachItem)(
+                s,
+                0 === r.type.length
+                  ? (e) => addRule.call(this, e, r)
+                  : (e) => r.type.forEach((t) => addRule.call(this, e, r, t)),
+              ),
+              this
+            );
+          }
+          getKeyword(e) {
+            const t = this.RULES.all[e];
+            return "object" == typeof t ? t.definition : !!t;
+          }
+          removeKeyword(e) {
+            const { RULES: t } = this;
+            delete t.keywords[e], delete t.all[e];
+            for (const s of t.rules) {
+              const t = s.rules.findIndex((t) => t.keyword === e);
+              t >= 0 && s.rules.splice(t, 1);
+            }
+            return this;
+          }
+          addFormat(e, t) {
+            return "string" == typeof t && (t = new RegExp(t)), (this.formats[e] = t), this;
+          }
+          errorsText(e = this.errors, { separator: t = ", ", dataVar: s = "data" } = {}) {
+            return e && 0 !== e.length
+              ? e.map((e) => `${s}${e.instancePath} ${e.message}`).reduce((e, s) => e + t + s)
+              : "No errors";
+          }
+          $dataMetaSchema(e, t) {
+            const s = this.RULES.all;
+            e = JSON.parse(JSON.stringify(e));
+            for (const r of t) {
+              const t = r.split("/").slice(1);
+              let a = e;
+              for (const e of t) a = a[e];
+              for (const e in s) {
+                const t = s[e];
+                if ("object" != typeof t) continue;
+                const { $data: r } = t.definition,
+                  o = a[e];
+                r && o && (a[e] = schemaOrData(o));
+              }
+            }
+            return e;
+          }
+          _removeAllSchemas(e, t) {
+            for (const s in e) {
+              const r = e[s];
+              (t && !t.test(s)) ||
+                ("string" == typeof r ? delete e[s] : r && !r.meta && (this._cache.delete(r.schema), delete e[s]));
+            }
+          }
+          _addSchema(e, t, s, r = this.opts.validateSchema, a = this.opts.addUsedSchema) {
+            let o;
+            const { schemaId: i } = this.opts;
+            if ("object" == typeof e) o = e[i];
+            else {
+              if (this.opts.jtd) throw new Error("schema must be object");
+              if ("boolean" != typeof e) throw new Error("schema must be object or boolean");
+            }
+            let n = this._cache.get(e);
+            if (void 0 !== n) return n;
+            s = (0, resolve_1.normalizeId)(o || s);
+            const c = resolve_1.getSchemaRefs.call(this, e, s);
+            return (
+              (n = new compile_1.SchemaEnv({ schema: e, schemaId: i, meta: t, baseId: s, localRefs: c })),
+              this._cache.set(n.schema, n),
+              a && !s.startsWith("#") && (s && this._checkUnique(s), (this.refs[s] = n)),
+              r && this.validateSchema(e, !0),
+              n
+            );
+          }
+          _checkUnique(e) {
+            if (this.schemas[e] || this.refs[e]) throw new Error(`schema with key or id "${e}" already exists`);
+          }
+          _compileSchemaEnv(e) {
+            if ((e.meta ? this._compileMetaSchema(e) : compile_1.compileSchema.call(this, e), !e.validate))
+              throw new Error("ajv implementation error");
+            return e.validate;
+          }
+          _compileMetaSchema(e) {
+            const t = this.opts;
+            this.opts = this._metaOpts;
+            try {
+              compile_1.compileSchema.call(this, e);
+            } finally {
+              this.opts = t;
+            }
+          }
+        }
+        function checkOptions(e, t, s, r = "error") {
+          for (const a in e) {
+            const o = a;
+            o in t && this.logger[r](`${s}: option ${a}. ${e[o]}`);
+          }
+        }
+        function getSchEnv(e) {
+          return (e = (0, resolve_1.normalizeId)(e)), this.schemas[e] || this.refs[e];
+        }
+        function addInitialSchemas() {
+          const e = this.opts.schemas;
+          if (e)
+            if (Array.isArray(e)) this.addSchema(e);
+            else for (const t in e) this.addSchema(e[t], t);
+        }
+        function addInitialFormats() {
+          for (const e in this.opts.formats) {
+            const t = this.opts.formats[e];
+            t && this.addFormat(e, t);
+          }
+        }
+        function addInitialKeywords(e) {
+          if (Array.isArray(e)) this.addVocabulary(e);
+          else {
+            this.logger.warn("keywords option as map is deprecated, pass array");
+            for (const t in e) {
+              const s = e[t];
+              s.keyword || (s.keyword = t), this.addKeyword(s);
+            }
+          }
+        }
+        function getMetaSchemaOptions() {
+          const e = { ...this.opts };
+          for (const t of META_IGNORE_OPTIONS) delete e[t];
+          return e;
+        }
+        (exports.default = Ajv),
+          (Ajv.ValidationError = validation_error_1.default),
+          (Ajv.MissingRefError = ref_error_1.default);
+        const noLogs = { log() {}, warn() {}, error() {} };
+        function getLogger(e) {
+          if (!1 === e) return noLogs;
+          if (void 0 === e) return console;
+          if (e.log && e.warn && e.error) return e;
+          throw new Error("logger must implement log, warn and error methods");
+        }
+        const KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i;
+        function checkKeyword(e, t) {
+          const { RULES: s } = this;
+          if (
+            ((0, util_1.eachItem)(e, (e) => {
+              if (s.keywords[e]) throw new Error(`Keyword ${e} is already defined`);
+              if (!KEYWORD_NAME.test(e)) throw new Error(`Keyword ${e} has invalid name`);
+            }),
+            t && t.$data && !("code" in t || "validate" in t))
+          )
+            throw new Error('$data keyword must have "code" or "validate" function');
+        }
+        function addRule(e, t, s) {
+          var r;
+          const a = null == t ? void 0 : t.post;
+          if (s && a) throw new Error('keyword with "post" flag cannot have "type"');
+          const { RULES: o } = this;
+          let i = a ? o.post : o.rules.find(({ type: e }) => e === s);
+          if ((i || ((i = { type: s, rules: [] }), o.rules.push(i)), (o.keywords[e] = !0), !t)) return;
+          const n = {
+            keyword: e,
+            definition: {
+              ...t,
+              type: (0, dataType_1.getJSONTypes)(t.type),
+              schemaType: (0, dataType_1.getJSONTypes)(t.schemaType),
+            },
+          };
+          t.before ? addBeforeRule.call(this, i, n, t.before) : i.rules.push(n),
+            (o.all[e] = n),
+            null === (r = t.implements) || void 0 === r || r.forEach((e) => this.addKeyword(e));
+        }
+        function addBeforeRule(e, t, s) {
+          const r = e.rules.findIndex((e) => e.keyword === s);
+          r >= 0 ? e.rules.splice(r, 0, t) : (e.rules.push(t), this.logger.warn(`rule ${s} is not defined`));
+        }
+        function keywordMetaschema(e) {
+          let { metaSchema: t } = e;
+          void 0 !== t &&
+            (e.$data && this.opts.$data && (t = schemaOrData(t)), (e.validateSchema = this.compile(t, !0)));
+        }
+        const $dataRef = { $ref: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#" };
+        function schemaOrData(e) {
+          return { anyOf: [e, $dataRef] };
+        }
+      },
+      {
+        "./compile": 52,
+        "./compile/codegen": 49,
+        "./compile/ref_error": 54,
+        "./compile/resolve": 55,
+        "./compile/rules": 56,
+        "./compile/util": 57,
+        "./compile/validate": 62,
+        "./compile/validate/dataType": 60,
+        "./refs/data.json": 66,
+        "./runtime/uri": 78,
+        "./runtime/validation_error": 79,
+      },
+    ],
+    66: [
+      function (require, module, exports) {
+        module.exports = {
+          $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",
+          description: "Meta-schema for $data reference (JSON AnySchema extension proposal)",
+          type: "object",
+          required: ["$data"],
+          properties: {
+            $data: { type: "string", anyOf: [{ format: "relative-json-pointer" }, { format: "json-pointer" }] },
+          },
+          additionalProperties: false,
+        };
+      },
+      {},
+    ],
+    67: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const metaSchema = require("./schema.json"),
+          applicator = require("./meta/applicator.json"),
+          unevaluated = require("./meta/unevaluated.json"),
+          content = require("./meta/content.json"),
+          core = require("./meta/core.json"),
+          format = require("./meta/format-annotation.json"),
+          metadata = require("./meta/meta-data.json"),
+          validation = require("./meta/validation.json"),
+          META_SUPPORT_DATA = ["/properties"];
+        function addMetaSchema2020(e) {
+          return (
+            [
+              metaSchema,
+              applicator,
+              unevaluated,
+              content,
+              core,
+              a(this, format),
+              metadata,
+              a(this, validation),
+            ].forEach((e) => this.addMetaSchema(e, void 0, !1)),
+            this
+          );
+          function a(a, t) {
+            return e ? a.$dataMetaSchema(t, META_SUPPORT_DATA) : t;
+          }
+        }
+        exports.default = addMetaSchema2020;
+      },
+      {
+        "./meta/applicator.json": 68,
+        "./meta/content.json": 69,
+        "./meta/core.json": 70,
+        "./meta/format-annotation.json": 71,
+        "./meta/meta-data.json": 72,
+        "./meta/unevaluated.json": 73,
+        "./meta/validation.json": 74,
+        "./schema.json": 75,
+      },
+    ],
+    68: [
+      function (require, module, exports) {
+        module.exports = {
+          $schema: "https://json-schema.org/draft/2020-12/schema",
+          $id: "https://json-schema.org/draft/2020-12/meta/applicator",
+          $vocabulary: { "https://json-schema.org/draft/2020-12/vocab/applicator": true },
+          $dynamicAnchor: "meta",
+          title: "Applicator vocabulary meta-schema",
+          type: ["object", "boolean"],
+          properties: {
+            prefixItems: { $ref: "#/$defs/schemaArray" },
+            items: { $dynamicRef: "#meta" },
+            contains: { $dynamicRef: "#meta" },
+            additionalProperties: { $dynamicRef: "#meta" },
+            properties: { type: "object", additionalProperties: { $dynamicRef: "#meta" }, default: {} },
+            patternProperties: {
+              type: "object",
+              additionalProperties: { $dynamicRef: "#meta" },
+              propertyNames: { format: "regex" },
+              default: {},
+            },
+            dependentSchemas: { type: "object", additionalProperties: { $dynamicRef: "#meta" }, default: {} },
+            propertyNames: { $dynamicRef: "#meta" },
+            if: { $dynamicRef: "#meta" },
+            then: { $dynamicRef: "#meta" },
+            else: { $dynamicRef: "#meta" },
+            allOf: { $ref: "#/$defs/schemaArray" },
+            anyOf: { $ref: "#/$defs/schemaArray" },
+            oneOf: { $ref: "#/$defs/schemaArray" },
+            not: { $dynamicRef: "#meta" },
+          },
+          $defs: { schemaArray: { type: "array", minItems: 1, items: { $dynamicRef: "#meta" } } },
+        };
+      },
+      {},
+    ],
+    69: [
+      function (require, module, exports) {
+        module.exports = {
+          $schema: "https://json-schema.org/draft/2020-12/schema",
+          $id: "https://json-schema.org/draft/2020-12/meta/content",
+          $vocabulary: { "https://json-schema.org/draft/2020-12/vocab/content": true },
+          $dynamicAnchor: "meta",
+          title: "Content vocabulary meta-schema",
+          type: ["object", "boolean"],
+          properties: {
+            contentEncoding: { type: "string" },
+            contentMediaType: { type: "string" },
+            contentSchema: { $dynamicRef: "#meta" },
+          },
+        };
+      },
+      {},
+    ],
+    70: [
+      function (require, module, exports) {
+        module.exports = {
+          $schema: "https://json-schema.org/draft/2020-12/schema",
+          $id: "https://json-schema.org/draft/2020-12/meta/core",
+          $vocabulary: { "https://json-schema.org/draft/2020-12/vocab/core": true },
+          $dynamicAnchor: "meta",
+          title: "Core vocabulary meta-schema",
+          type: ["object", "boolean"],
+          properties: {
+            $id: {
+              $ref: "#/$defs/uriReferenceString",
+              $comment: "Non-empty fragments not allowed.",
+              pattern: "^[^#]*#?$",
+            },
+            $schema: { $ref: "#/$defs/uriString" },
+            $ref: { $ref: "#/$defs/uriReferenceString" },
+            $anchor: { $ref: "#/$defs/anchorString" },
+            $dynamicRef: { $ref: "#/$defs/uriReferenceString" },
+            $dynamicAnchor: { $ref: "#/$defs/anchorString" },
+            $vocabulary: {
+              type: "object",
+              propertyNames: { $ref: "#/$defs/uriString" },
+              additionalProperties: { type: "boolean" },
+            },
+            $comment: { type: "string" },
+            $defs: { type: "object", additionalProperties: { $dynamicRef: "#meta" } },
+          },
+          $defs: {
+            anchorString: { type: "string", pattern: "^[A-Za-z_][-A-Za-z0-9._]*$" },
+            uriString: { type: "string", format: "uri" },
+            uriReferenceString: { type: "string", format: "uri-reference" },
+          },
+        };
+      },
+      {},
+    ],
+    71: [
+      function (require, module, exports) {
+        module.exports = {
+          $schema: "https://json-schema.org/draft/2020-12/schema",
+          $id: "https://json-schema.org/draft/2020-12/meta/format-annotation",
+          $vocabulary: { "https://json-schema.org/draft/2020-12/vocab/format-annotation": true },
+          $dynamicAnchor: "meta",
+          title: "Format vocabulary meta-schema for annotation results",
+          type: ["object", "boolean"],
+          properties: { format: { type: "string" } },
+        };
+      },
+      {},
+    ],
+    72: [
+      function (require, module, exports) {
+        module.exports = {
+          $schema: "https://json-schema.org/draft/2020-12/schema",
+          $id: "https://json-schema.org/draft/2020-12/meta/meta-data",
+          $vocabulary: { "https://json-schema.org/draft/2020-12/vocab/meta-data": true },
+          $dynamicAnchor: "meta",
+          title: "Meta-data vocabulary meta-schema",
+          type: ["object", "boolean"],
+          properties: {
+            title: { type: "string" },
+            description: { type: "string" },
+            default: true,
+            deprecated: { type: "boolean", default: false },
+            readOnly: { type: "boolean", default: false },
+            writeOnly: { type: "boolean", default: false },
+            examples: { type: "array", items: true },
+          },
+        };
+      },
+      {},
+    ],
+    73: [
+      function (require, module, exports) {
+        module.exports = {
+          $schema: "https://json-schema.org/draft/2020-12/schema",
+          $id: "https://json-schema.org/draft/2020-12/meta/unevaluated",
+          $vocabulary: { "https://json-schema.org/draft/2020-12/vocab/unevaluated": true },
+          $dynamicAnchor: "meta",
+          title: "Unevaluated applicator vocabulary meta-schema",
+          type: ["object", "boolean"],
+          properties: { unevaluatedItems: { $dynamicRef: "#meta" }, unevaluatedProperties: { $dynamicRef: "#meta" } },
+        };
+      },
+      {},
+    ],
+    74: [
+      function (require, module, exports) {
+        module.exports = {
+          $schema: "https://json-schema.org/draft/2020-12/schema",
+          $id: "https://json-schema.org/draft/2020-12/meta/validation",
+          $vocabulary: { "https://json-schema.org/draft/2020-12/vocab/validation": true },
+          $dynamicAnchor: "meta",
+          title: "Validation vocabulary meta-schema",
+          type: ["object", "boolean"],
+          properties: {
+            type: {
+              anyOf: [
+                { $ref: "#/$defs/simpleTypes" },
+                { type: "array", items: { $ref: "#/$defs/simpleTypes" }, minItems: 1, uniqueItems: true },
+              ],
+            },
+            const: true,
+            enum: { type: "array", items: true },
+            multipleOf: { type: "number", exclusiveMinimum: 0 },
+            maximum: { type: "number" },
+            exclusiveMaximum: { type: "number" },
+            minimum: { type: "number" },
+            exclusiveMinimum: { type: "number" },
+            maxLength: { $ref: "#/$defs/nonNegativeInteger" },
+            minLength: { $ref: "#/$defs/nonNegativeIntegerDefault0" },
+            pattern: { type: "string", format: "regex" },
+            maxItems: { $ref: "#/$defs/nonNegativeInteger" },
+            minItems: { $ref: "#/$defs/nonNegativeIntegerDefault0" },
+            uniqueItems: { type: "boolean", default: false },
+            maxContains: { $ref: "#/$defs/nonNegativeInteger" },
+            minContains: { $ref: "#/$defs/nonNegativeInteger", default: 1 },
+            maxProperties: { $ref: "#/$defs/nonNegativeInteger" },
+            minProperties: { $ref: "#/$defs/nonNegativeIntegerDefault0" },
+            required: { $ref: "#/$defs/stringArray" },
+            dependentRequired: { type: "object", additionalProperties: { $ref: "#/$defs/stringArray" } },
+          },
+          $defs: {
+            nonNegativeInteger: { type: "integer", minimum: 0 },
+            nonNegativeIntegerDefault0: { $ref: "#/$defs/nonNegativeInteger", default: 0 },
+            simpleTypes: { enum: ["array", "boolean", "integer", "null", "number", "object", "string"] },
+            stringArray: { type: "array", items: { type: "string" }, uniqueItems: true, default: [] },
+          },
+        };
+      },
+      {},
+    ],
+    75: [
+      function (require, module, exports) {
+        module.exports = {
+          $schema: "https://json-schema.org/draft/2020-12/schema",
+          $id: "https://json-schema.org/draft/2020-12/schema",
+          $vocabulary: {
+            "https://json-schema.org/draft/2020-12/vocab/core": true,
+            "https://json-schema.org/draft/2020-12/vocab/applicator": true,
+            "https://json-schema.org/draft/2020-12/vocab/unevaluated": true,
+            "https://json-schema.org/draft/2020-12/vocab/validation": true,
+            "https://json-schema.org/draft/2020-12/vocab/meta-data": true,
+            "https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
+            "https://json-schema.org/draft/2020-12/vocab/content": true,
+          },
+          $dynamicAnchor: "meta",
+          title: "Core and Validation specifications meta-schema",
+          allOf: [
+            { $ref: "meta/core" },
+            { $ref: "meta/applicator" },
+            { $ref: "meta/unevaluated" },
+            { $ref: "meta/validation" },
+            { $ref: "meta/meta-data" },
+            { $ref: "meta/format-annotation" },
+            { $ref: "meta/content" },
+          ],
+          type: ["object", "boolean"],
+          $comment:
+            "This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",
+          properties: {
+            definitions: {
+              $comment: '"definitions" has been replaced by "$defs".',
+              type: "object",
+              additionalProperties: { $dynamicRef: "#meta" },
+              deprecated: true,
+              default: {},
+            },
+            dependencies: {
+              $comment:
+                '"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',
+              type: "object",
+              additionalProperties: {
+                anyOf: [{ $dynamicRef: "#meta" }, { $ref: "meta/validation#/$defs/stringArray" }],
+              },
+              deprecated: true,
+              default: {},
+            },
+            $recursiveAnchor: {
+              $comment: '"$recursiveAnchor" has been replaced by "$dynamicAnchor".',
+              $ref: "meta/core#/$defs/anchorString",
+              deprecated: true,
+            },
+            $recursiveRef: {
+              $comment: '"$recursiveRef" has been replaced by "$dynamicRef".',
+              $ref: "meta/core#/$defs/uriReferenceString",
+              deprecated: true,
+            },
+          },
+        };
+      },
+      {},
+    ],
+    76: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const equal = require("fast-deep-equal");
+        (equal.code = 'require("ajv/dist/runtime/equal").default'), (exports.default = equal);
+      },
+      { "fast-deep-equal": 136 },
+    ],
+    77: [
+      function (require, module, exports) {
+        "use strict";
+        function ucs2length(e) {
+          const t = e.length;
+          let r,
+            u = 0,
+            c = 0;
+          for (; c < t; )
+            u++,
+              (r = e.charCodeAt(c++)) >= 55296 &&
+                r <= 56319 &&
+                c < t &&
+                56320 == (64512 & (r = e.charCodeAt(c))) &&
+                c++;
+          return u;
+        }
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.default = ucs2length),
+          (ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default');
+      },
+      {},
+    ],
+    78: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const uri = require("uri-js");
+        (uri.code = 'require("ajv/dist/runtime/uri").default'), (exports.default = uri);
+      },
+      { "uri-js": 198 },
+    ],
+    79: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        class ValidationError extends Error {
+          constructor(r) {
+            super("validation failed"), (this.errors = r), (this.ajv = this.validation = !0);
+          }
+        }
+        exports.default = ValidationError;
+      },
+      {},
+    ],
+    80: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.validateAdditionalItems = void 0);
+        const codegen_1 = require("../../compile/codegen"),
+          util_1 = require("../../compile/util"),
+          error = {
+            message: ({ params: { len: e } }) => codegen_1.str`must NOT have more than ${e} items`,
+            params: ({ params: { len: e } }) => codegen_1._`{limit: ${e}}`,
+          },
+          def = {
+            keyword: "additionalItems",
+            type: "array",
+            schemaType: ["boolean", "object"],
+            before: "uniqueItems",
+            error: error,
+            code(e) {
+              const { parentSchema: t, it: a } = e,
+                { items: o } = t;
+              Array.isArray(o)
+                ? validateAdditionalItems(e, o)
+                : (0, util_1.checkStrictMode)(
+                    a,
+                    '"additionalItems" is ignored when "items" is not an array of schemas',
+                  );
+            },
+          };
+        function validateAdditionalItems(e, t) {
+          const { gen: a, schema: o, data: i, keyword: r, it: n } = e;
+          n.items = !0;
+          const s = a.const("len", codegen_1._`${i}.length`);
+          if (!1 === o) e.setParams({ len: t.length }), e.pass(codegen_1._`${s} <= ${t.length}`);
+          else if ("object" == typeof o && !(0, util_1.alwaysValidSchema)(n, o)) {
+            const o = a.var("valid", codegen_1._`${s} <= ${t.length}`);
+            a.if((0, codegen_1.not)(o), () =>
+              (function (o) {
+                a.forRange("i", t.length, s, (t) => {
+                  e.subschema({ keyword: r, dataProp: t, dataPropType: util_1.Type.Num }, o),
+                    n.allErrors || a.if((0, codegen_1.not)(o), () => a.break());
+                });
+              })(o),
+            ),
+              e.ok(o);
+          }
+        }
+        (exports.validateAdditionalItems = validateAdditionalItems), (exports.default = def);
+      },
+      { "../../compile/codegen": 49, "../../compile/util": 57 },
+    ],
+    81: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const code_1 = require("../code"),
+          codegen_1 = require("../../compile/codegen"),
+          names_1 = require("../../compile/names"),
+          util_1 = require("../../compile/util"),
+          error = {
+            message: "must NOT have additional properties",
+            params: ({ params: e }) => codegen_1._`{additionalProperty: ${e.additionalProperty}}`,
+          },
+          def = {
+            keyword: "additionalProperties",
+            type: ["object"],
+            schemaType: ["boolean", "object"],
+            allowUndefined: !0,
+            trackErrors: !0,
+            error: error,
+            code(e) {
+              const { gen: r, schema: o, parentSchema: t, data: a, errsCount: i, it: n } = e;
+              if (!i) throw new Error("ajv implementation error");
+              const { allErrors: d, opts: l } = n;
+              if (((n.props = !0), "all" !== l.removeAdditional && (0, util_1.alwaysValidSchema)(n, o))) return;
+              const s = (0, code_1.allSchemaProperties)(t.properties),
+                c = (0, code_1.allSchemaProperties)(t.patternProperties);
+              function p(e) {
+                r.code(codegen_1._`delete ${a}[${e}]`);
+              }
+              function _(t) {
+                if ("all" === l.removeAdditional || (l.removeAdditional && !1 === o)) p(t);
+                else {
+                  if (!1 === o) return e.setParams({ additionalProperty: t }), e.error(), void (d || r.break());
+                  if ("object" == typeof o && !(0, util_1.alwaysValidSchema)(n, o)) {
+                    const o = r.name("valid");
+                    "failing" === l.removeAdditional
+                      ? (m(t, o, !1),
+                        r.if((0, codegen_1.not)(o), () => {
+                          e.reset(), p(t);
+                        }))
+                      : (m(t, o), d || r.if((0, codegen_1.not)(o), () => r.break()));
+                  }
+                }
+              }
+              function m(r, o, t) {
+                const a = { keyword: "additionalProperties", dataProp: r, dataPropType: util_1.Type.Str };
+                !1 === t && Object.assign(a, { compositeRule: !0, createErrors: !1, allErrors: !1 }), e.subschema(a, o);
+              }
+              r.forIn("key", a, (o) => {
+                s.length || c.length
+                  ? r.if(
+                      (function (o) {
+                        let a;
+                        if (s.length > 8) {
+                          const e = (0, util_1.schemaRefOrVal)(n, t.properties, "properties");
+                          a = (0, code_1.isOwnProperty)(r, e, o);
+                        } else
+                          a = s.length ? (0, codegen_1.or)(...s.map((e) => codegen_1._`${o} === ${e}`)) : codegen_1.nil;
+                        return (
+                          c.length &&
+                            (a = (0, codegen_1.or)(
+                              a,
+                              ...c.map((r) => codegen_1._`${(0, code_1.usePattern)(e, r)}.test(${o})`),
+                            )),
+                          (0, codegen_1.not)(a)
+                        );
+                      })(o),
+                      () => _(o),
+                    )
+                  : _(o);
+              }),
+                e.ok(codegen_1._`${i} === ${names_1.default.errors}`);
+            },
+          };
+        exports.default = def;
+      },
+      { "../../compile/codegen": 49, "../../compile/names": 53, "../../compile/util": 57, "../code": 98 },
+    ],
+    82: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const util_1 = require("../../compile/util"),
+          def = {
+            keyword: "allOf",
+            schemaType: "array",
+            code(e) {
+              const { gen: r, schema: a, it: t } = e;
+              if (!Array.isArray(a)) throw new Error("ajv implementation error");
+              const o = r.name("valid");
+              a.forEach((r, a) => {
+                if ((0, util_1.alwaysValidSchema)(t, r)) return;
+                const l = e.subschema({ keyword: "allOf", schemaProp: a }, o);
+                e.ok(o), e.mergeEvaluated(l);
+              });
+            },
+          };
+        exports.default = def;
+      },
+      { "../../compile/util": 57 },
+    ],
+    83: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const code_1 = require("../code"),
+          def = {
+            keyword: "anyOf",
+            schemaType: "array",
+            trackErrors: !0,
+            code: code_1.validateUnion,
+            error: { message: "must match a schema in anyOf" },
+          };
+        exports.default = def;
+      },
+      { "../code": 98 },
+    ],
+    84: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 });
+        const codegen_1 = require("../../compile/codegen"),
+          util_1 = require("../../compile/util"),
+          error = {
+            message: ({ params: { min: e, max: n } }) =>
+              void 0 === n
+                ? codegen_1.str`must contain at least ${e} valid item(s)`
+                : codegen_1.str`must contain at least ${e} and no more than ${n} valid item(s)`,
+            params: ({ params: { min: e, max: n } }) =>
+              void 0 === n ? codegen_1._`{minContains: ${e}}` : codegen_1._`{minContains: ${e}, maxContains: ${n}}`,
+          },
+          def = {
+            keyword: "contains",
+            type: "array",
+            schemaType: ["object", "boolean"],
+            before: "uniqueItems",
+            trackErrors: !0,
+            error: error,
+            code(e) {
+              const { gen: n, schema: i, parentSchema: o, data: t, it: a } = e;
+              let s, r;
+              const { minContains: c, maxContains: d } = o;
+              a.opts.next ? ((s = void 0 === c ? 1 : c), (r = d)) : (s = 1);
+              const m = n.const("len", codegen_1._`${t}.length`);
+              if ((e.setParams({ min: s, max: r }), void 0 === r && 0 === s))
+                return void (0, util_1.checkStrictMode)(
+                  a,
+                  '"minContains" == 0 without "maxContains": "contains" keyword ignored',
+                );
+              if (void 0 !== r && s > r)
+                return (0, util_1.checkStrictMode)(a, '"minContains" > "maxContains" is always invalid'), void e.fail();
+              if ((0, util_1.alwaysValidSchema)(a, i)) {
+                let n = codegen_1._`${m} >= ${s}`;
+                return void 0 !== r && (n = codegen_1._`${n} && ${m} <= ${r}`), void e.pass(n);
+              }
+              a.items = !0;
+              const l = n.name("valid");
+              function _() {
+                const e = n.name("_valid"),
+                  i = n.let("count", 0);
+                u(e, () =>
+                  n.if(e, () =>
+                    (function (e) {
+                      n.code(codegen_1._`${e}++`),
+                        void 0 === r
+                          ? n.if(codegen_1._`${e} >= ${s}`, () => n.assign(l, !0).break())
+                          : (n.if(codegen_1._`${e} > ${r}`, () => n.assign(l, !1).break()),
+                            1 === s ? n.assign(l, !0) : n.if(codegen_1._`${e} >= ${s}`, () => n.assign(l, !0)));
+                    })(i),
+                  ),
+                );
+              }
+              function u(i, o) {
+                n.forRange("i", 0, m, (n) => {
+                  e.subschema(
+                    { keyword: "contains", dataProp: n, dataPropType: util_1.Type.Num, compositeRule: !0 },
+                    i,
+                  ),
+                    o();
+                });
+              }
+              void 0 === r && 1 === s
+                ? u(l, () => n.if(l, () => n.break()))
+                : 0 === s
+                  ? (n.let(l, !0), void 0 !== r && n.if(codegen_1._`${t}.length > 0`, _))
+                  : (n.let(l, !1), _()),
+                e.result(l, () => e.reset());
+            },
+          };
+        exports.default = def;
+      },
+      { "../../compile/codegen": 49, "../../compile/util": 57 },
+    ],
+    85: [
+      function (require, module, exports) {
+        "use strict";
+        Object.defineProperty(exports, "__esModule", { value: !0 }),
+          (exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0);
+        const codegen_1 = require("../../compile/codegen"),
+          util_1 = require("../../compile/util"),
+          code_1 = require("../code");
+        exports.error = {
+          message: ({ params: { property: e, depsCount: r, deps: o } }) => {
+            const t = 1 === r ? "property" : "properties";
+            return codegen_1.str`must have ${t} ${o} when property ${e} is present`;
+          },
+          params: ({
+            params: { property: e, depsCount: r, deps: o, missingProperty: t },
+          }) => codegen_1._`{property: ${e},
     missingProperty: ${t},
     depsCount: ${r},
-    deps: ${o}}`};const def={keyword:"dependencies",type:"object",schemaType:"object",error:exports.error,code(e){const[r,o]=splitDependencies(e);validatePropertyDeps(e,r),validateSchemaDeps(e,o)}};function splitDependencies({schema:e}){const r={},o={};for(const t in e){if("__proto__"===t)continue;(Array.isArray(e[t])?r:o)[t]=e[t]}return[r,o]}function validatePropertyDeps(e,r=e.schema){const{gen:o,data:t,it:s}=e;if(0===Object.keys(r).length)return;const p=o.let("missing");for(const n in r){const a=r[n];if(0===a.length)continue;const i=(0,code_1.propertyInData)(o,t,n,s.opts.ownProperties);e.setParams({property:n,depsCount:a.length,deps:a.join(", ")}),s.allErrors?o.if(i,()=>{for(const r of a)(0,code_1.checkReportMissingProp)(e,r)}):(o.if(codegen_1._`${i} && (${(0,code_1.checkMissingProp)(e,a,p)})`),(0,code_1.reportMissingProp)(e,p),o.else())}}function validateSchemaDeps(e,r=e.schema){const{gen:o,data:t,keyword:s,it:p}=e,n=o.name("valid");for(const a in r)(0,util_1.alwaysValidSchema)(p,r[a])||(o.if((0,code_1.propertyInData)(o,t,a,p.opts.ownProperties),()=>{const r=e.subschema({keyword:s,schemaProp:a},n);e.mergeValidEvaluated(r,n)},()=>o.var(n,!0)),e.ok(n))}exports.validatePropertyDeps=validatePropertyDeps,exports.validateSchemaDeps=validateSchemaDeps,exports.default=def},{"../../compile/codegen":49,"../../compile/util":57,"../code":98}],86:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const dependencies_1=require("./dependencies"),def={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,dependencies_1.validateSchemaDeps)(e)};exports.default=def},{"./dependencies":85}],87:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),error={message:({params:e})=>codegen_1.str`must match "${e.ifClause}" schema`,params:({params:e})=>codegen_1._`{failingKeyword: ${e.ifClause}}`},def={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:error,code(e){const{gen:s,parentSchema:r,it:a}=e;void 0===r.then&&void 0===r.else&&(0,util_1.checkStrictMode)(a,'"if" without "then" and "else" is ignored');const t=hasSchema(a,"then"),o=hasSchema(a,"else");if(!t&&!o)return;const i=s.let("valid",!0),c=s.name("_valid");if(function(){const s=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},c);e.mergeEvaluated(s)}(),e.reset(),t&&o){const r=s.let("ifClause");e.setParams({ifClause:r}),s.if(c,n("then",r),n("else",r))}else t?s.if(c,n("then")):s.if((0,codegen_1.not)(c),n("else"));function n(r,a){return()=>{const t=e.subschema({keyword:r},c);s.assign(i,c),e.mergeValidEvaluated(t,i),a?s.assign(a,codegen_1._`${r}`):e.setParams({ifClause:r})}}e.pass(i,()=>e.error(!0))}};function hasSchema(e,s){const r=e.schema[s];return void 0!==r&&!(0,util_1.alwaysValidSchema)(e,r)}exports.default=def},{"../../compile/codegen":49,"../../compile/util":57}],88:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const additionalItems_1=require("./additionalItems"),prefixItems_1=require("./prefixItems"),items_1=require("./items"),items2020_1=require("./items2020"),contains_1=require("./contains"),dependencies_1=require("./dependencies"),propertyNames_1=require("./propertyNames"),additionalProperties_1=require("./additionalProperties"),properties_1=require("./properties"),patternProperties_1=require("./patternProperties"),not_1=require("./not"),anyOf_1=require("./anyOf"),oneOf_1=require("./oneOf"),allOf_1=require("./allOf"),if_1=require("./if"),thenElse_1=require("./thenElse");function getApplicator(e=!1){const t=[not_1.default,anyOf_1.default,oneOf_1.default,allOf_1.default,if_1.default,thenElse_1.default,propertyNames_1.default,additionalProperties_1.default,dependencies_1.default,properties_1.default,patternProperties_1.default];return e?t.push(prefixItems_1.default,items2020_1.default):t.push(additionalItems_1.default,items_1.default),t.push(contains_1.default),t}exports.default=getApplicator},{"./additionalItems":80,"./additionalProperties":81,"./allOf":82,"./anyOf":83,"./contains":84,"./dependencies":85,"./if":87,"./items":89,"./items2020":90,"./not":91,"./oneOf":92,"./patternProperties":93,"./prefixItems":94,"./properties":95,"./propertyNames":96,"./thenElse":97}],89:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.validateTuple=void 0;const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),code_1=require("../code"),def={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:a}=e;if(Array.isArray(t))return validateTuple(e,"additionalItems",t);a.items=!0,(0,util_1.alwaysValidSchema)(a,t)||e.ok((0,code_1.validateArray)(e))}};function validateTuple(e,t,a=e.schema){const{gen:i,parentSchema:o,data:r,keyword:s,it:l}=e;!function(e){const{opts:i,errSchemaPath:o}=l,r=a.length,c=r===e.minItems&&(r===e.maxItems||!1===e[t]);if(i.strictTuples&&!c){const e=`"${s}" is ${r}-tuple, but minItems or maxItems/${t} are not specified or different at path "${o}"`;(0,util_1.checkStrictMode)(l,e,i.strictTuples)}}(o),l.opts.unevaluated&&a.length&&!0!==l.items&&(l.items=util_1.mergeEvaluated.items(i,a.length,l.items));const c=i.name("valid"),d=i.const("len",codegen_1._`${r}.length`);a.forEach((t,a)=>{(0,util_1.alwaysValidSchema)(l,t)||(i.if(codegen_1._`${d} > ${a}`,()=>e.subschema({keyword:s,schemaProp:a,dataProp:a},c)),e.ok(c))})}exports.validateTuple=validateTuple,exports.default=def},{"../../compile/codegen":49,"../../compile/util":57,"../code":98}],90:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),code_1=require("../code"),additionalItems_1=require("./additionalItems"),error={message:({params:{len:e}})=>codegen_1.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>codegen_1._`{limit: ${e}}`},def={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:error,code(e){const{schema:r,parentSchema:t,it:a}=e,{prefixItems:i}=t;a.items=!0,(0,util_1.alwaysValidSchema)(a,r)||(i?(0,additionalItems_1.validateAdditionalItems)(e,i):e.ok((0,code_1.validateArray)(e)))}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57,"../code":98,"./additionalItems":80}],91:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const util_1=require("../../compile/util"),def={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:r,schema:o,it:t}=e;if((0,util_1.alwaysValidSchema)(t,o))return void e.fail();const s=r.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),e.failResult(s,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};exports.default=def},{"../../compile/util":57}],92:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),error={message:"must match exactly one schema in oneOf",params:({params:e})=>codegen_1._`{passingSchemas: ${e.passing}}`},def={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:error,code(e){const{gen:r,schema:a,parentSchema:s,it:o}=e;if(!Array.isArray(a))throw new Error("ajv implementation error");if(o.opts.discriminator&&s.discriminator)return;const i=a,n=r.let("valid",!1),t=r.let("passing",null),c=r.name("_valid");e.setParams({passing:t}),r.block(function(){i.forEach((a,s)=>{let i;(0,util_1.alwaysValidSchema)(o,a)?r.var(c,!0):i=e.subschema({keyword:"oneOf",schemaProp:s,compositeRule:!0},c),s>0&&r.if(codegen_1._`${c} && ${n}`).assign(n,!1).assign(t,codegen_1._`[${t}, ${s}]`).else(),r.if(c,()=>{r.assign(n,!0),r.assign(t,s),i&&e.mergeEvaluated(i,codegen_1.Name)})})}),e.result(n,()=>e.reset(),()=>e.error(!0))}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57}],93:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const code_1=require("../code"),codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),util_2=require("../../compile/util"),def={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:o,data:r,parentSchema:a,it:s}=e,{opts:c}=s,n=(0,code_1.allSchemaProperties)(o),p=n.filter(e=>(0,util_1.alwaysValidSchema)(s,o[e]));if(0===n.length||p.length===n.length&&(!s.opts.unevaluated||!0===s.props))return;const i=c.strictSchema&&!c.allowMatchingProperties&&a.properties,l=t.name("valid");!0===s.props||s.props instanceof codegen_1.Name||(s.props=(0,util_2.evaluatedPropsToName)(t,s.props));const{props:u}=s;function d(e){for(const t in i)new RegExp(e).test(t)&&(0,util_1.checkStrictMode)(s,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function _(o){t.forIn("key",r,r=>{t.if(codegen_1._`${(0,code_1.usePattern)(e,o)}.test(${r})`,()=>{const a=p.includes(o);a||e.subschema({keyword:"patternProperties",schemaProp:o,dataProp:r,dataPropType:util_2.Type.Str},l),s.opts.unevaluated&&!0!==u?t.assign(codegen_1._`${u}[${r}]`,!0):a||s.allErrors||t.if((0,codegen_1.not)(l),()=>t.break())})})}!function(){for(const e of n)i&&d(e),s.allErrors?_(e):(t.var(l,!0),_(e),t.if(l))}()}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57,"../code":98}],94:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const items_1=require("./items"),def={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,items_1.validateTuple)(e,"items")};exports.default=def},{"./items":89}],95:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const validate_1=require("../../compile/validate"),code_1=require("../code"),util_1=require("../../compile/util"),additionalProperties_1=require("./additionalProperties"),def={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:o,parentSchema:r,data:i,it:a}=e;"all"===a.opts.removeAdditional&&void 0===r.additionalProperties&&additionalProperties_1.default.code(new validate_1.KeywordCxt(a,additionalProperties_1.default,"additionalProperties"));const d=(0,code_1.allSchemaProperties)(o);for(const e of d)a.definedProperties.add(e);a.opts.unevaluated&&d.length&&!0!==a.props&&(a.props=util_1.mergeEvaluated.props(t,(0,util_1.toHash)(d),a.props));const s=d.filter(e=>!(0,util_1.alwaysValidSchema)(a,o[e]));if(0===s.length)return;const l=t.name("valid");for(const o of s)p(o)?n(o):(t.if((0,code_1.propertyInData)(t,i,o,a.opts.ownProperties)),n(o),a.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(o),e.ok(l);function p(e){return a.opts.useDefaults&&!a.compositeRule&&void 0!==o[e].default}function n(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};exports.default=def},{"../../compile/util":57,"../../compile/validate":62,"../code":98,"./additionalProperties":81}],96:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),error={message:"property name must be valid",params:({params:e})=>codegen_1._`{propertyName: ${e.propertyName}}`},def={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:error,code(e){const{gen:r,schema:o,data:a,it:t}=e;if((0,util_1.alwaysValidSchema)(t,o))return;const s=r.name("valid");r.forIn("key",a,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},s),r.if((0,codegen_1.not)(s),()=>{e.error(!0),t.allErrors||r.break()})}),e.ok(s)}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57}],97:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const util_1=require("../../compile/util"),def={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:o}){void 0===t.if&&(0,util_1.checkStrictMode)(o,`"${e}" without "if" is ignored`)}};exports.default=def},{"../../compile/util":57}],98:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.validateUnion=exports.validateArray=exports.usePattern=exports.callValidateCode=exports.schemaProperties=exports.allSchemaProperties=exports.noPropertyInData=exports.propertyInData=exports.isOwnProperty=exports.hasPropFunc=exports.reportMissingProp=exports.checkMissingProp=exports.checkReportMissingProp=void 0;const codegen_1=require("../compile/codegen"),util_1=require("../compile/util"),names_1=require("../compile/names"),util_2=require("../compile/util");function checkReportMissingProp(e,r){const{gen:t,data:o,it:n}=e;t.if(noPropertyInData(t,o,r,n.opts.ownProperties),()=>{e.setParams({missingProperty:codegen_1._`${r}`},!0),e.error()})}function checkMissingProp({gen:e,data:r,it:{opts:t}},o,n){return(0,codegen_1.or)(...o.map(o=>(0,codegen_1.and)(noPropertyInData(e,r,o,t.ownProperties),codegen_1._`${n} = ${o}`)))}function reportMissingProp(e,r){e.setParams({missingProperty:r},!0),e.error()}function hasPropFunc(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:codegen_1._`Object.prototype.hasOwnProperty`})}function isOwnProperty(e,r,t){return codegen_1._`${hasPropFunc(e)}.call(${r}, ${t})`}function propertyInData(e,r,t,o){const n=codegen_1._`${r}${(0,codegen_1.getProperty)(t)} !== undefined`;return o?codegen_1._`${n} && ${isOwnProperty(e,r,t)}`:n}function noPropertyInData(e,r,t,o){const n=codegen_1._`${r}${(0,codegen_1.getProperty)(t)} === undefined`;return o?(0,codegen_1.or)(n,(0,codegen_1.not)(isOwnProperty(e,r,t))):n}function allSchemaProperties(e){return e?Object.keys(e).filter(e=>"__proto__"!==e):[]}function schemaProperties(e,r){return allSchemaProperties(r).filter(t=>!(0,util_1.alwaysValidSchema)(e,r[t]))}function callValidateCode({schemaCode:e,data:r,it:{gen:t,topSchemaRef:o,schemaPath:n,errorPath:a},it:s},i,c,p){const d=p?codegen_1._`${e}, ${r}, ${o}${n}`:r,l=[[names_1.default.instancePath,(0,codegen_1.strConcat)(names_1.default.instancePath,a)],[names_1.default.parentData,s.parentData],[names_1.default.parentDataProperty,s.parentDataProperty],[names_1.default.rootData,names_1.default.rootData]];s.opts.dynamicRef&&l.push([names_1.default.dynamicAnchors,names_1.default.dynamicAnchors]);const u=codegen_1._`${d}, ${t.object(...l)}`;return c!==codegen_1.nil?codegen_1._`${i}.call(${c}, ${u})`:codegen_1._`${i}(${u})`}exports.checkReportMissingProp=checkReportMissingProp,exports.checkMissingProp=checkMissingProp,exports.reportMissingProp=reportMissingProp,exports.hasPropFunc=hasPropFunc,exports.isOwnProperty=isOwnProperty,exports.propertyInData=propertyInData,exports.noPropertyInData=noPropertyInData,exports.allSchemaProperties=allSchemaProperties,exports.schemaProperties=schemaProperties,exports.callValidateCode=callValidateCode;const newRegExp=codegen_1._`new RegExp`;function usePattern({gen:e,it:{opts:r}},t){const o=r.unicodeRegExp?"u":"",{regExp:n}=r.code,a=n(t,o);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:codegen_1._`${"new RegExp"===n.code?newRegExp:(0,util_2.useFunc)(e,n)}(${t}, ${o})`})}function validateArray(e){const{gen:r,data:t,keyword:o,it:n}=e,a=r.name("valid");if(n.allErrors){const e=r.let("valid",!0);return s(()=>r.assign(e,!1)),e}return r.var(a,!0),s(()=>r.break()),a;function s(n){const s=r.const("len",codegen_1._`${t}.length`);r.forRange("i",0,s,t=>{e.subschema({keyword:o,dataProp:t,dataPropType:util_1.Type.Num},a),r.if((0,codegen_1.not)(a),n)})}}function validateUnion(e){const{gen:r,schema:t,keyword:o,it:n}=e;if(!Array.isArray(t))throw new Error("ajv implementation error");if(t.some(e=>(0,util_1.alwaysValidSchema)(n,e))&&!n.opts.unevaluated)return;const a=r.let("valid",!1),s=r.name("_valid");r.block(()=>t.forEach((t,n)=>{const i=e.subschema({keyword:o,schemaProp:n,compositeRule:!0},s);r.assign(a,codegen_1._`${a} || ${s}`),e.mergeValidEvaluated(i,s)||r.if((0,codegen_1.not)(a))})),e.result(a,()=>e.reset(),()=>e.error(!0))}exports.usePattern=usePattern,exports.validateArray=validateArray,exports.validateUnion=validateUnion},{"../compile/codegen":49,"../compile/names":53,"../compile/util":57}],99:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const def={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};exports.default=def},{}],100:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const id_1=require("./id"),ref_1=require("./ref"),core=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",id_1.default,ref_1.default];exports.default=core},{"./id":99,"./ref":101}],101:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.callRef=exports.getValidate=void 0;const ref_error_1=require("../../compile/ref_error"),code_1=require("../code"),codegen_1=require("../../compile/codegen"),names_1=require("../../compile/names"),compile_1=require("../../compile"),util_1=require("../../compile/util"),def={keyword:"$ref",schemaType:"string",code(e){const{gen:a,schema:o,it:t}=e,{baseId:r,schemaEnv:s,validateName:n,opts:c,self:i}=t,{root:l}=s;if(("#"===o||"#/"===o)&&r===l.baseId)return function(){if(s===l)return callRef(e,n,s,s.$async);const o=a.scopeValue("root",{ref:l});return callRef(e,codegen_1._`${o}.validate`,l,l.$async)}();const d=compile_1.resolveRef.call(i,l,r,o);if(void 0===d)throw new ref_error_1.default(t.opts.uriResolver,r,o);return d instanceof compile_1.SchemaEnv?function(a){const o=getValidate(e,a);callRef(e,o,a,a.$async)}(d):function(t){const r=a.scopeValue("schema",!0===c.code.source?{ref:t,code:(0,codegen_1.stringify)(t)}:{ref:t}),s=a.name("valid"),n=e.subschema({schema:t,dataTypes:[],schemaPath:codegen_1.nil,topSchemaRef:r,errSchemaPath:o},s);e.mergeEvaluated(n),e.ok(s)}(d)}};function getValidate(e,a){const{gen:o}=e;return a.validate?o.scopeValue("validate",{ref:a.validate}):codegen_1._`${o.scopeValue("wrapper",{ref:a})}.validate`}function callRef(e,a,o,t){const{gen:r,it:s}=e,{allErrors:n,schemaEnv:c,opts:i}=s,l=i.passContext?names_1.default.this:codegen_1.nil;function d(e){const a=codegen_1._`${e}.errors`;r.assign(names_1.default.vErrors,codegen_1._`${names_1.default.vErrors} === null ? ${a} : ${names_1.default.vErrors}.concat(${a})`),r.assign(names_1.default.errors,codegen_1._`${names_1.default.vErrors}.length`)}function u(e){var a;if(!s.opts.unevaluated)return;const t=null===(a=null==o?void 0:o.validate)||void 0===a?void 0:a.evaluated;if(!0!==s.props)if(t&&!t.dynamicProps)void 0!==t.props&&(s.props=util_1.mergeEvaluated.props(r,t.props,s.props));else{const a=r.var("props",codegen_1._`${e}.evaluated.props`);s.props=util_1.mergeEvaluated.props(r,a,s.props,codegen_1.Name)}if(!0!==s.items)if(t&&!t.dynamicItems)void 0!==t.items&&(s.items=util_1.mergeEvaluated.items(r,t.items,s.items));else{const a=r.var("items",codegen_1._`${e}.evaluated.items`);s.items=util_1.mergeEvaluated.items(r,a,s.items,codegen_1.Name)}}t?function(){if(!c.$async)throw new Error("async schema referenced by sync schema");const o=r.let("valid");r.try(()=>{r.code(codegen_1._`await ${(0,code_1.callValidateCode)(e,a,l)}`),u(a),n||r.assign(o,!0)},e=>{r.if(codegen_1._`!(${e} instanceof ${s.ValidationError})`,()=>r.throw(e)),d(e),n||r.assign(o,!1)}),e.ok(o)}():e.result((0,code_1.callValidateCode)(e,a,l),()=>u(a),()=>d(a))}exports.getValidate=getValidate,exports.callRef=callRef,exports.default=def},{"../../compile":52,"../../compile/codegen":49,"../../compile/names":53,"../../compile/ref_error":54,"../../compile/util":57,"../code":98}],102:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),types_1=require("../discriminator/types"),compile_1=require("../../compile"),util_1=require("../../compile/util"),error={message:({params:{discrError:r,tagName:e}})=>r===types_1.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:r,tag:e,tagName:o}})=>codegen_1._`{error: ${r}, tag: ${o}, tagValue: ${e}}`},def={keyword:"discriminator",type:"object",schemaType:"object",error:error,code(r){const{gen:e,data:o,schema:t,parentSchema:i,it:s}=r,{oneOf:n}=i;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=t.propertyName;if("string"!=typeof a)throw new Error("discriminator: requires propertyName");if(t.mapping)throw new Error("discriminator: mapping is not supported");if(!n)throw new Error("discriminator: requires oneOf keyword");const c=e.let("valid",!1),m=e.const("tag",codegen_1._`${o}${(0,codegen_1.getProperty)(a)}`);function u(o){const t=e.name("valid"),i=r.subschema({keyword:"oneOf",schemaProp:o},t);return r.mergeEvaluated(i,codegen_1.Name),t}e.if(codegen_1._`typeof ${m} == "string"`,()=>(function(){const o=function(){var r;const e={},o=c(i);let t=!0;for(let e=0;er.error(!1,{discrError:types_1.DiscrError.Tag,tag:m,tagName:a})),r.ok(c)}};exports.default=def},{"../../compile":52,"../../compile/codegen":49,"../../compile/util":57,"../discriminator/types":103}],103:[function(require,module,exports){"use strict";var DiscrError;Object.defineProperty(exports,"__esModule",{value:!0}),exports.DiscrError=void 0,function(r){r.Tag="tag",r.Mapping="mapping"}(DiscrError=exports.DiscrError||(exports.DiscrError={}))},{}],104:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const core_1=require("./core"),validation_1=require("./validation"),applicator_1=require("./applicator"),dynamic_1=require("./dynamic"),next_1=require("./next"),unevaluated_1=require("./unevaluated"),format_1=require("./format"),metadata_1=require("./metadata"),draft2020Vocabularies=[dynamic_1.default,core_1.default,validation_1.default,(0,applicator_1.default)(!0),format_1.default,metadata_1.metadataVocabulary,metadata_1.contentVocabulary,next_1.default,unevaluated_1.default];exports.default=draft2020Vocabularies},{"./applicator":88,"./core":100,"./dynamic":107,"./format":111,"./metadata":112,"./next":113,"./unevaluated":114,"./validation":120}],105:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.dynamicAnchor=void 0;const codegen_1=require("../../compile/codegen"),names_1=require("../../compile/names"),compile_1=require("../../compile"),ref_1=require("../core/ref"),def={keyword:"$dynamicAnchor",schemaType:"string",code:e=>dynamicAnchor(e,e.schema)};function dynamicAnchor(e,c){const{gen:o,it:a}=e;a.schemaEnv.root.dynamicAnchors[c]=!0;const n=codegen_1._`${names_1.default.dynamicAnchors}${(0,codegen_1.getProperty)(c)}`,r="#"===a.errSchemaPath?a.validateName:_getValidate(e);o.if(codegen_1._`!${n}`,()=>o.assign(n,r))}function _getValidate(e){const{schemaEnv:c,schema:o,self:a}=e.it,{root:n,baseId:r,localRefs:t,meta:i}=c.root,{schemaId:s}=a.opts,m=new compile_1.SchemaEnv({schema:o,schemaId:s,root:n,baseId:r,localRefs:t,meta:i});return compile_1.compileSchema.call(a,m),(0,ref_1.getValidate)(e,m)}exports.dynamicAnchor=dynamicAnchor,exports.default=def},{"../../compile":52,"../../compile/codegen":49,"../../compile/names":53,"../core/ref":101}],106:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.dynamicRef=void 0;const codegen_1=require("../../compile/codegen"),names_1=require("../../compile/names"),ref_1=require("../core/ref"),def={keyword:"$dynamicRef",schemaType:"string",code:e=>dynamicRef(e,e.schema)};function dynamicRef(e,r){const{gen:n,keyword:o,it:c}=e;if("#"!==r[0])throw new Error(`"${o}" only supports hash fragment reference`);const t=r.slice(1);if(c.allErrors)a();else{const r=n.let("valid",!1);a(r),e.ok(r)}function a(e){if(c.schemaEnv.root.dynamicAnchors[t]){const r=n.let("_v",codegen_1._`${names_1.default.dynamicAnchors}${(0,codegen_1.getProperty)(t)}`);n.if(r,i(r,e),i(c.validateName,e))}else i(c.validateName,e)()}function i(r,o){return o?()=>n.block(()=>{(0,ref_1.callRef)(e,r),n.let(o,!0)}):()=>(0,ref_1.callRef)(e,r)}}exports.dynamicRef=dynamicRef,exports.default=def},{"../../compile/codegen":49,"../../compile/names":53,"../core/ref":101}],107:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const dynamicAnchor_1=require("./dynamicAnchor"),dynamicRef_1=require("./dynamicRef"),recursiveAnchor_1=require("./recursiveAnchor"),recursiveRef_1=require("./recursiveRef"),dynamic=[dynamicAnchor_1.default,dynamicRef_1.default,recursiveAnchor_1.default,recursiveRef_1.default];exports.default=dynamic},{"./dynamicAnchor":105,"./dynamicRef":106,"./recursiveAnchor":108,"./recursiveRef":109}],108:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const dynamicAnchor_1=require("./dynamicAnchor"),util_1=require("../../compile/util"),def={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,dynamicAnchor_1.dynamicAnchor)(e,""):(0,util_1.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};exports.default=def},{"../../compile/util":57,"./dynamicAnchor":105}],109:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const dynamicRef_1=require("./dynamicRef"),def={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,dynamicRef_1.dynamicRef)(e,e.schema)};exports.default=def},{"./dynamicRef":106}],110:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),error={message:({schemaCode:e})=>codegen_1.str`must match format "${e}"`,params:({schemaCode:e})=>codegen_1._`{format: ${e}}`},def={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:error,code(e,t){const{gen:o,data:n,$data:r,schema:c,schemaCode:a,it:s}=e,{opts:d,errSchemaPath:i,schemaEnv:f,self:g}=s;d.validateFormats&&(r?function(){const r=o.scopeValue("formats",{ref:g.formats,code:d.code.formats}),c=o.const("fDef",codegen_1._`${r}[${a}]`),s=o.let("fType"),i=o.let("format");o.if(codegen_1._`typeof ${c} == "object" && !(${c} instanceof RegExp)`,()=>o.assign(s,codegen_1._`${c}.type || "string"`).assign(i,codegen_1._`${c}.validate`),()=>o.assign(s,codegen_1._`"string"`).assign(i,c)),e.fail$data((0,codegen_1.or)(!1===d.strictSchema?codegen_1.nil:codegen_1._`${a} && !${i}`,function(){const e=f.$async?codegen_1._`(${c}.async ? await ${i}(${n}) : ${i}(${n}))`:codegen_1._`${i}(${n})`,o=codegen_1._`(typeof ${i} == "function" ? ${e} : ${i}.test(${n}))`;return codegen_1._`${i} && ${i} !== true && ${s} === ${t} && !${o}`}()))}():function(){const r=g.formats[c];if(!r)return void function(){if(!1===d.strictSchema)return void g.logger.warn(e());throw new Error(e());function e(){return`unknown format "${c}" ignored in schema at path "${i}"`}}();if(!0===r)return;const[a,s,$]=function(e){const t=e instanceof RegExp?(0,codegen_1.regexpCode)(e):d.code.formats?codegen_1._`${d.code.formats}${(0,codegen_1.getProperty)(c)}`:void 0,n=o.scopeValue("formats",{key:c,ref:e,code:t});if("object"==typeof e&&!(e instanceof RegExp))return[e.type||"string",e.validate,codegen_1._`${n}.validate`];return["string",e,n]}(r);a===t&&e.pass(function(){if("object"==typeof r&&!(r instanceof RegExp)&&r.async){if(!f.$async)throw new Error("async format in sync schema");return codegen_1._`await ${$}(${n})`}return"function"==typeof s?codegen_1._`${$}(${n})`:codegen_1._`${$}.test(${n})`}())}())}};exports.default=def},{"../../compile/codegen":49}],111:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const format_1=require("./format"),format=[format_1.default];exports.default=format},{"./format":110}],112:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.contentVocabulary=exports.metadataVocabulary=void 0,exports.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],exports.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},{}],113:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const dependentRequired_1=require("./validation/dependentRequired"),dependentSchemas_1=require("./applicator/dependentSchemas"),limitContains_1=require("./validation/limitContains"),next=[dependentRequired_1.default,dependentSchemas_1.default,limitContains_1.default];exports.default=next},{"./applicator/dependentSchemas":86,"./validation/dependentRequired":118,"./validation/limitContains":121}],114:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const unevaluatedProperties_1=require("./unevaluatedProperties"),unevaluatedItems_1=require("./unevaluatedItems"),unevaluated=[unevaluatedProperties_1.default,unevaluatedItems_1.default];exports.default=unevaluated},{"./unevaluatedItems":115,"./unevaluatedProperties":116}],115:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),error={message:({params:{len:e}})=>codegen_1.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>codegen_1._`{limit: ${e}}`},def={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:error,code(e){const{gen:t,schema:o,data:a,it:r}=e,n=r.items||0;if(!0===n)return;const s=t.const("len",codegen_1._`${a}.length`);if(!1===o)e.setParams({len:n}),e.fail(codegen_1._`${s} > ${n}`);else if("object"==typeof o&&!(0,util_1.alwaysValidSchema)(r,o)){const o=t.var("valid",codegen_1._`${s} <= ${n}`);t.if((0,codegen_1.not)(o),()=>(function(o,a){t.forRange("i",a,s,a=>{e.subschema({keyword:"unevaluatedItems",dataProp:a,dataPropType:util_1.Type.Num},o),r.allErrors||t.if((0,codegen_1.not)(o),()=>t.break())})})(o,n)),e.ok(o)}r.items=!0}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57}],116:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),names_1=require("../../compile/names"),error={message:"must NOT have unevaluated properties",params:({params:e})=>codegen_1._`{unevaluatedProperty: ${e.unevaluatedProperty}}`},def={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:error,code(e){const{gen:r,schema:o,data:t,errsCount:a,it:n}=e;if(!a)throw new Error("ajv implementation error");const{allErrors:s,props:u}=n;function i(t){if(!1===o)return e.setParams({unevaluatedProperty:t}),e.error(),void(s||r.break());if(!(0,util_1.alwaysValidSchema)(n,o)){const o=r.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:t,dataPropType:util_1.Type.Str},o),s||r.if((0,codegen_1.not)(o),()=>r.break())}}u instanceof codegen_1.Name?r.if(codegen_1._`${u} !== true`,()=>r.forIn("key",t,e=>r.if(function(e,r){return codegen_1._`!${e} || !${e}[${r}]`}(u,e),()=>i(e)))):!0!==u&&r.forIn("key",t,e=>void 0===u?i(e):r.if(function(e,r){const o=[];for(const t in e)!0===e[t]&&o.push(codegen_1._`${r} !== ${t}`);return(0,codegen_1.and)(...o)}(u,e),()=>i(e))),n.props=!0,e.ok(codegen_1._`${a} === ${names_1.default.errors}`)}};exports.default=def},{"../../compile/codegen":49,"../../compile/names":53,"../../compile/util":57}],117:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),equal_1=require("../../runtime/equal"),error={message:"must be equal to constant",params:({schemaCode:e})=>codegen_1._`{allowedValue: ${e}}`},def={keyword:"const",$data:!0,error:error,code(e){const{gen:a,data:o,$data:t,schemaCode:r,schema:d}=e;t||d&&"object"==typeof d?e.fail$data(codegen_1._`!${(0,util_1.useFunc)(a,equal_1.default)}(${o}, ${r})`):e.fail(codegen_1._`${d} !== ${o}`)}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57,"../../runtime/equal":76}],118:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const dependencies_1=require("../applicator/dependencies"),def={keyword:"dependentRequired",type:"object",schemaType:"object",error:dependencies_1.error,code:e=>(0,dependencies_1.validatePropertyDeps)(e)};exports.default=def},{"../applicator/dependencies":85}],119:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),equal_1=require("../../runtime/equal"),error={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>codegen_1._`{allowedValues: ${e}}`},def={keyword:"enum",schemaType:"array",$data:!0,error:error,code(e){const{gen:o,data:r,$data:t,schema:a,schemaCode:n,it:l}=e;if(!t&&0===a.length)throw new Error("enum must have non-empty array");const s=a.length>=l.opts.loopEnum;let u;const c=()=>null!=u?u:u=(0,util_1.useFunc)(o,equal_1.default);let d;if(s||t)d=o.let("valid"),e.block$data(d,function(){o.assign(d,!1),o.forOf("v",n,e=>o.if(codegen_1._`${c()}(${r}, ${e})`,()=>o.assign(d,!0).break()))});else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=o.const("vSchema",n);d=(0,codegen_1.or)(...a.map((o,t)=>(function(e,o){const t=a[o];return"object"==typeof t&&null!==t?codegen_1._`${c()}(${r}, ${e}[${o}])`:codegen_1._`${r} === ${t}`})(e,t)))}e.pass(d)}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57,"../../runtime/equal":76}],120:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const limitNumber_1=require("./limitNumber"),multipleOf_1=require("./multipleOf"),limitLength_1=require("./limitLength"),pattern_1=require("./pattern"),limitProperties_1=require("./limitProperties"),required_1=require("./required"),limitItems_1=require("./limitItems"),uniqueItems_1=require("./uniqueItems"),const_1=require("./const"),enum_1=require("./enum"),validation=[limitNumber_1.default,multipleOf_1.default,limitLength_1.default,pattern_1.default,limitProperties_1.default,required_1.default,limitItems_1.default,uniqueItems_1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},const_1.default,enum_1.default];exports.default=validation},{"./const":117,"./enum":119,"./limitItems":122,"./limitLength":123,"./limitNumber":124,"./limitProperties":125,"./multipleOf":126,"./pattern":127,"./required":128,"./uniqueItems":129}],121:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const util_1=require("../../compile/util"),def={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:i}){void 0===t.contains&&(0,util_1.checkStrictMode)(i,`"${e}" without "contains" is ignored`)}};exports.default=def},{"../../compile/util":57}],122:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),error={message({keyword:e,schemaCode:r}){const o="maxItems"===e?"more":"fewer";return codegen_1.str`must NOT have ${o} than ${r} items`},params:({schemaCode:e})=>codegen_1._`{limit: ${e}}`},def={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:error,code(e){const{keyword:r,data:o,schemaCode:t}=e,a="maxItems"===r?codegen_1.operators.GT:codegen_1.operators.LT;e.fail$data(codegen_1._`${o}.length ${a} ${t}`)}};exports.default=def},{"../../compile/codegen":49}],123:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),ucs2length_1=require("../../runtime/ucs2length"),error={message({keyword:e,schemaCode:r}){const t="maxLength"===e?"more":"fewer";return codegen_1.str`must NOT have ${t} than ${r} characters`},params:({schemaCode:e})=>codegen_1._`{limit: ${e}}`},def={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:error,code(e){const{keyword:r,data:t,schemaCode:o,it:n}=e,c="maxLength"===r?codegen_1.operators.GT:codegen_1.operators.LT,a=!1===n.opts.unicode?codegen_1._`${t}.length`:codegen_1._`${(0,util_1.useFunc)(e.gen,ucs2length_1.default)}(${t})`;e.fail$data(codegen_1._`${a} ${c} ${o}`)}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57,"../../runtime/ucs2length":77}],124:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),ops=codegen_1.operators,KWDs={maximum:{okStr:"<=",ok:ops.LTE,fail:ops.GT},minimum:{okStr:">=",ok:ops.GTE,fail:ops.LT},exclusiveMaximum:{okStr:"<",ok:ops.LT,fail:ops.GTE},exclusiveMinimum:{okStr:">",ok:ops.GT,fail:ops.LTE}},error={message:({keyword:e,schemaCode:o})=>codegen_1.str`must be ${KWDs[e].okStr} ${o}`,params:({keyword:e,schemaCode:o})=>codegen_1._`{comparison: ${KWDs[e].okStr}, limit: ${o}}`},def={keyword:Object.keys(KWDs),type:"number",schemaType:"number",$data:!0,error:error,code(e){const{keyword:o,data:s,schemaCode:r}=e;e.fail$data(codegen_1._`${s} ${KWDs[o].fail} ${r} || isNaN(${s})`)}};exports.default=def},{"../../compile/codegen":49}],125:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),error={message({keyword:e,schemaCode:r}){const o="maxProperties"===e?"more":"fewer";return codegen_1.str`must NOT have ${o} than ${r} properties`},params:({schemaCode:e})=>codegen_1._`{limit: ${e}}`},def={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:error,code(e){const{keyword:r,data:o,schemaCode:t}=e,s="maxProperties"===r?codegen_1.operators.GT:codegen_1.operators.LT;e.fail$data(codegen_1._`Object.keys(${o}).length ${s} ${t}`)}};exports.default=def},{"../../compile/codegen":49}],126:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const codegen_1=require("../../compile/codegen"),error={message:({schemaCode:e})=>codegen_1.str`must be multiple of ${e}`,params:({schemaCode:e})=>codegen_1._`{multipleOf: ${e}}`},def={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:error,code(e){const{gen:o,data:r,schemaCode:t,it:d}=e,s=d.opts.multipleOfPrecision,a=o.let("res"),c=s?codegen_1._`Math.abs(Math.round(${a}) - ${a}) > 1e-${s}`:codegen_1._`${a} !== parseInt(${a})`;e.fail$data(codegen_1._`(${t} === 0 || (${a} = ${r}/${t}, ${c}))`)}};exports.default=def},{"../../compile/codegen":49}],127:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const code_1=require("../code"),codegen_1=require("../../compile/codegen"),error={message:({schemaCode:e})=>codegen_1.str`must match pattern "${e}"`,params:({schemaCode:e})=>codegen_1._`{pattern: ${e}}`},def={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:error,code(e){const{data:t,$data:r,schema:o,schemaCode:a,it:d}=e,c=d.opts.unicodeRegExp?"u":"",s=r?codegen_1._`(new RegExp(${a}, ${c}))`:(0,code_1.usePattern)(e,o);e.fail$data(codegen_1._`!${s}.test(${t})`)}};exports.default=def},{"../../compile/codegen":49,"../code":98}],128:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const code_1=require("../code"),codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),error={message:({params:{missingProperty:e}})=>codegen_1.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>codegen_1._`{missingProperty: ${e}}`},def={keyword:"required",type:"object",schemaType:"array",$data:!0,error:error,code(e){const{gen:r,schema:o,schemaCode:t,data:i,$data:s,it:n}=e,{opts:c}=n;if(!s&&0===o.length)return;const a=o.length>=c.loopRequired;if(n.allErrors?function(){if(a||s)e.block$data(codegen_1.nil,d);else for(const r of o)(0,code_1.checkReportMissingProp)(e,r)}():function(){const n=r.let("missing");if(a||s){const o=r.let("valid",!0);e.block$data(o,()=>(function(o,s){e.setParams({missingProperty:o}),r.forOf(o,t,()=>{r.assign(s,(0,code_1.propertyInData)(r,i,o,c.ownProperties)),r.if((0,codegen_1.not)(s),()=>{e.error(),r.break()})},codegen_1.nil)})(n,o)),e.ok(o)}else r.if((0,code_1.checkMissingProp)(e,o,n)),(0,code_1.reportMissingProp)(e,n),r.else()}(),c.strictRequired){const r=e.parentSchema.properties,{definedProperties:t}=e.it;for(const e of o)if(void 0===(null==r?void 0:r[e])&&!t.has(e)){const r=`required property "${e}" is not defined at "${n.schemaEnv.baseId+n.errSchemaPath}" (strictRequired)`;(0,util_1.checkStrictMode)(n,r,n.opts.strictRequired)}}function d(){r.forOf("prop",t,o=>{e.setParams({missingProperty:o}),r.if((0,code_1.noPropertyInData)(r,i,o,c.ownProperties),()=>e.error())})}}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57,"../code":98}],129:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const dataType_1=require("../../compile/validate/dataType"),codegen_1=require("../../compile/codegen"),util_1=require("../../compile/util"),equal_1=require("../../runtime/equal"),error={message:({params:{i:e,j:a}})=>codegen_1.str`must NOT have duplicate items (items ## ${a} and ${e} are identical)`,params:({params:{i:e,j:a}})=>codegen_1._`{i: ${e}, j: ${a}}`},def={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:error,code(e){const{gen:a,data:t,$data:o,schema:n,parentSchema:r,schemaCode:c,it:i}=e;if(!o&&!n)return;const s=a.let("valid"),_=r.items?(0,dataType_1.getSchemaTypes)(r.items):[];e.block$data(s,function(){const o=a.let("i",codegen_1._`${t}.length`),n=a.let("j");e.setParams({i:o,j:n}),a.assign(s,!0),a.if(codegen_1._`${o} > 1`,()=>(_.length>0&&!_.some(e=>"object"===e||"array"===e)?function(o,n){const r=a.name("item"),c=(0,dataType_1.checkDataTypes)(_,r,i.opts.strictNumbers,dataType_1.DataType.Wrong),d=a.const("indices",codegen_1._`{}`);a.for(codegen_1._`;${o}--;`,()=>{a.let(r,codegen_1._`${t}[${o}]`),a.if(c,codegen_1._`continue`),_.length>1&&a.if(codegen_1._`typeof ${r} == "string"`,codegen_1._`${r} += "_"`),a.if(codegen_1._`typeof ${d}[${r}] == "number"`,()=>{a.assign(n,codegen_1._`${d}[${r}]`),e.error(),a.assign(s,!1).break()}).code(codegen_1._`${d}[${r}] = ${o}`)})}:function(o,n){const r=(0,util_1.useFunc)(a,equal_1.default),c=a.name("outer");a.label(c).for(codegen_1._`;${o}--;`,()=>a.for(codegen_1._`${n} = ${o}; ${n}--;`,()=>a.if(codegen_1._`${r}(${t}[${o}], ${t}[${n}])`,()=>{e.error(),a.assign(s,!1).break(c)})))})(o,n))},codegen_1._`${c} === false`),e.ok(s)}};exports.default=def},{"../../compile/codegen":49,"../../compile/util":57,"../../compile/validate/dataType":60,"../../runtime/equal":76}],130:[function(require,module,exports){"use strict";exports.byteLength=byteLength,exports.toByteArray=toByteArray,exports.fromByteArray=fromByteArray;for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i0)throw new Error("Invalid string. Length must be a multiple of 4");var e=o.indexOf("=");return-1===e&&(e=r),[e,e===r?0:4-e%4]}function byteLength(o){var r=getLens(o),e=r[0],t=r[1];return 3*(e+t)/4-t}function _byteLength(o,r,e){return 3*(r+e)/4-e}function toByteArray(o){var r,e,t=getLens(o),n=t[0],u=t[1],p=new Arr(_byteLength(o,n,u)),a=0,h=u>0?n-4:n;for(e=0;e>16&255,p[a++]=r>>8&255,p[a++]=255&r;return 2===u&&(r=revLookup[o.charCodeAt(e)]<<2|revLookup[o.charCodeAt(e+1)]>>4,p[a++]=255&r),1===u&&(r=revLookup[o.charCodeAt(e)]<<10|revLookup[o.charCodeAt(e+1)]<<4|revLookup[o.charCodeAt(e+2)]>>2,p[a++]=r>>8&255,p[a++]=255&r),p}function tripletToBase64(o){return lookup[o>>18&63]+lookup[o>>12&63]+lookup[o>>6&63]+lookup[63&o]}function encodeChunk(o,r,e){for(var t,n=[],u=r;up?p:u+16383));return 1===t?(r=o[e-1],n.push(lookup[r>>2]+lookup[r<<4&63]+"==")):2===t&&(r=(o[e-2]<<8)+o[e-1],n.push(lookup[r>>10]+lookup[r>>4&63]+lookup[r<<2&63]+"=")),n.join("")}revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63},{}],131:[function(require,module,exports){},{}],132:[function(require,module,exports){(function(Buffer){(function(){
-/*!
- * The buffer module from node.js, for the browser.
- *
- * @author   Feross Aboukhadijeh 
- * @license  MIT
- */
-"use strict";var base64=require("base64-js"),ieee754=require("ieee754");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;function typedArraySupport(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}function createBuffer(e){if(e>K_MAX_LENGTH)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=Buffer.prototype,t}function Buffer(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(e)}return from(e,t,r)}function from(e,t,r){if("string"==typeof e)return fromString(e,t);if(ArrayBuffer.isView(e))return fromArrayLike(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(isInstance(e,ArrayBuffer)||e&&isInstance(e.buffer,ArrayBuffer))return fromArrayBuffer(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return Buffer.from(n,t,r);var f=fromObject(e);if(f)return f;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return Buffer.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function assertSize(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function alloc(e,t,r){return assertSize(e),e<=0?createBuffer(e):void 0!==t?"string"==typeof r?createBuffer(e).fill(t,r):createBuffer(e).fill(t):createBuffer(e)}function allocUnsafe(e){return assertSize(e),createBuffer(e<0?0:0|checked(e))}function fromString(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!Buffer.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|byteLength(e,t),n=createBuffer(r),f=n.write(e,t);return f!==r&&(n=n.slice(0,f)),n}function fromArrayLike(e){for(var t=e.length<0?0:0|checked(e.length),r=createBuffer(t),n=0;n=K_MAX_LENGTH)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K_MAX_LENGTH.toString(16)+" bytes");return 0|e}function SlowBuffer(e){return+e!=e&&(e=0),Buffer.alloc(+e)}function byteLength(e,t){if(Buffer.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||isInstance(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var f=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return utf8ToBytes(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(e).length;default:if(f)return n?-1:utf8ToBytes(e).length;t=(""+t).toLowerCase(),f=!0}}function slowToString(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return hexSlice(this,t,r);case"utf8":case"utf-8":return utf8Slice(this,t,r);case"ascii":return asciiSlice(this,t,r);case"latin1":case"binary":return latin1Slice(this,t,r);case"base64":return base64Slice(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function swap(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function bidirectionalIndexOf(e,t,r,n,f){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),numberIsNaN(r=+r)&&(r=f?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(f)return-1;r=e.length-1}else if(r<0){if(!f)return-1;r=0}if("string"==typeof t&&(t=Buffer.from(t,n)),Buffer.isBuffer(t))return 0===t.length?-1:arrayIndexOf(e,t,r,n,f);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?f?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):arrayIndexOf(e,[t],r,n,f);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(e,t,r,n,f){var i,o=1,u=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,u/=2,s/=2,r/=2}function a(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(f){var h=-1;for(i=r;iu&&(r=u-s),i=r;i>=0;i--){for(var c=!0,l=0;lf&&(n=f):n=f;var i=t.length;n>i/2&&(n=i/2);for(var o=0;o239?4:a>223?3:a>191?2:1;if(f+c<=r)switch(c){case 1:a<128&&(h=a);break;case 2:128==(192&(i=e[f+1]))&&(s=(31&a)<<6|63&i)>127&&(h=s);break;case 3:i=e[f+1],o=e[f+2],128==(192&i)&&128==(192&o)&&(s=(15&a)<<12|(63&i)<<6|63&o)>2047&&(s<55296||s>57343)&&(h=s);break;case 4:i=e[f+1],o=e[f+2],u=e[f+3],128==(192&i)&&128==(192&o)&&128==(192&u)&&(s=(15&a)<<18|(63&i)<<12|(63&o)<<6|63&u)>65535&&s<1114112&&(h=s)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),f+=c}return decodeCodePointsArray(n)}exports.kMaxLength=K_MAX_LENGTH,Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Buffer.poolSize=8192,Buffer.from=function(e,t,r){return from(e,t,r)},Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,Buffer.alloc=function(e,t,r){return alloc(e,t,r)},Buffer.allocUnsafe=function(e){return allocUnsafe(e)},Buffer.allocUnsafeSlow=function(e){return allocUnsafe(e)},Buffer.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==Buffer.prototype},Buffer.compare=function(e,t){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),isInstance(t,Uint8Array)&&(t=Buffer.from(t,t.offset,t.byteLength)),!Buffer.isBuffer(e)||!Buffer.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,f=0,i=Math.min(r,n);ft&&(e+=" ... "),""},Buffer.prototype.compare=function(e,t,r,n,f){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),!Buffer.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===f&&(f=this.length),t<0||r>e.length||n<0||f>this.length)throw new RangeError("out of range index");if(n>=f&&t>=r)return 0;if(n>=f)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(f>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),u=Math.min(i,o),s=this.slice(n,f),a=e.slice(t,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var f=this.length-t;if((void 0===r||r>f)&&(r=f),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return hexWrite(this,e,t,r);case"utf8":case"utf-8":return utf8Write(this,e,t,r);case"ascii":return asciiWrite(this,e,t,r);case"latin1":case"binary":return latin1Write(this,e,t,r);case"base64":return base64Write(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(e){var t=e.length;if(t<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn)&&(r=n);for(var f="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function checkInt(e,t,r,n,f,i){if(!Buffer.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>f||te.length)throw new RangeError("Index out of range")}function checkIEEE754(e,t,r,n,f,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function writeFloat(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(e,t,r,n,23,4),r+4}function writeDouble(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(e,t,r,n,52,8),r+8}Buffer.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e+--t],f=1;t>0&&(f*=256);)n+=this[e+--t]*f;return n},Buffer.prototype.readUInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),this[e]},Buffer.prototype.readUInt16LE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]|this[e+1]<<8},Buffer.prototype.readUInt16BE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]<<8|this[e+1]},Buffer.prototype.readUInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Buffer.prototype.readUInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Buffer.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i=(f*=128)&&(n-=Math.pow(2,8*t)),n},Buffer.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=t,f=1,i=this[e+--n];n>0&&(f*=256);)i+=this[e+--n]*f;return i>=(f*=128)&&(i-=Math.pow(2,8*t)),i},Buffer.prototype.readInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Buffer.prototype.readInt16LE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Buffer.prototype.readInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Buffer.prototype.readFloatLE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!0,23,4)},Buffer.prototype.readFloatBE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!1,23,4)},Buffer.prototype.readDoubleLE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!0,52,8)},Buffer.prototype.readDoubleBE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!1,52,8)},Buffer.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=1,i=0;for(this[t]=255&e;++i>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=r-1,i=1;for(this[t+f]=255&e;--f>=0&&(i*=256);)this[t+f]=e/i&255;return t+r},Buffer.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,255,0),this[t]=255&e,t+1},Buffer.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Buffer.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=0,o=1,u=0;for(this[t]=255&e;++i>0)-u&255;return t+r},Buffer.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=r-1,o=1,u=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===u&&0!==this[t+i+1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Buffer.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Buffer.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeFloatLE=function(e,t,r){return writeFloat(this,e,t,!0,r)},Buffer.prototype.writeFloatBE=function(e,t,r){return writeFloat(this,e,t,!1,r)},Buffer.prototype.writeDoubleLE=function(e,t,r){return writeDouble(this,e,t,!0,r)},Buffer.prototype.writeDoubleBE=function(e,t,r){return writeDouble(this,e,t,!1,r)},Buffer.prototype.copy=function(e,t,r,n){if(!Buffer.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return f},Buffer.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!Buffer.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===e.length){var f=e.charCodeAt(0);("utf8"===n&&f<128||"latin1"===n)&&(e=f)}}else"number"==typeof e&&(e&=255);if(t<0||this.length>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!f){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}f=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),f=r;continue}r=65536+(f-55296<<10|r-56320)}else f&&(t-=3)>-1&&i.push(239,191,189);if(f=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function asciiToBytes(e){for(var t=[],r=0;r>8,f=r%256,i.push(f),i.push(n);return i}function base64ToBytes(e){return base64.toByteArray(base64clean(e))}function blitBuffer(e,t,r,n){for(var f=0;f=t.length||f>=e.length);++f)t[f+r]=e[f];return f}function isInstance(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function numberIsNaN(e){return e!=e}}).call(this)}).call(this,require("buffer").Buffer)},{"base64-js":130,buffer:132,ieee754:138}],133:[function(require,module,exports){module.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},{}],134:[function(require,module,exports){(function(process,global){(function(){"use strict";var next=global.process&&process.nextTick||global.setImmediate||function(n){setTimeout(n,0)};module.exports=function(n,t){return n?void t.then(function(t){next(function(){n(null,t)})},function(t){next(function(){n(t)})}):t}}).call(this)}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{_process:172}],135:[function(require,module,exports){var objectCreate=Object.create||objectCreatePolyfill,objectKeys=Object.keys||objectKeysPolyfill,bind=Function.prototype.bind||functionBindPolyfill;function EventEmitter(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=objectCreate(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0;var hasDefineProperty,defaultMaxListeners=10;try{var o={};Object.defineProperty&&Object.defineProperty(o,"x",{value:0}),hasDefineProperty=0===o.x}catch(e){hasDefineProperty=!1}function $getMaxListeners(e){return void 0===e._maxListeners?EventEmitter.defaultMaxListeners:e._maxListeners}function emitNone(e,t,n){if(t)e.call(n);else for(var r=e.length,i=arrayClone(e,r),s=0;s0&&o.length>i){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+' "'+String(t)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",a.name,a.message)}}else o=s[t]=n,++e._eventsCount;return e}function onceWrapper(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t1&&(t=arguments[1]),t instanceof Error)throw t;var l=new Error('Unhandled "error" event. ('+t+")");throw l.context=t,l}if(!(n=o[e]))return!1;var u="function"==typeof n;switch(r=arguments.length){case 1:emitNone(n,u,this);break;case 2:emitOne(n,u,this,arguments[1]);break;case 3:emitTwo(n,u,this,arguments[1],arguments[2]);break;case 4:emitThree(n,u,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s=0;s--)if(n[s]===t||n[s].listener===t){o=n[s].listener,i=s;break}if(i<0)return this;0===i?n.shift():spliceOne(n,i),1===n.length&&(r[e]=n[0]),r.removeListener&&this.emit("removeListener",e,o||t)}return this},EventEmitter.prototype.removeAllListeners=function(e){var t,n,r;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=objectCreate(null),this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=objectCreate(null):delete n[e]),this;if(0===arguments.length){var i,s=objectKeys(n);for(r=0;r=0;r--)this.removeListener(e,t[r]);return this},EventEmitter.prototype.listeners=function(e){return _listeners(this,e,!0)},EventEmitter.prototype.rawListeners=function(e){return _listeners(this,e,!1)},EventEmitter.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):listenerCount.call(e,t)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],136:[function(require,module,exports){"use strict";module.exports=function r(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;var o,n,u;if(Array.isArray(t)){if((o=t.length)!=e.length)return!1;for(n=o;0!=n--;)if(!r(t[n],e[n]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if((o=(u=Object.keys(t)).length)!==Object.keys(e).length)return!1;for(n=o;0!=n--;)if(!Object.prototype.hasOwnProperty.call(e,u[n]))return!1;for(n=o;0!=n--;){var f=u[n];if(!r(t[f],e[f]))return!1}return!0}return t!=t&&e!=e}},{}],137:[function(require,module,exports){var http=require("http"),url=require("url"),https=module.exports;for(var key in http)http.hasOwnProperty(key)&&(https[key]=http[key]);function validateParams(t){if("string"==typeof t&&(t=url.parse(t)),t.protocol||(t.protocol="https:"),"https:"!==t.protocol)throw new Error('Protocol "'+t.protocol+'" not supported. Expected "https:"');return t}https.request=function(t,r){return t=validateParams(t),http.request.call(this,t,r)},https.get=function(t,r){return t=validateParams(t),http.get.call(this,t,r)}},{http:192,url:199}],138:[function(require,module,exports){
-/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh  */
-exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}},{}],139:[function(require,module,exports){"function"==typeof Object.create?module.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:module.exports=function(t,e){if(e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}}},{}],140:[function(require,module,exports){
-/*!
- * Determine if an object is a Buffer
- *
- * @author   Feross Aboukhadijeh 
- * @license  MIT
- */
-function isBuffer(f){return!!f.constructor&&"function"==typeof f.constructor.isBuffer&&f.constructor.isBuffer(f)}function isSlowBuffer(f){return"function"==typeof f.readFloatLE&&"function"==typeof f.slice&&isBuffer(f.slice(0,0))}module.exports=function(f){return null!=f&&(isBuffer(f)||isSlowBuffer(f)||!!f._isBuffer)}},{}],141:[function(require,module,exports){"use strict";var yaml=require("./lib/js-yaml.js");module.exports=yaml},{"./lib/js-yaml.js":142}],142:[function(require,module,exports){"use strict";var loader=require("./js-yaml/loader"),dumper=require("./js-yaml/dumper");function deprecated(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}module.exports.Type=require("./js-yaml/type"),module.exports.Schema=require("./js-yaml/schema"),module.exports.FAILSAFE_SCHEMA=require("./js-yaml/schema/failsafe"),module.exports.JSON_SCHEMA=require("./js-yaml/schema/json"),module.exports.CORE_SCHEMA=require("./js-yaml/schema/core"),module.exports.DEFAULT_SAFE_SCHEMA=require("./js-yaml/schema/default_safe"),module.exports.DEFAULT_FULL_SCHEMA=require("./js-yaml/schema/default_full"),module.exports.load=loader.load,module.exports.loadAll=loader.loadAll,module.exports.safeLoad=loader.safeLoad,module.exports.safeLoadAll=loader.safeLoadAll,module.exports.dump=dumper.dump,module.exports.safeDump=dumper.safeDump,module.exports.YAMLException=require("./js-yaml/exception"),module.exports.MINIMAL_SCHEMA=require("./js-yaml/schema/failsafe"),module.exports.SAFE_SCHEMA=require("./js-yaml/schema/default_safe"),module.exports.DEFAULT_SCHEMA=require("./js-yaml/schema/default_full"),module.exports.scan=deprecated("scan"),module.exports.parse=deprecated("parse"),module.exports.compose=deprecated("compose"),module.exports.addConstructor=deprecated("addConstructor")},{"./js-yaml/dumper":144,"./js-yaml/exception":145,"./js-yaml/loader":146,"./js-yaml/schema":148,"./js-yaml/schema/core":149,"./js-yaml/schema/default_full":150,"./js-yaml/schema/default_safe":151,"./js-yaml/schema/failsafe":152,"./js-yaml/schema/json":153,"./js-yaml/type":154}],143:[function(require,module,exports){"use strict";function isNothing(e){return null==e}function isObject(e){return"object"==typeof e&&null!==e}function toArray(e){return Array.isArray(e)?e:isNothing(e)?[]:[e]}function extend(e,t){var r,o,n,i;if(t)for(r=0,o=(i=Object.keys(t)).length;r0?e.charCodeAt(o-1):null,d=d&&isPlainSafe(a,l)}else{for(o=0;oi&&" "!==e[A+1],A=o);else if(!isPrintable(a))return STYLE_DOUBLE;l=o>0?e.charCodeAt(o-1):null,d=d&&isPlainSafe(a,l)}c=c||u&&o-A-1>i&&" "!==e[A+1]}return s||c?n>9&&needIndentIndicator(e)?STYLE_DOUBLE:c?STYLE_FOLDED:STYLE_LITERAL:d&&!r(e)?STYLE_PLAIN:STYLE_SINGLE}function writeScalar(e,t,n,i){e.dump=function(){if(0===t.length)return"''";if(!e.noCompatMode&&-1!==DEPRECATED_BOOLEANS_SYNTAX.indexOf(t))return"'"+t+"'";var r=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),a=i||e.flowLevel>-1&&n>=e.flowLevel;switch(chooseScalarStyle(t,a,e.indent,o,function(t){return testImplicitResolving(e,t)})){case STYLE_PLAIN:return t;case STYLE_SINGLE:return"'"+t.replace(/'/g,"''")+"'";case STYLE_LITERAL:return"|"+blockHeader(t,e.indent)+dropEndingNewline(indentString(t,r));case STYLE_FOLDED:return">"+blockHeader(t,e.indent)+dropEndingNewline(indentString(foldString(t,o),r));case STYLE_DOUBLE:return'"'+escapeString(t,o)+'"';default:throw new YAMLException("impossible error: invalid scalar style")}}()}function blockHeader(e,t){var n=needIndentIndicator(e)?String(t):"",i="\n"===e[e.length-1];return n+(i&&("\n"===e[e.length-2]||"\n"===e)?"+":i?"":"-")+"\n"}function dropEndingNewline(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function foldString(e,t){for(var n,i,r,o=/(\n+)([^\n]*)/g,a=(n=-1!==(n=e.indexOf("\n"))?n:e.length,o.lastIndex=n,foldLine(e.slice(0,n),t)),l="\n"===e[0]||" "===e[0];r=o.exec(e);){var s=r[1],c=r[2];i=" "===c[0],a+=s+(l||i||""===c?"":"\n")+foldLine(c,t),l=i}return a}function foldLine(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,l=0,s="";n=r.exec(e);)(l=n.index)-o>t&&(i=a>o?a:l,s+="\n"+e.slice(o,i),o=i+1),a=l;return s+="\n",e.length-o>t&&a>o?s+=e.slice(o,a)+"\n"+e.slice(a+1):s+=e.slice(o),s.slice(1)}function escapeString(e){for(var t,n,i,r="",o=0;o=55296&&t<=56319&&(n=e.charCodeAt(o+1))>=56320&&n<=57343?(r+=encodeHex(1024*(t-55296)+n-56320+65536),o++):r+=!(i=ESCAPE_SEQUENCES[t])&&isPrintable(t)?e[o]:i||encodeHex(t);return r}function writeFlowSequence(e,t,n){var i,r,o="",a=e.tag;for(i=0,r=n.length;i1024&&(l+="? "),l+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),writeNode(e,t,a,!1,!1)&&(s+=l+=e.dump));e.tag=c,e.dump="{"+s+"}"}function writeBlockMapping(e,t,n,i){var r,o,a,l,s,c,u="",A=e.tag,d=Object.keys(n);if(!0===e.sortKeys)d.sort();else if("function"==typeof e.sortKeys)d.sort(e.sortKeys);else if(e.sortKeys)throw new YAMLException("sortKeys must be a boolean or a function");for(r=0,o=d.length;r1024)&&(e.dump&&CHAR_LINE_FEED===e.dump.charCodeAt(0)?c+="?":c+="? "),c+=e.dump,s&&(c+=generateNextLine(e,t)),writeNode(e,t+1,l,!0,s)&&(e.dump&&CHAR_LINE_FEED===e.dump.charCodeAt(0)?c+=":":c+=": ",u+=c+=e.dump));e.tag=A,e.dump=u||"{}"}function detectType(e,t,n){var i,r,o,a,l,s;for(o=0,a=(r=n?e.explicitTypes:e.implicitTypes).length;o tag resolver accepts not "'+s+'" style');i=l.represent[s](t,s)}e.dump=i}return!0}return!1}function writeNode(e,t,n,i,r,o){e.tag=null,e.dump=n,detectType(e,n,!1)||detectType(e,n,!0);var a=_toString.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var l,s,c="[object Object]"===a||"[object Array]"===a;if(c&&(s=-1!==(l=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||s||2!==e.indent&&t>0)&&(r=!1),s&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(c&&s&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),"[object Object]"===a)i&&0!==Object.keys(e.dump).length?(writeBlockMapping(e,t,e.dump,r),s&&(e.dump="&ref_"+l+e.dump)):(writeFlowMapping(e,t,e.dump),s&&(e.dump="&ref_"+l+" "+e.dump));else if("[object Array]"===a){var u=e.noArrayIndent&&t>0?t-1:t;i&&0!==e.dump.length?(writeBlockSequence(e,u,e.dump,r),s&&(e.dump="&ref_"+l+e.dump)):(writeFlowSequence(e,u,e.dump),s&&(e.dump="&ref_"+l+" "+e.dump))}else{if("[object String]"!==a){if(e.skipInvalid)return!1;throw new YAMLException("unacceptable kind of an object to dump "+a)}"?"!==e.tag&&writeScalar(e,e.dump,t,o)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function getDuplicateReferences(e,t){var n,i,r=[],o=[];for(inspectNode(e,r,o),n=0,i=o.length;n>10),56320+(e-65536&1023))}for(var simpleEscapeCheck=new Array(256),simpleEscapeMap=new Array(256),i=0;i<256;i++)simpleEscapeCheck[i]=simpleEscapeSequence(i)?1:0,simpleEscapeMap[i]=simpleEscapeSequence(i);function State(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||DEFAULT_FULL_SCHEMA,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function generateError(e,t){return new YAMLException(t,new Mark(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function throwError(e,t){throw generateError(e,t)}function throwWarning(e,t){e.onWarning&&e.onWarning.call(null,generateError(e,t))}var directiveHandlers={YAML:function(e,t,n){var o,i,r;null!==e.version&&throwError(e,"duplication of %YAML directive"),1!==n.length&&throwError(e,"YAML directive accepts exactly one argument"),null===(o=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&throwError(e,"ill-formed argument of the YAML directive"),i=parseInt(o[1],10),r=parseInt(o[2],10),1!==i&&throwError(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&throwWarning(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var o,i;2!==n.length&&throwError(e,"TAG directive accepts exactly two arguments"),o=n[0],i=n[1],PATTERN_TAG_HANDLE.test(o)||throwError(e,"ill-formed tag handle (first argument) of the TAG directive"),_hasOwnProperty.call(e.tagMap,o)&&throwError(e,'there is a previously declared suffix for "'+o+'" tag handle'),PATTERN_TAG_URI.test(i)||throwError(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[o]=i}};function captureSegment(e,t,n,o){var i,r,a,s;if(t1&&(e.result+=common.repeat("\n",t-1))}function readPlainScalar(e,t,n){var o,i,r,a,s,p,c,l,u=e.kind,d=e.result;if(is_WS_OR_EOL(l=e.input.charCodeAt(e.position))||is_FLOW_INDICATOR(l)||35===l||38===l||42===l||33===l||124===l||62===l||39===l||34===l||37===l||64===l||96===l)return!1;if((63===l||45===l)&&(is_WS_OR_EOL(o=e.input.charCodeAt(e.position+1))||n&&is_FLOW_INDICATOR(o)))return!1;for(e.kind="scalar",e.result="",i=r=e.position,a=!1;0!==l;){if(58===l){if(is_WS_OR_EOL(o=e.input.charCodeAt(e.position+1))||n&&is_FLOW_INDICATOR(o))break}else if(35===l){if(is_WS_OR_EOL(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&testDocumentSeparator(e)||n&&is_FLOW_INDICATOR(l))break;if(is_EOL(l)){if(s=e.line,p=e.lineStart,c=e.lineIndent,skipSeparationSpace(e,!1,-1),e.lineIndent>=t){a=!0,l=e.input.charCodeAt(e.position);continue}e.position=r,e.line=s,e.lineStart=p,e.lineIndent=c;break}}a&&(captureSegment(e,i,r,!1),writeFoldedLines(e,e.line-s),i=r=e.position,a=!1),is_WHITE_SPACE(l)||(r=e.position+1),l=e.input.charCodeAt(++e.position)}return captureSegment(e,i,r,!1),!!e.result||(e.kind=u,e.result=d,!1)}function readSingleQuotedScalar(e,t){var n,o,i;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,o=i=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(captureSegment(e,o,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;o=e.position,e.position++,i=e.position}else is_EOL(n)?(captureSegment(e,o,i,!0),writeFoldedLines(e,skipSeparationSpace(e,!1,t)),o=i=e.position):e.position===e.lineStart&&testDocumentSeparator(e)?throwError(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,t){var n,o,i,r,a,s;if(34!==(s=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=o=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return captureSegment(e,n,e.position,!0),e.position++,!0;if(92===s){if(captureSegment(e,n,e.position,!0),is_EOL(s=e.input.charCodeAt(++e.position)))skipSeparationSpace(e,!1,t);else if(s<256&&simpleEscapeCheck[s])e.result+=simpleEscapeMap[s],e.position++;else if((a=escapedHexLen(s))>0){for(i=a,r=0;i>0;i--)(a=fromHexCode(s=e.input.charCodeAt(++e.position)))>=0?r=(r<<4)+a:throwError(e,"expected hexadecimal character");e.result+=charFromCodepoint(r),e.position++}else throwError(e,"unknown escape sequence");n=o=e.position}else is_EOL(s)?(captureSegment(e,n,o,!0),writeFoldedLines(e,skipSeparationSpace(e,!1,t)),n=o=e.position):e.position===e.lineStart&&testDocumentSeparator(e)?throwError(e,"unexpected end of the document within a double quoted scalar"):(e.position++,o=e.position)}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,t){var n,o,i,r,a,s,p,c,l,u,d=!0,h=e.tag,f=e.anchor,_={};if(91===(u=e.input.charCodeAt(e.position)))i=93,s=!1,o=[];else{if(123!==u)return!1;i=125,s=!0,o={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),u=e.input.charCodeAt(++e.position);0!==u;){if(skipSeparationSpace(e,!0,t),(u=e.input.charCodeAt(e.position))===i)return e.position++,e.tag=h,e.anchor=f,e.kind=s?"mapping":"sequence",e.result=o,!0;d||throwError(e,"missed comma between flow collection entries"),l=null,r=a=!1,63===u&&is_WS_OR_EOL(e.input.charCodeAt(e.position+1))&&(r=a=!0,e.position++,skipSeparationSpace(e,!0,t)),n=e.line,composeNode(e,t,CONTEXT_FLOW_IN,!1,!0),c=e.tag,p=e.result,skipSeparationSpace(e,!0,t),u=e.input.charCodeAt(e.position),!a&&e.line!==n||58!==u||(r=!0,u=e.input.charCodeAt(++e.position),skipSeparationSpace(e,!0,t),composeNode(e,t,CONTEXT_FLOW_IN,!1,!0),l=e.result),s?storeMappingPair(e,o,_,c,p,l):r?o.push(storeMappingPair(e,null,_,c,p,l)):o.push(p),skipSeparationSpace(e,!0,t),44===(u=e.input.charCodeAt(e.position))?(d=!0,u=e.input.charCodeAt(++e.position)):d=!1}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,t){var n,o,i,r,a=CHOMPING_CLIP,s=!1,p=!1,c=t,l=0,u=!1;if(124===(r=e.input.charCodeAt(e.position)))o=!1;else{if(62!==r)return!1;o=!0}for(e.kind="scalar",e.result="";0!==r;)if(43===(r=e.input.charCodeAt(++e.position))||45===r)CHOMPING_CLIP===a?a=43===r?CHOMPING_KEEP:CHOMPING_STRIP:throwError(e,"repeat of a chomping mode identifier");else{if(!((i=fromDecimalCode(r))>=0))break;0===i?throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):p?throwError(e,"repeat of an indentation width identifier"):(c=t+i-1,p=!0)}if(is_WHITE_SPACE(r)){do{r=e.input.charCodeAt(++e.position)}while(is_WHITE_SPACE(r));if(35===r)do{r=e.input.charCodeAt(++e.position)}while(!is_EOL(r)&&0!==r)}for(;0!==r;){for(readLineBreak(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!p||e.lineIndentc&&(c=e.lineIndent),is_EOL(r))l++;else{if(e.lineIndentt)&&0!==o)throwError(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(composeNode(e,t,CONTEXT_BLOCK_OUT,!0,i)&&(_?h=e.result:f=e.result),_||(storeMappingPair(e,l,u,d,h,f,r,a),d=h=f=null),skipSeparationSpace(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)throwError(e,"bad indentation of a mapping entry");else if(e.lineIndentt?h=1:e.lineIndent===t?h=0:e.lineIndentt?h=1:e.lineIndent===t?h=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),p=0,c=e.implicitTypes.length;p tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):throwError(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||_}function readDocument(e){var t,n,o,i,r=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(i=e.input.charCodeAt(e.position))&&(skipSeparationSpace(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(a=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!is_WS_OR_EOL(i);)i=e.input.charCodeAt(++e.position);for(o=[],(n=e.input.slice(t,e.position)).length<1&&throwError(e,"directive name must not be less than one character in length");0!==i;){for(;is_WHITE_SPACE(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!is_EOL(i));break}if(is_EOL(i))break;for(t=e.position;0!==i&&!is_WS_OR_EOL(i);)i=e.input.charCodeAt(++e.position);o.push(e.input.slice(t,e.position))}0!==i&&readLineBreak(e),_hasOwnProperty.call(directiveHandlers,n)?directiveHandlers[n](e,n,o):throwWarning(e,'unknown document directive "'+n+'"')}skipSeparationSpace(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,skipSeparationSpace(e,!0,-1)):a&&throwError(e,"directives end mark is expected"),composeNode(e,e.lineIndent-1,CONTEXT_BLOCK_OUT,!1,!0),skipSeparationSpace(e,!0,-1),e.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(e.input.slice(r,e.position))&&throwWarning(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&testDocumentSeparator(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,skipSeparationSpace(e,!0,-1)):e.position0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(e-1));)if(e-=1,this.position-e>i/2-1){n=" ... ",e+=5;break}for(r="",o=this.position;oi/2-1){r=" ... ",o-=5;break}return s=this.buffer.slice(e,o),common.repeat(" ",t)+n+s+r+"\n"+common.repeat(" ",t+this.position-e+n.length)+"^"},Mark.prototype.toString=function(t){var i,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(i=this.getSnippet())&&(n+=":\n"+i),n},module.exports=Mark},{"./common":143}],148:[function(require,module,exports){"use strict";var common=require("./common"),YAMLException=require("./exception"),Type=require("./type");function compileList(i,e,t){var c=[];return i.include.forEach(function(i){t=compileList(i,e,t)}),i[e].forEach(function(i){t.forEach(function(e,t){e.tag===i.tag&&e.kind===i.kind&&c.push(t)}),t.push(i)}),t.filter(function(i,e){return-1===c.indexOf(e)})}function compileMap(){var i,e,t={scalar:{},sequence:{},mapping:{},fallback:{}};function c(i){t[i.kind][i.tag]=t.fallback[i.tag]=i}for(i=0,e=arguments.length;i64)){if(e<0)return!1;u+=6}return u%8==0}function constructYamlBinary(r){var e,n,u=r.replace(/[\r\n=]/g,""),f=u.length,t=BASE64_MAP,a=0,i=[];for(e=0;e>16&255),i.push(a>>8&255),i.push(255&a)),a=a<<6|t.indexOf(u.charAt(e));return 0===(n=f%4*6)?(i.push(a>>16&255),i.push(a>>8&255),i.push(255&a)):18===n?(i.push(a>>10&255),i.push(a>>2&255)):12===n&&i.push(a>>4&255),NodeBuffer?NodeBuffer.from?NodeBuffer.from(i):new NodeBuffer(i):i}function representYamlBinary(r){var e,n,u="",f=0,t=r.length,a=BASE64_MAP;for(e=0;e>18&63],u+=a[f>>12&63],u+=a[f>>6&63],u+=a[63&f]),f=(f<<8)+r[e];return 0===(n=t%3)?(u+=a[f>>18&63],u+=a[f>>12&63],u+=a[f>>6&63],u+=a[63&f]):2===n?(u+=a[f>>10&63],u+=a[f>>4&63],u+=a[f<<2&63],u+=a[64]):1===n&&(u+=a[f>>2&63],u+=a[f<<4&63],u+=a[64],u+=a[64]),u}function isBinary(r){return NodeBuffer&&NodeBuffer.isBuffer(r)}module.exports=new Type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},{"../type":154}],156:[function(require,module,exports){"use strict";var Type=require("../type");function resolveYamlBoolean(e){if(null===e)return!1;var r=e.length;return 4===r&&("true"===e||"True"===e||"TRUE"===e)||5===r&&("false"===e||"False"===e||"FALSE"===e)}function constructYamlBoolean(e){return"true"===e||"True"===e||"TRUE"===e}function isBoolean(e){return"[object Boolean]"===Object.prototype.toString.call(e)}module.exports=new Type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},{"../type":154}],157:[function(require,module,exports){"use strict";var common=require("../common"),Type=require("../type"),YAML_FLOAT_PATTERN=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 resolveYamlFloat(e){return null!==e&&!(!YAML_FLOAT_PATTERN.test(e)||"_"===e[e.length-1])}function constructYamlFloat(e){var r,t,a,n;return t="-"===(r=e.replace(/_/g,"").toLowerCase())[0]?-1:1,n=[],"+-".indexOf(r[0])>=0&&(r=r.slice(1)),".inf"===r?1===t?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===r?NaN:r.indexOf(":")>=0?(r.split(":").forEach(function(e){n.unshift(parseFloat(e,10))}),r=0,a=1,n.forEach(function(e){r+=e*a,a*=60}),t*r):t*parseFloat(r,10)}var SCIENTIFIC_WITHOUT_DOT=/^[-+]?[0-9]+e/;function representYamlFloat(e,r){var t;if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(common.isNegativeZero(e))return"-0.0";return t=e.toString(10),SCIENTIFIC_WITHOUT_DOT.test(t)?t.replace("e",".e"):t}function isFloat(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||common.isNegativeZero(e))}module.exports=new Type("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},{"../common":143,"../type":154}],158:[function(require,module,exports){"use strict";var common=require("../common"),Type=require("../type");function isHexCode(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function isOctCode(e){return 48<=e&&e<=55}function isDecCode(e){return 48<=e&&e<=57}function resolveYamlInteger(e){if(null===e)return!1;var r,t=e.length,n=0,i=!1;if(!t)return!1;if("-"!==(r=e[n])&&"+"!==r||(r=e[++n]),"0"===r){if(n+1===t)return!0;if("b"===(r=e[++n])){for(n++;n=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":143,"../type":154}],159:[function(require,module,exports){"use strict";var esprima;try{var _require=require;esprima=_require("esprima")}catch(e){"undefined"!=typeof window&&(esprima=window.esprima)}var Type=require("../../type");function resolveJavascriptFunction(e){if(null===e)return!1;try{var r="("+e+")",n=esprima.parse(r,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(e){return!1}}function constructJavascriptFunction(e){var r,n="("+e+")",t=esprima.parse(n,{range:!0}),o=[];if("Program"!==t.type||1!==t.body.length||"ExpressionStatement"!==t.body[0].type||"ArrowFunctionExpression"!==t.body[0].expression.type&&"FunctionExpression"!==t.body[0].expression.type)throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(e){o.push(e.name)}),r=t.body[0].expression.body.range,"BlockStatement"===t.body[0].expression.body.type?new Function(o,n.slice(r[0]+1,r[1]-1)):new Function(o,"return "+n.slice(r[0],r[1]))}function representJavascriptFunction(e){return e.toString()}function isFunction(e){return"[object Function]"===Object.prototype.toString.call(e)}module.exports=new Type("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction})},{"../../type":154}],160:[function(require,module,exports){"use strict";var Type=require("../../type");function resolveJavascriptRegExp(e){if(null===e)return!1;if(0===e.length)return!1;var r=e,t=/\/([gim]*)$/.exec(e),n="";if("/"===r[0]){if(t&&(n=t[1]),n.length>3)return!1;if("/"!==r[r.length-n.length-1])return!1}return!0}function constructJavascriptRegExp(e){var r=e,t=/\/([gim]*)$/.exec(e),n="";return"/"===r[0]&&(t&&(n=t[1]),r=r.slice(1,r.length-n.length-1)),new RegExp(r,n)}function representJavascriptRegExp(e){var r="/"+e.source+"/";return e.global&&(r+="g"),e.multiline&&(r+="m"),e.ignoreCase&&(r+="i"),r}function isRegExp(e){return"[object RegExp]"===Object.prototype.toString.call(e)}module.exports=new Type("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},{"../../type":154}],161:[function(require,module,exports){"use strict";var Type=require("../../type");function resolveJavascriptUndefined(){return!0}function constructJavascriptUndefined(){}function representJavascriptUndefined(){return""}function isUndefined(e){return void 0===e}module.exports=new Type("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:resolveJavascriptUndefined,construct:constructJavascriptUndefined,predicate:isUndefined,represent:representJavascriptUndefined})},{"../../type":154}],162:[function(require,module,exports){"use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},{"../type":154}],163:[function(require,module,exports){"use strict";var Type=require("../type");function resolveYamlMerge(e){return"<<"===e||null===e}module.exports=new Type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},{"../type":154}],164:[function(require,module,exports){"use strict";var Type=require("../type");function resolveYamlNull(l){if(null===l)return!0;var e=l.length;return 1===e&&"~"===l||4===e&&("null"===l||"Null"===l||"NULL"===l)}function constructYamlNull(){return null}function isNull(l){return null===l}module.exports=new Type("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":154}],165:[function(require,module,exports){"use strict";var Type=require("../type"),_hasOwnProperty=Object.prototype.hasOwnProperty,_toString=Object.prototype.toString;function resolveYamlOmap(r){if(null===r)return!0;var t,e,n,o,u,a=[],l=r;for(t=0,e=l.length;t1)for(var r=1;r= 0x80 (not a basic code point)","invalid-input":"Invalid input"},b=f-c,y=Math.floor,C=String.fromCharCode;function m(e){throw new RangeError(x[e])}function j(e,o){for(var n=e.length,t=[];n--;)t[n]=o(e[n]);return t}function A(e,o){var n=e.split("@"),t="";return n.length>1&&(t=n[0]+"@",e=n[1]),t+j((e=e.replace(w,".")).split("."),o).join(".")}function I(e){for(var o,n,t=[],r=0,u=e.length;r=55296&&o<=56319&&r65535&&(o+=C((e-=65536)>>>10&1023|55296),e=56320|1023&e),o+=C(e)}).join("")}function F(e,o){return e+22+75*(e<26)-((0!=o)<<5)}function O(e,o,n){var t=0;for(e=n?y(e/d):e>>1,e+=y(e/o);e>b*l>>1;t+=f)e=y(e/b);return y(t+(b+1)*e/(e+s))}function S(e){var o,n,t,r,u,s,d,v,g,w,x,b=[],C=e.length,j=0,A=a,I=p;for((n=e.lastIndexOf(h))<0&&(n=0),t=0;t=128&&m("not-basic"),b.push(e.charCodeAt(t));for(r=n>0?n+1:0;r=C&&m("invalid-input"),((v=(x=e.charCodeAt(r++))-48<10?x-22:x-65<26?x-65:x-97<26?x-97:f)>=f||v>y((i-j)/s))&&m("overflow"),j+=v*s,!(v<(g=d<=I?c:d>=I+l?l:d-I));d+=f)s>y(i/(w=f-g))&&m("overflow"),s*=w;I=O(j-u,o=b.length+1,0==u),y(j/o)>i-A&&m("overflow"),A+=y(j/o),j%=o,b.splice(j++,0,A)}return E(b)}function T(e){var o,n,t,r,u,s,d,v,g,w,x,b,j,A,E,S=[];for(b=(e=I(e)).length,o=a,n=0,u=p,s=0;s=o&&xy((i-n)/(j=t+1))&&m("overflow"),n+=(d-o)*j,o=d,s=0;si&&m("overflow"),x==o){for(v=n,g=f;!(v<(w=g<=u?c:g>=u+l?l:g-u));g+=f)E=v-w,A=f-w,S.push(C(F(w+E%A,0))),v=y(E/A);S.push(C(F(v,0))),u=O(n,j,t==r),n=0,++t}++n,++o}return S.join("")}if(r={version:"1.4.1",ucs2:{decode:I,encode:E},decode:S,encode:T,toASCII:function(e){return A(e,function(e){return g.test(e)?"xn--"+T(e):e})},toUnicode:function(e){return A(e,function(e){return v.test(e)?S(e.slice(4).toLowerCase()):e})}},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return r});else if(o&&n)if(module.exports==o)n.exports=r;else for(u in r)r.hasOwnProperty(u)&&(o[u]=r[u]);else e.punycode=r}(this)}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],174:[function(require,module,exports){"use strict";function hasOwnProperty(r,e){return Object.prototype.hasOwnProperty.call(r,e)}module.exports=function(r,e,t,n){e=e||"&",t=t||"=";var o={};if("string"!=typeof r||0===r.length)return o;var a=/\+/g;r=r.split(e);var s=1e3;n&&"number"==typeof n.maxKeys&&(s=n.maxKeys);var p=r.length;s>0&&p>s&&(p=s);for(var y=0;y=0?(u=f.substr(0,v),c=f.substr(v+1)):(u=f,c=""),i=decodeURIComponent(u),l=decodeURIComponent(c),hasOwnProperty(o,i)?isArray(o[i])?o[i].push(l):o[i]=[o[i],l]:o[i]=l}return o};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)}},{}],175:[function(require,module,exports){"use strict";var stringifyPrimitive=function(r){switch(typeof r){case"string":return r;case"boolean":return r?"true":"false";case"number":return isFinite(r)?r:"";default:return""}};module.exports=function(r,e,t,n){return e=e||"&",t=t||"=",null===r&&(r=void 0),"object"==typeof r?map(objectKeys(r),function(n){var i=encodeURIComponent(stringifyPrimitive(n))+t;return isArray(r[n])?map(r[n],function(r){return i+encodeURIComponent(stringifyPrimitive(r))}).join(e):i+encodeURIComponent(stringifyPrimitive(r[n]))}).join(e):n?encodeURIComponent(stringifyPrimitive(n))+t+encodeURIComponent(stringifyPrimitive(r)):""};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)};function map(r,e){if(r.map)return r.map(e);for(var t=[],n=0;n2?"one of ".concat(r," ").concat(e.slice(0,t-1).join(", "),", or ")+e[t-1]:2===t?"one of ".concat(r," ").concat(e[0]," or ").concat(e[1]):"of ".concat(r," ").concat(e[0])}return"of ".concat(r," ").concat(String(e))}function startsWith(e,r,t){return e.substr(!t||t<0?0:+t,r.length)===r}function endsWith(e,r,t){return(void 0===t||t>e.length)&&(t=e.length),e.substring(t-r.length,t)===r}function includes(e,r,t){return"number"!=typeof t&&(t=0),!(t+r.length>e.length)&&-1!==e.indexOf(r,t)}createErrorType("ERR_INVALID_OPT_VALUE",function(e,r){return'The value "'+r+'" is invalid for option "'+e+'"'},TypeError),createErrorType("ERR_INVALID_ARG_TYPE",function(e,r,t){var n,o;if("string"==typeof r&&startsWith(r,"not ")?(n="must not be",r=r.replace(/^not /,"")):n="must be",endsWith(e," argument"))o="The ".concat(e," ").concat(n," ").concat(oneOf(r,"type"));else{var c=includes(e,".")?"property":"argument";o='The "'.concat(e,'" ').concat(c," ").concat(n," ").concat(oneOf(r,"type"))}return o+=". Received type ".concat(typeof t)},TypeError),createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close"),createErrorType("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end"),createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),createErrorType("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),module.exports.codes=codes},{}],178:[function(require,module,exports){(function(process){(function(){"use strict";var objectKeys=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=Duplex;var Readable=require("./_stream_readable"),Writable=require("./_stream_writable");require("inherits")(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v0)if("string"==typeof t||d.objectMode||Object.getPrototypeOf(t)===Buffer.prototype||(t=_uint8ArrayToBuffer(t)),a)d.endEmitted?errorOrDestroy(e,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT):addChunk(e,d,t,!0);else if(d.ended)errorOrDestroy(e,new ERR_STREAM_PUSH_AFTER_EOF);else{if(d.destroyed)return!1;d.reading=!1,d.decoder&&!r?(t=d.decoder.write(t),d.objectMode||0!==t.length?addChunk(e,d,t,!1):maybeReadMore(e,d)):addChunk(e,d,t,!1)}else a||(d.reading=!1,maybeReadMore(e,d));return!d.ended&&(d.length=MAX_HWM?e=MAX_HWM:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function howMuchToRead(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=computeNewHighWaterMark(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function onEofChunk(e,t){if(debug("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?emitReadable(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,emitReadable_(e)))}}function emitReadable(e){var t=e._readableState;debug("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(debug("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(emitReadable_,e))}function emitReadable_(e){var t=e._readableState;debug("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,flow(e)}function maybeReadMore(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(maybeReadMore_,e,t))}function maybeReadMore_(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function nReadingNextTick(e){debug("readable nexttick read 0"),e.read(0)}function resume(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(resume_,e,t))}function resume_(e,t){debug("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),flow(e),t.flowing&&!t.reading&&e.read(0)}function flow(e){var t=e._readableState;for(debug("flow",t.flowing);t.flowing&&null!==e.read(););}function fromList(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function endReadable(e){var t=e._readableState;debug("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(endReadableNT,t,e))}function endReadableNT(e,t){if(debug("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function indexOf(e,t){for(var r=0,a=e.length;r=t.highWaterMark:t.length>0)||t.ended))return debug("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?endReadable(this):emitReadable(this),null;if(0===(e=howMuchToRead(e,t))&&t.ended)return 0===t.length&&endReadable(this),null;var a,n=t.needReadable;return debug("need readable",n),(0===t.length||t.length-e0?fromList(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&endReadable(this)),null!==a&&this.emit("data",a),a},Readable.prototype._read=function(e){errorOrDestroy(this,new ERR_METHOD_NOT_IMPLEMENTED("_read()"))},Readable.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,debug("pipe count=%d opts=%j",a.pipesCount,t);var n=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr?d:f;function i(t,n){debug("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,debug("cleanup"),e.removeListener("close",b),e.removeListener("finish",p),e.removeListener("drain",o),e.removeListener("error",u),e.removeListener("unpipe",i),r.removeListener("end",d),r.removeListener("end",f),r.removeListener("data",l),s=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||o())}function d(){debug("onend"),e.end()}a.endEmitted?process.nextTick(n):r.once("end",n),e.on("unpipe",i);var o=pipeOnDrain(r);e.on("drain",o);var s=!1;function l(t){debug("ondata");var n=e.write(t);debug("dest.write",n),!1===n&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==indexOf(a.pipes,e))&&!s&&(debug("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function u(t){debug("onerror",t),f(),e.removeListener("error",u),0===EElistenerCount(e,"error")&&errorOrDestroy(e,t)}function b(){e.removeListener("finish",p),f()}function p(){debug("onfinish"),e.removeListener("close",b),f()}function f(){debug("unpipe"),r.unpipe(e)}return r.on("data",l),prependListener(e,"error",u),e.once("close",b),e.once("finish",p),e.emit("pipe",r),a.flowing||(debug("pipe resume"),r.resume()),e},Readable.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var a=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i0,!1!==a.flowing&&this.resume()):"readable"===e&&(a.endEmitted||a.readableListening||(a.readableListening=a.needReadable=!0,a.flowing=!1,a.emittedReadable=!1,debug("on readable",a.length,a.reading),a.length?emitReadable(this):a.reading||process.nextTick(nReadingNextTick,this))),r},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.removeListener=function(e,t){var r=Stream.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(updateReadableListening,this),r},Readable.prototype.removeAllListeners=function(e){var t=Stream.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(updateReadableListening,this),t},Readable.prototype.resume=function(){var e=this._readableState;return e.flowing||(debug("resume"),e.flowing=!e.readableListening,resume(this,e)),e.paused=!1,this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Readable.prototype.wrap=function(e){var t=this,r=this._readableState,a=!1;for(var n in e.on("end",function(){if(debug("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(n){(debug("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(t.push(n)||(a=!0,e.pause()))}),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var i=0;i-1))throw new ERR_UNKNOWN_ENCODING(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Writable.prototype._write=function(e,t,r){r(new ERR_METHOD_NOT_IMPLEMENTED("_write()"))},Writable.prototype._writev=null,Writable.prototype.end=function(e,t,r){var i=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||endWritable(this,i,r),this},Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),Writable.prototype.destroy=destroyImpl.destroy,Writable.prototype._undestroy=destroyImpl.undestroy,Writable.prototype._destroy=function(e,t){t(e)}}).call(this)}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"../errors":177,"./_stream_duplex":178,"./internal/streams/destroy":185,"./internal/streams/state":189,"./internal/streams/stream":190,_process:172,buffer:132,inherits:139,"util-deprecate":201}],183:[function(require,module,exports){(function(process){(function(){"use strict";var _Object$setPrototypeO;function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var finished=require("./end-of-stream"),kLastResolve=Symbol("lastResolve"),kLastReject=Symbol("lastReject"),kError=Symbol("error"),kEnded=Symbol("ended"),kLastPromise=Symbol("lastPromise"),kHandlePromise=Symbol("handlePromise"),kStream=Symbol("stream");function createIterResult(e,t){return{value:e,done:t}}function readAndResolve(e){var t=e[kLastResolve];if(null!==t){var r=e[kStream].read();null!==r&&(e[kLastPromise]=null,e[kLastResolve]=null,e[kLastReject]=null,t(createIterResult(r,!1)))}}function onReadable(e){process.nextTick(readAndResolve,e)}function wrapForNext(e,t){return function(r,o){e.then(function(){t[kEnded]?r(createIterResult(void 0,!0)):t[kHandlePromise](r,o)},o)}}var AsyncIteratorPrototype=Object.getPrototypeOf(function(){}),ReadableStreamAsyncIteratorPrototype=Object.setPrototypeOf((_defineProperty(_Object$setPrototypeO={get stream(){return this[kStream]},next:function(){var e=this,t=this[kError];if(null!==t)return Promise.reject(t);if(this[kEnded])return Promise.resolve(createIterResult(void 0,!0));if(this[kStream].destroyed)return new Promise(function(t,r){process.nextTick(function(){e[kError]?r(e[kError]):t(createIterResult(void 0,!0))})});var r,o=this[kLastPromise];if(o)r=new Promise(wrapForNext(o,this));else{var n=this[kStream].read();if(null!==n)return Promise.resolve(createIterResult(n,!1));r=new Promise(this[kHandlePromise])}return this[kLastPromise]=r,r}},Symbol.asyncIterator,function(){return this}),_defineProperty(_Object$setPrototypeO,"return",function(){var e=this;return new Promise(function(t,r){e[kStream].destroy(null,function(e){e?r(e):t(createIterResult(void 0,!0))})})}),_Object$setPrototypeO),AsyncIteratorPrototype),createReadableStreamAsyncIterator=function(e){var t,r=Object.create(ReadableStreamAsyncIteratorPrototype,(_defineProperty(t={},kStream,{value:e,writable:!0}),_defineProperty(t,kLastResolve,{value:null,writable:!0}),_defineProperty(t,kLastReject,{value:null,writable:!0}),_defineProperty(t,kError,{value:null,writable:!0}),_defineProperty(t,kEnded,{value:e._readableState.endEmitted,writable:!0}),_defineProperty(t,kHandlePromise,{value:function(e,t){var o=r[kStream].read();o?(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,e(createIterResult(o,!1))):(r[kLastResolve]=e,r[kLastReject]=t)},writable:!0}),t));return r[kLastPromise]=null,finished(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[kLastReject];return null!==t&&(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,t(e)),void(r[kError]=e)}var o=r[kLastResolve];null!==o&&(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,o(createIterResult(void 0,!0))),r[kEnded]=!0}),e.on("readable",onReadable.bind(null,r)),r};module.exports=createReadableStreamAsyncIterator}).call(this)}).call(this,require("_process"))},{"./end-of-stream":186,_process:172}],184:[function(require,module,exports){"use strict";function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return Buffer.alloc(0);for(var t=Buffer.allocUnsafe(e>>>0),n=this.head,r=0;n;)copyBuffer(n.data,t,r),r+=n.data.length,n=n.next;return t}},{key:"consume",value:function(e,t){var n;return ea.length?a.length:e;if(i===a.length?r+=a:r+=a.slice(0,e),0===(e-=i)){i===a.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=a.slice(i));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=Buffer.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var a=n.data,i=e>a.length?a.length:e;if(a.copy(t,t.length-e,0,i),0===(e-=i)){i===a.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=a.slice(i));break}++r}return this.length-=r,t}},{key:custom,value:function(e,t){return inspect(this,_objectSpread({},t,{depth:0,customInspect:!1}))}}]),e}()},{buffer:132,util:131}],185:[function(require,module,exports){(function(process){(function(){"use strict";function destroy(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return i||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(emitErrorNT,this,t)):process.nextTick(emitErrorNT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?r._writableState?r._writableState.errorEmitted?process.nextTick(emitCloseNT,r):(r._writableState.errorEmitted=!0,process.nextTick(emitErrorAndCloseNT,r,t)):process.nextTick(emitErrorAndCloseNT,r,t):e?(process.nextTick(emitCloseNT,r),e(t)):process.nextTick(emitCloseNT,r)}),this)}function emitErrorAndCloseNT(t,e){emitErrorNT(t,e),emitCloseNT(t)}function emitCloseNT(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function undestroy(){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 emitErrorNT(t,e){t.emit("error",e)}function errorOrDestroy(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}}).call(this)}).call(this,require("_process"))},{_process:172}],186:[function(require,module,exports){"use strict";var ERR_STREAM_PREMATURE_CLOSE=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function once(e){var r=!1;return function(){if(!r){r=!0;for(var t=arguments.length,n=new Array(t),o=0;o0,function(e){o||(o=e),e&&i.forEach(call),u||(i.forEach(call),t(o))})});return r.reduce(pipe)}module.exports=pipeline},{"../../../errors":177,"./end-of-stream":186}],189:[function(require,module,exports){"use strict";var ERR_INVALID_OPT_VALUE=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(r,e,t){return null!=r.highWaterMark?r.highWaterMark:e?r[t]:null}function getHighWaterMark(r,e,t,a){var i=highWaterMarkFrom(e,a,t);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new ERR_INVALID_OPT_VALUE(a?t:"highWaterMark",i);return Math.floor(i)}return r.objectMode?16:16384}module.exports={getHighWaterMark:getHighWaterMark}},{"../../../errors":177}],190:[function(require,module,exports){module.exports=require("events").EventEmitter},{events:135}],191:[function(require,module,exports){exports=module.exports=require("./lib/_stream_readable.js"),exports.Stream=exports,exports.Readable=exports,exports.Writable=require("./lib/_stream_writable.js"),exports.Duplex=require("./lib/_stream_duplex.js"),exports.Transform=require("./lib/_stream_transform.js"),exports.PassThrough=require("./lib/_stream_passthrough.js"),exports.finished=require("./lib/internal/streams/end-of-stream.js"),exports.pipeline=require("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":178,"./lib/_stream_passthrough.js":179,"./lib/_stream_readable.js":180,"./lib/_stream_transform.js":181,"./lib/_stream_writable.js":182,"./lib/internal/streams/end-of-stream.js":186,"./lib/internal/streams/pipeline.js":188}],192:[function(require,module,exports){(function(global){(function(){var ClientRequest=require("./lib/request"),response=require("./lib/response"),extend=require("xtend"),statusCodes=require("builtin-status-codes"),url=require("url"),http=exports;http.request=function(e,t){e="string"==typeof e?url.parse(e):extend(e);var r=-1===global.location.protocol.search(/^https?:$/)?"http:":"",s=e.protocol||r,n=e.hostname||e.host,o=e.port,p=e.path||"/";n&&-1!==n.indexOf(":")&&(n="["+n+"]"),e.url=(n?s+"//"+n:"")+(o?":"+o:"")+p,e.method=(e.method||"GET").toUpperCase(),e.headers=e.headers||{};var u=new ClientRequest(e);return t&&u.on("response",t),u},http.get=function(e,t){var r=http.request(e,t);return r.end(),r},http.ClientRequest=ClientRequest,http.IncomingMessage=response.IncomingMessage,http.Agent=function(){},http.Agent.defaultMaxSockets=4,http.globalAgent=new http.Agent,http.STATUS_CODES=statusCodes,http.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./lib/request":194,"./lib/response":195,"builtin-status-codes":133,url:199,xtend:205}],193:[function(require,module,exports){(function(global){(function(){var xhr;function getXHR(){if(void 0!==xhr)return xhr;if(global.XMLHttpRequest){xhr=new global.XMLHttpRequest;try{xhr.open("GET",global.XDomainRequest?"/":"https://example.com")}catch(e){xhr=null}}else xhr=null;return xhr}function checkTypeSupport(e){var r=getXHR();if(!r)return!1;try{return r.responseType=e,r.responseType===e}catch(e){}return!1}function isFunction(e){return"function"==typeof e}exports.fetch=isFunction(global.fetch)&&isFunction(global.ReadableStream),exports.writableStream=isFunction(global.WritableStream),exports.abortController=isFunction(global.AbortController),exports.arraybuffer=exports.fetch||checkTypeSupport("arraybuffer"),exports.msstream=!exports.fetch&&checkTypeSupport("ms-stream"),exports.mozchunkedarraybuffer=!exports.fetch&&checkTypeSupport("moz-chunked-arraybuffer"),exports.overrideMimeType=exports.fetch||!!getXHR()&&isFunction(getXHR().overrideMimeType),xhr=null}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],194:[function(require,module,exports){(function(process,global,Buffer){(function(){var capability=require("./capability"),inherits=require("inherits"),response=require("./response"),stream=require("readable-stream"),IncomingMessage=response.IncomingMessage,rStates=response.readyStates;function decideMode(e,t){return capability.fetch&&t?"fetch":capability.mozchunkedarraybuffer?"moz-chunked-arraybuffer":capability.msstream?"ms-stream":capability.arraybuffer&&e?"arraybuffer":"text"}var ClientRequest=module.exports=function(e){var t,r=this;stream.Writable.call(r),r._opts=e,r._body=[],r._headers={},e.auth&&r.setHeader("Authorization","Basic "+Buffer.from(e.auth).toString("base64")),Object.keys(e.headers).forEach(function(t){r.setHeader(t,e.headers[t])});var o=!0;if("disable-fetch"===e.mode||"requestTimeout"in e&&!capability.abortController)o=!1,t=!0;else if("prefer-streaming"===e.mode)t=!1;else if("allow-wrong-content-type"===e.mode)t=!capability.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");t=!0}r._mode=decideMode(t,o),r._fetchTimer=null,r._socketTimeout=null,r._socketTimer=null,r.on("finish",function(){r._onFinish()})};function statusValid(e){try{var t=e.status;return null!==t&&0!==t}catch(e){return!1}}inherits(ClientRequest,stream.Writable),ClientRequest.prototype.setHeader=function(e,t){var r=e.toLowerCase();-1===unsafeHeaders.indexOf(r)&&(this._headers[r]={name:e,value:t})},ClientRequest.prototype.getHeader=function(e){var t=this._headers[e.toLowerCase()];return t?t.value:null},ClientRequest.prototype.removeHeader=function(e){delete this._headers[e.toLowerCase()]},ClientRequest.prototype._onFinish=function(){var e=this;if(!e._destroyed){var t=e._opts;"timeout"in t&&0!==t.timeout&&e.setTimeout(t.timeout);var r=e._headers,o=null;"GET"!==t.method&&"HEAD"!==t.method&&(o=new Blob(e._body,{type:(r["content-type"]||{}).value||""}));var s=[];if(Object.keys(r).forEach(function(e){var t=r[e].name,o=r[e].value;Array.isArray(o)?o.forEach(function(e){s.push([t,e])}):s.push([t,o])}),"fetch"===e._mode){var i=null;if(capability.abortController){var n=new AbortController;i=n.signal,e._fetchAbortController=n,"requestTimeout"in t&&0!==t.requestTimeout&&(e._fetchTimer=global.setTimeout(function(){e.emit("requestTimeout"),e._fetchAbortController&&e._fetchAbortController.abort()},t.requestTimeout))}global.fetch(e._opts.url,{method:e._opts.method,headers:s,body:o||void 0,mode:"cors",credentials:t.withCredentials?"include":"same-origin",signal:i}).then(function(t){e._fetchResponse=t,e._resetTimers(!1),e._connect()},function(t){e._resetTimers(!0),e._destroyed||e.emit("error",t)})}else{var a=e._xhr=new global.XMLHttpRequest;try{a.open(e._opts.method,e._opts.url,!0)}catch(t){return void process.nextTick(function(){e.emit("error",t)})}"responseType"in a&&(a.responseType=e._mode),"withCredentials"in a&&(a.withCredentials=!!t.withCredentials),"text"===e._mode&&"overrideMimeType"in a&&a.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in t&&(a.timeout=t.requestTimeout,a.ontimeout=function(){e.emit("requestTimeout")}),s.forEach(function(e){a.setRequestHeader(e[0],e[1])}),e._response=null,a.onreadystatechange=function(){switch(a.readyState){case rStates.LOADING:case rStates.DONE:e._onXHRProgress()}},"moz-chunked-arraybuffer"===e._mode&&(a.onprogress=function(){e._onXHRProgress()}),a.onerror=function(){e._destroyed||(e._resetTimers(!0),e.emit("error",new Error("XHR error")))};try{a.send(o)}catch(t){return void process.nextTick(function(){e.emit("error",t)})}}}},ClientRequest.prototype._onXHRProgress=function(){this._resetTimers(!1),statusValid(this._xhr)&&!this._destroyed&&(this._response||this._connect(),this._response._onXHRProgress(this._resetTimers.bind(this)))},ClientRequest.prototype._connect=function(){var e=this;e._destroyed||(e._response=new IncomingMessage(e._xhr,e._fetchResponse,e._mode,e._resetTimers.bind(e)),e._response.on("error",function(t){e.emit("error",t)}),e.emit("response",e._response))},ClientRequest.prototype._write=function(e,t,r){this._body.push(e),r()},ClientRequest.prototype._resetTimers=function(e){var t=this;global.clearTimeout(t._socketTimer),t._socketTimer=null,e?(global.clearTimeout(t._fetchTimer),t._fetchTimer=null):t._socketTimeout&&(t._socketTimer=global.setTimeout(function(){t.emit("timeout")},t._socketTimeout))},ClientRequest.prototype.abort=ClientRequest.prototype.destroy=function(e){this._destroyed=!0,this._resetTimers(!0),this._response&&(this._response._destroyed=!0),this._xhr?this._xhr.abort():this._fetchAbortController&&this._fetchAbortController.abort(),e&&this.emit("error",e)},ClientRequest.prototype.end=function(e,t,r){"function"==typeof e&&(r=e,e=void 0),stream.Writable.prototype.end.call(this,e,t,r)},ClientRequest.prototype.setTimeout=function(e,t){t&&this.once("timeout",t),this._socketTimeout=e,this._resetTimers(!1)},ClientRequest.prototype.flushHeaders=function(){},ClientRequest.prototype.setNoDelay=function(){},ClientRequest.prototype.setSocketKeepAlive=function(){};var unsafeHeaders=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]}).call(this)}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer)},{"./capability":193,"./response":195,_process:172,buffer:132,inherits:139,"readable-stream":191}],195:[function(require,module,exports){(function(process,global,Buffer){(function(){var capability=require("./capability"),inherits=require("inherits"),stream=require("readable-stream"),rStates=exports.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},IncomingMessage=exports.IncomingMessage=function(e,r,s,t){var a=this;if(stream.Readable.call(a),a._mode=s,a.headers={},a.rawHeaders=[],a.trailers={},a.rawTrailers=[],a.on("end",function(){process.nextTick(function(){a.emit("close")})}),"fetch"===s){if(a._fetchResponse=r,a.url=r.url,a.statusCode=r.status,a.statusMessage=r.statusText,r.headers.forEach(function(e,r){a.headers[r.toLowerCase()]=e,a.rawHeaders.push(r,e)}),capability.writableStream){var o=new WritableStream({write:function(e){return t(!1),new Promise(function(r,s){a._destroyed?s():a.push(Buffer.from(e))?r():a._resumeFetch=r})},close:function(){t(!0),a._destroyed||a.push(null)},abort:function(e){t(!0),a._destroyed||a.emit("error",e)}});try{return void r.body.pipeTo(o).catch(function(e){t(!0),a._destroyed||a.emit("error",e)})}catch(e){}}var n=r.body.getReader();!function e(){n.read().then(function(r){a._destroyed||(t(r.done),r.done?a.push(null):(a.push(Buffer.from(r.value)),e()))}).catch(function(e){t(!0),a._destroyed||a.emit("error",e)})}()}else{if(a._xhr=e,a._pos=0,a.url=e.responseURL,a.statusCode=e.status,a.statusMessage=e.statusText,e.getAllResponseHeaders().split(/\r?\n/).forEach(function(e){var r=e.match(/^([^:]+):\s*(.*)/);if(r){var s=r[1].toLowerCase();"set-cookie"===s?(void 0===a.headers[s]&&(a.headers[s]=[]),a.headers[s].push(r[2])):void 0!==a.headers[s]?a.headers[s]+=", "+r[2]:a.headers[s]=r[2],a.rawHeaders.push(r[1],r[2])}}),a._charset="x-user-defined",!capability.overrideMimeType){var i=a.rawHeaders["mime-type"];if(i){var u=i.match(/;\s*charset=([^;])(;|$)/);u&&(a._charset=u[1].toLowerCase())}a._charset||(a._charset="utf-8")}}};inherits(IncomingMessage,stream.Readable),IncomingMessage.prototype._read=function(){var e=this._resumeFetch;e&&(this._resumeFetch=null,e())},IncomingMessage.prototype._onXHRProgress=function(e){var r=this,s=r._xhr,t=null;switch(r._mode){case"text":if((t=s.responseText).length>r._pos){var a=t.substr(r._pos);if("x-user-defined"===r._charset){for(var o=Buffer.alloc(a.length),n=0;nr._pos&&(r.push(Buffer.from(new Uint8Array(i.result.slice(r._pos)))),r._pos=i.result.byteLength)},i.onload=function(){e(!0),r.push(null)},i.readAsArrayBuffer(t)}r._xhr.readyState===rStates.DONE&&"ms-stream"!==r._mode&&(e(!0),r.push(null))}}).call(this)}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("buffer").Buffer)},{"./capability":193,_process:172,buffer:132,inherits:139,"readable-stream":191}],196:[function(require,module,exports){"use strict";var Buffer=require("safe-buffer").Buffer,isEncoding=Buffer.isEncoding||function(t){switch((t=""+t)&&t.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 _normalizeEncoding(t){if(!t)return"utf8";for(var e;;)switch(t){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 t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function normalizeEncoding(t){var e=_normalizeEncoding(t);if("string"!=typeof e&&(Buffer.isEncoding===isEncoding||!isEncoding(t)))throw new Error("Unknown encoding: "+t);return e||t}function StringDecoder(t){var e;switch(this.encoding=normalizeEncoding(t),this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,e=4;break;case"utf8":this.fillLast=utf8FillLast,e=4;break;case"base64":this.text=base64Text,this.end=base64End,e=3;break;default:return this.write=simpleWrite,void(this.end=simpleEnd)}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer.allocUnsafe(e)}function utf8CheckByte(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function utf8CheckIncomplete(t,e,s){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0}function utf8CheckExtraBytes(t,e,s){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}function utf8FillLast(t){var e=this.lastTotal-this.lastNeed,s=utf8CheckExtraBytes(this,t,e);return void 0!==s?s:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function utf8Text(t,e){var s=utf8CheckIncomplete(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=s;var i=t.length-(s-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function utf8End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function utf16Text(t,e){if((t.length-e)%2==0){var s=t.toString("utf16le",e);if(s){var i=s.charCodeAt(s.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],s.slice(0,-1)}return s}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function utf16End(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var s=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,s)}return e}function base64Text(t,e){var s=(t.length-e)%3;return 0===s?t.toString("base64",e):(this.lastNeed=3-s,this.lastTotal=3,1===s?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-s))}function base64End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function simpleWrite(t){return t.toString(this.encoding)}function simpleEnd(t){return t&&t.length?this.write(t):""}exports.StringDecoder=StringDecoder,StringDecoder.prototype.write=function(t){if(0===t.length)return"";var e,s;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";s=this.lastNeed,this.lastNeed=0}else s=0;return s */
-var buffer=require("buffer"),Buffer=buffer.Buffer;function copyProps(f,e){for(var r in f)e[r]=f[r]}function SafeBuffer(f,e,r){return Buffer(f,e,r)}Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer),SafeBuffer.prototype=Object.create(Buffer.prototype),copyProps(Buffer,SafeBuffer),SafeBuffer.from=function(f,e,r){if("number"==typeof f)throw new TypeError("Argument must not be a number");return Buffer(f,e,r)},SafeBuffer.alloc=function(f,e,r){if("number"!=typeof f)throw new TypeError("Argument must be a number");var u=Buffer(f);return void 0!==e?"string"==typeof r?u.fill(e,r):u.fill(e):u.fill(0),u},SafeBuffer.allocUnsafe=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return Buffer(f)},SafeBuffer.allocUnsafeSlow=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return buffer.SlowBuffer(f)}},{buffer:132}],198:[function(require,module,exports){
-/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */
-!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r(e.URI=e.URI||{})}(this,function(e){"use strict";function r(){for(var e=arguments.length,r=Array(e),t=0;t1){r[0]=r[0].slice(0,-1);for(var o=r.length-1,n=1;n= 0x80 (not a basic code point)","invalid-input":"Invalid input"},v=Math.floor,d=String.fromCharCode;function m(e){throw new RangeError(l[e])}function g(e,r){var t=e.split("@"),o="";t.length>1&&(o=t[0]+"@",e=t[1]);var n=function(e,r){for(var t=[],o=e.length;o--;)t[o]=r(e[o]);return t}((e=e.replace(f,".")).split("."),r).join(".");return o+n}function E(e){for(var r=[],t=0,o=e.length;t=55296&&n<=56319&&t>1,e+=v(e/r);e>455;o+=36)e=v(e/35);return v(o+36*e/(e+38))},S=function(e){var r,t=[],o=e.length,n=0,a=128,i=72,s=e.lastIndexOf("-");s<0&&(s=0);for(var u=0;u=128&&m("not-basic"),t.push(e.charCodeAt(u));for(var p=s>0?s+1:0;p=o&&m("invalid-input");var d=(r=e.charCodeAt(p++))-48<10?r-22:r-65<26?r-65:r-97<26?r-97:36;(d>=36||d>v((c-n)/f))&&m("overflow"),n+=d*f;var g=l<=i?1:l>=i+26?26:l-i;if(dv(c/E)&&m("overflow"),f*=E}var C=t.length+1;i=y(n-h,C,0==h),v(n/C)>c-a&&m("overflow"),a+=v(n/C),n%=C,t.splice(n++,0,a)}return String.fromCodePoint.apply(String,t)},A=function(e){var r=[],t=(e=E(e)).length,o=128,n=0,a=72,i=!0,s=!1,u=void 0;try{for(var p,h=e[Symbol.iterator]();!(i=(p=h.next()).done);i=!0){var f=p.value;f<128&&r.push(d(f))}}catch(e){s=!0,u=e}finally{try{!i&&h.return&&h.return()}finally{if(s)throw u}}var l=r.length,g=l;for(l&&r.push("-");g=o&&Ov((c-n)/N)&&m("overflow"),n+=(S-o)*N,o=S;var I=!0,F=!1,R=void 0;try{for(var T,_=e[Symbol.iterator]();!(I=(T=_.next()).done);I=!0){var P=T.value;if(Pc&&m("overflow"),P==o){for(var q=n,U=36;;U+=36){var j=U<=a?1:U>=a+26?26:U-a;if(q>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function x(e){for(var r="",t=0,o=e.length;t=194&&n<224){if(o-t>=6){var a=parseInt(e.substr(t+4,2),16);r+=String.fromCharCode((31&n)<<6|63&a)}else r+=e.substr(t,6);t+=6}else if(n>=224){if(o-t>=9){var i=parseInt(e.substr(t+4,2),16),s=parseInt(e.substr(t+7,2),16);r+=String.fromCharCode((15&n)<<12|(63&i)<<6|63&s)}else r+=e.substr(t,9);t+=9}else r+=e.substr(t,3),t+=3}return r}function O(e,r){function t(e){var t=x(e);return t.match(r.UNRESERVED)?t:e}return e.scheme&&(e.scheme=String(e.scheme).replace(r.PCT_ENCODED,t).toLowerCase().replace(r.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(r.PCT_ENCODED,t).replace(r.NOT_USERINFO,b).replace(r.PCT_ENCODED,n)),void 0!==e.host&&(e.host=String(e.host).replace(r.PCT_ENCODED,t).toLowerCase().replace(r.NOT_HOST,b).replace(r.PCT_ENCODED,n)),void 0!==e.path&&(e.path=String(e.path).replace(r.PCT_ENCODED,t).replace(e.scheme?r.NOT_PATH:r.NOT_PATH_NOSCHEME,b).replace(r.PCT_ENCODED,n)),void 0!==e.query&&(e.query=String(e.query).replace(r.PCT_ENCODED,t).replace(r.NOT_QUERY,b).replace(r.PCT_ENCODED,n)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(r.PCT_ENCODED,t).replace(r.NOT_FRAGMENT,b).replace(r.PCT_ENCODED,n)),e}function N(e){return e.replace(/^0*(.*)/,"$1")||"0"}function I(e,r){var t=e.match(r.IPV4ADDRESS)||[],o=u(t,2)[1];return o?o.split(".").map(N).join("."):e}function F(e,r){var t=e.match(r.IPV6ADDRESS)||[],o=u(t,3),n=o[1],a=o[2];if(n){for(var i=n.toLowerCase().split("::").reverse(),s=u(i,2),c=s[0],p=s[1],h=p?p.split(":").map(N):[],f=c.split(":").map(N),l=r.IPV4ADDRESS.test(f[f.length-1]),v=l?7:8,d=f.length-v,m=Array(v),g=0;g1){var y=m.slice(0,E.index),S=m.slice(E.index+E.length);C=y.join(":")+"::"+S.join(":")}else C=m.join(":");return a&&(C+="%"+a),C}return e}var R=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,T=void 0==="".match(/(){0}/)[1];function _(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t={},o=!1!==r.iri?s:i;"suffix"===r.reference&&(e=(r.scheme?r.scheme+":":"")+"//"+e);var n=e.match(R);if(n){T?(t.scheme=n[1],t.userinfo=n[3],t.host=n[4],t.port=parseInt(n[5],10),t.path=n[6]||"",t.query=n[7],t.fragment=n[8],isNaN(t.port)&&(t.port=n[5])):(t.scheme=n[1]||void 0,t.userinfo=-1!==e.indexOf("@")?n[3]:void 0,t.host=-1!==e.indexOf("//")?n[4]:void 0,t.port=parseInt(n[5],10),t.path=n[6]||"",t.query=-1!==e.indexOf("?")?n[7]:void 0,t.fragment=-1!==e.indexOf("#")?n[8]:void 0,isNaN(t.port)&&(t.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?n[4]:void 0)),t.host&&(t.host=F(I(t.host,o),o)),void 0!==t.scheme||void 0!==t.userinfo||void 0!==t.host||void 0!==t.port||t.path||void 0!==t.query?void 0===t.scheme?t.reference="relative":void 0===t.fragment?t.reference="absolute":t.reference="uri":t.reference="same-document",r.reference&&"suffix"!==r.reference&&r.reference!==t.reference&&(t.error=t.error||"URI is not a "+r.reference+" reference.");var a=w[(r.scheme||t.scheme||"").toLowerCase()];if(r.unicodeSupport||a&&a.unicodeSupport)O(t,o);else{if(t.host&&(r.domainHost||a&&a.domainHost))try{t.host=D.toASCII(t.host.replace(o.PCT_ENCODED,x).toLowerCase())}catch(e){t.error=t.error||"Host's domain name can not be converted to ASCII via punycode: "+e}O(t,i)}a&&a.parse&&a.parse(t,r)}else t.error=t.error||"URI can not be parsed.";return t}var P=/^\.\.?\//,q=/^\/\.(\/|$)/,U=/^\/\.\.(\/|$)/,j=/^\/?(?:.|\n)*?(?=\/|$)/;function H(e){for(var r=[];e.length;)if(e.match(P))e=e.replace(P,"");else if(e.match(q))e=e.replace(q,"/");else if(e.match(U))e=e.replace(U,"/"),r.pop();else if("."===e||".."===e)e="";else{var t=e.match(j);if(!t)throw new Error("Unexpected dot segment condition");var o=t[0];e=e.slice(o.length),r.push(o)}return r.join("")}function z(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=r.iri?s:i,o=[],n=w[(r.scheme||e.scheme||"").toLowerCase()];if(n&&n.serialize&&n.serialize(e,r),e.host)if(t.IPV6ADDRESS.test(e.host));else if(r.domainHost||n&&n.domainHost)try{e.host=r.iri?D.toUnicode(e.host):D.toASCII(e.host.replace(t.PCT_ENCODED,x).toLowerCase())}catch(t){e.error=e.error||"Host's domain name can not be converted to "+(r.iri?"Unicode":"ASCII")+" via punycode: "+t}O(e,t),"suffix"!==r.reference&&e.scheme&&(o.push(e.scheme),o.push(":"));var a=function(e,r){var t=!1!==r.iri?s:i,o=[];return void 0!==e.userinfo&&(o.push(e.userinfo),o.push("@")),void 0!==e.host&&o.push(F(I(String(e.host),t),t).replace(t.IPV6ADDRESS,function(e,r,t){return"["+r+(t?"%25"+t:"")+"]"})),"number"!=typeof e.port&&"string"!=typeof e.port||(o.push(":"),o.push(String(e.port))),o.length?o.join(""):void 0}(e,r);if(void 0!==a&&("suffix"!==r.reference&&o.push("//"),o.push(a),e.path&&"/"!==e.path.charAt(0)&&o.push("/")),void 0!==e.path){var u=e.path;r.absolutePath||n&&n.absolutePath||(u=H(u)),void 0===a&&(u=u.replace(/^\/\//,"/%2F")),o.push(u)}return void 0!==e.query&&(o.push("?"),o.push(e.query)),void 0!==e.fragment&&(o.push("#"),o.push(e.fragment)),o.join("")}function L(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o={};return arguments[3]||(e=_(z(e,t),t),r=_(z(r,t),t)),!(t=t||{}).tolerant&&r.scheme?(o.scheme=r.scheme,o.userinfo=r.userinfo,o.host=r.host,o.port=r.port,o.path=H(r.path||""),o.query=r.query):(void 0!==r.userinfo||void 0!==r.host||void 0!==r.port?(o.userinfo=r.userinfo,o.host=r.host,o.port=r.port,o.path=H(r.path||""),o.query=r.query):(r.path?("/"===r.path.charAt(0)?o.path=H(r.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+r.path:o.path=r.path:o.path="/"+r.path,o.path=H(o.path)),o.query=r.query):(o.path=e.path,void 0!==r.query?o.query=r.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=r.fragment,o}function $(e,r){return e&&e.toString().replace(r&&r.iri?s.PCT_ENCODED:i.PCT_ENCODED,x)}var V={scheme:"http",domainHost:!0,parse:function(e,r){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,r){var t="https"===String(e.scheme).toLowerCase();return e.port!==(t?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},M={scheme:"https",domainHost:V.domainHost,parse:V.parse,serialize:V.serialize};function Z(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var k={scheme:"ws",domainHost:!0,parse:function(e,r){var t=e;return t.secure=Z(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t},serialize:function(e,r){if(e.port!==(Z(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var t=e.resourceName.split("?"),o=u(t,2),n=o[0],a=o[1];e.path=n&&"/"!==n?n:void 0,e.query=a,e.resourceName=void 0}return e.fragment=void 0,e}},G={scheme:"wss",domainHost:k.domainHost,parse:k.parse,serialize:k.serialize},Q={},Y="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",B="[0-9A-Fa-f]",J=t(t("%[EFef][0-9A-Fa-f]%"+B+B+"%"+B+B)+"|"+t("%[89A-Fa-f][0-9A-Fa-f]%"+B+B)+"|"+t("%"+B+B)),K=r("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),W=new RegExp(Y,"g"),X=new RegExp(J,"g"),ee=new RegExp(r("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',K),"g"),re=new RegExp(r("[^]",Y,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),te=re;function oe(e){var r=x(e);return r.match(W)?r:e}var ne={scheme:"mailto",parse:function(e,r){var t=e,o=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var n=!1,a={},i=t.query.split("&"),s=0,u=i.length;s",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=require("querystring");function urlParse(t,s,e){if(t&&util.isObject(t)&&t instanceof Url)return t;var h=new Url;return h.parse(t,s,e),h}function urlFormat(t){return util.isString(t)&&(t=urlParse(t)),t instanceof Url?t.format():Url.prototype.format.call(t)}function urlResolve(t,s){return urlParse(t,!1,!0).resolve(s)}function urlResolveObject(t,s){return t?urlParse(t,!1,!0).resolveObject(s):s}Url.prototype.parse=function(t,s,e){if(!util.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var h=t.indexOf("?"),r=-1!==h&&h127?b+="x":b+=d[q];if(!b.match(hostnamePartPattern)){var j=y.slice(0,m),x=y.slice(m+1),U=d.match(hostnamePartStart);U&&(j.push(U[1]),x.unshift(U[2])),x.length&&(o="/"+x.join(".")+o),this.hostname=j.join(".");break}}}this.hostname.length>hostnameMaxLen?this.hostname="":this.hostname=this.hostname.toLowerCase(),g||(this.hostname=punycode.toASCII(this.hostname));var C=this.port?":"+this.port:"",A=this.hostname||"";this.host=A+C,this.href+=this.host,g&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==o[0]&&(o="/"+o))}if(!unsafeProtocol[l])for(m=0,P=autoEscape.length;m0)&&e.host.split("@"))&&(e.auth=U.shift(),e.host=e.hostname=U.shift());return e.search=t.search,e.query=t.query,util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.href=e.format(),e}if(!d.length)return e.pathname=null,e.search?e.path="/"+e.search:e.path=null,e.href=e.format(),e;for(var q=d.slice(-1)[0],O=(e.host||t.host||d.length>1)&&("."===q||".."===q)||""===q,j=0,x=d.length;x>=0;x--)"."===(q=d[x])?d.splice(x,1):".."===q?(d.splice(x,1),j++):j&&(d.splice(x,1),j--);if(!y&&!P)for(;j--;j)d.unshift("..");!y||""===d[0]||d[0]&&"/"===d[0].charAt(0)||d.unshift(""),O&&"/"!==d.join("/").substr(-1)&&d.push("");var U,C=""===d[0]||d[0]&&"/"===d[0].charAt(0);b&&(e.hostname=e.host=C?"":d.length?d.shift():"",(U=!!(e.host&&e.host.indexOf("@")>0)&&e.host.split("@"))&&(e.auth=U.shift(),e.host=e.hostname=U.shift()));return(y=y||e.host&&d.length)&&!C&&d.unshift(""),d.length?e.pathname=d.join("/"):(e.pathname=null,e.path=null),util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.auth=t.auth||e.auth,e.slashes=e.slashes||t.slashes,e.href=e.format(),e},Url.prototype.parseHost=function(){var t=this.host,s=portPattern.exec(t);s&&(":"!==(s=s[0])&&(this.port=s.substr(1)),t=t.substr(0,t.length-s.length)),t&&(this.hostname=t)}},{"./util":200,punycode:173,querystring:176}],200:[function(require,module,exports){"use strict";module.exports={isString:function(n){return"string"==typeof n},isObject:function(n){return"object"==typeof n&&null!==n},isNull:function(n){return null===n},isNullOrUndefined:function(n){return null==n}}},{}],201:[function(require,module,exports){(function(global){(function(){function deprecate(r,e){if(config("noDeprecation"))return r;var o=!1;return function(){if(!o){if(config("throwDeprecation"))throw new Error(e);config("traceDeprecation")?console.trace(e):console.warn(e),o=!0}return r.apply(this,arguments)}}function config(r){try{if(!global.localStorage)return!1}catch(r){return!1}var e=global.localStorage[r];return null!=e&&"true"===String(e).toLowerCase()}module.exports=deprecate}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],202:[function(require,module,exports){"function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}},{}],203:[function(require,module,exports){module.exports=function(o){return o&&"object"==typeof o&&"function"==typeof o.copy&&"function"==typeof o.fill&&"function"==typeof o.readUInt8}},{}],204:[function(require,module,exports){(function(process,global){(function(){var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c,a="",l=!1,p=["{","}"];(isArray(r)&&(l=!0,p=["[","]"]),isFunction(r))&&(a=" [Function"+(r.name?": "+r.name:"")+"]");return isRegExp(r)&&(a=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(a=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(a=" "+formatError(r)),0!==o.length||l&&0!=r.length?t<0?isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),c=l?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,l)}),e.seen.pop(),reduceToSingleString(c,a,p)):p[0]+a+p[1]}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return"  "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return"   "+e}).join("\n")):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){return e.reduce(function(e,r){return 0,r.indexOf("\n")>=0&&0,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n  ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}exports.debuglog=function(e){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!debugs[e])if(new RegExp("\\b"+e+"\\b","i").test(debugEnviron)){var r=process.pid;debugs[e]=function(){var t=exports.format.apply(exports,arguments);console.error("%s %d: %s",e,r,t)}}else debugs[e]=function(){};return debugs[e]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require("./support/isBuffer");var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require("inherits"),exports._extend=function(e,r){if(!r||!isObject(r))return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e}}).call(this)}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./support/isBuffer":203,_process:172,inherits:202}],205:[function(require,module,exports){module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;function extend(){for(var r={},e=0;e{e.stopPropagation()}),t(),a.on("hidden.bs.dropdown",t),a.on("shown.bs.dropdown",()=>{analytics.trackEvent("options","shown",e.attr("id"))})}function setAllowLabel(){let e=getCheckedAndUnchecked(form.allow.json,form.allow.yaml,form.allow.text,form.allow.empty,form.allow.unknown);switch(e.checked.length){case 0:form.allow.label.text("No file types allowed");break;case 1:form.allow.label.text("Only allow "+e.checked[0]+" files");break;case 2:form.allow.label.text("Only allow "+e.checked[0]+" and "+e.checked[1]);break;case 3:form.allow.label.text("Don't allow "+e.unchecked[0]+" or "+e.unchecked[1]);break;case 4:form.allow.label.text("Don't allow "+e.unchecked[0]+" files");break;case 5:form.allow.label.text("Allow all file types")}}function setRefsLabel(){let e=getCheckedAndUnchecked(form.refs.external,form.refs.circular);switch(e.checked.length){case 0:form.refs.label.text("Only follow internal $refs");break;case 1:form.refs.label.text("Don't follow "+e.unchecked[0]+" $refs");break;case 2:form.refs.label.text("Follow all $refs")}}function setValidateLabel(){let e=getCheckedAndUnchecked(form.validate.schema,form.validate.spec);switch(e.checked.length){case 0:form.validate.label.text("Don't validate anything");break;case 1:form.validate.label.text("Don't validate Swagger "+e.unchecked[0]);break;case 2:form.validate.label.text("Validate everything")}}function setSelectedMethod(e){form.method.button.val(e.toLowerCase()),e=e[0].toUpperCase()+e.substr(1),form.method.button.text(e+" it!"),form.tabs.url.text(e+" a URL"),form.tabs.text.text(e+" Text")}function trackCheckbox(e){e.on("change",()=>{let t=e.is(":checked")?1:0;analytics.trackEvent("options","changed",e.attr("name"),t)})}function trackButtonLabel(e){let t=["","parse","resolve","bundle","dereference","validate"].indexOf(e);analytics.trackEvent("options","changed","method",t)}function getCheckedAndUnchecked(e){let t=[],a=[];for(let e=0;e15&&(e=e.substr(0,10)+"..."),e}function showResults(){let e=editors.results;setTimeout(()=>{e[0].scrollIntoView(),e.addClass("animated").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",()=>{e.removeClass("animated")})})}function toText(e){if(e instanceof Error)return{isJSON:!1,text:e.message+"\n\n"+e.stack};try{return{isJSON:!0,text:JSON.stringify(e,null,2)}}catch(e){return{isJSON:!1,text:"This API is valid, but it cannot be shown because it contains circular references\n\n"+e.stack}}}module.exports=editors,editors.clearResults=function(){editors.results.removeClass("error animated").addClass("hidden"),editors.tabs.children().remove(),editors.panes.children().remove()},editors.showResult=function(e,t){editors.results.removeClass("hidden"),editors.addResult(e,t),showResults()},editors.showError=function(e){editors.results.removeClass("hidden").addClass("error"),editors.addResult("Error!",e),showResults()},editors.addResult=function(e,t){let s=editors.tabs.children().length,r="results-tab-"+s+"-title",i="results-"+s,o=0===s?"active":"";editors.tabs.append(''),editors.panes.append('
');let n=getShortTitle(e)||"Sample API";editors.tabs.find("#"+r).text(n).attr("title",e),t=toText(t),editors.panes.find("#"+i).text(t.text);let a=ace.edit(i);a.setTheme(ACE_THEME),a.session.setOption("useWorker",!1),t.isJSON&&a.getSession().setMode("ace/mode/json"),a.setReadOnly(!0)}},{"./form":209}],209:[function(require,module,exports){"use strict";const jsYAML=require("js-yaml");function form(){form.form=$("#swagger-parser-form"),form.allow={label:form.form.find("#allow-label"),menu:form.form.find("#allow-menu"),json:form.form.find("input[name=allow-json]"),yaml:form.form.find("input[name=allow-yaml]"),text:form.form.find("input[name=allow-text]"),empty:form.form.find("input[name=allow-empty]"),unknown:form.form.find("input[name=allow-unknown]")},form.refs={label:form.form.find("#refs-label"),menu:form.form.find("#refs-menu"),external:form.form.find("input[name=refs-external]"),circular:form.form.find("input[name=refs-circular]")},form.validate={label:form.form.find("#validate-label"),menu:form.form.find("#validate-menu"),schema:form.form.find("input[name=validate-schema]"),spec:form.form.find("input[name=validate-spec]")},form.tabs={url:form.form.find("#url-tab"),text:form.form.find("#text-tab")},form.method={button:form.form.find("button[name=method]"),menu:form.form.find("#method-menu")},form.samples={url:{container:form.form.find("#url-sample"),link:form.form.find("#url-sample-link")},text:{container:form.form.find("#text-sample"),link:form.form.find("#text-sample-link")}},form.url=form.form.find("input[name=url]"),form.textBox=null,form.bookmark=form.form.find("#bookmark")}module.exports=form,form.getOptions=function(){return{parse:{json:!!form.allow.json.is(":checked")&&{allowEmpty:form.allow.empty.is(":checked")},yaml:!!form.allow.yaml.is(":checked")&&{allowEmpty:form.allow.empty.is(":checked")},text:!!form.allow.text.is(":checked")&&{allowEmpty:form.allow.empty.is(":checked")},binary:!!form.allow.unknown.is(":checked")&&{allowEmpty:form.allow.empty.is(":checked")}},resolve:{external:form.refs.external.is(":checked")},dereference:{circular:form.refs.circular.is(":checked")},validate:{schema:form.validate.schema.is(":checked"),spec:form.validate.spec.is(":checked")}}},form.getAPI=function(){if(form.tabs.url.parent().attr("class").indexOf("active")>=0){let e=form.url.val();if(e)return e;throw new URIError("Please specify the URL of your Swagger/OpenAPI definition")}{let e=form.textBox.getValue();if(form.allow.yaml.is(":checked"))return jsYAML.safeLoad(e);if(form.allow.json.is(":checked"))return JSON.parse(e);throw new SyntaxError("Unable to parse the API. Neither YAML nor JSON are allowed.")}}},{"js-yaml":141}],210:[function(require,module,exports){"use strict";const form=require("./form"),querystring=require("./querystring"),dropdowns=require("./dropdowns"),editors=require("./editors"),samples=require("./samples"),parser=require("./parser"),analytics=require("./analytics");$(()=>{form(),querystring(),dropdowns(),editors(),samples(),parser(),analytics()})},{"./analytics":206,"./dropdowns":207,"./editors":208,"./form":209,"./parser":211,"./querystring":212,"./samples":213}],211:[function(require,module,exports){"use strict";const form=require("./form"),editors=require("./editors"),analytics=require("./analytics"),{ono:ono}=require("@jsdevtools/ono"),SwaggerParser=require("../../../");let swaggerParser=null,counters={parse:0,resolve:0,bundle:0,dereference:0,validate:0};function parser(){form.form.on("submit",r=>{r.preventDefault(),parseSwagger()}),$("#clear").on("click",()=>{swaggerParser=null,editors.clearResults(),analytics.trackEvent("results","clear")})}function parseSwagger(){try{editors.clearResults(),swaggerParser=swaggerParser||new SwaggerParser;let r=form.getOptions(),e=form.method.button.val(),s=form.getAPI();swaggerParser[e](s,r).then(()=>{let r=swaggerParser.$refs.values();Object.keys(r).forEach(e=>{editors.showResult(e,r[e])})}).catch(r=>{editors.showError(ono(r)),analytics.trackError(r)}),counters[e]++,analytics.trackEvent("button","click",e,counters[e])}catch(r){editors.showError(ono(r)),analytics.trackError(r)}}module.exports=parser},{"../../../":1,"./analytics":206,"./editors":208,"./form":209,"@jsdevtools/ono":33}],212:[function(require,module,exports){"use strict";const qs=require("querystring"),form=require("./form");function querystring(){setFormFields(),setBookmarkURL(),form.bookmark.on("click focus mouseenter",setBookmarkURL)}function setFormFields(){let e=qs.parse(window.location.search.substr(1));setCheckbox(form.allow.json,e["allow-json"]),setCheckbox(form.allow.yaml,e["allow-yaml"]),setCheckbox(form.allow.text,e["allow-text"]),setCheckbox(form.allow.empty,e["allow-empty"]),setCheckbox(form.allow.unknown,e["allow-unknown"]),setCheckbox(form.refs.external,e["refs-external"]),setCheckbox(form.refs.circular,e["refs-circular"]),setCheckbox(form.validate.schema,e["validate-schema"]),setCheckbox(form.validate.spec,e["validate-spec"]),e.url&&form.url.val(e.url),e.method&&(e.method=e.method.toLowerCase(),-1!==["parse","resolve","bundle","dereference","validate"].indexOf(e.method)&&form.method.button.val(e.method))}function setCheckbox(e,o){o&&"true"!==o&&"on"!==o||(o="yes"),e.val([o])}function setBookmarkURL(){let e={},o=form.getOptions();o.parse.json||(e["allow-json"]="no"),o.parse.yaml||(e["allow-yaml"]="no"),o.parse.text||(e["allow-text"]="no"),o.parse.json.allowEmpty||(e["allow-empty"]="no"),o.parse.binary||(e["allow-unknown"]="no"),o.resolve.external||(e["refs-external"]="no"),o.dereference.circular||(e["refs-circular"]="no"),o.validate.schema||(e["validate-schema"]="no"),o.validate.spec||(e["validate-spec"]="no");let r=form.method.button.val();"validate"===r||(e.method=r);let t=form.url.val();""===t||(e.url=t);let l="?"+qs.stringify(e);form.bookmark.attr("href",l)}module.exports=querystring},{"./form":209,querystring:176}],213:[function(require,module,exports){"use strict";const form=require("./form");function samples(){form.samples.url.link.on("click",e=>{e.preventDefault(),form.url.val(samples.url)}),form.samples.text.link.on("click",e=>{e.preventDefault(),form.textBox.setValue(samples.text,-1),form.samples.text.container.hide(),form.textBox.focus()}),form.textBox.on("input",()=>{0===form.textBox.session.getValue().length?form.samples.text.container.show():form.samples.text.container.hide()})}module.exports=samples,samples.url="https://apitools.dev/swagger-parser/online/sample/swagger.yaml",samples.text='swagger: "2.0"\ninfo:\n version: 1.0.0\n title: Swagger Petstore\n description: >\n A sample API that uses a petstore as an example\n to demonstrate features in the swagger-2.0 specification\nconsumes:\n - application/json\nproduces:\n - application/json\npaths:\n /pets:\n get:\n description: Returns all pets from the petstore\n responses:\n "200":\n description: pet response\n schema:\n type: array\n items:\n $ref: "#/definitions/pet"\n default:\n description: unexpected error\n schema:\n $ref: "#/definitions/errorModel"\n post:\n description: Creates a new pet in the store\n parameters:\n - name: pet\n in: body\n description: Pet to add to the store\n required: true\n schema:\n $ref: "#/definitions/pet"\n responses:\n "200":\n description: pet response\n schema:\n $ref: "#/definitions/pet"\n default:\n description: unexpected error\n schema:\n $ref: "#/definitions/errorModel"\n "/pets/{name}":\n get:\n description: Returns a single pet by name\n parameters:\n - name: name\n in: path\n description: Name of the pet to fetch\n required: true\n type: string\n responses:\n "200":\n description: pet response\n schema:\n $ref: "#/definitions/pet"\n default:\n description: unexpected error\n schema:\n $ref: "#/definitions/errorModel"\ndefinitions:\n pet:\n $ref: sample/pet.yaml\n pet-owner:\n $ref: sample/pet-owner.yaml\n errorModel:\n $ref: sample/error.json\n'},{"./form":209}]},{},[210]); + deps: ${o}}`, + }; + const def = { + keyword: "dependencies", + type: "object", + schemaType: "object", + error: exports.error, + code(e) { + const [r, o] = splitDependencies(e); + validatePropertyDeps(e, r), validateSchemaDeps(e, o); + }, + }; + function splitDependencies({ schema: e }) { + const r = {}, + o = {}; + for (const t in e) { + if ("__proto__" === t) continue; + (Array.isArray(e[t]) ? r : o)[t] = e[t]; + } + return [r, o]; + } + function validatePropertyDeps(e, r = e.schema) { + const { gen: o, data: t, it: s } = e; + if (0 === Object.keys(r).length) return; + const p = o.let("missing"); + for (const n in r) { + const a = r[n]; + if (0 === a.length) continue; + const i = (0, code_1.propertyInData)(o, t, n, s.opts.ownProperties); + e.setParams({ property: n, depsCount: a.length, deps: a.join(", ") }), + s.allErrors + ? o.if(i, () => { + for (const r of a) (0, code_1.checkReportMissingProp)(e, r); + }) + : (o.if(codegen_1._`${i} && (${(0, code_1.checkMissingProp)(e, a, p)})`), + (0, code_1.reportMissingProp)(e, p), + o.else()); + } + } + function validateSchemaDeps(e, r = e.schema) { + const { gen: o, data: t, keyword: s, it: p } = e, + n = o.name("valid"); + for (const a in r) + (0, util_1.alwaysValidSchema)(p, r[a]) || + (o.if( + (0, code_1.propertyInData)(o, t, a, p.opts.ownProperties), + () => { + const r = e.subschema({ keyword: s, schemaProp: a }, n); + e.mergeValidEvaluated(r, n); + }, + () => o.var(n, !0), + ), + e.ok(n)); + } + (exports.validatePropertyDeps = validatePropertyDeps), + (exports.validateSchemaDeps = validateSchemaDeps), + (exports.default = def); + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../code": 98 }, + ], + 86: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const dependencies_1 = require("./dependencies"), + def = { + keyword: "dependentSchemas", + type: "object", + schemaType: "object", + code: (e) => (0, dependencies_1.validateSchemaDeps)(e), + }; + exports.default = def; + }, + { "./dependencies": 85 }, + ], + 87: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + error = { + message: ({ params: e }) => codegen_1.str`must match "${e.ifClause}" schema`, + params: ({ params: e }) => codegen_1._`{failingKeyword: ${e.ifClause}}`, + }, + def = { + keyword: "if", + schemaType: ["object", "boolean"], + trackErrors: !0, + error: error, + code(e) { + const { gen: s, parentSchema: r, it: a } = e; + void 0 === r.then && + void 0 === r.else && + (0, util_1.checkStrictMode)(a, '"if" without "then" and "else" is ignored'); + const t = hasSchema(a, "then"), + o = hasSchema(a, "else"); + if (!t && !o) return; + const i = s.let("valid", !0), + c = s.name("_valid"); + if ( + ((function () { + const s = e.subschema({ keyword: "if", compositeRule: !0, createErrors: !1, allErrors: !1 }, c); + e.mergeEvaluated(s); + })(), + e.reset(), + t && o) + ) { + const r = s.let("ifClause"); + e.setParams({ ifClause: r }), s.if(c, n("then", r), n("else", r)); + } else t ? s.if(c, n("then")) : s.if((0, codegen_1.not)(c), n("else")); + function n(r, a) { + return () => { + const t = e.subschema({ keyword: r }, c); + s.assign(i, c), + e.mergeValidEvaluated(t, i), + a ? s.assign(a, codegen_1._`${r}`) : e.setParams({ ifClause: r }); + }; + } + e.pass(i, () => e.error(!0)); + }, + }; + function hasSchema(e, s) { + const r = e.schema[s]; + return void 0 !== r && !(0, util_1.alwaysValidSchema)(e, r); + } + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57 }, + ], + 88: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const additionalItems_1 = require("./additionalItems"), + prefixItems_1 = require("./prefixItems"), + items_1 = require("./items"), + items2020_1 = require("./items2020"), + contains_1 = require("./contains"), + dependencies_1 = require("./dependencies"), + propertyNames_1 = require("./propertyNames"), + additionalProperties_1 = require("./additionalProperties"), + properties_1 = require("./properties"), + patternProperties_1 = require("./patternProperties"), + not_1 = require("./not"), + anyOf_1 = require("./anyOf"), + oneOf_1 = require("./oneOf"), + allOf_1 = require("./allOf"), + if_1 = require("./if"), + thenElse_1 = require("./thenElse"); + function getApplicator(e = !1) { + const t = [ + not_1.default, + anyOf_1.default, + oneOf_1.default, + allOf_1.default, + if_1.default, + thenElse_1.default, + propertyNames_1.default, + additionalProperties_1.default, + dependencies_1.default, + properties_1.default, + patternProperties_1.default, + ]; + return ( + e ? t.push(prefixItems_1.default, items2020_1.default) : t.push(additionalItems_1.default, items_1.default), + t.push(contains_1.default), + t + ); + } + exports.default = getApplicator; + }, + { + "./additionalItems": 80, + "./additionalProperties": 81, + "./allOf": 82, + "./anyOf": 83, + "./contains": 84, + "./dependencies": 85, + "./if": 87, + "./items": 89, + "./items2020": 90, + "./not": 91, + "./oneOf": 92, + "./patternProperties": 93, + "./prefixItems": 94, + "./properties": 95, + "./propertyNames": 96, + "./thenElse": 97, + }, + ], + 89: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.validateTuple = void 0); + const codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + code_1 = require("../code"), + def = { + keyword: "items", + type: "array", + schemaType: ["object", "array", "boolean"], + before: "uniqueItems", + code(e) { + const { schema: t, it: a } = e; + if (Array.isArray(t)) return validateTuple(e, "additionalItems", t); + (a.items = !0), (0, util_1.alwaysValidSchema)(a, t) || e.ok((0, code_1.validateArray)(e)); + }, + }; + function validateTuple(e, t, a = e.schema) { + const { gen: i, parentSchema: o, data: r, keyword: s, it: l } = e; + !(function (e) { + const { opts: i, errSchemaPath: o } = l, + r = a.length, + c = r === e.minItems && (r === e.maxItems || !1 === e[t]); + if (i.strictTuples && !c) { + const e = `"${s}" is ${r}-tuple, but minItems or maxItems/${t} are not specified or different at path "${o}"`; + (0, util_1.checkStrictMode)(l, e, i.strictTuples); + } + })(o), + l.opts.unevaluated && + a.length && + !0 !== l.items && + (l.items = util_1.mergeEvaluated.items(i, a.length, l.items)); + const c = i.name("valid"), + d = i.const("len", codegen_1._`${r}.length`); + a.forEach((t, a) => { + (0, util_1.alwaysValidSchema)(l, t) || + (i.if(codegen_1._`${d} > ${a}`, () => e.subschema({ keyword: s, schemaProp: a, dataProp: a }, c)), + e.ok(c)); + }); + } + (exports.validateTuple = validateTuple), (exports.default = def); + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../code": 98 }, + ], + 90: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + code_1 = require("../code"), + additionalItems_1 = require("./additionalItems"), + error = { + message: ({ params: { len: e } }) => codegen_1.str`must NOT have more than ${e} items`, + params: ({ params: { len: e } }) => codegen_1._`{limit: ${e}}`, + }, + def = { + keyword: "items", + type: "array", + schemaType: ["object", "boolean"], + before: "uniqueItems", + error: error, + code(e) { + const { schema: r, parentSchema: t, it: a } = e, + { prefixItems: i } = t; + (a.items = !0), + (0, util_1.alwaysValidSchema)(a, r) || + (i ? (0, additionalItems_1.validateAdditionalItems)(e, i) : e.ok((0, code_1.validateArray)(e))); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../code": 98, "./additionalItems": 80 }, + ], + 91: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const util_1 = require("../../compile/util"), + def = { + keyword: "not", + schemaType: ["object", "boolean"], + trackErrors: !0, + code(e) { + const { gen: r, schema: o, it: t } = e; + if ((0, util_1.alwaysValidSchema)(t, o)) return void e.fail(); + const s = r.name("valid"); + e.subschema({ keyword: "not", compositeRule: !0, createErrors: !1, allErrors: !1 }, s), + e.failResult( + s, + () => e.reset(), + () => e.error(), + ); + }, + error: { message: "must NOT be valid" }, + }; + exports.default = def; + }, + { "../../compile/util": 57 }, + ], + 92: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + error = { + message: "must match exactly one schema in oneOf", + params: ({ params: e }) => codegen_1._`{passingSchemas: ${e.passing}}`, + }, + def = { + keyword: "oneOf", + schemaType: "array", + trackErrors: !0, + error: error, + code(e) { + const { gen: r, schema: a, parentSchema: s, it: o } = e; + if (!Array.isArray(a)) throw new Error("ajv implementation error"); + if (o.opts.discriminator && s.discriminator) return; + const i = a, + n = r.let("valid", !1), + t = r.let("passing", null), + c = r.name("_valid"); + e.setParams({ passing: t }), + r.block(function () { + i.forEach((a, s) => { + let i; + (0, util_1.alwaysValidSchema)(o, a) + ? r.var(c, !0) + : (i = e.subschema({ keyword: "oneOf", schemaProp: s, compositeRule: !0 }, c)), + s > 0 && + r + .if(codegen_1._`${c} && ${n}`) + .assign(n, !1) + .assign(t, codegen_1._`[${t}, ${s}]`) + .else(), + r.if(c, () => { + r.assign(n, !0), r.assign(t, s), i && e.mergeEvaluated(i, codegen_1.Name); + }); + }); + }), + e.result( + n, + () => e.reset(), + () => e.error(!0), + ); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57 }, + ], + 93: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const code_1 = require("../code"), + codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + util_2 = require("../../compile/util"), + def = { + keyword: "patternProperties", + type: "object", + schemaType: "object", + code(e) { + const { gen: t, schema: o, data: r, parentSchema: a, it: s } = e, + { opts: c } = s, + n = (0, code_1.allSchemaProperties)(o), + p = n.filter((e) => (0, util_1.alwaysValidSchema)(s, o[e])); + if (0 === n.length || (p.length === n.length && (!s.opts.unevaluated || !0 === s.props))) return; + const i = c.strictSchema && !c.allowMatchingProperties && a.properties, + l = t.name("valid"); + !0 === s.props || + s.props instanceof codegen_1.Name || + (s.props = (0, util_2.evaluatedPropsToName)(t, s.props)); + const { props: u } = s; + function d(e) { + for (const t in i) + new RegExp(e).test(t) && + (0, util_1.checkStrictMode)(s, `property ${t} matches pattern ${e} (use allowMatchingProperties)`); + } + function _(o) { + t.forIn("key", r, (r) => { + t.if(codegen_1._`${(0, code_1.usePattern)(e, o)}.test(${r})`, () => { + const a = p.includes(o); + a || + e.subschema( + { keyword: "patternProperties", schemaProp: o, dataProp: r, dataPropType: util_2.Type.Str }, + l, + ), + s.opts.unevaluated && !0 !== u + ? t.assign(codegen_1._`${u}[${r}]`, !0) + : a || s.allErrors || t.if((0, codegen_1.not)(l), () => t.break()); + }); + }); + } + !(function () { + for (const e of n) i && d(e), s.allErrors ? _(e) : (t.var(l, !0), _(e), t.if(l)); + })(); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../code": 98 }, + ], + 94: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const items_1 = require("./items"), + def = { + keyword: "prefixItems", + type: "array", + schemaType: ["array"], + before: "uniqueItems", + code: (e) => (0, items_1.validateTuple)(e, "items"), + }; + exports.default = def; + }, + { "./items": 89 }, + ], + 95: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const validate_1 = require("../../compile/validate"), + code_1 = require("../code"), + util_1 = require("../../compile/util"), + additionalProperties_1 = require("./additionalProperties"), + def = { + keyword: "properties", + type: "object", + schemaType: "object", + code(e) { + const { gen: t, schema: o, parentSchema: r, data: i, it: a } = e; + "all" === a.opts.removeAdditional && + void 0 === r.additionalProperties && + additionalProperties_1.default.code( + new validate_1.KeywordCxt(a, additionalProperties_1.default, "additionalProperties"), + ); + const d = (0, code_1.allSchemaProperties)(o); + for (const e of d) a.definedProperties.add(e); + a.opts.unevaluated && + d.length && + !0 !== a.props && + (a.props = util_1.mergeEvaluated.props(t, (0, util_1.toHash)(d), a.props)); + const s = d.filter((e) => !(0, util_1.alwaysValidSchema)(a, o[e])); + if (0 === s.length) return; + const l = t.name("valid"); + for (const o of s) + p(o) + ? n(o) + : (t.if((0, code_1.propertyInData)(t, i, o, a.opts.ownProperties)), + n(o), + a.allErrors || t.else().var(l, !0), + t.endIf()), + e.it.definedProperties.add(o), + e.ok(l); + function p(e) { + return a.opts.useDefaults && !a.compositeRule && void 0 !== o[e].default; + } + function n(t) { + e.subschema({ keyword: "properties", schemaProp: t, dataProp: t }, l); + } + }, + }; + exports.default = def; + }, + { "../../compile/util": 57, "../../compile/validate": 62, "../code": 98, "./additionalProperties": 81 }, + ], + 96: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + error = { + message: "property name must be valid", + params: ({ params: e }) => codegen_1._`{propertyName: ${e.propertyName}}`, + }, + def = { + keyword: "propertyNames", + type: "object", + schemaType: ["object", "boolean"], + error: error, + code(e) { + const { gen: r, schema: o, data: a, it: t } = e; + if ((0, util_1.alwaysValidSchema)(t, o)) return; + const s = r.name("valid"); + r.forIn("key", a, (o) => { + e.setParams({ propertyName: o }), + e.subschema( + { keyword: "propertyNames", data: o, dataTypes: ["string"], propertyName: o, compositeRule: !0 }, + s, + ), + r.if((0, codegen_1.not)(s), () => { + e.error(!0), t.allErrors || r.break(); + }); + }), + e.ok(s); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57 }, + ], + 97: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const util_1 = require("../../compile/util"), + def = { + keyword: ["then", "else"], + schemaType: ["object", "boolean"], + code({ keyword: e, parentSchema: t, it: o }) { + void 0 === t.if && (0, util_1.checkStrictMode)(o, `"${e}" without "if" is ignored`); + }, + }; + exports.default = def; + }, + { "../../compile/util": 57 }, + ], + 98: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }), + (exports.validateUnion = + exports.validateArray = + exports.usePattern = + exports.callValidateCode = + exports.schemaProperties = + exports.allSchemaProperties = + exports.noPropertyInData = + exports.propertyInData = + exports.isOwnProperty = + exports.hasPropFunc = + exports.reportMissingProp = + exports.checkMissingProp = + exports.checkReportMissingProp = + void 0); + const codegen_1 = require("../compile/codegen"), + util_1 = require("../compile/util"), + names_1 = require("../compile/names"), + util_2 = require("../compile/util"); + function checkReportMissingProp(e, r) { + const { gen: t, data: o, it: n } = e; + t.if(noPropertyInData(t, o, r, n.opts.ownProperties), () => { + e.setParams({ missingProperty: codegen_1._`${r}` }, !0), e.error(); + }); + } + function checkMissingProp({ gen: e, data: r, it: { opts: t } }, o, n) { + return (0, codegen_1.or)( + ...o.map((o) => (0, codegen_1.and)(noPropertyInData(e, r, o, t.ownProperties), codegen_1._`${n} = ${o}`)), + ); + } + function reportMissingProp(e, r) { + e.setParams({ missingProperty: r }, !0), e.error(); + } + function hasPropFunc(e) { + return e.scopeValue("func", { + ref: Object.prototype.hasOwnProperty, + code: codegen_1._`Object.prototype.hasOwnProperty`, + }); + } + function isOwnProperty(e, r, t) { + return codegen_1._`${hasPropFunc(e)}.call(${r}, ${t})`; + } + function propertyInData(e, r, t, o) { + const n = codegen_1._`${r}${(0, codegen_1.getProperty)(t)} !== undefined`; + return o ? codegen_1._`${n} && ${isOwnProperty(e, r, t)}` : n; + } + function noPropertyInData(e, r, t, o) { + const n = codegen_1._`${r}${(0, codegen_1.getProperty)(t)} === undefined`; + return o ? (0, codegen_1.or)(n, (0, codegen_1.not)(isOwnProperty(e, r, t))) : n; + } + function allSchemaProperties(e) { + return e ? Object.keys(e).filter((e) => "__proto__" !== e) : []; + } + function schemaProperties(e, r) { + return allSchemaProperties(r).filter((t) => !(0, util_1.alwaysValidSchema)(e, r[t])); + } + function callValidateCode( + { schemaCode: e, data: r, it: { gen: t, topSchemaRef: o, schemaPath: n, errorPath: a }, it: s }, + i, + c, + p, + ) { + const d = p ? codegen_1._`${e}, ${r}, ${o}${n}` : r, + l = [ + [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, a)], + [names_1.default.parentData, s.parentData], + [names_1.default.parentDataProperty, s.parentDataProperty], + [names_1.default.rootData, names_1.default.rootData], + ]; + s.opts.dynamicRef && l.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]); + const u = codegen_1._`${d}, ${t.object(...l)}`; + return c !== codegen_1.nil ? codegen_1._`${i}.call(${c}, ${u})` : codegen_1._`${i}(${u})`; + } + (exports.checkReportMissingProp = checkReportMissingProp), + (exports.checkMissingProp = checkMissingProp), + (exports.reportMissingProp = reportMissingProp), + (exports.hasPropFunc = hasPropFunc), + (exports.isOwnProperty = isOwnProperty), + (exports.propertyInData = propertyInData), + (exports.noPropertyInData = noPropertyInData), + (exports.allSchemaProperties = allSchemaProperties), + (exports.schemaProperties = schemaProperties), + (exports.callValidateCode = callValidateCode); + const newRegExp = codegen_1._`new RegExp`; + function usePattern({ gen: e, it: { opts: r } }, t) { + const o = r.unicodeRegExp ? "u" : "", + { regExp: n } = r.code, + a = n(t, o); + return e.scopeValue("pattern", { + key: a.toString(), + ref: a, + code: codegen_1._`${"new RegExp" === n.code ? newRegExp : (0, util_2.useFunc)(e, n)}(${t}, ${o})`, + }); + } + function validateArray(e) { + const { gen: r, data: t, keyword: o, it: n } = e, + a = r.name("valid"); + if (n.allErrors) { + const e = r.let("valid", !0); + return s(() => r.assign(e, !1)), e; + } + return r.var(a, !0), s(() => r.break()), a; + function s(n) { + const s = r.const("len", codegen_1._`${t}.length`); + r.forRange("i", 0, s, (t) => { + e.subschema({ keyword: o, dataProp: t, dataPropType: util_1.Type.Num }, a), + r.if((0, codegen_1.not)(a), n); + }); + } + } + function validateUnion(e) { + const { gen: r, schema: t, keyword: o, it: n } = e; + if (!Array.isArray(t)) throw new Error("ajv implementation error"); + if (t.some((e) => (0, util_1.alwaysValidSchema)(n, e)) && !n.opts.unevaluated) return; + const a = r.let("valid", !1), + s = r.name("_valid"); + r.block(() => + t.forEach((t, n) => { + const i = e.subschema({ keyword: o, schemaProp: n, compositeRule: !0 }, s); + r.assign(a, codegen_1._`${a} || ${s}`), e.mergeValidEvaluated(i, s) || r.if((0, codegen_1.not)(a)); + }), + ), + e.result( + a, + () => e.reset(), + () => e.error(!0), + ); + } + (exports.usePattern = usePattern), + (exports.validateArray = validateArray), + (exports.validateUnion = validateUnion); + }, + { "../compile/codegen": 49, "../compile/names": 53, "../compile/util": 57 }, + ], + 99: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const def = { + keyword: "id", + code() { + throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID'); + }, + }; + exports.default = def; + }, + {}, + ], + 100: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const id_1 = require("./id"), + ref_1 = require("./ref"), + core = [ + "$schema", + "$id", + "$defs", + "$vocabulary", + { keyword: "$comment" }, + "definitions", + id_1.default, + ref_1.default, + ]; + exports.default = core; + }, + { "./id": 99, "./ref": 101 }, + ], + 101: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.callRef = exports.getValidate = void 0); + const ref_error_1 = require("../../compile/ref_error"), + code_1 = require("../code"), + codegen_1 = require("../../compile/codegen"), + names_1 = require("../../compile/names"), + compile_1 = require("../../compile"), + util_1 = require("../../compile/util"), + def = { + keyword: "$ref", + schemaType: "string", + code(e) { + const { gen: a, schema: o, it: t } = e, + { baseId: r, schemaEnv: s, validateName: n, opts: c, self: i } = t, + { root: l } = s; + if (("#" === o || "#/" === o) && r === l.baseId) + return (function () { + if (s === l) return callRef(e, n, s, s.$async); + const o = a.scopeValue("root", { ref: l }); + return callRef(e, codegen_1._`${o}.validate`, l, l.$async); + })(); + const d = compile_1.resolveRef.call(i, l, r, o); + if (void 0 === d) throw new ref_error_1.default(t.opts.uriResolver, r, o); + return d instanceof compile_1.SchemaEnv + ? (function (a) { + const o = getValidate(e, a); + callRef(e, o, a, a.$async); + })(d) + : (function (t) { + const r = a.scopeValue( + "schema", + !0 === c.code.source ? { ref: t, code: (0, codegen_1.stringify)(t) } : { ref: t }, + ), + s = a.name("valid"), + n = e.subschema( + { schema: t, dataTypes: [], schemaPath: codegen_1.nil, topSchemaRef: r, errSchemaPath: o }, + s, + ); + e.mergeEvaluated(n), e.ok(s); + })(d); + }, + }; + function getValidate(e, a) { + const { gen: o } = e; + return a.validate + ? o.scopeValue("validate", { ref: a.validate }) + : codegen_1._`${o.scopeValue("wrapper", { ref: a })}.validate`; + } + function callRef(e, a, o, t) { + const { gen: r, it: s } = e, + { allErrors: n, schemaEnv: c, opts: i } = s, + l = i.passContext ? names_1.default.this : codegen_1.nil; + function d(e) { + const a = codegen_1._`${e}.errors`; + r.assign( + names_1.default.vErrors, + codegen_1._`${names_1.default.vErrors} === null ? ${a} : ${names_1.default.vErrors}.concat(${a})`, + ), + r.assign(names_1.default.errors, codegen_1._`${names_1.default.vErrors}.length`); + } + function u(e) { + var a; + if (!s.opts.unevaluated) return; + const t = null === (a = null == o ? void 0 : o.validate) || void 0 === a ? void 0 : a.evaluated; + if (!0 !== s.props) + if (t && !t.dynamicProps) + void 0 !== t.props && (s.props = util_1.mergeEvaluated.props(r, t.props, s.props)); + else { + const a = r.var("props", codegen_1._`${e}.evaluated.props`); + s.props = util_1.mergeEvaluated.props(r, a, s.props, codegen_1.Name); + } + if (!0 !== s.items) + if (t && !t.dynamicItems) + void 0 !== t.items && (s.items = util_1.mergeEvaluated.items(r, t.items, s.items)); + else { + const a = r.var("items", codegen_1._`${e}.evaluated.items`); + s.items = util_1.mergeEvaluated.items(r, a, s.items, codegen_1.Name); + } + } + t + ? (function () { + if (!c.$async) throw new Error("async schema referenced by sync schema"); + const o = r.let("valid"); + r.try( + () => { + r.code(codegen_1._`await ${(0, code_1.callValidateCode)(e, a, l)}`), u(a), n || r.assign(o, !0); + }, + (e) => { + r.if(codegen_1._`!(${e} instanceof ${s.ValidationError})`, () => r.throw(e)), + d(e), + n || r.assign(o, !1); + }, + ), + e.ok(o); + })() + : e.result( + (0, code_1.callValidateCode)(e, a, l), + () => u(a), + () => d(a), + ); + } + (exports.getValidate = getValidate), (exports.callRef = callRef), (exports.default = def); + }, + { + "../../compile": 52, + "../../compile/codegen": 49, + "../../compile/names": 53, + "../../compile/ref_error": 54, + "../../compile/util": 57, + "../code": 98, + }, + ], + 102: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + types_1 = require("../discriminator/types"), + compile_1 = require("../../compile"), + util_1 = require("../../compile/util"), + error = { + message: ({ params: { discrError: r, tagName: e } }) => + r === types_1.DiscrError.Tag ? `tag "${e}" must be string` : `value of tag "${e}" must be in oneOf`, + params: ({ params: { discrError: r, tag: e, tagName: o } }) => + codegen_1._`{error: ${r}, tag: ${o}, tagValue: ${e}}`, + }, + def = { + keyword: "discriminator", + type: "object", + schemaType: "object", + error: error, + code(r) { + const { gen: e, data: o, schema: t, parentSchema: i, it: s } = r, + { oneOf: n } = i; + if (!s.opts.discriminator) throw new Error("discriminator: requires discriminator option"); + const a = t.propertyName; + if ("string" != typeof a) throw new Error("discriminator: requires propertyName"); + if (t.mapping) throw new Error("discriminator: mapping is not supported"); + if (!n) throw new Error("discriminator: requires oneOf keyword"); + const c = e.let("valid", !1), + m = e.const("tag", codegen_1._`${o}${(0, codegen_1.getProperty)(a)}`); + function u(o) { + const t = e.name("valid"), + i = r.subschema({ keyword: "oneOf", schemaProp: o }, t); + return r.mergeEvaluated(i, codegen_1.Name), t; + } + e.if( + codegen_1._`typeof ${m} == "string"`, + () => + (function () { + const o = (function () { + var r; + const e = {}, + o = c(i); + let t = !0; + for (let e = 0; e < n.length; e++) { + let i = n[e]; + (null == i ? void 0 : i.$ref) && + !(0, util_1.schemaHasRulesButRef)(i, s.self.RULES) && + (i = compile_1.resolveRef.call( + s.self, + s.schemaEnv.root, + s.baseId, + null == i ? void 0 : i.$ref, + )) instanceof compile_1.SchemaEnv && + (i = i.schema); + const u = null === (r = null == i ? void 0 : i.properties) || void 0 === r ? void 0 : r[a]; + if ("object" != typeof u) + throw new Error( + `discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`, + ); + (t = t && (o || c(i))), m(u, e); + } + if (!t) throw new Error(`discriminator: "${a}" must be required`); + return e; + function c({ required: r }) { + return Array.isArray(r) && r.includes(a); + } + function m(r, e) { + if (r.const) u(r.const, e); + else { + if (!r.enum) throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`); + for (const o of r.enum) u(o, e); + } + } + function u(r, o) { + if ("string" != typeof r || r in e) + throw new Error(`discriminator: "${a}" values must be unique strings`); + e[r] = o; + } + })(); + e.if(!1); + for (const r in o) e.elseIf(codegen_1._`${m} === ${r}`), e.assign(c, u(o[r])); + e.else(), r.error(!1, { discrError: types_1.DiscrError.Mapping, tag: m, tagName: a }), e.endIf(); + })(), + () => r.error(!1, { discrError: types_1.DiscrError.Tag, tag: m, tagName: a }), + ), + r.ok(c); + }, + }; + exports.default = def; + }, + { "../../compile": 52, "../../compile/codegen": 49, "../../compile/util": 57, "../discriminator/types": 103 }, + ], + 103: [ + function (require, module, exports) { + "use strict"; + var DiscrError; + Object.defineProperty(exports, "__esModule", { value: !0 }), + (exports.DiscrError = void 0), + (function (r) { + (r.Tag = "tag"), (r.Mapping = "mapping"); + })((DiscrError = exports.DiscrError || (exports.DiscrError = {}))); + }, + {}, + ], + 104: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const core_1 = require("./core"), + validation_1 = require("./validation"), + applicator_1 = require("./applicator"), + dynamic_1 = require("./dynamic"), + next_1 = require("./next"), + unevaluated_1 = require("./unevaluated"), + format_1 = require("./format"), + metadata_1 = require("./metadata"), + draft2020Vocabularies = [ + dynamic_1.default, + core_1.default, + validation_1.default, + (0, applicator_1.default)(!0), + format_1.default, + metadata_1.metadataVocabulary, + metadata_1.contentVocabulary, + next_1.default, + unevaluated_1.default, + ]; + exports.default = draft2020Vocabularies; + }, + { + "./applicator": 88, + "./core": 100, + "./dynamic": 107, + "./format": 111, + "./metadata": 112, + "./next": 113, + "./unevaluated": 114, + "./validation": 120, + }, + ], + 105: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.dynamicAnchor = void 0); + const codegen_1 = require("../../compile/codegen"), + names_1 = require("../../compile/names"), + compile_1 = require("../../compile"), + ref_1 = require("../core/ref"), + def = { keyword: "$dynamicAnchor", schemaType: "string", code: (e) => dynamicAnchor(e, e.schema) }; + function dynamicAnchor(e, c) { + const { gen: o, it: a } = e; + a.schemaEnv.root.dynamicAnchors[c] = !0; + const n = codegen_1._`${names_1.default.dynamicAnchors}${(0, codegen_1.getProperty)(c)}`, + r = "#" === a.errSchemaPath ? a.validateName : _getValidate(e); + o.if(codegen_1._`!${n}`, () => o.assign(n, r)); + } + function _getValidate(e) { + const { schemaEnv: c, schema: o, self: a } = e.it, + { root: n, baseId: r, localRefs: t, meta: i } = c.root, + { schemaId: s } = a.opts, + m = new compile_1.SchemaEnv({ schema: o, schemaId: s, root: n, baseId: r, localRefs: t, meta: i }); + return compile_1.compileSchema.call(a, m), (0, ref_1.getValidate)(e, m); + } + (exports.dynamicAnchor = dynamicAnchor), (exports.default = def); + }, + { "../../compile": 52, "../../compile/codegen": 49, "../../compile/names": 53, "../core/ref": 101 }, + ], + 106: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }), (exports.dynamicRef = void 0); + const codegen_1 = require("../../compile/codegen"), + names_1 = require("../../compile/names"), + ref_1 = require("../core/ref"), + def = { keyword: "$dynamicRef", schemaType: "string", code: (e) => dynamicRef(e, e.schema) }; + function dynamicRef(e, r) { + const { gen: n, keyword: o, it: c } = e; + if ("#" !== r[0]) throw new Error(`"${o}" only supports hash fragment reference`); + const t = r.slice(1); + if (c.allErrors) a(); + else { + const r = n.let("valid", !1); + a(r), e.ok(r); + } + function a(e) { + if (c.schemaEnv.root.dynamicAnchors[t]) { + const r = n.let("_v", codegen_1._`${names_1.default.dynamicAnchors}${(0, codegen_1.getProperty)(t)}`); + n.if(r, i(r, e), i(c.validateName, e)); + } else i(c.validateName, e)(); + } + function i(r, o) { + return o + ? () => + n.block(() => { + (0, ref_1.callRef)(e, r), n.let(o, !0); + }) + : () => (0, ref_1.callRef)(e, r); + } + } + (exports.dynamicRef = dynamicRef), (exports.default = def); + }, + { "../../compile/codegen": 49, "../../compile/names": 53, "../core/ref": 101 }, + ], + 107: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const dynamicAnchor_1 = require("./dynamicAnchor"), + dynamicRef_1 = require("./dynamicRef"), + recursiveAnchor_1 = require("./recursiveAnchor"), + recursiveRef_1 = require("./recursiveRef"), + dynamic = [dynamicAnchor_1.default, dynamicRef_1.default, recursiveAnchor_1.default, recursiveRef_1.default]; + exports.default = dynamic; + }, + { "./dynamicAnchor": 105, "./dynamicRef": 106, "./recursiveAnchor": 108, "./recursiveRef": 109 }, + ], + 108: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const dynamicAnchor_1 = require("./dynamicAnchor"), + util_1 = require("../../compile/util"), + def = { + keyword: "$recursiveAnchor", + schemaType: "boolean", + code(e) { + e.schema + ? (0, dynamicAnchor_1.dynamicAnchor)(e, "") + : (0, util_1.checkStrictMode)(e.it, "$recursiveAnchor: false is ignored"); + }, + }; + exports.default = def; + }, + { "../../compile/util": 57, "./dynamicAnchor": 105 }, + ], + 109: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const dynamicRef_1 = require("./dynamicRef"), + def = { + keyword: "$recursiveRef", + schemaType: "string", + code: (e) => (0, dynamicRef_1.dynamicRef)(e, e.schema), + }; + exports.default = def; + }, + { "./dynamicRef": 106 }, + ], + 110: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + error = { + message: ({ schemaCode: e }) => codegen_1.str`must match format "${e}"`, + params: ({ schemaCode: e }) => codegen_1._`{format: ${e}}`, + }, + def = { + keyword: "format", + type: ["number", "string"], + schemaType: "string", + $data: !0, + error: error, + code(e, t) { + const { gen: o, data: n, $data: r, schema: c, schemaCode: a, it: s } = e, + { opts: d, errSchemaPath: i, schemaEnv: f, self: g } = s; + d.validateFormats && + (r + ? (function () { + const r = o.scopeValue("formats", { ref: g.formats, code: d.code.formats }), + c = o.const("fDef", codegen_1._`${r}[${a}]`), + s = o.let("fType"), + i = o.let("format"); + o.if( + codegen_1._`typeof ${c} == "object" && !(${c} instanceof RegExp)`, + () => o.assign(s, codegen_1._`${c}.type || "string"`).assign(i, codegen_1._`${c}.validate`), + () => o.assign(s, codegen_1._`"string"`).assign(i, c), + ), + e.fail$data( + (0, codegen_1.or)( + !1 === d.strictSchema ? codegen_1.nil : codegen_1._`${a} && !${i}`, + (function () { + const e = f.$async + ? codegen_1._`(${c}.async ? await ${i}(${n}) : ${i}(${n}))` + : codegen_1._`${i}(${n})`, + o = codegen_1._`(typeof ${i} == "function" ? ${e} : ${i}.test(${n}))`; + return codegen_1._`${i} && ${i} !== true && ${s} === ${t} && !${o}`; + })(), + ), + ); + })() + : (function () { + const r = g.formats[c]; + if (!r) + return void (function () { + if (!1 === d.strictSchema) return void g.logger.warn(e()); + throw new Error(e()); + function e() { + return `unknown format "${c}" ignored in schema at path "${i}"`; + } + })(); + if (!0 === r) return; + const [a, s, $] = (function (e) { + const t = + e instanceof RegExp + ? (0, codegen_1.regexpCode)(e) + : d.code.formats + ? codegen_1._`${d.code.formats}${(0, codegen_1.getProperty)(c)}` + : void 0, + n = o.scopeValue("formats", { key: c, ref: e, code: t }); + if ("object" == typeof e && !(e instanceof RegExp)) + return [e.type || "string", e.validate, codegen_1._`${n}.validate`]; + return ["string", e, n]; + })(r); + a === t && + e.pass( + (function () { + if ("object" == typeof r && !(r instanceof RegExp) && r.async) { + if (!f.$async) throw new Error("async format in sync schema"); + return codegen_1._`await ${$}(${n})`; + } + return "function" == typeof s ? codegen_1._`${$}(${n})` : codegen_1._`${$}.test(${n})`; + })(), + ); + })()); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49 }, + ], + 111: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const format_1 = require("./format"), + format = [format_1.default]; + exports.default = format; + }, + { "./format": 110 }, + ], + 112: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }), + (exports.contentVocabulary = exports.metadataVocabulary = void 0), + (exports.metadataVocabulary = [ + "title", + "description", + "default", + "deprecated", + "readOnly", + "writeOnly", + "examples", + ]), + (exports.contentVocabulary = ["contentMediaType", "contentEncoding", "contentSchema"]); + }, + {}, + ], + 113: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const dependentRequired_1 = require("./validation/dependentRequired"), + dependentSchemas_1 = require("./applicator/dependentSchemas"), + limitContains_1 = require("./validation/limitContains"), + next = [dependentRequired_1.default, dependentSchemas_1.default, limitContains_1.default]; + exports.default = next; + }, + { "./applicator/dependentSchemas": 86, "./validation/dependentRequired": 118, "./validation/limitContains": 121 }, + ], + 114: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const unevaluatedProperties_1 = require("./unevaluatedProperties"), + unevaluatedItems_1 = require("./unevaluatedItems"), + unevaluated = [unevaluatedProperties_1.default, unevaluatedItems_1.default]; + exports.default = unevaluated; + }, + { "./unevaluatedItems": 115, "./unevaluatedProperties": 116 }, + ], + 115: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + error = { + message: ({ params: { len: e } }) => codegen_1.str`must NOT have more than ${e} items`, + params: ({ params: { len: e } }) => codegen_1._`{limit: ${e}}`, + }, + def = { + keyword: "unevaluatedItems", + type: "array", + schemaType: ["boolean", "object"], + error: error, + code(e) { + const { gen: t, schema: o, data: a, it: r } = e, + n = r.items || 0; + if (!0 === n) return; + const s = t.const("len", codegen_1._`${a}.length`); + if (!1 === o) e.setParams({ len: n }), e.fail(codegen_1._`${s} > ${n}`); + else if ("object" == typeof o && !(0, util_1.alwaysValidSchema)(r, o)) { + const o = t.var("valid", codegen_1._`${s} <= ${n}`); + t.if((0, codegen_1.not)(o), () => + (function (o, a) { + t.forRange("i", a, s, (a) => { + e.subschema({ keyword: "unevaluatedItems", dataProp: a, dataPropType: util_1.Type.Num }, o), + r.allErrors || t.if((0, codegen_1.not)(o), () => t.break()); + }); + })(o, n), + ), + e.ok(o); + } + r.items = !0; + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57 }, + ], + 116: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + names_1 = require("../../compile/names"), + error = { + message: "must NOT have unevaluated properties", + params: ({ params: e }) => codegen_1._`{unevaluatedProperty: ${e.unevaluatedProperty}}`, + }, + def = { + keyword: "unevaluatedProperties", + type: "object", + schemaType: ["boolean", "object"], + trackErrors: !0, + error: error, + code(e) { + const { gen: r, schema: o, data: t, errsCount: a, it: n } = e; + if (!a) throw new Error("ajv implementation error"); + const { allErrors: s, props: u } = n; + function i(t) { + if (!1 === o) return e.setParams({ unevaluatedProperty: t }), e.error(), void (s || r.break()); + if (!(0, util_1.alwaysValidSchema)(n, o)) { + const o = r.name("valid"); + e.subschema({ keyword: "unevaluatedProperties", dataProp: t, dataPropType: util_1.Type.Str }, o), + s || r.if((0, codegen_1.not)(o), () => r.break()); + } + } + u instanceof codegen_1.Name + ? r.if(codegen_1._`${u} !== true`, () => + r.forIn("key", t, (e) => + r.if( + (function (e, r) { + return codegen_1._`!${e} || !${e}[${r}]`; + })(u, e), + () => i(e), + ), + ), + ) + : !0 !== u && + r.forIn("key", t, (e) => + void 0 === u + ? i(e) + : r.if( + (function (e, r) { + const o = []; + for (const t in e) !0 === e[t] && o.push(codegen_1._`${r} !== ${t}`); + return (0, codegen_1.and)(...o); + })(u, e), + () => i(e), + ), + ), + (n.props = !0), + e.ok(codegen_1._`${a} === ${names_1.default.errors}`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/names": 53, "../../compile/util": 57 }, + ], + 117: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + equal_1 = require("../../runtime/equal"), + error = { + message: "must be equal to constant", + params: ({ schemaCode: e }) => codegen_1._`{allowedValue: ${e}}`, + }, + def = { + keyword: "const", + $data: !0, + error: error, + code(e) { + const { gen: a, data: o, $data: t, schemaCode: r, schema: d } = e; + t || (d && "object" == typeof d) + ? e.fail$data(codegen_1._`!${(0, util_1.useFunc)(a, equal_1.default)}(${o}, ${r})`) + : e.fail(codegen_1._`${d} !== ${o}`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../../runtime/equal": 76 }, + ], + 118: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const dependencies_1 = require("../applicator/dependencies"), + def = { + keyword: "dependentRequired", + type: "object", + schemaType: "object", + error: dependencies_1.error, + code: (e) => (0, dependencies_1.validatePropertyDeps)(e), + }; + exports.default = def; + }, + { "../applicator/dependencies": 85 }, + ], + 119: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + equal_1 = require("../../runtime/equal"), + error = { + message: "must be equal to one of the allowed values", + params: ({ schemaCode: e }) => codegen_1._`{allowedValues: ${e}}`, + }, + def = { + keyword: "enum", + schemaType: "array", + $data: !0, + error: error, + code(e) { + const { gen: o, data: r, $data: t, schema: a, schemaCode: n, it: l } = e; + if (!t && 0 === a.length) throw new Error("enum must have non-empty array"); + const s = a.length >= l.opts.loopEnum; + let u; + const c = () => (null != u ? u : (u = (0, util_1.useFunc)(o, equal_1.default))); + let d; + if (s || t) + (d = o.let("valid")), + e.block$data(d, function () { + o.assign(d, !1), + o.forOf("v", n, (e) => o.if(codegen_1._`${c()}(${r}, ${e})`, () => o.assign(d, !0).break())); + }); + else { + if (!Array.isArray(a)) throw new Error("ajv implementation error"); + const e = o.const("vSchema", n); + d = (0, codegen_1.or)( + ...a.map((o, t) => + (function (e, o) { + const t = a[o]; + return "object" == typeof t && null !== t + ? codegen_1._`${c()}(${r}, ${e}[${o}])` + : codegen_1._`${r} === ${t}`; + })(e, t), + ), + ); + } + e.pass(d); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../../runtime/equal": 76 }, + ], + 120: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const limitNumber_1 = require("./limitNumber"), + multipleOf_1 = require("./multipleOf"), + limitLength_1 = require("./limitLength"), + pattern_1 = require("./pattern"), + limitProperties_1 = require("./limitProperties"), + required_1 = require("./required"), + limitItems_1 = require("./limitItems"), + uniqueItems_1 = require("./uniqueItems"), + const_1 = require("./const"), + enum_1 = require("./enum"), + validation = [ + limitNumber_1.default, + multipleOf_1.default, + limitLength_1.default, + pattern_1.default, + limitProperties_1.default, + required_1.default, + limitItems_1.default, + uniqueItems_1.default, + { keyword: "type", schemaType: ["string", "array"] }, + { keyword: "nullable", schemaType: "boolean" }, + const_1.default, + enum_1.default, + ]; + exports.default = validation; + }, + { + "./const": 117, + "./enum": 119, + "./limitItems": 122, + "./limitLength": 123, + "./limitNumber": 124, + "./limitProperties": 125, + "./multipleOf": 126, + "./pattern": 127, + "./required": 128, + "./uniqueItems": 129, + }, + ], + 121: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const util_1 = require("../../compile/util"), + def = { + keyword: ["maxContains", "minContains"], + type: "array", + schemaType: "number", + code({ keyword: e, parentSchema: t, it: i }) { + void 0 === t.contains && (0, util_1.checkStrictMode)(i, `"${e}" without "contains" is ignored`); + }, + }; + exports.default = def; + }, + { "../../compile/util": 57 }, + ], + 122: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + error = { + message({ keyword: e, schemaCode: r }) { + const o = "maxItems" === e ? "more" : "fewer"; + return codegen_1.str`must NOT have ${o} than ${r} items`; + }, + params: ({ schemaCode: e }) => codegen_1._`{limit: ${e}}`, + }, + def = { + keyword: ["maxItems", "minItems"], + type: "array", + schemaType: "number", + $data: !0, + error: error, + code(e) { + const { keyword: r, data: o, schemaCode: t } = e, + a = "maxItems" === r ? codegen_1.operators.GT : codegen_1.operators.LT; + e.fail$data(codegen_1._`${o}.length ${a} ${t}`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49 }, + ], + 123: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + ucs2length_1 = require("../../runtime/ucs2length"), + error = { + message({ keyword: e, schemaCode: r }) { + const t = "maxLength" === e ? "more" : "fewer"; + return codegen_1.str`must NOT have ${t} than ${r} characters`; + }, + params: ({ schemaCode: e }) => codegen_1._`{limit: ${e}}`, + }, + def = { + keyword: ["maxLength", "minLength"], + type: "string", + schemaType: "number", + $data: !0, + error: error, + code(e) { + const { keyword: r, data: t, schemaCode: o, it: n } = e, + c = "maxLength" === r ? codegen_1.operators.GT : codegen_1.operators.LT, + a = + !1 === n.opts.unicode + ? codegen_1._`${t}.length` + : codegen_1._`${(0, util_1.useFunc)(e.gen, ucs2length_1.default)}(${t})`; + e.fail$data(codegen_1._`${a} ${c} ${o}`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../../runtime/ucs2length": 77 }, + ], + 124: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + ops = codegen_1.operators, + KWDs = { + maximum: { okStr: "<=", ok: ops.LTE, fail: ops.GT }, + minimum: { okStr: ">=", ok: ops.GTE, fail: ops.LT }, + exclusiveMaximum: { okStr: "<", ok: ops.LT, fail: ops.GTE }, + exclusiveMinimum: { okStr: ">", ok: ops.GT, fail: ops.LTE }, + }, + error = { + message: ({ keyword: e, schemaCode: o }) => codegen_1.str`must be ${KWDs[e].okStr} ${o}`, + params: ({ keyword: e, schemaCode: o }) => codegen_1._`{comparison: ${KWDs[e].okStr}, limit: ${o}}`, + }, + def = { + keyword: Object.keys(KWDs), + type: "number", + schemaType: "number", + $data: !0, + error: error, + code(e) { + const { keyword: o, data: s, schemaCode: r } = e; + e.fail$data(codegen_1._`${s} ${KWDs[o].fail} ${r} || isNaN(${s})`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49 }, + ], + 125: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + error = { + message({ keyword: e, schemaCode: r }) { + const o = "maxProperties" === e ? "more" : "fewer"; + return codegen_1.str`must NOT have ${o} than ${r} properties`; + }, + params: ({ schemaCode: e }) => codegen_1._`{limit: ${e}}`, + }, + def = { + keyword: ["maxProperties", "minProperties"], + type: "object", + schemaType: "number", + $data: !0, + error: error, + code(e) { + const { keyword: r, data: o, schemaCode: t } = e, + s = "maxProperties" === r ? codegen_1.operators.GT : codegen_1.operators.LT; + e.fail$data(codegen_1._`Object.keys(${o}).length ${s} ${t}`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49 }, + ], + 126: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const codegen_1 = require("../../compile/codegen"), + error = { + message: ({ schemaCode: e }) => codegen_1.str`must be multiple of ${e}`, + params: ({ schemaCode: e }) => codegen_1._`{multipleOf: ${e}}`, + }, + def = { + keyword: "multipleOf", + type: "number", + schemaType: "number", + $data: !0, + error: error, + code(e) { + const { gen: o, data: r, schemaCode: t, it: d } = e, + s = d.opts.multipleOfPrecision, + a = o.let("res"), + c = s ? codegen_1._`Math.abs(Math.round(${a}) - ${a}) > 1e-${s}` : codegen_1._`${a} !== parseInt(${a})`; + e.fail$data(codegen_1._`(${t} === 0 || (${a} = ${r}/${t}, ${c}))`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49 }, + ], + 127: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const code_1 = require("../code"), + codegen_1 = require("../../compile/codegen"), + error = { + message: ({ schemaCode: e }) => codegen_1.str`must match pattern "${e}"`, + params: ({ schemaCode: e }) => codegen_1._`{pattern: ${e}}`, + }, + def = { + keyword: "pattern", + type: "string", + schemaType: "string", + $data: !0, + error: error, + code(e) { + const { data: t, $data: r, schema: o, schemaCode: a, it: d } = e, + c = d.opts.unicodeRegExp ? "u" : "", + s = r ? codegen_1._`(new RegExp(${a}, ${c}))` : (0, code_1.usePattern)(e, o); + e.fail$data(codegen_1._`!${s}.test(${t})`); + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../code": 98 }, + ], + 128: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const code_1 = require("../code"), + codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + error = { + message: ({ params: { missingProperty: e } }) => codegen_1.str`must have required property '${e}'`, + params: ({ params: { missingProperty: e } }) => codegen_1._`{missingProperty: ${e}}`, + }, + def = { + keyword: "required", + type: "object", + schemaType: "array", + $data: !0, + error: error, + code(e) { + const { gen: r, schema: o, schemaCode: t, data: i, $data: s, it: n } = e, + { opts: c } = n; + if (!s && 0 === o.length) return; + const a = o.length >= c.loopRequired; + if ( + (n.allErrors + ? (function () { + if (a || s) e.block$data(codegen_1.nil, d); + else for (const r of o) (0, code_1.checkReportMissingProp)(e, r); + })() + : (function () { + const n = r.let("missing"); + if (a || s) { + const o = r.let("valid", !0); + e.block$data(o, () => + (function (o, s) { + e.setParams({ missingProperty: o }), + r.forOf( + o, + t, + () => { + r.assign(s, (0, code_1.propertyInData)(r, i, o, c.ownProperties)), + r.if((0, codegen_1.not)(s), () => { + e.error(), r.break(); + }); + }, + codegen_1.nil, + ); + })(n, o), + ), + e.ok(o); + } else r.if((0, code_1.checkMissingProp)(e, o, n)), (0, code_1.reportMissingProp)(e, n), r.else(); + })(), + c.strictRequired) + ) { + const r = e.parentSchema.properties, + { definedProperties: t } = e.it; + for (const e of o) + if (void 0 === (null == r ? void 0 : r[e]) && !t.has(e)) { + const r = `required property "${e}" is not defined at "${n.schemaEnv.baseId + n.errSchemaPath}" (strictRequired)`; + (0, util_1.checkStrictMode)(n, r, n.opts.strictRequired); + } + } + function d() { + r.forOf("prop", t, (o) => { + e.setParams({ missingProperty: o }), + r.if((0, code_1.noPropertyInData)(r, i, o, c.ownProperties), () => e.error()); + }); + } + }, + }; + exports.default = def; + }, + { "../../compile/codegen": 49, "../../compile/util": 57, "../code": 98 }, + ], + 129: [ + function (require, module, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: !0 }); + const dataType_1 = require("../../compile/validate/dataType"), + codegen_1 = require("../../compile/codegen"), + util_1 = require("../../compile/util"), + equal_1 = require("../../runtime/equal"), + error = { + message: ({ params: { i: e, j: a } }) => + codegen_1.str`must NOT have duplicate items (items ## ${a} and ${e} are identical)`, + params: ({ params: { i: e, j: a } }) => codegen_1._`{i: ${e}, j: ${a}}`, + }, + def = { + keyword: "uniqueItems", + type: "array", + schemaType: "boolean", + $data: !0, + error: error, + code(e) { + const { gen: a, data: t, $data: o, schema: n, parentSchema: r, schemaCode: c, it: i } = e; + if (!o && !n) return; + const s = a.let("valid"), + _ = r.items ? (0, dataType_1.getSchemaTypes)(r.items) : []; + e.block$data( + s, + function () { + const o = a.let("i", codegen_1._`${t}.length`), + n = a.let("j"); + e.setParams({ i: o, j: n }), + a.assign(s, !0), + a.if(codegen_1._`${o} > 1`, () => + (_.length > 0 && !_.some((e) => "object" === e || "array" === e) + ? function (o, n) { + const r = a.name("item"), + c = (0, dataType_1.checkDataTypes)(_, r, i.opts.strictNumbers, dataType_1.DataType.Wrong), + d = a.const("indices", codegen_1._`{}`); + a.for(codegen_1._`;${o}--;`, () => { + a.let(r, codegen_1._`${t}[${o}]`), + a.if(c, codegen_1._`continue`), + _.length > 1 && a.if(codegen_1._`typeof ${r} == "string"`, codegen_1._`${r} += "_"`), + a + .if(codegen_1._`typeof ${d}[${r}] == "number"`, () => { + a.assign(n, codegen_1._`${d}[${r}]`), e.error(), a.assign(s, !1).break(); + }) + .code(codegen_1._`${d}[${r}] = ${o}`); + }); + } + : function (o, n) { + const r = (0, util_1.useFunc)(a, equal_1.default), + c = a.name("outer"); + a.label(c).for(codegen_1._`;${o}--;`, () => + a.for(codegen_1._`${n} = ${o}; ${n}--;`, () => + a.if(codegen_1._`${r}(${t}[${o}], ${t}[${n}])`, () => { + e.error(), a.assign(s, !1).break(c); + }), + ), + ); + })(o, n), + ); + }, + codegen_1._`${c} === false`, + ), + e.ok(s); + }, + }; + exports.default = def; + }, + { + "../../compile/codegen": 49, + "../../compile/util": 57, + "../../compile/validate/dataType": 60, + "../../runtime/equal": 76, + }, + ], + 130: [ + function (require, module, exports) { + "use strict"; + (exports.byteLength = byteLength), (exports.toByteArray = toByteArray), (exports.fromByteArray = fromByteArray); + for ( + var lookup = [], + revLookup = [], + Arr = "undefined" != typeof Uint8Array ? Uint8Array : Array, + code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", + i = 0, + len = code.length; + i < len; + ++i + ) + (lookup[i] = code[i]), (revLookup[code.charCodeAt(i)] = i); + function getLens(o) { + var r = o.length; + if (r % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); + var e = o.indexOf("="); + return -1 === e && (e = r), [e, e === r ? 0 : 4 - (e % 4)]; + } + function byteLength(o) { + var r = getLens(o), + e = r[0], + t = r[1]; + return (3 * (e + t)) / 4 - t; + } + function _byteLength(o, r, e) { + return (3 * (r + e)) / 4 - e; + } + function toByteArray(o) { + var r, + e, + t = getLens(o), + n = t[0], + u = t[1], + p = new Arr(_byteLength(o, n, u)), + a = 0, + h = u > 0 ? n - 4 : n; + for (e = 0; e < h; e += 4) + (r = + (revLookup[o.charCodeAt(e)] << 18) | + (revLookup[o.charCodeAt(e + 1)] << 12) | + (revLookup[o.charCodeAt(e + 2)] << 6) | + revLookup[o.charCodeAt(e + 3)]), + (p[a++] = (r >> 16) & 255), + (p[a++] = (r >> 8) & 255), + (p[a++] = 255 & r); + return ( + 2 === u && + ((r = (revLookup[o.charCodeAt(e)] << 2) | (revLookup[o.charCodeAt(e + 1)] >> 4)), (p[a++] = 255 & r)), + 1 === u && + ((r = + (revLookup[o.charCodeAt(e)] << 10) | + (revLookup[o.charCodeAt(e + 1)] << 4) | + (revLookup[o.charCodeAt(e + 2)] >> 2)), + (p[a++] = (r >> 8) & 255), + (p[a++] = 255 & r)), + p + ); + } + function tripletToBase64(o) { + return lookup[(o >> 18) & 63] + lookup[(o >> 12) & 63] + lookup[(o >> 6) & 63] + lookup[63 & o]; + } + function encodeChunk(o, r, e) { + for (var t, n = [], u = r; u < e; u += 3) + (t = ((o[u] << 16) & 16711680) + ((o[u + 1] << 8) & 65280) + (255 & o[u + 2])), n.push(tripletToBase64(t)); + return n.join(""); + } + function fromByteArray(o) { + for (var r, e = o.length, t = e % 3, n = [], u = 0, p = e - t; u < p; u += 16383) + n.push(encodeChunk(o, u, u + 16383 > p ? p : u + 16383)); + return ( + 1 === t + ? ((r = o[e - 1]), n.push(lookup[r >> 2] + lookup[(r << 4) & 63] + "==")) + : 2 === t && + ((r = (o[e - 2] << 8) + o[e - 1]), + n.push(lookup[r >> 10] + lookup[(r >> 4) & 63] + lookup[(r << 2) & 63] + "=")), + n.join("") + ); + } + (revLookup["-".charCodeAt(0)] = 62), (revLookup["_".charCodeAt(0)] = 63); + }, + {}, + ], + 131: [function (require, module, exports) {}, {}], + 132: [ + function (require, module, exports) { + (function (Buffer) { + (function () { + /*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + "use strict"; + var base64 = require("base64-js"), + ieee754 = require("ieee754"); + (exports.Buffer = Buffer), (exports.SlowBuffer = SlowBuffer), (exports.INSPECT_MAX_BYTES = 50); + var K_MAX_LENGTH = 2147483647; + function typedArraySupport() { + try { + var e = new Uint8Array(1); + return ( + (e.__proto__ = { + __proto__: Uint8Array.prototype, + foo: function () { + return 42; + }, + }), + 42 === e.foo() + ); + } catch (e) { + return !1; + } + } + function createBuffer(e) { + if (e > K_MAX_LENGTH) throw new RangeError('The value "' + e + '" is invalid for option "size"'); + var t = new Uint8Array(e); + return (t.__proto__ = Buffer.prototype), t; + } + function Buffer(e, t, r) { + if ("number" == typeof e) { + if ("string" == typeof t) + throw new TypeError('The "string" argument must be of type string. Received type number'); + return allocUnsafe(e); + } + return from(e, t, r); + } + function from(e, t, r) { + if ("string" == typeof e) return fromString(e, t); + if (ArrayBuffer.isView(e)) return fromArrayLike(e); + if (null == e) + throw TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + + typeof e, + ); + if (isInstance(e, ArrayBuffer) || (e && isInstance(e.buffer, ArrayBuffer))) + return fromArrayBuffer(e, t, r); + if ("number" == typeof e) + throw new TypeError('The "value" argument must not be of type number. Received type number'); + var n = e.valueOf && e.valueOf(); + if (null != n && n !== e) return Buffer.from(n, t, r); + var f = fromObject(e); + if (f) return f; + if ( + "undefined" != typeof Symbol && + null != Symbol.toPrimitive && + "function" == typeof e[Symbol.toPrimitive] + ) + return Buffer.from(e[Symbol.toPrimitive]("string"), t, r); + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + + typeof e, + ); + } + function assertSize(e) { + if ("number" != typeof e) throw new TypeError('"size" argument must be of type number'); + if (e < 0) throw new RangeError('The value "' + e + '" is invalid for option "size"'); + } + function alloc(e, t, r) { + return ( + assertSize(e), + e <= 0 + ? createBuffer(e) + : void 0 !== t + ? "string" == typeof r + ? createBuffer(e).fill(t, r) + : createBuffer(e).fill(t) + : createBuffer(e) + ); + } + function allocUnsafe(e) { + return assertSize(e), createBuffer(e < 0 ? 0 : 0 | checked(e)); + } + function fromString(e, t) { + if ((("string" == typeof t && "" !== t) || (t = "utf8"), !Buffer.isEncoding(t))) + throw new TypeError("Unknown encoding: " + t); + var r = 0 | byteLength(e, t), + n = createBuffer(r), + f = n.write(e, t); + return f !== r && (n = n.slice(0, f)), n; + } + function fromArrayLike(e) { + for (var t = e.length < 0 ? 0 : 0 | checked(e.length), r = createBuffer(t), n = 0; n < t; n += 1) + r[n] = 255 & e[n]; + return r; + } + function fromArrayBuffer(e, t, r) { + if (t < 0 || e.byteLength < t) throw new RangeError('"offset" is outside of buffer bounds'); + if (e.byteLength < t + (r || 0)) throw new RangeError('"length" is outside of buffer bounds'); + var n; + return ( + ((n = + void 0 === t && void 0 === r + ? new Uint8Array(e) + : void 0 === r + ? new Uint8Array(e, t) + : new Uint8Array(e, t, r)).__proto__ = Buffer.prototype), + n + ); + } + function fromObject(e) { + if (Buffer.isBuffer(e)) { + var t = 0 | checked(e.length), + r = createBuffer(t); + return 0 === r.length ? r : (e.copy(r, 0, 0, t), r); + } + return void 0 !== e.length + ? "number" != typeof e.length || numberIsNaN(e.length) + ? createBuffer(0) + : fromArrayLike(e) + : "Buffer" === e.type && Array.isArray(e.data) + ? fromArrayLike(e.data) + : void 0; + } + function checked(e) { + if (e >= K_MAX_LENGTH) + throw new RangeError( + "Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes", + ); + return 0 | e; + } + function SlowBuffer(e) { + return +e != e && (e = 0), Buffer.alloc(+e); + } + function byteLength(e, t) { + if (Buffer.isBuffer(e)) return e.length; + if (ArrayBuffer.isView(e) || isInstance(e, ArrayBuffer)) return e.byteLength; + if ("string" != typeof e) + throw new TypeError( + 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof e, + ); + var r = e.length, + n = arguments.length > 2 && !0 === arguments[2]; + if (!n && 0 === r) return 0; + for (var f = !1; ; ) + switch (t) { + case "ascii": + case "latin1": + case "binary": + return r; + case "utf8": + case "utf-8": + return utf8ToBytes(e).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return 2 * r; + case "hex": + return r >>> 1; + case "base64": + return base64ToBytes(e).length; + default: + if (f) return n ? -1 : utf8ToBytes(e).length; + (t = ("" + t).toLowerCase()), (f = !0); + } + } + function slowToString(e, t, r) { + var n = !1; + if (((void 0 === t || t < 0) && (t = 0), t > this.length)) return ""; + if (((void 0 === r || r > this.length) && (r = this.length), r <= 0)) return ""; + if ((r >>>= 0) <= (t >>>= 0)) return ""; + for (e || (e = "utf8"); ; ) + switch (e) { + case "hex": + return hexSlice(this, t, r); + case "utf8": + case "utf-8": + return utf8Slice(this, t, r); + case "ascii": + return asciiSlice(this, t, r); + case "latin1": + case "binary": + return latin1Slice(this, t, r); + case "base64": + return base64Slice(this, t, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return utf16leSlice(this, t, r); + default: + if (n) throw new TypeError("Unknown encoding: " + e); + (e = (e + "").toLowerCase()), (n = !0); + } + } + function swap(e, t, r) { + var n = e[t]; + (e[t] = e[r]), (e[r] = n); + } + function bidirectionalIndexOf(e, t, r, n, f) { + if (0 === e.length) return -1; + if ( + ("string" == typeof r + ? ((n = r), (r = 0)) + : r > 2147483647 + ? (r = 2147483647) + : r < -2147483648 && (r = -2147483648), + numberIsNaN((r = +r)) && (r = f ? 0 : e.length - 1), + r < 0 && (r = e.length + r), + r >= e.length) + ) { + if (f) return -1; + r = e.length - 1; + } else if (r < 0) { + if (!f) return -1; + r = 0; + } + if (("string" == typeof t && (t = Buffer.from(t, n)), Buffer.isBuffer(t))) + return 0 === t.length ? -1 : arrayIndexOf(e, t, r, n, f); + if ("number" == typeof t) + return ( + (t &= 255), + "function" == typeof Uint8Array.prototype.indexOf + ? f + ? Uint8Array.prototype.indexOf.call(e, t, r) + : Uint8Array.prototype.lastIndexOf.call(e, t, r) + : arrayIndexOf(e, [t], r, n, f) + ); + throw new TypeError("val must be string, number or Buffer"); + } + function arrayIndexOf(e, t, r, n, f) { + var i, + o = 1, + u = e.length, + s = t.length; + if ( + void 0 !== n && + ("ucs2" === (n = String(n).toLowerCase()) || "ucs-2" === n || "utf16le" === n || "utf-16le" === n) + ) { + if (e.length < 2 || t.length < 2) return -1; + (o = 2), (u /= 2), (s /= 2), (r /= 2); + } + function a(e, t) { + return 1 === o ? e[t] : e.readUInt16BE(t * o); + } + if (f) { + var h = -1; + for (i = r; i < u; i++) + if (a(e, i) === a(t, -1 === h ? 0 : i - h)) { + if ((-1 === h && (h = i), i - h + 1 === s)) return h * o; + } else -1 !== h && (i -= i - h), (h = -1); + } else + for (r + s > u && (r = u - s), i = r; i >= 0; i--) { + for (var c = !0, l = 0; l < s; l++) + if (a(e, i + l) !== a(t, l)) { + c = !1; + break; + } + if (c) return i; + } + return -1; + } + function hexWrite(e, t, r, n) { + r = Number(r) || 0; + var f = e.length - r; + n ? (n = Number(n)) > f && (n = f) : (n = f); + var i = t.length; + n > i / 2 && (n = i / 2); + for (var o = 0; o < n; ++o) { + var u = parseInt(t.substr(2 * o, 2), 16); + if (numberIsNaN(u)) return o; + e[r + o] = u; + } + return o; + } + function utf8Write(e, t, r, n) { + return blitBuffer(utf8ToBytes(t, e.length - r), e, r, n); + } + function asciiWrite(e, t, r, n) { + return blitBuffer(asciiToBytes(t), e, r, n); + } + function latin1Write(e, t, r, n) { + return asciiWrite(e, t, r, n); + } + function base64Write(e, t, r, n) { + return blitBuffer(base64ToBytes(t), e, r, n); + } + function ucs2Write(e, t, r, n) { + return blitBuffer(utf16leToBytes(t, e.length - r), e, r, n); + } + function base64Slice(e, t, r) { + return 0 === t && r === e.length ? base64.fromByteArray(e) : base64.fromByteArray(e.slice(t, r)); + } + function utf8Slice(e, t, r) { + r = Math.min(e.length, r); + for (var n = [], f = t; f < r; ) { + var i, + o, + u, + s, + a = e[f], + h = null, + c = a > 239 ? 4 : a > 223 ? 3 : a > 191 ? 2 : 1; + if (f + c <= r) + switch (c) { + case 1: + a < 128 && (h = a); + break; + case 2: + 128 == (192 & (i = e[f + 1])) && (s = ((31 & a) << 6) | (63 & i)) > 127 && (h = s); + break; + case 3: + (i = e[f + 1]), + (o = e[f + 2]), + 128 == (192 & i) && + 128 == (192 & o) && + (s = ((15 & a) << 12) | ((63 & i) << 6) | (63 & o)) > 2047 && + (s < 55296 || s > 57343) && + (h = s); + break; + case 4: + (i = e[f + 1]), + (o = e[f + 2]), + (u = e[f + 3]), + 128 == (192 & i) && + 128 == (192 & o) && + 128 == (192 & u) && + (s = ((15 & a) << 18) | ((63 & i) << 12) | ((63 & o) << 6) | (63 & u)) > 65535 && + s < 1114112 && + (h = s); + } + null === h + ? ((h = 65533), (c = 1)) + : h > 65535 && ((h -= 65536), n.push(((h >>> 10) & 1023) | 55296), (h = 56320 | (1023 & h))), + n.push(h), + (f += c); + } + return decodeCodePointsArray(n); + } + (exports.kMaxLength = K_MAX_LENGTH), + (Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport()), + Buffer.TYPED_ARRAY_SUPPORT || + "undefined" == typeof console || + "function" != typeof console.error || + console.error( + "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.", + ), + Object.defineProperty(Buffer.prototype, "parent", { + enumerable: !0, + get: function () { + if (Buffer.isBuffer(this)) return this.buffer; + }, + }), + Object.defineProperty(Buffer.prototype, "offset", { + enumerable: !0, + get: function () { + if (Buffer.isBuffer(this)) return this.byteOffset; + }, + }), + "undefined" != typeof Symbol && + null != Symbol.species && + Buffer[Symbol.species] === Buffer && + Object.defineProperty(Buffer, Symbol.species, { + value: null, + configurable: !0, + enumerable: !1, + writable: !1, + }), + (Buffer.poolSize = 8192), + (Buffer.from = function (e, t, r) { + return from(e, t, r); + }), + (Buffer.prototype.__proto__ = Uint8Array.prototype), + (Buffer.__proto__ = Uint8Array), + (Buffer.alloc = function (e, t, r) { + return alloc(e, t, r); + }), + (Buffer.allocUnsafe = function (e) { + return allocUnsafe(e); + }), + (Buffer.allocUnsafeSlow = function (e) { + return allocUnsafe(e); + }), + (Buffer.isBuffer = function (e) { + return null != e && !0 === e._isBuffer && e !== Buffer.prototype; + }), + (Buffer.compare = function (e, t) { + if ( + (isInstance(e, Uint8Array) && (e = Buffer.from(e, e.offset, e.byteLength)), + isInstance(t, Uint8Array) && (t = Buffer.from(t, t.offset, t.byteLength)), + !Buffer.isBuffer(e) || !Buffer.isBuffer(t)) + ) + throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); + if (e === t) return 0; + for (var r = e.length, n = t.length, f = 0, i = Math.min(r, n); f < i; ++f) + if (e[f] !== t[f]) { + (r = e[f]), (n = t[f]); + break; + } + return r < n ? -1 : n < r ? 1 : 0; + }), + (Buffer.isEncoding = function (e) { + switch (String(e).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return !0; + default: + return !1; + } + }), + (Buffer.concat = function (e, t) { + if (!Array.isArray(e)) throw new TypeError('"list" argument must be an Array of Buffers'); + if (0 === e.length) return Buffer.alloc(0); + var r; + if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) t += e[r].length; + var n = Buffer.allocUnsafe(t), + f = 0; + for (r = 0; r < e.length; ++r) { + var i = e[r]; + if ((isInstance(i, Uint8Array) && (i = Buffer.from(i)), !Buffer.isBuffer(i))) + throw new TypeError('"list" argument must be an Array of Buffers'); + i.copy(n, f), (f += i.length); + } + return n; + }), + (Buffer.byteLength = byteLength), + (Buffer.prototype._isBuffer = !0), + (Buffer.prototype.swap16 = function () { + var e = this.length; + if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); + for (var t = 0; t < e; t += 2) swap(this, t, t + 1); + return this; + }), + (Buffer.prototype.swap32 = function () { + var e = this.length; + if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); + for (var t = 0; t < e; t += 4) swap(this, t, t + 3), swap(this, t + 1, t + 2); + return this; + }), + (Buffer.prototype.swap64 = function () { + var e = this.length; + if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); + for (var t = 0; t < e; t += 8) + swap(this, t, t + 7), swap(this, t + 1, t + 6), swap(this, t + 2, t + 5), swap(this, t + 3, t + 4); + return this; + }), + (Buffer.prototype.toString = function () { + var e = this.length; + return 0 === e + ? "" + : 0 === arguments.length + ? utf8Slice(this, 0, e) + : slowToString.apply(this, arguments); + }), + (Buffer.prototype.toLocaleString = Buffer.prototype.toString), + (Buffer.prototype.equals = function (e) { + if (!Buffer.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); + return this === e || 0 === Buffer.compare(this, e); + }), + (Buffer.prototype.inspect = function () { + var e = "", + t = exports.INSPECT_MAX_BYTES; + return ( + (e = this.toString("hex", 0, t) + .replace(/(.{2})/g, "$1 ") + .trim()), + this.length > t && (e += " ... "), + "" + ); + }), + (Buffer.prototype.compare = function (e, t, r, n, f) { + if ((isInstance(e, Uint8Array) && (e = Buffer.from(e, e.offset, e.byteLength)), !Buffer.isBuffer(e))) + throw new TypeError( + 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof e, + ); + if ( + (void 0 === t && (t = 0), + void 0 === r && (r = e ? e.length : 0), + void 0 === n && (n = 0), + void 0 === f && (f = this.length), + t < 0 || r > e.length || n < 0 || f > this.length) + ) + throw new RangeError("out of range index"); + if (n >= f && t >= r) return 0; + if (n >= f) return -1; + if (t >= r) return 1; + if (this === e) return 0; + for ( + var i = (f >>>= 0) - (n >>>= 0), + o = (r >>>= 0) - (t >>>= 0), + u = Math.min(i, o), + s = this.slice(n, f), + a = e.slice(t, r), + h = 0; + h < u; + ++h + ) + if (s[h] !== a[h]) { + (i = s[h]), (o = a[h]); + break; + } + return i < o ? -1 : o < i ? 1 : 0; + }), + (Buffer.prototype.includes = function (e, t, r) { + return -1 !== this.indexOf(e, t, r); + }), + (Buffer.prototype.indexOf = function (e, t, r) { + return bidirectionalIndexOf(this, e, t, r, !0); + }), + (Buffer.prototype.lastIndexOf = function (e, t, r) { + return bidirectionalIndexOf(this, e, t, r, !1); + }), + (Buffer.prototype.write = function (e, t, r, n) { + if (void 0 === t) (n = "utf8"), (r = this.length), (t = 0); + else if (void 0 === r && "string" == typeof t) (n = t), (r = this.length), (t = 0); + else { + if (!isFinite(t)) + throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); + (t >>>= 0), isFinite(r) ? ((r >>>= 0), void 0 === n && (n = "utf8")) : ((n = r), (r = void 0)); + } + var f = this.length - t; + if (((void 0 === r || r > f) && (r = f), (e.length > 0 && (r < 0 || t < 0)) || t > this.length)) + throw new RangeError("Attempt to write outside buffer bounds"); + n || (n = "utf8"); + for (var i = !1; ; ) + switch (n) { + case "hex": + return hexWrite(this, e, t, r); + case "utf8": + case "utf-8": + return utf8Write(this, e, t, r); + case "ascii": + return asciiWrite(this, e, t, r); + case "latin1": + case "binary": + return latin1Write(this, e, t, r); + case "base64": + return base64Write(this, e, t, r); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return ucs2Write(this, e, t, r); + default: + if (i) throw new TypeError("Unknown encoding: " + n); + (n = ("" + n).toLowerCase()), (i = !0); + } + }), + (Buffer.prototype.toJSON = function () { + return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) }; + }); + var MAX_ARGUMENTS_LENGTH = 4096; + function decodeCodePointsArray(e) { + var t = e.length; + if (t <= MAX_ARGUMENTS_LENGTH) return String.fromCharCode.apply(String, e); + for (var r = "", n = 0; n < t; ) + r += String.fromCharCode.apply(String, e.slice(n, (n += MAX_ARGUMENTS_LENGTH))); + return r; + } + function asciiSlice(e, t, r) { + var n = ""; + r = Math.min(e.length, r); + for (var f = t; f < r; ++f) n += String.fromCharCode(127 & e[f]); + return n; + } + function latin1Slice(e, t, r) { + var n = ""; + r = Math.min(e.length, r); + for (var f = t; f < r; ++f) n += String.fromCharCode(e[f]); + return n; + } + function hexSlice(e, t, r) { + var n = e.length; + (!t || t < 0) && (t = 0), (!r || r < 0 || r > n) && (r = n); + for (var f = "", i = t; i < r; ++i) f += toHex(e[i]); + return f; + } + function utf16leSlice(e, t, r) { + for (var n = e.slice(t, r), f = "", i = 0; i < n.length; i += 2) + f += String.fromCharCode(n[i] + 256 * n[i + 1]); + return f; + } + function checkOffset(e, t, r) { + if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint"); + if (e + t > r) throw new RangeError("Trying to access beyond buffer length"); + } + function checkInt(e, t, r, n, f, i) { + if (!Buffer.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance'); + if (t > f || t < i) throw new RangeError('"value" argument is out of bounds'); + if (r + n > e.length) throw new RangeError("Index out of range"); + } + function checkIEEE754(e, t, r, n, f, i) { + if (r + n > e.length) throw new RangeError("Index out of range"); + if (r < 0) throw new RangeError("Index out of range"); + } + function writeFloat(e, t, r, n, f) { + return ( + (t = +t), + (r >>>= 0), + f || checkIEEE754(e, t, r, 4, 3.4028234663852886e38, -3.4028234663852886e38), + ieee754.write(e, t, r, n, 23, 4), + r + 4 + ); + } + function writeDouble(e, t, r, n, f) { + return ( + (t = +t), + (r >>>= 0), + f || checkIEEE754(e, t, r, 8, 1.7976931348623157e308, -1.7976931348623157e308), + ieee754.write(e, t, r, n, 52, 8), + r + 8 + ); + } + (Buffer.prototype.slice = function (e, t) { + var r = this.length; + (e = ~~e) < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), + (t = void 0 === t ? r : ~~t) < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), + t < e && (t = e); + var n = this.subarray(e, t); + return (n.__proto__ = Buffer.prototype), n; + }), + (Buffer.prototype.readUIntLE = function (e, t, r) { + (e >>>= 0), (t >>>= 0), r || checkOffset(e, t, this.length); + for (var n = this[e], f = 1, i = 0; ++i < t && (f *= 256); ) n += this[e + i] * f; + return n; + }), + (Buffer.prototype.readUIntBE = function (e, t, r) { + (e >>>= 0), (t >>>= 0), r || checkOffset(e, t, this.length); + for (var n = this[e + --t], f = 1; t > 0 && (f *= 256); ) n += this[e + --t] * f; + return n; + }), + (Buffer.prototype.readUInt8 = function (e, t) { + return (e >>>= 0), t || checkOffset(e, 1, this.length), this[e]; + }), + (Buffer.prototype.readUInt16LE = function (e, t) { + return (e >>>= 0), t || checkOffset(e, 2, this.length), this[e] | (this[e + 1] << 8); + }), + (Buffer.prototype.readUInt16BE = function (e, t) { + return (e >>>= 0), t || checkOffset(e, 2, this.length), (this[e] << 8) | this[e + 1]; + }), + (Buffer.prototype.readUInt32LE = function (e, t) { + return ( + (e >>>= 0), + t || checkOffset(e, 4, this.length), + (this[e] | (this[e + 1] << 8) | (this[e + 2] << 16)) + 16777216 * this[e + 3] + ); + }), + (Buffer.prototype.readUInt32BE = function (e, t) { + return ( + (e >>>= 0), + t || checkOffset(e, 4, this.length), + 16777216 * this[e] + ((this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3]) + ); + }), + (Buffer.prototype.readIntLE = function (e, t, r) { + (e >>>= 0), (t >>>= 0), r || checkOffset(e, t, this.length); + for (var n = this[e], f = 1, i = 0; ++i < t && (f *= 256); ) n += this[e + i] * f; + return n >= (f *= 128) && (n -= Math.pow(2, 8 * t)), n; + }), + (Buffer.prototype.readIntBE = function (e, t, r) { + (e >>>= 0), (t >>>= 0), r || checkOffset(e, t, this.length); + for (var n = t, f = 1, i = this[e + --n]; n > 0 && (f *= 256); ) i += this[e + --n] * f; + return i >= (f *= 128) && (i -= Math.pow(2, 8 * t)), i; + }), + (Buffer.prototype.readInt8 = function (e, t) { + return ( + (e >>>= 0), t || checkOffset(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e] + ); + }), + (Buffer.prototype.readInt16LE = function (e, t) { + (e >>>= 0), t || checkOffset(e, 2, this.length); + var r = this[e] | (this[e + 1] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (Buffer.prototype.readInt16BE = function (e, t) { + (e >>>= 0), t || checkOffset(e, 2, this.length); + var r = this[e + 1] | (this[e] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (Buffer.prototype.readInt32LE = function (e, t) { + return ( + (e >>>= 0), + t || checkOffset(e, 4, this.length), + this[e] | (this[e + 1] << 8) | (this[e + 2] << 16) | (this[e + 3] << 24) + ); + }), + (Buffer.prototype.readInt32BE = function (e, t) { + return ( + (e >>>= 0), + t || checkOffset(e, 4, this.length), + (this[e] << 24) | (this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3] + ); + }), + (Buffer.prototype.readFloatLE = function (e, t) { + return (e >>>= 0), t || checkOffset(e, 4, this.length), ieee754.read(this, e, !0, 23, 4); + }), + (Buffer.prototype.readFloatBE = function (e, t) { + return (e >>>= 0), t || checkOffset(e, 4, this.length), ieee754.read(this, e, !1, 23, 4); + }), + (Buffer.prototype.readDoubleLE = function (e, t) { + return (e >>>= 0), t || checkOffset(e, 8, this.length), ieee754.read(this, e, !0, 52, 8); + }), + (Buffer.prototype.readDoubleBE = function (e, t) { + return (e >>>= 0), t || checkOffset(e, 8, this.length), ieee754.read(this, e, !1, 52, 8); + }), + (Buffer.prototype.writeUIntLE = function (e, t, r, n) { + ((e = +e), (t >>>= 0), (r >>>= 0), n) || checkInt(this, e, t, r, Math.pow(2, 8 * r) - 1, 0); + var f = 1, + i = 0; + for (this[t] = 255 & e; ++i < r && (f *= 256); ) this[t + i] = (e / f) & 255; + return t + r; + }), + (Buffer.prototype.writeUIntBE = function (e, t, r, n) { + ((e = +e), (t >>>= 0), (r >>>= 0), n) || checkInt(this, e, t, r, Math.pow(2, 8 * r) - 1, 0); + var f = r - 1, + i = 1; + for (this[t + f] = 255 & e; --f >= 0 && (i *= 256); ) this[t + f] = (e / i) & 255; + return t + r; + }), + (Buffer.prototype.writeUInt8 = function (e, t, r) { + return (e = +e), (t >>>= 0), r || checkInt(this, e, t, 1, 255, 0), (this[t] = 255 & e), t + 1; + }), + (Buffer.prototype.writeUInt16LE = function (e, t, r) { + return ( + (e = +e), + (t >>>= 0), + r || checkInt(this, e, t, 2, 65535, 0), + (this[t] = 255 & e), + (this[t + 1] = e >>> 8), + t + 2 + ); + }), + (Buffer.prototype.writeUInt16BE = function (e, t, r) { + return ( + (e = +e), + (t >>>= 0), + r || checkInt(this, e, t, 2, 65535, 0), + (this[t] = e >>> 8), + (this[t + 1] = 255 & e), + t + 2 + ); + }), + (Buffer.prototype.writeUInt32LE = function (e, t, r) { + return ( + (e = +e), + (t >>>= 0), + r || checkInt(this, e, t, 4, 4294967295, 0), + (this[t + 3] = e >>> 24), + (this[t + 2] = e >>> 16), + (this[t + 1] = e >>> 8), + (this[t] = 255 & e), + t + 4 + ); + }), + (Buffer.prototype.writeUInt32BE = function (e, t, r) { + return ( + (e = +e), + (t >>>= 0), + r || checkInt(this, e, t, 4, 4294967295, 0), + (this[t] = e >>> 24), + (this[t + 1] = e >>> 16), + (this[t + 2] = e >>> 8), + (this[t + 3] = 255 & e), + t + 4 + ); + }), + (Buffer.prototype.writeIntLE = function (e, t, r, n) { + if (((e = +e), (t >>>= 0), !n)) { + var f = Math.pow(2, 8 * r - 1); + checkInt(this, e, t, r, f - 1, -f); + } + var i = 0, + o = 1, + u = 0; + for (this[t] = 255 & e; ++i < r && (o *= 256); ) + e < 0 && 0 === u && 0 !== this[t + i - 1] && (u = 1), (this[t + i] = (((e / o) >> 0) - u) & 255); + return t + r; + }), + (Buffer.prototype.writeIntBE = function (e, t, r, n) { + if (((e = +e), (t >>>= 0), !n)) { + var f = Math.pow(2, 8 * r - 1); + checkInt(this, e, t, r, f - 1, -f); + } + var i = r - 1, + o = 1, + u = 0; + for (this[t + i] = 255 & e; --i >= 0 && (o *= 256); ) + e < 0 && 0 === u && 0 !== this[t + i + 1] && (u = 1), (this[t + i] = (((e / o) >> 0) - u) & 255); + return t + r; + }), + (Buffer.prototype.writeInt8 = function (e, t, r) { + return ( + (e = +e), + (t >>>= 0), + r || checkInt(this, e, t, 1, 127, -128), + e < 0 && (e = 255 + e + 1), + (this[t] = 255 & e), + t + 1 + ); + }), + (Buffer.prototype.writeInt16LE = function (e, t, r) { + return ( + (e = +e), + (t >>>= 0), + r || checkInt(this, e, t, 2, 32767, -32768), + (this[t] = 255 & e), + (this[t + 1] = e >>> 8), + t + 2 + ); + }), + (Buffer.prototype.writeInt16BE = function (e, t, r) { + return ( + (e = +e), + (t >>>= 0), + r || checkInt(this, e, t, 2, 32767, -32768), + (this[t] = e >>> 8), + (this[t + 1] = 255 & e), + t + 2 + ); + }), + (Buffer.prototype.writeInt32LE = function (e, t, r) { + return ( + (e = +e), + (t >>>= 0), + r || checkInt(this, e, t, 4, 2147483647, -2147483648), + (this[t] = 255 & e), + (this[t + 1] = e >>> 8), + (this[t + 2] = e >>> 16), + (this[t + 3] = e >>> 24), + t + 4 + ); + }), + (Buffer.prototype.writeInt32BE = function (e, t, r) { + return ( + (e = +e), + (t >>>= 0), + r || checkInt(this, e, t, 4, 2147483647, -2147483648), + e < 0 && (e = 4294967295 + e + 1), + (this[t] = e >>> 24), + (this[t + 1] = e >>> 16), + (this[t + 2] = e >>> 8), + (this[t + 3] = 255 & e), + t + 4 + ); + }), + (Buffer.prototype.writeFloatLE = function (e, t, r) { + return writeFloat(this, e, t, !0, r); + }), + (Buffer.prototype.writeFloatBE = function (e, t, r) { + return writeFloat(this, e, t, !1, r); + }), + (Buffer.prototype.writeDoubleLE = function (e, t, r) { + return writeDouble(this, e, t, !0, r); + }), + (Buffer.prototype.writeDoubleBE = function (e, t, r) { + return writeDouble(this, e, t, !1, r); + }), + (Buffer.prototype.copy = function (e, t, r, n) { + if (!Buffer.isBuffer(e)) throw new TypeError("argument should be a Buffer"); + if ( + (r || (r = 0), + n || 0 === n || (n = this.length), + t >= e.length && (t = e.length), + t || (t = 0), + n > 0 && n < r && (n = r), + n === r) + ) + return 0; + if (0 === e.length || 0 === this.length) return 0; + if (t < 0) throw new RangeError("targetStart out of bounds"); + if (r < 0 || r >= this.length) throw new RangeError("Index out of range"); + if (n < 0) throw new RangeError("sourceEnd out of bounds"); + n > this.length && (n = this.length), e.length - t < n - r && (n = e.length - t + r); + var f = n - r; + if (this === e && "function" == typeof Uint8Array.prototype.copyWithin) this.copyWithin(t, r, n); + else if (this === e && r < t && t < n) for (var i = f - 1; i >= 0; --i) e[i + t] = this[i + r]; + else Uint8Array.prototype.set.call(e, this.subarray(r, n), t); + return f; + }), + (Buffer.prototype.fill = function (e, t, r, n) { + if ("string" == typeof e) { + if ( + ("string" == typeof t + ? ((n = t), (t = 0), (r = this.length)) + : "string" == typeof r && ((n = r), (r = this.length)), + void 0 !== n && "string" != typeof n) + ) + throw new TypeError("encoding must be a string"); + if ("string" == typeof n && !Buffer.isEncoding(n)) throw new TypeError("Unknown encoding: " + n); + if (1 === e.length) { + var f = e.charCodeAt(0); + (("utf8" === n && f < 128) || "latin1" === n) && (e = f); + } + } else "number" == typeof e && (e &= 255); + if (t < 0 || this.length < t || this.length < r) throw new RangeError("Out of range index"); + if (r <= t) return this; + var i; + if (((t >>>= 0), (r = void 0 === r ? this.length : r >>> 0), e || (e = 0), "number" == typeof e)) + for (i = t; i < r; ++i) this[i] = e; + else { + var o = Buffer.isBuffer(e) ? e : Buffer.from(e, n), + u = o.length; + if (0 === u) throw new TypeError('The value "' + e + '" is invalid for argument "value"'); + for (i = 0; i < r - t; ++i) this[i + t] = o[i % u]; + } + return this; + }); + var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g; + function base64clean(e) { + if ((e = (e = e.split("=")[0]).trim().replace(INVALID_BASE64_RE, "")).length < 2) return ""; + for (; e.length % 4 != 0; ) e += "="; + return e; + } + function toHex(e) { + return e < 16 ? "0" + e.toString(16) : e.toString(16); + } + function utf8ToBytes(e, t) { + var r; + t = t || 1 / 0; + for (var n = e.length, f = null, i = [], o = 0; o < n; ++o) { + if ((r = e.charCodeAt(o)) > 55295 && r < 57344) { + if (!f) { + if (r > 56319) { + (t -= 3) > -1 && i.push(239, 191, 189); + continue; + } + if (o + 1 === n) { + (t -= 3) > -1 && i.push(239, 191, 189); + continue; + } + f = r; + continue; + } + if (r < 56320) { + (t -= 3) > -1 && i.push(239, 191, 189), (f = r); + continue; + } + r = 65536 + (((f - 55296) << 10) | (r - 56320)); + } else f && (t -= 3) > -1 && i.push(239, 191, 189); + if (((f = null), r < 128)) { + if ((t -= 1) < 0) break; + i.push(r); + } else if (r < 2048) { + if ((t -= 2) < 0) break; + i.push((r >> 6) | 192, (63 & r) | 128); + } else if (r < 65536) { + if ((t -= 3) < 0) break; + i.push((r >> 12) | 224, ((r >> 6) & 63) | 128, (63 & r) | 128); + } else { + if (!(r < 1114112)) throw new Error("Invalid code point"); + if ((t -= 4) < 0) break; + i.push((r >> 18) | 240, ((r >> 12) & 63) | 128, ((r >> 6) & 63) | 128, (63 & r) | 128); + } + } + return i; + } + function asciiToBytes(e) { + for (var t = [], r = 0; r < e.length; ++r) t.push(255 & e.charCodeAt(r)); + return t; + } + function utf16leToBytes(e, t) { + for (var r, n, f, i = [], o = 0; o < e.length && !((t -= 2) < 0); ++o) + (n = (r = e.charCodeAt(o)) >> 8), (f = r % 256), i.push(f), i.push(n); + return i; + } + function base64ToBytes(e) { + return base64.toByteArray(base64clean(e)); + } + function blitBuffer(e, t, r, n) { + for (var f = 0; f < n && !(f + r >= t.length || f >= e.length); ++f) t[f + r] = e[f]; + return f; + } + function isInstance(e, t) { + return ( + e instanceof t || + (null != e && null != e.constructor && null != e.constructor.name && e.constructor.name === t.name) + ); + } + function numberIsNaN(e) { + return e != e; + } + }).call(this); + }).call(this, require("buffer").Buffer); + }, + { "base64-js": 130, buffer: 132, ieee754: 138 }, + ], + 133: [ + function (require, module, exports) { + module.exports = { + 100: "Continue", + 101: "Switching Protocols", + 102: "Processing", + 200: "OK", + 201: "Created", + 202: "Accepted", + 203: "Non-Authoritative Information", + 204: "No Content", + 205: "Reset Content", + 206: "Partial Content", + 207: "Multi-Status", + 208: "Already Reported", + 226: "IM Used", + 300: "Multiple Choices", + 301: "Moved Permanently", + 302: "Found", + 303: "See Other", + 304: "Not Modified", + 305: "Use Proxy", + 307: "Temporary Redirect", + 308: "Permanent Redirect", + 400: "Bad Request", + 401: "Unauthorized", + 402: "Payment Required", + 403: "Forbidden", + 404: "Not Found", + 405: "Method Not Allowed", + 406: "Not Acceptable", + 407: "Proxy Authentication Required", + 408: "Request Timeout", + 409: "Conflict", + 410: "Gone", + 411: "Length Required", + 412: "Precondition Failed", + 413: "Payload Too Large", + 414: "URI Too Long", + 415: "Unsupported Media Type", + 416: "Range Not Satisfiable", + 417: "Expectation Failed", + 418: "I'm a teapot", + 421: "Misdirected Request", + 422: "Unprocessable Entity", + 423: "Locked", + 424: "Failed Dependency", + 425: "Unordered Collection", + 426: "Upgrade Required", + 428: "Precondition Required", + 429: "Too Many Requests", + 431: "Request Header Fields Too Large", + 451: "Unavailable For Legal Reasons", + 500: "Internal Server Error", + 501: "Not Implemented", + 502: "Bad Gateway", + 503: "Service Unavailable", + 504: "Gateway Timeout", + 505: "HTTP Version Not Supported", + 506: "Variant Also Negotiates", + 507: "Insufficient Storage", + 508: "Loop Detected", + 509: "Bandwidth Limit Exceeded", + 510: "Not Extended", + 511: "Network Authentication Required", + }; + }, + {}, + ], + 134: [ + function (require, module, exports) { + (function (process, global) { + (function () { + "use strict"; + var next = + (global.process && process.nextTick) || + global.setImmediate || + function (n) { + setTimeout(n, 0); + }; + module.exports = function (n, t) { + return n + ? void t.then( + function (t) { + next(function () { + n(null, t); + }); + }, + function (t) { + next(function () { + n(t); + }); + }, + ) + : t; + }; + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + { _process: 172 }, + ], + 135: [ + function (require, module, exports) { + var objectCreate = Object.create || objectCreatePolyfill, + objectKeys = Object.keys || objectKeysPolyfill, + bind = Function.prototype.bind || functionBindPolyfill; + function EventEmitter() { + (this._events && Object.prototype.hasOwnProperty.call(this, "_events")) || + ((this._events = objectCreate(null)), (this._eventsCount = 0)), + (this._maxListeners = this._maxListeners || void 0); + } + (module.exports = EventEmitter), + (EventEmitter.EventEmitter = EventEmitter), + (EventEmitter.prototype._events = void 0), + (EventEmitter.prototype._maxListeners = void 0); + var hasDefineProperty, + defaultMaxListeners = 10; + try { + var o = {}; + Object.defineProperty && Object.defineProperty(o, "x", { value: 0 }), (hasDefineProperty = 0 === o.x); + } catch (e) { + hasDefineProperty = !1; + } + function $getMaxListeners(e) { + return void 0 === e._maxListeners ? EventEmitter.defaultMaxListeners : e._maxListeners; + } + function emitNone(e, t, n) { + if (t) e.call(n); + else for (var r = e.length, i = arrayClone(e, r), s = 0; s < r; ++s) i[s].call(n); + } + function emitOne(e, t, n, r) { + if (t) e.call(n, r); + else for (var i = e.length, s = arrayClone(e, i), o = 0; o < i; ++o) s[o].call(n, r); + } + function emitTwo(e, t, n, r, i) { + if (t) e.call(n, r, i); + else for (var s = e.length, o = arrayClone(e, s), a = 0; a < s; ++a) o[a].call(n, r, i); + } + function emitThree(e, t, n, r, i, s) { + if (t) e.call(n, r, i, s); + else for (var o = e.length, a = arrayClone(e, o), l = 0; l < o; ++l) a[l].call(n, r, i, s); + } + function emitMany(e, t, n, r) { + if (t) e.apply(n, r); + else for (var i = e.length, s = arrayClone(e, i), o = 0; o < i; ++o) s[o].apply(n, r); + } + function _addListener(e, t, n, r) { + var i, s, o; + if ("function" != typeof n) throw new TypeError('"listener" argument must be a function'); + if ( + ((s = e._events) + ? (s.newListener && (e.emit("newListener", t, n.listener ? n.listener : n), (s = e._events)), (o = s[t])) + : ((s = e._events = objectCreate(null)), (e._eventsCount = 0)), + o) + ) { + if ( + ("function" == typeof o ? (o = s[t] = r ? [n, o] : [o, n]) : r ? o.unshift(n) : o.push(n), + !o.warned && (i = $getMaxListeners(e)) && i > 0 && o.length > i) + ) { + o.warned = !0; + var a = new Error( + "Possible EventEmitter memory leak detected. " + + o.length + + ' "' + + String(t) + + '" listeners added. Use emitter.setMaxListeners() to increase limit.', + ); + (a.name = "MaxListenersExceededWarning"), + (a.emitter = e), + (a.type = t), + (a.count = o.length), + "object" == typeof console && console.warn && console.warn("%s: %s", a.name, a.message); + } + } else (o = s[t] = n), ++e._eventsCount; + return e; + } + function onceWrapper() { + if (!this.fired) + switch ((this.target.removeListener(this.type, this.wrapFn), (this.fired = !0), arguments.length)) { + case 0: + return this.listener.call(this.target); + case 1: + return this.listener.call(this.target, arguments[0]); + case 2: + return this.listener.call(this.target, arguments[0], arguments[1]); + case 3: + return this.listener.call(this.target, arguments[0], arguments[1], arguments[2]); + default: + for (var e = new Array(arguments.length), t = 0; t < e.length; ++t) e[t] = arguments[t]; + this.listener.apply(this.target, e); + } + } + function _onceWrap(e, t, n) { + var r = { fired: !1, wrapFn: void 0, target: e, type: t, listener: n }, + i = bind.call(onceWrapper, r); + return (i.listener = n), (r.wrapFn = i), i; + } + function _listeners(e, t, n) { + var r = e._events; + if (!r) return []; + var i = r[t]; + return i + ? "function" == typeof i + ? n + ? [i.listener || i] + : [i] + : n + ? unwrapListeners(i) + : arrayClone(i, i.length) + : []; + } + function listenerCount(e) { + var t = this._events; + if (t) { + var n = t[e]; + if ("function" == typeof n) return 1; + if (n) return n.length; + } + return 0; + } + function spliceOne(e, t) { + for (var n = t, r = n + 1, i = e.length; r < i; n += 1, r += 1) e[n] = e[r]; + e.pop(); + } + function arrayClone(e, t) { + for (var n = new Array(t), r = 0; r < t; ++r) n[r] = e[r]; + return n; + } + function unwrapListeners(e) { + for (var t = new Array(e.length), n = 0; n < t.length; ++n) t[n] = e[n].listener || e[n]; + return t; + } + function objectCreatePolyfill(e) { + var t = function () {}; + return (t.prototype = e), new t(); + } + function objectKeysPolyfill(e) { + var t = []; + for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.push(n); + return n; + } + function functionBindPolyfill(e) { + var t = this; + return function () { + return t.apply(e, arguments); + }; + } + hasDefineProperty + ? Object.defineProperty(EventEmitter, "defaultMaxListeners", { + enumerable: !0, + get: function () { + return defaultMaxListeners; + }, + set: function (e) { + if ("number" != typeof e || e < 0 || e != e) + throw new TypeError('"defaultMaxListeners" must be a positive number'); + defaultMaxListeners = e; + }, + }) + : (EventEmitter.defaultMaxListeners = defaultMaxListeners), + (EventEmitter.prototype.setMaxListeners = function (e) { + if ("number" != typeof e || e < 0 || isNaN(e)) + throw new TypeError('"n" argument must be a positive number'); + return (this._maxListeners = e), this; + }), + (EventEmitter.prototype.getMaxListeners = function () { + return $getMaxListeners(this); + }), + (EventEmitter.prototype.emit = function (e) { + var t, + n, + r, + i, + s, + o, + a = "error" === e; + if ((o = this._events)) a = a && null == o.error; + else if (!a) return !1; + if (a) { + if ((arguments.length > 1 && (t = arguments[1]), t instanceof Error)) throw t; + var l = new Error('Unhandled "error" event. (' + t + ")"); + throw ((l.context = t), l); + } + if (!(n = o[e])) return !1; + var u = "function" == typeof n; + switch ((r = arguments.length)) { + case 1: + emitNone(n, u, this); + break; + case 2: + emitOne(n, u, this, arguments[1]); + break; + case 3: + emitTwo(n, u, this, arguments[1], arguments[2]); + break; + case 4: + emitThree(n, u, this, arguments[1], arguments[2], arguments[3]); + break; + default: + for (i = new Array(r - 1), s = 1; s < r; s++) i[s - 1] = arguments[s]; + emitMany(n, u, this, i); + } + return !0; + }), + (EventEmitter.prototype.addListener = function (e, t) { + return _addListener(this, e, t, !1); + }), + (EventEmitter.prototype.on = EventEmitter.prototype.addListener), + (EventEmitter.prototype.prependListener = function (e, t) { + return _addListener(this, e, t, !0); + }), + (EventEmitter.prototype.once = function (e, t) { + if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); + return this.on(e, _onceWrap(this, e, t)), this; + }), + (EventEmitter.prototype.prependOnceListener = function (e, t) { + if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); + return this.prependListener(e, _onceWrap(this, e, t)), this; + }), + (EventEmitter.prototype.removeListener = function (e, t) { + var n, r, i, s, o; + if ("function" != typeof t) throw new TypeError('"listener" argument must be a function'); + if (!(r = this._events)) return this; + if (!(n = r[e])) return this; + if (n === t || n.listener === t) + 0 == --this._eventsCount + ? (this._events = objectCreate(null)) + : (delete r[e], r.removeListener && this.emit("removeListener", e, n.listener || t)); + else if ("function" != typeof n) { + for (i = -1, s = n.length - 1; s >= 0; s--) + if (n[s] === t || n[s].listener === t) { + (o = n[s].listener), (i = s); + break; + } + if (i < 0) return this; + 0 === i ? n.shift() : spliceOne(n, i), + 1 === n.length && (r[e] = n[0]), + r.removeListener && this.emit("removeListener", e, o || t); + } + return this; + }), + (EventEmitter.prototype.removeAllListeners = function (e) { + var t, n, r; + if (!(n = this._events)) return this; + if (!n.removeListener) + return ( + 0 === arguments.length + ? ((this._events = objectCreate(null)), (this._eventsCount = 0)) + : n[e] && (0 == --this._eventsCount ? (this._events = objectCreate(null)) : delete n[e]), + this + ); + if (0 === arguments.length) { + var i, + s = objectKeys(n); + for (r = 0; r < s.length; ++r) "removeListener" !== (i = s[r]) && this.removeAllListeners(i); + return ( + this.removeAllListeners("removeListener"), + (this._events = objectCreate(null)), + (this._eventsCount = 0), + this + ); + } + if ("function" == typeof (t = n[e])) this.removeListener(e, t); + else if (t) for (r = t.length - 1; r >= 0; r--) this.removeListener(e, t[r]); + return this; + }), + (EventEmitter.prototype.listeners = function (e) { + return _listeners(this, e, !0); + }), + (EventEmitter.prototype.rawListeners = function (e) { + return _listeners(this, e, !1); + }), + (EventEmitter.listenerCount = function (e, t) { + return "function" == typeof e.listenerCount ? e.listenerCount(t) : listenerCount.call(e, t); + }), + (EventEmitter.prototype.listenerCount = listenerCount), + (EventEmitter.prototype.eventNames = function () { + return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : []; + }); + }, + {}, + ], + 136: [ + function (require, module, exports) { + "use strict"; + module.exports = function r(t, e) { + if (t === e) return !0; + if (t && e && "object" == typeof t && "object" == typeof e) { + if (t.constructor !== e.constructor) return !1; + var o, n, u; + if (Array.isArray(t)) { + if ((o = t.length) != e.length) return !1; + for (n = o; 0 != n--; ) if (!r(t[n], e[n])) return !1; + return !0; + } + if (t.constructor === RegExp) return t.source === e.source && t.flags === e.flags; + if (t.valueOf !== Object.prototype.valueOf) return t.valueOf() === e.valueOf(); + if (t.toString !== Object.prototype.toString) return t.toString() === e.toString(); + if ((o = (u = Object.keys(t)).length) !== Object.keys(e).length) return !1; + for (n = o; 0 != n--; ) if (!Object.prototype.hasOwnProperty.call(e, u[n])) return !1; + for (n = o; 0 != n--; ) { + var f = u[n]; + if (!r(t[f], e[f])) return !1; + } + return !0; + } + return t != t && e != e; + }; + }, + {}, + ], + 137: [ + function (require, module, exports) { + var http = require("http"), + url = require("url"), + https = module.exports; + for (var key in http) http.hasOwnProperty(key) && (https[key] = http[key]); + function validateParams(t) { + if ( + ("string" == typeof t && (t = url.parse(t)), t.protocol || (t.protocol = "https:"), "https:" !== t.protocol) + ) + throw new Error('Protocol "' + t.protocol + '" not supported. Expected "https:"'); + return t; + } + (https.request = function (t, r) { + return (t = validateParams(t)), http.request.call(this, t, r); + }), + (https.get = function (t, r) { + return (t = validateParams(t)), http.get.call(this, t, r); + }); + }, + { http: 192, url: 199 }, + ], + 138: [ + function (require, module, exports) { + /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ + (exports.read = function (a, o, t, r, h) { + var M, + p, + w = 8 * h - r - 1, + f = (1 << w) - 1, + e = f >> 1, + i = -7, + N = t ? h - 1 : 0, + n = t ? -1 : 1, + s = a[o + N]; + for (N += n, M = s & ((1 << -i) - 1), s >>= -i, i += w; i > 0; M = 256 * M + a[o + N], N += n, i -= 8); + for (p = M & ((1 << -i) - 1), M >>= -i, i += r; i > 0; p = 256 * p + a[o + N], N += n, i -= 8); + if (0 === M) M = 1 - e; + else { + if (M === f) return p ? NaN : (1 / 0) * (s ? -1 : 1); + (p += Math.pow(2, r)), (M -= e); + } + return (s ? -1 : 1) * p * Math.pow(2, M - r); + }), + (exports.write = function (a, o, t, r, h, M) { + var p, + w, + f, + e = 8 * M - h - 1, + i = (1 << e) - 1, + N = i >> 1, + n = 23 === h ? Math.pow(2, -24) - Math.pow(2, -77) : 0, + s = r ? 0 : M - 1, + u = r ? 1 : -1, + l = o < 0 || (0 === o && 1 / o < 0) ? 1 : 0; + for ( + o = Math.abs(o), + isNaN(o) || o === 1 / 0 + ? ((w = isNaN(o) ? 1 : 0), (p = i)) + : ((p = Math.floor(Math.log(o) / Math.LN2)), + o * (f = Math.pow(2, -p)) < 1 && (p--, (f *= 2)), + (o += p + N >= 1 ? n / f : n * Math.pow(2, 1 - N)) * f >= 2 && (p++, (f /= 2)), + p + N >= i + ? ((w = 0), (p = i)) + : p + N >= 1 + ? ((w = (o * f - 1) * Math.pow(2, h)), (p += N)) + : ((w = o * Math.pow(2, N - 1) * Math.pow(2, h)), (p = 0))); + h >= 8; + a[t + s] = 255 & w, s += u, w /= 256, h -= 8 + ); + for (p = (p << h) | w, e += h; e > 0; a[t + s] = 255 & p, s += u, p /= 256, e -= 8); + a[t + s - u] |= 128 * l; + }); + }, + {}, + ], + 139: [ + function (require, module, exports) { + "function" == typeof Object.create + ? (module.exports = function (t, e) { + e && + ((t.super_ = e), + (t.prototype = Object.create(e.prototype, { + constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 }, + }))); + }) + : (module.exports = function (t, e) { + if (e) { + t.super_ = e; + var o = function () {}; + (o.prototype = e.prototype), (t.prototype = new o()), (t.prototype.constructor = t); + } + }); + }, + {}, + ], + 140: [ + function (require, module, exports) { + /*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ + function isBuffer(f) { + return !!f.constructor && "function" == typeof f.constructor.isBuffer && f.constructor.isBuffer(f); + } + function isSlowBuffer(f) { + return "function" == typeof f.readFloatLE && "function" == typeof f.slice && isBuffer(f.slice(0, 0)); + } + module.exports = function (f) { + return null != f && (isBuffer(f) || isSlowBuffer(f) || !!f._isBuffer); + }; + }, + {}, + ], + 141: [ + function (require, module, exports) { + "use strict"; + var yaml = require("./lib/js-yaml.js"); + module.exports = yaml; + }, + { "./lib/js-yaml.js": 142 }, + ], + 142: [ + function (require, module, exports) { + "use strict"; + var loader = require("./js-yaml/loader"), + dumper = require("./js-yaml/dumper"); + function deprecated(e) { + return function () { + throw new Error("Function " + e + " is deprecated and cannot be used."); + }; + } + (module.exports.Type = require("./js-yaml/type")), + (module.exports.Schema = require("./js-yaml/schema")), + (module.exports.FAILSAFE_SCHEMA = require("./js-yaml/schema/failsafe")), + (module.exports.JSON_SCHEMA = require("./js-yaml/schema/json")), + (module.exports.CORE_SCHEMA = require("./js-yaml/schema/core")), + (module.exports.DEFAULT_SAFE_SCHEMA = require("./js-yaml/schema/default_safe")), + (module.exports.DEFAULT_FULL_SCHEMA = require("./js-yaml/schema/default_full")), + (module.exports.load = loader.load), + (module.exports.loadAll = loader.loadAll), + (module.exports.safeLoad = loader.safeLoad), + (module.exports.safeLoadAll = loader.safeLoadAll), + (module.exports.dump = dumper.dump), + (module.exports.safeDump = dumper.safeDump), + (module.exports.YAMLException = require("./js-yaml/exception")), + (module.exports.MINIMAL_SCHEMA = require("./js-yaml/schema/failsafe")), + (module.exports.SAFE_SCHEMA = require("./js-yaml/schema/default_safe")), + (module.exports.DEFAULT_SCHEMA = require("./js-yaml/schema/default_full")), + (module.exports.scan = deprecated("scan")), + (module.exports.parse = deprecated("parse")), + (module.exports.compose = deprecated("compose")), + (module.exports.addConstructor = deprecated("addConstructor")); + }, + { + "./js-yaml/dumper": 144, + "./js-yaml/exception": 145, + "./js-yaml/loader": 146, + "./js-yaml/schema": 148, + "./js-yaml/schema/core": 149, + "./js-yaml/schema/default_full": 150, + "./js-yaml/schema/default_safe": 151, + "./js-yaml/schema/failsafe": 152, + "./js-yaml/schema/json": 153, + "./js-yaml/type": 154, + }, + ], + 143: [ + function (require, module, exports) { + "use strict"; + function isNothing(e) { + return null == e; + } + function isObject(e) { + return "object" == typeof e && null !== e; + } + function toArray(e) { + return Array.isArray(e) ? e : isNothing(e) ? [] : [e]; + } + function extend(e, t) { + var r, o, n, i; + if (t) for (r = 0, o = (i = Object.keys(t)).length; r < o; r += 1) e[(n = i[r])] = t[n]; + return e; + } + function repeat(e, t) { + var r, + o = ""; + for (r = 0; r < t; r += 1) o += e; + return o; + } + function isNegativeZero(e) { + return 0 === e && Number.NEGATIVE_INFINITY === 1 / e; + } + (module.exports.isNothing = isNothing), + (module.exports.isObject = isObject), + (module.exports.toArray = toArray), + (module.exports.repeat = repeat), + (module.exports.isNegativeZero = isNegativeZero), + (module.exports.extend = extend); + }, + {}, + ], + 144: [ + function (require, module, exports) { + "use strict"; + var common = require("./common"), + YAMLException = require("./exception"), + DEFAULT_FULL_SCHEMA = require("./schema/default_full"), + DEFAULT_SAFE_SCHEMA = require("./schema/default_safe"), + _toString = Object.prototype.toString, + _hasOwnProperty = Object.prototype.hasOwnProperty, + CHAR_TAB = 9, + CHAR_LINE_FEED = 10, + CHAR_CARRIAGE_RETURN = 13, + CHAR_SPACE = 32, + CHAR_EXCLAMATION = 33, + CHAR_DOUBLE_QUOTE = 34, + CHAR_SHARP = 35, + CHAR_PERCENT = 37, + CHAR_AMPERSAND = 38, + CHAR_SINGLE_QUOTE = 39, + CHAR_ASTERISK = 42, + CHAR_COMMA = 44, + CHAR_MINUS = 45, + CHAR_COLON = 58, + CHAR_EQUALS = 61, + CHAR_GREATER_THAN = 62, + CHAR_QUESTION = 63, + CHAR_COMMERCIAL_AT = 64, + CHAR_LEFT_SQUARE_BRACKET = 91, + CHAR_RIGHT_SQUARE_BRACKET = 93, + CHAR_GRAVE_ACCENT = 96, + CHAR_LEFT_CURLY_BRACKET = 123, + CHAR_VERTICAL_LINE = 124, + CHAR_RIGHT_CURLY_BRACKET = 125, + ESCAPE_SEQUENCES = { + 0: "\\0", + 7: "\\a", + 8: "\\b", + 9: "\\t", + 10: "\\n", + 11: "\\v", + 12: "\\f", + 13: "\\r", + 27: "\\e", + 34: '\\"', + 92: "\\\\", + 133: "\\N", + 160: "\\_", + 8232: "\\L", + 8233: "\\P", + }, + DEPRECATED_BOOLEANS_SYNTAX = [ + "y", + "Y", + "yes", + "Yes", + "YES", + "on", + "On", + "ON", + "n", + "N", + "no", + "No", + "NO", + "off", + "Off", + "OFF", + ]; + function compileStyleMap(e, t) { + var n, i, r, o, a, l, s; + if (null === t) return {}; + for (n = {}, r = 0, o = (i = Object.keys(t)).length; r < o; r += 1) + (a = i[r]), + (l = String(t[a])), + "!!" === a.slice(0, 2) && (a = "tag:yaml.org,2002:" + a.slice(2)), + (s = e.compiledTypeMap.fallback[a]) && _hasOwnProperty.call(s.styleAliases, l) && (l = s.styleAliases[l]), + (n[a] = l); + return n; + } + function encodeHex(e) { + var t, n, i; + if (((t = e.toString(16).toUpperCase()), e <= 255)) (n = "x"), (i = 2); + else if (e <= 65535) (n = "u"), (i = 4); + else { + if (!(e <= 4294967295)) + throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF"); + (n = "U"), (i = 8); + } + return "\\" + n + common.repeat("0", i - t.length) + t; + } + function State(e) { + (this.schema = e.schema || DEFAULT_FULL_SCHEMA), + (this.indent = Math.max(1, e.indent || 2)), + (this.noArrayIndent = e.noArrayIndent || !1), + (this.skipInvalid = e.skipInvalid || !1), + (this.flowLevel = common.isNothing(e.flowLevel) ? -1 : e.flowLevel), + (this.styleMap = compileStyleMap(this.schema, e.styles || null)), + (this.sortKeys = e.sortKeys || !1), + (this.lineWidth = e.lineWidth || 80), + (this.noRefs = e.noRefs || !1), + (this.noCompatMode = e.noCompatMode || !1), + (this.condenseFlow = e.condenseFlow || !1), + (this.implicitTypes = this.schema.compiledImplicit), + (this.explicitTypes = this.schema.compiledExplicit), + (this.tag = null), + (this.result = ""), + (this.duplicates = []), + (this.usedDuplicates = null); + } + function indentString(e, t) { + for (var n, i = common.repeat(" ", t), r = 0, o = -1, a = "", l = e.length; r < l; ) + -1 === (o = e.indexOf("\n", r)) ? ((n = e.slice(r)), (r = l)) : ((n = e.slice(r, o + 1)), (r = o + 1)), + n.length && "\n" !== n && (a += i), + (a += n); + return a; + } + function generateNextLine(e, t) { + return "\n" + common.repeat(" ", e.indent * t); + } + function testImplicitResolving(e, t) { + var n, i; + for (n = 0, i = e.implicitTypes.length; n < i; n += 1) if (e.implicitTypes[n].resolve(t)) return !0; + return !1; + } + function isWhitespace(e) { + return e === CHAR_SPACE || e === CHAR_TAB; + } + function isPrintable(e) { + return ( + (32 <= e && e <= 126) || + (161 <= e && e <= 55295 && 8232 !== e && 8233 !== e) || + (57344 <= e && e <= 65533 && 65279 !== e) || + (65536 <= e && e <= 1114111) + ); + } + function isNsChar(e) { + return ( + isPrintable(e) && !isWhitespace(e) && 65279 !== e && e !== CHAR_CARRIAGE_RETURN && e !== CHAR_LINE_FEED + ); + } + function isPlainSafe(e, t) { + return ( + isPrintable(e) && + 65279 !== e && + e !== CHAR_COMMA && + e !== CHAR_LEFT_SQUARE_BRACKET && + e !== CHAR_RIGHT_SQUARE_BRACKET && + e !== CHAR_LEFT_CURLY_BRACKET && + e !== CHAR_RIGHT_CURLY_BRACKET && + e !== CHAR_COLON && + (e !== CHAR_SHARP || (t && isNsChar(t))) + ); + } + function isPlainSafeFirst(e) { + return ( + isPrintable(e) && + 65279 !== e && + !isWhitespace(e) && + e !== CHAR_MINUS && + e !== CHAR_QUESTION && + e !== CHAR_COLON && + e !== CHAR_COMMA && + e !== CHAR_LEFT_SQUARE_BRACKET && + e !== CHAR_RIGHT_SQUARE_BRACKET && + e !== CHAR_LEFT_CURLY_BRACKET && + e !== CHAR_RIGHT_CURLY_BRACKET && + e !== CHAR_SHARP && + e !== CHAR_AMPERSAND && + e !== CHAR_ASTERISK && + e !== CHAR_EXCLAMATION && + e !== CHAR_VERTICAL_LINE && + e !== CHAR_EQUALS && + e !== CHAR_GREATER_THAN && + e !== CHAR_SINGLE_QUOTE && + e !== CHAR_DOUBLE_QUOTE && + e !== CHAR_PERCENT && + e !== CHAR_COMMERCIAL_AT && + e !== CHAR_GRAVE_ACCENT + ); + } + function needIndentIndicator(e) { + return /^\n* /.test(e); + } + var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; + function chooseScalarStyle(e, t, n, i, r) { + var o, + a, + l, + s = !1, + c = !1, + u = -1 !== i, + A = -1, + d = isPlainSafeFirst(e.charCodeAt(0)) && !isWhitespace(e.charCodeAt(e.length - 1)); + if (t) + for (o = 0; o < e.length; o++) { + if (!isPrintable((a = e.charCodeAt(o)))) return STYLE_DOUBLE; + (l = o > 0 ? e.charCodeAt(o - 1) : null), (d = d && isPlainSafe(a, l)); + } + else { + for (o = 0; o < e.length; o++) { + if ((a = e.charCodeAt(o)) === CHAR_LINE_FEED) + (s = !0), u && ((c = c || (o - A - 1 > i && " " !== e[A + 1])), (A = o)); + else if (!isPrintable(a)) return STYLE_DOUBLE; + (l = o > 0 ? e.charCodeAt(o - 1) : null), (d = d && isPlainSafe(a, l)); + } + c = c || (u && o - A - 1 > i && " " !== e[A + 1]); + } + return s || c + ? n > 9 && needIndentIndicator(e) + ? STYLE_DOUBLE + : c + ? STYLE_FOLDED + : STYLE_LITERAL + : d && !r(e) + ? STYLE_PLAIN + : STYLE_SINGLE; + } + function writeScalar(e, t, n, i) { + e.dump = (function () { + if (0 === t.length) return "''"; + if (!e.noCompatMode && -1 !== DEPRECATED_BOOLEANS_SYNTAX.indexOf(t)) return "'" + t + "'"; + var r = e.indent * Math.max(1, n), + o = -1 === e.lineWidth ? -1 : Math.max(Math.min(e.lineWidth, 40), e.lineWidth - r), + a = i || (e.flowLevel > -1 && n >= e.flowLevel); + switch ( + chooseScalarStyle(t, a, e.indent, o, function (t) { + return testImplicitResolving(e, t); + }) + ) { + case STYLE_PLAIN: + return t; + case STYLE_SINGLE: + return "'" + t.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return "|" + blockHeader(t, e.indent) + dropEndingNewline(indentString(t, r)); + case STYLE_FOLDED: + return ">" + blockHeader(t, e.indent) + dropEndingNewline(indentString(foldString(t, o), r)); + case STYLE_DOUBLE: + return '"' + escapeString(t, o) + '"'; + default: + throw new YAMLException("impossible error: invalid scalar style"); + } + })(); + } + function blockHeader(e, t) { + var n = needIndentIndicator(e) ? String(t) : "", + i = "\n" === e[e.length - 1]; + return n + (i && ("\n" === e[e.length - 2] || "\n" === e) ? "+" : i ? "" : "-") + "\n"; + } + function dropEndingNewline(e) { + return "\n" === e[e.length - 1] ? e.slice(0, -1) : e; + } + function foldString(e, t) { + for ( + var n, + i, + r, + o = /(\n+)([^\n]*)/g, + a = ((n = -1 !== (n = e.indexOf("\n")) ? n : e.length), (o.lastIndex = n), foldLine(e.slice(0, n), t)), + l = "\n" === e[0] || " " === e[0]; + (r = o.exec(e)); + + ) { + var s = r[1], + c = r[2]; + (i = " " === c[0]), (a += s + (l || i || "" === c ? "" : "\n") + foldLine(c, t)), (l = i); + } + return a; + } + function foldLine(e, t) { + if ("" === e || " " === e[0]) return e; + for (var n, i, r = / [^ ]/g, o = 0, a = 0, l = 0, s = ""; (n = r.exec(e)); ) + (l = n.index) - o > t && ((i = a > o ? a : l), (s += "\n" + e.slice(o, i)), (o = i + 1)), (a = l); + return ( + (s += "\n"), + e.length - o > t && a > o ? (s += e.slice(o, a) + "\n" + e.slice(a + 1)) : (s += e.slice(o)), + s.slice(1) + ); + } + function escapeString(e) { + for (var t, n, i, r = "", o = 0; o < e.length; o++) + (t = e.charCodeAt(o)) >= 55296 && t <= 56319 && (n = e.charCodeAt(o + 1)) >= 56320 && n <= 57343 + ? ((r += encodeHex(1024 * (t - 55296) + n - 56320 + 65536)), o++) + : (r += !(i = ESCAPE_SEQUENCES[t]) && isPrintable(t) ? e[o] : i || encodeHex(t)); + return r; + } + function writeFlowSequence(e, t, n) { + var i, + r, + o = "", + a = e.tag; + for (i = 0, r = n.length; i < r; i += 1) + writeNode(e, t, n[i], !1, !1) && (0 !== i && (o += "," + (e.condenseFlow ? "" : " ")), (o += e.dump)); + (e.tag = a), (e.dump = "[" + o + "]"); + } + function writeBlockSequence(e, t, n, i) { + var r, + o, + a = "", + l = e.tag; + for (r = 0, o = n.length; r < o; r += 1) + writeNode(e, t + 1, n[r], !0, !0) && + ((i && 0 === r) || (a += generateNextLine(e, t)), + e.dump && CHAR_LINE_FEED === e.dump.charCodeAt(0) ? (a += "-") : (a += "- "), + (a += e.dump)); + (e.tag = l), (e.dump = a || "[]"); + } + function writeFlowMapping(e, t, n) { + var i, + r, + o, + a, + l, + s = "", + c = e.tag, + u = Object.keys(n); + for (i = 0, r = u.length; i < r; i += 1) + (l = ""), + 0 !== i && (l += ", "), + e.condenseFlow && (l += '"'), + (a = n[(o = u[i])]), + writeNode(e, t, o, !1, !1) && + (e.dump.length > 1024 && (l += "? "), + (l += e.dump + (e.condenseFlow ? '"' : "") + ":" + (e.condenseFlow ? "" : " ")), + writeNode(e, t, a, !1, !1) && (s += l += e.dump)); + (e.tag = c), (e.dump = "{" + s + "}"); + } + function writeBlockMapping(e, t, n, i) { + var r, + o, + a, + l, + s, + c, + u = "", + A = e.tag, + d = Object.keys(n); + if (!0 === e.sortKeys) d.sort(); + else if ("function" == typeof e.sortKeys) d.sort(e.sortKeys); + else if (e.sortKeys) throw new YAMLException("sortKeys must be a boolean or a function"); + for (r = 0, o = d.length; r < o; r += 1) + (c = ""), + (i && 0 === r) || (c += generateNextLine(e, t)), + (l = n[(a = d[r])]), + writeNode(e, t + 1, a, !0, !0, !0) && + ((s = (null !== e.tag && "?" !== e.tag) || (e.dump && e.dump.length > 1024)) && + (e.dump && CHAR_LINE_FEED === e.dump.charCodeAt(0) ? (c += "?") : (c += "? ")), + (c += e.dump), + s && (c += generateNextLine(e, t)), + writeNode(e, t + 1, l, !0, s) && + (e.dump && CHAR_LINE_FEED === e.dump.charCodeAt(0) ? (c += ":") : (c += ": "), (u += c += e.dump))); + (e.tag = A), (e.dump = u || "{}"); + } + function detectType(e, t, n) { + var i, r, o, a, l, s; + for (o = 0, a = (r = n ? e.explicitTypes : e.implicitTypes).length; o < a; o += 1) + if ( + ((l = r[o]).instanceOf || l.predicate) && + (!l.instanceOf || ("object" == typeof t && t instanceof l.instanceOf)) && + (!l.predicate || l.predicate(t)) + ) { + if (((e.tag = n ? l.tag : "?"), l.represent)) { + if (((s = e.styleMap[l.tag] || l.defaultStyle), "[object Function]" === _toString.call(l.represent))) + i = l.represent(t, s); + else { + if (!_hasOwnProperty.call(l.represent, s)) + throw new YAMLException("!<" + l.tag + '> tag resolver accepts not "' + s + '" style'); + i = l.represent[s](t, s); + } + e.dump = i; + } + return !0; + } + return !1; + } + function writeNode(e, t, n, i, r, o) { + (e.tag = null), (e.dump = n), detectType(e, n, !1) || detectType(e, n, !0); + var a = _toString.call(e.dump); + i && (i = e.flowLevel < 0 || e.flowLevel > t); + var l, + s, + c = "[object Object]" === a || "[object Array]" === a; + if ( + (c && (s = -1 !== (l = e.duplicates.indexOf(n))), + ((null !== e.tag && "?" !== e.tag) || s || (2 !== e.indent && t > 0)) && (r = !1), + s && e.usedDuplicates[l]) + ) + e.dump = "*ref_" + l; + else { + if ((c && s && !e.usedDuplicates[l] && (e.usedDuplicates[l] = !0), "[object Object]" === a)) + i && 0 !== Object.keys(e.dump).length + ? (writeBlockMapping(e, t, e.dump, r), s && (e.dump = "&ref_" + l + e.dump)) + : (writeFlowMapping(e, t, e.dump), s && (e.dump = "&ref_" + l + " " + e.dump)); + else if ("[object Array]" === a) { + var u = e.noArrayIndent && t > 0 ? t - 1 : t; + i && 0 !== e.dump.length + ? (writeBlockSequence(e, u, e.dump, r), s && (e.dump = "&ref_" + l + e.dump)) + : (writeFlowSequence(e, u, e.dump), s && (e.dump = "&ref_" + l + " " + e.dump)); + } else { + if ("[object String]" !== a) { + if (e.skipInvalid) return !1; + throw new YAMLException("unacceptable kind of an object to dump " + a); + } + "?" !== e.tag && writeScalar(e, e.dump, t, o); + } + null !== e.tag && "?" !== e.tag && (e.dump = "!<" + e.tag + "> " + e.dump); + } + return !0; + } + function getDuplicateReferences(e, t) { + var n, + i, + r = [], + o = []; + for (inspectNode(e, r, o), n = 0, i = o.length; n < i; n += 1) t.duplicates.push(r[o[n]]); + t.usedDuplicates = new Array(i); + } + function inspectNode(e, t, n) { + var i, r, o; + if (null !== e && "object" == typeof e) + if (-1 !== (r = t.indexOf(e))) -1 === n.indexOf(r) && n.push(r); + else if ((t.push(e), Array.isArray(e))) for (r = 0, o = e.length; r < o; r += 1) inspectNode(e[r], t, n); + else for (r = 0, o = (i = Object.keys(e)).length; r < o; r += 1) inspectNode(e[i[r]], t, n); + } + function dump(e, t) { + var n = new State((t = t || {})); + return n.noRefs || getDuplicateReferences(e, n), writeNode(n, 0, e, !0, !0) ? n.dump + "\n" : ""; + } + function safeDump(e, t) { + return dump(e, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, t)); + } + (module.exports.dump = dump), (module.exports.safeDump = safeDump); + }, + { "./common": 143, "./exception": 145, "./schema/default_full": 150, "./schema/default_safe": 151 }, + ], + 145: [ + function (require, module, exports) { + "use strict"; + function YAMLException(t, r) { + Error.call(this), + (this.name = "YAMLException"), + (this.reason = t), + (this.mark = r), + (this.message = (this.reason || "(unknown reason)") + (this.mark ? " " + this.mark.toString() : "")), + Error.captureStackTrace + ? Error.captureStackTrace(this, this.constructor) + : (this.stack = new Error().stack || ""); + } + (YAMLException.prototype = Object.create(Error.prototype)), + (YAMLException.prototype.constructor = YAMLException), + (YAMLException.prototype.toString = function (t) { + var r = this.name + ": "; + return (r += this.reason || "(unknown reason)"), !t && this.mark && (r += " " + this.mark.toString()), r; + }), + (module.exports = YAMLException); + }, + {}, + ], + 146: [ + function (require, module, exports) { + "use strict"; + var common = require("./common"), + YAMLException = require("./exception"), + Mark = require("./mark"), + DEFAULT_SAFE_SCHEMA = require("./schema/default_safe"), + DEFAULT_FULL_SCHEMA = require("./schema/default_full"), + _hasOwnProperty = Object.prototype.hasOwnProperty, + CONTEXT_FLOW_IN = 1, + CONTEXT_FLOW_OUT = 2, + CONTEXT_BLOCK_IN = 3, + CONTEXT_BLOCK_OUT = 4, + CHOMPING_CLIP = 1, + CHOMPING_STRIP = 2, + CHOMPING_KEEP = 3, + PATTERN_NON_PRINTABLE = + /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, + PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/, + PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/, + PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i, + PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + function _class(e) { + return Object.prototype.toString.call(e); + } + function is_EOL(e) { + return 10 === e || 13 === e; + } + function is_WHITE_SPACE(e) { + return 9 === e || 32 === e; + } + function is_WS_OR_EOL(e) { + return 9 === e || 32 === e || 10 === e || 13 === e; + } + function is_FLOW_INDICATOR(e) { + return 44 === e || 91 === e || 93 === e || 123 === e || 125 === e; + } + function fromHexCode(e) { + var t; + return 48 <= e && e <= 57 ? e - 48 : 97 <= (t = 32 | e) && t <= 102 ? t - 97 + 10 : -1; + } + function escapedHexLen(e) { + return 120 === e ? 2 : 117 === e ? 4 : 85 === e ? 8 : 0; + } + function fromDecimalCode(e) { + return 48 <= e && e <= 57 ? e - 48 : -1; + } + function simpleEscapeSequence(e) { + return 48 === e + ? "\0" + : 97 === e + ? "" + : 98 === e + ? "\b" + : 116 === e + ? "\t" + : 9 === e + ? "\t" + : 110 === e + ? "\n" + : 118 === e + ? "\v" + : 102 === e + ? "\f" + : 114 === e + ? "\r" + : 101 === e + ? "" + : 32 === e + ? " " + : 34 === e + ? '"' + : 47 === e + ? "/" + : 92 === e + ? "\\" + : 78 === e + ? "…" + : 95 === e + ? " " + : 76 === e + ? "\u2028" + : 80 === e + ? "\u2029" + : ""; + } + function charFromCodepoint(e) { + return e <= 65535 + ? String.fromCharCode(e) + : String.fromCharCode(55296 + ((e - 65536) >> 10), 56320 + ((e - 65536) & 1023)); + } + for (var simpleEscapeCheck = new Array(256), simpleEscapeMap = new Array(256), i = 0; i < 256; i++) + (simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0), (simpleEscapeMap[i] = simpleEscapeSequence(i)); + function State(e, t) { + (this.input = e), + (this.filename = t.filename || null), + (this.schema = t.schema || DEFAULT_FULL_SCHEMA), + (this.onWarning = t.onWarning || null), + (this.legacy = t.legacy || !1), + (this.json = t.json || !1), + (this.listener = t.listener || null), + (this.implicitTypes = this.schema.compiledImplicit), + (this.typeMap = this.schema.compiledTypeMap), + (this.length = e.length), + (this.position = 0), + (this.line = 0), + (this.lineStart = 0), + (this.lineIndent = 0), + (this.documents = []); + } + function generateError(e, t) { + return new YAMLException(t, new Mark(e.filename, e.input, e.position, e.line, e.position - e.lineStart)); + } + function throwError(e, t) { + throw generateError(e, t); + } + function throwWarning(e, t) { + e.onWarning && e.onWarning.call(null, generateError(e, t)); + } + var directiveHandlers = { + YAML: function (e, t, n) { + var o, i, r; + null !== e.version && throwError(e, "duplication of %YAML directive"), + 1 !== n.length && throwError(e, "YAML directive accepts exactly one argument"), + null === (o = /^([0-9]+)\.([0-9]+)$/.exec(n[0])) && + throwError(e, "ill-formed argument of the YAML directive"), + (i = parseInt(o[1], 10)), + (r = parseInt(o[2], 10)), + 1 !== i && throwError(e, "unacceptable YAML version of the document"), + (e.version = n[0]), + (e.checkLineBreaks = r < 2), + 1 !== r && 2 !== r && throwWarning(e, "unsupported YAML version of the document"); + }, + TAG: function (e, t, n) { + var o, i; + 2 !== n.length && throwError(e, "TAG directive accepts exactly two arguments"), + (o = n[0]), + (i = n[1]), + PATTERN_TAG_HANDLE.test(o) || + throwError(e, "ill-formed tag handle (first argument) of the TAG directive"), + _hasOwnProperty.call(e.tagMap, o) && + throwError(e, 'there is a previously declared suffix for "' + o + '" tag handle'), + PATTERN_TAG_URI.test(i) || throwError(e, "ill-formed tag prefix (second argument) of the TAG directive"), + (e.tagMap[o] = i); + }, + }; + function captureSegment(e, t, n, o) { + var i, r, a, s; + if (t < n) { + if (((s = e.input.slice(t, n)), o)) + for (i = 0, r = s.length; i < r; i += 1) + 9 === (a = s.charCodeAt(i)) || + (32 <= a && a <= 1114111) || + throwError(e, "expected valid JSON character"); + else PATTERN_NON_PRINTABLE.test(s) && throwError(e, "the stream contains non-printable characters"); + e.result += s; + } + } + function mergeMappings(e, t, n, o) { + var i, r, a, s; + for ( + common.isObject(n) || throwError(e, "cannot merge mappings; the provided source object is unacceptable"), + a = 0, + s = (i = Object.keys(n)).length; + a < s; + a += 1 + ) + (r = i[a]), _hasOwnProperty.call(t, r) || ((t[r] = n[r]), (o[r] = !0)); + } + function storeMappingPair(e, t, n, o, i, r, a, s) { + var p, c; + if (Array.isArray(i)) + for (p = 0, c = (i = Array.prototype.slice.call(i)).length; p < c; p += 1) + Array.isArray(i[p]) && throwError(e, "nested arrays are not supported inside keys"), + "object" == typeof i && "[object Object]" === _class(i[p]) && (i[p] = "[object Object]"); + if ( + ("object" == typeof i && "[object Object]" === _class(i) && (i = "[object Object]"), + (i = String(i)), + null === t && (t = {}), + "tag:yaml.org,2002:merge" === o) + ) + if (Array.isArray(r)) for (p = 0, c = r.length; p < c; p += 1) mergeMappings(e, t, r[p], n); + else mergeMappings(e, t, r, n); + else + e.json || + _hasOwnProperty.call(n, i) || + !_hasOwnProperty.call(t, i) || + ((e.line = a || e.line), (e.position = s || e.position), throwError(e, "duplicated mapping key")), + (t[i] = r), + delete n[i]; + return t; + } + function readLineBreak(e) { + var t; + 10 === (t = e.input.charCodeAt(e.position)) + ? e.position++ + : 13 === t + ? (e.position++, 10 === e.input.charCodeAt(e.position) && e.position++) + : throwError(e, "a line break is expected"), + (e.line += 1), + (e.lineStart = e.position); + } + function skipSeparationSpace(e, t, n) { + for (var o = 0, i = e.input.charCodeAt(e.position); 0 !== i; ) { + for (; is_WHITE_SPACE(i); ) i = e.input.charCodeAt(++e.position); + if (t && 35 === i) + do { + i = e.input.charCodeAt(++e.position); + } while (10 !== i && 13 !== i && 0 !== i); + if (!is_EOL(i)) break; + for (readLineBreak(e), i = e.input.charCodeAt(e.position), o++, e.lineIndent = 0; 32 === i; ) + e.lineIndent++, (i = e.input.charCodeAt(++e.position)); + } + return -1 !== n && 0 !== o && e.lineIndent < n && throwWarning(e, "deficient indentation"), o; + } + function testDocumentSeparator(e) { + var t, + n = e.position; + return !( + (45 !== (t = e.input.charCodeAt(n)) && 46 !== t) || + t !== e.input.charCodeAt(n + 1) || + t !== e.input.charCodeAt(n + 2) || + ((n += 3), 0 !== (t = e.input.charCodeAt(n)) && !is_WS_OR_EOL(t)) + ); + } + function writeFoldedLines(e, t) { + 1 === t ? (e.result += " ") : t > 1 && (e.result += common.repeat("\n", t - 1)); + } + function readPlainScalar(e, t, n) { + var o, + i, + r, + a, + s, + p, + c, + l, + u = e.kind, + d = e.result; + if ( + is_WS_OR_EOL((l = e.input.charCodeAt(e.position))) || + is_FLOW_INDICATOR(l) || + 35 === l || + 38 === l || + 42 === l || + 33 === l || + 124 === l || + 62 === l || + 39 === l || + 34 === l || + 37 === l || + 64 === l || + 96 === l + ) + return !1; + if ( + (63 === l || 45 === l) && + (is_WS_OR_EOL((o = e.input.charCodeAt(e.position + 1))) || (n && is_FLOW_INDICATOR(o))) + ) + return !1; + for (e.kind = "scalar", e.result = "", i = r = e.position, a = !1; 0 !== l; ) { + if (58 === l) { + if (is_WS_OR_EOL((o = e.input.charCodeAt(e.position + 1))) || (n && is_FLOW_INDICATOR(o))) break; + } else if (35 === l) { + if (is_WS_OR_EOL(e.input.charCodeAt(e.position - 1))) break; + } else { + if ((e.position === e.lineStart && testDocumentSeparator(e)) || (n && is_FLOW_INDICATOR(l))) break; + if (is_EOL(l)) { + if ( + ((s = e.line), + (p = e.lineStart), + (c = e.lineIndent), + skipSeparationSpace(e, !1, -1), + e.lineIndent >= t) + ) { + (a = !0), (l = e.input.charCodeAt(e.position)); + continue; + } + (e.position = r), (e.line = s), (e.lineStart = p), (e.lineIndent = c); + break; + } + } + a && (captureSegment(e, i, r, !1), writeFoldedLines(e, e.line - s), (i = r = e.position), (a = !1)), + is_WHITE_SPACE(l) || (r = e.position + 1), + (l = e.input.charCodeAt(++e.position)); + } + return captureSegment(e, i, r, !1), !!e.result || ((e.kind = u), (e.result = d), !1); + } + function readSingleQuotedScalar(e, t) { + var n, o, i; + if (39 !== (n = e.input.charCodeAt(e.position))) return !1; + for ( + e.kind = "scalar", e.result = "", e.position++, o = i = e.position; + 0 !== (n = e.input.charCodeAt(e.position)); + + ) + if (39 === n) { + if ((captureSegment(e, o, e.position, !0), 39 !== (n = e.input.charCodeAt(++e.position)))) return !0; + (o = e.position), e.position++, (i = e.position); + } else + is_EOL(n) + ? (captureSegment(e, o, i, !0), + writeFoldedLines(e, skipSeparationSpace(e, !1, t)), + (o = i = e.position)) + : e.position === e.lineStart && testDocumentSeparator(e) + ? throwError(e, "unexpected end of the document within a single quoted scalar") + : (e.position++, (i = e.position)); + throwError(e, "unexpected end of the stream within a single quoted scalar"); + } + function readDoubleQuotedScalar(e, t) { + var n, o, i, r, a, s; + if (34 !== (s = e.input.charCodeAt(e.position))) return !1; + for ( + e.kind = "scalar", e.result = "", e.position++, n = o = e.position; + 0 !== (s = e.input.charCodeAt(e.position)); + + ) { + if (34 === s) return captureSegment(e, n, e.position, !0), e.position++, !0; + if (92 === s) { + if ((captureSegment(e, n, e.position, !0), is_EOL((s = e.input.charCodeAt(++e.position))))) + skipSeparationSpace(e, !1, t); + else if (s < 256 && simpleEscapeCheck[s]) (e.result += simpleEscapeMap[s]), e.position++; + else if ((a = escapedHexLen(s)) > 0) { + for (i = a, r = 0; i > 0; i--) + (a = fromHexCode((s = e.input.charCodeAt(++e.position)))) >= 0 + ? (r = (r << 4) + a) + : throwError(e, "expected hexadecimal character"); + (e.result += charFromCodepoint(r)), e.position++; + } else throwError(e, "unknown escape sequence"); + n = o = e.position; + } else + is_EOL(s) + ? (captureSegment(e, n, o, !0), + writeFoldedLines(e, skipSeparationSpace(e, !1, t)), + (n = o = e.position)) + : e.position === e.lineStart && testDocumentSeparator(e) + ? throwError(e, "unexpected end of the document within a double quoted scalar") + : (e.position++, (o = e.position)); + } + throwError(e, "unexpected end of the stream within a double quoted scalar"); + } + function readFlowCollection(e, t) { + var n, + o, + i, + r, + a, + s, + p, + c, + l, + u, + d = !0, + h = e.tag, + f = e.anchor, + _ = {}; + if (91 === (u = e.input.charCodeAt(e.position))) (i = 93), (s = !1), (o = []); + else { + if (123 !== u) return !1; + (i = 125), (s = !0), (o = {}); + } + for (null !== e.anchor && (e.anchorMap[e.anchor] = o), u = e.input.charCodeAt(++e.position); 0 !== u; ) { + if ((skipSeparationSpace(e, !0, t), (u = e.input.charCodeAt(e.position)) === i)) + return ( + e.position++, (e.tag = h), (e.anchor = f), (e.kind = s ? "mapping" : "sequence"), (e.result = o), !0 + ); + d || throwError(e, "missed comma between flow collection entries"), + (l = null), + (r = a = !1), + 63 === u && + is_WS_OR_EOL(e.input.charCodeAt(e.position + 1)) && + ((r = a = !0), e.position++, skipSeparationSpace(e, !0, t)), + (n = e.line), + composeNode(e, t, CONTEXT_FLOW_IN, !1, !0), + (c = e.tag), + (p = e.result), + skipSeparationSpace(e, !0, t), + (u = e.input.charCodeAt(e.position)), + (!a && e.line !== n) || + 58 !== u || + ((r = !0), + (u = e.input.charCodeAt(++e.position)), + skipSeparationSpace(e, !0, t), + composeNode(e, t, CONTEXT_FLOW_IN, !1, !0), + (l = e.result)), + s ? storeMappingPair(e, o, _, c, p, l) : r ? o.push(storeMappingPair(e, null, _, c, p, l)) : o.push(p), + skipSeparationSpace(e, !0, t), + 44 === (u = e.input.charCodeAt(e.position)) + ? ((d = !0), (u = e.input.charCodeAt(++e.position))) + : (d = !1); + } + throwError(e, "unexpected end of the stream within a flow collection"); + } + function readBlockScalar(e, t) { + var n, + o, + i, + r, + a = CHOMPING_CLIP, + s = !1, + p = !1, + c = t, + l = 0, + u = !1; + if (124 === (r = e.input.charCodeAt(e.position))) o = !1; + else { + if (62 !== r) return !1; + o = !0; + } + for (e.kind = "scalar", e.result = ""; 0 !== r; ) + if (43 === (r = e.input.charCodeAt(++e.position)) || 45 === r) + CHOMPING_CLIP === a + ? (a = 43 === r ? CHOMPING_KEEP : CHOMPING_STRIP) + : throwError(e, "repeat of a chomping mode identifier"); + else { + if (!((i = fromDecimalCode(r)) >= 0)) break; + 0 === i + ? throwError(e, "bad explicit indentation width of a block scalar; it cannot be less than one") + : p + ? throwError(e, "repeat of an indentation width identifier") + : ((c = t + i - 1), (p = !0)); + } + if (is_WHITE_SPACE(r)) { + do { + r = e.input.charCodeAt(++e.position); + } while (is_WHITE_SPACE(r)); + if (35 === r) + do { + r = e.input.charCodeAt(++e.position); + } while (!is_EOL(r) && 0 !== r); + } + for (; 0 !== r; ) { + for ( + readLineBreak(e), e.lineIndent = 0, r = e.input.charCodeAt(e.position); + (!p || e.lineIndent < c) && 32 === r; + + ) + e.lineIndent++, (r = e.input.charCodeAt(++e.position)); + if ((!p && e.lineIndent > c && (c = e.lineIndent), is_EOL(r))) l++; + else { + if (e.lineIndent < c) { + a === CHOMPING_KEEP + ? (e.result += common.repeat("\n", s ? 1 + l : l)) + : a === CHOMPING_CLIP && s && (e.result += "\n"); + break; + } + for ( + o + ? is_WHITE_SPACE(r) + ? ((u = !0), (e.result += common.repeat("\n", s ? 1 + l : l))) + : u + ? ((u = !1), (e.result += common.repeat("\n", l + 1))) + : 0 === l + ? s && (e.result += " ") + : (e.result += common.repeat("\n", l)) + : (e.result += common.repeat("\n", s ? 1 + l : l)), + s = !0, + p = !0, + l = 0, + n = e.position; + !is_EOL(r) && 0 !== r; + + ) + r = e.input.charCodeAt(++e.position); + captureSegment(e, n, e.position, !1); + } + } + return !0; + } + function readBlockSequence(e, t) { + var n, + o, + i = e.tag, + r = e.anchor, + a = [], + s = !1; + for ( + null !== e.anchor && (e.anchorMap[e.anchor] = a), o = e.input.charCodeAt(e.position); + 0 !== o && 45 === o && is_WS_OR_EOL(e.input.charCodeAt(e.position + 1)); + + ) + if (((s = !0), e.position++, skipSeparationSpace(e, !0, -1) && e.lineIndent <= t)) + a.push(null), (o = e.input.charCodeAt(e.position)); + else if ( + ((n = e.line), + composeNode(e, t, CONTEXT_BLOCK_IN, !1, !0), + a.push(e.result), + skipSeparationSpace(e, !0, -1), + (o = e.input.charCodeAt(e.position)), + (e.line === n || e.lineIndent > t) && 0 !== o) + ) + throwError(e, "bad indentation of a sequence entry"); + else if (e.lineIndent < t) break; + return !!s && ((e.tag = i), (e.anchor = r), (e.kind = "sequence"), (e.result = a), !0); + } + function readBlockMapping(e, t, n) { + var o, + i, + r, + a, + s, + p = e.tag, + c = e.anchor, + l = {}, + u = {}, + d = null, + h = null, + f = null, + _ = !1, + A = !1; + for (null !== e.anchor && (e.anchorMap[e.anchor] = l), s = e.input.charCodeAt(e.position); 0 !== s; ) { + if ( + ((o = e.input.charCodeAt(e.position + 1)), + (r = e.line), + (a = e.position), + (63 !== s && 58 !== s) || !is_WS_OR_EOL(o)) + ) { + if (!composeNode(e, n, CONTEXT_FLOW_OUT, !1, !0)) break; + if (e.line === r) { + for (s = e.input.charCodeAt(e.position); is_WHITE_SPACE(s); ) s = e.input.charCodeAt(++e.position); + if (58 === s) + is_WS_OR_EOL((s = e.input.charCodeAt(++e.position))) || + throwError( + e, + "a whitespace character is expected after the key-value separator within a block mapping", + ), + _ && (storeMappingPair(e, l, u, d, h, null), (d = h = f = null)), + (A = !0), + (_ = !1), + (i = !1), + (d = e.tag), + (h = e.result); + else { + if (!A) return (e.tag = p), (e.anchor = c), !0; + throwError(e, "can not read an implicit mapping pair; a colon is missed"); + } + } else { + if (!A) return (e.tag = p), (e.anchor = c), !0; + throwError(e, "can not read a block mapping entry; a multiline key may not be an implicit key"); + } + } else + 63 === s + ? (_ && (storeMappingPair(e, l, u, d, h, null), (d = h = f = null)), (A = !0), (_ = !0), (i = !0)) + : _ + ? ((_ = !1), (i = !0)) + : throwError( + e, + "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line", + ), + (e.position += 1), + (s = o); + if ( + ((e.line === r || e.lineIndent > t) && + (composeNode(e, t, CONTEXT_BLOCK_OUT, !0, i) && (_ ? (h = e.result) : (f = e.result)), + _ || (storeMappingPair(e, l, u, d, h, f, r, a), (d = h = f = null)), + skipSeparationSpace(e, !0, -1), + (s = e.input.charCodeAt(e.position))), + e.lineIndent > t && 0 !== s) + ) + throwError(e, "bad indentation of a mapping entry"); + else if (e.lineIndent < t) break; + } + return ( + _ && storeMappingPair(e, l, u, d, h, null), + A && ((e.tag = p), (e.anchor = c), (e.kind = "mapping"), (e.result = l)), + A + ); + } + function readTagProperty(e) { + var t, + n, + o, + i, + r = !1, + a = !1; + if (33 !== (i = e.input.charCodeAt(e.position))) return !1; + if ( + (null !== e.tag && throwError(e, "duplication of a tag property"), + 60 === (i = e.input.charCodeAt(++e.position)) + ? ((r = !0), (i = e.input.charCodeAt(++e.position))) + : 33 === i + ? ((a = !0), (n = "!!"), (i = e.input.charCodeAt(++e.position))) + : (n = "!"), + (t = e.position), + r) + ) { + do { + i = e.input.charCodeAt(++e.position); + } while (0 !== i && 62 !== i); + e.position < e.length + ? ((o = e.input.slice(t, e.position)), (i = e.input.charCodeAt(++e.position))) + : throwError(e, "unexpected end of the stream within a verbatim tag"); + } else { + for (; 0 !== i && !is_WS_OR_EOL(i); ) + 33 === i && + (a + ? throwError(e, "tag suffix cannot contain exclamation marks") + : ((n = e.input.slice(t - 1, e.position + 1)), + PATTERN_TAG_HANDLE.test(n) || throwError(e, "named tag handle cannot contain such characters"), + (a = !0), + (t = e.position + 1))), + (i = e.input.charCodeAt(++e.position)); + (o = e.input.slice(t, e.position)), + PATTERN_FLOW_INDICATORS.test(o) && throwError(e, "tag suffix cannot contain flow indicator characters"); + } + return ( + o && !PATTERN_TAG_URI.test(o) && throwError(e, "tag name cannot contain such characters: " + o), + r + ? (e.tag = o) + : _hasOwnProperty.call(e.tagMap, n) + ? (e.tag = e.tagMap[n] + o) + : "!" === n + ? (e.tag = "!" + o) + : "!!" === n + ? (e.tag = "tag:yaml.org,2002:" + o) + : throwError(e, 'undeclared tag handle "' + n + '"'), + !0 + ); + } + function readAnchorProperty(e) { + var t, n; + if (38 !== (n = e.input.charCodeAt(e.position))) return !1; + for ( + null !== e.anchor && throwError(e, "duplication of an anchor property"), + n = e.input.charCodeAt(++e.position), + t = e.position; + 0 !== n && !is_WS_OR_EOL(n) && !is_FLOW_INDICATOR(n); + + ) + n = e.input.charCodeAt(++e.position); + return ( + e.position === t && throwError(e, "name of an anchor node must contain at least one character"), + (e.anchor = e.input.slice(t, e.position)), + !0 + ); + } + function readAlias(e) { + var t, n, o; + if (42 !== (o = e.input.charCodeAt(e.position))) return !1; + for ( + o = e.input.charCodeAt(++e.position), t = e.position; + 0 !== o && !is_WS_OR_EOL(o) && !is_FLOW_INDICATOR(o); + + ) + o = e.input.charCodeAt(++e.position); + return ( + e.position === t && throwError(e, "name of an alias node must contain at least one character"), + (n = e.input.slice(t, e.position)), + _hasOwnProperty.call(e.anchorMap, n) || throwError(e, 'unidentified alias "' + n + '"'), + (e.result = e.anchorMap[n]), + skipSeparationSpace(e, !0, -1), + !0 + ); + } + function composeNode(e, t, n, o, i) { + var r, + a, + s, + p, + c, + l, + u, + d, + h = 1, + f = !1, + _ = !1; + if ( + (null !== e.listener && e.listener("open", e), + (e.tag = null), + (e.anchor = null), + (e.kind = null), + (e.result = null), + (r = a = s = CONTEXT_BLOCK_OUT === n || CONTEXT_BLOCK_IN === n), + o && + skipSeparationSpace(e, !0, -1) && + ((f = !0), e.lineIndent > t ? (h = 1) : e.lineIndent === t ? (h = 0) : e.lineIndent < t && (h = -1)), + 1 === h) + ) + for (; readTagProperty(e) || readAnchorProperty(e); ) + skipSeparationSpace(e, !0, -1) + ? ((f = !0), + (s = r), + e.lineIndent > t ? (h = 1) : e.lineIndent === t ? (h = 0) : e.lineIndent < t && (h = -1)) + : (s = !1); + if ( + (s && (s = f || i), + (1 !== h && CONTEXT_BLOCK_OUT !== n) || + ((u = CONTEXT_FLOW_IN === n || CONTEXT_FLOW_OUT === n ? t : t + 1), + (d = e.position - e.lineStart), + 1 === h + ? (s && (readBlockSequence(e, d) || readBlockMapping(e, d, u))) || readFlowCollection(e, u) + ? (_ = !0) + : ((a && readBlockScalar(e, u)) || readSingleQuotedScalar(e, u) || readDoubleQuotedScalar(e, u) + ? (_ = !0) + : readAlias(e) + ? ((_ = !0), + (null === e.tag && null === e.anchor) || + throwError(e, "alias node should not have any properties")) + : readPlainScalar(e, u, CONTEXT_FLOW_IN === n) && ((_ = !0), null === e.tag && (e.tag = "?")), + null !== e.anchor && (e.anchorMap[e.anchor] = e.result)) + : 0 === h && (_ = s && readBlockSequence(e, d))), + null !== e.tag && "!" !== e.tag) + ) + if ("?" === e.tag) { + for ( + null !== e.result && + "scalar" !== e.kind && + throwError(e, 'unacceptable node kind for ! tag; it should be "scalar", not "' + e.kind + '"'), + p = 0, + c = e.implicitTypes.length; + p < c; + p += 1 + ) + if ((l = e.implicitTypes[p]).resolve(e.result)) { + (e.result = l.construct(e.result)), + (e.tag = l.tag), + null !== e.anchor && (e.anchorMap[e.anchor] = e.result); + break; + } + } else + _hasOwnProperty.call(e.typeMap[e.kind || "fallback"], e.tag) + ? ((l = e.typeMap[e.kind || "fallback"][e.tag]), + null !== e.result && + l.kind !== e.kind && + throwError( + e, + "unacceptable node kind for !<" + + e.tag + + '> tag; it should be "' + + l.kind + + '", not "' + + e.kind + + '"', + ), + l.resolve(e.result) + ? ((e.result = l.construct(e.result)), null !== e.anchor && (e.anchorMap[e.anchor] = e.result)) + : throwError(e, "cannot resolve a node with !<" + e.tag + "> explicit tag")) + : throwError(e, "unknown tag !<" + e.tag + ">"); + return null !== e.listener && e.listener("close", e), null !== e.tag || null !== e.anchor || _; + } + function readDocument(e) { + var t, + n, + o, + i, + r = e.position, + a = !1; + for ( + e.version = null, e.checkLineBreaks = e.legacy, e.tagMap = {}, e.anchorMap = {}; + 0 !== (i = e.input.charCodeAt(e.position)) && + (skipSeparationSpace(e, !0, -1), (i = e.input.charCodeAt(e.position)), !(e.lineIndent > 0 || 37 !== i)); + + ) { + for (a = !0, i = e.input.charCodeAt(++e.position), t = e.position; 0 !== i && !is_WS_OR_EOL(i); ) + i = e.input.charCodeAt(++e.position); + for ( + o = [], + (n = e.input.slice(t, e.position)).length < 1 && + throwError(e, "directive name must not be less than one character in length"); + 0 !== i; + + ) { + for (; is_WHITE_SPACE(i); ) i = e.input.charCodeAt(++e.position); + if (35 === i) { + do { + i = e.input.charCodeAt(++e.position); + } while (0 !== i && !is_EOL(i)); + break; + } + if (is_EOL(i)) break; + for (t = e.position; 0 !== i && !is_WS_OR_EOL(i); ) i = e.input.charCodeAt(++e.position); + o.push(e.input.slice(t, e.position)); + } + 0 !== i && readLineBreak(e), + _hasOwnProperty.call(directiveHandlers, n) + ? directiveHandlers[n](e, n, o) + : throwWarning(e, 'unknown document directive "' + n + '"'); + } + skipSeparationSpace(e, !0, -1), + 0 === e.lineIndent && + 45 === e.input.charCodeAt(e.position) && + 45 === e.input.charCodeAt(e.position + 1) && + 45 === e.input.charCodeAt(e.position + 2) + ? ((e.position += 3), skipSeparationSpace(e, !0, -1)) + : a && throwError(e, "directives end mark is expected"), + composeNode(e, e.lineIndent - 1, CONTEXT_BLOCK_OUT, !1, !0), + skipSeparationSpace(e, !0, -1), + e.checkLineBreaks && + PATTERN_NON_ASCII_LINE_BREAKS.test(e.input.slice(r, e.position)) && + throwWarning(e, "non-ASCII line breaks are interpreted as content"), + e.documents.push(e.result), + e.position === e.lineStart && testDocumentSeparator(e) + ? 46 === e.input.charCodeAt(e.position) && ((e.position += 3), skipSeparationSpace(e, !0, -1)) + : e.position < e.length - 1 && throwError(e, "end of the stream or a document separator is expected"); + } + function loadDocuments(e, t) { + (t = t || {}), + 0 !== (e = String(e)).length && + (10 !== e.charCodeAt(e.length - 1) && 13 !== e.charCodeAt(e.length - 1) && (e += "\n"), + 65279 === e.charCodeAt(0) && (e = e.slice(1))); + var n = new State(e, t), + o = e.indexOf("\0"); + for ( + -1 !== o && ((n.position = o), throwError(n, "null byte is not allowed in input")), n.input += "\0"; + 32 === n.input.charCodeAt(n.position); + + ) + (n.lineIndent += 1), (n.position += 1); + for (; n.position < n.length - 1; ) readDocument(n); + return n.documents; + } + function loadAll(e, t, n) { + null !== t && "object" == typeof t && void 0 === n && ((n = t), (t = null)); + var o = loadDocuments(e, n); + if ("function" != typeof t) return o; + for (var i = 0, r = o.length; i < r; i += 1) t(o[i]); + } + function load(e, t) { + var n = loadDocuments(e, t); + if (0 !== n.length) { + if (1 === n.length) return n[0]; + throw new YAMLException("expected a single document in the stream, but found more"); + } + } + function safeLoadAll(e, t, n) { + return ( + "object" == typeof t && null !== t && void 0 === n && ((n = t), (t = null)), + loadAll(e, t, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, n)) + ); + } + function safeLoad(e, t) { + return load(e, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, t)); + } + (module.exports.loadAll = loadAll), + (module.exports.load = load), + (module.exports.safeLoadAll = safeLoadAll), + (module.exports.safeLoad = safeLoad); + }, + { + "./common": 143, + "./exception": 145, + "./mark": 147, + "./schema/default_full": 150, + "./schema/default_safe": 151, + }, + ], + 147: [ + function (require, module, exports) { + "use strict"; + var common = require("./common"); + function Mark(t, i, n, e, r) { + (this.name = t), (this.buffer = i), (this.position = n), (this.line = e), (this.column = r); + } + (Mark.prototype.getSnippet = function (t, i) { + var n, e, r, o, s; + if (!this.buffer) return null; + for ( + t = t || 4, i = i || 75, n = "", e = this.position; + e > 0 && -1 === "\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(e - 1)); + + ) + if (((e -= 1), this.position - e > i / 2 - 1)) { + (n = " ... "), (e += 5); + break; + } + for ( + r = "", o = this.position; + o < this.buffer.length && -1 === "\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(o)); + + ) + if ((o += 1) - this.position > i / 2 - 1) { + (r = " ... "), (o -= 5); + break; + } + return ( + (s = this.buffer.slice(e, o)), + common.repeat(" ", t) + n + s + r + "\n" + common.repeat(" ", t + this.position - e + n.length) + "^" + ); + }), + (Mark.prototype.toString = function (t) { + var i, + n = ""; + return ( + this.name && (n += 'in "' + this.name + '" '), + (n += "at line " + (this.line + 1) + ", column " + (this.column + 1)), + t || ((i = this.getSnippet()) && (n += ":\n" + i)), + n + ); + }), + (module.exports = Mark); + }, + { "./common": 143 }, + ], + 148: [ + function (require, module, exports) { + "use strict"; + var common = require("./common"), + YAMLException = require("./exception"), + Type = require("./type"); + function compileList(i, e, t) { + var c = []; + return ( + i.include.forEach(function (i) { + t = compileList(i, e, t); + }), + i[e].forEach(function (i) { + t.forEach(function (e, t) { + e.tag === i.tag && e.kind === i.kind && c.push(t); + }), + t.push(i); + }), + t.filter(function (i, e) { + return -1 === c.indexOf(e); + }) + ); + } + function compileMap() { + var i, + e, + t = { scalar: {}, sequence: {}, mapping: {}, fallback: {} }; + function c(i) { + t[i.kind][i.tag] = t.fallback[i.tag] = i; + } + for (i = 0, e = arguments.length; i < e; i += 1) arguments[i].forEach(c); + return t; + } + function Schema(i) { + (this.include = i.include || []), + (this.implicit = i.implicit || []), + (this.explicit = i.explicit || []), + this.implicit.forEach(function (i) { + if (i.loadKind && "scalar" !== i.loadKind) + throw new YAMLException( + "There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.", + ); + }), + (this.compiledImplicit = compileList(this, "implicit", [])), + (this.compiledExplicit = compileList(this, "explicit", [])), + (this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit)); + } + (Schema.DEFAULT = null), + (Schema.create = function () { + var i, e; + switch (arguments.length) { + case 1: + (i = Schema.DEFAULT), (e = arguments[0]); + break; + case 2: + (i = arguments[0]), (e = arguments[1]); + break; + default: + throw new YAMLException("Wrong number of arguments for Schema.create function"); + } + if ( + ((i = common.toArray(i)), + (e = common.toArray(e)), + !i.every(function (i) { + return i instanceof Schema; + })) + ) + throw new YAMLException( + "Specified list of super schemas (or a single Schema object) contains a non-Schema object.", + ); + if ( + !e.every(function (i) { + return i instanceof Type; + }) + ) + throw new YAMLException( + "Specified list of YAML types (or a single Type object) contains a non-Type object.", + ); + return new Schema({ include: i, explicit: e }); + }), + (module.exports = Schema); + }, + { "./common": 143, "./exception": 145, "./type": 154 }, + ], + 149: [ + function (require, module, exports) { + "use strict"; + var Schema = require("../schema"); + module.exports = new Schema({ include: [require("./json")] }); + }, + { "../schema": 148, "./json": 153 }, + ], + 150: [ + function (require, module, exports) { + "use strict"; + var Schema = require("../schema"); + module.exports = Schema.DEFAULT = new Schema({ + include: [require("./default_safe")], + explicit: [require("../type/js/undefined"), require("../type/js/regexp"), require("../type/js/function")], + }); + }, + { + "../schema": 148, + "../type/js/function": 159, + "../type/js/regexp": 160, + "../type/js/undefined": 161, + "./default_safe": 151, + }, + ], + 151: [ + function (require, module, exports) { + "use strict"; + var Schema = require("../schema"); + module.exports = new Schema({ + include: [require("./core")], + implicit: [require("../type/timestamp"), require("../type/merge")], + explicit: [ + require("../type/binary"), + require("../type/omap"), + require("../type/pairs"), + require("../type/set"), + ], + }); + }, + { + "../schema": 148, + "../type/binary": 155, + "../type/merge": 163, + "../type/omap": 165, + "../type/pairs": 166, + "../type/set": 168, + "../type/timestamp": 170, + "./core": 149, + }, + ], + 152: [ + function (require, module, exports) { + "use strict"; + var Schema = require("../schema"); + module.exports = new Schema({ + explicit: [require("../type/str"), require("../type/seq"), require("../type/map")], + }); + }, + { "../schema": 148, "../type/map": 162, "../type/seq": 167, "../type/str": 169 }, + ], + 153: [ + function (require, module, exports) { + "use strict"; + var Schema = require("../schema"); + module.exports = new Schema({ + include: [require("./failsafe")], + implicit: [ + require("../type/null"), + require("../type/bool"), + require("../type/int"), + require("../type/float"), + ], + }); + }, + { + "../schema": 148, + "../type/bool": 156, + "../type/float": 157, + "../type/int": 158, + "../type/null": 164, + "./failsafe": 152, + }, + ], + 154: [ + function (require, module, exports) { + "use strict"; + var YAMLException = require("./exception"), + TYPE_CONSTRUCTOR_OPTIONS = [ + "kind", + "resolve", + "construct", + "instanceOf", + "predicate", + "represent", + "defaultStyle", + "styleAliases", + ], + YAML_NODE_KINDS = ["scalar", "sequence", "mapping"]; + function compileStyleAliases(e) { + var t = {}; + return ( + null !== e && + Object.keys(e).forEach(function (n) { + e[n].forEach(function (e) { + t[String(e)] = n; + }); + }), + t + ); + } + function Type(e, t) { + if ( + ((t = t || {}), + Object.keys(t).forEach(function (t) { + if (-1 === TYPE_CONSTRUCTOR_OPTIONS.indexOf(t)) + throw new YAMLException('Unknown option "' + t + '" is met in definition of "' + e + '" YAML type.'); + }), + (this.tag = e), + (this.kind = t.kind || null), + (this.resolve = + t.resolve || + function () { + return !0; + }), + (this.construct = + t.construct || + function (e) { + return e; + }), + (this.instanceOf = t.instanceOf || null), + (this.predicate = t.predicate || null), + (this.represent = t.represent || null), + (this.defaultStyle = t.defaultStyle || null), + (this.styleAliases = compileStyleAliases(t.styleAliases || null)), + -1 === YAML_NODE_KINDS.indexOf(this.kind)) + ) + throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + e + '" YAML type.'); + } + module.exports = Type; + }, + { "./exception": 145 }, + ], + 155: [ + function (require, module, exports) { + "use strict"; + var NodeBuffer; + try { + var _require = require; + NodeBuffer = _require("buffer").Buffer; + } catch (r) {} + var Type = require("../type"), + BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r"; + function resolveYamlBinary(r) { + if (null === r) return !1; + var e, + n, + u = 0, + f = r.length, + t = BASE64_MAP; + for (n = 0; n < f; n++) + if (!((e = t.indexOf(r.charAt(n))) > 64)) { + if (e < 0) return !1; + u += 6; + } + return u % 8 == 0; + } + function constructYamlBinary(r) { + var e, + n, + u = r.replace(/[\r\n=]/g, ""), + f = u.length, + t = BASE64_MAP, + a = 0, + i = []; + for (e = 0; e < f; e++) + e % 4 == 0 && e && (i.push((a >> 16) & 255), i.push((a >> 8) & 255), i.push(255 & a)), + (a = (a << 6) | t.indexOf(u.charAt(e))); + return ( + 0 === (n = (f % 4) * 6) + ? (i.push((a >> 16) & 255), i.push((a >> 8) & 255), i.push(255 & a)) + : 18 === n + ? (i.push((a >> 10) & 255), i.push((a >> 2) & 255)) + : 12 === n && i.push((a >> 4) & 255), + NodeBuffer ? (NodeBuffer.from ? NodeBuffer.from(i) : new NodeBuffer(i)) : i + ); + } + function representYamlBinary(r) { + var e, + n, + u = "", + f = 0, + t = r.length, + a = BASE64_MAP; + for (e = 0; e < t; e++) + e % 3 == 0 && + e && + ((u += a[(f >> 18) & 63]), (u += a[(f >> 12) & 63]), (u += a[(f >> 6) & 63]), (u += a[63 & f])), + (f = (f << 8) + r[e]); + return ( + 0 === (n = t % 3) + ? ((u += a[(f >> 18) & 63]), (u += a[(f >> 12) & 63]), (u += a[(f >> 6) & 63]), (u += a[63 & f])) + : 2 === n + ? ((u += a[(f >> 10) & 63]), (u += a[(f >> 4) & 63]), (u += a[(f << 2) & 63]), (u += a[64])) + : 1 === n && ((u += a[(f >> 2) & 63]), (u += a[(f << 4) & 63]), (u += a[64]), (u += a[64])), + u + ); + } + function isBinary(r) { + return NodeBuffer && NodeBuffer.isBuffer(r); + } + module.exports = new Type("tag:yaml.org,2002:binary", { + kind: "scalar", + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary, + }); + }, + { "../type": 154 }, + ], + 156: [ + function (require, module, exports) { + "use strict"; + var Type = require("../type"); + function resolveYamlBoolean(e) { + if (null === e) return !1; + var r = e.length; + return ( + (4 === r && ("true" === e || "True" === e || "TRUE" === e)) || + (5 === r && ("false" === e || "False" === e || "FALSE" === e)) + ); + } + function constructYamlBoolean(e) { + return "true" === e || "True" === e || "TRUE" === e; + } + function isBoolean(e) { + return "[object Boolean]" === Object.prototype.toString.call(e); + } + module.exports = new Type("tag:yaml.org,2002:bool", { + kind: "scalar", + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function (e) { + return e ? "true" : "false"; + }, + uppercase: function (e) { + return e ? "TRUE" : "FALSE"; + }, + camelcase: function (e) { + return e ? "True" : "False"; + }, + }, + defaultStyle: "lowercase", + }); + }, + { "../type": 154 }, + ], + 157: [ + function (require, module, exports) { + "use strict"; + var common = require("../common"), + Type = require("../type"), + YAML_FLOAT_PATTERN = 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 resolveYamlFloat(e) { + return null !== e && !(!YAML_FLOAT_PATTERN.test(e) || "_" === e[e.length - 1]); + } + function constructYamlFloat(e) { + var r, t, a, n; + return ( + (t = "-" === (r = e.replace(/_/g, "").toLowerCase())[0] ? -1 : 1), + (n = []), + "+-".indexOf(r[0]) >= 0 && (r = r.slice(1)), + ".inf" === r + ? 1 === t + ? Number.POSITIVE_INFINITY + : Number.NEGATIVE_INFINITY + : ".nan" === r + ? NaN + : r.indexOf(":") >= 0 + ? (r.split(":").forEach(function (e) { + n.unshift(parseFloat(e, 10)); + }), + (r = 0), + (a = 1), + n.forEach(function (e) { + (r += e * a), (a *= 60); + }), + t * r) + : t * parseFloat(r, 10) + ); + } + var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; + function representYamlFloat(e, r) { + var t; + if (isNaN(e)) + switch (r) { + case "lowercase": + return ".nan"; + case "uppercase": + return ".NAN"; + case "camelcase": + return ".NaN"; + } + else if (Number.POSITIVE_INFINITY === e) + switch (r) { + case "lowercase": + return ".inf"; + case "uppercase": + return ".INF"; + case "camelcase": + return ".Inf"; + } + else if (Number.NEGATIVE_INFINITY === e) + switch (r) { + case "lowercase": + return "-.inf"; + case "uppercase": + return "-.INF"; + case "camelcase": + return "-.Inf"; + } + else if (common.isNegativeZero(e)) return "-0.0"; + return (t = e.toString(10)), SCIENTIFIC_WITHOUT_DOT.test(t) ? t.replace("e", ".e") : t; + } + function isFloat(e) { + return "[object Number]" === Object.prototype.toString.call(e) && (e % 1 != 0 || common.isNegativeZero(e)); + } + module.exports = new Type("tag:yaml.org,2002:float", { + kind: "scalar", + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: "lowercase", + }); + }, + { "../common": 143, "../type": 154 }, + ], + 158: [ + function (require, module, exports) { + "use strict"; + var common = require("../common"), + Type = require("../type"); + function isHexCode(e) { + return (48 <= e && e <= 57) || (65 <= e && e <= 70) || (97 <= e && e <= 102); + } + function isOctCode(e) { + return 48 <= e && e <= 55; + } + function isDecCode(e) { + return 48 <= e && e <= 57; + } + function resolveYamlInteger(e) { + if (null === e) return !1; + var r, + t = e.length, + n = 0, + i = !1; + if (!t) return !1; + if ((("-" !== (r = e[n]) && "+" !== r) || (r = e[++n]), "0" === r)) { + if (n + 1 === t) return !0; + if ("b" === (r = e[++n])) { + for (n++; n < t; n++) + if ("_" !== (r = e[n])) { + if ("0" !== r && "1" !== r) return !1; + i = !0; + } + return i && "_" !== r; + } + if ("x" === r) { + for (n++; n < t; n++) + if ("_" !== (r = e[n])) { + if (!isHexCode(e.charCodeAt(n))) return !1; + i = !0; + } + return i && "_" !== r; + } + for (; n < t; n++) + if ("_" !== (r = e[n])) { + if (!isOctCode(e.charCodeAt(n))) return !1; + i = !0; + } + return i && "_" !== r; + } + if ("_" === r) return !1; + for (; n < t; n++) + if ("_" !== (r = e[n])) { + if (":" === r) break; + if (!isDecCode(e.charCodeAt(n))) return !1; + i = !0; + } + return !(!i || "_" === r) && (":" !== r || /^(:[0-5]?[0-9])+$/.test(e.slice(n))); + } + function constructYamlInteger(e) { + var r, + t, + n = e, + i = 1, + o = []; + return ( + -1 !== n.indexOf("_") && (n = n.replace(/_/g, "")), + ("-" !== (r = n[0]) && "+" !== r) || ("-" === r && (i = -1), (r = (n = n.slice(1))[0])), + "0" === n + ? 0 + : "0" === r + ? "b" === n[1] + ? i * parseInt(n.slice(2), 2) + : "x" === n[1] + ? i * parseInt(n, 16) + : i * parseInt(n, 8) + : -1 !== n.indexOf(":") + ? (n.split(":").forEach(function (e) { + o.unshift(parseInt(e, 10)); + }), + (n = 0), + (t = 1), + o.forEach(function (e) { + (n += e * t), (t *= 60); + }), + i * n) + : i * parseInt(n, 10) + ); + } + function isInteger(e) { + return "[object Number]" === Object.prototype.toString.call(e) && e % 1 == 0 && !common.isNegativeZero(e); + } + module.exports = new Type("tag:yaml.org,2002:int", { + kind: "scalar", + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function (e) { + return e >= 0 ? "0b" + e.toString(2) : "-0b" + e.toString(2).slice(1); + }, + octal: function (e) { + return e >= 0 ? "0" + e.toString(8) : "-0" + e.toString(8).slice(1); + }, + decimal: function (e) { + return e.toString(10); + }, + hexadecimal: function (e) { + return e >= 0 ? "0x" + e.toString(16).toUpperCase() : "-0x" + e.toString(16).toUpperCase().slice(1); + }, + }, + defaultStyle: "decimal", + styleAliases: { binary: [2, "bin"], octal: [8, "oct"], decimal: [10, "dec"], hexadecimal: [16, "hex"] }, + }); + }, + { "../common": 143, "../type": 154 }, + ], + 159: [ + function (require, module, exports) { + "use strict"; + var esprima; + try { + var _require = require; + esprima = _require("esprima"); + } catch (e) { + "undefined" != typeof window && (esprima = window.esprima); + } + var Type = require("../../type"); + function resolveJavascriptFunction(e) { + if (null === e) return !1; + try { + var r = "(" + e + ")", + n = esprima.parse(r, { range: !0 }); + return ( + "Program" === n.type && + 1 === n.body.length && + "ExpressionStatement" === n.body[0].type && + ("ArrowFunctionExpression" === n.body[0].expression.type || + "FunctionExpression" === n.body[0].expression.type) + ); + } catch (e) { + return !1; + } + } + function constructJavascriptFunction(e) { + var r, + n = "(" + e + ")", + t = esprima.parse(n, { range: !0 }), + o = []; + if ( + "Program" !== t.type || + 1 !== t.body.length || + "ExpressionStatement" !== t.body[0].type || + ("ArrowFunctionExpression" !== t.body[0].expression.type && + "FunctionExpression" !== t.body[0].expression.type) + ) + throw new Error("Failed to resolve function"); + return ( + t.body[0].expression.params.forEach(function (e) { + o.push(e.name); + }), + (r = t.body[0].expression.body.range), + "BlockStatement" === t.body[0].expression.body.type + ? new Function(o, n.slice(r[0] + 1, r[1] - 1)) + : new Function(o, "return " + n.slice(r[0], r[1])) + ); + } + function representJavascriptFunction(e) { + return e.toString(); + } + function isFunction(e) { + return "[object Function]" === Object.prototype.toString.call(e); + } + module.exports = new Type("tag:yaml.org,2002:js/function", { + kind: "scalar", + resolve: resolveJavascriptFunction, + construct: constructJavascriptFunction, + predicate: isFunction, + represent: representJavascriptFunction, + }); + }, + { "../../type": 154 }, + ], + 160: [ + function (require, module, exports) { + "use strict"; + var Type = require("../../type"); + function resolveJavascriptRegExp(e) { + if (null === e) return !1; + if (0 === e.length) return !1; + var r = e, + t = /\/([gim]*)$/.exec(e), + n = ""; + if ("/" === r[0]) { + if ((t && (n = t[1]), n.length > 3)) return !1; + if ("/" !== r[r.length - n.length - 1]) return !1; + } + return !0; + } + function constructJavascriptRegExp(e) { + var r = e, + t = /\/([gim]*)$/.exec(e), + n = ""; + return "/" === r[0] && (t && (n = t[1]), (r = r.slice(1, r.length - n.length - 1))), new RegExp(r, n); + } + function representJavascriptRegExp(e) { + var r = "/" + e.source + "/"; + return e.global && (r += "g"), e.multiline && (r += "m"), e.ignoreCase && (r += "i"), r; + } + function isRegExp(e) { + return "[object RegExp]" === Object.prototype.toString.call(e); + } + module.exports = new Type("tag:yaml.org,2002:js/regexp", { + kind: "scalar", + resolve: resolveJavascriptRegExp, + construct: constructJavascriptRegExp, + predicate: isRegExp, + represent: representJavascriptRegExp, + }); + }, + { "../../type": 154 }, + ], + 161: [ + function (require, module, exports) { + "use strict"; + var Type = require("../../type"); + function resolveJavascriptUndefined() { + return !0; + } + function constructJavascriptUndefined() {} + function representJavascriptUndefined() { + return ""; + } + function isUndefined(e) { + return void 0 === e; + } + module.exports = new Type("tag:yaml.org,2002:js/undefined", { + kind: "scalar", + resolve: resolveJavascriptUndefined, + construct: constructJavascriptUndefined, + predicate: isUndefined, + represent: representJavascriptUndefined, + }); + }, + { "../../type": 154 }, + ], + 162: [ + function (require, module, exports) { + "use strict"; + var Type = require("../type"); + module.exports = new Type("tag:yaml.org,2002:map", { + kind: "mapping", + construct: function (e) { + return null !== e ? e : {}; + }, + }); + }, + { "../type": 154 }, + ], + 163: [ + function (require, module, exports) { + "use strict"; + var Type = require("../type"); + function resolveYamlMerge(e) { + return "<<" === e || null === e; + } + module.exports = new Type("tag:yaml.org,2002:merge", { kind: "scalar", resolve: resolveYamlMerge }); + }, + { "../type": 154 }, + ], + 164: [ + function (require, module, exports) { + "use strict"; + var Type = require("../type"); + function resolveYamlNull(l) { + if (null === l) return !0; + var e = l.length; + return (1 === e && "~" === l) || (4 === e && ("null" === l || "Null" === l || "NULL" === l)); + } + function constructYamlNull() { + return null; + } + function isNull(l) { + return null === l; + } + module.exports = new Type("tag:yaml.org,2002:null", { + kind: "scalar", + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function () { + return "~"; + }, + lowercase: function () { + return "null"; + }, + uppercase: function () { + return "NULL"; + }, + camelcase: function () { + return "Null"; + }, + }, + defaultStyle: "lowercase", + }); + }, + { "../type": 154 }, + ], + 165: [ + function (require, module, exports) { + "use strict"; + var Type = require("../type"), + _hasOwnProperty = Object.prototype.hasOwnProperty, + _toString = Object.prototype.toString; + function resolveYamlOmap(r) { + if (null === r) return !0; + var t, + e, + n, + o, + u, + a = [], + l = r; + for (t = 0, e = l.length; t < e; t += 1) { + if (((n = l[t]), (u = !1), "[object Object]" !== _toString.call(n))) return !1; + for (o in n) + if (_hasOwnProperty.call(n, o)) { + if (u) return !1; + u = !0; + } + if (!u) return !1; + if (-1 !== a.indexOf(o)) return !1; + a.push(o); + } + return !0; + } + function constructYamlOmap(r) { + return null !== r ? r : []; + } + module.exports = new Type("tag:yaml.org,2002:omap", { + kind: "sequence", + resolve: resolveYamlOmap, + construct: constructYamlOmap, + }); + }, + { "../type": 154 }, + ], + 166: [ + function (require, module, exports) { + "use strict"; + var Type = require("../type"), + _toString = Object.prototype.toString; + function resolveYamlPairs(r) { + if (null === r) return !0; + var e, + t, + n, + l, + o, + a = r; + for (o = new Array(a.length), e = 0, t = a.length; e < t; e += 1) { + if (((n = a[e]), "[object Object]" !== _toString.call(n))) return !1; + if (1 !== (l = Object.keys(n)).length) return !1; + o[e] = [l[0], n[l[0]]]; + } + return !0; + } + function constructYamlPairs(r) { + if (null === r) return []; + var e, + t, + n, + l, + o, + a = r; + for (o = new Array(a.length), e = 0, t = a.length; e < t; e += 1) + (n = a[e]), (l = Object.keys(n)), (o[e] = [l[0], n[l[0]]]); + return o; + } + module.exports = new Type("tag:yaml.org,2002:pairs", { + kind: "sequence", + resolve: resolveYamlPairs, + construct: constructYamlPairs, + }); + }, + { "../type": 154 }, + ], + 167: [ + function (require, module, exports) { + "use strict"; + var Type = require("../type"); + module.exports = new Type("tag:yaml.org,2002:seq", { + kind: "sequence", + construct: function (e) { + return null !== e ? e : []; + }, + }); + }, + { "../type": 154 }, + ], + 168: [ + function (require, module, exports) { + "use strict"; + var Type = require("../type"), + _hasOwnProperty = Object.prototype.hasOwnProperty; + function resolveYamlSet(e) { + if (null === e) return !0; + var r, + t = e; + for (r in t) if (_hasOwnProperty.call(t, r) && null !== t[r]) return !1; + return !0; + } + function constructYamlSet(e) { + return null !== e ? e : {}; + } + module.exports = new Type("tag:yaml.org,2002:set", { + kind: "mapping", + resolve: resolveYamlSet, + construct: constructYamlSet, + }); + }, + { "../type": 154 }, + ], + 169: [ + function (require, module, exports) { + "use strict"; + var Type = require("../type"); + module.exports = new Type("tag:yaml.org,2002:str", { + kind: "scalar", + construct: function (r) { + return null !== r ? r : ""; + }, + }); + }, + { "../type": 154 }, + ], + 170: [ + function (require, module, exports) { + "use strict"; + var Type = require("../type"), + YAML_DATE_REGEXP = new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"), + YAML_TIMESTAMP_REGEXP = 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 resolveYamlTimestamp(e) { + return null !== e && (null !== YAML_DATE_REGEXP.exec(e) || null !== YAML_TIMESTAMP_REGEXP.exec(e)); + } + function constructYamlTimestamp(e) { + var t, + r, + n, + l, + a, + m, + s, + T, + i = 0, + E = null; + if ((null === (t = YAML_DATE_REGEXP.exec(e)) && (t = YAML_TIMESTAMP_REGEXP.exec(e)), null === t)) + throw new Error("Date resolve error"); + if (((r = +t[1]), (n = +t[2] - 1), (l = +t[3]), !t[4])) return new Date(Date.UTC(r, n, l)); + if (((a = +t[4]), (m = +t[5]), (s = +t[6]), t[7])) { + for (i = t[7].slice(0, 3); i.length < 3; ) i += "0"; + i = +i; + } + return ( + t[9] && ((E = 6e4 * (60 * +t[10] + +(t[11] || 0))), "-" === t[9] && (E = -E)), + (T = new Date(Date.UTC(r, n, l, a, m, s, i))), + E && T.setTime(T.getTime() - E), + T + ); + } + function representYamlTimestamp(e) { + return e.toISOString(); + } + module.exports = new Type("tag:yaml.org,2002:timestamp", { + kind: "scalar", + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp, + }); + }, + { "../type": 154 }, + ], + 171: [ + function (require, module, exports) { + "use strict"; + var traverse = (module.exports = function (e, r, t) { + "function" == typeof r && ((t = r), (r = {})), + _traverse( + r, + "function" == typeof (t = r.cb || t) ? t : t.pre || function () {}, + t.post || function () {}, + e, + "", + e, + ); + }); + function _traverse(e, r, t, s, i, a, n, o, p, f) { + if (s && "object" == typeof s && !Array.isArray(s)) { + for (var m in (r(s, i, a, n, o, p, f), s)) { + var u = s[m]; + if (Array.isArray(u)) { + if (m in traverse.arrayKeywords) + for (var v = 0; v < u.length; v++) _traverse(e, r, t, u[v], i + "/" + m + "/" + v, a, i, m, s, v); + } else if (m in traverse.propsKeywords) { + if (u && "object" == typeof u) + for (var y in u) _traverse(e, r, t, u[y], i + "/" + m + "/" + escapeJsonPtr(y), a, i, m, s, y); + } else + (m in traverse.keywords || (e.allKeys && !(m in traverse.skipKeywords))) && + _traverse(e, r, t, u, i + "/" + m, a, i, m, s); + } + t(s, i, a, n, o, p, f); + } + } + function escapeJsonPtr(e) { + return e.replace(/~/g, "~0").replace(/\//g, "~1"); + } + (traverse.keywords = { + additionalItems: !0, + items: !0, + contains: !0, + additionalProperties: !0, + propertyNames: !0, + not: !0, + if: !0, + then: !0, + else: !0, + }), + (traverse.arrayKeywords = { items: !0, allOf: !0, anyOf: !0, oneOf: !0 }), + (traverse.propsKeywords = { + $defs: !0, + definitions: !0, + properties: !0, + patternProperties: !0, + dependencies: !0, + }), + (traverse.skipKeywords = { + default: !0, + enum: !0, + const: !0, + required: !0, + maximum: !0, + minimum: !0, + exclusiveMaximum: !0, + exclusiveMinimum: !0, + multipleOf: !0, + maxLength: !0, + minLength: !0, + pattern: !0, + format: !0, + maxItems: !0, + minItems: !0, + uniqueItems: !0, + maxProperties: !0, + minProperties: !0, + }); + }, + {}, + ], + 172: [ + function (require, module, exports) { + var cachedSetTimeout, + cachedClearTimeout, + process = (module.exports = {}); + function defaultSetTimout() { + throw new Error("setTimeout has not been defined"); + } + function defaultClearTimeout() { + throw new Error("clearTimeout has not been defined"); + } + function runTimeout(e) { + if (cachedSetTimeout === setTimeout) return setTimeout(e, 0); + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) + return (cachedSetTimeout = setTimeout), setTimeout(e, 0); + try { + return cachedSetTimeout(e, 0); + } catch (t) { + try { + return cachedSetTimeout.call(null, e, 0); + } catch (t) { + return cachedSetTimeout.call(this, e, 0); + } + } + } + function runClearTimeout(e) { + if (cachedClearTimeout === clearTimeout) return clearTimeout(e); + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) + return (cachedClearTimeout = clearTimeout), clearTimeout(e); + try { + return cachedClearTimeout(e); + } catch (t) { + try { + return cachedClearTimeout.call(null, e); + } catch (t) { + return cachedClearTimeout.call(this, e); + } + } + } + !(function () { + try { + cachedSetTimeout = "function" == typeof setTimeout ? setTimeout : defaultSetTimout; + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + cachedClearTimeout = "function" == typeof clearTimeout ? clearTimeout : defaultClearTimeout; + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } + })(); + var currentQueue, + queue = [], + draining = !1, + queueIndex = -1; + function cleanUpNextTick() { + draining && + currentQueue && + ((draining = !1), + currentQueue.length ? (queue = currentQueue.concat(queue)) : (queueIndex = -1), + queue.length && drainQueue()); + } + function drainQueue() { + if (!draining) { + var e = runTimeout(cleanUpNextTick); + draining = !0; + for (var t = queue.length; t; ) { + for (currentQueue = queue, queue = []; ++queueIndex < t; ) currentQueue && currentQueue[queueIndex].run(); + (queueIndex = -1), (t = queue.length); + } + (currentQueue = null), (draining = !1), runClearTimeout(e); + } + } + function Item(e, t) { + (this.fun = e), (this.array = t); + } + function noop() {} + (process.nextTick = function (e) { + var t = new Array(arguments.length - 1); + if (arguments.length > 1) for (var r = 1; r < arguments.length; r++) t[r - 1] = arguments[r]; + queue.push(new Item(e, t)), 1 !== queue.length || draining || runTimeout(drainQueue); + }), + (Item.prototype.run = function () { + this.fun.apply(null, this.array); + }), + (process.title = "browser"), + (process.browser = !0), + (process.env = {}), + (process.argv = []), + (process.version = ""), + (process.versions = {}), + (process.on = noop), + (process.addListener = noop), + (process.once = noop), + (process.off = noop), + (process.removeListener = noop), + (process.removeAllListeners = noop), + (process.emit = noop), + (process.prependListener = noop), + (process.prependOnceListener = noop), + (process.listeners = function (e) { + return []; + }), + (process.binding = function (e) { + throw new Error("process.binding is not supported"); + }), + (process.cwd = function () { + return "/"; + }), + (process.chdir = function (e) { + throw new Error("process.chdir is not supported"); + }), + (process.umask = function () { + return 0; + }); + }, + {}, + ], + 173: [ + function (require, module, exports) { + (function (global) { + (function () { + /*! https://mths.be/punycode v1.4.1 by @mathias */ + !(function (e) { + var o = "object" == typeof exports && exports && !exports.nodeType && exports, + n = "object" == typeof module && module && !module.nodeType && module, + t = "object" == typeof global && global; + (t.global !== t && t.window !== t && t.self !== t) || (e = t); + var r, + u, + i = 2147483647, + f = 36, + c = 1, + l = 26, + s = 38, + d = 700, + p = 72, + a = 128, + h = "-", + v = /^xn--/, + g = /[^\x20-\x7E]/, + w = /[\x2E\u3002\uFF0E\uFF61]/g, + x = { + overflow: "Overflow: input needs wider integers to process", + "not-basic": "Illegal input >= 0x80 (not a basic code point)", + "invalid-input": "Invalid input", + }, + b = f - c, + y = Math.floor, + C = String.fromCharCode; + function m(e) { + throw new RangeError(x[e]); + } + function j(e, o) { + for (var n = e.length, t = []; n--; ) t[n] = o(e[n]); + return t; + } + function A(e, o) { + var n = e.split("@"), + t = ""; + return ( + n.length > 1 && ((t = n[0] + "@"), (e = n[1])), t + j((e = e.replace(w, ".")).split("."), o).join(".") + ); + } + function I(e) { + for (var o, n, t = [], r = 0, u = e.length; r < u; ) + (o = e.charCodeAt(r++)) >= 55296 && o <= 56319 && r < u + ? 56320 == (64512 & (n = e.charCodeAt(r++))) + ? t.push(((1023 & o) << 10) + (1023 & n) + 65536) + : (t.push(o), r--) + : t.push(o); + return t; + } + function E(e) { + return j(e, function (e) { + var o = ""; + return ( + e > 65535 && ((o += C((((e -= 65536) >>> 10) & 1023) | 55296)), (e = 56320 | (1023 & e))), + (o += C(e)) + ); + }).join(""); + } + function F(e, o) { + return e + 22 + 75 * (e < 26) - ((0 != o) << 5); + } + function O(e, o, n) { + var t = 0; + for (e = n ? y(e / d) : e >> 1, e += y(e / o); e > (b * l) >> 1; t += f) e = y(e / b); + return y(t + ((b + 1) * e) / (e + s)); + } + function S(e) { + var o, + n, + t, + r, + u, + s, + d, + v, + g, + w, + x, + b = [], + C = e.length, + j = 0, + A = a, + I = p; + for ((n = e.lastIndexOf(h)) < 0 && (n = 0), t = 0; t < n; ++t) + e.charCodeAt(t) >= 128 && m("not-basic"), b.push(e.charCodeAt(t)); + for (r = n > 0 ? n + 1 : 0; r < C; ) { + for ( + u = j, s = 1, d = f; + r >= C && m("invalid-input"), + ((v = + (x = e.charCodeAt(r++)) - 48 < 10 ? x - 22 : x - 65 < 26 ? x - 65 : x - 97 < 26 ? x - 97 : f) >= + f || + v > y((i - j) / s)) && + m("overflow"), + (j += v * s), + !(v < (g = d <= I ? c : d >= I + l ? l : d - I)); + d += f + ) + s > y(i / (w = f - g)) && m("overflow"), (s *= w); + (I = O(j - u, (o = b.length + 1), 0 == u)), + y(j / o) > i - A && m("overflow"), + (A += y(j / o)), + (j %= o), + b.splice(j++, 0, A); + } + return E(b); + } + function T(e) { + var o, + n, + t, + r, + u, + s, + d, + v, + g, + w, + x, + b, + j, + A, + E, + S = []; + for (b = (e = I(e)).length, o = a, n = 0, u = p, s = 0; s < b; ++s) (x = e[s]) < 128 && S.push(C(x)); + for (t = r = S.length, r && S.push(h); t < b; ) { + for (d = i, s = 0; s < b; ++s) (x = e[s]) >= o && x < d && (d = x); + for (d - o > y((i - n) / (j = t + 1)) && m("overflow"), n += (d - o) * j, o = d, s = 0; s < b; ++s) + if (((x = e[s]) < o && ++n > i && m("overflow"), x == o)) { + for (v = n, g = f; !(v < (w = g <= u ? c : g >= u + l ? l : g - u)); g += f) + (E = v - w), (A = f - w), S.push(C(F(w + (E % A), 0))), (v = y(E / A)); + S.push(C(F(v, 0))), (u = O(n, j, t == r)), (n = 0), ++t; + } + ++n, ++o; + } + return S.join(""); + } + if ( + ((r = { + version: "1.4.1", + ucs2: { decode: I, encode: E }, + decode: S, + encode: T, + toASCII: function (e) { + return A(e, function (e) { + return g.test(e) ? "xn--" + T(e) : e; + }); + }, + toUnicode: function (e) { + return A(e, function (e) { + return v.test(e) ? S(e.slice(4).toLowerCase()) : e; + }); + }, + }), + "function" == typeof define && "object" == typeof define.amd && define.amd) + ) + define("punycode", function () { + return r; + }); + else if (o && n) + if (module.exports == o) n.exports = r; + else for (u in r) r.hasOwnProperty(u) && (o[u] = r[u]); + else e.punycode = r; + })(this); + }).call(this); + }).call( + this, + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + {}, + ], + 174: [ + function (require, module, exports) { + "use strict"; + function hasOwnProperty(r, e) { + return Object.prototype.hasOwnProperty.call(r, e); + } + module.exports = function (r, e, t, n) { + (e = e || "&"), (t = t || "="); + var o = {}; + if ("string" != typeof r || 0 === r.length) return o; + var a = /\+/g; + r = r.split(e); + var s = 1e3; + n && "number" == typeof n.maxKeys && (s = n.maxKeys); + var p = r.length; + s > 0 && p > s && (p = s); + for (var y = 0; y < p; ++y) { + var u, + c, + i, + l, + f = r[y].replace(a, "%20"), + v = f.indexOf(t); + v >= 0 ? ((u = f.substr(0, v)), (c = f.substr(v + 1))) : ((u = f), (c = "")), + (i = decodeURIComponent(u)), + (l = decodeURIComponent(c)), + hasOwnProperty(o, i) ? (isArray(o[i]) ? o[i].push(l) : (o[i] = [o[i], l])) : (o[i] = l); + } + return o; + }; + var isArray = + Array.isArray || + function (r) { + return "[object Array]" === Object.prototype.toString.call(r); + }; + }, + {}, + ], + 175: [ + function (require, module, exports) { + "use strict"; + var stringifyPrimitive = function (r) { + switch (typeof r) { + case "string": + return r; + case "boolean": + return r ? "true" : "false"; + case "number": + return isFinite(r) ? r : ""; + default: + return ""; + } + }; + module.exports = function (r, e, t, n) { + return ( + (e = e || "&"), + (t = t || "="), + null === r && (r = void 0), + "object" == typeof r + ? map(objectKeys(r), function (n) { + var i = encodeURIComponent(stringifyPrimitive(n)) + t; + return isArray(r[n]) + ? map(r[n], function (r) { + return i + encodeURIComponent(stringifyPrimitive(r)); + }).join(e) + : i + encodeURIComponent(stringifyPrimitive(r[n])); + }).join(e) + : n + ? encodeURIComponent(stringifyPrimitive(n)) + t + encodeURIComponent(stringifyPrimitive(r)) + : "" + ); + }; + var isArray = + Array.isArray || + function (r) { + return "[object Array]" === Object.prototype.toString.call(r); + }; + function map(r, e) { + if (r.map) return r.map(e); + for (var t = [], n = 0; n < r.length; n++) t.push(e(r[n], n)); + return t; + } + var objectKeys = + Object.keys || + function (r) { + var e = []; + for (var t in r) Object.prototype.hasOwnProperty.call(r, t) && e.push(t); + return e; + }; + }, + {}, + ], + 176: [ + function (require, module, exports) { + "use strict"; + (exports.decode = exports.parse = require("./decode")), + (exports.encode = exports.stringify = require("./encode")); + }, + { "./decode": 174, "./encode": 175 }, + ], + 177: [ + function (require, module, exports) { + "use strict"; + function _inheritsLoose(e, r) { + (e.prototype = Object.create(r.prototype)), (e.prototype.constructor = e), (e.__proto__ = r); + } + var codes = {}; + function createErrorType(e, r, t) { + t || (t = Error); + var n = (function (e) { + function t(t, n, o) { + return ( + e.call( + this, + (function (e, t, n) { + return "string" == typeof r ? r : r(e, t, n); + })(t, n, o), + ) || this + ); + } + return _inheritsLoose(t, e), t; + })(t); + (n.prototype.name = t.name), (n.prototype.code = e), (codes[e] = n); + } + function oneOf(e, r) { + if (Array.isArray(e)) { + var t = e.length; + return ( + (e = e.map(function (e) { + return String(e); + })), + t > 2 + ? "one of ".concat(r, " ").concat(e.slice(0, t - 1).join(", "), ", or ") + e[t - 1] + : 2 === t + ? "one of ".concat(r, " ").concat(e[0], " or ").concat(e[1]) + : "of ".concat(r, " ").concat(e[0]) + ); + } + return "of ".concat(r, " ").concat(String(e)); + } + function startsWith(e, r, t) { + return e.substr(!t || t < 0 ? 0 : +t, r.length) === r; + } + function endsWith(e, r, t) { + return (void 0 === t || t > e.length) && (t = e.length), e.substring(t - r.length, t) === r; + } + function includes(e, r, t) { + return "number" != typeof t && (t = 0), !(t + r.length > e.length) && -1 !== e.indexOf(r, t); + } + createErrorType( + "ERR_INVALID_OPT_VALUE", + function (e, r) { + return 'The value "' + r + '" is invalid for option "' + e + '"'; + }, + TypeError, + ), + createErrorType( + "ERR_INVALID_ARG_TYPE", + function (e, r, t) { + var n, o; + if ( + ("string" == typeof r && startsWith(r, "not ") + ? ((n = "must not be"), (r = r.replace(/^not /, ""))) + : (n = "must be"), + endsWith(e, " argument")) + ) + o = "The ".concat(e, " ").concat(n, " ").concat(oneOf(r, "type")); + else { + var c = includes(e, ".") ? "property" : "argument"; + o = 'The "'.concat(e, '" ').concat(c, " ").concat(n, " ").concat(oneOf(r, "type")); + } + return (o += ". Received type ".concat(typeof t)); + }, + TypeError, + ), + createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF"), + createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function (e) { + return "The " + e + " method is not implemented"; + }), + createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close"), + createErrorType("ERR_STREAM_DESTROYED", function (e) { + return "Cannot call " + e + " after a stream was destroyed"; + }), + createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times"), + createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable"), + createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end"), + createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError), + createErrorType( + "ERR_UNKNOWN_ENCODING", + function (e) { + return "Unknown encoding: " + e; + }, + TypeError, + ), + createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event"), + (module.exports.codes = codes); + }, + {}, + ], + 178: [ + function (require, module, exports) { + (function (process) { + (function () { + "use strict"; + var objectKeys = + Object.keys || + function (e) { + var t = []; + for (var r in e) t.push(r); + return t; + }; + module.exports = Duplex; + var Readable = require("./_stream_readable"), + Writable = require("./_stream_writable"); + require("inherits")(Duplex, Readable); + for (var keys = objectKeys(Writable.prototype), v = 0; v < keys.length; v++) { + var method = keys[v]; + Duplex.prototype[method] || (Duplex.prototype[method] = Writable.prototype[method]); + } + function Duplex(e) { + if (!(this instanceof Duplex)) return new Duplex(e); + Readable.call(this, e), + Writable.call(this, e), + (this.allowHalfOpen = !0), + e && + (!1 === e.readable && (this.readable = !1), + !1 === e.writable && (this.writable = !1), + !1 === e.allowHalfOpen && ((this.allowHalfOpen = !1), this.once("end", onend))); + } + function onend() { + this._writableState.ended || process.nextTick(onEndNT, this); + } + function onEndNT(e) { + e.end(); + } + Object.defineProperty(Duplex.prototype, "writableHighWaterMark", { + enumerable: !1, + get: function () { + return this._writableState.highWaterMark; + }, + }), + Object.defineProperty(Duplex.prototype, "writableBuffer", { + enumerable: !1, + get: function () { + return this._writableState && this._writableState.getBuffer(); + }, + }), + Object.defineProperty(Duplex.prototype, "writableLength", { + enumerable: !1, + get: function () { + return this._writableState.length; + }, + }), + Object.defineProperty(Duplex.prototype, "destroyed", { + enumerable: !1, + get: function () { + return ( + void 0 !== this._readableState && + void 0 !== this._writableState && + this._readableState.destroyed && + this._writableState.destroyed + ); + }, + set: function (e) { + void 0 !== this._readableState && + void 0 !== this._writableState && + ((this._readableState.destroyed = e), (this._writableState.destroyed = e)); + }, + }); + }).call(this); + }).call(this, require("_process")); + }, + { "./_stream_readable": 180, "./_stream_writable": 182, _process: 172, inherits: 139 }, + ], + 179: [ + function (require, module, exports) { + "use strict"; + module.exports = PassThrough; + var Transform = require("./_stream_transform"); + function PassThrough(r) { + if (!(this instanceof PassThrough)) return new PassThrough(r); + Transform.call(this, r); + } + require("inherits")(PassThrough, Transform), + (PassThrough.prototype._transform = function (r, s, o) { + o(null, r); + }); + }, + { "./_stream_transform": 181, inherits: 139 }, + ], + 180: [ + function (require, module, exports) { + (function (process, global) { + (function () { + "use strict"; + var Duplex; + (module.exports = Readable), (Readable.ReadableState = ReadableState); + var EE = require("events").EventEmitter, + EElistenerCount = function (e, t) { + return e.listeners(t).length; + }, + Stream = require("./internal/streams/stream"), + Buffer = require("buffer").Buffer, + OurUint8Array = global.Uint8Array || function () {}; + function _uint8ArrayToBuffer(e) { + return Buffer.from(e); + } + function _isUint8Array(e) { + return Buffer.isBuffer(e) || e instanceof OurUint8Array; + } + var debug, + debugUtil = require("util"); + debug = debugUtil && debugUtil.debuglog ? debugUtil.debuglog("stream") : function () {}; + var StringDecoder, + createReadableStreamAsyncIterator, + from, + BufferList = require("./internal/streams/buffer_list"), + destroyImpl = require("./internal/streams/destroy"), + _require = require("./internal/streams/state"), + getHighWaterMark = _require.getHighWaterMark, + _require$codes = require("../errors").codes, + ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, + ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; + require("inherits")(Readable, Stream); + var errorOrDestroy = destroyImpl.errorOrDestroy, + kProxyEvents = ["error", "close", "destroy", "pause", "resume"]; + function prependListener(e, t, r) { + if ("function" == typeof e.prependListener) return e.prependListener(t, r); + e._events && e._events[t] + ? Array.isArray(e._events[t]) + ? e._events[t].unshift(r) + : (e._events[t] = [r, e._events[t]]) + : e.on(t, r); + } + function ReadableState(e, t, r) { + (Duplex = Duplex || require("./_stream_duplex")), + (e = e || {}), + "boolean" != typeof r && (r = t instanceof Duplex), + (this.objectMode = !!e.objectMode), + r && (this.objectMode = this.objectMode || !!e.readableObjectMode), + (this.highWaterMark = getHighWaterMark(this, e, "readableHighWaterMark", r)), + (this.buffer = new BufferList()), + (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 = !1 !== e.emitClose), + (this.autoDestroy = !!e.autoDestroy), + (this.destroyed = !1), + (this.defaultEncoding = e.defaultEncoding || "utf8"), + (this.awaitDrain = 0), + (this.readingMore = !1), + (this.decoder = null), + (this.encoding = null), + e.encoding && + (StringDecoder || (StringDecoder = require("string_decoder/").StringDecoder), + (this.decoder = new StringDecoder(e.encoding)), + (this.encoding = e.encoding)); + } + function Readable(e) { + if (((Duplex = Duplex || require("./_stream_duplex")), !(this instanceof Readable))) + return new Readable(e); + var t = this instanceof Duplex; + (this._readableState = new ReadableState(e, this, t)), + (this.readable = !0), + e && + ("function" == typeof e.read && (this._read = e.read), + "function" == typeof e.destroy && (this._destroy = e.destroy)), + Stream.call(this); + } + function readableAddChunk(e, t, r, a, n) { + debug("readableAddChunk", t); + var i, + d = e._readableState; + if (null === t) (d.reading = !1), onEofChunk(e, d); + else if ((n || (i = chunkInvalid(d, t)), i)) errorOrDestroy(e, i); + else if (d.objectMode || (t && t.length > 0)) + if ( + ("string" == typeof t || + d.objectMode || + Object.getPrototypeOf(t) === Buffer.prototype || + (t = _uint8ArrayToBuffer(t)), + a) + ) + d.endEmitted ? errorOrDestroy(e, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT()) : addChunk(e, d, t, !0); + else if (d.ended) errorOrDestroy(e, new ERR_STREAM_PUSH_AFTER_EOF()); + else { + if (d.destroyed) return !1; + (d.reading = !1), + d.decoder && !r + ? ((t = d.decoder.write(t)), + d.objectMode || 0 !== t.length ? addChunk(e, d, t, !1) : maybeReadMore(e, d)) + : addChunk(e, d, t, !1); + } + else a || ((d.reading = !1), maybeReadMore(e, d)); + return !d.ended && (d.length < d.highWaterMark || 0 === d.length); + } + function addChunk(e, t, r, a) { + t.flowing && 0 === t.length && !t.sync + ? ((t.awaitDrain = 0), e.emit("data", r)) + : ((t.length += t.objectMode ? 1 : r.length), + a ? t.buffer.unshift(r) : t.buffer.push(r), + t.needReadable && emitReadable(e)), + maybeReadMore(e, t); + } + function chunkInvalid(e, t) { + var r; + return ( + _isUint8Array(t) || + "string" == typeof t || + void 0 === t || + e.objectMode || + (r = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], t)), + r + ); + } + Object.defineProperty(Readable.prototype, "destroyed", { + enumerable: !1, + get: function () { + return void 0 !== this._readableState && this._readableState.destroyed; + }, + set: function (e) { + this._readableState && (this._readableState.destroyed = e); + }, + }), + (Readable.prototype.destroy = destroyImpl.destroy), + (Readable.prototype._undestroy = destroyImpl.undestroy), + (Readable.prototype._destroy = function (e, t) { + t(e); + }), + (Readable.prototype.push = function (e, t) { + var r, + a = this._readableState; + return ( + a.objectMode + ? (r = !0) + : "string" == typeof e && + ((t = t || a.defaultEncoding) !== a.encoding && ((e = Buffer.from(e, t)), (t = "")), (r = !0)), + readableAddChunk(this, e, t, !1, r) + ); + }), + (Readable.prototype.unshift = function (e) { + return readableAddChunk(this, e, null, !0, !1); + }), + (Readable.prototype.isPaused = function () { + return !1 === this._readableState.flowing; + }), + (Readable.prototype.setEncoding = function (e) { + StringDecoder || (StringDecoder = require("string_decoder/").StringDecoder); + var t = new StringDecoder(e); + (this._readableState.decoder = t), + (this._readableState.encoding = this._readableState.decoder.encoding); + for (var r = this._readableState.buffer.head, a = ""; null !== r; ) + (a += t.write(r.data)), (r = r.next); + return ( + this._readableState.buffer.clear(), + "" !== a && this._readableState.buffer.push(a), + (this._readableState.length = a.length), + this + ); + }); + var MAX_HWM = 1073741824; + function computeNewHighWaterMark(e) { + return ( + e >= MAX_HWM + ? (e = MAX_HWM) + : (e--, (e |= e >>> 1), (e |= e >>> 2), (e |= e >>> 4), (e |= e >>> 8), (e |= e >>> 16), e++), + e + ); + } + function howMuchToRead(e, t) { + return e <= 0 || (0 === t.length && t.ended) + ? 0 + : t.objectMode + ? 1 + : e != e + ? t.flowing && t.length + ? t.buffer.head.data.length + : t.length + : (e > t.highWaterMark && (t.highWaterMark = computeNewHighWaterMark(e)), + e <= t.length ? e : t.ended ? t.length : ((t.needReadable = !0), 0)); + } + function onEofChunk(e, t) { + if ((debug("onEofChunk"), !t.ended)) { + if (t.decoder) { + var r = t.decoder.end(); + r && r.length && (t.buffer.push(r), (t.length += t.objectMode ? 1 : r.length)); + } + (t.ended = !0), + t.sync + ? emitReadable(e) + : ((t.needReadable = !1), t.emittedReadable || ((t.emittedReadable = !0), emitReadable_(e))); + } + } + function emitReadable(e) { + var t = e._readableState; + debug("emitReadable", t.needReadable, t.emittedReadable), + (t.needReadable = !1), + t.emittedReadable || + (debug("emitReadable", t.flowing), (t.emittedReadable = !0), process.nextTick(emitReadable_, e)); + } + function emitReadable_(e) { + var t = e._readableState; + debug("emitReadable_", t.destroyed, t.length, t.ended), + t.destroyed || (!t.length && !t.ended) || (e.emit("readable"), (t.emittedReadable = !1)), + (t.needReadable = !t.flowing && !t.ended && t.length <= t.highWaterMark), + flow(e); + } + function maybeReadMore(e, t) { + t.readingMore || ((t.readingMore = !0), process.nextTick(maybeReadMore_, e, t)); + } + function maybeReadMore_(e, t) { + for (; !t.reading && !t.ended && (t.length < t.highWaterMark || (t.flowing && 0 === t.length)); ) { + var r = t.length; + if ((debug("maybeReadMore read 0"), e.read(0), r === t.length)) break; + } + t.readingMore = !1; + } + function pipeOnDrain(e) { + return function () { + var t = e._readableState; + debug("pipeOnDrain", t.awaitDrain), + t.awaitDrain && t.awaitDrain--, + 0 === t.awaitDrain && EElistenerCount(e, "data") && ((t.flowing = !0), flow(e)); + }; + } + function updateReadableListening(e) { + var t = e._readableState; + (t.readableListening = e.listenerCount("readable") > 0), + t.resumeScheduled && !t.paused ? (t.flowing = !0) : e.listenerCount("data") > 0 && e.resume(); + } + function nReadingNextTick(e) { + debug("readable nexttick read 0"), e.read(0); + } + function resume(e, t) { + t.resumeScheduled || ((t.resumeScheduled = !0), process.nextTick(resume_, e, t)); + } + function resume_(e, t) { + debug("resume", t.reading), + t.reading || e.read(0), + (t.resumeScheduled = !1), + e.emit("resume"), + flow(e), + t.flowing && !t.reading && e.read(0); + } + function flow(e) { + var t = e._readableState; + for (debug("flow", t.flowing); t.flowing && null !== e.read(); ); + } + function fromList(e, t) { + return 0 === t.length + ? null + : (t.objectMode + ? (r = t.buffer.shift()) + : !e || e >= t.length + ? ((r = t.decoder + ? t.buffer.join("") + : 1 === t.buffer.length + ? t.buffer.first() + : t.buffer.concat(t.length)), + t.buffer.clear()) + : (r = t.buffer.consume(e, t.decoder)), + r); + var r; + } + function endReadable(e) { + var t = e._readableState; + debug("endReadable", t.endEmitted), + t.endEmitted || ((t.ended = !0), process.nextTick(endReadableNT, t, e)); + } + function endReadableNT(e, t) { + if ( + (debug("endReadableNT", e.endEmitted, e.length), + !e.endEmitted && + 0 === e.length && + ((e.endEmitted = !0), (t.readable = !1), t.emit("end"), e.autoDestroy)) + ) { + var r = t._writableState; + (!r || (r.autoDestroy && r.finished)) && t.destroy(); + } + } + function indexOf(e, t) { + for (var r = 0, a = e.length; r < a; r++) if (e[r] === t) return r; + return -1; + } + (Readable.prototype.read = function (e) { + debug("read", e), (e = parseInt(e, 10)); + var t = this._readableState, + r = e; + if ( + (0 !== e && (t.emittedReadable = !1), + 0 === e && + t.needReadable && + ((0 !== t.highWaterMark ? t.length >= t.highWaterMark : t.length > 0) || t.ended)) + ) + return ( + debug("read: emitReadable", t.length, t.ended), + 0 === t.length && t.ended ? endReadable(this) : emitReadable(this), + null + ); + if (0 === (e = howMuchToRead(e, t)) && t.ended) return 0 === t.length && endReadable(this), null; + var a, + n = t.needReadable; + return ( + debug("need readable", n), + (0 === t.length || t.length - e < t.highWaterMark) && debug("length less than watermark", (n = !0)), + t.ended || t.reading + ? debug("reading or ended", (n = !1)) + : n && + (debug("do read"), + (t.reading = !0), + (t.sync = !0), + 0 === t.length && (t.needReadable = !0), + this._read(t.highWaterMark), + (t.sync = !1), + t.reading || (e = howMuchToRead(r, t))), + null === (a = e > 0 ? fromList(e, t) : null) + ? ((t.needReadable = t.length <= t.highWaterMark), (e = 0)) + : ((t.length -= e), (t.awaitDrain = 0)), + 0 === t.length && (t.ended || (t.needReadable = !0), r !== e && t.ended && endReadable(this)), + null !== a && this.emit("data", a), + a + ); + }), + (Readable.prototype._read = function (e) { + errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()")); + }), + (Readable.prototype.pipe = function (e, t) { + var r = this, + a = this._readableState; + switch (a.pipesCount) { + case 0: + a.pipes = e; + break; + case 1: + a.pipes = [a.pipes, e]; + break; + default: + a.pipes.push(e); + } + (a.pipesCount += 1), debug("pipe count=%d opts=%j", a.pipesCount, t); + var n = (!t || !1 !== t.end) && e !== process.stdout && e !== process.stderr ? d : f; + function i(t, n) { + debug("onunpipe"), + t === r && + n && + !1 === n.hasUnpiped && + ((n.hasUnpiped = !0), + debug("cleanup"), + e.removeListener("close", b), + e.removeListener("finish", p), + e.removeListener("drain", o), + e.removeListener("error", u), + e.removeListener("unpipe", i), + r.removeListener("end", d), + r.removeListener("end", f), + r.removeListener("data", l), + (s = !0), + !a.awaitDrain || (e._writableState && !e._writableState.needDrain) || o()); + } + function d() { + debug("onend"), e.end(); + } + a.endEmitted ? process.nextTick(n) : r.once("end", n), e.on("unpipe", i); + var o = pipeOnDrain(r); + e.on("drain", o); + var s = !1; + function l(t) { + debug("ondata"); + var n = e.write(t); + debug("dest.write", n), + !1 === n && + (((1 === a.pipesCount && a.pipes === e) || (a.pipesCount > 1 && -1 !== indexOf(a.pipes, e))) && + !s && + (debug("false write response, pause", a.awaitDrain), a.awaitDrain++), + r.pause()); + } + function u(t) { + debug("onerror", t), + f(), + e.removeListener("error", u), + 0 === EElistenerCount(e, "error") && errorOrDestroy(e, t); + } + function b() { + e.removeListener("finish", p), f(); + } + function p() { + debug("onfinish"), e.removeListener("close", b), f(); + } + function f() { + debug("unpipe"), r.unpipe(e); + } + return ( + r.on("data", l), + prependListener(e, "error", u), + e.once("close", b), + e.once("finish", p), + e.emit("pipe", r), + a.flowing || (debug("pipe resume"), r.resume()), + e + ); + }), + (Readable.prototype.unpipe = function (e) { + var t = this._readableState, + r = { hasUnpiped: !1 }; + if (0 === t.pipesCount) return this; + if (1 === t.pipesCount) + return e && e !== t.pipes + ? this + : (e || (e = t.pipes), + (t.pipes = null), + (t.pipesCount = 0), + (t.flowing = !1), + e && e.emit("unpipe", this, r), + this); + if (!e) { + var a = t.pipes, + n = t.pipesCount; + (t.pipes = null), (t.pipesCount = 0), (t.flowing = !1); + for (var i = 0; i < n; i++) a[i].emit("unpipe", this, { hasUnpiped: !1 }); + return this; + } + var d = indexOf(t.pipes, e); + return -1 === d + ? this + : (t.pipes.splice(d, 1), + (t.pipesCount -= 1), + 1 === t.pipesCount && (t.pipes = t.pipes[0]), + e.emit("unpipe", this, r), + this); + }), + (Readable.prototype.on = function (e, t) { + var r = Stream.prototype.on.call(this, e, t), + a = this._readableState; + return ( + "data" === e + ? ((a.readableListening = this.listenerCount("readable") > 0), !1 !== a.flowing && this.resume()) + : "readable" === e && + (a.endEmitted || + a.readableListening || + ((a.readableListening = a.needReadable = !0), + (a.flowing = !1), + (a.emittedReadable = !1), + debug("on readable", a.length, a.reading), + a.length ? emitReadable(this) : a.reading || process.nextTick(nReadingNextTick, this))), + r + ); + }), + (Readable.prototype.addListener = Readable.prototype.on), + (Readable.prototype.removeListener = function (e, t) { + var r = Stream.prototype.removeListener.call(this, e, t); + return "readable" === e && process.nextTick(updateReadableListening, this), r; + }), + (Readable.prototype.removeAllListeners = function (e) { + var t = Stream.prototype.removeAllListeners.apply(this, arguments); + return ("readable" !== e && void 0 !== e) || process.nextTick(updateReadableListening, this), t; + }), + (Readable.prototype.resume = function () { + var e = this._readableState; + return ( + e.flowing || (debug("resume"), (e.flowing = !e.readableListening), resume(this, e)), + (e.paused = !1), + this + ); + }), + (Readable.prototype.pause = function () { + return ( + debug("call pause flowing=%j", this._readableState.flowing), + !1 !== this._readableState.flowing && + (debug("pause"), (this._readableState.flowing = !1), this.emit("pause")), + (this._readableState.paused = !0), + this + ); + }), + (Readable.prototype.wrap = function (e) { + var t = this, + r = this._readableState, + a = !1; + for (var n in (e.on("end", function () { + if ((debug("wrapped end"), r.decoder && !r.ended)) { + var e = r.decoder.end(); + e && e.length && t.push(e); + } + t.push(null); + }), + e.on("data", function (n) { + (debug("wrapped data"), r.decoder && (n = r.decoder.write(n)), r.objectMode && null == n) || + ((r.objectMode || (n && n.length)) && (t.push(n) || ((a = !0), e.pause()))); + }), + e)) + void 0 === this[n] && + "function" == typeof e[n] && + (this[n] = (function (t) { + return function () { + return e[t].apply(e, arguments); + }; + })(n)); + for (var i = 0; i < kProxyEvents.length; i++) + e.on(kProxyEvents[i], this.emit.bind(this, kProxyEvents[i])); + return ( + (this._read = function (t) { + debug("wrapped _read", t), a && ((a = !1), e.resume()); + }), + this + ); + }), + "function" == typeof Symbol && + (Readable.prototype[Symbol.asyncIterator] = function () { + return ( + void 0 === createReadableStreamAsyncIterator && + (createReadableStreamAsyncIterator = require("./internal/streams/async_iterator")), + createReadableStreamAsyncIterator(this) + ); + }), + Object.defineProperty(Readable.prototype, "readableHighWaterMark", { + enumerable: !1, + get: function () { + return this._readableState.highWaterMark; + }, + }), + Object.defineProperty(Readable.prototype, "readableBuffer", { + enumerable: !1, + get: function () { + return this._readableState && this._readableState.buffer; + }, + }), + Object.defineProperty(Readable.prototype, "readableFlowing", { + enumerable: !1, + get: function () { + return this._readableState.flowing; + }, + set: function (e) { + this._readableState && (this._readableState.flowing = e); + }, + }), + (Readable._fromList = fromList), + Object.defineProperty(Readable.prototype, "readableLength", { + enumerable: !1, + get: function () { + return this._readableState.length; + }, + }), + "function" == typeof Symbol && + (Readable.from = function (e, t) { + return void 0 === from && (from = require("./internal/streams/from")), from(Readable, e, t); + }); + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + { + "../errors": 177, + "./_stream_duplex": 178, + "./internal/streams/async_iterator": 183, + "./internal/streams/buffer_list": 184, + "./internal/streams/destroy": 185, + "./internal/streams/from": 187, + "./internal/streams/state": 189, + "./internal/streams/stream": 190, + _process: 172, + buffer: 132, + events: 135, + inherits: 139, + "string_decoder/": 196, + util: 131, + }, + ], + 181: [ + function (require, module, exports) { + "use strict"; + module.exports = Transform; + var _require$codes = require("../errors").codes, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, + ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING, + ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0, + Duplex = require("./_stream_duplex"); + function afterTransform(r, e) { + var t = this._transformState; + t.transforming = !1; + var n = t.writecb; + if (null === n) return this.emit("error", new ERR_MULTIPLE_CALLBACK()); + (t.writechunk = null), (t.writecb = null), null != e && this.push(e), n(r); + var i = this._readableState; + (i.reading = !1), (i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark); + } + function Transform(r) { + if (!(this instanceof Transform)) return new Transform(r); + Duplex.call(this, r), + (this._transformState = { + afterTransform: afterTransform.bind(this), + needTransform: !1, + transforming: !1, + writecb: null, + writechunk: null, + writeencoding: null, + }), + (this._readableState.needReadable = !0), + (this._readableState.sync = !1), + r && + ("function" == typeof r.transform && (this._transform = r.transform), + "function" == typeof r.flush && (this._flush = r.flush)), + this.on("prefinish", prefinish); + } + function prefinish() { + var r = this; + "function" != typeof this._flush || this._readableState.destroyed + ? done(this, null, null) + : this._flush(function (e, t) { + done(r, e, t); + }); + } + function done(r, e, t) { + if (e) return r.emit("error", e); + if ((null != t && r.push(t), r._writableState.length)) throw new ERR_TRANSFORM_WITH_LENGTH_0(); + if (r._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING(); + return r.push(null); + } + require("inherits")(Transform, Duplex), + (Transform.prototype.push = function (r, e) { + return (this._transformState.needTransform = !1), Duplex.prototype.push.call(this, r, e); + }), + (Transform.prototype._transform = function (r, e, t) { + t(new ERR_METHOD_NOT_IMPLEMENTED("_transform()")); + }), + (Transform.prototype._write = function (r, e, t) { + var n = this._transformState; + if (((n.writecb = t), (n.writechunk = r), (n.writeencoding = e), !n.transforming)) { + var i = this._readableState; + (n.needTransform || i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark); + } + }), + (Transform.prototype._read = function (r) { + var e = this._transformState; + null === e.writechunk || e.transforming + ? (e.needTransform = !0) + : ((e.transforming = !0), this._transform(e.writechunk, e.writeencoding, e.afterTransform)); + }), + (Transform.prototype._destroy = function (r, e) { + Duplex.prototype._destroy.call(this, r, function (r) { + e(r); + }); + }); + }, + { "../errors": 177, "./_stream_duplex": 178, inherits: 139 }, + ], + 182: [ + function (require, module, exports) { + (function (process, global) { + (function () { + "use strict"; + function WriteReq(e, t, r) { + (this.chunk = e), (this.encoding = t), (this.callback = r), (this.next = null); + } + function CorkedRequest(e) { + var t = this; + (this.next = null), + (this.entry = null), + (this.finish = function () { + onCorkedFinish(t, e); + }); + } + var Duplex; + (module.exports = Writable), (Writable.WritableState = WritableState); + var internalUtil = { deprecate: require("util-deprecate") }, + Stream = require("./internal/streams/stream"), + Buffer = require("buffer").Buffer, + OurUint8Array = global.Uint8Array || function () {}; + function _uint8ArrayToBuffer(e) { + return Buffer.from(e); + } + function _isUint8Array(e) { + return Buffer.isBuffer(e) || e instanceof OurUint8Array; + } + var realHasInstance, + destroyImpl = require("./internal/streams/destroy"), + _require = require("./internal/streams/state"), + getHighWaterMark = _require.getHighWaterMark, + _require$codes = require("../errors").codes, + ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE, + ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED, + ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK, + ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE, + ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED, + ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES, + ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END, + ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING, + errorOrDestroy = destroyImpl.errorOrDestroy; + function nop() {} + function WritableState(e, t, r) { + (Duplex = Duplex || require("./_stream_duplex")), + (e = e || {}), + "boolean" != typeof r && (r = t instanceof Duplex), + (this.objectMode = !!e.objectMode), + r && (this.objectMode = this.objectMode || !!e.writableObjectMode), + (this.highWaterMark = getHighWaterMark(this, e, "writableHighWaterMark", r)), + (this.finalCalled = !1), + (this.needDrain = !1), + (this.ending = !1), + (this.ended = !1), + (this.finished = !1), + (this.destroyed = !1); + var i = !1 === e.decodeStrings; + (this.decodeStrings = !i), + (this.defaultEncoding = e.defaultEncoding || "utf8"), + (this.length = 0), + (this.writing = !1), + (this.corked = 0), + (this.sync = !0), + (this.bufferProcessing = !1), + (this.onwrite = function (e) { + onwrite(t, e); + }), + (this.writecb = null), + (this.writelen = 0), + (this.bufferedRequest = null), + (this.lastBufferedRequest = null), + (this.pendingcb = 0), + (this.prefinished = !1), + (this.errorEmitted = !1), + (this.emitClose = !1 !== e.emitClose), + (this.autoDestroy = !!e.autoDestroy), + (this.bufferedRequestCount = 0), + (this.corkedRequestsFree = new CorkedRequest(this)); + } + function Writable(e) { + var t = this instanceof (Duplex = Duplex || require("./_stream_duplex")); + if (!t && !realHasInstance.call(Writable, this)) return new Writable(e); + (this._writableState = new WritableState(e, this, t)), + (this.writable = !0), + e && + ("function" == typeof e.write && (this._write = e.write), + "function" == typeof e.writev && (this._writev = e.writev), + "function" == typeof e.destroy && (this._destroy = e.destroy), + "function" == typeof e.final && (this._final = e.final)), + Stream.call(this); + } + function writeAfterEnd(e, t) { + var r = new ERR_STREAM_WRITE_AFTER_END(); + errorOrDestroy(e, r), process.nextTick(t, r); + } + function validChunk(e, t, r, i) { + var n; + return ( + null === r + ? (n = new ERR_STREAM_NULL_VALUES()) + : "string" == typeof r || + t.objectMode || + (n = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], r)), + !n || (errorOrDestroy(e, n), process.nextTick(i, n), !1) + ); + } + function decodeChunk(e, t, r) { + return e.objectMode || !1 === e.decodeStrings || "string" != typeof t || (t = Buffer.from(t, r)), t; + } + function writeOrBuffer(e, t, r, i, n, o) { + if (!r) { + var s = decodeChunk(t, i, n); + i !== s && ((r = !0), (n = "buffer"), (i = s)); + } + var a = t.objectMode ? 1 : i.length; + t.length += a; + var u = t.length < t.highWaterMark; + if ((u || (t.needDrain = !0), t.writing || t.corked)) { + var f = t.lastBufferedRequest; + (t.lastBufferedRequest = { chunk: i, encoding: n, isBuf: r, callback: o, next: null }), + f ? (f.next = t.lastBufferedRequest) : (t.bufferedRequest = t.lastBufferedRequest), + (t.bufferedRequestCount += 1); + } else doWrite(e, t, !1, a, i, n, o); + return u; + } + function doWrite(e, t, r, i, n, o, s) { + (t.writelen = i), + (t.writecb = s), + (t.writing = !0), + (t.sync = !0), + t.destroyed + ? t.onwrite(new ERR_STREAM_DESTROYED("write")) + : r + ? e._writev(n, t.onwrite) + : e._write(n, o, t.onwrite), + (t.sync = !1); + } + function onwriteError(e, t, r, i, n) { + --t.pendingcb, + r + ? (process.nextTick(n, i), + process.nextTick(finishMaybe, e, t), + (e._writableState.errorEmitted = !0), + errorOrDestroy(e, i)) + : (n(i), (e._writableState.errorEmitted = !0), errorOrDestroy(e, i), finishMaybe(e, t)); + } + function onwriteStateUpdate(e) { + (e.writing = !1), (e.writecb = null), (e.length -= e.writelen), (e.writelen = 0); + } + function onwrite(e, t) { + var r = e._writableState, + i = r.sync, + n = r.writecb; + if ("function" != typeof n) throw new ERR_MULTIPLE_CALLBACK(); + if ((onwriteStateUpdate(r), t)) onwriteError(e, r, i, t, n); + else { + var o = needFinish(r) || e.destroyed; + o || r.corked || r.bufferProcessing || !r.bufferedRequest || clearBuffer(e, r), + i ? process.nextTick(afterWrite, e, r, o, n) : afterWrite(e, r, o, n); + } + } + function afterWrite(e, t, r, i) { + r || onwriteDrain(e, t), t.pendingcb--, i(), finishMaybe(e, t); + } + function onwriteDrain(e, t) { + 0 === t.length && t.needDrain && ((t.needDrain = !1), e.emit("drain")); + } + function clearBuffer(e, t) { + t.bufferProcessing = !0; + var r = t.bufferedRequest; + if (e._writev && r && r.next) { + var i = t.bufferedRequestCount, + n = new Array(i), + o = t.corkedRequestsFree; + o.entry = r; + for (var s = 0, a = !0; r; ) (n[s] = r), r.isBuf || (a = !1), (r = r.next), (s += 1); + (n.allBuffers = a), + doWrite(e, t, !0, t.length, n, "", o.finish), + t.pendingcb++, + (t.lastBufferedRequest = null), + o.next + ? ((t.corkedRequestsFree = o.next), (o.next = null)) + : (t.corkedRequestsFree = new CorkedRequest(t)), + (t.bufferedRequestCount = 0); + } else { + for (; r; ) { + var u = r.chunk, + f = r.encoding, + l = r.callback; + if ( + (doWrite(e, t, !1, t.objectMode ? 1 : u.length, u, f, l), + (r = r.next), + t.bufferedRequestCount--, + t.writing) + ) + break; + } + null === r && (t.lastBufferedRequest = null); + } + (t.bufferedRequest = r), (t.bufferProcessing = !1); + } + function needFinish(e) { + return e.ending && 0 === e.length && null === e.bufferedRequest && !e.finished && !e.writing; + } + function callFinal(e, t) { + e._final(function (r) { + t.pendingcb--, r && errorOrDestroy(e, r), (t.prefinished = !0), e.emit("prefinish"), finishMaybe(e, t); + }); + } + function prefinish(e, t) { + t.prefinished || + t.finalCalled || + ("function" != typeof e._final || t.destroyed + ? ((t.prefinished = !0), e.emit("prefinish")) + : (t.pendingcb++, (t.finalCalled = !0), process.nextTick(callFinal, e, t))); + } + function finishMaybe(e, t) { + var r = needFinish(t); + if (r && (prefinish(e, t), 0 === t.pendingcb && ((t.finished = !0), e.emit("finish"), t.autoDestroy))) { + var i = e._readableState; + (!i || (i.autoDestroy && i.endEmitted)) && e.destroy(); + } + return r; + } + function endWritable(e, t, r) { + (t.ending = !0), + finishMaybe(e, t), + r && (t.finished ? process.nextTick(r) : e.once("finish", r)), + (t.ended = !0), + (e.writable = !1); + } + function onCorkedFinish(e, t, r) { + var i = e.entry; + for (e.entry = null; i; ) { + var n = i.callback; + t.pendingcb--, n(r), (i = i.next); + } + t.corkedRequestsFree.next = e; + } + require("inherits")(Writable, Stream), + (WritableState.prototype.getBuffer = function () { + for (var e = this.bufferedRequest, t = []; e; ) t.push(e), (e = e.next); + return t; + }), + (function () { + try { + Object.defineProperty(WritableState.prototype, "buffer", { + get: internalUtil.deprecate( + function () { + return this.getBuffer(); + }, + "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", + "DEP0003", + ), + }); + } catch (e) {} + })(), + "function" == typeof Symbol && + Symbol.hasInstance && + "function" == typeof Function.prototype[Symbol.hasInstance] + ? ((realHasInstance = Function.prototype[Symbol.hasInstance]), + Object.defineProperty(Writable, Symbol.hasInstance, { + value: function (e) { + return ( + !!realHasInstance.call(this, e) || + (this === Writable && e && e._writableState instanceof WritableState) + ); + }, + })) + : (realHasInstance = function (e) { + return e instanceof this; + }), + (Writable.prototype.pipe = function () { + errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE()); + }), + (Writable.prototype.write = function (e, t, r) { + var i = this._writableState, + n = !1, + o = !i.objectMode && _isUint8Array(e); + return ( + o && !Buffer.isBuffer(e) && (e = _uint8ArrayToBuffer(e)), + "function" == typeof t && ((r = t), (t = null)), + o ? (t = "buffer") : t || (t = i.defaultEncoding), + "function" != typeof r && (r = nop), + i.ending + ? writeAfterEnd(this, r) + : (o || validChunk(this, i, e, r)) && (i.pendingcb++, (n = writeOrBuffer(this, i, o, e, t, r))), + n + ); + }), + (Writable.prototype.cork = function () { + this._writableState.corked++; + }), + (Writable.prototype.uncork = function () { + var e = this._writableState; + e.corked && + (e.corked--, + e.writing || e.corked || e.bufferProcessing || !e.bufferedRequest || clearBuffer(this, e)); + }), + (Writable.prototype.setDefaultEncoding = function (e) { + if ( + ("string" == typeof e && (e = e.toLowerCase()), + !( + [ + "hex", + "utf8", + "utf-8", + "ascii", + "binary", + "base64", + "ucs2", + "ucs-2", + "utf16le", + "utf-16le", + "raw", + ].indexOf((e + "").toLowerCase()) > -1 + )) + ) + throw new ERR_UNKNOWN_ENCODING(e); + return (this._writableState.defaultEncoding = e), this; + }), + Object.defineProperty(Writable.prototype, "writableBuffer", { + enumerable: !1, + get: function () { + return this._writableState && this._writableState.getBuffer(); + }, + }), + Object.defineProperty(Writable.prototype, "writableHighWaterMark", { + enumerable: !1, + get: function () { + return this._writableState.highWaterMark; + }, + }), + (Writable.prototype._write = function (e, t, r) { + r(new ERR_METHOD_NOT_IMPLEMENTED("_write()")); + }), + (Writable.prototype._writev = null), + (Writable.prototype.end = function (e, t, r) { + var i = this._writableState; + return ( + "function" == typeof e + ? ((r = e), (e = null), (t = null)) + : "function" == typeof t && ((r = t), (t = null)), + null != e && this.write(e, t), + i.corked && ((i.corked = 1), this.uncork()), + i.ending || endWritable(this, i, r), + this + ); + }), + Object.defineProperty(Writable.prototype, "writableLength", { + enumerable: !1, + get: function () { + return this._writableState.length; + }, + }), + Object.defineProperty(Writable.prototype, "destroyed", { + enumerable: !1, + get: function () { + return void 0 !== this._writableState && this._writableState.destroyed; + }, + set: function (e) { + this._writableState && (this._writableState.destroyed = e); + }, + }), + (Writable.prototype.destroy = destroyImpl.destroy), + (Writable.prototype._undestroy = destroyImpl.undestroy), + (Writable.prototype._destroy = function (e, t) { + t(e); + }); + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + { + "../errors": 177, + "./_stream_duplex": 178, + "./internal/streams/destroy": 185, + "./internal/streams/state": 189, + "./internal/streams/stream": 190, + _process: 172, + buffer: 132, + inherits: 139, + "util-deprecate": 201, + }, + ], + 183: [ + function (require, module, exports) { + (function (process) { + (function () { + "use strict"; + var _Object$setPrototypeO; + function _defineProperty(e, t, r) { + return ( + t in e + ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) + : (e[t] = r), + e + ); + } + var finished = require("./end-of-stream"), + kLastResolve = Symbol("lastResolve"), + kLastReject = Symbol("lastReject"), + kError = Symbol("error"), + kEnded = Symbol("ended"), + kLastPromise = Symbol("lastPromise"), + kHandlePromise = Symbol("handlePromise"), + kStream = Symbol("stream"); + function createIterResult(e, t) { + return { value: e, done: t }; + } + function readAndResolve(e) { + var t = e[kLastResolve]; + if (null !== t) { + var r = e[kStream].read(); + null !== r && + ((e[kLastPromise] = null), + (e[kLastResolve] = null), + (e[kLastReject] = null), + t(createIterResult(r, !1))); + } + } + function onReadable(e) { + process.nextTick(readAndResolve, e); + } + function wrapForNext(e, t) { + return function (r, o) { + e.then(function () { + t[kEnded] ? r(createIterResult(void 0, !0)) : t[kHandlePromise](r, o); + }, o); + }; + } + var AsyncIteratorPrototype = Object.getPrototypeOf(function () {}), + ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf( + (_defineProperty( + (_Object$setPrototypeO = { + get stream() { + return this[kStream]; + }, + next: function () { + var e = this, + t = this[kError]; + if (null !== t) return Promise.reject(t); + if (this[kEnded]) return Promise.resolve(createIterResult(void 0, !0)); + if (this[kStream].destroyed) + return new Promise(function (t, r) { + process.nextTick(function () { + e[kError] ? r(e[kError]) : t(createIterResult(void 0, !0)); + }); + }); + var r, + o = this[kLastPromise]; + if (o) r = new Promise(wrapForNext(o, this)); + else { + var n = this[kStream].read(); + if (null !== n) return Promise.resolve(createIterResult(n, !1)); + r = new Promise(this[kHandlePromise]); + } + return (this[kLastPromise] = r), r; + }, + }), + Symbol.asyncIterator, + function () { + return this; + }, + ), + _defineProperty(_Object$setPrototypeO, "return", function () { + var e = this; + return new Promise(function (t, r) { + e[kStream].destroy(null, function (e) { + e ? r(e) : t(createIterResult(void 0, !0)); + }); + }); + }), + _Object$setPrototypeO), + AsyncIteratorPrototype, + ), + createReadableStreamAsyncIterator = function (e) { + var t, + r = Object.create( + ReadableStreamAsyncIteratorPrototype, + (_defineProperty((t = {}), kStream, { value: e, writable: !0 }), + _defineProperty(t, kLastResolve, { value: null, writable: !0 }), + _defineProperty(t, kLastReject, { value: null, writable: !0 }), + _defineProperty(t, kError, { value: null, writable: !0 }), + _defineProperty(t, kEnded, { value: e._readableState.endEmitted, writable: !0 }), + _defineProperty(t, kHandlePromise, { + value: function (e, t) { + var o = r[kStream].read(); + o + ? ((r[kLastPromise] = null), + (r[kLastResolve] = null), + (r[kLastReject] = null), + e(createIterResult(o, !1))) + : ((r[kLastResolve] = e), (r[kLastReject] = t)); + }, + writable: !0, + }), + t), + ); + return ( + (r[kLastPromise] = null), + finished(e, function (e) { + if (e && "ERR_STREAM_PREMATURE_CLOSE" !== e.code) { + var t = r[kLastReject]; + return ( + null !== t && + ((r[kLastPromise] = null), (r[kLastResolve] = null), (r[kLastReject] = null), t(e)), + void (r[kError] = e) + ); + } + var o = r[kLastResolve]; + null !== o && + ((r[kLastPromise] = null), + (r[kLastResolve] = null), + (r[kLastReject] = null), + o(createIterResult(void 0, !0))), + (r[kEnded] = !0); + }), + e.on("readable", onReadable.bind(null, r)), + r + ); + }; + module.exports = createReadableStreamAsyncIterator; + }).call(this); + }).call(this, require("_process")); + }, + { "./end-of-stream": 186, _process: 172 }, + ], + 184: [ + function (require, module, exports) { + "use strict"; + function ownKeys(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function _objectSpread(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ownKeys(Object(n), !0).forEach(function (t) { + _defineProperty(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ownKeys(Object(n)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)); + }); + } + return e; + } + function _defineProperty(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) + : (e[t] = n), + e + ); + } + function _classCallCheck(e, t) { + if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); + } + function _defineProperties(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function _createClass(e, t, n) { + return t && _defineProperties(e.prototype, t), n && _defineProperties(e, n), e; + } + var _require = require("buffer"), + Buffer = _require.Buffer, + _require2 = require("util"), + inspect = _require2.inspect, + custom = (inspect && inspect.custom) || "inspect"; + function copyBuffer(e, t, n) { + Buffer.prototype.copy.call(e, t, n); + } + module.exports = (function () { + function e() { + _classCallCheck(this, e), (this.head = null), (this.tail = null), (this.length = 0); + } + return ( + _createClass(e, [ + { + key: "push", + value: function (e) { + var t = { data: e, next: null }; + this.length > 0 ? (this.tail.next = t) : (this.head = t), (this.tail = t), ++this.length; + }, + }, + { + key: "unshift", + value: function (e) { + var t = { data: e, next: this.head }; + 0 === this.length && (this.tail = t), (this.head = t), ++this.length; + }, + }, + { + key: "shift", + value: function () { + if (0 !== this.length) { + var e = this.head.data; + return ( + 1 === this.length ? (this.head = this.tail = null) : (this.head = this.head.next), + --this.length, + e + ); + } + }, + }, + { + key: "clear", + value: function () { + (this.head = this.tail = null), (this.length = 0); + }, + }, + { + key: "join", + value: function (e) { + if (0 === this.length) return ""; + for (var t = this.head, n = "" + t.data; (t = t.next); ) n += e + t.data; + return n; + }, + }, + { + key: "concat", + value: function (e) { + if (0 === this.length) return Buffer.alloc(0); + for (var t = Buffer.allocUnsafe(e >>> 0), n = this.head, r = 0; n; ) + copyBuffer(n.data, t, r), (r += n.data.length), (n = n.next); + return t; + }, + }, + { + key: "consume", + value: function (e, t) { + var n; + return ( + e < this.head.data.length + ? ((n = this.head.data.slice(0, e)), (this.head.data = this.head.data.slice(e))) + : (n = e === this.head.data.length ? this.shift() : t ? this._getString(e) : this._getBuffer(e)), + n + ); + }, + }, + { + key: "first", + value: function () { + return this.head.data; + }, + }, + { + key: "_getString", + value: function (e) { + var t = this.head, + n = 1, + r = t.data; + for (e -= r.length; (t = t.next); ) { + var a = t.data, + i = e > a.length ? a.length : e; + if ((i === a.length ? (r += a) : (r += a.slice(0, e)), 0 === (e -= i))) { + i === a.length + ? (++n, t.next ? (this.head = t.next) : (this.head = this.tail = null)) + : ((this.head = t), (t.data = a.slice(i))); + break; + } + ++n; + } + return (this.length -= n), r; + }, + }, + { + key: "_getBuffer", + value: function (e) { + var t = Buffer.allocUnsafe(e), + n = this.head, + r = 1; + for (n.data.copy(t), e -= n.data.length; (n = n.next); ) { + var a = n.data, + i = e > a.length ? a.length : e; + if ((a.copy(t, t.length - e, 0, i), 0 === (e -= i))) { + i === a.length + ? (++r, n.next ? (this.head = n.next) : (this.head = this.tail = null)) + : ((this.head = n), (n.data = a.slice(i))); + break; + } + ++r; + } + return (this.length -= r), t; + }, + }, + { + key: custom, + value: function (e, t) { + return inspect(this, _objectSpread({}, t, { depth: 0, customInspect: !1 })); + }, + }, + ]), + e + ); + })(); + }, + { buffer: 132, util: 131 }, + ], + 185: [ + function (require, module, exports) { + (function (process) { + (function () { + "use strict"; + function destroy(t, e) { + var r = this, + i = this._readableState && this._readableState.destroyed, + a = this._writableState && this._writableState.destroyed; + return i || a + ? (e + ? e(t) + : t && + (this._writableState + ? this._writableState.errorEmitted || + ((this._writableState.errorEmitted = !0), process.nextTick(emitErrorNT, this, t)) + : process.nextTick(emitErrorNT, this, t)), + this) + : (this._readableState && (this._readableState.destroyed = !0), + this._writableState && (this._writableState.destroyed = !0), + this._destroy(t || null, function (t) { + !e && t + ? r._writableState + ? r._writableState.errorEmitted + ? process.nextTick(emitCloseNT, r) + : ((r._writableState.errorEmitted = !0), process.nextTick(emitErrorAndCloseNT, r, t)) + : process.nextTick(emitErrorAndCloseNT, r, t) + : e + ? (process.nextTick(emitCloseNT, r), e(t)) + : process.nextTick(emitCloseNT, r); + }), + this); + } + function emitErrorAndCloseNT(t, e) { + emitErrorNT(t, e), emitCloseNT(t); + } + function emitCloseNT(t) { + (t._writableState && !t._writableState.emitClose) || + (t._readableState && !t._readableState.emitClose) || + t.emit("close"); + } + function undestroy() { + 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 emitErrorNT(t, e) { + t.emit("error", e); + } + function errorOrDestroy(t, e) { + var r = t._readableState, + i = t._writableState; + (r && r.autoDestroy) || (i && i.autoDestroy) ? t.destroy(e) : t.emit("error", e); + } + module.exports = { destroy: destroy, undestroy: undestroy, errorOrDestroy: errorOrDestroy }; + }).call(this); + }).call(this, require("_process")); + }, + { _process: 172 }, + ], + 186: [ + function (require, module, exports) { + "use strict"; + var ERR_STREAM_PREMATURE_CLOSE = require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE; + function once(e) { + var r = !1; + return function () { + if (!r) { + r = !0; + for (var t = arguments.length, n = new Array(t), o = 0; o < t; o++) n[o] = arguments[o]; + e.apply(this, n); + } + }; + } + function noop() {} + function isRequest(e) { + return e.setHeader && "function" == typeof e.abort; + } + function eos(e, r, t) { + if ("function" == typeof r) return eos(e, null, r); + r || (r = {}), (t = once(t || noop)); + var n = r.readable || (!1 !== r.readable && e.readable), + o = r.writable || (!1 !== r.writable && e.writable), + i = function () { + e.writable || l(); + }, + a = e._writableState && e._writableState.finished, + l = function () { + (o = !1), (a = !0), n || t.call(e); + }, + s = e._readableState && e._readableState.endEmitted, + c = function () { + (n = !1), (s = !0), o || t.call(e); + }, + u = function (r) { + t.call(e, r); + }, + f = function () { + var r; + return n && !s + ? ((e._readableState && e._readableState.ended) || (r = new ERR_STREAM_PREMATURE_CLOSE()), t.call(e, r)) + : o && !a + ? ((e._writableState && e._writableState.ended) || (r = new ERR_STREAM_PREMATURE_CLOSE()), + t.call(e, r)) + : void 0; + }, + d = function () { + e.req.on("finish", l); + }; + return ( + isRequest(e) + ? (e.on("complete", l), e.on("abort", f), e.req ? d() : e.on("request", d)) + : o && !e._writableState && (e.on("end", i), e.on("close", i)), + e.on("end", c), + e.on("finish", l), + !1 !== r.error && e.on("error", u), + e.on("close", f), + function () { + e.removeListener("complete", l), + e.removeListener("abort", f), + e.removeListener("request", d), + e.req && e.req.removeListener("finish", l), + e.removeListener("end", i), + e.removeListener("close", i), + e.removeListener("finish", l), + e.removeListener("end", c), + e.removeListener("error", u), + e.removeListener("close", f); + } + ); + } + module.exports = eos; + }, + { "../../../errors": 177 }, + ], + 187: [ + function (require, module, exports) { + module.exports = function () { + throw new Error("Readable.from is not available in the browser"); + }; + }, + {}, + ], + 188: [ + function (require, module, exports) { + "use strict"; + var eos; + function once(e) { + var r = !1; + return function () { + r || ((r = !0), e.apply(void 0, arguments)); + }; + } + var _require$codes = require("../../../errors").codes, + ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, + ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED; + function noop(e) { + if (e) throw e; + } + function isRequest(e) { + return e.setHeader && "function" == typeof e.abort; + } + function destroyer(e, r, n, o) { + o = once(o); + var t = !1; + e.on("close", function () { + t = !0; + }), + void 0 === eos && (eos = require("./end-of-stream")), + eos(e, { readable: r, writable: n }, function (e) { + if (e) return o(e); + (t = !0), o(); + }); + var i = !1; + return function (r) { + if (!t && !i) + return ( + (i = !0), + isRequest(e) + ? e.abort() + : "function" == typeof e.destroy + ? e.destroy() + : void o(r || new ERR_STREAM_DESTROYED("pipe")) + ); + }; + } + function call(e) { + e(); + } + function pipe(e, r) { + return e.pipe(r); + } + function popCallback(e) { + return e.length ? ("function" != typeof e[e.length - 1] ? noop : e.pop()) : noop; + } + function pipeline() { + for (var e = arguments.length, r = new Array(e), n = 0; n < e; n++) r[n] = arguments[n]; + var o, + t = popCallback(r); + if ((Array.isArray(r[0]) && (r = r[0]), r.length < 2)) throw new ERR_MISSING_ARGS("streams"); + var i = r.map(function (e, n) { + var u = n < r.length - 1; + return destroyer(e, u, n > 0, function (e) { + o || (o = e), e && i.forEach(call), u || (i.forEach(call), t(o)); + }); + }); + return r.reduce(pipe); + } + module.exports = pipeline; + }, + { "../../../errors": 177, "./end-of-stream": 186 }, + ], + 189: [ + function (require, module, exports) { + "use strict"; + var ERR_INVALID_OPT_VALUE = require("../../../errors").codes.ERR_INVALID_OPT_VALUE; + function highWaterMarkFrom(r, e, t) { + return null != r.highWaterMark ? r.highWaterMark : e ? r[t] : null; + } + function getHighWaterMark(r, e, t, a) { + var i = highWaterMarkFrom(e, a, t); + if (null != i) { + if (!isFinite(i) || Math.floor(i) !== i || i < 0) + throw new ERR_INVALID_OPT_VALUE(a ? t : "highWaterMark", i); + return Math.floor(i); + } + return r.objectMode ? 16 : 16384; + } + module.exports = { getHighWaterMark: getHighWaterMark }; + }, + { "../../../errors": 177 }, + ], + 190: [ + function (require, module, exports) { + module.exports = require("events").EventEmitter; + }, + { events: 135 }, + ], + 191: [ + function (require, module, exports) { + (exports = module.exports = require("./lib/_stream_readable.js")), + (exports.Stream = exports), + (exports.Readable = exports), + (exports.Writable = require("./lib/_stream_writable.js")), + (exports.Duplex = require("./lib/_stream_duplex.js")), + (exports.Transform = require("./lib/_stream_transform.js")), + (exports.PassThrough = require("./lib/_stream_passthrough.js")), + (exports.finished = require("./lib/internal/streams/end-of-stream.js")), + (exports.pipeline = require("./lib/internal/streams/pipeline.js")); + }, + { + "./lib/_stream_duplex.js": 178, + "./lib/_stream_passthrough.js": 179, + "./lib/_stream_readable.js": 180, + "./lib/_stream_transform.js": 181, + "./lib/_stream_writable.js": 182, + "./lib/internal/streams/end-of-stream.js": 186, + "./lib/internal/streams/pipeline.js": 188, + }, + ], + 192: [ + function (require, module, exports) { + (function (global) { + (function () { + var ClientRequest = require("./lib/request"), + response = require("./lib/response"), + extend = require("xtend"), + statusCodes = require("builtin-status-codes"), + url = require("url"), + http = exports; + (http.request = function (e, t) { + e = "string" == typeof e ? url.parse(e) : extend(e); + var r = -1 === global.location.protocol.search(/^https?:$/) ? "http:" : "", + s = e.protocol || r, + n = e.hostname || e.host, + o = e.port, + p = e.path || "/"; + n && -1 !== n.indexOf(":") && (n = "[" + n + "]"), + (e.url = (n ? s + "//" + n : "") + (o ? ":" + o : "") + p), + (e.method = (e.method || "GET").toUpperCase()), + (e.headers = e.headers || {}); + var u = new ClientRequest(e); + return t && u.on("response", t), u; + }), + (http.get = function (e, t) { + var r = http.request(e, t); + return r.end(), r; + }), + (http.ClientRequest = ClientRequest), + (http.IncomingMessage = response.IncomingMessage), + (http.Agent = function () {}), + (http.Agent.defaultMaxSockets = 4), + (http.globalAgent = new http.Agent()), + (http.STATUS_CODES = statusCodes), + (http.METHODS = [ + "CHECKOUT", + "CONNECT", + "COPY", + "DELETE", + "GET", + "HEAD", + "LOCK", + "M-SEARCH", + "MERGE", + "MKACTIVITY", + "MKCOL", + "MOVE", + "NOTIFY", + "OPTIONS", + "PATCH", + "POST", + "PROPFIND", + "PROPPATCH", + "PURGE", + "PUT", + "REPORT", + "SEARCH", + "SUBSCRIBE", + "TRACE", + "UNLOCK", + "UNSUBSCRIBE", + ]); + }).call(this); + }).call( + this, + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + { "./lib/request": 194, "./lib/response": 195, "builtin-status-codes": 133, url: 199, xtend: 205 }, + ], + 193: [ + function (require, module, exports) { + (function (global) { + (function () { + var xhr; + function getXHR() { + if (void 0 !== xhr) return xhr; + if (global.XMLHttpRequest) { + xhr = new global.XMLHttpRequest(); + try { + xhr.open("GET", global.XDomainRequest ? "/" : "https://example.com"); + } catch (e) { + xhr = null; + } + } else xhr = null; + return xhr; + } + function checkTypeSupport(e) { + var r = getXHR(); + if (!r) return !1; + try { + return (r.responseType = e), r.responseType === e; + } catch (e) {} + return !1; + } + function isFunction(e) { + return "function" == typeof e; + } + (exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)), + (exports.writableStream = isFunction(global.WritableStream)), + (exports.abortController = isFunction(global.AbortController)), + (exports.arraybuffer = exports.fetch || checkTypeSupport("arraybuffer")), + (exports.msstream = !exports.fetch && checkTypeSupport("ms-stream")), + (exports.mozchunkedarraybuffer = !exports.fetch && checkTypeSupport("moz-chunked-arraybuffer")), + (exports.overrideMimeType = exports.fetch || (!!getXHR() && isFunction(getXHR().overrideMimeType))), + (xhr = null); + }).call(this); + }).call( + this, + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + {}, + ], + 194: [ + function (require, module, exports) { + (function (process, global, Buffer) { + (function () { + var capability = require("./capability"), + inherits = require("inherits"), + response = require("./response"), + stream = require("readable-stream"), + IncomingMessage = response.IncomingMessage, + rStates = response.readyStates; + function decideMode(e, t) { + return capability.fetch && t + ? "fetch" + : capability.mozchunkedarraybuffer + ? "moz-chunked-arraybuffer" + : capability.msstream + ? "ms-stream" + : capability.arraybuffer && e + ? "arraybuffer" + : "text"; + } + var ClientRequest = (module.exports = function (e) { + var t, + r = this; + stream.Writable.call(r), + (r._opts = e), + (r._body = []), + (r._headers = {}), + e.auth && r.setHeader("Authorization", "Basic " + Buffer.from(e.auth).toString("base64")), + Object.keys(e.headers).forEach(function (t) { + r.setHeader(t, e.headers[t]); + }); + var o = !0; + if ("disable-fetch" === e.mode || ("requestTimeout" in e && !capability.abortController)) + (o = !1), (t = !0); + else if ("prefer-streaming" === e.mode) t = !1; + else if ("allow-wrong-content-type" === e.mode) t = !capability.overrideMimeType; + else { + if (e.mode && "default" !== e.mode && "prefer-fast" !== e.mode) + throw new Error("Invalid value for opts.mode"); + t = !0; + } + (r._mode = decideMode(t, o)), + (r._fetchTimer = null), + (r._socketTimeout = null), + (r._socketTimer = null), + r.on("finish", function () { + r._onFinish(); + }); + }); + function statusValid(e) { + try { + var t = e.status; + return null !== t && 0 !== t; + } catch (e) { + return !1; + } + } + inherits(ClientRequest, stream.Writable), + (ClientRequest.prototype.setHeader = function (e, t) { + var r = e.toLowerCase(); + -1 === unsafeHeaders.indexOf(r) && (this._headers[r] = { name: e, value: t }); + }), + (ClientRequest.prototype.getHeader = function (e) { + var t = this._headers[e.toLowerCase()]; + return t ? t.value : null; + }), + (ClientRequest.prototype.removeHeader = function (e) { + delete this._headers[e.toLowerCase()]; + }), + (ClientRequest.prototype._onFinish = function () { + var e = this; + if (!e._destroyed) { + var t = e._opts; + "timeout" in t && 0 !== t.timeout && e.setTimeout(t.timeout); + var r = e._headers, + o = null; + "GET" !== t.method && + "HEAD" !== t.method && + (o = new Blob(e._body, { type: (r["content-type"] || {}).value || "" })); + var s = []; + if ( + (Object.keys(r).forEach(function (e) { + var t = r[e].name, + o = r[e].value; + Array.isArray(o) + ? o.forEach(function (e) { + s.push([t, e]); + }) + : s.push([t, o]); + }), + "fetch" === e._mode) + ) { + var i = null; + if (capability.abortController) { + var n = new AbortController(); + (i = n.signal), + (e._fetchAbortController = n), + "requestTimeout" in t && + 0 !== t.requestTimeout && + (e._fetchTimer = global.setTimeout(function () { + e.emit("requestTimeout"), e._fetchAbortController && e._fetchAbortController.abort(); + }, t.requestTimeout)); + } + global + .fetch(e._opts.url, { + method: e._opts.method, + headers: s, + body: o || void 0, + mode: "cors", + credentials: t.withCredentials ? "include" : "same-origin", + signal: i, + }) + .then( + function (t) { + (e._fetchResponse = t), e._resetTimers(!1), e._connect(); + }, + function (t) { + e._resetTimers(!0), e._destroyed || e.emit("error", t); + }, + ); + } else { + var a = (e._xhr = new global.XMLHttpRequest()); + try { + a.open(e._opts.method, e._opts.url, !0); + } catch (t) { + return void process.nextTick(function () { + e.emit("error", t); + }); + } + "responseType" in a && (a.responseType = e._mode), + "withCredentials" in a && (a.withCredentials = !!t.withCredentials), + "text" === e._mode && + "overrideMimeType" in a && + a.overrideMimeType("text/plain; charset=x-user-defined"), + "requestTimeout" in t && + ((a.timeout = t.requestTimeout), + (a.ontimeout = function () { + e.emit("requestTimeout"); + })), + s.forEach(function (e) { + a.setRequestHeader(e[0], e[1]); + }), + (e._response = null), + (a.onreadystatechange = function () { + switch (a.readyState) { + case rStates.LOADING: + case rStates.DONE: + e._onXHRProgress(); + } + }), + "moz-chunked-arraybuffer" === e._mode && + (a.onprogress = function () { + e._onXHRProgress(); + }), + (a.onerror = function () { + e._destroyed || (e._resetTimers(!0), e.emit("error", new Error("XHR error"))); + }); + try { + a.send(o); + } catch (t) { + return void process.nextTick(function () { + e.emit("error", t); + }); + } + } + } + }), + (ClientRequest.prototype._onXHRProgress = function () { + this._resetTimers(!1), + statusValid(this._xhr) && + !this._destroyed && + (this._response || this._connect(), this._response._onXHRProgress(this._resetTimers.bind(this))); + }), + (ClientRequest.prototype._connect = function () { + var e = this; + e._destroyed || + ((e._response = new IncomingMessage(e._xhr, e._fetchResponse, e._mode, e._resetTimers.bind(e))), + e._response.on("error", function (t) { + e.emit("error", t); + }), + e.emit("response", e._response)); + }), + (ClientRequest.prototype._write = function (e, t, r) { + this._body.push(e), r(); + }), + (ClientRequest.prototype._resetTimers = function (e) { + var t = this; + global.clearTimeout(t._socketTimer), + (t._socketTimer = null), + e + ? (global.clearTimeout(t._fetchTimer), (t._fetchTimer = null)) + : t._socketTimeout && + (t._socketTimer = global.setTimeout(function () { + t.emit("timeout"); + }, t._socketTimeout)); + }), + (ClientRequest.prototype.abort = ClientRequest.prototype.destroy = + function (e) { + (this._destroyed = !0), + this._resetTimers(!0), + this._response && (this._response._destroyed = !0), + this._xhr ? this._xhr.abort() : this._fetchAbortController && this._fetchAbortController.abort(), + e && this.emit("error", e); + }), + (ClientRequest.prototype.end = function (e, t, r) { + "function" == typeof e && ((r = e), (e = void 0)), stream.Writable.prototype.end.call(this, e, t, r); + }), + (ClientRequest.prototype.setTimeout = function (e, t) { + t && this.once("timeout", t), (this._socketTimeout = e), this._resetTimers(!1); + }), + (ClientRequest.prototype.flushHeaders = function () {}), + (ClientRequest.prototype.setNoDelay = function () {}), + (ClientRequest.prototype.setSocketKeepAlive = function () {}); + var unsafeHeaders = [ + "accept-charset", + "accept-encoding", + "access-control-request-headers", + "access-control-request-method", + "connection", + "content-length", + "cookie", + "cookie2", + "date", + "dnt", + "expect", + "host", + "keep-alive", + "origin", + "referer", + "te", + "trailer", + "transfer-encoding", + "upgrade", + "via", + ]; + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + require("buffer").Buffer, + ); + }, + { "./capability": 193, "./response": 195, _process: 172, buffer: 132, inherits: 139, "readable-stream": 191 }, + ], + 195: [ + function (require, module, exports) { + (function (process, global, Buffer) { + (function () { + var capability = require("./capability"), + inherits = require("inherits"), + stream = require("readable-stream"), + rStates = (exports.readyStates = { UNSENT: 0, OPENED: 1, HEADERS_RECEIVED: 2, LOADING: 3, DONE: 4 }), + IncomingMessage = (exports.IncomingMessage = function (e, r, s, t) { + var a = this; + if ( + (stream.Readable.call(a), + (a._mode = s), + (a.headers = {}), + (a.rawHeaders = []), + (a.trailers = {}), + (a.rawTrailers = []), + a.on("end", function () { + process.nextTick(function () { + a.emit("close"); + }); + }), + "fetch" === s) + ) { + if ( + ((a._fetchResponse = r), + (a.url = r.url), + (a.statusCode = r.status), + (a.statusMessage = r.statusText), + r.headers.forEach(function (e, r) { + (a.headers[r.toLowerCase()] = e), a.rawHeaders.push(r, e); + }), + capability.writableStream) + ) { + var o = new WritableStream({ + write: function (e) { + return ( + t(!1), + new Promise(function (r, s) { + a._destroyed ? s() : a.push(Buffer.from(e)) ? r() : (a._resumeFetch = r); + }) + ); + }, + close: function () { + t(!0), a._destroyed || a.push(null); + }, + abort: function (e) { + t(!0), a._destroyed || a.emit("error", e); + }, + }); + try { + return void r.body.pipeTo(o).catch(function (e) { + t(!0), a._destroyed || a.emit("error", e); + }); + } catch (e) {} + } + var n = r.body.getReader(); + !(function e() { + n.read() + .then(function (r) { + a._destroyed || (t(r.done), r.done ? a.push(null) : (a.push(Buffer.from(r.value)), e())); + }) + .catch(function (e) { + t(!0), a._destroyed || a.emit("error", e); + }); + })(); + } else { + if ( + ((a._xhr = e), + (a._pos = 0), + (a.url = e.responseURL), + (a.statusCode = e.status), + (a.statusMessage = e.statusText), + e + .getAllResponseHeaders() + .split(/\r?\n/) + .forEach(function (e) { + var r = e.match(/^([^:]+):\s*(.*)/); + if (r) { + var s = r[1].toLowerCase(); + "set-cookie" === s + ? (void 0 === a.headers[s] && (a.headers[s] = []), a.headers[s].push(r[2])) + : void 0 !== a.headers[s] + ? (a.headers[s] += ", " + r[2]) + : (a.headers[s] = r[2]), + a.rawHeaders.push(r[1], r[2]); + } + }), + (a._charset = "x-user-defined"), + !capability.overrideMimeType) + ) { + var i = a.rawHeaders["mime-type"]; + if (i) { + var u = i.match(/;\s*charset=([^;])(;|$)/); + u && (a._charset = u[1].toLowerCase()); + } + a._charset || (a._charset = "utf-8"); + } + } + }); + inherits(IncomingMessage, stream.Readable), + (IncomingMessage.prototype._read = function () { + var e = this._resumeFetch; + e && ((this._resumeFetch = null), e()); + }), + (IncomingMessage.prototype._onXHRProgress = function (e) { + var r = this, + s = r._xhr, + t = null; + switch (r._mode) { + case "text": + if ((t = s.responseText).length > r._pos) { + var a = t.substr(r._pos); + if ("x-user-defined" === r._charset) { + for (var o = Buffer.alloc(a.length), n = 0; n < a.length; n++) o[n] = 255 & a.charCodeAt(n); + r.push(o); + } else r.push(a, r._charset); + r._pos = t.length; + } + break; + case "arraybuffer": + if (s.readyState !== rStates.DONE || !s.response) break; + (t = s.response), r.push(Buffer.from(new Uint8Array(t))); + break; + case "moz-chunked-arraybuffer": + if (((t = s.response), s.readyState !== rStates.LOADING || !t)) break; + r.push(Buffer.from(new Uint8Array(t))); + break; + case "ms-stream": + if (((t = s.response), s.readyState !== rStates.LOADING)) break; + var i = new global.MSStreamReader(); + (i.onprogress = function () { + i.result.byteLength > r._pos && + (r.push(Buffer.from(new Uint8Array(i.result.slice(r._pos)))), (r._pos = i.result.byteLength)); + }), + (i.onload = function () { + e(!0), r.push(null); + }), + i.readAsArrayBuffer(t); + } + r._xhr.readyState === rStates.DONE && "ms-stream" !== r._mode && (e(!0), r.push(null)); + }); + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + require("buffer").Buffer, + ); + }, + { "./capability": 193, _process: 172, buffer: 132, inherits: 139, "readable-stream": 191 }, + ], + 196: [ + function (require, module, exports) { + "use strict"; + var Buffer = require("safe-buffer").Buffer, + isEncoding = + Buffer.isEncoding || + function (t) { + switch ((t = "" + t) && t.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 _normalizeEncoding(t) { + if (!t) return "utf8"; + for (var e; ; ) + switch (t) { + 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 t; + default: + if (e) return; + (t = ("" + t).toLowerCase()), (e = !0); + } + } + function normalizeEncoding(t) { + var e = _normalizeEncoding(t); + if ("string" != typeof e && (Buffer.isEncoding === isEncoding || !isEncoding(t))) + throw new Error("Unknown encoding: " + t); + return e || t; + } + function StringDecoder(t) { + var e; + switch (((this.encoding = normalizeEncoding(t)), this.encoding)) { + case "utf16le": + (this.text = utf16Text), (this.end = utf16End), (e = 4); + break; + case "utf8": + (this.fillLast = utf8FillLast), (e = 4); + break; + case "base64": + (this.text = base64Text), (this.end = base64End), (e = 3); + break; + default: + return (this.write = simpleWrite), void (this.end = simpleEnd); + } + (this.lastNeed = 0), (this.lastTotal = 0), (this.lastChar = Buffer.allocUnsafe(e)); + } + function utf8CheckByte(t) { + return t <= 127 ? 0 : t >> 5 == 6 ? 2 : t >> 4 == 14 ? 3 : t >> 3 == 30 ? 4 : t >> 6 == 2 ? -1 : -2; + } + function utf8CheckIncomplete(t, e, s) { + var i = e.length - 1; + if (i < s) return 0; + var n = utf8CheckByte(e[i]); + return n >= 0 + ? (n > 0 && (t.lastNeed = n - 1), n) + : --i < s || -2 === n + ? 0 + : (n = utf8CheckByte(e[i])) >= 0 + ? (n > 0 && (t.lastNeed = n - 2), n) + : --i < s || -2 === n + ? 0 + : (n = utf8CheckByte(e[i])) >= 0 + ? (n > 0 && (2 === n ? (n = 0) : (t.lastNeed = n - 3)), n) + : 0; + } + function utf8CheckExtraBytes(t, e, s) { + if (128 != (192 & e[0])) return (t.lastNeed = 0), "�"; + if (t.lastNeed > 1 && e.length > 1) { + if (128 != (192 & e[1])) return (t.lastNeed = 1), "�"; + if (t.lastNeed > 2 && e.length > 2 && 128 != (192 & e[2])) return (t.lastNeed = 2), "�"; + } + } + function utf8FillLast(t) { + var e = this.lastTotal - this.lastNeed, + s = utf8CheckExtraBytes(this, t, e); + return void 0 !== s + ? s + : this.lastNeed <= t.length + ? (t.copy(this.lastChar, e, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal)) + : (t.copy(this.lastChar, e, 0, t.length), void (this.lastNeed -= t.length)); + } + function utf8Text(t, e) { + var s = utf8CheckIncomplete(this, t, e); + if (!this.lastNeed) return t.toString("utf8", e); + this.lastTotal = s; + var i = t.length - (s - this.lastNeed); + return t.copy(this.lastChar, 0, i), t.toString("utf8", e, i); + } + function utf8End(t) { + var e = t && t.length ? this.write(t) : ""; + return this.lastNeed ? e + "�" : e; + } + function utf16Text(t, e) { + if ((t.length - e) % 2 == 0) { + var s = t.toString("utf16le", e); + if (s) { + var i = s.charCodeAt(s.length - 1); + if (i >= 55296 && i <= 56319) + return ( + (this.lastNeed = 2), + (this.lastTotal = 4), + (this.lastChar[0] = t[t.length - 2]), + (this.lastChar[1] = t[t.length - 1]), + s.slice(0, -1) + ); + } + return s; + } + return ( + (this.lastNeed = 1), + (this.lastTotal = 2), + (this.lastChar[0] = t[t.length - 1]), + t.toString("utf16le", e, t.length - 1) + ); + } + function utf16End(t) { + var e = t && t.length ? this.write(t) : ""; + if (this.lastNeed) { + var s = this.lastTotal - this.lastNeed; + return e + this.lastChar.toString("utf16le", 0, s); + } + return e; + } + function base64Text(t, e) { + var s = (t.length - e) % 3; + return 0 === s + ? t.toString("base64", e) + : ((this.lastNeed = 3 - s), + (this.lastTotal = 3), + 1 === s + ? (this.lastChar[0] = t[t.length - 1]) + : ((this.lastChar[0] = t[t.length - 2]), (this.lastChar[1] = t[t.length - 1])), + t.toString("base64", e, t.length - s)); + } + function base64End(t) { + var e = t && t.length ? this.write(t) : ""; + return this.lastNeed ? e + this.lastChar.toString("base64", 0, 3 - this.lastNeed) : e; + } + function simpleWrite(t) { + return t.toString(this.encoding); + } + function simpleEnd(t) { + return t && t.length ? this.write(t) : ""; + } + (exports.StringDecoder = StringDecoder), + (StringDecoder.prototype.write = function (t) { + if (0 === t.length) return ""; + var e, s; + if (this.lastNeed) { + if (void 0 === (e = this.fillLast(t))) return ""; + (s = this.lastNeed), (this.lastNeed = 0); + } else s = 0; + return s < t.length ? (e ? e + this.text(t, s) : this.text(t, s)) : e || ""; + }), + (StringDecoder.prototype.end = utf8End), + (StringDecoder.prototype.text = utf8Text), + (StringDecoder.prototype.fillLast = function (t) { + if (this.lastNeed <= t.length) + return ( + t.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), + this.lastChar.toString(this.encoding, 0, this.lastTotal) + ); + t.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, t.length), (this.lastNeed -= t.length); + }); + }, + { "safe-buffer": 197 }, + ], + 197: [ + function (require, module, exports) { + /*! safe-buffer. MIT License. Feross Aboukhadijeh */ + var buffer = require("buffer"), + Buffer = buffer.Buffer; + function copyProps(f, e) { + for (var r in f) e[r] = f[r]; + } + function SafeBuffer(f, e, r) { + return Buffer(f, e, r); + } + Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow + ? (module.exports = buffer) + : (copyProps(buffer, exports), (exports.Buffer = SafeBuffer)), + (SafeBuffer.prototype = Object.create(Buffer.prototype)), + copyProps(Buffer, SafeBuffer), + (SafeBuffer.from = function (f, e, r) { + if ("number" == typeof f) throw new TypeError("Argument must not be a number"); + return Buffer(f, e, r); + }), + (SafeBuffer.alloc = function (f, e, r) { + if ("number" != typeof f) throw new TypeError("Argument must be a number"); + var u = Buffer(f); + return void 0 !== e ? ("string" == typeof r ? u.fill(e, r) : u.fill(e)) : u.fill(0), u; + }), + (SafeBuffer.allocUnsafe = function (f) { + if ("number" != typeof f) throw new TypeError("Argument must be a number"); + return Buffer(f); + }), + (SafeBuffer.allocUnsafeSlow = function (f) { + if ("number" != typeof f) throw new TypeError("Argument must be a number"); + return buffer.SlowBuffer(f); + }); + }, + { buffer: 132 }, + ], + 198: [ + function (require, module, exports) { + /** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ + !(function (e, r) { + "object" == typeof exports && "undefined" != typeof module + ? r(exports) + : "function" == typeof define && define.amd + ? define(["exports"], r) + : r((e.URI = e.URI || {})); + })(this, function (e) { + "use strict"; + function r() { + for (var e = arguments.length, r = Array(e), t = 0; t < e; t++) r[t] = arguments[t]; + if (r.length > 1) { + r[0] = r[0].slice(0, -1); + for (var o = r.length - 1, n = 1; n < o; ++n) r[n] = r[n].slice(1, -1); + return (r[o] = r[o].slice(1)), r.join(""); + } + return r[0]; + } + function t(e) { + return "(?:" + e + ")"; + } + function o(e) { + return void 0 === e + ? "undefined" + : null === e + ? "null" + : Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase(); + } + function n(e) { + return e.toUpperCase(); + } + function a(e) { + var o = r("[0-9]", "[A-Fa-f]"), + n = t( + t("%[EFef]" + o + "%" + o + o + "%" + o + o) + + "|" + + t("%[89A-Fa-f]" + o + "%" + o + o) + + "|" + + t("%" + o + o), + ), + a = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", + i = r("[\\:\\/\\?\\#\\[\\]\\@]", a), + s = e ? "[\\uE000-\\uF8FF]" : "[]", + u = r( + "[A-Za-z]", + "[0-9]", + "[\\-\\.\\_\\~]", + e ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", + ), + c = t("[A-Za-z]" + r("[A-Za-z]", "[0-9]", "[\\+\\-\\.]") + "*"), + p = t(t(n + "|" + r(u, a, "[\\:]")) + "*"), + h = + (t(t("25[0-5]") + "|" + t("2[0-4][0-9]") + "|" + t("1[0-9][0-9]") + "|" + t("[1-9][0-9]") + "|[0-9]"), + t( + t("25[0-5]") + + "|" + + t("2[0-4][0-9]") + + "|" + + t("1[0-9][0-9]") + + "|" + + t("0?[1-9][0-9]") + + "|0?0?[0-9]", + )), + f = t(h + "\\." + h + "\\." + h + "\\." + h), + l = t(o + "{1,4}"), + v = t(t(l + "\\:" + l) + "|" + f), + d = t(t(l + "\\:") + "{6}" + v), + m = t("\\:\\:" + t(l + "\\:") + "{5}" + v), + g = t(t(l) + "?\\:\\:" + t(l + "\\:") + "{4}" + v), + E = t(t(t(l + "\\:") + "{0,1}" + l) + "?\\:\\:" + t(l + "\\:") + "{3}" + v), + C = t(t(t(l + "\\:") + "{0,2}" + l) + "?\\:\\:" + t(l + "\\:") + "{2}" + v), + y = t(t(t(l + "\\:") + "{0,3}" + l) + "?\\:\\:" + l + "\\:" + v), + S = t(t(t(l + "\\:") + "{0,4}" + l) + "?\\:\\:" + v), + A = t(t(t(l + "\\:") + "{0,5}" + l) + "?\\:\\:" + l), + D = t(t(t(l + "\\:") + "{0,6}" + l) + "?\\:\\:"), + w = t([d, m, g, E, C, y, S, A, D].join("|")), + b = t(t(u + "|" + n) + "+"), + x = (t(w + "\\%25" + b), t(w + t("\\%25|\\%(?!" + o + "{2})") + b)), + O = t("[vV]" + o + "+\\." + r(u, a, "[\\:]") + "+"), + N = t("\\[" + t(x + "|" + w + "|" + O) + "\\]"), + I = t(t(n + "|" + r(u, a)) + "*"), + F = t(N + "|" + f + "(?!" + I + ")|" + I), + R = t("[0-9]*"), + T = t(t(p + "@") + "?" + F + t("\\:" + R) + "?"), + _ = t(n + "|" + r(u, a, "[\\:\\@]")), + P = t(_ + "*"), + q = t(_ + "+"), + U = t(t(n + "|" + r(u, a, "[\\@]")) + "+"), + j = t(t("\\/" + P) + "*"), + H = t("\\/" + t(q + j) + "?"), + z = t(U + j), + L = t(q + j), + $ = "(?!" + _ + ")", + V = (t(j + "|" + H + "|" + z + "|" + L + "|" + $), t(t(_ + "|" + r("[\\/\\?]", s)) + "*")), + M = t(t(_ + "|[\\/\\?]") + "*"), + Z = t(t("\\/\\/" + T + j) + "|" + H + "|" + L + "|" + $), + k = t(c + "\\:" + Z + t("\\?" + V) + "?" + t("\\#" + M) + "?"), + G = t(t("\\/\\/" + T + j) + "|" + H + "|" + z + "|" + $), + Q = t(G + t("\\?" + V) + "?" + t("\\#" + M) + "?"); + t(k + "|" + Q), + t(c + "\\:" + Z + t("\\?" + V) + "?"), + t( + t("\\/\\/(" + t("(" + p + ")@") + "?(" + F + ")" + t("\\:(" + R + ")") + "?)") + + "?(" + + j + + "|" + + H + + "|" + + L + + "|" + + $ + + ")", + ), + t("\\?(" + V + ")"), + t("\\#(" + M + ")"), + t( + t("\\/\\/(" + t("(" + p + ")@") + "?(" + F + ")" + t("\\:(" + R + ")") + "?)") + + "?(" + + j + + "|" + + H + + "|" + + z + + "|" + + $ + + ")", + ), + t("\\?(" + V + ")"), + t("\\#(" + M + ")"), + t( + t("\\/\\/(" + t("(" + p + ")@") + "?(" + F + ")" + t("\\:(" + R + ")") + "?)") + + "?(" + + j + + "|" + + H + + "|" + + L + + "|" + + $ + + ")", + ), + t("\\?(" + V + ")"), + t("\\#(" + M + ")"), + t("(" + p + ")@"), + t("\\:(" + R + ")"); + return { + NOT_SCHEME: new RegExp(r("[^]", "[A-Za-z]", "[0-9]", "[\\+\\-\\.]"), "g"), + NOT_USERINFO: new RegExp(r("[^\\%\\:]", u, a), "g"), + NOT_HOST: new RegExp(r("[^\\%\\[\\]\\:]", u, a), "g"), + NOT_PATH: new RegExp(r("[^\\%\\/\\:\\@]", u, a), "g"), + NOT_PATH_NOSCHEME: new RegExp(r("[^\\%\\/\\@]", u, a), "g"), + NOT_QUERY: new RegExp(r("[^\\%]", u, a, "[\\:\\@\\/\\?]", s), "g"), + NOT_FRAGMENT: new RegExp(r("[^\\%]", u, a, "[\\:\\@\\/\\?]"), "g"), + ESCAPE: new RegExp(r("[^]", u, a), "g"), + UNRESERVED: new RegExp(u, "g"), + OTHER_CHARS: new RegExp(r("[^\\%]", u, i), "g"), + PCT_ENCODED: new RegExp(n, "g"), + IPV4ADDRESS: new RegExp("^(" + f + ")$"), + IPV6ADDRESS: new RegExp( + "^\\[?(" + w + ")" + t(t("\\%25|\\%(?!" + o + "{2})") + "(" + b + ")") + "?\\]?$", + ), + }; + } + var i = a(!1), + s = a(!0), + u = (function () { + return function (e, r) { + if (Array.isArray(e)) return e; + if (Symbol.iterator in Object(e)) + return (function (e, r) { + var t = [], + o = !0, + n = !1, + a = void 0; + try { + for ( + var i, s = e[Symbol.iterator](); + !(o = (i = s.next()).done) && (t.push(i.value), !r || t.length !== r); + o = !0 + ); + } catch (e) { + (n = !0), (a = e); + } finally { + try { + !o && s.return && s.return(); + } finally { + if (n) throw a; + } + } + return t; + })(e, r); + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + }; + })(), + c = 2147483647, + p = /^xn--/, + h = /[^\0-\x7E]/, + f = /[\x2E\u3002\uFF0E\uFF61]/g, + l = { + overflow: "Overflow: input needs wider integers to process", + "not-basic": "Illegal input >= 0x80 (not a basic code point)", + "invalid-input": "Invalid input", + }, + v = Math.floor, + d = String.fromCharCode; + function m(e) { + throw new RangeError(l[e]); + } + function g(e, r) { + var t = e.split("@"), + o = ""; + t.length > 1 && ((o = t[0] + "@"), (e = t[1])); + var n = (function (e, r) { + for (var t = [], o = e.length; o--; ) t[o] = r(e[o]); + return t; + })((e = e.replace(f, ".")).split("."), r).join("."); + return o + n; + } + function E(e) { + for (var r = [], t = 0, o = e.length; t < o; ) { + var n = e.charCodeAt(t++); + if (n >= 55296 && n <= 56319 && t < o) { + var a = e.charCodeAt(t++); + 56320 == (64512 & a) ? r.push(((1023 & n) << 10) + (1023 & a) + 65536) : (r.push(n), t--); + } else r.push(n); + } + return r; + } + var C = function (e, r) { + return e + 22 + 75 * (e < 26) - ((0 != r) << 5); + }, + y = function (e, r, t) { + var o = 0; + for (e = t ? v(e / 700) : e >> 1, e += v(e / r); e > 455; o += 36) e = v(e / 35); + return v(o + (36 * e) / (e + 38)); + }, + S = function (e) { + var r, + t = [], + o = e.length, + n = 0, + a = 128, + i = 72, + s = e.lastIndexOf("-"); + s < 0 && (s = 0); + for (var u = 0; u < s; ++u) e.charCodeAt(u) >= 128 && m("not-basic"), t.push(e.charCodeAt(u)); + for (var p = s > 0 ? s + 1 : 0; p < o; ) { + for (var h = n, f = 1, l = 36; ; l += 36) { + p >= o && m("invalid-input"); + var d = (r = e.charCodeAt(p++)) - 48 < 10 ? r - 22 : r - 65 < 26 ? r - 65 : r - 97 < 26 ? r - 97 : 36; + (d >= 36 || d > v((c - n) / f)) && m("overflow"), (n += d * f); + var g = l <= i ? 1 : l >= i + 26 ? 26 : l - i; + if (d < g) break; + var E = 36 - g; + f > v(c / E) && m("overflow"), (f *= E); + } + var C = t.length + 1; + (i = y(n - h, C, 0 == h)), + v(n / C) > c - a && m("overflow"), + (a += v(n / C)), + (n %= C), + t.splice(n++, 0, a); + } + return String.fromCodePoint.apply(String, t); + }, + A = function (e) { + var r = [], + t = (e = E(e)).length, + o = 128, + n = 0, + a = 72, + i = !0, + s = !1, + u = void 0; + try { + for (var p, h = e[Symbol.iterator](); !(i = (p = h.next()).done); i = !0) { + var f = p.value; + f < 128 && r.push(d(f)); + } + } catch (e) { + (s = !0), (u = e); + } finally { + try { + !i && h.return && h.return(); + } finally { + if (s) throw u; + } + } + var l = r.length, + g = l; + for (l && r.push("-"); g < t; ) { + var S = c, + A = !0, + D = !1, + w = void 0; + try { + for (var b, x = e[Symbol.iterator](); !(A = (b = x.next()).done); A = !0) { + var O = b.value; + O >= o && O < S && (S = O); + } + } catch (e) { + (D = !0), (w = e); + } finally { + try { + !A && x.return && x.return(); + } finally { + if (D) throw w; + } + } + var N = g + 1; + S - o > v((c - n) / N) && m("overflow"), (n += (S - o) * N), (o = S); + var I = !0, + F = !1, + R = void 0; + try { + for (var T, _ = e[Symbol.iterator](); !(I = (T = _.next()).done); I = !0) { + var P = T.value; + if ((P < o && ++n > c && m("overflow"), P == o)) { + for (var q = n, U = 36; ; U += 36) { + var j = U <= a ? 1 : U >= a + 26 ? 26 : U - a; + if (q < j) break; + var H = q - j, + z = 36 - j; + r.push(d(C(j + (H % z), 0))), (q = v(H / z)); + } + r.push(d(C(q, 0))), (a = y(n, N, g == l)), (n = 0), ++g; + } + } + } catch (e) { + (F = !0), (R = e); + } finally { + try { + !I && _.return && _.return(); + } finally { + if (F) throw R; + } + } + ++n, ++o; + } + return r.join(""); + }, + D = { + version: "2.1.0", + ucs2: { + decode: E, + encode: function (e) { + return String.fromCodePoint.apply( + String, + (function (e) { + if (Array.isArray(e)) { + for (var r = 0, t = Array(e.length); r < e.length; r++) t[r] = e[r]; + return t; + } + return Array.from(e); + })(e), + ); + }, + }, + decode: S, + encode: A, + toASCII: function (e) { + return g(e, function (e) { + return h.test(e) ? "xn--" + A(e) : e; + }); + }, + toUnicode: function (e) { + return g(e, function (e) { + return p.test(e) ? S(e.slice(4).toLowerCase()) : e; + }); + }, + }, + w = {}; + function b(e) { + var r = e.charCodeAt(0); + return r < 16 + ? "%0" + r.toString(16).toUpperCase() + : r < 128 + ? "%" + r.toString(16).toUpperCase() + : r < 2048 + ? "%" + + ((r >> 6) | 192).toString(16).toUpperCase() + + "%" + + ((63 & r) | 128).toString(16).toUpperCase() + : "%" + + ((r >> 12) | 224).toString(16).toUpperCase() + + "%" + + (((r >> 6) & 63) | 128).toString(16).toUpperCase() + + "%" + + ((63 & r) | 128).toString(16).toUpperCase(); + } + function x(e) { + for (var r = "", t = 0, o = e.length; t < o; ) { + var n = parseInt(e.substr(t + 1, 2), 16); + if (n < 128) (r += String.fromCharCode(n)), (t += 3); + else if (n >= 194 && n < 224) { + if (o - t >= 6) { + var a = parseInt(e.substr(t + 4, 2), 16); + r += String.fromCharCode(((31 & n) << 6) | (63 & a)); + } else r += e.substr(t, 6); + t += 6; + } else if (n >= 224) { + if (o - t >= 9) { + var i = parseInt(e.substr(t + 4, 2), 16), + s = parseInt(e.substr(t + 7, 2), 16); + r += String.fromCharCode(((15 & n) << 12) | ((63 & i) << 6) | (63 & s)); + } else r += e.substr(t, 9); + t += 9; + } else (r += e.substr(t, 3)), (t += 3); + } + return r; + } + function O(e, r) { + function t(e) { + var t = x(e); + return t.match(r.UNRESERVED) ? t : e; + } + return ( + e.scheme && + (e.scheme = String(e.scheme).replace(r.PCT_ENCODED, t).toLowerCase().replace(r.NOT_SCHEME, "")), + void 0 !== e.userinfo && + (e.userinfo = String(e.userinfo) + .replace(r.PCT_ENCODED, t) + .replace(r.NOT_USERINFO, b) + .replace(r.PCT_ENCODED, n)), + void 0 !== e.host && + (e.host = String(e.host) + .replace(r.PCT_ENCODED, t) + .toLowerCase() + .replace(r.NOT_HOST, b) + .replace(r.PCT_ENCODED, n)), + void 0 !== e.path && + (e.path = String(e.path) + .replace(r.PCT_ENCODED, t) + .replace(e.scheme ? r.NOT_PATH : r.NOT_PATH_NOSCHEME, b) + .replace(r.PCT_ENCODED, n)), + void 0 !== e.query && + (e.query = String(e.query).replace(r.PCT_ENCODED, t).replace(r.NOT_QUERY, b).replace(r.PCT_ENCODED, n)), + void 0 !== e.fragment && + (e.fragment = String(e.fragment) + .replace(r.PCT_ENCODED, t) + .replace(r.NOT_FRAGMENT, b) + .replace(r.PCT_ENCODED, n)), + e + ); + } + function N(e) { + return e.replace(/^0*(.*)/, "$1") || "0"; + } + function I(e, r) { + var t = e.match(r.IPV4ADDRESS) || [], + o = u(t, 2)[1]; + return o ? o.split(".").map(N).join(".") : e; + } + function F(e, r) { + var t = e.match(r.IPV6ADDRESS) || [], + o = u(t, 3), + n = o[1], + a = o[2]; + if (n) { + for ( + var i = n.toLowerCase().split("::").reverse(), + s = u(i, 2), + c = s[0], + p = s[1], + h = p ? p.split(":").map(N) : [], + f = c.split(":").map(N), + l = r.IPV4ADDRESS.test(f[f.length - 1]), + v = l ? 7 : 8, + d = f.length - v, + m = Array(v), + g = 0; + g < v; + ++g + ) + m[g] = h[g] || f[d + g] || ""; + l && (m[v - 1] = I(m[v - 1], r)); + var E = m + .reduce(function (e, r, t) { + if (!r || "0" === r) { + var o = e[e.length - 1]; + o && o.index + o.length === t ? o.length++ : e.push({ index: t, length: 1 }); + } + return e; + }, []) + .sort(function (e, r) { + return r.length - e.length; + })[0], + C = void 0; + if (E && E.length > 1) { + var y = m.slice(0, E.index), + S = m.slice(E.index + E.length); + C = y.join(":") + "::" + S.join(":"); + } else C = m.join(":"); + return a && (C += "%" + a), C; + } + return e; + } + var R = + /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i, + T = void 0 === "".match(/(){0}/)[1]; + function _(e) { + var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + t = {}, + o = !1 !== r.iri ? s : i; + "suffix" === r.reference && (e = (r.scheme ? r.scheme + ":" : "") + "//" + e); + var n = e.match(R); + if (n) { + T + ? ((t.scheme = n[1]), + (t.userinfo = n[3]), + (t.host = n[4]), + (t.port = parseInt(n[5], 10)), + (t.path = n[6] || ""), + (t.query = n[7]), + (t.fragment = n[8]), + isNaN(t.port) && (t.port = n[5])) + : ((t.scheme = n[1] || void 0), + (t.userinfo = -1 !== e.indexOf("@") ? n[3] : void 0), + (t.host = -1 !== e.indexOf("//") ? n[4] : void 0), + (t.port = parseInt(n[5], 10)), + (t.path = n[6] || ""), + (t.query = -1 !== e.indexOf("?") ? n[7] : void 0), + (t.fragment = -1 !== e.indexOf("#") ? n[8] : void 0), + isNaN(t.port) && (t.port = e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? n[4] : void 0)), + t.host && (t.host = F(I(t.host, o), o)), + void 0 !== t.scheme || + void 0 !== t.userinfo || + void 0 !== t.host || + void 0 !== t.port || + t.path || + void 0 !== t.query + ? void 0 === t.scheme + ? (t.reference = "relative") + : void 0 === t.fragment + ? (t.reference = "absolute") + : (t.reference = "uri") + : (t.reference = "same-document"), + r.reference && + "suffix" !== r.reference && + r.reference !== t.reference && + (t.error = t.error || "URI is not a " + r.reference + " reference."); + var a = w[(r.scheme || t.scheme || "").toLowerCase()]; + if (r.unicodeSupport || (a && a.unicodeSupport)) O(t, o); + else { + if (t.host && (r.domainHost || (a && a.domainHost))) + try { + t.host = D.toASCII(t.host.replace(o.PCT_ENCODED, x).toLowerCase()); + } catch (e) { + t.error = t.error || "Host's domain name can not be converted to ASCII via punycode: " + e; + } + O(t, i); + } + a && a.parse && a.parse(t, r); + } else t.error = t.error || "URI can not be parsed."; + return t; + } + var P = /^\.\.?\//, + q = /^\/\.(\/|$)/, + U = /^\/\.\.(\/|$)/, + j = /^\/?(?:.|\n)*?(?=\/|$)/; + function H(e) { + for (var r = []; e.length; ) + if (e.match(P)) e = e.replace(P, ""); + else if (e.match(q)) e = e.replace(q, "/"); + else if (e.match(U)) (e = e.replace(U, "/")), r.pop(); + else if ("." === e || ".." === e) e = ""; + else { + var t = e.match(j); + if (!t) throw new Error("Unexpected dot segment condition"); + var o = t[0]; + (e = e.slice(o.length)), r.push(o); + } + return r.join(""); + } + function z(e) { + var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + t = r.iri ? s : i, + o = [], + n = w[(r.scheme || e.scheme || "").toLowerCase()]; + if ((n && n.serialize && n.serialize(e, r), e.host)) + if (t.IPV6ADDRESS.test(e.host)); + else if (r.domainHost || (n && n.domainHost)) + try { + e.host = r.iri ? D.toUnicode(e.host) : D.toASCII(e.host.replace(t.PCT_ENCODED, x).toLowerCase()); + } catch (t) { + e.error = + e.error || + "Host's domain name can not be converted to " + + (r.iri ? "Unicode" : "ASCII") + + " via punycode: " + + t; + } + O(e, t), "suffix" !== r.reference && e.scheme && (o.push(e.scheme), o.push(":")); + var a = (function (e, r) { + var t = !1 !== r.iri ? s : i, + o = []; + return ( + void 0 !== e.userinfo && (o.push(e.userinfo), o.push("@")), + void 0 !== e.host && + o.push( + F(I(String(e.host), t), t).replace(t.IPV6ADDRESS, function (e, r, t) { + return "[" + r + (t ? "%25" + t : "") + "]"; + }), + ), + ("number" != typeof e.port && "string" != typeof e.port) || (o.push(":"), o.push(String(e.port))), + o.length ? o.join("") : void 0 + ); + })(e, r); + if ( + (void 0 !== a && + ("suffix" !== r.reference && o.push("//"), + o.push(a), + e.path && "/" !== e.path.charAt(0) && o.push("/")), + void 0 !== e.path) + ) { + var u = e.path; + r.absolutePath || (n && n.absolutePath) || (u = H(u)), + void 0 === a && (u = u.replace(/^\/\//, "/%2F")), + o.push(u); + } + return ( + void 0 !== e.query && (o.push("?"), o.push(e.query)), + void 0 !== e.fragment && (o.push("#"), o.push(e.fragment)), + o.join("") + ); + } + function L(e, r) { + var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, + o = {}; + return ( + arguments[3] || ((e = _(z(e, t), t)), (r = _(z(r, t), t))), + !(t = t || {}).tolerant && r.scheme + ? ((o.scheme = r.scheme), + (o.userinfo = r.userinfo), + (o.host = r.host), + (o.port = r.port), + (o.path = H(r.path || "")), + (o.query = r.query)) + : (void 0 !== r.userinfo || void 0 !== r.host || void 0 !== r.port + ? ((o.userinfo = r.userinfo), + (o.host = r.host), + (o.port = r.port), + (o.path = H(r.path || "")), + (o.query = r.query)) + : (r.path + ? ("/" === r.path.charAt(0) + ? (o.path = H(r.path)) + : ((void 0 === e.userinfo && void 0 === e.host && void 0 === e.port) || e.path + ? e.path + ? (o.path = e.path.slice(0, e.path.lastIndexOf("/") + 1) + r.path) + : (o.path = r.path) + : (o.path = "/" + r.path), + (o.path = H(o.path))), + (o.query = r.query)) + : ((o.path = e.path), void 0 !== r.query ? (o.query = r.query) : (o.query = e.query)), + (o.userinfo = e.userinfo), + (o.host = e.host), + (o.port = e.port)), + (o.scheme = e.scheme)), + (o.fragment = r.fragment), + o + ); + } + function $(e, r) { + return e && e.toString().replace(r && r.iri ? s.PCT_ENCODED : i.PCT_ENCODED, x); + } + var V = { + scheme: "http", + domainHost: !0, + parse: function (e, r) { + return e.host || (e.error = e.error || "HTTP URIs must have a host."), e; + }, + serialize: function (e, r) { + var t = "https" === String(e.scheme).toLowerCase(); + return (e.port !== (t ? 443 : 80) && "" !== e.port) || (e.port = void 0), e.path || (e.path = "/"), e; + }, + }, + M = { scheme: "https", domainHost: V.domainHost, parse: V.parse, serialize: V.serialize }; + function Z(e) { + return "boolean" == typeof e.secure ? e.secure : "wss" === String(e.scheme).toLowerCase(); + } + var k = { + scheme: "ws", + domainHost: !0, + parse: function (e, r) { + var t = e; + return ( + (t.secure = Z(t)), + (t.resourceName = (t.path || "/") + (t.query ? "?" + t.query : "")), + (t.path = void 0), + (t.query = void 0), + t + ); + }, + serialize: function (e, r) { + if ( + ((e.port !== (Z(e) ? 443 : 80) && "" !== e.port) || (e.port = void 0), + "boolean" == typeof e.secure && ((e.scheme = e.secure ? "wss" : "ws"), (e.secure = void 0)), + e.resourceName) + ) { + var t = e.resourceName.split("?"), + o = u(t, 2), + n = o[0], + a = o[1]; + (e.path = n && "/" !== n ? n : void 0), (e.query = a), (e.resourceName = void 0); + } + return (e.fragment = void 0), e; + }, + }, + G = { scheme: "wss", domainHost: k.domainHost, parse: k.parse, serialize: k.serialize }, + Q = {}, + Y = "[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]", + B = "[0-9A-Fa-f]", + J = t( + t("%[EFef][0-9A-Fa-f]%" + B + B + "%" + B + B) + + "|" + + t("%[89A-Fa-f][0-9A-Fa-f]%" + B + B) + + "|" + + t("%" + B + B), + ), + K = r("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]", '[\\"\\\\]'), + W = new RegExp(Y, "g"), + X = new RegExp(J, "g"), + ee = new RegExp( + r("[^]", "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]", "[\\.]", '[\\"]', K), + "g", + ), + re = new RegExp(r("[^]", Y, "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"), "g"), + te = re; + function oe(e) { + var r = x(e); + return r.match(W) ? r : e; + } + var ne = { + scheme: "mailto", + parse: function (e, r) { + var t = e, + o = (t.to = t.path ? t.path.split(",") : []); + if (((t.path = void 0), t.query)) { + for (var n = !1, a = {}, i = t.query.split("&"), s = 0, u = i.length; s < u; ++s) { + var c = i[s].split("="); + switch (c[0]) { + case "to": + for (var p = c[1].split(","), h = 0, f = p.length; h < f; ++h) o.push(p[h]); + break; + case "subject": + t.subject = $(c[1], r); + break; + case "body": + t.body = $(c[1], r); + break; + default: + (n = !0), (a[$(c[0], r)] = $(c[1], r)); + } + } + n && (t.headers = a); + } + t.query = void 0; + for (var l = 0, v = o.length; l < v; ++l) { + var d = o[l].split("@"); + if (((d[0] = $(d[0])), r.unicodeSupport)) d[1] = $(d[1], r).toLowerCase(); + else + try { + d[1] = D.toASCII($(d[1], r).toLowerCase()); + } catch (e) { + t.error = + t.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; + } + o[l] = d.join("@"); + } + return t; + }, + serialize: function (e, r) { + var t, + o = e, + a = + null != (t = e.to) + ? t instanceof Array + ? t + : "number" != typeof t.length || t.split || t.setInterval || t.call + ? [t] + : Array.prototype.slice.call(t) + : []; + if (a) { + for (var i = 0, s = a.length; i < s; ++i) { + var u = String(a[i]), + c = u.lastIndexOf("@"), + p = u.slice(0, c).replace(X, oe).replace(X, n).replace(ee, b), + h = u.slice(c + 1); + try { + h = r.iri ? D.toUnicode(h) : D.toASCII($(h, r).toLowerCase()); + } catch (e) { + o.error = + o.error || + "Email address's domain name can not be converted to " + + (r.iri ? "Unicode" : "ASCII") + + " via punycode: " + + e; + } + a[i] = p + "@" + h; + } + o.path = a.join(","); + } + var f = (e.headers = e.headers || {}); + e.subject && (f.subject = e.subject), e.body && (f.body = e.body); + var l = []; + for (var v in f) + f[v] !== Q[v] && + l.push( + v.replace(X, oe).replace(X, n).replace(re, b) + + "=" + + f[v].replace(X, oe).replace(X, n).replace(te, b), + ); + return l.length && (o.query = l.join("&")), o; + }, + }, + ae = /^([^\:]+)\:(.*)/, + ie = { + scheme: "urn", + parse: function (e, r) { + var t = e.path && e.path.match(ae), + o = e; + if (t) { + var n = r.scheme || o.scheme || "urn", + a = t[1].toLowerCase(), + i = t[2], + s = n + ":" + (r.nid || a), + u = w[s]; + (o.nid = a), (o.nss = i), (o.path = void 0), u && (o = u.parse(o, r)); + } else o.error = o.error || "URN can not be parsed."; + return o; + }, + serialize: function (e, r) { + var t = r.scheme || e.scheme || "urn", + o = e.nid, + n = t + ":" + (r.nid || o), + a = w[n]; + a && (e = a.serialize(e, r)); + var i = e, + s = e.nss; + return (i.path = (o || r.nid) + ":" + s), i; + }, + }, + se = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/, + ue = { + scheme: "urn:uuid", + parse: function (e, r) { + var t = e; + return ( + (t.uuid = t.nss), + (t.nss = void 0), + r.tolerant || (t.uuid && t.uuid.match(se)) || (t.error = t.error || "UUID is not valid."), + t + ); + }, + serialize: function (e, r) { + var t = e; + return (t.nss = (e.uuid || "").toLowerCase()), t; + }, + }; + (w[V.scheme] = V), + (w[M.scheme] = M), + (w[k.scheme] = k), + (w[G.scheme] = G), + (w[ne.scheme] = ne), + (w[ie.scheme] = ie), + (w[ue.scheme] = ue), + (e.SCHEMES = w), + (e.pctEncChar = b), + (e.pctDecChars = x), + (e.parse = _), + (e.removeDotSegments = H), + (e.serialize = z), + (e.resolveComponents = L), + (e.resolve = function (e, r, t) { + var o = (function (e, r) { + var t = e; + if (r) for (var o in r) t[o] = r[o]; + return t; + })({ scheme: "null" }, t); + return z(L(_(e, o), _(r, o), o, !0), o); + }), + (e.normalize = function (e, r) { + return "string" == typeof e ? (e = z(_(e, r), r)) : "object" === o(e) && (e = _(z(e, r), r)), e; + }), + (e.equal = function (e, r, t) { + return ( + "string" == typeof e ? (e = z(_(e, t), t)) : "object" === o(e) && (e = z(e, t)), + "string" == typeof r ? (r = z(_(r, t), t)) : "object" === o(r) && (r = z(r, t)), + e === r + ); + }), + (e.escapeComponent = function (e, r) { + return e && e.toString().replace(r && r.iri ? s.ESCAPE : i.ESCAPE, b); + }), + (e.unescapeComponent = $), + Object.defineProperty(e, "__esModule", { value: !0 }); + }); + }, + {}, + ], + 199: [ + function (require, module, exports) { + "use strict"; + var punycode = require("punycode"), + util = require("./util"); + function Url() { + (this.protocol = null), + (this.slashes = null), + (this.auth = null), + (this.host = null), + (this.port = null), + (this.hostname = null), + (this.hash = null), + (this.search = null), + (this.query = null), + (this.pathname = null), + (this.path = null), + (this.href = null); + } + (exports.parse = urlParse), + (exports.resolve = urlResolve), + (exports.resolveObject = urlResolveObject), + (exports.format = urlFormat), + (exports.Url = Url); + var protocolPattern = /^([a-z0-9.+-]+:)/i, + portPattern = /:[0-9]*$/, + simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, + delims = ["<", ">", '"', "`", " ", "\r", "\n", "\t"], + unwise = ["{", "}", "|", "\\", "^", "`"].concat(delims), + autoEscape = ["'"].concat(unwise), + nonHostChars = ["%", "/", "?", ";", "#"].concat(autoEscape), + hostEndingChars = ["/", "?", "#"], + hostnameMaxLen = 255, + hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, + hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, + unsafeProtocol = { javascript: !0, "javascript:": !0 }, + hostlessProtocol = { javascript: !0, "javascript:": !0 }, + slashedProtocol = { + http: !0, + https: !0, + ftp: !0, + gopher: !0, + file: !0, + "http:": !0, + "https:": !0, + "ftp:": !0, + "gopher:": !0, + "file:": !0, + }, + querystring = require("querystring"); + function urlParse(t, s, e) { + if (t && util.isObject(t) && t instanceof Url) return t; + var h = new Url(); + return h.parse(t, s, e), h; + } + function urlFormat(t) { + return util.isString(t) && (t = urlParse(t)), t instanceof Url ? t.format() : Url.prototype.format.call(t); + } + function urlResolve(t, s) { + return urlParse(t, !1, !0).resolve(s); + } + function urlResolveObject(t, s) { + return t ? urlParse(t, !1, !0).resolveObject(s) : s; + } + (Url.prototype.parse = function (t, s, e) { + if (!util.isString(t)) throw new TypeError("Parameter 'url' must be a string, not " + typeof t); + var h = t.indexOf("?"), + r = -1 !== h && h < t.indexOf("#") ? "?" : "#", + a = t.split(r); + a[0] = a[0].replace(/\\/g, "/"); + var o = (t = a.join(r)); + if (((o = o.trim()), !e && 1 === t.split("#").length)) { + var n = simplePathPattern.exec(o); + if (n) + return ( + (this.path = o), + (this.href = o), + (this.pathname = n[1]), + n[2] + ? ((this.search = n[2]), + (this.query = s ? querystring.parse(this.search.substr(1)) : this.search.substr(1))) + : s && ((this.search = ""), (this.query = {})), + this + ); + } + var i = protocolPattern.exec(o); + if (i) { + var l = (i = i[0]).toLowerCase(); + (this.protocol = l), (o = o.substr(i.length)); + } + if (e || i || o.match(/^\/\/[^@\/]+@[^@\/]+/)) { + var u = "//" === o.substr(0, 2); + !u || (i && hostlessProtocol[i]) || ((o = o.substr(2)), (this.slashes = !0)); + } + if (!hostlessProtocol[i] && (u || (i && !slashedProtocol[i]))) { + for (var p, c, f = -1, m = 0; m < hostEndingChars.length; m++) { + -1 !== (v = o.indexOf(hostEndingChars[m])) && (-1 === f || v < f) && (f = v); + } + -1 !== (c = -1 === f ? o.lastIndexOf("@") : o.lastIndexOf("@", f)) && + ((p = o.slice(0, c)), (o = o.slice(c + 1)), (this.auth = decodeURIComponent(p))), + (f = -1); + for (m = 0; m < nonHostChars.length; m++) { + var v; + -1 !== (v = o.indexOf(nonHostChars[m])) && (-1 === f || v < f) && (f = v); + } + -1 === f && (f = o.length), + (this.host = o.slice(0, f)), + (o = o.slice(f)), + this.parseHost(), + (this.hostname = this.hostname || ""); + var g = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1]; + if (!g) + for (var y = this.hostname.split(/\./), P = ((m = 0), y.length); m < P; m++) { + var d = y[m]; + if (d && !d.match(hostnamePartPattern)) { + for (var b = "", q = 0, O = d.length; q < O; q++) d.charCodeAt(q) > 127 ? (b += "x") : (b += d[q]); + if (!b.match(hostnamePartPattern)) { + var j = y.slice(0, m), + x = y.slice(m + 1), + U = d.match(hostnamePartStart); + U && (j.push(U[1]), x.unshift(U[2])), + x.length && (o = "/" + x.join(".") + o), + (this.hostname = j.join(".")); + break; + } + } + } + this.hostname.length > hostnameMaxLen + ? (this.hostname = "") + : (this.hostname = this.hostname.toLowerCase()), + g || (this.hostname = punycode.toASCII(this.hostname)); + var C = this.port ? ":" + this.port : "", + A = this.hostname || ""; + (this.host = A + C), + (this.href += this.host), + g && ((this.hostname = this.hostname.substr(1, this.hostname.length - 2)), "/" !== o[0] && (o = "/" + o)); + } + if (!unsafeProtocol[l]) + for (m = 0, P = autoEscape.length; m < P; m++) { + var w = autoEscape[m]; + if (-1 !== o.indexOf(w)) { + var E = encodeURIComponent(w); + E === w && (E = escape(w)), (o = o.split(w).join(E)); + } + } + var I = o.indexOf("#"); + -1 !== I && ((this.hash = o.substr(I)), (o = o.slice(0, I))); + var R = o.indexOf("?"); + if ( + (-1 !== R + ? ((this.search = o.substr(R)), + (this.query = o.substr(R + 1)), + s && (this.query = querystring.parse(this.query)), + (o = o.slice(0, R))) + : s && ((this.search = ""), (this.query = {})), + o && (this.pathname = o), + slashedProtocol[l] && this.hostname && !this.pathname && (this.pathname = "/"), + this.pathname || this.search) + ) { + C = this.pathname || ""; + var S = this.search || ""; + this.path = C + S; + } + return (this.href = this.format()), this; + }), + (Url.prototype.format = function () { + var t = this.auth || ""; + t && ((t = (t = encodeURIComponent(t)).replace(/%3A/i, ":")), (t += "@")); + var s = this.protocol || "", + e = this.pathname || "", + h = this.hash || "", + r = !1, + a = ""; + this.host + ? (r = t + this.host) + : this.hostname && + ((r = t + (-1 === this.hostname.indexOf(":") ? this.hostname : "[" + this.hostname + "]")), + this.port && (r += ":" + this.port)), + this.query && + util.isObject(this.query) && + Object.keys(this.query).length && + (a = querystring.stringify(this.query)); + var o = this.search || (a && "?" + a) || ""; + return ( + s && ":" !== s.substr(-1) && (s += ":"), + this.slashes || ((!s || slashedProtocol[s]) && !1 !== r) + ? ((r = "//" + (r || "")), e && "/" !== e.charAt(0) && (e = "/" + e)) + : r || (r = ""), + h && "#" !== h.charAt(0) && (h = "#" + h), + o && "?" !== o.charAt(0) && (o = "?" + o), + s + + r + + (e = e.replace(/[?#]/g, function (t) { + return encodeURIComponent(t); + })) + + (o = o.replace("#", "%23")) + + h + ); + }), + (Url.prototype.resolve = function (t) { + return this.resolveObject(urlParse(t, !1, !0)).format(); + }), + (Url.prototype.resolveObject = function (t) { + if (util.isString(t)) { + var s = new Url(); + s.parse(t, !1, !0), (t = s); + } + for (var e = new Url(), h = Object.keys(this), r = 0; r < h.length; r++) { + var a = h[r]; + e[a] = this[a]; + } + if (((e.hash = t.hash), "" === t.href)) return (e.href = e.format()), e; + if (t.slashes && !t.protocol) { + for (var o = Object.keys(t), n = 0; n < o.length; n++) { + var i = o[n]; + "protocol" !== i && (e[i] = t[i]); + } + return ( + slashedProtocol[e.protocol] && e.hostname && !e.pathname && (e.path = e.pathname = "/"), + (e.href = e.format()), + e + ); + } + if (t.protocol && t.protocol !== e.protocol) { + if (!slashedProtocol[t.protocol]) { + for (var l = Object.keys(t), u = 0; u < l.length; u++) { + var p = l[u]; + e[p] = t[p]; + } + return (e.href = e.format()), e; + } + if (((e.protocol = t.protocol), t.host || hostlessProtocol[t.protocol])) e.pathname = t.pathname; + else { + for (var c = (t.pathname || "").split("/"); c.length && !(t.host = c.shift()); ); + t.host || (t.host = ""), + t.hostname || (t.hostname = ""), + "" !== c[0] && c.unshift(""), + c.length < 2 && c.unshift(""), + (e.pathname = c.join("/")); + } + if ( + ((e.search = t.search), + (e.query = t.query), + (e.host = t.host || ""), + (e.auth = t.auth), + (e.hostname = t.hostname || t.host), + (e.port = t.port), + e.pathname || e.search) + ) { + var f = e.pathname || "", + m = e.search || ""; + e.path = f + m; + } + return (e.slashes = e.slashes || t.slashes), (e.href = e.format()), e; + } + var v = e.pathname && "/" === e.pathname.charAt(0), + g = t.host || (t.pathname && "/" === t.pathname.charAt(0)), + y = g || v || (e.host && t.pathname), + P = y, + d = (e.pathname && e.pathname.split("/")) || [], + b = ((c = (t.pathname && t.pathname.split("/")) || []), e.protocol && !slashedProtocol[e.protocol]); + if ( + (b && + ((e.hostname = ""), + (e.port = null), + e.host && ("" === d[0] ? (d[0] = e.host) : d.unshift(e.host)), + (e.host = ""), + t.protocol && + ((t.hostname = null), + (t.port = null), + t.host && ("" === c[0] ? (c[0] = t.host) : c.unshift(t.host)), + (t.host = null)), + (y = y && ("" === c[0] || "" === d[0]))), + g) + ) + (e.host = t.host || "" === t.host ? t.host : e.host), + (e.hostname = t.hostname || "" === t.hostname ? t.hostname : e.hostname), + (e.search = t.search), + (e.query = t.query), + (d = c); + else if (c.length) d || (d = []), d.pop(), (d = d.concat(c)), (e.search = t.search), (e.query = t.query); + else if (!util.isNullOrUndefined(t.search)) { + if (b) + (e.hostname = e.host = d.shift()), + (U = !!(e.host && e.host.indexOf("@") > 0) && e.host.split("@")) && + ((e.auth = U.shift()), (e.host = e.hostname = U.shift())); + return ( + (e.search = t.search), + (e.query = t.query), + (util.isNull(e.pathname) && util.isNull(e.search)) || + (e.path = (e.pathname ? e.pathname : "") + (e.search ? e.search : "")), + (e.href = e.format()), + e + ); + } + if (!d.length) + return ( + (e.pathname = null), e.search ? (e.path = "/" + e.search) : (e.path = null), (e.href = e.format()), e + ); + for ( + var q = d.slice(-1)[0], + O = ((e.host || t.host || d.length > 1) && ("." === q || ".." === q)) || "" === q, + j = 0, + x = d.length; + x >= 0; + x-- + ) + "." === (q = d[x]) ? d.splice(x, 1) : ".." === q ? (d.splice(x, 1), j++) : j && (d.splice(x, 1), j--); + if (!y && !P) for (; j--; j) d.unshift(".."); + !y || "" === d[0] || (d[0] && "/" === d[0].charAt(0)) || d.unshift(""), + O && "/" !== d.join("/").substr(-1) && d.push(""); + var U, + C = "" === d[0] || (d[0] && "/" === d[0].charAt(0)); + b && + ((e.hostname = e.host = C ? "" : d.length ? d.shift() : ""), + (U = !!(e.host && e.host.indexOf("@") > 0) && e.host.split("@")) && + ((e.auth = U.shift()), (e.host = e.hostname = U.shift()))); + return ( + (y = y || (e.host && d.length)) && !C && d.unshift(""), + d.length ? (e.pathname = d.join("/")) : ((e.pathname = null), (e.path = null)), + (util.isNull(e.pathname) && util.isNull(e.search)) || + (e.path = (e.pathname ? e.pathname : "") + (e.search ? e.search : "")), + (e.auth = t.auth || e.auth), + (e.slashes = e.slashes || t.slashes), + (e.href = e.format()), + e + ); + }), + (Url.prototype.parseHost = function () { + var t = this.host, + s = portPattern.exec(t); + s && (":" !== (s = s[0]) && (this.port = s.substr(1)), (t = t.substr(0, t.length - s.length))), + t && (this.hostname = t); + }); + }, + { "./util": 200, punycode: 173, querystring: 176 }, + ], + 200: [ + function (require, module, exports) { + "use strict"; + module.exports = { + isString: function (n) { + return "string" == typeof n; + }, + isObject: function (n) { + return "object" == typeof n && null !== n; + }, + isNull: function (n) { + return null === n; + }, + isNullOrUndefined: function (n) { + return null == n; + }, + }; + }, + {}, + ], + 201: [ + function (require, module, exports) { + (function (global) { + (function () { + function deprecate(r, e) { + if (config("noDeprecation")) return r; + var o = !1; + return function () { + if (!o) { + if (config("throwDeprecation")) throw new Error(e); + config("traceDeprecation") ? console.trace(e) : console.warn(e), (o = !0); + } + return r.apply(this, arguments); + }; + } + function config(r) { + try { + if (!global.localStorage) return !1; + } catch (r) { + return !1; + } + var e = global.localStorage[r]; + return null != e && "true" === String(e).toLowerCase(); + } + module.exports = deprecate; + }).call(this); + }).call( + this, + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + {}, + ], + 202: [ + function (require, module, exports) { + "function" == typeof Object.create + ? (module.exports = function (t, e) { + (t.super_ = e), + (t.prototype = Object.create(e.prototype, { + constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 }, + })); + }) + : (module.exports = function (t, e) { + t.super_ = e; + var o = function () {}; + (o.prototype = e.prototype), (t.prototype = new o()), (t.prototype.constructor = t); + }); + }, + {}, + ], + 203: [ + function (require, module, exports) { + module.exports = function (o) { + return ( + o && + "object" == typeof o && + "function" == typeof o.copy && + "function" == typeof o.fill && + "function" == typeof o.readUInt8 + ); + }; + }, + {}, + ], + 204: [ + function (require, module, exports) { + (function (process, global) { + (function () { + var formatRegExp = /%[sdj%]/g; + (exports.format = function (e) { + if (!isString(e)) { + for (var r = [], t = 0; t < arguments.length; t++) r.push(inspect(arguments[t])); + return r.join(" "); + } + t = 1; + for ( + var n = arguments, + i = n.length, + o = String(e).replace(formatRegExp, function (e) { + if ("%%" === e) return "%"; + if (t >= i) return e; + switch (e) { + case "%s": + return String(n[t++]); + case "%d": + return Number(n[t++]); + case "%j": + try { + return JSON.stringify(n[t++]); + } catch (e) { + return "[Circular]"; + } + default: + return e; + } + }), + s = n[t]; + t < i; + s = n[++t] + ) + isNull(s) || !isObject(s) ? (o += " " + s) : (o += " " + inspect(s)); + return o; + }), + (exports.deprecate = function (e, r) { + if (isUndefined(global.process)) + return function () { + return exports.deprecate(e, r).apply(this, arguments); + }; + if (!0 === process.noDeprecation) return e; + var t = !1; + return function () { + if (!t) { + if (process.throwDeprecation) throw new Error(r); + process.traceDeprecation ? console.trace(r) : console.error(r), (t = !0); + } + return e.apply(this, arguments); + }; + }); + var debugEnviron, + debugs = {}; + function inspect(e, r) { + var t = { seen: [], stylize: stylizeNoColor }; + return ( + arguments.length >= 3 && (t.depth = arguments[2]), + arguments.length >= 4 && (t.colors = arguments[3]), + isBoolean(r) ? (t.showHidden = r) : r && exports._extend(t, r), + isUndefined(t.showHidden) && (t.showHidden = !1), + isUndefined(t.depth) && (t.depth = 2), + isUndefined(t.colors) && (t.colors = !1), + isUndefined(t.customInspect) && (t.customInspect = !0), + t.colors && (t.stylize = stylizeWithColor), + formatValue(t, e, t.depth) + ); + } + function stylizeWithColor(e, r) { + var t = inspect.styles[r]; + return t ? "[" + inspect.colors[t][0] + "m" + e + "[" + inspect.colors[t][1] + "m" : e; + } + function stylizeNoColor(e, r) { + return e; + } + function arrayToHash(e) { + var r = {}; + return ( + e.forEach(function (e, t) { + r[e] = !0; + }), + r + ); + } + function formatValue(e, r, t) { + if ( + e.customInspect && + r && + isFunction(r.inspect) && + r.inspect !== exports.inspect && + (!r.constructor || r.constructor.prototype !== r) + ) { + var n = r.inspect(t, e); + return isString(n) || (n = formatValue(e, n, t)), n; + } + var i = formatPrimitive(e, r); + if (i) return i; + var o = Object.keys(r), + s = arrayToHash(o); + if ( + (e.showHidden && (o = Object.getOwnPropertyNames(r)), + isError(r) && (o.indexOf("message") >= 0 || o.indexOf("description") >= 0)) + ) + return formatError(r); + if (0 === o.length) { + if (isFunction(r)) { + var u = r.name ? ": " + r.name : ""; + return e.stylize("[Function" + u + "]", "special"); + } + if (isRegExp(r)) return e.stylize(RegExp.prototype.toString.call(r), "regexp"); + if (isDate(r)) return e.stylize(Date.prototype.toString.call(r), "date"); + if (isError(r)) return formatError(r); + } + var c, + a = "", + l = !1, + p = ["{", "}"]; + (isArray(r) && ((l = !0), (p = ["[", "]"])), isFunction(r)) && + (a = " [Function" + (r.name ? ": " + r.name : "") + "]"); + return ( + isRegExp(r) && (a = " " + RegExp.prototype.toString.call(r)), + isDate(r) && (a = " " + Date.prototype.toUTCString.call(r)), + isError(r) && (a = " " + formatError(r)), + 0 !== o.length || (l && 0 != r.length) + ? t < 0 + ? isRegExp(r) + ? e.stylize(RegExp.prototype.toString.call(r), "regexp") + : e.stylize("[Object]", "special") + : (e.seen.push(r), + (c = l + ? formatArray(e, r, t, s, o) + : o.map(function (n) { + return formatProperty(e, r, t, s, n, l); + })), + e.seen.pop(), + reduceToSingleString(c, a, p)) + : p[0] + a + p[1] + ); + } + function formatPrimitive(e, r) { + if (isUndefined(r)) return e.stylize("undefined", "undefined"); + if (isString(r)) { + var t = "'" + JSON.stringify(r).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'"; + return e.stylize(t, "string"); + } + return isNumber(r) + ? e.stylize("" + r, "number") + : isBoolean(r) + ? e.stylize("" + r, "boolean") + : isNull(r) + ? e.stylize("null", "null") + : void 0; + } + function formatError(e) { + return "[" + Error.prototype.toString.call(e) + "]"; + } + function formatArray(e, r, t, n, i) { + for (var o = [], s = 0, u = r.length; s < u; ++s) + hasOwnProperty(r, String(s)) ? o.push(formatProperty(e, r, t, n, String(s), !0)) : o.push(""); + return ( + i.forEach(function (i) { + i.match(/^\d+$/) || o.push(formatProperty(e, r, t, n, i, !0)); + }), + o + ); + } + function formatProperty(e, r, t, n, i, o) { + var s, u, c; + if ( + ((c = Object.getOwnPropertyDescriptor(r, i) || { value: r[i] }).get + ? (u = c.set ? e.stylize("[Getter/Setter]", "special") : e.stylize("[Getter]", "special")) + : c.set && (u = e.stylize("[Setter]", "special")), + hasOwnProperty(n, i) || (s = "[" + i + "]"), + u || + (e.seen.indexOf(c.value) < 0 + ? (u = isNull(t) ? formatValue(e, c.value, null) : formatValue(e, c.value, t - 1)).indexOf("\n") > + -1 && + (u = o + ? u + .split("\n") + .map(function (e) { + return " " + e; + }) + .join("\n") + .substr(2) + : "\n" + + u + .split("\n") + .map(function (e) { + return " " + e; + }) + .join("\n")) + : (u = e.stylize("[Circular]", "special"))), + isUndefined(s)) + ) { + if (o && i.match(/^\d+$/)) return u; + (s = JSON.stringify("" + i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) + ? ((s = s.substr(1, s.length - 2)), (s = e.stylize(s, "name"))) + : ((s = s + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'")), + (s = e.stylize(s, "string"))); + } + return s + ": " + u; + } + function reduceToSingleString(e, r, t) { + return e.reduce(function (e, r) { + return 0, r.indexOf("\n") >= 0 && 0, e + r.replace(/\u001b\[\d\d?m/g, "").length + 1; + }, 0) > 60 + ? t[0] + ("" === r ? "" : r + "\n ") + " " + e.join(",\n ") + " " + t[1] + : t[0] + r + " " + e.join(", ") + " " + t[1]; + } + function isArray(e) { + return Array.isArray(e); + } + function isBoolean(e) { + return "boolean" == typeof e; + } + function isNull(e) { + return null === e; + } + function isNullOrUndefined(e) { + return null == e; + } + function isNumber(e) { + return "number" == typeof e; + } + function isString(e) { + return "string" == typeof e; + } + function isSymbol(e) { + return "symbol" == typeof e; + } + function isUndefined(e) { + return void 0 === e; + } + function isRegExp(e) { + return isObject(e) && "[object RegExp]" === objectToString(e); + } + function isObject(e) { + return "object" == typeof e && null !== e; + } + function isDate(e) { + return isObject(e) && "[object Date]" === objectToString(e); + } + function isError(e) { + return isObject(e) && ("[object Error]" === objectToString(e) || e instanceof Error); + } + function isFunction(e) { + return "function" == typeof e; + } + function isPrimitive(e) { + return ( + null === e || + "boolean" == typeof e || + "number" == typeof e || + "string" == typeof e || + "symbol" == typeof e || + void 0 === e + ); + } + function objectToString(e) { + return Object.prototype.toString.call(e); + } + function pad(e) { + return e < 10 ? "0" + e.toString(10) : e.toString(10); + } + (exports.debuglog = function (e) { + if ( + (isUndefined(debugEnviron) && (debugEnviron = process.env.NODE_DEBUG || ""), + (e = e.toUpperCase()), + !debugs[e]) + ) + if (new RegExp("\\b" + e + "\\b", "i").test(debugEnviron)) { + var r = process.pid; + debugs[e] = function () { + var t = exports.format.apply(exports, arguments); + console.error("%s %d: %s", e, r, t); + }; + } else debugs[e] = function () {}; + return debugs[e]; + }), + (exports.inspect = inspect), + (inspect.colors = { + bold: [1, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + white: [37, 39], + grey: [90, 39], + black: [30, 39], + blue: [34, 39], + cyan: [36, 39], + green: [32, 39], + magenta: [35, 39], + red: [31, 39], + yellow: [33, 39], + }), + (inspect.styles = { + special: "cyan", + number: "yellow", + boolean: "yellow", + undefined: "grey", + null: "bold", + string: "green", + date: "magenta", + regexp: "red", + }), + (exports.isArray = isArray), + (exports.isBoolean = isBoolean), + (exports.isNull = isNull), + (exports.isNullOrUndefined = isNullOrUndefined), + (exports.isNumber = isNumber), + (exports.isString = isString), + (exports.isSymbol = isSymbol), + (exports.isUndefined = isUndefined), + (exports.isRegExp = isRegExp), + (exports.isObject = isObject), + (exports.isDate = isDate), + (exports.isError = isError), + (exports.isFunction = isFunction), + (exports.isPrimitive = isPrimitive), + (exports.isBuffer = require("./support/isBuffer")); + var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + function timestamp() { + var e = new Date(), + r = [pad(e.getHours()), pad(e.getMinutes()), pad(e.getSeconds())].join(":"); + return [e.getDate(), months[e.getMonth()], r].join(" "); + } + function hasOwnProperty(e, r) { + return Object.prototype.hasOwnProperty.call(e, r); + } + (exports.log = function () { + console.log("%s - %s", timestamp(), exports.format.apply(exports, arguments)); + }), + (exports.inherits = require("inherits")), + (exports._extend = function (e, r) { + if (!r || !isObject(r)) return e; + for (var t = Object.keys(r), n = t.length; n--; ) e[t[n]] = r[t[n]]; + return e; + }); + }).call(this); + }).call( + this, + require("_process"), + typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : typeof window !== "undefined" + ? window + : {}, + ); + }, + { "./support/isBuffer": 203, _process: 172, inherits: 202 }, + ], + 205: [ + function (require, module, exports) { + module.exports = extend; + var hasOwnProperty = Object.prototype.hasOwnProperty; + function extend() { + for (var r = {}, e = 0; e < arguments.length; e++) { + var t = arguments[e]; + for (var n in t) hasOwnProperty.call(t, n) && (r[n] = t[n]); + } + return r; + } + }, + {}, + ], + 206: [ + function (require, module, exports) { + "use strict"; + let debug = "localhost" === location.hostname; + function analytics() { + debug || ("undefined" == typeof gtag && console.warn("Google Analytics is not enabled")); + } + (module.exports = analytics), + (analytics.trackEvent = function (e, t, n, a) { + try { + console.log("Analytics event: ", e, t, n, a), + debug || gtag("event", t, { event_category: e, event_label: n, value: a }); + } catch (e) { + analytics.trackError(e); + } + }), + (analytics.trackError = function (e) { + try { + console.error("Analytics error: ", e), + debug || + gtag("event", "exception", { name: e.name || "Error", description: e.message, stack: e.stack }); + } catch (t) { + console.error(e); + } + }); + }, + {}, + ], + 207: [ + function (require, module, exports) { + "use strict"; + const form = require("./form"), + analytics = require("./analytics"); + function dropdowns() { + setSelectedMethod(form.method.button.val()), + onChange(form.allow.menu, setAllowLabel), + onChange(form.refs.menu, setRefsLabel), + onChange(form.validate.menu, setValidateLabel), + trackCheckbox(form.allow.json), + trackCheckbox(form.allow.yaml), + trackCheckbox(form.allow.text), + trackCheckbox(form.allow.empty), + trackCheckbox(form.allow.unknown), + trackCheckbox(form.refs.external), + trackCheckbox(form.refs.circular), + trackCheckbox(form.validate.schema), + trackCheckbox(form.validate.spec), + form.method.menu.find("a").on("click", function (e) { + form.method.menu.dropdown("toggle"), e.stopPropagation(); + let t = $(this).data("value"); + setSelectedMethod(t), trackButtonLabel(t); + }); + } + function onChange(e, t) { + let a = e.parent(".dropdown"); + e.find("a").on("click", (e) => { + e.stopPropagation(); + }), + t(), + a.on("hidden.bs.dropdown", t), + a.on("shown.bs.dropdown", () => { + analytics.trackEvent("options", "shown", e.attr("id")); + }); + } + function setAllowLabel() { + let e = getCheckedAndUnchecked( + form.allow.json, + form.allow.yaml, + form.allow.text, + form.allow.empty, + form.allow.unknown, + ); + switch (e.checked.length) { + case 0: + form.allow.label.text("No file types allowed"); + break; + case 1: + form.allow.label.text("Only allow " + e.checked[0] + " files"); + break; + case 2: + form.allow.label.text("Only allow " + e.checked[0] + " and " + e.checked[1]); + break; + case 3: + form.allow.label.text("Don't allow " + e.unchecked[0] + " or " + e.unchecked[1]); + break; + case 4: + form.allow.label.text("Don't allow " + e.unchecked[0] + " files"); + break; + case 5: + form.allow.label.text("Allow all file types"); + } + } + function setRefsLabel() { + let e = getCheckedAndUnchecked(form.refs.external, form.refs.circular); + switch (e.checked.length) { + case 0: + form.refs.label.text("Only follow internal $refs"); + break; + case 1: + form.refs.label.text("Don't follow " + e.unchecked[0] + " $refs"); + break; + case 2: + form.refs.label.text("Follow all $refs"); + } + } + function setValidateLabel() { + let e = getCheckedAndUnchecked(form.validate.schema, form.validate.spec); + switch (e.checked.length) { + case 0: + form.validate.label.text("Don't validate anything"); + break; + case 1: + form.validate.label.text("Don't validate Swagger " + e.unchecked[0]); + break; + case 2: + form.validate.label.text("Validate everything"); + } + } + function setSelectedMethod(e) { + form.method.button.val(e.toLowerCase()), + (e = e[0].toUpperCase() + e.substr(1)), + form.method.button.text(e + " it!"), + form.tabs.url.text(e + " a URL"), + form.tabs.text.text(e + " Text"); + } + function trackCheckbox(e) { + e.on("change", () => { + let t = e.is(":checked") ? 1 : 0; + analytics.trackEvent("options", "changed", e.attr("name"), t); + }); + } + function trackButtonLabel(e) { + let t = ["", "parse", "resolve", "bundle", "dereference", "validate"].indexOf(e); + analytics.trackEvent("options", "changed", "method", t); + } + function getCheckedAndUnchecked(e) { + let t = [], + a = []; + for (let e = 0; e < arguments.length; e++) { + let o = arguments[e]; + o.is(":checked") ? t.push(o.data("value")) : a.push(o.data("value")); + } + return { checked: t, unchecked: a }; + } + module.exports = dropdowns; + }, + { "./analytics": 206, "./form": 209 }, + ], + 208: [ + function (require, module, exports) { + "use strict"; + const form = require("./form"), + ACE_THEME = "ace/theme/terminal"; + function editors() { + (editors.textBox = form.textBox = ace.edit("text-box")), form.textBox.setTheme(ACE_THEME); + let e = form.textBox.getSession(); + e.setMode("ace/mode/yaml"), + e.setTabSize(2), + (editors.results = $("#results")), + (editors.tabs = editors.results.find(".nav-tabs")), + (editors.panes = editors.results.find(".tab-content")); + } + function getShortTitle(e) { + let t = e.lastIndexOf("/"); + return -1 !== t && (e = e.substr(t + 1)), e.length > 15 && (e = e.substr(0, 10) + "..."), e; + } + function showResults() { + let e = editors.results; + setTimeout(() => { + e[0].scrollIntoView(), + e + .addClass("animated") + .one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", () => { + e.removeClass("animated"); + }); + }); + } + function toText(e) { + if (e instanceof Error) return { isJSON: !1, text: e.message + "\n\n" + e.stack }; + try { + return { isJSON: !0, text: JSON.stringify(e, null, 2) }; + } catch (e) { + return { + isJSON: !1, + text: "This API is valid, but it cannot be shown because it contains circular references\n\n" + e.stack, + }; + } + } + (module.exports = editors), + (editors.clearResults = function () { + editors.results.removeClass("error animated").addClass("hidden"), + editors.tabs.children().remove(), + editors.panes.children().remove(); + }), + (editors.showResult = function (e, t) { + editors.results.removeClass("hidden"), editors.addResult(e, t), showResults(); + }), + (editors.showError = function (e) { + editors.results.removeClass("hidden").addClass("error"), editors.addResult("Error!", e), showResults(); + }), + (editors.addResult = function (e, t) { + let s = editors.tabs.children().length, + r = "results-tab-" + s + "-title", + i = "results-" + s, + o = 0 === s ? "active" : ""; + editors.tabs.append( + '', + ), + editors.panes.append( + '
', + ); + let n = getShortTitle(e) || "Sample API"; + editors.tabs + .find("#" + r) + .text(n) + .attr("title", e), + (t = toText(t)), + editors.panes.find("#" + i).text(t.text); + let a = ace.edit(i); + a.setTheme(ACE_THEME), + a.session.setOption("useWorker", !1), + t.isJSON && a.getSession().setMode("ace/mode/json"), + a.setReadOnly(!0); + }); + }, + { "./form": 209 }, + ], + 209: [ + function (require, module, exports) { + "use strict"; + const jsYAML = require("js-yaml"); + function form() { + (form.form = $("#swagger-parser-form")), + (form.allow = { + label: form.form.find("#allow-label"), + menu: form.form.find("#allow-menu"), + json: form.form.find("input[name=allow-json]"), + yaml: form.form.find("input[name=allow-yaml]"), + text: form.form.find("input[name=allow-text]"), + empty: form.form.find("input[name=allow-empty]"), + unknown: form.form.find("input[name=allow-unknown]"), + }), + (form.refs = { + label: form.form.find("#refs-label"), + menu: form.form.find("#refs-menu"), + external: form.form.find("input[name=refs-external]"), + circular: form.form.find("input[name=refs-circular]"), + }), + (form.validate = { + label: form.form.find("#validate-label"), + menu: form.form.find("#validate-menu"), + schema: form.form.find("input[name=validate-schema]"), + spec: form.form.find("input[name=validate-spec]"), + }), + (form.tabs = { url: form.form.find("#url-tab"), text: form.form.find("#text-tab") }), + (form.method = { button: form.form.find("button[name=method]"), menu: form.form.find("#method-menu") }), + (form.samples = { + url: { container: form.form.find("#url-sample"), link: form.form.find("#url-sample-link") }, + text: { container: form.form.find("#text-sample"), link: form.form.find("#text-sample-link") }, + }), + (form.url = form.form.find("input[name=url]")), + (form.textBox = null), + (form.bookmark = form.form.find("#bookmark")); + } + (module.exports = form), + (form.getOptions = function () { + return { + parse: { + json: !!form.allow.json.is(":checked") && { allowEmpty: form.allow.empty.is(":checked") }, + yaml: !!form.allow.yaml.is(":checked") && { allowEmpty: form.allow.empty.is(":checked") }, + text: !!form.allow.text.is(":checked") && { allowEmpty: form.allow.empty.is(":checked") }, + binary: !!form.allow.unknown.is(":checked") && { allowEmpty: form.allow.empty.is(":checked") }, + }, + resolve: { external: form.refs.external.is(":checked") }, + dereference: { circular: form.refs.circular.is(":checked") }, + validate: { schema: form.validate.schema.is(":checked"), spec: form.validate.spec.is(":checked") }, + }; + }), + (form.getAPI = function () { + if (form.tabs.url.parent().attr("class").indexOf("active") >= 0) { + let e = form.url.val(); + if (e) return e; + throw new URIError("Please specify the URL of your Swagger/OpenAPI definition"); + } + { + let e = form.textBox.getValue(); + if (form.allow.yaml.is(":checked")) return jsYAML.safeLoad(e); + if (form.allow.json.is(":checked")) return JSON.parse(e); + throw new SyntaxError("Unable to parse the API. Neither YAML nor JSON are allowed."); + } + }); + }, + { "js-yaml": 141 }, + ], + 210: [ + function (require, module, exports) { + "use strict"; + const form = require("./form"), + querystring = require("./querystring"), + dropdowns = require("./dropdowns"), + editors = require("./editors"), + samples = require("./samples"), + parser = require("./parser"), + analytics = require("./analytics"); + $(() => { + form(), querystring(), dropdowns(), editors(), samples(), parser(), analytics(); + }); + }, + { + "./analytics": 206, + "./dropdowns": 207, + "./editors": 208, + "./form": 209, + "./parser": 211, + "./querystring": 212, + "./samples": 213, + }, + ], + 211: [ + function (require, module, exports) { + "use strict"; + const form = require("./form"), + editors = require("./editors"), + analytics = require("./analytics"), + { ono: ono } = require("@jsdevtools/ono"), + SwaggerParser = require("../../../"); + let swaggerParser = null, + counters = { parse: 0, resolve: 0, bundle: 0, dereference: 0, validate: 0 }; + function parser() { + form.form.on("submit", (r) => { + r.preventDefault(), parseSwagger(); + }), + $("#clear").on("click", () => { + (swaggerParser = null), editors.clearResults(), analytics.trackEvent("results", "clear"); + }); + } + function parseSwagger() { + try { + editors.clearResults(), (swaggerParser = swaggerParser || new SwaggerParser()); + let r = form.getOptions(), + e = form.method.button.val(), + s = form.getAPI(); + swaggerParser[e](s, r) + .then(() => { + let r = swaggerParser.$refs.values(); + Object.keys(r).forEach((e) => { + editors.showResult(e, r[e]); + }); + }) + .catch((r) => { + editors.showError(ono(r)), analytics.trackError(r); + }), + counters[e]++, + analytics.trackEvent("button", "click", e, counters[e]); + } catch (r) { + editors.showError(ono(r)), analytics.trackError(r); + } + } + module.exports = parser; + }, + { "../../../": 1, "./analytics": 206, "./editors": 208, "./form": 209, "@jsdevtools/ono": 33 }, + ], + 212: [ + function (require, module, exports) { + "use strict"; + const qs = require("querystring"), + form = require("./form"); + function querystring() { + setFormFields(), setBookmarkURL(), form.bookmark.on("click focus mouseenter", setBookmarkURL); + } + function setFormFields() { + let e = qs.parse(window.location.search.substr(1)); + setCheckbox(form.allow.json, e["allow-json"]), + setCheckbox(form.allow.yaml, e["allow-yaml"]), + setCheckbox(form.allow.text, e["allow-text"]), + setCheckbox(form.allow.empty, e["allow-empty"]), + setCheckbox(form.allow.unknown, e["allow-unknown"]), + setCheckbox(form.refs.external, e["refs-external"]), + setCheckbox(form.refs.circular, e["refs-circular"]), + setCheckbox(form.validate.schema, e["validate-schema"]), + setCheckbox(form.validate.spec, e["validate-spec"]), + e.url && form.url.val(e.url), + e.method && + ((e.method = e.method.toLowerCase()), + -1 !== ["parse", "resolve", "bundle", "dereference", "validate"].indexOf(e.method) && + form.method.button.val(e.method)); + } + function setCheckbox(e, o) { + (o && "true" !== o && "on" !== o) || (o = "yes"), e.val([o]); + } + function setBookmarkURL() { + let e = {}, + o = form.getOptions(); + o.parse.json || (e["allow-json"] = "no"), + o.parse.yaml || (e["allow-yaml"] = "no"), + o.parse.text || (e["allow-text"] = "no"), + o.parse.json.allowEmpty || (e["allow-empty"] = "no"), + o.parse.binary || (e["allow-unknown"] = "no"), + o.resolve.external || (e["refs-external"] = "no"), + o.dereference.circular || (e["refs-circular"] = "no"), + o.validate.schema || (e["validate-schema"] = "no"), + o.validate.spec || (e["validate-spec"] = "no"); + let r = form.method.button.val(); + "validate" === r || (e.method = r); + let t = form.url.val(); + "" === t || (e.url = t); + let l = "?" + qs.stringify(e); + form.bookmark.attr("href", l); + } + module.exports = querystring; + }, + { "./form": 209, querystring: 176 }, + ], + 213: [ + function (require, module, exports) { + "use strict"; + const form = require("./form"); + function samples() { + form.samples.url.link.on("click", (e) => { + e.preventDefault(), form.url.val(samples.url); + }), + form.samples.text.link.on("click", (e) => { + e.preventDefault(), + form.textBox.setValue(samples.text, -1), + form.samples.text.container.hide(), + form.textBox.focus(); + }), + form.textBox.on("input", () => { + 0 === form.textBox.session.getValue().length + ? form.samples.text.container.show() + : form.samples.text.container.hide(); + }); + } + (module.exports = samples), + (samples.url = "https://apitools.dev/swagger-parser/online/sample/swagger.yaml"), + (samples.text = + 'swagger: "2.0"\ninfo:\n version: 1.0.0\n title: Swagger Petstore\n description: >\n A sample API that uses a petstore as an example\n to demonstrate features in the swagger-2.0 specification\nconsumes:\n - application/json\nproduces:\n - application/json\npaths:\n /pets:\n get:\n description: Returns all pets from the petstore\n responses:\n "200":\n description: pet response\n schema:\n type: array\n items:\n $ref: "#/definitions/pet"\n default:\n description: unexpected error\n schema:\n $ref: "#/definitions/errorModel"\n post:\n description: Creates a new pet in the store\n parameters:\n - name: pet\n in: body\n description: Pet to add to the store\n required: true\n schema:\n $ref: "#/definitions/pet"\n responses:\n "200":\n description: pet response\n schema:\n $ref: "#/definitions/pet"\n default:\n description: unexpected error\n schema:\n $ref: "#/definitions/errorModel"\n "/pets/{name}":\n get:\n description: Returns a single pet by name\n parameters:\n - name: name\n in: path\n description: Name of the pet to fetch\n required: true\n type: string\n responses:\n "200":\n description: pet response\n schema:\n $ref: "#/definitions/pet"\n default:\n description: unexpected error\n schema:\n $ref: "#/definitions/errorModel"\ndefinitions:\n pet:\n $ref: sample/pet.yaml\n pet-owner:\n $ref: sample/pet-owner.yaml\n errorModel:\n $ref: sample/error.json\n'); + }, + { "./form": 209 }, + ], + }, + {}, + [210], +); +//# sourceMappingURL=bundle.min.js.map //# sourceMappingURL=bundle.min.js.map -//# sourceMappingURL=bundle.min.js.map \ No newline at end of file diff --git a/online/js/polyfills/promise.js b/online/js/polyfills/promise.js index 780b1031..6c44de5d 100644 --- a/online/js/polyfills/promise.js +++ b/online/js/polyfills/promise.js @@ -7,28 +7,29 @@ */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() - : typeof define === 'function' && define.amd ? define(factory) + typeof exports === "object" && typeof module !== "undefined" + ? (module.exports = factory()) + : typeof define === "function" && define.amd + ? define(factory) : (global.ES6Promise = factory()); -}(this, (function () { - 'use strict'; +})(this, function () { + "use strict"; - function objectOrFunction (x) { + function objectOrFunction(x) { var type = typeof x; - return x !== null && (type === 'object' || type === 'function'); + return x !== null && (type === "object" || type === "function"); } - function isFunction (x) { - return typeof x === 'function'; + function isFunction(x) { + return typeof x === "function"; } var _isArray = undefined; if (Array.isArray) { _isArray = Array.isArray; - } - else { + } else { _isArray = function (x) { - return Object.prototype.toString.call(x) === '[object Array]'; + return Object.prototype.toString.call(x) === "[object Array]"; }; } @@ -38,51 +39,54 @@ var vertxNext = undefined; var customSchedulerFn = undefined; - var asap = function asap (callback, arg) { + var asap = function asap(callback, arg) { queue[len] = callback; queue[len + 1] = arg; len += 2; if (len === 2) { - // If len is 2, that means that we need to schedule an async flush. - // If additional callbacks are queued before the queue is flushed, they - // will be processed by this flush that we are scheduling. + // If len is 2, that means that we need to schedule an async flush. + // If additional callbacks are queued before the queue is flushed, they + // will be processed by this flush that we are scheduling. if (customSchedulerFn) { customSchedulerFn(flush); - } - else { + } else { scheduleFlush(); } } }; - function setScheduler (scheduleFn) { + function setScheduler(scheduleFn) { customSchedulerFn = scheduleFn; } - function setAsap (asapFn) { + function setAsap(asapFn) { asap = asapFn; } - var browserWindow = typeof window !== 'undefined' ? window : undefined; + var browserWindow = typeof window !== "undefined" ? window : undefined; var browserGlobal = browserWindow || {}; var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; - var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]'; + var isNode = + typeof self === "undefined" && typeof process !== "undefined" && {}.toString.call(process) === "[object process]"; // test for web worker but not in IE10 - var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'; + var isWorker = + typeof Uint8ClampedArray !== "undefined" && + typeof importScripts !== "undefined" && + typeof MessageChannel !== "undefined"; // node - function useNextTick () { - // node version 0.10.x displays a deprecation warning when nextTick is used recursively - // see https://github.com/cujojs/when/issues/410 for details + function useNextTick() { + // node version 0.10.x displays a deprecation warning when nextTick is used recursively + // see https://github.com/cujojs/when/issues/410 for details return function () { return process.nextTick(flush); }; } // vertx - function useVertxTimer () { - if (typeof vertxNext !== 'undefined') { + function useVertxTimer() { + if (typeof vertxNext !== "undefined") { return function () { vertxNext(flush); }; @@ -91,10 +95,10 @@ return useSetTimeout(); } - function useMutationObserver () { + function useMutationObserver() { var iterations = 0; var observer = new BrowserMutationObserver(flush); - var node = document.createTextNode(''); + var node = document.createTextNode(""); observer.observe(node, { characterData: true }); return function () { @@ -103,7 +107,7 @@ } // web worker - function useMessageChannel () { + function useMessageChannel() { var channel = new MessageChannel(); channel.port1.onmessage = flush; return function () { @@ -111,9 +115,9 @@ }; } - function useSetTimeout () { - // Store setTimeout reference so es6-promise will be unaffected by - // other code modifying setTimeout (like sinon.useFakeTimers()) + function useSetTimeout() { + // Store setTimeout reference so es6-promise will be unaffected by + // other code modifying setTimeout (like sinon.useFakeTimers()) var globalSetTimeout = setTimeout; return function () { return globalSetTimeout(flush, 1); @@ -121,7 +125,7 @@ } var queue = new Array(1000); - function flush () { + function flush() { for (var i = 0; i < len; i += 2) { var callback = queue[i]; var arg = queue[i + 1]; @@ -135,14 +139,13 @@ len = 0; } - function attemptVertx () { + function attemptVertx() { try { var r = require; - var vertx = r('vertx'); + var vertx = r("vertx"); vertxNext = vertx.runOnLoop || vertx.runOnContext; return useVertxTimer(); - } - catch (e) { + } catch (e) { return useSetTimeout(); } } @@ -151,21 +154,17 @@ // Decide what async method to use to triggering processing of queued callbacks: if (isNode) { scheduleFlush = useNextTick(); - } - else if (BrowserMutationObserver) { + } else if (BrowserMutationObserver) { scheduleFlush = useMutationObserver(); - } - else if (isWorker) { + } else if (isWorker) { scheduleFlush = useMessageChannel(); - } - else if (browserWindow === undefined && typeof require === 'function') { + } else if (browserWindow === undefined && typeof require === "function") { scheduleFlush = attemptVertx(); - } - else { + } else { scheduleFlush = useSetTimeout(); } - function then (onFulfillment, onRejection) { + function then(onFulfillment, onRejection) { var _arguments = arguments; var parent = this; @@ -184,9 +183,8 @@ asap(function () { return invokeCallback(_state, child, callback, parent._result); }); - }()); - } - else { + })(); + } else { subscribe(parent, child, onFulfillment, onRejection); } @@ -224,11 +222,11 @@ @return {Promise} a promise that will become fulfilled with the given `value` */ - function resolve$1 (object) { - /* jshint validthis:true */ + function resolve$1(object) { + /* jshint validthis:true */ var Constructor = this; - if (object && typeof object === 'object' && object.constructor === Constructor) { + if (object && typeof object === "object" && object.constructor === Constructor) { return object; } @@ -239,7 +237,7 @@ var PROMISE_ID = Math.random().toString(36).substring(16); - function noop () {} + function noop() {} var PENDING = void 0; var FULFILLED = 1; @@ -247,55 +245,58 @@ var GET_THEN_ERROR = new ErrorObject(); - function selfFulfillment () { - return new TypeError('You cannot resolve a promise with itself'); + function selfFulfillment() { + return new TypeError("You cannot resolve a promise with itself"); } - function cannotReturnOwn () { - return new TypeError('A promises callback cannot return that same promise.'); + function cannotReturnOwn() { + return new TypeError("A promises callback cannot return that same promise."); } - function getThen (promise) { + function getThen(promise) { try { return promise.then; - } - catch (error) { + } catch (error) { GET_THEN_ERROR.error = error; return GET_THEN_ERROR; } } - function tryThen (then$$1, value, fulfillmentHandler, rejectionHandler) { + function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) { try { then$$1.call(value, fulfillmentHandler, rejectionHandler); - } - catch (e) { + } catch (e) { return e; } } - function handleForeignThenable (promise, thenable, then$$1) { + function handleForeignThenable(promise, thenable, then$$1) { asap(function (promise) { var sealed = false; - var error = tryThen(then$$1, thenable, (value) => { - if (sealed) { - return; - } - sealed = true; - if (thenable !== value) { - resolve(promise, value); - } - else { - fulfill(promise, value); - } - }, (reason) => { - if (sealed) { - return; - } - sealed = true; + var error = tryThen( + then$$1, + thenable, + (value) => { + if (sealed) { + return; + } + sealed = true; + if (thenable !== value) { + resolve(promise, value); + } else { + fulfill(promise, value); + } + }, + (reason) => { + if (sealed) { + return; + } + sealed = true; - reject(promise, reason); - }, 'Settle: ' + (promise._label || ' unknown promise')); + reject(promise, reason); + }, + "Settle: " + (promise._label || " unknown promise"), + ); if (!sealed && error) { sealed = true; @@ -304,56 +305,57 @@ }, promise); } - function handleOwnThenable (promise, thenable) { + function handleOwnThenable(promise, thenable) { if (thenable._state === FULFILLED) { fulfill(promise, thenable._result); - } - else if (thenable._state === REJECTED) { + } else if (thenable._state === REJECTED) { reject(promise, thenable._result); - } - else { - subscribe(thenable, undefined, (value) => { - return resolve(promise, value); - }, (reason) => { - return reject(promise, reason); - }); + } else { + subscribe( + thenable, + undefined, + (value) => { + return resolve(promise, value); + }, + (reason) => { + return reject(promise, reason); + }, + ); } } - function handleMaybeThenable (promise, maybeThenable, then$$1) { - if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) { + function handleMaybeThenable(promise, maybeThenable, then$$1) { + if ( + maybeThenable.constructor === promise.constructor && + then$$1 === then && + maybeThenable.constructor.resolve === resolve$1 + ) { handleOwnThenable(promise, maybeThenable); - } - else { + } else { if (then$$1 === GET_THEN_ERROR) { reject(promise, GET_THEN_ERROR.error); GET_THEN_ERROR.error = null; - } - else if (then$$1 === undefined) { + } else if (then$$1 === undefined) { fulfill(promise, maybeThenable); - } - else if (isFunction(then$$1)) { + } else if (isFunction(then$$1)) { handleForeignThenable(promise, maybeThenable, then$$1); - } - else { + } else { fulfill(promise, maybeThenable); } } } - function resolve (promise, value) { + function resolve(promise, value) { if (promise === value) { reject(promise, selfFulfillment()); - } - else if (objectOrFunction(value)) { + } else if (objectOrFunction(value)) { handleMaybeThenable(promise, value, getThen(value)); - } - else { + } else { fulfill(promise, value); } } - function publishRejection (promise) { + function publishRejection(promise) { if (promise._onerror) { promise._onerror(promise._result); } @@ -361,7 +363,7 @@ publish(promise); } - function fulfill (promise, value) { + function fulfill(promise, value) { if (promise._state !== PENDING) { return; } @@ -374,7 +376,7 @@ } } - function reject (promise, reason) { + function reject(promise, reason) { if (promise._state !== PENDING) { return; } @@ -384,7 +386,7 @@ asap(publishRejection, promise); } - function subscribe (parent, child, onFulfillment, onRejection) { + function subscribe(parent, child, onFulfillment, onRejection) { var _subscribers = parent._subscribers; var length = _subscribers.length; @@ -399,7 +401,7 @@ } } - function publish (promise) { + function publish(promise) { var subscribers = promise._subscribers; var settled = promise._state; @@ -408,8 +410,8 @@ } var child = undefined, - callback = undefined, - detail = promise._result; + callback = undefined, + detail = promise._result; for (var i = 0; i < subscribers.length; i += 3) { child = subscribers[i]; @@ -417,8 +419,7 @@ if (child) { invokeCallback(settled, child, callback, detail); - } - else { + } else { callback(detail); } } @@ -426,28 +427,27 @@ promise._subscribers.length = 0; } - function ErrorObject () { + function ErrorObject() { this.error = null; } var TRY_CATCH_ERROR = new ErrorObject(); - function tryCatch (callback, detail) { + function tryCatch(callback, detail) { try { return callback(detail); - } - catch (e) { + } catch (e) { TRY_CATCH_ERROR.error = e; return TRY_CATCH_ERROR; } } - function invokeCallback (settled, promise, callback, detail) { + function invokeCallback(settled, promise, callback, detail) { var hasCallback = isFunction(callback), - value = undefined, - error = undefined, - succeeded = undefined, - failed = undefined; + value = undefined, + error = undefined, + succeeded = undefined, + failed = undefined; if (hasCallback) { value = tryCatch(callback, detail); @@ -456,8 +456,7 @@ failed = true; error = value.error; value.error = null; - } - else { + } else { succeeded = true; } @@ -465,55 +464,52 @@ reject(promise, cannotReturnOwn()); return; } - } - else { + } else { value = detail; succeeded = true; } if (promise._state !== PENDING) { - // noop - } - else if (hasCallback && succeeded) { + // noop + } else if (hasCallback && succeeded) { resolve(promise, value); - } - else if (failed) { + } else if (failed) { reject(promise, error); - } - else if (settled === FULFILLED) { + } else if (settled === FULFILLED) { fulfill(promise, value); - } - else if (settled === REJECTED) { + } else if (settled === REJECTED) { reject(promise, value); } } - function initializePromise (promise, resolver) { + function initializePromise(promise, resolver) { try { - resolver(function resolvePromise (value) { - resolve(promise, value); - }, function rejectPromise (reason) { - reject(promise, reason); - }); - } - catch (e) { + resolver( + function resolvePromise(value) { + resolve(promise, value); + }, + function rejectPromise(reason) { + reject(promise, reason); + }, + ); + } catch (e) { reject(promise, e); } } var id = 0; - function nextId () { + function nextId() { return id++; } - function makePromise (promise) { + function makePromise(promise) { promise[PROMISE_ID] = id++; promise._state = undefined; promise._result = undefined; promise._subscribers = []; } - function Enumerator$1 (Constructor, input) { + function Enumerator$1(Constructor, input) { this._instanceConstructor = Constructor; this.promise = new Constructor(noop); @@ -529,22 +525,20 @@ if (this.length === 0) { fulfill(this.promise, this._result); - } - else { + } else { this.length = this.length || 0; this._enumerate(input); if (this._remaining === 0) { fulfill(this.promise, this._result); } } - } - else { + } else { reject(this.promise, validationError()); } } - function validationError () { - return new Error('Array Methods must be provided an Array'); + function validationError() { + return new Error("Array Methods must be provided an Array"); } Enumerator$1.prototype._enumerate = function (input) { @@ -562,23 +556,22 @@ if (_then === then && entry._state !== PENDING) { this._settledAt(entry._state, i, entry._result); - } - else if (typeof _then !== 'function') { + } else if (typeof _then !== "function") { this._remaining--; this._result[i] = entry; - } - else if (c === Promise$3) { + } else if (c === Promise$3) { var promise = new c(noop); handleMaybeThenable(promise, entry, _then); this._willSettleAt(promise, i); + } else { + this._willSettleAt( + new c(function (resolve$$1) { + return resolve$$1(entry); + }), + i, + ); } - else { - this._willSettleAt(new c(function (resolve$$1) { - return resolve$$1(entry); - }), i); - } - } - else { + } else { this._willSettleAt(resolve$$1(entry), i); } }; @@ -591,8 +584,7 @@ if (state === REJECTED) { reject(promise, value); - } - else { + } else { this._result[i] = value; } } @@ -605,11 +597,16 @@ Enumerator$1.prototype._willSettleAt = function (promise, i) { var enumerator = this; - subscribe(promise, undefined, (value) => { - return enumerator._settledAt(FULFILLED, i, value); - }, (reason) => { - return enumerator._settledAt(REJECTED, i, reason); - }); + subscribe( + promise, + undefined, + (value) => { + return enumerator._settledAt(FULFILLED, i, value); + }, + (reason) => { + return enumerator._settledAt(REJECTED, i, reason); + }, + ); }; /** @@ -659,7 +656,7 @@ fulfilled, or rejected if any of them become rejected. @static */ - function all$1 (entries) { + function all$1(entries) { return new Enumerator$1(this, entries).promise; } @@ -728,16 +725,15 @@ @return {Promise} a promise which settles in the same way as the first passed promise to settle. */ - function race$1 (entries) { - /* jshint validthis:true */ + function race$1(entries) { + /* jshint validthis:true */ var Constructor = this; if (!isArray(entries)) { return new Constructor(function (_, reject) { - return reject(new TypeError('You must pass an array to race.')); + return reject(new TypeError("You must pass an array to race.")); }); - } - else { + } else { return new Constructor(function (resolve, reject) { var length = entries.length; for (var i = 0; i < length; i++) { @@ -781,20 +777,22 @@ Useful for tooling. @return {Promise} a promise rejected with the given `reason`. */ - function reject$1 (reason) { - /* jshint validthis:true */ + function reject$1(reason) { + /* jshint validthis:true */ var Constructor = this; var promise = new Constructor(noop); reject(promise, reason); return promise; } - function needsResolver () { - throw new TypeError('You must pass a resolver function as the first argument to the promise constructor'); + function needsResolver() { + throw new TypeError("You must pass a resolver function as the first argument to the promise constructor"); } - function needsNew () { - throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); + function needsNew() { + throw new TypeError( + "Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.", + ); } /** @@ -900,13 +898,13 @@ Useful for tooling. @constructor */ - function Promise$3 (resolver) { + function Promise$3(resolver) { this[PROMISE_ID] = nextId(); this._result = this._state = undefined; this._subscribers = []; if (noop !== resolver) { - typeof resolver !== 'function' && needsResolver(); + typeof resolver !== "function" && needsResolver(); this instanceof Promise$3 ? initializePromise(this, resolver) : needsNew(); } } @@ -1144,27 +1142,24 @@ Useful for tooling. @return {Promise} */ - catch: function _catch (onRejection) { + catch: function _catch(onRejection) { return this.then(null, onRejection); - } + }, }; /* global self*/ - function polyfill$1 () { + function polyfill$1() { var local = undefined; - if (typeof global !== 'undefined') { + if (typeof global !== "undefined") { local = global; - } - else if (typeof self !== 'undefined') { + } else if (typeof self !== "undefined") { local = self; - } - else { + } else { try { - local = Function('return this')(); - } - catch (e) { - throw new Error('polyfill failed because global object is unavailable in this environment'); + local = Function("return this")(); + } catch (e) { + throw new Error("polyfill failed because global object is unavailable in this environment"); } } @@ -1174,12 +1169,11 @@ var promiseToString = null; try { promiseToString = Object.prototype.toString.call(P.resolve()); - } - catch (e) { + } catch (e) { // silently ignored } - if (promiseToString === '[object Promise]' && !P.cast) { + if (promiseToString === "[object Promise]" && !P.cast) { return; } } @@ -1194,7 +1188,6 @@ Promise$3.polyfill(); return Promise$3; - -}))); +}); // # sourceMappingURL=es6-promise.auto.map diff --git a/online/js/polyfills/typedarray.js b/online/js/polyfills/typedarray.js index 967bac7e..7426ec63 100644 --- a/online/js/polyfills/typedarray.js +++ b/online/js/polyfills/typedarray.js @@ -43,43 +43,58 @@ // non-standard get()/set() instead, and will need to add those to // native arrays for interop. (function (global) { - 'use strict'; - var undefined = (void 0); // Paranoia + "use strict"; + var undefined = void 0; // Paranoia // Beyond this value, index getters/setters (i.e. array[0], array[1]) are so slow to // create, and consume so much memory, that the browser appears frozen. var MAX_ARRAY_LENGTH = 1e5; // Approximations of internal ECMAScript conversion functions - function Type (v) { + function Type(v) { switch (typeof v) { - case 'undefined': return 'undefined'; - case 'boolean': return 'boolean'; - case 'number': return 'number'; - case 'string': return 'string'; - default: return v === null ? 'null' : 'object'; + case "undefined": + return "undefined"; + case "boolean": + return "boolean"; + case "number": + return "number"; + case "string": + return "string"; + default: + return v === null ? "null" : "object"; } } // Class returns internal [[Class]] property, used to avoid cross-frame instanceof issues: - function Class (v) { return Object.prototype.toString.call(v).replace(/^\[object *|\]$/g, ''); } - function IsCallable (o) { return typeof o === 'function'; } - function ToObject (v) { - if (v === null || v === undefined) { throw TypeError(); } + function Class(v) { + return Object.prototype.toString.call(v).replace(/^\[object *|\]$/g, ""); + } + function IsCallable(o) { + return typeof o === "function"; + } + function ToObject(v) { + if (v === null || v === undefined) { + throw TypeError(); + } return Object(v); } - function ToInt32 (v) { return v >> 0; } - function ToUint32 (v) { return v >>> 0; } + function ToInt32(v) { + return v >> 0; + } + function ToUint32(v) { + return v >>> 0; + } // Snapshot intrinsics var LN2 = Math.LN2, - abs = Math.abs, - floor = Math.floor, - log = Math.log, - max = Math.max, - min = Math.min, - pow = Math.pow, - round = Math.round; + abs = Math.abs, + floor = Math.floor, + log = Math.log, + max = Math.max, + min = Math.min, + pow = Math.pow, + round = Math.round; // emulate ES5 getter/setter API using legacy APIs // http://blogs.msdn.com/b/ie/archive/2010/09/07/transitioning-existing-code-to-the-es5-getter-setter-apis.aspx @@ -89,39 +104,59 @@ (function () { var orig = Object.defineProperty; var dom_only = !(function () { - try { return Object.defineProperty({}, 'x', {}); } - catch (_) { return false; } - }()); + try { + return Object.defineProperty({}, "x", {}); + } catch (_) { + return false; + } + })(); if (!orig || dom_only) { Object.defineProperty = function (o, prop, desc) { // In IE8 try built-in implementation for defining properties on DOM prototypes. if (orig) { - try { return orig(o, prop, desc); } - catch (_) {} + try { + return orig(o, prop, desc); + } catch (_) {} + } + if (o !== Object(o)) { + throw TypeError("Object.defineProperty called on non-object"); + } + if (Object.prototype.__defineGetter__ && "get" in desc) { + Object.prototype.__defineGetter__.call(o, prop, desc.get); + } + if (Object.prototype.__defineSetter__ && "set" in desc) { + Object.prototype.__defineSetter__.call(o, prop, desc.set); + } + if ("value" in desc) { + o[prop] = desc.value; } - if (o !== Object(o)) { throw TypeError('Object.defineProperty called on non-object'); } - if (Object.prototype.__defineGetter__ && ('get' in desc)) { Object.prototype.__defineGetter__.call(o, prop, desc.get); } - if (Object.prototype.__defineSetter__ && ('set' in desc)) { Object.prototype.__defineSetter__.call(o, prop, desc.set); } - if ('value' in desc) { o[prop] = desc.value; } return o; }; } - }()); + })(); // ES5: Make obj[index] an alias for obj._getter(index)/obj._setter(index, value) // for index in 0 ... obj.length - function makeArrayAccessors (obj) { - if ('TYPED_ARRAY_POLYFILL_NO_ARRAY_ACCESSORS' in global) { return; } + function makeArrayAccessors(obj) { + if ("TYPED_ARRAY_POLYFILL_NO_ARRAY_ACCESSORS" in global) { + return; + } - if (obj.length > MAX_ARRAY_LENGTH) { throw RangeError('Array too large for polyfill'); } + if (obj.length > MAX_ARRAY_LENGTH) { + throw RangeError("Array too large for polyfill"); + } - function makeArrayAccessor (index) { + function makeArrayAccessor(index) { Object.defineProperty(obj, index, { - get: function () { return obj._getter(index); }, - set: function (v) { obj._setter(index, v); }, + get: function () { + return obj._getter(index); + }, + set: function (v) { + obj._setter(index, v); + }, enumerable: true, - configurable: false + configurable: false, }); } @@ -135,37 +170,74 @@ // pack() - take a number (interpreted as Type), output a byte array // unpack() - take a byte array, output a Type-like number - function as_signed (value, bits) { var s = 32 - bits; return (value << s) >> s; } - function as_unsigned (value, bits) { var s = 32 - bits; return (value << s) >>> s; } - - function packI8 (n) { return [n & 0xff]; } - function unpackI8 (bytes) { return as_signed(bytes[0], 8); } + function as_signed(value, bits) { + var s = 32 - bits; + return (value << s) >> s; + } + function as_unsigned(value, bits) { + var s = 32 - bits; + return (value << s) >>> s; + } - function packU8 (n) { return [n & 0xff]; } - function unpackU8 (bytes) { return as_unsigned(bytes[0], 8); } + function packI8(n) { + return [n & 0xff]; + } + function unpackI8(bytes) { + return as_signed(bytes[0], 8); + } - function packU8Clamped (n) { n = round(Number(n)); return [n < 0 ? 0 : n > 0xff ? 0xff : n & 0xff]; } + function packU8(n) { + return [n & 0xff]; + } + function unpackU8(bytes) { + return as_unsigned(bytes[0], 8); + } - function packI16 (n) { return [n & 0xff, (n >> 8) & 0xff]; } - function unpackI16 (bytes) { return as_signed(bytes[1] << 8 | bytes[0], 16); } + function packU8Clamped(n) { + n = round(Number(n)); + return [n < 0 ? 0 : n > 0xff ? 0xff : n & 0xff]; + } - function packU16 (n) { return [n & 0xff, (n >> 8) & 0xff]; } - function unpackU16 (bytes) { return as_unsigned(bytes[1] << 8 | bytes[0], 16); } + function packI16(n) { + return [n & 0xff, (n >> 8) & 0xff]; + } + function unpackI16(bytes) { + return as_signed((bytes[1] << 8) | bytes[0], 16); + } - function packI32 (n) { return [n & 0xff, (n >> 8) & 0xff, (n >> 16) & 0xff, (n >> 24) & 0xff]; } - function unpackI32 (bytes) { return as_signed(bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0], 32); } + function packU16(n) { + return [n & 0xff, (n >> 8) & 0xff]; + } + function unpackU16(bytes) { + return as_unsigned((bytes[1] << 8) | bytes[0], 16); + } - function packU32 (n) { return [n & 0xff, (n >> 8) & 0xff, (n >> 16) & 0xff, (n >> 24) & 0xff]; } - function unpackU32 (bytes) { return as_unsigned(bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0], 32); } + function packI32(n) { + return [n & 0xff, (n >> 8) & 0xff, (n >> 16) & 0xff, (n >> 24) & 0xff]; + } + function unpackI32(bytes) { + return as_signed((bytes[3] << 24) | (bytes[2] << 16) | (bytes[1] << 8) | bytes[0], 32); + } - function packIEEE754 (v, ebits, fbits) { + function packU32(n) { + return [n & 0xff, (n >> 8) & 0xff, (n >> 16) & 0xff, (n >> 24) & 0xff]; + } + function unpackU32(bytes) { + return as_unsigned((bytes[3] << 24) | (bytes[2] << 16) | (bytes[1] << 8) | bytes[0], 32); + } + function packIEEE754(v, ebits, fbits) { var bias = (1 << (ebits - 1)) - 1; - function roundToEven (n) { - var w = floor(n), f = n - w; - if (f < 0.5) { return w; } - if (f > 0.5) { return w + 1; } + function roundToEven(n) { + var w = floor(n), + f = n - w; + if (f < 0.5) { + return w; + } + if (f > 0.5) { + return w + 1; + } return w % 2 ? w + 1 : w; } @@ -174,15 +246,18 @@ if (v !== v) { // NaN // http://dev.w3.org/2006/webapi/WebIDL/#es-type-mapping - e = (1 << ebits) - 1; f = pow(2, fbits - 1); s = 0; - } - else if (v === Infinity || v === -Infinity) { - e = (1 << ebits) - 1; f = 0; s = (v < 0) ? 1 : 0; - } - else if (v === 0) { - e = 0; f = 0; s = (1 / v === -Infinity) ? 1 : 0; - } - else { + e = (1 << ebits) - 1; + f = pow(2, fbits - 1); + s = 0; + } else if (v === Infinity || v === -Infinity) { + e = (1 << ebits) - 1; + f = 0; + s = v < 0 ? 1 : 0; + } else if (v === 0) { + e = 0; + f = 0; + s = 1 / v === -Infinity ? 1 : 0; + } else { s = v < 0; v = abs(v); @@ -210,8 +285,7 @@ e = (1 << ebits) - 1; f = 0; } - } - else { + } else { // Denormalized e = 0; f = roundToEven(v / pow(2, 1 - bias - fbits)); @@ -219,12 +293,19 @@ } // Pack sign, exponent, fraction - var bits = [], i; - for (i = fbits; i; i -= 1) { bits.push(f % 2 ? 1 : 0); f = floor(f / 2); } - for (i = ebits; i; i -= 1) { bits.push(e % 2 ? 1 : 0); e = floor(e / 2); } + var bits = [], + i; + for (i = fbits; i; i -= 1) { + bits.push(f % 2 ? 1 : 0); + f = floor(f / 2); + } + for (i = ebits; i; i -= 1) { + bits.push(e % 2 ? 1 : 0); + e = floor(e / 2); + } bits.push(s ? 1 : 0); bits.reverse(); - var str = bits.join(''); + var str = bits.join(""); // Bits to bytes var bytes = []; @@ -235,19 +316,27 @@ return bytes; } - function unpackIEEE754 (bytes, ebits, fbits) { + function unpackIEEE754(bytes, ebits, fbits) { // Bytes to bits - var bits = [], i, j, b, str, - bias, s, e, f; + var bits = [], + i, + j, + b, + str, + bias, + s, + e, + f; for (i = 0; i < bytes.length; ++i) { b = bytes[i]; for (j = 8; j; j -= 1) { - bits.push(b % 2 ? 1 : 0); b >>= 1; + bits.push(b % 2 ? 1 : 0); + b >>= 1; } } bits.reverse(); - str = bits.join(''); + str = bits.join(""); // Unpack sign, exponent, fraction bias = (1 << (ebits - 1)) - 1; @@ -258,38 +347,46 @@ // Produce number if (e === (1 << ebits) - 1) { return f !== 0 ? NaN : s * Infinity; - } - else if (e > 0) { + } else if (e > 0) { // Normalized return s * pow(2, e - bias) * (1 + f / pow(2, fbits)); - } - else if (f !== 0) { + } else if (f !== 0) { // Denormalized return s * pow(2, -(bias - 1)) * (f / pow(2, fbits)); - } - else { + } else { return s < 0 ? -0 : 0; } } - function unpackF64 (b) { return unpackIEEE754(b, 11, 52); } - function packF64 (v) { return packIEEE754(v, 11, 52); } - function unpackF32 (b) { return unpackIEEE754(b, 8, 23); } - function packF32 (v) { return packIEEE754(v, 8, 23); } + function unpackF64(b) { + return unpackIEEE754(b, 11, 52); + } + function packF64(v) { + return packIEEE754(v, 11, 52); + } + function unpackF32(b) { + return unpackIEEE754(b, 8, 23); + } + function packF32(v) { + return packIEEE754(v, 8, 23); + } // // 3 The ArrayBuffer Type // (function () { - - function ArrayBuffer (length) { + function ArrayBuffer(length) { length = ToInt32(length); - if (length < 0) { throw RangeError('ArrayBuffer size is not a small enough positive integer.'); } - Object.defineProperty(this, 'byteLength', { value: length }); - Object.defineProperty(this, '_bytes', { value: Array(length) }); + if (length < 0) { + throw RangeError("ArrayBuffer size is not a small enough positive integer."); + } + Object.defineProperty(this, "byteLength", { value: length }); + Object.defineProperty(this, "_bytes", { value: Array(length) }); - for (var i = 0; i < length; i += 1) { this._bytes[i] = 0; } + for (var i = 0; i < length; i += 1) { + this._bytes[i] = 0; + } } global.ArrayBuffer = global.ArrayBuffer || ArrayBuffer; @@ -298,91 +395,99 @@ // 5 The Typed Array View Types // - function $TypedArray$ () { - + function $TypedArray$() { // %TypedArray% ( length ) - if (!arguments.length || typeof arguments[0] !== 'object') { - return (function (length) { + if (!arguments.length || typeof arguments[0] !== "object") { + return function (length) { length = ToInt32(length); - if (length < 0) { throw RangeError('length is not a small enough positive integer.'); } - Object.defineProperty(this, 'length', { value: length }); - Object.defineProperty(this, 'byteLength', { value: length * this.BYTES_PER_ELEMENT }); - Object.defineProperty(this, 'buffer', { value: new ArrayBuffer(this.byteLength) }); - Object.defineProperty(this, 'byteOffset', { value: 0 }); - - }).apply(this, arguments); + if (length < 0) { + throw RangeError("length is not a small enough positive integer."); + } + Object.defineProperty(this, "length", { value: length }); + Object.defineProperty(this, "byteLength", { value: length * this.BYTES_PER_ELEMENT }); + Object.defineProperty(this, "buffer", { value: new ArrayBuffer(this.byteLength) }); + Object.defineProperty(this, "byteOffset", { value: 0 }); + }.apply(this, arguments); } // %TypedArray% ( typedArray ) - if (arguments.length >= 1 && - Type(arguments[0]) === 'object' && - arguments[0] instanceof $TypedArray$) { - return (function (typedArray) { - if (this.constructor !== typedArray.constructor) { throw TypeError(); } + if (arguments.length >= 1 && Type(arguments[0]) === "object" && arguments[0] instanceof $TypedArray$) { + return function (typedArray) { + if (this.constructor !== typedArray.constructor) { + throw TypeError(); + } var byteLength = typedArray.length * this.BYTES_PER_ELEMENT; - Object.defineProperty(this, 'buffer', { value: new ArrayBuffer(byteLength) }); - Object.defineProperty(this, 'byteLength', { value: byteLength }); - Object.defineProperty(this, 'byteOffset', { value: 0 }); - Object.defineProperty(this, 'length', { value: typedArray.length }); - - for (var i = 0; i < this.length; i += 1) { this._setter(i, typedArray._getter(i)); } + Object.defineProperty(this, "buffer", { value: new ArrayBuffer(byteLength) }); + Object.defineProperty(this, "byteLength", { value: byteLength }); + Object.defineProperty(this, "byteOffset", { value: 0 }); + Object.defineProperty(this, "length", { value: typedArray.length }); - }).apply(this, arguments); + for (var i = 0; i < this.length; i += 1) { + this._setter(i, typedArray._getter(i)); + } + }.apply(this, arguments); } // %TypedArray% ( array ) - if (arguments.length >= 1 && - Type(arguments[0]) === 'object' && - !(arguments[0] instanceof $TypedArray$) && - !(arguments[0] instanceof ArrayBuffer || Class(arguments[0]) === 'ArrayBuffer')) { - return (function (array) { - + if ( + arguments.length >= 1 && + Type(arguments[0]) === "object" && + !(arguments[0] instanceof $TypedArray$) && + !(arguments[0] instanceof ArrayBuffer || Class(arguments[0]) === "ArrayBuffer") + ) { + return function (array) { var byteLength = array.length * this.BYTES_PER_ELEMENT; - Object.defineProperty(this, 'buffer', { value: new ArrayBuffer(byteLength) }); - Object.defineProperty(this, 'byteLength', { value: byteLength }); - Object.defineProperty(this, 'byteOffset', { value: 0 }); - Object.defineProperty(this, 'length', { value: array.length }); + Object.defineProperty(this, "buffer", { value: new ArrayBuffer(byteLength) }); + Object.defineProperty(this, "byteLength", { value: byteLength }); + Object.defineProperty(this, "byteOffset", { value: 0 }); + Object.defineProperty(this, "length", { value: array.length }); for (var i = 0; i < this.length; i += 1) { var s = array[i]; this._setter(i, Number(s)); } - }).apply(this, arguments); + }.apply(this, arguments); } // %TypedArray% ( buffer, byteOffset=0, length=undefined ) - if (arguments.length >= 1 && - Type(arguments[0]) === 'object' && - (arguments[0] instanceof ArrayBuffer || Class(arguments[0]) === 'ArrayBuffer')) { - return (function (buffer, byteOffset, length) { - + if ( + arguments.length >= 1 && + Type(arguments[0]) === "object" && + (arguments[0] instanceof ArrayBuffer || Class(arguments[0]) === "ArrayBuffer") + ) { + return function (buffer, byteOffset, length) { byteOffset = ToUint32(byteOffset); - if (byteOffset > buffer.byteLength) { throw RangeError('byteOffset out of range'); } + if (byteOffset > buffer.byteLength) { + throw RangeError("byteOffset out of range"); + } // The given byteOffset must be a multiple of the element // size of the specific type, otherwise an exception is raised. - if (byteOffset % this.BYTES_PER_ELEMENT) { throw RangeError('buffer length minus the byteOffset is not a multiple of the element size.'); } + if (byteOffset % this.BYTES_PER_ELEMENT) { + throw RangeError("buffer length minus the byteOffset is not a multiple of the element size."); + } if (length === undefined) { var byteLength = buffer.byteLength - byteOffset; - if (byteLength % this.BYTES_PER_ELEMENT) { throw RangeError('length of buffer minus byteOffset not a multiple of the element size'); } + if (byteLength % this.BYTES_PER_ELEMENT) { + throw RangeError("length of buffer minus byteOffset not a multiple of the element size"); + } length = byteLength / this.BYTES_PER_ELEMENT; - - } - else { + } else { length = ToUint32(length); byteLength = length * this.BYTES_PER_ELEMENT; } - if ((byteOffset + byteLength) > buffer.byteLength) { throw RangeError('byteOffset and length reference an area beyond the end of the buffer'); } - - Object.defineProperty(this, 'buffer', { value: buffer }); - Object.defineProperty(this, 'byteLength', { value: byteLength }); - Object.defineProperty(this, 'byteOffset', { value: byteOffset }); - Object.defineProperty(this, 'length', { value: length }); + if (byteOffset + byteLength > buffer.byteLength) { + throw RangeError("byteOffset and length reference an area beyond the end of the buffer"); + } - }).apply(this, arguments); + Object.defineProperty(this, "buffer", { value: buffer }); + Object.defineProperty(this, "byteLength", { value: byteLength }); + Object.defineProperty(this, "byteOffset", { value: byteOffset }); + Object.defineProperty(this, "length", { value: length }); + }.apply(this, arguments); } // %TypedArray% ( all other argument combinations ) @@ -392,52 +497,68 @@ // Properties of the %TypedArray Instrinsic Object // %TypedArray%.from ( source , mapfn=undefined, thisArg=undefined ) - Object.defineProperty($TypedArray$, 'from', { value: function (iterable) { - return new this(iterable); - } }); + Object.defineProperty($TypedArray$, "from", { + value: function (iterable) { + return new this(iterable); + }, + }); // %TypedArray%.of ( ...items ) - Object.defineProperty($TypedArray$, 'of', { value: function (/* ...items*/) { - return new this(arguments); - } }); + Object.defineProperty($TypedArray$, "of", { + value: function (/* ...items*/) { + return new this(arguments); + }, + }); // %TypedArray%.prototype var $TypedArrayPrototype$ = {}; $TypedArray$.prototype = $TypedArrayPrototype$; // WebIDL: getter type (unsigned long index); - Object.defineProperty($TypedArray$.prototype, '_getter', { value: function (index) { - if (arguments.length < 1) { throw SyntaxError('Not enough arguments'); } + Object.defineProperty($TypedArray$.prototype, "_getter", { + value: function (index) { + if (arguments.length < 1) { + throw SyntaxError("Not enough arguments"); + } - index = ToUint32(index); - if (index >= this.length) { return undefined; } + index = ToUint32(index); + if (index >= this.length) { + return undefined; + } - var bytes = [], i, o; - for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; - i < this.BYTES_PER_ELEMENT; - i += 1, o += 1) { - bytes.push(this.buffer._bytes[o]); - } - return this._unpack(bytes); - } }); + var bytes = [], + i, + o; + for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1, o += 1) { + bytes.push(this.buffer._bytes[o]); + } + return this._unpack(bytes); + }, + }); // NONSTANDARD: convenience alias for getter: type get(unsigned long index); - Object.defineProperty($TypedArray$.prototype, 'get', { value: $TypedArray$.prototype._getter }); + Object.defineProperty($TypedArray$.prototype, "get", { value: $TypedArray$.prototype._getter }); // WebIDL: setter void (unsigned long index, type value); - Object.defineProperty($TypedArray$.prototype, '_setter', { value: function (index, value) { - if (arguments.length < 2) { throw SyntaxError('Not enough arguments'); } + Object.defineProperty($TypedArray$.prototype, "_setter", { + value: function (index, value) { + if (arguments.length < 2) { + throw SyntaxError("Not enough arguments"); + } - index = ToUint32(index); - if (index >= this.length) { return; } + index = ToUint32(index); + if (index >= this.length) { + return; + } - var bytes = this._pack(value), i, o; - for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; - i < this.BYTES_PER_ELEMENT; - i += 1, o += 1) { - this.buffer._bytes[o] = bytes[i]; - } - } }); + var bytes = this._pack(value), + i, + o; + for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1, o += 1) { + this.buffer._bytes[o] = bytes[i]; + } + }, + }); // get %TypedArray%.prototype.buffer // get %TypedArray%.prototype.byteLength @@ -445,420 +566,555 @@ // -- applied directly to the object in the constructor // %TypedArray%.prototype.constructor - Object.defineProperty($TypedArray$.prototype, 'constructor', { value: $TypedArray$ }); + Object.defineProperty($TypedArray$.prototype, "constructor", { value: $TypedArray$ }); // %TypedArray%.prototype.copyWithin (target, start, end = this.length ) - Object.defineProperty($TypedArray$.prototype, 'copyWithin', { value: function (target, start) { - var end = arguments[2]; - - var o = ToObject(this); - var lenVal = o.length; - var len = ToUint32(lenVal); - len = max(len, 0); - var relativeTarget = ToInt32(target); - var to; - if (relativeTarget < 0) { to = max(len + relativeTarget, 0); } - else { to = min(relativeTarget, len); } - var relativeStart = ToInt32(start); - var from; - if (relativeStart < 0) { from = max(len + relativeStart, 0); } - else { from = min(relativeStart, len); } - var relativeEnd; - if (end === undefined) { relativeEnd = len; } - else { relativeEnd = ToInt32(end); } - var final; - if (relativeEnd < 0) { final = max(len + relativeEnd, 0); } - else { final = min(relativeEnd, len); } - var count = min(final - from, len - to); - var direction; - if (from < to && to < from + count) { - direction = -1; - from = from + count - 1; - to = to + count - 1; - } - else { - direction = 1; - } - while (count > 0) { - o._setter(to, o._getter(from)); - from += direction; - to += direction; - count -= 1; - } - return o; - } }); + Object.defineProperty($TypedArray$.prototype, "copyWithin", { + value: function (target, start) { + var end = arguments[2]; + + var o = ToObject(this); + var lenVal = o.length; + var len = ToUint32(lenVal); + len = max(len, 0); + var relativeTarget = ToInt32(target); + var to; + if (relativeTarget < 0) { + to = max(len + relativeTarget, 0); + } else { + to = min(relativeTarget, len); + } + var relativeStart = ToInt32(start); + var from; + if (relativeStart < 0) { + from = max(len + relativeStart, 0); + } else { + from = min(relativeStart, len); + } + var relativeEnd; + if (end === undefined) { + relativeEnd = len; + } else { + relativeEnd = ToInt32(end); + } + var final; + if (relativeEnd < 0) { + final = max(len + relativeEnd, 0); + } else { + final = min(relativeEnd, len); + } + var count = min(final - from, len - to); + var direction; + if (from < to && to < from + count) { + direction = -1; + from = from + count - 1; + to = to + count - 1; + } else { + direction = 1; + } + while (count > 0) { + o._setter(to, o._getter(from)); + from += direction; + to += direction; + count -= 1; + } + return o; + }, + }); // %TypedArray%.prototype.entries ( ) // -- defined in es6.js to shim browsers w/ native TypedArrays // %TypedArray%.prototype.every ( callbackfn, thisArg = undefined ) - Object.defineProperty($TypedArray$.prototype, 'every', { value: function (callbackfn) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - if (!IsCallable(callbackfn)) { throw TypeError(); } - var thisArg = arguments[1]; - for (var i = 0; i < len; i++) { - if (!callbackfn.call(thisArg, t._getter(i), i, t)) { return false; } - } - return true; - } }); + Object.defineProperty($TypedArray$.prototype, "every", { + value: function (callbackfn) { + if (this === undefined || this === null) { + throw TypeError(); + } + var t = Object(this); + var len = ToUint32(t.length); + if (!IsCallable(callbackfn)) { + throw TypeError(); + } + var thisArg = arguments[1]; + for (var i = 0; i < len; i++) { + if (!callbackfn.call(thisArg, t._getter(i), i, t)) { + return false; + } + } + return true; + }, + }); // %TypedArray%.prototype.fill (value, start = 0, end = this.length ) - Object.defineProperty($TypedArray$.prototype, 'fill', { value: function (value) { - var start = arguments[1], + Object.defineProperty($TypedArray$.prototype, "fill", { + value: function (value) { + var start = arguments[1], end = arguments[2]; - var o = ToObject(this); - var lenVal = o.length; - var len = ToUint32(lenVal); - len = max(len, 0); - var relativeStart = ToInt32(start); - var k; - if (relativeStart < 0) { k = max((len + relativeStart), 0); } - else { k = min(relativeStart, len); } - var relativeEnd; - if (end === undefined) { relativeEnd = len; } - else { relativeEnd = ToInt32(end); } - var final; - if (relativeEnd < 0) { final = max((len + relativeEnd), 0); } - else { final = min(relativeEnd, len); } - while (k < final) { - o._setter(k, value); - k += 1; - } - return o; - } }); + var o = ToObject(this); + var lenVal = o.length; + var len = ToUint32(lenVal); + len = max(len, 0); + var relativeStart = ToInt32(start); + var k; + if (relativeStart < 0) { + k = max(len + relativeStart, 0); + } else { + k = min(relativeStart, len); + } + var relativeEnd; + if (end === undefined) { + relativeEnd = len; + } else { + relativeEnd = ToInt32(end); + } + var final; + if (relativeEnd < 0) { + final = max(len + relativeEnd, 0); + } else { + final = min(relativeEnd, len); + } + while (k < final) { + o._setter(k, value); + k += 1; + } + return o; + }, + }); // %TypedArray%.prototype.filter ( callbackfn, thisArg = undefined ) - Object.defineProperty($TypedArray$.prototype, 'filter', { value: function (callbackfn) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - if (!IsCallable(callbackfn)) { throw TypeError(); } - var res = []; - var thisp = arguments[1]; - for (var i = 0; i < len; i++) { - var val = t._getter(i); // in case fun mutates this - if (callbackfn.call(thisp, val, i, t)) { res.push(val); } - } - return new this.constructor(res); - } }); + Object.defineProperty($TypedArray$.prototype, "filter", { + value: function (callbackfn) { + if (this === undefined || this === null) { + throw TypeError(); + } + var t = Object(this); + var len = ToUint32(t.length); + if (!IsCallable(callbackfn)) { + throw TypeError(); + } + var res = []; + var thisp = arguments[1]; + for (var i = 0; i < len; i++) { + var val = t._getter(i); // in case fun mutates this + if (callbackfn.call(thisp, val, i, t)) { + res.push(val); + } + } + return new this.constructor(res); + }, + }); // %TypedArray%.prototype.find (predicate, thisArg = undefined) - Object.defineProperty($TypedArray$.prototype, 'find', { value: function (predicate) { - var o = ToObject(this); - var lenValue = o.length; - var len = ToUint32(lenValue); - if (!IsCallable(predicate)) { throw TypeError(); } - var t = arguments.length > 1 ? arguments[1] : undefined; - var k = 0; - while (k < len) { - var kValue = o._getter(k); - var testResult = predicate.call(t, kValue, k, o); - if (testResult) { return kValue; } - ++k; - } - return undefined; - } }); + Object.defineProperty($TypedArray$.prototype, "find", { + value: function (predicate) { + var o = ToObject(this); + var lenValue = o.length; + var len = ToUint32(lenValue); + if (!IsCallable(predicate)) { + throw TypeError(); + } + var t = arguments.length > 1 ? arguments[1] : undefined; + var k = 0; + while (k < len) { + var kValue = o._getter(k); + var testResult = predicate.call(t, kValue, k, o); + if (testResult) { + return kValue; + } + ++k; + } + return undefined; + }, + }); // %TypedArray%.prototype.findIndex ( predicate, thisArg = undefined ) - Object.defineProperty($TypedArray$.prototype, 'findIndex', { value: function (predicate) { - var o = ToObject(this); - var lenValue = o.length; - var len = ToUint32(lenValue); - if (!IsCallable(predicate)) { throw TypeError(); } - var t = arguments.length > 1 ? arguments[1] : undefined; - var k = 0; - while (k < len) { - var kValue = o._getter(k); - var testResult = predicate.call(t, kValue, k, o); - if (testResult) { return k; } - ++k; - } - return -1; - } }); + Object.defineProperty($TypedArray$.prototype, "findIndex", { + value: function (predicate) { + var o = ToObject(this); + var lenValue = o.length; + var len = ToUint32(lenValue); + if (!IsCallable(predicate)) { + throw TypeError(); + } + var t = arguments.length > 1 ? arguments[1] : undefined; + var k = 0; + while (k < len) { + var kValue = o._getter(k); + var testResult = predicate.call(t, kValue, k, o); + if (testResult) { + return k; + } + ++k; + } + return -1; + }, + }); // %TypedArray%.prototype.forEach ( callbackfn, thisArg = undefined ) - Object.defineProperty($TypedArray$.prototype, 'forEach', { value: function (callbackfn) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - if (!IsCallable(callbackfn)) { throw TypeError(); } - var thisp = arguments[1]; - for (var i = 0; i < len; i++) { callbackfn.call(thisp, t._getter(i), i, t); } - } }); + Object.defineProperty($TypedArray$.prototype, "forEach", { + value: function (callbackfn) { + if (this === undefined || this === null) { + throw TypeError(); + } + var t = Object(this); + var len = ToUint32(t.length); + if (!IsCallable(callbackfn)) { + throw TypeError(); + } + var thisp = arguments[1]; + for (var i = 0; i < len; i++) { + callbackfn.call(thisp, t._getter(i), i, t); + } + }, + }); // %TypedArray%.prototype.indexOf (searchElement, fromIndex = 0 ) - Object.defineProperty($TypedArray$.prototype, 'indexOf', { value: function (searchElement) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - if (len === 0) { return -1; } - var n = 0; - if (arguments.length > 0) { - n = Number(arguments[1]); - if (n !== n) { - n = 0; - } - else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) { - n = (n > 0 || -1) * floor(abs(n)); + Object.defineProperty($TypedArray$.prototype, "indexOf", { + value: function (searchElement) { + if (this === undefined || this === null) { + throw TypeError(); } - } - if (n >= len) { return -1; } - var k = n >= 0 ? n : max(len - abs(n), 0); - for (; k < len; k++) { - if (t._getter(k) === searchElement) { - return k; + var t = Object(this); + var len = ToUint32(t.length); + if (len === 0) { + return -1; } - } - return -1; - } }); + var n = 0; + if (arguments.length > 0) { + n = Number(arguments[1]); + if (n !== n) { + n = 0; + } else if (n !== 0 && n !== 1 / 0 && n !== -(1 / 0)) { + n = (n > 0 || -1) * floor(abs(n)); + } + } + if (n >= len) { + return -1; + } + var k = n >= 0 ? n : max(len - abs(n), 0); + for (; k < len; k++) { + if (t._getter(k) === searchElement) { + return k; + } + } + return -1; + }, + }); // %TypedArray%.prototype.join ( separator ) - Object.defineProperty($TypedArray$.prototype, 'join', { value: function (separator) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - var tmp = Array(len); - for (var i = 0; i < len; ++i) { tmp[i] = t._getter(i); } - return tmp.join(separator === undefined ? ',' : separator); // Hack for IE7 - } }); + Object.defineProperty($TypedArray$.prototype, "join", { + value: function (separator) { + if (this === undefined || this === null) { + throw TypeError(); + } + var t = Object(this); + var len = ToUint32(t.length); + var tmp = Array(len); + for (var i = 0; i < len; ++i) { + tmp[i] = t._getter(i); + } + return tmp.join(separator === undefined ? "," : separator); // Hack for IE7 + }, + }); // %TypedArray%.prototype.keys ( ) // -- defined in es6.js to shim browsers w/ native TypedArrays // %TypedArray%.prototype.lastIndexOf ( searchElement, fromIndex = this.length-1 ) - Object.defineProperty($TypedArray$.prototype, 'lastIndexOf', { value: function (searchElement) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - if (len === 0) { return -1; } - var n = len; - if (arguments.length > 1) { - n = Number(arguments[1]); - if (n !== n) { - n = 0; - } - else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) { - n = (n > 0 || -1) * floor(abs(n)); + Object.defineProperty($TypedArray$.prototype, "lastIndexOf", { + value: function (searchElement) { + if (this === undefined || this === null) { + throw TypeError(); } - } - var k = n >= 0 ? min(n, len - 1) : len - abs(n); - for (; k >= 0; k--) { - if (t._getter(k) === searchElement) { return k; } - } - return -1; - } }); + var t = Object(this); + var len = ToUint32(t.length); + if (len === 0) { + return -1; + } + var n = len; + if (arguments.length > 1) { + n = Number(arguments[1]); + if (n !== n) { + n = 0; + } else if (n !== 0 && n !== 1 / 0 && n !== -(1 / 0)) { + n = (n > 0 || -1) * floor(abs(n)); + } + } + var k = n >= 0 ? min(n, len - 1) : len - abs(n); + for (; k >= 0; k--) { + if (t._getter(k) === searchElement) { + return k; + } + } + return -1; + }, + }); // get %TypedArray%.prototype.length // -- applied directly to the object in the constructor // %TypedArray%.prototype.map ( callbackfn, thisArg = undefined ) - Object.defineProperty($TypedArray$.prototype, 'map', { value: function (callbackfn) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - if (!IsCallable(callbackfn)) { throw TypeError(); } - var res = []; res.length = len; - var thisp = arguments[1]; - for (var i = 0; i < len; i++) { res[i] = callbackfn.call(thisp, t._getter(i), i, t); } - return new this.constructor(res); - } }); + Object.defineProperty($TypedArray$.prototype, "map", { + value: function (callbackfn) { + if (this === undefined || this === null) { + throw TypeError(); + } + var t = Object(this); + var len = ToUint32(t.length); + if (!IsCallable(callbackfn)) { + throw TypeError(); + } + var res = []; + res.length = len; + var thisp = arguments[1]; + for (var i = 0; i < len; i++) { + res[i] = callbackfn.call(thisp, t._getter(i), i, t); + } + return new this.constructor(res); + }, + }); // %TypedArray%.prototype.reduce ( callbackfn [, initialValue] ) - Object.defineProperty($TypedArray$.prototype, 'reduce', { value: function (callbackfn) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - if (!IsCallable(callbackfn)) { throw TypeError(); } - // no value to return if no initial value and an empty array - if (len === 0 && arguments.length === 1) { throw TypeError(); } - var k = 0; - var accumulator; - if (arguments.length >= 2) { - accumulator = arguments[1]; - } - else { - accumulator = t._getter(k++); - } - while (k < len) { - accumulator = callbackfn.call(undefined, accumulator, t._getter(k), k, t); - k++; - } - return accumulator; - } }); + Object.defineProperty($TypedArray$.prototype, "reduce", { + value: function (callbackfn) { + if (this === undefined || this === null) { + throw TypeError(); + } + var t = Object(this); + var len = ToUint32(t.length); + if (!IsCallable(callbackfn)) { + throw TypeError(); + } + // no value to return if no initial value and an empty array + if (len === 0 && arguments.length === 1) { + throw TypeError(); + } + var k = 0; + var accumulator; + if (arguments.length >= 2) { + accumulator = arguments[1]; + } else { + accumulator = t._getter(k++); + } + while (k < len) { + accumulator = callbackfn.call(undefined, accumulator, t._getter(k), k, t); + k++; + } + return accumulator; + }, + }); // %TypedArray%.prototype.reduceRight ( callbackfn [, initialValue] ) - Object.defineProperty($TypedArray$.prototype, 'reduceRight', { value: function (callbackfn) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - if (!IsCallable(callbackfn)) { throw TypeError(); } - // no value to return if no initial value, empty array - if (len === 0 && arguments.length === 1) { throw TypeError(); } - var k = len - 1; - var accumulator; - if (arguments.length >= 2) { - accumulator = arguments[1]; - } - else { - accumulator = t._getter(k--); - } - while (k >= 0) { - accumulator = callbackfn.call(undefined, accumulator, t._getter(k), k, t); - k--; - } - return accumulator; - } }); + Object.defineProperty($TypedArray$.prototype, "reduceRight", { + value: function (callbackfn) { + if (this === undefined || this === null) { + throw TypeError(); + } + var t = Object(this); + var len = ToUint32(t.length); + if (!IsCallable(callbackfn)) { + throw TypeError(); + } + // no value to return if no initial value, empty array + if (len === 0 && arguments.length === 1) { + throw TypeError(); + } + var k = len - 1; + var accumulator; + if (arguments.length >= 2) { + accumulator = arguments[1]; + } else { + accumulator = t._getter(k--); + } + while (k >= 0) { + accumulator = callbackfn.call(undefined, accumulator, t._getter(k), k, t); + k--; + } + return accumulator; + }, + }); // %TypedArray%.prototype.reverse ( ) - Object.defineProperty($TypedArray$.prototype, 'reverse', { value: function () { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - var half = floor(len / 2); - for (var i = 0, j = len - 1; i < half; ++i, --j) { - var tmp = t._getter(i); - t._setter(i, t._getter(j)); - t._setter(j, tmp); - } - return t; - } }); + Object.defineProperty($TypedArray$.prototype, "reverse", { + value: function () { + if (this === undefined || this === null) { + throw TypeError(); + } + var t = Object(this); + var len = ToUint32(t.length); + var half = floor(len / 2); + for (var i = 0, j = len - 1; i < half; ++i, --j) { + var tmp = t._getter(i); + t._setter(i, t._getter(j)); + t._setter(j, tmp); + } + return t; + }, + }); // %TypedArray%.prototype.set(array, offset = 0 ) // %TypedArray%.prototype.set(typedArray, offset = 0 ) // WebIDL: void set(TypedArray array, optional unsigned long offset); // WebIDL: void set(sequence array, optional unsigned long offset); - Object.defineProperty($TypedArray$.prototype, 'set', { value: function (index, value) { - if (arguments.length < 1) { throw SyntaxError('Not enough arguments'); } - var array, sequence, offset, len, - i, s, d, - byteOffset, byteLength, tmp; - - if (typeof arguments[0] === 'object' && arguments[0].constructor === this.constructor) { - // void set(TypedArray array, optional unsigned long offset); - array = arguments[0]; - offset = ToUint32(arguments[1]); - - if (offset + array.length > this.length) { - throw RangeError('Offset plus length of array is out of range'); + Object.defineProperty($TypedArray$.prototype, "set", { + value: function (index, value) { + if (arguments.length < 1) { + throw SyntaxError("Not enough arguments"); } + var array, sequence, offset, len, i, s, d, byteOffset, byteLength, tmp; - byteOffset = this.byteOffset + offset * this.BYTES_PER_ELEMENT; - byteLength = array.length * this.BYTES_PER_ELEMENT; + if (typeof arguments[0] === "object" && arguments[0].constructor === this.constructor) { + // void set(TypedArray array, optional unsigned long offset); + array = arguments[0]; + offset = ToUint32(arguments[1]); - if (array.buffer === this.buffer) { - tmp = []; - for (i = 0, s = array.byteOffset; i < byteLength; i += 1, s += 1) { - tmp[i] = array.buffer._bytes[s]; + if (offset + array.length > this.length) { + throw RangeError("Offset plus length of array is out of range"); } - for (i = 0, d = byteOffset; i < byteLength; i += 1, d += 1) { - this.buffer._bytes[d] = tmp[i]; + + byteOffset = this.byteOffset + offset * this.BYTES_PER_ELEMENT; + byteLength = array.length * this.BYTES_PER_ELEMENT; + + if (array.buffer === this.buffer) { + tmp = []; + for (i = 0, s = array.byteOffset; i < byteLength; i += 1, s += 1) { + tmp[i] = array.buffer._bytes[s]; + } + for (i = 0, d = byteOffset; i < byteLength; i += 1, d += 1) { + this.buffer._bytes[d] = tmp[i]; + } + } else { + for (i = 0, s = array.byteOffset, d = byteOffset; i < byteLength; i += 1, s += 1, d += 1) { + this.buffer._bytes[d] = array.buffer._bytes[s]; + } } - } - else { - for (i = 0, s = array.byteOffset, d = byteOffset; - i < byteLength; i += 1, s += 1, d += 1) { - this.buffer._bytes[d] = array.buffer._bytes[s]; + } else if (typeof arguments[0] === "object" && typeof arguments[0].length !== "undefined") { + // void set(sequence array, optional unsigned long offset); + sequence = arguments[0]; + len = ToUint32(sequence.length); + offset = ToUint32(arguments[1]); + + if (offset + len > this.length) { + throw RangeError("Offset plus length of array is out of range"); } - } - } - else if (typeof arguments[0] === 'object' && typeof arguments[0].length !== 'undefined') { - // void set(sequence array, optional unsigned long offset); - sequence = arguments[0]; - len = ToUint32(sequence.length); - offset = ToUint32(arguments[1]); - if (offset + len > this.length) { - throw RangeError('Offset plus length of array is out of range'); - } - - for (i = 0; i < len; i += 1) { - s = sequence[i]; - this._setter(offset + i, Number(s)); + for (i = 0; i < len; i += 1) { + s = sequence[i]; + this._setter(offset + i, Number(s)); + } + } else { + throw TypeError("Unexpected argument type(s)"); } - } - else { - throw TypeError('Unexpected argument type(s)'); - } - } }); + }, + }); // %TypedArray%.prototype.slice ( start, end ) - Object.defineProperty($TypedArray$.prototype, 'slice', { value: function (start, end) { - var o = ToObject(this); - var lenVal = o.length; - var len = ToUint32(lenVal); - var relativeStart = ToInt32(start); - var k = (relativeStart < 0) ? max(len + relativeStart, 0) : min(relativeStart, len); - var relativeEnd = (end === undefined) ? len : ToInt32(end); - var final = (relativeEnd < 0) ? max(len + relativeEnd, 0) : min(relativeEnd, len); - var count = final - k; - var c = o.constructor; - var a = new c(count); - var n = 0; - while (k < final) { - var kValue = o._getter(k); - a._setter(n, kValue); - ++k; - ++n; - } - return a; - } }); + Object.defineProperty($TypedArray$.prototype, "slice", { + value: function (start, end) { + var o = ToObject(this); + var lenVal = o.length; + var len = ToUint32(lenVal); + var relativeStart = ToInt32(start); + var k = relativeStart < 0 ? max(len + relativeStart, 0) : min(relativeStart, len); + var relativeEnd = end === undefined ? len : ToInt32(end); + var final = relativeEnd < 0 ? max(len + relativeEnd, 0) : min(relativeEnd, len); + var count = final - k; + var c = o.constructor; + var a = new c(count); + var n = 0; + while (k < final) { + var kValue = o._getter(k); + a._setter(n, kValue); + ++k; + ++n; + } + return a; + }, + }); // %TypedArray%.prototype.some ( callbackfn, thisArg = undefined ) - Object.defineProperty($TypedArray$.prototype, 'some', { value: function (callbackfn) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - if (!IsCallable(callbackfn)) { throw TypeError(); } - var thisp = arguments[1]; - for (var i = 0; i < len; i++) { - if (callbackfn.call(thisp, t._getter(i), i, t)) { - return true; + Object.defineProperty($TypedArray$.prototype, "some", { + value: function (callbackfn) { + if (this === undefined || this === null) { + throw TypeError(); } - } - return false; - } }); + var t = Object(this); + var len = ToUint32(t.length); + if (!IsCallable(callbackfn)) { + throw TypeError(); + } + var thisp = arguments[1]; + for (var i = 0; i < len; i++) { + if (callbackfn.call(thisp, t._getter(i), i, t)) { + return true; + } + } + return false; + }, + }); // %TypedArray%.prototype.sort ( comparefn ) - Object.defineProperty($TypedArray$.prototype, 'sort', { value: function (comparefn) { - if (this === undefined || this === null) { throw TypeError(); } - var t = Object(this); - var len = ToUint32(t.length); - var tmp = Array(len); - for (var i = 0; i < len; ++i) { tmp[i] = t._getter(i); } - if (comparefn) { tmp.sort(comparefn); } - else { tmp.sort(); } // Hack for IE8/9 - for (i = 0; i < len; ++i) { t._setter(i, tmp[i]); } - return t; - } }); + Object.defineProperty($TypedArray$.prototype, "sort", { + value: function (comparefn) { + if (this === undefined || this === null) { + throw TypeError(); + } + var t = Object(this); + var len = ToUint32(t.length); + var tmp = Array(len); + for (var i = 0; i < len; ++i) { + tmp[i] = t._getter(i); + } + if (comparefn) { + tmp.sort(comparefn); + } else { + tmp.sort(); + } // Hack for IE8/9 + for (i = 0; i < len; ++i) { + t._setter(i, tmp[i]); + } + return t; + }, + }); // %TypedArray%.prototype.subarray(begin = 0, end = this.length ) // WebIDL: TypedArray subarray(long begin, optional long end); - Object.defineProperty($TypedArray$.prototype, 'subarray', { value: function (start, end) { - function clamp (v, min, max) { return v < min ? min : v > max ? max : v; } + Object.defineProperty($TypedArray$.prototype, "subarray", { + value: function (start, end) { + function clamp(v, min, max) { + return v < min ? min : v > max ? max : v; + } - start = ToInt32(start); - end = ToInt32(end); + start = ToInt32(start); + end = ToInt32(end); - if (arguments.length < 1) { start = 0; } - if (arguments.length < 2) { end = this.length; } + if (arguments.length < 1) { + start = 0; + } + if (arguments.length < 2) { + end = this.length; + } - if (start < 0) { start = this.length + start; } - if (end < 0) { end = this.length + end; } + if (start < 0) { + start = this.length + start; + } + if (end < 0) { + end = this.length + end; + } - start = clamp(start, 0, this.length); - end = clamp(end, 0, this.length); + start = clamp(start, 0, this.length); + end = clamp(end, 0, this.length); - var len = end - start; - if (len < 0) { - len = 0; - } + var len = end - start; + if (len < 0) { + len = 0; + } - return new this.constructor( - this.buffer, this.byteOffset + start * this.BYTES_PER_ELEMENT, len); - } }); + return new this.constructor(this.buffer, this.byteOffset + start * this.BYTES_PER_ELEMENT, len); + }, + }); // %TypedArray%.prototype.toLocaleString ( ) // %TypedArray%.prototype.toString ( ) @@ -867,18 +1123,17 @@ // get %TypedArray%.prototype [ @@toStringTag ] // -- defined in es6.js to shim browsers w/ native TypedArrays - function makeTypedArray (elementSize, pack, unpack) { + function makeTypedArray(elementSize, pack, unpack) { // Each TypedArray type requires a distinct constructor instance with // identical logic, which this produces. var TypedArray = function () { - Object.defineProperty(this, 'constructor', { value: TypedArray }); + Object.defineProperty(this, "constructor", { value: TypedArray }); $TypedArray$.apply(this, arguments); makeArrayAccessors(this); }; - if ('__proto__' in TypedArray) { + if ("__proto__" in TypedArray) { TypedArray.__proto__ = $TypedArray$; - } - else { + } else { TypedArray.from = $TypedArray$.from; TypedArray.of = $TypedArray$.of; } @@ -890,9 +1145,9 @@ TypedArray.prototype = new TypedArrayPrototype(); - Object.defineProperty(TypedArray.prototype, 'BYTES_PER_ELEMENT', { value: elementSize }); - Object.defineProperty(TypedArray.prototype, '_pack', { value: pack }); - Object.defineProperty(TypedArray.prototype, '_unpack', { value: unpack }); + Object.defineProperty(TypedArray.prototype, "BYTES_PER_ELEMENT", { value: elementSize }); + Object.defineProperty(TypedArray.prototype, "_pack", { value: pack }); + Object.defineProperty(TypedArray.prototype, "_unpack", { value: unpack }); return TypedArray; } @@ -916,41 +1171,50 @@ global.Uint32Array = global.Uint32Array || Uint32Array; global.Float32Array = global.Float32Array || Float32Array; global.Float64Array = global.Float64Array || Float64Array; - }()); + })(); // // 6 The DataView View Type // (function () { - function r (array, index) { + function r(array, index) { return IsCallable(array.get) ? array.get(index) : array[index]; } var IS_BIG_ENDIAN = (function () { var u16array = new Uint16Array([0x1234]), - u8array = new Uint8Array(u16array.buffer); + u8array = new Uint8Array(u16array.buffer); return r(u8array, 0) === 0x12; - }()); + })(); // DataView(buffer, byteOffset=0, byteLength=undefined) // WebIDL: Constructor(ArrayBuffer buffer, // optional unsigned long byteOffset, // optional unsigned long byteLength) - function DataView (buffer, byteOffset, byteLength) { - if (!(buffer instanceof ArrayBuffer || Class(buffer) === 'ArrayBuffer')) { throw TypeError(); } + function DataView(buffer, byteOffset, byteLength) { + if (!(buffer instanceof ArrayBuffer || Class(buffer) === "ArrayBuffer")) { + throw TypeError(); + } byteOffset = ToUint32(byteOffset); - if (byteOffset > buffer.byteLength) { throw RangeError('byteOffset out of range'); } + if (byteOffset > buffer.byteLength) { + throw RangeError("byteOffset out of range"); + } - if (byteLength === undefined) { byteLength = buffer.byteLength - byteOffset; } - else { byteLength = ToUint32(byteLength); } + if (byteLength === undefined) { + byteLength = buffer.byteLength - byteOffset; + } else { + byteLength = ToUint32(byteLength); + } - if ((byteOffset + byteLength) > buffer.byteLength) { throw RangeError('byteOffset and length reference an area beyond the end of the buffer'); } + if (byteOffset + byteLength > buffer.byteLength) { + throw RangeError("byteOffset and length reference an area beyond the end of the buffer"); + } - Object.defineProperty(this, 'buffer', { value: buffer }); - Object.defineProperty(this, 'byteLength', { value: byteLength }); - Object.defineProperty(this, 'byteOffset', { value: byteOffset }); + Object.defineProperty(this, "buffer", { value: buffer }); + Object.defineProperty(this, "byteLength", { value: byteLength }); + Object.defineProperty(this, "byteOffset", { value: byteOffset }); } // get DataView.prototype.buffer @@ -958,47 +1222,61 @@ // get DataView.prototype.byteOffset // -- applied directly to instances by the constructor - function makeGetter (arrayType) { - return function GetViewValue (byteOffset, littleEndian) { + function makeGetter(arrayType) { + return function GetViewValue(byteOffset, littleEndian) { byteOffset = ToUint32(byteOffset); - if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) { throw RangeError('Array index out of range'); } + if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) { + throw RangeError("Array index out of range"); + } byteOffset += this.byteOffset; var uint8Array = new Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT), - bytes = []; - for (var i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) { bytes.push(r(uint8Array, i)); } + bytes = []; + for (var i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) { + bytes.push(r(uint8Array, i)); + } - if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) { bytes.reverse(); } + if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) { + bytes.reverse(); + } return r(new arrayType(new Uint8Array(bytes).buffer), 0); }; } - Object.defineProperty(DataView.prototype, 'getUint8', { value: makeGetter(Uint8Array) }); - Object.defineProperty(DataView.prototype, 'getInt8', { value: makeGetter(Int8Array) }); - Object.defineProperty(DataView.prototype, 'getUint16', { value: makeGetter(Uint16Array) }); - Object.defineProperty(DataView.prototype, 'getInt16', { value: makeGetter(Int16Array) }); - Object.defineProperty(DataView.prototype, 'getUint32', { value: makeGetter(Uint32Array) }); - Object.defineProperty(DataView.prototype, 'getInt32', { value: makeGetter(Int32Array) }); - Object.defineProperty(DataView.prototype, 'getFloat32', { value: makeGetter(Float32Array) }); - Object.defineProperty(DataView.prototype, 'getFloat64', { value: makeGetter(Float64Array) }); - - function makeSetter (arrayType) { - return function SetViewValue (byteOffset, value, littleEndian) { + Object.defineProperty(DataView.prototype, "getUint8", { value: makeGetter(Uint8Array) }); + Object.defineProperty(DataView.prototype, "getInt8", { value: makeGetter(Int8Array) }); + Object.defineProperty(DataView.prototype, "getUint16", { value: makeGetter(Uint16Array) }); + Object.defineProperty(DataView.prototype, "getInt16", { value: makeGetter(Int16Array) }); + Object.defineProperty(DataView.prototype, "getUint32", { value: makeGetter(Uint32Array) }); + Object.defineProperty(DataView.prototype, "getInt32", { value: makeGetter(Int32Array) }); + Object.defineProperty(DataView.prototype, "getFloat32", { value: makeGetter(Float32Array) }); + Object.defineProperty(DataView.prototype, "getFloat64", { value: makeGetter(Float64Array) }); + + function makeSetter(arrayType) { + return function SetViewValue(byteOffset, value, littleEndian) { byteOffset = ToUint32(byteOffset); - if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) { throw RangeError('Array index out of range'); } + if (byteOffset + arrayType.BYTES_PER_ELEMENT > this.byteLength) { + throw RangeError("Array index out of range"); + } // Get bytes var typeArray = new arrayType([value]), - byteArray = new Uint8Array(typeArray.buffer), - bytes = [], i, byteView; + byteArray = new Uint8Array(typeArray.buffer), + bytes = [], + i, + byteView; - for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) { bytes.push(r(byteArray, i)); } + for (i = 0; i < arrayType.BYTES_PER_ELEMENT; i += 1) { + bytes.push(r(byteArray, i)); + } // Flip if necessary - if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) { bytes.reverse(); } + if (Boolean(littleEndian) === Boolean(IS_BIG_ENDIAN)) { + bytes.reverse(); + } // Write them byteView = new Uint8Array(this.buffer, byteOffset, arrayType.BYTES_PER_ELEMENT); @@ -1006,17 +1284,15 @@ }; } - Object.defineProperty(DataView.prototype, 'setUint8', { value: makeSetter(Uint8Array) }); - Object.defineProperty(DataView.prototype, 'setInt8', { value: makeSetter(Int8Array) }); - Object.defineProperty(DataView.prototype, 'setUint16', { value: makeSetter(Uint16Array) }); - Object.defineProperty(DataView.prototype, 'setInt16', { value: makeSetter(Int16Array) }); - Object.defineProperty(DataView.prototype, 'setUint32', { value: makeSetter(Uint32Array) }); - Object.defineProperty(DataView.prototype, 'setInt32', { value: makeSetter(Int32Array) }); - Object.defineProperty(DataView.prototype, 'setFloat32', { value: makeSetter(Float32Array) }); - Object.defineProperty(DataView.prototype, 'setFloat64', { value: makeSetter(Float64Array) }); + Object.defineProperty(DataView.prototype, "setUint8", { value: makeSetter(Uint8Array) }); + Object.defineProperty(DataView.prototype, "setInt8", { value: makeSetter(Int8Array) }); + Object.defineProperty(DataView.prototype, "setUint16", { value: makeSetter(Uint16Array) }); + Object.defineProperty(DataView.prototype, "setInt16", { value: makeSetter(Int16Array) }); + Object.defineProperty(DataView.prototype, "setUint32", { value: makeSetter(Uint32Array) }); + Object.defineProperty(DataView.prototype, "setInt32", { value: makeSetter(Int32Array) }); + Object.defineProperty(DataView.prototype, "setFloat32", { value: makeSetter(Float32Array) }); + Object.defineProperty(DataView.prototype, "setFloat64", { value: makeSetter(Float64Array) }); global.DataView = global.DataView || DataView; - - }()); - -}(self)); + })(); +})(self); diff --git a/online/sample/error.json b/online/sample/error.json index 72dfd365..ce536dcf 100644 --- a/online/sample/error.json +++ b/online/sample/error.json @@ -1,10 +1,7 @@ { "title": "Error Model", "type": "object", - "required": [ - "code", - "message" - ], + "required": ["code", "message"], "properties": { "code": { "type": "integer", diff --git a/online/src/js/analytics.js b/online/src/js/analytics.js index 4876fe6b..253b62ea 100644 --- a/online/src/js/analytics.js +++ b/online/src/js/analytics.js @@ -7,7 +7,7 @@ module.exports = analytics; /** * Initializes Google Analytics and sends a "pageview" hit */ -function analytics () { +function analytics() { if (!debug) { if (typeof gtag === "undefined") { console.warn("Google Analytics is not enabled"); @@ -29,13 +29,12 @@ analytics.trackEvent = function (category, action, label, value) { if (!debug) { gtag("event", action, { - event_category: category, // eslint-disable-line camelcase - event_label: label, // eslint-disable-line camelcase - value + event_category: category, // eslint-disable-line camelcase + event_label: label, // eslint-disable-line camelcase + value, }); } - } - catch (error) { + } catch (error) { analytics.trackError(error); } }; @@ -56,8 +55,7 @@ analytics.trackError = function (err) { stack: err.stack, }); } - } - catch (error) { + } catch (error) { console.error(err); } }; diff --git a/online/src/js/dropdowns.js b/online/src/js/dropdowns.js index cd4b8b01..a8492f51 100644 --- a/online/src/js/dropdowns.js +++ b/online/src/js/dropdowns.js @@ -8,7 +8,7 @@ module.exports = dropdowns; /** * Adds all the drop-down menu functionality */ -function dropdowns () { +function dropdowns() { // Set the initial method name (in case it was set by the querystring module) setSelectedMethod(form.method.button.val()); @@ -45,7 +45,7 @@ function dropdowns () { * @param {jQuery} menu * @param {function} setLabel */ -function onChange (menu, setLabel) { +function onChange(menu, setLabel) { let dropdown = menu.parent(".dropdown"); // Don't auto-close the menu when items are clicked @@ -66,9 +66,14 @@ function onChange (menu, setLabel) { /** * Sets the "allow" label, based on which options are selected */ -function setAllowLabel () { +function setAllowLabel() { let values = getCheckedAndUnchecked( - form.allow.json, form.allow.yaml, form.allow.text, form.allow.empty, form.allow.unknown); + form.allow.json, + form.allow.yaml, + form.allow.text, + form.allow.empty, + form.allow.unknown, + ); switch (values.checked.length) { case 0: @@ -94,7 +99,7 @@ function setAllowLabel () { /** * Sets the "refs" label, based on which options are selected */ -function setRefsLabel () { +function setRefsLabel() { let values = getCheckedAndUnchecked(form.refs.external, form.refs.circular); switch (values.checked.length) { @@ -112,7 +117,7 @@ function setRefsLabel () { /** * Sets the "validate" label, based on which options are selected */ -function setValidateLabel () { +function setValidateLabel() { let values = getCheckedAndUnchecked(form.validate.schema, form.validate.spec); switch (values.checked.length) { @@ -132,7 +137,7 @@ function setValidateLabel () { * * @param {string} methodName - The method name (e.g. "validate", "dereference", etc.) */ -function setSelectedMethod (methodName) { +function setSelectedMethod(methodName) { form.method.button.val(methodName.toLowerCase()); methodName = methodName[0].toUpperCase() + methodName.substr(1); @@ -146,7 +151,7 @@ function setSelectedMethod (methodName) { * * @param {jQuery} checkbox */ -function trackCheckbox (checkbox) { +function trackCheckbox(checkbox) { checkbox.on("change", () => { let value = checkbox.is(":checked") ? 1 : 0; analytics.trackEvent("options", "changed", checkbox.attr("name"), value); @@ -158,7 +163,7 @@ function trackCheckbox (checkbox) { * * @param {string} methodName - The method name (e.g. "validate", "dereference", etc.) */ -function trackButtonLabel (methodName) { +function trackButtonLabel(methodName) { let value = ["", "parse", "resolve", "bundle", "dereference", "validate"].indexOf(methodName); analytics.trackEvent("options", "changed", "method", value); } @@ -169,14 +174,14 @@ function trackButtonLabel (methodName) { * @param {...jQuery} _checkboxes * @returns {{checked: string[], unchecked: string[]}} */ -function getCheckedAndUnchecked (_checkboxes) { - let checked = [], unchecked = []; +function getCheckedAndUnchecked(_checkboxes) { + let checked = [], + unchecked = []; for (let i = 0; i < arguments.length; i++) { let checkbox = arguments[i]; if (checkbox.is(":checked")) { checked.push(checkbox.data("value")); - } - else { + } else { unchecked.push(checkbox.data("value")); } } diff --git a/online/src/js/editors.js b/online/src/js/editors.js index 9414593e..c030257d 100644 --- a/online/src/js/editors.js +++ b/online/src/js/editors.js @@ -8,7 +8,7 @@ module.exports = editors; /** * Initializes the ACE text editors */ -function editors () { +function editors() { editors.textBox = form.textBox = ace.edit("text-box"); form.textBox.setTheme(ACE_THEME); let session = form.textBox.getSession(); @@ -66,19 +66,38 @@ editors.addResult = function (title, content) { // Add a tab and pane editors.tabs.append( - '" + '", ); editors.panes.append( - '
' + - '
' +
-    "
" + '
' + + '
' +
+      "
", ); // Set the tab title let shortTitle = getShortTitle(title) || "Sample API"; - editors.tabs.find("#" + titleId).text(shortTitle).attr("title", title); + editors.tabs + .find("#" + titleId) + .text(shortTitle) + .attr("title", title); // Set the
 content
   content = toText(content);
@@ -98,7 +117,7 @@ editors.addResult = function (title, content) {
  * @param {string} title
  * @returns {string}
  */
-function getShortTitle (title) {
+function getShortTitle(title) {
   // Get just the file name
   let lastSlash = title.lastIndexOf("/");
   if (lastSlash !== -1) {
@@ -116,12 +135,13 @@ function getShortTitle (title) {
 /**
  * Ensures that the results are visible, and plays an animation to get the user's attention.
  */
-function showResults () {
+function showResults() {
   let results = editors.results;
 
   setTimeout(() => {
     results[0].scrollIntoView();
-    results.addClass("animated")
+    results
+      .addClass("animated")
       .one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", () => {
         // Remove the "animated" class when the animation ends,
         // so we can replay the animation again next time
@@ -137,24 +157,22 @@ function showResults () {
  * @param {object} obj
  * @returns {object}
  */
-function toText (obj) {
+function toText(obj) {
   if (obj instanceof Error) {
     return {
       isJSON: false,
-      text: obj.message + "\n\n" + obj.stack
+      text: obj.message + "\n\n" + obj.stack,
     };
-  }
-  else {
+  } else {
     try {
       return {
         isJSON: true,
-        text: JSON.stringify(obj, null, 2)
+        text: JSON.stringify(obj, null, 2),
       };
-    }
-    catch (e) {
+    } catch (e) {
       return {
         isJSON: false,
-        text: "This API is valid, but it cannot be shown because it contains circular references\n\n" + e.stack
+        text: "This API is valid, but it cannot be shown because it contains circular references\n\n" + e.stack,
       };
     }
   }
diff --git a/online/src/js/form.js b/online/src/js/form.js
index bf11c697..03f96160 100644
--- a/online/src/js/form.js
+++ b/online/src/js/form.js
@@ -7,7 +7,7 @@ module.exports = form;
 /**
  * Finds all form fields and exposes them as properties.
  */
-function form () {
+function form() {
   form.form = $("#swagger-parser-form");
 
   form.allow = {
@@ -17,31 +17,31 @@ function form () {
     yaml: form.form.find("input[name=allow-yaml]"),
     text: form.form.find("input[name=allow-text]"),
     empty: form.form.find("input[name=allow-empty]"),
-    unknown: form.form.find("input[name=allow-unknown]")
+    unknown: form.form.find("input[name=allow-unknown]"),
   };
 
   form.refs = {
     label: form.form.find("#refs-label"),
     menu: form.form.find("#refs-menu"),
     external: form.form.find("input[name=refs-external]"),
-    circular: form.form.find("input[name=refs-circular]")
+    circular: form.form.find("input[name=refs-circular]"),
   };
 
   form.validate = {
     label: form.form.find("#validate-label"),
     menu: form.form.find("#validate-menu"),
     schema: form.form.find("input[name=validate-schema]"),
-    spec: form.form.find("input[name=validate-spec]")
+    spec: form.form.find("input[name=validate-spec]"),
   };
 
   form.tabs = {
     url: form.form.find("#url-tab"),
-    text: form.form.find("#text-tab")
+    text: form.form.find("#text-tab"),
   };
 
   form.method = {
     button: form.form.find("button[name=method]"),
-    menu: form.form.find("#method-menu")
+    menu: form.form.find("#method-menu"),
   };
 
   form.samples = {
@@ -52,7 +52,7 @@ function form () {
     text: {
       container: form.form.find("#text-sample"),
       link: form.form.find("#text-sample-link"),
-    }
+    },
   };
 
   form.url = form.form.find("input[name=url]");
@@ -67,18 +67,26 @@ function form () {
 form.getOptions = function () {
   return {
     parse: {
-      json: form.allow.json.is(":checked") ? {
-        allowEmpty: form.allow.empty.is(":checked"),
-      } : false,
-      yaml: form.allow.yaml.is(":checked") ? {
-        allowEmpty: form.allow.empty.is(":checked"),
-      } : false,
-      text: form.allow.text.is(":checked") ? {
-        allowEmpty: form.allow.empty.is(":checked"),
-      } : false,
-      binary: form.allow.unknown.is(":checked") ? {
-        allowEmpty: form.allow.empty.is(":checked"),
-      } : false,
+      json: form.allow.json.is(":checked")
+        ? {
+            allowEmpty: form.allow.empty.is(":checked"),
+          }
+        : false,
+      yaml: form.allow.yaml.is(":checked")
+        ? {
+            allowEmpty: form.allow.empty.is(":checked"),
+          }
+        : false,
+      text: form.allow.text.is(":checked")
+        ? {
+            allowEmpty: form.allow.empty.is(":checked"),
+          }
+        : false,
+      binary: form.allow.unknown.is(":checked")
+        ? {
+            allowEmpty: form.allow.empty.is(":checked"),
+          }
+        : false,
     },
     resolve: {
       external: form.refs.external.is(":checked"),
@@ -102,20 +110,16 @@ form.getAPI = function () {
     let url = form.url.val();
     if (url) {
       return url;
-    }
-    else {
+    } else {
       throw new URIError("Please specify the URL of your Swagger/OpenAPI definition");
     }
-  }
-  else {
+  } else {
     let text = form.textBox.getValue();
     if (form.allow.yaml.is(":checked")) {
       return jsYAML.safeLoad(text);
-    }
-    else if (form.allow.json.is(":checked")) {
+    } else if (form.allow.json.is(":checked")) {
       return JSON.parse(text);
-    }
-    else {
+    } else {
       throw new SyntaxError("Unable to parse the API. Neither YAML nor JSON are allowed.");
     }
   }
diff --git a/online/src/js/parser.js b/online/src/js/parser.js
index c1e99d07..40aa9412 100644
--- a/online/src/js/parser.js
+++ b/online/src/js/parser.js
@@ -14,7 +14,7 @@ module.exports = parser;
 /**
  * Adds event handlers to trigger Swagger Parser methods
  */
-function parser () {
+function parser() {
   // When the form is submitted, parse the Swagger API
   form.form.on("submit", (event) => {
     event.preventDefault();
@@ -33,7 +33,7 @@ function parser () {
  * This function is called when the "Validate it!" button is clicked.
  * It calls Swagger Parser, passing it all the options selected on the form.
  */
-function parseSwagger () {
+function parseSwagger() {
   try {
     // Clear any previous results
     editors.clearResults();
@@ -61,8 +61,7 @@ function parseSwagger () {
     // Track the operation
     counters[method]++;
     analytics.trackEvent("button", "click", method, counters[method]);
-  }
-  catch (err) {
+  } catch (err) {
     editors.showError(ono(err));
     analytics.trackError(err);
   }
diff --git a/online/src/js/querystring.js b/online/src/js/querystring.js
index 3b63fb56..10bc9d92 100644
--- a/online/src/js/querystring.js
+++ b/online/src/js/querystring.js
@@ -8,7 +8,7 @@ module.exports = querystring;
 /**
  * Initializes the UI, based on the query-string in the URL
  */
-function querystring () {
+function querystring() {
   setFormFields();
   setBookmarkURL();
   form.bookmark.on("click focus mouseenter", setBookmarkURL);
@@ -17,7 +17,7 @@ function querystring () {
 /**
  * Populates all form fields based on the query-string in the URL
  */
-function setFormFields () {
+function setFormFields() {
   let query = qs.parse(window.location.search.substr(1));
 
   setCheckbox(form.allow.json, query["allow-json"]);
@@ -50,7 +50,7 @@ function setFormFields () {
  * @param {jQuery} input
  * @param {*} value
  */
-function setCheckbox (input, value) {
+function setCheckbox(input, value) {
   if (!value || value === "true" || value === "on") {
     value = "yes";
   }
@@ -60,7 +60,7 @@ function setCheckbox (input, value) {
 /**
  * Sets the href of the bookmark link, based on the values of each form field
  */
-function setBookmarkURL () {
+function setBookmarkURL() {
   let query = {};
   let options = form.getOptions();
   options.parse.json || (query["allow-json"] = "no");
diff --git a/online/src/js/samples.js b/online/src/js/samples.js
index b9e36b27..2f3341ca 100644
--- a/online/src/js/samples.js
+++ b/online/src/js/samples.js
@@ -7,7 +7,7 @@ module.exports = samples;
 /**
  * Allows the user to use a sample URL or sample API text
  */
-function samples () {
+function samples() {
   form.samples.url.link.on("click", (event) => {
     event.preventDefault();
     form.url.val(samples.url);
@@ -23,8 +23,7 @@ function samples () {
   form.textBox.on("input", () => {
     if (form.textBox.session.getValue().length === 0) {
       form.samples.text.container.show();
-    }
-    else {
+    } else {
       form.samples.text.container.hide();
     }
   });
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 189c75b3..00000000
--- a/package-lock.json
+++ /dev/null
@@ -1,36071 +0,0 @@
-{
-  "name": "@apidevtools/swagger-parser",
-  "version": "10.1.0",
-  "lockfileVersion": 2,
-  "requires": true,
-  "packages": {
-    "": {
-      "name": "@apidevtools/swagger-parser",
-      "version": "10.1.0",
-      "license": "MIT",
-      "dependencies": {
-        "@apidevtools/json-schema-ref-parser": "9.0.6",
-        "@apidevtools/openapi-schemas": "^2.1.0",
-        "@apidevtools/swagger-methods": "^3.0.2",
-        "@jsdevtools/ono": "^7.1.3",
-        "ajv": "^8.6.3",
-        "ajv-draft-04": "^1.0.0",
-        "call-me-maybe": "^1.0.1"
-      },
-      "devDependencies": {
-        "@babel/polyfill": "^7.12",
-        "@jsdevtools/eslint-config": "^1.1.4",
-        "@jsdevtools/host-environment": "^2.1.2",
-        "@jsdevtools/karma-config": "^3.2.0",
-        "@jsdevtools/version-bump-prompt": "^6.1.0",
-        "@types/node": "^14.6.4",
-        "chai": "^4.2.0",
-        "eslint": "^7.8.1",
-        "js-yaml": "^3.14.0",
-        "karma": "^6.3.19",
-        "karma-cli": "^2.0.0",
-        "mocha": "^8.1.3",
-        "node-fetch": "^2.6.7",
-        "node-sass": "^7.0",
-        "npm-check": "^4.1.4",
-        "nyc": "^15.1.0",
-        "openapi-types": "^9.3.0",
-        "shx": "^0.3.2",
-        "simplifyify": "^7.0.7",
-        "sinon": "^11.1.2",
-        "typescript": "^4.7.4"
-      },
-      "peerDependencies": {
-        "openapi-types": ">=7"
-      }
-    },
-    "node_modules/@ampproject/remapping": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
-      "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
-      "dev": true,
-      "dependencies": {
-        "@jridgewell/gen-mapping": "^0.1.0",
-        "@jridgewell/trace-mapping": "^0.3.9"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@apidevtools/json-schema-ref-parser": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz",
-      "integrity": "sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==",
-      "dependencies": {
-        "@jsdevtools/ono": "^7.1.3",
-        "call-me-maybe": "^1.0.1",
-        "js-yaml": "^3.13.1"
-      }
-    },
-    "node_modules/@apidevtools/openapi-schemas": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz",
-      "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==",
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@apidevtools/swagger-methods": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz",
-      "integrity": "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg=="
-    },
-    "node_modules/@babel/code-frame": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
-      "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/highlight": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/compat-data": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
-      "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/core": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz",
-      "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==",
-      "dev": true,
-      "dependencies": {
-        "@ampproject/remapping": "^2.1.0",
-        "@babel/code-frame": "^7.16.7",
-        "@babel/generator": "^7.17.10",
-        "@babel/helper-compilation-targets": "^7.17.10",
-        "@babel/helper-module-transforms": "^7.17.7",
-        "@babel/helpers": "^7.17.9",
-        "@babel/parser": "^7.17.10",
-        "@babel/template": "^7.16.7",
-        "@babel/traverse": "^7.17.10",
-        "@babel/types": "^7.17.10",
-        "convert-source-map": "^1.7.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.2.1",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
-      }
-    },
-    "node_modules/@babel/generator": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz",
-      "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.17.10",
-        "@jridgewell/gen-mapping": "^0.1.0",
-        "jsesc": "^2.5.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-annotate-as-pure": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
-      "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz",
-      "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-explode-assignable-expression": "^7.16.7",
-        "@babel/types": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz",
-      "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.17.10",
-        "@babel/helper-validator-option": "^7.16.7",
-        "browserslist": "^4.20.2",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-create-class-features-plugin": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz",
-      "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.16.7",
-        "@babel/helper-environment-visitor": "^7.16.7",
-        "@babel/helper-function-name": "^7.17.9",
-        "@babel/helper-member-expression-to-functions": "^7.17.7",
-        "@babel/helper-optimise-call-expression": "^7.16.7",
-        "@babel/helper-replace-supers": "^7.16.7",
-        "@babel/helper-split-export-declaration": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-create-regexp-features-plugin": {
-      "version": "7.17.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz",
-      "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.16.7",
-        "regexpu-core": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-define-polyfill-provider": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
-      "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-compilation-targets": "^7.13.0",
-        "@babel/helper-module-imports": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/traverse": "^7.13.0",
-        "debug": "^4.1.1",
-        "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2",
-        "semver": "^6.1.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0-0"
-      }
-    },
-    "node_modules/@babel/helper-environment-visitor": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
-      "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-explode-assignable-expression": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz",
-      "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-function-name": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz",
-      "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/template": "^7.16.7",
-        "@babel/types": "^7.17.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-hoist-variables": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
-      "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-member-expression-to-functions": {
-      "version": "7.17.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz",
-      "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.17.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-module-imports": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
-      "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-module-transforms": {
-      "version": "7.17.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
-      "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-environment-visitor": "^7.16.7",
-        "@babel/helper-module-imports": "^7.16.7",
-        "@babel/helper-simple-access": "^7.17.7",
-        "@babel/helper-split-export-declaration": "^7.16.7",
-        "@babel/helper-validator-identifier": "^7.16.7",
-        "@babel/template": "^7.16.7",
-        "@babel/traverse": "^7.17.3",
-        "@babel/types": "^7.17.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-optimise-call-expression": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
-      "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-plugin-utils": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
-      "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-remap-async-to-generator": {
-      "version": "7.16.8",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz",
-      "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.16.7",
-        "@babel/helper-wrap-function": "^7.16.8",
-        "@babel/types": "^7.16.8"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-replace-supers": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz",
-      "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-environment-visitor": "^7.16.7",
-        "@babel/helper-member-expression-to-functions": "^7.16.7",
-        "@babel/helper-optimise-call-expression": "^7.16.7",
-        "@babel/traverse": "^7.16.7",
-        "@babel/types": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-simple-access": {
-      "version": "7.17.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
-      "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.17.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
-      "version": "7.16.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz",
-      "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.16.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-split-export-declaration": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
-      "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
-      "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-validator-option": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
-      "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-wrap-function": {
-      "version": "7.16.8",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz",
-      "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-function-name": "^7.16.7",
-        "@babel/template": "^7.16.7",
-        "@babel/traverse": "^7.16.8",
-        "@babel/types": "^7.16.8"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helpers": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz",
-      "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/template": "^7.16.7",
-        "@babel/traverse": "^7.17.9",
-        "@babel/types": "^7.17.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/highlight": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz",
-      "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-validator-identifier": "^7.16.7",
-        "chalk": "^2.0.0",
-        "js-tokens": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/parser": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz",
-      "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==",
-      "dev": true,
-      "bin": {
-        "parser": "bin/babel-parser.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz",
-      "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz",
-      "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
-        "@babel/plugin-proposal-optional-chaining": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.13.0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.16.8",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz",
-      "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-remap-async-to-generator": "^7.16.8",
-        "@babel/plugin-syntax-async-generators": "^7.8.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-class-properties": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz",
-      "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-class-static-block": {
-      "version": "7.17.6",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz",
-      "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.17.6",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.12.0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-dynamic-import": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz",
-      "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-export-namespace-from": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz",
-      "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-json-strings": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz",
-      "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-json-strings": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz",
-      "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz",
-      "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-numeric-separator": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz",
-      "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.17.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz",
-      "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.17.0",
-        "@babel/helper-compilation-targets": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-transform-parameters": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz",
-      "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-optional-chaining": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz",
-      "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-private-methods": {
-      "version": "7.16.11",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
-      "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.16.10",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-private-property-in-object": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz",
-      "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.16.7",
-        "@babel/helper-create-class-features-plugin": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz",
-      "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-async-generators": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
-      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-class-properties": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
-      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-class-static-block": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
-      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-dynamic-import": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
-      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-export-namespace-from": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
-      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.3"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-json-strings": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
-      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
-      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
-      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
-      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
-      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
-      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-optional-chaining": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
-      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-private-property-in-object": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
-      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-top-level-await": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
-      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-arrow-functions": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz",
-      "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-async-to-generator": {
-      "version": "7.16.8",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz",
-      "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-imports": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-remap-async-to-generator": "^7.16.8"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz",
-      "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-block-scoping": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz",
-      "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-classes": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz",
-      "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.16.7",
-        "@babel/helper-environment-visitor": "^7.16.7",
-        "@babel/helper-function-name": "^7.16.7",
-        "@babel/helper-optimise-call-expression": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-replace-supers": "^7.16.7",
-        "@babel/helper-split-export-declaration": "^7.16.7",
-        "globals": "^11.1.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-computed-properties": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz",
-      "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-destructuring": {
-      "version": "7.17.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz",
-      "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-dotall-regex": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz",
-      "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-duplicate-keys": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz",
-      "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz",
-      "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-for-of": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz",
-      "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-function-name": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz",
-      "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-compilation-targets": "^7.16.7",
-        "@babel/helper-function-name": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-literals": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz",
-      "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-member-expression-literals": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz",
-      "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-amd": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz",
-      "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-transforms": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-commonjs": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz",
-      "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-transforms": "^7.17.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-simple-access": "^7.17.7",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-systemjs": {
-      "version": "7.17.8",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz",
-      "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-hoist-variables": "^7.16.7",
-        "@babel/helper-module-transforms": "^7.17.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-validator-identifier": "^7.16.7",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-umd": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz",
-      "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-transforms": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz",
-      "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.17.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-new-target": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz",
-      "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-object-super": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz",
-      "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-replace-supers": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-parameters": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz",
-      "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-property-literals": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz",
-      "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-regenerator": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz",
-      "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==",
-      "dev": true,
-      "dependencies": {
-        "regenerator-transform": "^0.15.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-reserved-words": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz",
-      "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-shorthand-properties": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz",
-      "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-spread": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz",
-      "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-sticky-regex": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz",
-      "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-template-literals": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz",
-      "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-typeof-symbol": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz",
-      "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-unicode-escapes": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz",
-      "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-unicode-regex": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz",
-      "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/polyfill": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
-      "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
-      "deprecated": "🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.",
-      "dev": true,
-      "dependencies": {
-        "core-js": "^2.6.5",
-        "regenerator-runtime": "^0.13.4"
-      }
-    },
-    "node_modules/@babel/preset-env": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz",
-      "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.17.10",
-        "@babel/helper-compilation-targets": "^7.17.10",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-validator-option": "^7.16.7",
-        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7",
-        "@babel/plugin-proposal-async-generator-functions": "^7.16.8",
-        "@babel/plugin-proposal-class-properties": "^7.16.7",
-        "@babel/plugin-proposal-class-static-block": "^7.17.6",
-        "@babel/plugin-proposal-dynamic-import": "^7.16.7",
-        "@babel/plugin-proposal-export-namespace-from": "^7.16.7",
-        "@babel/plugin-proposal-json-strings": "^7.16.7",
-        "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
-        "@babel/plugin-proposal-numeric-separator": "^7.16.7",
-        "@babel/plugin-proposal-object-rest-spread": "^7.17.3",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
-        "@babel/plugin-proposal-optional-chaining": "^7.16.7",
-        "@babel/plugin-proposal-private-methods": "^7.16.11",
-        "@babel/plugin-proposal-private-property-in-object": "^7.16.7",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-class-properties": "^7.12.13",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
-        "@babel/plugin-syntax-top-level-await": "^7.14.5",
-        "@babel/plugin-transform-arrow-functions": "^7.16.7",
-        "@babel/plugin-transform-async-to-generator": "^7.16.8",
-        "@babel/plugin-transform-block-scoped-functions": "^7.16.7",
-        "@babel/plugin-transform-block-scoping": "^7.16.7",
-        "@babel/plugin-transform-classes": "^7.16.7",
-        "@babel/plugin-transform-computed-properties": "^7.16.7",
-        "@babel/plugin-transform-destructuring": "^7.17.7",
-        "@babel/plugin-transform-dotall-regex": "^7.16.7",
-        "@babel/plugin-transform-duplicate-keys": "^7.16.7",
-        "@babel/plugin-transform-exponentiation-operator": "^7.16.7",
-        "@babel/plugin-transform-for-of": "^7.16.7",
-        "@babel/plugin-transform-function-name": "^7.16.7",
-        "@babel/plugin-transform-literals": "^7.16.7",
-        "@babel/plugin-transform-member-expression-literals": "^7.16.7",
-        "@babel/plugin-transform-modules-amd": "^7.16.7",
-        "@babel/plugin-transform-modules-commonjs": "^7.17.9",
-        "@babel/plugin-transform-modules-systemjs": "^7.17.8",
-        "@babel/plugin-transform-modules-umd": "^7.16.7",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10",
-        "@babel/plugin-transform-new-target": "^7.16.7",
-        "@babel/plugin-transform-object-super": "^7.16.7",
-        "@babel/plugin-transform-parameters": "^7.16.7",
-        "@babel/plugin-transform-property-literals": "^7.16.7",
-        "@babel/plugin-transform-regenerator": "^7.17.9",
-        "@babel/plugin-transform-reserved-words": "^7.16.7",
-        "@babel/plugin-transform-shorthand-properties": "^7.16.7",
-        "@babel/plugin-transform-spread": "^7.16.7",
-        "@babel/plugin-transform-sticky-regex": "^7.16.7",
-        "@babel/plugin-transform-template-literals": "^7.16.7",
-        "@babel/plugin-transform-typeof-symbol": "^7.16.7",
-        "@babel/plugin-transform-unicode-escapes": "^7.16.7",
-        "@babel/plugin-transform-unicode-regex": "^7.16.7",
-        "@babel/preset-modules": "^0.1.5",
-        "@babel/types": "^7.17.10",
-        "babel-plugin-polyfill-corejs2": "^0.3.0",
-        "babel-plugin-polyfill-corejs3": "^0.5.0",
-        "babel-plugin-polyfill-regenerator": "^0.3.0",
-        "core-js-compat": "^3.22.1",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/preset-modules": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
-      "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
-        "@babel/plugin-transform-dotall-regex": "^7.4.4",
-        "@babel/types": "^7.4.4",
-        "esutils": "^2.0.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/runtime": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
-      "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
-      "dev": true,
-      "dependencies": {
-        "regenerator-runtime": "^0.13.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/template": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
-      "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.16.7",
-        "@babel/parser": "^7.16.7",
-        "@babel/types": "^7.16.7"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/traverse": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz",
-      "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.16.7",
-        "@babel/generator": "^7.17.10",
-        "@babel/helper-environment-visitor": "^7.16.7",
-        "@babel/helper-function-name": "^7.17.9",
-        "@babel/helper-hoist-variables": "^7.16.7",
-        "@babel/helper-split-export-declaration": "^7.16.7",
-        "@babel/parser": "^7.17.10",
-        "@babel/types": "^7.17.10",
-        "debug": "^4.1.0",
-        "globals": "^11.1.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/types": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz",
-      "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-validator-identifier": "^7.16.7",
-        "to-fast-properties": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@colors/colors": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
-      "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.1.90"
-      }
-    },
-    "node_modules/@eslint/eslintrc": {
-      "version": "0.4.3",
-      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
-      "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.12.4",
-        "debug": "^4.1.1",
-        "espree": "^7.3.0",
-        "globals": "^13.9.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.2.1",
-        "js-yaml": "^3.13.1",
-        "minimatch": "^3.0.4",
-        "strip-json-comments": "^3.1.1"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      }
-    },
-    "node_modules/@eslint/eslintrc/node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/@eslint/eslintrc/node_modules/globals": {
-      "version": "13.15.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
-      "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
-      "dev": true,
-      "dependencies": {
-        "type-fest": "^0.20.2"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/@eslint/eslintrc/node_modules/type-fest": {
-      "version": "0.20.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@gar/promisify": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
-      "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
-      "dev": true
-    },
-    "node_modules/@humanwhocodes/config-array": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
-      "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
-      "dev": true,
-      "dependencies": {
-        "@humanwhocodes/object-schema": "^1.2.0",
-        "debug": "^4.1.1",
-        "minimatch": "^3.0.4"
-      },
-      "engines": {
-        "node": ">=10.10.0"
-      }
-    },
-    "node_modules/@humanwhocodes/object-schema": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
-      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
-      "dev": true
-    },
-    "node_modules/@istanbuljs/load-nyc-config": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
-      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^5.3.1",
-        "find-up": "^4.1.0",
-        "get-package-type": "^0.1.0",
-        "js-yaml": "^3.13.1",
-        "resolve-from": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/schema": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
-      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jridgewell/gen-mapping": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
-      "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
-      "dev": true,
-      "dependencies": {
-        "@jridgewell/set-array": "^1.0.0",
-        "@jridgewell/sourcemap-codec": "^1.4.10"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/resolve-uri": {
-      "version": "3.0.7",
-      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz",
-      "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/set-array": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz",
-      "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/sourcemap-codec": {
-      "version": "1.4.13",
-      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz",
-      "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==",
-      "dev": true
-    },
-    "node_modules/@jridgewell/trace-mapping": {
-      "version": "0.3.13",
-      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz",
-      "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==",
-      "dev": true,
-      "dependencies": {
-        "@jridgewell/resolve-uri": "^3.0.3",
-        "@jridgewell/sourcemap-codec": "^1.4.10"
-      }
-    },
-    "node_modules/@jsdevtools/coverage-istanbul-loader": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz",
-      "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==",
-      "dev": true,
-      "dependencies": {
-        "convert-source-map": "^1.7.0",
-        "istanbul-lib-instrument": "^4.0.3",
-        "loader-utils": "^2.0.0",
-        "merge-source-map": "^1.1.0",
-        "schema-utils": "^2.7.0"
-      }
-    },
-    "node_modules/@jsdevtools/eslint-config": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/eslint-config/-/eslint-config-1.1.4.tgz",
-      "integrity": "sha512-Q4LI11Z2duYcKt0VXOnc3TA2JpK9s8LEA6s+45k2g5hNRGAmCCrAcIFrR0unhJt7DDcQ6qfYdXSLaYmSiLnlNA==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/eslint-plugin": "^3.6.1",
-        "@typescript-eslint/parser": "^3.6.1",
-        "eslint-plugin-jsdoc": "^30.0.3"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "peerDependencies": {
-        "eslint": ">=7"
-      }
-    },
-    "node_modules/@jsdevtools/ez-spawn": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/ez-spawn/-/ez-spawn-3.0.4.tgz",
-      "integrity": "sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==",
-      "dev": true,
-      "dependencies": {
-        "call-me-maybe": "^1.0.1",
-        "cross-spawn": "^7.0.3",
-        "string-argv": "^0.3.1",
-        "type-detect": "^4.0.8"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@jsdevtools/host-environment": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/host-environment/-/host-environment-2.1.2.tgz",
-      "integrity": "sha512-9T+w9lWwMExriyAXafL12lPHxOaF7PwSbyf6nCZDpidrXb5r+SiCs6YjsAEOHHdFj7spvNVzEFVT23fDsPbf5Q==",
-      "dev": true,
-      "dependencies": {
-        "@qawolf/ci-info": "^2.1.0"
-      }
-    },
-    "node_modules/@jsdevtools/karma-config": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/karma-config/-/karma-config-3.2.0.tgz",
-      "integrity": "sha512-mVNXNcE5o3resw+Z7NpJ0XvrkgHTDJNLR9HRvvcynmORvUwaL/RAHh9p5rfo/Zku4JZOYBB5ARpNnlNjUns4IA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.17.10",
-        "@babel/preset-env": "^7.17.10",
-        "@jsdevtools/coverage-istanbul-loader": "^3.0.5",
-        "@jsdevtools/host-environment": "^2.1.2",
-        "@jsdevtools/karma-host-environment": "^3.0.3",
-        "@jsdevtools/ono": "^7.1.3",
-        "babel-loader": "^8.2.5",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "^3.0.3",
-        "karma-edge-launcher": "^0.4.2",
-        "karma-firefox-launcher": "^2.1.2",
-        "karma-ie-launcher": "^1.0.0",
-        "karma-mocha": "^2.0.1",
-        "karma-safari-launcher": "^1.0.0",
-        "karma-sauce-launcher": "^4.3.6",
-        "karma-verbose-reporter": "^0.0.8",
-        "karma-webpack": "^4.0.2",
-        "webpack": "^4.43.0"
-      },
-      "peerDependencies": {
-        "karma": ">=4",
-        "karma-cli": ">=2"
-      }
-    },
-    "node_modules/@jsdevtools/karma-host-environment": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/karma-host-environment/-/karma-host-environment-3.0.3.tgz",
-      "integrity": "sha512-g1xAAidi0xP41Ep7Ddnj34Ld/okIZ6VeRrG0cJHl62g+1bEssyFzCyUFo+G6SYhNFHdcrwfW7AecTYXSx4ZLgA==",
-      "dev": true,
-      "dependencies": {
-        "@jsdevtools/host-environment": "^2.0.4",
-        "temp": "^0.9.0"
-      }
-    },
-    "node_modules/@jsdevtools/ono": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz",
-      "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg=="
-    },
-    "node_modules/@jsdevtools/version-bump-prompt": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/version-bump-prompt/-/version-bump-prompt-6.1.0.tgz",
-      "integrity": "sha512-NJFLJRiD3LLFBgSxAb6B255xhWCGgdtzmh6UjHK2b7SRGX2DDKJH5O4BJ0GTStBu4NnaNgMbkr1TLW3pLOBkOQ==",
-      "dev": true,
-      "dependencies": {
-        "@jsdevtools/ez-spawn": "^3.0.4",
-        "command-line-args": "^5.1.1",
-        "detect-indent": "^6.0.0",
-        "detect-newline": "^3.1.0",
-        "globby": "^11.0.1",
-        "inquirer": "^7.3.3",
-        "log-symbols": "^4.0.0",
-        "semver": "^7.3.2"
-      },
-      "bin": {
-        "bump": "bin/bump.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@jsdevtools/version-bump-prompt/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@nodelib/fs.scandir": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
-      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
-      "dev": true,
-      "dependencies": {
-        "@nodelib/fs.stat": "2.0.5",
-        "run-parallel": "^1.1.9"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@nodelib/fs.stat": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
-      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@nodelib/fs.walk": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
-      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
-      "dev": true,
-      "dependencies": {
-        "@nodelib/fs.scandir": "2.1.5",
-        "fastq": "^1.6.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@npmcli/fs": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
-      "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
-      "dev": true,
-      "dependencies": {
-        "@gar/promisify": "^1.0.1",
-        "semver": "^7.3.5"
-      }
-    },
-    "node_modules/@npmcli/fs/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@npmcli/move-file": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
-      "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
-      "dev": true,
-      "dependencies": {
-        "mkdirp": "^1.0.4",
-        "rimraf": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@npmcli/move-file/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-      "dev": true,
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@qawolf/ci-info": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@qawolf/ci-info/-/ci-info-2.1.0.tgz",
-      "integrity": "sha512-D5H5RjqqE+YxI2oeTgSRuIjdy/hli90H5mMd81bBrYlOfB/f4TBsKMoaWfzI5E4bmFzLfQJuvvepTaWrxVfBug==",
-      "dev": true
-    },
-    "node_modules/@sindresorhus/is": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz",
-      "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/@sinonjs/commons": {
-      "version": "1.8.3",
-      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
-      "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
-      "dev": true,
-      "dependencies": {
-        "type-detect": "4.0.8"
-      }
-    },
-    "node_modules/@sinonjs/fake-timers": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
-      "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
-      "dev": true,
-      "dependencies": {
-        "@sinonjs/commons": "^1.7.0"
-      }
-    },
-    "node_modules/@sinonjs/samsam": {
-      "version": "6.1.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.1.tgz",
-      "integrity": "sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==",
-      "dev": true,
-      "dependencies": {
-        "@sinonjs/commons": "^1.6.0",
-        "lodash.get": "^4.4.2",
-        "type-detect": "^4.0.8"
-      }
-    },
-    "node_modules/@sinonjs/text-encoding": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz",
-      "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
-      "dev": true
-    },
-    "node_modules/@szmarczak/http-timer": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
-      "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
-      "dev": true,
-      "dependencies": {
-        "defer-to-connect": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@tootallnate/once": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
-      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/@types/cacheable-request": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
-      "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
-      "dev": true,
-      "dependencies": {
-        "@types/http-cache-semantics": "*",
-        "@types/keyv": "*",
-        "@types/node": "*",
-        "@types/responselike": "*"
-      }
-    },
-    "node_modules/@types/component-emitter": {
-      "version": "1.2.11",
-      "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
-      "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==",
-      "dev": true
-    },
-    "node_modules/@types/cookie": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
-      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
-      "dev": true
-    },
-    "node_modules/@types/cors": {
-      "version": "2.8.12",
-      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
-      "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==",
-      "dev": true
-    },
-    "node_modules/@types/eslint-visitor-keys": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
-      "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==",
-      "dev": true
-    },
-    "node_modules/@types/glob": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
-      "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
-      "dev": true,
-      "dependencies": {
-        "@types/minimatch": "*",
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/http-cache-semantics": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
-      "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==",
-      "dev": true
-    },
-    "node_modules/@types/json-buffer": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz",
-      "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==",
-      "dev": true
-    },
-    "node_modules/@types/json-schema": {
-      "version": "7.0.11",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
-      "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
-      "dev": true
-    },
-    "node_modules/@types/keyv": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
-      "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/minimatch": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
-      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
-      "dev": true
-    },
-    "node_modules/@types/minimist": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
-      "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==",
-      "dev": true
-    },
-    "node_modules/@types/node": {
-      "version": "14.18.18",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz",
-      "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==",
-      "dev": true
-    },
-    "node_modules/@types/normalize-package-data": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
-      "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
-      "dev": true
-    },
-    "node_modules/@types/puppeteer": {
-      "version": "5.4.6",
-      "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.6.tgz",
-      "integrity": "sha512-98Kghehs7+/GD9b56qryhqdqVCXUTbetTv3PlvDnmFRTHQH0j9DIp1f7rkAW3BAj4U3yoeSEQnKgdW8bDq0Y0Q==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/puppeteer-core": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@types/puppeteer-core/-/puppeteer-core-5.4.0.tgz",
-      "integrity": "sha512-yqRPuv4EFcSkTyin6Yy17pN6Qz2vwVwTCJIDYMXbE3j8vTPhv0nCQlZOl5xfi0WHUkqvQsjAR8hAfjeMCoetwg==",
-      "dev": true,
-      "dependencies": {
-        "@types/puppeteer": "*"
-      }
-    },
-    "node_modules/@types/responselike": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
-      "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/which": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/@types/which/-/which-1.3.2.tgz",
-      "integrity": "sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==",
-      "dev": true
-    },
-    "node_modules/@types/yauzl": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
-      "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz",
-      "integrity": "sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/experimental-utils": "3.10.1",
-        "debug": "^4.1.1",
-        "functional-red-black-tree": "^1.0.1",
-        "regexpp": "^3.0.0",
-        "semver": "^7.3.2",
-        "tsutils": "^3.17.1"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "@typescript-eslint/parser": "^3.0.0",
-        "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@typescript-eslint/experimental-utils": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz",
-      "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.3",
-        "@typescript-eslint/types": "3.10.1",
-        "@typescript-eslint/typescript-estree": "3.10.1",
-        "eslint-scope": "^5.0.0",
-        "eslint-utils": "^2.0.0"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "*"
-      }
-    },
-    "node_modules/@typescript-eslint/parser": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz",
-      "integrity": "sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint-visitor-keys": "^1.0.0",
-        "@typescript-eslint/experimental-utils": "3.10.1",
-        "@typescript-eslint/types": "3.10.1",
-        "@typescript-eslint/typescript-estree": "3.10.1",
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/types": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz",
-      "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==",
-      "dev": true,
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz",
-      "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "3.10.1",
-        "@typescript-eslint/visitor-keys": "3.10.1",
-        "debug": "^4.1.1",
-        "glob": "^7.1.6",
-        "is-glob": "^4.0.1",
-        "lodash": "^4.17.15",
-        "semver": "^7.3.2",
-        "tsutils": "^3.17.1"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz",
-      "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==",
-      "dev": true,
-      "dependencies": {
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@ungap/promise-all-settled": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
-      "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
-      "dev": true
-    },
-    "node_modules/@wdio/config": {
-      "version": "6.12.1",
-      "resolved": "https://registry.npmjs.org/@wdio/config/-/config-6.12.1.tgz",
-      "integrity": "sha512-V5hTIW5FNlZ1W33smHF4Rd5BKjGW2KeYhyXDQfXHjqLCeRiirZ9fABCo9plaVQDnwWSUMWYaAaIAifV82/oJCQ==",
-      "dev": true,
-      "dependencies": {
-        "@wdio/logger": "6.10.10",
-        "deepmerge": "^4.0.0",
-        "glob": "^7.1.2"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/@wdio/logger": {
-      "version": "6.10.10",
-      "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-6.10.10.tgz",
-      "integrity": "sha512-2nh0hJz9HeZE0VIEMI+oPgjr/Q37ohrR9iqsl7f7GW5ik+PnKYCT9Eab5mR1GNMG60askwbskgGC1S9ygtvrSw==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^4.0.0",
-        "loglevel": "^1.6.0",
-        "loglevel-plugin-prefix": "^0.8.4",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/@wdio/logger/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/logger/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/logger/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@wdio/logger/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@wdio/logger/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@wdio/logger/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@wdio/protocols": {
-      "version": "6.12.0",
-      "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-6.12.0.tgz",
-      "integrity": "sha512-UhTBZxClCsM3VjaiDp4DoSCnsa7D1QNmI2kqEBfIpyNkT3GcZhJb7L+nL0fTkzCwi7+/uLastb3/aOwH99gt0A==",
-      "dev": true,
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/@wdio/repl": {
-      "version": "6.11.0",
-      "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-6.11.0.tgz",
-      "integrity": "sha512-FxrFKiTkFyELNGGVEH1uijyvNY7lUpmff6x+FGskFGZB4uSRs0rxkOMaEjxnxw7QP1zgQKr2xC7GyO03gIGRGg==",
-      "dev": true,
-      "dependencies": {
-        "@wdio/utils": "6.11.0"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/@wdio/utils": {
-      "version": "6.11.0",
-      "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-6.11.0.tgz",
-      "integrity": "sha512-vf0sOQzd28WbI26d6/ORrQ4XKWTzSlWLm9W/K/eJO0NASKPEzR+E+Q2kaa+MJ4FKXUpjbt+Lxfo+C26TzBk7tg==",
-      "dev": true,
-      "dependencies": {
-        "@wdio/logger": "6.10.10"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/@webassemblyjs/ast": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
-      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
-      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-api-error": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
-      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-buffer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
-      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-code-frame": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
-      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/helper-fsm": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
-      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-module-context": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
-      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
-      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-wasm-section": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
-      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/ieee754": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
-      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
-      "dev": true,
-      "dependencies": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "node_modules/@webassemblyjs/leb128": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
-      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
-      "dev": true,
-      "dependencies": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@webassemblyjs/utf8": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
-      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/wasm-edit": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
-      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/helper-wasm-section": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-opt": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-gen": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
-      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-opt": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
-      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
-      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wast-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
-      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-code-frame": "1.9.0",
-        "@webassemblyjs/helper-fsm": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@webassemblyjs/wast-printer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
-      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true
-    },
-    "node_modules/@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true
-    },
-    "node_modules/abbrev": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
-      "dev": true
-    },
-    "node_modules/accepts": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
-      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
-      "dev": true,
-      "dependencies": {
-        "mime-types": "~2.1.34",
-        "negotiator": "0.6.3"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/acorn": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
-      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
-      "dev": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/acorn-jsx": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
-      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
-      "dev": true,
-      "peerDependencies": {
-        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
-      }
-    },
-    "node_modules/acorn-node": {
-      "version": "1.8.2",
-      "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
-      "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
-      "dev": true,
-      "dependencies": {
-        "acorn": "^7.0.0",
-        "acorn-walk": "^7.0.0",
-        "xtend": "^4.0.2"
-      }
-    },
-    "node_modules/acorn-walk": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
-      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-      "dev": true,
-      "dependencies": {
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/agentkeepalive": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
-      "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.0",
-        "depd": "^1.1.2",
-        "humanize-ms": "^1.2.1"
-      },
-      "engines": {
-        "node": ">= 8.0.0"
-      }
-    },
-    "node_modules/agentkeepalive/node_modules/depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/aggregate-error": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
-      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
-      "dev": true,
-      "dependencies": {
-        "clean-stack": "^2.0.0",
-        "indent-string": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ajv": {
-      "version": "8.11.0",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
-      "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "json-schema-traverse": "^1.0.0",
-        "require-from-string": "^2.0.2",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/ajv-draft-04": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz",
-      "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==",
-      "peerDependencies": {
-        "ajv": "^8.5.0"
-      },
-      "peerDependenciesMeta": {
-        "ajv": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
-      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
-      "dev": true,
-      "peerDependencies": {
-        "ajv": ">=5.0.0"
-      }
-    },
-    "node_modules/ansi-colors": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
-      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/ansi-escapes": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
-      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
-      "dev": true,
-      "dependencies": {
-        "type-fest": "^0.21.3"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/ansi-regex": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^1.9.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/any-promise": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
-      "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
-      "dev": true
-    },
-    "node_modules/anymatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
-      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
-      "dev": true,
-      "dependencies": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/append-transform": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
-      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
-      "dev": true,
-      "dependencies": {
-        "default-require-extensions": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/aproba": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
-      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
-      "dev": true
-    },
-    "node_modules/arch": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
-      "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/archive-type": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz",
-      "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=",
-      "dev": true,
-      "dependencies": {
-        "file-type": "^4.2.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/archive-type/node_modules/file-type": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz",
-      "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/archiver": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz",
-      "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==",
-      "dev": true,
-      "dependencies": {
-        "archiver-utils": "^2.1.0",
-        "async": "^3.2.3",
-        "buffer-crc32": "^0.2.1",
-        "readable-stream": "^3.6.0",
-        "readdir-glob": "^1.0.0",
-        "tar-stream": "^2.2.0",
-        "zip-stream": "^4.1.0"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/archiver-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz",
-      "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.2.0",
-        "lazystream": "^1.0.0",
-        "lodash.defaults": "^4.2.0",
-        "lodash.difference": "^4.5.0",
-        "lodash.flatten": "^4.4.0",
-        "lodash.isplainobject": "^4.0.6",
-        "lodash.union": "^4.6.0",
-        "normalize-path": "^3.0.0",
-        "readable-stream": "^2.0.0"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/archiver-utils/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/archiver-utils/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/archiver-utils/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/archiver/node_modules/bl": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
-      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
-      "dev": true,
-      "dependencies": {
-        "buffer": "^5.5.0",
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.4.0"
-      }
-    },
-    "node_modules/archiver/node_modules/buffer": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
-      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.1.13"
-      }
-    },
-    "node_modules/archiver/node_modules/tar-stream": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
-      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
-      "dev": true,
-      "dependencies": {
-        "bl": "^4.0.3",
-        "end-of-stream": "^1.4.1",
-        "fs-constants": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^3.1.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/archy": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
-      "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
-      "dev": true
-    },
-    "node_modules/are-we-there-yet": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
-      "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
-      "dev": true,
-      "dependencies": {
-        "delegates": "^1.0.0",
-        "readable-stream": "^3.6.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "dependencies": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "node_modules/arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/array-back": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
-      "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/array-union": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
-      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/asn1": {
-      "version": "0.2.6",
-      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
-      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
-      "dev": true,
-      "dependencies": {
-        "safer-buffer": "~2.1.0"
-      }
-    },
-    "node_modules/asn1.js": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
-      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "node_modules/asn1.js/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/assert": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
-      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
-      "dev": true,
-      "dependencies": {
-        "object-assign": "^4.1.1",
-        "util": "0.10.3"
-      }
-    },
-    "node_modules/assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/assert/node_modules/inherits": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-      "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-      "dev": true
-    },
-    "node_modules/assert/node_modules/util": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-      "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-      "dev": true,
-      "dependencies": {
-        "inherits": "2.0.1"
-      }
-    },
-    "node_modules/assertion-error": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
-      "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/astral-regex": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
-      "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/async": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
-      "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
-      "dev": true
-    },
-    "node_modules/async-each": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
-      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-      "dev": true
-    },
-    "node_modules/async-foreach": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
-      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
-      "dev": true
-    },
-    "node_modules/at-least-node": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
-      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4.0.0"
-      }
-    },
-    "node_modules/atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true,
-      "bin": {
-        "atob": "bin/atob.js"
-      },
-      "engines": {
-        "node": ">= 4.5.0"
-      }
-    },
-    "node_modules/aws-sign2": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/aws4": {
-      "version": "1.11.0",
-      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
-      "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
-      "dev": true
-    },
-    "node_modules/babel-code-frame": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
-      "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^1.1.3",
-        "esutils": "^2.0.2",
-        "js-tokens": "^3.0.2"
-      }
-    },
-    "node_modules/babel-code-frame/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/babel-code-frame/node_modules/ansi-styles": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/babel-code-frame/node_modules/chalk": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^2.2.1",
-        "escape-string-regexp": "^1.0.2",
-        "has-ansi": "^2.0.0",
-        "strip-ansi": "^3.0.0",
-        "supports-color": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/babel-code-frame/node_modules/js-tokens": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
-      "dev": true
-    },
-    "node_modules/babel-code-frame/node_modules/strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/babel-code-frame/node_modules/supports-color": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/babel-generator": {
-      "version": "6.26.1",
-      "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
-      "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
-      "dev": true,
-      "dependencies": {
-        "babel-messages": "^6.23.0",
-        "babel-runtime": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "detect-indent": "^4.0.0",
-        "jsesc": "^1.3.0",
-        "lodash": "^4.17.4",
-        "source-map": "^0.5.7",
-        "trim-right": "^1.0.1"
-      }
-    },
-    "node_modules/babel-generator/node_modules/detect-indent": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
-      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
-      "dev": true,
-      "dependencies": {
-        "repeating": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/babel-generator/node_modules/jsesc": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
-      "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
-      "dev": true,
-      "bin": {
-        "jsesc": "bin/jsesc"
-      }
-    },
-    "node_modules/babel-generator/node_modules/repeating": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
-      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
-      "dev": true,
-      "dependencies": {
-        "is-finite": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/babel-generator/node_modules/source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/babel-loader": {
-      "version": "8.2.5",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
-      "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
-      "dev": true,
-      "dependencies": {
-        "find-cache-dir": "^3.3.1",
-        "loader-utils": "^2.0.0",
-        "make-dir": "^3.1.0",
-        "schema-utils": "^2.6.5"
-      },
-      "engines": {
-        "node": ">= 8.9"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0",
-        "webpack": ">=2"
-      }
-    },
-    "node_modules/babel-messages": {
-      "version": "6.23.0",
-      "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
-      "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
-      "dev": true,
-      "dependencies": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "node_modules/babel-plugin-dynamic-import-node": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
-      "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
-      "dev": true,
-      "dependencies": {
-        "object.assign": "^4.1.0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs2": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
-      "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.13.11",
-        "@babel/helper-define-polyfill-provider": "^0.3.1",
-        "semver": "^6.1.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs3": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
-      "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.3.1",
-        "core-js-compat": "^3.21.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-regenerator": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
-      "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.3.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-runtime": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
-      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "dev": true,
-      "dependencies": {
-        "core-js": "^2.4.0",
-        "regenerator-runtime": "^0.11.0"
-      }
-    },
-    "node_modules/babel-runtime/node_modules/regenerator-runtime": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
-      "dev": true
-    },
-    "node_modules/babel-template": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
-      "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
-      "dev": true,
-      "dependencies": {
-        "babel-runtime": "^6.26.0",
-        "babel-traverse": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "babylon": "^6.18.0",
-        "lodash": "^4.17.4"
-      }
-    },
-    "node_modules/babel-traverse": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
-      "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
-      "dev": true,
-      "dependencies": {
-        "babel-code-frame": "^6.26.0",
-        "babel-messages": "^6.23.0",
-        "babel-runtime": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "babylon": "^6.18.0",
-        "debug": "^2.6.8",
-        "globals": "^9.18.0",
-        "invariant": "^2.2.2",
-        "lodash": "^4.17.4"
-      }
-    },
-    "node_modules/babel-traverse/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/babel-traverse/node_modules/globals": {
-      "version": "9.18.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
-      "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/babel-traverse/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/babel-types": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
-      "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
-      "dev": true,
-      "dependencies": {
-        "babel-runtime": "^6.26.0",
-        "esutils": "^2.0.2",
-        "lodash": "^4.17.4",
-        "to-fast-properties": "^1.0.3"
-      }
-    },
-    "node_modules/babel-types/node_modules/to-fast-properties": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
-      "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/babylon": {
-      "version": "6.18.0",
-      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
-      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
-      "dev": true,
-      "bin": {
-        "babylon": "bin/babylon.js"
-      }
-    },
-    "node_modules/balanced-match": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
-      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
-      "dev": true
-    },
-    "node_modules/base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "dependencies": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/base64id": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
-      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
-      "dev": true,
-      "engines": {
-        "node": "^4.5.0 || >= 5.9"
-      }
-    },
-    "node_modules/bcrypt-pbkdf": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
-      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "dev": true,
-      "dependencies": {
-        "tweetnacl": "^0.14.3"
-      }
-    },
-    "node_modules/big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/bin-check": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz",
-      "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==",
-      "dev": true,
-      "dependencies": {
-        "execa": "^0.7.0",
-        "executable": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/bin-version": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz",
-      "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==",
-      "dev": true,
-      "dependencies": {
-        "execa": "^1.0.0",
-        "find-versions": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/bin-version-check": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz",
-      "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==",
-      "dev": true,
-      "dependencies": {
-        "bin-version": "^3.0.0",
-        "semver": "^5.6.0",
-        "semver-truncate": "^1.1.2"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/bin-version-check/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/bin-version/node_modules/cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-      "dev": true,
-      "dependencies": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      },
-      "engines": {
-        "node": ">=4.8"
-      }
-    },
-    "node_modules/bin-version/node_modules/execa": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
-      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^6.0.0",
-        "get-stream": "^4.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/bin-version/node_modules/get-stream": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
-      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-      "dev": true,
-      "dependencies": {
-        "pump": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/bin-version/node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/bin-version/node_modules/path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/bin-version/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/bin-version/node_modules/shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "dev": true,
-      "dependencies": {
-        "shebang-regex": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/bin-version/node_modules/shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/bin-version/node_modules/which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "which": "bin/which"
-      }
-    },
-    "node_modules/bin-wrapper": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz",
-      "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==",
-      "dev": true,
-      "dependencies": {
-        "bin-check": "^4.1.0",
-        "bin-version-check": "^4.0.0",
-        "download": "^7.1.0",
-        "import-lazy": "^3.1.0",
-        "os-filter-obj": "^2.0.0",
-        "pify": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/binary-extensions": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
-      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/bindings": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
-      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "file-uri-to-path": "1.0.0"
-      }
-    },
-    "node_modules/bl": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz",
-      "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==",
-      "dev": true,
-      "dependencies": {
-        "readable-stream": "^2.3.5",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "node_modules/bl/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/bl/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/bl/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/bluebird": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
-      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
-      "dev": true
-    },
-    "node_modules/bn.js": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
-      "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
-      "dev": true
-    },
-    "node_modules/body-parser": {
-      "version": "1.20.0",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
-      "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
-      "dev": true,
-      "dependencies": {
-        "bytes": "3.1.2",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "2.0.0",
-        "destroy": "1.2.0",
-        "http-errors": "2.0.0",
-        "iconv-lite": "0.4.24",
-        "on-finished": "2.4.1",
-        "qs": "6.10.3",
-        "raw-body": "2.5.1",
-        "type-is": "~1.6.18",
-        "unpipe": "1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8",
-        "npm": "1.2.8000 || >= 1.4.16"
-      }
-    },
-    "node_modules/body-parser/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/body-parser/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/boolean": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
-      "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
-      "dev": true
-    },
-    "node_modules/brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
-      "dependencies": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "node_modules/braces": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "dev": true,
-      "dependencies": {
-        "fill-range": "^7.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
-    },
-    "node_modules/browser-pack": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
-      "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
-      "dev": true,
-      "dependencies": {
-        "combine-source-map": "~0.8.0",
-        "defined": "^1.0.0",
-        "JSONStream": "^1.0.3",
-        "safe-buffer": "^5.1.1",
-        "through2": "^2.0.0",
-        "umd": "^3.0.0"
-      },
-      "bin": {
-        "browser-pack": "bin/cmd.js"
-      }
-    },
-    "node_modules/browser-resolve": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
-      "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
-      "dev": true,
-      "dependencies": {
-        "resolve": "^1.17.0"
-      }
-    },
-    "node_modules/browser-stdout": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
-      "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
-      "dev": true
-    },
-    "node_modules/browserify": {
-      "version": "16.5.2",
-      "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz",
-      "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==",
-      "dev": true,
-      "dependencies": {
-        "assert": "^1.4.0",
-        "browser-pack": "^6.0.1",
-        "browser-resolve": "^2.0.0",
-        "browserify-zlib": "~0.2.0",
-        "buffer": "~5.2.1",
-        "cached-path-relative": "^1.0.0",
-        "concat-stream": "^1.6.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "~1.0.0",
-        "crypto-browserify": "^3.0.0",
-        "defined": "^1.0.0",
-        "deps-sort": "^2.0.0",
-        "domain-browser": "^1.2.0",
-        "duplexer2": "~0.1.2",
-        "events": "^2.0.0",
-        "glob": "^7.1.0",
-        "has": "^1.0.0",
-        "htmlescape": "^1.1.0",
-        "https-browserify": "^1.0.0",
-        "inherits": "~2.0.1",
-        "insert-module-globals": "^7.0.0",
-        "JSONStream": "^1.0.3",
-        "labeled-stream-splicer": "^2.0.0",
-        "mkdirp-classic": "^0.5.2",
-        "module-deps": "^6.2.3",
-        "os-browserify": "~0.3.0",
-        "parents": "^1.0.1",
-        "path-browserify": "~0.0.0",
-        "process": "~0.11.0",
-        "punycode": "^1.3.2",
-        "querystring-es3": "~0.2.0",
-        "read-only-stream": "^2.0.0",
-        "readable-stream": "^2.0.2",
-        "resolve": "^1.1.4",
-        "shasum": "^1.0.0",
-        "shell-quote": "^1.6.1",
-        "stream-browserify": "^2.0.0",
-        "stream-http": "^3.0.0",
-        "string_decoder": "^1.1.1",
-        "subarg": "^1.0.0",
-        "syntax-error": "^1.1.1",
-        "through2": "^2.0.0",
-        "timers-browserify": "^1.0.1",
-        "tty-browserify": "0.0.1",
-        "url": "~0.11.0",
-        "util": "~0.10.1",
-        "vm-browserify": "^1.0.0",
-        "xtend": "^4.0.0"
-      },
-      "bin": {
-        "browserify": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "dependencies": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/browserify-banner": {
-      "version": "1.0.17",
-      "resolved": "https://registry.npmjs.org/browserify-banner/-/browserify-banner-1.0.17.tgz",
-      "integrity": "sha512-LCRbaCpeQ/5/2zjWfduk+of3PRzDrf3BfayWRN/8+ME6N26C2dlqZxi+l9zTcZVVbjiBUqkEAWnTK+61OEX+CA==",
-      "dev": true,
-      "dependencies": {
-        "convert-source-map": "^1.7.0",
-        "lodash": "^4.17.15",
-        "moment": "^2.24.0",
-        "offset-sourcemap-lines": "^1.0.1",
-        "ono": "^6.0.0",
-        "through2": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/browserify-banner/node_modules/through2": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
-      "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.4",
-        "readable-stream": "2 || 3"
-      }
-    },
-    "node_modules/browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "dependencies": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "node_modules/browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/browserify-istanbul": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-istanbul/-/browserify-istanbul-3.0.1.tgz",
-      "integrity": "sha1-Gi3WPAyBoSORqApGb775F+sS3gc=",
-      "dev": true,
-      "dependencies": {
-        "istanbul-lib-instrument": "^1.8.0",
-        "minimatch": "^3.0.4",
-        "object-assign": "^4.1.1",
-        "through": "^2.3.8"
-      }
-    },
-    "node_modules/browserify-istanbul/node_modules/istanbul-lib-coverage": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz",
-      "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==",
-      "dev": true
-    },
-    "node_modules/browserify-istanbul/node_modules/istanbul-lib-instrument": {
-      "version": "1.10.2",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz",
-      "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==",
-      "dev": true,
-      "dependencies": {
-        "babel-generator": "^6.18.0",
-        "babel-template": "^6.16.0",
-        "babel-traverse": "^6.18.0",
-        "babel-types": "^6.18.0",
-        "babylon": "^6.18.0",
-        "istanbul-lib-coverage": "^1.2.1",
-        "semver": "^5.3.0"
-      }
-    },
-    "node_modules/browserify-istanbul/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/browserify-rsa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
-      "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^5.0.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "node_modules/browserify-sign": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
-      "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^5.1.1",
-        "browserify-rsa": "^4.0.1",
-        "create-hash": "^1.2.0",
-        "create-hmac": "^1.1.7",
-        "elliptic": "^6.5.3",
-        "inherits": "^2.0.4",
-        "parse-asn1": "^5.1.5",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      }
-    },
-    "node_modules/browserify-sign/node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "dependencies": {
-        "pako": "~1.0.5"
-      }
-    },
-    "node_modules/browserify/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/browserify/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/browserify/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/browserslist": {
-      "version": "4.20.3",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
-      "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/browserslist"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/browserslist"
-        }
-      ],
-      "dependencies": {
-        "caniuse-lite": "^1.0.30001332",
-        "electron-to-chromium": "^1.4.118",
-        "escalade": "^3.1.1",
-        "node-releases": "^2.0.3",
-        "picocolors": "^1.0.0"
-      },
-      "bin": {
-        "browserslist": "cli.js"
-      },
-      "engines": {
-        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
-      }
-    },
-    "node_modules/buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
-      "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
-      "dev": true,
-      "dependencies": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4"
-      }
-    },
-    "node_modules/buffer-alloc": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
-      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
-      "dev": true,
-      "dependencies": {
-        "buffer-alloc-unsafe": "^1.1.0",
-        "buffer-fill": "^1.0.0"
-      }
-    },
-    "node_modules/buffer-alloc-unsafe": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
-      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
-      "dev": true
-    },
-    "node_modules/buffer-crc32": {
-      "version": "0.2.13",
-      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
-      "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/buffer-fill": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
-      "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
-      "dev": true
-    },
-    "node_modules/buffer-from": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
-      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
-      "dev": true
-    },
-    "node_modules/buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
-    },
-    "node_modules/buffered-spawn": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/buffered-spawn/-/buffered-spawn-1.1.2.tgz",
-      "integrity": "sha1-Ia2XNd+/ZXZ0W+DXSiPvJXvzxY0=",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn-async": "^1.0.1",
-        "err-code": "^0.1.0",
-        "q": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
-    },
-    "node_modules/bytes": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
-      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/cacache": {
-      "version": "15.3.0",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
-      "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
-      "dev": true,
-      "dependencies": {
-        "@npmcli/fs": "^1.0.0",
-        "@npmcli/move-file": "^1.0.1",
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "glob": "^7.1.4",
-        "infer-owner": "^1.0.4",
-        "lru-cache": "^6.0.0",
-        "minipass": "^3.1.1",
-        "minipass-collect": "^1.0.2",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.2",
-        "mkdirp": "^1.0.3",
-        "p-map": "^4.0.0",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^3.0.2",
-        "ssri": "^8.0.1",
-        "tar": "^6.0.2",
-        "unique-filename": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/cacache/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-      "dev": true,
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "dependencies": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/cacheable-lookup": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
-      "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10.6.0"
-      }
-    },
-    "node_modules/cacheable-request": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz",
-      "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=",
-      "dev": true,
-      "dependencies": {
-        "clone-response": "1.0.2",
-        "get-stream": "3.0.0",
-        "http-cache-semantics": "3.8.1",
-        "keyv": "3.0.0",
-        "lowercase-keys": "1.0.0",
-        "normalize-url": "2.0.1",
-        "responselike": "1.0.2"
-      }
-    },
-    "node_modules/cacheable-request/node_modules/http-cache-semantics": {
-      "version": "3.8.1",
-      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
-      "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
-      "dev": true
-    },
-    "node_modules/cacheable-request/node_modules/lowercase-keys": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
-      "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/cached-path-relative": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
-      "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==",
-      "dev": true
-    },
-    "node_modules/caching-transform": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
-      "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
-      "dev": true,
-      "dependencies": {
-        "hasha": "^5.0.0",
-        "make-dir": "^3.0.0",
-        "package-hash": "^4.0.0",
-        "write-file-atomic": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/call-bind": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
-      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
-      "dev": true,
-      "dependencies": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.2"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/call-me-maybe": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
-      "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
-    },
-    "node_modules/callsites": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/camel-case": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
-      "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
-      "dev": true,
-      "dependencies": {
-        "pascal-case": "^3.1.2",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/camel-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/camelcase-keys": {
-      "version": "6.2.2",
-      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
-      "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^5.3.1",
-        "map-obj": "^4.0.0",
-        "quick-lru": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/caniuse-lite": {
-      "version": "1.0.30001340",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001340.tgz",
-      "integrity": "sha512-jUNz+a9blQTQVu4uFcn17uAD8IDizPzQkIKh3LCJfg9BkyIqExYYdyc/ZSlWUSKb8iYiXxKsxbv4zYSvkqjrxw==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/browserslist"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
-        }
-      ]
-    },
-    "node_modules/capital-case": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz",
-      "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==",
-      "dev": true,
-      "dependencies": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3",
-        "upper-case-first": "^2.0.2"
-      }
-    },
-    "node_modules/capital-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/capture-stack-trace": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
-      "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/caseless": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
-      "dev": true
-    },
-    "node_modules/caw": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz",
-      "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==",
-      "dev": true,
-      "dependencies": {
-        "get-proxy": "^2.0.0",
-        "isurl": "^1.0.0-alpha5",
-        "tunnel-agent": "^0.6.0",
-        "url-to-options": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/chai": {
-      "version": "4.3.6",
-      "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz",
-      "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==",
-      "dev": true,
-      "dependencies": {
-        "assertion-error": "^1.1.0",
-        "check-error": "^1.0.2",
-        "deep-eql": "^3.0.1",
-        "get-func-name": "^2.0.0",
-        "loupe": "^2.3.1",
-        "pathval": "^1.1.1",
-        "type-detect": "^4.0.5"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/change-case": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
-      "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==",
-      "dev": true,
-      "dependencies": {
-        "camel-case": "^4.1.2",
-        "capital-case": "^1.0.4",
-        "constant-case": "^3.0.4",
-        "dot-case": "^3.0.4",
-        "header-case": "^2.0.4",
-        "no-case": "^3.0.4",
-        "param-case": "^3.0.4",
-        "pascal-case": "^3.1.2",
-        "path-case": "^3.0.4",
-        "sentence-case": "^3.0.4",
-        "snake-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/change-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/chardet": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
-      "dev": true
-    },
-    "node_modules/check-error": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
-      "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/chokidar": {
-      "version": "3.5.3",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
-      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://paulmillr.com/funding/"
-        }
-      ],
-      "dependencies": {
-        "anymatch": "~3.1.2",
-        "braces": "~3.0.2",
-        "glob-parent": "~5.1.2",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.6.0"
-      },
-      "engines": {
-        "node": ">= 8.10.0"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.2"
-      }
-    },
-    "node_modules/chownr": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
-      "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/chrome-launcher": {
-      "version": "0.13.4",
-      "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.13.4.tgz",
-      "integrity": "sha512-nnzXiDbGKjDSK6t2I+35OAPBy5Pw/39bgkb/ZAFwMhwJbdYBp6aH+vW28ZgtjdU890Q7D+3wN/tB8N66q5Gi2A==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*",
-        "escape-string-regexp": "^1.0.5",
-        "is-wsl": "^2.2.0",
-        "lighthouse-logger": "^1.0.0",
-        "mkdirp": "^0.5.3",
-        "rimraf": "^3.0.2"
-      }
-    },
-    "node_modules/chrome-trace-event": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
-      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.0"
-      }
-    },
-    "node_modules/cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "dependencies": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/clean-stack": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
-      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/cli-cursor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
-      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
-      "dev": true,
-      "dependencies": {
-        "restore-cursor": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/cli-width": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
-      "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/cliui": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
-      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0",
-        "wrap-ansi": "^7.0.0"
-      }
-    },
-    "node_modules/clone-deep": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
-      "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4",
-        "kind-of": "^6.0.2",
-        "shallow-clone": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/clone-response": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
-      "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
-      "dev": true,
-      "dependencies": {
-        "mimic-response": "^1.0.0"
-      }
-    },
-    "node_modules/code-point-at": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
-      "dependencies": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "1.1.3"
-      }
-    },
-    "node_modules/color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
-    },
-    "node_modules/color-support": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
-      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
-      "dev": true,
-      "bin": {
-        "color-support": "bin.js"
-      }
-    },
-    "node_modules/colors": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
-      "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.1.90"
-      }
-    },
-    "node_modules/combine-source-map": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
-      "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
-      "dev": true,
-      "dependencies": {
-        "convert-source-map": "~1.1.0",
-        "inline-source-map": "~0.6.0",
-        "lodash.memoize": "~3.0.3",
-        "source-map": "~0.5.3"
-      }
-    },
-    "node_modules/combine-source-map/node_modules/convert-source-map": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
-      "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
-      "dev": true
-    },
-    "node_modules/combine-source-map/node_modules/source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/combined-stream": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
-      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-      "dev": true,
-      "dependencies": {
-        "delayed-stream": "~1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/command-line-args": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
-      "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
-      "dev": true,
-      "dependencies": {
-        "array-back": "^3.1.0",
-        "find-replace": "^3.0.0",
-        "lodash.camelcase": "^4.3.0",
-        "typical": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/commander": {
-      "version": "2.20.3",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "dev": true
-    },
-    "node_modules/comment-parser": {
-      "version": "0.7.6",
-      "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz",
-      "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
-    },
-    "node_modules/component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
-      "dev": true
-    },
-    "node_modules/compress-brotli": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz",
-      "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-buffer": "~3.0.0",
-        "json-buffer": "~3.0.1"
-      },
-      "engines": {
-        "node": ">= 12"
-      }
-    },
-    "node_modules/compress-brotli/node_modules/json-buffer": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
-      "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
-      "dev": true
-    },
-    "node_modules/compress-commons": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
-      "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
-      "dev": true,
-      "dependencies": {
-        "buffer-crc32": "^0.2.13",
-        "crc32-stream": "^4.0.2",
-        "normalize-path": "^3.0.0",
-        "readable-stream": "^3.6.0"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
-    },
-    "node_modules/concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
-      "engines": [
-        "node >= 0.8"
-      ],
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      }
-    },
-    "node_modules/concat-stream/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/concat-stream/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/concat-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/config-chain": {
-      "version": "1.1.13",
-      "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
-      "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
-      "dev": true,
-      "dependencies": {
-        "ini": "^1.3.4",
-        "proto-list": "~1.2.1"
-      }
-    },
-    "node_modules/configstore": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/configstore/-/configstore-1.4.0.tgz",
-      "integrity": "sha1-w1eB0FAdJowlxUuLF/YkDopPsCE=",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "mkdirp": "^0.5.0",
-        "object-assign": "^4.0.1",
-        "os-tmpdir": "^1.0.0",
-        "osenv": "^0.1.0",
-        "uuid": "^2.0.1",
-        "write-file-atomic": "^1.1.2",
-        "xdg-basedir": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/configstore/node_modules/uuid": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
-      "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
-      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
-      "dev": true
-    },
-    "node_modules/configstore/node_modules/write-file-atomic": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz",
-      "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.11",
-        "imurmurhash": "^0.1.4",
-        "slide": "^1.1.5"
-      }
-    },
-    "node_modules/connect": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
-      "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
-      "dev": true,
-      "dependencies": {
-        "debug": "2.6.9",
-        "finalhandler": "1.1.2",
-        "parseurl": "~1.3.3",
-        "utils-merge": "1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.10.0"
-      }
-    },
-    "node_modules/connect/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/connect/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/console-browserify": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
-      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
-      "dev": true
-    },
-    "node_modules/console-control-strings": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
-      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
-      "dev": true
-    },
-    "node_modules/constant-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
-      "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==",
-      "dev": true,
-      "dependencies": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3",
-        "upper-case": "^2.0.2"
-      }
-    },
-    "node_modules/constant-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
-    },
-    "node_modules/content-disposition": {
-      "version": "0.5.4",
-      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
-      "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "5.2.1"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/content-disposition/node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/convert-source-map": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
-      "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "node_modules/cookie": {
-      "version": "0.4.2",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
-      "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      }
-    },
-    "node_modules/copy-concurrently/node_modules/aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "node_modules/copy-concurrently/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/core-js": {
-      "version": "2.6.12",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
-      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
-      "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.",
-      "dev": true,
-      "hasInstallScript": true
-    },
-    "node_modules/core-js-compat": {
-      "version": "3.22.5",
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.5.tgz",
-      "integrity": "sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg==",
-      "dev": true,
-      "dependencies": {
-        "browserslist": "^4.20.3",
-        "semver": "7.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/core-js"
-      }
-    },
-    "node_modules/core-js-compat/node_modules/semver": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
-      "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
-    },
-    "node_modules/cors": {
-      "version": "2.8.5",
-      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
-      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
-      "dev": true,
-      "dependencies": {
-        "object-assign": "^4",
-        "vary": "^1"
-      },
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/crc-32": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
-      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
-      "dev": true,
-      "bin": {
-        "crc32": "bin/crc32.njs"
-      },
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/crc32-stream": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
-      "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
-      "dev": true,
-      "dependencies": {
-        "crc-32": "^1.2.0",
-        "readable-stream": "^3.4.0"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/create-ecdh": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
-      "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.5.3"
-      }
-    },
-    "node_modules/create-ecdh/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/create-error-class": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
-      "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
-      "dev": true,
-      "dependencies": {
-        "capture-stack-trace": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "node_modules/create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "node_modules/cross-spawn": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^3.1.0",
-        "shebang-command": "^2.0.0",
-        "which": "^2.0.1"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/cross-spawn-async": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-1.0.1.tgz",
-      "integrity": "sha1-u1JcHkINmUJVLgR5Gj6y2Yh6EF8=",
-      "deprecated": "cross-spawn no longer requires a build toolchain, use it instead",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^2.6.5",
-        "which": "^1.1.1"
-      }
-    },
-    "node_modules/cross-spawn-async/node_modules/lru-cache": {
-      "version": "2.7.3",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
-      "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
-      "dev": true
-    },
-    "node_modules/cross-spawn-async/node_modules/which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "which": "bin/which"
-      }
-    },
-    "node_modules/crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
-      "dependencies": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/css-shorthand-properties": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/css-shorthand-properties/-/css-shorthand-properties-1.1.1.tgz",
-      "integrity": "sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==",
-      "dev": true
-    },
-    "node_modules/css-value": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
-      "integrity": "sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo=",
-      "dev": true
-    },
-    "node_modules/custom-event": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
-      "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
-      "dev": true
-    },
-    "node_modules/cyclist": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
-      "dev": true
-    },
-    "node_modules/dash-ast": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
-      "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==",
-      "dev": true
-    },
-    "node_modules/dashdash": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
-      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dev": true,
-      "dependencies": {
-        "assert-plus": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/date-format": {
-      "version": "4.0.9",
-      "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.9.tgz",
-      "integrity": "sha512-+8J+BOUpSrlKLQLeF8xJJVTxS8QfRSuJgwxSVvslzgO3E6khbI0F5mMEPf5mTYhCCm4h99knYP6H3W9n3BQFrg==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/debug": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
-      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.1.2"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/decamelize": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decamelize-keys": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
-      "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
-      "dev": true,
-      "dependencies": {
-        "decamelize": "^1.1.0",
-        "map-obj": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decamelize-keys/node_modules/map-obj": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
-      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/decompress": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz",
-      "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==",
-      "dev": true,
-      "dependencies": {
-        "decompress-tar": "^4.0.0",
-        "decompress-tarbz2": "^4.0.0",
-        "decompress-targz": "^4.0.0",
-        "decompress-unzip": "^4.0.1",
-        "graceful-fs": "^4.1.10",
-        "make-dir": "^1.0.0",
-        "pify": "^2.3.0",
-        "strip-dirs": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress-response": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
-      "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
-      "dev": true,
-      "dependencies": {
-        "mimic-response": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress-tar": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz",
-      "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
-      "dev": true,
-      "dependencies": {
-        "file-type": "^5.2.0",
-        "is-stream": "^1.1.0",
-        "tar-stream": "^1.5.2"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress-tar/node_modules/file-type": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
-      "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress-tar/node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decompress-tarbz2": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
-      "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==",
-      "dev": true,
-      "dependencies": {
-        "decompress-tar": "^4.1.0",
-        "file-type": "^6.1.0",
-        "is-stream": "^1.1.0",
-        "seek-bzip": "^1.0.5",
-        "unbzip2-stream": "^1.0.9"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress-tarbz2/node_modules/file-type": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz",
-      "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress-tarbz2/node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decompress-targz": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz",
-      "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
-      "dev": true,
-      "dependencies": {
-        "decompress-tar": "^4.1.1",
-        "file-type": "^5.2.0",
-        "is-stream": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress-targz/node_modules/file-type": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
-      "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress-targz/node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decompress-unzip": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
-      "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=",
-      "dev": true,
-      "dependencies": {
-        "file-type": "^3.8.0",
-        "get-stream": "^2.2.0",
-        "pify": "^2.3.0",
-        "yauzl": "^2.4.2"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress-unzip/node_modules/file-type": {
-      "version": "3.9.0",
-      "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
-      "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decompress-unzip/node_modules/get-stream": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
-      "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=",
-      "dev": true,
-      "dependencies": {
-        "object-assign": "^4.0.1",
-        "pinkie-promise": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decompress-unzip/node_modules/pify": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decompress/node_modules/make-dir": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
-      "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
-      "dev": true,
-      "dependencies": {
-        "pify": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress/node_modules/make-dir/node_modules/pify": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/decompress/node_modules/pify": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/deep-eql": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
-      "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
-      "dev": true,
-      "dependencies": {
-        "type-detect": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/deep-extend": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
-      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/deep-is": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
-      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
-      "dev": true
-    },
-    "node_modules/deepmerge": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
-      "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/default-require-extensions": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
-      "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
-      "dev": true,
-      "dependencies": {
-        "strip-bom": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/defer-to-connect": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
-      "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/define-properties": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
-      "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
-      "dev": true,
-      "dependencies": {
-        "has-property-descriptors": "^1.0.0",
-        "object-keys": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/defined": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
-      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
-      "dev": true
-    },
-    "node_modules/delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/delegates": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
-      "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
-      "dev": true
-    },
-    "node_modules/depcheck": {
-      "version": "0.5.11",
-      "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.5.11.tgz",
-      "integrity": "sha1-ZCeduj5RcWyoX1MYthDnPiNB8PE=",
-      "dev": true,
-      "dependencies": {
-        "babylon": "^6.1.21",
-        "deps-regex": "^0.1.4",
-        "js-yaml": "^3.4.2",
-        "minimatch": "^3.0.0",
-        "require-package-name": "^2.0.1",
-        "walkdir": "0.0.11",
-        "yargs": "^3.26.0"
-      },
-      "bin": {
-        "depcheck": "bin/depcheck"
-      }
-    },
-    "node_modules/depcheck/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/depcheck/node_modules/camelcase": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
-      "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/depcheck/node_modules/cliui": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
-      "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^1.0.1",
-        "strip-ansi": "^3.0.1",
-        "wrap-ansi": "^2.0.0"
-      }
-    },
-    "node_modules/depcheck/node_modules/is-fullwidth-code-point": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-      "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-      "dev": true,
-      "dependencies": {
-        "number-is-nan": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/depcheck/node_modules/string-width": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-      "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-      "dev": true,
-      "dependencies": {
-        "code-point-at": "^1.0.0",
-        "is-fullwidth-code-point": "^1.0.0",
-        "strip-ansi": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/depcheck/node_modules/strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/depcheck/node_modules/wrap-ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
-      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^1.0.1",
-        "strip-ansi": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/depcheck/node_modules/y18n": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz",
-      "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==",
-      "dev": true
-    },
-    "node_modules/depcheck/node_modules/yargs": {
-      "version": "3.32.0",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
-      "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^2.0.1",
-        "cliui": "^3.0.3",
-        "decamelize": "^1.1.1",
-        "os-locale": "^1.4.0",
-        "string-width": "^1.0.1",
-        "window-size": "^0.1.4",
-        "y18n": "^3.2.0"
-      }
-    },
-    "node_modules/depd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
-      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/deps-regex": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz",
-      "integrity": "sha1-UYZnt2kUYKXn4KNBvnbrfOgJAYQ=",
-      "dev": true
-    },
-    "node_modules/deps-sort": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz",
-      "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==",
-      "dev": true,
-      "dependencies": {
-        "JSONStream": "^1.0.3",
-        "shasum-object": "^1.0.0",
-        "subarg": "^1.0.0",
-        "through2": "^2.0.0"
-      },
-      "bin": {
-        "deps-sort": "bin/cmd.js"
-      }
-    },
-    "node_modules/des.js": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
-      "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "node_modules/destroy": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
-      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8",
-        "npm": "1.2.8000 || >= 1.4.16"
-      }
-    },
-    "node_modules/detect-indent": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
-      "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/detect-newline": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
-      "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/detect-node": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
-      "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
-      "dev": true
-    },
-    "node_modules/detective": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
-      "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
-      "dev": true,
-      "dependencies": {
-        "acorn-node": "^1.6.1",
-        "defined": "^1.0.0",
-        "minimist": "^1.1.1"
-      },
-      "bin": {
-        "detective": "bin/detective.js"
-      },
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/devtools": {
-      "version": "6.12.1",
-      "resolved": "https://registry.npmjs.org/devtools/-/devtools-6.12.1.tgz",
-      "integrity": "sha512-JyG46suEiZmld7/UVeogkCWM0zYGt+2ML/TI+SkEp+bTv9cs46cDb0pKF3glYZJA7wVVL2gC07Ic0iCxyJEnCQ==",
-      "dev": true,
-      "dependencies": {
-        "@wdio/config": "6.12.1",
-        "@wdio/logger": "6.10.10",
-        "@wdio/protocols": "6.12.0",
-        "@wdio/utils": "6.11.0",
-        "chrome-launcher": "^0.13.1",
-        "edge-paths": "^2.1.0",
-        "puppeteer-core": "^5.1.0",
-        "ua-parser-js": "^0.7.21",
-        "uuid": "^8.0.0"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/devtools-protocol": {
-      "version": "0.0.818844",
-      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz",
-      "integrity": "sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==",
-      "dev": true
-    },
-    "node_modules/devtools/node_modules/uuid": {
-      "version": "8.3.2",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
-      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
-      "dev": true,
-      "bin": {
-        "uuid": "dist/bin/uuid"
-      }
-    },
-    "node_modules/di": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
-      "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
-      "dev": true
-    },
-    "node_modules/diff": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
-      "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.3.1"
-      }
-    },
-    "node_modules/diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      }
-    },
-    "node_modules/diffie-hellman/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/dir-glob": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
-      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
-      "dev": true,
-      "dependencies": {
-        "path-type": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/doctrine": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
-      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
-      "dev": true,
-      "dependencies": {
-        "esutils": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/dom-serialize": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
-      "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
-      "dev": true,
-      "dependencies": {
-        "custom-event": "~1.0.0",
-        "ent": "~2.2.0",
-        "extend": "^3.0.0",
-        "void-elements": "^2.0.0"
-      }
-    },
-    "node_modules/domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4",
-        "npm": ">=1.2"
-      }
-    },
-    "node_modules/dot-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
-      "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
-      "dev": true,
-      "dependencies": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/dot-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/download": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz",
-      "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==",
-      "dev": true,
-      "dependencies": {
-        "archive-type": "^4.0.0",
-        "caw": "^2.0.1",
-        "content-disposition": "^0.5.2",
-        "decompress": "^4.2.0",
-        "ext-name": "^5.0.0",
-        "file-type": "^8.1.0",
-        "filenamify": "^2.0.0",
-        "get-stream": "^3.0.0",
-        "got": "^8.3.1",
-        "make-dir": "^1.2.0",
-        "p-event": "^2.1.0",
-        "pify": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/download/node_modules/got": {
-      "version": "8.3.2",
-      "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz",
-      "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==",
-      "dev": true,
-      "dependencies": {
-        "@sindresorhus/is": "^0.7.0",
-        "cacheable-request": "^2.1.1",
-        "decompress-response": "^3.3.0",
-        "duplexer3": "^0.1.4",
-        "get-stream": "^3.0.0",
-        "into-stream": "^3.1.0",
-        "is-retry-allowed": "^1.1.0",
-        "isurl": "^1.0.0-alpha5",
-        "lowercase-keys": "^1.0.0",
-        "mimic-response": "^1.0.0",
-        "p-cancelable": "^0.4.0",
-        "p-timeout": "^2.0.1",
-        "pify": "^3.0.0",
-        "safe-buffer": "^5.1.1",
-        "timed-out": "^4.0.1",
-        "url-parse-lax": "^3.0.0",
-        "url-to-options": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/download/node_modules/make-dir": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
-      "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
-      "dev": true,
-      "dependencies": {
-        "pify": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/download/node_modules/pify": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/download/node_modules/prepend-http": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
-      "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/download/node_modules/timed-out": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
-      "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/download/node_modules/url-parse-lax": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
-      "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
-      "dev": true,
-      "dependencies": {
-        "prepend-http": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/duplexer2": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
-      "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
-      "dev": true,
-      "dependencies": {
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "node_modules/duplexer2/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/duplexer2/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/duplexer2/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/duplexer3": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
-      "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
-      "dev": true
-    },
-    "node_modules/duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "node_modules/duplexify/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/duplexify/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/duplexify/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/ecc-jsbn": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
-      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "dev": true,
-      "dependencies": {
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "node_modules/edge-launcher": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/edge-launcher/-/edge-launcher-1.2.2.tgz",
-      "integrity": "sha1-60Cq+9Bnpup27/+rBke81VCbN7I=",
-      "dev": true
-    },
-    "node_modules/edge-paths": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-2.2.1.tgz",
-      "integrity": "sha512-AI5fC7dfDmCdKo3m5y7PkYE8m6bMqR6pvVpgtrZkkhcJXFLelUgkjrhk3kXXx8Kbw2cRaTT4LkOR7hqf39KJdw==",
-      "dev": true,
-      "dependencies": {
-        "@types/which": "^1.3.2",
-        "which": "^2.0.2"
-      }
-    },
-    "node_modules/ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
-    },
-    "node_modules/electron-to-chromium": {
-      "version": "1.4.137",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz",
-      "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==",
-      "dev": true
-    },
-    "node_modules/elliptic": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
-      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.11.9",
-        "brorand": "^1.1.0",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.1",
-        "inherits": "^2.0.4",
-        "minimalistic-assert": "^1.0.1",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "node_modules/elliptic/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-      "dev": true
-    },
-    "node_modules/emojis-list": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
-      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/encoding": {
-      "version": "0.1.13",
-      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
-      "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "iconv-lite": "^0.6.2"
-      }
-    },
-    "node_modules/encoding/node_modules/iconv-lite": {
-      "version": "0.6.3",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
-      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/end-of-stream": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
-      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
-      "dev": true,
-      "dependencies": {
-        "once": "^1.4.0"
-      }
-    },
-    "node_modules/engine.io": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
-      "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
-      "dev": true,
-      "dependencies": {
-        "@types/cookie": "^0.4.1",
-        "@types/cors": "^2.8.12",
-        "@types/node": ">=10.0.0",
-        "accepts": "~1.3.4",
-        "base64id": "2.0.0",
-        "cookie": "~0.4.1",
-        "cors": "~2.8.5",
-        "debug": "~4.3.1",
-        "engine.io-parser": "~5.0.3",
-        "ws": "~8.2.3"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/engine.io-parser": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
-      "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
-      "dev": true,
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/enhanced-resolve": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
-      "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.5.0",
-        "tapable": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/enhanced-resolve/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/enhanced-resolve/node_modules/memory-fs": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
-      "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
-      "dev": true,
-      "dependencies": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=4.3.0 <5.0.0 || >=5.10"
-      }
-    },
-    "node_modules/enhanced-resolve/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/enhanced-resolve/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/enquirer": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
-      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
-      "dev": true,
-      "dependencies": {
-        "ansi-colors": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.6"
-      }
-    },
-    "node_modules/ent": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
-      "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
-      "dev": true
-    },
-    "node_modules/env-paths": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
-      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/err-code": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/err-code/-/err-code-0.1.2.tgz",
-      "integrity": "sha1-EiqSszQrmJnaArWsmU0w+V1HY+4=",
-      "dev": true
-    },
-    "node_modules/errno": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
-      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
-      "dev": true,
-      "dependencies": {
-        "prr": "~1.0.1"
-      },
-      "bin": {
-        "errno": "cli.js"
-      }
-    },
-    "node_modules/error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "dev": true,
-      "dependencies": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "node_modules/es6-error": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
-      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
-      "dev": true
-    },
-    "node_modules/escalade": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
-      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
-      "dev": true
-    },
-    "node_modules/escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/eslint": {
-      "version": "7.32.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
-      "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "7.12.11",
-        "@eslint/eslintrc": "^0.4.3",
-        "@humanwhocodes/config-array": "^0.5.0",
-        "ajv": "^6.10.0",
-        "chalk": "^4.0.0",
-        "cross-spawn": "^7.0.2",
-        "debug": "^4.0.1",
-        "doctrine": "^3.0.0",
-        "enquirer": "^2.3.5",
-        "escape-string-regexp": "^4.0.0",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^2.1.0",
-        "eslint-visitor-keys": "^2.0.0",
-        "espree": "^7.3.1",
-        "esquery": "^1.4.0",
-        "esutils": "^2.0.2",
-        "fast-deep-equal": "^3.1.3",
-        "file-entry-cache": "^6.0.1",
-        "functional-red-black-tree": "^1.0.1",
-        "glob-parent": "^5.1.2",
-        "globals": "^13.6.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.0.0",
-        "imurmurhash": "^0.1.4",
-        "is-glob": "^4.0.0",
-        "js-yaml": "^3.13.1",
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "levn": "^0.4.1",
-        "lodash.merge": "^4.6.2",
-        "minimatch": "^3.0.4",
-        "natural-compare": "^1.4.0",
-        "optionator": "^0.9.1",
-        "progress": "^2.0.0",
-        "regexpp": "^3.1.0",
-        "semver": "^7.2.1",
-        "strip-ansi": "^6.0.0",
-        "strip-json-comments": "^3.1.0",
-        "table": "^6.0.9",
-        "text-table": "^0.2.0",
-        "v8-compile-cache": "^2.0.3"
-      },
-      "bin": {
-        "eslint": "bin/eslint.js"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
-      }
-    },
-    "node_modules/eslint-plugin-jsdoc": {
-      "version": "30.7.13",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.13.tgz",
-      "integrity": "sha512-YM4WIsmurrp0rHX6XiXQppqKB8Ne5ATiZLJe2+/fkp9l9ExXFr43BbAbjZaVrpCT+tuPYOZ8k1MICARHnURUNQ==",
-      "dev": true,
-      "dependencies": {
-        "comment-parser": "^0.7.6",
-        "debug": "^4.3.1",
-        "jsdoctypeparser": "^9.0.0",
-        "lodash": "^4.17.20",
-        "regextras": "^0.7.1",
-        "semver": "^7.3.4",
-        "spdx-expression-parse": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "peerDependencies": {
-        "eslint": "^6.0.0 || ^7.0.0"
-      }
-    },
-    "node_modules/eslint-plugin-jsdoc/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/eslint-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
-      "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
-      "dev": true,
-      "dependencies": {
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mysticatea"
-      }
-    },
-    "node_modules/eslint-visitor-keys": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/eslint/node_modules/@babel/code-frame": {
-      "version": "7.12.11",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
-      "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/highlight": "^7.10.4"
-      }
-    },
-    "node_modules/eslint/node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/eslint/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/eslint/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/eslint/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/eslint/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/eslint/node_modules/escape-string-regexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/eslint/node_modules/eslint-visitor-keys": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
-      "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/eslint/node_modules/globals": {
-      "version": "13.15.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
-      "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
-      "dev": true,
-      "dependencies": {
-        "type-fest": "^0.20.2"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/eslint/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/eslint/node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/eslint/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/eslint/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/eslint/node_modules/type-fest": {
-      "version": "0.20.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/espree": {
-      "version": "7.3.1",
-      "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
-      "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
-      "dev": true,
-      "dependencies": {
-        "acorn": "^7.4.0",
-        "acorn-jsx": "^5.3.1",
-        "eslint-visitor-keys": "^1.3.0"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      }
-    },
-    "node_modules/esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
-      "bin": {
-        "esparse": "bin/esparse.js",
-        "esvalidate": "bin/esvalidate.js"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/esquery": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
-      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
-      "dev": true,
-      "dependencies": {
-        "estraverse": "^5.1.0"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/esquery/node_modules/estraverse": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
-      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/esrecurse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
-      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-      "dev": true,
-      "dependencies": {
-        "estraverse": "^5.2.0"
-      },
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/esrecurse/node_modules/estraverse": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
-      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/eventemitter3": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
-      "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
-      "dev": true
-    },
-    "node_modules/events": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz",
-      "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.x"
-      }
-    },
-    "node_modules/evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "dependencies": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "node_modules/execa": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
-      "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^5.0.1",
-        "get-stream": "^3.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/execa/node_modules/cross-spawn": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
-      "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^4.0.1",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      }
-    },
-    "node_modules/execa/node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/execa/node_modules/lru-cache": {
-      "version": "4.1.5",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
-      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
-      "dev": true,
-      "dependencies": {
-        "pseudomap": "^1.0.2",
-        "yallist": "^2.1.2"
-      }
-    },
-    "node_modules/execa/node_modules/shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "dev": true,
-      "dependencies": {
-        "shebang-regex": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/execa/node_modules/shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/execa/node_modules/which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "which": "bin/which"
-      }
-    },
-    "node_modules/execa/node_modules/yallist": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
-      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-      "dev": true
-    },
-    "node_modules/executable": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
-      "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
-      "dev": true,
-      "dependencies": {
-        "pify": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/executable/node_modules/pify": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/exit-hook": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
-      "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/exorcist": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/exorcist/-/exorcist-1.0.1.tgz",
-      "integrity": "sha1-eTFuPEiFhFSQ97tAXA5bXbEWfFI=",
-      "dev": true,
-      "dependencies": {
-        "is-stream": "~1.1.0",
-        "minimist": "0.0.5",
-        "mkdirp": "~0.5.1",
-        "mold-source-map": "~0.4.0"
-      },
-      "bin": {
-        "exorcist": "bin/exorcist.js"
-      }
-    },
-    "node_modules/exorcist/node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/exorcist/node_modules/minimist": {
-      "version": "0.0.5",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz",
-      "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=",
-      "dev": true
-    },
-    "node_modules/expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
-      "dependencies": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/ext-list": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
-      "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==",
-      "dev": true,
-      "dependencies": {
-        "mime-db": "^1.28.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/ext-name": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz",
-      "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==",
-      "dev": true,
-      "dependencies": {
-        "ext-list": "^2.0.0",
-        "sort-keys-length": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/extend": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
-      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
-      "dev": true
-    },
-    "node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/external-editor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
-      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
-      "dev": true,
-      "dependencies": {
-        "chardet": "^0.7.0",
-        "iconv-lite": "^0.4.24",
-        "tmp": "^0.0.33"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "dependencies": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extract-zip": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
-      "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.1",
-        "get-stream": "^5.1.0",
-        "yauzl": "^2.10.0"
-      },
-      "bin": {
-        "extract-zip": "cli.js"
-      },
-      "engines": {
-        "node": ">= 10.17.0"
-      },
-      "optionalDependencies": {
-        "@types/yauzl": "^2.9.1"
-      }
-    },
-    "node_modules/extract-zip/node_modules/get-stream": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
-      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
-      "dev": true,
-      "dependencies": {
-        "pump": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/extsprintf": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "dev": true,
-      "engines": [
-        "node >=0.6.0"
-      ]
-    },
-    "node_modules/fast-deep-equal": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
-    },
-    "node_modules/fast-glob": {
-      "version": "3.2.11",
-      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-      "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
-      "dev": true,
-      "dependencies": {
-        "@nodelib/fs.stat": "^2.0.2",
-        "@nodelib/fs.walk": "^1.2.3",
-        "glob-parent": "^5.1.2",
-        "merge2": "^1.3.0",
-        "micromatch": "^4.0.4"
-      },
-      "engines": {
-        "node": ">=8.6.0"
-      }
-    },
-    "node_modules/fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-      "dev": true
-    },
-    "node_modules/fast-levenshtein": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
-      "dev": true
-    },
-    "node_modules/fast-safe-stringify": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
-      "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
-      "dev": true
-    },
-    "node_modules/fastq": {
-      "version": "1.13.0",
-      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
-      "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
-      "dev": true,
-      "dependencies": {
-        "reusify": "^1.0.4"
-      }
-    },
-    "node_modules/fd-slicer": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
-      "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
-      "dev": true,
-      "dependencies": {
-        "pend": "~1.2.0"
-      }
-    },
-    "node_modules/figgy-pudding": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
-      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
-      "dev": true
-    },
-    "node_modules/figures": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
-      "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
-      "dev": true,
-      "dependencies": {
-        "escape-string-regexp": "^1.0.5"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/file-entry-cache": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
-      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
-      "dev": true,
-      "dependencies": {
-        "flat-cache": "^3.0.4"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      }
-    },
-    "node_modules/file-type": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz",
-      "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/file-uri-to-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
-      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
-      "dev": true,
-      "optional": true
-    },
-    "node_modules/filename-reserved-regex": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
-      "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/filenamify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz",
-      "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==",
-      "dev": true,
-      "dependencies": {
-        "filename-reserved-regex": "^2.0.0",
-        "strip-outer": "^1.0.0",
-        "trim-repeated": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/fill-range": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "dev": true,
-      "dependencies": {
-        "to-regex-range": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/finalhandler": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
-      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
-      "dev": true,
-      "dependencies": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "statuses": "~1.5.0",
-        "unpipe": "~1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/finalhandler/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/finalhandler/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/finalhandler/node_modules/on-finished": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "dev": true,
-      "dependencies": {
-        "ee-first": "1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/find-cache-dir": {
-      "version": "3.3.2",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
-      "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
-      "dev": true,
-      "dependencies": {
-        "commondir": "^1.0.1",
-        "make-dir": "^3.0.2",
-        "pkg-dir": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
-      }
-    },
-    "node_modules/find-replace": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
-      "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
-      "dev": true,
-      "dependencies": {
-        "array-back": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/find-up": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
-      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^6.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/find-versions": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz",
-      "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==",
-      "dev": true,
-      "dependencies": {
-        "semver-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/flat": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
-      "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
-      "dev": true,
-      "bin": {
-        "flat": "cli.js"
-      }
-    },
-    "node_modules/flat-cache": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
-      "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
-      "dev": true,
-      "dependencies": {
-        "flatted": "^3.1.0",
-        "rimraf": "^3.0.2"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      }
-    },
-    "node_modules/flatted": {
-      "version": "3.2.5",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
-      "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
-      "dev": true
-    },
-    "node_modules/flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      }
-    },
-    "node_modules/flush-write-stream/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/flush-write-stream/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/flush-write-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/follow-redirects": {
-      "version": "1.15.0",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz",
-      "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://github.com/sponsors/RubenVerborgh"
-        }
-      ],
-      "engines": {
-        "node": ">=4.0"
-      },
-      "peerDependenciesMeta": {
-        "debug": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/foreground-child": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
-      "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^7.0.0",
-        "signal-exit": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/forever-agent": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/form-data": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
-      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
-      "dev": true,
-      "dependencies": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.6",
-        "mime-types": "^2.1.12"
-      },
-      "engines": {
-        "node": ">= 0.12"
-      }
-    },
-    "node_modules/fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
-      "dependencies": {
-        "map-cache": "^0.2.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      }
-    },
-    "node_modules/from2/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/from2/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/from2/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/fromentries": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
-      "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/fs-constants": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
-      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
-      "dev": true
-    },
-    "node_modules/fs-extra": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
-      "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^6.0.1",
-        "universalify": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/fs-minipass": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
-      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      }
-    },
-    "node_modules/fs-write-stream-atomic/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/fs-write-stream-atomic/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/fs-write-stream-atomic/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
-    },
-    "node_modules/fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
-      }
-    },
-    "node_modules/function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-      "dev": true
-    },
-    "node_modules/functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
-      "dev": true
-    },
-    "node_modules/gauge": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
-      "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.0.3 || ^2.0.0",
-        "color-support": "^1.1.2",
-        "console-control-strings": "^1.0.0",
-        "has-unicode": "^2.0.1",
-        "object-assign": "^4.1.1",
-        "signal-exit": "^3.0.0",
-        "string-width": "^4.2.3",
-        "strip-ansi": "^6.0.1",
-        "wide-align": "^1.1.2"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/gaze": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
-      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
-      "dev": true,
-      "dependencies": {
-        "globule": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 4.0.0"
-      }
-    },
-    "node_modules/gensync": {
-      "version": "1.0.0-beta.2",
-      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
-      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/get-assigned-identifiers": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
-      "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==",
-      "dev": true
-    },
-    "node_modules/get-caller-file": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-      "dev": true,
-      "engines": {
-        "node": "6.* || 8.* || >= 10.*"
-      }
-    },
-    "node_modules/get-func-name": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
-      "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/get-intrinsic": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
-      "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
-      "dev": true,
-      "dependencies": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/get-package-type": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
-      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/get-port": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz",
-      "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/get-proxy": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz",
-      "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==",
-      "dev": true,
-      "dependencies": {
-        "npm-conf": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/get-stdin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
-      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/get-stream": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
-      "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/getpass": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
-      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dev": true,
-      "dependencies": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "node_modules/giturl": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/giturl/-/giturl-1.0.1.tgz",
-      "integrity": "sha512-wQourBdI13n8tbjcZTDl6k+ZrCRMU6p9vfp9jknZq+zfWc8xXNztpZFM4XkPHVzHcMSUZxEMYYKZjIGkPlei6Q==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.10.0"
-      }
-    },
-    "node_modules/glob": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
-      "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
-      "dev": true,
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/glob-parent": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
-      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "dev": true,
-      "dependencies": {
-        "is-glob": "^4.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/global-agent": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.2.0.tgz",
-      "integrity": "sha512-+20KpaW6DDLqhG7JDiJpD1JvNvb8ts+TNl7BPOYcURqCrXqnN1Vf+XVOrkKJAFPqfX+oEhsdzOj1hLWkBTdNJg==",
-      "dev": true,
-      "dependencies": {
-        "boolean": "^3.0.1",
-        "core-js": "^3.6.5",
-        "es6-error": "^4.1.1",
-        "matcher": "^3.0.0",
-        "roarr": "^2.15.3",
-        "semver": "^7.3.2",
-        "serialize-error": "^7.0.1"
-      },
-      "engines": {
-        "node": ">=10.0"
-      }
-    },
-    "node_modules/global-agent/node_modules/core-js": {
-      "version": "3.22.5",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz",
-      "integrity": "sha512-VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA==",
-      "dev": true,
-      "hasInstallScript": true,
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/core-js"
-      }
-    },
-    "node_modules/global-agent/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/global-modules": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
-      "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
-      "dev": true,
-      "dependencies": {
-        "global-prefix": "^0.1.4",
-        "is-windows": "^0.2.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/global-prefix": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
-      "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
-      "dev": true,
-      "dependencies": {
-        "homedir-polyfill": "^1.0.0",
-        "ini": "^1.3.4",
-        "is-windows": "^0.2.0",
-        "which": "^1.2.12"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/global-prefix/node_modules/which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "which": "bin/which"
-      }
-    },
-    "node_modules/globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/globalthis": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
-      "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
-      "dev": true,
-      "dependencies": {
-        "define-properties": "^1.1.3"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/globby": {
-      "version": "11.1.0",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
-      "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
-      "dev": true,
-      "dependencies": {
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.2.9",
-        "ignore": "^5.2.0",
-        "merge2": "^1.4.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/globby/node_modules/ignore": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/globule": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz",
-      "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==",
-      "dev": true,
-      "dependencies": {
-        "glob": "~7.1.1",
-        "lodash": "~4.17.10",
-        "minimatch": "~3.0.2"
-      },
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/globule/node_modules/glob": {
-      "version": "7.1.7",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
-      "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
-      "dev": true,
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/globule/node_modules/minimatch": {
-      "version": "3.0.8",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
-      "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/got": {
-      "version": "5.6.0",
-      "resolved": "https://registry.npmjs.org/got/-/got-5.6.0.tgz",
-      "integrity": "sha1-ux1+4WO3gIK7yOuDbz85UATqb78=",
-      "dev": true,
-      "dependencies": {
-        "create-error-class": "^3.0.1",
-        "duplexer2": "^0.1.4",
-        "is-plain-obj": "^1.0.0",
-        "is-redirect": "^1.0.0",
-        "is-retry-allowed": "^1.0.0",
-        "is-stream": "^1.0.0",
-        "lowercase-keys": "^1.0.0",
-        "node-status-codes": "^1.0.0",
-        "object-assign": "^4.0.1",
-        "parse-json": "^2.1.0",
-        "pinkie-promise": "^2.0.0",
-        "read-all-stream": "^3.0.0",
-        "readable-stream": "^2.0.5",
-        "timed-out": "^2.0.0",
-        "unzip-response": "^1.0.0",
-        "url-parse-lax": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/got/node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/got/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/got/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/got/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/graceful-fs": {
-      "version": "4.2.10",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
-      "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
-      "dev": true
-    },
-    "node_modules/grapheme-splitter": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
-      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
-      "dev": true
-    },
-    "node_modules/growl": {
-      "version": "1.10.5",
-      "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
-      "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.x"
-      }
-    },
-    "node_modules/har-schema": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/har-validator": {
-      "version": "5.1.5",
-      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
-      "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
-      "deprecated": "this library is no longer supported",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.12.3",
-        "har-schema": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/har-validator/node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/har-validator/node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/hard-rejection": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
-      "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dev": true,
-      "dependencies": {
-        "function-bind": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
-    "node_modules/has-ansi": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
-      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-ansi/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/has-property-descriptors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
-      "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
-      "dev": true,
-      "dependencies": {
-        "get-intrinsic": "^1.1.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/has-symbol-support-x": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
-      "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/has-symbols": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
-      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/has-to-string-tag-x": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
-      "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
-      "dev": true,
-      "dependencies": {
-        "has-symbol-support-x": "^1.4.1"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/has-unicode": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
-      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
-      "dev": true
-    },
-    "node_modules/has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
-      "dependencies": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/kind-of": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-      "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/hash-base": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
-      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/hash-base/node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "node_modules/hasha": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
-      "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
-      "dev": true,
-      "dependencies": {
-        "is-stream": "^2.0.0",
-        "type-fest": "^0.8.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/hasha/node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/he": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
-      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
-      "dev": true,
-      "bin": {
-        "he": "bin/he"
-      }
-    },
-    "node_modules/header-case": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz",
-      "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==",
-      "dev": true,
-      "dependencies": {
-        "capital-case": "^1.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/header-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
-      "dependencies": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "node_modules/homedir-polyfill": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
-      "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
-      "dev": true,
-      "dependencies": {
-        "parse-passwd": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/hosted-git-info": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
-      "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/html-escaper": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
-      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
-      "dev": true
-    },
-    "node_modules/htmlescape": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
-      "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/http-cache-semantics": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
-      "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
-      "dev": true
-    },
-    "node_modules/http-errors": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
-      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
-      "dev": true,
-      "dependencies": {
-        "depd": "2.0.0",
-        "inherits": "2.0.4",
-        "setprototypeof": "1.2.0",
-        "statuses": "2.0.1",
-        "toidentifier": "1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/http-errors/node_modules/statuses": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
-      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/http-proxy": {
-      "version": "1.18.1",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
-      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
-      "dev": true,
-      "dependencies": {
-        "eventemitter3": "^4.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/http-proxy-agent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
-      "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
-      "dev": true,
-      "dependencies": {
-        "@tootallnate/once": "1",
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/http-signature": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
-      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "dev": true,
-      "dependencies": {
-        "assert-plus": "^1.0.0",
-        "jsprim": "^1.2.2",
-        "sshpk": "^1.7.0"
-      },
-      "engines": {
-        "node": ">=0.8",
-        "npm": ">=1.3.7"
-      }
-    },
-    "node_modules/http2-wrapper": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
-      "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
-      "dev": true,
-      "dependencies": {
-        "quick-lru": "^5.1.1",
-        "resolve-alpn": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=10.19.0"
-      }
-    },
-    "node_modules/http2-wrapper/node_modules/quick-lru": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
-      "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
-    },
-    "node_modules/https-proxy-agent": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
-      "dev": true,
-      "dependencies": {
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/humanize-ms": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
-      "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
-      "dev": true,
-      "dependencies": {
-        "ms": "^2.0.0"
-      }
-    },
-    "node_modules/iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "dev": true,
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
-    },
-    "node_modules/ignore": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
-      "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/import-fresh": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
-      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
-      "dev": true,
-      "dependencies": {
-        "parent-module": "^1.0.0",
-        "resolve-from": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/import-lazy": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
-      "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.19"
-      }
-    },
-    "node_modules/indent-string": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
-      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/infer-owner": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-      "dev": true
-    },
-    "node_modules/infinity-agent": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/infinity-agent/-/infinity-agent-2.0.3.tgz",
-      "integrity": "sha1-ReDi/3qesDCyfWK3SzdEt6esQhY=",
-      "dev": true
-    },
-    "node_modules/inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
-      "dependencies": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "node_modules/inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-      "dev": true
-    },
-    "node_modules/ini": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
-      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
-      "dev": true
-    },
-    "node_modules/inline-source-map": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
-      "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
-      "dev": true,
-      "dependencies": {
-        "source-map": "~0.5.3"
-      }
-    },
-    "node_modules/inline-source-map/node_modules/source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/inquirer": {
-      "version": "7.3.3",
-      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
-      "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.1.0",
-        "cli-cursor": "^3.1.0",
-        "cli-width": "^3.0.0",
-        "external-editor": "^3.0.3",
-        "figures": "^3.0.0",
-        "lodash": "^4.17.19",
-        "mute-stream": "0.0.8",
-        "run-async": "^2.4.0",
-        "rxjs": "^6.6.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0",
-        "through": "^2.3.6"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/inquirer/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/inquirer/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/inquirer/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/inquirer/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/inquirer/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/inquirer/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/insert-module-globals": {
-      "version": "7.2.1",
-      "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz",
-      "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
-      "dev": true,
-      "dependencies": {
-        "acorn-node": "^1.5.2",
-        "combine-source-map": "^0.8.0",
-        "concat-stream": "^1.6.1",
-        "is-buffer": "^1.1.0",
-        "JSONStream": "^1.0.3",
-        "path-is-absolute": "^1.0.1",
-        "process": "~0.11.0",
-        "through2": "^2.0.0",
-        "undeclared-identifiers": "^1.1.2",
-        "xtend": "^4.0.0"
-      },
-      "bin": {
-        "insert-module-globals": "bin/cmd.js"
-      }
-    },
-    "node_modules/interpret": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
-      "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/into-stream": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz",
-      "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
-      "dev": true,
-      "dependencies": {
-        "from2": "^2.1.1",
-        "p-is-promise": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/invariant": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
-      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
-      "dev": true,
-      "dependencies": {
-        "loose-envify": "^1.0.0"
-      }
-    },
-    "node_modules/invert-kv": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
-      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/ip": {
-      "version": "1.1.8",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
-      "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==",
-      "dev": true
-    },
-    "node_modules/is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-accessor-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
-      "dev": true
-    },
-    "node_modules/is-binary-path": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "dev": true,
-      "dependencies": {
-        "binary-extensions": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
-    "node_modules/is-core-module": {
-      "version": "2.9.0",
-      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
-      "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
-      "dev": true,
-      "dependencies": {
-        "has": "^1.0.3"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-data-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-descriptor/node_modules/kind-of": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-      "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-docker": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
-      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
-      "dev": true,
-      "bin": {
-        "is-docker": "cli.js"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-finite": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
-      "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-glob": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
-      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-      "dev": true,
-      "dependencies": {
-        "is-extglob": "^2.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-lambda": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
-      "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=",
-      "dev": true
-    },
-    "node_modules/is-natural-number": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz",
-      "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=",
-      "dev": true
-    },
-    "node_modules/is-npm": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
-      "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-number": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.12.0"
-      }
-    },
-    "node_modules/is-object": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz",
-      "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==",
-      "dev": true,
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-plain-obj": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
-      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-redirect": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
-      "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-retry-allowed": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
-      "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-stream": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
-      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
-    },
-    "node_modules/is-unicode-supported": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
-      "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/is-utf8": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
-      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
-      "dev": true
-    },
-    "node_modules/is-windows": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
-      "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-wsl": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
-      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
-      "dev": true,
-      "dependencies": {
-        "is-docker": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/isarray": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
-      "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
-      "dev": true
-    },
-    "node_modules/isbinaryfile": {
-      "version": "4.0.10",
-      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz",
-      "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/gjtorikian/"
-      }
-    },
-    "node_modules/isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
-    },
-    "node_modules/isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/isstream": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
-      "dev": true
-    },
-    "node_modules/istanbul-lib-coverage": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
-      "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-hook": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
-      "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
-      "dev": true,
-      "dependencies": {
-        "append-transform": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-instrument": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
-      "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.7.5",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-coverage": "^3.0.0",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz",
-      "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==",
-      "dev": true,
-      "dependencies": {
-        "archy": "^1.0.0",
-        "cross-spawn": "^7.0.0",
-        "istanbul-lib-coverage": "^3.0.0-alpha.1",
-        "make-dir": "^3.0.0",
-        "p-map": "^3.0.0",
-        "rimraf": "^3.0.0",
-        "uuid": "^3.3.3"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo/node_modules/p-map": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
-      "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
-      "dev": true,
-      "dependencies": {
-        "aggregate-error": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-report": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
-      "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
-      "dev": true,
-      "dependencies": {
-        "istanbul-lib-coverage": "^3.0.0",
-        "make-dir": "^3.0.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
-      "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^2.0.5",
-        "make-dir": "^2.1.0",
-        "rimraf": "^2.6.3",
-        "source-map": "^0.6.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/istanbul-lib-coverage": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-      "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "dev": true,
-      "dependencies": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/istanbul-reports": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz",
-      "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==",
-      "dev": true,
-      "dependencies": {
-        "html-escaper": "^2.0.0",
-        "istanbul-lib-report": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/isurl": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz",
-      "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
-      "dev": true,
-      "dependencies": {
-        "has-to-string-tag-x": "^1.2.0",
-        "is-object": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/js-base64": {
-      "version": "2.6.4",
-      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
-      "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
-      "dev": true
-    },
-    "node_modules/js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-      "dev": true
-    },
-    "node_modules/js-yaml": {
-      "version": "3.14.1",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
-      "dependencies": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
-      }
-    },
-    "node_modules/jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true
-    },
-    "node_modules/jsdoctypeparser": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz",
-      "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==",
-      "dev": true,
-      "bin": {
-        "jsdoctypeparser": "bin/jsdoctypeparser"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-      "dev": true,
-      "bin": {
-        "jsesc": "bin/jsesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/json-buffer": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
-      "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
-      "dev": true
-    },
-    "node_modules/json-parse-better-errors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
-      "dev": true
-    },
-    "node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
-    "node_modules/json-schema": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
-      "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
-      "dev": true
-    },
-    "node_modules/json-schema-traverse": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
-      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
-    },
-    "node_modules/json-stable-stringify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
-      "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
-      "dev": true,
-      "dependencies": {
-        "jsonify": "~0.0.0"
-      }
-    },
-    "node_modules/json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
-      "dev": true
-    },
-    "node_modules/json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
-    },
-    "node_modules/json5": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
-      "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
-      "dev": true,
-      "bin": {
-        "json5": "lib/cli.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/jsonfile": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
-      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
-      "dev": true,
-      "dependencies": {
-        "universalify": "^2.0.0"
-      },
-      "optionalDependencies": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "node_modules/jsonify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
-      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/jsonparse": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
-      "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
-      "dev": true,
-      "engines": [
-        "node >= 0.2.0"
-      ]
-    },
-    "node_modules/JSONStream": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
-      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
-      "dev": true,
-      "dependencies": {
-        "jsonparse": "^1.2.0",
-        "through": ">=2.2.7 <3"
-      },
-      "bin": {
-        "JSONStream": "bin.js"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/jsprim": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
-      "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
-      "dev": true,
-      "dependencies": {
-        "assert-plus": "1.0.0",
-        "extsprintf": "1.3.0",
-        "json-schema": "0.4.0",
-        "verror": "1.10.0"
-      },
-      "engines": {
-        "node": ">=0.6.0"
-      }
-    },
-    "node_modules/just-extend": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
-      "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
-      "dev": true
-    },
-    "node_modules/karma": {
-      "version": "6.3.20",
-      "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.20.tgz",
-      "integrity": "sha512-HRNQhMuKOwKpjYlWiJP0DUrJOh+QjaI/DTaD8b9rEm4Il3tJ8MijutVZH4ts10LuUFst/CedwTS6vieCN8yTSw==",
-      "dev": true,
-      "dependencies": {
-        "@colors/colors": "1.5.0",
-        "body-parser": "^1.19.0",
-        "braces": "^3.0.2",
-        "chokidar": "^3.5.1",
-        "connect": "^3.7.0",
-        "di": "^0.0.1",
-        "dom-serialize": "^2.2.1",
-        "glob": "^7.1.7",
-        "graceful-fs": "^4.2.6",
-        "http-proxy": "^1.18.1",
-        "isbinaryfile": "^4.0.8",
-        "lodash": "^4.17.21",
-        "log4js": "^6.4.1",
-        "mime": "^2.5.2",
-        "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.5",
-        "qjobs": "^1.2.0",
-        "range-parser": "^1.2.1",
-        "rimraf": "^3.0.2",
-        "socket.io": "^4.4.1",
-        "source-map": "^0.6.1",
-        "tmp": "^0.2.1",
-        "ua-parser-js": "^0.7.30",
-        "yargs": "^16.1.1"
-      },
-      "bin": {
-        "karma": "bin/karma"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/karma-chrome-launcher": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
-      "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==",
-      "dev": true,
-      "dependencies": {
-        "which": "^1.2.1"
-      }
-    },
-    "node_modules/karma-chrome-launcher/node_modules/which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "which": "bin/which"
-      }
-    },
-    "node_modules/karma-cli": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-2.0.0.tgz",
-      "integrity": "sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw==",
-      "dev": true,
-      "dependencies": {
-        "resolve": "^1.3.3"
-      },
-      "bin": {
-        "karma": "bin/karma"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/karma-coverage-istanbul-reporter": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz",
-      "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==",
-      "dev": true,
-      "dependencies": {
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^3.0.6",
-        "istanbul-reports": "^3.0.2",
-        "minimatch": "^3.0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mattlewis92"
-      }
-    },
-    "node_modules/karma-edge-launcher": {
-      "version": "0.4.2",
-      "resolved": "https://registry.npmjs.org/karma-edge-launcher/-/karma-edge-launcher-0.4.2.tgz",
-      "integrity": "sha512-YAJZb1fmRcxNhMIWYsjLuxwODBjh2cSHgTW/jkVmdpGguJjLbs9ZgIK/tEJsMQcBLUkO+yO4LBbqYxqgGW2HIw==",
-      "dev": true,
-      "dependencies": {
-        "edge-launcher": "1.2.2"
-      },
-      "engines": {
-        "node": ">=4"
-      },
-      "peerDependencies": {
-        "karma": ">=0.9"
-      }
-    },
-    "node_modules/karma-firefox-launcher": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.2.tgz",
-      "integrity": "sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA==",
-      "dev": true,
-      "dependencies": {
-        "is-wsl": "^2.2.0",
-        "which": "^2.0.1"
-      }
-    },
-    "node_modules/karma-ie-launcher": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/karma-ie-launcher/-/karma-ie-launcher-1.0.0.tgz",
-      "integrity": "sha1-SXmGhCxJAZA0bNifVJTKmDDG1Zw=",
-      "dev": true,
-      "dependencies": {
-        "lodash": "^4.6.1"
-      },
-      "peerDependencies": {
-        "karma": ">=0.9"
-      }
-    },
-    "node_modules/karma-mocha": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz",
-      "integrity": "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.3"
-      }
-    },
-    "node_modules/karma-safari-launcher": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz",
-      "integrity": "sha1-lpgqLMR9BmquccVTursoMZEVos4=",
-      "dev": true,
-      "peerDependencies": {
-        "karma": ">=0.9"
-      }
-    },
-    "node_modules/karma-sauce-launcher": {
-      "version": "4.3.6",
-      "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-4.3.6.tgz",
-      "integrity": "sha512-Ej62q4mUPFktyAm8g0g8J5qhwEkXwdHrwtiV4pZjKNHNnSs+4qgDyzs3VkpOy3AmNTsTqQXUN/lpiy0tZpDJZQ==",
-      "dev": true,
-      "dependencies": {
-        "global-agent": "^2.1.12",
-        "saucelabs": "^4.6.3",
-        "webdriverio": "^6.7.0"
-      },
-      "engines": {
-        "node": ">= 10.0.0"
-      }
-    },
-    "node_modules/karma-verbose-reporter": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/karma-verbose-reporter/-/karma-verbose-reporter-0.0.8.tgz",
-      "integrity": "sha512-wHgevIcEpfgKwR3CnWd8t1ErzWeVlctO7ZtXkKFR1inb006ogz+7ZKg95eIVOnHCYWL3Gdy1dRMOGjVP0n4MlA==",
-      "dev": true,
-      "dependencies": {
-        "colors": "1.4.0"
-      },
-      "peerDependencies": {
-        "karma": ">=0.12"
-      }
-    },
-    "node_modules/karma-webpack": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz",
-      "integrity": "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==",
-      "dev": true,
-      "dependencies": {
-        "clone-deep": "^4.0.1",
-        "loader-utils": "^1.1.0",
-        "neo-async": "^2.6.1",
-        "schema-utils": "^1.0.0",
-        "source-map": "^0.7.3",
-        "webpack-dev-middleware": "^3.7.0"
-      },
-      "engines": {
-        "node": ">= 8.9.0"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0"
-      }
-    },
-    "node_modules/karma-webpack/node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/karma-webpack/node_modules/ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true,
-      "peerDependencies": {
-        "ajv": "^6.9.1"
-      }
-    },
-    "node_modules/karma-webpack/node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/karma-webpack/node_modules/json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/karma-webpack/node_modules/loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/karma-webpack/node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/karma-webpack/node_modules/source-map": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/karma/node_modules/tmp": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
-      "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
-      "dev": true,
-      "dependencies": {
-        "rimraf": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8.17.0"
-      }
-    },
-    "node_modules/keyv": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz",
-      "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==",
-      "dev": true,
-      "dependencies": {
-        "json-buffer": "3.0.0"
-      }
-    },
-    "node_modules/kind-of": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/labeled-stream-splicer": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz",
-      "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "stream-splicer": "^2.0.0"
-      }
-    },
-    "node_modules/latest-version": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-1.0.1.tgz",
-      "integrity": "sha1-cs/Ebj6NG+ZR4eu1Tqn26pbzdLs=",
-      "dev": true,
-      "dependencies": {
-        "package-json": "^1.0.0"
-      },
-      "bin": {
-        "latest-version": "cli.js"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/latest-version/node_modules/got": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/got/-/got-3.3.1.tgz",
-      "integrity": "sha1-5dDtSvVfw+701WAHdp2YGSvLLso=",
-      "dev": true,
-      "dependencies": {
-        "duplexify": "^3.2.0",
-        "infinity-agent": "^2.0.0",
-        "is-redirect": "^1.0.0",
-        "is-stream": "^1.0.0",
-        "lowercase-keys": "^1.0.0",
-        "nested-error-stacks": "^1.0.0",
-        "object-assign": "^3.0.0",
-        "prepend-http": "^1.0.0",
-        "read-all-stream": "^3.0.0",
-        "timed-out": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/latest-version/node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/latest-version/node_modules/object-assign": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
-      "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/latest-version/node_modules/package-json": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/package-json/-/package-json-1.2.0.tgz",
-      "integrity": "sha1-yOysCUInzfdqMWh07QXifMk5oOA=",
-      "dev": true,
-      "dependencies": {
-        "got": "^3.2.0",
-        "registry-url": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/lazystream": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
-      "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
-      "dev": true,
-      "dependencies": {
-        "readable-stream": "^2.0.5"
-      },
-      "engines": {
-        "node": ">= 0.6.3"
-      }
-    },
-    "node_modules/lazystream/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/lazystream/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/lazystream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/lcid": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
-      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
-      "dev": true,
-      "dependencies": {
-        "invert-kv": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/levn": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
-      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
-      "dev": true,
-      "dependencies": {
-        "prelude-ls": "^1.2.1",
-        "type-check": "~0.4.0"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/lighthouse-logger": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.3.0.tgz",
-      "integrity": "sha512-BbqAKApLb9ywUli+0a+PcV04SyJ/N1q/8qgCNe6U97KbPCS1BTksEuHFLYdvc8DltuhfxIUBqDZsC0bBGtl3lA==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^2.6.9",
-        "marky": "^1.2.2"
-      }
-    },
-    "node_modules/lighthouse-logger/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/lighthouse-logger/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/lines-and-columns": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
-      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
-      "dev": true
-    },
-    "node_modules/loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.3.0 <5.0.0 || >=5.10"
-      }
-    },
-    "node_modules/loader-utils": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
-      "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^2.1.2"
-      },
-      "engines": {
-        "node": ">=8.9.0"
-      }
-    },
-    "node_modules/locate-path": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
-      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/lodash": {
-      "version": "4.17.21",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
-      "dev": true
-    },
-    "node_modules/lodash.camelcase": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
-      "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
-      "dev": true
-    },
-    "node_modules/lodash.clonedeep": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
-      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
-      "dev": true
-    },
-    "node_modules/lodash.debounce": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
-      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
-      "dev": true
-    },
-    "node_modules/lodash.defaults": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
-      "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
-      "dev": true
-    },
-    "node_modules/lodash.difference": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
-      "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=",
-      "dev": true
-    },
-    "node_modules/lodash.flatten": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
-      "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
-      "dev": true
-    },
-    "node_modules/lodash.flattendeep": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
-      "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
-      "dev": true
-    },
-    "node_modules/lodash.get": {
-      "version": "4.4.2",
-      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
-      "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
-      "dev": true
-    },
-    "node_modules/lodash.isobject": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
-      "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=",
-      "dev": true
-    },
-    "node_modules/lodash.isplainobject": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
-      "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
-      "dev": true
-    },
-    "node_modules/lodash.memoize": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
-      "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=",
-      "dev": true
-    },
-    "node_modules/lodash.merge": {
-      "version": "4.6.2",
-      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
-      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
-      "dev": true
-    },
-    "node_modules/lodash.truncate": {
-      "version": "4.4.2",
-      "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
-      "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
-      "dev": true
-    },
-    "node_modules/lodash.union": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
-      "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=",
-      "dev": true
-    },
-    "node_modules/lodash.zip": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz",
-      "integrity": "sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=",
-      "dev": true
-    },
-    "node_modules/log-symbols": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
-      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^4.1.0",
-        "is-unicode-supported": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/log-symbols/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/log-symbols/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/log-symbols/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/log-symbols/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/log-symbols/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/log-symbols/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/log4js": {
-      "version": "6.4.6",
-      "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.6.tgz",
-      "integrity": "sha512-1XMtRBZszmVZqPAOOWczH+Q94AI42mtNWjvjA5RduKTSWjEc56uOBbyM1CJnfN4Ym0wSd8cQ43zOojlSHgRDAw==",
-      "dev": true,
-      "dependencies": {
-        "date-format": "^4.0.9",
-        "debug": "^4.3.4",
-        "flatted": "^3.2.5",
-        "rfdc": "^1.3.0",
-        "streamroller": "^3.0.8"
-      },
-      "engines": {
-        "node": ">=8.0"
-      }
-    },
-    "node_modules/loglevel": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz",
-      "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6.0"
-      },
-      "funding": {
-        "type": "tidelift",
-        "url": "https://tidelift.com/funding/github/npm/loglevel"
-      }
-    },
-    "node_modules/loglevel-plugin-prefix": {
-      "version": "0.8.4",
-      "resolved": "https://registry.npmjs.org/loglevel-plugin-prefix/-/loglevel-plugin-prefix-0.8.4.tgz",
-      "integrity": "sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==",
-      "dev": true
-    },
-    "node_modules/loose-envify": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
-      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "dev": true,
-      "dependencies": {
-        "js-tokens": "^3.0.0 || ^4.0.0"
-      },
-      "bin": {
-        "loose-envify": "cli.js"
-      }
-    },
-    "node_modules/loupe": {
-      "version": "2.3.4",
-      "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz",
-      "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==",
-      "dev": true,
-      "dependencies": {
-        "get-func-name": "^2.0.0"
-      }
-    },
-    "node_modules/lower-case": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
-      "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/lower-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/lowercase-keys": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
-      "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-      "dev": true,
-      "dependencies": {
-        "semver": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/make-fetch-happen": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
-      "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
-      "dev": true,
-      "dependencies": {
-        "agentkeepalive": "^4.1.3",
-        "cacache": "^15.2.0",
-        "http-cache-semantics": "^4.1.0",
-        "http-proxy-agent": "^4.0.1",
-        "https-proxy-agent": "^5.0.0",
-        "is-lambda": "^1.0.1",
-        "lru-cache": "^6.0.0",
-        "minipass": "^3.1.3",
-        "minipass-collect": "^1.0.2",
-        "minipass-fetch": "^1.3.2",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.4",
-        "negotiator": "^0.6.2",
-        "promise-retry": "^2.0.1",
-        "socks-proxy-agent": "^6.0.0",
-        "ssri": "^8.0.0"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/map-obj": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
-      "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
-      "dependencies": {
-        "object-visit": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/marky": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.4.tgz",
-      "integrity": "sha512-zd2/GiSn6U3/jeFVZ0J9CA1LzQ8RfIVvXkb/U0swFHF/zT+dVohTAWjmo2DcIuofmIIIROlwTbd+shSeXmxr0w==",
-      "dev": true
-    },
-    "node_modules/matcher": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
-      "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
-      "dev": true,
-      "dependencies": {
-        "escape-string-regexp": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/matcher/node_modules/escape-string-regexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "dependencies": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "dev": true,
-      "dependencies": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "node_modules/memory-fs/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/memory-fs/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/memory-fs/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/meow": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
-      "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/minimist": "^1.2.0",
-        "camelcase-keys": "^6.2.2",
-        "decamelize": "^1.2.0",
-        "decamelize-keys": "^1.1.0",
-        "hard-rejection": "^2.1.0",
-        "minimist-options": "4.1.0",
-        "normalize-package-data": "^3.0.0",
-        "read-pkg-up": "^7.0.1",
-        "redent": "^3.0.0",
-        "trim-newlines": "^3.0.0",
-        "type-fest": "^0.18.0",
-        "yargs-parser": "^20.2.3"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/meow/node_modules/type-fest": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
-      "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/merge-source-map": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
-      "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
-      "dev": true,
-      "dependencies": {
-        "source-map": "^0.6.1"
-      }
-    },
-    "node_modules/merge2": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
-      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/micromatch": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
-      "dev": true,
-      "dependencies": {
-        "braces": "^3.0.2",
-        "picomatch": "^2.3.1"
-      },
-      "engines": {
-        "node": ">=8.6"
-      }
-    },
-    "node_modules/miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      },
-      "bin": {
-        "miller-rabin": "bin/miller-rabin"
-      }
-    },
-    "node_modules/miller-rabin/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/mime": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
-      "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
-      "dev": true,
-      "bin": {
-        "mime": "cli.js"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/mime-db": {
-      "version": "1.52.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
-      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/mime-types": {
-      "version": "2.1.35",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
-      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
-      "dev": true,
-      "dependencies": {
-        "mime-db": "1.52.0"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/mimic-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/mimic-response": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
-      "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/min-indent": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
-      "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
-    },
-    "node_modules/minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
-    },
-    "node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/minimist": {
-      "version": "1.2.6",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
-      "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
-      "dev": true
-    },
-    "node_modules/minimist-options": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
-      "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
-      "dev": true,
-      "dependencies": {
-        "arrify": "^1.0.1",
-        "is-plain-obj": "^1.1.0",
-        "kind-of": "^6.0.3"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/minipass": {
-      "version": "3.1.6",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
-      "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/minipass-collect": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
-      "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/minipass-fetch": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
-      "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.1.0",
-        "minipass-sized": "^1.0.3",
-        "minizlib": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "optionalDependencies": {
-        "encoding": "^0.1.12"
-      }
-    },
-    "node_modules/minipass-flush": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
-      "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/minipass-pipeline": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
-      "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/minipass-sized": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
-      "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/minizlib": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
-      "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0",
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
-      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
-      "dependencies": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
-      "dependencies": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/mixin-deep/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/mkdirp": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.6"
-      },
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      }
-    },
-    "node_modules/mkdirp-classic": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
-      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
-      "dev": true
-    },
-    "node_modules/mkdirp-promise": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz",
-      "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=",
-      "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.",
-      "dev": true,
-      "dependencies": {
-        "mkdirp": "*"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/mocha": {
-      "version": "8.4.0",
-      "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz",
-      "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==",
-      "dev": true,
-      "dependencies": {
-        "@ungap/promise-all-settled": "1.1.2",
-        "ansi-colors": "4.1.1",
-        "browser-stdout": "1.3.1",
-        "chokidar": "3.5.1",
-        "debug": "4.3.1",
-        "diff": "5.0.0",
-        "escape-string-regexp": "4.0.0",
-        "find-up": "5.0.0",
-        "glob": "7.1.6",
-        "growl": "1.10.5",
-        "he": "1.2.0",
-        "js-yaml": "4.0.0",
-        "log-symbols": "4.0.0",
-        "minimatch": "3.0.4",
-        "ms": "2.1.3",
-        "nanoid": "3.1.20",
-        "serialize-javascript": "5.0.1",
-        "strip-json-comments": "3.1.1",
-        "supports-color": "8.1.1",
-        "which": "2.0.2",
-        "wide-align": "1.1.3",
-        "workerpool": "6.1.0",
-        "yargs": "16.2.0",
-        "yargs-parser": "20.2.4",
-        "yargs-unparser": "2.0.0"
-      },
-      "bin": {
-        "_mocha": "bin/_mocha",
-        "mocha": "bin/mocha"
-      },
-      "engines": {
-        "node": ">= 10.12.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/mochajs"
-      }
-    },
-    "node_modules/mocha/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/mocha/node_modules/argparse": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
-      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
-      "dev": true
-    },
-    "node_modules/mocha/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/mocha/node_modules/chalk/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/mocha/node_modules/chokidar": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
-      "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
-      "dev": true,
-      "dependencies": {
-        "anymatch": "~3.1.1",
-        "braces": "~3.0.2",
-        "glob-parent": "~5.1.0",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.5.0"
-      },
-      "engines": {
-        "node": ">= 8.10.0"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.1"
-      }
-    },
-    "node_modules/mocha/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/mocha/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/mocha/node_modules/debug": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
-      "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.1.2"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/mocha/node_modules/debug/node_modules/ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-      "dev": true
-    },
-    "node_modules/mocha/node_modules/escape-string-regexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/mocha/node_modules/glob": {
-      "version": "7.1.6",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
-      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
-      "dev": true,
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/mocha/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/mocha/node_modules/js-yaml": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz",
-      "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==",
-      "dev": true,
-      "dependencies": {
-        "argparse": "^2.0.1"
-      },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
-      }
-    },
-    "node_modules/mocha/node_modules/log-symbols": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
-      "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/mocha/node_modules/minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/mocha/node_modules/ms": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
-      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
-      "dev": true
-    },
-    "node_modules/mocha/node_modules/readdirp": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
-      "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
-      "dev": true,
-      "dependencies": {
-        "picomatch": "^2.2.1"
-      },
-      "engines": {
-        "node": ">=8.10.0"
-      }
-    },
-    "node_modules/mocha/node_modules/supports-color": {
-      "version": "8.1.1",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
-      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/supports-color?sponsor=1"
-      }
-    },
-    "node_modules/module-deps": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz",
-      "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
-      "dev": true,
-      "dependencies": {
-        "browser-resolve": "^2.0.0",
-        "cached-path-relative": "^1.0.2",
-        "concat-stream": "~1.6.0",
-        "defined": "^1.0.0",
-        "detective": "^5.2.0",
-        "duplexer2": "^0.1.2",
-        "inherits": "^2.0.1",
-        "JSONStream": "^1.0.3",
-        "parents": "^1.0.0",
-        "readable-stream": "^2.0.2",
-        "resolve": "^1.4.0",
-        "stream-combiner2": "^1.1.1",
-        "subarg": "^1.0.0",
-        "through2": "^2.0.0",
-        "xtend": "^4.0.0"
-      },
-      "bin": {
-        "module-deps": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/module-deps/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/module-deps/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/module-deps/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/mold-source-map": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/mold-source-map/-/mold-source-map-0.4.0.tgz",
-      "integrity": "sha1-z2fgsxxHq5uttcnCVlGGISe7gxc=",
-      "dev": true,
-      "dependencies": {
-        "convert-source-map": "^1.1.0",
-        "through": "~2.2.7"
-      }
-    },
-    "node_modules/mold-source-map/node_modules/through": {
-      "version": "2.2.7",
-      "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz",
-      "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=",
-      "dev": true
-    },
-    "node_modules/moment": {
-      "version": "2.29.3",
-      "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
-      "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      }
-    },
-    "node_modules/move-concurrently/node_modules/aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "node_modules/move-concurrently/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-      "dev": true
-    },
-    "node_modules/mute-stream": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
-      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
-      "dev": true
-    },
-    "node_modules/nan": {
-      "version": "2.15.0",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
-      "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==",
-      "dev": true
-    },
-    "node_modules/nanoid": {
-      "version": "3.1.20",
-      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz",
-      "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==",
-      "dev": true,
-      "bin": {
-        "nanoid": "bin/nanoid.cjs"
-      },
-      "engines": {
-        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
-      }
-    },
-    "node_modules/nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nanomatch/node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nanomatch/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nanomatch/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nanomatch/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nanomatch/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nanomatch/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nanomatch/node_modules/is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/natural-compare": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
-      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
-      "dev": true
-    },
-    "node_modules/negotiator": {
-      "version": "0.6.3",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
-      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/neo-async": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
-      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
-      "dev": true
-    },
-    "node_modules/nested-error-stacks": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz",
-      "integrity": "sha1-GfYZWRUZ8JZ2mlupqG5u7sgjw88=",
-      "dev": true,
-      "dependencies": {
-        "inherits": "~2.0.1"
-      }
-    },
-    "node_modules/nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
-      "dev": true
-    },
-    "node_modules/nise": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.1.tgz",
-      "integrity": "sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==",
-      "dev": true,
-      "dependencies": {
-        "@sinonjs/commons": "^1.8.3",
-        "@sinonjs/fake-timers": ">=5",
-        "@sinonjs/text-encoding": "^0.7.1",
-        "just-extend": "^4.0.2",
-        "path-to-regexp": "^1.7.0"
-      }
-    },
-    "node_modules/no-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
-      "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
-      "dev": true,
-      "dependencies": {
-        "lower-case": "^2.0.2",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/no-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/node-emoji": {
-      "version": "1.11.0",
-      "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
-      "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
-      "dev": true,
-      "dependencies": {
-        "lodash": "^4.17.21"
-      }
-    },
-    "node_modules/node-fetch": {
-      "version": "2.6.7",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
-      "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
-      "dev": true,
-      "dependencies": {
-        "whatwg-url": "^5.0.0"
-      },
-      "engines": {
-        "node": "4.x || >=6.0.0"
-      },
-      "peerDependencies": {
-        "encoding": "^0.1.0"
-      },
-      "peerDependenciesMeta": {
-        "encoding": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/node-gyp": {
-      "version": "8.4.1",
-      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
-      "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
-      "dev": true,
-      "dependencies": {
-        "env-paths": "^2.2.0",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.2.6",
-        "make-fetch-happen": "^9.1.0",
-        "nopt": "^5.0.0",
-        "npmlog": "^6.0.0",
-        "rimraf": "^3.0.2",
-        "semver": "^7.3.5",
-        "tar": "^6.1.2",
-        "which": "^2.0.2"
-      },
-      "bin": {
-        "node-gyp": "bin/node-gyp.js"
-      },
-      "engines": {
-        "node": ">= 10.12.0"
-      }
-    },
-    "node_modules/node-gyp/node_modules/are-we-there-yet": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz",
-      "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==",
-      "dev": true,
-      "dependencies": {
-        "delegates": "^1.0.0",
-        "readable-stream": "^3.6.0"
-      },
-      "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16"
-      }
-    },
-    "node_modules/node-gyp/node_modules/gauge": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
-      "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.0.3 || ^2.0.0",
-        "color-support": "^1.1.3",
-        "console-control-strings": "^1.1.0",
-        "has-unicode": "^2.0.1",
-        "signal-exit": "^3.0.7",
-        "string-width": "^4.2.3",
-        "strip-ansi": "^6.0.1",
-        "wide-align": "^1.1.5"
-      },
-      "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-      }
-    },
-    "node_modules/node-gyp/node_modules/npmlog": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
-      "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
-      "dev": true,
-      "dependencies": {
-        "are-we-there-yet": "^3.0.0",
-        "console-control-strings": "^1.1.0",
-        "gauge": "^4.0.3",
-        "set-blocking": "^2.0.0"
-      },
-      "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-      }
-    },
-    "node_modules/node-gyp/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/node-gyp/node_modules/wide-align": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
-      "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^1.0.2 || 2 || 3 || 4"
-      }
-    },
-    "node_modules/node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "dev": true,
-      "dependencies": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/buffer": {
-      "version": "4.9.2",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
-      "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
-      "dev": true,
-      "dependencies": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4",
-        "isarray": "^1.0.0"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/inherits": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-      "dev": true
-    },
-    "node_modules/node-libs-browser/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/node-libs-browser/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-      "dev": true,
-      "dependencies": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/timers-browserify": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
-      "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
-      "dev": true,
-      "dependencies": {
-        "setimmediate": "^1.0.4"
-      },
-      "engines": {
-        "node": ">=0.6.0"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-      "dev": true
-    },
-    "node_modules/node-libs-browser/node_modules/util": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "2.0.3"
-      }
-    },
-    "node_modules/node-preload": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
-      "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
-      "dev": true,
-      "dependencies": {
-        "process-on-spawn": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/node-releases": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
-      "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==",
-      "dev": true
-    },
-    "node_modules/node-sass": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz",
-      "integrity": "sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==",
-      "dev": true,
-      "hasInstallScript": true,
-      "dependencies": {
-        "async-foreach": "^0.1.3",
-        "chalk": "^4.1.2",
-        "cross-spawn": "^7.0.3",
-        "gaze": "^1.0.0",
-        "get-stdin": "^4.0.1",
-        "glob": "^7.0.3",
-        "lodash": "^4.17.15",
-        "meow": "^9.0.0",
-        "nan": "^2.13.2",
-        "node-gyp": "^8.4.1",
-        "npmlog": "^5.0.0",
-        "request": "^2.88.0",
-        "sass-graph": "4.0.0",
-        "stdout-stream": "^1.4.0",
-        "true-case-path": "^1.0.2"
-      },
-      "bin": {
-        "node-sass": "bin/node-sass"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/node-sass/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/node-sass/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/node-sass/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/node-sass/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/node-sass/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/node-sass/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/node-status-codes": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
-      "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nopt": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
-      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
-      "dev": true,
-      "dependencies": {
-        "abbrev": "1"
-      },
-      "bin": {
-        "nopt": "bin/nopt.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/normalize-package-data": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
-      "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
-      "dev": true,
-      "dependencies": {
-        "hosted-git-info": "^4.0.1",
-        "is-core-module": "^2.5.0",
-        "semver": "^7.3.4",
-        "validate-npm-package-license": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/normalize-package-data/node_modules/semver": {
-      "version": "7.3.7",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/normalize-url": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz",
-      "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
-      "dev": true,
-      "dependencies": {
-        "prepend-http": "^2.0.0",
-        "query-string": "^5.0.1",
-        "sort-keys": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/normalize-url/node_modules/prepend-http": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
-      "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/normalize-url/node_modules/sort-keys": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
-      "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
-      "dev": true,
-      "dependencies": {
-        "is-plain-obj": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/npm-check": {
-      "version": "4.1.4",
-      "resolved": "https://registry.npmjs.org/npm-check/-/npm-check-4.1.4.tgz",
-      "integrity": "sha1-05Q2to62GNiEBsONmKDM7cvfois=",
-      "dev": true,
-      "dependencies": {
-        "buffered-spawn": "^1.1.2",
-        "chalk": "^1.1.0",
-        "cli-cursor": "^1.0.2",
-        "commander": "^2.9.0",
-        "depcheck": "^0.5.9",
-        "figures": "^1.4.0",
-        "giturl": "^1.0.0",
-        "global-modules": "^0.2.0",
-        "globby": "^3.0.1",
-        "inquirer": "^0.11.0",
-        "lodash": "^3.10.0",
-        "node-emoji": "^1.0.3",
-        "package-json": "^2.0.1",
-        "q": "^1.4.1",
-        "semver": "^5.0.1",
-        "semver-diff": "^2.0.0",
-        "text-table": "^0.2.0",
-        "update-notifier": "^0.5.0"
-      },
-      "bin": {
-        "npm-check": "bin/cli.js"
-      }
-    },
-    "node_modules/npm-check/node_modules/ansi-escapes": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
-      "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/ansi-styles": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/array-union": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-      "dev": true,
-      "dependencies": {
-        "array-uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/chalk": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^2.2.1",
-        "escape-string-regexp": "^1.0.2",
-        "has-ansi": "^2.0.0",
-        "strip-ansi": "^3.0.0",
-        "supports-color": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/cli-cursor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
-      "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
-      "dev": true,
-      "dependencies": {
-        "restore-cursor": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/cli-width": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
-      "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=",
-      "dev": true
-    },
-    "node_modules/npm-check/node_modules/figures": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
-      "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
-      "dev": true,
-      "dependencies": {
-        "escape-string-regexp": "^1.0.5",
-        "object-assign": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/glob": {
-      "version": "5.0.15",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
-      "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
-      "dev": true,
-      "dependencies": {
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "2 || 3",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/npm-check/node_modules/globby": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-3.0.1.tgz",
-      "integrity": "sha1-IJSvhCHhkVIVDViT62QWsxLZoi8=",
-      "dev": true,
-      "dependencies": {
-        "array-union": "^1.0.1",
-        "arrify": "^1.0.0",
-        "glob": "^5.0.3",
-        "object-assign": "^4.0.1",
-        "pify": "^2.0.0",
-        "pinkie-promise": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/inquirer": {
-      "version": "0.11.4",
-      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.11.4.tgz",
-      "integrity": "sha1-geM3ToNhvq/y2XAWIG01nQsy+k0=",
-      "dev": true,
-      "dependencies": {
-        "ansi-escapes": "^1.1.0",
-        "ansi-regex": "^2.0.0",
-        "chalk": "^1.0.0",
-        "cli-cursor": "^1.0.1",
-        "cli-width": "^1.0.1",
-        "figures": "^1.3.5",
-        "lodash": "^3.3.1",
-        "readline2": "^1.0.1",
-        "run-async": "^0.1.0",
-        "rx-lite": "^3.1.2",
-        "string-width": "^1.0.1",
-        "strip-ansi": "^3.0.0",
-        "through": "^2.3.6"
-      }
-    },
-    "node_modules/npm-check/node_modules/is-fullwidth-code-point": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-      "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-      "dev": true,
-      "dependencies": {
-        "number-is-nan": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/lodash": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
-      "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
-      "dev": true
-    },
-    "node_modules/npm-check/node_modules/onetime": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
-      "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/pify": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/pinkie": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz",
-      "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/pinkie-promise": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz",
-      "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=",
-      "dev": true,
-      "dependencies": {
-        "pinkie": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/restore-cursor": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
-      "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
-      "dev": true,
-      "dependencies": {
-        "exit-hook": "^1.0.0",
-        "onetime": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/run-async": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
-      "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
-      "dev": true,
-      "dependencies": {
-        "once": "^1.3.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/npm-check/node_modules/string-width": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-      "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-      "dev": true,
-      "dependencies": {
-        "code-point-at": "^1.0.0",
-        "is-fullwidth-code-point": "^1.0.0",
-        "strip-ansi": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-check/node_modules/supports-color": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/npm-conf": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
-      "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
-      "dev": true,
-      "dependencies": {
-        "config-chain": "^1.1.11",
-        "pify": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/npm-conf/node_modules/pify": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/npm-run-path/node_modules/path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/npmlog": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
-      "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
-      "dev": true,
-      "dependencies": {
-        "are-we-there-yet": "^2.0.0",
-        "console-control-strings": "^1.1.0",
-        "gauge": "^3.0.0",
-        "set-blocking": "^2.0.0"
-      }
-    },
-    "node_modules/number-is-nan": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/nyc": {
-      "version": "15.1.0",
-      "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
-      "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
-      "dev": true,
-      "dependencies": {
-        "@istanbuljs/load-nyc-config": "^1.0.0",
-        "@istanbuljs/schema": "^0.1.2",
-        "caching-transform": "^4.0.0",
-        "convert-source-map": "^1.7.0",
-        "decamelize": "^1.2.0",
-        "find-cache-dir": "^3.2.0",
-        "find-up": "^4.1.0",
-        "foreground-child": "^2.0.0",
-        "get-package-type": "^0.1.0",
-        "glob": "^7.1.6",
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-hook": "^3.0.0",
-        "istanbul-lib-instrument": "^4.0.0",
-        "istanbul-lib-processinfo": "^2.0.2",
-        "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^4.0.0",
-        "istanbul-reports": "^3.0.2",
-        "make-dir": "^3.0.0",
-        "node-preload": "^0.2.1",
-        "p-map": "^3.0.0",
-        "process-on-spawn": "^1.0.0",
-        "resolve-from": "^5.0.0",
-        "rimraf": "^3.0.0",
-        "signal-exit": "^3.0.2",
-        "spawn-wrap": "^2.0.0",
-        "test-exclude": "^6.0.0",
-        "yargs": "^15.0.2"
-      },
-      "bin": {
-        "nyc": "bin/nyc.js"
-      },
-      "engines": {
-        "node": ">=8.9"
-      }
-    },
-    "node_modules/nyc/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/nyc/node_modules/cliui": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
-      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0",
-        "wrap-ansi": "^6.2.0"
-      }
-    },
-    "node_modules/nyc/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/nyc/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/nyc/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/istanbul-lib-source-maps": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
-      "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^3.0.0",
-        "source-map": "^0.6.1"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/nyc/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/nyc/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/p-map": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
-      "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
-      "dev": true,
-      "dependencies": {
-        "aggregate-error": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/wrap-ansi": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
-      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/y18n": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
-      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
-      "dev": true
-    },
-    "node_modules/nyc/node_modules/yargs": {
-      "version": "15.4.1",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
-      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
-      "dev": true,
-      "dependencies": {
-        "cliui": "^6.0.0",
-        "decamelize": "^1.2.0",
-        "find-up": "^4.1.0",
-        "get-caller-file": "^2.0.1",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^2.0.0",
-        "set-blocking": "^2.0.0",
-        "string-width": "^4.2.0",
-        "which-module": "^2.0.0",
-        "y18n": "^4.0.0",
-        "yargs-parser": "^18.1.2"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/yargs-parser": {
-      "version": "18.1.3",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
-      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/oauth-sign": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
-      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
-      "dependencies": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-inspect": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
-      "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
-      "dev": true,
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/object-keys": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object.assign": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
-      "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "has-symbols": "^1.0.1",
-        "object-keys": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/offset-sourcemap-lines": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/offset-sourcemap-lines/-/offset-sourcemap-lines-1.0.1.tgz",
-      "integrity": "sha1-WFTf90tz/Abvy2HXtyGoET2ZvpI=",
-      "dev": true,
-      "dependencies": {
-        "source-map": "^0.5.0"
-      }
-    },
-    "node_modules/offset-sourcemap-lines/node_modules/source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/on-finished": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
-      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
-      "dev": true,
-      "dependencies": {
-        "ee-first": "1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
-      "dependencies": {
-        "wrappy": "1"
-      }
-    },
-    "node_modules/onetime": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
-      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
-      "dev": true,
-      "dependencies": {
-        "mimic-fn": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/ono": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/ono/-/ono-6.0.1.tgz",
-      "integrity": "sha512-5rdYW/106kHqLeG22GE2MHKq+FlsxMERZev9DCzQX1zwkxnFwBivSn5i17a5O/rDmOJOdf4Wyt80UZljzx9+DA==",
-      "dev": true
-    },
-    "node_modules/openapi-types": {
-      "version": "9.3.1",
-      "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.3.1.tgz",
-      "integrity": "sha512-/Yvsd2D7miYB4HLJ3hOOS0+vnowQpaT75FsHzr/y5M9P4q9bwa7RcbW2YdH6KZBn8ceLbKGnHxMZ1CHliGHUFw==",
-      "dev": true
-    },
-    "node_modules/optionator": {
-      "version": "0.9.1",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
-      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
-      "dev": true,
-      "dependencies": {
-        "deep-is": "^0.1.3",
-        "fast-levenshtein": "^2.0.6",
-        "levn": "^0.4.1",
-        "prelude-ls": "^1.2.1",
-        "type-check": "^0.4.0",
-        "word-wrap": "^1.2.3"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
-    },
-    "node_modules/os-filter-obj": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz",
-      "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==",
-      "dev": true,
-      "dependencies": {
-        "arch": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/os-homedir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/os-locale": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
-      "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
-      "dev": true,
-      "dependencies": {
-        "lcid": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/os-tmpdir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/osenv": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
-      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
-      "dev": true,
-      "dependencies": {
-        "os-homedir": "^1.0.0",
-        "os-tmpdir": "^1.0.0"
-      }
-    },
-    "node_modules/outpipe": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
-      "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=",
-      "dev": true,
-      "dependencies": {
-        "shell-quote": "^1.4.2"
-      }
-    },
-    "node_modules/p-cancelable": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz",
-      "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/p-event": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz",
-      "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==",
-      "dev": true,
-      "dependencies": {
-        "p-timeout": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/p-is-promise": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
-      "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/p-limit": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
-      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
-      "dev": true,
-      "dependencies": {
-        "yocto-queue": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/p-locate": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
-      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/p-map": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
-      "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
-      "dev": true,
-      "dependencies": {
-        "aggregate-error": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/p-timeout": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz",
-      "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
-      "dev": true,
-      "dependencies": {
-        "p-finally": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/package-hash": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
-      "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.15",
-        "hasha": "^5.0.0",
-        "lodash.flattendeep": "^4.4.0",
-        "release-zalgo": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/package-json": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz",
-      "integrity": "sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs=",
-      "dev": true,
-      "dependencies": {
-        "got": "^5.0.0",
-        "registry-auth-token": "^3.0.1",
-        "registry-url": "^3.0.3",
-        "semver": "^5.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/package-json/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/pako": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "dev": true
-    },
-    "node_modules/parallel-transform": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
-      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "dev": true,
-      "dependencies": {
-        "cyclist": "^1.0.1",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      }
-    },
-    "node_modules/parallel-transform/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/parallel-transform/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/parallel-transform/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/param-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
-      "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
-      "dev": true,
-      "dependencies": {
-        "dot-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/param-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/parent-module": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
-      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
-      "dev": true,
-      "dependencies": {
-        "callsites": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/parents": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
-      "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
-      "dev": true,
-      "dependencies": {
-        "path-platform": "~0.11.15"
-      }
-    },
-    "node_modules/parse-asn1": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
-      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
-      "dev": true,
-      "dependencies": {
-        "asn1.js": "^5.2.0",
-        "browserify-aes": "^1.0.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "node_modules/parse-json": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
-      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
-      "dev": true,
-      "dependencies": {
-        "error-ex": "^1.2.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/parse-passwd": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
-      "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
-      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/pascal-case": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
-      "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
-      "dev": true,
-      "dependencies": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/pascal-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
-      "dev": true
-    },
-    "node_modules/path-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz",
-      "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==",
-      "dev": true,
-      "dependencies": {
-        "dot-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/path-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
-    },
-    "node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/path-key": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
-      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/path-parse": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
-      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
-      "dev": true
-    },
-    "node_modules/path-platform": {
-      "version": "0.11.15",
-      "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
-      "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/path-to-regexp": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
-      "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
-      "dev": true,
-      "dependencies": {
-        "isarray": "0.0.1"
-      }
-    },
-    "node_modules/path-type": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
-      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/pathval": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
-      "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/pbkdf2": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
-      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
-      "dev": true,
-      "dependencies": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      },
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/pend": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
-      "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
-      "dev": true
-    },
-    "node_modules/performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
-    },
-    "node_modules/picocolors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
-      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
-      "dev": true
-    },
-    "node_modules/picomatch": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
-      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
-      }
-    },
-    "node_modules/pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
-      "dependencies": {
-        "pinkie": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/pkg-dir": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/pkg-dir/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/pkg-dir/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/pkg-dir/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/pkg-dir/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/prelude-ls": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
-      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/prepend-http": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
-      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6.0"
-      }
-    },
-    "node_modules/process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "dev": true
-    },
-    "node_modules/process-on-spawn": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
-      "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
-      "dev": true,
-      "dependencies": {
-        "fromentries": "^1.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/progress": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
-      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/promise-inflight": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
-    },
-    "node_modules/promise-retry": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
-      "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
-      "dev": true,
-      "dependencies": {
-        "err-code": "^2.0.2",
-        "retry": "^0.12.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/promise-retry/node_modules/err-code": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
-      "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
-      "dev": true
-    },
-    "node_modules/proto-list": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
-      "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
-      "dev": true
-    },
-    "node_modules/proxy-from-env": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
-      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
-      "dev": true
-    },
-    "node_modules/prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
-      "dev": true
-    },
-    "node_modules/pseudomap": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
-      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
-      "dev": true
-    },
-    "node_modules/psl": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
-      "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
-      "dev": true
-    },
-    "node_modules/public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/public-encrypt/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/pump": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
-      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "node_modules/pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dev": true,
-      "dependencies": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      }
-    },
-    "node_modules/pumpify/node_modules/pump": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-      "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "node_modules/punycode": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-      "dev": true
-    },
-    "node_modules/puppeteer-core": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-5.5.0.tgz",
-      "integrity": "sha512-tlA+1n+ziW/Db03hVV+bAecDKse8ihFRXYiEypBe9IlLRvOCzYFG6qrCMBYK34HO/Q/Ecjc+tvkHRAfLVH+NgQ==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.0",
-        "devtools-protocol": "0.0.818844",
-        "extract-zip": "^2.0.0",
-        "https-proxy-agent": "^4.0.0",
-        "node-fetch": "^2.6.1",
-        "pkg-dir": "^4.2.0",
-        "progress": "^2.0.1",
-        "proxy-from-env": "^1.0.0",
-        "rimraf": "^3.0.2",
-        "tar-fs": "^2.0.0",
-        "unbzip2-stream": "^1.3.3",
-        "ws": "^7.2.3"
-      },
-      "engines": {
-        "node": ">=10.18.1"
-      }
-    },
-    "node_modules/puppeteer-core/node_modules/agent-base": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
-      "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/puppeteer-core/node_modules/https-proxy-agent": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
-      "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
-      "dev": true,
-      "dependencies": {
-        "agent-base": "5",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/puppeteer-core/node_modules/ws": {
-      "version": "7.5.7",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz",
-      "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==",
-      "dev": true,
-      "engines": {
-        "node": ">=8.3.0"
-      },
-      "peerDependencies": {
-        "bufferutil": "^4.0.1",
-        "utf-8-validate": "^5.0.2"
-      },
-      "peerDependenciesMeta": {
-        "bufferutil": {
-          "optional": true
-        },
-        "utf-8-validate": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/q": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
-      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6.0",
-        "teleport": ">=0.2.0"
-      }
-    },
-    "node_modules/qjobs": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
-      "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.9"
-      }
-    },
-    "node_modules/qs": {
-      "version": "6.10.3",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
-      "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
-      "dev": true,
-      "dependencies": {
-        "side-channel": "^1.0.4"
-      },
-      "engines": {
-        "node": ">=0.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/query-string": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
-      "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
-      "dev": true,
-      "dependencies": {
-        "decode-uri-component": "^0.2.0",
-        "object-assign": "^4.1.0",
-        "strict-uri-encode": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.x"
-      }
-    },
-    "node_modules/querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.x"
-      }
-    },
-    "node_modules/queue-microtask": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
-      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/quick-lru": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
-      "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
-      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "node_modules/randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "node_modules/range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
-      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/raw-body": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
-      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
-      "dev": true,
-      "dependencies": {
-        "bytes": "3.1.2",
-        "http-errors": "2.0.0",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/rc": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
-      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
-      "dev": true,
-      "dependencies": {
-        "deep-extend": "^0.6.0",
-        "ini": "~1.3.0",
-        "minimist": "^1.2.0",
-        "strip-json-comments": "~2.0.1"
-      },
-      "bin": {
-        "rc": "cli.js"
-      }
-    },
-    "node_modules/rc/node_modules/strip-json-comments": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
-      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/read-all-stream": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
-      "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
-      "dev": true,
-      "dependencies": {
-        "pinkie-promise": "^2.0.0",
-        "readable-stream": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/read-all-stream/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/read-all-stream/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/read-all-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/read-only-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
-      "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
-      "dev": true,
-      "dependencies": {
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "node_modules/read-only-stream/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/read-only-stream/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/read-only-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-      "dev": true,
-      "dependencies": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/read-pkg-up": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.1.0",
-        "read-pkg": "^5.2.0",
-        "type-fest": "^0.8.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/read-pkg-up/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/read-pkg-up/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/read-pkg-up/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/read-pkg-up/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/read-pkg-up/node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/read-pkg/node_modules/hosted-git-info": {
-      "version": "2.8.9",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
-      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
-      "dev": true
-    },
-    "node_modules/read-pkg/node_modules/normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "dev": true,
-      "dependencies": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      }
-    },
-    "node_modules/read-pkg/node_modules/parse-json": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
-      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.0.0",
-        "error-ex": "^1.3.1",
-        "json-parse-even-better-errors": "^2.3.0",
-        "lines-and-columns": "^1.1.6"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/read-pkg/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/read-pkg/node_modules/type-fest": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/readable-stream": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/readdir-glob": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz",
-      "integrity": "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==",
-      "dev": true,
-      "dependencies": {
-        "minimatch": "^3.0.4"
-      }
-    },
-    "node_modules/readdirp": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
-      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-      "dev": true,
-      "dependencies": {
-        "picomatch": "^2.2.1"
-      },
-      "engines": {
-        "node": ">=8.10.0"
-      }
-    },
-    "node_modules/readline2": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
-      "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
-      "dev": true,
-      "dependencies": {
-        "code-point-at": "^1.0.0",
-        "is-fullwidth-code-point": "^1.0.0",
-        "mute-stream": "0.0.5"
-      }
-    },
-    "node_modules/readline2/node_modules/is-fullwidth-code-point": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-      "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-      "dev": true,
-      "dependencies": {
-        "number-is-nan": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/readline2/node_modules/mute-stream": {
-      "version": "0.0.5",
-      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
-      "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
-      "dev": true
-    },
-    "node_modules/rechoir": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
-      "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
-      "dev": true,
-      "dependencies": {
-        "resolve": "^1.1.6"
-      },
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/redent": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
-      "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
-      "dev": true,
-      "dependencies": {
-        "indent-string": "^4.0.0",
-        "strip-indent": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/regenerate": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
-      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
-      "dev": true
-    },
-    "node_modules/regenerate-unicode-properties": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz",
-      "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==",
-      "dev": true,
-      "dependencies": {
-        "regenerate": "^1.4.2"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/regenerator-runtime": {
-      "version": "0.13.9",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
-      "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
-      "dev": true
-    },
-    "node_modules/regenerator-transform": {
-      "version": "0.15.0",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
-      "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/runtime": "^7.8.4"
-      }
-    },
-    "node_modules/regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/regex-not/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/regex-not/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/regexpp": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
-      "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mysticatea"
-      }
-    },
-    "node_modules/regexpu-core": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz",
-      "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==",
-      "dev": true,
-      "dependencies": {
-        "regenerate": "^1.4.2",
-        "regenerate-unicode-properties": "^10.0.1",
-        "regjsgen": "^0.6.0",
-        "regjsparser": "^0.8.2",
-        "unicode-match-property-ecmascript": "^2.0.0",
-        "unicode-match-property-value-ecmascript": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/regextras": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz",
-      "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.1.14"
-      }
-    },
-    "node_modules/registry-auth-token": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz",
-      "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==",
-      "dev": true,
-      "dependencies": {
-        "rc": "^1.1.6",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/registry-url": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
-      "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
-      "dev": true,
-      "dependencies": {
-        "rc": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/regjsgen": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz",
-      "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==",
-      "dev": true
-    },
-    "node_modules/regjsparser": {
-      "version": "0.8.4",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz",
-      "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==",
-      "dev": true,
-      "dependencies": {
-        "jsesc": "~0.5.0"
-      },
-      "bin": {
-        "regjsparser": "bin/parser"
-      }
-    },
-    "node_modules/regjsparser/node_modules/jsesc": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-      "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-      "dev": true,
-      "bin": {
-        "jsesc": "bin/jsesc"
-      }
-    },
-    "node_modules/release-zalgo": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
-      "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
-      "dev": true,
-      "dependencies": {
-        "es6-error": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
-    },
-    "node_modules/repeat-element": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
-      "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/repeating": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz",
-      "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=",
-      "dev": true,
-      "dependencies": {
-        "is-finite": "^1.0.0"
-      },
-      "bin": {
-        "repeating": "cli.js"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/request": {
-      "version": "2.88.2",
-      "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
-      "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
-      "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
-      "dev": true,
-      "dependencies": {
-        "aws-sign2": "~0.7.0",
-        "aws4": "^1.8.0",
-        "caseless": "~0.12.0",
-        "combined-stream": "~1.0.6",
-        "extend": "~3.0.2",
-        "forever-agent": "~0.6.1",
-        "form-data": "~2.3.2",
-        "har-validator": "~5.1.3",
-        "http-signature": "~1.2.0",
-        "is-typedarray": "~1.0.0",
-        "isstream": "~0.1.2",
-        "json-stringify-safe": "~5.0.1",
-        "mime-types": "~2.1.19",
-        "oauth-sign": "~0.9.0",
-        "performance-now": "^2.1.0",
-        "qs": "~6.5.2",
-        "safe-buffer": "^5.1.2",
-        "tough-cookie": "~2.5.0",
-        "tunnel-agent": "^0.6.0",
-        "uuid": "^3.3.2"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/request/node_modules/qs": {
-      "version": "6.5.3",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
-      "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6"
-      }
-    },
-    "node_modules/require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/require-from-string": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
-      "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/require-main-filename": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
-      "dev": true
-    },
-    "node_modules/require-package-name": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz",
-      "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=",
-      "dev": true
-    },
-    "node_modules/requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
-      "dev": true
-    },
-    "node_modules/resolve": {
-      "version": "1.22.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
-      "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
-      "dev": true,
-      "dependencies": {
-        "is-core-module": "^2.8.1",
-        "path-parse": "^1.0.7",
-        "supports-preserve-symlinks-flag": "^1.0.0"
-      },
-      "bin": {
-        "resolve": "bin/resolve"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/resolve-alpn": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
-      "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==",
-      "dev": true
-    },
-    "node_modules/resolve-from": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
-      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "deprecated": "https://github.com/lydell/resolve-url#deprecated",
-      "dev": true
-    },
-    "node_modules/responselike": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
-      "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
-      "dev": true,
-      "dependencies": {
-        "lowercase-keys": "^1.0.0"
-      }
-    },
-    "node_modules/resq": {
-      "version": "1.10.2",
-      "resolved": "https://registry.npmjs.org/resq/-/resq-1.10.2.tgz",
-      "integrity": "sha512-HmgVS3j+FLrEDBTDYysPdPVF9/hioDMJ/otOiQDKqk77YfZeeLOj0qi34yObumcud1gBpk+wpBTEg4kMicD++A==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^2.0.1"
-      }
-    },
-    "node_modules/resq/node_modules/fast-deep-equal": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
-      "dev": true
-    },
-    "node_modules/restore-cursor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
-      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
-      "dev": true,
-      "dependencies": {
-        "onetime": "^5.1.0",
-        "signal-exit": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
-      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/reusify": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
-      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
-      "dev": true,
-      "engines": {
-        "iojs": ">=1.0.0",
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/rfdc": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
-      "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
-      "dev": true
-    },
-    "node_modules/rgb2hex": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.2.3.tgz",
-      "integrity": "sha512-clEe0m1xv+Tva1B/TOepuIcvLAxP0U+sCDfgt1SX1HmI2Ahr5/Cd/nzJM1e78NKVtWdoo0s33YehpFA8UfIShQ==",
-      "dev": true
-    },
-    "node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "dependencies": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "node_modules/roarr": {
-      "version": "2.15.4",
-      "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
-      "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
-      "dev": true,
-      "dependencies": {
-        "boolean": "^3.0.1",
-        "detect-node": "^2.0.4",
-        "globalthis": "^1.0.1",
-        "json-stringify-safe": "^5.0.1",
-        "semver-compare": "^1.0.0",
-        "sprintf-js": "^1.1.2"
-      },
-      "engines": {
-        "node": ">=8.0"
-      }
-    },
-    "node_modules/roarr/node_modules/sprintf-js": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
-      "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
-      "dev": true
-    },
-    "node_modules/run-async": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
-      "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.12.0"
-      }
-    },
-    "node_modules/run-parallel": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
-      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "dependencies": {
-        "queue-microtask": "^1.2.2"
-      }
-    },
-    "node_modules/run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1"
-      }
-    },
-    "node_modules/run-queue/node_modules/aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "node_modules/rx-lite": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
-      "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
-      "dev": true
-    },
-    "node_modules/rxjs": {
-      "version": "6.6.7",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
-      "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^1.9.0"
-      },
-      "engines": {
-        "npm": ">=2.0.0"
-      }
-    },
-    "node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
-      "dependencies": {
-        "ret": "~0.1.10"
-      }
-    },
-    "node_modules/safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-      "dev": true
-    },
-    "node_modules/sass-graph": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz",
-      "integrity": "sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.0.0",
-        "lodash": "^4.17.11",
-        "scss-tokenizer": "^0.3.0",
-        "yargs": "^17.2.1"
-      },
-      "bin": {
-        "sassgraph": "bin/sassgraph"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/sass-graph/node_modules/yargs": {
-      "version": "17.5.0",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.0.tgz",
-      "integrity": "sha512-3sLxVhbAB5OC8qvVRebCLWuouhwh/rswsiDYx3WGxajUk/l4G20SKfrKKFeNIHboUFt2JFgv2yfn+5cgOr/t5A==",
-      "dev": true,
-      "dependencies": {
-        "cliui": "^7.0.2",
-        "escalade": "^3.1.1",
-        "get-caller-file": "^2.0.5",
-        "require-directory": "^2.1.1",
-        "string-width": "^4.2.3",
-        "y18n": "^5.0.5",
-        "yargs-parser": "^21.0.0"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/sass-graph/node_modules/yargs-parser": {
-      "version": "21.0.1",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
-      "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
-      "dev": true,
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/saucelabs": {
-      "version": "4.7.8",
-      "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-4.7.8.tgz",
-      "integrity": "sha512-K2qaRUixc7+8JiAwpTvEsIQVzzUkYwa0mAfs0akGagRlWXUR1JrsmgJRyz28qkwpERW1KDuByn3Ju96BuW1V7Q==",
-      "dev": true,
-      "dependencies": {
-        "bin-wrapper": "^4.1.0",
-        "change-case": "^4.1.1",
-        "form-data": "^3.0.0",
-        "got": "^11.7.0",
-        "hash.js": "^1.1.7",
-        "tunnel": "0.0.6",
-        "yargs": "^16.0.3"
-      },
-      "bin": {
-        "sl": "bin/sl"
-      }
-    },
-    "node_modules/saucelabs/node_modules/@sindresorhus/is": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
-      "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/is?sponsor=1"
-      }
-    },
-    "node_modules/saucelabs/node_modules/cacheable-request": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
-      "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
-      "dev": true,
-      "dependencies": {
-        "clone-response": "^1.0.2",
-        "get-stream": "^5.1.0",
-        "http-cache-semantics": "^4.0.0",
-        "keyv": "^4.0.0",
-        "lowercase-keys": "^2.0.0",
-        "normalize-url": "^6.0.1",
-        "responselike": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/saucelabs/node_modules/decompress-response": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
-      "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
-      "dev": true,
-      "dependencies": {
-        "mimic-response": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/saucelabs/node_modules/form-data": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
-      "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
-      "dev": true,
-      "dependencies": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.8",
-        "mime-types": "^2.1.12"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/saucelabs/node_modules/get-stream": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
-      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
-      "dev": true,
-      "dependencies": {
-        "pump": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/saucelabs/node_modules/got": {
-      "version": "11.8.3",
-      "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz",
-      "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==",
-      "dev": true,
-      "dependencies": {
-        "@sindresorhus/is": "^4.0.0",
-        "@szmarczak/http-timer": "^4.0.5",
-        "@types/cacheable-request": "^6.0.1",
-        "@types/responselike": "^1.0.0",
-        "cacheable-lookup": "^5.0.3",
-        "cacheable-request": "^7.0.2",
-        "decompress-response": "^6.0.0",
-        "http2-wrapper": "^1.0.0-beta.5.2",
-        "lowercase-keys": "^2.0.0",
-        "p-cancelable": "^2.0.0",
-        "responselike": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=10.19.0"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/got?sponsor=1"
-      }
-    },
-    "node_modules/saucelabs/node_modules/json-buffer": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
-      "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
-      "dev": true
-    },
-    "node_modules/saucelabs/node_modules/keyv": {
-      "version": "4.2.8",
-      "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.2.8.tgz",
-      "integrity": "sha512-IZZo6krhHWPhgsP5mBkEdPopVPN/stgCnBVuqi6dda/Nm5mDTOSVTrFMkWqlJsDum+B0YSe887tNxdjDWkO7aQ==",
-      "dev": true,
-      "dependencies": {
-        "compress-brotli": "^1.3.8",
-        "json-buffer": "3.0.1"
-      }
-    },
-    "node_modules/saucelabs/node_modules/lowercase-keys": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
-      "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/saucelabs/node_modules/mimic-response": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
-      "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/saucelabs/node_modules/normalize-url": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
-      "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/saucelabs/node_modules/p-cancelable": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
-      "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/saucelabs/node_modules/responselike": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
-      "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
-      "dev": true,
-      "dependencies": {
-        "lowercase-keys": "^2.0.0"
-      }
-    },
-    "node_modules/schema-utils": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
-      "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.5",
-        "ajv": "^6.12.4",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 8.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
-    "node_modules/schema-utils/node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/schema-utils/node_modules/ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true,
-      "peerDependencies": {
-        "ajv": "^6.9.1"
-      }
-    },
-    "node_modules/schema-utils/node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/scss-tokenizer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz",
-      "integrity": "sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==",
-      "dev": true,
-      "dependencies": {
-        "js-base64": "^2.4.3",
-        "source-map": "^0.7.1"
-      }
-    },
-    "node_modules/scss-tokenizer/node_modules/source-map": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/seek-bzip": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz",
-      "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==",
-      "dev": true,
-      "dependencies": {
-        "commander": "^2.8.1"
-      },
-      "bin": {
-        "seek-bunzip": "bin/seek-bunzip",
-        "seek-table": "bin/seek-bzip-table"
-      }
-    },
-    "node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/semver-compare": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
-      "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
-      "dev": true
-    },
-    "node_modules/semver-diff": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
-      "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
-      "dev": true,
-      "dependencies": {
-        "semver": "^5.0.3"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/semver-diff/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/semver-regex": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
-      "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/semver-truncate": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz",
-      "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=",
-      "dev": true,
-      "dependencies": {
-        "semver": "^5.3.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/semver-truncate/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/sentence-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
-      "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
-      "dev": true,
-      "dependencies": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3",
-        "upper-case-first": "^2.0.2"
-      }
-    },
-    "node_modules/sentence-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/serialize-error": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
-      "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
-      "dev": true,
-      "dependencies": {
-        "type-fest": "^0.13.1"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/serialize-error/node_modules/type-fest": {
-      "version": "0.13.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
-      "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/serialize-javascript": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
-      "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "node_modules/set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "node_modules/set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
-      "dev": true
-    },
-    "node_modules/setprototypeof": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
-      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
-      "dev": true
-    },
-    "node_modules/sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      },
-      "bin": {
-        "sha.js": "bin.js"
-      }
-    },
-    "node_modules/shallow-clone": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
-      "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/shasum": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
-      "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
-      "dev": true,
-      "dependencies": {
-        "json-stable-stringify": "~0.0.0",
-        "sha.js": "~2.4.4"
-      }
-    },
-    "node_modules/shasum-object": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz",
-      "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==",
-      "dev": true,
-      "dependencies": {
-        "fast-safe-stringify": "^2.0.7"
-      }
-    },
-    "node_modules/shebang-command": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
-      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
-      "dev": true,
-      "dependencies": {
-        "shebang-regex": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/shebang-regex": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
-      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/shell-quote": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz",
-      "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==",
-      "dev": true
-    },
-    "node_modules/shelljs": {
-      "version": "0.8.5",
-      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
-      "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.0.0",
-        "interpret": "^1.0.0",
-        "rechoir": "^0.6.2"
-      },
-      "bin": {
-        "shjs": "bin/shjs"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/shx": {
-      "version": "0.3.4",
-      "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz",
-      "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.3",
-        "shelljs": "^0.8.5"
-      },
-      "bin": {
-        "shx": "lib/cli.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/side-channel": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
-      "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "get-intrinsic": "^1.0.2",
-        "object-inspect": "^1.9.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/signal-exit": {
-      "version": "3.0.7",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
-      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
-      "dev": true
-    },
-    "node_modules/simple-concat": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
-      "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/simplifyify": {
-      "version": "7.0.7",
-      "resolved": "https://registry.npmjs.org/simplifyify/-/simplifyify-7.0.7.tgz",
-      "integrity": "sha512-fjWBaiEJ7ku/GLHq0yZKRisZVe1V7A0M4u86qVV5mAA7mByqqDWXks48E8Jd/byVm3i3YS9WTJMp4qMJUcH5YQ==",
-      "dev": true,
-      "dependencies": {
-        "browserify": "^16.5.0",
-        "browserify-banner": "^1.0.16",
-        "browserify-istanbul": "^3.0.1",
-        "commander": "^4.0.1",
-        "exorcist": "^1.0.0",
-        "globby": "^10.0.1",
-        "mkdirp-promise": "^5.0.1",
-        "ono": "^6.0.0",
-        "tsify": "^4.0.1",
-        "uglify-es": "^3.3.7",
-        "uglifyify": "^5.0.2",
-        "watchify": "^3.11.1"
-      },
-      "bin": {
-        "simplifyify": "bin/simplifyify.js"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "peerDependencies": {
-        "typescript": "*"
-      }
-    },
-    "node_modules/simplifyify/node_modules/commander": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
-      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/simplifyify/node_modules/globby": {
-      "version": "10.0.2",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
-      "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
-      "dev": true,
-      "dependencies": {
-        "@types/glob": "^7.1.1",
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.0.3",
-        "glob": "^7.1.3",
-        "ignore": "^5.1.1",
-        "merge2": "^1.2.3",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/simplifyify/node_modules/ignore": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/sinon": {
-      "version": "11.1.2",
-      "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz",
-      "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==",
-      "dev": true,
-      "dependencies": {
-        "@sinonjs/commons": "^1.8.3",
-        "@sinonjs/fake-timers": "^7.1.2",
-        "@sinonjs/samsam": "^6.0.2",
-        "diff": "^5.0.0",
-        "nise": "^5.1.0",
-        "supports-color": "^7.2.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/sinon"
-      }
-    },
-    "node_modules/sinon/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/sinon/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/slash": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
-      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/slice-ansi": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
-      "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "astral-regex": "^2.0.0",
-        "is-fullwidth-code-point": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/slice-ansi?sponsor=1"
-      }
-    },
-    "node_modules/slice-ansi/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/slice-ansi/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/slice-ansi/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/slide": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
-      "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/smart-buffer": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
-      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6.0.0",
-        "npm": ">= 3.0.0"
-      }
-    },
-    "node_modules/snake-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
-      "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
-      "dev": true,
-      "dependencies": {
-        "dot-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/snake-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
-      "dependencies": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
-      "dependencies": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.2.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-util/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/snapdragon/node_modules/source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/socket.io": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz",
-      "integrity": "sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==",
-      "dev": true,
-      "dependencies": {
-        "accepts": "~1.3.4",
-        "base64id": "~2.0.0",
-        "debug": "~4.3.2",
-        "engine.io": "~6.2.0",
-        "socket.io-adapter": "~2.4.0",
-        "socket.io-parser": "~4.0.4"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/socket.io-adapter": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
-      "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==",
-      "dev": true
-    },
-    "node_modules/socket.io-parser": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
-      "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
-      "dev": true,
-      "dependencies": {
-        "@types/component-emitter": "^1.2.10",
-        "component-emitter": "~1.3.0",
-        "debug": "~4.3.1"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/socks": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
-      "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
-      "dev": true,
-      "dependencies": {
-        "ip": "^1.1.5",
-        "smart-buffer": "^4.2.0"
-      },
-      "engines": {
-        "node": ">= 10.13.0",
-        "npm": ">= 3.0.0"
-      }
-    },
-    "node_modules/socks-proxy-agent": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz",
-      "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==",
-      "dev": true,
-      "dependencies": {
-        "agent-base": "^6.0.2",
-        "debug": "^4.3.3",
-        "socks": "^2.6.2"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/sort-keys": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
-      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
-      "dev": true,
-      "dependencies": {
-        "is-plain-obj": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sort-keys-length": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
-      "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=",
-      "dev": true,
-      "dependencies": {
-        "sort-keys": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
-    },
-    "node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/source-map-resolve": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
-      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
-      "dev": true,
-      "dependencies": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "node_modules/source-map-support": {
-      "version": "0.5.21",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
-      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
-      "dev": true,
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
-    "node_modules/source-map-url": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
-      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
-      "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
-      "dev": true
-    },
-    "node_modules/spawn-wrap": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
-      "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
-      "dev": true,
-      "dependencies": {
-        "foreground-child": "^2.0.0",
-        "is-windows": "^1.0.2",
-        "make-dir": "^3.0.0",
-        "rimraf": "^3.0.0",
-        "signal-exit": "^3.0.2",
-        "which": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/spawn-wrap/node_modules/is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/spdx-correct": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
-      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
-      "dev": true,
-      "dependencies": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "node_modules/spdx-exceptions": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
-      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
-      "dev": true
-    },
-    "node_modules/spdx-expression-parse": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
-      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
-      "dev": true,
-      "dependencies": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "node_modules/spdx-license-ids": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
-      "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
-      "dev": true
-    },
-    "node_modules/split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/split-string/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/split-string/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
-    },
-    "node_modules/sshpk": {
-      "version": "1.17.0",
-      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
-      "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
-      "dev": true,
-      "dependencies": {
-        "asn1": "~0.2.3",
-        "assert-plus": "^1.0.0",
-        "bcrypt-pbkdf": "^1.0.0",
-        "dashdash": "^1.12.0",
-        "ecc-jsbn": "~0.1.1",
-        "getpass": "^0.1.1",
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.0.2",
-        "tweetnacl": "~0.14.0"
-      },
-      "bin": {
-        "sshpk-conv": "bin/sshpk-conv",
-        "sshpk-sign": "bin/sshpk-sign",
-        "sshpk-verify": "bin/sshpk-verify"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/ssri": {
-      "version": "8.0.1",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
-      "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.1.1"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
-      "dependencies": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/statuses": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/stdout-stream": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
-      "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
-      "dev": true,
-      "dependencies": {
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "node_modules/stdout-stream/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/stdout-stream/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/stdout-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "node_modules/stream-browserify/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/stream-browserify/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/stream-browserify/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/stream-combiner2": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
-      "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
-      "dev": true,
-      "dependencies": {
-        "duplexer2": "~0.1.0",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "node_modules/stream-combiner2/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/stream-combiner2/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/stream-combiner2/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "node_modules/stream-http": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
-      "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
-      "dev": true,
-      "dependencies": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "xtend": "^4.0.2"
-      }
-    },
-    "node_modules/stream-shift": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
-      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
-      "dev": true
-    },
-    "node_modules/stream-splicer": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz",
-      "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "node_modules/stream-splicer/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/stream-splicer/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/stream-splicer/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/streamroller": {
-      "version": "3.0.8",
-      "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.8.tgz",
-      "integrity": "sha512-VI+ni3czbFZrd1MrlybxykWZ8sMDCMtTU7YJyhgb9M5X6d1DDxLdJr+gSnmRpXPMnIWxWKMaAE8K0WumBp3lDg==",
-      "dev": true,
-      "dependencies": {
-        "date-format": "^4.0.9",
-        "debug": "^4.3.4",
-        "fs-extra": "^10.1.0"
-      },
-      "engines": {
-        "node": ">=8.0"
-      }
-    },
-    "node_modules/strict-uri-encode": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/string_decoder": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.2.0"
-      }
-    },
-    "node_modules/string_decoder/node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/string-argv": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz",
-      "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6.19"
-      }
-    },
-    "node_modules/string-length": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz",
-      "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=",
-      "dev": true,
-      "dependencies": {
-        "strip-ansi": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/string-length/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/string-length/node_modules/strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/string-width": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-      "dev": true,
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/strip-ansi": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/strip-bom": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
-      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/strip-dirs": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
-      "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==",
-      "dev": true,
-      "dependencies": {
-        "is-natural-number": "^4.0.1"
-      }
-    },
-    "node_modules/strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/strip-indent": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
-      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
-      "dev": true,
-      "dependencies": {
-        "min-indent": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/strip-json-comments": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
-      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/strip-outer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
-      "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
-      "dev": true,
-      "dependencies": {
-        "escape-string-regexp": "^1.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/subarg": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
-      "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.1.0"
-      }
-    },
-    "node_modules/supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/supports-preserve-symlinks-flag": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
-      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/syntax-error": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
-      "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
-      "dev": true,
-      "dependencies": {
-        "acorn-node": "^1.2.0"
-      }
-    },
-    "node_modules/table": {
-      "version": "6.8.0",
-      "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
-      "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^8.0.1",
-        "lodash.truncate": "^4.4.2",
-        "slice-ansi": "^4.0.0",
-        "string-width": "^4.2.3",
-        "strip-ansi": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
-      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/tar": {
-      "version": "6.1.11",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
-      "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
-      "dev": true,
-      "dependencies": {
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "minipass": "^3.0.0",
-        "minizlib": "^2.1.1",
-        "mkdirp": "^1.0.3",
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/tar-fs": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
-      "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
-      "dev": true,
-      "dependencies": {
-        "chownr": "^1.1.1",
-        "mkdirp-classic": "^0.5.2",
-        "pump": "^3.0.0",
-        "tar-stream": "^2.1.4"
-      }
-    },
-    "node_modules/tar-fs/node_modules/bl": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
-      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
-      "dev": true,
-      "dependencies": {
-        "buffer": "^5.5.0",
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.4.0"
-      }
-    },
-    "node_modules/tar-fs/node_modules/buffer": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
-      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.1.13"
-      }
-    },
-    "node_modules/tar-fs/node_modules/chownr": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "dev": true
-    },
-    "node_modules/tar-fs/node_modules/tar-stream": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
-      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
-      "dev": true,
-      "dependencies": {
-        "bl": "^4.0.3",
-        "end-of-stream": "^1.4.1",
-        "fs-constants": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^3.1.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/tar-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
-      "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
-      "dev": true,
-      "dependencies": {
-        "bl": "^1.0.0",
-        "buffer-alloc": "^1.2.0",
-        "end-of-stream": "^1.0.0",
-        "fs-constants": "^1.0.0",
-        "readable-stream": "^2.3.0",
-        "to-buffer": "^1.1.1",
-        "xtend": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/tar-stream/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/tar-stream/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/tar-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/tar/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-      "dev": true,
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/temp": {
-      "version": "0.9.4",
-      "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz",
-      "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==",
-      "dev": true,
-      "dependencies": {
-        "mkdirp": "^0.5.1",
-        "rimraf": "~2.6.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/temp/node_modules/rimraf": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
-      "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/terser": {
-      "version": "3.17.0",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
-      "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
-      "dev": true,
-      "dependencies": {
-        "commander": "^2.19.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.10"
-      },
-      "bin": {
-        "terser": "bin/uglifyjs"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/terser-webpack-plugin": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
-      "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
-      "dev": true,
-      "dependencies": {
-        "cacache": "^12.0.2",
-        "find-cache-dir": "^2.1.0",
-        "is-wsl": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^4.0.0",
-        "source-map": "^0.6.1",
-        "terser": "^4.1.2",
-        "webpack-sources": "^1.4.0",
-        "worker-farm": "^1.7.0"
-      },
-      "engines": {
-        "node": ">= 6.9.0"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true,
-      "peerDependencies": {
-        "ajv": "^6.9.1"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/cacache": {
-      "version": "12.0.4",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
-      "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
-      "dev": true,
-      "dependencies": {
-        "bluebird": "^3.5.5",
-        "chownr": "^1.1.1",
-        "figgy-pudding": "^3.5.1",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.1.15",
-        "infer-owner": "^1.0.3",
-        "lru-cache": "^5.1.1",
-        "mississippi": "^3.0.0",
-        "mkdirp": "^0.5.1",
-        "move-concurrently": "^1.0.1",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^2.6.3",
-        "ssri": "^6.0.1",
-        "unique-filename": "^1.1.1",
-        "y18n": "^4.0.0"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/chownr": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "dev": true
-    },
-    "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-      "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
-      "dev": true,
-      "dependencies": {
-        "commondir": "^1.0.1",
-        "make-dir": "^2.0.0",
-        "pkg-dir": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/terser-webpack-plugin/node_modules/locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/lru-cache": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^3.0.2"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "dev": true,
-      "dependencies": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/pkg-dir": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-      "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/ssri": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
-      "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
-      "dev": true,
-      "dependencies": {
-        "figgy-pudding": "^3.5.1"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/terser": {
-      "version": "4.8.0",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
-      "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
-      "dev": true,
-      "dependencies": {
-        "commander": "^2.20.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.12"
-      },
-      "bin": {
-        "terser": "bin/terser"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/y18n": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
-      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
-      "dev": true
-    },
-    "node_modules/terser-webpack-plugin/node_modules/yallist": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-      "dev": true
-    },
-    "node_modules/test-exclude": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
-      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
-      "dev": true,
-      "dependencies": {
-        "@istanbuljs/schema": "^0.1.2",
-        "glob": "^7.1.4",
-        "minimatch": "^3.0.4"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
-      "dev": true
-    },
-    "node_modules/through": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
-      "dev": true
-    },
-    "node_modules/through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dev": true,
-      "dependencies": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      }
-    },
-    "node_modules/through2/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/through2/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/through2/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/timed-out": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz",
-      "integrity": "sha1-84sK6B03R9YoAB9B2vxlKs5nHAo=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/timers-browserify": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
-      "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
-      "dev": true,
-      "dependencies": {
-        "process": "~0.11.0"
-      },
-      "engines": {
-        "node": ">=0.6.0"
-      }
-    },
-    "node_modules/tmp": {
-      "version": "0.0.33",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
-      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-      "dev": true,
-      "dependencies": {
-        "os-tmpdir": "~1.0.2"
-      },
-      "engines": {
-        "node": ">=0.6.0"
-      }
-    },
-    "node_modules/to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
-    },
-    "node_modules/to-buffer": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
-      "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
-      "dev": true
-    },
-    "node_modules/to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-object-path/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
-      "dependencies": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex-range": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=8.0"
-      }
-    },
-    "node_modules/to-regex/node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/toidentifier": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
-      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6"
-      }
-    },
-    "node_modules/tough-cookie": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
-      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
-      "dev": true,
-      "dependencies": {
-        "psl": "^1.1.28",
-        "punycode": "^2.1.1"
-      },
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/tough-cookie/node_modules/punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/tr46": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
-      "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
-      "dev": true
-    },
-    "node_modules/trim-newlines": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
-      "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/trim-repeated": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
-      "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
-      "dev": true,
-      "dependencies": {
-        "escape-string-regexp": "^1.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/trim-right": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/true-case-path": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
-      "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.2"
-      }
-    },
-    "node_modules/tsconfig": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-5.0.3.tgz",
-      "integrity": "sha1-X0J45wGACWeo/Dg/0ZZIh48qbjo=",
-      "dev": true,
-      "dependencies": {
-        "any-promise": "^1.3.0",
-        "parse-json": "^2.2.0",
-        "strip-bom": "^2.0.0",
-        "strip-json-comments": "^2.0.0"
-      }
-    },
-    "node_modules/tsconfig/node_modules/strip-bom": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
-      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
-      "dev": true,
-      "dependencies": {
-        "is-utf8": "^0.2.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/tsconfig/node_modules/strip-json-comments": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
-      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/tsify": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/tsify/-/tsify-4.0.2.tgz",
-      "integrity": "sha512-XZ4jziRS8SBnoSnp1QOtASxjqhvOSfXhO8cD5WPBpXD6UKDCMQ/n7L1cr+Wlb5htIZJuvfhfxely+HODsVRWLA==",
-      "dev": true,
-      "dependencies": {
-        "convert-source-map": "^1.1.0",
-        "fs.realpath": "^1.0.0",
-        "object-assign": "^4.1.0",
-        "semver": "^6.1.0",
-        "through2": "^2.0.0",
-        "tsconfig": "^5.0.3"
-      },
-      "engines": {
-        "node": ">=0.12"
-      },
-      "peerDependencies": {
-        "browserify": ">= 10.x",
-        "typescript": ">= 2.x"
-      }
-    },
-    "node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true
-    },
-    "node_modules/tsutils": {
-      "version": "3.21.0",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^1.8.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      },
-      "peerDependencies": {
-        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
-      }
-    },
-    "node_modules/tty-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
-      "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
-      "dev": true
-    },
-    "node_modules/tunnel": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
-      "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
-      }
-    },
-    "node_modules/tunnel-agent": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
-      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "^5.0.1"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/tweetnacl": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true
-    },
-    "node_modules/type-check": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
-      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
-      "dev": true,
-      "dependencies": {
-        "prelude-ls": "^1.2.1"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/type-detect": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
-      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/type-fest": {
-      "version": "0.21.3",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
-      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
-      "dev": true,
-      "dependencies": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
-    },
-    "node_modules/typedarray-to-buffer": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
-      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
-      "dev": true,
-      "dependencies": {
-        "is-typedarray": "^1.0.0"
-      }
-    },
-    "node_modules/typescript": {
-      "version": "4.7.4",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
-      "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
-      "dev": true,
-      "bin": {
-        "tsc": "bin/tsc",
-        "tsserver": "bin/tsserver"
-      },
-      "engines": {
-        "node": ">=4.2.0"
-      }
-    },
-    "node_modules/typical": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
-      "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ua-parser-js": {
-      "version": "0.7.31",
-      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz",
-      "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/ua-parser-js"
-        },
-        {
-          "type": "paypal",
-          "url": "https://paypal.me/faisalman"
-        }
-      ],
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/uglify-es": {
-      "version": "3.3.9",
-      "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
-      "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
-      "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0",
-      "dev": true,
-      "dependencies": {
-        "commander": "~2.13.0",
-        "source-map": "~0.6.1"
-      },
-      "bin": {
-        "uglifyjs": "bin/uglifyjs"
-      },
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/uglify-es/node_modules/commander": {
-      "version": "2.13.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
-      "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
-      "dev": true
-    },
-    "node_modules/uglifyify": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz",
-      "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==",
-      "dev": true,
-      "dependencies": {
-        "convert-source-map": "~1.1.0",
-        "minimatch": "^3.0.2",
-        "terser": "^3.7.5",
-        "through": "~2.3.4",
-        "xtend": "^4.0.1"
-      }
-    },
-    "node_modules/uglifyify/node_modules/convert-source-map": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
-      "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
-      "dev": true
-    },
-    "node_modules/umd": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
-      "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
-      "dev": true,
-      "bin": {
-        "umd": "bin/cli.js"
-      }
-    },
-    "node_modules/unbzip2-stream": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
-      "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
-      "dev": true,
-      "dependencies": {
-        "buffer": "^5.2.1",
-        "through": "^2.3.8"
-      }
-    },
-    "node_modules/undeclared-identifiers": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz",
-      "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==",
-      "dev": true,
-      "dependencies": {
-        "acorn-node": "^1.3.0",
-        "dash-ast": "^1.0.0",
-        "get-assigned-identifiers": "^1.2.0",
-        "simple-concat": "^1.0.0",
-        "xtend": "^4.0.1"
-      },
-      "bin": {
-        "undeclared-identifiers": "bin.js"
-      }
-    },
-    "node_modules/unicode-canonical-property-names-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/unicode-match-property-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
-      "dev": true,
-      "dependencies": {
-        "unicode-canonical-property-names-ecmascript": "^2.0.0",
-        "unicode-property-aliases-ecmascript": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/unicode-match-property-value-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/unicode-property-aliases-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
-      "dependencies": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "dev": true,
-      "dependencies": {
-        "unique-slug": "^2.0.0"
-      }
-    },
-    "node_modules/unique-slug": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
-      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-      "dev": true,
-      "dependencies": {
-        "imurmurhash": "^0.1.4"
-      }
-    },
-    "node_modules/universalify": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
-      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      }
-    },
-    "node_modules/unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
-      "dependencies": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/has-value": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-      "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-      "dev": true,
-      "dependencies": {
-        "get-value": "^2.0.3",
-        "has-values": "^0.1.4",
-        "isobject": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-      "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-      "dev": true,
-      "dependencies": {
-        "isarray": "1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/has-values": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-      "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/unzip-response": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
-      "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/upath": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-      "dev": true,
-      "engines": {
-        "node": ">=4",
-        "yarn": "*"
-      }
-    },
-    "node_modules/update-notifier": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.5.0.tgz",
-      "integrity": "sha1-B7XcIGazYnqztPUwEw9+3doHpMw=",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^1.0.0",
-        "configstore": "^1.0.0",
-        "is-npm": "^1.0.0",
-        "latest-version": "^1.0.0",
-        "repeating": "^1.1.2",
-        "semver-diff": "^2.0.0",
-        "string-length": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/update-notifier/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/update-notifier/node_modules/ansi-styles": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/update-notifier/node_modules/chalk": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^2.2.1",
-        "escape-string-regexp": "^1.0.2",
-        "has-ansi": "^2.0.0",
-        "strip-ansi": "^3.0.0",
-        "supports-color": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/update-notifier/node_modules/strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/update-notifier/node_modules/supports-color": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/upper-case": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz",
-      "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/upper-case-first": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
-      "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/upper-case-first/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/upper-case/node_modules/tslib": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-      "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-      "dev": true
-    },
-    "node_modules/uri-js": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
-      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
-      "dependencies": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "node_modules/uri-js/node_modules/punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "deprecated": "Please see https://github.com/lydell/urix#deprecated",
-      "dev": true
-    },
-    "node_modules/url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
-      "dependencies": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      }
-    },
-    "node_modules/url-parse-lax": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
-      "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
-      "dev": true,
-      "dependencies": {
-        "prepend-http": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/url-to-options": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
-      "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/url/node_modules/punycode": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-      "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-      "dev": true
-    },
-    "node_modules/use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/util": {
-      "version": "0.10.4",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
-      "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "2.0.3"
-      }
-    },
-    "node_modules/util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
-    },
-    "node_modules/util/node_modules/inherits": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-      "dev": true
-    },
-    "node_modules/utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
-    "node_modules/uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
-      "dev": true,
-      "bin": {
-        "uuid": "bin/uuid"
-      }
-    },
-    "node_modules/v8-compile-cache": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
-      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
-      "dev": true
-    },
-    "node_modules/validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
-      "dependencies": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "node_modules/vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/verror": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
-      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "dev": true,
-      "engines": [
-        "node >=0.6.0"
-      ],
-      "dependencies": {
-        "assert-plus": "^1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "^1.2.0"
-      }
-    },
-    "node_modules/vm-browserify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
-    },
-    "node_modules/void-elements": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
-      "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/walkdir": {
-      "version": "0.0.11",
-      "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz",
-      "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6.0"
-      }
-    },
-    "node_modules/watchify": {
-      "version": "3.11.1",
-      "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz",
-      "integrity": "sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==",
-      "dev": true,
-      "dependencies": {
-        "anymatch": "^2.0.0",
-        "browserify": "^16.1.0",
-        "chokidar": "^2.1.1",
-        "defined": "^1.0.0",
-        "outpipe": "^1.1.0",
-        "through2": "^2.0.0",
-        "xtend": "^4.0.0"
-      },
-      "bin": {
-        "watchify": "bin/cmd.js"
-      }
-    },
-    "node_modules/watchify/node_modules/anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
-      "dependencies": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
-      }
-    },
-    "node_modules/watchify/node_modules/anymatch/node_modules/normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
-      "dependencies": {
-        "remove-trailing-separator": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/binary-extensions": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/chokidar": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-      "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
-      "dev": true,
-      "dependencies": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.1",
-        "braces": "^2.3.2",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.3",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "normalize-path": "^3.0.0",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.2.1",
-        "upath": "^1.1.1"
-      },
-      "optionalDependencies": {
-        "fsevents": "^1.2.7"
-      }
-    },
-    "node_modules/watchify/node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/fsevents": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-      "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
-      "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "dependencies": {
-        "bindings": "^1.5.0",
-        "nan": "^2.12.1"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
-    "node_modules/watchify/node_modules/glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
-      "dependencies": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
-      }
-    },
-    "node_modules/watchify/node_modules/glob-parent/node_modules/is-glob": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-      "dev": true,
-      "dependencies": {
-        "is-extglob": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/is-binary-path": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
-      "dependencies": {
-        "binary-extensions": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/watchify/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/micromatch/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchify/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/watchify/node_modules/readdirp": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.11",
-        "micromatch": "^3.1.10",
-        "readable-stream": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/watchify/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/watchify/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack": {
-      "version": "1.7.5",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
-      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0"
-      },
-      "optionalDependencies": {
-        "chokidar": "^3.4.1",
-        "watchpack-chokidar2": "^2.0.1"
-      }
-    },
-    "node_modules/watchpack-chokidar2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
-      "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "chokidar": "^2.1.8"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "remove-trailing-separator": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/binary-extensions": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-      "dev": true,
-      "optional": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/chokidar": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-      "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.1",
-        "braces": "^2.3.2",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.3",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "normalize-path": "^3.0.0",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.2.1",
-        "upath": "^1.1.1"
-      },
-      "optionalDependencies": {
-        "fsevents": "^1.2.7"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/fsevents": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-      "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
-      "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "dependencies": {
-        "bindings": "^1.5.0",
-        "nan": "^2.12.1"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-extglob": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-binary-path": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "binary-extensions": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true,
-      "optional": true
-    },
-    "node_modules/watchpack-chokidar2/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/micromatch/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/readdirp": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.11",
-        "micromatch": "^3.1.10",
-        "readable-stream": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webdriver": {
-      "version": "6.12.1",
-      "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-6.12.1.tgz",
-      "integrity": "sha512-3rZgAj9o2XHp16FDTzvUYaHelPMSPbO1TpLIMUT06DfdZjNYIzZiItpIb/NbQDTPmNhzd9cuGmdI56WFBGY2BA==",
-      "dev": true,
-      "dependencies": {
-        "@wdio/config": "6.12.1",
-        "@wdio/logger": "6.10.10",
-        "@wdio/protocols": "6.12.0",
-        "@wdio/utils": "6.11.0",
-        "got": "^11.0.2",
-        "lodash.merge": "^4.6.1"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/webdriver/node_modules/@sindresorhus/is": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
-      "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/is?sponsor=1"
-      }
-    },
-    "node_modules/webdriver/node_modules/cacheable-request": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
-      "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
-      "dev": true,
-      "dependencies": {
-        "clone-response": "^1.0.2",
-        "get-stream": "^5.1.0",
-        "http-cache-semantics": "^4.0.0",
-        "keyv": "^4.0.0",
-        "lowercase-keys": "^2.0.0",
-        "normalize-url": "^6.0.1",
-        "responselike": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/webdriver/node_modules/decompress-response": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
-      "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
-      "dev": true,
-      "dependencies": {
-        "mimic-response": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/webdriver/node_modules/get-stream": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
-      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
-      "dev": true,
-      "dependencies": {
-        "pump": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/webdriver/node_modules/got": {
-      "version": "11.8.3",
-      "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz",
-      "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==",
-      "dev": true,
-      "dependencies": {
-        "@sindresorhus/is": "^4.0.0",
-        "@szmarczak/http-timer": "^4.0.5",
-        "@types/cacheable-request": "^6.0.1",
-        "@types/responselike": "^1.0.0",
-        "cacheable-lookup": "^5.0.3",
-        "cacheable-request": "^7.0.2",
-        "decompress-response": "^6.0.0",
-        "http2-wrapper": "^1.0.0-beta.5.2",
-        "lowercase-keys": "^2.0.0",
-        "p-cancelable": "^2.0.0",
-        "responselike": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=10.19.0"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/got?sponsor=1"
-      }
-    },
-    "node_modules/webdriver/node_modules/json-buffer": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
-      "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
-      "dev": true
-    },
-    "node_modules/webdriver/node_modules/keyv": {
-      "version": "4.2.8",
-      "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.2.8.tgz",
-      "integrity": "sha512-IZZo6krhHWPhgsP5mBkEdPopVPN/stgCnBVuqi6dda/Nm5mDTOSVTrFMkWqlJsDum+B0YSe887tNxdjDWkO7aQ==",
-      "dev": true,
-      "dependencies": {
-        "compress-brotli": "^1.3.8",
-        "json-buffer": "3.0.1"
-      }
-    },
-    "node_modules/webdriver/node_modules/lowercase-keys": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
-      "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/webdriver/node_modules/mimic-response": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
-      "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/webdriver/node_modules/normalize-url": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
-      "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/webdriver/node_modules/p-cancelable": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
-      "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/webdriver/node_modules/responselike": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
-      "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
-      "dev": true,
-      "dependencies": {
-        "lowercase-keys": "^2.0.0"
-      }
-    },
-    "node_modules/webdriverio": {
-      "version": "6.12.1",
-      "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-6.12.1.tgz",
-      "integrity": "sha512-Nx7ge0vTWHVIRUbZCT+IuMwB5Q0Q5nLlYdgnmmJviUKLuc3XtaEBkYPTbhHWHgSBXsPZMIc023vZKNkn+6iyeQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/puppeteer-core": "^5.4.0",
-        "@wdio/config": "6.12.1",
-        "@wdio/logger": "6.10.10",
-        "@wdio/repl": "6.11.0",
-        "@wdio/utils": "6.11.0",
-        "archiver": "^5.0.0",
-        "atob": "^2.1.2",
-        "css-shorthand-properties": "^1.1.1",
-        "css-value": "^0.0.1",
-        "devtools": "6.12.1",
-        "fs-extra": "^9.0.1",
-        "get-port": "^5.1.1",
-        "grapheme-splitter": "^1.0.2",
-        "lodash.clonedeep": "^4.5.0",
-        "lodash.isobject": "^3.0.2",
-        "lodash.isplainobject": "^4.0.6",
-        "lodash.zip": "^4.2.0",
-        "minimatch": "^3.0.4",
-        "puppeteer-core": "^5.1.0",
-        "resq": "^1.9.1",
-        "rgb2hex": "0.2.3",
-        "serialize-error": "^8.0.0",
-        "webdriver": "6.12.1"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/webdriverio/node_modules/fs-extra": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
-      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
-      "dev": true,
-      "dependencies": {
-        "at-least-node": "^1.0.0",
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^6.0.1",
-        "universalify": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/webdriverio/node_modules/serialize-error": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz",
-      "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==",
-      "dev": true,
-      "dependencies": {
-        "type-fest": "^0.20.2"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/webdriverio/node_modules/type-fest": {
-      "version": "0.20.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/webidl-conversions": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
-      "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
-      "dev": true
-    },
-    "node_modules/webpack": {
-      "version": "4.46.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
-      "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/wasm-edit": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "acorn": "^6.4.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.5.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.3",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.7.4",
-        "webpack-sources": "^1.4.1"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=6.11.5"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        },
-        "webpack-command": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/webpack-dev-middleware": {
-      "version": "3.7.3",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
-      "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
-      "dev": true,
-      "dependencies": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.4",
-        "mkdirp": "^0.5.1",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
-      },
-      "engines": {
-        "node": ">= 6"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0 || ^5.0.0"
-      }
-    },
-    "node_modules/webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
-      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
-      "dev": true,
-      "dependencies": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/webpack-log/node_modules/ansi-colors": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
-      "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
-      "dev": true,
-      "dependencies": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      }
-    },
-    "node_modules/webpack/node_modules/acorn": {
-      "version": "6.4.2",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
-      "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
-      "dev": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/webpack/node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/webpack/node_modules/ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true,
-      "peerDependencies": {
-        "ajv": "^6.9.1"
-      }
-    },
-    "node_modules/webpack/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/eslint-scope": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
-      "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.1.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/webpack/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/webpack/node_modules/json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/webpack/node_modules/loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/webpack/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/micromatch/node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/webpack/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/whatwg-url": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
-      "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
-      "dev": true,
-      "dependencies": {
-        "tr46": "~0.0.3",
-        "webidl-conversions": "^3.0.0"
-      }
-    },
-    "node_modules/which": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/node-which"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
-    },
-    "node_modules/wide-align": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
-      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^1.0.2 || 2"
-      }
-    },
-    "node_modules/wide-align/node_modules/ansi-regex": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
-      "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/wide-align/node_modules/is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/wide-align/node_modules/string-width": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-      "dev": true,
-      "dependencies": {
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/wide-align/node_modules/strip-ansi": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-      "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/window-size": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
-      "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
-      "dev": true,
-      "bin": {
-        "window-size": "cli.js"
-      },
-      "engines": {
-        "node": ">= 0.10.0"
-      }
-    },
-    "node_modules/word-wrap": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
-      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
-      "dev": true,
-      "dependencies": {
-        "errno": "~0.1.7"
-      }
-    },
-    "node_modules/workerpool": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz",
-      "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==",
-      "dev": true
-    },
-    "node_modules/wrap-ansi": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
-      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
-    },
-    "node_modules/write-file-atomic": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
-      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
-      "dev": true,
-      "dependencies": {
-        "imurmurhash": "^0.1.4",
-        "is-typedarray": "^1.0.0",
-        "signal-exit": "^3.0.2",
-        "typedarray-to-buffer": "^3.1.5"
-      }
-    },
-    "node_modules/ws": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
-      "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10.0.0"
-      },
-      "peerDependencies": {
-        "bufferutil": "^4.0.1",
-        "utf-8-validate": "^5.0.2"
-      },
-      "peerDependenciesMeta": {
-        "bufferutil": {
-          "optional": true
-        },
-        "utf-8-validate": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/xdg-basedir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz",
-      "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=",
-      "dev": true,
-      "dependencies": {
-        "os-homedir": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4"
-      }
-    },
-    "node_modules/y18n": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
-      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
-    "node_modules/yargs": {
-      "version": "16.2.0",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
-      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
-      "dev": true,
-      "dependencies": {
-        "cliui": "^7.0.2",
-        "escalade": "^3.1.1",
-        "get-caller-file": "^2.0.5",
-        "require-directory": "^2.1.1",
-        "string-width": "^4.2.0",
-        "y18n": "^5.0.5",
-        "yargs-parser": "^20.2.2"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yargs-parser": {
-      "version": "20.2.4",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
-      "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yargs-unparser": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
-      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^6.0.0",
-        "decamelize": "^4.0.0",
-        "flat": "^5.0.2",
-        "is-plain-obj": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/camelcase": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
-      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/decamelize": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
-      "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/is-plain-obj": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
-      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/yauzl": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
-      "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
-      "dev": true,
-      "dependencies": {
-        "buffer-crc32": "~0.2.3",
-        "fd-slicer": "~1.1.0"
-      }
-    },
-    "node_modules/yocto-queue": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
-      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/zip-stream": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
-      "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
-      "dev": true,
-      "dependencies": {
-        "archiver-utils": "^2.1.0",
-        "compress-commons": "^4.1.0",
-        "readable-stream": "^3.6.0"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    }
-  },
-  "dependencies": {
-    "@ampproject/remapping": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
-      "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
-      "dev": true,
-      "requires": {
-        "@jridgewell/gen-mapping": "^0.1.0",
-        "@jridgewell/trace-mapping": "^0.3.9"
-      }
-    },
-    "@apidevtools/json-schema-ref-parser": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz",
-      "integrity": "sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==",
-      "requires": {
-        "@jsdevtools/ono": "^7.1.3",
-        "call-me-maybe": "^1.0.1",
-        "js-yaml": "^3.13.1"
-      }
-    },
-    "@apidevtools/openapi-schemas": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz",
-      "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ=="
-    },
-    "@apidevtools/swagger-methods": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz",
-      "integrity": "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg=="
-    },
-    "@babel/code-frame": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
-      "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
-      "dev": true,
-      "requires": {
-        "@babel/highlight": "^7.16.7"
-      }
-    },
-    "@babel/compat-data": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
-      "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==",
-      "dev": true
-    },
-    "@babel/core": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz",
-      "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==",
-      "dev": true,
-      "requires": {
-        "@ampproject/remapping": "^2.1.0",
-        "@babel/code-frame": "^7.16.7",
-        "@babel/generator": "^7.17.10",
-        "@babel/helper-compilation-targets": "^7.17.10",
-        "@babel/helper-module-transforms": "^7.17.7",
-        "@babel/helpers": "^7.17.9",
-        "@babel/parser": "^7.17.10",
-        "@babel/template": "^7.16.7",
-        "@babel/traverse": "^7.17.10",
-        "@babel/types": "^7.17.10",
-        "convert-source-map": "^1.7.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.2.1",
-        "semver": "^6.3.0"
-      }
-    },
-    "@babel/generator": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz",
-      "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.17.10",
-        "@jridgewell/gen-mapping": "^0.1.0",
-        "jsesc": "^2.5.1"
-      }
-    },
-    "@babel/helper-annotate-as-pure": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
-      "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.16.7"
-      }
-    },
-    "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz",
-      "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.16.7",
-        "@babel/types": "^7.16.7"
-      }
-    },
-    "@babel/helper-compilation-targets": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz",
-      "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.17.10",
-        "@babel/helper-validator-option": "^7.16.7",
-        "browserslist": "^4.20.2",
-        "semver": "^6.3.0"
-      }
-    },
-    "@babel/helper-create-class-features-plugin": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz",
-      "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.16.7",
-        "@babel/helper-environment-visitor": "^7.16.7",
-        "@babel/helper-function-name": "^7.17.9",
-        "@babel/helper-member-expression-to-functions": "^7.17.7",
-        "@babel/helper-optimise-call-expression": "^7.16.7",
-        "@babel/helper-replace-supers": "^7.16.7",
-        "@babel/helper-split-export-declaration": "^7.16.7"
-      }
-    },
-    "@babel/helper-create-regexp-features-plugin": {
-      "version": "7.17.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz",
-      "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.16.7",
-        "regexpu-core": "^5.0.1"
-      }
-    },
-    "@babel/helper-define-polyfill-provider": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
-      "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-compilation-targets": "^7.13.0",
-        "@babel/helper-module-imports": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/traverse": "^7.13.0",
-        "debug": "^4.1.1",
-        "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2",
-        "semver": "^6.1.2"
-      }
-    },
-    "@babel/helper-environment-visitor": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
-      "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.16.7"
-      }
-    },
-    "@babel/helper-explode-assignable-expression": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz",
-      "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.16.7"
-      }
-    },
-    "@babel/helper-function-name": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz",
-      "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.16.7",
-        "@babel/types": "^7.17.0"
-      }
-    },
-    "@babel/helper-hoist-variables": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
-      "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.16.7"
-      }
-    },
-    "@babel/helper-member-expression-to-functions": {
-      "version": "7.17.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz",
-      "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.17.0"
-      }
-    },
-    "@babel/helper-module-imports": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
-      "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.16.7"
-      }
-    },
-    "@babel/helper-module-transforms": {
-      "version": "7.17.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
-      "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-environment-visitor": "^7.16.7",
-        "@babel/helper-module-imports": "^7.16.7",
-        "@babel/helper-simple-access": "^7.17.7",
-        "@babel/helper-split-export-declaration": "^7.16.7",
-        "@babel/helper-validator-identifier": "^7.16.7",
-        "@babel/template": "^7.16.7",
-        "@babel/traverse": "^7.17.3",
-        "@babel/types": "^7.17.0"
-      }
-    },
-    "@babel/helper-optimise-call-expression": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
-      "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.16.7"
-      }
-    },
-    "@babel/helper-plugin-utils": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
-      "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==",
-      "dev": true
-    },
-    "@babel/helper-remap-async-to-generator": {
-      "version": "7.16.8",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz",
-      "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.16.7",
-        "@babel/helper-wrap-function": "^7.16.8",
-        "@babel/types": "^7.16.8"
-      }
-    },
-    "@babel/helper-replace-supers": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz",
-      "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-environment-visitor": "^7.16.7",
-        "@babel/helper-member-expression-to-functions": "^7.16.7",
-        "@babel/helper-optimise-call-expression": "^7.16.7",
-        "@babel/traverse": "^7.16.7",
-        "@babel/types": "^7.16.7"
-      }
-    },
-    "@babel/helper-simple-access": {
-      "version": "7.17.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
-      "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.17.0"
-      }
-    },
-    "@babel/helper-skip-transparent-expression-wrappers": {
-      "version": "7.16.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz",
-      "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.16.0"
-      }
-    },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
-      "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.16.7"
-      }
-    },
-    "@babel/helper-validator-identifier": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
-      "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
-      "dev": true
-    },
-    "@babel/helper-validator-option": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
-      "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==",
-      "dev": true
-    },
-    "@babel/helper-wrap-function": {
-      "version": "7.16.8",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz",
-      "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.16.7",
-        "@babel/template": "^7.16.7",
-        "@babel/traverse": "^7.16.8",
-        "@babel/types": "^7.16.8"
-      }
-    },
-    "@babel/helpers": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz",
-      "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.16.7",
-        "@babel/traverse": "^7.17.9",
-        "@babel/types": "^7.17.0"
-      }
-    },
-    "@babel/highlight": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz",
-      "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-validator-identifier": "^7.16.7",
-        "chalk": "^2.0.0",
-        "js-tokens": "^4.0.0"
-      }
-    },
-    "@babel/parser": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz",
-      "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==",
-      "dev": true
-    },
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz",
-      "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz",
-      "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
-        "@babel/plugin-proposal-optional-chaining": "^7.16.7"
-      }
-    },
-    "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.16.8",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz",
-      "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-remap-async-to-generator": "^7.16.8",
-        "@babel/plugin-syntax-async-generators": "^7.8.4"
-      }
-    },
-    "@babel/plugin-proposal-class-properties": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz",
-      "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-proposal-class-static-block": {
-      "version": "7.17.6",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz",
-      "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.17.6",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5"
-      }
-    },
-    "@babel/plugin-proposal-dynamic-import": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz",
-      "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-export-namespace-from": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz",
-      "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-json-strings": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz",
-      "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-json-strings": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-logical-assignment-operators": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz",
-      "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
-      }
-    },
-    "@babel/plugin-proposal-nullish-coalescing-operator": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz",
-      "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-numeric-separator": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz",
-      "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
-      }
-    },
-    "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.17.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz",
-      "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.17.0",
-        "@babel/helper-compilation-targets": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-transform-parameters": "^7.16.7"
-      }
-    },
-    "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz",
-      "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-optional-chaining": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz",
-      "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-private-methods": {
-      "version": "7.16.11",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
-      "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.16.10",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-proposal-private-property-in-object": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz",
-      "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.16.7",
-        "@babel/helper-create-class-features-plugin": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
-      }
-    },
-    "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz",
-      "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-syntax-async-generators": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
-      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-class-properties": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
-      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-syntax-class-static-block": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
-      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-syntax-dynamic-import": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
-      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-export-namespace-from": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
-      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
-      }
-    },
-    "@babel/plugin-syntax-json-strings": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
-      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
-      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      }
-    },
-    "@babel/plugin-syntax-nullish-coalescing-operator": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
-      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
-      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      }
-    },
-    "@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
-      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
-      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-chaining": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
-      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-private-property-in-object": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
-      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-syntax-top-level-await": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
-      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-arrow-functions": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz",
-      "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-async-to-generator": {
-      "version": "7.16.8",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz",
-      "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-remap-async-to-generator": "^7.16.8"
-      }
-    },
-    "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz",
-      "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-block-scoping": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz",
-      "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-classes": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz",
-      "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.16.7",
-        "@babel/helper-environment-visitor": "^7.16.7",
-        "@babel/helper-function-name": "^7.16.7",
-        "@babel/helper-optimise-call-expression": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-replace-supers": "^7.16.7",
-        "@babel/helper-split-export-declaration": "^7.16.7",
-        "globals": "^11.1.0"
-      }
-    },
-    "@babel/plugin-transform-computed-properties": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz",
-      "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-destructuring": {
-      "version": "7.17.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz",
-      "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-dotall-regex": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz",
-      "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz",
-      "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz",
-      "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-for-of": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz",
-      "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-function-name": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz",
-      "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-compilation-targets": "^7.16.7",
-        "@babel/helper-function-name": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-literals": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz",
-      "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-member-expression-literals": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz",
-      "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-modules-amd": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz",
-      "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      }
-    },
-    "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz",
-      "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.17.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-simple-access": "^7.17.7",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      }
-    },
-    "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.17.8",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz",
-      "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.16.7",
-        "@babel/helper-module-transforms": "^7.17.7",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-validator-identifier": "^7.16.7",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      }
-    },
-    "@babel/plugin-transform-modules-umd": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz",
-      "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz",
-      "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.17.0"
-      }
-    },
-    "@babel/plugin-transform-new-target": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz",
-      "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-object-super": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz",
-      "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-replace-supers": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-parameters": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz",
-      "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-property-literals": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz",
-      "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-regenerator": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz",
-      "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==",
-      "dev": true,
-      "requires": {
-        "regenerator-transform": "^0.15.0"
-      }
-    },
-    "@babel/plugin-transform-reserved-words": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz",
-      "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz",
-      "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-spread": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz",
-      "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
-      }
-    },
-    "@babel/plugin-transform-sticky-regex": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz",
-      "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-template-literals": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz",
-      "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz",
-      "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-unicode-escapes": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz",
-      "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/plugin-transform-unicode-regex": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz",
-      "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.16.7",
-        "@babel/helper-plugin-utils": "^7.16.7"
-      }
-    },
-    "@babel/polyfill": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
-      "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
-      "dev": true,
-      "requires": {
-        "core-js": "^2.6.5",
-        "regenerator-runtime": "^0.13.4"
-      }
-    },
-    "@babel/preset-env": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz",
-      "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.17.10",
-        "@babel/helper-compilation-targets": "^7.17.10",
-        "@babel/helper-plugin-utils": "^7.16.7",
-        "@babel/helper-validator-option": "^7.16.7",
-        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7",
-        "@babel/plugin-proposal-async-generator-functions": "^7.16.8",
-        "@babel/plugin-proposal-class-properties": "^7.16.7",
-        "@babel/plugin-proposal-class-static-block": "^7.17.6",
-        "@babel/plugin-proposal-dynamic-import": "^7.16.7",
-        "@babel/plugin-proposal-export-namespace-from": "^7.16.7",
-        "@babel/plugin-proposal-json-strings": "^7.16.7",
-        "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
-        "@babel/plugin-proposal-numeric-separator": "^7.16.7",
-        "@babel/plugin-proposal-object-rest-spread": "^7.17.3",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
-        "@babel/plugin-proposal-optional-chaining": "^7.16.7",
-        "@babel/plugin-proposal-private-methods": "^7.16.11",
-        "@babel/plugin-proposal-private-property-in-object": "^7.16.7",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-class-properties": "^7.12.13",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
-        "@babel/plugin-syntax-top-level-await": "^7.14.5",
-        "@babel/plugin-transform-arrow-functions": "^7.16.7",
-        "@babel/plugin-transform-async-to-generator": "^7.16.8",
-        "@babel/plugin-transform-block-scoped-functions": "^7.16.7",
-        "@babel/plugin-transform-block-scoping": "^7.16.7",
-        "@babel/plugin-transform-classes": "^7.16.7",
-        "@babel/plugin-transform-computed-properties": "^7.16.7",
-        "@babel/plugin-transform-destructuring": "^7.17.7",
-        "@babel/plugin-transform-dotall-regex": "^7.16.7",
-        "@babel/plugin-transform-duplicate-keys": "^7.16.7",
-        "@babel/plugin-transform-exponentiation-operator": "^7.16.7",
-        "@babel/plugin-transform-for-of": "^7.16.7",
-        "@babel/plugin-transform-function-name": "^7.16.7",
-        "@babel/plugin-transform-literals": "^7.16.7",
-        "@babel/plugin-transform-member-expression-literals": "^7.16.7",
-        "@babel/plugin-transform-modules-amd": "^7.16.7",
-        "@babel/plugin-transform-modules-commonjs": "^7.17.9",
-        "@babel/plugin-transform-modules-systemjs": "^7.17.8",
-        "@babel/plugin-transform-modules-umd": "^7.16.7",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10",
-        "@babel/plugin-transform-new-target": "^7.16.7",
-        "@babel/plugin-transform-object-super": "^7.16.7",
-        "@babel/plugin-transform-parameters": "^7.16.7",
-        "@babel/plugin-transform-property-literals": "^7.16.7",
-        "@babel/plugin-transform-regenerator": "^7.17.9",
-        "@babel/plugin-transform-reserved-words": "^7.16.7",
-        "@babel/plugin-transform-shorthand-properties": "^7.16.7",
-        "@babel/plugin-transform-spread": "^7.16.7",
-        "@babel/plugin-transform-sticky-regex": "^7.16.7",
-        "@babel/plugin-transform-template-literals": "^7.16.7",
-        "@babel/plugin-transform-typeof-symbol": "^7.16.7",
-        "@babel/plugin-transform-unicode-escapes": "^7.16.7",
-        "@babel/plugin-transform-unicode-regex": "^7.16.7",
-        "@babel/preset-modules": "^0.1.5",
-        "@babel/types": "^7.17.10",
-        "babel-plugin-polyfill-corejs2": "^0.3.0",
-        "babel-plugin-polyfill-corejs3": "^0.5.0",
-        "babel-plugin-polyfill-regenerator": "^0.3.0",
-        "core-js-compat": "^3.22.1",
-        "semver": "^6.3.0"
-      }
-    },
-    "@babel/preset-modules": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
-      "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
-        "@babel/plugin-transform-dotall-regex": "^7.4.4",
-        "@babel/types": "^7.4.4",
-        "esutils": "^2.0.2"
-      }
-    },
-    "@babel/runtime": {
-      "version": "7.17.9",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
-      "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
-      "dev": true,
-      "requires": {
-        "regenerator-runtime": "^0.13.4"
-      }
-    },
-    "@babel/template": {
-      "version": "7.16.7",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
-      "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.16.7",
-        "@babel/parser": "^7.16.7",
-        "@babel/types": "^7.16.7"
-      }
-    },
-    "@babel/traverse": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz",
-      "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.16.7",
-        "@babel/generator": "^7.17.10",
-        "@babel/helper-environment-visitor": "^7.16.7",
-        "@babel/helper-function-name": "^7.17.9",
-        "@babel/helper-hoist-variables": "^7.16.7",
-        "@babel/helper-split-export-declaration": "^7.16.7",
-        "@babel/parser": "^7.17.10",
-        "@babel/types": "^7.17.10",
-        "debug": "^4.1.0",
-        "globals": "^11.1.0"
-      }
-    },
-    "@babel/types": {
-      "version": "7.17.10",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz",
-      "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-validator-identifier": "^7.16.7",
-        "to-fast-properties": "^2.0.0"
-      }
-    },
-    "@colors/colors": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
-      "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
-      "dev": true
-    },
-    "@eslint/eslintrc": {
-      "version": "0.4.3",
-      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
-      "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.12.4",
-        "debug": "^4.1.1",
-        "espree": "^7.3.0",
-        "globals": "^13.9.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.2.1",
-        "js-yaml": "^3.13.1",
-        "minimatch": "^3.0.4",
-        "strip-json-comments": "^3.1.1"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "6.12.6",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "globals": {
-          "version": "13.15.0",
-          "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
-          "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
-          "dev": true,
-          "requires": {
-            "type-fest": "^0.20.2"
-          }
-        },
-        "json-schema-traverse": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-          "dev": true
-        },
-        "type-fest": {
-          "version": "0.20.2",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-          "dev": true
-        }
-      }
-    },
-    "@gar/promisify": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
-      "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
-      "dev": true
-    },
-    "@humanwhocodes/config-array": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
-      "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
-      "dev": true,
-      "requires": {
-        "@humanwhocodes/object-schema": "^1.2.0",
-        "debug": "^4.1.1",
-        "minimatch": "^3.0.4"
-      }
-    },
-    "@humanwhocodes/object-schema": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
-      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
-      "dev": true
-    },
-    "@istanbuljs/load-nyc-config": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
-      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^5.3.1",
-        "find-up": "^4.1.0",
-        "get-package-type": "^0.1.0",
-        "js-yaml": "^3.13.1",
-        "resolve-from": "^5.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "resolve-from": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-          "dev": true
-        }
-      }
-    },
-    "@istanbuljs/schema": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
-      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
-      "dev": true
-    },
-    "@jridgewell/gen-mapping": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
-      "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
-      "dev": true,
-      "requires": {
-        "@jridgewell/set-array": "^1.0.0",
-        "@jridgewell/sourcemap-codec": "^1.4.10"
-      }
-    },
-    "@jridgewell/resolve-uri": {
-      "version": "3.0.7",
-      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz",
-      "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==",
-      "dev": true
-    },
-    "@jridgewell/set-array": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz",
-      "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==",
-      "dev": true
-    },
-    "@jridgewell/sourcemap-codec": {
-      "version": "1.4.13",
-      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz",
-      "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==",
-      "dev": true
-    },
-    "@jridgewell/trace-mapping": {
-      "version": "0.3.13",
-      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz",
-      "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==",
-      "dev": true,
-      "requires": {
-        "@jridgewell/resolve-uri": "^3.0.3",
-        "@jridgewell/sourcemap-codec": "^1.4.10"
-      }
-    },
-    "@jsdevtools/coverage-istanbul-loader": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz",
-      "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==",
-      "dev": true,
-      "requires": {
-        "convert-source-map": "^1.7.0",
-        "istanbul-lib-instrument": "^4.0.3",
-        "loader-utils": "^2.0.0",
-        "merge-source-map": "^1.1.0",
-        "schema-utils": "^2.7.0"
-      }
-    },
-    "@jsdevtools/eslint-config": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/eslint-config/-/eslint-config-1.1.4.tgz",
-      "integrity": "sha512-Q4LI11Z2duYcKt0VXOnc3TA2JpK9s8LEA6s+45k2g5hNRGAmCCrAcIFrR0unhJt7DDcQ6qfYdXSLaYmSiLnlNA==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/eslint-plugin": "^3.6.1",
-        "@typescript-eslint/parser": "^3.6.1",
-        "eslint-plugin-jsdoc": "^30.0.3"
-      }
-    },
-    "@jsdevtools/ez-spawn": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/ez-spawn/-/ez-spawn-3.0.4.tgz",
-      "integrity": "sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==",
-      "dev": true,
-      "requires": {
-        "call-me-maybe": "^1.0.1",
-        "cross-spawn": "^7.0.3",
-        "string-argv": "^0.3.1",
-        "type-detect": "^4.0.8"
-      }
-    },
-    "@jsdevtools/host-environment": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/host-environment/-/host-environment-2.1.2.tgz",
-      "integrity": "sha512-9T+w9lWwMExriyAXafL12lPHxOaF7PwSbyf6nCZDpidrXb5r+SiCs6YjsAEOHHdFj7spvNVzEFVT23fDsPbf5Q==",
-      "dev": true,
-      "requires": {
-        "@qawolf/ci-info": "^2.1.0"
-      }
-    },
-    "@jsdevtools/karma-config": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/karma-config/-/karma-config-3.2.0.tgz",
-      "integrity": "sha512-mVNXNcE5o3resw+Z7NpJ0XvrkgHTDJNLR9HRvvcynmORvUwaL/RAHh9p5rfo/Zku4JZOYBB5ARpNnlNjUns4IA==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.17.10",
-        "@babel/preset-env": "^7.17.10",
-        "@jsdevtools/coverage-istanbul-loader": "^3.0.5",
-        "@jsdevtools/host-environment": "^2.1.2",
-        "@jsdevtools/karma-host-environment": "^3.0.3",
-        "@jsdevtools/ono": "^7.1.3",
-        "babel-loader": "^8.2.5",
-        "karma-chrome-launcher": "^3.1.1",
-        "karma-coverage-istanbul-reporter": "^3.0.3",
-        "karma-edge-launcher": "^0.4.2",
-        "karma-firefox-launcher": "^2.1.2",
-        "karma-ie-launcher": "^1.0.0",
-        "karma-mocha": "^2.0.1",
-        "karma-safari-launcher": "^1.0.0",
-        "karma-sauce-launcher": "^4.3.6",
-        "karma-verbose-reporter": "^0.0.8",
-        "karma-webpack": "^4.0.2",
-        "webpack": "^4.43.0"
-      }
-    },
-    "@jsdevtools/karma-host-environment": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/karma-host-environment/-/karma-host-environment-3.0.3.tgz",
-      "integrity": "sha512-g1xAAidi0xP41Ep7Ddnj34Ld/okIZ6VeRrG0cJHl62g+1bEssyFzCyUFo+G6SYhNFHdcrwfW7AecTYXSx4ZLgA==",
-      "dev": true,
-      "requires": {
-        "@jsdevtools/host-environment": "^2.0.4",
-        "temp": "^0.9.0"
-      }
-    },
-    "@jsdevtools/ono": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz",
-      "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg=="
-    },
-    "@jsdevtools/version-bump-prompt": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/@jsdevtools/version-bump-prompt/-/version-bump-prompt-6.1.0.tgz",
-      "integrity": "sha512-NJFLJRiD3LLFBgSxAb6B255xhWCGgdtzmh6UjHK2b7SRGX2DDKJH5O4BJ0GTStBu4NnaNgMbkr1TLW3pLOBkOQ==",
-      "dev": true,
-      "requires": {
-        "@jsdevtools/ez-spawn": "^3.0.4",
-        "command-line-args": "^5.1.1",
-        "detect-indent": "^6.0.0",
-        "detect-newline": "^3.1.0",
-        "globby": "^11.0.1",
-        "inquirer": "^7.3.3",
-        "log-symbols": "^4.0.0",
-        "semver": "^7.3.2"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        }
-      }
-    },
-    "@nodelib/fs.scandir": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
-      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
-      "dev": true,
-      "requires": {
-        "@nodelib/fs.stat": "2.0.5",
-        "run-parallel": "^1.1.9"
-      }
-    },
-    "@nodelib/fs.stat": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
-      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
-      "dev": true
-    },
-    "@nodelib/fs.walk": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
-      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
-      "dev": true,
-      "requires": {
-        "@nodelib/fs.scandir": "2.1.5",
-        "fastq": "^1.6.0"
-      }
-    },
-    "@npmcli/fs": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
-      "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
-      "dev": true,
-      "requires": {
-        "@gar/promisify": "^1.0.1",
-        "semver": "^7.3.5"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        }
-      }
-    },
-    "@npmcli/move-file": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
-      "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
-      "dev": true,
-      "requires": {
-        "mkdirp": "^1.0.4",
-        "rimraf": "^3.0.2"
-      },
-      "dependencies": {
-        "mkdirp": {
-          "version": "1.0.4",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-          "dev": true
-        }
-      }
-    },
-    "@qawolf/ci-info": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@qawolf/ci-info/-/ci-info-2.1.0.tgz",
-      "integrity": "sha512-D5H5RjqqE+YxI2oeTgSRuIjdy/hli90H5mMd81bBrYlOfB/f4TBsKMoaWfzI5E4bmFzLfQJuvvepTaWrxVfBug==",
-      "dev": true
-    },
-    "@sindresorhus/is": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz",
-      "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==",
-      "dev": true
-    },
-    "@sinonjs/commons": {
-      "version": "1.8.3",
-      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
-      "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
-      "dev": true,
-      "requires": {
-        "type-detect": "4.0.8"
-      }
-    },
-    "@sinonjs/fake-timers": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
-      "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
-      "dev": true,
-      "requires": {
-        "@sinonjs/commons": "^1.7.0"
-      }
-    },
-    "@sinonjs/samsam": {
-      "version": "6.1.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.1.tgz",
-      "integrity": "sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==",
-      "dev": true,
-      "requires": {
-        "@sinonjs/commons": "^1.6.0",
-        "lodash.get": "^4.4.2",
-        "type-detect": "^4.0.8"
-      }
-    },
-    "@sinonjs/text-encoding": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz",
-      "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
-      "dev": true
-    },
-    "@szmarczak/http-timer": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
-      "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
-      "dev": true,
-      "requires": {
-        "defer-to-connect": "^2.0.0"
-      }
-    },
-    "@tootallnate/once": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
-      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
-      "dev": true
-    },
-    "@types/cacheable-request": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
-      "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
-      "dev": true,
-      "requires": {
-        "@types/http-cache-semantics": "*",
-        "@types/keyv": "*",
-        "@types/node": "*",
-        "@types/responselike": "*"
-      }
-    },
-    "@types/component-emitter": {
-      "version": "1.2.11",
-      "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
-      "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==",
-      "dev": true
-    },
-    "@types/cookie": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
-      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
-      "dev": true
-    },
-    "@types/cors": {
-      "version": "2.8.12",
-      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
-      "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==",
-      "dev": true
-    },
-    "@types/eslint-visitor-keys": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
-      "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==",
-      "dev": true
-    },
-    "@types/glob": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
-      "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
-      "dev": true,
-      "requires": {
-        "@types/minimatch": "*",
-        "@types/node": "*"
-      }
-    },
-    "@types/http-cache-semantics": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
-      "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==",
-      "dev": true
-    },
-    "@types/json-buffer": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz",
-      "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==",
-      "dev": true
-    },
-    "@types/json-schema": {
-      "version": "7.0.11",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
-      "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
-      "dev": true
-    },
-    "@types/keyv": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
-      "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*"
-      }
-    },
-    "@types/minimatch": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
-      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
-      "dev": true
-    },
-    "@types/minimist": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
-      "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==",
-      "dev": true
-    },
-    "@types/node": {
-      "version": "14.18.18",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz",
-      "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==",
-      "dev": true
-    },
-    "@types/normalize-package-data": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
-      "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
-      "dev": true
-    },
-    "@types/puppeteer": {
-      "version": "5.4.6",
-      "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.6.tgz",
-      "integrity": "sha512-98Kghehs7+/GD9b56qryhqdqVCXUTbetTv3PlvDnmFRTHQH0j9DIp1f7rkAW3BAj4U3yoeSEQnKgdW8bDq0Y0Q==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*"
-      }
-    },
-    "@types/puppeteer-core": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@types/puppeteer-core/-/puppeteer-core-5.4.0.tgz",
-      "integrity": "sha512-yqRPuv4EFcSkTyin6Yy17pN6Qz2vwVwTCJIDYMXbE3j8vTPhv0nCQlZOl5xfi0WHUkqvQsjAR8hAfjeMCoetwg==",
-      "dev": true,
-      "requires": {
-        "@types/puppeteer": "*"
-      }
-    },
-    "@types/responselike": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
-      "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*"
-      }
-    },
-    "@types/which": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/@types/which/-/which-1.3.2.tgz",
-      "integrity": "sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==",
-      "dev": true
-    },
-    "@types/yauzl": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
-      "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "@types/node": "*"
-      }
-    },
-    "@typescript-eslint/eslint-plugin": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz",
-      "integrity": "sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/experimental-utils": "3.10.1",
-        "debug": "^4.1.1",
-        "functional-red-black-tree": "^1.0.1",
-        "regexpp": "^3.0.0",
-        "semver": "^7.3.2",
-        "tsutils": "^3.17.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        }
-      }
-    },
-    "@typescript-eslint/experimental-utils": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz",
-      "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==",
-      "dev": true,
-      "requires": {
-        "@types/json-schema": "^7.0.3",
-        "@typescript-eslint/types": "3.10.1",
-        "@typescript-eslint/typescript-estree": "3.10.1",
-        "eslint-scope": "^5.0.0",
-        "eslint-utils": "^2.0.0"
-      }
-    },
-    "@typescript-eslint/parser": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz",
-      "integrity": "sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==",
-      "dev": true,
-      "requires": {
-        "@types/eslint-visitor-keys": "^1.0.0",
-        "@typescript-eslint/experimental-utils": "3.10.1",
-        "@typescript-eslint/types": "3.10.1",
-        "@typescript-eslint/typescript-estree": "3.10.1",
-        "eslint-visitor-keys": "^1.1.0"
-      }
-    },
-    "@typescript-eslint/types": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz",
-      "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==",
-      "dev": true
-    },
-    "@typescript-eslint/typescript-estree": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz",
-      "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/types": "3.10.1",
-        "@typescript-eslint/visitor-keys": "3.10.1",
-        "debug": "^4.1.1",
-        "glob": "^7.1.6",
-        "is-glob": "^4.0.1",
-        "lodash": "^4.17.15",
-        "semver": "^7.3.2",
-        "tsutils": "^3.17.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        }
-      }
-    },
-    "@typescript-eslint/visitor-keys": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz",
-      "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==",
-      "dev": true,
-      "requires": {
-        "eslint-visitor-keys": "^1.1.0"
-      }
-    },
-    "@ungap/promise-all-settled": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
-      "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
-      "dev": true
-    },
-    "@wdio/config": {
-      "version": "6.12.1",
-      "resolved": "https://registry.npmjs.org/@wdio/config/-/config-6.12.1.tgz",
-      "integrity": "sha512-V5hTIW5FNlZ1W33smHF4Rd5BKjGW2KeYhyXDQfXHjqLCeRiirZ9fABCo9plaVQDnwWSUMWYaAaIAifV82/oJCQ==",
-      "dev": true,
-      "requires": {
-        "@wdio/logger": "6.10.10",
-        "deepmerge": "^4.0.0",
-        "glob": "^7.1.2"
-      }
-    },
-    "@wdio/logger": {
-      "version": "6.10.10",
-      "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-6.10.10.tgz",
-      "integrity": "sha512-2nh0hJz9HeZE0VIEMI+oPgjr/Q37ohrR9iqsl7f7GW5ik+PnKYCT9Eab5mR1GNMG60askwbskgGC1S9ygtvrSw==",
-      "dev": true,
-      "requires": {
-        "chalk": "^4.0.0",
-        "loglevel": "^1.6.0",
-        "loglevel-plugin-prefix": "^0.8.4",
-        "strip-ansi": "^6.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "@wdio/protocols": {
-      "version": "6.12.0",
-      "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-6.12.0.tgz",
-      "integrity": "sha512-UhTBZxClCsM3VjaiDp4DoSCnsa7D1QNmI2kqEBfIpyNkT3GcZhJb7L+nL0fTkzCwi7+/uLastb3/aOwH99gt0A==",
-      "dev": true
-    },
-    "@wdio/repl": {
-      "version": "6.11.0",
-      "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-6.11.0.tgz",
-      "integrity": "sha512-FxrFKiTkFyELNGGVEH1uijyvNY7lUpmff6x+FGskFGZB4uSRs0rxkOMaEjxnxw7QP1zgQKr2xC7GyO03gIGRGg==",
-      "dev": true,
-      "requires": {
-        "@wdio/utils": "6.11.0"
-      }
-    },
-    "@wdio/utils": {
-      "version": "6.11.0",
-      "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-6.11.0.tgz",
-      "integrity": "sha512-vf0sOQzd28WbI26d6/ORrQ4XKWTzSlWLm9W/K/eJO0NASKPEzR+E+Q2kaa+MJ4FKXUpjbt+Lxfo+C26TzBk7tg==",
-      "dev": true,
-      "requires": {
-        "@wdio/logger": "6.10.10"
-      }
-    },
-    "@webassemblyjs/ast": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
-      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0"
-      }
-    },
-    "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
-      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-api-error": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
-      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-buffer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
-      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-code-frame": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
-      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "@webassemblyjs/helper-fsm": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
-      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-module-context": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
-      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0"
-      }
-    },
-    "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
-      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-wasm-section": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
-      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0"
-      }
-    },
-    "@webassemblyjs/ieee754": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
-      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
-      "dev": true,
-      "requires": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "@webassemblyjs/leb128": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
-      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
-      "dev": true,
-      "requires": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/utf8": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
-      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
-      "dev": true
-    },
-    "@webassemblyjs/wasm-edit": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
-      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/helper-wasm-section": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-opt": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-gen": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
-      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-opt": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
-      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
-      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wast-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
-      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-code-frame": "1.9.0",
-        "@webassemblyjs/helper-fsm": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/wast-printer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
-      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true
-    },
-    "@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true
-    },
-    "abbrev": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
-      "dev": true
-    },
-    "accepts": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
-      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
-      "dev": true,
-      "requires": {
-        "mime-types": "~2.1.34",
-        "negotiator": "0.6.3"
-      }
-    },
-    "acorn": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
-      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
-      "dev": true
-    },
-    "acorn-jsx": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
-      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
-      "dev": true,
-      "requires": {}
-    },
-    "acorn-node": {
-      "version": "1.8.2",
-      "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
-      "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
-      "dev": true,
-      "requires": {
-        "acorn": "^7.0.0",
-        "acorn-walk": "^7.0.0",
-        "xtend": "^4.0.2"
-      }
-    },
-    "acorn-walk": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
-      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
-      "dev": true
-    },
-    "agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-      "dev": true,
-      "requires": {
-        "debug": "4"
-      }
-    },
-    "agentkeepalive": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
-      "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "depd": "^1.1.2",
-        "humanize-ms": "^1.2.1"
-      },
-      "dependencies": {
-        "depd": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-          "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-          "dev": true
-        }
-      }
-    },
-    "aggregate-error": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
-      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
-      "dev": true,
-      "requires": {
-        "clean-stack": "^2.0.0",
-        "indent-string": "^4.0.0"
-      }
-    },
-    "ajv": {
-      "version": "8.11.0",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
-      "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
-      "requires": {
-        "fast-deep-equal": "^3.1.1",
-        "json-schema-traverse": "^1.0.0",
-        "require-from-string": "^2.0.2",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "ajv-draft-04": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz",
-      "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==",
-      "requires": {}
-    },
-    "ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
-      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
-      "dev": true,
-      "requires": {}
-    },
-    "ansi-colors": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
-      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
-      "dev": true
-    },
-    "ansi-escapes": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
-      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
-      "dev": true,
-      "requires": {
-        "type-fest": "^0.21.3"
-      }
-    },
-    "ansi-regex": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-      "dev": true
-    },
-    "ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
-      "requires": {
-        "color-convert": "^1.9.0"
-      }
-    },
-    "any-promise": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
-      "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
-      "dev": true
-    },
-    "anymatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
-      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
-      "dev": true,
-      "requires": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      }
-    },
-    "append-transform": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
-      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
-      "dev": true,
-      "requires": {
-        "default-require-extensions": "^3.0.0"
-      }
-    },
-    "aproba": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
-      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
-      "dev": true
-    },
-    "arch": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
-      "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
-      "dev": true
-    },
-    "archive-type": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz",
-      "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=",
-      "dev": true,
-      "requires": {
-        "file-type": "^4.2.0"
-      },
-      "dependencies": {
-        "file-type": {
-          "version": "4.4.0",
-          "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz",
-          "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=",
-          "dev": true
-        }
-      }
-    },
-    "archiver": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz",
-      "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==",
-      "dev": true,
-      "requires": {
-        "archiver-utils": "^2.1.0",
-        "async": "^3.2.3",
-        "buffer-crc32": "^0.2.1",
-        "readable-stream": "^3.6.0",
-        "readdir-glob": "^1.0.0",
-        "tar-stream": "^2.2.0",
-        "zip-stream": "^4.1.0"
-      },
-      "dependencies": {
-        "bl": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
-          "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
-          "dev": true,
-          "requires": {
-            "buffer": "^5.5.0",
-            "inherits": "^2.0.4",
-            "readable-stream": "^3.4.0"
-          }
-        },
-        "buffer": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
-          "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
-          "dev": true,
-          "requires": {
-            "base64-js": "^1.3.1",
-            "ieee754": "^1.1.13"
-          }
-        },
-        "tar-stream": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
-          "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
-          "dev": true,
-          "requires": {
-            "bl": "^4.0.3",
-            "end-of-stream": "^1.4.1",
-            "fs-constants": "^1.0.0",
-            "inherits": "^2.0.3",
-            "readable-stream": "^3.1.1"
-          }
-        }
-      }
-    },
-    "archiver-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz",
-      "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.2.0",
-        "lazystream": "^1.0.0",
-        "lodash.defaults": "^4.2.0",
-        "lodash.difference": "^4.5.0",
-        "lodash.flatten": "^4.4.0",
-        "lodash.isplainobject": "^4.0.6",
-        "lodash.union": "^4.6.0",
-        "normalize-path": "^3.0.0",
-        "readable-stream": "^2.0.0"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "archy": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
-      "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
-      "dev": true
-    },
-    "are-we-there-yet": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
-      "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
-      "dev": true,
-      "requires": {
-        "delegates": "^1.0.0",
-        "readable-stream": "^3.6.0"
-      }
-    },
-    "argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "requires": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
-    },
-    "arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
-    },
-    "arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
-    },
-    "array-back": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
-      "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
-      "dev": true
-    },
-    "array-union": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
-      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
-      "dev": true
-    },
-    "array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
-      "dev": true
-    },
-    "array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
-    },
-    "arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
-      "dev": true
-    },
-    "asn1": {
-      "version": "0.2.6",
-      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
-      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
-      "dev": true,
-      "requires": {
-        "safer-buffer": "~2.1.0"
-      }
-    },
-    "asn1.js": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
-      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "safer-buffer": "^2.1.0"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "assert": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
-      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.1.1",
-        "util": "0.10.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-          "dev": true
-        },
-        "util": {
-          "version": "0.10.3",
-          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-          "dev": true,
-          "requires": {
-            "inherits": "2.0.1"
-          }
-        }
-      }
-    },
-    "assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true
-    },
-    "assertion-error": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
-      "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
-      "dev": true
-    },
-    "assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
-    },
-    "astral-regex": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
-      "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
-      "dev": true
-    },
-    "async": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
-      "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
-      "dev": true
-    },
-    "async-each": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
-      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-      "dev": true
-    },
-    "async-foreach": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
-      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
-      "dev": true
-    },
-    "asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
-      "dev": true
-    },
-    "at-least-node": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
-      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
-      "dev": true
-    },
-    "atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
-    },
-    "aws-sign2": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true
-    },
-    "aws4": {
-      "version": "1.11.0",
-      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
-      "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
-      "dev": true
-    },
-    "babel-code-frame": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
-      "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
-      "dev": true,
-      "requires": {
-        "chalk": "^1.1.3",
-        "esutils": "^2.0.2",
-        "js-tokens": "^3.0.2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "js-tokens": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-          "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
-        }
-      }
-    },
-    "babel-generator": {
-      "version": "6.26.1",
-      "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
-      "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
-      "dev": true,
-      "requires": {
-        "babel-messages": "^6.23.0",
-        "babel-runtime": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "detect-indent": "^4.0.0",
-        "jsesc": "^1.3.0",
-        "lodash": "^4.17.4",
-        "source-map": "^0.5.7",
-        "trim-right": "^1.0.1"
-      },
-      "dependencies": {
-        "detect-indent": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
-          "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
-          "dev": true,
-          "requires": {
-            "repeating": "^2.0.0"
-          }
-        },
-        "jsesc": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
-          "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
-          "dev": true
-        },
-        "repeating": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
-          "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
-          "dev": true,
-          "requires": {
-            "is-finite": "^1.0.0"
-          }
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "babel-loader": {
-      "version": "8.2.5",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
-      "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
-      "dev": true,
-      "requires": {
-        "find-cache-dir": "^3.3.1",
-        "loader-utils": "^2.0.0",
-        "make-dir": "^3.1.0",
-        "schema-utils": "^2.6.5"
-      }
-    },
-    "babel-messages": {
-      "version": "6.23.0",
-      "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
-      "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-dynamic-import-node": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
-      "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
-      "dev": true,
-      "requires": {
-        "object.assign": "^4.1.0"
-      }
-    },
-    "babel-plugin-polyfill-corejs2": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
-      "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.13.11",
-        "@babel/helper-define-polyfill-provider": "^0.3.1",
-        "semver": "^6.1.1"
-      }
-    },
-    "babel-plugin-polyfill-corejs3": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
-      "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-define-polyfill-provider": "^0.3.1",
-        "core-js-compat": "^3.21.0"
-      }
-    },
-    "babel-plugin-polyfill-regenerator": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
-      "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-define-polyfill-provider": "^0.3.1"
-      }
-    },
-    "babel-runtime": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
-      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "dev": true,
-      "requires": {
-        "core-js": "^2.4.0",
-        "regenerator-runtime": "^0.11.0"
-      },
-      "dependencies": {
-        "regenerator-runtime": {
-          "version": "0.11.1",
-          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-          "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
-          "dev": true
-        }
-      }
-    },
-    "babel-template": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
-      "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "babel-traverse": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "babylon": "^6.18.0",
-        "lodash": "^4.17.4"
-      }
-    },
-    "babel-traverse": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
-      "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
-      "dev": true,
-      "requires": {
-        "babel-code-frame": "^6.26.0",
-        "babel-messages": "^6.23.0",
-        "babel-runtime": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "babylon": "^6.18.0",
-        "debug": "^2.6.8",
-        "globals": "^9.18.0",
-        "invariant": "^2.2.2",
-        "lodash": "^4.17.4"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "globals": {
-          "version": "9.18.0",
-          "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
-          "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "babel-types": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
-      "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "esutils": "^2.0.2",
-        "lodash": "^4.17.4",
-        "to-fast-properties": "^1.0.3"
-      },
-      "dependencies": {
-        "to-fast-properties": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
-          "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
-          "dev": true
-        }
-      }
-    },
-    "babylon": {
-      "version": "6.18.0",
-      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
-      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
-      "dev": true
-    },
-    "balanced-match": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
-      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
-      "dev": true
-    },
-    "base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "requires": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
-      "dev": true
-    },
-    "base64id": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
-      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
-      "dev": true
-    },
-    "bcrypt-pbkdf": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
-      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "dev": true,
-      "requires": {
-        "tweetnacl": "^0.14.3"
-      }
-    },
-    "big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
-      "dev": true
-    },
-    "bin-check": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz",
-      "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==",
-      "dev": true,
-      "requires": {
-        "execa": "^0.7.0",
-        "executable": "^4.1.0"
-      }
-    },
-    "bin-version": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz",
-      "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==",
-      "dev": true,
-      "requires": {
-        "execa": "^1.0.0",
-        "find-versions": "^3.0.0"
-      },
-      "dependencies": {
-        "cross-spawn": {
-          "version": "6.0.5",
-          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-          "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-          "dev": true,
-          "requires": {
-            "nice-try": "^1.0.4",
-            "path-key": "^2.0.1",
-            "semver": "^5.5.0",
-            "shebang-command": "^1.2.0",
-            "which": "^1.2.9"
-          }
-        },
-        "execa": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
-          "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
-          "dev": true,
-          "requires": {
-            "cross-spawn": "^6.0.0",
-            "get-stream": "^4.0.0",
-            "is-stream": "^1.1.0",
-            "npm-run-path": "^2.0.0",
-            "p-finally": "^1.0.0",
-            "signal-exit": "^3.0.0",
-            "strip-eof": "^1.0.0"
-          }
-        },
-        "get-stream": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
-          "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-          "dev": true,
-          "requires": {
-            "pump": "^3.0.0"
-          }
-        },
-        "is-stream": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-          "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-          "dev": true
-        },
-        "path-key": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-          "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-          "dev": true
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        },
-        "shebang-command": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-          "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-          "dev": true,
-          "requires": {
-            "shebang-regex": "^1.0.0"
-          }
-        },
-        "shebang-regex": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-          "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-          "dev": true
-        },
-        "which": {
-          "version": "1.3.1",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "bin-version-check": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz",
-      "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==",
-      "dev": true,
-      "requires": {
-        "bin-version": "^3.0.0",
-        "semver": "^5.6.0",
-        "semver-truncate": "^1.1.2"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "bin-wrapper": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz",
-      "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==",
-      "dev": true,
-      "requires": {
-        "bin-check": "^4.1.0",
-        "bin-version-check": "^4.0.0",
-        "download": "^7.1.0",
-        "import-lazy": "^3.1.0",
-        "os-filter-obj": "^2.0.0",
-        "pify": "^4.0.1"
-      }
-    },
-    "binary-extensions": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
-      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
-      "dev": true
-    },
-    "bindings": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
-      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "file-uri-to-path": "1.0.0"
-      }
-    },
-    "bl": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz",
-      "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==",
-      "dev": true,
-      "requires": {
-        "readable-stream": "^2.3.5",
-        "safe-buffer": "^5.1.1"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "bluebird": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
-      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
-      "dev": true
-    },
-    "bn.js": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
-      "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
-      "dev": true
-    },
-    "body-parser": {
-      "version": "1.20.0",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
-      "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.2",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "2.0.0",
-        "destroy": "1.2.0",
-        "http-errors": "2.0.0",
-        "iconv-lite": "0.4.24",
-        "on-finished": "2.4.1",
-        "qs": "6.10.3",
-        "raw-body": "2.5.1",
-        "type-is": "~1.6.18",
-        "unpipe": "1.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "boolean": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
-      "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
-      "dev": true
-    },
-    "brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "braces": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "dev": true,
-      "requires": {
-        "fill-range": "^7.0.1"
-      }
-    },
-    "brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
-    },
-    "browser-pack": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
-      "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
-      "dev": true,
-      "requires": {
-        "combine-source-map": "~0.8.0",
-        "defined": "^1.0.0",
-        "JSONStream": "^1.0.3",
-        "safe-buffer": "^5.1.1",
-        "through2": "^2.0.0",
-        "umd": "^3.0.0"
-      }
-    },
-    "browser-resolve": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
-      "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
-      "dev": true,
-      "requires": {
-        "resolve": "^1.17.0"
-      }
-    },
-    "browser-stdout": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
-      "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
-      "dev": true
-    },
-    "browserify": {
-      "version": "16.5.2",
-      "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.2.tgz",
-      "integrity": "sha512-TkOR1cQGdmXU9zW4YukWzWVSJwrxmNdADFbqbE3HFgQWe5wqZmOawqZ7J/8MPCwk/W8yY7Y0h+7mOtcZxLP23g==",
-      "dev": true,
-      "requires": {
-        "assert": "^1.4.0",
-        "browser-pack": "^6.0.1",
-        "browser-resolve": "^2.0.0",
-        "browserify-zlib": "~0.2.0",
-        "buffer": "~5.2.1",
-        "cached-path-relative": "^1.0.0",
-        "concat-stream": "^1.6.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "~1.0.0",
-        "crypto-browserify": "^3.0.0",
-        "defined": "^1.0.0",
-        "deps-sort": "^2.0.0",
-        "domain-browser": "^1.2.0",
-        "duplexer2": "~0.1.2",
-        "events": "^2.0.0",
-        "glob": "^7.1.0",
-        "has": "^1.0.0",
-        "htmlescape": "^1.1.0",
-        "https-browserify": "^1.0.0",
-        "inherits": "~2.0.1",
-        "insert-module-globals": "^7.0.0",
-        "JSONStream": "^1.0.3",
-        "labeled-stream-splicer": "^2.0.0",
-        "mkdirp-classic": "^0.5.2",
-        "module-deps": "^6.2.3",
-        "os-browserify": "~0.3.0",
-        "parents": "^1.0.1",
-        "path-browserify": "~0.0.0",
-        "process": "~0.11.0",
-        "punycode": "^1.3.2",
-        "querystring-es3": "~0.2.0",
-        "read-only-stream": "^2.0.0",
-        "readable-stream": "^2.0.2",
-        "resolve": "^1.1.4",
-        "shasum": "^1.0.0",
-        "shell-quote": "^1.6.1",
-        "stream-browserify": "^2.0.0",
-        "stream-http": "^3.0.0",
-        "string_decoder": "^1.1.1",
-        "subarg": "^1.0.0",
-        "syntax-error": "^1.1.1",
-        "through2": "^2.0.0",
-        "timers-browserify": "^1.0.1",
-        "tty-browserify": "0.0.1",
-        "url": "~0.11.0",
-        "util": "~0.10.1",
-        "vm-browserify": "^1.0.0",
-        "xtend": "^4.0.0"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "requires": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "browserify-banner": {
-      "version": "1.0.17",
-      "resolved": "https://registry.npmjs.org/browserify-banner/-/browserify-banner-1.0.17.tgz",
-      "integrity": "sha512-LCRbaCpeQ/5/2zjWfduk+of3PRzDrf3BfayWRN/8+ME6N26C2dlqZxi+l9zTcZVVbjiBUqkEAWnTK+61OEX+CA==",
-      "dev": true,
-      "requires": {
-        "convert-source-map": "^1.7.0",
-        "lodash": "^4.17.15",
-        "moment": "^2.24.0",
-        "offset-sourcemap-lines": "^1.0.1",
-        "ono": "^6.0.0",
-        "through2": "^3.0.1"
-      },
-      "dependencies": {
-        "through2": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
-          "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
-          "dev": true,
-          "requires": {
-            "inherits": "^2.0.4",
-            "readable-stream": "2 || 3"
-          }
-        }
-      }
-    },
-    "browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "requires": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "browserify-istanbul": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-istanbul/-/browserify-istanbul-3.0.1.tgz",
-      "integrity": "sha1-Gi3WPAyBoSORqApGb775F+sS3gc=",
-      "dev": true,
-      "requires": {
-        "istanbul-lib-instrument": "^1.8.0",
-        "minimatch": "^3.0.4",
-        "object-assign": "^4.1.1",
-        "through": "^2.3.8"
-      },
-      "dependencies": {
-        "istanbul-lib-coverage": {
-          "version": "1.2.1",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz",
-          "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==",
-          "dev": true
-        },
-        "istanbul-lib-instrument": {
-          "version": "1.10.2",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz",
-          "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==",
-          "dev": true,
-          "requires": {
-            "babel-generator": "^6.18.0",
-            "babel-template": "^6.16.0",
-            "babel-traverse": "^6.18.0",
-            "babel-types": "^6.18.0",
-            "babylon": "^6.18.0",
-            "istanbul-lib-coverage": "^1.2.1",
-            "semver": "^5.3.0"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "browserify-rsa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
-      "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^5.0.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "browserify-sign": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
-      "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^5.1.1",
-        "browserify-rsa": "^4.0.1",
-        "create-hash": "^1.2.0",
-        "create-hmac": "^1.1.7",
-        "elliptic": "^6.5.3",
-        "inherits": "^2.0.4",
-        "parse-asn1": "^5.1.5",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      },
-      "dependencies": {
-        "safe-buffer": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-          "dev": true
-        }
-      }
-    },
-    "browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "requires": {
-        "pako": "~1.0.5"
-      }
-    },
-    "browserslist": {
-      "version": "4.20.3",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
-      "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
-      "dev": true,
-      "requires": {
-        "caniuse-lite": "^1.0.30001332",
-        "electron-to-chromium": "^1.4.118",
-        "escalade": "^3.1.1",
-        "node-releases": "^2.0.3",
-        "picocolors": "^1.0.0"
-      }
-    },
-    "buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
-      "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
-      "dev": true,
-      "requires": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4"
-      }
-    },
-    "buffer-alloc": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
-      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
-      "dev": true,
-      "requires": {
-        "buffer-alloc-unsafe": "^1.1.0",
-        "buffer-fill": "^1.0.0"
-      }
-    },
-    "buffer-alloc-unsafe": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
-      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
-      "dev": true
-    },
-    "buffer-crc32": {
-      "version": "0.2.13",
-      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
-      "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
-      "dev": true
-    },
-    "buffer-fill": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
-      "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
-      "dev": true
-    },
-    "buffer-from": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
-      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
-      "dev": true
-    },
-    "buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
-    },
-    "buffered-spawn": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/buffered-spawn/-/buffered-spawn-1.1.2.tgz",
-      "integrity": "sha1-Ia2XNd+/ZXZ0W+DXSiPvJXvzxY0=",
-      "dev": true,
-      "requires": {
-        "cross-spawn-async": "^1.0.1",
-        "err-code": "^0.1.0",
-        "q": "^1.0.1"
-      }
-    },
-    "builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
-    },
-    "bytes": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
-      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
-      "dev": true
-    },
-    "cacache": {
-      "version": "15.3.0",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
-      "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
-      "dev": true,
-      "requires": {
-        "@npmcli/fs": "^1.0.0",
-        "@npmcli/move-file": "^1.0.1",
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "glob": "^7.1.4",
-        "infer-owner": "^1.0.4",
-        "lru-cache": "^6.0.0",
-        "minipass": "^3.1.1",
-        "minipass-collect": "^1.0.2",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.2",
-        "mkdirp": "^1.0.3",
-        "p-map": "^4.0.0",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^3.0.2",
-        "ssri": "^8.0.1",
-        "tar": "^6.0.2",
-        "unique-filename": "^1.1.1"
-      },
-      "dependencies": {
-        "mkdirp": {
-          "version": "1.0.4",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-          "dev": true
-        }
-      }
-    },
-    "cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "requires": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      }
-    },
-    "cacheable-lookup": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
-      "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
-      "dev": true
-    },
-    "cacheable-request": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz",
-      "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=",
-      "dev": true,
-      "requires": {
-        "clone-response": "1.0.2",
-        "get-stream": "3.0.0",
-        "http-cache-semantics": "3.8.1",
-        "keyv": "3.0.0",
-        "lowercase-keys": "1.0.0",
-        "normalize-url": "2.0.1",
-        "responselike": "1.0.2"
-      },
-      "dependencies": {
-        "http-cache-semantics": {
-          "version": "3.8.1",
-          "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
-          "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
-          "dev": true
-        },
-        "lowercase-keys": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
-          "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
-          "dev": true
-        }
-      }
-    },
-    "cached-path-relative": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
-      "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==",
-      "dev": true
-    },
-    "caching-transform": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
-      "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
-      "dev": true,
-      "requires": {
-        "hasha": "^5.0.0",
-        "make-dir": "^3.0.0",
-        "package-hash": "^4.0.0",
-        "write-file-atomic": "^3.0.0"
-      }
-    },
-    "call-bind": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
-      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.2"
-      }
-    },
-    "call-me-maybe": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
-      "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
-    },
-    "callsites": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
-      "dev": true
-    },
-    "camel-case": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
-      "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
-      "dev": true,
-      "requires": {
-        "pascal-case": "^3.1.2",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true
-    },
-    "camelcase-keys": {
-      "version": "6.2.2",
-      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
-      "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^5.3.1",
-        "map-obj": "^4.0.0",
-        "quick-lru": "^4.0.1"
-      }
-    },
-    "caniuse-lite": {
-      "version": "1.0.30001340",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001340.tgz",
-      "integrity": "sha512-jUNz+a9blQTQVu4uFcn17uAD8IDizPzQkIKh3LCJfg9BkyIqExYYdyc/ZSlWUSKb8iYiXxKsxbv4zYSvkqjrxw==",
-      "dev": true
-    },
-    "capital-case": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz",
-      "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==",
-      "dev": true,
-      "requires": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3",
-        "upper-case-first": "^2.0.2"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "capture-stack-trace": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
-      "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
-      "dev": true
-    },
-    "caseless": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
-      "dev": true
-    },
-    "caw": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz",
-      "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==",
-      "dev": true,
-      "requires": {
-        "get-proxy": "^2.0.0",
-        "isurl": "^1.0.0-alpha5",
-        "tunnel-agent": "^0.6.0",
-        "url-to-options": "^1.0.1"
-      }
-    },
-    "chai": {
-      "version": "4.3.6",
-      "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz",
-      "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==",
-      "dev": true,
-      "requires": {
-        "assertion-error": "^1.1.0",
-        "check-error": "^1.0.2",
-        "deep-eql": "^3.0.1",
-        "get-func-name": "^2.0.0",
-        "loupe": "^2.3.1",
-        "pathval": "^1.1.1",
-        "type-detect": "^4.0.5"
-      }
-    },
-    "chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      }
-    },
-    "change-case": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
-      "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==",
-      "dev": true,
-      "requires": {
-        "camel-case": "^4.1.2",
-        "capital-case": "^1.0.4",
-        "constant-case": "^3.0.4",
-        "dot-case": "^3.0.4",
-        "header-case": "^2.0.4",
-        "no-case": "^3.0.4",
-        "param-case": "^3.0.4",
-        "pascal-case": "^3.1.2",
-        "path-case": "^3.0.4",
-        "sentence-case": "^3.0.4",
-        "snake-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "chardet": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
-      "dev": true
-    },
-    "check-error": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
-      "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
-      "dev": true
-    },
-    "chokidar": {
-      "version": "3.5.3",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
-      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
-      "dev": true,
-      "requires": {
-        "anymatch": "~3.1.2",
-        "braces": "~3.0.2",
-        "fsevents": "~2.3.2",
-        "glob-parent": "~5.1.2",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.6.0"
-      }
-    },
-    "chownr": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
-      "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
-      "dev": true
-    },
-    "chrome-launcher": {
-      "version": "0.13.4",
-      "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.13.4.tgz",
-      "integrity": "sha512-nnzXiDbGKjDSK6t2I+35OAPBy5Pw/39bgkb/ZAFwMhwJbdYBp6aH+vW28ZgtjdU890Q7D+3wN/tB8N66q5Gi2A==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*",
-        "escape-string-regexp": "^1.0.5",
-        "is-wsl": "^2.2.0",
-        "lighthouse-logger": "^1.0.0",
-        "mkdirp": "^0.5.3",
-        "rimraf": "^3.0.2"
-      }
-    },
-    "chrome-trace-event": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
-      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
-      "dev": true
-    },
-    "cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      }
-    },
-    "clean-stack": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
-      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
-      "dev": true
-    },
-    "cli-cursor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
-      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
-      "dev": true,
-      "requires": {
-        "restore-cursor": "^3.1.0"
-      }
-    },
-    "cli-width": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
-      "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
-      "dev": true
-    },
-    "cliui": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
-      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
-      "dev": true,
-      "requires": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0",
-        "wrap-ansi": "^7.0.0"
-      }
-    },
-    "clone-deep": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
-      "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
-      "dev": true,
-      "requires": {
-        "is-plain-object": "^2.0.4",
-        "kind-of": "^6.0.2",
-        "shallow-clone": "^3.0.0"
-      }
-    },
-    "clone-response": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
-      "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
-      "dev": true,
-      "requires": {
-        "mimic-response": "^1.0.0"
-      }
-    },
-    "code-point-at": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-      "dev": true
-    },
-    "collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
-      "requires": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      }
-    },
-    "color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
-      "requires": {
-        "color-name": "1.1.3"
-      }
-    },
-    "color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
-    },
-    "color-support": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
-      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
-      "dev": true
-    },
-    "colors": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
-      "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
-      "dev": true
-    },
-    "combine-source-map": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
-      "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
-      "dev": true,
-      "requires": {
-        "convert-source-map": "~1.1.0",
-        "inline-source-map": "~0.6.0",
-        "lodash.memoize": "~3.0.3",
-        "source-map": "~0.5.3"
-      },
-      "dependencies": {
-        "convert-source-map": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
-          "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "combined-stream": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
-      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-      "dev": true,
-      "requires": {
-        "delayed-stream": "~1.0.0"
-      }
-    },
-    "command-line-args": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
-      "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
-      "dev": true,
-      "requires": {
-        "array-back": "^3.1.0",
-        "find-replace": "^3.0.0",
-        "lodash.camelcase": "^4.3.0",
-        "typical": "^4.0.0"
-      }
-    },
-    "commander": {
-      "version": "2.20.3",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "dev": true
-    },
-    "comment-parser": {
-      "version": "0.7.6",
-      "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz",
-      "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==",
-      "dev": true
-    },
-    "commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
-    },
-    "component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
-      "dev": true
-    },
-    "compress-brotli": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz",
-      "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==",
-      "dev": true,
-      "requires": {
-        "@types/json-buffer": "~3.0.0",
-        "json-buffer": "~3.0.1"
-      },
-      "dependencies": {
-        "json-buffer": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
-          "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
-          "dev": true
-        }
-      }
-    },
-    "compress-commons": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
-      "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
-      "dev": true,
-      "requires": {
-        "buffer-crc32": "^0.2.13",
-        "crc32-stream": "^4.0.2",
-        "normalize-path": "^3.0.0",
-        "readable-stream": "^3.6.0"
-      }
-    },
-    "concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
-    },
-    "concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "config-chain": {
-      "version": "1.1.13",
-      "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
-      "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
-      "dev": true,
-      "requires": {
-        "ini": "^1.3.4",
-        "proto-list": "~1.2.1"
-      }
-    },
-    "configstore": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/configstore/-/configstore-1.4.0.tgz",
-      "integrity": "sha1-w1eB0FAdJowlxUuLF/YkDopPsCE=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "mkdirp": "^0.5.0",
-        "object-assign": "^4.0.1",
-        "os-tmpdir": "^1.0.0",
-        "osenv": "^0.1.0",
-        "uuid": "^2.0.1",
-        "write-file-atomic": "^1.1.2",
-        "xdg-basedir": "^2.0.0"
-      },
-      "dependencies": {
-        "uuid": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
-          "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
-          "dev": true
-        },
-        "write-file-atomic": {
-          "version": "1.3.4",
-          "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz",
-          "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "imurmurhash": "^0.1.4",
-            "slide": "^1.1.5"
-          }
-        }
-      }
-    },
-    "connect": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
-      "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "finalhandler": "1.1.2",
-        "parseurl": "~1.3.3",
-        "utils-merge": "1.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "console-browserify": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
-      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
-      "dev": true
-    },
-    "console-control-strings": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
-      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
-      "dev": true
-    },
-    "constant-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
-      "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==",
-      "dev": true,
-      "requires": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3",
-        "upper-case": "^2.0.2"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
-    },
-    "content-disposition": {
-      "version": "0.5.4",
-      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
-      "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "5.2.1"
-      },
-      "dependencies": {
-        "safe-buffer": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-          "dev": true
-        }
-      }
-    },
-    "content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
-      "dev": true
-    },
-    "convert-source-map": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
-      "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "cookie": {
-      "version": "0.4.2",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
-      "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
-      "dev": true
-    },
-    "copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      },
-      "dependencies": {
-        "aproba": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-          "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-          "dev": true
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
-      }
-    },
-    "copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
-    },
-    "core-js": {
-      "version": "2.6.12",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
-      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
-      "dev": true
-    },
-    "core-js-compat": {
-      "version": "3.22.5",
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.5.tgz",
-      "integrity": "sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.20.3",
-        "semver": "7.0.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
-          "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
-          "dev": true
-        }
-      }
-    },
-    "core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
-    },
-    "cors": {
-      "version": "2.8.5",
-      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
-      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4",
-        "vary": "^1"
-      }
-    },
-    "crc-32": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
-      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
-      "dev": true
-    },
-    "crc32-stream": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
-      "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
-      "dev": true,
-      "requires": {
-        "crc-32": "^1.2.0",
-        "readable-stream": "^3.4.0"
-      }
-    },
-    "create-ecdh": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
-      "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.5.3"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "create-error-class": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
-      "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
-      "dev": true,
-      "requires": {
-        "capture-stack-trace": "^1.0.0"
-      }
-    },
-    "create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "cross-spawn": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
-      "dev": true,
-      "requires": {
-        "path-key": "^3.1.0",
-        "shebang-command": "^2.0.0",
-        "which": "^2.0.1"
-      }
-    },
-    "cross-spawn-async": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-1.0.1.tgz",
-      "integrity": "sha1-u1JcHkINmUJVLgR5Gj6y2Yh6EF8=",
-      "dev": true,
-      "requires": {
-        "lru-cache": "^2.6.5",
-        "which": "^1.1.1"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "2.7.3",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
-          "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
-          "dev": true
-        },
-        "which": {
-          "version": "1.3.1",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
-      "requires": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      }
-    },
-    "css-shorthand-properties": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/css-shorthand-properties/-/css-shorthand-properties-1.1.1.tgz",
-      "integrity": "sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==",
-      "dev": true
-    },
-    "css-value": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
-      "integrity": "sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo=",
-      "dev": true
-    },
-    "custom-event": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
-      "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
-      "dev": true
-    },
-    "cyclist": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
-      "dev": true
-    },
-    "dash-ast": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
-      "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==",
-      "dev": true
-    },
-    "dashdash": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
-      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "date-format": {
-      "version": "4.0.9",
-      "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.9.tgz",
-      "integrity": "sha512-+8J+BOUpSrlKLQLeF8xJJVTxS8QfRSuJgwxSVvslzgO3E6khbI0F5mMEPf5mTYhCCm4h99knYP6H3W9n3BQFrg==",
-      "dev": true
-    },
-    "debug": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
-      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
-      "dev": true,
-      "requires": {
-        "ms": "2.1.2"
-      }
-    },
-    "decamelize": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-      "dev": true
-    },
-    "decamelize-keys": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
-      "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
-      "dev": true,
-      "requires": {
-        "decamelize": "^1.1.0",
-        "map-obj": "^1.0.0"
-      },
-      "dependencies": {
-        "map-obj": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
-          "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
-          "dev": true
-        }
-      }
-    },
-    "decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
-    },
-    "decompress": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz",
-      "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==",
-      "dev": true,
-      "requires": {
-        "decompress-tar": "^4.0.0",
-        "decompress-tarbz2": "^4.0.0",
-        "decompress-targz": "^4.0.0",
-        "decompress-unzip": "^4.0.1",
-        "graceful-fs": "^4.1.10",
-        "make-dir": "^1.0.0",
-        "pify": "^2.3.0",
-        "strip-dirs": "^2.0.0"
-      },
-      "dependencies": {
-        "make-dir": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
-          "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
-          "dev": true,
-          "requires": {
-            "pify": "^3.0.0"
-          },
-          "dependencies": {
-            "pify": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-              "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-              "dev": true
-            }
-          }
-        },
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "decompress-response": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
-      "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
-      "dev": true,
-      "requires": {
-        "mimic-response": "^1.0.0"
-      }
-    },
-    "decompress-tar": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz",
-      "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
-      "dev": true,
-      "requires": {
-        "file-type": "^5.2.0",
-        "is-stream": "^1.1.0",
-        "tar-stream": "^1.5.2"
-      },
-      "dependencies": {
-        "file-type": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
-          "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
-          "dev": true
-        },
-        "is-stream": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-          "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-          "dev": true
-        }
-      }
-    },
-    "decompress-tarbz2": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
-      "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==",
-      "dev": true,
-      "requires": {
-        "decompress-tar": "^4.1.0",
-        "file-type": "^6.1.0",
-        "is-stream": "^1.1.0",
-        "seek-bzip": "^1.0.5",
-        "unbzip2-stream": "^1.0.9"
-      },
-      "dependencies": {
-        "file-type": {
-          "version": "6.2.0",
-          "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz",
-          "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==",
-          "dev": true
-        },
-        "is-stream": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-          "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-          "dev": true
-        }
-      }
-    },
-    "decompress-targz": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz",
-      "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
-      "dev": true,
-      "requires": {
-        "decompress-tar": "^4.1.1",
-        "file-type": "^5.2.0",
-        "is-stream": "^1.1.0"
-      },
-      "dependencies": {
-        "file-type": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
-          "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
-          "dev": true
-        },
-        "is-stream": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-          "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-          "dev": true
-        }
-      }
-    },
-    "decompress-unzip": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
-      "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=",
-      "dev": true,
-      "requires": {
-        "file-type": "^3.8.0",
-        "get-stream": "^2.2.0",
-        "pify": "^2.3.0",
-        "yauzl": "^2.4.2"
-      },
-      "dependencies": {
-        "file-type": {
-          "version": "3.9.0",
-          "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
-          "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
-          "dev": true
-        },
-        "get-stream": {
-          "version": "2.3.1",
-          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
-          "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=",
-          "dev": true,
-          "requires": {
-            "object-assign": "^4.0.1",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "deep-eql": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
-      "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
-      "dev": true,
-      "requires": {
-        "type-detect": "^4.0.0"
-      }
-    },
-    "deep-extend": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
-      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
-      "dev": true
-    },
-    "deep-is": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
-      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
-      "dev": true
-    },
-    "deepmerge": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
-      "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
-      "dev": true
-    },
-    "default-require-extensions": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
-      "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
-      "dev": true,
-      "requires": {
-        "strip-bom": "^4.0.0"
-      }
-    },
-    "defer-to-connect": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
-      "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
-      "dev": true
-    },
-    "define-properties": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
-      "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
-      "dev": true,
-      "requires": {
-        "has-property-descriptors": "^1.0.0",
-        "object-keys": "^1.1.1"
-      }
-    },
-    "define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "requires": {
-        "is-descriptor": "^0.1.0"
-      }
-    },
-    "defined": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
-      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
-      "dev": true
-    },
-    "delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "dev": true
-    },
-    "delegates": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
-      "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
-      "dev": true
-    },
-    "depcheck": {
-      "version": "0.5.11",
-      "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.5.11.tgz",
-      "integrity": "sha1-ZCeduj5RcWyoX1MYthDnPiNB8PE=",
-      "dev": true,
-      "requires": {
-        "babylon": "^6.1.21",
-        "deps-regex": "^0.1.4",
-        "js-yaml": "^3.4.2",
-        "minimatch": "^3.0.0",
-        "require-package-name": "^2.0.1",
-        "walkdir": "0.0.11",
-        "yargs": "^3.26.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "camelcase": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
-          "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
-          "dev": true
-        },
-        "cliui": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
-          "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
-          "dev": true,
-          "requires": {
-            "string-width": "^1.0.1",
-            "strip-ansi": "^3.0.1",
-            "wrap-ansi": "^2.0.0"
-          }
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-          "dev": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "wrap-ansi": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
-          "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
-          "dev": true,
-          "requires": {
-            "string-width": "^1.0.1",
-            "strip-ansi": "^3.0.1"
-          }
-        },
-        "y18n": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz",
-          "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==",
-          "dev": true
-        },
-        "yargs": {
-          "version": "3.32.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
-          "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^2.0.1",
-            "cliui": "^3.0.3",
-            "decamelize": "^1.1.1",
-            "os-locale": "^1.4.0",
-            "string-width": "^1.0.1",
-            "window-size": "^0.1.4",
-            "y18n": "^3.2.0"
-          }
-        }
-      }
-    },
-    "depd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
-      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
-      "dev": true
-    },
-    "deps-regex": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz",
-      "integrity": "sha1-UYZnt2kUYKXn4KNBvnbrfOgJAYQ=",
-      "dev": true
-    },
-    "deps-sort": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz",
-      "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==",
-      "dev": true,
-      "requires": {
-        "JSONStream": "^1.0.3",
-        "shasum-object": "^1.0.0",
-        "subarg": "^1.0.0",
-        "through2": "^2.0.0"
-      }
-    },
-    "des.js": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
-      "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "destroy": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
-      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
-      "dev": true
-    },
-    "detect-indent": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
-      "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
-      "dev": true
-    },
-    "detect-newline": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
-      "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
-      "dev": true
-    },
-    "detect-node": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
-      "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
-      "dev": true
-    },
-    "detective": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
-      "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
-      "dev": true,
-      "requires": {
-        "acorn-node": "^1.6.1",
-        "defined": "^1.0.0",
-        "minimist": "^1.1.1"
-      }
-    },
-    "devtools": {
-      "version": "6.12.1",
-      "resolved": "https://registry.npmjs.org/devtools/-/devtools-6.12.1.tgz",
-      "integrity": "sha512-JyG46suEiZmld7/UVeogkCWM0zYGt+2ML/TI+SkEp+bTv9cs46cDb0pKF3glYZJA7wVVL2gC07Ic0iCxyJEnCQ==",
-      "dev": true,
-      "requires": {
-        "@wdio/config": "6.12.1",
-        "@wdio/logger": "6.10.10",
-        "@wdio/protocols": "6.12.0",
-        "@wdio/utils": "6.11.0",
-        "chrome-launcher": "^0.13.1",
-        "edge-paths": "^2.1.0",
-        "puppeteer-core": "^5.1.0",
-        "ua-parser-js": "^0.7.21",
-        "uuid": "^8.0.0"
-      },
-      "dependencies": {
-        "uuid": {
-          "version": "8.3.2",
-          "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
-          "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
-          "dev": true
-        }
-      }
-    },
-    "devtools-protocol": {
-      "version": "0.0.818844",
-      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz",
-      "integrity": "sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==",
-      "dev": true
-    },
-    "di": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
-      "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
-      "dev": true
-    },
-    "diff": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
-      "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
-      "dev": true
-    },
-    "diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "dir-glob": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
-      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
-      "dev": true,
-      "requires": {
-        "path-type": "^4.0.0"
-      }
-    },
-    "doctrine": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
-      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
-      "dev": true,
-      "requires": {
-        "esutils": "^2.0.2"
-      }
-    },
-    "dom-serialize": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
-      "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
-      "dev": true,
-      "requires": {
-        "custom-event": "~1.0.0",
-        "ent": "~2.2.0",
-        "extend": "^3.0.0",
-        "void-elements": "^2.0.0"
-      }
-    },
-    "domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true
-    },
-    "dot-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
-      "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
-      "dev": true,
-      "requires": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "download": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz",
-      "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==",
-      "dev": true,
-      "requires": {
-        "archive-type": "^4.0.0",
-        "caw": "^2.0.1",
-        "content-disposition": "^0.5.2",
-        "decompress": "^4.2.0",
-        "ext-name": "^5.0.0",
-        "file-type": "^8.1.0",
-        "filenamify": "^2.0.0",
-        "get-stream": "^3.0.0",
-        "got": "^8.3.1",
-        "make-dir": "^1.2.0",
-        "p-event": "^2.1.0",
-        "pify": "^3.0.0"
-      },
-      "dependencies": {
-        "got": {
-          "version": "8.3.2",
-          "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz",
-          "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==",
-          "dev": true,
-          "requires": {
-            "@sindresorhus/is": "^0.7.0",
-            "cacheable-request": "^2.1.1",
-            "decompress-response": "^3.3.0",
-            "duplexer3": "^0.1.4",
-            "get-stream": "^3.0.0",
-            "into-stream": "^3.1.0",
-            "is-retry-allowed": "^1.1.0",
-            "isurl": "^1.0.0-alpha5",
-            "lowercase-keys": "^1.0.0",
-            "mimic-response": "^1.0.0",
-            "p-cancelable": "^0.4.0",
-            "p-timeout": "^2.0.1",
-            "pify": "^3.0.0",
-            "safe-buffer": "^5.1.1",
-            "timed-out": "^4.0.1",
-            "url-parse-lax": "^3.0.0",
-            "url-to-options": "^1.0.1"
-          }
-        },
-        "make-dir": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
-          "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
-          "dev": true,
-          "requires": {
-            "pify": "^3.0.0"
-          }
-        },
-        "pify": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-          "dev": true
-        },
-        "prepend-http": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
-          "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
-          "dev": true
-        },
-        "timed-out": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
-          "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
-          "dev": true
-        },
-        "url-parse-lax": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
-          "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
-          "dev": true,
-          "requires": {
-            "prepend-http": "^2.0.0"
-          }
-        }
-      }
-    },
-    "duplexer2": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
-      "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
-      "dev": true,
-      "requires": {
-        "readable-stream": "^2.0.2"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "duplexer3": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
-      "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
-      "dev": true
-    },
-    "duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "ecc-jsbn": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
-      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "dev": true,
-      "requires": {
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "edge-launcher": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/edge-launcher/-/edge-launcher-1.2.2.tgz",
-      "integrity": "sha1-60Cq+9Bnpup27/+rBke81VCbN7I=",
-      "dev": true
-    },
-    "edge-paths": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/edge-paths/-/edge-paths-2.2.1.tgz",
-      "integrity": "sha512-AI5fC7dfDmCdKo3m5y7PkYE8m6bMqR6pvVpgtrZkkhcJXFLelUgkjrhk3kXXx8Kbw2cRaTT4LkOR7hqf39KJdw==",
-      "dev": true,
-      "requires": {
-        "@types/which": "^1.3.2",
-        "which": "^2.0.2"
-      }
-    },
-    "ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
-    },
-    "electron-to-chromium": {
-      "version": "1.4.137",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz",
-      "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==",
-      "dev": true
-    },
-    "elliptic": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
-      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.11.9",
-        "brorand": "^1.1.0",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.1",
-        "inherits": "^2.0.4",
-        "minimalistic-assert": "^1.0.1",
-        "minimalistic-crypto-utils": "^1.0.1"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "emoji-regex": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-      "dev": true
-    },
-    "emojis-list": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
-      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
-      "dev": true
-    },
-    "encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true
-    },
-    "encoding": {
-      "version": "0.1.13",
-      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
-      "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "iconv-lite": "^0.6.2"
-      },
-      "dependencies": {
-        "iconv-lite": {
-          "version": "0.6.3",
-          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
-          "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safer-buffer": ">= 2.1.2 < 3.0.0"
-          }
-        }
-      }
-    },
-    "end-of-stream": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
-      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
-      "dev": true,
-      "requires": {
-        "once": "^1.4.0"
-      }
-    },
-    "engine.io": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
-      "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
-      "dev": true,
-      "requires": {
-        "@types/cookie": "^0.4.1",
-        "@types/cors": "^2.8.12",
-        "@types/node": ">=10.0.0",
-        "accepts": "~1.3.4",
-        "base64id": "2.0.0",
-        "cookie": "~0.4.1",
-        "cors": "~2.8.5",
-        "debug": "~4.3.1",
-        "engine.io-parser": "~5.0.3",
-        "ws": "~8.2.3"
-      }
-    },
-    "engine.io-parser": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
-      "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
-      "dev": true
-    },
-    "enhanced-resolve": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
-      "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.5.0",
-        "tapable": "^1.0.0"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "memory-fs": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
-          "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
-          "dev": true,
-          "requires": {
-            "errno": "^0.1.3",
-            "readable-stream": "^2.0.1"
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "enquirer": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
-      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
-      "dev": true,
-      "requires": {
-        "ansi-colors": "^4.1.1"
-      }
-    },
-    "ent": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
-      "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
-      "dev": true
-    },
-    "env-paths": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
-      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
-      "dev": true
-    },
-    "err-code": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/err-code/-/err-code-0.1.2.tgz",
-      "integrity": "sha1-EiqSszQrmJnaArWsmU0w+V1HY+4=",
-      "dev": true
-    },
-    "errno": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
-      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
-      "dev": true,
-      "requires": {
-        "prr": "~1.0.1"
-      }
-    },
-    "error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "dev": true,
-      "requires": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "es6-error": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
-      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
-      "dev": true
-    },
-    "escalade": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
-      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
-      "dev": true
-    },
-    "escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
-      "dev": true
-    },
-    "escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
-    },
-    "eslint": {
-      "version": "7.32.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
-      "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "7.12.11",
-        "@eslint/eslintrc": "^0.4.3",
-        "@humanwhocodes/config-array": "^0.5.0",
-        "ajv": "^6.10.0",
-        "chalk": "^4.0.0",
-        "cross-spawn": "^7.0.2",
-        "debug": "^4.0.1",
-        "doctrine": "^3.0.0",
-        "enquirer": "^2.3.5",
-        "escape-string-regexp": "^4.0.0",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^2.1.0",
-        "eslint-visitor-keys": "^2.0.0",
-        "espree": "^7.3.1",
-        "esquery": "^1.4.0",
-        "esutils": "^2.0.2",
-        "fast-deep-equal": "^3.1.3",
-        "file-entry-cache": "^6.0.1",
-        "functional-red-black-tree": "^1.0.1",
-        "glob-parent": "^5.1.2",
-        "globals": "^13.6.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.0.0",
-        "imurmurhash": "^0.1.4",
-        "is-glob": "^4.0.0",
-        "js-yaml": "^3.13.1",
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "levn": "^0.4.1",
-        "lodash.merge": "^4.6.2",
-        "minimatch": "^3.0.4",
-        "natural-compare": "^1.4.0",
-        "optionator": "^0.9.1",
-        "progress": "^2.0.0",
-        "regexpp": "^3.1.0",
-        "semver": "^7.2.1",
-        "strip-ansi": "^6.0.0",
-        "strip-json-comments": "^3.1.0",
-        "table": "^6.0.9",
-        "text-table": "^0.2.0",
-        "v8-compile-cache": "^2.0.3"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.12.11",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
-          "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.10.4"
-          }
-        },
-        "ajv": {
-          "version": "6.12.6",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "escape-string-regexp": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-          "dev": true
-        },
-        "eslint-visitor-keys": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
-          "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
-          "dev": true
-        },
-        "globals": {
-          "version": "13.15.0",
-          "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
-          "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
-          "dev": true,
-          "requires": {
-            "type-fest": "^0.20.2"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "json-schema-traverse": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-          "dev": true
-        },
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.20.2",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-          "dev": true
-        }
-      }
-    },
-    "eslint-plugin-jsdoc": {
-      "version": "30.7.13",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.13.tgz",
-      "integrity": "sha512-YM4WIsmurrp0rHX6XiXQppqKB8Ne5ATiZLJe2+/fkp9l9ExXFr43BbAbjZaVrpCT+tuPYOZ8k1MICARHnURUNQ==",
-      "dev": true,
-      "requires": {
-        "comment-parser": "^0.7.6",
-        "debug": "^4.3.1",
-        "jsdoctypeparser": "^9.0.0",
-        "lodash": "^4.17.20",
-        "regextras": "^0.7.1",
-        "semver": "^7.3.4",
-        "spdx-expression-parse": "^3.0.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        }
-      }
-    },
-    "eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "requires": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      }
-    },
-    "eslint-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
-      "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
-      "dev": true,
-      "requires": {
-        "eslint-visitor-keys": "^1.1.0"
-      }
-    },
-    "eslint-visitor-keys": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-      "dev": true
-    },
-    "espree": {
-      "version": "7.3.1",
-      "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
-      "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
-      "dev": true,
-      "requires": {
-        "acorn": "^7.4.0",
-        "acorn-jsx": "^5.3.1",
-        "eslint-visitor-keys": "^1.3.0"
-      }
-    },
-    "esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
-    },
-    "esquery": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
-      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
-      "dev": true,
-      "requires": {
-        "estraverse": "^5.1.0"
-      },
-      "dependencies": {
-        "estraverse": {
-          "version": "5.3.0",
-          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
-          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
-          "dev": true
-        }
-      }
-    },
-    "esrecurse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
-      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-      "dev": true,
-      "requires": {
-        "estraverse": "^5.2.0"
-      },
-      "dependencies": {
-        "estraverse": {
-          "version": "5.3.0",
-          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
-          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
-          "dev": true
-        }
-      }
-    },
-    "estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true
-    },
-    "esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-      "dev": true
-    },
-    "eventemitter3": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
-      "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
-      "dev": true
-    },
-    "events": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz",
-      "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==",
-      "dev": true
-    },
-    "evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "requires": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "execa": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
-      "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^5.0.1",
-        "get-stream": "^3.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      },
-      "dependencies": {
-        "cross-spawn": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
-          "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^4.0.1",
-            "shebang-command": "^1.2.0",
-            "which": "^1.2.9"
-          }
-        },
-        "is-stream": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-          "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-          "dev": true
-        },
-        "lru-cache": {
-          "version": "4.1.5",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
-          "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
-          "dev": true,
-          "requires": {
-            "pseudomap": "^1.0.2",
-            "yallist": "^2.1.2"
-          }
-        },
-        "shebang-command": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-          "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-          "dev": true,
-          "requires": {
-            "shebang-regex": "^1.0.0"
-          }
-        },
-        "shebang-regex": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-          "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-          "dev": true
-        },
-        "which": {
-          "version": "1.3.1",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        },
-        "yallist": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
-          "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-          "dev": true
-        }
-      }
-    },
-    "executable": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
-      "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
-      "dev": true,
-      "requires": {
-        "pify": "^2.2.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "exit-hook": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
-      "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=",
-      "dev": true
-    },
-    "exorcist": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/exorcist/-/exorcist-1.0.1.tgz",
-      "integrity": "sha1-eTFuPEiFhFSQ97tAXA5bXbEWfFI=",
-      "dev": true,
-      "requires": {
-        "is-stream": "~1.1.0",
-        "minimist": "0.0.5",
-        "mkdirp": "~0.5.1",
-        "mold-source-map": "~0.4.0"
-      },
-      "dependencies": {
-        "is-stream": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-          "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-          "dev": true
-        },
-        "minimist": {
-          "version": "0.0.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz",
-          "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=",
-          "dev": true
-        }
-      }
-    },
-    "expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
-      "requires": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "ext-list": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
-      "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==",
-      "dev": true,
-      "requires": {
-        "mime-db": "^1.28.0"
-      }
-    },
-    "ext-name": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz",
-      "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==",
-      "dev": true,
-      "requires": {
-        "ext-list": "^2.0.0",
-        "sort-keys-length": "^1.0.0"
-      }
-    },
-    "extend": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
-      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
-      "dev": true
-    },
-    "extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "requires": {
-        "is-extendable": "^0.1.0"
-      }
-    },
-    "external-editor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
-      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
-      "dev": true,
-      "requires": {
-        "chardet": "^0.7.0",
-        "iconv-lite": "^0.4.24",
-        "tmp": "^0.0.33"
-      }
-    },
-    "extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "requires": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "extract-zip": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
-      "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
-      "dev": true,
-      "requires": {
-        "@types/yauzl": "^2.9.1",
-        "debug": "^4.1.1",
-        "get-stream": "^5.1.0",
-        "yauzl": "^2.10.0"
-      },
-      "dependencies": {
-        "get-stream": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
-          "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
-          "dev": true,
-          "requires": {
-            "pump": "^3.0.0"
-          }
-        }
-      }
-    },
-    "extsprintf": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "dev": true
-    },
-    "fast-deep-equal": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
-    },
-    "fast-glob": {
-      "version": "3.2.11",
-      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-      "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
-      "dev": true,
-      "requires": {
-        "@nodelib/fs.stat": "^2.0.2",
-        "@nodelib/fs.walk": "^1.2.3",
-        "glob-parent": "^5.1.2",
-        "merge2": "^1.3.0",
-        "micromatch": "^4.0.4"
-      }
-    },
-    "fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-      "dev": true
-    },
-    "fast-levenshtein": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
-      "dev": true
-    },
-    "fast-safe-stringify": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
-      "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
-      "dev": true
-    },
-    "fastq": {
-      "version": "1.13.0",
-      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
-      "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
-      "dev": true,
-      "requires": {
-        "reusify": "^1.0.4"
-      }
-    },
-    "fd-slicer": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
-      "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
-      "dev": true,
-      "requires": {
-        "pend": "~1.2.0"
-      }
-    },
-    "figgy-pudding": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
-      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
-      "dev": true
-    },
-    "figures": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
-      "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
-      "dev": true,
-      "requires": {
-        "escape-string-regexp": "^1.0.5"
-      }
-    },
-    "file-entry-cache": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
-      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
-      "dev": true,
-      "requires": {
-        "flat-cache": "^3.0.4"
-      }
-    },
-    "file-type": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz",
-      "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==",
-      "dev": true
-    },
-    "file-uri-to-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
-      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
-      "dev": true,
-      "optional": true
-    },
-    "filename-reserved-regex": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
-      "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
-      "dev": true
-    },
-    "filenamify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz",
-      "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==",
-      "dev": true,
-      "requires": {
-        "filename-reserved-regex": "^2.0.0",
-        "strip-outer": "^1.0.0",
-        "trim-repeated": "^1.0.0"
-      }
-    },
-    "fill-range": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "dev": true,
-      "requires": {
-        "to-regex-range": "^5.0.1"
-      }
-    },
-    "finalhandler": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
-      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "statuses": "~1.5.0",
-        "unpipe": "~1.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "on-finished": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-          "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-          "dev": true,
-          "requires": {
-            "ee-first": "1.1.1"
-          }
-        }
-      }
-    },
-    "find-cache-dir": {
-      "version": "3.3.2",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
-      "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
-      "dev": true,
-      "requires": {
-        "commondir": "^1.0.1",
-        "make-dir": "^3.0.2",
-        "pkg-dir": "^4.1.0"
-      }
-    },
-    "find-replace": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
-      "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
-      "dev": true,
-      "requires": {
-        "array-back": "^3.0.1"
-      }
-    },
-    "find-up": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
-      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
-      "dev": true,
-      "requires": {
-        "locate-path": "^6.0.0",
-        "path-exists": "^4.0.0"
-      }
-    },
-    "find-versions": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz",
-      "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==",
-      "dev": true,
-      "requires": {
-        "semver-regex": "^2.0.0"
-      }
-    },
-    "flat": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
-      "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
-      "dev": true
-    },
-    "flat-cache": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
-      "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
-      "dev": true,
-      "requires": {
-        "flatted": "^3.1.0",
-        "rimraf": "^3.0.2"
-      }
-    },
-    "flatted": {
-      "version": "3.2.5",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
-      "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
-      "dev": true
-    },
-    "flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "follow-redirects": {
-      "version": "1.15.0",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz",
-      "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==",
-      "dev": true
-    },
-    "for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
-    },
-    "foreground-child": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
-      "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^7.0.0",
-        "signal-exit": "^3.0.2"
-      }
-    },
-    "forever-agent": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "dev": true
-    },
-    "form-data": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
-      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
-      "dev": true,
-      "requires": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.6",
-        "mime-types": "^2.1.12"
-      }
-    },
-    "fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
-      "requires": {
-        "map-cache": "^0.2.2"
-      }
-    },
-    "from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "fromentries": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
-      "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
-      "dev": true
-    },
-    "fs-constants": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
-      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
-      "dev": true
-    },
-    "fs-extra": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
-      "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^6.0.1",
-        "universalify": "^2.0.0"
-      }
-    },
-    "fs-minipass": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
-      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0"
-      }
-    },
-    "fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
-    },
-    "fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "dev": true,
-      "optional": true
-    },
-    "function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-      "dev": true
-    },
-    "functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
-      "dev": true
-    },
-    "gauge": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
-      "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.0.3 || ^2.0.0",
-        "color-support": "^1.1.2",
-        "console-control-strings": "^1.0.0",
-        "has-unicode": "^2.0.1",
-        "object-assign": "^4.1.1",
-        "signal-exit": "^3.0.0",
-        "string-width": "^4.2.3",
-        "strip-ansi": "^6.0.1",
-        "wide-align": "^1.1.2"
-      }
-    },
-    "gaze": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
-      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
-      "dev": true,
-      "requires": {
-        "globule": "^1.0.0"
-      }
-    },
-    "gensync": {
-      "version": "1.0.0-beta.2",
-      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
-      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
-      "dev": true
-    },
-    "get-assigned-identifiers": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
-      "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==",
-      "dev": true
-    },
-    "get-caller-file": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-      "dev": true
-    },
-    "get-func-name": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
-      "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
-      "dev": true
-    },
-    "get-intrinsic": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
-      "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1"
-      }
-    },
-    "get-package-type": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
-      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
-      "dev": true
-    },
-    "get-port": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz",
-      "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==",
-      "dev": true
-    },
-    "get-proxy": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz",
-      "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==",
-      "dev": true,
-      "requires": {
-        "npm-conf": "^1.1.0"
-      }
-    },
-    "get-stdin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
-      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
-      "dev": true
-    },
-    "get-stream": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
-      "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
-      "dev": true
-    },
-    "get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
-    },
-    "getpass": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
-      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "giturl": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/giturl/-/giturl-1.0.1.tgz",
-      "integrity": "sha512-wQourBdI13n8tbjcZTDl6k+ZrCRMU6p9vfp9jknZq+zfWc8xXNztpZFM4XkPHVzHcMSUZxEMYYKZjIGkPlei6Q==",
-      "dev": true
-    },
-    "glob": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
-      "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
-      "dev": true,
-      "requires": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      }
-    },
-    "glob-parent": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
-      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "dev": true,
-      "requires": {
-        "is-glob": "^4.0.1"
-      }
-    },
-    "global-agent": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.2.0.tgz",
-      "integrity": "sha512-+20KpaW6DDLqhG7JDiJpD1JvNvb8ts+TNl7BPOYcURqCrXqnN1Vf+XVOrkKJAFPqfX+oEhsdzOj1hLWkBTdNJg==",
-      "dev": true,
-      "requires": {
-        "boolean": "^3.0.1",
-        "core-js": "^3.6.5",
-        "es6-error": "^4.1.1",
-        "matcher": "^3.0.0",
-        "roarr": "^2.15.3",
-        "semver": "^7.3.2",
-        "serialize-error": "^7.0.1"
-      },
-      "dependencies": {
-        "core-js": {
-          "version": "3.22.5",
-          "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz",
-          "integrity": "sha512-VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA==",
-          "dev": true
-        },
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        }
-      }
-    },
-    "global-modules": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
-      "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
-      "dev": true,
-      "requires": {
-        "global-prefix": "^0.1.4",
-        "is-windows": "^0.2.0"
-      }
-    },
-    "global-prefix": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
-      "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
-      "dev": true,
-      "requires": {
-        "homedir-polyfill": "^1.0.0",
-        "ini": "^1.3.4",
-        "is-windows": "^0.2.0",
-        "which": "^1.2.12"
-      },
-      "dependencies": {
-        "which": {
-          "version": "1.3.1",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true
-    },
-    "globalthis": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
-      "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.3"
-      }
-    },
-    "globby": {
-      "version": "11.1.0",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
-      "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
-      "dev": true,
-      "requires": {
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.2.9",
-        "ignore": "^5.2.0",
-        "merge2": "^1.4.1",
-        "slash": "^3.0.0"
-      },
-      "dependencies": {
-        "ignore": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-          "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
-          "dev": true
-        }
-      }
-    },
-    "globule": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.3.tgz",
-      "integrity": "sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg==",
-      "dev": true,
-      "requires": {
-        "glob": "~7.1.1",
-        "lodash": "~4.17.10",
-        "minimatch": "~3.0.2"
-      },
-      "dependencies": {
-        "glob": {
-          "version": "7.1.7",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
-          "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.0.4",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "minimatch": {
-          "version": "3.0.8",
-          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
-          "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
-          "dev": true,
-          "requires": {
-            "brace-expansion": "^1.1.7"
-          }
-        }
-      }
-    },
-    "got": {
-      "version": "5.6.0",
-      "resolved": "https://registry.npmjs.org/got/-/got-5.6.0.tgz",
-      "integrity": "sha1-ux1+4WO3gIK7yOuDbz85UATqb78=",
-      "dev": true,
-      "requires": {
-        "create-error-class": "^3.0.1",
-        "duplexer2": "^0.1.4",
-        "is-plain-obj": "^1.0.0",
-        "is-redirect": "^1.0.0",
-        "is-retry-allowed": "^1.0.0",
-        "is-stream": "^1.0.0",
-        "lowercase-keys": "^1.0.0",
-        "node-status-codes": "^1.0.0",
-        "object-assign": "^4.0.1",
-        "parse-json": "^2.1.0",
-        "pinkie-promise": "^2.0.0",
-        "read-all-stream": "^3.0.0",
-        "readable-stream": "^2.0.5",
-        "timed-out": "^2.0.0",
-        "unzip-response": "^1.0.0",
-        "url-parse-lax": "^1.0.0"
-      },
-      "dependencies": {
-        "is-stream": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-          "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-          "dev": true
-        },
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "graceful-fs": {
-      "version": "4.2.10",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
-      "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
-      "dev": true
-    },
-    "grapheme-splitter": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
-      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
-      "dev": true
-    },
-    "growl": {
-      "version": "1.10.5",
-      "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
-      "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
-      "dev": true
-    },
-    "har-schema": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "dev": true
-    },
-    "har-validator": {
-      "version": "5.1.5",
-      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
-      "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.12.3",
-        "har-schema": "^2.0.0"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "6.12.6",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "json-schema-traverse": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-          "dev": true
-        }
-      }
-    },
-    "hard-rejection": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
-      "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
-      "dev": true
-    },
-    "has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1"
-      }
-    },
-    "has-ansi": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
-      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        }
-      }
-    },
-    "has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true
-    },
-    "has-property-descriptors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
-      "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
-      "dev": true,
-      "requires": {
-        "get-intrinsic": "^1.1.1"
-      }
-    },
-    "has-symbol-support-x": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
-      "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==",
-      "dev": true
-    },
-    "has-symbols": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
-      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
-      "dev": true
-    },
-    "has-to-string-tag-x": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
-      "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
-      "dev": true,
-      "requires": {
-        "has-symbol-support-x": "^1.4.1"
-      }
-    },
-    "has-unicode": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
-      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
-      "dev": true
-    },
-    "has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
-      "requires": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      }
-    },
-    "has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "dependencies": {
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "kind-of": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "hash-base": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
-      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      },
-      "dependencies": {
-        "safe-buffer": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-          "dev": true
-        }
-      }
-    },
-    "hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "hasha": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
-      "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
-      "dev": true,
-      "requires": {
-        "is-stream": "^2.0.0",
-        "type-fest": "^0.8.0"
-      },
-      "dependencies": {
-        "type-fest": {
-          "version": "0.8.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-          "dev": true
-        }
-      }
-    },
-    "he": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
-      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
-      "dev": true
-    },
-    "header-case": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz",
-      "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==",
-      "dev": true,
-      "requires": {
-        "capital-case": "^1.0.4",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
-      "requires": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "homedir-polyfill": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
-      "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
-      "dev": true,
-      "requires": {
-        "parse-passwd": "^1.0.0"
-      }
-    },
-    "hosted-git-info": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
-      "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
-      "dev": true,
-      "requires": {
-        "lru-cache": "^6.0.0"
-      }
-    },
-    "html-escaper": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
-      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
-      "dev": true
-    },
-    "htmlescape": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
-      "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=",
-      "dev": true
-    },
-    "http-cache-semantics": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
-      "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
-      "dev": true
-    },
-    "http-errors": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
-      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
-      "dev": true,
-      "requires": {
-        "depd": "2.0.0",
-        "inherits": "2.0.4",
-        "setprototypeof": "1.2.0",
-        "statuses": "2.0.1",
-        "toidentifier": "1.0.1"
-      },
-      "dependencies": {
-        "statuses": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
-          "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
-          "dev": true
-        }
-      }
-    },
-    "http-proxy": {
-      "version": "1.18.1",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
-      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
-      "dev": true,
-      "requires": {
-        "eventemitter3": "^4.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "http-proxy-agent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
-      "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
-      "dev": true,
-      "requires": {
-        "@tootallnate/once": "1",
-        "agent-base": "6",
-        "debug": "4"
-      }
-    },
-    "http-signature": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
-      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "jsprim": "^1.2.2",
-        "sshpk": "^1.7.0"
-      }
-    },
-    "http2-wrapper": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
-      "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
-      "dev": true,
-      "requires": {
-        "quick-lru": "^5.1.1",
-        "resolve-alpn": "^1.0.0"
-      },
-      "dependencies": {
-        "quick-lru": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
-          "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
-          "dev": true
-        }
-      }
-    },
-    "https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
-    },
-    "https-proxy-agent": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
-      "dev": true,
-      "requires": {
-        "agent-base": "6",
-        "debug": "4"
-      }
-    },
-    "humanize-ms": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
-      "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
-      "dev": true,
-      "requires": {
-        "ms": "^2.0.0"
-      }
-    },
-    "iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "dev": true,
-      "requires": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      }
-    },
-    "ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-      "dev": true
-    },
-    "iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
-    },
-    "ignore": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
-      "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
-      "dev": true
-    },
-    "import-fresh": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
-      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
-      "dev": true,
-      "requires": {
-        "parent-module": "^1.0.0",
-        "resolve-from": "^4.0.0"
-      }
-    },
-    "import-lazy": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
-      "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
-      "dev": true
-    },
-    "imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true
-    },
-    "indent-string": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
-      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
-      "dev": true
-    },
-    "infer-owner": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-      "dev": true
-    },
-    "infinity-agent": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/infinity-agent/-/infinity-agent-2.0.3.tgz",
-      "integrity": "sha1-ReDi/3qesDCyfWK3SzdEt6esQhY=",
-      "dev": true
-    },
-    "inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
-      "requires": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-      "dev": true
-    },
-    "ini": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
-      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
-      "dev": true
-    },
-    "inline-source-map": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
-      "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
-      "dev": true,
-      "requires": {
-        "source-map": "~0.5.3"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "inquirer": {
-      "version": "7.3.3",
-      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
-      "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
-      "dev": true,
-      "requires": {
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.1.0",
-        "cli-cursor": "^3.1.0",
-        "cli-width": "^3.0.0",
-        "external-editor": "^3.0.3",
-        "figures": "^3.0.0",
-        "lodash": "^4.17.19",
-        "mute-stream": "0.0.8",
-        "run-async": "^2.4.0",
-        "rxjs": "^6.6.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0",
-        "through": "^2.3.6"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "insert-module-globals": {
-      "version": "7.2.1",
-      "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz",
-      "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
-      "dev": true,
-      "requires": {
-        "acorn-node": "^1.5.2",
-        "combine-source-map": "^0.8.0",
-        "concat-stream": "^1.6.1",
-        "is-buffer": "^1.1.0",
-        "JSONStream": "^1.0.3",
-        "path-is-absolute": "^1.0.1",
-        "process": "~0.11.0",
-        "through2": "^2.0.0",
-        "undeclared-identifiers": "^1.1.2",
-        "xtend": "^4.0.0"
-      }
-    },
-    "interpret": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
-      "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
-      "dev": true
-    },
-    "into-stream": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz",
-      "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
-      "dev": true,
-      "requires": {
-        "from2": "^2.1.1",
-        "p-is-promise": "^1.1.0"
-      }
-    },
-    "invariant": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
-      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
-      "dev": true,
-      "requires": {
-        "loose-envify": "^1.0.0"
-      }
-    },
-    "invert-kv": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
-      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
-      "dev": true
-    },
-    "ip": {
-      "version": "1.1.8",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
-      "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==",
-      "dev": true
-    },
-    "is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
-      "dev": true
-    },
-    "is-binary-path": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "dev": true,
-      "requires": {
-        "binary-extensions": "^2.0.0"
-      }
-    },
-    "is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
-    "is-core-module": {
-      "version": "2.9.0",
-      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
-      "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.3"
-      }
-    },
-    "is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "requires": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
-        }
-      }
-    },
-    "is-docker": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
-      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
-      "dev": true
-    },
-    "is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true
-    },
-    "is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
-    },
-    "is-finite": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
-      "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
-      "dev": true
-    },
-    "is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-      "dev": true
-    },
-    "is-glob": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
-      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-      "dev": true,
-      "requires": {
-        "is-extglob": "^2.1.1"
-      }
-    },
-    "is-lambda": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
-      "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=",
-      "dev": true
-    },
-    "is-natural-number": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz",
-      "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=",
-      "dev": true
-    },
-    "is-npm": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
-      "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
-      "dev": true
-    },
-    "is-number": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "dev": true
-    },
-    "is-object": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz",
-      "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==",
-      "dev": true
-    },
-    "is-plain-obj": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
-      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
-      "dev": true
-    },
-    "is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "is-redirect": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
-      "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
-      "dev": true
-    },
-    "is-retry-allowed": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
-      "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==",
-      "dev": true
-    },
-    "is-stream": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
-      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
-      "dev": true
-    },
-    "is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
-    },
-    "is-unicode-supported": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
-      "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
-      "dev": true
-    },
-    "is-utf8": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
-      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
-      "dev": true
-    },
-    "is-windows": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
-      "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
-      "dev": true
-    },
-    "is-wsl": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
-      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
-      "dev": true,
-      "requires": {
-        "is-docker": "^2.0.0"
-      }
-    },
-    "isarray": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
-      "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
-      "dev": true
-    },
-    "isbinaryfile": {
-      "version": "4.0.10",
-      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz",
-      "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==",
-      "dev": true
-    },
-    "isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
-    },
-    "isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
-    },
-    "isstream": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
-      "dev": true
-    },
-    "istanbul-lib-coverage": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
-      "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
-      "dev": true
-    },
-    "istanbul-lib-hook": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
-      "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
-      "dev": true,
-      "requires": {
-        "append-transform": "^2.0.0"
-      }
-    },
-    "istanbul-lib-instrument": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
-      "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.7.5",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-coverage": "^3.0.0",
-        "semver": "^6.3.0"
-      }
-    },
-    "istanbul-lib-processinfo": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz",
-      "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==",
-      "dev": true,
-      "requires": {
-        "archy": "^1.0.0",
-        "cross-spawn": "^7.0.0",
-        "istanbul-lib-coverage": "^3.0.0-alpha.1",
-        "make-dir": "^3.0.0",
-        "p-map": "^3.0.0",
-        "rimraf": "^3.0.0",
-        "uuid": "^3.3.3"
-      },
-      "dependencies": {
-        "p-map": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
-          "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
-          "dev": true,
-          "requires": {
-            "aggregate-error": "^3.0.0"
-          }
-        }
-      }
-    },
-    "istanbul-lib-report": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
-      "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
-      "dev": true,
-      "requires": {
-        "istanbul-lib-coverage": "^3.0.0",
-        "make-dir": "^3.0.0",
-        "supports-color": "^7.1.0"
-      },
-      "dependencies": {
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "istanbul-lib-source-maps": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
-      "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^2.0.5",
-        "make-dir": "^2.1.0",
-        "rimraf": "^2.6.3",
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "istanbul-lib-coverage": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-          "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
-          "dev": true
-        },
-        "make-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-          "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-          "dev": true,
-          "requires": {
-            "pify": "^4.0.1",
-            "semver": "^5.6.0"
-          }
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "istanbul-reports": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz",
-      "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==",
-      "dev": true,
-      "requires": {
-        "html-escaper": "^2.0.0",
-        "istanbul-lib-report": "^3.0.0"
-      }
-    },
-    "isurl": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz",
-      "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
-      "dev": true,
-      "requires": {
-        "has-to-string-tag-x": "^1.2.0",
-        "is-object": "^1.0.1"
-      }
-    },
-    "js-base64": {
-      "version": "2.6.4",
-      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
-      "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
-      "dev": true
-    },
-    "js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-      "dev": true
-    },
-    "js-yaml": {
-      "version": "3.14.1",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
-      "requires": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      }
-    },
-    "jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true
-    },
-    "jsdoctypeparser": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz",
-      "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==",
-      "dev": true
-    },
-    "jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-      "dev": true
-    },
-    "json-buffer": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
-      "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
-      "dev": true
-    },
-    "json-parse-better-errors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
-      "dev": true
-    },
-    "json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
-    "json-schema": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
-      "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
-      "dev": true
-    },
-    "json-schema-traverse": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
-      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
-    },
-    "json-stable-stringify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
-      "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
-      "dev": true,
-      "requires": {
-        "jsonify": "~0.0.0"
-      }
-    },
-    "json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
-      "dev": true
-    },
-    "json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
-    },
-    "json5": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
-      "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
-      "dev": true
-    },
-    "jsonfile": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
-      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.6",
-        "universalify": "^2.0.0"
-      }
-    },
-    "jsonify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
-      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
-      "dev": true
-    },
-    "jsonparse": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
-      "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
-      "dev": true
-    },
-    "JSONStream": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
-      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
-      "dev": true,
-      "requires": {
-        "jsonparse": "^1.2.0",
-        "through": ">=2.2.7 <3"
-      }
-    },
-    "jsprim": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
-      "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
-      "dev": true,
-      "requires": {
-        "assert-plus": "1.0.0",
-        "extsprintf": "1.3.0",
-        "json-schema": "0.4.0",
-        "verror": "1.10.0"
-      }
-    },
-    "just-extend": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
-      "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
-      "dev": true
-    },
-    "karma": {
-      "version": "6.3.20",
-      "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.20.tgz",
-      "integrity": "sha512-HRNQhMuKOwKpjYlWiJP0DUrJOh+QjaI/DTaD8b9rEm4Il3tJ8MijutVZH4ts10LuUFst/CedwTS6vieCN8yTSw==",
-      "dev": true,
-      "requires": {
-        "@colors/colors": "1.5.0",
-        "body-parser": "^1.19.0",
-        "braces": "^3.0.2",
-        "chokidar": "^3.5.1",
-        "connect": "^3.7.0",
-        "di": "^0.0.1",
-        "dom-serialize": "^2.2.1",
-        "glob": "^7.1.7",
-        "graceful-fs": "^4.2.6",
-        "http-proxy": "^1.18.1",
-        "isbinaryfile": "^4.0.8",
-        "lodash": "^4.17.21",
-        "log4js": "^6.4.1",
-        "mime": "^2.5.2",
-        "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.5",
-        "qjobs": "^1.2.0",
-        "range-parser": "^1.2.1",
-        "rimraf": "^3.0.2",
-        "socket.io": "^4.4.1",
-        "source-map": "^0.6.1",
-        "tmp": "^0.2.1",
-        "ua-parser-js": "^0.7.30",
-        "yargs": "^16.1.1"
-      },
-      "dependencies": {
-        "tmp": {
-          "version": "0.2.1",
-          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
-          "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
-          "dev": true,
-          "requires": {
-            "rimraf": "^3.0.0"
-          }
-        }
-      }
-    },
-    "karma-chrome-launcher": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
-      "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==",
-      "dev": true,
-      "requires": {
-        "which": "^1.2.1"
-      },
-      "dependencies": {
-        "which": {
-          "version": "1.3.1",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "karma-cli": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-2.0.0.tgz",
-      "integrity": "sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw==",
-      "dev": true,
-      "requires": {
-        "resolve": "^1.3.3"
-      }
-    },
-    "karma-coverage-istanbul-reporter": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz",
-      "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==",
-      "dev": true,
-      "requires": {
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^3.0.6",
-        "istanbul-reports": "^3.0.2",
-        "minimatch": "^3.0.4"
-      }
-    },
-    "karma-edge-launcher": {
-      "version": "0.4.2",
-      "resolved": "https://registry.npmjs.org/karma-edge-launcher/-/karma-edge-launcher-0.4.2.tgz",
-      "integrity": "sha512-YAJZb1fmRcxNhMIWYsjLuxwODBjh2cSHgTW/jkVmdpGguJjLbs9ZgIK/tEJsMQcBLUkO+yO4LBbqYxqgGW2HIw==",
-      "dev": true,
-      "requires": {
-        "edge-launcher": "1.2.2"
-      }
-    },
-    "karma-firefox-launcher": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.2.tgz",
-      "integrity": "sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA==",
-      "dev": true,
-      "requires": {
-        "is-wsl": "^2.2.0",
-        "which": "^2.0.1"
-      }
-    },
-    "karma-ie-launcher": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/karma-ie-launcher/-/karma-ie-launcher-1.0.0.tgz",
-      "integrity": "sha1-SXmGhCxJAZA0bNifVJTKmDDG1Zw=",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.6.1"
-      }
-    },
-    "karma-mocha": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz",
-      "integrity": "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.3"
-      }
-    },
-    "karma-safari-launcher": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz",
-      "integrity": "sha1-lpgqLMR9BmquccVTursoMZEVos4=",
-      "dev": true,
-      "requires": {}
-    },
-    "karma-sauce-launcher": {
-      "version": "4.3.6",
-      "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-4.3.6.tgz",
-      "integrity": "sha512-Ej62q4mUPFktyAm8g0g8J5qhwEkXwdHrwtiV4pZjKNHNnSs+4qgDyzs3VkpOy3AmNTsTqQXUN/lpiy0tZpDJZQ==",
-      "dev": true,
-      "requires": {
-        "global-agent": "^2.1.12",
-        "saucelabs": "^4.6.3",
-        "webdriverio": "^6.7.0"
-      }
-    },
-    "karma-verbose-reporter": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/karma-verbose-reporter/-/karma-verbose-reporter-0.0.8.tgz",
-      "integrity": "sha512-wHgevIcEpfgKwR3CnWd8t1ErzWeVlctO7ZtXkKFR1inb006ogz+7ZKg95eIVOnHCYWL3Gdy1dRMOGjVP0n4MlA==",
-      "dev": true,
-      "requires": {
-        "colors": "1.4.0"
-      }
-    },
-    "karma-webpack": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz",
-      "integrity": "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==",
-      "dev": true,
-      "requires": {
-        "clone-deep": "^4.0.1",
-        "loader-utils": "^1.1.0",
-        "neo-async": "^2.6.1",
-        "schema-utils": "^1.0.0",
-        "source-map": "^0.7.3",
-        "webpack-dev-middleware": "^3.7.0"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "6.12.6",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "ajv-keywords": {
-          "version": "3.5.2",
-          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-          "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-          "dev": true,
-          "requires": {}
-        },
-        "json-schema-traverse": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-          "dev": true
-        },
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        },
-        "source-map": {
-          "version": "0.7.3",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-          "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-          "dev": true
-        }
-      }
-    },
-    "keyv": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz",
-      "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==",
-      "dev": true,
-      "requires": {
-        "json-buffer": "3.0.0"
-      }
-    },
-    "kind-of": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true
-    },
-    "labeled-stream-splicer": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz",
-      "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "stream-splicer": "^2.0.0"
-      }
-    },
-    "latest-version": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-1.0.1.tgz",
-      "integrity": "sha1-cs/Ebj6NG+ZR4eu1Tqn26pbzdLs=",
-      "dev": true,
-      "requires": {
-        "package-json": "^1.0.0"
-      },
-      "dependencies": {
-        "got": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/got/-/got-3.3.1.tgz",
-          "integrity": "sha1-5dDtSvVfw+701WAHdp2YGSvLLso=",
-          "dev": true,
-          "requires": {
-            "duplexify": "^3.2.0",
-            "infinity-agent": "^2.0.0",
-            "is-redirect": "^1.0.0",
-            "is-stream": "^1.0.0",
-            "lowercase-keys": "^1.0.0",
-            "nested-error-stacks": "^1.0.0",
-            "object-assign": "^3.0.0",
-            "prepend-http": "^1.0.0",
-            "read-all-stream": "^3.0.0",
-            "timed-out": "^2.0.0"
-          }
-        },
-        "is-stream": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-          "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-          "dev": true
-        },
-        "object-assign": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
-          "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
-          "dev": true
-        },
-        "package-json": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/package-json/-/package-json-1.2.0.tgz",
-          "integrity": "sha1-yOysCUInzfdqMWh07QXifMk5oOA=",
-          "dev": true,
-          "requires": {
-            "got": "^3.2.0",
-            "registry-url": "^3.0.0"
-          }
-        }
-      }
-    },
-    "lazystream": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
-      "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
-      "dev": true,
-      "requires": {
-        "readable-stream": "^2.0.5"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "lcid": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
-      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
-      "dev": true,
-      "requires": {
-        "invert-kv": "^1.0.0"
-      }
-    },
-    "levn": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
-      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
-      "dev": true,
-      "requires": {
-        "prelude-ls": "^1.2.1",
-        "type-check": "~0.4.0"
-      }
-    },
-    "lighthouse-logger": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.3.0.tgz",
-      "integrity": "sha512-BbqAKApLb9ywUli+0a+PcV04SyJ/N1q/8qgCNe6U97KbPCS1BTksEuHFLYdvc8DltuhfxIUBqDZsC0bBGtl3lA==",
-      "dev": true,
-      "requires": {
-        "debug": "^2.6.9",
-        "marky": "^1.2.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "lines-and-columns": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
-      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
-      "dev": true
-    },
-    "loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
-      "dev": true
-    },
-    "loader-utils": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
-      "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
-      "dev": true,
-      "requires": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^2.1.2"
-      }
-    },
-    "locate-path": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
-      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
-      "dev": true,
-      "requires": {
-        "p-locate": "^5.0.0"
-      }
-    },
-    "lodash": {
-      "version": "4.17.21",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
-      "dev": true
-    },
-    "lodash.camelcase": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
-      "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
-      "dev": true
-    },
-    "lodash.clonedeep": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
-      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
-      "dev": true
-    },
-    "lodash.debounce": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
-      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
-      "dev": true
-    },
-    "lodash.defaults": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
-      "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
-      "dev": true
-    },
-    "lodash.difference": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
-      "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=",
-      "dev": true
-    },
-    "lodash.flatten": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
-      "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
-      "dev": true
-    },
-    "lodash.flattendeep": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
-      "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
-      "dev": true
-    },
-    "lodash.get": {
-      "version": "4.4.2",
-      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
-      "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
-      "dev": true
-    },
-    "lodash.isobject": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
-      "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=",
-      "dev": true
-    },
-    "lodash.isplainobject": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
-      "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
-      "dev": true
-    },
-    "lodash.memoize": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
-      "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=",
-      "dev": true
-    },
-    "lodash.merge": {
-      "version": "4.6.2",
-      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
-      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
-      "dev": true
-    },
-    "lodash.truncate": {
-      "version": "4.4.2",
-      "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
-      "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
-      "dev": true
-    },
-    "lodash.union": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
-      "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=",
-      "dev": true
-    },
-    "lodash.zip": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz",
-      "integrity": "sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=",
-      "dev": true
-    },
-    "log-symbols": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
-      "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
-      "dev": true,
-      "requires": {
-        "chalk": "^4.1.0",
-        "is-unicode-supported": "^0.1.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "log4js": {
-      "version": "6.4.6",
-      "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.4.6.tgz",
-      "integrity": "sha512-1XMtRBZszmVZqPAOOWczH+Q94AI42mtNWjvjA5RduKTSWjEc56uOBbyM1CJnfN4Ym0wSd8cQ43zOojlSHgRDAw==",
-      "dev": true,
-      "requires": {
-        "date-format": "^4.0.9",
-        "debug": "^4.3.4",
-        "flatted": "^3.2.5",
-        "rfdc": "^1.3.0",
-        "streamroller": "^3.0.8"
-      }
-    },
-    "loglevel": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz",
-      "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==",
-      "dev": true
-    },
-    "loglevel-plugin-prefix": {
-      "version": "0.8.4",
-      "resolved": "https://registry.npmjs.org/loglevel-plugin-prefix/-/loglevel-plugin-prefix-0.8.4.tgz",
-      "integrity": "sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==",
-      "dev": true
-    },
-    "loose-envify": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
-      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "dev": true,
-      "requires": {
-        "js-tokens": "^3.0.0 || ^4.0.0"
-      }
-    },
-    "loupe": {
-      "version": "2.3.4",
-      "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz",
-      "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==",
-      "dev": true,
-      "requires": {
-        "get-func-name": "^2.0.0"
-      }
-    },
-    "lower-case": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
-      "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
-      "dev": true,
-      "requires": {
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "lowercase-keys": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
-      "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
-      "dev": true
-    },
-    "lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "requires": {
-        "yallist": "^4.0.0"
-      }
-    },
-    "make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-      "dev": true,
-      "requires": {
-        "semver": "^6.0.0"
-      }
-    },
-    "make-fetch-happen": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
-      "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
-      "dev": true,
-      "requires": {
-        "agentkeepalive": "^4.1.3",
-        "cacache": "^15.2.0",
-        "http-cache-semantics": "^4.1.0",
-        "http-proxy-agent": "^4.0.1",
-        "https-proxy-agent": "^5.0.0",
-        "is-lambda": "^1.0.1",
-        "lru-cache": "^6.0.0",
-        "minipass": "^3.1.3",
-        "minipass-collect": "^1.0.2",
-        "minipass-fetch": "^1.3.2",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.4",
-        "negotiator": "^0.6.2",
-        "promise-retry": "^2.0.1",
-        "socks-proxy-agent": "^6.0.0",
-        "ssri": "^8.0.0"
-      }
-    },
-    "map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
-    },
-    "map-obj": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
-      "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
-      "dev": true
-    },
-    "map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
-      "requires": {
-        "object-visit": "^1.0.0"
-      }
-    },
-    "marky": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.4.tgz",
-      "integrity": "sha512-zd2/GiSn6U3/jeFVZ0J9CA1LzQ8RfIVvXkb/U0swFHF/zT+dVohTAWjmo2DcIuofmIIIROlwTbd+shSeXmxr0w==",
-      "dev": true
-    },
-    "matcher": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
-      "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
-      "dev": true,
-      "requires": {
-        "escape-string-regexp": "^4.0.0"
-      },
-      "dependencies": {
-        "escape-string-regexp": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-          "dev": true
-        }
-      }
-    },
-    "md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
-      "dev": true
-    },
-    "memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "dev": true,
-      "requires": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "meow": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
-      "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
-      "dev": true,
-      "requires": {
-        "@types/minimist": "^1.2.0",
-        "camelcase-keys": "^6.2.2",
-        "decamelize": "^1.2.0",
-        "decamelize-keys": "^1.1.0",
-        "hard-rejection": "^2.1.0",
-        "minimist-options": "4.1.0",
-        "normalize-package-data": "^3.0.0",
-        "read-pkg-up": "^7.0.1",
-        "redent": "^3.0.0",
-        "trim-newlines": "^3.0.0",
-        "type-fest": "^0.18.0",
-        "yargs-parser": "^20.2.3"
-      },
-      "dependencies": {
-        "type-fest": {
-          "version": "0.18.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
-          "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
-          "dev": true
-        }
-      }
-    },
-    "merge-source-map": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
-      "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
-      "dev": true,
-      "requires": {
-        "source-map": "^0.6.1"
-      }
-    },
-    "merge2": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
-      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
-      "dev": true
-    },
-    "micromatch": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
-      "dev": true,
-      "requires": {
-        "braces": "^3.0.2",
-        "picomatch": "^2.3.1"
-      }
-    },
-    "miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "mime": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
-      "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
-      "dev": true
-    },
-    "mime-db": {
-      "version": "1.52.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
-      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
-      "dev": true
-    },
-    "mime-types": {
-      "version": "2.1.35",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
-      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
-      "dev": true,
-      "requires": {
-        "mime-db": "1.52.0"
-      }
-    },
-    "mimic-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
-      "dev": true
-    },
-    "mimic-response": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
-      "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
-      "dev": true
-    },
-    "min-indent": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
-      "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
-      "dev": true
-    },
-    "minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
-    },
-    "minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
-    },
-    "minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-      "dev": true,
-      "requires": {
-        "brace-expansion": "^1.1.7"
-      }
-    },
-    "minimist": {
-      "version": "1.2.6",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
-      "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
-      "dev": true
-    },
-    "minimist-options": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
-      "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
-      "dev": true,
-      "requires": {
-        "arrify": "^1.0.1",
-        "is-plain-obj": "^1.1.0",
-        "kind-of": "^6.0.3"
-      }
-    },
-    "minipass": {
-      "version": "3.1.6",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
-      "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
-      "dev": true,
-      "requires": {
-        "yallist": "^4.0.0"
-      }
-    },
-    "minipass-collect": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
-      "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0"
-      }
-    },
-    "minipass-fetch": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
-      "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
-      "dev": true,
-      "requires": {
-        "encoding": "^0.1.12",
-        "minipass": "^3.1.0",
-        "minipass-sized": "^1.0.3",
-        "minizlib": "^2.0.0"
-      }
-    },
-    "minipass-flush": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
-      "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0"
-      }
-    },
-    "minipass-pipeline": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
-      "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0"
-      }
-    },
-    "minipass-sized": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
-      "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0"
-      }
-    },
-    "minizlib": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
-      "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0",
-        "yallist": "^4.0.0"
-      }
-    },
-    "mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
-      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
-      "requires": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      }
-    },
-    "mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
-      "requires": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "mkdirp": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
-      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.6"
-      }
-    },
-    "mkdirp-classic": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
-      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
-      "dev": true
-    },
-    "mkdirp-promise": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz",
-      "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=",
-      "dev": true,
-      "requires": {
-        "mkdirp": "*"
-      }
-    },
-    "mocha": {
-      "version": "8.4.0",
-      "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz",
-      "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==",
-      "dev": true,
-      "requires": {
-        "@ungap/promise-all-settled": "1.1.2",
-        "ansi-colors": "4.1.1",
-        "browser-stdout": "1.3.1",
-        "chokidar": "3.5.1",
-        "debug": "4.3.1",
-        "diff": "5.0.0",
-        "escape-string-regexp": "4.0.0",
-        "find-up": "5.0.0",
-        "glob": "7.1.6",
-        "growl": "1.10.5",
-        "he": "1.2.0",
-        "js-yaml": "4.0.0",
-        "log-symbols": "4.0.0",
-        "minimatch": "3.0.4",
-        "ms": "2.1.3",
-        "nanoid": "3.1.20",
-        "serialize-javascript": "5.0.1",
-        "strip-json-comments": "3.1.1",
-        "supports-color": "8.1.1",
-        "which": "2.0.2",
-        "wide-align": "1.1.3",
-        "workerpool": "6.1.0",
-        "yargs": "16.2.0",
-        "yargs-parser": "20.2.4",
-        "yargs-unparser": "2.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "argparse": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
-          "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
-          "dev": true
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          },
-          "dependencies": {
-            "supports-color": {
-              "version": "7.2.0",
-              "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-              "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-              "dev": true,
-              "requires": {
-                "has-flag": "^4.0.0"
-              }
-            }
-          }
-        },
-        "chokidar": {
-          "version": "3.5.1",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
-          "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
-          "dev": true,
-          "requires": {
-            "anymatch": "~3.1.1",
-            "braces": "~3.0.2",
-            "fsevents": "~2.3.1",
-            "glob-parent": "~5.1.0",
-            "is-binary-path": "~2.1.0",
-            "is-glob": "~4.0.1",
-            "normalize-path": "~3.0.0",
-            "readdirp": "~3.5.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "debug": {
-          "version": "4.3.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
-          "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
-          "dev": true,
-          "requires": {
-            "ms": "2.1.2"
-          },
-          "dependencies": {
-            "ms": {
-              "version": "2.1.2",
-              "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-              "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-              "dev": true
-            }
-          }
-        },
-        "escape-string-regexp": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-          "dev": true
-        },
-        "glob": {
-          "version": "7.1.6",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
-          "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.0.4",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "js-yaml": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz",
-          "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==",
-          "dev": true,
-          "requires": {
-            "argparse": "^2.0.1"
-          }
-        },
-        "log-symbols": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
-          "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
-          "dev": true,
-          "requires": {
-            "chalk": "^4.0.0"
-          }
-        },
-        "minimatch": {
-          "version": "3.0.4",
-          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-          "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-          "dev": true,
-          "requires": {
-            "brace-expansion": "^1.1.7"
-          }
-        },
-        "ms": {
-          "version": "2.1.3",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
-          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
-          "dev": true
-        },
-        "readdirp": {
-          "version": "3.5.0",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
-          "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
-          "dev": true,
-          "requires": {
-            "picomatch": "^2.2.1"
-          }
-        },
-        "supports-color": {
-          "version": "8.1.1",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
-          "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "module-deps": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz",
-      "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
-      "dev": true,
-      "requires": {
-        "browser-resolve": "^2.0.0",
-        "cached-path-relative": "^1.0.2",
-        "concat-stream": "~1.6.0",
-        "defined": "^1.0.0",
-        "detective": "^5.2.0",
-        "duplexer2": "^0.1.2",
-        "inherits": "^2.0.1",
-        "JSONStream": "^1.0.3",
-        "parents": "^1.0.0",
-        "readable-stream": "^2.0.2",
-        "resolve": "^1.4.0",
-        "stream-combiner2": "^1.1.1",
-        "subarg": "^1.0.0",
-        "through2": "^2.0.0",
-        "xtend": "^4.0.0"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "mold-source-map": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/mold-source-map/-/mold-source-map-0.4.0.tgz",
-      "integrity": "sha1-z2fgsxxHq5uttcnCVlGGISe7gxc=",
-      "dev": true,
-      "requires": {
-        "convert-source-map": "^1.1.0",
-        "through": "~2.2.7"
-      },
-      "dependencies": {
-        "through": {
-          "version": "2.2.7",
-          "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz",
-          "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=",
-          "dev": true
-        }
-      }
-    },
-    "moment": {
-      "version": "2.29.3",
-      "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
-      "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
-      "dev": true
-    },
-    "move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      },
-      "dependencies": {
-        "aproba": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-          "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-          "dev": true
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
-      }
-    },
-    "ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-      "dev": true
-    },
-    "mute-stream": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
-      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
-      "dev": true
-    },
-    "nan": {
-      "version": "2.15.0",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
-      "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==",
-      "dev": true
-    },
-    "nanoid": {
-      "version": "3.1.20",
-      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz",
-      "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==",
-      "dev": true
-    },
-    "nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-          "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.2",
-            "isobject": "^3.0.1"
-          }
-        },
-        "extend-shallow": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-          "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-          "dev": true,
-          "requires": {
-            "assign-symbols": "^1.0.0",
-            "is-extendable": "^1.0.1"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        },
-        "is-windows": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-          "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-          "dev": true
-        }
-      }
-    },
-    "natural-compare": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
-      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
-      "dev": true
-    },
-    "negotiator": {
-      "version": "0.6.3",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
-      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
-      "dev": true
-    },
-    "neo-async": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
-      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
-      "dev": true
-    },
-    "nested-error-stacks": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz",
-      "integrity": "sha1-GfYZWRUZ8JZ2mlupqG5u7sgjw88=",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.1"
-      }
-    },
-    "nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
-      "dev": true
-    },
-    "nise": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.1.tgz",
-      "integrity": "sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==",
-      "dev": true,
-      "requires": {
-        "@sinonjs/commons": "^1.8.3",
-        "@sinonjs/fake-timers": ">=5",
-        "@sinonjs/text-encoding": "^0.7.1",
-        "just-extend": "^4.0.2",
-        "path-to-regexp": "^1.7.0"
-      }
-    },
-    "no-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
-      "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
-      "dev": true,
-      "requires": {
-        "lower-case": "^2.0.2",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "node-emoji": {
-      "version": "1.11.0",
-      "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
-      "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.21"
-      }
-    },
-    "node-fetch": {
-      "version": "2.6.7",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
-      "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
-      "dev": true,
-      "requires": {
-        "whatwg-url": "^5.0.0"
-      }
-    },
-    "node-gyp": {
-      "version": "8.4.1",
-      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
-      "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
-      "dev": true,
-      "requires": {
-        "env-paths": "^2.2.0",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.2.6",
-        "make-fetch-happen": "^9.1.0",
-        "nopt": "^5.0.0",
-        "npmlog": "^6.0.0",
-        "rimraf": "^3.0.2",
-        "semver": "^7.3.5",
-        "tar": "^6.1.2",
-        "which": "^2.0.2"
-      },
-      "dependencies": {
-        "are-we-there-yet": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz",
-          "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==",
-          "dev": true,
-          "requires": {
-            "delegates": "^1.0.0",
-            "readable-stream": "^3.6.0"
-          }
-        },
-        "gauge": {
-          "version": "4.0.4",
-          "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
-          "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
-          "dev": true,
-          "requires": {
-            "aproba": "^1.0.3 || ^2.0.0",
-            "color-support": "^1.1.3",
-            "console-control-strings": "^1.1.0",
-            "has-unicode": "^2.0.1",
-            "signal-exit": "^3.0.7",
-            "string-width": "^4.2.3",
-            "strip-ansi": "^6.0.1",
-            "wide-align": "^1.1.5"
-          }
-        },
-        "npmlog": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
-          "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
-          "dev": true,
-          "requires": {
-            "are-we-there-yet": "^3.0.0",
-            "console-control-strings": "^1.1.0",
-            "gauge": "^4.0.3",
-            "set-blocking": "^2.0.0"
-          }
-        },
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "wide-align": {
-          "version": "1.1.5",
-          "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
-          "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
-          "dev": true,
-          "requires": {
-            "string-width": "^1.0.2 || 2 || 3 || 4"
-          }
-        }
-      }
-    },
-    "node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "dev": true,
-      "requires": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      },
-      "dependencies": {
-        "buffer": {
-          "version": "4.9.2",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
-          "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
-          "dev": true,
-          "requires": {
-            "base64-js": "^1.0.2",
-            "ieee754": "^1.1.4",
-            "isarray": "^1.0.0"
-          }
-        },
-        "events": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-          "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-          "dev": true
-        },
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        },
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "stream-http": {
-          "version": "2.8.3",
-          "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-          "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-          "dev": true,
-          "requires": {
-            "builtin-status-codes": "^3.0.0",
-            "inherits": "^2.0.1",
-            "readable-stream": "^2.3.6",
-            "to-arraybuffer": "^1.0.0",
-            "xtend": "^4.0.0"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "timers-browserify": {
-          "version": "2.0.12",
-          "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
-          "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
-          "dev": true,
-          "requires": {
-            "setimmediate": "^1.0.4"
-          }
-        },
-        "tty-browserify": {
-          "version": "0.0.0",
-          "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-          "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-          "dev": true
-        },
-        "util": {
-          "version": "0.11.1",
-          "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-          "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-          "dev": true,
-          "requires": {
-            "inherits": "2.0.3"
-          }
-        }
-      }
-    },
-    "node-preload": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
-      "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
-      "dev": true,
-      "requires": {
-        "process-on-spawn": "^1.0.0"
-      }
-    },
-    "node-releases": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
-      "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==",
-      "dev": true
-    },
-    "node-sass": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz",
-      "integrity": "sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==",
-      "dev": true,
-      "requires": {
-        "async-foreach": "^0.1.3",
-        "chalk": "^4.1.2",
-        "cross-spawn": "^7.0.3",
-        "gaze": "^1.0.0",
-        "get-stdin": "^4.0.1",
-        "glob": "^7.0.3",
-        "lodash": "^4.17.15",
-        "meow": "^9.0.0",
-        "nan": "^2.13.2",
-        "node-gyp": "^8.4.1",
-        "npmlog": "^5.0.0",
-        "request": "^2.88.0",
-        "sass-graph": "4.0.0",
-        "stdout-stream": "^1.4.0",
-        "true-case-path": "^1.0.2"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "node-status-codes": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
-      "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
-      "dev": true
-    },
-    "nopt": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
-      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
-      "dev": true,
-      "requires": {
-        "abbrev": "1"
-      }
-    },
-    "normalize-package-data": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
-      "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
-      "dev": true,
-      "requires": {
-        "hosted-git-info": "^4.0.1",
-        "is-core-module": "^2.5.0",
-        "semver": "^7.3.4",
-        "validate-npm-package-license": "^3.0.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "7.3.7",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
-          "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        }
-      }
-    },
-    "normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "dev": true
-    },
-    "normalize-url": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz",
-      "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
-      "dev": true,
-      "requires": {
-        "prepend-http": "^2.0.0",
-        "query-string": "^5.0.1",
-        "sort-keys": "^2.0.0"
-      },
-      "dependencies": {
-        "prepend-http": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
-          "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
-          "dev": true
-        },
-        "sort-keys": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
-          "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
-          "dev": true,
-          "requires": {
-            "is-plain-obj": "^1.0.0"
-          }
-        }
-      }
-    },
-    "npm-check": {
-      "version": "4.1.4",
-      "resolved": "https://registry.npmjs.org/npm-check/-/npm-check-4.1.4.tgz",
-      "integrity": "sha1-05Q2to62GNiEBsONmKDM7cvfois=",
-      "dev": true,
-      "requires": {
-        "buffered-spawn": "^1.1.2",
-        "chalk": "^1.1.0",
-        "cli-cursor": "^1.0.2",
-        "commander": "^2.9.0",
-        "depcheck": "^0.5.9",
-        "figures": "^1.4.0",
-        "giturl": "^1.0.0",
-        "global-modules": "^0.2.0",
-        "globby": "^3.0.1",
-        "inquirer": "^0.11.0",
-        "lodash": "^3.10.0",
-        "node-emoji": "^1.0.3",
-        "package-json": "^2.0.1",
-        "q": "^1.4.1",
-        "semver": "^5.0.1",
-        "semver-diff": "^2.0.0",
-        "text-table": "^0.2.0",
-        "update-notifier": "^0.5.0"
-      },
-      "dependencies": {
-        "ansi-escapes": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
-          "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
-          "dev": true
-        },
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "array-union": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-          "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-          "dev": true,
-          "requires": {
-            "array-uniq": "^1.0.1"
-          }
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "cli-cursor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
-          "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
-          "dev": true,
-          "requires": {
-            "restore-cursor": "^1.0.1"
-          }
-        },
-        "cli-width": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz",
-          "integrity": "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=",
-          "dev": true
-        },
-        "figures": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
-          "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
-          "dev": true,
-          "requires": {
-            "escape-string-regexp": "^1.0.5",
-            "object-assign": "^4.1.0"
-          }
-        },
-        "glob": {
-          "version": "5.0.15",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
-          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
-          "dev": true,
-          "requires": {
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "2 || 3",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "globby": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/globby/-/globby-3.0.1.tgz",
-          "integrity": "sha1-IJSvhCHhkVIVDViT62QWsxLZoi8=",
-          "dev": true,
-          "requires": {
-            "array-union": "^1.0.1",
-            "arrify": "^1.0.0",
-            "glob": "^5.0.3",
-            "object-assign": "^4.0.1",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^1.0.0"
-          }
-        },
-        "inquirer": {
-          "version": "0.11.4",
-          "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.11.4.tgz",
-          "integrity": "sha1-geM3ToNhvq/y2XAWIG01nQsy+k0=",
-          "dev": true,
-          "requires": {
-            "ansi-escapes": "^1.1.0",
-            "ansi-regex": "^2.0.0",
-            "chalk": "^1.0.0",
-            "cli-cursor": "^1.0.1",
-            "cli-width": "^1.0.1",
-            "figures": "^1.3.5",
-            "lodash": "^3.3.1",
-            "readline2": "^1.0.1",
-            "run-async": "^0.1.0",
-            "rx-lite": "^3.1.2",
-            "string-width": "^1.0.1",
-            "strip-ansi": "^3.0.0",
-            "through": "^2.3.6"
-          }
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-          "dev": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "lodash": {
-          "version": "3.10.1",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
-          "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
-          "dev": true
-        },
-        "onetime": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
-          "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
-          "dev": true
-        },
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        },
-        "pinkie": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz",
-          "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=",
-          "dev": true
-        },
-        "pinkie-promise": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz",
-          "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=",
-          "dev": true,
-          "requires": {
-            "pinkie": "^1.0.0"
-          }
-        },
-        "restore-cursor": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
-          "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
-          "dev": true,
-          "requires": {
-            "exit-hook": "^1.0.0",
-            "onetime": "^1.0.0"
-          }
-        },
-        "run-async": {
-          "version": "0.1.0",
-          "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
-          "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
-          "dev": true,
-          "requires": {
-            "once": "^1.3.0"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
-        }
-      }
-    },
-    "npm-conf": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
-      "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
-      "dev": true,
-      "requires": {
-        "config-chain": "^1.1.11",
-        "pify": "^3.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-          "dev": true
-        }
-      }
-    },
-    "npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "dev": true,
-      "requires": {
-        "path-key": "^2.0.0"
-      },
-      "dependencies": {
-        "path-key": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-          "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-          "dev": true
-        }
-      }
-    },
-    "npmlog": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
-      "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
-      "dev": true,
-      "requires": {
-        "are-we-there-yet": "^2.0.0",
-        "console-control-strings": "^1.1.0",
-        "gauge": "^3.0.0",
-        "set-blocking": "^2.0.0"
-      }
-    },
-    "number-is-nan": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
-      "dev": true
-    },
-    "nyc": {
-      "version": "15.1.0",
-      "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
-      "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
-      "dev": true,
-      "requires": {
-        "@istanbuljs/load-nyc-config": "^1.0.0",
-        "@istanbuljs/schema": "^0.1.2",
-        "caching-transform": "^4.0.0",
-        "convert-source-map": "^1.7.0",
-        "decamelize": "^1.2.0",
-        "find-cache-dir": "^3.2.0",
-        "find-up": "^4.1.0",
-        "foreground-child": "^2.0.0",
-        "get-package-type": "^0.1.0",
-        "glob": "^7.1.6",
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-hook": "^3.0.0",
-        "istanbul-lib-instrument": "^4.0.0",
-        "istanbul-lib-processinfo": "^2.0.2",
-        "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^4.0.0",
-        "istanbul-reports": "^3.0.2",
-        "make-dir": "^3.0.0",
-        "node-preload": "^0.2.1",
-        "p-map": "^3.0.0",
-        "process-on-spawn": "^1.0.0",
-        "resolve-from": "^5.0.0",
-        "rimraf": "^3.0.0",
-        "signal-exit": "^3.0.2",
-        "spawn-wrap": "^2.0.0",
-        "test-exclude": "^6.0.0",
-        "yargs": "^15.0.2"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "cliui": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
-          "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
-          "dev": true,
-          "requires": {
-            "string-width": "^4.2.0",
-            "strip-ansi": "^6.0.0",
-            "wrap-ansi": "^6.2.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "istanbul-lib-source-maps": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
-          "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
-          "dev": true,
-          "requires": {
-            "debug": "^4.1.1",
-            "istanbul-lib-coverage": "^3.0.0",
-            "source-map": "^0.6.1"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-map": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
-          "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
-          "dev": true,
-          "requires": {
-            "aggregate-error": "^3.0.0"
-          }
-        },
-        "resolve-from": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-          "dev": true
-        },
-        "wrap-ansi": {
-          "version": "6.2.0",
-          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
-          "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.0.0",
-            "string-width": "^4.1.0",
-            "strip-ansi": "^6.0.0"
-          }
-        },
-        "y18n": {
-          "version": "4.0.3",
-          "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
-          "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
-          "dev": true
-        },
-        "yargs": {
-          "version": "15.4.1",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
-          "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
-          "dev": true,
-          "requires": {
-            "cliui": "^6.0.0",
-            "decamelize": "^1.2.0",
-            "find-up": "^4.1.0",
-            "get-caller-file": "^2.0.1",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^2.0.0",
-            "set-blocking": "^2.0.0",
-            "string-width": "^4.2.0",
-            "which-module": "^2.0.0",
-            "y18n": "^4.0.0",
-            "yargs-parser": "^18.1.2"
-          }
-        },
-        "yargs-parser": {
-          "version": "18.1.3",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
-          "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
-          "dev": true,
-          "requires": {
-            "camelcase": "^5.0.0",
-            "decamelize": "^1.2.0"
-          }
-        }
-      }
-    },
-    "oauth-sign": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
-      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
-      "dev": true
-    },
-    "object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true
-    },
-    "object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
-      "requires": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "object-inspect": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
-      "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
-      "dev": true
-    },
-    "object-keys": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-      "dev": true
-    },
-    "object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.0"
-      }
-    },
-    "object.assign": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
-      "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "has-symbols": "^1.0.1",
-        "object-keys": "^1.1.1"
-      }
-    },
-    "object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "offset-sourcemap-lines": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/offset-sourcemap-lines/-/offset-sourcemap-lines-1.0.1.tgz",
-      "integrity": "sha1-WFTf90tz/Abvy2HXtyGoET2ZvpI=",
-      "dev": true,
-      "requires": {
-        "source-map": "^0.5.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "on-finished": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
-      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
-      "dev": true,
-      "requires": {
-        "ee-first": "1.1.1"
-      }
-    },
-    "once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
-      "requires": {
-        "wrappy": "1"
-      }
-    },
-    "onetime": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
-      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
-      "dev": true,
-      "requires": {
-        "mimic-fn": "^2.1.0"
-      }
-    },
-    "ono": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/ono/-/ono-6.0.1.tgz",
-      "integrity": "sha512-5rdYW/106kHqLeG22GE2MHKq+FlsxMERZev9DCzQX1zwkxnFwBivSn5i17a5O/rDmOJOdf4Wyt80UZljzx9+DA==",
-      "dev": true
-    },
-    "openapi-types": {
-      "version": "9.3.1",
-      "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.3.1.tgz",
-      "integrity": "sha512-/Yvsd2D7miYB4HLJ3hOOS0+vnowQpaT75FsHzr/y5M9P4q9bwa7RcbW2YdH6KZBn8ceLbKGnHxMZ1CHliGHUFw==",
-      "dev": true
-    },
-    "optionator": {
-      "version": "0.9.1",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
-      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
-      "dev": true,
-      "requires": {
-        "deep-is": "^0.1.3",
-        "fast-levenshtein": "^2.0.6",
-        "levn": "^0.4.1",
-        "prelude-ls": "^1.2.1",
-        "type-check": "^0.4.0",
-        "word-wrap": "^1.2.3"
-      }
-    },
-    "os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
-    },
-    "os-filter-obj": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz",
-      "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==",
-      "dev": true,
-      "requires": {
-        "arch": "^2.1.0"
-      }
-    },
-    "os-homedir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
-      "dev": true
-    },
-    "os-locale": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
-      "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
-      "dev": true,
-      "requires": {
-        "lcid": "^1.0.0"
-      }
-    },
-    "os-tmpdir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true
-    },
-    "osenv": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
-      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
-      "dev": true,
-      "requires": {
-        "os-homedir": "^1.0.0",
-        "os-tmpdir": "^1.0.0"
-      }
-    },
-    "outpipe": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
-      "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=",
-      "dev": true,
-      "requires": {
-        "shell-quote": "^1.4.2"
-      }
-    },
-    "p-cancelable": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz",
-      "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==",
-      "dev": true
-    },
-    "p-event": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz",
-      "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==",
-      "dev": true,
-      "requires": {
-        "p-timeout": "^2.0.1"
-      }
-    },
-    "p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true
-    },
-    "p-is-promise": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
-      "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
-      "dev": true
-    },
-    "p-limit": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
-      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
-      "dev": true,
-      "requires": {
-        "yocto-queue": "^0.1.0"
-      }
-    },
-    "p-locate": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
-      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
-      "dev": true,
-      "requires": {
-        "p-limit": "^3.0.2"
-      }
-    },
-    "p-map": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
-      "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
-      "dev": true,
-      "requires": {
-        "aggregate-error": "^3.0.0"
-      }
-    },
-    "p-timeout": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz",
-      "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
-      "dev": true,
-      "requires": {
-        "p-finally": "^1.0.0"
-      }
-    },
-    "p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true
-    },
-    "package-hash": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
-      "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.15",
-        "hasha": "^5.0.0",
-        "lodash.flattendeep": "^4.4.0",
-        "release-zalgo": "^1.0.0"
-      }
-    },
-    "package-json": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz",
-      "integrity": "sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs=",
-      "dev": true,
-      "requires": {
-        "got": "^5.0.0",
-        "registry-auth-token": "^3.0.1",
-        "registry-url": "^3.0.3",
-        "semver": "^5.1.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "pako": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "dev": true
-    },
-    "parallel-transform": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
-      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "dev": true,
-      "requires": {
-        "cyclist": "^1.0.1",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "param-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
-      "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
-      "dev": true,
-      "requires": {
-        "dot-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "parent-module": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
-      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
-      "dev": true,
-      "requires": {
-        "callsites": "^3.0.0"
-      }
-    },
-    "parents": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
-      "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
-      "dev": true,
-      "requires": {
-        "path-platform": "~0.11.15"
-      }
-    },
-    "parse-asn1": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
-      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
-      "dev": true,
-      "requires": {
-        "asn1.js": "^5.2.0",
-        "browserify-aes": "^1.0.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "parse-json": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
-      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
-      "dev": true,
-      "requires": {
-        "error-ex": "^1.2.0"
-      }
-    },
-    "parse-passwd": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
-      "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
-      "dev": true
-    },
-    "parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
-      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
-      "dev": true
-    },
-    "pascal-case": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
-      "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
-      "dev": true,
-      "requires": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
-    },
-    "path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
-      "dev": true
-    },
-    "path-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz",
-      "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==",
-      "dev": true,
-      "requires": {
-        "dot-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
-    },
-    "path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true
-    },
-    "path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true
-    },
-    "path-key": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
-      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-      "dev": true
-    },
-    "path-parse": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
-      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
-      "dev": true
-    },
-    "path-platform": {
-      "version": "0.11.15",
-      "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
-      "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=",
-      "dev": true
-    },
-    "path-to-regexp": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
-      "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
-      "dev": true,
-      "requires": {
-        "isarray": "0.0.1"
-      }
-    },
-    "path-type": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
-      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
-      "dev": true
-    },
-    "pathval": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
-      "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
-      "dev": true
-    },
-    "pbkdf2": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
-      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
-      "dev": true,
-      "requires": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "pend": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
-      "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
-      "dev": true
-    },
-    "performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
-    },
-    "picocolors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
-      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
-      "dev": true
-    },
-    "picomatch": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
-      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
-      "dev": true
-    },
-    "pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "dev": true
-    },
-    "pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true
-    },
-    "pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
-      "requires": {
-        "pinkie": "^2.0.0"
-      }
-    },
-    "pkg-dir": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-      "dev": true,
-      "requires": {
-        "find-up": "^4.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        }
-      }
-    },
-    "posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
-    },
-    "prelude-ls": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
-      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
-      "dev": true
-    },
-    "prepend-http": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
-      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
-      "dev": true
-    },
-    "process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true
-    },
-    "process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "dev": true
-    },
-    "process-on-spawn": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
-      "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
-      "dev": true,
-      "requires": {
-        "fromentries": "^1.2.0"
-      }
-    },
-    "progress": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
-      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
-      "dev": true
-    },
-    "promise-inflight": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
-    },
-    "promise-retry": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
-      "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
-      "dev": true,
-      "requires": {
-        "err-code": "^2.0.2",
-        "retry": "^0.12.0"
-      },
-      "dependencies": {
-        "err-code": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
-          "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
-          "dev": true
-        }
-      }
-    },
-    "proto-list": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
-      "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
-      "dev": true
-    },
-    "proxy-from-env": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
-      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
-      "dev": true
-    },
-    "prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
-      "dev": true
-    },
-    "pseudomap": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
-      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
-      "dev": true
-    },
-    "psl": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
-      "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
-      "dev": true
-    },
-    "public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "pump": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
-      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dev": true,
-      "requires": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      },
-      "dependencies": {
-        "pump": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-          "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-          "dev": true,
-          "requires": {
-            "end-of-stream": "^1.1.0",
-            "once": "^1.3.1"
-          }
-        }
-      }
-    },
-    "punycode": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-      "dev": true
-    },
-    "puppeteer-core": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-5.5.0.tgz",
-      "integrity": "sha512-tlA+1n+ziW/Db03hVV+bAecDKse8ihFRXYiEypBe9IlLRvOCzYFG6qrCMBYK34HO/Q/Ecjc+tvkHRAfLVH+NgQ==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "devtools-protocol": "0.0.818844",
-        "extract-zip": "^2.0.0",
-        "https-proxy-agent": "^4.0.0",
-        "node-fetch": "^2.6.1",
-        "pkg-dir": "^4.2.0",
-        "progress": "^2.0.1",
-        "proxy-from-env": "^1.0.0",
-        "rimraf": "^3.0.2",
-        "tar-fs": "^2.0.0",
-        "unbzip2-stream": "^1.3.3",
-        "ws": "^7.2.3"
-      },
-      "dependencies": {
-        "agent-base": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
-          "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
-          "dev": true
-        },
-        "https-proxy-agent": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
-          "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
-          "dev": true,
-          "requires": {
-            "agent-base": "5",
-            "debug": "4"
-          }
-        },
-        "ws": {
-          "version": "7.5.7",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz",
-          "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==",
-          "dev": true,
-          "requires": {}
-        }
-      }
-    },
-    "q": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
-      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
-      "dev": true
-    },
-    "qjobs": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
-      "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
-      "dev": true
-    },
-    "qs": {
-      "version": "6.10.3",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
-      "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
-      "dev": true,
-      "requires": {
-        "side-channel": "^1.0.4"
-      }
-    },
-    "query-string": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
-      "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
-      "dev": true,
-      "requires": {
-        "decode-uri-component": "^0.2.0",
-        "object-assign": "^4.1.0",
-        "strict-uri-encode": "^1.0.0"
-      }
-    },
-    "querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "dev": true
-    },
-    "querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true
-    },
-    "queue-microtask": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
-      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
-      "dev": true
-    },
-    "quick-lru": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
-      "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
-      "dev": true
-    },
-    "randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
-      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
-      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
-      "dev": true
-    },
-    "raw-body": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
-      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.2",
-        "http-errors": "2.0.0",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      }
-    },
-    "rc": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
-      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
-      "dev": true,
-      "requires": {
-        "deep-extend": "^0.6.0",
-        "ini": "~1.3.0",
-        "minimist": "^1.2.0",
-        "strip-json-comments": "~2.0.1"
-      },
-      "dependencies": {
-        "strip-json-comments": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
-          "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
-          "dev": true
-        }
-      }
-    },
-    "read-all-stream": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
-      "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
-      "dev": true,
-      "requires": {
-        "pinkie-promise": "^2.0.0",
-        "readable-stream": "^2.0.0"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "read-only-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
-      "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
-      "dev": true,
-      "requires": {
-        "readable-stream": "^2.0.2"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-      "dev": true,
-      "requires": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      },
-      "dependencies": {
-        "hosted-git-info": {
-          "version": "2.8.9",
-          "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
-          "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
-          "dev": true
-        },
-        "normalize-package-data": {
-          "version": "2.5.0",
-          "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-          "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-          "dev": true,
-          "requires": {
-            "hosted-git-info": "^2.1.4",
-            "resolve": "^1.10.0",
-            "semver": "2 || 3 || 4 || 5",
-            "validate-npm-package-license": "^3.0.1"
-          }
-        },
-        "parse-json": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
-          "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.0.0",
-            "error-ex": "^1.3.1",
-            "json-parse-even-better-errors": "^2.3.0",
-            "lines-and-columns": "^1.1.6"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        },
-        "type-fest": {
-          "version": "0.6.0",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-          "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-          "dev": true
-        }
-      }
-    },
-    "read-pkg-up": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-      "dev": true,
-      "requires": {
-        "find-up": "^4.1.0",
-        "read-pkg": "^5.2.0",
-        "type-fest": "^0.8.1"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.8.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-          "dev": true
-        }
-      }
-    },
-    "readable-stream": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      }
-    },
-    "readdir-glob": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz",
-      "integrity": "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==",
-      "dev": true,
-      "requires": {
-        "minimatch": "^3.0.4"
-      }
-    },
-    "readdirp": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
-      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-      "dev": true,
-      "requires": {
-        "picomatch": "^2.2.1"
-      }
-    },
-    "readline2": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
-      "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
-      "dev": true,
-      "requires": {
-        "code-point-at": "^1.0.0",
-        "is-fullwidth-code-point": "^1.0.0",
-        "mute-stream": "0.0.5"
-      },
-      "dependencies": {
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-          "dev": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "mute-stream": {
-          "version": "0.0.5",
-          "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
-          "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
-          "dev": true
-        }
-      }
-    },
-    "rechoir": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
-      "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
-      "dev": true,
-      "requires": {
-        "resolve": "^1.1.6"
-      }
-    },
-    "redent": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
-      "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
-      "dev": true,
-      "requires": {
-        "indent-string": "^4.0.0",
-        "strip-indent": "^3.0.0"
-      }
-    },
-    "regenerate": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
-      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
-      "dev": true
-    },
-    "regenerate-unicode-properties": {
-      "version": "10.0.1",
-      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz",
-      "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.2"
-      }
-    },
-    "regenerator-runtime": {
-      "version": "0.13.9",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
-      "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
-      "dev": true
-    },
-    "regenerator-transform": {
-      "version": "0.15.0",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
-      "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.8.4"
-      }
-    },
-    "regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-          "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-          "dev": true,
-          "requires": {
-            "assign-symbols": "^1.0.0",
-            "is-extendable": "^1.0.1"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "regexpp": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
-      "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
-      "dev": true
-    },
-    "regexpu-core": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz",
-      "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.2",
-        "regenerate-unicode-properties": "^10.0.1",
-        "regjsgen": "^0.6.0",
-        "regjsparser": "^0.8.2",
-        "unicode-match-property-ecmascript": "^2.0.0",
-        "unicode-match-property-value-ecmascript": "^2.0.0"
-      }
-    },
-    "regextras": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz",
-      "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==",
-      "dev": true
-    },
-    "registry-auth-token": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz",
-      "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==",
-      "dev": true,
-      "requires": {
-        "rc": "^1.1.6",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "registry-url": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
-      "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
-      "dev": true,
-      "requires": {
-        "rc": "^1.0.1"
-      }
-    },
-    "regjsgen": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz",
-      "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==",
-      "dev": true
-    },
-    "regjsparser": {
-      "version": "0.8.4",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz",
-      "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==",
-      "dev": true,
-      "requires": {
-        "jsesc": "~0.5.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
-        }
-      }
-    },
-    "release-zalgo": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
-      "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
-      "dev": true,
-      "requires": {
-        "es6-error": "^4.0.1"
-      }
-    },
-    "remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
-    },
-    "repeat-element": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
-      "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
-      "dev": true
-    },
-    "repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
-    },
-    "repeating": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz",
-      "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=",
-      "dev": true,
-      "requires": {
-        "is-finite": "^1.0.0"
-      }
-    },
-    "request": {
-      "version": "2.88.2",
-      "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
-      "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
-      "dev": true,
-      "requires": {
-        "aws-sign2": "~0.7.0",
-        "aws4": "^1.8.0",
-        "caseless": "~0.12.0",
-        "combined-stream": "~1.0.6",
-        "extend": "~3.0.2",
-        "forever-agent": "~0.6.1",
-        "form-data": "~2.3.2",
-        "har-validator": "~5.1.3",
-        "http-signature": "~1.2.0",
-        "is-typedarray": "~1.0.0",
-        "isstream": "~0.1.2",
-        "json-stringify-safe": "~5.0.1",
-        "mime-types": "~2.1.19",
-        "oauth-sign": "~0.9.0",
-        "performance-now": "^2.1.0",
-        "qs": "~6.5.2",
-        "safe-buffer": "^5.1.2",
-        "tough-cookie": "~2.5.0",
-        "tunnel-agent": "^0.6.0",
-        "uuid": "^3.3.2"
-      },
-      "dependencies": {
-        "qs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
-          "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
-          "dev": true
-        }
-      }
-    },
-    "require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true
-    },
-    "require-from-string": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
-      "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
-    },
-    "require-main-filename": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
-      "dev": true
-    },
-    "require-package-name": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz",
-      "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=",
-      "dev": true
-    },
-    "requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
-      "dev": true
-    },
-    "resolve": {
-      "version": "1.22.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
-      "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
-      "dev": true,
-      "requires": {
-        "is-core-module": "^2.8.1",
-        "path-parse": "^1.0.7",
-        "supports-preserve-symlinks-flag": "^1.0.0"
-      }
-    },
-    "resolve-alpn": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
-      "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==",
-      "dev": true
-    },
-    "resolve-from": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
-      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
-      "dev": true
-    },
-    "resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
-    },
-    "responselike": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
-      "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
-      "dev": true,
-      "requires": {
-        "lowercase-keys": "^1.0.0"
-      }
-    },
-    "resq": {
-      "version": "1.10.2",
-      "resolved": "https://registry.npmjs.org/resq/-/resq-1.10.2.tgz",
-      "integrity": "sha512-HmgVS3j+FLrEDBTDYysPdPVF9/hioDMJ/otOiQDKqk77YfZeeLOj0qi34yObumcud1gBpk+wpBTEg4kMicD++A==",
-      "dev": true,
-      "requires": {
-        "fast-deep-equal": "^2.0.1"
-      },
-      "dependencies": {
-        "fast-deep-equal": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-          "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
-          "dev": true
-        }
-      }
-    },
-    "restore-cursor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
-      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
-      "dev": true,
-      "requires": {
-        "onetime": "^5.1.0",
-        "signal-exit": "^3.0.2"
-      }
-    },
-    "ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true
-    },
-    "retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
-      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
-      "dev": true
-    },
-    "reusify": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
-      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
-      "dev": true
-    },
-    "rfdc": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
-      "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
-      "dev": true
-    },
-    "rgb2hex": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.2.3.tgz",
-      "integrity": "sha512-clEe0m1xv+Tva1B/TOepuIcvLAxP0U+sCDfgt1SX1HmI2Ahr5/Cd/nzJM1e78NKVtWdoo0s33YehpFA8UfIShQ==",
-      "dev": true
-    },
-    "rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.1.3"
-      }
-    },
-    "ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "roarr": {
-      "version": "2.15.4",
-      "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
-      "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
-      "dev": true,
-      "requires": {
-        "boolean": "^3.0.1",
-        "detect-node": "^2.0.4",
-        "globalthis": "^1.0.1",
-        "json-stringify-safe": "^5.0.1",
-        "semver-compare": "^1.0.0",
-        "sprintf-js": "^1.1.2"
-      },
-      "dependencies": {
-        "sprintf-js": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
-          "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
-          "dev": true
-        }
-      }
-    },
-    "run-async": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
-      "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
-      "dev": true
-    },
-    "run-parallel": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
-      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
-      "dev": true,
-      "requires": {
-        "queue-microtask": "^1.2.2"
-      }
-    },
-    "run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1"
-      },
-      "dependencies": {
-        "aproba": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-          "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-          "dev": true
-        }
-      }
-    },
-    "rx-lite": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
-      "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
-      "dev": true
-    },
-    "rxjs": {
-      "version": "6.6.7",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
-      "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
-      "requires": {
-        "ret": "~0.1.10"
-      }
-    },
-    "safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-      "dev": true
-    },
-    "sass-graph": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz",
-      "integrity": "sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.0.0",
-        "lodash": "^4.17.11",
-        "scss-tokenizer": "^0.3.0",
-        "yargs": "^17.2.1"
-      },
-      "dependencies": {
-        "yargs": {
-          "version": "17.5.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.0.tgz",
-          "integrity": "sha512-3sLxVhbAB5OC8qvVRebCLWuouhwh/rswsiDYx3WGxajUk/l4G20SKfrKKFeNIHboUFt2JFgv2yfn+5cgOr/t5A==",
-          "dev": true,
-          "requires": {
-            "cliui": "^7.0.2",
-            "escalade": "^3.1.1",
-            "get-caller-file": "^2.0.5",
-            "require-directory": "^2.1.1",
-            "string-width": "^4.2.3",
-            "y18n": "^5.0.5",
-            "yargs-parser": "^21.0.0"
-          }
-        },
-        "yargs-parser": {
-          "version": "21.0.1",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
-          "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
-          "dev": true
-        }
-      }
-    },
-    "saucelabs": {
-      "version": "4.7.8",
-      "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-4.7.8.tgz",
-      "integrity": "sha512-K2qaRUixc7+8JiAwpTvEsIQVzzUkYwa0mAfs0akGagRlWXUR1JrsmgJRyz28qkwpERW1KDuByn3Ju96BuW1V7Q==",
-      "dev": true,
-      "requires": {
-        "bin-wrapper": "^4.1.0",
-        "change-case": "^4.1.1",
-        "form-data": "^3.0.0",
-        "got": "^11.7.0",
-        "hash.js": "^1.1.7",
-        "tunnel": "0.0.6",
-        "yargs": "^16.0.3"
-      },
-      "dependencies": {
-        "@sindresorhus/is": {
-          "version": "4.6.0",
-          "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
-          "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
-          "dev": true
-        },
-        "cacheable-request": {
-          "version": "7.0.2",
-          "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
-          "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
-          "dev": true,
-          "requires": {
-            "clone-response": "^1.0.2",
-            "get-stream": "^5.1.0",
-            "http-cache-semantics": "^4.0.0",
-            "keyv": "^4.0.0",
-            "lowercase-keys": "^2.0.0",
-            "normalize-url": "^6.0.1",
-            "responselike": "^2.0.0"
-          }
-        },
-        "decompress-response": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
-          "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
-          "dev": true,
-          "requires": {
-            "mimic-response": "^3.1.0"
-          }
-        },
-        "form-data": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
-          "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
-          "dev": true,
-          "requires": {
-            "asynckit": "^0.4.0",
-            "combined-stream": "^1.0.8",
-            "mime-types": "^2.1.12"
-          }
-        },
-        "get-stream": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
-          "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
-          "dev": true,
-          "requires": {
-            "pump": "^3.0.0"
-          }
-        },
-        "got": {
-          "version": "11.8.3",
-          "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz",
-          "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==",
-          "dev": true,
-          "requires": {
-            "@sindresorhus/is": "^4.0.0",
-            "@szmarczak/http-timer": "^4.0.5",
-            "@types/cacheable-request": "^6.0.1",
-            "@types/responselike": "^1.0.0",
-            "cacheable-lookup": "^5.0.3",
-            "cacheable-request": "^7.0.2",
-            "decompress-response": "^6.0.0",
-            "http2-wrapper": "^1.0.0-beta.5.2",
-            "lowercase-keys": "^2.0.0",
-            "p-cancelable": "^2.0.0",
-            "responselike": "^2.0.0"
-          }
-        },
-        "json-buffer": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
-          "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
-          "dev": true
-        },
-        "keyv": {
-          "version": "4.2.8",
-          "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.2.8.tgz",
-          "integrity": "sha512-IZZo6krhHWPhgsP5mBkEdPopVPN/stgCnBVuqi6dda/Nm5mDTOSVTrFMkWqlJsDum+B0YSe887tNxdjDWkO7aQ==",
-          "dev": true,
-          "requires": {
-            "compress-brotli": "^1.3.8",
-            "json-buffer": "3.0.1"
-          }
-        },
-        "lowercase-keys": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
-          "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
-          "dev": true
-        },
-        "mimic-response": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
-          "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
-          "dev": true
-        },
-        "normalize-url": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
-          "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
-          "dev": true
-        },
-        "p-cancelable": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
-          "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
-          "dev": true
-        },
-        "responselike": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
-          "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
-          "dev": true,
-          "requires": {
-            "lowercase-keys": "^2.0.0"
-          }
-        }
-      }
-    },
-    "schema-utils": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
-      "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
-      "dev": true,
-      "requires": {
-        "@types/json-schema": "^7.0.5",
-        "ajv": "^6.12.4",
-        "ajv-keywords": "^3.5.2"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "6.12.6",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "ajv-keywords": {
-          "version": "3.5.2",
-          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-          "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-          "dev": true,
-          "requires": {}
-        },
-        "json-schema-traverse": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-          "dev": true
-        }
-      }
-    },
-    "scss-tokenizer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz",
-      "integrity": "sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==",
-      "dev": true,
-      "requires": {
-        "js-base64": "^2.4.3",
-        "source-map": "^0.7.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.7.3",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-          "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-          "dev": true
-        }
-      }
-    },
-    "seek-bzip": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz",
-      "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==",
-      "dev": true,
-      "requires": {
-        "commander": "^2.8.1"
-      }
-    },
-    "semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true
-    },
-    "semver-compare": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
-      "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
-      "dev": true
-    },
-    "semver-diff": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
-      "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
-      "dev": true,
-      "requires": {
-        "semver": "^5.0.3"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "semver-regex": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
-      "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
-      "dev": true
-    },
-    "semver-truncate": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz",
-      "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=",
-      "dev": true,
-      "requires": {
-        "semver": "^5.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "sentence-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
-      "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
-      "dev": true,
-      "requires": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3",
-        "upper-case-first": "^2.0.2"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "serialize-error": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
-      "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
-      "dev": true,
-      "requires": {
-        "type-fest": "^0.13.1"
-      },
-      "dependencies": {
-        "type-fest": {
-          "version": "0.13.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
-          "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
-          "dev": true
-        }
-      }
-    },
-    "serialize-javascript": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
-      "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      }
-    },
-    "setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
-      "dev": true
-    },
-    "setprototypeof": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
-      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
-      "dev": true
-    },
-    "sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "shallow-clone": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
-      "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^6.0.2"
-      }
-    },
-    "shasum": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
-      "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
-      "dev": true,
-      "requires": {
-        "json-stable-stringify": "~0.0.0",
-        "sha.js": "~2.4.4"
-      }
-    },
-    "shasum-object": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz",
-      "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==",
-      "dev": true,
-      "requires": {
-        "fast-safe-stringify": "^2.0.7"
-      }
-    },
-    "shebang-command": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
-      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
-      "dev": true,
-      "requires": {
-        "shebang-regex": "^3.0.0"
-      }
-    },
-    "shebang-regex": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
-      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-      "dev": true
-    },
-    "shell-quote": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz",
-      "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==",
-      "dev": true
-    },
-    "shelljs": {
-      "version": "0.8.5",
-      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
-      "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.0.0",
-        "interpret": "^1.0.0",
-        "rechoir": "^0.6.2"
-      }
-    },
-    "shx": {
-      "version": "0.3.4",
-      "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz",
-      "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.3",
-        "shelljs": "^0.8.5"
-      }
-    },
-    "side-channel": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
-      "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "get-intrinsic": "^1.0.2",
-        "object-inspect": "^1.9.0"
-      }
-    },
-    "signal-exit": {
-      "version": "3.0.7",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
-      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
-      "dev": true
-    },
-    "simple-concat": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
-      "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
-      "dev": true
-    },
-    "simplifyify": {
-      "version": "7.0.7",
-      "resolved": "https://registry.npmjs.org/simplifyify/-/simplifyify-7.0.7.tgz",
-      "integrity": "sha512-fjWBaiEJ7ku/GLHq0yZKRisZVe1V7A0M4u86qVV5mAA7mByqqDWXks48E8Jd/byVm3i3YS9WTJMp4qMJUcH5YQ==",
-      "dev": true,
-      "requires": {
-        "browserify": "^16.5.0",
-        "browserify-banner": "^1.0.16",
-        "browserify-istanbul": "^3.0.1",
-        "commander": "^4.0.1",
-        "exorcist": "^1.0.0",
-        "globby": "^10.0.1",
-        "mkdirp-promise": "^5.0.1",
-        "ono": "^6.0.0",
-        "tsify": "^4.0.1",
-        "uglify-es": "^3.3.7",
-        "uglifyify": "^5.0.2",
-        "watchify": "^3.11.1"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
-          "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
-          "dev": true
-        },
-        "globby": {
-          "version": "10.0.2",
-          "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
-          "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
-          "dev": true,
-          "requires": {
-            "@types/glob": "^7.1.1",
-            "array-union": "^2.1.0",
-            "dir-glob": "^3.0.1",
-            "fast-glob": "^3.0.3",
-            "glob": "^7.1.3",
-            "ignore": "^5.1.1",
-            "merge2": "^1.2.3",
-            "slash": "^3.0.0"
-          }
-        },
-        "ignore": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-          "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
-          "dev": true
-        }
-      }
-    },
-    "sinon": {
-      "version": "11.1.2",
-      "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz",
-      "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==",
-      "dev": true,
-      "requires": {
-        "@sinonjs/commons": "^1.8.3",
-        "@sinonjs/fake-timers": "^7.1.2",
-        "@sinonjs/samsam": "^6.0.2",
-        "diff": "^5.0.0",
-        "nise": "^5.1.0",
-        "supports-color": "^7.2.0"
-      },
-      "dependencies": {
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "slash": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
-      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
-      "dev": true
-    },
-    "slice-ansi": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
-      "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^4.0.0",
-        "astral-regex": "^2.0.0",
-        "is-fullwidth-code-point": "^3.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        }
-      }
-    },
-    "slide": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
-      "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=",
-      "dev": true
-    },
-    "smart-buffer": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
-      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
-      "dev": true
-    },
-    "snake-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
-      "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
-      "dev": true,
-      "requires": {
-        "dot-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
-      "requires": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.2.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "socket.io": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz",
-      "integrity": "sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.4",
-        "base64id": "~2.0.0",
-        "debug": "~4.3.2",
-        "engine.io": "~6.2.0",
-        "socket.io-adapter": "~2.4.0",
-        "socket.io-parser": "~4.0.4"
-      }
-    },
-    "socket.io-adapter": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
-      "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==",
-      "dev": true
-    },
-    "socket.io-parser": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
-      "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
-      "dev": true,
-      "requires": {
-        "@types/component-emitter": "^1.2.10",
-        "component-emitter": "~1.3.0",
-        "debug": "~4.3.1"
-      }
-    },
-    "socks": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
-      "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
-      "dev": true,
-      "requires": {
-        "ip": "^1.1.5",
-        "smart-buffer": "^4.2.0"
-      }
-    },
-    "socks-proxy-agent": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz",
-      "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==",
-      "dev": true,
-      "requires": {
-        "agent-base": "^6.0.2",
-        "debug": "^4.3.3",
-        "socks": "^2.6.2"
-      }
-    },
-    "sort-keys": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
-      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
-      "dev": true,
-      "requires": {
-        "is-plain-obj": "^1.0.0"
-      }
-    },
-    "sort-keys-length": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
-      "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=",
-      "dev": true,
-      "requires": {
-        "sort-keys": "^1.0.0"
-      }
-    },
-    "source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
-    },
-    "source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true
-    },
-    "source-map-resolve": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
-      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "dev": true,
-      "requires": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "source-map-support": {
-      "version": "0.5.21",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
-      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
-    "source-map-url": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
-      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
-      "dev": true
-    },
-    "spawn-wrap": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
-      "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
-      "dev": true,
-      "requires": {
-        "foreground-child": "^2.0.0",
-        "is-windows": "^1.0.2",
-        "make-dir": "^3.0.0",
-        "rimraf": "^3.0.0",
-        "signal-exit": "^3.0.2",
-        "which": "^2.0.1"
-      },
-      "dependencies": {
-        "is-windows": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-          "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-          "dev": true
-        }
-      }
-    },
-    "spdx-correct": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
-      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
-      "dev": true,
-      "requires": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-exceptions": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
-      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
-      "dev": true
-    },
-    "spdx-expression-parse": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
-      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
-      "dev": true,
-      "requires": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-license-ids": {
-      "version": "3.0.11",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
-      "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
-      "dev": true
-    },
-    "split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.0"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-          "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-          "dev": true,
-          "requires": {
-            "assign-symbols": "^1.0.0",
-            "is-extendable": "^1.0.1"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
-    },
-    "sshpk": {
-      "version": "1.17.0",
-      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
-      "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
-      "dev": true,
-      "requires": {
-        "asn1": "~0.2.3",
-        "assert-plus": "^1.0.0",
-        "bcrypt-pbkdf": "^1.0.0",
-        "dashdash": "^1.12.0",
-        "ecc-jsbn": "~0.1.1",
-        "getpass": "^0.1.1",
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.0.2",
-        "tweetnacl": "~0.14.0"
-      }
-    },
-    "ssri": {
-      "version": "8.0.1",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
-      "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.1.1"
-      }
-    },
-    "static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
-      "requires": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      }
-    },
-    "statuses": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-      "dev": true
-    },
-    "stdout-stream": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
-      "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
-      "dev": true,
-      "requires": {
-        "readable-stream": "^2.0.1"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "stream-combiner2": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
-      "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
-      "dev": true,
-      "requires": {
-        "duplexer2": "~0.1.0",
-        "readable-stream": "^2.0.2"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "stream-http": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
-      "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
-      "dev": true,
-      "requires": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "xtend": "^4.0.2"
-      }
-    },
-    "stream-shift": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
-      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
-      "dev": true
-    },
-    "stream-splicer": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz",
-      "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.2"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "streamroller": {
-      "version": "3.0.8",
-      "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.8.tgz",
-      "integrity": "sha512-VI+ni3czbFZrd1MrlybxykWZ8sMDCMtTU7YJyhgb9M5X6d1DDxLdJr+gSnmRpXPMnIWxWKMaAE8K0WumBp3lDg==",
-      "dev": true,
-      "requires": {
-        "date-format": "^4.0.9",
-        "debug": "^4.3.4",
-        "fs-extra": "^10.1.0"
-      }
-    },
-    "strict-uri-encode": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
-      "dev": true
-    },
-    "string_decoder": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.2.0"
-      },
-      "dependencies": {
-        "safe-buffer": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-          "dev": true
-        }
-      }
-    },
-    "string-argv": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz",
-      "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==",
-      "dev": true
-    },
-    "string-length": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz",
-      "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=",
-      "dev": true,
-      "requires": {
-        "strip-ansi": "^3.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        }
-      }
-    },
-    "string-width": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-      "dev": true,
-      "requires": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
-      }
-    },
-    "strip-ansi": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^5.0.1"
-      }
-    },
-    "strip-bom": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
-      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
-      "dev": true
-    },
-    "strip-dirs": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
-      "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==",
-      "dev": true,
-      "requires": {
-        "is-natural-number": "^4.0.1"
-      }
-    },
-    "strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
-      "dev": true
-    },
-    "strip-indent": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
-      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
-      "dev": true,
-      "requires": {
-        "min-indent": "^1.0.0"
-      }
-    },
-    "strip-json-comments": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
-      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
-      "dev": true
-    },
-    "strip-outer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
-      "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
-      "dev": true,
-      "requires": {
-        "escape-string-regexp": "^1.0.2"
-      }
-    },
-    "subarg": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
-      "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.1.0"
-      }
-    },
-    "supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-      "dev": true,
-      "requires": {
-        "has-flag": "^3.0.0"
-      }
-    },
-    "supports-preserve-symlinks-flag": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
-      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
-      "dev": true
-    },
-    "syntax-error": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
-      "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
-      "dev": true,
-      "requires": {
-        "acorn-node": "^1.2.0"
-      }
-    },
-    "table": {
-      "version": "6.8.0",
-      "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
-      "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
-      "dev": true,
-      "requires": {
-        "ajv": "^8.0.1",
-        "lodash.truncate": "^4.4.2",
-        "slice-ansi": "^4.0.0",
-        "string-width": "^4.2.3",
-        "strip-ansi": "^6.0.1"
-      }
-    },
-    "tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
-      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
-      "dev": true
-    },
-    "tar": {
-      "version": "6.1.11",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
-      "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
-      "dev": true,
-      "requires": {
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "minipass": "^3.0.0",
-        "minizlib": "^2.1.1",
-        "mkdirp": "^1.0.3",
-        "yallist": "^4.0.0"
-      },
-      "dependencies": {
-        "mkdirp": {
-          "version": "1.0.4",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-          "dev": true
-        }
-      }
-    },
-    "tar-fs": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
-      "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
-      "dev": true,
-      "requires": {
-        "chownr": "^1.1.1",
-        "mkdirp-classic": "^0.5.2",
-        "pump": "^3.0.0",
-        "tar-stream": "^2.1.4"
-      },
-      "dependencies": {
-        "bl": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
-          "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
-          "dev": true,
-          "requires": {
-            "buffer": "^5.5.0",
-            "inherits": "^2.0.4",
-            "readable-stream": "^3.4.0"
-          }
-        },
-        "buffer": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
-          "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
-          "dev": true,
-          "requires": {
-            "base64-js": "^1.3.1",
-            "ieee754": "^1.1.13"
-          }
-        },
-        "chownr": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-          "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-          "dev": true
-        },
-        "tar-stream": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
-          "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
-          "dev": true,
-          "requires": {
-            "bl": "^4.0.3",
-            "end-of-stream": "^1.4.1",
-            "fs-constants": "^1.0.0",
-            "inherits": "^2.0.3",
-            "readable-stream": "^3.1.1"
-          }
-        }
-      }
-    },
-    "tar-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
-      "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
-      "dev": true,
-      "requires": {
-        "bl": "^1.0.0",
-        "buffer-alloc": "^1.2.0",
-        "end-of-stream": "^1.0.0",
-        "fs-constants": "^1.0.0",
-        "readable-stream": "^2.3.0",
-        "to-buffer": "^1.1.1",
-        "xtend": "^4.0.0"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "temp": {
-      "version": "0.9.4",
-      "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz",
-      "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==",
-      "dev": true,
-      "requires": {
-        "mkdirp": "^0.5.1",
-        "rimraf": "~2.6.2"
-      },
-      "dependencies": {
-        "rimraf": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
-          "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
-      }
-    },
-    "terser": {
-      "version": "3.17.0",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
-      "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
-      "dev": true,
-      "requires": {
-        "commander": "^2.19.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.10"
-      }
-    },
-    "terser-webpack-plugin": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
-      "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
-      "dev": true,
-      "requires": {
-        "cacache": "^12.0.2",
-        "find-cache-dir": "^2.1.0",
-        "is-wsl": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^4.0.0",
-        "source-map": "^0.6.1",
-        "terser": "^4.1.2",
-        "webpack-sources": "^1.4.0",
-        "worker-farm": "^1.7.0"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "6.12.6",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "ajv-keywords": {
-          "version": "3.5.2",
-          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-          "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-          "dev": true,
-          "requires": {}
-        },
-        "cacache": {
-          "version": "12.0.4",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
-          "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
-          "dev": true,
-          "requires": {
-            "bluebird": "^3.5.5",
-            "chownr": "^1.1.1",
-            "figgy-pudding": "^3.5.1",
-            "glob": "^7.1.4",
-            "graceful-fs": "^4.1.15",
-            "infer-owner": "^1.0.3",
-            "lru-cache": "^5.1.1",
-            "mississippi": "^3.0.0",
-            "mkdirp": "^0.5.1",
-            "move-concurrently": "^1.0.1",
-            "promise-inflight": "^1.0.1",
-            "rimraf": "^2.6.3",
-            "ssri": "^6.0.1",
-            "unique-filename": "^1.1.1",
-            "y18n": "^4.0.0"
-          }
-        },
-        "chownr": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-          "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-          "dev": true
-        },
-        "find-cache-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-          "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
-          "dev": true,
-          "requires": {
-            "commondir": "^1.0.1",
-            "make-dir": "^2.0.0",
-            "pkg-dir": "^3.0.0"
-          }
-        },
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "is-wsl": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-          "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-          "dev": true
-        },
-        "json-schema-traverse": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-          "dev": true
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "lru-cache": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
-          "requires": {
-            "yallist": "^3.0.2"
-          }
-        },
-        "make-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-          "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-          "dev": true,
-          "requires": {
-            "pify": "^4.0.1",
-            "semver": "^5.6.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-          "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        },
-        "serialize-javascript": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-          "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
-          "dev": true,
-          "requires": {
-            "randombytes": "^2.1.0"
-          }
-        },
-        "ssri": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
-          "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
-          "dev": true,
-          "requires": {
-            "figgy-pudding": "^3.5.1"
-          }
-        },
-        "terser": {
-          "version": "4.8.0",
-          "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
-          "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
-          "dev": true,
-          "requires": {
-            "commander": "^2.20.0",
-            "source-map": "~0.6.1",
-            "source-map-support": "~0.5.12"
-          }
-        },
-        "y18n": {
-          "version": "4.0.3",
-          "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
-          "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
-          "dev": true
-        },
-        "yallist": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
-        }
-      }
-    },
-    "test-exclude": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
-      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
-      "dev": true,
-      "requires": {
-        "@istanbuljs/schema": "^0.1.2",
-        "glob": "^7.1.4",
-        "minimatch": "^3.0.4"
-      }
-    },
-    "text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
-      "dev": true
-    },
-    "through": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
-      "dev": true
-    },
-    "through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dev": true,
-      "requires": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "timed-out": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz",
-      "integrity": "sha1-84sK6B03R9YoAB9B2vxlKs5nHAo=",
-      "dev": true
-    },
-    "timers-browserify": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
-      "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
-      "dev": true,
-      "requires": {
-        "process": "~0.11.0"
-      }
-    },
-    "tmp": {
-      "version": "0.0.33",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
-      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-      "dev": true,
-      "requires": {
-        "os-tmpdir": "~1.0.2"
-      }
-    },
-    "to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
-    },
-    "to-buffer": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
-      "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
-      "dev": true
-    },
-    "to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-      "dev": true
-    },
-    "to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-          "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.2",
-            "isobject": "^3.0.1"
-          }
-        },
-        "extend-shallow": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-          "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-          "dev": true,
-          "requires": {
-            "assign-symbols": "^1.0.0",
-            "is-extendable": "^1.0.1"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "to-regex-range": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "dev": true,
-      "requires": {
-        "is-number": "^7.0.0"
-      }
-    },
-    "toidentifier": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
-      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
-      "dev": true
-    },
-    "tough-cookie": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
-      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
-      "dev": true,
-      "requires": {
-        "psl": "^1.1.28",
-        "punycode": "^2.1.1"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-          "dev": true
-        }
-      }
-    },
-    "tr46": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
-      "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
-      "dev": true
-    },
-    "trim-newlines": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
-      "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
-      "dev": true
-    },
-    "trim-repeated": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
-      "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
-      "dev": true,
-      "requires": {
-        "escape-string-regexp": "^1.0.2"
-      }
-    },
-    "trim-right": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
-      "dev": true
-    },
-    "true-case-path": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
-      "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.1.2"
-      }
-    },
-    "tsconfig": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-5.0.3.tgz",
-      "integrity": "sha1-X0J45wGACWeo/Dg/0ZZIh48qbjo=",
-      "dev": true,
-      "requires": {
-        "any-promise": "^1.3.0",
-        "parse-json": "^2.2.0",
-        "strip-bom": "^2.0.0",
-        "strip-json-comments": "^2.0.0"
-      },
-      "dependencies": {
-        "strip-bom": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
-          "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
-          "dev": true,
-          "requires": {
-            "is-utf8": "^0.2.0"
-          }
-        },
-        "strip-json-comments": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
-          "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
-          "dev": true
-        }
-      }
-    },
-    "tsify": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/tsify/-/tsify-4.0.2.tgz",
-      "integrity": "sha512-XZ4jziRS8SBnoSnp1QOtASxjqhvOSfXhO8cD5WPBpXD6UKDCMQ/n7L1cr+Wlb5htIZJuvfhfxely+HODsVRWLA==",
-      "dev": true,
-      "requires": {
-        "convert-source-map": "^1.1.0",
-        "fs.realpath": "^1.0.0",
-        "object-assign": "^4.1.0",
-        "semver": "^6.1.0",
-        "through2": "^2.0.0",
-        "tsconfig": "^5.0.3"
-      }
-    },
-    "tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true
-    },
-    "tsutils": {
-      "version": "3.21.0",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.8.1"
-      }
-    },
-    "tty-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
-      "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
-      "dev": true
-    },
-    "tunnel": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
-      "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
-      "dev": true
-    },
-    "tunnel-agent": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
-      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "tweetnacl": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true
-    },
-    "type-check": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
-      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
-      "dev": true,
-      "requires": {
-        "prelude-ls": "^1.2.1"
-      }
-    },
-    "type-detect": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
-      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
-      "dev": true
-    },
-    "type-fest": {
-      "version": "0.21.3",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
-      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
-      "dev": true
-    },
-    "type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
-      "dev": true,
-      "requires": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      }
-    },
-    "typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
-    },
-    "typedarray-to-buffer": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
-      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
-      "dev": true,
-      "requires": {
-        "is-typedarray": "^1.0.0"
-      }
-    },
-    "typescript": {
-      "version": "4.7.4",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
-      "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
-      "dev": true
-    },
-    "typical": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
-      "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
-      "dev": true
-    },
-    "ua-parser-js": {
-      "version": "0.7.31",
-      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz",
-      "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==",
-      "dev": true
-    },
-    "uglify-es": {
-      "version": "3.3.9",
-      "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
-      "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
-      "dev": true,
-      "requires": {
-        "commander": "~2.13.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.13.0",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
-          "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
-          "dev": true
-        }
-      }
-    },
-    "uglifyify": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz",
-      "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==",
-      "dev": true,
-      "requires": {
-        "convert-source-map": "~1.1.0",
-        "minimatch": "^3.0.2",
-        "terser": "^3.7.5",
-        "through": "~2.3.4",
-        "xtend": "^4.0.1"
-      },
-      "dependencies": {
-        "convert-source-map": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
-          "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
-          "dev": true
-        }
-      }
-    },
-    "umd": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
-      "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
-      "dev": true
-    },
-    "unbzip2-stream": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
-      "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
-      "dev": true,
-      "requires": {
-        "buffer": "^5.2.1",
-        "through": "^2.3.8"
-      }
-    },
-    "undeclared-identifiers": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz",
-      "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==",
-      "dev": true,
-      "requires": {
-        "acorn-node": "^1.3.0",
-        "dash-ast": "^1.0.0",
-        "get-assigned-identifiers": "^1.2.0",
-        "simple-concat": "^1.0.0",
-        "xtend": "^4.0.1"
-      }
-    },
-    "unicode-canonical-property-names-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
-      "dev": true
-    },
-    "unicode-match-property-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
-      "dev": true,
-      "requires": {
-        "unicode-canonical-property-names-ecmascript": "^2.0.0",
-        "unicode-property-aliases-ecmascript": "^2.0.0"
-      }
-    },
-    "unicode-match-property-value-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
-      "dev": true
-    },
-    "unicode-property-aliases-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
-      "dev": true
-    },
-    "union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
-      }
-    },
-    "unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "dev": true,
-      "requires": {
-        "unique-slug": "^2.0.0"
-      }
-    },
-    "unique-slug": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
-      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-      "dev": true,
-      "requires": {
-        "imurmurhash": "^0.1.4"
-      }
-    },
-    "universalify": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
-      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
-      "dev": true
-    },
-    "unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
-      "dev": true
-    },
-    "unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
-      "requires": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "dependencies": {
-        "has-value": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "dev": true,
-          "requires": {
-            "get-value": "^2.0.3",
-            "has-values": "^0.1.4",
-            "isobject": "^2.0.0"
-          },
-          "dependencies": {
-            "isobject": {
-              "version": "2.1.0",
-              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "dev": true,
-              "requires": {
-                "isarray": "1.0.0"
-              }
-            }
-          }
-        },
-        "has-values": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
-        },
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        }
-      }
-    },
-    "unzip-response": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
-      "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
-      "dev": true
-    },
-    "upath": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-      "dev": true
-    },
-    "update-notifier": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.5.0.tgz",
-      "integrity": "sha1-B7XcIGazYnqztPUwEw9+3doHpMw=",
-      "dev": true,
-      "requires": {
-        "chalk": "^1.0.0",
-        "configstore": "^1.0.0",
-        "is-npm": "^1.0.0",
-        "latest-version": "^1.0.0",
-        "repeating": "^1.1.2",
-        "semver-diff": "^2.0.0",
-        "string-length": "^1.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
-        }
-      }
-    },
-    "upper-case": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz",
-      "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==",
-      "dev": true,
-      "requires": {
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "upper-case-first": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
-      "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
-      "dev": true,
-      "requires": {
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.4.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
-          "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
-          "dev": true
-        }
-      }
-    },
-    "uri-js": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
-      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
-      "requires": {
-        "punycode": "^2.1.0"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
-        }
-      }
-    },
-    "urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
-    },
-    "url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
-      "requires": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.3.2",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-          "dev": true
-        }
-      }
-    },
-    "url-parse-lax": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
-      "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
-      "dev": true,
-      "requires": {
-        "prepend-http": "^1.0.1"
-      }
-    },
-    "url-to-options": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
-      "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=",
-      "dev": true
-    },
-    "use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
-    },
-    "util": {
-      "version": "0.10.4",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
-      "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
-      "dev": true,
-      "requires": {
-        "inherits": "2.0.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
-    },
-    "utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
-      "dev": true
-    },
-    "uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-      "dev": true
-    },
-    "v8-compile-cache": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
-      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
-      "dev": true
-    },
-    "validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
-      "requires": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "dev": true
-    },
-    "verror": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
-      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "^1.2.0"
-      }
-    },
-    "vm-browserify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
-    },
-    "void-elements": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
-      "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
-      "dev": true
-    },
-    "walkdir": {
-      "version": "0.0.11",
-      "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz",
-      "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=",
-      "dev": true
-    },
-    "watchify": {
-      "version": "3.11.1",
-      "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz",
-      "integrity": "sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==",
-      "dev": true,
-      "requires": {
-        "anymatch": "^2.0.0",
-        "browserify": "^16.1.0",
-        "chokidar": "^2.1.1",
-        "defined": "^1.0.0",
-        "outpipe": "^1.1.0",
-        "through2": "^2.0.0",
-        "xtend": "^4.0.0"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          }
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "define-property": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-          "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.2",
-            "isobject": "^3.0.1"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          }
-        },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "dev": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "dev": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "3.0.2",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-              "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-              "dev": true,
-              "requires": {
-                "assign-symbols": "^1.0.0",
-                "is-extendable": "^1.0.1"
-              }
-            }
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "watchpack": {
-      "version": "1.7.5",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
-      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
-      "dev": true,
-      "requires": {
-        "chokidar": "^3.4.1",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0",
-        "watchpack-chokidar2": "^2.0.1"
-      }
-    },
-    "watchpack-chokidar2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
-      "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "chokidar": "^2.1.8"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true,
-          "optional": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          }
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "define-property": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-          "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-descriptor": "^1.0.2",
-            "isobject": "^3.0.1"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          }
-        },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true,
-          "optional": true
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "3.0.2",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-              "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "assign-symbols": "^1.0.0",
-                "is-extendable": "^1.0.1"
-              }
-            }
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "webdriver": {
-      "version": "6.12.1",
-      "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-6.12.1.tgz",
-      "integrity": "sha512-3rZgAj9o2XHp16FDTzvUYaHelPMSPbO1TpLIMUT06DfdZjNYIzZiItpIb/NbQDTPmNhzd9cuGmdI56WFBGY2BA==",
-      "dev": true,
-      "requires": {
-        "@wdio/config": "6.12.1",
-        "@wdio/logger": "6.10.10",
-        "@wdio/protocols": "6.12.0",
-        "@wdio/utils": "6.11.0",
-        "got": "^11.0.2",
-        "lodash.merge": "^4.6.1"
-      },
-      "dependencies": {
-        "@sindresorhus/is": {
-          "version": "4.6.0",
-          "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
-          "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
-          "dev": true
-        },
-        "cacheable-request": {
-          "version": "7.0.2",
-          "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
-          "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
-          "dev": true,
-          "requires": {
-            "clone-response": "^1.0.2",
-            "get-stream": "^5.1.0",
-            "http-cache-semantics": "^4.0.0",
-            "keyv": "^4.0.0",
-            "lowercase-keys": "^2.0.0",
-            "normalize-url": "^6.0.1",
-            "responselike": "^2.0.0"
-          }
-        },
-        "decompress-response": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
-          "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
-          "dev": true,
-          "requires": {
-            "mimic-response": "^3.1.0"
-          }
-        },
-        "get-stream": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
-          "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
-          "dev": true,
-          "requires": {
-            "pump": "^3.0.0"
-          }
-        },
-        "got": {
-          "version": "11.8.3",
-          "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz",
-          "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==",
-          "dev": true,
-          "requires": {
-            "@sindresorhus/is": "^4.0.0",
-            "@szmarczak/http-timer": "^4.0.5",
-            "@types/cacheable-request": "^6.0.1",
-            "@types/responselike": "^1.0.0",
-            "cacheable-lookup": "^5.0.3",
-            "cacheable-request": "^7.0.2",
-            "decompress-response": "^6.0.0",
-            "http2-wrapper": "^1.0.0-beta.5.2",
-            "lowercase-keys": "^2.0.0",
-            "p-cancelable": "^2.0.0",
-            "responselike": "^2.0.0"
-          }
-        },
-        "json-buffer": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
-          "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
-          "dev": true
-        },
-        "keyv": {
-          "version": "4.2.8",
-          "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.2.8.tgz",
-          "integrity": "sha512-IZZo6krhHWPhgsP5mBkEdPopVPN/stgCnBVuqi6dda/Nm5mDTOSVTrFMkWqlJsDum+B0YSe887tNxdjDWkO7aQ==",
-          "dev": true,
-          "requires": {
-            "compress-brotli": "^1.3.8",
-            "json-buffer": "3.0.1"
-          }
-        },
-        "lowercase-keys": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
-          "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
-          "dev": true
-        },
-        "mimic-response": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
-          "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
-          "dev": true
-        },
-        "normalize-url": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
-          "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
-          "dev": true
-        },
-        "p-cancelable": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
-          "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
-          "dev": true
-        },
-        "responselike": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
-          "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
-          "dev": true,
-          "requires": {
-            "lowercase-keys": "^2.0.0"
-          }
-        }
-      }
-    },
-    "webdriverio": {
-      "version": "6.12.1",
-      "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-6.12.1.tgz",
-      "integrity": "sha512-Nx7ge0vTWHVIRUbZCT+IuMwB5Q0Q5nLlYdgnmmJviUKLuc3XtaEBkYPTbhHWHgSBXsPZMIc023vZKNkn+6iyeQ==",
-      "dev": true,
-      "requires": {
-        "@types/puppeteer-core": "^5.4.0",
-        "@wdio/config": "6.12.1",
-        "@wdio/logger": "6.10.10",
-        "@wdio/repl": "6.11.0",
-        "@wdio/utils": "6.11.0",
-        "archiver": "^5.0.0",
-        "atob": "^2.1.2",
-        "css-shorthand-properties": "^1.1.1",
-        "css-value": "^0.0.1",
-        "devtools": "6.12.1",
-        "fs-extra": "^9.0.1",
-        "get-port": "^5.1.1",
-        "grapheme-splitter": "^1.0.2",
-        "lodash.clonedeep": "^4.5.0",
-        "lodash.isobject": "^3.0.2",
-        "lodash.isplainobject": "^4.0.6",
-        "lodash.zip": "^4.2.0",
-        "minimatch": "^3.0.4",
-        "puppeteer-core": "^5.1.0",
-        "resq": "^1.9.1",
-        "rgb2hex": "0.2.3",
-        "serialize-error": "^8.0.0",
-        "webdriver": "6.12.1"
-      },
-      "dependencies": {
-        "fs-extra": {
-          "version": "9.1.0",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
-          "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
-          "dev": true,
-          "requires": {
-            "at-least-node": "^1.0.0",
-            "graceful-fs": "^4.2.0",
-            "jsonfile": "^6.0.1",
-            "universalify": "^2.0.0"
-          }
-        },
-        "serialize-error": {
-          "version": "8.1.0",
-          "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz",
-          "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==",
-          "dev": true,
-          "requires": {
-            "type-fest": "^0.20.2"
-          }
-        },
-        "type-fest": {
-          "version": "0.20.2",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-          "dev": true
-        }
-      }
-    },
-    "webidl-conversions": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
-      "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
-      "dev": true
-    },
-    "webpack": {
-      "version": "4.46.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
-      "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/wasm-edit": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "acorn": "^6.4.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.5.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.3",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.7.4",
-        "webpack-sources": "^1.4.1"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "6.4.2",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
-          "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
-          "dev": true
-        },
-        "ajv": {
-          "version": "6.12.6",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "ajv-keywords": {
-          "version": "3.5.2",
-          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-          "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-          "dev": true,
-          "requires": {}
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          }
-        },
-        "define-property": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-          "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.2",
-            "isobject": "^3.0.1"
-          }
-        },
-        "eslint-scope": {
-          "version": "4.0.3",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
-          "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
-          "dev": true,
-          "requires": {
-            "esrecurse": "^4.1.0",
-            "estraverse": "^4.1.1"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        },
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "json-schema-traverse": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-          "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-          "dev": true
-        },
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "3.0.2",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-              "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-              "dev": true,
-              "requires": {
-                "assign-symbols": "^1.0.0",
-                "is-extendable": "^1.0.1"
-              }
-            }
-          }
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "webpack-dev-middleware": {
-      "version": "3.7.3",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
-      "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
-      "dev": true,
-      "requires": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.4",
-        "mkdirp": "^0.5.1",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
-      }
-    },
-    "webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
-      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
-      "dev": true,
-      "requires": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
-      },
-      "dependencies": {
-        "ansi-colors": {
-          "version": "3.2.4",
-          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
-          "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
-          "dev": true
-        }
-      }
-    },
-    "webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
-      "dev": true,
-      "requires": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      }
-    },
-    "whatwg-url": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
-      "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
-      "dev": true,
-      "requires": {
-        "tr46": "~0.0.3",
-        "webidl-conversions": "^3.0.0"
-      }
-    },
-    "which": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-      "dev": true,
-      "requires": {
-        "isexe": "^2.0.0"
-      }
-    },
-    "which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
-    },
-    "wide-align": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
-      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
-      "dev": true,
-      "requires": {
-        "string-width": "^1.0.2 || 2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz",
-          "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-          "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-          "dev": true,
-          "requires": {
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^4.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
-      }
-    },
-    "window-size": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
-      "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
-      "dev": true
-    },
-    "word-wrap": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
-      "dev": true
-    },
-    "worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
-      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
-      "dev": true,
-      "requires": {
-        "errno": "~0.1.7"
-      }
-    },
-    "workerpool": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz",
-      "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==",
-      "dev": true
-    },
-    "wrap-ansi": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
-      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        }
-      }
-    },
-    "wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
-    },
-    "write-file-atomic": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
-      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
-      "dev": true,
-      "requires": {
-        "imurmurhash": "^0.1.4",
-        "is-typedarray": "^1.0.0",
-        "signal-exit": "^3.0.2",
-        "typedarray-to-buffer": "^3.1.5"
-      }
-    },
-    "ws": {
-      "version": "8.2.3",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
-      "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
-      "dev": true,
-      "requires": {}
-    },
-    "xdg-basedir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz",
-      "integrity": "sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I=",
-      "dev": true,
-      "requires": {
-        "os-homedir": "^1.0.0"
-      }
-    },
-    "xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "dev": true
-    },
-    "y18n": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
-      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
-      "dev": true
-    },
-    "yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
-    "yargs": {
-      "version": "16.2.0",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
-      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
-      "dev": true,
-      "requires": {
-        "cliui": "^7.0.2",
-        "escalade": "^3.1.1",
-        "get-caller-file": "^2.0.5",
-        "require-directory": "^2.1.1",
-        "string-width": "^4.2.0",
-        "y18n": "^5.0.5",
-        "yargs-parser": "^20.2.2"
-      }
-    },
-    "yargs-parser": {
-      "version": "20.2.4",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
-      "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
-      "dev": true
-    },
-    "yargs-unparser": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
-      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^6.0.0",
-        "decamelize": "^4.0.0",
-        "flat": "^5.0.2",
-        "is-plain-obj": "^2.1.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
-          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
-          "dev": true
-        },
-        "decamelize": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
-          "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
-          "dev": true
-        },
-        "is-plain-obj": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
-          "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
-          "dev": true
-        }
-      }
-    },
-    "yauzl": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
-      "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
-      "dev": true,
-      "requires": {
-        "buffer-crc32": "~0.2.3",
-        "fd-slicer": "~1.1.0"
-      }
-    },
-    "yocto-queue": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
-      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
-      "dev": true
-    },
-    "zip-stream": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
-      "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
-      "dev": true,
-      "requires": {
-        "archiver-utils": "^2.1.0",
-        "compress-commons": "^4.1.0",
-        "readable-stream": "^3.6.0"
-      }
-    }
-  }
-}
diff --git a/package.json b/package.json
index 63bc1794..7186e4b8 100644
--- a/package.json
+++ b/package.json
@@ -28,29 +28,42 @@
     "type": "git",
     "url": "https://github.com/APIDevTools/swagger-parser.git"
   },
+  "types": "dist/lib/index.d.ts",
+  "main": "dist/lib/index.js",
+  "browser": {
+    "fs": false
+  },
+  "engines": {
+    "node": ">= 16"
+  },
+  "contributors": [
+    {
+      "name": "Phil Sturgeon",
+      "email": "phil@apisyouwonthate.com"
+    },
+    {
+      "name": "JonLuca DeCaro",
+      "email": "swagger@jonlu.ca"
+    }
+  ],
   "license": "MIT",
-  "main": "lib/index.js",
   "typings": "lib/index.d.ts",
   "files": [
-    "lib"
+    "lib",
+    "dist",
+    "cjs"
   ],
   "scripts": {
-    "clean": "shx rm -rf .nyc_output coverage",
-    "lint": "eslint lib test online/src/js",
-    "build": "npm run build:website && npm run build:sass",
-    "build:website": "simplifyify online/src/js/index.js --outfile online/js/bundle.js --bundle --debug --minify",
-    "build:sass": "node-sass --source-map true --output-style compressed online/src/scss/style.scss online/css/style.min.css",
-    "test": "npm run test:node && npm run test:typescript && npm run test:browser && npm run lint",
-    "test:node": "mocha",
-    "test:browser": "karma start --single-run",
-    "test:typescript": "tsc --noEmit --strict --lib esnext,dom test/specs/typescript-definition.spec.ts",
-    "coverage": "npm run coverage:node && npm run coverage:browser",
-    "coverage:node": "nyc node_modules/mocha/bin/mocha",
-    "coverage:browser": "npm run test:browser -- --coverage",
-    "upgrade": "npm-check -u && npm audit fix",
-    "bump": "bump --tag --push --all",
-    "--release--cannot upgrade or everything breaks": "npm run upgrade && npm run clean && npm run build && npm test && npm run bump",
-    "release": "npm run clean && npm run build && npm test && npm run bump"
+    "prepublishOnly": "yarn build",
+    "lint": "eslint lib",
+    "build": "rimraf dist && tsc",
+    "typecheck": "tsc --noEmit",
+    "prettier": "prettier --write \"**/*.+(js|jsx|ts|tsx|har||json|css|md)\"",
+    "test": "vitest --coverage",
+    "test:node": "yarn test",
+    "test:browser": "cross-env BROWSER=\"true\" yarn test",
+    "test:update": "vitest -u",
+    "test:watch": "vitest -w"
   },
   "devDependencies": {
     "@babel/polyfill": "^7.12",
@@ -58,10 +71,23 @@
     "@jsdevtools/host-environment": "^2.1.2",
     "@jsdevtools/karma-config": "^3.2.0",
     "@jsdevtools/version-bump-prompt": "^6.1.0",
-    "@types/node": "^14.6.4",
+    "@types/eslint": "8.56.5",
+    "@types/js-yaml": "^4.0.9",
+    "@types/node": "^18.19.21",
+    "@typescript-eslint/eslint-plugin": "^7.1.1",
+    "@typescript-eslint/parser": "^7.1.1",
+    "@vitest/coverage-v8": "^1.3.1",
     "chai": "^4.2.0",
-    "eslint": "^7.8.1",
+    "cross-env": "^7.0.3",
+    "eslint": "^8.57.0",
+    "eslint-config-prettier": "^9.1.0",
+    "eslint-config-standard": "^17.1.0",
+    "eslint-plugin-import": "^2.29.1",
+    "eslint-plugin-prettier": "^5.1.3",
+    "eslint-plugin-promise": "^6.1.1",
+    "eslint-plugin-unused-imports": "^3.1.0",
     "js-yaml": "^3.14.1",
+    "jsdom": "^24.0.0",
     "karma": "^6.3.19",
     "karma-cli": "^2.0.0",
     "mocha": "^8.1.3",
@@ -70,13 +96,16 @@
     "npm-check": "^4.1.4",
     "nyc": "^15.1.0",
     "openapi-types": "^9.3.0",
+    "prettier": "^3.2.5",
+    "rimraf": "^5.0.5",
     "shx": "^0.3.2",
     "simplifyify": "^7.0.7",
     "sinon": "^11.1.2",
-    "typescript": "^4.7.4"
+    "typescript": "^5.3.3",
+    "vitest": "^1.3.1"
   },
   "dependencies": {
-    "@apidevtools/json-schema-ref-parser": "9.0.6",
+    "@apidevtools/json-schema-ref-parser": "^11.4.1",
     "@apidevtools/openapi-schemas": "^2.1.0",
     "@apidevtools/swagger-methods": "^3.0.2",
     "@jsdevtools/ono": "^7.1.3",
@@ -86,5 +115,24 @@
   },
   "peerDependencies": {
     "openapi-types": ">=7"
+  },
+  "release": {
+    "branches": [
+      "main"
+    ],
+    "plugins": [
+      "@semantic-release/commit-analyzer",
+      "@semantic-release/release-notes-generator",
+      "@semantic-release/npm",
+      "@semantic-release/github"
+    ]
+  },
+  "packageManager": "yarn@4.1.1",
+  "prettier": {
+    "printWidth": 120,
+    "arrowParens": "always",
+    "semi": true,
+    "tabWidth": 2,
+    "trailingComma": "all"
   }
 }
diff --git a/test/specs/callbacks-promises/bundled.js b/test/specs/callbacks-promises/bundled.js
index 7587d8f2..5b0f11e8 100644
--- a/test/specs/callbacks-promises/bundled.js
+++ b/test/specs/callbacks-promises/bundled.js
@@ -1,49 +1,42 @@
 "use strict";
 
-module.exports =
-{
+module.exports = {
   definitions: {
     requiredString: {
       minLength: 1,
       type: "string",
-      title: "requiredString"
+      title: "requiredString",
     },
     name: {
-      required: [
-        "first",
-        "last"
-      ],
+      required: ["first", "last"],
       type: "object",
       properties: {
         last: {
-          $ref: "#/definitions/requiredString"
+          $ref: "#/definitions/requiredString",
         },
         first: {
-          $ref: "#/definitions/requiredString"
+          $ref: "#/definitions/requiredString",
         },
         middle: {
           type: "string",
-          enum: [
-            { $ref: "#/definitions/requiredString/type" },
-            { $ref: "#/definitions/requiredString/title" }
-          ]
+          enum: [{ $ref: "#/definitions/requiredString/type" }, { $ref: "#/definitions/requiredString/title" }],
         },
         prefix: {
           $ref: "#/definitions/requiredString",
-          minLength: 3
+          minLength: 3,
         },
         suffix: {
           $ref: "#/definitions/name/properties/prefix",
           maxLength: 3,
-          type: "string"
-        }
-      }
-    }
+          type: "string",
+        },
+      },
+    },
   },
   info: {
     version: "1.0.0",
     description: "This is an intentionally over-complicated API that returns a person's name",
-    title: "Name API"
+    title: "Name API",
   },
   paths: {
     "/people/{name}": {
@@ -52,20 +45,20 @@ module.exports =
           required: true,
           type: "string",
           name: "name",
-          in: "path"
-        }
+          in: "path",
+        },
       ],
       get: {
         responses: {
           200: {
             description: "Returns the requested name",
             schema: {
-              $ref: "#/definitions/name"
-            }
-          }
-        }
-      }
-    }
+              $ref: "#/definitions/name",
+            },
+          },
+        },
+      },
+    },
   },
-  swagger: "2.0"
+  swagger: "2.0",
 };
diff --git a/test/specs/callbacks-promises/callbacks-promises.spec.js b/test/specs/callbacks-promises/callbacks-promises.spec.js
index 3199d684..3aa6167f 100644
--- a/test/specs/callbacks-promises/callbacks-promises.spec.js
+++ b/test/specs/callbacks-promises/callbacks-promises.spec.js
@@ -18,7 +18,7 @@ describe("Callback & Promise syntax", () => {
     });
   }
 
-  function testCallbackSuccess (method) {
+  function testCallbackSuccess(method) {
     return function (done) {
       let parser = new SwaggerParser();
       parser[method](path.rel("specs/callbacks-promises/callbacks-promises.yaml"), (err, result) => {
@@ -29,8 +29,7 @@ describe("Callback & Promise syntax", () => {
 
           if (method === "resolve") {
             expect(result).to.equal(parser.$refs);
-          }
-          else {
+          } else {
             expect(result).to.equal(parser.schema);
 
             // Make sure the API was parsed correctly
@@ -38,52 +37,48 @@ describe("Callback & Promise syntax", () => {
             expect(result).to.deep.equal(expected);
           }
           done();
-        }
-        catch (e) {
+        } catch (e) {
           done(e);
         }
       });
     };
   }
 
-  function testCallbackError (method) {
+  function testCallbackError(method) {
     return function (done) {
       SwaggerParser[method](path.rel("specs/callbacks-promises/callbacks-promises-error.yaml"), (err, result) => {
         try {
           expect(err).to.be.an.instanceOf(SyntaxError);
           expect(result).to.equal(undefined);
           done();
-        }
-        catch (e) {
+        } catch (e) {
           done(e);
         }
       });
     };
   }
 
-  function testPromiseSuccess (method) {
+  function testPromiseSuccess(method) {
     return function () {
       let parser = new SwaggerParser();
-      return parser[method](path.rel("specs/callbacks-promises/callbacks-promises.yaml"))
-        .then((result) => {
-          expect(result).to.be.an("object");
-          expect(parser.$refs.paths()).to.deep.equal([path.abs("specs/callbacks-promises/callbacks-promises.yaml")]);
+      return parser[method](path.rel("specs/callbacks-promises/callbacks-promises.yaml")).then((result) => {
+        expect(result).to.be.an("object");
+        expect(parser.$refs.paths()).to.deep.equal([path.abs("specs/callbacks-promises/callbacks-promises.yaml")]);
 
-          if (method === "resolve") {
-            expect(result).to.equal(parser.$refs);
-          }
-          else {
-            expect(result).to.equal(parser.schema);
+        if (method === "resolve") {
+          expect(result).to.equal(parser.$refs);
+        } else {
+          expect(result).to.equal(parser.schema);
 
-            // Make sure the API was parsed correctly
-            let expected = getSchema(method);
-            expect(result).to.deep.equal(expected);
-          }
-        });
+          // Make sure the API was parsed correctly
+          let expected = getSchema(method);
+          expect(result).to.deep.equal(expected);
+        }
+      });
     };
   }
 
-  function testPromiseError (method) {
+  function testPromiseError(method) {
     return function () {
       return SwaggerParser[method](path.rel("specs/callbacks-promises/callbacks-promises-error.yaml"))
         .then(helper.shouldNotGetCalled)
@@ -93,7 +88,7 @@ describe("Callback & Promise syntax", () => {
     };
   }
 
-  function getSchema (method) {
+  function getSchema(method) {
     switch (method) {
       case "parse":
         return parsedAPI;
@@ -104,5 +99,4 @@ describe("Callback & Promise syntax", () => {
         return bundledAPI;
     }
   }
-
 });
diff --git a/test/specs/callbacks-promises/dereferenced.js b/test/specs/callbacks-promises/dereferenced.js
index 8f5088a2..60b21612 100644
--- a/test/specs/callbacks-promises/dereferenced.js
+++ b/test/specs/callbacks-promises/dereferenced.js
@@ -1,52 +1,48 @@
 "use strict";
 
-module.exports =
-{
+module.exports = {
   definitions: {
     requiredString: {
       minLength: 1,
       type: "string",
-      title: "requiredString"
+      title: "requiredString",
     },
     name: {
-      required: [
-        "first",
-        "last"
-      ],
+      required: ["first", "last"],
       type: "object",
       properties: {
         middle: {
           type: "string",
-          enum: ["string", "requiredString"]
+          enum: ["string", "requiredString"],
         },
         prefix: {
           minLength: 3,
           type: "string",
-          title: "requiredString"
+          title: "requiredString",
         },
         last: {
           minLength: 1,
           type: "string",
-          title: "requiredString"
+          title: "requiredString",
         },
         suffix: {
           minLength: 3,
           maxLength: 3,
           title: "requiredString",
-          type: "string"
+          type: "string",
         },
         first: {
           minLength: 1,
           type: "string",
-          title: "requiredString"
-        }
-      }
-    }
+          title: "requiredString",
+        },
+      },
+    },
   },
   info: {
     version: "1.0.0",
     description: "This is an intentionally over-complicated API that returns a person's name",
-    title: "Name API"
+    title: "Name API",
   },
   paths: {
     "/people/{name}": {
@@ -55,51 +51,48 @@ module.exports =
           required: true,
           type: "string",
           name: "name",
-          in: "path"
-        }
+          in: "path",
+        },
       ],
       get: {
         responses: {
           200: {
             description: "Returns the requested name",
             schema: {
-              required: [
-                "first",
-                "last"
-              ],
+              required: ["first", "last"],
               type: "object",
               properties: {
                 middle: {
                   type: "string",
-                  enum: ["string", "requiredString"]
+                  enum: ["string", "requiredString"],
                 },
                 prefix: {
                   minLength: 3,
                   type: "string",
-                  title: "requiredString"
+                  title: "requiredString",
                 },
                 last: {
                   minLength: 1,
                   type: "string",
-                  title: "requiredString"
+                  title: "requiredString",
                 },
                 suffix: {
                   minLength: 3,
                   maxLength: 3,
                   title: "requiredString",
-                  type: "string"
+                  type: "string",
                 },
                 first: {
                   minLength: 1,
                   type: "string",
-                  title: "requiredString"
-                }
-              }
-            }
-          }
-        }
-      }
-    }
+                  title: "requiredString",
+                },
+              },
+            },
+          },
+        },
+      },
+    },
   },
-  swagger: "2.0"
+  swagger: "2.0",
 };
diff --git a/test/specs/callbacks-promises/parsed.js b/test/specs/callbacks-promises/parsed.js
index 01af7647..d2db8169 100644
--- a/test/specs/callbacks-promises/parsed.js
+++ b/test/specs/callbacks-promises/parsed.js
@@ -1,12 +1,11 @@
 "use strict";
 
-module.exports =
-{
+module.exports = {
   swagger: "2.0",
   info: {
     version: "1.0.0",
     description: "This is an intentionally over-complicated API that returns a person's name",
-    title: "Name API"
+    title: "Name API",
   },
   paths: {
     "/people/{name}": {
@@ -15,57 +14,54 @@ module.exports =
           required: true,
           type: "string",
           name: "name",
-          in: "path"
-        }
+          in: "path",
+        },
       ],
       get: {
         responses: {
           200: {
             description: "Returns the requested name",
             schema: {
-              $ref: "#/definitions/name"
-            }
-          }
-        }
-      }
-    }
+              $ref: "#/definitions/name",
+            },
+          },
+        },
+      },
+    },
   },
   definitions: {
     requiredString: {
       minLength: 1,
       type: "string",
-      title: "requiredString"
+      title: "requiredString",
     },
     name: {
-      required: [
-        "first",
-        "last"
-      ],
+      required: ["first", "last"],
       type: "object",
       properties: {
         middle: {
           type: "string",
           enum: [
             { $ref: "#/definitions/name/properties/first/type" },
-            { $ref: "#/definitions/name/properties/last/title" }
-          ]
+            { $ref: "#/definitions/name/properties/last/title" },
+          ],
         },
         prefix: {
           minLength: 3,
-          $ref: "#/definitions/name/properties/last"
+          $ref: "#/definitions/name/properties/last",
         },
         last: {
-          $ref: "#/definitions/name/properties/first"
+          $ref: "#/definitions/name/properties/first",
         },
         suffix: {
           $ref: "#/definitions/name/properties/prefix",
           type: "string",
-          maxLength: 3
+          maxLength: 3,
         },
         first: {
-          $ref: "#/definitions/requiredString"
-        }
-      }
-    }
-  }
+          $ref: "#/definitions/requiredString",
+        },
+      },
+    },
+  },
 };
diff --git a/test/specs/circular/bundled.js b/test/specs/circular/bundled.js
index b7148369..554bc5ea 100644
--- a/test/specs/circular/bundled.js
+++ b/test/specs/circular/bundled.js
@@ -1,12 +1,11 @@
 "use strict";
 
-module.exports =
-{
+module.exports = {
   swagger: "2.0",
   info: {
     version: "1.0.0",
     description: "This API contains circular (recursive) JSON references",
-    title: "Circular $Refs"
+    title: "Circular $Refs",
   },
   paths: {
     "/pet": {
@@ -15,11 +14,11 @@ module.exports =
           200: {
             description: "Returns a pet",
             schema: {
-              $ref: "#/definitions/pet"
-            }
-          }
-        }
-      }
+              $ref: "#/definitions/pet",
+            },
+          },
+        },
+      },
     },
     "/thing": {
       get: {
@@ -27,11 +26,11 @@ module.exports =
           200: {
             description: "Returns a thing",
             schema: {
-              $ref: "#/definitions/thing"
-            }
-          }
-        }
-      }
+              $ref: "#/definitions/thing",
+            },
+          },
+        },
+      },
     },
     "/person": {
       get: {
@@ -39,11 +38,11 @@ module.exports =
           200: {
             description: "Returns a person",
             schema: {
-              $ref: "#/definitions/person"
-            }
-          }
-        }
-      }
+              $ref: "#/definitions/person",
+            },
+          },
+        },
+      },
     },
     "/parent": {
       get: {
@@ -51,64 +50,59 @@ module.exports =
           200: {
             description: "Returns a parent",
             schema: {
-              $ref: "#/definitions/parent"
-            }
-          }
-        }
-      }
-    }
+              $ref: "#/definitions/parent",
+            },
+          },
+        },
+      },
+    },
   },
   definitions: {
     pet: {
       type: "object",
       properties: {
         age: {
-          type: "number"
+          type: "number",
         },
         name: {
-          type: "string"
+          type: "string",
         },
         species: {
-          enum: [
-            "cat",
-            "dog",
-            "bird",
-            "fish"
-          ],
-          type: "string"
-        }
+          enum: ["cat", "dog", "bird", "fish"],
+          type: "string",
+        },
       },
-      title: "pet"
+      title: "pet",
     },
     thing: {
-      $ref: "#/definitions/thing"
+      $ref: "#/definitions/thing",
     },
     person: {
       title: "person",
       type: "object",
       properties: {
         spouse: {
-          $ref: "#/definitions/person"
+          $ref: "#/definitions/person",
         },
         name: {
-          type: "string"
-        }
-      }
+          type: "string",
+        },
+      },
     },
     parent: {
       title: "parent",
       type: "object",
       properties: {
         name: {
-          type: "string"
+          type: "string",
         },
         children: {
           items: {
-            $ref: "#/definitions/child"
+            $ref: "#/definitions/child",
           },
-          type: "array"
-        }
-      }
+          type: "array",
+        },
+      },
     },
     child: {
       title: "child",
@@ -116,14 +110,14 @@ module.exports =
       properties: {
         parents: {
           items: {
-            $ref: "#/definitions/parent"
+            $ref: "#/definitions/parent",
           },
-          type: "array"
+          type: "array",
         },
         name: {
-          type: "string"
-        }
-      }
-    }
-  }
+          type: "string",
+        },
+      },
+    },
+  },
 };
diff --git a/test/specs/circular/circular.spec.js b/test/specs/circular/circular.spec.js
index 3d89f895..119d6e07 100644
--- a/test/specs/circular/circular.spec.js
+++ b/test/specs/circular/circular.spec.js
@@ -18,13 +18,21 @@ describe("API with circular (recursive) $refs", () => {
     expect(parser.$refs.paths()).to.deep.equal([path.abs("specs/circular/circular.yaml")]);
   });
 
-  it("should resolve successfully", helper.testResolve(
-    "specs/circular/circular.yaml", parsedAPI.api,
-    "specs/circular/definitions/pet.yaml", parsedAPI.pet,
-    "specs/circular/definitions/child.yaml", parsedAPI.child,
-    "specs/circular/definitions/parent.yaml", parsedAPI.parent,
-    "specs/circular/definitions/person.yaml", parsedAPI.person
-  ));
+  it(
+    "should resolve successfully",
+    helper.testResolve(
+      "specs/circular/circular.yaml",
+      parsedAPI.api,
+      "specs/circular/definitions/pet.yaml",
+      parsedAPI.pet,
+      "specs/circular/definitions/child.yaml",
+      parsedAPI.child,
+      "specs/circular/definitions/parent.yaml",
+      parsedAPI.parent,
+      "specs/circular/definitions/person.yaml",
+      parsedAPI.person,
+    ),
+  );
 
   it("should dereference successfully", async () => {
     let parser = new SwaggerParser();
@@ -50,7 +58,9 @@ describe("API with circular (recursive) $refs", () => {
 
   it('should not dereference circular $refs if "options.dereference.circular" is "ignore"', async () => {
     let parser = new SwaggerParser();
-    const api = await parser.validate(path.rel("specs/circular/circular.yaml"), { dereference: { circular: "ignore" }});
+    const api = await parser.validate(path.rel("specs/circular/circular.yaml"), {
+      dereference: { circular: "ignore" },
+    });
     expect(api).to.equal(parser.api);
     expect(api).to.deep.equal(validatedAPI.ignoreCircular$Refs);
     // Reference equality
@@ -61,10 +71,9 @@ describe("API with circular (recursive) $refs", () => {
     let parser = new SwaggerParser();
 
     try {
-      await parser.validate(path.rel("specs/circular/circular.yaml"), { dereference: { circular: false }});
+      await parser.validate(path.rel("specs/circular/circular.yaml"), { dereference: { circular: false } });
       helper.shouldNotGetCalled();
-    }
-    catch (err) {
+    } catch (err) {
       expect(err).to.be.an.instanceOf(ReferenceError);
       expect(err.message).to.equal("The API contains circular references");
     }
diff --git a/test/specs/circular/dereferenced.js b/test/specs/circular/dereferenced.js
index e9bdb65d..db57fb00 100644
--- a/test/specs/circular/dereferenced.js
+++ b/test/specs/circular/dereferenced.js
@@ -1,12 +1,11 @@
 "use strict";
 
-const dereferencedAPI = module.exports =
-{
+const dereferencedAPI = (module.exports = {
   swagger: "2.0",
   info: {
     version: "1.0.0",
     description: "This API contains circular (recursive) JSON references",
-    title: "Circular $Refs"
+    title: "Circular $Refs",
   },
   paths: {
     "/pet": {
@@ -14,66 +13,61 @@ const dereferencedAPI = module.exports =
         responses: {
           200: {
             description: "Returns a pet",
-            schema: null
-          }
-        }
-      }
+            schema: null,
+          },
+        },
+      },
     },
     "/thing": {
       get: {
         responses: {
           200: {
             description: "Returns a thing",
-            schema: null
-          }
-        }
-      }
+            schema: null,
+          },
+        },
+      },
     },
     "/person": {
       get: {
         responses: {
           200: {
             description: "Returns a person",
-            schema: null
-          }
-        }
-      }
+            schema: null,
+          },
+        },
+      },
     },
     "/parent": {
       get: {
         responses: {
           200: {
             description: "Returns a parent",
-            schema: null
-          }
-        }
-      }
-    }
+            schema: null,
+          },
+        },
+      },
+    },
   },
   definitions: {
     pet: {
       type: "object",
       properties: {
         age: {
-          type: "number"
+          type: "number",
         },
         name: {
-          type: "string"
+          type: "string",
         },
         species: {
-          enum: [
-            "cat",
-            "dog",
-            "bird",
-            "fish"
-          ],
-          type: "string"
-        }
+          enum: ["cat", "dog", "bird", "fish"],
+          type: "string",
+        },
       },
-      title: "pet"
+      title: "pet",
     },
     thing: {
-      $ref: "#/definitions/thing"
+      $ref: "#/definitions/thing",
     },
     person: {
       title: "person",
@@ -81,22 +75,22 @@ const dereferencedAPI = module.exports =
       properties: {
         spouse: null,
         name: {
-          type: "string"
-        }
-      }
+          type: "string",
+        },
+      },
     },
     parent: {
       title: "parent",
       type: "object",
       properties: {
         name: {
-          type: "string"
+          type: "string",
         },
         children: {
           items: null,
-          type: "array"
-        }
-      }
+          type: "array",
+        },
+      },
     },
     child: {
       title: "child",
@@ -104,29 +98,24 @@ const dereferencedAPI = module.exports =
       properties: {
         parents: {
           items: null,
-          type: "array"
+          type: "array",
         },
         name: {
-          type: "string"
-        }
-      }
-    }
-  }
-};
+          type: "string",
+        },
+      },
+    },
+  },
+});
 
-dereferencedAPI.paths["/pet"].get.responses["200"].schema =
-  dereferencedAPI.definitions.pet;
+dereferencedAPI.paths["/pet"].get.responses["200"].schema = dereferencedAPI.definitions.pet;
 
-dereferencedAPI.paths["/thing"].get.responses["200"].schema =
-  dereferencedAPI.definitions.thing;
+dereferencedAPI.paths["/thing"].get.responses["200"].schema = dereferencedAPI.definitions.thing;
 
-dereferencedAPI.paths["/person"].get.responses["200"].schema =
-  dereferencedAPI.definitions.person.properties.spouse =
-    dereferencedAPI.definitions.person;
+dereferencedAPI.paths["/person"].get.responses["200"].schema = dereferencedAPI.definitions.person.properties.spouse =
+  dereferencedAPI.definitions.person;
 
-dereferencedAPI.definitions.parent.properties.children.items =
-  dereferencedAPI.definitions.child;
+dereferencedAPI.definitions.parent.properties.children.items = dereferencedAPI.definitions.child;
 
 dereferencedAPI.paths["/parent"].get.responses["200"].schema =
-  dereferencedAPI.definitions.child.properties.parents.items =
-    dereferencedAPI.definitions.parent;
+  dereferencedAPI.definitions.child.properties.parents.items = dereferencedAPI.definitions.parent;
diff --git a/test/specs/circular/parsed.js b/test/specs/circular/parsed.js
index 2429561c..d735178d 100644
--- a/test/specs/circular/parsed.js
+++ b/test/specs/circular/parsed.js
@@ -1,12 +1,11 @@
 "use strict";
 
-module.exports =
-{
+module.exports = {
   api: {
     info: {
       version: "1.0.0",
       description: "This API contains circular (recursive) JSON references",
-      title: "Circular $Refs"
+      title: "Circular $Refs",
     },
     paths: {
       "/parent": {
@@ -15,11 +14,11 @@ module.exports =
             200: {
               description: "Returns a parent",
               schema: {
-                $ref: "#/definitions/parent"
-              }
-            }
-          }
-        }
+                $ref: "#/definitions/parent",
+              },
+            },
+          },
+        },
       },
       "/pet": {
         get: {
@@ -27,11 +26,11 @@ module.exports =
             200: {
               description: "Returns a pet",
               schema: {
-                $ref: "#/definitions/pet"
-              }
-            }
-          }
-        }
+                $ref: "#/definitions/pet",
+              },
+            },
+          },
+        },
       },
       "/thing": {
         get: {
@@ -39,11 +38,11 @@ module.exports =
             200: {
               description: "Returns a thing",
               schema: {
-                $ref: "#/definitions/thing"
-              }
-            }
-          }
-        }
+                $ref: "#/definitions/thing",
+              },
+            },
+          },
+        },
       },
       "/person": {
         get: {
@@ -51,53 +50,48 @@ module.exports =
             200: {
               description: "Returns a person",
               schema: {
-                $ref: "#/definitions/person"
-              }
-            }
-          }
-        }
-      }
+                $ref: "#/definitions/person",
+              },
+            },
+          },
+        },
+      },
     },
     swagger: "2.0",
     definitions: {
       pet: {
-        $ref: "definitions/pet.yaml"
+        $ref: "definitions/pet.yaml",
       },
       thing: {
-        $ref: "circular.yaml#/definitions/thing"
+        $ref: "circular.yaml#/definitions/thing",
       },
       person: {
-        $ref: "definitions/person.yaml"
+        $ref: "definitions/person.yaml",
       },
       parent: {
-        $ref: "definitions/parent.yaml"
+        $ref: "definitions/parent.yaml",
       },
       child: {
-        $ref: "definitions/child.yaml"
-      }
-    }
+        $ref: "definitions/child.yaml",
+      },
+    },
   },
 
   pet: {
     type: "object",
     properties: {
       age: {
-        type: "number"
+        type: "number",
       },
       name: {
-        type: "string"
+        type: "string",
       },
       species: {
-        enum: [
-          "cat",
-          "dog",
-          "bird",
-          "fish"
-        ],
-        type: "string"
-      }
+        enum: ["cat", "dog", "bird", "fish"],
+        type: "string",
+      },
     },
-    title: "pet"
+    title: "pet",
   },
 
   child: {
@@ -105,43 +99,43 @@ module.exports =
     properties: {
       parents: {
         items: {
-          $ref: "parent.yaml"
+          $ref: "parent.yaml",
         },
-        type: "array"
+        type: "array",
       },
       name: {
-        type: "string"
-      }
+        type: "string",
+      },
     },
-    title: "child"
+    title: "child",
   },
 
   parent: {
     type: "object",
     properties: {
       name: {
-        type: "string"
+        type: "string",
       },
       children: {
         items: {
-          $ref: "child.yaml"
+          $ref: "child.yaml",
         },
-        type: "array"
-      }
+        type: "array",
+      },
     },
-    title: "parent"
+    title: "parent",
   },
 
   person: {
     type: "object",
     properties: {
       spouse: {
-        $ref: "person.yaml"
+        $ref: "person.yaml",
       },
       name: {
-        type: "string"
-      }
+        type: "string",
+      },
     },
-    title: "person"
-  }
+    title: "person",
+  },
 };
diff --git a/test/specs/circular/validated.js b/test/specs/circular/validated.js
index a0453c70..55742b95 100644
--- a/test/specs/circular/validated.js
+++ b/test/specs/circular/validated.js
@@ -1,13 +1,12 @@
 "use strict";
 
-const validatedAPI = module.exports =
-{
+const validatedAPI = (module.exports = {
   fullyDereferenced: {
     swagger: "2.0",
     info: {
       version: "1.0.0",
       description: "This API contains circular (recursive) JSON references",
-      title: "Circular $Refs"
+      title: "Circular $Refs",
     },
     paths: {
       "/pet": {
@@ -15,66 +14,61 @@ const validatedAPI = module.exports =
           responses: {
             200: {
               description: "Returns a pet",
-              schema: null
-            }
-          }
-        }
+              schema: null,
+            },
+          },
+        },
       },
       "/thing": {
         get: {
           responses: {
             200: {
               description: "Returns a thing",
-              schema: null
-            }
-          }
-        }
+              schema: null,
+            },
+          },
+        },
       },
       "/person": {
         get: {
           responses: {
             200: {
               description: "Returns a person",
-              schema: null
-            }
-          }
-        }
+              schema: null,
+            },
+          },
+        },
       },
       "/parent": {
         get: {
           responses: {
             200: {
               description: "Returns a parent",
-              schema: null
-            }
-          }
-        }
-      }
+              schema: null,
+            },
+          },
+        },
+      },
     },
     definitions: {
       pet: {
         type: "object",
         properties: {
           age: {
-            type: "number"
+            type: "number",
           },
           name: {
-            type: "string"
+            type: "string",
           },
           species: {
-            enum: [
-              "cat",
-              "dog",
-              "bird",
-              "fish"
-            ],
-            type: "string"
-          }
+            enum: ["cat", "dog", "bird", "fish"],
+            type: "string",
+          },
         },
-        title: "pet"
+        title: "pet",
       },
       thing: {
-        $ref: "#/definitions/thing"
+        $ref: "#/definitions/thing",
       },
       person: {
         title: "person",
@@ -82,22 +76,22 @@ const validatedAPI = module.exports =
         properties: {
           spouse: null,
           name: {
-            type: "string"
-          }
-        }
+            type: "string",
+          },
+        },
       },
       parent: {
         title: "parent",
         type: "object",
         properties: {
           name: {
-            type: "string"
+            type: "string",
           },
           children: {
             items: null,
-            type: "array"
-          }
-        }
+            type: "array",
+          },
+        },
       },
       child: {
         title: "child",
@@ -105,14 +99,14 @@ const validatedAPI = module.exports =
         properties: {
           parents: {
             items: null,
-            type: "array"
+            type: "array",
           },
           name: {
-            type: "string"
-          }
-        }
-      }
-    }
+            type: "string",
+          },
+        },
+      },
+    },
   },
 
   ignoreCircular$Refs: {
@@ -120,7 +114,7 @@ const validatedAPI = module.exports =
     info: {
       version: "1.0.0",
       description: "This API contains circular (recursive) JSON references",
-      title: "Circular $Refs"
+      title: "Circular $Refs",
     },
     paths: {
       "/parent": {
@@ -129,21 +123,21 @@ const validatedAPI = module.exports =
             200: {
               description: "Returns a parent",
               schema: {
-                $ref: "#/definitions/parent"
-              }
-            }
-          }
-        }
+                $ref: "#/definitions/parent",
+              },
+            },
+          },
+        },
       },
       "/pet": {
         get: {
           responses: {
             200: {
               description: "Returns a pet",
-              schema: null
-            }
-          }
-        }
+              schema: null,
+            },
+          },
+        },
       },
       "/thing": {
         get: {
@@ -151,11 +145,11 @@ const validatedAPI = module.exports =
             200: {
               description: "Returns a thing",
               schema: {
-                $ref: "#/definitions/thing"
-              }
-            }
-          }
-        }
+                $ref: "#/definitions/thing",
+              },
+            },
+          },
+        },
       },
       "/person": {
         get: {
@@ -163,50 +157,45 @@ const validatedAPI = module.exports =
             200: {
               description: "Returns a person",
               schema: {
-                $ref: "#/definitions/person"
-              }
-            }
-          }
-        }
-      }
+                $ref: "#/definitions/person",
+              },
+            },
+          },
+        },
+      },
     },
     definitions: {
       pet: {
         type: "object",
         properties: {
           age: {
-            type: "number"
+            type: "number",
           },
           name: {
-            type: "string"
+            type: "string",
           },
           species: {
-            enum: [
-              "cat",
-              "dog",
-              "bird",
-              "fish"
-            ],
-            type: "string"
-          }
+            enum: ["cat", "dog", "bird", "fish"],
+            type: "string",
+          },
         },
-        title: "pet"
+        title: "pet",
       },
       thing: {
-        $ref: "#/definitions/thing"
+        $ref: "#/definitions/thing",
       },
       person: {
-        $ref: "definitions/person.yaml"
+        $ref: "definitions/person.yaml",
       },
       parent: {
-        $ref: "definitions/parent.yaml"
+        $ref: "definitions/parent.yaml",
       },
       child: {
-        $ref: "definitions/child.yaml"
-      }
-    }
-  }
-};
+        $ref: "definitions/child.yaml",
+      },
+    },
+  },
+});
 
 validatedAPI.fullyDereferenced.paths["/pet"].get.responses["200"].schema =
   validatedAPI.fullyDereferenced.definitions.pet;
diff --git a/test/specs/deep-circular/bundled.js b/test/specs/deep-circular/bundled.js
index 4ce0d26c..6a05f828 100644
--- a/test/specs/deep-circular/bundled.js
+++ b/test/specs/deep-circular/bundled.js
@@ -1,12 +1,11 @@
 "use strict";
 
-module.exports =
-{
+module.exports = {
   swagger: "2.0",
   info: {
     version: "1.0.0",
     description: "This API contains a VERY DEEP circular (recursive) JSON reference",
-    title: "Deep Circular $Ref"
+    title: "Deep Circular $Ref",
   },
   paths: {
     "/family-tree": {
@@ -16,371 +15,344 @@ module.exports =
             description: "Returns a really deep family tree",
             schema: {
               type: "object",
-              required: [
-                "name"
-              ],
+              required: ["name"],
               properties: {
                 level1: {
-                  required: [
-                    "name"
-                  ],
+                  required: ["name"],
                   type: "object",
                   properties: {
                     level2: {
-                      required: [
-                        "name"
-                      ],
+                      required: ["name"],
                       type: "object",
                       properties: {
                         level3: {
-                          required: [
-                            "name"
-                          ],
+                          required: ["name"],
                           type: "object",
                           properties: {
                             level4: {
-                              required: [
-                                "name"
-                              ],
+                              required: ["name"],
                               type: "object",
                               properties: {
                                 name: {
-                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
+                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
                                 },
                                 level5: {
-                                  required: [
-                                    "name"
-                                  ],
+                                  required: ["name"],
                                   type: "object",
                                   properties: {
                                     name: {
-                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
+                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
                                     },
                                     level6: {
-                                      required: [
-                                        "name"
-                                      ],
+                                      required: ["name"],
                                       type: "object",
                                       properties: {
                                         name: {
-                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
+                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
                                         },
                                         level7: {
-                                          required: [
-                                            "name"
-                                          ],
+                                          required: ["name"],
                                           type: "object",
                                           properties: {
                                             level8: {
-                                              required: [
-                                                "name"
-                                              ],
+                                              required: ["name"],
                                               type: "object",
                                               properties: {
                                                 level9: {
-                                                  required: [
-                                                    "name"
-                                                  ],
+                                                  required: ["name"],
                                                   type: "object",
                                                   properties: {
                                                     level10: {
-                                                      required: [
-                                                        "name"
-                                                      ],
+                                                      required: ["name"],
                                                       type: "object",
                                                       properties: {
                                                         level11: {
-                                                          required: [
-                                                            "name"
-                                                          ],
+                                                          required: ["name"],
                                                           type: "object",
                                                           properties: {
                                                             level12: {
-                                                              required: [
-                                                                "name"
-                                                              ],
+                                                              required: ["name"],
                                                               type: "object",
                                                               properties: {
                                                                 level13: {
-                                                                  required: [
-                                                                    "name"
-                                                                  ],
+                                                                  required: ["name"],
                                                                   type: "object",
                                                                   properties: {
                                                                     name: {
-                                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
+                                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
                                                                     },
                                                                     level14: {
-                                                                      required: [
-                                                                        "name"
-                                                                      ],
+                                                                      required: ["name"],
                                                                       type: "object",
                                                                       properties: {
                                                                         name: {
-                                                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
+                                                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
                                                                         },
                                                                         level15: {
-                                                                          required: [
-                                                                            "name"
-                                                                          ],
+                                                                          required: ["name"],
                                                                           type: "object",
                                                                           properties: {
                                                                             level16: {
-                                                                              required: [
-                                                                                "name"
-                                                                              ],
+                                                                              required: ["name"],
                                                                               type: "object",
                                                                               properties: {
                                                                                 name: {
-                                                                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
+                                                                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
                                                                                 },
                                                                                 level17: {
-                                                                                  required: [
-                                                                                    "name"
-                                                                                  ],
+                                                                                  required: ["name"],
                                                                                   type: "object",
                                                                                   properties: {
                                                                                     level18: {
-                                                                                      required: [
-                                                                                        "name"
-                                                                                      ],
+                                                                                      required: ["name"],
                                                                                       type: "object",
                                                                                       properties: {
                                                                                         level19: {
-                                                                                          required: [
-                                                                                            "name"
-                                                                                          ],
+                                                                                          required: ["name"],
                                                                                           type: "object",
                                                                                           properties: {
                                                                                             level20: {
-                                                                                              required: [
-                                                                                                "name"
-                                                                                              ],
+                                                                                              required: ["name"],
                                                                                               type: "object",
                                                                                               properties: {
                                                                                                 level21: {
-                                                                                                  required: [
-                                                                                                    "name"
-                                                                                                  ],
+                                                                                                  required: ["name"],
                                                                                                   type: "object",
                                                                                                   properties: {
                                                                                                     level22: {
                                                                                                       required: [
-                                                                                                        "name"
+                                                                                                        "name",
                                                                                                       ],
                                                                                                       type: "object",
                                                                                                       properties: {
                                                                                                         level23: {
                                                                                                           required: [
-                                                                                                            "name"
+                                                                                                            "name",
                                                                                                           ],
                                                                                                           type: "object",
                                                                                                           properties: {
                                                                                                             name: {
-                                                                                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
+                                                                                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
                                                                                                             },
                                                                                                             level24: {
-                                                                                                              required: [
-                                                                                                                "name"
-                                                                                                              ],
+                                                                                                              required:
+                                                                                                                [
+                                                                                                                  "name",
+                                                                                                                ],
                                                                                                               type: "object",
-                                                                                                              properties: {
-                                                                                                                name: {
-                                                                                                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                                                },
-                                                                                                                level25: {
-                                                                                                                  required: [
-                                                                                                                    "name"
-                                                                                                                  ],
-                                                                                                                  type: "object",
-                                                                                                                  properties: {
-                                                                                                                    name: {
-                                                                                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                                                    },
-                                                                                                                    level26: {
-                                                                                                                      required: [
-                                                                                                                        "name"
-                                                                                                                      ],
+                                                                                                              properties:
+                                                                                                                {
+                                                                                                                  name: {
+                                                                                                                    $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                                                  },
+                                                                                                                  level25:
+                                                                                                                    {
+                                                                                                                      required:
+                                                                                                                        [
+                                                                                                                          "name",
+                                                                                                                        ],
                                                                                                                       type: "object",
-                                                                                                                      properties: {
-                                                                                                                        level27: {
-                                                                                                                          required: [
-                                                                                                                            "name"
-                                                                                                                          ],
-                                                                                                                          type: "object",
-                                                                                                                          properties: {
-                                                                                                                            level28: {
-                                                                                                                              required: [
-                                                                                                                                "name"
-                                                                                                                              ],
+                                                                                                                      properties:
+                                                                                                                        {
+                                                                                                                          name: {
+                                                                                                                            $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                                                          },
+                                                                                                                          level26:
+                                                                                                                            {
+                                                                                                                              required:
+                                                                                                                                [
+                                                                                                                                  "name",
+                                                                                                                                ],
                                                                                                                               type: "object",
-                                                                                                                              properties: {
-                                                                                                                                level29: {
-                                                                                                                                  required: [
-                                                                                                                                    "name"
-                                                                                                                                  ],
-                                                                                                                                  type: "object",
-                                                                                                                                  properties: {
-                                                                                                                                    level30: {
-                                                                                                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema"
+                                                                                                                              properties:
+                                                                                                                                {
+                                                                                                                                  level27:
+                                                                                                                                    {
+                                                                                                                                      required:
+                                                                                                                                        [
+                                                                                                                                          "name",
+                                                                                                                                        ],
+                                                                                                                                      type: "object",
+                                                                                                                                      properties:
+                                                                                                                                        {
+                                                                                                                                          level28:
+                                                                                                                                            {
+                                                                                                                                              required:
+                                                                                                                                                [
+                                                                                                                                                  "name",
+                                                                                                                                                ],
+                                                                                                                                              type: "object",
+                                                                                                                                              properties:
+                                                                                                                                                {
+                                                                                                                                                  level29:
+                                                                                                                                                    {
+                                                                                                                                                      required:
+                                                                                                                                                        [
+                                                                                                                                                          "name",
+                                                                                                                                                        ],
+                                                                                                                                                      type: "object",
+                                                                                                                                                      properties:
+                                                                                                                                                        {
+                                                                                                                                                          level30:
+                                                                                                                                                            {
+                                                                                                                                                              $ref: "#/paths/~1family-tree/get/responses/200/schema",
+                                                                                                                                                            },
+                                                                                                                                                          name: {
+                                                                                                                                                            $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                                                                                          },
+                                                                                                                                                        },
+                                                                                                                                                    },
+                                                                                                                                                  name: {
+                                                                                                                                                    $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                                                                                  },
+                                                                                                                                                },
+                                                                                                                                            },
+                                                                                                                                          name: {
+                                                                                                                                            $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                                                                          },
+                                                                                                                                        },
                                                                                                                                     },
-                                                                                                                                    name: {
-                                                                                                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                                                                    }
-                                                                                                                                  }
+                                                                                                                                  name: {
+                                                                                                                                    $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                                                                  },
                                                                                                                                 },
-                                                                                                                                name: {
-                                                                                                                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                                                                }
-                                                                                                                              }
                                                                                                                             },
-                                                                                                                            name: {
-                                                                                                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                                                            }
-                                                                                                                          }
                                                                                                                         },
-                                                                                                                        name: {
-                                                                                                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                                                        }
-                                                                                                                      }
-                                                                                                                    }
-                                                                                                                  }
-                                                                                                                }
-                                                                                                              }
-                                                                                                            }
-                                                                                                          }
+                                                                                                                    },
+                                                                                                                },
+                                                                                                            },
+                                                                                                          },
                                                                                                         },
                                                                                                         name: {
-                                                                                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                                        }
-                                                                                                      }
+                                                                                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                                        },
+                                                                                                      },
                                                                                                     },
                                                                                                     name: {
-                                                                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                                    }
-                                                                                                  }
+                                                                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                                    },
+                                                                                                  },
                                                                                                 },
                                                                                                 name: {
-                                                                                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                                }
-                                                                                              }
+                                                                                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                                },
+                                                                                              },
                                                                                             },
                                                                                             name: {
-                                                                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                            }
-                                                                                          }
+                                                                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                            },
+                                                                                          },
                                                                                         },
                                                                                         name: {
-                                                                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                        }
-                                                                                      }
+                                                                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                        },
+                                                                                      },
                                                                                     },
                                                                                     name: {
-                                                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                                    }
-                                                                                  }
-                                                                                }
-                                                                              }
+                                                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                                    },
+                                                                                  },
+                                                                                },
+                                                                              },
                                                                             },
                                                                             name: {
-                                                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                            }
-                                                                          }
-                                                                        }
-                                                                      }
-                                                                    }
-                                                                  }
+                                                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                            },
+                                                                          },
+                                                                        },
+                                                                      },
+                                                                    },
+                                                                  },
                                                                 },
                                                                 name: {
-                                                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                                }
-                                                              }
+                                                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                                },
+                                                              },
                                                             },
                                                             name: {
-                                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                            }
-                                                          }
+                                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                            },
+                                                          },
                                                         },
                                                         name: {
-                                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                        }
-                                                      }
+                                                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                        },
+                                                      },
                                                     },
                                                     name: {
-                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                    }
-                                                  }
+                                                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                    },
+                                                  },
                                                 },
                                                 name: {
-                                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                                }
-                                              }
+                                                  $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                                },
+                                              },
                                             },
                                             name: {
-                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                                            }
-                                          }
-                                        }
-                                      }
-                                    }
-                                  }
-                                }
-                              }
+                                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                                            },
+                                          },
+                                        },
+                                      },
+                                    },
+                                  },
+                                },
+                              },
                             },
                             name: {
-                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                            }
-                          }
+                              $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                            },
+                          },
                         },
                         name: {
-                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                        }
-                      }
+                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                        },
+                      },
                     },
                     name: {
-                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name"
-                    }
-                  }
+                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name",
+                    },
+                  },
                 },
                 name: {
-                  required: [
-                    "first",
-                    "last"
-                  ],
+                  required: ["first", "last"],
                   type: "object",
                   properties: {
                     middle: {
                       type: "string",
                       enum: [
                         { $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name/properties/last/type" },
-                        { $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name/properties/last/title" }
-                      ]
+                        {
+                          $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name/properties/last/title",
+                        },
+                      ],
                     },
                     prefix: {
                       minLength: 3,
-                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name/properties/last"
+                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name/properties/last",
                     },
                     last: {
                       minLength: 1,
                       type: "string",
-                      title: "requiredString"
+                      title: "requiredString",
                     },
                     suffix: {
                       $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name/properties/prefix",
                       type: "string",
-                      maxLength: 3
+                      maxLength: 3,
                     },
                     first: {
-                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name/properties/last"
-                    }
+                      $ref: "#/paths/~1family-tree/get/responses/200/schema/properties/name/properties/last",
+                    },
                   },
-                  title: "name"
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
+                  title: "name",
+                },
+              },
+            },
+          },
+        },
+      },
+    },
+  },
 };
diff --git a/test/specs/deep-circular/deep-circular.spec.js b/test/specs/deep-circular/deep-circular.spec.js
index cd7f4634..2a600a7a 100644
--- a/test/specs/deep-circular/deep-circular.spec.js
+++ b/test/specs/deep-circular/deep-circular.spec.js
@@ -17,11 +17,17 @@ describe("API with deeply-nested circular $refs", () => {
     expect(parser.$refs.paths()).to.deep.equal([path.abs("specs/deep-circular/deep-circular.yaml")]);
   });
 
-  it("should resolve successfully", helper.testResolve(
-    "specs/deep-circular/deep-circular.yaml", parsedAPI.api,
-    "specs/deep-circular/definitions/name.yaml", parsedAPI.name,
-    "specs/deep-circular/definitions/required-string.yaml", parsedAPI.requiredString
-  ));
+  it(
+    "should resolve successfully",
+    helper.testResolve(
+      "specs/deep-circular/deep-circular.yaml",
+      parsedAPI.api,
+      "specs/deep-circular/definitions/name.yaml",
+      parsedAPI.name,
+      "specs/deep-circular/definitions/required-string.yaml",
+      parsedAPI.requiredString,
+    ),
+  );
 
   it("should dereference successfully", async () => {
     let parser = new SwaggerParser();
@@ -31,9 +37,17 @@ describe("API with deeply-nested circular $refs", () => {
     // Reference equality
     expect(api.paths["/family-tree"].get.responses["200"].schema.properties.name.type)
       .to.equal(api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.name.type)
-      .to.equal(api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.name.type)
-      .to.equal(api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.level3.properties.name.type)
-      .to.equal(api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.level3.properties.level4.properties.name.type);
+      .to.equal(
+        api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.name.type,
+      )
+      .to.equal(
+        api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.level3
+          .properties.name.type,
+      )
+      .to.equal(
+        api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.level3
+          .properties.level4.properties.name.type,
+      );
   });
 
   it("should validate successfully", async () => {
@@ -44,9 +58,17 @@ describe("API with deeply-nested circular $refs", () => {
     // Reference equality
     expect(api.paths["/family-tree"].get.responses["200"].schema.properties.name.type)
       .to.equal(api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.name.type)
-      .to.equal(api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.name.type)
-      .to.equal(api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.level3.properties.name.type)
-      .to.equal(api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.level3.properties.level4.properties.name.type);
+      .to.equal(
+        api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.name.type,
+      )
+      .to.equal(
+        api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.level3
+          .properties.name.type,
+      )
+      .to.equal(
+        api.paths["/family-tree"].get.responses["200"].schema.properties.level1.properties.level2.properties.level3
+          .properties.level4.properties.name.type,
+      );
   });
 
   it("should bundle successfully", async () => {
diff --git a/test/specs/deep-circular/dereferenced.js b/test/specs/deep-circular/dereferenced.js
index e8118e93..5f8bbffc 100644
--- a/test/specs/deep-circular/dereferenced.js
+++ b/test/specs/deep-circular/dereferenced.js
@@ -2,47 +2,43 @@
 
 let name = {
   type: "object",
-  required: [
-    "first",
-    "last"
-  ],
+  required: ["first", "last"],
   properties: {
     middle: {
       type: "string",
-      enum: ["string", "requiredString"]
+      enum: ["string", "requiredString"],
     },
     prefix: {
       minLength: 3,
       type: "string",
-      title: "requiredString"
+      title: "requiredString",
     },
     last: {
       minLength: 1,
       type: "string",
-      title: "requiredString"
+      title: "requiredString",
     },
     suffix: {
       minLength: 3,
       maxLength: 3,
       type: "string",
-      title: "requiredString"
+      title: "requiredString",
     },
     first: {
       minLength: 1,
       type: "string",
-      title: "requiredString"
-    }
+      title: "requiredString",
+    },
   },
-  title: "name"
+  title: "name",
 };
 
-const dereferencedAPI = module.exports =
-{
+const dereferencedAPI = (module.exports = {
   swagger: "2.0",
   info: {
     version: "1.0.0",
     description: "This API contains a VERY DEEP circular (recursive) JSON reference",
-    title: "Deep Circular $Ref"
+    title: "Deep Circular $Ref",
   },
   paths: {
     "/family-tree": {
@@ -52,309 +48,255 @@ const dereferencedAPI = module.exports =
             description: "Returns a really deep family tree",
             schema: {
               type: "object",
-              required: [
-                "name"
-              ],
+              required: ["name"],
               properties: {
                 level1: {
-                  required: [
-                    "name"
-                  ],
+                  required: ["name"],
                   type: "object",
                   properties: {
                     level2: {
-                      required: [
-                        "name"
-                      ],
+                      required: ["name"],
                       type: "object",
                       properties: {
                         level3: {
-                          required: [
-                            "name"
-                          ],
+                          required: ["name"],
                           type: "object",
                           properties: {
                             level4: {
-                              required: [
-                                "name"
-                              ],
+                              required: ["name"],
                               type: "object",
                               properties: {
                                 name,
                                 level5: {
-                                  required: [
-                                    "name"
-                                  ],
+                                  required: ["name"],
                                   type: "object",
                                   properties: {
                                     name,
                                     level6: {
-                                      required: [
-                                        "name"
-                                      ],
+                                      required: ["name"],
                                       type: "object",
                                       properties: {
                                         name,
                                         level7: {
-                                          required: [
-                                            "name"
-                                          ],
+                                          required: ["name"],
                                           type: "object",
                                           properties: {
                                             level8: {
-                                              required: [
-                                                "name"
-                                              ],
+                                              required: ["name"],
                                               type: "object",
                                               properties: {
                                                 level9: {
-                                                  required: [
-                                                    "name"
-                                                  ],
+                                                  required: ["name"],
                                                   type: "object",
                                                   properties: {
                                                     level10: {
-                                                      required: [
-                                                        "name"
-                                                      ],
+                                                      required: ["name"],
                                                       type: "object",
                                                       properties: {
                                                         level11: {
-                                                          required: [
-                                                            "name"
-                                                          ],
+                                                          required: ["name"],
                                                           type: "object",
                                                           properties: {
                                                             level12: {
-                                                              required: [
-                                                                "name"
-                                                              ],
+                                                              required: ["name"],
                                                               type: "object",
                                                               properties: {
                                                                 level13: {
-                                                                  required: [
-                                                                    "name"
-                                                                  ],
+                                                                  required: ["name"],
                                                                   type: "object",
                                                                   properties: {
                                                                     name,
                                                                     level14: {
-                                                                      required: [
-                                                                        "name"
-                                                                      ],
+                                                                      required: ["name"],
                                                                       type: "object",
                                                                       properties: {
                                                                         name,
                                                                         level15: {
-                                                                          required: [
-                                                                            "name"
-                                                                          ],
+                                                                          required: ["name"],
                                                                           type: "object",
                                                                           properties: {
                                                                             level16: {
-                                                                              required: [
-                                                                                "name"
-                                                                              ],
+                                                                              required: ["name"],
                                                                               type: "object",
                                                                               properties: {
                                                                                 name,
                                                                                 level17: {
-                                                                                  required: [
-                                                                                    "name"
-                                                                                  ],
+                                                                                  required: ["name"],
                                                                                   type: "object",
                                                                                   properties: {
                                                                                     level18: {
-                                                                                      required: [
-                                                                                        "name"
-                                                                                      ],
+                                                                                      required: ["name"],
                                                                                       type: "object",
                                                                                       properties: {
                                                                                         level19: {
-                                                                                          required: [
-                                                                                            "name"
-                                                                                          ],
+                                                                                          required: ["name"],
                                                                                           type: "object",
                                                                                           properties: {
                                                                                             level20: {
-                                                                                              required: [
-                                                                                                "name"
-                                                                                              ],
+                                                                                              required: ["name"],
                                                                                               type: "object",
                                                                                               properties: {
                                                                                                 level21: {
-                                                                                                  required: [
-                                                                                                    "name"
-                                                                                                  ],
+                                                                                                  required: ["name"],
                                                                                                   type: "object",
                                                                                                   properties: {
                                                                                                     level22: {
                                                                                                       required: [
-                                                                                                        "name"
+                                                                                                        "name",
                                                                                                       ],
                                                                                                       type: "object",
                                                                                                       properties: {
                                                                                                         level23: {
                                                                                                           required: [
-                                                                                                            "name"
+                                                                                                            "name",
                                                                                                           ],
                                                                                                           type: "object",
                                                                                                           properties: {
                                                                                                             name,
                                                                                                             level24: {
-                                                                                                              required: [
-                                                                                                                "name"
-                                                                                                              ],
+                                                                                                              required:
+                                                                                                                [
+                                                                                                                  "name",
+                                                                                                                ],
                                                                                                               type: "object",
-                                                                                                              properties: {
-                                                                                                                name,
-                                                                                                                level25: {
-                                                                                                                  required: [
-                                                                                                                    "name"
-                                                                                                                  ],
-                                                                                                                  type: "object",
-                                                                                                                  properties: {
-                                                                                                                    name,
-                                                                                                                    level26: {
-                                                                                                                      required: [
-                                                                                                                        "name"
-                                                                                                                      ],
+                                                                                                              properties:
+                                                                                                                {
+                                                                                                                  name,
+                                                                                                                  level25:
+                                                                                                                    {
+                                                                                                                      required:
+                                                                                                                        [
+                                                                                                                          "name",
+                                                                                                                        ],
                                                                                                                       type: "object",
-                                                                                                                      properties: {
-                                                                                                                        level27: {
-                                                                                                                          required: [
-                                                                                                                            "name"
-                                                                                                                          ],
-                                                                                                                          type: "object",
-                                                                                                                          properties: {
-                                                                                                                            level28: {
-                                                                                                                              required: [
-                                                                                                                                "name"
-                                                                                                                              ],
+                                                                                                                      properties:
+                                                                                                                        {
+                                                                                                                          name,
+                                                                                                                          level26:
+                                                                                                                            {
+                                                                                                                              required:
+                                                                                                                                [
+                                                                                                                                  "name",
+                                                                                                                                ],
                                                                                                                               type: "object",
-                                                                                                                              properties: {
-                                                                                                                                level29: {
-                                                                                                                                  required: [
-                                                                                                                                    "name"
-                                                                                                                                  ],
-                                                                                                                                  type: "object",
-                                                                                                                                  properties: {
-                                                                                                                                    name
-                                                                                                                                  }
+                                                                                                                              properties:
+                                                                                                                                {
+                                                                                                                                  level27:
+                                                                                                                                    {
+                                                                                                                                      required:
+                                                                                                                                        [
+                                                                                                                                          "name",
+                                                                                                                                        ],
+                                                                                                                                      type: "object",
+                                                                                                                                      properties:
+                                                                                                                                        {
+                                                                                                                                          level28:
+                                                                                                                                            {
+                                                                                                                                              required:
+                                                                                                                                                [
+                                                                                                                                                  "name",
+                                                                                                                                                ],
+                                                                                                                                              type: "object",
+                                                                                                                                              properties:
+                                                                                                                                                {
+                                                                                                                                                  level29:
+                                                                                                                                                    {
+                                                                                                                                                      required:
+                                                                                                                                                        [
+                                                                                                                                                          "name",
+                                                                                                                                                        ],
+                                                                                                                                                      type: "object",
+                                                                                                                                                      properties:
+                                                                                                                                                        {
+                                                                                                                                                          name,
+                                                                                                                                                        },
+                                                                                                                                                    },
+                                                                                                                                                  name,
+                                                                                                                                                },
+                                                                                                                                            },
+                                                                                                                                          name,
+                                                                                                                                        },
+                                                                                                                                    },
+                                                                                                                                  name,
                                                                                                                                 },
-                                                                                                                                name
-                                                                                                                              }
                                                                                                                             },
-                                                                                                                            name
-                                                                                                                          }
                                                                                                                         },
-                                                                                                                        name
-                                                                                                                      }
-                                                                                                                    }
-                                                                                                                  }
-                                                                                                                }
-                                                                                                              }
-                                                                                                            }
-                                                                                                          }
+                                                                                                                    },
+                                                                                                                },
+                                                                                                            },
+                                                                                                          },
                                                                                                         },
-                                                                                                        name
-                                                                                                      }
+                                                                                                        name,
+                                                                                                      },
                                                                                                     },
-                                                                                                    name
-                                                                                                  }
+                                                                                                    name,
+                                                                                                  },
                                                                                                 },
-                                                                                                name
-                                                                                              }
+                                                                                                name,
+                                                                                              },
                                                                                             },
-                                                                                            name
-                                                                                          }
+                                                                                            name,
+                                                                                          },
                                                                                         },
-                                                                                        name
-                                                                                      }
+                                                                                        name,
+                                                                                      },
                                                                                     },
-                                                                                    name
-                                                                                  }
-                                                                                }
-                                                                              }
+                                                                                    name,
+                                                                                  },
+                                                                                },
+                                                                              },
                                                                             },
-                                                                            name
-                                                                          }
-                                                                        }
-                                                                      }
-                                                                    }
-                                                                  }
+                                                                            name,
+                                                                          },
+                                                                        },
+                                                                      },
+                                                                    },
+                                                                  },
                                                                 },
-                                                                name
-                                                              }
+                                                                name,
+                                                              },
                                                             },
-                                                            name
-                                                          }
+                                                            name,
+                                                          },
                                                         },
-                                                        name
-                                                      }
+                                                        name,
+                                                      },
                                                     },
-                                                    name
-                                                  }
+                                                    name,
+                                                  },
                                                 },
-                                                name
-                                              }
+                                                name,
+                                              },
                                             },
-                                            name
-                                          }
-                                        }
-                                      }
-                                    }
-                                  }
-                                }
-                              }
+                                            name,
+                                          },
+                                        },
+                                      },
+                                    },
+                                  },
+                                },
+                              },
                             },
-                            name
-                          }
+                            name,
+                          },
                         },
-                        name
-                      }
+                        name,
+                      },
                     },
-                    name
-                  }
+                    name,
+                  },
                 },
-                name
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-};
+                name,
+              },
+            },
+          },
+        },
+      },
+    },
+  },
+});
 
-dereferencedAPI.paths["/family-tree"].get.responses["200"].schema
-  .properties.level1
-  .properties.level2
-  .properties.level3
-  .properties.level4
-  .properties.level5
-  .properties.level6
-  .properties.level7
-  .properties.level8
-  .properties.level9
-  .properties.level10
-  .properties.level11
-  .properties.level12
-  .properties.level13
-  .properties.level14
-  .properties.level15
-  .properties.level16
-  .properties.level17
-  .properties.level18
-  .properties.level19
-  .properties.level20
-  .properties.level21
-  .properties.level22
-  .properties.level23
-  .properties.level24
-  .properties.level25
-  .properties.level26
-  .properties.level27
-  .properties.level28
-  .properties.level29
-  .properties.level30 = dereferencedAPI.paths["/family-tree"].get.responses["200"].schema;
+dereferencedAPI.paths["/family-tree"].get.responses[
+  "200"
+].schema.properties.level1.properties.level2.properties.level3.properties.level4.properties.level5.properties.level6.properties.level7.properties.level8.properties.level9.properties.level10.properties.level11.properties.level12.properties.level13.properties.level14.properties.level15.properties.level16.properties.level17.properties.level18.properties.level19.properties.level20.properties.level21.properties.level22.properties.level23.properties.level24.properties.level25.properties.level26.properties.level27.properties.level28.properties.level29.properties.level30 =
+  dereferencedAPI.paths["/family-tree"].get.responses["200"].schema;
diff --git a/test/specs/deep-circular/parsed.js b/test/specs/deep-circular/parsed.js
index 0c508c92..1179c784 100644
--- a/test/specs/deep-circular/parsed.js
+++ b/test/specs/deep-circular/parsed.js
@@ -1,13 +1,12 @@
 "use strict";
 
-module.exports =
-{
+module.exports = {
   api: {
     swagger: "2.0",
     info: {
       version: "1.0.0",
       description: "This API contains a VERY DEEP circular (recursive) JSON reference",
-      title: "Deep Circular $Ref"
+      title: "Deep Circular $Ref",
     },
     paths: {
       "/family-tree": {
@@ -17,388 +16,350 @@ module.exports =
               description: "Returns a really deep family tree",
               schema: {
                 type: "object",
-                required: [
-                  "name"
-                ],
+                required: ["name"],
                 properties: {
                   level1: {
-                    required: [
-                      "name"
-                    ],
+                    required: ["name"],
                     type: "object",
                     properties: {
                       level2: {
-                        required: [
-                          "name"
-                        ],
+                        required: ["name"],
                         type: "object",
                         properties: {
                           level3: {
-                            required: [
-                              "name"
-                            ],
+                            required: ["name"],
                             type: "object",
                             properties: {
                               level4: {
-                                required: [
-                                  "name"
-                                ],
+                                required: ["name"],
                                 type: "object",
                                 properties: {
                                   name: {
-                                    $ref: "definitions/name.yaml"
+                                    $ref: "definitions/name.yaml",
                                   },
                                   level5: {
-                                    required: [
-                                      "name"
-                                    ],
+                                    required: ["name"],
                                     type: "object",
                                     properties: {
                                       name: {
-                                        $ref: "definitions/name.yaml"
-
+                                        $ref: "definitions/name.yaml",
                                       },
                                       level6: {
-                                        required: [
-                                          "name"
-                                        ],
+                                        required: ["name"],
                                         type: "object",
                                         properties: {
                                           name: {
-                                            $ref: "definitions/name.yaml"
-
+                                            $ref: "definitions/name.yaml",
                                           },
                                           level7: {
-                                            required: [
-                                              "name"
-                                            ],
+                                            required: ["name"],
                                             type: "object",
                                             properties: {
                                               level8: {
-                                                required: [
-                                                  "name"
-                                                ],
+                                                required: ["name"],
                                                 type: "object",
                                                 properties: {
                                                   level9: {
-                                                    required: [
-                                                      "name"
-                                                    ],
+                                                    required: ["name"],
                                                     type: "object",
                                                     properties: {
                                                       level10: {
-                                                        required: [
-                                                          "name"
-                                                        ],
+                                                        required: ["name"],
                                                         type: "object",
                                                         properties: {
                                                           level11: {
-                                                            required: [
-                                                              "name"
-                                                            ],
+                                                            required: ["name"],
                                                             type: "object",
                                                             properties: {
                                                               level12: {
-                                                                required: [
-                                                                  "name"
-                                                                ],
+                                                                required: ["name"],
                                                                 type: "object",
                                                                 properties: {
                                                                   level13: {
-                                                                    required: [
-                                                                      "name"
-                                                                    ],
+                                                                    required: ["name"],
                                                                     type: "object",
                                                                     properties: {
                                                                       name: {
-                                                                        $ref: "definitions/name.yaml"
-
+                                                                        $ref: "definitions/name.yaml",
                                                                       },
                                                                       level14: {
-                                                                        required: [
-                                                                          "name"
-                                                                        ],
+                                                                        required: ["name"],
                                                                         type: "object",
                                                                         properties: {
                                                                           name: {
-                                                                            $ref: "definitions/name.yaml"
-
+                                                                            $ref: "definitions/name.yaml",
                                                                           },
                                                                           level15: {
-                                                                            required: [
-                                                                              "name"
-                                                                            ],
+                                                                            required: ["name"],
                                                                             type: "object",
                                                                             properties: {
                                                                               level16: {
-                                                                                required: [
-                                                                                  "name"
-                                                                                ],
+                                                                                required: ["name"],
                                                                                 type: "object",
                                                                                 properties: {
                                                                                   name: {
-                                                                                    $ref: "definitions/name.yaml"
-
+                                                                                    $ref: "definitions/name.yaml",
                                                                                   },
                                                                                   level17: {
-                                                                                    required: [
-                                                                                      "name"
-                                                                                    ],
+                                                                                    required: ["name"],
                                                                                     type: "object",
                                                                                     properties: {
                                                                                       level18: {
-                                                                                        required: [
-                                                                                          "name"
-                                                                                        ],
+                                                                                        required: ["name"],
                                                                                         type: "object",
                                                                                         properties: {
                                                                                           level19: {
-                                                                                            required: [
-                                                                                              "name"
-                                                                                            ],
+                                                                                            required: ["name"],
                                                                                             type: "object",
                                                                                             properties: {
                                                                                               level20: {
-                                                                                                required: [
-                                                                                                  "name"
-                                                                                                ],
+                                                                                                required: ["name"],
                                                                                                 type: "object",
                                                                                                 properties: {
                                                                                                   level21: {
-                                                                                                    required: [
-                                                                                                      "name"
-                                                                                                    ],
+                                                                                                    required: ["name"],
                                                                                                     type: "object",
                                                                                                     properties: {
                                                                                                       level22: {
                                                                                                         required: [
-                                                                                                          "name"
+                                                                                                          "name",
                                                                                                         ],
                                                                                                         type: "object",
                                                                                                         properties: {
                                                                                                           level23: {
                                                                                                             required: [
-                                                                                                              "name"
+                                                                                                              "name",
                                                                                                             ],
                                                                                                             type: "object",
-                                                                                                            properties: {
-                                                                                                              name: {
-                                                                                                                $ref: "definitions/name.yaml"
-
-                                                                                                              },
-                                                                                                              level24: {
-                                                                                                                required: [
-                                                                                                                  "name"
-                                                                                                                ],
-                                                                                                                type: "object",
-                                                                                                                properties: {
-                                                                                                                  name: {
-                                                                                                                    $ref: "definitions/name.yaml"
-
-                                                                                                                  },
-                                                                                                                  level25: {
-                                                                                                                    required: [
-                                                                                                                      "name"
-                                                                                                                    ],
+                                                                                                            properties:
+                                                                                                              {
+                                                                                                                name: {
+                                                                                                                  $ref: "definitions/name.yaml",
+                                                                                                                },
+                                                                                                                level24:
+                                                                                                                  {
+                                                                                                                    required:
+                                                                                                                      [
+                                                                                                                        "name",
+                                                                                                                      ],
                                                                                                                     type: "object",
-                                                                                                                    properties: {
-                                                                                                                      name: {
-                                                                                                                        $ref: "definitions/name.yaml"
-
-                                                                                                                      },
-                                                                                                                      level26: {
-                                                                                                                        required: [
-                                                                                                                          "name"
-                                                                                                                        ],
-                                                                                                                        type: "object",
-                                                                                                                        properties: {
-                                                                                                                          level27: {
-                                                                                                                            required: [
-                                                                                                                              "name"
-                                                                                                                            ],
+                                                                                                                    properties:
+                                                                                                                      {
+                                                                                                                        name: {
+                                                                                                                          $ref: "definitions/name.yaml",
+                                                                                                                        },
+                                                                                                                        level25:
+                                                                                                                          {
+                                                                                                                            required:
+                                                                                                                              [
+                                                                                                                                "name",
+                                                                                                                              ],
                                                                                                                             type: "object",
-                                                                                                                            properties: {
-                                                                                                                              level28: {
-                                                                                                                                required: [
-                                                                                                                                  "name"
-                                                                                                                                ],
-                                                                                                                                type: "object",
-                                                                                                                                properties: {
-                                                                                                                                  level29: {
-                                                                                                                                    required: [
-                                                                                                                                      "name"
-                                                                                                                                    ],
+                                                                                                                            properties:
+                                                                                                                              {
+                                                                                                                                name: {
+                                                                                                                                  $ref: "definitions/name.yaml",
+                                                                                                                                },
+                                                                                                                                level26:
+                                                                                                                                  {
+                                                                                                                                    required:
+                                                                                                                                      [
+                                                                                                                                        "name",
+                                                                                                                                      ],
                                                                                                                                     type: "object",
-                                                                                                                                    properties: {
-                                                                                                                                      level30: {
-                                                                                                                                        $ref: "#/paths/~1family-tree/get/responses/200/schema"
+                                                                                                                                    properties:
+                                                                                                                                      {
+                                                                                                                                        level27:
+                                                                                                                                          {
+                                                                                                                                            required:
+                                                                                                                                              [
+                                                                                                                                                "name",
+                                                                                                                                              ],
+                                                                                                                                            type: "object",
+                                                                                                                                            properties:
+                                                                                                                                              {
+                                                                                                                                                level28:
+                                                                                                                                                  {
+                                                                                                                                                    required:
+                                                                                                                                                      [
+                                                                                                                                                        "name",
+                                                                                                                                                      ],
+                                                                                                                                                    type: "object",
+                                                                                                                                                    properties:
+                                                                                                                                                      {
+                                                                                                                                                        level29:
+                                                                                                                                                          {
+                                                                                                                                                            required:
+                                                                                                                                                              [
+                                                                                                                                                                "name",
+                                                                                                                                                              ],
+                                                                                                                                                            type: "object",
+                                                                                                                                                            properties:
+                                                                                                                                                              {
+                                                                                                                                                                level30:
+                                                                                                                                                                  {
+                                                                                                                                                                    $ref: "#/paths/~1family-tree/get/responses/200/schema",
+                                                                                                                                                                  },
+                                                                                                                                                                name: {
+                                                                                                                                                                  $ref: "definitions/name.yaml",
+                                                                                                                                                                },
+                                                                                                                                                              },
+                                                                                                                                                          },
+                                                                                                                                                        name: {
+                                                                                                                                                          $ref: "definitions/name.yaml",
+                                                                                                                                                        },
+                                                                                                                                                      },
+                                                                                                                                                  },
+                                                                                                                                                name: {
+                                                                                                                                                  $ref: "definitions/name.yaml",
+                                                                                                                                                },
+                                                                                                                                              },
+                                                                                                                                          },
+                                                                                                                                        name: {
+                                                                                                                                          $ref: "definitions/name.yaml",
+                                                                                                                                        },
                                                                                                                                       },
-                                                                                                                                      name: {
-                                                                                                                                        $ref: "definitions/name.yaml"
-                                                                                                                                      }
-                                                                                                                                    }
                                                                                                                                   },
-                                                                                                                                  name: {
-                                                                                                                                    $ref: "definitions/name.yaml"
-                                                                                                                                  }
-                                                                                                                                }
                                                                                                                               },
-                                                                                                                              name: {
-                                                                                                                                $ref: "definitions/name.yaml"
-                                                                                                                              }
-                                                                                                                            }
                                                                                                                           },
-                                                                                                                          name: {
-                                                                                                                            $ref: "definitions/name.yaml"
-                                                                                                                          }
-                                                                                                                        }
-                                                                                                                      }
-                                                                                                                    }
-                                                                                                                  }
-                                                                                                                }
-                                                                                                              }
-                                                                                                            }
+                                                                                                                      },
+                                                                                                                  },
+                                                                                                              },
                                                                                                           },
                                                                                                           name: {
-                                                                                                            $ref: "definitions/name.yaml"
-                                                                                                          }
-                                                                                                        }
+                                                                                                            $ref: "definitions/name.yaml",
+                                                                                                          },
+                                                                                                        },
                                                                                                       },
                                                                                                       name: {
-                                                                                                        $ref: "definitions/name.yaml"
-                                                                                                      }
-                                                                                                    }
+                                                                                                        $ref: "definitions/name.yaml",
+                                                                                                      },
+                                                                                                    },
                                                                                                   },
                                                                                                   name: {
-                                                                                                    $ref: "definitions/name.yaml"
-                                                                                                  }
-                                                                                                }
+                                                                                                    $ref: "definitions/name.yaml",
+                                                                                                  },
+                                                                                                },
                                                                                               },
                                                                                               name: {
-                                                                                                $ref: "definitions/name.yaml"
-                                                                                              }
-                                                                                            }
+                                                                                                $ref: "definitions/name.yaml",
+                                                                                              },
+                                                                                            },
                                                                                           },
                                                                                           name: {
-                                                                                            $ref: "definitions/name.yaml"
-                                                                                          }
-                                                                                        }
+                                                                                            $ref: "definitions/name.yaml",
+                                                                                          },
+                                                                                        },
                                                                                       },
                                                                                       name: {
-                                                                                        $ref: "definitions/name.yaml"
-                                                                                      }
-                                                                                    }
-                                                                                  }
-                                                                                }
+                                                                                        $ref: "definitions/name.yaml",
+                                                                                      },
+                                                                                    },
+                                                                                  },
+                                                                                },
                                                                               },
                                                                               name: {
-                                                                                $ref: "definitions/name.yaml"
-                                                                              }
-                                                                            }
-                                                                          }
-                                                                        }
-                                                                      }
-                                                                    }
+                                                                                $ref: "definitions/name.yaml",
+                                                                              },
+                                                                            },
+                                                                          },
+                                                                        },
+                                                                      },
+                                                                    },
                                                                   },
                                                                   name: {
-                                                                    $ref: "definitions/name.yaml"
-                                                                  }
-                                                                }
+                                                                    $ref: "definitions/name.yaml",
+                                                                  },
+                                                                },
                                                               },
                                                               name: {
-                                                                $ref: "definitions/name.yaml"
-                                                              }
-                                                            }
+                                                                $ref: "definitions/name.yaml",
+                                                              },
+                                                            },
                                                           },
                                                           name: {
-                                                            $ref: "definitions/name.yaml"
-                                                          }
-                                                        }
+                                                            $ref: "definitions/name.yaml",
+                                                          },
+                                                        },
                                                       },
                                                       name: {
-                                                        $ref: "definitions/name.yaml"
-                                                      }
-                                                    }
+                                                        $ref: "definitions/name.yaml",
+                                                      },
+                                                    },
                                                   },
                                                   name: {
-                                                    $ref: "definitions/name.yaml"
-                                                  }
-                                                }
+                                                    $ref: "definitions/name.yaml",
+                                                  },
+                                                },
                                               },
                                               name: {
-                                                $ref: "definitions/name.yaml"
-                                              }
-                                            }
-                                          }
-                                        }
-                                      }
-                                    }
-                                  }
-                                }
+                                                $ref: "definitions/name.yaml",
+                                              },
+                                            },
+                                          },
+                                        },
+                                      },
+                                    },
+                                  },
+                                },
                               },
                               name: {
-                                $ref: "definitions/name.yaml"
-                              }
-                            }
+                                $ref: "definitions/name.yaml",
+                              },
+                            },
                           },
                           name: {
-                            $ref: "definitions/name.yaml"
-                          }
-                        }
+                            $ref: "definitions/name.yaml",
+                          },
+                        },
                       },
                       name: {
-                        $ref: "definitions/name.yaml"
-                      }
-                    }
+                        $ref: "definitions/name.yaml",
+                      },
+                    },
                   },
                   name: {
-                    $ref: "definitions/name.yaml"
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
+                    $ref: "definitions/name.yaml",
+                  },
+                },
+              },
+            },
+          },
+        },
+      },
+    },
   },
 
   name: {
     title: "name",
-    required: [
-      "first",
-      "last"
-    ],
+    required: ["first", "last"],
     type: "object",
     properties: {
       middle: {
         type: "string",
-        enum: [
-          { $ref: "#/properties/first/type" },
-          { $ref: "#/properties/last/title" }
-        ]
+        enum: [{ $ref: "#/properties/first/type" }, { $ref: "#/properties/last/title" }],
       },
       prefix: {
         minLength: 3,
-        $ref: "#/properties/last"
+        $ref: "#/properties/last",
       },
       last: {
-        $ref: "./required-string.yaml"
+        $ref: "./required-string.yaml",
       },
       suffix: {
         $ref: "#/properties/prefix",
         type: "string",
-        maxLength: 3
+        maxLength: 3,
       },
       first: {
-        $ref: "../definitions/required-string.yaml"
-      }
+        $ref: "../definitions/required-string.yaml",
+      },
     },
   },
 
   requiredString: {
     minLength: 1,
     type: "string",
-    title: "requiredString"
-  }
+    title: "requiredString",
+  },
 };
diff --git a/test/specs/invalid/invalid.spec.js b/test/specs/invalid/invalid.spec.js
index 32a794ab..e973c034 100644
--- a/test/specs/invalid/invalid.spec.js
+++ b/test/specs/invalid/invalid.spec.js
@@ -10,8 +10,7 @@ describe("Invalid APIs (can't be parsed)", () => {
     try {
       await SwaggerParser.parse(path.rel("specs/invalid/not-swagger.yaml"));
       helper.shouldNotGetCalled();
-    }
-    catch (err) {
+    } catch (err) {
       expect(err).to.be.an.instanceOf(SyntaxError);
       expect(err.message).to.contain("not-swagger.yaml is not a valid Openapi API definition");
     }
@@ -21,8 +20,7 @@ describe("Invalid APIs (can't be parsed)", () => {
     try {
       await SwaggerParser.parse(path.rel("specs/invalid/no-paths-or-webhooks.yaml"));
       helper.shouldNotGetCalled();
-    }
-    catch (err) {
+    } catch (err) {
       expect(err).to.be.an.instanceOf(SyntaxError);
       expect(err.message).to.contain("no-paths-or-webhooks.yaml is not a valid Openapi API definition");
     }
@@ -32,8 +30,7 @@ describe("Invalid APIs (can't be parsed)", () => {
     try {
       await SwaggerParser.dereference(path.rel("specs/invalid/old-version.yaml"));
       helper.shouldNotGetCalled();
-    }
-    catch (err) {
+    } catch (err) {
       expect(err).to.be.an.instanceOf(SyntaxError);
       expect(err.message).to.equal("Unrecognized Swagger version: 1.2. Expected 2.0");
     }
@@ -43,8 +40,7 @@ describe("Invalid APIs (can't be parsed)", () => {
     try {
       await SwaggerParser.bundle(path.rel("specs/invalid/newer-version.yaml"));
       helper.shouldNotGetCalled();
-    }
-    catch (err) {
+    } catch (err) {
       expect(err).to.be.an.instanceOf(SyntaxError);
       expect(err.message).to.equal("Unrecognized Swagger version: 3.0. Expected 2.0");
     }
@@ -54,10 +50,9 @@ describe("Invalid APIs (can't be parsed)", () => {
     try {
       await SwaggerParser.validate(path.rel("specs/invalid/numeric-version.yaml"));
       helper.shouldNotGetCalled();
-    }
-    catch (err) {
+    } catch (err) {
       expect(err).to.be.an.instanceOf(SyntaxError);
-      expect(err.message).to.equal('Swagger version number must be a string (e.g. \"2.0\") not a number.');
+      expect(err.message).to.equal('Swagger version number must be a string (e.g. "2.0") not a number.');
     }
   });
 
@@ -65,10 +60,9 @@ describe("Invalid APIs (can't be parsed)", () => {
     try {
       await SwaggerParser.validate(path.rel("specs/invalid/numeric-info-version.yaml"));
       helper.shouldNotGetCalled();
-    }
-    catch (err) {
+    } catch (err) {
       expect(err).to.be.an.instanceOf(SyntaxError);
-      expect(err.message).to.equal('API version number must be a string (e.g. \"1.0.0\") not a number.');
+      expect(err.message).to.equal('API version number must be a string (e.g. "1.0.0") not a number.');
     }
   });
 });
diff --git a/test/specs/oas-relative-servers/v3-non-relative-server.json b/test/specs/oas-relative-servers/v3-non-relative-server.json
index d18d65b3..e6b3373e 100644
--- a/test/specs/oas-relative-servers/v3-non-relative-server.json
+++ b/test/specs/oas-relative-servers/v3-non-relative-server.json
@@ -1,77 +1,74 @@
 {
-    "openapi": "3.0.0",
-    "info": {
-        "version": "1.0.0",
-        "title": "Swagger Petstore"
-    },
-    "servers": [
+  "openapi": "3.0.0",
+  "info": {
+    "version": "1.0.0",
+    "title": "Swagger Petstore"
+  },
+  "servers": [
+    {
+      "url": "https://petstore3.swagger.com/api/v3"
+    }
+  ],
+  "paths": {
+    "/pet": {
+      "servers": [
         {
-            "url": "https://petstore3.swagger.com/api/v3"
+          "url": "https://petstore3.swagger.com/api/v4"
         }
-    ],
-    "paths": {
-        "/pet": {
-            "servers": [
-                {
-                    "url": "https://petstore3.swagger.com/api/v4"
-                }
-            ],
-            "get": {
-                "servers": [
-                    {
-                        "url": "https://petstore3.swagger.com/api/v5"
-                    }
-                ],
-                "summary": "List all pets",
-                "operationId": "listPets",
-                "parameters": [
-                    {
-                        "name": "limit",
-                        "in": "query",
-                        "description": "How many items to return at one time (max 100)",
-                        "required": false,
-                        "schema": {
-                            "type": "integer",
-                            "format": "int32"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "A paged array of pets",
-                        "content": {
-                            "application/json": {
-                                "schema":{
-                                    "type": "array",
-                                    "items": {
-                                        "$ref": "#/components/schemas/Pet"
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
+      ],
+      "get": {
+        "servers": [
+          {
+            "url": "https://petstore3.swagger.com/api/v5"
+          }
+        ],
+        "summary": "List all pets",
+        "operationId": "listPets",
+        "parameters": [
+          {
+            "name": "limit",
+            "in": "query",
+            "description": "How many items to return at one time (max 100)",
+            "required": false,
+            "schema": {
+              "type": "integer",
+              "format": "int32"
             }
-        }
-    },
-    "components": {
-        "schemas": {
-            "Pet": {
-                "type": "object",
-                "required": [
-                    "id",
-                    "name"
-                ],
-                "properties": {
-                    "id": {
-                        "type": "integer",
-                        "format": "int64"
-                    },
-                    "name": {
-                        "type": "string"
-                    }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "A paged array of pets",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "array",
+                  "items": {
+                    "$ref": "#/components/schemas/Pet"
+                  }
                 }
+              }
             }
+          }
+        }
+      }
+    }
+  },
+  "components": {
+    "schemas": {
+      "Pet": {
+        "type": "object",
+        "required": ["id", "name"],
+        "properties": {
+          "id": {
+            "type": "integer",
+            "format": "int64"
+          },
+          "name": {
+            "type": "string"
+          }
         }
+      }
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/test/specs/oas-relative-servers/v3-relative-server-paths-ops.json b/test/specs/oas-relative-servers/v3-relative-server-paths-ops.json
index 903e59f2..15d2cce2 100644
--- a/test/specs/oas-relative-servers/v3-relative-server-paths-ops.json
+++ b/test/specs/oas-relative-servers/v3-relative-server-paths-ops.json
@@ -1,77 +1,74 @@
 {
-    "openapi": "3.0.0",
-    "info": {
-        "version": "1.0.0",
-        "title": "Swagger Petstore"
-    },
-    "servers": [
+  "openapi": "3.0.0",
+  "info": {
+    "version": "1.0.0",
+    "title": "Swagger Petstore"
+  },
+  "servers": [
+    {
+      "url": "/api/v3"
+    }
+  ],
+  "paths": {
+    "/pet": {
+      "servers": [
         {
-            "url": "/api/v3"
+          "url": "/api/v4"
         }
-    ],
-    "paths": {
-        "/pet": {
-            "servers": [
-                {
-                    "url": "/api/v4"
-                }
-            ],
-            "get": {
-                "servers": [
-                    {
-                        "url": "/api/v5"
-                    }
-                ],
-                "summary": "List all pets",
-                "operationId": "listPets",
-                "parameters": [
-                    {
-                        "name": "limit",
-                        "in": "query",
-                        "description": "How many items to return at one time (max 100)",
-                        "required": false,
-                        "schema": {
-                            "type": "integer",
-                            "format": "int32"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "A paged array of pets",
-                        "content": {
-                            "application/json": {
-                                "schema":{
-                                    "type": "array",
-                                    "items": {
-                                        "$ref": "#/components/schemas/Pet"
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
+      ],
+      "get": {
+        "servers": [
+          {
+            "url": "/api/v5"
+          }
+        ],
+        "summary": "List all pets",
+        "operationId": "listPets",
+        "parameters": [
+          {
+            "name": "limit",
+            "in": "query",
+            "description": "How many items to return at one time (max 100)",
+            "required": false,
+            "schema": {
+              "type": "integer",
+              "format": "int32"
             }
-        }
-    },
-    "components": {
-        "schemas": {
-            "Pet": {
-                "type": "object",
-                "required": [
-                    "id",
-                    "name"
-                ],
-                "properties": {
-                    "id": {
-                        "type": "integer",
-                        "format": "int64"
-                    },
-                    "name": {
-                        "type": "string"
-                    }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "A paged array of pets",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "array",
+                  "items": {
+                    "$ref": "#/components/schemas/Pet"
+                  }
                 }
+              }
             }
+          }
+        }
+      }
+    }
+  },
+  "components": {
+    "schemas": {
+      "Pet": {
+        "type": "object",
+        "required": ["id", "name"],
+        "properties": {
+          "id": {
+            "type": "integer",
+            "format": "int64"
+          },
+          "name": {
+            "type": "string"
+          }
         }
+      }
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/test/specs/oas-relative-servers/v3-relative-server.json b/test/specs/oas-relative-servers/v3-relative-server.json
index cb00b912..79b5865b 100644
--- a/test/specs/oas-relative-servers/v3-relative-server.json
+++ b/test/specs/oas-relative-servers/v3-relative-server.json
@@ -1,67 +1,64 @@
 {
-    "openapi": "3.0.0",
-    "info": {
-        "version": "1.0.0",
-        "title": "Swagger Petstore"
-    },
-    "servers": [
-        {
-            "url": "/api/v3"
-        }
-    ],
-    "paths": {
-        "/pet": {
-            "get": {
-                "summary": "List all pets",
-                "operationId": "listPets",
-                "parameters": [
-                    {
-                        "name": "limit",
-                        "in": "query",
-                        "description": "How many items to return at one time (max 100)",
-                        "required": false,
-                        "schema": {
-                            "type": "integer",
-                            "format": "int32"
-                        }
-                    }
-                ],
-                "responses": {
-                    "200": {
-                        "description": "A paged array of pets",
-                        "content": {
-                            "application/json": {
-                                "schema":{
-                                    "type": "array",
-                                    "items": {
-                                        "$ref": "#/components/schemas/Pet"
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
+  "openapi": "3.0.0",
+  "info": {
+    "version": "1.0.0",
+    "title": "Swagger Petstore"
+  },
+  "servers": [
+    {
+      "url": "/api/v3"
+    }
+  ],
+  "paths": {
+    "/pet": {
+      "get": {
+        "summary": "List all pets",
+        "operationId": "listPets",
+        "parameters": [
+          {
+            "name": "limit",
+            "in": "query",
+            "description": "How many items to return at one time (max 100)",
+            "required": false,
+            "schema": {
+              "type": "integer",
+              "format": "int32"
             }
-        }
-    },
-    "components": {
-        "schemas": {
-            "Pet": {
-                "type": "object",
-                "required": [
-                    "id",
-                    "name"
-                ],
-                "properties": {
-                    "id": {
-                        "type": "integer",
-                        "format": "int64"
-                    },
-                    "name": {
-                        "type": "string"
-                    }
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "A paged array of pets",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "array",
+                  "items": {
+                    "$ref": "#/components/schemas/Pet"
+                  }
                 }
+              }
             }
+          }
+        }
+      }
+    }
+  },
+  "components": {
+    "schemas": {
+      "Pet": {
+        "type": "object",
+        "required": ["id", "name"],
+        "properties": {
+          "id": {
+            "type": "integer",
+            "format": "int64"
+          },
+          "name": {
+            "type": "string"
+          }
         }
+      }
     }
-}
\ No newline at end of file
+  }
+}
diff --git a/test/specs/oas-relative-servers/v3-relative-servers.spec.js b/test/specs/oas-relative-servers/v3-relative-servers.spec.js
index bb8d5e55..4a8ee526 100644
--- a/test/specs/oas-relative-servers/v3-relative-servers.spec.js
+++ b/test/specs/oas-relative-servers/v3-relative-servers.spec.js
@@ -38,8 +38,7 @@ describe("Servers with relative paths in OpenAPI v3 files", () => {
       });
       let apiJson = await SwaggerParser.parse(RELATIVE_SERVERS_OAS3_URL_1);
       expect(apiJson.servers[0].url).to.equal("https://petstore3.swagger.io/api/v3");
-    }
-    catch (error) {
+    } catch (error) {
       console.error("\n\nError in relative servers at root test case:", error);
       throw error;
     }
@@ -55,8 +54,7 @@ describe("Servers with relative paths in OpenAPI v3 files", () => {
       expect(apiJson.servers[0].url).to.equal("https://foo.my.cloud/api/v3");
       expect(apiJson.paths["/pet"].servers[0].url).to.equal("https://foo.my.cloud/api/v4");
       expect(apiJson.paths["/pet"].get.servers[0].url).to.equal("https://foo.my.cloud/api/v5");
-    }
-    catch (error) {
+    } catch (error) {
       console.error("\n\nError in relative servers at root, path and operations test case:", error);
       throw error;
     }
@@ -71,8 +69,7 @@ describe("Servers with relative paths in OpenAPI v3 files", () => {
       expect(apiJson.servers[0].url).to.equal("/api/v3");
       expect(apiJson.paths["/pet"].servers[0].url).to.equal("/api/v4");
       expect(apiJson.paths["/pet"].get.servers[0].url).to.equal("/api/v5");
-    }
-    catch (error) {
+    } catch (error) {
       console.error("\n\nError in relative servers at root but local file import test case:", error);
       throw error;
     }
@@ -87,8 +84,7 @@ describe("Servers with relative paths in OpenAPI v3 files", () => {
       expect(apiJson.servers[0].url).to.equal("https://petstore3.swagger.com/api/v3");
       expect(apiJson.paths["/pet"].servers[0].url).to.equal("https://petstore3.swagger.com/api/v4");
       expect(apiJson.paths["/pet"].get.servers[0].url).to.equal("https://petstore3.swagger.com/api/v5");
-    }
-    catch (error) {
+    } catch (error) {
       console.error("\n\nError in non-relative servers at root but local file import test case:", error);
       throw error;
     }
diff --git a/test/specs/object-source/bundled.js b/test/specs/object-source/bundled.js
index 6cc165ae..113a71d8 100644
--- a/test/specs/object-source/bundled.js
+++ b/test/specs/object-source/bundled.js
@@ -1,12 +1,11 @@
 "use strict";
 
-module.exports =
-{
+module.exports = {
   swagger: "2.0",
   info: {
     version: "1.0.0",
     description: "This is an intentionally over-complicated API that returns a person's name",
-    title: "Name API"
+    title: "Name API",
   },
   paths: {
     "/people/{name}": {
@@ -15,62 +14,59 @@ module.exports =
           required: true,
           type: "string",
           name: "name",
-          in: "path"
-        }
+          in: "path",
+        },
       ],
       get: {
         responses: {
           200: {
             description: "Returns the requested name",
             schema: {
-              $ref: "#/definitions/name"
-            }
-          }
-        }
-      }
-    }
+              $ref: "#/definitions/name",
+            },
+          },
+        },
+      },
+    },
   },
   definitions: {
     requiredString: {
       title: "requiredString",
       type: "string",
-      minLength: 1
+      minLength: 1,
     },
     string: {
-      $ref: "#/definitions/requiredString/type"
+      $ref: "#/definitions/requiredString/type",
     },
     name: {
       title: "name",
       type: "object",
-      required: [
-        "first",
-        "last"
-      ],
+      required: ["first", "last"],
       properties: {
         first: {
-          $ref: "#/definitions/requiredString"
+          $ref: "#/definitions/requiredString",
         },
         last: {
-          $ref: "#/definitions/requiredString"
+          $ref: "#/definitions/requiredString",
         },
         middle: {
           type: {
-            $ref: "#/definitions/requiredString/type"
+            $ref: "#/definitions/requiredString/type",
           },
           minLength: {
-            $ref: "#/definitions/requiredString/minLength"
-          }
+            $ref: "#/definitions/requiredString/minLength",
+          },
         },
         prefix: {
           $ref: "#/definitions/requiredString",
-          minLength: 3
+          minLength: 3,
         },
         suffix: {
           $ref: "#/definitions/name/properties/prefix",
           type: "string",
-          maxLength: 3
-        }
-      }
-    }
-  }
+          maxLength: 3,
+        },
+      },
+    },
+  },
 };
diff --git a/test/specs/object-source/dereferenced.js b/test/specs/object-source/dereferenced.js
index 5be50186..8dba4d51 100644
--- a/test/specs/object-source/dereferenced.js
+++ b/test/specs/object-source/dereferenced.js
@@ -1,12 +1,11 @@
 "use strict";
 
-module.exports =
-{
+module.exports = {
   swagger: "2.0",
   info: {
     version: "1.0.0",
     description: "This is an intentionally over-complicated API that returns a person's name",
-    title: "Name API"
+    title: "Name API",
   },
   paths: {
     "/people/{name}": {
@@ -15,8 +14,8 @@ module.exports =
           required: true,
           type: "string",
           name: "name",
-          in: "path"
-        }
+          in: "path",
+        },
       ],
       get: {
         responses: {
@@ -25,84 +24,78 @@ module.exports =
             schema: {
               title: "name",
               type: "object",
-              required: [
-                "first",
-                "last"
-              ],
+              required: ["first", "last"],
               properties: {
                 first: {
                   title: "requiredString",
                   type: "string",
-                  minLength: 1
+                  minLength: 1,
                 },
                 last: {
                   title: "requiredString",
                   type: "string",
-                  minLength: 1
+                  minLength: 1,
                 },
                 middle: {
                   type: "string",
-                  minLength: 1
+                  minLength: 1,
                 },
                 prefix: {
                   title: "requiredString",
                   type: "string",
-                  minLength: 3
+                  minLength: 3,
                 },
                 suffix: {
                   title: "requiredString",
                   type: "string",
                   minLength: 3,
-                  maxLength: 3
-                }
-              }
+                  maxLength: 3,
+                },
+              },
             },
-          }
-        }
-      }
-    }
+          },
+        },
+      },
+    },
   },
   definitions: {
     requiredString: {
       title: "requiredString",
       type: "string",
-      minLength: 1
+      minLength: 1,
     },
     string: "string",
     name: {
       title: "name",
       type: "object",
-      required: [
-        "first",
-        "last"
-      ],
+      required: ["first", "last"],
       properties: {
         first: {
           title: "requiredString",
           type: "string",
-          minLength: 1
+          minLength: 1,
         },
         last: {
           title: "requiredString",
           type: "string",
-          minLength: 1
+          minLength: 1,
         },
         middle: {
           type: "string",
-          minLength: 1
+          minLength: 1,
         },
         prefix: {
           title: "requiredString",
           type: "string",
-          minLength: 3
+          minLength: 3,
         },
         suffix: {
           title: "requiredString",
           type: "string",
           minLength: 3,
-          maxLength: 3
-        }
-      }
-    }
-  }
+          maxLength: 3,
+        },
+      },
+    },
+  },
 };
diff --git a/test/specs/object-source/object-source.spec.js b/test/specs/object-source/object-source.spec.js
index 9ec59438..7fe065ad 100644
--- a/test/specs/object-source/object-source.spec.js
+++ b/test/specs/object-source/object-source.spec.js
@@ -19,13 +19,12 @@ describe("Object sources (instead of file paths)", () => {
       path.cwd(),
       path.abs("specs/object-source/definitions/definitions.json"),
       path.abs("specs/object-source/definitions/name.yaml"),
-      path.abs("specs/object-source/definitions/required-string.yaml")
+      path.abs("specs/object-source/definitions/required-string.yaml"),
     ];
     expect(parser.$refs.paths()).to.have.same.members(expectedPaths);
     expect(parser.$refs.values()).to.have.keys(expectedPaths);
     // Reference equality
-    expect(api.paths["/people/{name}"].get.responses["200"].schema)
-      .to.equal(api.definitions.name);
+    expect(api.paths["/people/{name}"].get.responses["200"].schema).to.equal(api.definitions.name);
     expect(api.definitions.requiredString)
       .to.equal(api.definitions.name.properties.first)
       .to.equal(api.definitions.name.properties.last)
@@ -43,7 +42,7 @@ describe("Object sources (instead of file paths)", () => {
       path.cwd(),
       path.abs("specs/object-source/definitions/definitions.json"),
       path.abs("specs/object-source/definitions/name.yaml"),
-      path.abs("specs/object-source/definitions/required-string.yaml")
+      path.abs("specs/object-source/definitions/required-string.yaml"),
     ];
     expect(parser.$refs.paths()).to.have.same.members(expectedPaths);
     expect(parser.$refs.values()).to.have.keys(expectedPaths);
@@ -59,13 +58,12 @@ describe("Object sources (instead of file paths)", () => {
       path.cwd(),
       path.abs("specs/object-source/definitions/definitions.json"),
       path.abs("specs/object-source/definitions/name.yaml"),
-      path.abs("specs/object-source/definitions/required-string.yaml")
+      path.abs("specs/object-source/definitions/required-string.yaml"),
     ];
     expect(parser.$refs.paths()).to.have.same.members(expectedPaths);
     expect(parser.$refs.values()).to.have.keys(expectedPaths);
     // Reference equality
-    expect(api.paths["/people/{name}"].get.responses["200"].schema)
-      .to.equal(api.definitions.name);
+    expect(api.paths["/people/{name}"].get.responses["200"].schema).to.equal(api.definitions.name);
     expect(api.definitions.requiredString)
       .to.equal(api.definitions.name.properties.first)
       .to.equal(api.definitions.name.properties.last)
diff --git a/test/specs/object-source/parsed.js b/test/specs/object-source/parsed.js
index 0f7a8fcd..8ea10ad9 100644
--- a/test/specs/object-source/parsed.js
+++ b/test/specs/object-source/parsed.js
@@ -3,14 +3,13 @@
 const { host } = require("@jsdevtools/host-environment");
 let pathToTestsDirectory = host.karma ? "/base/test/" : "";
 
-module.exports =
-{
+module.exports = {
   api: {
     swagger: "2.0",
     info: {
       version: "1.0.0",
       description: "This is an intentionally over-complicated API that returns a person's name",
-      title: "Name API"
+      title: "Name API",
     },
     paths: {
       "/people/{name}": {
@@ -19,75 +18,72 @@ module.exports =
             required: true,
             type: "string",
             name: "name",
-            in: "path"
-          }
+            in: "path",
+          },
         ],
         get: {
           responses: {
             200: {
               description: "Returns the requested name",
               schema: {
-                $ref: "#/definitions/name"
-              }
-            }
-          }
-        }
-      }
+                $ref: "#/definitions/name",
+              },
+            },
+          },
+        },
+      },
     },
     definitions: {
-      $ref: pathToTestsDirectory + "specs/object-source/definitions/definitions.json"
-    }
+      $ref: pathToTestsDirectory + "specs/object-source/definitions/definitions.json",
+    },
   },
 
   definitions: {
     requiredString: {
-      $ref: "required-string.yaml"
+      $ref: "required-string.yaml",
     },
     string: {
-      $ref: "#/requiredString/type"
+      $ref: "#/requiredString/type",
     },
     name: {
-      $ref: "../definitions/name.yaml"
-    }
+      $ref: "../definitions/name.yaml",
+    },
   },
 
   name: {
-    required: [
-      "first",
-      "last"
-    ],
+    required: ["first", "last"],
     type: "object",
     properties: {
       middle: {
         minLength: {
-          $ref: "#/properties/first/minLength"
+          $ref: "#/properties/first/minLength",
         },
         type: {
-          $ref: "#/properties/first/type"
-        }
+          $ref: "#/properties/first/type",
+        },
       },
       prefix: {
         minLength: 3,
-        $ref: "#/properties/last"
+        $ref: "#/properties/last",
       },
       last: {
-        $ref: "./required-string.yaml"
+        $ref: "./required-string.yaml",
       },
       suffix: {
         $ref: "#/properties/prefix",
         type: "string",
-        maxLength: 3
+        maxLength: 3,
       },
       first: {
-        $ref: "../definitions/definitions.json#/requiredString"
-      }
+        $ref: "../definitions/definitions.json#/requiredString",
+      },
     },
-    title: "name"
+    title: "name",
   },
 
   requiredString: {
     minLength: 1,
     type: "string",
-    title: "requiredString"
-  }
+    title: "requiredString",
+  },
 };
diff --git a/test/specs/real-world/fetch-api-list.js b/test/specs/real-world/fetch-api-list.js
index 9579ad47..19e055b2 100644
--- a/test/specs/real-world/fetch-api-list.js
+++ b/test/specs/real-world/fetch-api-list.js
@@ -8,7 +8,7 @@ module.exports = fetchApiList;
  * Downloads a list of over 2000 real-world Swagger APIs from apis.guru,
  * and applies some custom filtering logic to it.
  */
-async function fetchApiList () {
+async function fetchApiList() {
   let response = await fetch("https://api.apis.guru/v2/list.json");
 
   if (!response.ok) {
@@ -26,7 +26,7 @@ async function fetchApiList () {
 /**
  * Removes certain APIs that are known to cause problems
  */
-function deleteProblematicAPIs (apis) {
+function deleteProblematicAPIs(apis) {
   // GitHub's CORS policy blocks this request
   delete apis["googleapis.com:adsense"];
 
@@ -49,7 +49,7 @@ function deleteProblematicAPIs (apis) {
 /**
  * Flattens the API object structure into an array containing all versions of all APIs.
  */
-function flatten (apimap) {
+function flatten(apimap) {
   let apiArray = [];
 
   for (let [name, api] of Object.entries(apimap)) {
diff --git a/test/specs/real-world/known-errors.js b/test/specs/real-world/known-errors.js
index 77bbbc25..e85a27dd 100644
--- a/test/specs/real-world/known-errors.js
+++ b/test/specs/real-world/known-errors.js
@@ -2,7 +2,7 @@
 
 const { host } = require("@jsdevtools/host-environment");
 
-const knownErrors = module.exports = {
+const knownErrors = (module.exports = {
   /**
    * An array of known validation errors in certain API definitions on APIs.guru
    */
@@ -11,7 +11,7 @@ const knownErrors = module.exports = {
   /**
    * Determines whether an API and error match a known error.
    */
-  find (api, error) {
+  find(api, error) {
     for (let knownError of knownErrors.all) {
       if (typeof knownError.api === "string" && !api.name.includes(knownError.api)) {
         continue;
@@ -28,12 +28,12 @@ const knownErrors = module.exports = {
       return knownError;
     }
   },
-};
+});
 
 /**
  * Returns a list of known validation errors in certain API definitions on APIs.guru.
  */
-function getKnownApiErrors () {
+function getKnownApiErrors() {
   let errors = [
     // Many of the Azure API definitions have references to external files that don't exist
     // NOTE: This entry must come FIRST, otherwise every broken Azure API is retried multiple times
@@ -85,13 +85,13 @@ function getKnownApiErrors () {
     {
       api: "avaza.com",
       error: "has a file parameter, so it must consume multipart/form-data or application/x-www-form-urlencoded",
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
 
     {
       api: "adyen.com",
       error: "must NOT have unevaluated properties",
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
 
     // They have a description of `2015-04-22T10:03:19.323-07:00` and YAML parsing is converting that to a `Date`.
@@ -119,12 +119,12 @@ function getKnownApiErrors () {
     {
       api: "enode.io",
       error: "schema/items must NOT have additional properties",
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
     {
       api: "frankiefinancial.io",
       error: "Property 'rowid' listed as required but does not exist",
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
     {
       api: "github.com",
@@ -147,7 +147,7 @@ function getKnownApiErrors () {
     {
       api: "motaword.com",
       error: "properties/source must NOT have additional properties",
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
     {
       api: "openapi-generator.tech",
@@ -188,17 +188,17 @@ function getKnownApiErrors () {
     {
       api: "statsocial.com",
       error: 'Token "18_24" does not exist',
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
     {
       api: "testfire.net:altoroj",
       error: "Property 'passwrod1' listed as required but does not exist",
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
     {
       api: "turbinelabs.io",
       error: "Property 'listener_key' listed as required but does not exist",
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
 
     // VersionEye's API definition is missing MIME types
@@ -211,17 +211,17 @@ function getKnownApiErrors () {
     {
       api: "vestorly.com",
       error: "Property 'orginator_email' listed as required but does not exist",
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
     {
       api: "viator.com",
       error: 'Token "pas" does not exist',
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
     {
       api: "whapi.com:accounts",
       error: "Property 'nif (italy only)' listed as required but does not exist",
-      whatToDo: "ignore"
+      whatToDo: "ignore",
     },
   ];
 
diff --git a/test/specs/real-world/real-world.spec.js b/test/specs/real-world/real-world.spec.js
index 0dec3269..5baa75c0 100644
--- a/test/specs/real-world/real-world.spec.js
+++ b/test/specs/real-world/real-world.spec.js
@@ -6,7 +6,7 @@ const knownErrors = require("./known-errors");
 const fetchApiList = require("./fetch-api-list");
 
 // How many APIs to test in "quick mode" and normal mode
-const MAX_APIS_TO_TEST = (host.node && process.argv.includes("--quick-test")) ? 10 : 1500;
+const MAX_APIS_TO_TEST = host.node && process.argv.includes("--quick-test") ? 10 : 1500;
 const START_AT_INDEX = 0;
 const MAX_DOWNLOAD_RETRIES = 3;
 
@@ -27,20 +27,20 @@ describe("Real-world APIs", () => {
     //   2) Some API definitions are HUGE and take a while to download
     //   3) If the download fails, we retry 2 times, which takes even more time
     //   4) Really large API definitions take longer to pase, dereference, and validate
-    this.currentTest.timeout(host.ci ? 300000 : 60000);     // 5 minutes in CI, 1 minute locally
+    this.currentTest.timeout(host.ci ? 300000 : 60000); // 5 minutes in CI, 1 minute locally
     this.currentTest.slow(5000);
   });
 
   // Mocha requires us to create our tests synchronously. But the list of APIs is downloaded asynchronously.
   // So, we just create a bunch of placeholder tests, and then rename them later to reflect which API they're testing.
-  for (let index = START_AT_INDEX; index < (START_AT_INDEX + MAX_APIS_TO_TEST); index++) {
+  for (let index = START_AT_INDEX; index < START_AT_INDEX + MAX_APIS_TO_TEST; index++) {
     it(`${index + 1}) `, testAPI(index));
   }
 
   /**
    * This Mocha test is repeated for each API in the APIs.guru registry
    */
-  function testAPI (index) {
+  function testAPI(index) {
     return async function () {
       let api = realWorldAPIs[index];
       this.test.title += api.name;
@@ -51,11 +51,10 @@ describe("Real-world APIs", () => {
   /**
    * Downloads an API definition and validates it.  Automatically retries if the download fails.
    */
-  async function validateApi (api, attemptNumber = 1) {
+  async function validateApi(api, attemptNumber = 1) {
     try {
       await SwaggerParser.validate(api.swaggerYamlUrl);
-    }
-    catch (error) {
+    } catch (error) {
       // Validation failed.  But is this a known error?
       let knownError = knownErrors.find(api, error);
 
@@ -63,13 +62,11 @@ describe("Real-world APIs", () => {
         if (knownError.whatToDo === "ignore") {
           // Ignore the error.  It's a known problem with this API
           return null;
-        }
-        else if (knownError.whatToDo === "retry") {
+        } else if (knownError.whatToDo === "retry") {
           if (attemptNumber >= MAX_DOWNLOAD_RETRIES) {
             console.error("        failed to download.  giving up.");
             return null;
-          }
-          else {
+          } else {
             // Wait a few seconds, then try the download again
             await new Promise((resolve) => {
               console.error("        failed to download.  trying again...");
@@ -79,8 +76,7 @@ describe("Real-world APIs", () => {
             await validateApi(api, attemptNumber + 1);
           }
         }
-      }
-      else {
+      } else {
         // This is not a known error
         console.error("\n\nERROR IN THIS API:", JSON.stringify(api, null, 2));
         throw error;
diff --git a/test/specs/typescript-definition.spec.ts b/test/specs/typescript-definition.spec.ts
index 4023af4f..08387df6 100644
--- a/test/specs/typescript-definition.spec.ts
+++ b/test/specs/typescript-definition.spec.ts
@@ -14,19 +14,16 @@ const openapiObject: OpenAPI.Document = {
     title: "My API",
     version: "1.0.0",
   },
-  paths: {}
+  paths: {},
 };
 
-
 // SwaggerParser class instance
 let parser = new SwaggerParser();
 
-
 // SwaggerParser instance properties
 assert(parser.$refs.circular === true);
 assert(parser.api.info.title === "My API");
 
-
 // SwaggerParser instance methods (with callbacks)
 parser.bundle(openapiPath, callback);
 parser.bundle(openapiObject, callback);
@@ -63,7 +60,6 @@ parser.resolve(openapiObject, options, callback);
 parser.resolve(baseUrl, openapiPath, options, callback);
 parser.resolve(baseUrl, openapiObject, options, callback);
 
-
 // SwaggerParser instance methods (with Promises)
 parser.bundle(openapiPath).then(promiseResolve, promiseReject);
 parser.bundle(openapiObject).then(promiseResolve, promiseReject);
@@ -100,7 +96,6 @@ parser.resolve(openapiObject, options).then(promiseResolve, promiseReject);
 parser.resolve(baseUrl, openapiPath, options).then(promiseResolve, promiseReject);
 parser.resolve(baseUrl, openapiObject, options).then(promiseResolve, promiseReject);
 
-
 // SwaggerParser static methods (with callbacks)
 SwaggerParser.bundle(openapiPath, callback);
 SwaggerParser.bundle(openapiObject, callback);
@@ -137,7 +132,6 @@ SwaggerParser.resolve(openapiObject, options, callback);
 SwaggerParser.resolve(baseUrl, openapiPath, options, callback);
 SwaggerParser.resolve(baseUrl, openapiObject, options, callback);
 
-
 // SwaggerParser static methods (with Promises)
 SwaggerParser.bundle(openapiPath).then(promiseResolve, promiseReject);
 SwaggerParser.bundle(openapiObject).then(promiseResolve, promiseReject);
diff --git a/test/specs/unknown/dereferenced.js b/test/specs/unknown/dereferenced.js
index 9f6d48bc..e49e7ca5 100644
--- a/test/specs/unknown/dereferenced.js
+++ b/test/specs/unknown/dereferenced.js
@@ -1,12 +1,11 @@
 "use strict";
 
-module.exports =
-{
+module.exports = {
   swagger: "2.0",
   info: {
     version: "1.0.0",
     description: "This API references external files that aren't JSON or YAML",
-    title: "Unknown file types"
+    title: "Unknown file types",
   },
   paths: {
     "/files/text": {
@@ -16,11 +15,11 @@ module.exports =
             description: "A text file",
             schema: {
               type: "file",
-              default: "Hello\nWorld\n"
-            }
-          }
-        }
-      }
+              default: "Hello\nWorld\n",
+            },
+          },
+        },
+      },
     },
     "/files/html": {
       get: {
@@ -29,11 +28,12 @@ module.exports =
             description: "An HTML page",
             schema: {
               type: "file",
-              default: '\n\n\n    \n    \n\n\n    

Hello World

\n\n\n' - } - } - } - } + default: + '\n\n\n \n \n\n\n

Hello World

\n\n\n', + }, + }, + }, + }, }, "/files/blank": { get: { @@ -42,11 +42,11 @@ module.exports = description: "A blank file", schema: { type: "file", - default: undefined - } - } - } - } + default: undefined, + }, + }, + }, + }, }, "/files/binary": { get: { @@ -57,12 +57,130 @@ module.exports = type: "file", default: { type: "Buffer", - data: [137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 32, 0, 0, 0, 32, 8, 6, 0, 0, 0, 115, 122, 122, 244, 0, 0, 0, 4, 115, 66, 73, 84, 8, 8, 8, 8, 124, 8, 100, 136, 0, 0, 0, 25, 116, 69, 88, 116, 83, 111, 102, 116, 119, 97, 114, 101, 0, 119, 119, 119, 46, 105, 110, 107, 115, 99, 97, 112, 101, 46, 111, 114, 103, 155, 238, 60, 26, 0, 0, 9, 170, 73, 68, 65, 84, 88, 133, 197, 151, 125, 76, 84, 103, 22, 198, 127, 247, 206, 64, 7, 44, 227, 0, 149, 15, 97, 176, 34, 139, 174, 182, 86, 49, 46, 69, 148, 197, 80, 234, 118, 73, 181, 49, 213, 38, 146, 172, 218, 221, 86, 151, 98, 106, 218, 198, 212, 102, 179, 180, 221, 173, 154, 102, 187, 182, 113, 171, 181, 113, 165, 145, 138, 41, 152, 173, 160, 130, 73, 149, 116, 23, 131, 34, 42, 203, 48, 128, 195, 135, 128, 200, 200, 71, 103, 24, 6, 24, 135, 59, 115, 239, 187, 127, 32, 179, 69, 112, 179, 127, 108, 178, 111, 114, 63, 222, 251, 158, 155, 243, 188, 207, 121, 206, 57, 247, 74, 66, 8, 254, 159, 67, 63, 211, 195, 95, 231, 189, 149, 168, 73, 186, 95, 161, 73, 166, 255, 181, 67, 73, 214, 106, 131, 252, 35, 167, 143, 30, 61, 234, 3, 144, 30, 102, 96, 123, 222, 158, 143, 146, 147, 158, 124, 119, 237, 154, 52, 121, 254, 188, 120, 38, 215, 255, 125, 157, 60, 129, 16, 26, 2, 129, 16, 160, 169, 26, 154, 208, 208, 84, 13, 191, 234, 71, 211, 52, 132, 166, 161, 106, 19, 207, 84, 77, 195, 229, 114, 209, 216, 210, 70, 75, 235, 237, 65, 191, 207, 187, 234, 216, 231, 127, 110, 151, 127, 236, 124, 199, 142, 119, 103, 199, 205, 141, 126, 107, 99, 78, 150, 92, 114, 170, 136, 47, 142, 28, 102, 206, 19, 145, 220, 106, 105, 102, 87, 254, 27, 92, 175, 187, 70, 76, 244, 28, 244, 122, 153, 195, 135, 255, 194, 167, 159, 30, 100, 86, 104, 40, 67, 78, 7, 123, 246, 188, 195, 217, 242, 50, 226, 226, 98, 145, 16, 252, 225, 195, 15, 248, 246, 219, 191, 49, 47, 193, 76, 92, 92, 44, 229, 101, 223, 114, 170, 248, 107, 150, 36, 63, 201, 218, 213, 63, 155, 51, 236, 246, 252, 94, 146, 164, 160, 41, 0, 20, 89, 125, 33, 115, 117, 170, 225, 240, 225, 195, 188, 252, 242, 203, 132, 133, 133, 81, 89, 89, 201, 234, 213, 171, 201, 201, 201, 161, 181, 181, 21, 33, 4, 37, 37, 37, 44, 90, 180, 136, 212, 212, 84, 10, 11, 11, 73, 78, 78, 102, 199, 142, 29, 180, 180, 180, 32, 132, 32, 46, 46, 142, 221, 187, 119, 211, 212, 212, 132, 170, 170, 88, 44, 22, 70, 71, 71, 217, 185, 115, 39, 199, 142, 29, 35, 121, 193, 60, 34, 35, 35, 54, 0, 115, 166, 0, 64, 150, 12, 115, 99, 162, 25, 24, 24, 32, 41, 41, 137, 212, 212, 84, 110, 222, 188, 137, 78, 167, 99, 246, 236, 217, 1, 179, 186, 186, 58, 150, 46, 93, 202, 138, 21, 43, 104, 105, 105, 65, 146, 36, 34, 35, 35, 145, 36, 41, 16, 174, 240, 240, 112, 36, 73, 66, 85, 85, 26, 26, 26, 152, 55, 111, 30, 209, 209, 209, 184, 92, 46, 244, 122, 61, 225, 225, 70, 3, 16, 63, 21, 0, 32, 73, 18, 70, 163, 17, 69, 81, 232, 233, 233, 33, 33, 33, 1, 33, 196, 20, 45, 44, 88, 176, 128, 190, 190, 62, 238, 222, 189, 139, 217, 108, 158, 178, 174, 170, 42, 170, 170, 162, 105, 26, 154, 166, 161, 170, 42, 137, 137, 137, 220, 187, 119, 143, 251, 247, 239, 19, 18, 18, 50, 225, 72, 32, 1, 97, 211, 0, 8, 33, 216, 186, 117, 43, 123, 247, 238, 165, 170, 170, 138, 180, 180, 52, 26, 26, 26, 40, 42, 42, 162, 162, 162, 130, 154, 154, 26, 54, 111, 222, 76, 97, 97, 33, 95, 125, 245, 21, 25, 25, 25, 216, 237, 118, 62, 249, 228, 19, 234, 234, 234, 40, 43, 43, 195, 233, 116, 178, 127, 255, 126, 154, 154, 154, 56, 125, 250, 52, 75, 150, 44, 193, 102, 179, 81, 80, 80, 192, 154, 53, 107, 16, 98, 194, 251, 180, 44, 216, 254, 198, 158, 109, 239, 228, 255, 166, 112, 241, 162, 159, 160, 40, 10, 30, 143, 7, 163, 209, 136, 16, 130, 193, 193, 65, 52, 77, 35, 56, 56, 24, 163, 209, 136, 170, 170, 184, 92, 46, 194, 195, 195, 3, 235, 62, 159, 15, 89, 150, 49, 26, 141, 56, 28, 14, 198, 199, 199, 17, 66, 96, 50, 153, 240, 249, 124, 252, 240, 195, 15, 1, 118, 75, 206, 92, 240, 237, 255, 96, 239, 11, 211, 24, 0, 24, 24, 24, 160, 178, 178, 18, 175, 215, 139, 16, 2, 167, 211, 73, 109, 109, 45, 138, 162, 96, 52, 26, 1, 184, 121, 243, 38, 253, 253, 253, 8, 33, 80, 85, 21, 187, 221, 78, 111, 111, 47, 70, 163, 145, 177, 177, 49, 234, 235, 235, 233, 239, 239, 39, 60, 60, 28, 175, 215, 203, 149, 43, 87, 232, 233, 233, 153, 72, 79, 33, 224, 129, 94, 166, 21, 34, 33, 4, 109, 109, 109, 156, 62, 125, 154, 129, 129, 1, 94, 125, 245, 85, 58, 59, 59, 57, 119, 238, 28, 54, 155, 141, 221, 187, 119, 83, 81, 81, 193, 213, 171, 87, 113, 56, 28, 228, 228, 228, 96, 48, 24, 40, 43, 43, 67, 175, 215, 99, 179, 217, 120, 246, 217, 103, 169, 175, 175, 167, 173, 173, 141, 131, 7, 15, 50, 54, 54, 134, 205, 102, 163, 166, 166, 134, 67, 135, 14, 77, 145, 220, 140, 12, 164, 165, 165, 145, 153, 153, 25, 0, 180, 124, 249, 114, 214, 173, 91, 135, 36, 73, 8, 33, 168, 170, 170, 98, 195, 134, 13, 228, 229, 229, 113, 233, 210, 37, 170, 171, 171, 201, 202, 202, 34, 47, 47, 143, 234, 234, 106, 162, 162, 162, 216, 178, 101, 11, 122, 253, 196, 254, 34, 34, 34, 200, 205, 205, 37, 56, 56, 24, 89, 150, 209, 233, 116, 129, 140, 153, 145, 129, 71, 29, 147, 235, 62, 159, 15, 189, 94, 143, 166, 105, 0, 248, 253, 126, 244, 122, 61, 63, 214, 211, 228, 189, 78, 167, 67, 211, 52, 100, 121, 98, 175, 65, 65, 65, 83, 236, 102, 236, 5, 253, 253, 253, 220, 190, 125, 27, 33, 4, 46, 151, 11, 159, 207, 71, 91, 91, 27, 118, 187, 157, 193, 193, 65, 178, 178, 178, 40, 46, 46, 70, 150, 101, 82, 82, 82, 136, 141, 141, 165, 180, 180, 148, 184, 184, 56, 86, 172, 88, 129, 162, 40, 88, 173, 86, 156, 78, 39, 118, 187, 157, 152, 152, 24, 44, 22, 11, 110, 183, 27, 187, 221, 78, 84, 84, 212, 100, 57, 151, 166, 3, 16, 130, 209, 209, 81, 162, 162, 162, 240, 249, 124, 116, 117, 117, 17, 25, 25, 73, 72, 72, 8, 102, 179, 153, 206, 206, 78, 178, 179, 179, 209, 233, 116, 8, 33, 88, 185, 114, 37, 161, 161, 161, 8, 33, 112, 56, 28, 164, 167, 167, 163, 105, 26, 125, 125, 125, 100, 100, 100, 208, 218, 218, 74, 76, 76, 12, 221, 221, 221, 100, 103, 103, 99, 179, 217, 136, 141, 141, 125, 180, 8, 17, 130, 249, 243, 231, 147, 151, 151, 55, 133, 246, 215, 95, 127, 61, 160, 120, 33, 4, 153, 153, 153, 83, 66, 147, 154, 154, 58, 133, 218, 109, 219, 182, 5, 52, 51, 57, 159, 180, 31, 25, 25, 9, 216, 77, 19, 161, 42, 84, 206, 159, 63, 79, 118, 118, 54, 101, 101, 101, 8, 33, 176, 90, 173, 236, 218, 181, 139, 157, 59, 119, 50, 48, 48, 192, 245, 235, 215, 121, 229, 149, 87, 56, 114, 228, 8, 0, 125, 125, 125, 188, 253, 246, 219, 228, 231, 231, 211, 217, 217, 201, 216, 216, 24, 123, 246, 236, 97, 215, 174, 93, 52, 54, 54, 162, 170, 42, 239, 189, 247, 30, 111, 190, 249, 38, 181, 181, 181, 19, 34, 124, 20, 0, 159, 79, 37, 45, 45, 141, 141, 27, 55, 226, 112, 56, 80, 85, 149, 83, 167, 78, 177, 101, 203, 22, 114, 114, 114, 40, 47, 47, 103, 249, 242, 229, 188, 246, 218, 107, 140, 140, 140, 32, 73, 18, 151, 46, 93, 34, 61, 61, 157, 252, 252, 124, 138, 139, 139, 185, 118, 237, 26, 79, 63, 253, 52, 7, 14, 28, 160, 168, 168, 8, 171, 213, 138, 217, 108, 230, 208, 161, 67, 156, 60, 121, 18, 157, 78, 247, 104, 6, 252, 126, 63, 189, 189, 189, 56, 157, 78, 250, 250, 250, 232, 234, 234, 162, 181, 181, 21, 163, 209, 72, 84, 84, 20, 237, 237, 237, 140, 143, 143, 35, 203, 50, 170, 170, 226, 247, 251, 185, 117, 235, 22, 102, 179, 153, 196, 196, 68, 236, 118, 59, 237, 237, 237, 36, 36, 36, 48, 103, 206, 28, 28, 14, 71, 64, 7, 161, 161, 161, 120, 189, 94, 84, 85, 13, 164, 225, 244, 16, 168, 234, 148, 249, 248, 248, 56, 115, 231, 206, 165, 173, 173, 141, 198, 198, 70, 18, 18, 18, 80, 20, 37, 144, 130, 178, 44, 243, 204, 51, 207, 208, 221, 221, 77, 71, 71, 7, 11, 23, 46, 100, 217, 178, 101, 116, 116, 116, 4, 154, 85, 74, 74, 10, 157, 157, 157, 184, 221, 110, 194, 195, 195, 9, 10, 10, 66, 25, 191, 63, 246, 72, 0, 22, 139, 133, 171, 87, 175, 114, 249, 242, 101, 26, 27, 27, 217, 180, 105, 19, 103, 207, 158, 165, 185, 185, 153, 244, 244, 116, 186, 186, 186, 40, 45, 45, 197, 98, 177, 112, 241, 226, 69, 94, 124, 241, 69, 44, 22, 11, 37, 37, 37, 172, 95, 191, 158, 244, 244, 116, 250, 251, 251, 249, 236, 179, 207, 216, 188, 121, 51, 75, 151, 46, 5, 224, 253, 247, 223, 39, 55, 55, 151, 214, 142, 46, 173, 185, 229, 86, 51, 224, 159, 214, 140, 182, 110, 94, 95, 24, 246, 120, 8, 138, 162, 4, 118, 104, 48, 24, 208, 235, 245, 72, 146, 132, 193, 96, 32, 40, 40, 8, 77, 211, 208, 235, 245, 4, 7, 7, 19, 18, 18, 130, 78, 167, 67, 85, 213, 128, 157, 36, 73, 244, 245, 15, 210, 216, 98, 67, 211, 38, 178, 199, 167, 40, 184, 71, 70, 208, 84, 149, 130, 130, 223, 125, 120, 175, 167, 187, 112, 90, 26, 170, 154, 138, 215, 235, 165, 188, 188, 156, 152, 152, 24, 50, 50, 50, 240, 251, 253, 156, 57, 115, 6, 147, 201, 196, 134, 13, 27, 16, 66, 112, 246, 236, 89, 36, 73, 34, 55, 55, 151, 193, 193, 65, 138, 138, 138, 88, 182, 108, 89, 160, 100, 215, 92, 187, 65, 66, 124, 28, 191, 200, 250, 57, 138, 162, 160, 40, 10, 67, 67, 67, 12, 13, 13, 113, 178, 164, 236, 238, 189, 158, 238, 6, 160, 111, 90, 8, 52, 77, 112, 226, 196, 9, 162, 163, 163, 169, 171, 171, 163, 161, 161, 129, 210, 210, 82, 130, 131, 131, 233, 232, 232, 224, 226, 197, 139, 84, 86, 86, 226, 114, 185, 240, 120, 60, 20, 21, 21, 97, 48, 24, 48, 155, 205, 84, 84, 84, 160, 105, 26, 150, 70, 43, 79, 68, 68, 144, 248, 100, 66, 64, 43, 99, 99, 99, 184, 221, 110, 46, 215, 222, 240, 254, 245, 139, 67, 71, 129, 118, 33, 132, 119, 70, 13, 220, 185, 115, 135, 37, 75, 150, 176, 118, 237, 90, 234, 235, 235, 177, 90, 173, 172, 92, 185, 146, 117, 235, 214, 81, 95, 95, 79, 93, 93, 29, 233, 233, 233, 188, 244, 210, 75, 220, 184, 113, 3, 147, 201, 68, 74, 74, 10, 178, 44, 99, 179, 217, 248, 190, 186, 134, 159, 46, 76, 194, 239, 247, 163, 170, 42, 195, 195, 195, 12, 13, 13, 113, 171, 237, 182, 246, 241, 254, 253, 135, 93, 46, 231, 101, 224, 22, 204, 80, 9, 39, 227, 40, 203, 50, 110, 183, 155, 176, 176, 48, 102, 205, 154, 133, 223, 239, 199, 237, 118, 51, 123, 246, 108, 124, 62, 31, 30, 143, 135, 225, 225, 97, 34, 34, 34, 2, 239, 78, 126, 152, 184, 221, 110, 252, 126, 63, 66, 8, 220, 110, 247, 68, 79, 232, 27, 96, 223, 190, 253, 197, 119, 239, 220, 174, 2, 174, 11, 33, 148, 25, 1, 104, 154, 198, 154, 53, 107, 56, 126, 252, 56, 35, 35, 35, 228, 230, 230, 146, 152, 152, 72, 97, 97, 33, 0, 155, 54, 109, 194, 100, 50, 241, 229, 151, 95, 98, 50, 153, 120, 254, 249, 231, 113, 56, 28, 124, 243, 205, 55, 88, 173, 86, 146, 147, 147, 209, 52, 13, 69, 81, 240, 122, 189, 56, 157, 78, 122, 122, 239, 241, 241, 159, 62, 173, 104, 184, 121, 237, 28, 112, 85, 8, 49, 58, 233, 111, 10, 0, 73, 104, 98, 204, 115, 159, 172, 172, 44, 22, 46, 92, 136, 36, 73, 196, 199, 199, 19, 28, 28, 76, 82, 82, 18, 154, 166, 145, 152, 152, 200, 99, 143, 61, 70, 65, 65, 1, 163, 163, 163, 44, 94, 188, 24, 77, 211, 120, 238, 185, 231, 200, 204, 204, 164, 187, 187, 27, 167, 219, 131, 199, 227, 193, 229, 114, 81, 223, 216, 172, 126, 180, 239, 192, 137, 166, 127, 214, 93, 0, 170, 133, 16, 142, 31, 251, 156, 2, 64, 136, 160, 191, 55, 217, 58, 68, 210, 124, 179, 20, 31, 31, 63, 1, 234, 65, 67, 137, 137, 137, 33, 40, 40, 8, 89, 150, 17, 66, 16, 21, 21, 69, 92, 92, 28, 178, 44, 163, 215, 235, 89, 181, 106, 21, 146, 36, 113, 229, 202, 21, 122, 7, 38, 212, 126, 161, 234, 31, 99, 31, 239, 251, 227, 231, 247, 122, 123, 190, 7, 106, 133, 16, 206, 135, 25, 159, 246, 107, 182, 237, 183, 239, 156, 95, 185, 252, 169, 95, 62, 181, 104, 1, 179, 66, 67, 144, 36, 41, 240, 21, 35, 203, 114, 224, 120, 120, 62, 9, 246, 194, 119, 85, 154, 226, 23, 52, 53, 183, 180, 125, 125, 252, 104, 225, 232, 168, 251, 202, 131, 152, 123, 30, 118, 62, 35, 128, 237, 219, 63, 48, 12, 221, 239, 202, 55, 24, 12, 219, 141, 70, 99, 164, 52, 67, 181, 124, 212, 240, 249, 125, 227, 157, 29, 237, 214, 27, 181, 151, 191, 27, 25, 30, 106, 5, 58, 152, 72, 55, 223, 163, 222, 153, 6, 224, 193, 78, 116, 128, 9, 136, 3, 30, 255, 111, 1, 60, 24, 42, 208, 11, 12, 76, 42, 253, 63, 141, 127, 1, 173, 193, 47, 22, 232, 14, 87, 117, 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130] - } - } - } - } - } - } - } + data: [ + 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 32, 0, 0, 0, 32, 8, 6, 0, 0, 0, + 115, 122, 122, 244, 0, 0, 0, 4, 115, 66, 73, 84, 8, 8, 8, 8, 124, 8, 100, 136, 0, 0, 0, 25, 116, 69, + 88, 116, 83, 111, 102, 116, 119, 97, 114, 101, 0, 119, 119, 119, 46, 105, 110, 107, 115, 99, 97, 112, + 101, 46, 111, 114, 103, 155, 238, 60, 26, 0, 0, 9, 170, 73, 68, 65, 84, 88, 133, 197, 151, 125, 76, + 84, 103, 22, 198, 127, 247, 206, 64, 7, 44, 227, 0, 149, 15, 97, 176, 34, 139, 174, 182, 86, 49, 46, + 69, 148, 197, 80, 234, 118, 73, 181, 49, 213, 38, 146, 172, 218, 221, 86, 151, 98, 106, 218, 198, 212, + 102, 179, 180, 221, 173, 154, 102, 187, 182, 113, 171, 181, 113, 165, 145, 138, 41, 152, 173, 160, + 130, 73, 149, 116, 23, 131, 34, 42, 203, 48, 128, 195, 135, 128, 200, 200, 71, 103, 24, 6, 24, 135, + 59, 115, 239, 187, 127, 32, 179, 69, 112, 179, 127, 108, 178, 111, 114, 63, 222, 251, 158, 155, 243, + 188, 207, 121, 206, 57, 247, 74, 66, 8, 254, 159, 67, 63, 211, 195, 95, 231, 189, 149, 168, 73, 186, + 95, 161, 73, 166, 255, 181, 67, 73, 214, 106, 131, 252, 35, 167, 143, 30, 61, 234, 3, 144, 30, 102, + 96, 123, 222, 158, 143, 146, 147, 158, 124, 119, 237, 154, 52, 121, 254, 188, 120, 38, 215, 255, 125, + 157, 60, 129, 16, 26, 2, 129, 16, 160, 169, 26, 154, 208, 208, 84, 13, 191, 234, 71, 211, 52, 132, + 166, 161, 106, 19, 207, 84, 77, 195, 229, 114, 209, 216, 210, 70, 75, 235, 237, 65, 191, 207, 187, + 234, 216, 231, 127, 110, 151, 127, 236, 124, 199, 142, 119, 103, 199, 205, 141, 126, 107, 99, 78, 150, + 92, 114, 170, 136, 47, 142, 28, 102, 206, 19, 145, 220, 106, 105, 102, 87, 254, 27, 92, 175, 187, 70, + 76, 244, 28, 244, 122, 153, 195, 135, 255, 194, 167, 159, 30, 100, 86, 104, 40, 67, 78, 7, 123, 246, + 188, 195, 217, 242, 50, 226, 226, 98, 145, 16, 252, 225, 195, 15, 248, 246, 219, 191, 49, 47, 193, 76, + 92, 92, 44, 229, 101, 223, 114, 170, 248, 107, 150, 36, 63, 201, 218, 213, 63, 155, 51, 236, 246, 252, + 94, 146, 164, 160, 41, 0, 20, 89, 125, 33, 115, 117, 170, 225, 240, 225, 195, 188, 252, 242, 203, 132, + 133, 133, 81, 89, 89, 201, 234, 213, 171, 201, 201, 201, 161, 181, 181, 21, 33, 4, 37, 37, 37, 44, 90, + 180, 136, 212, 212, 84, 10, 11, 11, 73, 78, 78, 102, 199, 142, 29, 180, 180, 180, 32, 132, 32, 46, 46, + 142, 221, 187, 119, 211, 212, 212, 132, 170, 170, 88, 44, 22, 70, 71, 71, 217, 185, 115, 39, 199, 142, + 29, 35, 121, 193, 60, 34, 35, 35, 54, 0, 115, 166, 0, 64, 150, 12, 115, 99, 162, 25, 24, 24, 32, 41, + 41, 137, 212, 212, 84, 110, 222, 188, 137, 78, 167, 99, 246, 236, 217, 1, 179, 186, 186, 58, 150, 46, + 93, 202, 138, 21, 43, 104, 105, 105, 65, 146, 36, 34, 35, 35, 145, 36, 41, 16, 174, 240, 240, 112, 36, + 73, 66, 85, 85, 26, 26, 26, 152, 55, 111, 30, 209, 209, 209, 184, 92, 46, 244, 122, 61, 225, 225, 70, + 3, 16, 63, 21, 0, 32, 73, 18, 70, 163, 17, 69, 81, 232, 233, 233, 33, 33, 33, 1, 33, 196, 20, 45, 44, + 88, 176, 128, 190, 190, 62, 238, 222, 189, 139, 217, 108, 158, 178, 174, 170, 42, 170, 170, 162, 105, + 26, 154, 166, 161, 170, 42, 137, 137, 137, 220, 187, 119, 143, 251, 247, 239, 19, 18, 18, 50, 225, 72, + 32, 1, 97, 211, 0, 8, 33, 216, 186, 117, 43, 123, 247, 238, 165, 170, 170, 138, 180, 180, 52, 26, 26, + 26, 40, 42, 42, 162, 162, 162, 130, 154, 154, 26, 54, 111, 222, 76, 97, 97, 33, 95, 125, 245, 21, 25, + 25, 25, 216, 237, 118, 62, 249, 228, 19, 234, 234, 234, 40, 43, 43, 195, 233, 116, 178, 127, 255, 126, + 154, 154, 154, 56, 125, 250, 52, 75, 150, 44, 193, 102, 179, 81, 80, 80, 192, 154, 53, 107, 16, 98, + 194, 251, 180, 44, 216, 254, 198, 158, 109, 239, 228, 255, 166, 112, 241, 162, 159, 160, 40, 10, 30, + 143, 7, 163, 209, 136, 16, 130, 193, 193, 65, 52, 77, 35, 56, 56, 24, 163, 209, 136, 170, 170, 184, + 92, 46, 194, 195, 195, 3, 235, 62, 159, 15, 89, 150, 49, 26, 141, 56, 28, 14, 198, 199, 199, 17, 66, + 96, 50, 153, 240, 249, 124, 252, 240, 195, 15, 1, 118, 75, 206, 92, 240, 237, 255, 96, 239, 11, 211, + 24, 0, 24, 24, 24, 160, 178, 178, 18, 175, 215, 139, 16, 2, 167, 211, 73, 109, 109, 45, 138, 162, 96, + 52, 26, 1, 184, 121, 243, 38, 253, 253, 253, 8, 33, 80, 85, 21, 187, 221, 78, 111, 111, 47, 70, 163, + 145, 177, 177, 49, 234, 235, 235, 233, 239, 239, 39, 60, 60, 28, 175, 215, 203, 149, 43, 87, 232, 233, + 233, 153, 72, 79, 33, 224, 129, 94, 166, 21, 34, 33, 4, 109, 109, 109, 156, 62, 125, 154, 129, 129, 1, + 94, 125, 245, 85, 58, 59, 59, 57, 119, 238, 28, 54, 155, 141, 221, 187, 119, 83, 81, 81, 193, 213, + 171, 87, 113, 56, 28, 228, 228, 228, 96, 48, 24, 40, 43, 43, 67, 175, 215, 99, 179, 217, 120, 246, + 217, 103, 169, 175, 175, 167, 173, 173, 141, 131, 7, 15, 50, 54, 54, 134, 205, 102, 163, 166, 166, + 134, 67, 135, 14, 77, 145, 220, 140, 12, 164, 165, 165, 145, 153, 153, 25, 0, 180, 124, 249, 114, 214, + 173, 91, 135, 36, 73, 8, 33, 168, 170, 170, 98, 195, 134, 13, 228, 229, 229, 113, 233, 210, 37, 170, + 171, 171, 201, 202, 202, 34, 47, 47, 143, 234, 234, 106, 162, 162, 162, 216, 178, 101, 11, 122, 253, + 196, 254, 34, 34, 34, 200, 205, 205, 37, 56, 56, 24, 89, 150, 209, 233, 116, 129, 140, 153, 145, 129, + 71, 29, 147, 235, 62, 159, 15, 189, 94, 143, 166, 105, 0, 248, 253, 126, 244, 122, 61, 63, 214, 211, + 228, 189, 78, 167, 67, 211, 52, 100, 121, 98, 175, 65, 65, 65, 83, 236, 102, 236, 5, 253, 253, 253, + 220, 190, 125, 27, 33, 4, 46, 151, 11, 159, 207, 71, 91, 91, 27, 118, 187, 157, 193, 193, 65, 178, + 178, 178, 40, 46, 46, 70, 150, 101, 82, 82, 82, 136, 141, 141, 165, 180, 180, 148, 184, 184, 56, 86, + 172, 88, 129, 162, 40, 88, 173, 86, 156, 78, 39, 118, 187, 157, 152, 152, 24, 44, 22, 11, 110, 183, + 27, 187, 221, 78, 84, 84, 212, 100, 57, 151, 166, 3, 16, 130, 209, 209, 81, 162, 162, 162, 240, 249, + 124, 116, 117, 117, 17, 25, 25, 73, 72, 72, 8, 102, 179, 153, 206, 206, 78, 178, 179, 179, 209, 233, + 116, 8, 33, 88, 185, 114, 37, 161, 161, 161, 8, 33, 112, 56, 28, 164, 167, 167, 163, 105, 26, 125, + 125, 125, 100, 100, 100, 208, 218, 218, 74, 76, 76, 12, 221, 221, 221, 100, 103, 103, 99, 179, 217, + 136, 141, 141, 125, 180, 8, 17, 130, 249, 243, 231, 147, 151, 151, 55, 133, 246, 215, 95, 127, 61, + 160, 120, 33, 4, 153, 153, 153, 83, 66, 147, 154, 154, 58, 133, 218, 109, 219, 182, 5, 52, 51, 57, + 159, 180, 31, 25, 25, 9, 216, 77, 19, 161, 42, 84, 206, 159, 63, 79, 118, 118, 54, 101, 101, 101, 8, + 33, 176, 90, 173, 236, 218, 181, 139, 157, 59, 119, 50, 48, 48, 192, 245, 235, 215, 121, 229, 149, 87, + 56, 114, 228, 8, 0, 125, 125, 125, 188, 253, 246, 219, 228, 231, 231, 211, 217, 217, 201, 216, 216, + 24, 123, 246, 236, 97, 215, 174, 93, 52, 54, 54, 162, 170, 42, 239, 189, 247, 30, 111, 190, 249, 38, + 181, 181, 181, 19, 34, 124, 20, 0, 159, 79, 37, 45, 45, 141, 141, 27, 55, 226, 112, 56, 80, 85, 149, + 83, 167, 78, 177, 101, 203, 22, 114, 114, 114, 40, 47, 47, 103, 249, 242, 229, 188, 246, 218, 107, + 140, 140, 140, 32, 73, 18, 151, 46, 93, 34, 61, 61, 157, 252, 252, 124, 138, 139, 139, 185, 118, 237, + 26, 79, 63, 253, 52, 7, 14, 28, 160, 168, 168, 8, 171, 213, 138, 217, 108, 230, 208, 161, 67, 156, 60, + 121, 18, 157, 78, 247, 104, 6, 252, 126, 63, 189, 189, 189, 56, 157, 78, 250, 250, 250, 232, 234, 234, + 162, 181, 181, 21, 163, 209, 72, 84, 84, 20, 237, 237, 237, 140, 143, 143, 35, 203, 50, 170, 170, 226, + 247, 251, 185, 117, 235, 22, 102, 179, 153, 196, 196, 68, 236, 118, 59, 237, 237, 237, 36, 36, 36, 48, + 103, 206, 28, 28, 14, 71, 64, 7, 161, 161, 161, 120, 189, 94, 84, 85, 13, 164, 225, 244, 16, 168, 234, + 148, 249, 248, 248, 56, 115, 231, 206, 165, 173, 173, 141, 198, 198, 70, 18, 18, 18, 80, 20, 37, 144, + 130, 178, 44, 243, 204, 51, 207, 208, 221, 221, 77, 71, 71, 7, 11, 23, 46, 100, 217, 178, 101, 116, + 116, 116, 4, 154, 85, 74, 74, 10, 157, 157, 157, 184, 221, 110, 194, 195, 195, 9, 10, 10, 66, 25, 191, + 63, 246, 72, 0, 22, 139, 133, 171, 87, 175, 114, 249, 242, 101, 26, 27, 27, 217, 180, 105, 19, 103, + 207, 158, 165, 185, 185, 153, 244, 244, 116, 186, 186, 186, 40, 45, 45, 197, 98, 177, 112, 241, 226, + 69, 94, 124, 241, 69, 44, 22, 11, 37, 37, 37, 172, 95, 191, 158, 244, 244, 116, 250, 251, 251, 249, + 236, 179, 207, 216, 188, 121, 51, 75, 151, 46, 5, 224, 253, 247, 223, 39, 55, 55, 151, 214, 142, 46, + 173, 185, 229, 86, 51, 224, 159, 214, 140, 182, 110, 94, 95, 24, 246, 120, 8, 138, 162, 4, 118, 104, + 48, 24, 208, 235, 245, 72, 146, 132, 193, 96, 32, 40, 40, 8, 77, 211, 208, 235, 245, 4, 7, 7, 19, 18, + 18, 130, 78, 167, 67, 85, 213, 128, 157, 36, 73, 244, 245, 15, 210, 216, 98, 67, 211, 38, 178, 199, + 167, 40, 184, 71, 70, 208, 84, 149, 130, 130, 223, 125, 120, 175, 167, 187, 112, 90, 26, 170, 154, + 138, 215, 235, 165, 188, 188, 156, 152, 152, 24, 50, 50, 50, 240, 251, 253, 156, 57, 115, 6, 147, 201, + 196, 134, 13, 27, 16, 66, 112, 246, 236, 89, 36, 73, 34, 55, 55, 151, 193, 193, 65, 138, 138, 138, 88, + 182, 108, 89, 160, 100, 215, 92, 187, 65, 66, 124, 28, 191, 200, 250, 57, 138, 162, 160, 40, 10, 67, + 67, 67, 12, 13, 13, 113, 178, 164, 236, 238, 189, 158, 238, 6, 160, 111, 90, 8, 52, 77, 112, 226, 196, + 9, 162, 163, 163, 169, 171, 171, 163, 161, 161, 129, 210, 210, 82, 130, 131, 131, 233, 232, 232, 224, + 226, 197, 139, 84, 86, 86, 226, 114, 185, 240, 120, 60, 20, 21, 21, 97, 48, 24, 48, 155, 205, 84, 84, + 84, 160, 105, 26, 150, 70, 43, 79, 68, 68, 144, 248, 100, 66, 64, 43, 99, 99, 99, 184, 221, 110, 46, + 215, 222, 240, 254, 245, 139, 67, 71, 129, 118, 33, 132, 119, 70, 13, 220, 185, 115, 135, 37, 75, 150, + 176, 118, 237, 90, 234, 235, 235, 177, 90, 173, 172, 92, 185, 146, 117, 235, 214, 81, 95, 95, 79, 93, + 93, 29, 233, 233, 233, 188, 244, 210, 75, 220, 184, 113, 3, 147, 201, 68, 74, 74, 10, 178, 44, 99, + 179, 217, 248, 190, 186, 134, 159, 46, 76, 194, 239, 247, 163, 170, 42, 195, 195, 195, 12, 13, 13, + 113, 171, 237, 182, 246, 241, 254, 253, 135, 93, 46, 231, 101, 224, 22, 204, 80, 9, 39, 227, 40, 203, + 50, 110, 183, 155, 176, 176, 48, 102, 205, 154, 133, 223, 239, 199, 237, 118, 51, 123, 246, 108, 124, + 62, 31, 30, 143, 135, 225, 225, 97, 34, 34, 34, 2, 239, 78, 126, 152, 184, 221, 110, 252, 126, 63, 66, + 8, 220, 110, 247, 68, 79, 232, 27, 96, 223, 190, 253, 197, 119, 239, 220, 174, 2, 174, 11, 33, 148, + 25, 1, 104, 154, 198, 154, 53, 107, 56, 126, 252, 56, 35, 35, 35, 228, 230, 230, 146, 152, 152, 72, + 97, 97, 33, 0, 155, 54, 109, 194, 100, 50, 241, 229, 151, 95, 98, 50, 153, 120, 254, 249, 231, 113, + 56, 28, 124, 243, 205, 55, 88, 173, 86, 146, 147, 147, 209, 52, 13, 69, 81, 240, 122, 189, 56, 157, + 78, 122, 122, 239, 241, 241, 159, 62, 173, 104, 184, 121, 237, 28, 112, 85, 8, 49, 58, 233, 111, 10, + 0, 73, 104, 98, 204, 115, 159, 172, 172, 44, 22, 46, 92, 136, 36, 73, 196, 199, 199, 19, 28, 28, 76, + 82, 82, 18, 154, 166, 145, 152, 152, 200, 99, 143, 61, 70, 65, 65, 1, 163, 163, 163, 44, 94, 188, 24, + 77, 211, 120, 238, 185, 231, 200, 204, 204, 164, 187, 187, 27, 167, 219, 131, 199, 227, 193, 229, 114, + 81, 223, 216, 172, 126, 180, 239, 192, 137, 166, 127, 214, 93, 0, 170, 133, 16, 142, 31, 251, 156, 2, + 64, 136, 160, 191, 55, 217, 58, 68, 210, 124, 179, 20, 31, 31, 63, 1, 234, 65, 67, 137, 137, 137, 33, + 40, 40, 8, 89, 150, 17, 66, 16, 21, 21, 69, 92, 92, 28, 178, 44, 163, 215, 235, 89, 181, 106, 21, 146, + 36, 113, 229, 202, 21, 122, 7, 38, 212, 126, 161, 234, 31, 99, 31, 239, 251, 227, 231, 247, 122, 123, + 190, 7, 106, 133, 16, 206, 135, 25, 159, 246, 107, 182, 237, 183, 239, 156, 95, 185, 252, 169, 95, 62, + 181, 104, 1, 179, 66, 67, 144, 36, 41, 240, 21, 35, 203, 114, 224, 120, 120, 62, 9, 246, 194, 119, 85, + 154, 226, 23, 52, 53, 183, 180, 125, 125, 252, 104, 225, 232, 168, 251, 202, 131, 152, 123, 30, 118, + 62, 35, 128, 237, 219, 63, 48, 12, 221, 239, 202, 55, 24, 12, 219, 141, 70, 99, 164, 52, 67, 181, 124, + 212, 240, 249, 125, 227, 157, 29, 237, 214, 27, 181, 151, 191, 27, 25, 30, 106, 5, 58, 152, 72, 55, + 223, 163, 222, 153, 6, 224, 193, 78, 116, 128, 9, 136, 3, 30, 255, 111, 1, 60, 24, 42, 208, 11, 12, + 76, 42, 253, 63, 141, 127, 1, 173, 193, 47, 22, 232, 14, 87, 117, 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, + 96, 130, + ], + }, + }, + }, + }, + }, + }, + }, }; diff --git a/test/specs/unknown/parsed.js b/test/specs/unknown/parsed.js index 95a8a29e..0a9f4a91 100644 --- a/test/specs/unknown/parsed.js +++ b/test/specs/unknown/parsed.js @@ -1,13 +1,12 @@ "use strict"; -module.exports = -{ +module.exports = { api: { swagger: "2.0", info: { version: "1.0.0", description: "This API references external files that aren't JSON or YAML", - title: "Unknown file types" + title: "Unknown file types", }, paths: { "/files/text": { @@ -18,12 +17,12 @@ module.exports = schema: { type: "file", default: { - $ref: "files/text.txt" - } - } - } - } - } + $ref: "files/text.txt", + }, + }, + }, + }, + }, }, "/files/html": { get: { @@ -33,12 +32,12 @@ module.exports = schema: { type: "file", default: { - $ref: "files/page.html" - } - } - } - } - } + $ref: "files/page.html", + }, + }, + }, + }, + }, }, "/files/blank": { get: { @@ -48,12 +47,12 @@ module.exports = schema: { type: "file", default: { - $ref: "files/blank" - } - } - } - } - } + $ref: "files/blank", + }, + }, + }, + }, + }, }, "/files/binary": { get: { @@ -63,14 +62,14 @@ module.exports = schema: { type: "file", default: { - $ref: "files/binary.png" - } - } - } - } - } - } - } + $ref: "files/binary.png", + }, + }, + }, + }, + }, + }, + }, }, blank: undefined, @@ -79,5 +78,113 @@ module.exports = html: '\n\n\n \n \n\n\n

Hello World

\n\n\n', - binary: { type: "Buffer", data: [137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 32, 0, 0, 0, 32, 8, 6, 0, 0, 0, 115, 122, 122, 244, 0, 0, 0, 4, 115, 66, 73, 84, 8, 8, 8, 8, 124, 8, 100, 136, 0, 0, 0, 25, 116, 69, 88, 116, 83, 111, 102, 116, 119, 97, 114, 101, 0, 119, 119, 119, 46, 105, 110, 107, 115, 99, 97, 112, 101, 46, 111, 114, 103, 155, 238, 60, 26, 0, 0, 9, 170, 73, 68, 65, 84, 88, 133, 197, 151, 125, 76, 84, 103, 22, 198, 127, 247, 206, 64, 7, 44, 227, 0, 149, 15, 97, 176, 34, 139, 174, 182, 86, 49, 46, 69, 148, 197, 80, 234, 118, 73, 181, 49, 213, 38, 146, 172, 218, 221, 86, 151, 98, 106, 218, 198, 212, 102, 179, 180, 221, 173, 154, 102, 187, 182, 113, 171, 181, 113, 165, 145, 138, 41, 152, 173, 160, 130, 73, 149, 116, 23, 131, 34, 42, 203, 48, 128, 195, 135, 128, 200, 200, 71, 103, 24, 6, 24, 135, 59, 115, 239, 187, 127, 32, 179, 69, 112, 179, 127, 108, 178, 111, 114, 63, 222, 251, 158, 155, 243, 188, 207, 121, 206, 57, 247, 74, 66, 8, 254, 159, 67, 63, 211, 195, 95, 231, 189, 149, 168, 73, 186, 95, 161, 73, 166, 255, 181, 67, 73, 214, 106, 131, 252, 35, 167, 143, 30, 61, 234, 3, 144, 30, 102, 96, 123, 222, 158, 143, 146, 147, 158, 124, 119, 237, 154, 52, 121, 254, 188, 120, 38, 215, 255, 125, 157, 60, 129, 16, 26, 2, 129, 16, 160, 169, 26, 154, 208, 208, 84, 13, 191, 234, 71, 211, 52, 132, 166, 161, 106, 19, 207, 84, 77, 195, 229, 114, 209, 216, 210, 70, 75, 235, 237, 65, 191, 207, 187, 234, 216, 231, 127, 110, 151, 127, 236, 124, 199, 142, 119, 103, 199, 205, 141, 126, 107, 99, 78, 150, 92, 114, 170, 136, 47, 142, 28, 102, 206, 19, 145, 220, 106, 105, 102, 87, 254, 27, 92, 175, 187, 70, 76, 244, 28, 244, 122, 153, 195, 135, 255, 194, 167, 159, 30, 100, 86, 104, 40, 67, 78, 7, 123, 246, 188, 195, 217, 242, 50, 226, 226, 98, 145, 16, 252, 225, 195, 15, 248, 246, 219, 191, 49, 47, 193, 76, 92, 92, 44, 229, 101, 223, 114, 170, 248, 107, 150, 36, 63, 201, 218, 213, 63, 155, 51, 236, 246, 252, 94, 146, 164, 160, 41, 0, 20, 89, 125, 33, 115, 117, 170, 225, 240, 225, 195, 188, 252, 242, 203, 132, 133, 133, 81, 89, 89, 201, 234, 213, 171, 201, 201, 201, 161, 181, 181, 21, 33, 4, 37, 37, 37, 44, 90, 180, 136, 212, 212, 84, 10, 11, 11, 73, 78, 78, 102, 199, 142, 29, 180, 180, 180, 32, 132, 32, 46, 46, 142, 221, 187, 119, 211, 212, 212, 132, 170, 170, 88, 44, 22, 70, 71, 71, 217, 185, 115, 39, 199, 142, 29, 35, 121, 193, 60, 34, 35, 35, 54, 0, 115, 166, 0, 64, 150, 12, 115, 99, 162, 25, 24, 24, 32, 41, 41, 137, 212, 212, 84, 110, 222, 188, 137, 78, 167, 99, 246, 236, 217, 1, 179, 186, 186, 58, 150, 46, 93, 202, 138, 21, 43, 104, 105, 105, 65, 146, 36, 34, 35, 35, 145, 36, 41, 16, 174, 240, 240, 112, 36, 73, 66, 85, 85, 26, 26, 26, 152, 55, 111, 30, 209, 209, 209, 184, 92, 46, 244, 122, 61, 225, 225, 70, 3, 16, 63, 21, 0, 32, 73, 18, 70, 163, 17, 69, 81, 232, 233, 233, 33, 33, 33, 1, 33, 196, 20, 45, 44, 88, 176, 128, 190, 190, 62, 238, 222, 189, 139, 217, 108, 158, 178, 174, 170, 42, 170, 170, 162, 105, 26, 154, 166, 161, 170, 42, 137, 137, 137, 220, 187, 119, 143, 251, 247, 239, 19, 18, 18, 50, 225, 72, 32, 1, 97, 211, 0, 8, 33, 216, 186, 117, 43, 123, 247, 238, 165, 170, 170, 138, 180, 180, 52, 26, 26, 26, 40, 42, 42, 162, 162, 162, 130, 154, 154, 26, 54, 111, 222, 76, 97, 97, 33, 95, 125, 245, 21, 25, 25, 25, 216, 237, 118, 62, 249, 228, 19, 234, 234, 234, 40, 43, 43, 195, 233, 116, 178, 127, 255, 126, 154, 154, 154, 56, 125, 250, 52, 75, 150, 44, 193, 102, 179, 81, 80, 80, 192, 154, 53, 107, 16, 98, 194, 251, 180, 44, 216, 254, 198, 158, 109, 239, 228, 255, 166, 112, 241, 162, 159, 160, 40, 10, 30, 143, 7, 163, 209, 136, 16, 130, 193, 193, 65, 52, 77, 35, 56, 56, 24, 163, 209, 136, 170, 170, 184, 92, 46, 194, 195, 195, 3, 235, 62, 159, 15, 89, 150, 49, 26, 141, 56, 28, 14, 198, 199, 199, 17, 66, 96, 50, 153, 240, 249, 124, 252, 240, 195, 15, 1, 118, 75, 206, 92, 240, 237, 255, 96, 239, 11, 211, 24, 0, 24, 24, 24, 160, 178, 178, 18, 175, 215, 139, 16, 2, 167, 211, 73, 109, 109, 45, 138, 162, 96, 52, 26, 1, 184, 121, 243, 38, 253, 253, 253, 8, 33, 80, 85, 21, 187, 221, 78, 111, 111, 47, 70, 163, 145, 177, 177, 49, 234, 235, 235, 233, 239, 239, 39, 60, 60, 28, 175, 215, 203, 149, 43, 87, 232, 233, 233, 153, 72, 79, 33, 224, 129, 94, 166, 21, 34, 33, 4, 109, 109, 109, 156, 62, 125, 154, 129, 129, 1, 94, 125, 245, 85, 58, 59, 59, 57, 119, 238, 28, 54, 155, 141, 221, 187, 119, 83, 81, 81, 193, 213, 171, 87, 113, 56, 28, 228, 228, 228, 96, 48, 24, 40, 43, 43, 67, 175, 215, 99, 179, 217, 120, 246, 217, 103, 169, 175, 175, 167, 173, 173, 141, 131, 7, 15, 50, 54, 54, 134, 205, 102, 163, 166, 166, 134, 67, 135, 14, 77, 145, 220, 140, 12, 164, 165, 165, 145, 153, 153, 25, 0, 180, 124, 249, 114, 214, 173, 91, 135, 36, 73, 8, 33, 168, 170, 170, 98, 195, 134, 13, 228, 229, 229, 113, 233, 210, 37, 170, 171, 171, 201, 202, 202, 34, 47, 47, 143, 234, 234, 106, 162, 162, 162, 216, 178, 101, 11, 122, 253, 196, 254, 34, 34, 34, 200, 205, 205, 37, 56, 56, 24, 89, 150, 209, 233, 116, 129, 140, 153, 145, 129, 71, 29, 147, 235, 62, 159, 15, 189, 94, 143, 166, 105, 0, 248, 253, 126, 244, 122, 61, 63, 214, 211, 228, 189, 78, 167, 67, 211, 52, 100, 121, 98, 175, 65, 65, 65, 83, 236, 102, 236, 5, 253, 253, 253, 220, 190, 125, 27, 33, 4, 46, 151, 11, 159, 207, 71, 91, 91, 27, 118, 187, 157, 193, 193, 65, 178, 178, 178, 40, 46, 46, 70, 150, 101, 82, 82, 82, 136, 141, 141, 165, 180, 180, 148, 184, 184, 56, 86, 172, 88, 129, 162, 40, 88, 173, 86, 156, 78, 39, 118, 187, 157, 152, 152, 24, 44, 22, 11, 110, 183, 27, 187, 221, 78, 84, 84, 212, 100, 57, 151, 166, 3, 16, 130, 209, 209, 81, 162, 162, 162, 240, 249, 124, 116, 117, 117, 17, 25, 25, 73, 72, 72, 8, 102, 179, 153, 206, 206, 78, 178, 179, 179, 209, 233, 116, 8, 33, 88, 185, 114, 37, 161, 161, 161, 8, 33, 112, 56, 28, 164, 167, 167, 163, 105, 26, 125, 125, 125, 100, 100, 100, 208, 218, 218, 74, 76, 76, 12, 221, 221, 221, 100, 103, 103, 99, 179, 217, 136, 141, 141, 125, 180, 8, 17, 130, 249, 243, 231, 147, 151, 151, 55, 133, 246, 215, 95, 127, 61, 160, 120, 33, 4, 153, 153, 153, 83, 66, 147, 154, 154, 58, 133, 218, 109, 219, 182, 5, 52, 51, 57, 159, 180, 31, 25, 25, 9, 216, 77, 19, 161, 42, 84, 206, 159, 63, 79, 118, 118, 54, 101, 101, 101, 8, 33, 176, 90, 173, 236, 218, 181, 139, 157, 59, 119, 50, 48, 48, 192, 245, 235, 215, 121, 229, 149, 87, 56, 114, 228, 8, 0, 125, 125, 125, 188, 253, 246, 219, 228, 231, 231, 211, 217, 217, 201, 216, 216, 24, 123, 246, 236, 97, 215, 174, 93, 52, 54, 54, 162, 170, 42, 239, 189, 247, 30, 111, 190, 249, 38, 181, 181, 181, 19, 34, 124, 20, 0, 159, 79, 37, 45, 45, 141, 141, 27, 55, 226, 112, 56, 80, 85, 149, 83, 167, 78, 177, 101, 203, 22, 114, 114, 114, 40, 47, 47, 103, 249, 242, 229, 188, 246, 218, 107, 140, 140, 140, 32, 73, 18, 151, 46, 93, 34, 61, 61, 157, 252, 252, 124, 138, 139, 139, 185, 118, 237, 26, 79, 63, 253, 52, 7, 14, 28, 160, 168, 168, 8, 171, 213, 138, 217, 108, 230, 208, 161, 67, 156, 60, 121, 18, 157, 78, 247, 104, 6, 252, 126, 63, 189, 189, 189, 56, 157, 78, 250, 250, 250, 232, 234, 234, 162, 181, 181, 21, 163, 209, 72, 84, 84, 20, 237, 237, 237, 140, 143, 143, 35, 203, 50, 170, 170, 226, 247, 251, 185, 117, 235, 22, 102, 179, 153, 196, 196, 68, 236, 118, 59, 237, 237, 237, 36, 36, 36, 48, 103, 206, 28, 28, 14, 71, 64, 7, 161, 161, 161, 120, 189, 94, 84, 85, 13, 164, 225, 244, 16, 168, 234, 148, 249, 248, 248, 56, 115, 231, 206, 165, 173, 173, 141, 198, 198, 70, 18, 18, 18, 80, 20, 37, 144, 130, 178, 44, 243, 204, 51, 207, 208, 221, 221, 77, 71, 71, 7, 11, 23, 46, 100, 217, 178, 101, 116, 116, 116, 4, 154, 85, 74, 74, 10, 157, 157, 157, 184, 221, 110, 194, 195, 195, 9, 10, 10, 66, 25, 191, 63, 246, 72, 0, 22, 139, 133, 171, 87, 175, 114, 249, 242, 101, 26, 27, 27, 217, 180, 105, 19, 103, 207, 158, 165, 185, 185, 153, 244, 244, 116, 186, 186, 186, 40, 45, 45, 197, 98, 177, 112, 241, 226, 69, 94, 124, 241, 69, 44, 22, 11, 37, 37, 37, 172, 95, 191, 158, 244, 244, 116, 250, 251, 251, 249, 236, 179, 207, 216, 188, 121, 51, 75, 151, 46, 5, 224, 253, 247, 223, 39, 55, 55, 151, 214, 142, 46, 173, 185, 229, 86, 51, 224, 159, 214, 140, 182, 110, 94, 95, 24, 246, 120, 8, 138, 162, 4, 118, 104, 48, 24, 208, 235, 245, 72, 146, 132, 193, 96, 32, 40, 40, 8, 77, 211, 208, 235, 245, 4, 7, 7, 19, 18, 18, 130, 78, 167, 67, 85, 213, 128, 157, 36, 73, 244, 245, 15, 210, 216, 98, 67, 211, 38, 178, 199, 167, 40, 184, 71, 70, 208, 84, 149, 130, 130, 223, 125, 120, 175, 167, 187, 112, 90, 26, 170, 154, 138, 215, 235, 165, 188, 188, 156, 152, 152, 24, 50, 50, 50, 240, 251, 253, 156, 57, 115, 6, 147, 201, 196, 134, 13, 27, 16, 66, 112, 246, 236, 89, 36, 73, 34, 55, 55, 151, 193, 193, 65, 138, 138, 138, 88, 182, 108, 89, 160, 100, 215, 92, 187, 65, 66, 124, 28, 191, 200, 250, 57, 138, 162, 160, 40, 10, 67, 67, 67, 12, 13, 13, 113, 178, 164, 236, 238, 189, 158, 238, 6, 160, 111, 90, 8, 52, 77, 112, 226, 196, 9, 162, 163, 163, 169, 171, 171, 163, 161, 161, 129, 210, 210, 82, 130, 131, 131, 233, 232, 232, 224, 226, 197, 139, 84, 86, 86, 226, 114, 185, 240, 120, 60, 20, 21, 21, 97, 48, 24, 48, 155, 205, 84, 84, 84, 160, 105, 26, 150, 70, 43, 79, 68, 68, 144, 248, 100, 66, 64, 43, 99, 99, 99, 184, 221, 110, 46, 215, 222, 240, 254, 245, 139, 67, 71, 129, 118, 33, 132, 119, 70, 13, 220, 185, 115, 135, 37, 75, 150, 176, 118, 237, 90, 234, 235, 235, 177, 90, 173, 172, 92, 185, 146, 117, 235, 214, 81, 95, 95, 79, 93, 93, 29, 233, 233, 233, 188, 244, 210, 75, 220, 184, 113, 3, 147, 201, 68, 74, 74, 10, 178, 44, 99, 179, 217, 248, 190, 186, 134, 159, 46, 76, 194, 239, 247, 163, 170, 42, 195, 195, 195, 12, 13, 13, 113, 171, 237, 182, 246, 241, 254, 253, 135, 93, 46, 231, 101, 224, 22, 204, 80, 9, 39, 227, 40, 203, 50, 110, 183, 155, 176, 176, 48, 102, 205, 154, 133, 223, 239, 199, 237, 118, 51, 123, 246, 108, 124, 62, 31, 30, 143, 135, 225, 225, 97, 34, 34, 34, 2, 239, 78, 126, 152, 184, 221, 110, 252, 126, 63, 66, 8, 220, 110, 247, 68, 79, 232, 27, 96, 223, 190, 253, 197, 119, 239, 220, 174, 2, 174, 11, 33, 148, 25, 1, 104, 154, 198, 154, 53, 107, 56, 126, 252, 56, 35, 35, 35, 228, 230, 230, 146, 152, 152, 72, 97, 97, 33, 0, 155, 54, 109, 194, 100, 50, 241, 229, 151, 95, 98, 50, 153, 120, 254, 249, 231, 113, 56, 28, 124, 243, 205, 55, 88, 173, 86, 146, 147, 147, 209, 52, 13, 69, 81, 240, 122, 189, 56, 157, 78, 122, 122, 239, 241, 241, 159, 62, 173, 104, 184, 121, 237, 28, 112, 85, 8, 49, 58, 233, 111, 10, 0, 73, 104, 98, 204, 115, 159, 172, 172, 44, 22, 46, 92, 136, 36, 73, 196, 199, 199, 19, 28, 28, 76, 82, 82, 18, 154, 166, 145, 152, 152, 200, 99, 143, 61, 70, 65, 65, 1, 163, 163, 163, 44, 94, 188, 24, 77, 211, 120, 238, 185, 231, 200, 204, 204, 164, 187, 187, 27, 167, 219, 131, 199, 227, 193, 229, 114, 81, 223, 216, 172, 126, 180, 239, 192, 137, 166, 127, 214, 93, 0, 170, 133, 16, 142, 31, 251, 156, 2, 64, 136, 160, 191, 55, 217, 58, 68, 210, 124, 179, 20, 31, 31, 63, 1, 234, 65, 67, 137, 137, 137, 33, 40, 40, 8, 89, 150, 17, 66, 16, 21, 21, 69, 92, 92, 28, 178, 44, 163, 215, 235, 89, 181, 106, 21, 146, 36, 113, 229, 202, 21, 122, 7, 38, 212, 126, 161, 234, 31, 99, 31, 239, 251, 227, 231, 247, 122, 123, 190, 7, 106, 133, 16, 206, 135, 25, 159, 246, 107, 182, 237, 183, 239, 156, 95, 185, 252, 169, 95, 62, 181, 104, 1, 179, 66, 67, 144, 36, 41, 240, 21, 35, 203, 114, 224, 120, 120, 62, 9, 246, 194, 119, 85, 154, 226, 23, 52, 53, 183, 180, 125, 125, 252, 104, 225, 232, 168, 251, 202, 131, 152, 123, 30, 118, 62, 35, 128, 237, 219, 63, 48, 12, 221, 239, 202, 55, 24, 12, 219, 141, 70, 99, 164, 52, 67, 181, 124, 212, 240, 249, 125, 227, 157, 29, 237, 214, 27, 181, 151, 191, 27, 25, 30, 106, 5, 58, 152, 72, 55, 223, 163, 222, 153, 6, 224, 193, 78, 116, 128, 9, 136, 3, 30, 255, 111, 1, 60, 24, 42, 208, 11, 12, 76, 42, 253, 63, 141, 127, 1, 173, 193, 47, 22, 232, 14, 87, 117, 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130]} + binary: { + type: "Buffer", + data: [ + 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 32, 0, 0, 0, 32, 8, 6, 0, 0, 0, 115, 122, + 122, 244, 0, 0, 0, 4, 115, 66, 73, 84, 8, 8, 8, 8, 124, 8, 100, 136, 0, 0, 0, 25, 116, 69, 88, 116, 83, 111, 102, + 116, 119, 97, 114, 101, 0, 119, 119, 119, 46, 105, 110, 107, 115, 99, 97, 112, 101, 46, 111, 114, 103, 155, 238, + 60, 26, 0, 0, 9, 170, 73, 68, 65, 84, 88, 133, 197, 151, 125, 76, 84, 103, 22, 198, 127, 247, 206, 64, 7, 44, 227, + 0, 149, 15, 97, 176, 34, 139, 174, 182, 86, 49, 46, 69, 148, 197, 80, 234, 118, 73, 181, 49, 213, 38, 146, 172, + 218, 221, 86, 151, 98, 106, 218, 198, 212, 102, 179, 180, 221, 173, 154, 102, 187, 182, 113, 171, 181, 113, 165, + 145, 138, 41, 152, 173, 160, 130, 73, 149, 116, 23, 131, 34, 42, 203, 48, 128, 195, 135, 128, 200, 200, 71, 103, + 24, 6, 24, 135, 59, 115, 239, 187, 127, 32, 179, 69, 112, 179, 127, 108, 178, 111, 114, 63, 222, 251, 158, 155, + 243, 188, 207, 121, 206, 57, 247, 74, 66, 8, 254, 159, 67, 63, 211, 195, 95, 231, 189, 149, 168, 73, 186, 95, 161, + 73, 166, 255, 181, 67, 73, 214, 106, 131, 252, 35, 167, 143, 30, 61, 234, 3, 144, 30, 102, 96, 123, 222, 158, 143, + 146, 147, 158, 124, 119, 237, 154, 52, 121, 254, 188, 120, 38, 215, 255, 125, 157, 60, 129, 16, 26, 2, 129, 16, + 160, 169, 26, 154, 208, 208, 84, 13, 191, 234, 71, 211, 52, 132, 166, 161, 106, 19, 207, 84, 77, 195, 229, 114, + 209, 216, 210, 70, 75, 235, 237, 65, 191, 207, 187, 234, 216, 231, 127, 110, 151, 127, 236, 124, 199, 142, 119, + 103, 199, 205, 141, 126, 107, 99, 78, 150, 92, 114, 170, 136, 47, 142, 28, 102, 206, 19, 145, 220, 106, 105, 102, + 87, 254, 27, 92, 175, 187, 70, 76, 244, 28, 244, 122, 153, 195, 135, 255, 194, 167, 159, 30, 100, 86, 104, 40, 67, + 78, 7, 123, 246, 188, 195, 217, 242, 50, 226, 226, 98, 145, 16, 252, 225, 195, 15, 248, 246, 219, 191, 49, 47, + 193, 76, 92, 92, 44, 229, 101, 223, 114, 170, 248, 107, 150, 36, 63, 201, 218, 213, 63, 155, 51, 236, 246, 252, + 94, 146, 164, 160, 41, 0, 20, 89, 125, 33, 115, 117, 170, 225, 240, 225, 195, 188, 252, 242, 203, 132, 133, 133, + 81, 89, 89, 201, 234, 213, 171, 201, 201, 201, 161, 181, 181, 21, 33, 4, 37, 37, 37, 44, 90, 180, 136, 212, 212, + 84, 10, 11, 11, 73, 78, 78, 102, 199, 142, 29, 180, 180, 180, 32, 132, 32, 46, 46, 142, 221, 187, 119, 211, 212, + 212, 132, 170, 170, 88, 44, 22, 70, 71, 71, 217, 185, 115, 39, 199, 142, 29, 35, 121, 193, 60, 34, 35, 35, 54, 0, + 115, 166, 0, 64, 150, 12, 115, 99, 162, 25, 24, 24, 32, 41, 41, 137, 212, 212, 84, 110, 222, 188, 137, 78, 167, + 99, 246, 236, 217, 1, 179, 186, 186, 58, 150, 46, 93, 202, 138, 21, 43, 104, 105, 105, 65, 146, 36, 34, 35, 35, + 145, 36, 41, 16, 174, 240, 240, 112, 36, 73, 66, 85, 85, 26, 26, 26, 152, 55, 111, 30, 209, 209, 209, 184, 92, 46, + 244, 122, 61, 225, 225, 70, 3, 16, 63, 21, 0, 32, 73, 18, 70, 163, 17, 69, 81, 232, 233, 233, 33, 33, 33, 1, 33, + 196, 20, 45, 44, 88, 176, 128, 190, 190, 62, 238, 222, 189, 139, 217, 108, 158, 178, 174, 170, 42, 170, 170, 162, + 105, 26, 154, 166, 161, 170, 42, 137, 137, 137, 220, 187, 119, 143, 251, 247, 239, 19, 18, 18, 50, 225, 72, 32, 1, + 97, 211, 0, 8, 33, 216, 186, 117, 43, 123, 247, 238, 165, 170, 170, 138, 180, 180, 52, 26, 26, 26, 40, 42, 42, + 162, 162, 162, 130, 154, 154, 26, 54, 111, 222, 76, 97, 97, 33, 95, 125, 245, 21, 25, 25, 25, 216, 237, 118, 62, + 249, 228, 19, 234, 234, 234, 40, 43, 43, 195, 233, 116, 178, 127, 255, 126, 154, 154, 154, 56, 125, 250, 52, 75, + 150, 44, 193, 102, 179, 81, 80, 80, 192, 154, 53, 107, 16, 98, 194, 251, 180, 44, 216, 254, 198, 158, 109, 239, + 228, 255, 166, 112, 241, 162, 159, 160, 40, 10, 30, 143, 7, 163, 209, 136, 16, 130, 193, 193, 65, 52, 77, 35, 56, + 56, 24, 163, 209, 136, 170, 170, 184, 92, 46, 194, 195, 195, 3, 235, 62, 159, 15, 89, 150, 49, 26, 141, 56, 28, + 14, 198, 199, 199, 17, 66, 96, 50, 153, 240, 249, 124, 252, 240, 195, 15, 1, 118, 75, 206, 92, 240, 237, 255, 96, + 239, 11, 211, 24, 0, 24, 24, 24, 160, 178, 178, 18, 175, 215, 139, 16, 2, 167, 211, 73, 109, 109, 45, 138, 162, + 96, 52, 26, 1, 184, 121, 243, 38, 253, 253, 253, 8, 33, 80, 85, 21, 187, 221, 78, 111, 111, 47, 70, 163, 145, 177, + 177, 49, 234, 235, 235, 233, 239, 239, 39, 60, 60, 28, 175, 215, 203, 149, 43, 87, 232, 233, 233, 153, 72, 79, 33, + 224, 129, 94, 166, 21, 34, 33, 4, 109, 109, 109, 156, 62, 125, 154, 129, 129, 1, 94, 125, 245, 85, 58, 59, 59, 57, + 119, 238, 28, 54, 155, 141, 221, 187, 119, 83, 81, 81, 193, 213, 171, 87, 113, 56, 28, 228, 228, 228, 96, 48, 24, + 40, 43, 43, 67, 175, 215, 99, 179, 217, 120, 246, 217, 103, 169, 175, 175, 167, 173, 173, 141, 131, 7, 15, 50, 54, + 54, 134, 205, 102, 163, 166, 166, 134, 67, 135, 14, 77, 145, 220, 140, 12, 164, 165, 165, 145, 153, 153, 25, 0, + 180, 124, 249, 114, 214, 173, 91, 135, 36, 73, 8, 33, 168, 170, 170, 98, 195, 134, 13, 228, 229, 229, 113, 233, + 210, 37, 170, 171, 171, 201, 202, 202, 34, 47, 47, 143, 234, 234, 106, 162, 162, 162, 216, 178, 101, 11, 122, 253, + 196, 254, 34, 34, 34, 200, 205, 205, 37, 56, 56, 24, 89, 150, 209, 233, 116, 129, 140, 153, 145, 129, 71, 29, 147, + 235, 62, 159, 15, 189, 94, 143, 166, 105, 0, 248, 253, 126, 244, 122, 61, 63, 214, 211, 228, 189, 78, 167, 67, + 211, 52, 100, 121, 98, 175, 65, 65, 65, 83, 236, 102, 236, 5, 253, 253, 253, 220, 190, 125, 27, 33, 4, 46, 151, + 11, 159, 207, 71, 91, 91, 27, 118, 187, 157, 193, 193, 65, 178, 178, 178, 40, 46, 46, 70, 150, 101, 82, 82, 82, + 136, 141, 141, 165, 180, 180, 148, 184, 184, 56, 86, 172, 88, 129, 162, 40, 88, 173, 86, 156, 78, 39, 118, 187, + 157, 152, 152, 24, 44, 22, 11, 110, 183, 27, 187, 221, 78, 84, 84, 212, 100, 57, 151, 166, 3, 16, 130, 209, 209, + 81, 162, 162, 162, 240, 249, 124, 116, 117, 117, 17, 25, 25, 73, 72, 72, 8, 102, 179, 153, 206, 206, 78, 178, 179, + 179, 209, 233, 116, 8, 33, 88, 185, 114, 37, 161, 161, 161, 8, 33, 112, 56, 28, 164, 167, 167, 163, 105, 26, 125, + 125, 125, 100, 100, 100, 208, 218, 218, 74, 76, 76, 12, 221, 221, 221, 100, 103, 103, 99, 179, 217, 136, 141, 141, + 125, 180, 8, 17, 130, 249, 243, 231, 147, 151, 151, 55, 133, 246, 215, 95, 127, 61, 160, 120, 33, 4, 153, 153, + 153, 83, 66, 147, 154, 154, 58, 133, 218, 109, 219, 182, 5, 52, 51, 57, 159, 180, 31, 25, 25, 9, 216, 77, 19, 161, + 42, 84, 206, 159, 63, 79, 118, 118, 54, 101, 101, 101, 8, 33, 176, 90, 173, 236, 218, 181, 139, 157, 59, 119, 50, + 48, 48, 192, 245, 235, 215, 121, 229, 149, 87, 56, 114, 228, 8, 0, 125, 125, 125, 188, 253, 246, 219, 228, 231, + 231, 211, 217, 217, 201, 216, 216, 24, 123, 246, 236, 97, 215, 174, 93, 52, 54, 54, 162, 170, 42, 239, 189, 247, + 30, 111, 190, 249, 38, 181, 181, 181, 19, 34, 124, 20, 0, 159, 79, 37, 45, 45, 141, 141, 27, 55, 226, 112, 56, 80, + 85, 149, 83, 167, 78, 177, 101, 203, 22, 114, 114, 114, 40, 47, 47, 103, 249, 242, 229, 188, 246, 218, 107, 140, + 140, 140, 32, 73, 18, 151, 46, 93, 34, 61, 61, 157, 252, 252, 124, 138, 139, 139, 185, 118, 237, 26, 79, 63, 253, + 52, 7, 14, 28, 160, 168, 168, 8, 171, 213, 138, 217, 108, 230, 208, 161, 67, 156, 60, 121, 18, 157, 78, 247, 104, + 6, 252, 126, 63, 189, 189, 189, 56, 157, 78, 250, 250, 250, 232, 234, 234, 162, 181, 181, 21, 163, 209, 72, 84, + 84, 20, 237, 237, 237, 140, 143, 143, 35, 203, 50, 170, 170, 226, 247, 251, 185, 117, 235, 22, 102, 179, 153, 196, + 196, 68, 236, 118, 59, 237, 237, 237, 36, 36, 36, 48, 103, 206, 28, 28, 14, 71, 64, 7, 161, 161, 161, 120, 189, + 94, 84, 85, 13, 164, 225, 244, 16, 168, 234, 148, 249, 248, 248, 56, 115, 231, 206, 165, 173, 173, 141, 198, 198, + 70, 18, 18, 18, 80, 20, 37, 144, 130, 178, 44, 243, 204, 51, 207, 208, 221, 221, 77, 71, 71, 7, 11, 23, 46, 100, + 217, 178, 101, 116, 116, 116, 4, 154, 85, 74, 74, 10, 157, 157, 157, 184, 221, 110, 194, 195, 195, 9, 10, 10, 66, + 25, 191, 63, 246, 72, 0, 22, 139, 133, 171, 87, 175, 114, 249, 242, 101, 26, 27, 27, 217, 180, 105, 19, 103, 207, + 158, 165, 185, 185, 153, 244, 244, 116, 186, 186, 186, 40, 45, 45, 197, 98, 177, 112, 241, 226, 69, 94, 124, 241, + 69, 44, 22, 11, 37, 37, 37, 172, 95, 191, 158, 244, 244, 116, 250, 251, 251, 249, 236, 179, 207, 216, 188, 121, + 51, 75, 151, 46, 5, 224, 253, 247, 223, 39, 55, 55, 151, 214, 142, 46, 173, 185, 229, 86, 51, 224, 159, 214, 140, + 182, 110, 94, 95, 24, 246, 120, 8, 138, 162, 4, 118, 104, 48, 24, 208, 235, 245, 72, 146, 132, 193, 96, 32, 40, + 40, 8, 77, 211, 208, 235, 245, 4, 7, 7, 19, 18, 18, 130, 78, 167, 67, 85, 213, 128, 157, 36, 73, 244, 245, 15, + 210, 216, 98, 67, 211, 38, 178, 199, 167, 40, 184, 71, 70, 208, 84, 149, 130, 130, 223, 125, 120, 175, 167, 187, + 112, 90, 26, 170, 154, 138, 215, 235, 165, 188, 188, 156, 152, 152, 24, 50, 50, 50, 240, 251, 253, 156, 57, 115, + 6, 147, 201, 196, 134, 13, 27, 16, 66, 112, 246, 236, 89, 36, 73, 34, 55, 55, 151, 193, 193, 65, 138, 138, 138, + 88, 182, 108, 89, 160, 100, 215, 92, 187, 65, 66, 124, 28, 191, 200, 250, 57, 138, 162, 160, 40, 10, 67, 67, 67, + 12, 13, 13, 113, 178, 164, 236, 238, 189, 158, 238, 6, 160, 111, 90, 8, 52, 77, 112, 226, 196, 9, 162, 163, 163, + 169, 171, 171, 163, 161, 161, 129, 210, 210, 82, 130, 131, 131, 233, 232, 232, 224, 226, 197, 139, 84, 86, 86, + 226, 114, 185, 240, 120, 60, 20, 21, 21, 97, 48, 24, 48, 155, 205, 84, 84, 84, 160, 105, 26, 150, 70, 43, 79, 68, + 68, 144, 248, 100, 66, 64, 43, 99, 99, 99, 184, 221, 110, 46, 215, 222, 240, 254, 245, 139, 67, 71, 129, 118, 33, + 132, 119, 70, 13, 220, 185, 115, 135, 37, 75, 150, 176, 118, 237, 90, 234, 235, 235, 177, 90, 173, 172, 92, 185, + 146, 117, 235, 214, 81, 95, 95, 79, 93, 93, 29, 233, 233, 233, 188, 244, 210, 75, 220, 184, 113, 3, 147, 201, 68, + 74, 74, 10, 178, 44, 99, 179, 217, 248, 190, 186, 134, 159, 46, 76, 194, 239, 247, 163, 170, 42, 195, 195, 195, + 12, 13, 13, 113, 171, 237, 182, 246, 241, 254, 253, 135, 93, 46, 231, 101, 224, 22, 204, 80, 9, 39, 227, 40, 203, + 50, 110, 183, 155, 176, 176, 48, 102, 205, 154, 133, 223, 239, 199, 237, 118, 51, 123, 246, 108, 124, 62, 31, 30, + 143, 135, 225, 225, 97, 34, 34, 34, 2, 239, 78, 126, 152, 184, 221, 110, 252, 126, 63, 66, 8, 220, 110, 247, 68, + 79, 232, 27, 96, 223, 190, 253, 197, 119, 239, 220, 174, 2, 174, 11, 33, 148, 25, 1, 104, 154, 198, 154, 53, 107, + 56, 126, 252, 56, 35, 35, 35, 228, 230, 230, 146, 152, 152, 72, 97, 97, 33, 0, 155, 54, 109, 194, 100, 50, 241, + 229, 151, 95, 98, 50, 153, 120, 254, 249, 231, 113, 56, 28, 124, 243, 205, 55, 88, 173, 86, 146, 147, 147, 209, + 52, 13, 69, 81, 240, 122, 189, 56, 157, 78, 122, 122, 239, 241, 241, 159, 62, 173, 104, 184, 121, 237, 28, 112, + 85, 8, 49, 58, 233, 111, 10, 0, 73, 104, 98, 204, 115, 159, 172, 172, 44, 22, 46, 92, 136, 36, 73, 196, 199, 199, + 19, 28, 28, 76, 82, 82, 18, 154, 166, 145, 152, 152, 200, 99, 143, 61, 70, 65, 65, 1, 163, 163, 163, 44, 94, 188, + 24, 77, 211, 120, 238, 185, 231, 200, 204, 204, 164, 187, 187, 27, 167, 219, 131, 199, 227, 193, 229, 114, 81, + 223, 216, 172, 126, 180, 239, 192, 137, 166, 127, 214, 93, 0, 170, 133, 16, 142, 31, 251, 156, 2, 64, 136, 160, + 191, 55, 217, 58, 68, 210, 124, 179, 20, 31, 31, 63, 1, 234, 65, 67, 137, 137, 137, 33, 40, 40, 8, 89, 150, 17, + 66, 16, 21, 21, 69, 92, 92, 28, 178, 44, 163, 215, 235, 89, 181, 106, 21, 146, 36, 113, 229, 202, 21, 122, 7, 38, + 212, 126, 161, 234, 31, 99, 31, 239, 251, 227, 231, 247, 122, 123, 190, 7, 106, 133, 16, 206, 135, 25, 159, 246, + 107, 182, 237, 183, 239, 156, 95, 185, 252, 169, 95, 62, 181, 104, 1, 179, 66, 67, 144, 36, 41, 240, 21, 35, 203, + 114, 224, 120, 120, 62, 9, 246, 194, 119, 85, 154, 226, 23, 52, 53, 183, 180, 125, 125, 252, 104, 225, 232, 168, + 251, 202, 131, 152, 123, 30, 118, 62, 35, 128, 237, 219, 63, 48, 12, 221, 239, 202, 55, 24, 12, 219, 141, 70, 99, + 164, 52, 67, 181, 124, 212, 240, 249, 125, 227, 157, 29, 237, 214, 27, 181, 151, 191, 27, 25, 30, 106, 5, 58, 152, + 72, 55, 223, 163, 222, 153, 6, 224, 193, 78, 116, 128, 9, 136, 3, 30, 255, 111, 1, 60, 24, 42, 208, 11, 12, 76, + 42, 253, 63, 141, 127, 1, 173, 193, 47, 22, 232, 14, 87, 117, 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130, + ], + }, }; diff --git a/test/specs/unknown/unknown.spec.js b/test/specs/unknown/unknown.spec.js index 92a7421b..f632dbcd 100644 --- a/test/specs/unknown/unknown.spec.js +++ b/test/specs/unknown/unknown.spec.js @@ -33,13 +33,21 @@ describe("API with $refs to unknown file types", () => { expect(parser.$refs.paths()).to.deep.equal([path.abs("specs/unknown/unknown.yaml")]); }); - it("should resolve successfully", helper.testResolve( - "specs/unknown/unknown.yaml", parsedAPI.api, - "specs/unknown/files/blank", parsedAPI.blank, - "specs/unknown/files/text.txt", parsedAPI.text, - "specs/unknown/files/page.html", parsedAPI.html, - "specs/unknown/files/binary.png", parsedAPI.binary - )); + it( + "should resolve successfully", + helper.testResolve( + "specs/unknown/unknown.yaml", + parsedAPI.api, + "specs/unknown/files/blank", + parsedAPI.blank, + "specs/unknown/files/text.txt", + parsedAPI.text, + "specs/unknown/files/page.html", + parsedAPI.html, + "specs/unknown/files/binary.png", + parsedAPI.binary, + ), + ); it("should dereference successfully", async () => { let parser = new SwaggerParser(); @@ -47,17 +55,21 @@ describe("API with $refs to unknown file types", () => { expect(api).to.equal(parser.api); - api.paths["/files/text"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/text"].get.responses["200"].default); + api.paths["/files/text"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/text"].get.responses["200"].default, + ); - api.paths["/files/html"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/html"].get.responses["200"].default); + api.paths["/files/html"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/html"].get.responses["200"].default, + ); - api.paths["/files/blank"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/blank"].get.responses["200"].default); + api.paths["/files/blank"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/blank"].get.responses["200"].default, + ); - api.paths["/files/binary"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/binary"].get.responses["200"].default); + api.paths["/files/binary"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/binary"].get.responses["200"].default, + ); }); it("should validate successfully", async () => { @@ -66,17 +78,21 @@ describe("API with $refs to unknown file types", () => { expect(api).to.equal(parser.api); - api.paths["/files/text"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/text"].get.responses["200"].default); + api.paths["/files/text"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/text"].get.responses["200"].default, + ); - api.paths["/files/html"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/html"].get.responses["200"].default); + api.paths["/files/html"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/html"].get.responses["200"].default, + ); - api.paths["/files/blank"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/blank"].get.responses["200"].default); + api.paths["/files/blank"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/blank"].get.responses["200"].default, + ); - api.paths["/files/binary"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/binary"].get.responses["200"].default); + api.paths["/files/binary"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/binary"].get.responses["200"].default, + ); }); it("should bundle successfully", async () => { @@ -85,16 +101,20 @@ describe("API with $refs to unknown file types", () => { expect(api).to.equal(parser.api); - api.paths["/files/text"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/text"].get.responses["200"].default); + api.paths["/files/text"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/text"].get.responses["200"].default, + ); - api.paths["/files/html"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/html"].get.responses["200"].default); + api.paths["/files/html"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/html"].get.responses["200"].default, + ); - api.paths["/files/blank"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/blank"].get.responses["200"].default); + api.paths["/files/blank"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/blank"].get.responses["200"].default, + ); - api.paths["/files/binary"].get.responses["200"].default = - helper.convertNodeBuffersToPOJOs(dereferencedAPI.paths["/files/binary"].get.responses["200"].default); + api.paths["/files/binary"].get.responses["200"].default = helper.convertNodeBuffersToPOJOs( + dereferencedAPI.paths["/files/binary"].get.responses["200"].default, + ); }); }); diff --git a/test/specs/validate-schema/validate-schema.spec.js b/test/specs/validate-schema/validate-schema.spec.js index ae1b5ecf..ce79c19b 100644 --- a/test/specs/validate-schema/validate-schema.spec.js +++ b/test/specs/validate-schema/validate-schema.spec.js @@ -9,98 +9,99 @@ describe("Invalid APIs (Swagger 2.0 schema validation)", () => { { name: "invalid response code", valid: false, - file: "invalid-response-code.yaml" + file: "invalid-response-code.yaml", }, { name: "optional path param", valid: false, - file: "optional-path-param.yaml" + file: "optional-path-param.yaml", }, { name: "non-required path param", valid: false, - file: "non-required-path-param.yaml" + file: "non-required-path-param.yaml", }, { name: "invalid schema type", valid: false, - file: "invalid-schema-type.yaml" + file: "invalid-schema-type.yaml", }, { name: "invalid param type", valid: false, - file: "invalid-param-type.yaml" + file: "invalid-param-type.yaml", }, { name: "non-primitive param type", valid: false, - file: "non-primitive-param-type.yaml" + file: "non-primitive-param-type.yaml", }, { name: "invalid parameter location", valid: false, - file: "invalid-param-location.yaml" + file: "invalid-param-location.yaml", }, { name: '"file" type used for non-formData param', valid: false, - file: "file-header-param.yaml" + file: "file-header-param.yaml", }, { name: '"file" type used for body param', valid: false, file: "file-body-param.yaml", - error: "Validation failed. /paths/users/{username}/profile/image/post/parameters/image has an invalid type (file)" + error: + "Validation failed. /paths/users/{username}/profile/image/post/parameters/image has an invalid type (file)", }, { name: '"multi" header param', valid: false, - file: "multi-header-param.yaml" + file: "multi-header-param.yaml", }, { name: '"multi" path param', valid: false, - file: "multi-path-param.yaml" + file: "multi-path-param.yaml", }, { name: "invalid response header type", valid: false, - file: "invalid-response-header-type.yaml" + file: "invalid-response-header-type.yaml", }, { name: "non-primitive response header type", valid: false, - file: "non-primitive-response-header-type.yaml" + file: "non-primitive-response-header-type.yaml", }, { name: "invalid response schema type", valid: false, - file: "invalid-response-type.yaml" + file: "invalid-response-type.yaml", }, { name: "unknown JSON Schema format", valid: true, - file: "unknown-format.yaml" + file: "unknown-format.yaml", }, { name: "$ref to invalid Path object", valid: false, - file: "ref-to-invalid-path.yaml" + file: "ref-to-invalid-path.yaml", }, { name: 'Schema with "allOf"', valid: true, - file: "allof.yaml" + file: "allof.yaml", }, { name: 'Schema with "anyOf"', valid: false, - file: "anyof.yaml" + file: "anyof.yaml", }, { name: 'Schema with "oneOf"', valid: false, - file: "oneof.yaml" + file: "oneof.yaml", }, ]; @@ -108,8 +109,9 @@ describe("Invalid APIs (Swagger 2.0 schema validation)", () => { let invalid = tests[0]; expect(invalid.valid).to.equal(false); - const api = await SwaggerParser - .validate(path.rel("specs/validate-schema/invalid/" + invalid.file), { validate: { schema: false }}); + const api = await SwaggerParser.validate(path.rel("specs/validate-schema/invalid/" + invalid.file), { + validate: { schema: false }, + }); expect(api).to.be.an("object"); }); @@ -117,30 +119,30 @@ describe("Invalid APIs (Swagger 2.0 schema validation)", () => { if (test.valid) { it(test.name, async () => { try { - const api = await SwaggerParser - .validate(path.rel("specs/validate-schema/valid/" + test.file)); + const api = await SwaggerParser.validate(path.rel("specs/validate-schema/valid/" + test.file)); expect(api).to.be.an("object"); - } - catch (err) { + } catch (err) { throw new Error("Validation should have succeeded, but it failed!\n" + err.stack); } }); - } - else { + } else { it(test.name, async () => { try { await SwaggerParser.validate(path.rel("specs/validate-schema/invalid/" + test.file)); throw new Error("Validation should have failed, but it succeeded!"); - } - catch (err) { + } catch (err) { expect(err).to.be.an.instanceOf(SyntaxError); expect(err.message).to.match(/^Swagger schema validation failed.\n(.*)+/); expect(err.details).to.be.an("array").with.length.above(0); // Make sure the Ajv error details object is valid let details = err.details[0]; - expect(details.instancePath).to.be.a("string").and.match(/[a-zA-Z\/~01]+/); // /paths/~1users/get/responses - expect(details.schemaPath).to.be.a("string").and.match(/^#\/[a-zA-Z\\/]+/); // #/properties/parameters/items/oneOf + expect(details.instancePath) + .to.be.a("string") + .and.match(/[a-zA-Z\/~01]+/); // /paths/~1users/get/responses + expect(details.schemaPath) + .to.be.a("string") + .and.match(/^#\/[a-zA-Z\\/]+/); // #/properties/parameters/items/oneOf expect(details.keyword).to.be.a("string").and.match(/\w+/); // oneOf expect(details.params).to.be.a("object"); // { passingSchemas: null } expect(details.message).to.be.a("string").with.length.of.at.least(1); // must match exactly one schema in oneOf diff --git a/test/specs/validate-spec/validate-spec.spec.js b/test/specs/validate-spec/validate-spec.spec.js index c2f479f2..17f7771c 100644 --- a/test/specs/validate-spec/validate-spec.spec.js +++ b/test/specs/validate-spec/validate-spec.spec.js @@ -10,141 +10,151 @@ describe("Invalid APIs (Swagger 2.0 specification validation)", () => { name: "invalid response code", valid: false, file: "invalid-response-code.yaml", - error: "Validation failed. /paths/users/get/responses/888 has an invalid response code (888)" + error: "Validation failed. /paths/users/get/responses/888 has an invalid response code (888)", }, { name: "duplicate path parameters", valid: false, file: "duplicate-path-params.yaml", - error: 'Validation failed. /paths/users/{username} has duplicate parameters \nValidation failed. Found multiple header parameters named \"foo\"' + error: + 'Validation failed. /paths/users/{username} has duplicate parameters \nValidation failed. Found multiple header parameters named "foo"', }, { name: "duplicate operation parameters", valid: false, file: "duplicate-operation-params.yaml", - error: 'Validation failed. /paths/users/{username}/get has duplicate parameters \nValidation failed. Found multiple path parameters named \"username\"' + error: + 'Validation failed. /paths/users/{username}/get has duplicate parameters \nValidation failed. Found multiple path parameters named "username"', }, { name: "multiple body parameters in path", valid: false, file: "multiple-path-body-params.yaml", - error: "Validation failed. /paths/users/{username}/get has 2 body parameters. Only one is allowed." + error: "Validation failed. /paths/users/{username}/get has 2 body parameters. Only one is allowed.", }, { name: "multiple body parameters in operation", valid: false, file: "multiple-operation-body-params.yaml", - error: "Validation failed. /paths/users/{username}/patch has 2 body parameters. Only one is allowed." + error: "Validation failed. /paths/users/{username}/patch has 2 body parameters. Only one is allowed.", }, { name: "multiple body parameters in path & operation", valid: false, file: "multiple-body-params.yaml", - error: "Validation failed. /paths/users/{username}/post has 2 body parameters. Only one is allowed." + error: "Validation failed. /paths/users/{username}/post has 2 body parameters. Only one is allowed.", }, { name: "body and formData parameters", valid: false, file: "body-and-form-params.yaml", - error: "Validation failed. /paths/users/{username}/post has body parameters and formData parameters. Only one or the other is allowed." + error: + "Validation failed. /paths/users/{username}/post has body parameters and formData parameters. Only one or the other is allowed.", }, { name: "path param with no placeholder", valid: false, file: "path-param-no-placeholder.yaml", - error: 'Validation failed. /paths/users/{username}/post has a path parameter named \"foo\", but there is no corresponding {foo} in the path string' + error: + 'Validation failed. /paths/users/{username}/post has a path parameter named "foo", but there is no corresponding {foo} in the path string', }, { name: "path placeholder with no param", valid: false, file: "path-placeholder-no-param.yaml", - error: "Validation failed. /paths/users/{username}/{foo}/get is missing path parameter(s) for {foo}" + error: "Validation failed. /paths/users/{username}/{foo}/get is missing path parameter(s) for {foo}", }, { name: "duplicate path placeholders", valid: false, file: "duplicate-path-placeholders.yaml", - error: "Validation failed. /paths/users/{username}/profile/{username}/image/{img_id}/get has multiple path placeholders named {username}" + error: + "Validation failed. /paths/users/{username}/profile/{username}/image/{img_id}/get has multiple path placeholders named {username}", }, { name: "no path parameters", valid: false, file: "no-path-params.yaml", - error: "Validation failed. /paths/users/{username}/{foo}/get is missing path parameter(s) for {username},{foo}" + error: "Validation failed. /paths/users/{username}/{foo}/get is missing path parameter(s) for {username},{foo}", }, { name: "array param without items", valid: false, file: "array-no-items.yaml", - error: 'Validation failed. /paths/users/get/parameters/tags is an array, so it must include an \"items\" schema' + error: 'Validation failed. /paths/users/get/parameters/tags is an array, so it must include an "items" schema', }, { name: "array body param without items", valid: false, file: "array-body-no-items.yaml", - error: 'Validation failed. /paths/users/post/parameters/people is an array, so it must include an \"items\" schema' + error: 'Validation failed. /paths/users/post/parameters/people is an array, so it must include an "items" schema', }, { name: "array response header without items", valid: false, file: "array-response-header-no-items.yaml", - error: 'Validation failed. /paths/users/get/responses/default/headers/Last-Modified is an array, so it must include an \"items\" schema' + error: + 'Validation failed. /paths/users/get/responses/default/headers/Last-Modified is an array, so it must include an "items" schema', }, { name: '"file" param without "consumes"', valid: false, file: "file-no-consumes.yaml", - error: "Validation failed. /paths/users/{username}/profile/image/post has a file parameter, so it must consume multipart/form-data or application/x-www-form-urlencoded" + error: + "Validation failed. /paths/users/{username}/profile/image/post has a file parameter, so it must consume multipart/form-data or application/x-www-form-urlencoded", }, { name: '"file" param with invalid "consumes"', valid: false, file: "file-invalid-consumes.yaml", - error: "Validation failed. /paths/users/{username}/profile/image/post has a file parameter, so it must consume multipart/form-data or application/x-www-form-urlencoded" + error: + "Validation failed. /paths/users/{username}/profile/image/post has a file parameter, so it must consume multipart/form-data or application/x-www-form-urlencoded", }, { name: '"file" param with vendor specific form-data "consumes"', valid: true, - file: "file-vendor-specific-consumes-formdata.yaml" + file: "file-vendor-specific-consumes-formdata.yaml", }, { name: '"file" param with vendor specific urlencoded "consumes"', valid: true, - file: "file-vendor-specific-consumes-urlencoded.yaml" + file: "file-vendor-specific-consumes-urlencoded.yaml", }, { name: "required property in input does not exist", valid: false, file: "required-property-not-defined-input.yaml", - error: "Validation failed. Property 'notExists' listed as required but does not exist in '/paths/pets/post/parameters/pet'" + error: + "Validation failed. Property 'notExists' listed as required but does not exist in '/paths/pets/post/parameters/pet'", }, { name: "required property in definition does not exist", valid: false, file: "required-property-not-defined-definitions.yaml", - error: "Validation failed. Property 'photoUrls' listed as required but does not exist in '/definitions/Pet'" + error: "Validation failed. Property 'photoUrls' listed as required but does not exist in '/definitions/Pet'", }, { name: "schema declares required properties which are inherited (allOf)", valid: true, - file: "inherited-required-properties.yaml" + file: "inherited-required-properties.yaml", }, { name: "duplicate operation IDs", valid: false, file: "duplicate-operation-ids.yaml", - error: "Validation failed. Duplicate operation id 'users'" + error: "Validation failed. Duplicate operation id 'users'", }, { name: "array response body without items", valid: false, file: "array-response-body-no-items.yaml", - error: 'Validation failed. /paths/users/get/responses/200/schema is an array, so it must include an \"items\" schema' + error: + 'Validation failed. /paths/users/get/responses/200/schema is an array, so it must include an "items" schema', }, { name: "only validate required properties on objects", valid: true, - file: "only-validate-required-properties-on-objects.yaml" + file: "only-validate-required-properties-on-objects.yaml", }, ]; @@ -152,8 +162,9 @@ describe("Invalid APIs (Swagger 2.0 specification validation)", () => { let invalid = tests[0]; expect(invalid.valid).to.equal(false); - const api = await SwaggerParser - .validate(path.rel("specs/validate-spec/invalid/" + invalid.file), { validate: { spec: false }}); + const api = await SwaggerParser.validate(path.rel("specs/validate-spec/invalid/" + invalid.file), { + validate: { spec: false }, + }); expect(api).to.be.an("object"); }); @@ -161,22 +172,18 @@ describe("Invalid APIs (Swagger 2.0 specification validation)", () => { if (test.valid) { it(test.name, async () => { try { - const api = await SwaggerParser - .validate(path.rel("specs/validate-spec/valid/" + test.file)); + const api = await SwaggerParser.validate(path.rel("specs/validate-spec/valid/" + test.file)); expect(api).to.be.an("object"); - } - catch (err) { + } catch (err) { throw new Error("Validation should have succeeded, but it failed!\n" + err.stack); } }); - } - else { + } else { it(test.name, async () => { try { await SwaggerParser.validate(path.rel("specs/validate-spec/invalid/" + test.file)); throw new Error("Validation should have failed, but it succeeded!"); - } - catch (err) { + } catch (err) { expect(err).to.be.an.instanceOf(SyntaxError); expect(err.message).to.equal(test.error); expect(err.message).to.match(/^Validation failed. \S+/); diff --git a/test/utils/helper.js b/test/utils/helper.js index 0c58d021..8c2da571 100644 --- a/test/utils/helper.js +++ b/test/utils/helper.js @@ -5,11 +5,11 @@ const { host } = require("@jsdevtools/host-environment"); const { expect } = require("chai"); const path = require("./path"); -const helper = module.exports = { +const helper = (module.exports = { /** * Throws an error if called. */ - shouldNotGetCalled () { + shouldNotGetCalled() { throw new Error("This function should not have gotten called."); }, @@ -22,10 +22,12 @@ const helper = module.exports = { * @param {...*} [params] - Additional file paths and resolved values * @returns {Function} */ - testResolve (filePath, resolvedValue, params) { // eslint-disable-line no-unused-vars + testResolve(filePath, resolvedValue, params) { + // eslint-disable-line no-unused-vars let schemaFile = path.rel(arguments[0]); let parsedAPI = arguments[1]; - let expectedFiles = [], expectedValues = []; + let expectedFiles = [], + expectedValues = []; for (let i = 0; i < arguments.length; i++) { expectedFiles.push(path.abs(arguments[i])); expectedValues.push(arguments[++i]); @@ -43,8 +45,7 @@ const helper = module.exports = { if (host.node) { expect($refs.paths(["file"])).to.have.same.members(expectedFiles); expect($refs.paths("http")).to.be.an("array").with.lengthOf(0); - } - else { + } else { expect($refs.paths(["http", "https"])).to.have.same.members(expectedFiles); expect($refs.paths("fs")).to.be.an("array").with.lengthOf(0); } @@ -63,7 +64,7 @@ const helper = module.exports = { /** * Converts Buffer objects to POJOs, so they can be compared using Chai */ - convertNodeBuffersToPOJOs (value) { + convertNodeBuffersToPOJOs(value) { if (value && (value._isBuffer || (value.constructor && value.constructor.name === "Buffer"))) { // Convert Buffers to POJOs for comparison value = value.toJSON(); @@ -79,7 +80,7 @@ const helper = module.exports = { /** * Creates a deep clone of the given value. */ - cloneDeep (value) { + cloneDeep(value) { let clone = value; if (value && typeof value === "object") { clone = value instanceof Array ? [] : {}; @@ -90,4 +91,4 @@ const helper = module.exports = { } return clone; }, -}; +}); diff --git a/test/utils/path.js b/test/utils/path.js index 7e5defa2..8ad98258 100644 --- a/test/utils/path.js +++ b/test/utils/path.js @@ -4,15 +4,14 @@ const { host } = require("@jsdevtools/host-environment"); if (host.node) { module.exports = filesystemPathHelpers(); -} -else { +} else { module.exports = urlPathHelpers(); } /** * Helper functions for getting local filesystem paths in various formats */ -function filesystemPathHelpers () { +function filesystemPathHelpers() { let nodePath = host.node ? require("path") : null; let nodeUrl = host.node ? require("url") : null; let testsDir = nodePath.resolve(__dirname, ".."); @@ -25,14 +24,14 @@ function filesystemPathHelpers () { /** * Returns the relative path of a file in the "test" directory */ - rel (file) { + rel(file) { return nodePath.normalize(file); }, /** * Returns the absolute path of a file in the "test" directory */ - abs (file) { + abs(file) { file = nodePath.join(testsDir, file || nodePath.sep); return file; }, @@ -41,17 +40,17 @@ function filesystemPathHelpers () { * Returns the path of a file in the "test" directory as a URL. * (e.g. "file://path/to/json-schema-ref-parser/test/files...") */ - url (file) { + url(file) { let pathname = path.abs(file); if (isWindows) { - pathname = pathname.replace(/\\/g, "/"); // Convert Windows separators to URL separators + pathname = pathname.replace(/\\/g, "/"); // Convert Windows separators to URL separators } let url = nodeUrl.format({ protocol: "file:", slashes: true, - pathname + pathname, }); return url; @@ -60,9 +59,9 @@ function filesystemPathHelpers () { /** * Returns the absolute path of the current working directory. */ - cwd () { + cwd() { return nodePath.join(process.cwd(), nodePath.sep); - } + }, }; return path; @@ -71,7 +70,7 @@ function filesystemPathHelpers () { /** * Helper functions for getting URLs in various formats */ -function urlPathHelpers () { +function urlPathHelpers() { // Get the URL of the "test" directory let filename = document.querySelector('script[src*="/fixtures/"]').src; let testsDir = filename.substr(0, filename.indexOf("/fixtures/")) + "/"; @@ -79,7 +78,7 @@ function urlPathHelpers () { /** * URI-encodes the given file name */ - function encodePath (file) { + function encodePath(file) { return encodeURIComponent(file).split("%2F").join("/"); } @@ -89,7 +88,7 @@ function urlPathHelpers () { * * NOTE: When running in Karma the absolute path is returned instead */ - rel (file) { + rel(file) { // Encode special characters in paths file = encodePath(file); @@ -97,8 +96,7 @@ function urlPathHelpers () { // We're running from the "/test/index.html" page, directly in a browser. // So return the relative path from the "test" directory. return file; - } - else { + } else { // We're running in Karma, so return an absolute path, // since we don't know the relative path of the "test" directory. return testsDir.replace(/^https?:\/\/[^\/]+(\/.*)/, "$1" + file); @@ -108,7 +106,7 @@ function urlPathHelpers () { /** * Returns the absolute path of a file in the "test" directory */ - abs (file) { + abs(file) { return testsDir + encodePath(file); }, @@ -116,16 +114,16 @@ function urlPathHelpers () { * Returns the path of a file in the "test" directory as an absolute URL. * (e.g. "http://localhost/test/files/...") */ - url (file) { + url(file) { return path.abs(file); }, /** * Returns the path of the current page. */ - cwd () { + cwd() { return location.href; - } + }, }; return path; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..c030ddf1 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "module": "commonjs", + "outDir": "dist", + "target": "ES2020", + "allowJs": true, + "allowSyntheticDefaultImports": true, + "baseUrl": "src", + "declaration": true, + "esModuleInterop": true, + "inlineSourceMap": false, + "lib": ["esnext", "dom"], + "listEmittedFiles": false, + "listFiles": false, + "noFallthroughCasesInSwitch": true, + "pretty": true, + "resolveJsonModule": true, + "rootDir": ".", + "skipLibCheck": true, + "strict": true + }, + "compileOnSave": false, + "exclude": ["node_modules", "dist"], + "include": ["lib/**/*", "vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 00000000..5461dfdc --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,17 @@ +import { defineConfig } from "vitest/config"; + +const isBrowser = process.env.BROWSER === "true"; +export default defineConfig({ + test: { + environment: isBrowser ? "jsdom" : "node", + dir: "test", + exclude: ["**/__IGNORED__/**"], + watch: false, + globalSetup: isBrowser ? ["./test/fixtures/server.ts"] : undefined, + testTimeout: 5000, + globals: true, + passWithNoTests: true, + reporters: ["verbose"], + coverage: { reporter: ["lcov", "html", "text"] }, + }, +}); diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..9af8d60c --- /dev/null +++ b/yarn.lock @@ -0,0 +1,16506 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: 10c0/53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.2.0, @ampproject/remapping@npm:^2.2.1": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@apidevtools/json-schema-ref-parser@npm:^11.4.1": + version: 11.4.1 + resolution: "@apidevtools/json-schema-ref-parser@npm:11.4.1" + dependencies: + "@jsdevtools/ono": "npm:^7.1.3" + "@types/json-schema": "npm:^7.0.15" + js-yaml: "npm:^4.1.0" + checksum: 10c0/c34765aab240389f2917ddee3ff538ffedc6a283a7cee2a14255ca0e1e49847a9465f3b28b2ac640fcdb54482c14dd440c5c329dbb59a60a35f50f879f5c9116 + languageName: node + linkType: hard + +"@apidevtools/openapi-schemas@npm:^2.1.0": + version: 2.1.0 + resolution: "@apidevtools/openapi-schemas@npm:2.1.0" + checksum: 10c0/f4aa0f9df32e474d166c84ef91bceb18fa1c4f44b5593879529154ef340846811ea57dc2921560f157f692262827d28d988dd6e19fb21f00320e9961964176b4 + languageName: node + linkType: hard + +"@apidevtools/swagger-methods@npm:^3.0.2": + version: 3.0.2 + resolution: "@apidevtools/swagger-methods@npm:3.0.2" + checksum: 10c0/8c390e8e50c0be7787ba0ba4c3758488bde7c66c2d995209b4b48c1f8bc988faf393cbb24a4bd1cd2d42ce5167c26538e8adea5c85eb922761b927e4dab9fa1c + languageName: node + linkType: hard + +"@apidevtools/swagger-parser@workspace:.": + version: 0.0.0-use.local + resolution: "@apidevtools/swagger-parser@workspace:." + dependencies: + "@apidevtools/json-schema-ref-parser": "npm:^11.4.1" + "@apidevtools/openapi-schemas": "npm:^2.1.0" + "@apidevtools/swagger-methods": "npm:^3.0.2" + "@babel/polyfill": "npm:^7.12" + "@jsdevtools/eslint-config": "npm:^1.1.4" + "@jsdevtools/host-environment": "npm:^2.1.2" + "@jsdevtools/karma-config": "npm:^3.2.0" + "@jsdevtools/ono": "npm:^7.1.3" + "@jsdevtools/version-bump-prompt": "npm:^6.1.0" + "@types/eslint": "npm:8.56.5" + "@types/js-yaml": "npm:^4.0.9" + "@types/node": "npm:^18.19.21" + "@typescript-eslint/eslint-plugin": "npm:^7.1.1" + "@typescript-eslint/parser": "npm:^7.1.1" + "@vitest/coverage-v8": "npm:^1.3.1" + ajv: "npm:^8.6.3" + ajv-draft-04: "npm:^1.0.0" + call-me-maybe: "npm:^1.0.1" + chai: "npm:^4.2.0" + cross-env: "npm:^7.0.3" + eslint: "npm:^8.57.0" + eslint-config-prettier: "npm:^9.1.0" + eslint-config-standard: "npm:^17.1.0" + eslint-plugin-import: "npm:^2.29.1" + eslint-plugin-prettier: "npm:^5.1.3" + eslint-plugin-promise: "npm:^6.1.1" + eslint-plugin-unused-imports: "npm:^3.1.0" + js-yaml: "npm:^3.14.1" + jsdom: "npm:^24.0.0" + karma: "npm:^6.3.19" + karma-cli: "npm:^2.0.0" + mocha: "npm:^8.1.3" + node-fetch: "npm:^2.6.7" + node-sass: "npm:^7.0" + npm-check: "npm:^4.1.4" + nyc: "npm:^15.1.0" + openapi-types: "npm:^9.3.0" + prettier: "npm:^3.2.5" + rimraf: "npm:^5.0.5" + shx: "npm:^0.3.2" + simplifyify: "npm:^7.0.7" + sinon: "npm:^11.1.2" + typescript: "npm:^5.3.3" + vitest: "npm:^1.3.1" + peerDependencies: + openapi-types: ">=7" + languageName: unknown + linkType: soft + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" + dependencies: + "@babel/highlight": "npm:^7.23.4" + chalk: "npm:^2.4.2" + checksum: 10c0/a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/compat-data@npm:7.23.5" + checksum: 10c0/081278ed46131a890ad566a59c61600a5f9557bd8ee5e535890c8548192532ea92590742fd74bd9db83d74c669ef8a04a7e1c85cdea27f960233e3b83c3a957c + languageName: node + linkType: hard + +"@babel/core@npm:^7.17.10, @babel/core@npm:^7.7.5": + version: 7.24.0 + resolution: "@babel/core@npm:7.24.0" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.6" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helpers": "npm:^7.24.0" + "@babel/parser": "npm:^7.24.0" + "@babel/template": "npm:^7.24.0" + "@babel/traverse": "npm:^7.24.0" + "@babel/types": "npm:^7.24.0" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/bb37cbf0bdfd676b246af0a3d9a7932d10573f2d45114fdda02a71889e35530ce13d8930177e78b065d6734b8d45a4fbf7c77f223b1d44b4a28cfe5fefee93ed + languageName: node + linkType: hard + +"@babel/generator@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/generator@npm:7.23.6" + dependencies: + "@babel/types": "npm:^7.23.6" + "@jridgewell/gen-mapping": "npm:^0.3.2" + "@jridgewell/trace-mapping": "npm:^0.3.17" + jsesc: "npm:^2.5.1" + checksum: 10c0/53540e905cd10db05d9aee0a5304e36927f455ce66f95d1253bb8a179f286b88fa7062ea0db354c566fe27f8bb96567566084ffd259f8feaae1de5eccc8afbda + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/5a80dc364ddda26b334bbbc0f6426cab647381555ef7d0cd32eb284e35b867c012ce6ce7d52a64672ed71383099c99d32765b3d260626527bb0e3470b0f58e45 + languageName: node + linkType: hard + +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15" + dependencies: + "@babel/types": "npm:^7.22.15" + checksum: 10c0/2535e3824ca6337f65786bbac98e562f71699f25532cecd196f027d7698b4967a96953d64e36567956658ad1a05ccbdc62d1ba79ee751c79f4f1d2d3ecc2e01c + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/helper-compilation-targets@npm:7.23.6" + dependencies: + "@babel/compat-data": "npm:^7.23.5" + "@babel/helper-validator-option": "npm:^7.23.5" + browserslist: "npm:^4.22.2" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/ba38506d11185f48b79abf439462ece271d3eead1673dd8814519c8c903c708523428806f05f2ec5efd0c56e4e278698fac967e5a4b5ee842c32415da54bc6fa + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.22.15": + version: 7.24.0 + resolution: "@babel/helper-create-class-features-plugin@npm:7.24.0" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-member-expression-to-functions": "npm:^7.23.0" + "@babel/helper-optimise-call-expression": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/341548496df202805489422a160bba75b111d994c64d788a397c35f01784632af48bf06023af8aa2fe72c2c254f8c885b4e0f7f3df5ef17a37370f2feaf80328 + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.15, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": + version: 7.22.15 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + regexpu-core: "npm:^5.3.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/8eba4c1b7b94a83e7a82df5c3e504584ff0ba6ab8710a67ecc2c434a7fb841a29c2f5c94d2de51f25446119a1df538fa90b37bd570db22ddd5e7147fe98277c6 + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.5.0": + version: 0.5.0 + resolution: "@babel/helper-define-polyfill-provider@npm:0.5.0" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/2b053b96a0c604a7e0f5c7d13a8a55f4451d938f7af42bd40f62a87df15e6c87a0b1dbd893a0f0bb51077b54dc3ba00a58b166531a5940ad286ab685dd8979ec + languageName: node + linkType: hard + +"@babel/helper-environment-visitor@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-environment-visitor@npm:7.22.20" + checksum: 10c0/e762c2d8f5d423af89bd7ae9abe35bd4836d2eb401af868a63bbb63220c513c783e25ef001019418560b3fdc6d9a6fb67e6c0b650bcdeb3a2ac44b5c3d2bdd94 + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.22.5, @babel/helper-function-name@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-function-name@npm:7.23.0" + dependencies: + "@babel/template": "npm:^7.22.15" + "@babel/types": "npm:^7.23.0" + checksum: 10c0/d771dd1f3222b120518176733c52b7cadac1c256ff49b1889dbbe5e3fed81db855b8cc4e40d949c9d3eae0e795e8229c1c8c24c0e83f27cfa6ee3766696c6428 + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-hoist-variables@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/60a3077f756a1cd9f14eb89f0037f487d81ede2b7cfe652ea6869cd4ec4c782b0fb1de01b8494b9a2d2050e3d154d7d5ad3be24806790acfb8cbe2073bf1e208 + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.22.15, @babel/helper-member-expression-to-functions@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" + dependencies: + "@babel/types": "npm:^7.23.0" + checksum: 10c0/b810daddf093ffd0802f1429052349ed9ea08ef7d0c56da34ffbcdecbdafac86f95bdea2fe30e0e0e629febc7dd41b56cb5eacc10d1a44336d37b755dac31fa4 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-module-imports@npm:7.22.15" + dependencies: + "@babel/types": "npm:^7.22.15" + checksum: 10c0/4e0d7fc36d02c1b8c8b3006dfbfeedf7a367d3334a04934255de5128115ea0bafdeb3e5736a2559917f0653e4e437400d54542da0468e08d3cbc86d3bbfa8f30 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/helper-module-transforms@npm:7.23.3" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/helper-simple-access": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/helper-validator-identifier": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/211e1399d0c4993671e8e5c2b25383f08bee40004ace5404ed4065f0e9258cc85d99c1b82fd456c030ce5cfd4d8f310355b54ef35de9924eabfc3dff1331d946 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-optimise-call-expression@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/31b41a764fc3c585196cf5b776b70cf4705c132e4ce9723f39871f215f2ddbfb2e28a62f9917610f67c8216c1080482b9b05f65dd195dae2a52cef461f2ac7b8 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.24.0 + resolution: "@babel/helper-plugin-utils@npm:7.24.0" + checksum: 10c0/90f41bd1b4dfe7226b1d33a4bb745844c5c63e400f9e4e8bf9103a7ceddd7d425d65333b564d9daba3cebd105985764d51b4bd4c95822b97c2e3ac1201a8a5da + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-wrap-function": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/aa93aa74250b636d477e8d863fbe59d4071f8c2654841b7ac608909e480c1cf3ff7d7af5a4038568829ad09d810bb681668cbe497d9c89ba5c352793dc9edf1e + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-replace-supers@npm:7.22.20" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-member-expression-to-functions": "npm:^7.22.15" + "@babel/helper-optimise-call-expression": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/6b0858811ad46873817c90c805015d63300e003c5a85c147a17d9845fa2558a02047c3cc1f07767af59014b2dd0fa75b503e5bc36e917f360e9b67bb6f1e79f4 + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-simple-access@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/f0cf81a30ba3d09a625fd50e5a9069e575c5b6719234e04ee74247057f8104beca89ed03e9217b6e9b0493434cedc18c5ecca4cea6244990836f1f893e140369 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/ab7fa2aa709ab49bb8cd86515a1e715a3108c4bb9a616965ba76b43dc346dee66d1004ccf4d222b596b6224e43e04cbc5c3a34459501b388451f8c589fbc3691 + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-split-export-declaration@npm:7.22.6" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/helper-string-parser@npm:7.23.4" + checksum: 10c0/f348d5637ad70b6b54b026d6544bd9040f78d24e7ec245a0fc42293968181f6ae9879c22d89744730d246ce8ec53588f716f102addd4df8bbc79b73ea10004ac + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/helper-validator-option@npm:7.23.5" + checksum: 10c0/af45d5c0defb292ba6fd38979e8f13d7da63f9623d8ab9ededc394f67eb45857d2601278d151ae9affb6e03d5d608485806cd45af08b4468a0515cf506510e94 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-wrap-function@npm:7.22.20" + dependencies: + "@babel/helper-function-name": "npm:^7.22.5" + "@babel/template": "npm:^7.22.15" + "@babel/types": "npm:^7.22.19" + checksum: 10c0/97b5f42ff4d305318ff2f99a5f59d3e97feff478333b2d893c4f85456d3c66372070f71d7bf9141f598c8cf2741c49a15918193633c427a88d170d98eb8c46eb + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.24.0": + version: 7.24.0 + resolution: "@babel/helpers@npm:7.24.0" + dependencies: + "@babel/template": "npm:^7.24.0" + "@babel/traverse": "npm:^7.24.0" + "@babel/types": "npm:^7.24.0" + checksum: 10c0/dd27c9f11c1c5244ef312fae37636f2fcc69c541c46508017b846c4cf680af059f1922ce84e3f778f123a70d027ded75c96070ee8e906f3bc52dc26dc43df608 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.22.20" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + checksum: 10c0/fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.23.6, @babel/parser@npm:^7.24.0": + version: 7.24.0 + resolution: "@babel/parser@npm:7.24.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/77593d0b9de9906823c4d653bb6cda1c7593837598516330f655f70cba6224a37def7dbe5b4dad0038482d407d8d209eb8be5f48ca9a13357d769f829c5adb8e + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/356a4e9fc52d7ca761ce6857fc58e2295c2785d22565760e6a5680be86c6e5883ab86e0ba25ef572882c01713d3a31ae6cfa3e3222cdb95e6026671dab1fa415 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/plugin-transform-optional-chaining": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10c0/a8785f099d55ca71ed89815e0f3a636a80c16031f80934cfec17c928d096ee0798964733320c8b145ef36ba429c5e19d5107b06231e0ab6777cfb0f01adfdc23 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.23.7": + version: 7.23.7 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.23.7" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/355746e21ad7f43e4f4daef54cfe2ef461ecd19446b2afedd53c39df1bf9aa2eeeeaabee2279b1321de89a97c9360e4f76e9ba950fee50ff1676c25f6929d625 + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.12.13": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.12.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 + languageName: node + linkType: hard + +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 + languageName: node + linkType: hard + +"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7db8b59f75667bada2293353bb66b9d5651a673b22c72f47da9f5c46e719142481601b745f9822212fd7522f92e26e8576af37116f85dae1b5e5967f80d0faab + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/99b40d33d79205a8e04bb5dea56fd72906ffc317513b20ca7319e7683e18fce8ea2eea5e9171056f92b979dc0ab1e31b2cb5171177a5ba61e05b54fe7850a606 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + languageName: node + linkType: hard + +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f + languageName: node + linkType: hard + +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b128315c058f5728d29b0b78723659b11de88247ea4d0388f0b935cddf60a80c40b9067acf45cbbe055bd796928faef152a09d9e4a0695465aca4394d9f109ca + languageName: node + linkType: hard + +"@babel/plugin-transform-async-generator-functions@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.9" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4ff75f9ce500e1de8c0236fa5122e6475a477d19cb9a4c2ae8651e78e717ebb2e2cecfeca69d420def779deaec78b945843b9ffd15f02ecd7de5072030b4469b + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.23.3" + dependencies: + "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/da3ffd413eef02a8e2cfee3e0bb0d5fc0fcb795c187bc14a5a8e8874cdbdc43bbf00089c587412d7752d97efc5967c3c18ff5398e3017b9a14a06126f017e7e9 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/82c12a11277528184a979163de7189ceb00129f60dd930b0d5313454310bf71205f302fb2bf0430247161c8a22aaa9fb9eec1459f9f7468206422c191978fd59 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-block-scoping@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/83006804dddf980ab1bcd6d67bc381e24b58c776507c34f990468f820d0da71dba3697355ca4856532fa2eeb2a1e3e73c780f03760b5507a511cbedb0308e276 + languageName: node + linkType: hard + +"@babel/plugin-transform-class-properties@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-class-properties@npm:7.23.3" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bca30d576f539eef216494b56d610f1a64aa9375de4134bc021d9660f1fa735b1d7cc413029f22abc0b7cb737e3a57935c8ae9d8bd1730921ccb1deebce51bfd + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-class-static-block@npm:7.23.4" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10c0/fdca96640ef29d8641a7f8de106f65f18871b38cc01c0f7b696d2b49c76b77816b30a812c08e759d06dd10b4d9b3af6b5e4ac22a2017a88c4077972224b77ab0 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.23.8": + version: 7.23.8 + resolution: "@babel/plugin-transform-classes@npm:7.23.8" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.20" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/227ac5166501e04d9e7fbd5eda6869b084ffa4af6830ac12544ac6ea14953ca00eb1762b0df9349c0f6c8d2a799385910f558066cd0fb85b9ca437b1131a6043 + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-computed-properties@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/template": "npm:^7.22.15" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3ca8a006f8e652b58c21ecb84df1d01a73f0a96b1d216fd09a890b235dd90cb966b152b603b88f7e850ae238644b1636ce5c30b7c029c0934b43383932372e4a + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-destructuring@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/717e9a62c1b0c93c507f87b4eaf839ec08d3c3147f14d74ae240d8749488d9762a8b3950132be620a069bde70f4b3e4ee9867b226c973fcc40f3cdec975cde71 + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6c89286d1277c2a63802a453c797c87c1203f89e4c25115f7b6620f5fce15d8c8d37af613222f6aa497aa98773577a6ec8752e79e13d59bc5429270677ea010b + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7e2640e4e6adccd5e7b0615b6e9239d7c98363e21c52086ea13759dfa11cf7159b255fc5331c2de435639ea8eb6acefae115ae0d797a3d19d12587652f8052a5 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/19ae4a4a2ca86d35224734c41c48b2aa6a13139f3cfa1cbd18c0e65e461de8b65687dec7e52b7a72bb49db04465394c776aa1b13a2af5dc975b2a0cde3dcab67 + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.23.3" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5c33ee6a1bdc52fcdf0807f445b27e3fbdce33008531885e65a699762327565fffbcfde8395be7f21bcb22d582e425eddae45650c986462bb84ba68f43687516 + languageName: node + linkType: hard + +"@babel/plugin-transform-export-namespace-from@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/38bf04f851e36240bbe83ace4169da626524f4107bfb91f05b4ad93a5fb6a36d5b3d30b8883c1ba575ccfc1bac7938e90ca2e3cb227f7b3f4a9424beec6fd4a7 + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/plugin-transform-for-of@npm:7.23.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/46681b6ab10f3ca2d961f50d4096b62ab5d551e1adad84e64be1ee23e72eb2f26a1e30e617e853c74f1349fffe4af68d33921a128543b6f24b6d46c09a3e2aec + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-function-name@npm:7.23.3" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.15" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/89cb9747802118048115cf92a8f310752f02030549b26f008904990cbdc86c3d4a68e07ca3b5c46de8a46ed4df2cb576ac222c74c56de67253d2a3ddc2956083 + languageName: node + linkType: hard + +"@babel/plugin-transform-json-strings@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-json-strings@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/39e82223992a9ad857722ae051291935403852ad24b0dd64c645ca1c10517b6bf9822377d88643fed8b3e61a4e3f7e5ae41cf90eb07c40a786505d47d5970e54 + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8292106b106201464c2bfdd5c014fe6a9ca1c0256eb0a8031deb20081e21906fe68b156186f77d993c23eeab6d8d6f5f66e8895eec7ed97ce6de5dbcafbcd7f4 + languageName: node + linkType: hard + +"@babel/plugin-transform-logical-assignment-operators@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/87b034dd13143904e405887e6125d76c27902563486efc66b7d9a9d8f9406b76c6ac42d7b37224014af5783d7edb465db0cdecd659fa3227baad0b3a6a35deff + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/687f24f3ec60b627fef6e87b9e2770df77f76727b9d5f54fa4c84a495bb24eb4a20f1a6240fa22d339d45aac5eaeb1b39882e941bfd00cf498f9c53478d1ec88 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-amd@npm:7.23.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9f7ec036f7cfc588833a4dd117a44813b64aa4c1fd5bfb6c78f60198c1d290938213090c93a46f97a68a2490fad909e21a82b2472e95da74d108c125df21c8d5 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-simple-access": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5c8840c5c9ecba39367ae17c973ed13dbc43234147b77ae780eec65010e2a9993c5d717721b23e8179f7cf49decdd325c509b241d69cfbf92aa647a1d8d5a37d + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.9" + dependencies: + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-validator-identifier": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1926631fe9d87c0c53427a3420ad49da62d53320d0016b6afab64e5417a672aa5bdff3ea1d24746ffa1e43319c28a80f5d8cef0ad214760d399c293b5850500f + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-umd@npm:7.23.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f0d2f890a15b4367d0d8f160bed7062bdb145c728c24e9bfbc1211c7925aae5df72a88df3832c92dd2011927edfed4da1b1249e4c78402e893509316c0c2caa6 + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.5" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/b0b072bef303670b5a98307bc37d1ac326cb7ad40ea162b89a03c2ffc465451be7ef05be95cb81ed28bfeb29670dc98fe911f793a67bceab18b4cb4c81ef48f3 + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-new-target@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f489b9e1f17b42b2ba6312d58351e757cb23a8409f64f2bb6af4c09d015359588a5d68943b20756f141d0931a94431c782f3ed1225228a930a04b07be0c31b04 + languageName: node + linkType: hard + +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bce490d22da5c87ff27fffaff6ad5a4d4979b8d7b72e30857f191e9c1e1824ba73bb8d7081166289369e388f94f0ce5383a593b1fc84d09464a062c75f824b0b + languageName: node + linkType: hard + +"@babel/plugin-transform-numeric-separator@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e34902da4f5588dc4812c92cb1f6a5e3e3647baf7b4623e30942f551bf1297621abec4e322ebfa50b320c987c0f34d9eb4355b3d289961d9035e2126e3119c12 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-rest-spread@npm:^7.24.0": + version: 7.24.0 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.0" + dependencies: + "@babel/compat-data": "npm:^7.23.5" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-transform-parameters": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/02fe8b99ee6329e68b97b1b1b5410e50c6c20470e73dcd1d287c6ddb5623c654dce82327b2a3f6710ee3b512fe4950e43ab81d0bbc33d771f0cad3bc3cef87c6 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-object-super@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a6856fd8c0afbe5b3318c344d4d201d009f4051e2f6ff6237ff2660593e93c5997a58772b13d639077c3e29ced3440247b29c496cd77b13af1e7559a70009775 + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-catch-binding@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4ef61812af0e4928485e28301226ce61139a8b8cea9e9a919215ebec4891b9fea2eb7a83dc3090e2679b7d7b2c8653da601fbc297d2addc54a908b315173991e + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-chaining@npm:^7.23.3, @babel/plugin-transform-optional-chaining@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/305b773c29ad61255b0e83ec1e92b2f7af6aa58be4cba1e3852bddaa14f7d2afd7b4438f41c28b179d6faac7eb8d4fb5530a17920294f25d459b8f84406bfbfb + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-parameters@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a8d4cbe0f6ba68d158f5b4215c63004fc37a1fdc539036eb388a9792017c8496ea970a1932ccb929308f61e53dc56676ed01d8df6f42bc0a85c7fd5ba82482b7 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-methods@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-private-methods@npm:7.23.3" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/745a655edcd111b7f91882b921671ca0613079760d8c9befe336b8a9bc4ce6bb49c0c08941831c950afb1b225b4b2d3eaac8842e732db095b04db38efd8c34f4 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-property-in-object@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.23.4" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8d31b28f24204b4d13514cd3a8f3033abf575b1a6039759ddd6e1d82dd33ba7281f9bc85c9f38072a665d69bfa26dc40737eefaf9d397b024654a483d2357bf5 + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-property-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b2549f23f90cf276c2e3058c2225c3711c2ad1c417e336d3391199445a9776dd791b83be47b2b9a7ae374b40652d74b822387e31fa5267a37bf49c122e1a9747 + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-regenerator@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + regenerator-transform: "npm:^0.15.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3b0e989ae5db78894ee300b24e07fbcec490c39ab48629c519377581cf94e90308f4ddc10a8914edc9f403e2d3ac7a7ae0ae09003629d852da03e2ba846299c6 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-reserved-words@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4e6d61f6c9757592661cfbd2c39c4f61551557b98cb5f0995ef10f5540f67e18dde8a42b09716d58943b6e4b7ef5c9bcf19902839e7328a4d49149e0fecdbfcd + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c423c66fec0b6503f50561741754c84366ef9e9818442c8881fbaa90cc363fd137084b9431cdc00ed2f1fd8c8a1a5982c4a7e1f2af3769db4caf2ac7ea55d4f0 + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-spread@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a348e4ae47e4ceeceb760506ec7bf835ccc18a2cf70ec74ebfbe41bc172fa2412b05b7d1b86836f8aee375e41a04ff20486074778d0e2d19d668b33dc52e9dbb + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cd15c407906b41e4b924ea151e455c11274dba050771ee7154ad88a1a274140ac5e84efc8d08c4379f2f0cec8a09e4a0a3b2a3a954ba6a67d9fb35df1c714c56 + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-template-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9b5f43788b9ffcb8f2b445a16b1aa40fcf23cb0446a4649445f098ec6b4cb751f243a535da623d59fefe48f4c40552f5621187a61811779076bab26863e3373d + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/50e81d84c6059878be2a0e41e0d790cab10882cfb8fa85e8c2665ccb0b3cd7233f49197f17427bc7c1b36c80e07076640ecf1b641888d78b9cb91bc16478d84a + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-escapes@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f1ed54742dc982666f471df5d087cfda9c6dbf7842bec2d0f7893ed359b142a38c0210358f297ab5c7a3e11ec0dfb0e523de2e2edf48b62f257aaadd5f068866 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-property-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/dca5702d43fac70351623a12e4dfa454fd028a67498888522b644fd1a02534fabd440106897e886ebcc6ce6a39c58094ca29953b6f51bc67372aa8845a5ae49f + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/df824dcca2f6e731f61d69103e87d5dd974d8a04e46e28684a4ba935ae633d876bded09b8db890fd72d0caf7b9638e2672b753671783613cc78d472951e2df8c + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-sets-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/30fe1d29af8395a867d40a63a250ca89072033d9bc7d4587eeebeaf4ad7f776aab83064321bfdb1d09d7e29a1d392852361f4f60a353f0f4d1a3b435dcbf256b + languageName: node + linkType: hard + +"@babel/polyfill@npm:^7.12": + version: 7.12.1 + resolution: "@babel/polyfill@npm:7.12.1" + dependencies: + core-js: "npm:^2.6.5" + regenerator-runtime: "npm:^0.13.4" + checksum: 10c0/f5d233d2958582e8678838c32c42ba780965119ebb3771d9b9735f85efabc7b8b49161e7d908477486e0aaf8508410e957be764c27a6a828714fb9d1b7f80bc3 + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.17.10": + version: 7.24.0 + resolution: "@babel/preset-env@npm:7.24.0" + dependencies: + "@babel/compat-data": "npm:^7.23.5" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-validator-option": "npm:^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.23.7" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + "@babel/plugin-syntax-import-assertions": "npm:^7.23.3" + "@babel/plugin-syntax-import-attributes": "npm:^7.23.3" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.23.3" + "@babel/plugin-transform-async-generator-functions": "npm:^7.23.9" + "@babel/plugin-transform-async-to-generator": "npm:^7.23.3" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.23.3" + "@babel/plugin-transform-block-scoping": "npm:^7.23.4" + "@babel/plugin-transform-class-properties": "npm:^7.23.3" + "@babel/plugin-transform-class-static-block": "npm:^7.23.4" + "@babel/plugin-transform-classes": "npm:^7.23.8" + "@babel/plugin-transform-computed-properties": "npm:^7.23.3" + "@babel/plugin-transform-destructuring": "npm:^7.23.3" + "@babel/plugin-transform-dotall-regex": "npm:^7.23.3" + "@babel/plugin-transform-duplicate-keys": "npm:^7.23.3" + "@babel/plugin-transform-dynamic-import": "npm:^7.23.4" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.23.3" + "@babel/plugin-transform-export-namespace-from": "npm:^7.23.4" + "@babel/plugin-transform-for-of": "npm:^7.23.6" + "@babel/plugin-transform-function-name": "npm:^7.23.3" + "@babel/plugin-transform-json-strings": "npm:^7.23.4" + "@babel/plugin-transform-literals": "npm:^7.23.3" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.23.4" + "@babel/plugin-transform-member-expression-literals": "npm:^7.23.3" + "@babel/plugin-transform-modules-amd": "npm:^7.23.3" + "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" + "@babel/plugin-transform-modules-systemjs": "npm:^7.23.9" + "@babel/plugin-transform-modules-umd": "npm:^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5" + "@babel/plugin-transform-new-target": "npm:^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.23.4" + "@babel/plugin-transform-numeric-separator": "npm:^7.23.4" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.0" + "@babel/plugin-transform-object-super": "npm:^7.23.3" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.23.4" + "@babel/plugin-transform-optional-chaining": "npm:^7.23.4" + "@babel/plugin-transform-parameters": "npm:^7.23.3" + "@babel/plugin-transform-private-methods": "npm:^7.23.3" + "@babel/plugin-transform-private-property-in-object": "npm:^7.23.4" + "@babel/plugin-transform-property-literals": "npm:^7.23.3" + "@babel/plugin-transform-regenerator": "npm:^7.23.3" + "@babel/plugin-transform-reserved-words": "npm:^7.23.3" + "@babel/plugin-transform-shorthand-properties": "npm:^7.23.3" + "@babel/plugin-transform-spread": "npm:^7.23.3" + "@babel/plugin-transform-sticky-regex": "npm:^7.23.3" + "@babel/plugin-transform-template-literals": "npm:^7.23.3" + "@babel/plugin-transform-typeof-symbol": "npm:^7.23.3" + "@babel/plugin-transform-unicode-escapes": "npm:^7.23.3" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.23.3" + "@babel/plugin-transform-unicode-regex": "npm:^7.23.3" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.23.3" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.8" + babel-plugin-polyfill-corejs3: "npm:^0.9.0" + babel-plugin-polyfill-regenerator: "npm:^0.5.5" + core-js-compat: "npm:^3.31.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cb5098bb860aede8418f204d7a693108d7c318edbb227f9842ac6aa71f2154ea1737846994af9bcd0c0b716cd73904f69f09bef635a9679465ec3558144beb4f + languageName: node + linkType: hard + +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 + languageName: node + linkType: hard + +"@babel/regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "@babel/regjsgen@npm:0.8.0" + checksum: 10c0/4f3ddd8c7c96d447e05c8304c1d5ba3a83fcabd8a716bc1091c2f31595cdd43a3a055fff7cb5d3042b8cb7d402d78820fcb4e05d896c605a7d8bcf30f2424c4a + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.8.4": + version: 7.24.0 + resolution: "@babel/runtime@npm:7.24.0" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/3495eed727bf4a4f84c35bb51ab53317ae38f4bbc3b1d0a8303751f9dfa0ce6f5fb2afced72b76c3dd0d8bb2ccb84787559a4dee9886291a36b26f02f0f759b4 + languageName: node + linkType: hard + +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.24.0": + version: 7.24.0 + resolution: "@babel/template@npm:7.24.0" + dependencies: + "@babel/code-frame": "npm:^7.23.5" + "@babel/parser": "npm:^7.24.0" + "@babel/types": "npm:^7.24.0" + checksum: 10c0/9d3dd8d22fe1c36bc3bdef6118af1f4b030aaf6d7d2619f5da203efa818a2185d717523486c111de8d99a8649ddf4bbf6b2a7a64962d8411cf6a8fa89f010e54 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.24.0": + version: 7.24.0 + resolution: "@babel/traverse@npm:7.24.0" + dependencies: + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.6" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/parser": "npm:^7.24.0" + "@babel/types": "npm:^7.24.0" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/55ffd2b0ce0fbd0a09051edc4def4fb1e96f35e0b100c0dc2a7429df569971ae312c290e980e423471f350961705698a257c7eea8c8304918024cc26f02468ba + languageName: node + linkType: hard + +"@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.24.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.24.0 + resolution: "@babel/types@npm:7.24.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.23.4" + "@babel/helper-validator-identifier": "npm:^7.22.20" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/777a0bb5dbe038ca4c905fdafb1cdb6bdd10fe9d63ce13eca0bd91909363cbad554a53dc1f902004b78c1dcbc742056f877f2c99eeedff647333b1fadf51235d + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 + languageName: node + linkType: hard + +"@colors/colors@npm:1.5.0": + version: 1.5.0 + resolution: "@colors/colors@npm:1.5.0" + checksum: 10c0/eb42729851adca56d19a08e48d5a1e95efd2a32c55ae0323de8119052be0510d4b7a1611f2abcbf28c044a6c11e6b7d38f99fccdad7429300c37a8ea5fb95b44 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/aix-ppc64@npm:0.19.12" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm64@npm:0.19.12" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm@npm:0.19.12" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-x64@npm:0.19.12" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-arm64@npm:0.19.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-x64@npm:0.19.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-arm64@npm:0.19.12" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-x64@npm:0.19.12" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm64@npm:0.19.12" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm@npm:0.19.12" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ia32@npm:0.19.12" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-loong64@npm:0.19.12" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-mips64el@npm:0.19.12" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ppc64@npm:0.19.12" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-riscv64@npm:0.19.12" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-s390x@npm:0.19.12" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-x64@npm:0.19.12" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/netbsd-x64@npm:0.19.12" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/openbsd-x64@npm:0.19.12" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/sunos-x64@npm:0.19.12" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-arm64@npm:0.19.12" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-ia32@npm:0.19.12" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-x64@npm:0.19.12" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" + dependencies: + eslint-visitor-keys: "npm:^3.3.0" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": + version: 4.10.0 + resolution: "@eslint-community/regexpp@npm:4.10.0" + checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^9.6.0" + globals: "npm:^13.19.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + languageName: node + linkType: hard + +"@eslint/js@npm:8.57.0": + version: 8.57.0 + resolution: "@eslint/js@npm:8.57.0" + checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.0.1": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 10c0/0b3c9958d3cd17f4add3574975e3115ae05dc7f1298a60810414b16f6f558c137b5fb3cd3905df380bacfd955ec13f67c1e6710cbb5c246a7e8d65a8289b2bff + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.11.14": + version: 0.11.14 + resolution: "@humanwhocodes/config-array@npm:0.11.14" + dependencies: + "@humanwhocodes/object-schema": "npm:^2.0.2" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^2.0.2": + version: 2.0.2 + resolution: "@humanwhocodes/object-schema@npm:2.0.2" + checksum: 10c0/6fd83dc320231d71c4541d0244051df61f301817e9f9da9fd4cb7e44ec8aacbde5958c1665b0c419401ab935114fdf532a6ad5d4e7294b1af2f347dd91a6983f + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.1.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + dependencies: + camelcase: "npm:^5.3.1" + find-up: "npm:^4.1.0" + get-package-type: "npm:^0.1.0" + js-yaml: "npm:^3.13.1" + resolve-from: "npm:^5.0.0" + checksum: 10c0/dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.24": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + languageName: node + linkType: hard + +"@jsdevtools/coverage-istanbul-loader@npm:^3.0.5": + version: 3.0.5 + resolution: "@jsdevtools/coverage-istanbul-loader@npm:3.0.5" + dependencies: + convert-source-map: "npm:^1.7.0" + istanbul-lib-instrument: "npm:^4.0.3" + loader-utils: "npm:^2.0.0" + merge-source-map: "npm:^1.1.0" + schema-utils: "npm:^2.7.0" + checksum: 10c0/68e885163bada885bcaf7866437072b60d622698228c88919b11c8b9f86fbeae9d8777a32f18638b57b9a745b7343404c55f7e44a0db08218ec7c80c2db0bf9d + languageName: node + linkType: hard + +"@jsdevtools/eslint-config@npm:^1.1.4": + version: 1.1.4 + resolution: "@jsdevtools/eslint-config@npm:1.1.4" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:^3.6.1" + "@typescript-eslint/parser": "npm:^3.6.1" + eslint-plugin-jsdoc: "npm:^30.0.3" + peerDependencies: + eslint: ">=7" + checksum: 10c0/cb295fa6df1d3f135c977b0564c689d0ff2a568bda49e034179c2057f030a09cad6827572ba349032ac89e56314083f13f69435d8f5368551da2cf5a3d6d31a5 + languageName: node + linkType: hard + +"@jsdevtools/ez-spawn@npm:^3.0.4": + version: 3.0.4 + resolution: "@jsdevtools/ez-spawn@npm:3.0.4" + dependencies: + call-me-maybe: "npm:^1.0.1" + cross-spawn: "npm:^7.0.3" + string-argv: "npm:^0.3.1" + type-detect: "npm:^4.0.8" + checksum: 10c0/fb56f99c4d09ccaeace4ebaecfa31ab1ff90517d5ca51dbd624f4b9ab489eee469504ab33a12a2bc8b5f0a35ee61e139cc087b242ad7947c61674454cb41c75e + languageName: node + linkType: hard + +"@jsdevtools/host-environment@npm:^2.0.4, @jsdevtools/host-environment@npm:^2.1.2": + version: 2.1.2 + resolution: "@jsdevtools/host-environment@npm:2.1.2" + dependencies: + "@qawolf/ci-info": "npm:^2.1.0" + checksum: 10c0/6c72d5a8281fbc77354e7e764bc80277526334d154336c791d0d3ed3beddad33096049680b45cd0408c0ee7788f4ea70a3e16b6f920ee453ca05096664803bc7 + languageName: node + linkType: hard + +"@jsdevtools/karma-config@npm:^3.2.0": + version: 3.2.0 + resolution: "@jsdevtools/karma-config@npm:3.2.0" + dependencies: + "@babel/core": "npm:^7.17.10" + "@babel/preset-env": "npm:^7.17.10" + "@jsdevtools/coverage-istanbul-loader": "npm:^3.0.5" + "@jsdevtools/host-environment": "npm:^2.1.2" + "@jsdevtools/karma-host-environment": "npm:^3.0.3" + "@jsdevtools/ono": "npm:^7.1.3" + babel-loader: "npm:^8.2.5" + karma-chrome-launcher: "npm:^3.1.1" + karma-coverage-istanbul-reporter: "npm:^3.0.3" + karma-edge-launcher: "npm:^0.4.2" + karma-firefox-launcher: "npm:^2.1.2" + karma-ie-launcher: "npm:^1.0.0" + karma-mocha: "npm:^2.0.1" + karma-safari-launcher: "npm:^1.0.0" + karma-sauce-launcher: "npm:^4.3.6" + karma-verbose-reporter: "npm:^0.0.8" + karma-webpack: "npm:^4.0.2" + webpack: "npm:^4.43.0" + peerDependencies: + karma: ">=4" + karma-cli: ">=2" + checksum: 10c0/3684f3309f6b6d2e644c75acd9f52a203c216f1a5d487c846f6c6a915cbad9cae9a32d3c07084a91611ba41fca248599a89c61341e5deed771dcb9ba36545130 + languageName: node + linkType: hard + +"@jsdevtools/karma-host-environment@npm:^3.0.3": + version: 3.0.3 + resolution: "@jsdevtools/karma-host-environment@npm:3.0.3" + dependencies: + "@jsdevtools/host-environment": "npm:^2.0.4" + temp: "npm:^0.9.0" + checksum: 10c0/2911126108d464f5a5906159f93b7ad0b27e5d14ab80ca2f7087e2764bc6893116e403da09e2271a2ad9cb0a12e0ae799bdda4e344fe68cd4f98babd41b88a3c + languageName: node + linkType: hard + +"@jsdevtools/ono@npm:^7.1.3": + version: 7.1.3 + resolution: "@jsdevtools/ono@npm:7.1.3" + checksum: 10c0/a9f7e3e8e3bc315a34959934a5e2f874c423cf4eae64377d3fc9de0400ed9f36cb5fd5ebce3300d2e8f4085f557c4a8b591427a583729a87841fda46e6c216b9 + languageName: node + linkType: hard + +"@jsdevtools/version-bump-prompt@npm:^6.1.0": + version: 6.1.0 + resolution: "@jsdevtools/version-bump-prompt@npm:6.1.0" + dependencies: + "@jsdevtools/ez-spawn": "npm:^3.0.4" + command-line-args: "npm:^5.1.1" + detect-indent: "npm:^6.0.0" + detect-newline: "npm:^3.1.0" + globby: "npm:^11.0.1" + inquirer: "npm:^7.3.3" + log-symbols: "npm:^4.0.0" + semver: "npm:^7.3.2" + bin: + bump: bin/bump.js + checksum: 10c0/0ee8cd57fdb82580d15abacf2727e7c7890e9edeaf74070752320aec695519e1f36effcbd3a1d9197c3ee27f89c5e45e9ffd16e994981d40d6d881d945affde5 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^2.0.0": + version: 2.2.1 + resolution: "@npmcli/agent@npm:2.2.1" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.1" + checksum: 10c0/38ee5cbe8f3cde13be916e717bfc54fd1a7605c07af056369ff894e244c221e0b56b08ca5213457477f9bc15bca9e729d51a4788829b5c3cf296b3c996147f76 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^1.0.0": + version: 1.1.1 + resolution: "@npmcli/fs@npm:1.1.1" + dependencies: + "@gar/promisify": "npm:^1.0.1" + semver: "npm:^7.3.5" + checksum: 10c0/4143c317a7542af9054018b71601e3c3392e6704e884561229695f099a71336cbd580df9a9ffb965d0024bf0ed593189ab58900fd1714baef1c9ee59c738c3e2 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0": + version: 3.1.0 + resolution: "@npmcli/fs@npm:3.1.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^1.0.1": + version: 1.1.2 + resolution: "@npmcli/move-file@npm:1.1.2" + dependencies: + mkdirp: "npm:^1.0.4" + rimraf: "npm:^3.0.2" + checksum: 10c0/02e946f3dafcc6743132fe2e0e2b585a96ca7265653a38df5a3e53fcf26c7c7a57fc0f861d7c689a23fdb6d6836c7eea5050c8086abf3c994feb2208d1514ff0 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@pkgr/core@npm:^0.1.0": + version: 0.1.1 + resolution: "@pkgr/core@npm:0.1.1" + checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 + languageName: node + linkType: hard + +"@qawolf/ci-info@npm:^2.1.0": + version: 2.1.0 + resolution: "@qawolf/ci-info@npm:2.1.0" + checksum: 10c0/4fd675ab3f7b3b603ff2b4501a17df11beac8eeadabc875346e652c17aaec7203078dacdcf69b6fc73e9d05138db7c42cab6477173e5c59849486ee8d202b5f3 + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.12.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-android-arm64@npm:4.12.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.12.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.12.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.12.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.12.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.12.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.12.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.12.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.12.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.12.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.12.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.12.1": + version: 4.12.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.12.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^0.7.0": + version: 0.7.0 + resolution: "@sindresorhus/is@npm:0.7.0" + checksum: 10c0/c5b483cfa36556326267d525504dfadced0cc3516c2014bbe1c60377ca8e778cd74de26b24666a818ab41da2660bb80d61f545e93be3471f5d022a9999ed5bb9 + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^4.0.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1.6.0, @sinonjs/commons@npm:^1.7.0, @sinonjs/commons@npm:^1.8.3": + version: 1.8.6 + resolution: "@sinonjs/commons@npm:1.8.6" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/93b4d4e27e93652b83467869c2fe09cbd8f37cd5582327f0e081fbf9b93899e2d267db7b668c96810c63dc229867614ced825e5512b47db96ca6f87cb3ec0f61 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.1 + resolution: "@sinonjs/commons@npm:3.0.1" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^11.2.2": + version: 11.2.2 + resolution: "@sinonjs/fake-timers@npm:11.2.2" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + checksum: 10c0/a4218efa6fdafda622d02d4c0a6ab7df3641cb038bb0b14f0a3ee56f50c95aab4f1ab2d7798ce928b40c6fc1839465a558c9393a77e4dca879e1b2f8d60d8136 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^7.1.2": + version: 7.1.2 + resolution: "@sinonjs/fake-timers@npm:7.1.2" + dependencies: + "@sinonjs/commons": "npm:^1.7.0" + checksum: 10c0/c94de47ff2eceb2a7009c970f932509e81e474b555ea994343aea4c87aed26844ba298a70d585c0769e63fe379ebae6aaad61d37b3bca71f740a8d3d49f1bc27 + languageName: node + linkType: hard + +"@sinonjs/samsam@npm:^6.0.2": + version: 6.1.3 + resolution: "@sinonjs/samsam@npm:6.1.3" + dependencies: + "@sinonjs/commons": "npm:^1.6.0" + lodash.get: "npm:^4.4.2" + type-detect: "npm:^4.0.8" + checksum: 10c0/29ce39fc855be7b96d784a08736f93b4319a424a280ade12b9b3cae7c0087bb4d4fcf19becd29300bd7e04e1c850d1c9521ffe59d267868d950228a007241379 + languageName: node + linkType: hard + +"@sinonjs/text-encoding@npm:^0.7.2": + version: 0.7.2 + resolution: "@sinonjs/text-encoding@npm:0.7.2" + checksum: 10c0/583a45bf3643169e313ff9d4395aff28b0c4f330d3697e252c3effc13d4303ee30f83df542732c1a68617720e4ea6fc08d48a3d9151c9b354a7fc356a8e9b162 + languageName: node + linkType: hard + +"@socket.io/component-emitter@npm:~3.1.0": + version: 3.1.0 + resolution: "@socket.io/component-emitter@npm:3.1.0" + checksum: 10c0/b838ccccf74c36fa7d3ed89a7efb5858cba1a84db4d08250c2fc44d8235140f10d31875bde71517d8503cb3fb08fcd34d3b7a3d0d89058ca3f74f7c816f0fb9c + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^4.0.5": + version: 4.0.6 + resolution: "@szmarczak/http-timer@npm:4.0.6" + dependencies: + defer-to-connect: "npm:^2.0.0" + checksum: 10c0/73946918c025339db68b09abd91fa3001e87fc749c619d2e9c2003a663039d4c3cb89836c98a96598b3d47dec2481284ba85355392644911f5ecd2336536697f + languageName: node + linkType: hard + +"@tootallnate/once@npm:1": + version: 1.1.2 + resolution: "@tootallnate/once@npm:1.1.2" + checksum: 10c0/8fe4d006e90422883a4fa9339dd05a83ff626806262e1710cee5758d493e8cbddf2db81c0e4690636dc840b02c9fda62877866ea774ebd07c1777ed5fafbdec6 + languageName: node + linkType: hard + +"@types/cacheable-request@npm:^6.0.1": + version: 6.0.3 + resolution: "@types/cacheable-request@npm:6.0.3" + dependencies: + "@types/http-cache-semantics": "npm:*" + "@types/keyv": "npm:^3.1.4" + "@types/node": "npm:*" + "@types/responselike": "npm:^1.0.0" + checksum: 10c0/10816a88e4e5b144d43c1d15a81003f86d649776c7f410c9b5e6579d0ad9d4ca71c541962fb403077388b446e41af7ae38d313e46692144985f006ac5e11fa03 + languageName: node + linkType: hard + +"@types/cookie@npm:^0.4.1": + version: 0.4.1 + resolution: "@types/cookie@npm:0.4.1" + checksum: 10c0/f96afe12bd51be1ec61410b0641243d93fa3a494702407c787a4c872b5c8bcd39b224471452055e44a9ce42af1a636e87d161994226eaf4c2be9c30f60418409 + languageName: node + linkType: hard + +"@types/cors@npm:^2.8.12": + version: 2.8.17 + resolution: "@types/cors@npm:2.8.17" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/457364c28c89f3d9ed34800e1de5c6eaaf344d1bb39af122f013322a50bc606eb2aa6f63de4e41a7a08ba7ef454473926c94a830636723da45bf786df032696d + languageName: node + linkType: hard + +"@types/eslint-visitor-keys@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/eslint-visitor-keys@npm:1.0.0" + checksum: 10c0/3d9186b6b5a85442d956fa708a6e46e815671a6a397558fe7e7d25459f61f5b5647b5d63b48f6061df2aca0ae1f800f1b5577179daee91bd15f15037a622d001 + languageName: node + linkType: hard + +"@types/eslint@npm:8.56.5": + version: 8.56.5 + resolution: "@types/eslint@npm:8.56.5" + dependencies: + "@types/estree": "npm:*" + "@types/json-schema": "npm:*" + checksum: 10c0/1d5d70ea107c63adfaf63020f85859c404f90c21ada2a655376b8e76109df354643797e30c7afc3b2de84797d9f5ce9f03f53a5d29a186706a44afd90f76597c + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d + languageName: node + linkType: hard + +"@types/glob@npm:^7.1.1": + version: 7.2.0 + resolution: "@types/glob@npm:7.2.0" + dependencies: + "@types/minimatch": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/a8eb5d5cb5c48fc58c7ca3ff1e1ddf771ee07ca5043da6e4871e6757b4472e2e73b4cfef2644c38983174a4bc728c73f8da02845c28a1212f98cabd293ecae98 + languageName: node + linkType: hard + +"@types/http-cache-semantics@npm:*": + version: 4.0.4 + resolution: "@types/http-cache-semantics@npm:4.0.4" + checksum: 10c0/51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + +"@types/js-yaml@npm:^4.0.9": + version: 4.0.9 + resolution: "@types/js-yaml@npm:4.0.9" + checksum: 10c0/24de857aa8d61526bbfbbaa383aa538283ad17363fcd5bb5148e2c7f604547db36646440e739d78241ed008702a8920665d1add5618687b6743858fae00da211 + languageName: node + linkType: hard + +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.3, @types/json-schema@npm:^7.0.5": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac + languageName: node + linkType: hard + +"@types/keyv@npm:^3.1.1, @types/keyv@npm:^3.1.4": + version: 3.1.4 + resolution: "@types/keyv@npm:3.1.4" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/ff8f54fc49621210291f815fe5b15d809fd7d032941b3180743440bd507ecdf08b9e844625fa346af568c84bf34114eb378dcdc3e921a08ba1e2a08d7e3c809c + languageName: node + linkType: hard + +"@types/minimatch@npm:*": + version: 5.1.2 + resolution: "@types/minimatch@npm:5.1.2" + checksum: 10c0/83cf1c11748891b714e129de0585af4c55dd4c2cafb1f1d5233d79246e5e1e19d1b5ad9e8db449667b3ffa2b6c80125c429dbee1054e9efb45758dbc4e118562 + languageName: node + linkType: hard + +"@types/minimist@npm:^1.2.0": + version: 1.2.5 + resolution: "@types/minimist@npm:1.2.5" + checksum: 10c0/3f791258d8e99a1d7d0ca2bda1ca6ea5a94e5e7b8fc6cde84dd79b0552da6fb68ade750f0e17718f6587783c24254bbca0357648dd59dc3812c150305cabdc46 + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:>=10.0.0": + version: 20.11.24 + resolution: "@types/node@npm:20.11.24" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/5a62225eb4797b41e6953f9c08c4611d607b5422ddd153312fc81ed6ed37115228ae27e3e3caa1a3bf52d88310306a196ba1cfbd8b2ec918a20f64d80dfa22c9 + languageName: node + linkType: hard + +"@types/node@npm:^18.19.21": + version: 18.19.21 + resolution: "@types/node@npm:18.19.21" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/3175d482d2fb15cfda4697c74a61dffe180a4f030c9cc7add39bac89a8200662289431ea9317159bc29e53f340e0ce3fa91c732c81d4e7d3d755e58d0d1b3a3e + languageName: node + linkType: hard + +"@types/normalize-package-data@npm:^2.4.0": + version: 2.4.4 + resolution: "@types/normalize-package-data@npm:2.4.4" + checksum: 10c0/aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 + languageName: node + linkType: hard + +"@types/puppeteer-core@npm:^5.4.0": + version: 5.4.0 + resolution: "@types/puppeteer-core@npm:5.4.0" + dependencies: + "@types/puppeteer": "npm:*" + checksum: 10c0/e7480c2551a260aa115ebe7ab8916d4f3935a23301b12d7c162b98801b264f29d8c88723fc30da7ed95f40f0907ae9428effdd6204b4522b7b1183c9ed92ff35 + languageName: node + linkType: hard + +"@types/puppeteer@npm:*": + version: 5.4.7 + resolution: "@types/puppeteer@npm:5.4.7" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/f15bccf30526151c6e42c797b844f24eb7489f0180b391857c8d6902dfa96c7f48730540229a681505ca70e9197cdac0dfbeaca0c2537526358ad5656bef703d + languageName: node + linkType: hard + +"@types/responselike@npm:^1.0.0": + version: 1.0.3 + resolution: "@types/responselike@npm:1.0.3" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/a58ba341cb9e7d74f71810a88862da7b2a6fa42e2a1fc0ce40498f6ea1d44382f0640117057da779f74c47039f7166bf48fad02dc876f94e005c7afa50f5e129 + languageName: node + linkType: hard + +"@types/semver@npm:^7.5.0": + version: 7.5.8 + resolution: "@types/semver@npm:7.5.8" + checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa + languageName: node + linkType: hard + +"@types/which@npm:^1.3.2": + version: 1.3.2 + resolution: "@types/which@npm:1.3.2" + checksum: 10c0/4d1f5f2d9fd8b86aa3a9283d4ccd5ea0752b0a5be9c57a9bd4e0862bf76c599dc664c6bdeb9534f1059515da1b052c0b8d24ecfbd70977cd4386f903234b3729 + languageName: node + linkType: hard + +"@types/yauzl@npm:^2.9.1": + version: 2.10.3 + resolution: "@types/yauzl@npm:2.10.3" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/f1b7c1b99fef9f2fe7f1985ef7426d0cebe48cd031f1780fcdc7451eec7e31ac97028f16f50121a59bcf53086a1fc8c856fd5b7d3e00970e43d92ae27d6b43dc + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^3.6.1": + version: 3.10.1 + resolution: "@typescript-eslint/eslint-plugin@npm:3.10.1" + dependencies: + "@typescript-eslint/experimental-utils": "npm:3.10.1" + debug: "npm:^4.1.1" + functional-red-black-tree: "npm:^1.0.1" + regexpp: "npm:^3.0.0" + semver: "npm:^7.3.2" + tsutils: "npm:^3.17.1" + peerDependencies: + "@typescript-eslint/parser": ^3.0.0 + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/47b9e8790590c11d3068e951368afe40fce4d15b2031219422a74fc6c7476670ca23153acaacfb1b8b11dbb2f4a87968d5c8cb1c446c5277ff1a0a542ad83ef7 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/eslint-plugin@npm:7.1.1" + dependencies: + "@eslint-community/regexpp": "npm:^4.5.1" + "@typescript-eslint/scope-manager": "npm:7.1.1" + "@typescript-eslint/type-utils": "npm:7.1.1" + "@typescript-eslint/utils": "npm:7.1.1" + "@typescript-eslint/visitor-keys": "npm:7.1.1" + debug: "npm:^4.3.4" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.4" + natural-compare: "npm:^1.4.0" + semver: "npm:^7.5.4" + ts-api-utils: "npm:^1.0.1" + peerDependencies: + "@typescript-eslint/parser": ^7.0.0 + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/041799604176bbee01f6ff029c5e2fcf1196db2737ba219a20b095f095dc0064ea425d15dd6dc22eaef294daa838209601ec7bc19317258dfa89a13afb8126ba + languageName: node + linkType: hard + +"@typescript-eslint/experimental-utils@npm:3.10.1": + version: 3.10.1 + resolution: "@typescript-eslint/experimental-utils@npm:3.10.1" + dependencies: + "@types/json-schema": "npm:^7.0.3" + "@typescript-eslint/types": "npm:3.10.1" + "@typescript-eslint/typescript-estree": "npm:3.10.1" + eslint-scope: "npm:^5.0.0" + eslint-utils: "npm:^2.0.0" + peerDependencies: + eslint: "*" + checksum: 10c0/688ec095b8a88b3d8b9275e9d497528f5a24d648bbc2afb9772ed405d8e3bfbc48b6d33816aa46ee578d9cf070ea1f7c7529efadf98c851ff250dd40675d177f + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^3.6.1": + version: 3.10.1 + resolution: "@typescript-eslint/parser@npm:3.10.1" + dependencies: + "@types/eslint-visitor-keys": "npm:^1.0.0" + "@typescript-eslint/experimental-utils": "npm:3.10.1" + "@typescript-eslint/types": "npm:3.10.1" + "@typescript-eslint/typescript-estree": "npm:3.10.1" + eslint-visitor-keys: "npm:^1.1.0" + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/1f18b8a817af41b30f174a5667087ab6f32356add737a18e77f5d05fc7c918dc43c831054a002cd20e95f98eda673e70eec349a76481be38142dcb86fb009aa5 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/parser@npm:7.1.1" + dependencies: + "@typescript-eslint/scope-manager": "npm:7.1.1" + "@typescript-eslint/types": "npm:7.1.1" + "@typescript-eslint/typescript-estree": "npm:7.1.1" + "@typescript-eslint/visitor-keys": "npm:7.1.1" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/84eb44f3767aaa1d7b26176348c89bd6732bc711f7f24186b1354eba95bf9e9c65b5675838772b831391210e525ff1f3bd4b51a3130ec35413aa362920effc57 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/scope-manager@npm:7.1.1" + dependencies: + "@typescript-eslint/types": "npm:7.1.1" + "@typescript-eslint/visitor-keys": "npm:7.1.1" + checksum: 10c0/a955c8529f24945d448b95982d06b5f15a74fc5df97307f5821d55e9861d6c26d61cbd118c1ca41634164ed1d4f6c74fcb8388761341c49e6902a6fb72036afc + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/type-utils@npm:7.1.1" + dependencies: + "@typescript-eslint/typescript-estree": "npm:7.1.1" + "@typescript-eslint/utils": "npm:7.1.1" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.0.1" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/6f19dc383718cce42ed7262d134f5f0221bcbf225fea28975cd714c90e57d861608d5187c7ad731f6281813f94b00f22282a99a8a852167366064abc6e256341 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:3.10.1": + version: 3.10.1 + resolution: "@typescript-eslint/types@npm:3.10.1" + checksum: 10c0/b7419c85aca131c8d0522a47fe21a3497f43345930f7a2be1faa57ffbda3587ab278526cf7c515440ace8e30e40a03fe5f73b2133d161ffa47c22821e2b8f568 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/types@npm:7.1.1" + checksum: 10c0/2bef95ec0c60e67fada336db3e82fac2be16c21a9e54fc45c7aeda3291abcceefa12aa970025db88bc2b3e113b1e70abd7f89c2a651c16b816dff1a0c46e7907 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:3.10.1": + version: 3.10.1 + resolution: "@typescript-eslint/typescript-estree@npm:3.10.1" + dependencies: + "@typescript-eslint/types": "npm:3.10.1" + "@typescript-eslint/visitor-keys": "npm:3.10.1" + debug: "npm:^4.1.1" + glob: "npm:^7.1.6" + is-glob: "npm:^4.0.1" + lodash: "npm:^4.17.15" + semver: "npm:^7.3.2" + tsutils: "npm:^3.17.1" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/4d733e2e4e1649fbf136183f72b75c59d434e1a987628d3177cb0555db1a47f77efeb1aba77e3cef3218728cfa1ef618864fa7690e285612f31d6f6d38a478ef + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/typescript-estree@npm:7.1.1" + dependencies: + "@typescript-eslint/types": "npm:7.1.1" + "@typescript-eslint/visitor-keys": "npm:7.1.1" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:9.0.3" + semver: "npm:^7.5.4" + ts-api-utils: "npm:^1.0.1" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/2cec9d21cfe46e523a6d29aff554e5450edf1ee30ce9cf644ee8f1f5e1cfd44b94afb3632db97a949c86c4a392ae80f264d56d8747b2b0fdbe5c54139433366a + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/utils@npm:7.1.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@types/json-schema": "npm:^7.0.12" + "@types/semver": "npm:^7.5.0" + "@typescript-eslint/scope-manager": "npm:7.1.1" + "@typescript-eslint/types": "npm:7.1.1" + "@typescript-eslint/typescript-estree": "npm:7.1.1" + semver: "npm:^7.5.4" + peerDependencies: + eslint: ^8.56.0 + checksum: 10c0/3e70834c5b49e4643ec8da63fa2acaab54283a566af2cedcd4c2f4210833a59bf71c459dde69e738115633c7de9f1339130552ff246e8e1bb4db26910685408b + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:3.10.1": + version: 3.10.1 + resolution: "@typescript-eslint/visitor-keys@npm:3.10.1" + dependencies: + eslint-visitor-keys: "npm:^1.1.0" + checksum: 10c0/74fe6592cc6f0cbfd6351f97d5e84d9d966cb1ab5f53cfe9f6d527c09b1f2ea4dbde8de67c8d59149a0486bdcafeee5c33730dce757311a7be546b1c2e49261b + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:7.1.1": + version: 7.1.1 + resolution: "@typescript-eslint/visitor-keys@npm:7.1.1" + dependencies: + "@typescript-eslint/types": "npm:7.1.1" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/1ab19ec966ff0b86317eddcbfcda645856ec01c3b76a451298031f35e4da0a363e4888ce5ae9e2526e874799a502c49922d83d57d21cb6fef7f3912f51e4a271 + languageName: node + linkType: hard + +"@ungap/promise-all-settled@npm:1.1.2": + version: 1.1.2 + resolution: "@ungap/promise-all-settled@npm:1.1.2" + checksum: 10c0/7f9862bae3b6ce30675783428933be1738dca278901a6bcb55c29b8f54c08863ec8e6a7c884119877d90336501c33b7cfda36355ec7af4d703f65f54cb768913 + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d + languageName: node + linkType: hard + +"@vitest/coverage-v8@npm:^1.3.1": + version: 1.3.1 + resolution: "@vitest/coverage-v8@npm:1.3.1" + dependencies: + "@ampproject/remapping": "npm:^2.2.1" + "@bcoe/v8-coverage": "npm:^0.2.3" + debug: "npm:^4.3.4" + istanbul-lib-coverage: "npm:^3.2.2" + istanbul-lib-report: "npm:^3.0.1" + istanbul-lib-source-maps: "npm:^4.0.1" + istanbul-reports: "npm:^3.1.6" + magic-string: "npm:^0.30.5" + magicast: "npm:^0.3.3" + picocolors: "npm:^1.0.0" + std-env: "npm:^3.5.0" + test-exclude: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.2.0" + peerDependencies: + vitest: 1.3.1 + checksum: 10c0/66b8197840031289faba3034e2a8b2054c6fbe222b28a16e92982b4d9d89361f16e4543d98f42eb7cee5c95fc8b933810b4847d0c81056ff6dd340919c8d4dfe + languageName: node + linkType: hard + +"@vitest/expect@npm:1.3.1": + version: 1.3.1 + resolution: "@vitest/expect@npm:1.3.1" + dependencies: + "@vitest/spy": "npm:1.3.1" + "@vitest/utils": "npm:1.3.1" + chai: "npm:^4.3.10" + checksum: 10c0/ea66a1e912d896a481a27631b68089b885af7e8ed62ba8aaa119c37a9beafe6c094fd672775a20e6e23460af66e294f9ca259e6e0562708d1b7724eaaf53c7bb + languageName: node + linkType: hard + +"@vitest/runner@npm:1.3.1": + version: 1.3.1 + resolution: "@vitest/runner@npm:1.3.1" + dependencies: + "@vitest/utils": "npm:1.3.1" + p-limit: "npm:^5.0.0" + pathe: "npm:^1.1.1" + checksum: 10c0/d732de2368d2bc32cbc27f0bbc5477f6e36088ddfb873c036935a45b1b252ebc529b932cf5cd944eed9b692243acebef828f6d3218583cb8a6817a8270712050 + languageName: node + linkType: hard + +"@vitest/snapshot@npm:1.3.1": + version: 1.3.1 + resolution: "@vitest/snapshot@npm:1.3.1" + dependencies: + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + pretty-format: "npm:^29.7.0" + checksum: 10c0/cad0844270852c6d53c1ca6b7ca279034880d2140837ff245d5bd2376f4356cc924929c58dc69bcf9fad83ba934d4a06000c908971cc24b5d7a9ec2656b72d29 + languageName: node + linkType: hard + +"@vitest/spy@npm:1.3.1": + version: 1.3.1 + resolution: "@vitest/spy@npm:1.3.1" + dependencies: + tinyspy: "npm:^2.2.0" + checksum: 10c0/efc42f679d2a51fc6583ca3136ccd47581cb27c923ed3cb0500f5dee9aac99b681bfdd400c16ef108f2e0761daa642bc190816a6411931a2aba99ebf8b213dd4 + languageName: node + linkType: hard + +"@vitest/utils@npm:1.3.1": + version: 1.3.1 + resolution: "@vitest/utils@npm:1.3.1" + dependencies: + diff-sequences: "npm:^29.6.3" + estree-walker: "npm:^3.0.3" + loupe: "npm:^2.3.7" + pretty-format: "npm:^29.7.0" + checksum: 10c0/d604c8ad3b1aee30d4dcd889098f591407bfe18547ff96485b1d1ed54eff58219c756a9544a7fbd4e37886863abacd7a89a76334cb3ea7f84c3d496bb757db23 + languageName: node + linkType: hard + +"@wdio/config@npm:6.12.1": + version: 6.12.1 + resolution: "@wdio/config@npm:6.12.1" + dependencies: + "@wdio/logger": "npm:6.10.10" + deepmerge: "npm:^4.0.0" + glob: "npm:^7.1.2" + checksum: 10c0/83b6a5f0ee76bcf0793cf8aa1c8609dafe34abac0ee71b2e29419c41a47afaaefa6dbfbc1dcca0398ccbe8c7ea1b7a67eaaf793be9cc2139f403d960e4fca189 + languageName: node + linkType: hard + +"@wdio/logger@npm:6.10.10": + version: 6.10.10 + resolution: "@wdio/logger@npm:6.10.10" + dependencies: + chalk: "npm:^4.0.0" + loglevel: "npm:^1.6.0" + loglevel-plugin-prefix: "npm:^0.8.4" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/598abaa5517eb73ebcf5131092bc91b7cbe6acd69e5629359b89e379ae63a58c22fd04501d1ecd50efa803afbb3e067f22a53ea2d332cfca6d9965d49a30090b + languageName: node + linkType: hard + +"@wdio/protocols@npm:6.12.0": + version: 6.12.0 + resolution: "@wdio/protocols@npm:6.12.0" + checksum: 10c0/7c503956ed494cf13548108f297cc38b8d3128b1c12b96f4a51b224c80a281646293786b4d004c3a8f38211f2d2c9a69ab4f1c9a3da826df244d026893845594 + languageName: node + linkType: hard + +"@wdio/repl@npm:6.11.0": + version: 6.11.0 + resolution: "@wdio/repl@npm:6.11.0" + dependencies: + "@wdio/utils": "npm:6.11.0" + checksum: 10c0/2c4d8a2a85fa0f2819bcc6dc25ec0b1aed21fcf333fcc2f582d82bd2e62351d459803181b895263d5195a1907e8394ad4843f7085160fd44272881b20d0fb2cf + languageName: node + linkType: hard + +"@wdio/utils@npm:6.11.0": + version: 6.11.0 + resolution: "@wdio/utils@npm:6.11.0" + dependencies: + "@wdio/logger": "npm:6.10.10" + checksum: 10c0/8f41913f9b1fcc94ac881f5bf50bac5e222be5954dbce91aadb0e376914ca47bb1157ff7a7cc4d133eb653c05695bde7201aeacf4d9e52308151112b622a6597 + languageName: node + linkType: hard + +"@webassemblyjs/ast@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/ast@npm:1.9.0" + dependencies: + "@webassemblyjs/helper-module-context": "npm:1.9.0" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.9.0" + "@webassemblyjs/wast-parser": "npm:1.9.0" + checksum: 10c0/8246c714346cdcd3ab204a2b09904d9d36c4f7da8f30cc217b0b7272a3ef57a3c21e95d51b26601641133fb66fea5cc46c357cf897808512f13b3d1c2efe88e4 + languageName: node + linkType: hard + +"@webassemblyjs/floating-point-hex-parser@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.9.0" + checksum: 10c0/17acfdfe6650691ae8d0279e6ff4fb8b5efce64e12f3fa18c6a7d279968cc72eb21c0db7ebb5be9d627d05fa7014cef087843d999de96c917079f57d7dac8f77 + languageName: node + linkType: hard + +"@webassemblyjs/helper-api-error@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-api-error@npm:1.9.0" + checksum: 10c0/892851b25cf4b4b307490328f45858414326dac667ca15244b5e959fa6e22478b29dabeb581d49ef8a2874e291d0417a3a959be70428c39cd40870e73b394dbc + languageName: node + linkType: hard + +"@webassemblyjs/helper-buffer@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-buffer@npm:1.9.0" + checksum: 10c0/b09a3e27d9127ccaab095bd171336e7675bb5b832e05b701ff174a853b763154a49f5382c4c3f2f1cc746b1cff3f2025452145cf807ddf788133bcccf5920ca8 + languageName: node + linkType: hard + +"@webassemblyjs/helper-code-frame@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-code-frame@npm:1.9.0" + dependencies: + "@webassemblyjs/wast-printer": "npm:1.9.0" + checksum: 10c0/010969a6c8b016680a9b1383ff4b8147c363608dd1e29602154e5460954af4fd48daed518a76b232ca43935d4b6bebf54fba38da56f809e2bd12f063d84013ec + languageName: node + linkType: hard + +"@webassemblyjs/helper-fsm@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-fsm@npm:1.9.0" + checksum: 10c0/ef0c99b58716d757a1a41f99fb46578d3f07d97b60cd51deaeffdf0aad09ec47f5093ee8d098d12324d57f8812609704c377fccfe9a32d02c0a658a4a33dce94 + languageName: node + linkType: hard + +"@webassemblyjs/helper-module-context@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-module-context@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": "npm:1.9.0" + checksum: 10c0/130a9ac1141770b9f70ad568ec2dc769e92c756f91b06ece9cda2c2a5e80e21ec9c8c2a945a5839bf379e52fa921ae134245a7492e1b9ae0e8c557bb9b4953c3 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-bytecode@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.9.0" + checksum: 10c0/1741993e1c723f56b619a4981ec975f903886aa3f1f50c7bdb2eaa45ca4ad8d023d6ae7413ef643f060567b1f12a9dcfad6c43688879c46ee4f0b53aa71cd5c9 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-section@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": "npm:1.9.0" + "@webassemblyjs/helper-buffer": "npm:1.9.0" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.9.0" + "@webassemblyjs/wasm-gen": "npm:1.9.0" + checksum: 10c0/2a5baa7749c50a4a428f372ab88b7e52956b48798d44e7291b4aa8558b247337dba791112ce8a4f5b2281e1b9014e6d44d0141476a5fcde6016fac2e009671e8 + languageName: node + linkType: hard + +"@webassemblyjs/ieee754@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/ieee754@npm:1.9.0" + dependencies: + "@xtuc/ieee754": "npm:^1.2.0" + checksum: 10c0/0eff34ec7048400b30282ab9af6ad19d2852dab2f5ffaec8bdc697b8380bc2c9dbe6cadf65f49e68242c82ee3caa8aa6e46c89dbfdab37615189b4da2eab3819 + languageName: node + linkType: hard + +"@webassemblyjs/leb128@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/leb128@npm:1.9.0" + dependencies: + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/441be8634733b33b710f44d4394552d6290bb1a0a8311b384b1865b58c3549d0ddeaf1c3985bbee024a8df12c597be3580fc1cde2ae003dcbf26762b493a7a2f + languageName: node + linkType: hard + +"@webassemblyjs/utf8@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/utf8@npm:1.9.0" + checksum: 10c0/9566689a1bcf555d6b79d0da79e24ff2be23c0395e5a19ed3c2ceca7831e50b867e0b1c66b3ff1b1d7f297b2d2414314967a884a77634ad0acff8a78489e2b19 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-edit@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-edit@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": "npm:1.9.0" + "@webassemblyjs/helper-buffer": "npm:1.9.0" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.9.0" + "@webassemblyjs/helper-wasm-section": "npm:1.9.0" + "@webassemblyjs/wasm-gen": "npm:1.9.0" + "@webassemblyjs/wasm-opt": "npm:1.9.0" + "@webassemblyjs/wasm-parser": "npm:1.9.0" + "@webassemblyjs/wast-printer": "npm:1.9.0" + checksum: 10c0/07f4cb4a73989622c524f9264b6afe664d33354f081499f04db675aed2b79498bd43600c3d7bebcb9f93ccce6a094b3c28f3f7b11ea62e9e82074c2ae68dc058 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-gen@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-gen@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": "npm:1.9.0" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.9.0" + "@webassemblyjs/ieee754": "npm:1.9.0" + "@webassemblyjs/leb128": "npm:1.9.0" + "@webassemblyjs/utf8": "npm:1.9.0" + checksum: 10c0/876826bef91f3af9e48118fb269c348871d5b6f019e071065556da56a3a5818630b00133e07c9dd2cc767e7f2c70934f3ed0060330ce3e37910e9c9df25f1600 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-opt@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-opt@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": "npm:1.9.0" + "@webassemblyjs/helper-buffer": "npm:1.9.0" + "@webassemblyjs/wasm-gen": "npm:1.9.0" + "@webassemblyjs/wasm-parser": "npm:1.9.0" + checksum: 10c0/3d5558e078b660cd9777950f2df60f005f3cbdbcfa6c8c19dc0cf012f44f5bfa97c991d7ac26b3e78596bad0538e92dd00b5db4b51ebc373da8e329a03639190 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-parser@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-parser@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": "npm:1.9.0" + "@webassemblyjs/helper-api-error": "npm:1.9.0" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.9.0" + "@webassemblyjs/ieee754": "npm:1.9.0" + "@webassemblyjs/leb128": "npm:1.9.0" + "@webassemblyjs/utf8": "npm:1.9.0" + checksum: 10c0/1e8615b9f9c3c431c9635c9a9884bca89eff1ab2383ad849341c23e09899454482a8f8813d33bf86ee1b0acc97c7c83926961a9b34d4804fa5d559610ab0a4a2 + languageName: node + linkType: hard + +"@webassemblyjs/wast-parser@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wast-parser@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": "npm:1.9.0" + "@webassemblyjs/floating-point-hex-parser": "npm:1.9.0" + "@webassemblyjs/helper-api-error": "npm:1.9.0" + "@webassemblyjs/helper-code-frame": "npm:1.9.0" + "@webassemblyjs/helper-fsm": "npm:1.9.0" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/c79952466fdf7816be527b1db102952b777b12318eabb5c40df074cd8361e3a7b0179a985534fa8b5a7b93668b07ba46875ffeb5da03ca5177c80ba960ebdffc + languageName: node + linkType: hard + +"@webassemblyjs/wast-printer@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wast-printer@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": "npm:1.9.0" + "@webassemblyjs/wast-parser": "npm:1.9.0" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/f3d106aa884cbb7687307db7adeb3b98abff9de81b9ba8c1065267340b5e9de64ffc533044ab916b1f4ce8a67fb03efa54b29b61c8e908abe4c07edf82f614cd + languageName: node + linkType: hard + +"@xtuc/ieee754@npm:^1.2.0": + version: 1.2.0 + resolution: "@xtuc/ieee754@npm:1.2.0" + checksum: 10c0/a8565d29d135039bd99ae4b2220d3e167d22cf53f867e491ed479b3f84f895742d0097f935b19aab90265a23d5d46711e4204f14c479ae3637fbf06c4666882f + languageName: node + linkType: hard + +"@xtuc/long@npm:4.2.2": + version: 4.2.2 + resolution: "@xtuc/long@npm:4.2.2" + checksum: 10c0/8582cbc69c79ad2d31568c412129bf23d2b1210a1dfb60c82d5a1df93334da4ee51f3057051658569e2c196d8dc33bc05ae6b974a711d0d16e801e1d0647ccd1 + languageName: node + linkType: hard + +"JSONStream@npm:^1.0.3": + version: 1.3.5 + resolution: "JSONStream@npm:1.3.5" + dependencies: + jsonparse: "npm:^1.2.0" + through: "npm:>=2.2.7 <3" + bin: + JSONStream: ./bin.js + checksum: 10c0/0f54694da32224d57b715385d4a6b668d2117379d1f3223dc758459246cca58fdc4c628b83e8a8883334e454a0a30aa198ede77c788b55537c1844f686a751f2 + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"accepts@npm:~1.3.4": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn-node@npm:^1.2.0, acorn-node@npm:^1.3.0, acorn-node@npm:^1.5.2, acorn-node@npm:^1.8.2": + version: 1.8.2 + resolution: "acorn-node@npm:1.8.2" + dependencies: + acorn: "npm:^7.0.0" + acorn-walk: "npm:^7.0.0" + xtend: "npm:^4.0.2" + checksum: 10c0/e9a20dae515701cd3d03812929a7f74c4363fdcb4c74d762f7c43566dc87175ad817aa281ba11c88dabf5e8d35aec590073393c02a04bbdcfda58c2f320d08ac + languageName: node + linkType: hard + +"acorn-walk@npm:^7.0.0": + version: 7.2.0 + resolution: "acorn-walk@npm:7.2.0" + checksum: 10c0/ff99f3406ed8826f7d6ef6ac76b7608f099d45a1ff53229fa267125da1924188dbacf02e7903dfcfd2ae4af46f7be8847dc7d564c73c4e230dfb69c8ea8e6b4c + languageName: node + linkType: hard + +"acorn-walk@npm:^8.3.2": + version: 8.3.2 + resolution: "acorn-walk@npm:8.3.2" + checksum: 10c0/7e2a8dad5480df7f872569b9dccff2f3da7e65f5353686b1d6032ab9f4ddf6e3a2cb83a9b52cf50b1497fd522154dda92f0abf7153290cc79cd14721ff121e52 + languageName: node + linkType: hard + +"acorn@npm:^6.4.1": + version: 6.4.2 + resolution: "acorn@npm:6.4.2" + bin: + acorn: bin/acorn + checksum: 10c0/52a72d5d785fa64a95880f2951021a38954f8f69a4944dfeab6fb1449b0f02293eae109a56d55b58ff31a90a00d16a804658a12db8ef834c20b3d1201fe5ba5b + languageName: node + linkType: hard + +"acorn@npm:^7.0.0": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: 10c0/bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526 + languageName: node + linkType: hard + +"acorn@npm:^8.11.3, acorn@npm:^8.5.0, acorn@npm:^8.9.0": + version: 8.11.3 + resolution: "acorn@npm:8.11.3" + bin: + acorn: bin/acorn + checksum: 10c0/3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 + languageName: node + linkType: hard + +"agent-base@npm:5": + version: 5.1.1 + resolution: "agent-base@npm:5.1.1" + checksum: 10c0/3baa3f01072c16e3955ce7802166e576cde9831af82b262aae1c780af49c0c84e82e64ba9ef9e7d1704fe29e9f0096a78a4f998ec137360fee3cb95186f97161 + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": + version: 7.1.0 + resolution: "agent-base@npm:7.1.0" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/fc974ab57ffdd8421a2bc339644d312a9cca320c20c3393c9d8b1fd91731b9bbabdb985df5fc860f5b79d81c3e350daa3fcb31c5c07c0bb385aafc817df004ce + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.1.3": + version: 4.5.0 + resolution: "agentkeepalive@npm:4.5.0" + dependencies: + humanize-ms: "npm:^1.2.1" + checksum: 10c0/394ea19f9710f230722996e156607f48fdf3a345133b0b1823244b7989426c16019a428b56c82d3eabef616e938812981d9009f4792ecc66bd6a59e991c62612 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv-draft-04@npm:^1.0.0": + version: 1.0.0 + resolution: "ajv-draft-04@npm:1.0.0" + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10c0/6044310bd38c17d77549fd326bd40ce1506fa10b0794540aa130180808bf94117fac8c9b448c621512bea60e4a947278f6a978e87f10d342950c15b33ddd9271 + languageName: node + linkType: hard + +"ajv-errors@npm:^1.0.0": + version: 1.0.1 + resolution: "ajv-errors@npm:1.0.1" + peerDependencies: + ajv: ">=5.0.0" + checksum: 10c0/de2d6e8100c8707ea063ee4785d53adf599b457c0d4f72c3592244d67ad16448a6d35f7ce45f12bdd2819939447c876e8ef2f1c0800896d7f2aa25c3838acdf1 + languageName: node + linkType: hard + +"ajv-keywords@npm:^3.1.0, ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": + version: 3.5.2 + resolution: "ajv-keywords@npm:3.5.2" + peerDependencies: + ajv: ^6.9.1 + checksum: 10c0/0c57a47cbd656e8cdfd99d7c2264de5868918ffa207c8d7a72a7f63379d4333254b2ba03d69e3c035e996a3fd3eb6d5725d7a1597cca10694296e32510546360 + languageName: node + linkType: hard + +"ajv@npm:^6.1.0, ajv@npm:^6.10.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ajv@npm:^8.6.3": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.2.2" + checksum: 10c0/ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e + languageName: node + linkType: hard + +"ansi-colors@npm:4.1.1": + version: 4.1.1 + resolution: "ansi-colors@npm:4.1.1" + checksum: 10c0/6086ade4336b4250b6b25e144b83e5623bcaf654d3df0c3546ce09c9c5ff999cb6a6f00c87e802d05cf98aef79d92dc76ade2670a2493b8dcb80220bec457838 + languageName: node + linkType: hard + +"ansi-colors@npm:^3.0.0": + version: 3.2.4 + resolution: "ansi-colors@npm:3.2.4" + checksum: 10c0/1785466547bac3b1cb8055325a415c8c946a818669da4fd3d1247cab7617b845b221c2ae04756277074d278b52d90efd67f73d2dd927c7a0d1a10395c1b7665b + languageName: node + linkType: hard + +"ansi-escapes@npm:^1.1.0": + version: 1.4.0 + resolution: "ansi-escapes@npm:1.4.0" + checksum: 10c0/11ee31a0827d2c95129ea7c3df13d4d9d15b487517209d1d16027a876e6029e1c464ba626771af525a5aee12b26a740fc0378142b3193f3a62aaa2f03b7a5e9c + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 + languageName: node + linkType: hard + +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 10c0/78cebaf50bce2cb96341a7230adf28d804611da3ce6bf338efa7b72f06cc6ff648e29f80cd95e582617ba58d5fdbec38abfeed3500a98bce8381a9daec7c548b + languageName: node + linkType: hard + +"ansi-regex@npm:^3.0.0": + version: 3.0.1 + resolution: "ansi-regex@npm:3.0.1" + checksum: 10c0/d108a7498b8568caf4a46eea4f1784ab4e0dfb2e3f3938c697dee21443d622d765c958f2b7e2b9f6b9e55e2e2af0584eaa9915d51782b89a841c28e744e7a167 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 + languageName: node + linkType: hard + +"ansi-styles@npm:^2.2.1": + version: 2.2.1 + resolution: "ansi-styles@npm:2.2.1" + checksum: 10c0/7c68aed4f1857389e7a12f85537ea5b40d832656babbf511cc7ecd9efc52889b9c3e5653a71a6aade783c3c5e0aa223ad4ff8e83c27ac8a666514e6c79068cab + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"any-promise@npm:^1.3.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + +"anymatch@npm:^2.0.0": + version: 2.0.0 + resolution: "anymatch@npm:2.0.0" + dependencies: + micromatch: "npm:^3.1.4" + normalize-path: "npm:^2.1.1" + checksum: 10c0/a0d745e52f0233048724b9c9d7b1d8a650f7a50151a0f1d2cce1857b09fd096052d334f8c570cc88596edef8249ae778f767db94025cd00f81e154a37bb7e34e + languageName: node + linkType: hard + +"anymatch@npm:~3.1.1, anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"append-transform@npm:^2.0.0": + version: 2.0.0 + resolution: "append-transform@npm:2.0.0" + dependencies: + default-require-extensions: "npm:^3.0.0" + checksum: 10c0/f1505e4f4597f4eb7b3df8da898e431fc25d6cdc6c78d01c700a4fab38d835e7cbac693eade8df7b0a0944dc52a35f92b1771e440af59f1b1f8a1dadaba7d17b + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 10c0/d06e26384a8f6245d8c8896e138c0388824e259a329e0c9f196b4fa533c82502a6fd449586e3604950a0c42921832a458bb3aa0aa9f0ba449cfd4f50fd0d09b5 + languageName: node + linkType: hard + +"aproba@npm:^1.1.1": + version: 1.2.0 + resolution: "aproba@npm:1.2.0" + checksum: 10c0/2d34f008c9edfa991f42fe4b667d541d38a474a39ae0e24805350486d76744cd91ee45313283c1d39a055b14026dd0fc4d0cbfc13f210855d59d7e8b5a61dc51 + languageName: node + linkType: hard + +"arch@npm:^2.1.0": + version: 2.2.0 + resolution: "arch@npm:2.2.0" + checksum: 10c0/4ceaf8d8207817c216ebc4469742052cb0a097bc45d9b7fcd60b7507220da545a28562ab5bdd4dfe87921bb56371a0805da4e10d704e01f93a15f83240f1284c + languageName: node + linkType: hard + +"archive-type@npm:^4.0.0": + version: 4.0.0 + resolution: "archive-type@npm:4.0.0" + dependencies: + file-type: "npm:^4.2.0" + checksum: 10c0/ea51af0b8e3b374f79ba1921486145e03e2c6cae4e100b686173c1edc93db62d51695296a6252755257c23762cb1503dc82b6c9c320b85c51f71fd36851e10ed + languageName: node + linkType: hard + +"archiver-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "archiver-utils@npm:2.1.0" + dependencies: + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.2.0" + lazystream: "npm:^1.0.0" + lodash.defaults: "npm:^4.2.0" + lodash.difference: "npm:^4.5.0" + lodash.flatten: "npm:^4.4.0" + lodash.isplainobject: "npm:^4.0.6" + lodash.union: "npm:^4.6.0" + normalize-path: "npm:^3.0.0" + readable-stream: "npm:^2.0.0" + checksum: 10c0/6ea5b02e440f3099aff58b18dd384f84ecfe18632e81d26c1011fe7dfdb80ade43d7a06cbf048ef0e9ee0f2c87a80cb24c0f0ac5e3a2c4d67641d6f0d6e36ece + languageName: node + linkType: hard + +"archiver-utils@npm:^3.0.4": + version: 3.0.4 + resolution: "archiver-utils@npm:3.0.4" + dependencies: + glob: "npm:^7.2.3" + graceful-fs: "npm:^4.2.0" + lazystream: "npm:^1.0.0" + lodash.defaults: "npm:^4.2.0" + lodash.difference: "npm:^4.5.0" + lodash.flatten: "npm:^4.4.0" + lodash.isplainobject: "npm:^4.0.6" + lodash.union: "npm:^4.6.0" + normalize-path: "npm:^3.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/9bb7e271e95ff33bdbdcd6f69f8860e0aeed3fcba352a74f51a626d1c32b404f20e3185d5214f171b24a692471d01702f43874d1a4f0d2e5f57bd0834bc54c14 + languageName: node + linkType: hard + +"archiver@npm:^5.0.0": + version: 5.3.2 + resolution: "archiver@npm:5.3.2" + dependencies: + archiver-utils: "npm:^2.1.0" + async: "npm:^3.2.4" + buffer-crc32: "npm:^0.2.1" + readable-stream: "npm:^3.6.0" + readdir-glob: "npm:^1.1.2" + tar-stream: "npm:^2.2.0" + zip-stream: "npm:^4.1.0" + checksum: 10c0/973384d749b3fa96f44ceda1603a65aaa3f24a267230d69a4df9d7b607d38d3ebc6c18c358af76eb06345b6b331ccb9eca07bd079430226b5afce95de22dfade + languageName: node + linkType: hard + +"archy@npm:^1.0.0": + version: 1.0.0 + resolution: "archy@npm:1.0.0" + checksum: 10c0/200c849dd1c304ea9914827b0555e7e1e90982302d574153e28637db1a663c53de62bad96df42d50e8ce7fc18d05e3437d9aa8c4b383803763755f0956c7d308 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^2.0.0": + version: 2.0.0 + resolution: "are-we-there-yet@npm:2.0.0" + dependencies: + delegates: "npm:^1.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/375f753c10329153c8d66dc95e8f8b6c7cc2aa66e05cb0960bd69092b10dae22900cacc7d653ad11d26b3ecbdbfe1e8bfb6ccf0265ba8077a7d979970f16b99c + languageName: node + linkType: hard + +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" + dependencies: + delegates: "npm:^1.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/8373f289ba42e4b5ec713bb585acdac14b5702c75f2a458dc985b9e4fa5762bc5b46b40a21b72418a3ed0cfb5e35bdc317ef1ae132f3035f633d581dd03168c3 + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"arr-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "arr-diff@npm:4.0.0" + checksum: 10c0/67b80067137f70c89953b95f5c6279ad379c3ee39f7143578e13bd51580a40066ee2a55da066e22d498dce10f68c2d70056d7823f972fab99dfbf4c78d0bc0f7 + languageName: node + linkType: hard + +"arr-flatten@npm:^1.1.0": + version: 1.1.0 + resolution: "arr-flatten@npm:1.1.0" + checksum: 10c0/bef53be02ed3bc58f202b3861a5b1eb6e1ae4fecf39c3ad4d15b1e0433f941077d16e019a33312d820844b0661777322acbb7d0c447b04d9bdf7d6f9c532548a + languageName: node + linkType: hard + +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: 10c0/7d5aa05894e54aa93c77c5726c1dd5d8e8d3afe4f77983c0aa8a14a8a5cbe8b18f0cf4ecaa4ac8c908ef5f744d2cbbdaa83fd6e96724d15fea56cfa7f5efdd51 + languageName: node + linkType: hard + +"array-back@npm:^3.0.1, array-back@npm:^3.1.0": + version: 3.1.0 + resolution: "array-back@npm:3.1.0" + checksum: 10c0/bb1fe86aa8b39c21e73c68c7abf8b05ed939b8951a3b17527217f6a2a84e00e4cfa4fdec823081689c5e216709bf1f214a4f5feeee6726eaff83897fa1a7b8ee + languageName: node + linkType: hard + +"array-buffer-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "array-buffer-byte-length@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.5" + is-array-buffer: "npm:^3.0.4" + checksum: 10c0/f5cdf54527cd18a3d2852ddf73df79efec03829e7373a8322ef5df2b4ef546fb365c19c71d6b42d641cb6bfe0f1a2f19bc0ece5b533295f86d7c3d522f228917 + languageName: node + linkType: hard + +"array-includes@npm:^3.1.7": + version: 3.1.7 + resolution: "array-includes@npm:3.1.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + get-intrinsic: "npm:^1.2.1" + is-string: "npm:^1.0.7" + checksum: 10c0/692907bd7f19d06dc58ccb761f34b58f5dc0b437d2b47a8fe42a1501849a5cf5c27aed3d521a9702667827c2c85a7e75df00a402c438094d87fc43f39ebf9b2b + languageName: node + linkType: hard + +"array-union@npm:^1.0.1": + version: 1.0.2 + resolution: "array-union@npm:1.0.2" + dependencies: + array-uniq: "npm:^1.0.1" + checksum: 10c0/18686767c0cfdae8dc4acf5ac119b0f0eacad82b7fcc0aa62cc41f93c5ad406d494b6a6e53d85e52e8f0349b67a4fec815feeb537e95c02510d747bc9a4157c7 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"array-uniq@npm:^1.0.1": + version: 1.0.3 + resolution: "array-uniq@npm:1.0.3" + checksum: 10c0/3acbaf9e6d5faeb1010e2db04ab171b8d265889e46c61762e502979bdc5e55656013726e9a61507de3c82d329a0dc1e8072630a3454b4f2b881cb19ba7fd8aa6 + languageName: node + linkType: hard + +"array-unique@npm:^0.3.2": + version: 0.3.2 + resolution: "array-unique@npm:0.3.2" + checksum: 10c0/dbf4462cdba8a4b85577be07705210b3d35be4b765822a3f52962d907186617638ce15e0603a4fefdcf82f4cbbc9d433f8cbbd6855148a68872fa041b6474121 + languageName: node + linkType: hard + +"array.prototype.filter@npm:^1.0.3": + version: 1.0.3 + resolution: "array.prototype.filter@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + es-array-method-boxes-properly: "npm:^1.0.0" + is-string: "npm:^1.0.7" + checksum: 10c0/8b70b5f866df5d90fa27aa5bfa30f5fefc44cbea94b0513699d761713658077c2a24cbf06aac5179eabddb6c93adc467af4c288b7a839c5bc5a769ee5a2d48ad + languageName: node + linkType: hard + +"array.prototype.findlastindex@npm:^1.2.3": + version: 1.2.4 + resolution: "array.prototype.findlastindex@npm:1.2.4" + dependencies: + call-bind: "npm:^1.0.5" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.22.3" + es-errors: "npm:^1.3.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/b23ae35cf7621c82c20981ee110626090734a264798e781b052e534e3d61d576f03d125d92cf2e3672062bb5cc5907e02e69f2d80196a55f3cdb0197b4aa8c64 + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flat@npm:1.3.2" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + es-shim-unscopables: "npm:^1.0.0" + checksum: 10c0/a578ed836a786efbb6c2db0899ae80781b476200617f65a44846cb1ed8bd8b24c8821b83703375d8af639c689497b7b07277060024b9919db94ac3e10dc8a49b + languageName: node + linkType: hard + +"array.prototype.flatmap@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flatmap@npm:1.3.2" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + es-shim-unscopables: "npm:^1.0.0" + checksum: 10c0/67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4 + languageName: node + linkType: hard + +"arraybuffer.prototype.slice@npm:^1.0.3": + version: 1.0.3 + resolution: "arraybuffer.prototype.slice@npm:1.0.3" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + call-bind: "npm:^1.0.5" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.22.3" + es-errors: "npm:^1.2.1" + get-intrinsic: "npm:^1.2.3" + is-array-buffer: "npm:^3.0.4" + is-shared-array-buffer: "npm:^1.0.2" + checksum: 10c0/d32754045bcb2294ade881d45140a5e52bda2321b9e98fa514797b7f0d252c4c5ab0d1edb34112652c62fa6a9398def568da63a4d7544672229afea283358c36 + languageName: node + linkType: hard + +"arrify@npm:^1.0.0, arrify@npm:^1.0.1": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: 10c0/c35c8d1a81bcd5474c0c57fe3f4bad1a4d46a5fa353cedcff7a54da315df60db71829e69104b859dff96c5d68af46bd2be259fe5e50dc6aa9df3b36bea0383ab + languageName: node + linkType: hard + +"asn1.js@npm:^4.10.1": + version: 4.10.1 + resolution: "asn1.js@npm:4.10.1" + dependencies: + bn.js: "npm:^4.0.0" + inherits: "npm:^2.0.1" + minimalistic-assert: "npm:^1.0.0" + checksum: 10c0/afa7f3ab9e31566c80175a75b182e5dba50589dcc738aa485be42bdd787e2a07246a4b034d481861123cbe646a7656f318f4f1cad2e9e5e808a210d5d6feaa88 + languageName: node + linkType: hard + +"asn1@npm:~0.2.3": + version: 0.2.6 + resolution: "asn1@npm:0.2.6" + dependencies: + safer-buffer: "npm:~2.1.0" + checksum: 10c0/00c8a06c37e548762306bcb1488388d2f76c74c36f70c803f0c081a01d3bdf26090fc088cd812afc5e56a6d49e33765d451a5f8a68ab9c2b087eba65d2e980e0 + languageName: node + linkType: hard + +"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": + version: 1.0.0 + resolution: "assert-plus@npm:1.0.0" + checksum: 10c0/b194b9d50c3a8f872ee85ab110784911e696a4d49f7ee6fc5fb63216dedbefd2c55999c70cb2eaeb4cf4a0e0338b44e9ace3627117b5bf0d42460e9132f21b91 + languageName: node + linkType: hard + +"assert@npm:^1.1.1, assert@npm:^1.4.0": + version: 1.5.1 + resolution: "assert@npm:1.5.1" + dependencies: + object.assign: "npm:^4.1.4" + util: "npm:^0.10.4" + checksum: 10c0/836688b928b68b7fc5bbc165443e16a62623d57676a1e8a980a0316f9ae86e5e0a102c63470491bf55a8545e75766303640c0c7ad1cf6bfa5450130396043bbd + languageName: node + linkType: hard + +"assertion-error@npm:^1.1.0": + version: 1.1.0 + resolution: "assertion-error@npm:1.1.0" + checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b + languageName: node + linkType: hard + +"assign-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "assign-symbols@npm:1.0.0" + checksum: 10c0/29a654b8a6da6889a190d0d0efef4b1bfb5948fa06cbc245054aef05139f889f2f7c75b989917e3fde853fc4093b88048e4de8578a73a76f113d41bfd66e5775 + languageName: node + linkType: hard + +"async-each@npm:^1.0.1": + version: 1.0.6 + resolution: "async-each@npm:1.0.6" + checksum: 10c0/d4e45e8f077e20e015952c065ceae75f82b30ee2d4a8e56a5c454ae44331aaa009d8c94fe043ba254c177bffae9f6ebeefebb7daf9f7ce4d27fac0274dc328ae + languageName: node + linkType: hard + +"async-foreach@npm:^0.1.3": + version: 0.1.3 + resolution: "async-foreach@npm:0.1.3" + checksum: 10c0/ec2fcfd23e55ab088356a69a98b5f1ae9199c428a010500254ffdc0a7b51fdce9ae6eaa8bae2ef8670095078b711a1609b130d3b1a96252442b591bbc7d5b417 + languageName: node + linkType: hard + +"async@npm:^3.2.4": + version: 3.2.5 + resolution: "async@npm:3.2.5" + checksum: 10c0/1408287b26c6db67d45cb346e34892cee555b8b59e6c68e6f8c3e495cad5ca13b4f218180e871f3c2ca30df4ab52693b66f2f6ff43644760cab0b2198bda79c1 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef + languageName: node + linkType: hard + +"atob@npm:^2.1.2": + version: 2.1.2 + resolution: "atob@npm:2.1.2" + bin: + atob: bin/atob.js + checksum: 10c0/ada635b519dc0c576bb0b3ca63a73b50eefacf390abb3f062558342a8d68f2db91d0c8db54ce81b0d89de3b0f000de71f3ae7d761fd7d8cc624278fe443d6c7e + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.6, available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: "npm:^1.0.0" + checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 + languageName: node + linkType: hard + +"aws-sign2@npm:~0.7.0": + version: 0.7.0 + resolution: "aws-sign2@npm:0.7.0" + checksum: 10c0/021d2cc5547d4d9ef1633e0332e746a6f447997758b8b68d6fb33f290986872d2bff5f0c37d5832f41a7229361f093cd81c40898d96ed153493c0fb5cd8575d2 + languageName: node + linkType: hard + +"aws4@npm:^1.8.0": + version: 1.12.0 + resolution: "aws4@npm:1.12.0" + checksum: 10c0/1e39c266f53b04daf88e112de93a6006375b386a1b7ab6197260886e39abd012aa90bdd87949c3bf9c30754846031f6d5d8ac4f8676628097c11065b5d39847a + languageName: node + linkType: hard + +"babel-code-frame@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-code-frame@npm:6.26.0" + dependencies: + chalk: "npm:^1.1.3" + esutils: "npm:^2.0.2" + js-tokens: "npm:^3.0.2" + checksum: 10c0/7fecc128e87578cf1b96e78d2b25e0b260e202bdbbfcefa2eac23b7f8b7b2f7bc9276a14599cde14403cc798cc2a38e428e2cab50b77658ab49228b09ae92473 + languageName: node + linkType: hard + +"babel-generator@npm:^6.18.0": + version: 6.26.1 + resolution: "babel-generator@npm:6.26.1" + dependencies: + babel-messages: "npm:^6.23.0" + babel-runtime: "npm:^6.26.0" + babel-types: "npm:^6.26.0" + detect-indent: "npm:^4.0.0" + jsesc: "npm:^1.3.0" + lodash: "npm:^4.17.4" + source-map: "npm:^0.5.7" + trim-right: "npm:^1.0.1" + checksum: 10c0/d5f9d20c6f7d8644dc41ee57d48c98a78d24d5b74dc305cc518d6e0872d4fa73c5fd8d47ec00e3515858eaf3c3e512a703cdbc184ff0061af5979bc206618555 + languageName: node + linkType: hard + +"babel-loader@npm:^8.2.5": + version: 8.3.0 + resolution: "babel-loader@npm:8.3.0" + dependencies: + find-cache-dir: "npm:^3.3.1" + loader-utils: "npm:^2.0.0" + make-dir: "npm:^3.1.0" + schema-utils: "npm:^2.6.5" + peerDependencies: + "@babel/core": ^7.0.0 + webpack: ">=2" + checksum: 10c0/7b83bae35a12fbc5cdf250e2d36a288305fe5b6d20ab044ab7c09bbf456c8895b80af7a4f1e8b64b5c07a4fd48d4b5144dab40b4bc72a4fed532dc000362f38f + languageName: node + linkType: hard + +"babel-messages@npm:^6.23.0": + version: 6.23.0 + resolution: "babel-messages@npm:6.23.0" + dependencies: + babel-runtime: "npm:^6.22.0" + checksum: 10c0/d4fd6414ee5bb1aa0dad6d8d2c4ffaa66331ec5a507959e11f56b19a683566e2c1e7a4d0b16cfef58ea4cc07db8acf5ff3dc8b25c585407cff2e09ac60553401 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs2@npm:^0.4.8": + version: 0.4.8 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.8" + dependencies: + "@babel/compat-data": "npm:^7.22.6" + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/843e7528de0e03a31a6f3837896a95f75b0b24b0294a077246282372279e974400b0bdd82399e8f9cbfe42c87ed56540fd71c33eafb7c8e8b9adac546ecc5fe5 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.9.0": + version: 0.9.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.9.0" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" + core-js-compat: "npm:^3.34.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/b857010736c5e42e20b683973dae862448a42082fcc95b3ef188305a6864a4f94b5cbd568e49e4cd7172c6b2eace7bc403c3ba0984fbe5479474ade01126d559 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.5.5": + version: 0.5.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.5.5" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/2aab692582082d54e0df9f9373dca1b223e65b4e7e96440160f27ed8803d417a1fa08da550f08aa3820d2010329ca91b68e2b6e9bd7aed51c93d46dfe79629bb + languageName: node + linkType: hard + +"babel-runtime@npm:^6.22.0, babel-runtime@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-runtime@npm:6.26.0" + dependencies: + core-js: "npm:^2.4.0" + regenerator-runtime: "npm:^0.11.0" + checksum: 10c0/caa752004936b1463765ed3199c52f6a55d0613b9bed108743d6f13ca532b821d4ea9decc4be1b583193164462b1e3e7eefdfa36b15c72e7daac58dd72c1772f + languageName: node + linkType: hard + +"babel-template@npm:^6.16.0": + version: 6.26.0 + resolution: "babel-template@npm:6.26.0" + dependencies: + babel-runtime: "npm:^6.26.0" + babel-traverse: "npm:^6.26.0" + babel-types: "npm:^6.26.0" + babylon: "npm:^6.18.0" + lodash: "npm:^4.17.4" + checksum: 10c0/67bc875f19d289dabb1830a1cde93d7f1e187e4599dac9b1d16392fd47f1d12b53fea902dacf7be360acd09807d440faafe0f7907758c13275b1a14d100b68e4 + languageName: node + linkType: hard + +"babel-traverse@npm:^6.18.0, babel-traverse@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-traverse@npm:6.26.0" + dependencies: + babel-code-frame: "npm:^6.26.0" + babel-messages: "npm:^6.23.0" + babel-runtime: "npm:^6.26.0" + babel-types: "npm:^6.26.0" + babylon: "npm:^6.18.0" + debug: "npm:^2.6.8" + globals: "npm:^9.18.0" + invariant: "npm:^2.2.2" + lodash: "npm:^4.17.4" + checksum: 10c0/dca71b23d07e3c00833c3222d7998202e687105f461048107afeb2b4a7aa2507efab1bd5a6e3e724724ebb9b1e0b14f0113621e1d8c25b4ffdb829392b54b8de + languageName: node + linkType: hard + +"babel-types@npm:^6.18.0, babel-types@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-types@npm:6.26.0" + dependencies: + babel-runtime: "npm:^6.26.0" + esutils: "npm:^2.0.2" + lodash: "npm:^4.17.4" + to-fast-properties: "npm:^1.0.3" + checksum: 10c0/cabe371de1b32c4bbb1fd4ed0fe8a8726d42e5ad7d5cefb83cdae6de0f0a152dce591e4026719743fdf3aa45f84fea2c8851fb822fbe29b0c78a1f0094b67418 + languageName: node + linkType: hard + +"babylon@npm:^6.1.21, babylon@npm:^6.18.0": + version: 6.18.0 + resolution: "babylon@npm:6.18.0" + bin: + babylon: ./bin/babylon.js + checksum: 10c0/9b1bf946e16782deadb1f5414c1269efa6044eb1e97a3de2051f09a3f2a54e97be3542d4242b28d23de0ef67816f519d38ce1ec3ddb7be306131c39a60e5a667 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base64-js@npm:^1.0.2, base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"base64id@npm:2.0.0, base64id@npm:~2.0.0": + version: 2.0.0 + resolution: "base64id@npm:2.0.0" + checksum: 10c0/6919efd237ed44b9988cbfc33eca6f173a10e810ce50292b271a1a421aac7748ef232a64d1e6032b08f19aae48dce6ee8f66c5ae2c9e5066c82b884861d4d453 + languageName: node + linkType: hard + +"base@npm:^0.11.1": + version: 0.11.2 + resolution: "base@npm:0.11.2" + dependencies: + cache-base: "npm:^1.0.1" + class-utils: "npm:^0.3.5" + component-emitter: "npm:^1.2.1" + define-property: "npm:^1.0.0" + isobject: "npm:^3.0.1" + mixin-deep: "npm:^1.2.0" + pascalcase: "npm:^0.1.1" + checksum: 10c0/30a2c0675eb52136b05ef496feb41574d9f0bb2d6d677761da579c00a841523fccf07f1dbabec2337b5f5750f428683b8ca60d89e56a1052c4ae1c0cd05de64d + languageName: node + linkType: hard + +"bcrypt-pbkdf@npm:^1.0.0": + version: 1.0.2 + resolution: "bcrypt-pbkdf@npm:1.0.2" + dependencies: + tweetnacl: "npm:^0.14.3" + checksum: 10c0/ddfe85230b32df25aeebfdccfbc61d3bc493ace49c884c9c68575de1f5dcf733a5d7de9def3b0f318b786616b8d85bad50a28b1da1750c43e0012c93badcc148 + languageName: node + linkType: hard + +"big.js@npm:^5.2.2": + version: 5.2.2 + resolution: "big.js@npm:5.2.2" + checksum: 10c0/230520f1ff920b2d2ce3e372d77a33faa4fa60d802fe01ca4ffbc321ee06023fe9a741ac02793ee778040a16b7e497f7d60c504d1c402b8fdab6f03bb785a25f + languageName: node + linkType: hard + +"bin-check@npm:^4.1.0": + version: 4.1.0 + resolution: "bin-check@npm:4.1.0" + dependencies: + execa: "npm:^0.7.0" + executable: "npm:^4.1.0" + checksum: 10c0/b1ad144672ab033af879bb493011f694ef11e7c1a250ce15cbdbbc2e5e6feb114046943927654b5ac3d1ce668cff01ec3b6b2703e367f357b1f918b480020d86 + languageName: node + linkType: hard + +"bin-version-check@npm:^4.0.0": + version: 4.0.0 + resolution: "bin-version-check@npm:4.0.0" + dependencies: + bin-version: "npm:^3.0.0" + semver: "npm:^5.6.0" + semver-truncate: "npm:^1.1.2" + checksum: 10c0/f08bd70be3dd96380f43bd5fc842a8101e50e896439a3f59131c71ae5db7f7d6a7cbb83d45e01ea110a8fb4cdecd587afe619fecbe2754eddc56b32afd1ba21f + languageName: node + linkType: hard + +"bin-version@npm:^3.0.0": + version: 3.1.0 + resolution: "bin-version@npm:3.1.0" + dependencies: + execa: "npm:^1.0.0" + find-versions: "npm:^3.0.0" + checksum: 10c0/d337f7e891296ab6b8dc9f92705cd609e04377fb3147f4f99b35482d307ce02432fc91855f38836dd593661bf165e8dfdebb45a4325b72c41a1c30ec81de0a07 + languageName: node + linkType: hard + +"bin-wrapper@npm:^4.1.0": + version: 4.1.0 + resolution: "bin-wrapper@npm:4.1.0" + dependencies: + bin-check: "npm:^4.1.0" + bin-version-check: "npm:^4.0.0" + download: "npm:^7.1.0" + import-lazy: "npm:^3.1.0" + os-filter-obj: "npm:^2.0.0" + pify: "npm:^4.0.1" + checksum: 10c0/5ac8439b1fd366d54322236198644062fed3df973b09e2300ef65001c1fad5628f6e5aece7cd28ea459b3b000dd09173b672a521ef4e27b4a3a620df765de8cc + languageName: node + linkType: hard + +"binary-extensions@npm:^1.0.0": + version: 1.13.1 + resolution: "binary-extensions@npm:1.13.1" + checksum: 10c0/2d616938ac23d828ec3fbe0dea429b566fd2c137ddc38f166f16561ccd58029deac3fa9fddb489ab13d679c8fb5f1bd0e82824041299e5e39d8dd3cc68fbb9f9 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.2.0 + resolution: "binary-extensions@npm:2.2.0" + checksum: 10c0/d73d8b897238a2d3ffa5f59c0241870043aa7471335e89ea5e1ff48edb7c2d0bb471517a3e4c5c3f4c043615caa2717b5f80a5e61e07503d51dc85cb848e665d + languageName: node + linkType: hard + +"bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: "npm:1.0.0" + checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba + languageName: node + linkType: hard + +"bl@npm:^1.0.0": + version: 1.2.3 + resolution: "bl@npm:1.2.3" + dependencies: + readable-stream: "npm:^2.3.5" + safe-buffer: "npm:^5.1.1" + checksum: 10c0/ee6478864d3b1295614f269f3fbabeb2362a2f2fc7f8dc2f6c1f944a278d84e0572ecefd6d0b0736d7418763f98dc3b2738253191ea9e98e4b08de211cfac0a6 + languageName: node + linkType: hard + +"bl@npm:^4.0.3": + version: 4.1.0 + resolution: "bl@npm:4.1.0" + dependencies: + buffer: "npm:^5.5.0" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.4.0" + checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f + languageName: node + linkType: hard + +"bluebird@npm:^3.5.5": + version: 3.7.2 + resolution: "bluebird@npm:3.7.2" + checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 + languageName: node + linkType: hard + +"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": + version: 4.12.0 + resolution: "bn.js@npm:4.12.0" + checksum: 10c0/9736aaa317421b6b3ed038ff3d4491935a01419ac2d83ddcfebc5717385295fcfcf0c57311d90fe49926d0abbd7a9dbefdd8861e6129939177f7e67ebc645b21 + languageName: node + linkType: hard + +"bn.js@npm:^5.0.0, bn.js@npm:^5.2.1": + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 10c0/bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa + languageName: node + linkType: hard + +"body-parser@npm:^1.19.0": + version: 1.20.2 + resolution: "body-parser@npm:1.20.2" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.11.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10c0/06f1438fff388a2e2354c96aa3ea8147b79bfcb1262dfcc2aae68ec13723d01d5781680657b74e9f83c808266d5baf52804032fbde2b7382b89bd8cdb273ace9 + languageName: node + linkType: hard + +"boolean@npm:^3.0.1": + version: 3.2.0 + resolution: "boolean@npm:3.2.0" + checksum: 10c0/6a0dc9668f6f3dda42a53c181fcbdad223169c8d87b6c4011b87a8b14a21770efb2934a778f063d7ece17280f8c06d313c87f7b834bb1dd526a867ffcd00febf + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^2.3.1, braces@npm:^2.3.2": + version: 2.3.2 + resolution: "braces@npm:2.3.2" + dependencies: + arr-flatten: "npm:^1.1.0" + array-unique: "npm:^0.3.2" + extend-shallow: "npm:^2.0.1" + fill-range: "npm:^4.0.0" + isobject: "npm:^3.0.1" + repeat-element: "npm:^1.1.2" + snapdragon: "npm:^0.8.1" + snapdragon-node: "npm:^2.0.1" + split-string: "npm:^3.0.2" + to-regex: "npm:^3.0.1" + checksum: 10c0/72b27ea3ea2718f061c29e70fd6e17606e37c65f5801abddcf0b0052db1de7d60f3bf92cfc220ab57b44bd0083a5f69f9d03b3461d2816cfe9f9398207acc728 + languageName: node + linkType: hard + +"braces@npm:^3.0.2, braces@npm:~3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: "npm:^7.0.1" + checksum: 10c0/321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 + languageName: node + linkType: hard + +"brorand@npm:^1.0.1, brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 + languageName: node + linkType: hard + +"browser-pack@npm:^6.0.1": + version: 6.1.0 + resolution: "browser-pack@npm:6.1.0" + dependencies: + JSONStream: "npm:^1.0.3" + combine-source-map: "npm:~0.8.0" + defined: "npm:^1.0.0" + safe-buffer: "npm:^5.1.1" + through2: "npm:^2.0.0" + umd: "npm:^3.0.0" + bin: + browser-pack: bin/cmd.js + checksum: 10c0/1912d9e9bf25ff083531f36b484623b63f020a73b7d02a4515830d06b284468994ef55b9b632f0a543ef0db4d9794e618406d7b692ce46a009fecea5a774dd33 + languageName: node + linkType: hard + +"browser-resolve@npm:^2.0.0": + version: 2.0.0 + resolution: "browser-resolve@npm:2.0.0" + dependencies: + resolve: "npm:^1.17.0" + checksum: 10c0/06c43adf3cb1939825ab9a4ac355b23272820ee421a20d04f62e0dabd9ea305e497b97f3ac027f87d53c366483aafe8673bbe1aaa5e41cd69eeafa65ac5fda6e + languageName: node + linkType: hard + +"browser-stdout@npm:1.3.1": + version: 1.3.1 + resolution: "browser-stdout@npm:1.3.1" + checksum: 10c0/c40e482fd82be872b6ea7b9f7591beafbf6f5ba522fe3dade98ba1573a1c29a11101564993e4eb44e5488be8f44510af072df9a9637c739217eb155ceb639205 + languageName: node + linkType: hard + +"browserify-aes@npm:^1.0.4, browserify-aes@npm:^1.2.0": + version: 1.2.0 + resolution: "browserify-aes@npm:1.2.0" + dependencies: + buffer-xor: "npm:^1.0.3" + cipher-base: "npm:^1.0.0" + create-hash: "npm:^1.1.0" + evp_bytestokey: "npm:^1.0.3" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/967f2ae60d610b7b252a4cbb55a7a3331c78293c94b4dd9c264d384ca93354c089b3af9c0dd023534efdc74ffbc82510f7ad4399cf82bc37bc07052eea485f18 + languageName: node + linkType: hard + +"browserify-banner@npm:^1.0.16": + version: 1.0.17 + resolution: "browserify-banner@npm:1.0.17" + dependencies: + convert-source-map: "npm:^1.7.0" + lodash: "npm:^4.17.15" + moment: "npm:^2.24.0" + offset-sourcemap-lines: "npm:^1.0.1" + ono: "npm:^6.0.0" + through2: "npm:^3.0.1" + checksum: 10c0/40f7c4fea81819dae01f681a08ee529c5b29209fbe0347f550e9d3d4eb88ffb8aa82ebcce591bd40abb769a0b56d9c69154719b66393661361b44d43f31e718e + languageName: node + linkType: hard + +"browserify-cipher@npm:^1.0.0": + version: 1.0.1 + resolution: "browserify-cipher@npm:1.0.1" + dependencies: + browserify-aes: "npm:^1.0.4" + browserify-des: "npm:^1.0.0" + evp_bytestokey: "npm:^1.0.0" + checksum: 10c0/aa256dcb42bc53a67168bbc94ab85d243b0a3b56109dee3b51230b7d010d9b78985ffc1fb36e145c6e4db151f888076c1cfc207baf1525d3e375cbe8187fe27d + languageName: node + linkType: hard + +"browserify-des@npm:^1.0.0": + version: 1.0.2 + resolution: "browserify-des@npm:1.0.2" + dependencies: + cipher-base: "npm:^1.0.1" + des.js: "npm:^1.0.0" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/943eb5d4045eff80a6cde5be4e5fbb1f2d5002126b5a4789c3c1aae3cdddb1eb92b00fb92277f512288e5c6af330730b1dbabcf7ce0923e749e151fcee5a074d + languageName: node + linkType: hard + +"browserify-istanbul@npm:^3.0.1": + version: 3.0.1 + resolution: "browserify-istanbul@npm:3.0.1" + dependencies: + istanbul-lib-instrument: "npm:^1.8.0" + minimatch: "npm:^3.0.4" + object-assign: "npm:^4.1.1" + through: "npm:^2.3.8" + checksum: 10c0/7b879db2978cde65ab96ace96761bde09083e46fadd3c3da7f7e507ca8d2d21469da9953919ae0ba7ae6a90876d17bd4397bebb923822114e2ecba0c652e3a01 + languageName: node + linkType: hard + +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.0": + version: 4.1.0 + resolution: "browserify-rsa@npm:4.1.0" + dependencies: + bn.js: "npm:^5.0.0" + randombytes: "npm:^2.0.1" + checksum: 10c0/fb2b5a8279d8a567a28d8ee03fb62e448428a906bab5c3dc9e9c3253ace551b5ea271db15e566ac78f1b1d71b243559031446604168b9235c351a32cae99d02a + languageName: node + linkType: hard + +"browserify-sign@npm:^4.0.0": + version: 4.2.3 + resolution: "browserify-sign@npm:4.2.3" + dependencies: + bn.js: "npm:^5.2.1" + browserify-rsa: "npm:^4.1.0" + create-hash: "npm:^1.2.0" + create-hmac: "npm:^1.1.7" + elliptic: "npm:^6.5.5" + hash-base: "npm:~3.0" + inherits: "npm:^2.0.4" + parse-asn1: "npm:^5.1.7" + readable-stream: "npm:^2.3.8" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/30c0eba3f5970a20866a4d3fbba2c5bd1928cd24f47faf995f913f1499214c6f3be14bb4d6ec1ab5c6cafb1eca9cb76ba1c2e1c04ed018370634d4e659c77216 + languageName: node + linkType: hard + +"browserify-zlib@npm:^0.2.0, browserify-zlib@npm:~0.2.0": + version: 0.2.0 + resolution: "browserify-zlib@npm:0.2.0" + dependencies: + pako: "npm:~1.0.5" + checksum: 10c0/9ab10b6dc732c6c5ec8ebcbe5cb7fe1467f97402c9b2140113f47b5f187b9438f93a8e065d8baf8b929323c18324fbf1105af479ee86d9d36cab7d7ef3424ad9 + languageName: node + linkType: hard + +"browserify@npm:^16.1.0, browserify@npm:^16.5.0": + version: 16.5.2 + resolution: "browserify@npm:16.5.2" + dependencies: + JSONStream: "npm:^1.0.3" + assert: "npm:^1.4.0" + browser-pack: "npm:^6.0.1" + browser-resolve: "npm:^2.0.0" + browserify-zlib: "npm:~0.2.0" + buffer: "npm:~5.2.1" + cached-path-relative: "npm:^1.0.0" + concat-stream: "npm:^1.6.0" + console-browserify: "npm:^1.1.0" + constants-browserify: "npm:~1.0.0" + crypto-browserify: "npm:^3.0.0" + defined: "npm:^1.0.0" + deps-sort: "npm:^2.0.0" + domain-browser: "npm:^1.2.0" + duplexer2: "npm:~0.1.2" + events: "npm:^2.0.0" + glob: "npm:^7.1.0" + has: "npm:^1.0.0" + htmlescape: "npm:^1.1.0" + https-browserify: "npm:^1.0.0" + inherits: "npm:~2.0.1" + insert-module-globals: "npm:^7.0.0" + labeled-stream-splicer: "npm:^2.0.0" + mkdirp-classic: "npm:^0.5.2" + module-deps: "npm:^6.2.3" + os-browserify: "npm:~0.3.0" + parents: "npm:^1.0.1" + path-browserify: "npm:~0.0.0" + process: "npm:~0.11.0" + punycode: "npm:^1.3.2" + querystring-es3: "npm:~0.2.0" + read-only-stream: "npm:^2.0.0" + readable-stream: "npm:^2.0.2" + resolve: "npm:^1.1.4" + shasum: "npm:^1.0.0" + shell-quote: "npm:^1.6.1" + stream-browserify: "npm:^2.0.0" + stream-http: "npm:^3.0.0" + string_decoder: "npm:^1.1.1" + subarg: "npm:^1.0.0" + syntax-error: "npm:^1.1.1" + through2: "npm:^2.0.0" + timers-browserify: "npm:^1.0.1" + tty-browserify: "npm:0.0.1" + url: "npm:~0.11.0" + util: "npm:~0.10.1" + vm-browserify: "npm:^1.0.0" + xtend: "npm:^4.0.0" + bin: + browserify: bin/cmd.js + checksum: 10c0/6388614e466bb657f16efc081e58cd8aa3167cbfcc253ad90257ac2941675e95ae05abee6651f28eac2ee1bb727815fac76b6d12930b617aba216e4d5aaf87e4 + languageName: node + linkType: hard + +"browserslist@npm:^4.22.2, browserslist@npm:^4.22.3": + version: 4.23.0 + resolution: "browserslist@npm:4.23.0" + dependencies: + caniuse-lite: "npm:^1.0.30001587" + electron-to-chromium: "npm:^1.4.668" + node-releases: "npm:^2.0.14" + update-browserslist-db: "npm:^1.0.13" + bin: + browserslist: cli.js + checksum: 10c0/8e9cc154529062128d02a7af4d8adeead83ca1df8cd9ee65a88e2161039f3d68a4d40fea7353cab6bae4c16182dec2fdd9a1cf7dc2a2935498cee1af0e998943 + languageName: node + linkType: hard + +"buffer-alloc-unsafe@npm:^1.1.0": + version: 1.1.0 + resolution: "buffer-alloc-unsafe@npm:1.1.0" + checksum: 10c0/06b9298c9369621a830227c3797ceb3ff5535e323946d7b39a7398fed8b3243798259b3c85e287608c5aad35ccc551cec1a0a5190cc8f39652e8eee25697fc9c + languageName: node + linkType: hard + +"buffer-alloc@npm:^1.2.0": + version: 1.2.0 + resolution: "buffer-alloc@npm:1.2.0" + dependencies: + buffer-alloc-unsafe: "npm:^1.1.0" + buffer-fill: "npm:^1.0.0" + checksum: 10c0/09d87dd53996342ccfbeb2871257d8cdb25ce9ee2259adc95c6490200cd6e528c5fbae8f30bcc323fe8d8efb0fe541e4ac3bbe9ee3f81c6b7c4b27434cc02ab4 + languageName: node + linkType: hard + +"buffer-crc32@npm:^0.2.1, buffer-crc32@npm:^0.2.13, buffer-crc32@npm:~0.2.3": + version: 0.2.13 + resolution: "buffer-crc32@npm:0.2.13" + checksum: 10c0/cb0a8ddf5cf4f766466db63279e47761eb825693eeba6a5a95ee4ec8cb8f81ede70aa7f9d8aeec083e781d47154290eb5d4d26b3f7a465ec57fb9e7d59c47150 + languageName: node + linkType: hard + +"buffer-fill@npm:^1.0.0": + version: 1.0.0 + resolution: "buffer-fill@npm:1.0.0" + checksum: 10c0/55b5654fbbf2d7ceb4991bb537f5e5b5b5b9debca583fee416a74fcec47c16d9e7a90c15acd27577da7bd750b7fa6396e77e7c221e7af138b6d26242381c6e4d + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"buffer-xor@npm:^1.0.3": + version: 1.0.3 + resolution: "buffer-xor@npm:1.0.3" + checksum: 10c0/fd269d0e0bf71ecac3146187cfc79edc9dbb054e2ee69b4d97dfb857c6d997c33de391696d04bdd669272751fa48e7872a22f3a6c7b07d6c0bc31dbe02a4075c + languageName: node + linkType: hard + +"buffer@npm:^4.3.0": + version: 4.9.2 + resolution: "buffer@npm:4.9.2" + dependencies: + base64-js: "npm:^1.0.2" + ieee754: "npm:^1.1.4" + isarray: "npm:^1.0.0" + checksum: 10c0/dc443d7e7caab23816b58aacdde710b72f525ad6eecd7d738fcaa29f6d6c12e8d9c13fed7219fd502be51ecf0615f5c077d4bdc6f9308dde2e53f8e5393c5b21 + languageName: node + linkType: hard + +"buffer@npm:^5.2.1, buffer@npm:^5.5.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.1.13" + checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e + languageName: node + linkType: hard + +"buffer@npm:~5.2.1": + version: 5.2.1 + resolution: "buffer@npm:5.2.1" + dependencies: + base64-js: "npm:^1.0.2" + ieee754: "npm:^1.1.4" + checksum: 10c0/d7351a0bb75b6142b74baf81a7a9705a7f6ceb3ce6d4968d2dfa8268a5abce45cabe6e6256aebbe46ef075934c5ce409203c33c130ed68cc1cec9069c00cb184 + languageName: node + linkType: hard + +"buffered-spawn@npm:^1.1.2": + version: 1.1.2 + resolution: "buffered-spawn@npm:1.1.2" + dependencies: + cross-spawn-async: "npm:^1.0.1" + err-code: "npm:^0.1.0" + q: "npm:^1.0.1" + checksum: 10c0/73517baadf97d16d78eb4b977802eaf8298294bc383e9e77a70032afc888e18181da65600ba89d799f22db6fa78411df49ac5c38e11181ea67ac1810165d0104 + languageName: node + linkType: hard + +"builtin-status-codes@npm:^3.0.0": + version: 3.0.0 + resolution: "builtin-status-codes@npm:3.0.0" + checksum: 10c0/c37bbba11a34c4431e56bd681b175512e99147defbe2358318d8152b3a01df7bf25e0305873947e5b350073d5ef41a364a22b37e48f1fb6d2fe6d5286a0f348c + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e + languageName: node + linkType: hard + +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + +"cacache@npm:^12.0.2": + version: 12.0.4 + resolution: "cacache@npm:12.0.4" + dependencies: + bluebird: "npm:^3.5.5" + chownr: "npm:^1.1.1" + figgy-pudding: "npm:^3.5.1" + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.1.15" + infer-owner: "npm:^1.0.3" + lru-cache: "npm:^5.1.1" + mississippi: "npm:^3.0.0" + mkdirp: "npm:^0.5.1" + move-concurrently: "npm:^1.0.1" + promise-inflight: "npm:^1.0.1" + rimraf: "npm:^2.6.3" + ssri: "npm:^6.0.1" + unique-filename: "npm:^1.1.1" + y18n: "npm:^4.0.0" + checksum: 10c0/b4b0aa49e3fbd3ca92f71bc62923e4afce31fd687b31d5ba524b2a54b36e96a8b027165599307dda5e4a6f7268cc951b77ca170efa00c1b72761f9daae51fdfb + languageName: node + linkType: hard + +"cacache@npm:^15.2.0": + version: 15.3.0 + resolution: "cacache@npm:15.3.0" + dependencies: + "@npmcli/fs": "npm:^1.0.0" + "@npmcli/move-file": "npm:^1.0.1" + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + glob: "npm:^7.1.4" + infer-owner: "npm:^1.0.4" + lru-cache: "npm:^6.0.0" + minipass: "npm:^3.1.1" + minipass-collect: "npm:^1.0.2" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.2" + mkdirp: "npm:^1.0.3" + p-map: "npm:^4.0.0" + promise-inflight: "npm:^1.0.1" + rimraf: "npm:^3.0.2" + ssri: "npm:^8.0.1" + tar: "npm:^6.0.2" + unique-filename: "npm:^1.1.1" + checksum: 10c0/886fcc0acc4f6fd5cd142d373d8276267bc6d655d7c4ce60726fbbec10854de3395ee19bbf9e7e73308cdca9fdad0ad55060ff3bd16c6d4165c5b8d21515e1d8 + languageName: node + linkType: hard + +"cacache@npm:^18.0.0": + version: 18.0.2 + resolution: "cacache@npm:18.0.2" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: 10c0/7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc + languageName: node + linkType: hard + +"cache-base@npm:^1.0.1": + version: 1.0.1 + resolution: "cache-base@npm:1.0.1" + dependencies: + collection-visit: "npm:^1.0.0" + component-emitter: "npm:^1.2.1" + get-value: "npm:^2.0.6" + has-value: "npm:^1.0.0" + isobject: "npm:^3.0.1" + set-value: "npm:^2.0.0" + to-object-path: "npm:^0.3.0" + union-value: "npm:^1.0.0" + unset-value: "npm:^1.0.0" + checksum: 10c0/a7142e25c73f767fa520957dcd179b900b86eac63b8cfeaa3b2a35e18c9ca5968aa4e2d2bed7a3e7efd10f13be404344cfab3a4156217e71f9bdb95940bb9c8c + languageName: node + linkType: hard + +"cacheable-lookup@npm:^5.0.3": + version: 5.0.4 + resolution: "cacheable-lookup@npm:5.0.4" + checksum: 10c0/a6547fb4954b318aa831cbdd2f7b376824bc784fb1fa67610e4147099e3074726072d9af89f12efb69121415a0e1f2918a8ddd4aafcbcf4e91fbeef4a59cd42c + languageName: node + linkType: hard + +"cacheable-request@npm:^2.1.1": + version: 2.1.4 + resolution: "cacheable-request@npm:2.1.4" + dependencies: + clone-response: "npm:1.0.2" + get-stream: "npm:3.0.0" + http-cache-semantics: "npm:3.8.1" + keyv: "npm:3.0.0" + lowercase-keys: "npm:1.0.0" + normalize-url: "npm:2.0.1" + responselike: "npm:1.0.2" + checksum: 10c0/41ae13b3cd0ec2c68598b53f2b61b16eee2cb49f9dfa3fb156a0408644ef0d73d49c2f8d86faf32f9866536fe34908810fc695b05e055c4b12459f6be413e6c5 + languageName: node + linkType: hard + +"cacheable-request@npm:^7.0.2": + version: 7.0.4 + resolution: "cacheable-request@npm:7.0.4" + dependencies: + clone-response: "npm:^1.0.2" + get-stream: "npm:^5.1.0" + http-cache-semantics: "npm:^4.0.0" + keyv: "npm:^4.0.0" + lowercase-keys: "npm:^2.0.0" + normalize-url: "npm:^6.0.1" + responselike: "npm:^2.0.0" + checksum: 10c0/0834a7d17ae71a177bc34eab06de112a43f9b5ad05ebe929bec983d890a7d9f2bc5f1aa8bb67ea2b65e07a3bc74bea35fa62dd36dbac52876afe36fdcf83da41 + languageName: node + linkType: hard + +"cached-path-relative@npm:^1.0.0, cached-path-relative@npm:^1.0.2": + version: 1.1.0 + resolution: "cached-path-relative@npm:1.1.0" + checksum: 10c0/b181a297a736d69a1210510b91c59c77530782890e4f1bad8548deeab2a8dca69e57ea23c0ca08fbb8ce8d0235a2aa5caf2ea0744652e0c4df81f7427b2b73f4 + languageName: node + linkType: hard + +"caching-transform@npm:^4.0.0": + version: 4.0.0 + resolution: "caching-transform@npm:4.0.0" + dependencies: + hasha: "npm:^5.0.0" + make-dir: "npm:^3.0.0" + package-hash: "npm:^4.0.0" + write-file-atomic: "npm:^3.0.0" + checksum: 10c0/7b33669dadfad292636578087a1aa7bcf9fbd60d6cbc67e8f288e3667397193c00bdac35bb84d34bd44fa9209405791fd3ab101c2126109e6eaaef1b899da759 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.1" + checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d + languageName: node + linkType: hard + +"call-me-maybe@npm:^1.0.1": + version: 1.0.2 + resolution: "call-me-maybe@npm:1.0.2" + checksum: 10c0/8eff5dbb61141ebb236ed71b4e9549e488bcb5451c48c11e5667d5c75b0532303788a1101e6978cafa2d0c8c1a727805599c2741e3e0982855c9f1d78cd06c9f + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camel-case@npm:^4.1.2": + version: 4.1.2 + resolution: "camel-case@npm:4.1.2" + dependencies: + pascal-case: "npm:^3.1.2" + tslib: "npm:^2.0.3" + checksum: 10c0/bf9eefaee1f20edbed2e9a442a226793bc72336e2b99e5e48c6b7252b6f70b080fc46d8246ab91939e2af91c36cdd422e0af35161e58dd089590f302f8f64c8a + languageName: node + linkType: hard + +"camelcase-keys@npm:^6.2.2": + version: 6.2.2 + resolution: "camelcase-keys@npm:6.2.2" + dependencies: + camelcase: "npm:^5.3.1" + map-obj: "npm:^4.0.0" + quick-lru: "npm:^4.0.1" + checksum: 10c0/bf1a28348c0f285c6c6f68fb98a9d088d3c0269fed0cdff3ea680d5a42df8a067b4de374e7a33e619eb9d5266a448fe66c2dd1f8e0c9209ebc348632882a3526 + languageName: node + linkType: hard + +"camelcase@npm:^2.0.1": + version: 2.1.1 + resolution: "camelcase@npm:2.1.1" + checksum: 10c0/610db65fa7dd50a400525ec2188fd65a1939dda4afe5de7d08608670013269c3743c3737fb0f138d1df8aa74e257cc83e3b756e776b604af16dac297b4a0d054 + languageName: node + linkType: hard + +"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 + languageName: node + linkType: hard + +"camelcase@npm:^6.0.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001587": + version: 1.0.30001594 + resolution: "caniuse-lite@npm:1.0.30001594" + checksum: 10c0/738b4ea8b12f040baafe5fe4c63f16f27c10334e0a36cc9786811b781a92c749523abc88cf20a4f4f9da0413e1c13b0482ee8e8b7398a3554742fba036b8ed91 + languageName: node + linkType: hard + +"capital-case@npm:^1.0.4": + version: 1.0.4 + resolution: "capital-case@npm:1.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + upper-case-first: "npm:^2.0.2" + checksum: 10c0/6a034af73401f6e55d91ea35c190bbf8bda21714d4ea8bb8f1799311d123410a80f0875db4e3236dc3f97d74231ff4bf1c8783f2be13d7733c7d990c57387281 + languageName: node + linkType: hard + +"capture-stack-trace@npm:^1.0.0": + version: 1.0.2 + resolution: "capture-stack-trace@npm:1.0.2" + checksum: 10c0/9f910506dcbe82dbfadf81a9e8c7cff478dd64ea2de319d01762de32940cdb082217686215a8ed389a540e683779fe56ac4b9a2957d1bfdd8c730d08e5f12ca5 + languageName: node + linkType: hard + +"caseless@npm:~0.12.0": + version: 0.12.0 + resolution: "caseless@npm:0.12.0" + checksum: 10c0/ccf64bcb6c0232cdc5b7bd91ddd06e23a4b541f138336d4725233ac538041fb2f29c2e86c3c4a7a61ef990b665348db23a047060b9414c3a6603e9fa61ad4626 + languageName: node + linkType: hard + +"caw@npm:^2.0.1": + version: 2.0.1 + resolution: "caw@npm:2.0.1" + dependencies: + get-proxy: "npm:^2.0.0" + isurl: "npm:^1.0.0-alpha5" + tunnel-agent: "npm:^0.6.0" + url-to-options: "npm:^1.0.1" + checksum: 10c0/ba9f6560920be553451298e34d417a4e47e914f0feefbd45acf66471d3d989f669379d04b2e76d29dbca7a923b0b94b988aab7e8512b915a74b1affe7160b2e7 + languageName: node + linkType: hard + +"chai@npm:^4.2.0, chai@npm:^4.3.10": + version: 4.4.1 + resolution: "chai@npm:4.4.1" + dependencies: + assertion-error: "npm:^1.1.0" + check-error: "npm:^1.0.3" + deep-eql: "npm:^4.1.3" + get-func-name: "npm:^2.0.2" + loupe: "npm:^2.3.6" + pathval: "npm:^1.1.1" + type-detect: "npm:^4.0.8" + checksum: 10c0/91590a8fe18bd6235dece04ccb2d5b4ecec49984b50924499bdcd7a95c02cb1fd2a689407c19bb854497bde534ef57525cfad6c7fdd2507100fd802fbc2aefbd + languageName: node + linkType: hard + +"chalk@npm:^1.0.0, chalk@npm:^1.1.0, chalk@npm:^1.1.3": + version: 1.1.3 + resolution: "chalk@npm:1.1.3" + dependencies: + ansi-styles: "npm:^2.2.1" + escape-string-regexp: "npm:^1.0.2" + has-ansi: "npm:^2.0.0" + strip-ansi: "npm:^3.0.0" + supports-color: "npm:^2.0.0" + checksum: 10c0/28c3e399ec286bb3a7111fd4225ebedb0d7b813aef38a37bca7c498d032459c265ef43404201d5fbb8d888d29090899c95335b4c0cda13e8b126ff15c541cef8 + languageName: node + linkType: hard + +"chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"change-case@npm:^4.1.1": + version: 4.1.2 + resolution: "change-case@npm:4.1.2" + dependencies: + camel-case: "npm:^4.1.2" + capital-case: "npm:^1.0.4" + constant-case: "npm:^3.0.4" + dot-case: "npm:^3.0.4" + header-case: "npm:^2.0.4" + no-case: "npm:^3.0.4" + param-case: "npm:^3.0.4" + pascal-case: "npm:^3.1.2" + path-case: "npm:^3.0.4" + sentence-case: "npm:^3.0.4" + snake-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/95a6e48563cd393241ce18470c7310a8a050304a64b63addac487560ab039ce42b099673d1d293cc10652324d92060de11b5d918179fe3b5af2ee521fb03ca58 + languageName: node + linkType: hard + +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 10c0/96e4731b9ec8050cbb56ab684e8c48d6c33f7826b755802d14e3ebfdc51c57afeece3ea39bc6b09acc359e4363525388b915e16640c1378053820f5e70d0f27d + languageName: node + linkType: hard + +"check-error@npm:^1.0.3": + version: 1.0.3 + resolution: "check-error@npm:1.0.3" + dependencies: + get-func-name: "npm:^2.0.2" + checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 + languageName: node + linkType: hard + +"chokidar@npm:3.5.1": + version: 3.5.1 + resolution: "chokidar@npm:3.5.1" + dependencies: + anymatch: "npm:~3.1.1" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.1" + glob-parent: "npm:~5.1.0" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.5.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/894d2fdeeef6a0bc61993a20b864e29e9296f2308628b8b2edf1bef2d59ab11f21938eebbbcbf581f15d16d3e030c08860d2fb035f7b9f3baebac57049a37959 + languageName: node + linkType: hard + +"chokidar@npm:^2.1.1, chokidar@npm:^2.1.8": + version: 2.1.8 + resolution: "chokidar@npm:2.1.8" + dependencies: + anymatch: "npm:^2.0.0" + async-each: "npm:^1.0.1" + braces: "npm:^2.3.2" + fsevents: "npm:^1.2.7" + glob-parent: "npm:^3.1.0" + inherits: "npm:^2.0.3" + is-binary-path: "npm:^1.0.0" + is-glob: "npm:^4.0.0" + normalize-path: "npm:^3.0.0" + path-is-absolute: "npm:^1.0.0" + readdirp: "npm:^2.2.1" + upath: "npm:^1.1.1" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/5631cc00080224f9482cf5418dcbea111aec02fa8d81a8cfe37e47b9cf36089e071de52d503647e3a821a01426a40adc926ba899f657af86a51b8f8d4eef12a7 + languageName: node + linkType: hard + +"chokidar@npm:^3.4.1, chokidar@npm:^3.5.1": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^1.1.1": + version: 1.1.4 + resolution: "chownr@npm:1.1.4" + checksum: 10c0/ed57952a84cc0c802af900cf7136de643d3aba2eecb59d29344bc2f3f9bf703a301b9d84cdc71f82c3ffc9ccde831b0d92f5b45f91727d6c9da62f23aef9d9db + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"chrome-launcher@npm:^0.13.1": + version: 0.13.4 + resolution: "chrome-launcher@npm:0.13.4" + dependencies: + "@types/node": "npm:*" + escape-string-regexp: "npm:^1.0.5" + is-wsl: "npm:^2.2.0" + lighthouse-logger: "npm:^1.0.0" + mkdirp: "npm:^0.5.3" + rimraf: "npm:^3.0.2" + checksum: 10c0/f869fbbf1d04983ebbc0489d17c1ac38d08f70b6d0665bf9287d85362fc885394dfb3db4de6304e9ce4a64f6b829d8b6f55e0b13c58c80be72bda8043af32a87 + languageName: node + linkType: hard + +"chrome-trace-event@npm:^1.0.2": + version: 1.0.3 + resolution: "chrome-trace-event@npm:1.0.3" + checksum: 10c0/080ce2d20c2b9e0f8461a380e9585686caa768b1c834a464470c9dc74cda07f27611c7b727a2cd768a9cecd033297fdec4ce01f1e58b62227882c1059dec321c + languageName: node + linkType: hard + +"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": + version: 1.0.4 + resolution: "cipher-base@npm:1.0.4" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/d8d005f8b64d8a77b3d3ce531301ae7b45902c9cab4ec8b66bdbd2bf2a1d9fceb9a2133c293eb3c060b2d964da0f14c47fb740366081338aa3795dd1faa8984b + languageName: node + linkType: hard + +"class-utils@npm:^0.3.5": + version: 0.3.6 + resolution: "class-utils@npm:0.3.6" + dependencies: + arr-union: "npm:^3.1.0" + define-property: "npm:^0.2.5" + isobject: "npm:^3.0.0" + static-extend: "npm:^0.1.1" + checksum: 10c0/d44f4afc7a3e48dba4c2d3fada5f781a1adeeff371b875c3b578bc33815c6c29d5d06483c2abfd43a32d35b104b27b67bfa39c2e8a422fa858068bd756cfbd42 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"cli-cursor@npm:^1.0.1, cli-cursor@npm:^1.0.2": + version: 1.0.2 + resolution: "cli-cursor@npm:1.0.2" + dependencies: + restore-cursor: "npm:^1.0.1" + checksum: 10c0/a621ddfae6dde44c699c520ef416745d096b7d58255f3a2a2727b19db4a308085f33ca86e19f1bf3e4dc4d500c347c5c9ed62c4cfe1a23c2fd4b0419e1ff4e8b + languageName: node + linkType: hard + +"cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: "npm:^3.1.0" + checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 + languageName: node + linkType: hard + +"cli-width@npm:^1.0.1": + version: 1.1.1 + resolution: "cli-width@npm:1.1.1" + checksum: 10c0/257dd5c16b1c79ca571515dc5ff7872cbb8f0a7c98c4d2cc9a9498b2b1e9aec3794c2aa881ccf3dcc8fc0a5f2b4e4309d1a17758db36476ef13b4e5adb344fa8 + languageName: node + linkType: hard + +"cli-width@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-width@npm:3.0.0" + checksum: 10c0/125a62810e59a2564268c80fdff56c23159a7690c003e34aeb2e68497dccff26911998ff49c33916fcfdf71e824322cc3953e3f7b48b27267c7a062c81348a9a + languageName: node + linkType: hard + +"cliui@npm:^3.0.3": + version: 3.2.0 + resolution: "cliui@npm:3.2.0" + dependencies: + string-width: "npm:^1.0.1" + strip-ansi: "npm:^3.0.1" + wrap-ansi: "npm:^2.0.0" + checksum: 10c0/07b121fac7fd33ff8dbf3523f0d3dca0329d4e457e57dee54502aa5f27a33cbd9e66aa3e248f0260d8a1431b65b2bad8f510cd97fb8ab6a8e0506310a92e18d5 + languageName: node + linkType: hard + +"cliui@npm:^6.0.0": + version: 6.0.0 + resolution: "cliui@npm:6.0.0" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.0" + wrap-ansi: "npm:^6.2.0" + checksum: 10c0/35229b1bb48647e882104cac374c9a18e34bbf0bace0e2cf03000326b6ca3050d6b59545d91e17bfe3705f4a0e2988787aa5cde6331bf5cbbf0164732cef6492 + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"clone-deep@npm:^4.0.1": + version: 4.0.1 + resolution: "clone-deep@npm:4.0.1" + dependencies: + is-plain-object: "npm:^2.0.4" + kind-of: "npm:^6.0.2" + shallow-clone: "npm:^3.0.0" + checksum: 10c0/637753615aa24adf0f2d505947a1bb75e63964309034a1cf56ba4b1f30af155201edd38d26ffe26911adaae267a3c138b344a4947d39f5fc1b6d6108125aa758 + languageName: node + linkType: hard + +"clone-response@npm:1.0.2": + version: 1.0.2 + resolution: "clone-response@npm:1.0.2" + dependencies: + mimic-response: "npm:^1.0.0" + checksum: 10c0/96f3527ef86d0c322e0a5188d929ab78ddbc3238d47ccbb00f8abb02b02e4ef70339646ec73d657383ffbdb1f0cfef6a937062d4f701ca6f84cee7a37114007f + languageName: node + linkType: hard + +"clone-response@npm:^1.0.2": + version: 1.0.3 + resolution: "clone-response@npm:1.0.3" + dependencies: + mimic-response: "npm:^1.0.0" + checksum: 10c0/06a2b611824efb128810708baee3bd169ec9a1bf5976a5258cd7eb3f7db25f00166c6eee5961f075c7e38e194f373d4fdf86b8166ad5b9c7e82bbd2e333a6087 + languageName: node + linkType: hard + +"code-point-at@npm:^1.0.0": + version: 1.1.0 + resolution: "code-point-at@npm:1.1.0" + checksum: 10c0/33f6b234084e46e6e369b6f0b07949392651b4dde70fc6a592a8d3dafa08d5bb32e3981a02f31f6fc323a26bc03a4c063a9d56834848695bda7611c2417ea2e6 + languageName: node + linkType: hard + +"collection-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "collection-visit@npm:1.0.0" + dependencies: + map-visit: "npm:^1.0.0" + object-visit: "npm:^1.0.0" + checksum: 10c0/add72a8d1c37cb90e53b1aaa2c31bf1989bfb733f0b02ce82c9fa6828c7a14358dba2e4f8e698c02f69e424aeccae1ffb39acdeaf872ade2f41369e84a2fcf8a + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"color-support@npm:^1.1.2, color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 10c0/8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6 + languageName: node + linkType: hard + +"colors@npm:1.4.0": + version: 1.4.0 + resolution: "colors@npm:1.4.0" + checksum: 10c0/9af357c019da3c5a098a301cf64e3799d27549d8f185d86f79af23069e4f4303110d115da98483519331f6fb71c8568d5688fa1c6523600044fd4a54e97c4efb + languageName: node + linkType: hard + +"combine-source-map@npm:^0.8.0, combine-source-map@npm:~0.8.0": + version: 0.8.0 + resolution: "combine-source-map@npm:0.8.0" + dependencies: + convert-source-map: "npm:~1.1.0" + inline-source-map: "npm:~0.6.0" + lodash.memoize: "npm:~3.0.3" + source-map: "npm:~0.5.3" + checksum: 10c0/5f6a743b9fa59f3a51d14162c96d685ddaa1f0c9307d1e6cb864ae1649882138a776b77d8135b616258aa72716052b2f4d3655b10c3d75ea2405d8eb2c7afd1a + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"command-line-args@npm:^5.1.1": + version: 5.2.1 + resolution: "command-line-args@npm:5.2.1" + dependencies: + array-back: "npm:^3.1.0" + find-replace: "npm:^3.0.0" + lodash.camelcase: "npm:^4.3.0" + typical: "npm:^4.0.0" + checksum: 10c0/a4f6a23a1e420441bd1e44dee24efd12d2e49af7efe6e21eb32fca4e843ca3d5501ddebad86a4e9d99aa626dd6dcb64c04a43695388be54e3a803dbc326cc89f + languageName: node + linkType: hard + +"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.8.1, commander@npm:^2.9.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + +"commander@npm:^4.0.1": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + +"commander@npm:~2.14.1": + version: 2.14.1 + resolution: "commander@npm:2.14.1" + checksum: 10c0/b29bb0220fb27645a958a9cbecc5c138adeb4d151a17d43acd5c8cd7ffed1a64e502a20338e3faad235c5c8e23df893dd02dfe6eddf47f90fc51b51825084719 + languageName: node + linkType: hard + +"comment-parser@npm:^0.7.6": + version: 0.7.6 + resolution: "comment-parser@npm:0.7.6" + checksum: 10c0/7b9b19f81faaffc0e477958a017195fda37b7b48ef063d139d729b98dd68843b9133e723137b8e8c35cef9f44e529de3d7291374a4bbb78c3796b0866aeb32ec + languageName: node + linkType: hard + +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 10c0/33a124960e471c25ee19280c9ce31ccc19574b566dc514fe4f4ca4c34fa8b0b57cf437671f5de380e11353ea9426213fca17687dd2ef03134fea2dbc53809fd6 + languageName: node + linkType: hard + +"component-emitter@npm:^1.2.1": + version: 1.3.1 + resolution: "component-emitter@npm:1.3.1" + checksum: 10c0/e4900b1b790b5e76b8d71b328da41482118c0f3523a516a41be598dc2785a07fd721098d9bf6e22d89b19f4fa4e1025160dc00317ea111633a3e4f75c2b86032 + languageName: node + linkType: hard + +"compress-commons@npm:^4.1.2": + version: 4.1.2 + resolution: "compress-commons@npm:4.1.2" + dependencies: + buffer-crc32: "npm:^0.2.13" + crc32-stream: "npm:^4.0.2" + normalize-path: "npm:^3.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/e5fa03cb374ed89028e20226c70481e87286240392d5c6856f4e7fef40605c1892748648e20ed56597d390d76513b1b9bb4dbd658a1bbff41c9fa60107c74d3f + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"concat-stream@npm:^1.5.0, concat-stream@npm:^1.6.0, concat-stream@npm:^1.6.1, concat-stream@npm:~1.6.0": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.2.2" + typedarray: "npm:^0.0.6" + checksum: 10c0/2e9864e18282946dabbccb212c5c7cec0702745e3671679eb8291812ca7fd12023f7d8cb36493942a62f770ac96a7f90009dc5c82ad69893438371720fa92617 + languageName: node + linkType: hard + +"config-chain@npm:^1.1.11": + version: 1.1.13 + resolution: "config-chain@npm:1.1.13" + dependencies: + ini: "npm:^1.3.4" + proto-list: "npm:~1.2.1" + checksum: 10c0/39d1df18739d7088736cc75695e98d7087aea43646351b028dfabd5508d79cf6ef4c5bcd90471f52cd87ae470d1c5490c0a8c1a292fbe6ee9ff688061ea0963e + languageName: node + linkType: hard + +"configstore@npm:^1.0.0": + version: 1.4.0 + resolution: "configstore@npm:1.4.0" + dependencies: + graceful-fs: "npm:^4.1.2" + mkdirp: "npm:^0.5.0" + object-assign: "npm:^4.0.1" + os-tmpdir: "npm:^1.0.0" + osenv: "npm:^0.1.0" + uuid: "npm:^2.0.1" + write-file-atomic: "npm:^1.1.2" + xdg-basedir: "npm:^2.0.0" + checksum: 10c0/c27dc5d1557045e1c3761a2f60bfa7f8514e8afb08f18ef64cd6561b52dcd04b36bafe444fc4865835a3fb3956278a07f5eccf1579e7821d001c2714d81c0df3 + languageName: node + linkType: hard + +"connect@npm:^3.7.0": + version: 3.7.0 + resolution: "connect@npm:3.7.0" + dependencies: + debug: "npm:2.6.9" + finalhandler: "npm:1.1.2" + parseurl: "npm:~1.3.3" + utils-merge: "npm:1.0.1" + checksum: 10c0/f120c6116bb16a0a7d2703c0b4a0cd7ed787dc5ec91978097bf62aa967289020a9f41a9cd3c3276a7b92aaa36f382d2cd35fed7138fd466a55c8e9fdbed11ca8 + languageName: node + linkType: hard + +"console-browserify@npm:^1.1.0": + version: 1.2.0 + resolution: "console-browserify@npm:1.2.0" + checksum: 10c0/89b99a53b7d6cee54e1e64fa6b1f7ac24b844b4019c5d39db298637e55c1f4ffa5c165457ad984864de1379df2c8e1886cbbdac85d9dbb6876a9f26c3106f226 + languageName: node + linkType: hard + +"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 10c0/7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50 + languageName: node + linkType: hard + +"constant-case@npm:^3.0.4": + version: 3.0.4 + resolution: "constant-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + upper-case: "npm:^2.0.2" + checksum: 10c0/91d54f18341fcc491ae66d1086642b0cc564be3e08984d7b7042f8b0a721c8115922f7f11d6a09f13ed96ff326eabae11f9d1eb0335fa9d8b6e39e4df096010e + languageName: node + linkType: hard + +"constants-browserify@npm:^1.0.0, constants-browserify@npm:~1.0.0": + version: 1.0.0 + resolution: "constants-browserify@npm:1.0.0" + checksum: 10c0/ab49b1d59a433ed77c964d90d19e08b2f77213fb823da4729c0baead55e3c597f8f97ebccfdfc47bd896d43854a117d114c849a6f659d9986420e97da0f83ac5 + languageName: node + linkType: hard + +"content-disposition@npm:^0.5.2": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: "npm:5.2.1" + checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb + languageName: node + linkType: hard + +"content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af + languageName: node + linkType: hard + +"convert-source-map@npm:^1.1.0, convert-source-map@npm:^1.7.0": + version: 1.9.0 + resolution: "convert-source-map@npm:1.9.0" + checksum: 10c0/281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"convert-source-map@npm:~1.1.0": + version: 1.1.3 + resolution: "convert-source-map@npm:1.1.3" + checksum: 10c0/7e32f97b18eb4db09d4b3927bd813e9ae69484e060356cfcbfae3b25b90185f947aa203a3d3c6a3de7c5cdf7d9f29436baa292a4dea87817a57e43e51268bde6 + languageName: node + linkType: hard + +"cookie@npm:~0.4.1": + version: 0.4.2 + resolution: "cookie@npm:0.4.2" + checksum: 10c0/beab41fbd7c20175e3a2799ba948c1dcc71ef69f23fe14eeeff59fc09f50c517b0f77098db87dbb4c55da802f9d86ee86cdc1cd3efd87760341551838d53fca2 + languageName: node + linkType: hard + +"copy-concurrently@npm:^1.0.0": + version: 1.0.5 + resolution: "copy-concurrently@npm:1.0.5" + dependencies: + aproba: "npm:^1.1.1" + fs-write-stream-atomic: "npm:^1.0.8" + iferr: "npm:^0.1.5" + mkdirp: "npm:^0.5.1" + rimraf: "npm:^2.5.4" + run-queue: "npm:^1.0.0" + checksum: 10c0/c2ce213cb27ee3df584d16eb6c9bfe99cfb531585007533c3e4c752521b4fbf0b2f7f90807d79c496683330808ecd9fdbd9ab9ddfa0913150b7f5097423348ce + languageName: node + linkType: hard + +"copy-descriptor@npm:^0.1.0": + version: 0.1.1 + resolution: "copy-descriptor@npm:0.1.1" + checksum: 10c0/161f6760b7348c941007a83df180588fe2f1283e0867cc027182734e0f26134e6cc02de09aa24a95dc267b2e2025b55659eef76c8019df27bc2d883033690181 + languageName: node + linkType: hard + +"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.34.0": + version: 3.36.0 + resolution: "core-js-compat@npm:3.36.0" + dependencies: + browserslist: "npm:^4.22.3" + checksum: 10c0/5ce2ad0ece8379883c01958e196575abc015692fc0394b8917f132b6b32e5c2bfb2612902c3f98f270cfa2d9d6522c28d36665038f3726796f1f4b436e4f863e + languageName: node + linkType: hard + +"core-js@npm:^2.4.0, core-js@npm:^2.6.5": + version: 2.6.12 + resolution: "core-js@npm:2.6.12" + checksum: 10c0/00128efe427789120a06b819adc94cc72b96955acb331cb71d09287baf9bd37bebd191d91f1ee4939c893a050307ead4faea08876f09115112612b6a05684b63 + languageName: node + linkType: hard + +"core-js@npm:^3.6.5": + version: 3.36.0 + resolution: "core-js@npm:3.36.0" + checksum: 10c0/62dcb41ba79ead581e4c5b2740ae18bfe6ee230e853893736d16edb01b580574d8645ff6c5513d1c75d59620f8451aee45c119d3c4f5ebc66cff5f003a816864 + languageName: node + linkType: hard + +"core-util-is@npm:1.0.2": + version: 1.0.2 + resolution: "core-util-is@npm:1.0.2" + checksum: 10c0/980a37a93956d0de8a828ce508f9b9e3317039d68922ca79995421944146700e4aaf490a6dbfebcb1c5292a7184600c7710b957d724be1e37b8254c6bc0fe246 + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 + languageName: node + linkType: hard + +"cors@npm:~2.8.5": + version: 2.8.5 + resolution: "cors@npm:2.8.5" + dependencies: + object-assign: "npm:^4" + vary: "npm:^1" + checksum: 10c0/373702b7999409922da80de4a61938aabba6929aea5b6fd9096fefb9e8342f626c0ebd7507b0e8b0b311380744cc985f27edebc0a26e0ddb784b54e1085de761 + languageName: node + linkType: hard + +"crc-32@npm:^1.2.0": + version: 1.2.2 + resolution: "crc-32@npm:1.2.2" + bin: + crc32: bin/crc32.njs + checksum: 10c0/11dcf4a2e77ee793835d49f2c028838eae58b44f50d1ff08394a610bfd817523f105d6ae4d9b5bef0aad45510f633eb23c903e9902e4409bed1ce70cb82b9bf0 + languageName: node + linkType: hard + +"crc32-stream@npm:^4.0.2": + version: 4.0.3 + resolution: "crc32-stream@npm:4.0.3" + dependencies: + crc-32: "npm:^1.2.0" + readable-stream: "npm:^3.4.0" + checksum: 10c0/127b0c66a947c54db37054fca86085722140644d3a75ebc61d4477bad19304d2936386b0461e8ee9e1c24b00e804cd7c2e205180e5bcb4632d20eccd60533bc4 + languageName: node + linkType: hard + +"create-ecdh@npm:^4.0.0": + version: 4.0.4 + resolution: "create-ecdh@npm:4.0.4" + dependencies: + bn.js: "npm:^4.1.0" + elliptic: "npm:^6.5.3" + checksum: 10c0/77b11a51360fec9c3bce7a76288fc0deba4b9c838d5fb354b3e40c59194d23d66efe6355fd4b81df7580da0661e1334a235a2a5c040b7569ba97db428d466e7f + languageName: node + linkType: hard + +"create-error-class@npm:^3.0.1": + version: 3.0.2 + resolution: "create-error-class@npm:3.0.2" + dependencies: + capture-stack-trace: "npm:^1.0.0" + checksum: 10c0/e7978884999f7195b20a56c327acf1d742b45c721098691863bd2a933180aa411d5dbe790d3565f3eca6105b829a647497d52e3e00edf1d5c19c1d116def69b6 + languageName: node + linkType: hard + +"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: "npm:^1.0.1" + inherits: "npm:^2.0.1" + md5.js: "npm:^1.3.4" + ripemd160: "npm:^2.0.1" + sha.js: "npm:^2.4.0" + checksum: 10c0/d402e60e65e70e5083cb57af96d89567954d0669e90550d7cec58b56d49c4b193d35c43cec8338bc72358198b8cbf2f0cac14775b651e99238e1cf411490f915 + languageName: node + linkType: hard + +"create-hmac@npm:^1.1.0, create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": + version: 1.1.7 + resolution: "create-hmac@npm:1.1.7" + dependencies: + cipher-base: "npm:^1.0.3" + create-hash: "npm:^1.1.0" + inherits: "npm:^2.0.1" + ripemd160: "npm:^2.0.0" + safe-buffer: "npm:^5.0.1" + sha.js: "npm:^2.4.8" + checksum: 10c0/24332bab51011652a9a0a6d160eed1e8caa091b802335324ae056b0dcb5acbc9fcf173cf10d128eba8548c3ce98dfa4eadaa01bd02f44a34414baee26b651835 + languageName: node + linkType: hard + +"cross-env@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-env@npm:7.0.3" + dependencies: + cross-spawn: "npm:^7.0.1" + bin: + cross-env: src/bin/cross-env.js + cross-env-shell: src/bin/cross-env-shell.js + checksum: 10c0/f3765c25746c69fcca369655c442c6c886e54ccf3ab8c16847d5ad0e91e2f337d36eedc6599c1227904bf2a228d721e690324446876115bc8e7b32a866735ecf + languageName: node + linkType: hard + +"cross-spawn-async@npm:^1.0.1": + version: 1.0.1 + resolution: "cross-spawn-async@npm:1.0.1" + dependencies: + lru-cache: "npm:^2.6.5" + which: "npm:^1.1.1" + checksum: 10c0/215b3de6b5639585721e852a9d9b436117ca76999ef2d73c4ae5eb668e86914183dd5c45c492ae0377bdda3bf77fb55410116b91e294f28a1c56f6aabf1728e6 + languageName: node + linkType: hard + +"cross-spawn@npm:^5.0.1": + version: 5.1.0 + resolution: "cross-spawn@npm:5.1.0" + dependencies: + lru-cache: "npm:^4.0.1" + shebang-command: "npm:^1.2.0" + which: "npm:^1.2.9" + checksum: 10c0/1918621fddb9f8c61e02118b2dbf81f611ccd1544ceaca0d026525341832b8511ce2504c60f935dbc06b35e5ef156fe8c1e72708c27dd486f034e9c0e1e07201 + languageName: node + linkType: hard + +"cross-spawn@npm:^6.0.0": + version: 6.0.5 + resolution: "cross-spawn@npm:6.0.5" + dependencies: + nice-try: "npm:^1.0.4" + path-key: "npm:^2.0.1" + semver: "npm:^5.5.0" + shebang-command: "npm:^1.2.0" + which: "npm:^1.2.9" + checksum: 10c0/e05544722e9d7189b4292c66e42b7abeb21db0d07c91b785f4ae5fefceb1f89e626da2703744657b287e86dcd4af57b54567cef75159957ff7a8a761d9055012 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + languageName: node + linkType: hard + +"crypto-browserify@npm:^3.0.0, crypto-browserify@npm:^3.11.0": + version: 3.12.0 + resolution: "crypto-browserify@npm:3.12.0" + dependencies: + browserify-cipher: "npm:^1.0.0" + browserify-sign: "npm:^4.0.0" + create-ecdh: "npm:^4.0.0" + create-hash: "npm:^1.1.0" + create-hmac: "npm:^1.1.0" + diffie-hellman: "npm:^5.0.0" + inherits: "npm:^2.0.1" + pbkdf2: "npm:^3.0.3" + public-encrypt: "npm:^4.0.0" + randombytes: "npm:^2.0.0" + randomfill: "npm:^1.0.3" + checksum: 10c0/0c20198886576050a6aa5ba6ae42f2b82778bfba1753d80c5e7a090836890dc372bdc780986b2568b4fb8ed2a91c958e61db1f0b6b1cc96af4bd03ffc298ba92 + languageName: node + linkType: hard + +"css-shorthand-properties@npm:^1.1.1": + version: 1.1.1 + resolution: "css-shorthand-properties@npm:1.1.1" + checksum: 10c0/f4a2acb9aa844e00ddc6bc47b7a68f2e3467f91e862253d276209f3e4f9c5821801babdfc9b8adba2b9271320bd54838953678859ef9edc33dd4b786fbe6c824 + languageName: node + linkType: hard + +"css-value@npm:^0.0.1": + version: 0.0.1 + resolution: "css-value@npm:0.0.1" + checksum: 10c0/1d3f5177df6c8d0ef26b98e2c3376b44c4a3898336bb2fb38d3ac38ee2e2848a4ca4fddec291108e1a254439f2c1462ac5cf71e342480b9123ac5f3cd1251cd5 + languageName: node + linkType: hard + +"cssstyle@npm:^4.0.1": + version: 4.0.1 + resolution: "cssstyle@npm:4.0.1" + dependencies: + rrweb-cssom: "npm:^0.6.0" + checksum: 10c0/cadf9a8b23e11f4c6d63f21291096a0b0be868bd4ab9c799daa2c5b18330e39e5281605f01da906e901b42f742df0f3b3645af6465e83377ff7d15a88ee432a0 + languageName: node + linkType: hard + +"custom-event@npm:~1.0.0": + version: 1.0.1 + resolution: "custom-event@npm:1.0.1" + checksum: 10c0/86cd8497328b1e17dcda894c8df34a73b7a99f915123940d39b33c709482b2d3a2e689cd5e79e4775eb4167227689f57a2ae2f99a3f0bc9c54c0ac1b06853bd5 + languageName: node + linkType: hard + +"cyclist@npm:^1.0.1": + version: 1.0.2 + resolution: "cyclist@npm:1.0.2" + checksum: 10c0/163e2f7207180ccf2bb5a6ca8a7360469c13fad631509ef96de02397266b3a42089e2b2b51b97d3d8fdc4709d2fbe651c309670e5cc28b0ae445b1e5a34a98e2 + languageName: node + linkType: hard + +"dash-ast@npm:^1.0.0": + version: 1.0.0 + resolution: "dash-ast@npm:1.0.0" + checksum: 10c0/2d3380b55e6879d1382b7f48b3df0587f55a731fa2ffba17a0c3f625f3a99f7549c60f049dca5247e31cbea0b7e0c67944cca2347264d1e8b72c234ac4aaf35d + languageName: node + linkType: hard + +"dashdash@npm:^1.12.0": + version: 1.14.1 + resolution: "dashdash@npm:1.14.1" + dependencies: + assert-plus: "npm:^1.0.0" + checksum: 10c0/64589a15c5bd01fa41ff7007e0f2c6552c5ef2028075daa16b188a3721f4ba001841bf306dfc2eee6e2e6e7f76b38f5f17fb21fa847504192290ffa9e150118a + languageName: node + linkType: hard + +"data-urls@npm:^5.0.0": + version: 5.0.0 + resolution: "data-urls@npm:5.0.0" + dependencies: + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + checksum: 10c0/1b894d7d41c861f3a4ed2ae9b1c3f0909d4575ada02e36d3d3bc584bdd84278e20709070c79c3b3bff7ac98598cb191eb3e86a89a79ea4ee1ef360e1694f92ad + languageName: node + linkType: hard + +"data-view-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-buffer@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/8984119e59dbed906a11fcfb417d7d861936f16697a0e7216fe2c6c810f6b5e8f4a5281e73f2c28e8e9259027190ac4a33e2a65fdd7fa86ac06b76e838918583 + languageName: node + linkType: hard + +"data-view-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "data-view-byte-length@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/779eed07675503459988cbc3cf9aa5c40164f3ff7912d81e009c64f98c29a1a456357200ef819487b0f7b28da3d4f3036596ca7015e8a4f6af3810f8302c797a + languageName: node + linkType: hard + +"data-view-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "data-view-byte-offset@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f + languageName: node + linkType: hard + +"date-format@npm:^4.0.14": + version: 4.0.14 + resolution: "date-format@npm:4.0.14" + checksum: 10c0/1c67a4d77c677bb880328c81d81f5b9ed7fbf672bdaff74e5a0f7314b21188f3a829b06acf120c70cc1df876a7724e3e5c23d511e86d64656a3035a76ac3930b + languageName: node + linkType: hard + +"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.8, debug@npm:^2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 + languageName: node + linkType: hard + +"debug@npm:4.3.1": + version: 4.3.1 + resolution: "debug@npm:4.3.1" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/610bcc2eb07c533d6a9964478422f7d741095d67301888ee0b77b8f2ad0a15d115c93fb2adb13d10a9eda3d81f2d4d335405540b09596fb23aca070e77497d95 + languageName: node + linkType: hard + +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + languageName: node + linkType: hard + +"decamelize-keys@npm:^1.1.0": + version: 1.1.1 + resolution: "decamelize-keys@npm:1.1.1" + dependencies: + decamelize: "npm:^1.1.0" + map-obj: "npm:^1.0.0" + checksum: 10c0/4ca385933127437658338c65fb9aead5f21b28d3dd3ccd7956eb29aab0953b5d3c047fbc207111672220c71ecf7a4d34f36c92851b7bbde6fca1a02c541bdd7d + languageName: node + linkType: hard + +"decamelize@npm:^1.1.0, decamelize@npm:^1.1.1, decamelize@npm:^1.2.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 + languageName: node + linkType: hard + +"decamelize@npm:^4.0.0": + version: 4.0.0 + resolution: "decamelize@npm:4.0.0" + checksum: 10c0/e06da03fc05333e8cd2778c1487da67ffbea5b84e03ca80449519b8fa61f888714bbc6f459ea963d5641b4aa98832130eb5cd193d90ae9f0a27eee14be8e278d + languageName: node + linkType: hard + +"decimal.js@npm:^10.4.3": + version: 10.4.3 + resolution: "decimal.js@npm:10.4.3" + checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee + languageName: node + linkType: hard + +"decode-uri-component@npm:^0.2.0": + version: 0.2.2 + resolution: "decode-uri-component@npm:0.2.2" + checksum: 10c0/1f4fa54eb740414a816b3f6c24818fbfcabd74ac478391e9f4e2282c994127db02010ce804f3d08e38255493cfe68608b3f5c8e09fd6efc4ae46c807691f7a31 + languageName: node + linkType: hard + +"decompress-response@npm:^3.3.0": + version: 3.3.0 + resolution: "decompress-response@npm:3.3.0" + dependencies: + mimic-response: "npm:^1.0.0" + checksum: 10c0/5ffaf1d744277fd51c68c94ddc3081cd011b10b7de06637cccc6ecba137d45304a09ba1a776dee1c47fccc60b4a056c4bc74468eeea798ff1f1fca0024b45c9d + languageName: node + linkType: hard + +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: "npm:^3.1.0" + checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e + languageName: node + linkType: hard + +"decompress-tar@npm:^4.0.0, decompress-tar@npm:^4.1.0, decompress-tar@npm:^4.1.1": + version: 4.1.1 + resolution: "decompress-tar@npm:4.1.1" + dependencies: + file-type: "npm:^5.2.0" + is-stream: "npm:^1.1.0" + tar-stream: "npm:^1.5.2" + checksum: 10c0/92d86c5dfe2a89f9b5db584668f8ed2a3107339083872c7f78b5f7d55222d954545e018c10346a50991542ad6d1406128bf1c97a24f023810993a1dcfb3c3f21 + languageName: node + linkType: hard + +"decompress-tarbz2@npm:^4.0.0": + version: 4.1.1 + resolution: "decompress-tarbz2@npm:4.1.1" + dependencies: + decompress-tar: "npm:^4.1.0" + file-type: "npm:^6.1.0" + is-stream: "npm:^1.1.0" + seek-bzip: "npm:^1.0.5" + unbzip2-stream: "npm:^1.0.9" + checksum: 10c0/d5ab2c2435a53f45da8348ffdb5ae0a3ff8fec55948b7890a1c55413de4d1e539a22978e7dcd8bd3561985878c9778253fe146cbdea429f04fa4529abb57c54e + languageName: node + linkType: hard + +"decompress-targz@npm:^4.0.0": + version: 4.1.1 + resolution: "decompress-targz@npm:4.1.1" + dependencies: + decompress-tar: "npm:^4.1.1" + file-type: "npm:^5.2.0" + is-stream: "npm:^1.1.0" + checksum: 10c0/42514fb2df6248c56b2b115494b7d1d046bc582e960354ba4faad5792f261782a61d17d9ef53845abe78c0f0ecafc195cb0754c00227fa0bd0642a1bfd8eafad + languageName: node + linkType: hard + +"decompress-unzip@npm:^4.0.1": + version: 4.0.1 + resolution: "decompress-unzip@npm:4.0.1" + dependencies: + file-type: "npm:^3.8.0" + get-stream: "npm:^2.2.0" + pify: "npm:^2.3.0" + yauzl: "npm:^2.4.2" + checksum: 10c0/896f88e1c23b59cdce022227a8910c06158bd4b296c21d61af7167bd50d00e9e4355b605bdbfd7ba75d46ad277d4f881cdd037aec7165a40ccd0ee4ef59443a8 + languageName: node + linkType: hard + +"decompress@npm:^4.2.0": + version: 4.2.1 + resolution: "decompress@npm:4.2.1" + dependencies: + decompress-tar: "npm:^4.0.0" + decompress-tarbz2: "npm:^4.0.0" + decompress-targz: "npm:^4.0.0" + decompress-unzip: "npm:^4.0.1" + graceful-fs: "npm:^4.1.10" + make-dir: "npm:^1.0.0" + pify: "npm:^2.3.0" + strip-dirs: "npm:^2.0.0" + checksum: 10c0/6730279fa206aad04a8338a88ab49c596034c502b2d5f23a28d0a28290b82d9217f9e60c8b5739805474ca842fc856e08e2d64ed759f2118c2bcabe42fa9eece + languageName: node + linkType: hard + +"deep-eql@npm:^4.1.3": + version: 4.1.3 + resolution: "deep-eql@npm:4.1.3" + dependencies: + type-detect: "npm:^4.0.0" + checksum: 10c0/ff34e8605d8253e1bf9fe48056e02c6f347b81d9b5df1c6650a1b0f6f847b4a86453b16dc226b34f853ef14b626e85d04e081b022e20b00cd7d54f079ce9bbdd + languageName: node + linkType: hard + +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"deepmerge@npm:^4.0.0": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + +"default-require-extensions@npm:^3.0.0": + version: 3.0.1 + resolution: "default-require-extensions@npm:3.0.1" + dependencies: + strip-bom: "npm:^4.0.0" + checksum: 10c0/5ca376cb527d9474336ad76dd302d06367a7163379dda26558258de26f85861e696d0b7bb19ee3c6b8456bb7c95cdc0e4e4d45c2aa487e61b2d3b60d80c10648 + languageName: node + linkType: hard + +"defer-to-connect@npm:^2.0.0": + version: 2.0.1 + resolution: "defer-to-connect@npm:2.0.1" + checksum: 10c0/625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.2, define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"define-property@npm:^0.2.5": + version: 0.2.5 + resolution: "define-property@npm:0.2.5" + dependencies: + is-descriptor: "npm:^0.1.0" + checksum: 10c0/9986915c0893818dedc9ca23eaf41370667762fd83ad8aa4bf026a28563120dbaacebdfbfbf2b18d3b929026b9c6ee972df1dbf22de8fafb5fe6ef18361e4750 + languageName: node + linkType: hard + +"define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "define-property@npm:1.0.0" + dependencies: + is-descriptor: "npm:^1.0.0" + checksum: 10c0/d7cf09db10d55df305f541694ed51dafc776ad9bb8a24428899c9f2d36b11ab38dce5527a81458d1b5e7c389f8cbe803b4abad6e91a0037a329d153b84fc975e + languageName: node + linkType: hard + +"define-property@npm:^2.0.2": + version: 2.0.2 + resolution: "define-property@npm:2.0.2" + dependencies: + is-descriptor: "npm:^1.0.2" + isobject: "npm:^3.0.1" + checksum: 10c0/f91a08ad008fa764172a2c072adc7312f10217ade89ddaea23018321c6d71b2b68b8c229141ed2064179404e345c537f1a2457c379824813695b51a6ad3e4969 + languageName: node + linkType: hard + +"defined@npm:^1.0.0": + version: 1.0.1 + resolution: "defined@npm:1.0.1" + checksum: 10c0/357212c95fd69c3b431f4766440f1b10a8362d2663b86e3d7c139fe7fc98a1d5a4996b8b55ca62e97fb882f9887374b76944d29f9650a07993d98e7be86a804a + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: 10c0/ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 + languageName: node + linkType: hard + +"depcheck@npm:^0.5.9": + version: 0.5.11 + resolution: "depcheck@npm:0.5.11" + dependencies: + babylon: "npm:^6.1.21" + deps-regex: "npm:^0.1.4" + js-yaml: "npm:^3.4.2" + minimatch: "npm:^3.0.0" + require-package-name: "npm:^2.0.1" + walkdir: "npm:0.0.11" + yargs: "npm:^3.26.0" + bin: + depcheck: bin/depcheck + checksum: 10c0/ba43f7a290d97b2ed377948e8f95ef63c049678c28fe69240b32fd1855c2badfd6d4e9c1082d11a38afdf5b640f878292a0d58e12c524ded86d9b862a415816b + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"deps-regex@npm:^0.1.4": + version: 0.1.4 + resolution: "deps-regex@npm:0.1.4" + checksum: 10c0/8c84b5e5ffe34339792f65dc5bba35ae2806e6bd3599d05b216b164eaa93ea645f80454dc762b98ec9e1b4aff18604e20063a8994d566c21aac5d78f94e71942 + languageName: node + linkType: hard + +"deps-sort@npm:^2.0.0": + version: 2.0.1 + resolution: "deps-sort@npm:2.0.1" + dependencies: + JSONStream: "npm:^1.0.3" + shasum-object: "npm:^1.0.0" + subarg: "npm:^1.0.0" + through2: "npm:^2.0.0" + bin: + deps-sort: bin/cmd.js + checksum: 10c0/e4f71e6c1d3fea2008f0dac179f9b07f75dcd0bb18eaf52e5cb5227b2ffb393fc0039f9bd4ec4c3877a899ce1d6f83d06edabe00789bcc1ccfc1bf008d697879 + languageName: node + linkType: hard + +"des.js@npm:^1.0.0": + version: 1.1.0 + resolution: "des.js@npm:1.1.0" + dependencies: + inherits: "npm:^2.0.1" + minimalistic-assert: "npm:^1.0.0" + checksum: 10c0/671354943ad67493e49eb4c555480ab153edd7cee3a51c658082fcde539d2690ed2a4a0b5d1f401f9cde822edf3939a6afb2585f32c091f2d3a1b1665cd45236 + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 + languageName: node + linkType: hard + +"detect-indent@npm:^4.0.0": + version: 4.0.0 + resolution: "detect-indent@npm:4.0.0" + dependencies: + repeating: "npm:^2.0.0" + checksum: 10c0/066a0d13eadebb1e7d2ba395fdf9f3956f31f8383a6db263320108c283e2230250a102f4871f54926cc8a77c6323ac7103f30550a4ac3d6518aa1b934c041295 + languageName: node + linkType: hard + +"detect-indent@npm:^6.0.0": + version: 6.1.0 + resolution: "detect-indent@npm:6.1.0" + checksum: 10c0/dd83cdeda9af219cf77f5e9a0dc31d828c045337386cfb55ce04fad94ba872ee7957336834154f7647b89b899c3c7acc977c57a79b7c776b506240993f97acc7 + languageName: node + linkType: hard + +"detect-newline@npm:^3.1.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: 10c0/c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d + languageName: node + linkType: hard + +"detect-node@npm:^2.0.4": + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 10c0/f039f601790f2e9d4654e499913259a798b1f5246ae24f86ab5e8bd4aaf3bce50484234c494f11fb00aecb0c6e2733aa7b1cf3f530865640b65fbbd65b2c4e09 + languageName: node + linkType: hard + +"detective@npm:^5.2.0": + version: 5.2.1 + resolution: "detective@npm:5.2.1" + dependencies: + acorn-node: "npm:^1.8.2" + defined: "npm:^1.0.0" + minimist: "npm:^1.2.6" + bin: + detective: bin/detective.js + checksum: 10c0/0d3bdfe49ef094165e7876d83ae1a9e0a07d037785ab0edc7b50df9e4390e0a050167670f3d2d506457c7b00b612471ba840898964422c425e50fe046a379e55 + languageName: node + linkType: hard + +"devtools-protocol@npm:0.0.818844": + version: 0.0.818844 + resolution: "devtools-protocol@npm:0.0.818844" + checksum: 10c0/5426f922699cb456b61ba8a951b753d2e250b1f7b3aed41bcddad40df5b7dda1dcdcf6d0d776314da53ec8fdeb961b31edadf20e3a5cb1bac50b5b9ec8b6cf51 + languageName: node + linkType: hard + +"devtools@npm:6.12.1": + version: 6.12.1 + resolution: "devtools@npm:6.12.1" + dependencies: + "@wdio/config": "npm:6.12.1" + "@wdio/logger": "npm:6.10.10" + "@wdio/protocols": "npm:6.12.0" + "@wdio/utils": "npm:6.11.0" + chrome-launcher: "npm:^0.13.1" + edge-paths: "npm:^2.1.0" + puppeteer-core: "npm:^5.1.0" + ua-parser-js: "npm:^0.7.21" + uuid: "npm:^8.0.0" + checksum: 10c0/ca03c3c29d7d58f377b2c4440f7aa0cbca2bfc88ae7f4951c5b3dfca337b7f2c5aa911f357c58c10bd3aa4bb4292c636f1fa5795c6696310685e23f293ac1ff2 + languageName: node + linkType: hard + +"di@npm:^0.0.1": + version: 0.0.1 + resolution: "di@npm:0.0.1" + checksum: 10c0/fbca4cc93e8c493d50f82df3a9ecaa5d8b2935674aabddeb8f68db3ab03c942c201f9c3d920de094407392ee6f488eac16b96f500c0ea6b408634864b7b939d1 + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + +"diff@npm:5.0.0": + version: 5.0.0 + resolution: "diff@npm:5.0.0" + checksum: 10c0/08c5904779bbababcd31f1707657b1ad57f8a9b65e6f88d3fb501d09a965d5f8d73066898a7d3f35981f9e4101892c61d99175d421f3b759533213c253d91134 + languageName: node + linkType: hard + +"diff@npm:^5.0.0": + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 + languageName: node + linkType: hard + +"diffie-hellman@npm:^5.0.0": + version: 5.0.3 + resolution: "diffie-hellman@npm:5.0.3" + dependencies: + bn.js: "npm:^4.1.0" + miller-rabin: "npm:^4.0.0" + randombytes: "npm:^2.0.0" + checksum: 10c0/ce53ccafa9ca544b7fc29b08a626e23a9b6562efc2a98559a0c97b4718937cebaa9b5d7d0a05032cc9c1435e9b3c1532b9e9bf2e0ede868525922807ad6e1ecf + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"doctrine@npm:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + languageName: node + linkType: hard + +"dom-serialize@npm:^2.2.1": + version: 2.2.1 + resolution: "dom-serialize@npm:2.2.1" + dependencies: + custom-event: "npm:~1.0.0" + ent: "npm:~2.2.0" + extend: "npm:^3.0.0" + void-elements: "npm:^2.0.0" + checksum: 10c0/ceb6e62b73c658986ca4c9b8b2fae358d8ae914eb06712d137da595a327c3bbca45a762f412a6d181f892ce5e3cffb855c2db2b64c53ad0534b2a0ad8e65b05e + languageName: node + linkType: hard + +"domain-browser@npm:^1.1.1, domain-browser@npm:^1.2.0": + version: 1.2.0 + resolution: "domain-browser@npm:1.2.0" + checksum: 10c0/a955f482f4b4710fbd77c12a33e77548d63603c30c80f61a80519f27e3db1ba8530b914584cc9e9365d2038753d6b5bd1f4e6c81e432b007b0ec95b8b5e69b1b + languageName: node + linkType: hard + +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/5b859ea65097a7ea870e2c91b5768b72ddf7fa947223fd29e167bcdff58fe731d941c48e47a38ec8aa8e43044c8fbd15cd8fa21689a526bc34b6548197cd5b05 + languageName: node + linkType: hard + +"download@npm:^7.1.0": + version: 7.1.0 + resolution: "download@npm:7.1.0" + dependencies: + archive-type: "npm:^4.0.0" + caw: "npm:^2.0.1" + content-disposition: "npm:^0.5.2" + decompress: "npm:^4.2.0" + ext-name: "npm:^5.0.0" + file-type: "npm:^8.1.0" + filenamify: "npm:^2.0.0" + get-stream: "npm:^3.0.0" + got: "npm:^8.3.1" + make-dir: "npm:^1.2.0" + p-event: "npm:^2.1.0" + pify: "npm:^3.0.0" + checksum: 10c0/19f6a36fdc8fced5c56a6f08572c33d7291fc052ff5fa34846f41dcec8c564bc805ab200f712fecab8556311a7f1ed4811514d8243d1c2d657e5da3fc4a49c12 + languageName: node + linkType: hard + +"duplexer2@npm:^0.1.2, duplexer2@npm:^0.1.4, duplexer2@npm:~0.1.0, duplexer2@npm:~0.1.2": + version: 0.1.4 + resolution: "duplexer2@npm:0.1.4" + dependencies: + readable-stream: "npm:^2.0.2" + checksum: 10c0/0765a4cc6fe6d9615d43cc6dbccff6f8412811d89a6f6aa44828ca9422a0a469625ce023bf81cee68f52930dbedf9c5716056ff264ac886612702d134b5e39b4 + languageName: node + linkType: hard + +"duplexer3@npm:^0.1.4": + version: 0.1.5 + resolution: "duplexer3@npm:0.1.5" + checksum: 10c0/02195030d61c4d6a2a34eca71639f2ea5e05cb963490e5bd9527623c2ac7f50c33842a34d14777ea9cbfd9bc2be5a84065560b897d9fabb99346058a5b86ca98 + languageName: node + linkType: hard + +"duplexify@npm:^3.2.0, duplexify@npm:^3.4.2, duplexify@npm:^3.6.0": + version: 3.7.1 + resolution: "duplexify@npm:3.7.1" + dependencies: + end-of-stream: "npm:^1.0.0" + inherits: "npm:^2.0.1" + readable-stream: "npm:^2.0.0" + stream-shift: "npm:^1.0.0" + checksum: 10c0/59d1440c1b4e3a4db35ae96933392703ce83518db1828d06b9b6322920d6cbbf0b7159e88be120385fe459e77f1eb0c7622f26e9ec1f47c9ff05c2b35747dbd3 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"ecc-jsbn@npm:~0.1.1": + version: 0.1.2 + resolution: "ecc-jsbn@npm:0.1.2" + dependencies: + jsbn: "npm:~0.1.0" + safer-buffer: "npm:^2.1.0" + checksum: 10c0/6cf168bae1e2dad2e46561d9af9cbabfbf5ff592176ad4e9f0f41eaaf5fe5e10bb58147fe0a804de62b1ee9dad42c28810c88d652b21b6013c47ba8efa274ca1 + languageName: node + linkType: hard + +"edge-launcher@npm:1.2.2": + version: 1.2.2 + resolution: "edge-launcher@npm:1.2.2" + checksum: 10c0/cfeb42e8cc555d56a4183094c4be2a0bf764d53f82ad9d24fcd0b993c20f1a8f919a7797259b453dc30fbb035af0169863920cc0cf66bc395c0b4f980c74db1a + languageName: node + linkType: hard + +"edge-paths@npm:^2.1.0": + version: 2.2.1 + resolution: "edge-paths@npm:2.2.1" + dependencies: + "@types/which": "npm:^1.3.2" + which: "npm:^2.0.2" + checksum: 10c0/57c96067a9c1349b4dce25146386cbbe76718a7abbfa19a93c6a55f2365d74a0dd20d3c3162dcec33e6fc57131ec54708d80cd259d69a2ab9cd738589663e0e5 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.4.668": + version: 1.4.693 + resolution: "electron-to-chromium@npm:1.4.693" + checksum: 10c0/776014c015d3c326a357d3e9a2d007ad771d0ba0a70156d21fcc09fb68f5dad5e318b4ecf5bfdf0daa2805c126e5dc20da6da66bcd56331376e95c6b051fe088 + languageName: node + linkType: hard + +"elliptic@npm:^6.5.3, elliptic@npm:^6.5.5": + version: 6.5.5 + resolution: "elliptic@npm:6.5.5" + dependencies: + bn.js: "npm:^4.11.9" + brorand: "npm:^1.1.0" + hash.js: "npm:^1.0.0" + hmac-drbg: "npm:^1.0.1" + inherits: "npm:^2.0.4" + minimalistic-assert: "npm:^1.0.1" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/3e591e93783a1b66f234ebf5bd3a8a9a8e063a75073a35a671e03e3b25253b6e33ac121f7efe9b8808890fffb17b40596cc19d01e6e8d1fa13b9a56ff65597c8 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"emojis-list@npm:^3.0.0": + version: 3.0.0 + resolution: "emojis-list@npm:3.0.0" + checksum: 10c0/7dc4394b7b910444910ad64b812392159a21e1a7ecc637c775a440227dcb4f80eff7fe61f4453a7d7603fa23d23d30cc93fe9e4b5ed985b88d6441cd4a35117b + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec + languageName: node + linkType: hard + +"encoding@npm:^0.1.12, encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: "npm:^1.4.0" + checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 + languageName: node + linkType: hard + +"engine.io-parser@npm:~5.2.1": + version: 5.2.2 + resolution: "engine.io-parser@npm:5.2.2" + checksum: 10c0/38e71a92ed75e2873d4d9cfab7f889e4a3cfc939b689abd1045e1b2ef9f1a50d0350a2bef69f33d313c1aa626232702da5a9043a1038d76f5ecc0be440c648ab + languageName: node + linkType: hard + +"engine.io@npm:~6.5.2": + version: 6.5.4 + resolution: "engine.io@npm:6.5.4" + dependencies: + "@types/cookie": "npm:^0.4.1" + "@types/cors": "npm:^2.8.12" + "@types/node": "npm:>=10.0.0" + accepts: "npm:~1.3.4" + base64id: "npm:2.0.0" + cookie: "npm:~0.4.1" + cors: "npm:~2.8.5" + debug: "npm:~4.3.1" + engine.io-parser: "npm:~5.2.1" + ws: "npm:~8.11.0" + checksum: 10c0/1e90c46d682badf0c0a13c671a78ce3f6590f7e6b74b081804eb6e5103be11806015e3cde7eb7c1657c4866edcf069ea40ef1c66386a6befe30f0f1f30d3b2f2 + languageName: node + linkType: hard + +"enhanced-resolve@npm:^4.5.0": + version: 4.5.0 + resolution: "enhanced-resolve@npm:4.5.0" + dependencies: + graceful-fs: "npm:^4.1.2" + memory-fs: "npm:^0.5.0" + tapable: "npm:^1.0.0" + checksum: 10c0/d95fc630606ea35bed21c4a029bbb1681919571a2d1d2011c7fc42a26a9e48ed3d74a89949ce331e1fd3229850a303e3218b887b92951330f16bdfbb93a10e64 + languageName: node + linkType: hard + +"ent@npm:~2.2.0": + version: 2.2.0 + resolution: "ent@npm:2.2.0" + checksum: 10c0/d12c504d93afb8b22551323f78f60f0a2660289cf2de2210bdd2fdb07ac204956da23510a7711bf48079aa0aa726e21724224de6c6289120ddcf27652b30cb17 + languageName: node + linkType: hard + +"entities@npm:^4.4.0": + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^0.1.0": + version: 0.1.2 + resolution: "err-code@npm:0.1.2" + checksum: 10c0/b96ac25010f9b31d54f04566d713ff1987b617bf9698ca15cb86e5222fdfcea89331b896b91d39d94f30a4159e8a0f5f0a5c328d549f3e67ea347cdfb2ad5641 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"errno@npm:^0.1.3, errno@npm:~0.1.7": + version: 0.1.8 + resolution: "errno@npm:0.1.8" + dependencies: + prr: "npm:~1.0.1" + bin: + errno: cli.js + checksum: 10c0/83758951967ec57bf00b5f5b7dc797e6d65a6171e57ea57adcf1bd1a0b477fd9b5b35fae5be1ff18f4090ed156bce1db749fe7e317aac19d485a5d150f6a4936 + languageName: node + linkType: hard + +"error-ex@npm:^1.2.0, error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + languageName: node + linkType: hard + +"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3": + version: 1.23.0 + resolution: "es-abstract@npm:1.23.0" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + arraybuffer.prototype.slice: "npm:^1.0.3" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + data-view-buffer: "npm:^1.0.1" + data-view-byte-length: "npm:^1.0.0" + data-view-byte-offset: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + es-set-tostringtag: "npm:^2.0.3" + es-to-primitive: "npm:^1.2.1" + function.prototype.name: "npm:^1.1.6" + get-intrinsic: "npm:^1.2.4" + get-symbol-description: "npm:^1.0.2" + globalthis: "npm:^1.0.3" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.0.3" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.1" + internal-slot: "npm:^1.0.7" + is-array-buffer: "npm:^3.0.4" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.1" + is-negative-zero: "npm:^2.0.3" + is-regex: "npm:^1.1.4" + is-shared-array-buffer: "npm:^1.0.3" + is-string: "npm:^1.0.7" + is-typed-array: "npm:^1.1.13" + is-weakref: "npm:^1.0.2" + object-inspect: "npm:^1.13.1" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.5" + regexp.prototype.flags: "npm:^1.5.2" + safe-array-concat: "npm:^1.1.0" + safe-regex-test: "npm:^1.0.3" + string.prototype.trim: "npm:^1.2.8" + string.prototype.trimend: "npm:^1.0.7" + string.prototype.trimstart: "npm:^1.0.7" + typed-array-buffer: "npm:^1.0.2" + typed-array-byte-length: "npm:^1.0.1" + typed-array-byte-offset: "npm:^1.0.2" + typed-array-length: "npm:^1.0.5" + unbox-primitive: "npm:^1.0.2" + which-typed-array: "npm:^1.1.14" + checksum: 10c0/afda67ce205fedbd080b435a07cf479b257dc2f762dbab32d0a2011f1cf507326f8bbc41619754ad0ab5e6c88d0ec2e96e6bd7aed9511bfe04fdb1e08cad1c20 + languageName: node + linkType: hard + +"es-array-method-boxes-properly@npm:^1.0.0": + version: 1.0.0 + resolution: "es-array-method-boxes-properly@npm:1.0.0" + checksum: 10c0/4b7617d3fbd460d6f051f684ceca6cf7e88e6724671d9480388d3ecdd72119ddaa46ca31f2c69c5426a82e4b3091c1e81867c71dcdc453565cd90005ff2c382d + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: "npm:^1.2.4" + checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 + languageName: node + linkType: hard + +"es-errors@npm:^1.0.0, es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.0.3": + version: 2.0.3 + resolution: "es-set-tostringtag@npm:2.0.3" + dependencies: + get-intrinsic: "npm:^1.2.4" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.1" + checksum: 10c0/f22aff1585eb33569c326323f0b0d175844a1f11618b86e193b386f8be0ea9474cfbe46df39c45d959f7aa8f6c06985dc51dd6bce5401645ec5a74c4ceaa836a + languageName: node + linkType: hard + +"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": + version: 1.0.2 + resolution: "es-shim-unscopables@npm:1.0.2" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10c0/f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783 + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.2.1": + version: 1.2.1 + resolution: "es-to-primitive@npm:1.2.1" + dependencies: + is-callable: "npm:^1.1.4" + is-date-object: "npm:^1.0.1" + is-symbol: "npm:^1.0.2" + checksum: 10c0/0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1 + languageName: node + linkType: hard + +"es6-error@npm:^4.0.1, es6-error@npm:^4.1.1": + version: 4.1.1 + resolution: "es6-error@npm:4.1.1" + checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef + languageName: node + linkType: hard + +"esbuild@npm:^0.19.3": + version: 0.19.12 + resolution: "esbuild@npm:0.19.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.19.12" + "@esbuild/android-arm": "npm:0.19.12" + "@esbuild/android-arm64": "npm:0.19.12" + "@esbuild/android-x64": "npm:0.19.12" + "@esbuild/darwin-arm64": "npm:0.19.12" + "@esbuild/darwin-x64": "npm:0.19.12" + "@esbuild/freebsd-arm64": "npm:0.19.12" + "@esbuild/freebsd-x64": "npm:0.19.12" + "@esbuild/linux-arm": "npm:0.19.12" + "@esbuild/linux-arm64": "npm:0.19.12" + "@esbuild/linux-ia32": "npm:0.19.12" + "@esbuild/linux-loong64": "npm:0.19.12" + "@esbuild/linux-mips64el": "npm:0.19.12" + "@esbuild/linux-ppc64": "npm:0.19.12" + "@esbuild/linux-riscv64": "npm:0.19.12" + "@esbuild/linux-s390x": "npm:0.19.12" + "@esbuild/linux-x64": "npm:0.19.12" + "@esbuild/netbsd-x64": "npm:0.19.12" + "@esbuild/openbsd-x64": "npm:0.19.12" + "@esbuild/sunos-x64": "npm:0.19.12" + "@esbuild/win32-arm64": "npm:0.19.12" + "@esbuild/win32-ia32": "npm:0.19.12" + "@esbuild/win32-x64": "npm:0.19.12" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/0f2d21ffe24ebead64843f87c3aebe2e703a5ed9feb086a0728b24907fac2eb9923e4a79857d3df9059c915739bd7a870dd667972eae325c67f478b592b8582d + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 + languageName: node + linkType: hard + +"escape-string-regexp@npm:4.0.0, escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d + languageName: node + linkType: hard + +"eslint-config-standard@npm:^17.1.0": + version: 17.1.0 + resolution: "eslint-config-standard@npm:17.1.0" + peerDependencies: + eslint: ^8.0.1 + eslint-plugin-import: ^2.25.2 + eslint-plugin-n: "^15.0.0 || ^16.0.0 " + eslint-plugin-promise: ^6.0.0 + checksum: 10c0/d32f37ec4bea541debd3a8c9e05227673a9b1a9977da078195ee55fb371813ddf1349c75f2c33d76699fe3412f1e303181795f146e8d0e546b94fa0dce2bfbf9 + languageName: node + linkType: hard + +"eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" + dependencies: + debug: "npm:^3.2.7" + is-core-module: "npm:^2.13.0" + resolve: "npm:^1.22.4" + checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61 + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.8.0": + version: 2.8.1 + resolution: "eslint-module-utils@npm:2.8.1" + dependencies: + debug: "npm:^3.2.7" + peerDependenciesMeta: + eslint: + optional: true + checksum: 10c0/1aeeb97bf4b688d28de136ee57c824480c37691b40fa825c711a4caf85954e94b99c06ac639d7f1f6c1d69223bd21bcb991155b3e589488e958d5b83dfd0f882 + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.29.1": + version: 2.29.1 + resolution: "eslint-plugin-import@npm:2.29.1" + dependencies: + array-includes: "npm:^3.1.7" + array.prototype.findlastindex: "npm:^1.2.3" + array.prototype.flat: "npm:^1.3.2" + array.prototype.flatmap: "npm:^1.3.2" + debug: "npm:^3.2.7" + doctrine: "npm:^2.1.0" + eslint-import-resolver-node: "npm:^0.3.9" + eslint-module-utils: "npm:^2.8.0" + hasown: "npm:^2.0.0" + is-core-module: "npm:^2.13.1" + is-glob: "npm:^4.0.3" + minimatch: "npm:^3.1.2" + object.fromentries: "npm:^2.0.7" + object.groupby: "npm:^1.0.1" + object.values: "npm:^1.1.7" + semver: "npm:^6.3.1" + tsconfig-paths: "npm:^3.15.0" + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + checksum: 10c0/5f35dfbf4e8e67f741f396987de9504ad125c49f4144508a93282b4ea0127e052bde65ab6def1f31b6ace6d5d430be698333f75bdd7dca3bc14226c92a083196 + languageName: node + linkType: hard + +"eslint-plugin-jsdoc@npm:^30.0.3": + version: 30.7.13 + resolution: "eslint-plugin-jsdoc@npm:30.7.13" + dependencies: + comment-parser: "npm:^0.7.6" + debug: "npm:^4.3.1" + jsdoctypeparser: "npm:^9.0.0" + lodash: "npm:^4.17.20" + regextras: "npm:^0.7.1" + semver: "npm:^7.3.4" + spdx-expression-parse: "npm:^3.0.1" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 + checksum: 10c0/8a7a98d0b9bfe8fe29a9e371fe39db67e5e7cef89458875d77dda4f44f52e8768f924b07f5381c10fd8f5eda0b9461326dcb2a3acff115aa5f5f9a6855b4f0ea + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:^5.1.3": + version: 5.1.3 + resolution: "eslint-plugin-prettier@npm:5.1.3" + dependencies: + prettier-linter-helpers: "npm:^1.0.0" + synckit: "npm:^0.8.6" + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + checksum: 10c0/f45d5fc1fcfec6b0cf038a7a65ddd10a25df4fe3f9e1f6b7f0d5100e66f046a26a2492e69ee765dddf461b93c114cf2e1eb18d4970aafa6f385448985c136e09 + languageName: node + linkType: hard + +"eslint-plugin-promise@npm:^6.1.1": + version: 6.1.1 + resolution: "eslint-plugin-promise@npm:6.1.1" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + checksum: 10c0/ec705741c110cd1cb4d702776e1c7f7fe60b671b71f706c88054ab443cf2767aae5a663928fb426373ba1095eaeda312a740a4f880546631f0e0727f298b3393 + languageName: node + linkType: hard + +"eslint-plugin-unused-imports@npm:^3.1.0": + version: 3.1.0 + resolution: "eslint-plugin-unused-imports@npm:3.1.0" + dependencies: + eslint-rule-composer: "npm:^0.3.0" + peerDependencies: + "@typescript-eslint/eslint-plugin": 6 - 7 + eslint: 8 + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + checksum: 10c0/712268fc10e7a5b169070c5ec2655733f4cdcf079848b2812ebe716b429a16cb87f315d3c0004cf128ba3874f68dd938eec8394a03587484e97e146494b48cda + languageName: node + linkType: hard + +"eslint-rule-composer@npm:^0.3.0": + version: 0.3.0 + resolution: "eslint-rule-composer@npm:0.3.0" + checksum: 10c0/1f0c40d209e1503a955101a0dbba37e7fc67c8aaa47a5b9ae0b0fcbae7022c86e52b3df2b1b9ffd658e16cd80f31fff92e7222460a44d8251e61d49e0af79a07 + languageName: node + linkType: hard + +"eslint-scope@npm:^4.0.3": + version: 4.0.3 + resolution: "eslint-scope@npm:4.0.3" + dependencies: + esrecurse: "npm:^4.1.0" + estraverse: "npm:^4.1.1" + checksum: 10c0/a2a3fe5845938ce7cfd2e658c309a9bb27a7f9ce94f0cc447ed5f9fa95b16451556d7e1db4c8e5d2aaa02d02850f5346d23091bbe94f7097412ce846504b4dcc + languageName: node + linkType: hard + +"eslint-scope@npm:^5.0.0": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^4.1.1" + checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a + languageName: node + linkType: hard + +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + languageName: node + linkType: hard + +"eslint-utils@npm:^2.0.0": + version: 2.1.0 + resolution: "eslint-utils@npm:2.1.0" + dependencies: + eslint-visitor-keys: "npm:^1.1.0" + checksum: 10c0/69521c5d6569384b24093125d037ba238d3d6e54367f7143af9928f5286369e912c26cad5016d730c0ffb9797ac9e83831059d7f1d863f7dc84330eb02414611 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^1.1.0": + version: 1.3.0 + resolution: "eslint-visitor-keys@npm:1.3.0" + checksum: 10c0/10c91fdbbe36810dd4308e57f9a8bc7177188b2a70247e54e3af1fa05ebc66414ae6fd4ce3c6c6821591f43a556e9037bc6b071122e099b5f8b7d2f76df553e3 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint@npm:^8.57.0": + version: 8.57.0 + resolution: "eslint@npm:8.57.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.6.1" + "@eslint/eslintrc": "npm:^2.1.4" + "@eslint/js": "npm:8.57.0" + "@humanwhocodes/config-array": "npm:^0.11.14" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@nodelib/fs.walk": "npm:^1.2.8" + "@ungap/structured-clone": "npm:^1.2.0" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.3.2" + doctrine: "npm:^3.0.0" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^7.2.2" + eslint-visitor-keys: "npm:^3.4.3" + espree: "npm:^9.6.1" + esquery: "npm:^1.4.2" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^6.0.1" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + globals: "npm:^13.19.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + is-path-inside: "npm:^3.0.3" + js-yaml: "npm:^4.1.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.4.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + bin: + eslint: bin/eslint.js + checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 + languageName: node + linkType: hard + +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: "npm:^8.9.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esquery@npm:^1.4.2": + version: 1.5.0 + resolution: "esquery@npm:1.5.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 + languageName: node + linkType: hard + +"esrecurse@npm:^4.1.0, esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"eventemitter3@npm:^4.0.0": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b + languageName: node + linkType: hard + +"events@npm:^2.0.0": + version: 2.1.0 + resolution: "events@npm:2.1.0" + checksum: 10c0/693cd151d7f4d2b510c92d112efd82c2901fe0aa875147d20db86d52243311a24bb010cad6a9a37117afdfc473bc3f0e1489574ca8ede4a264b086ed7ff91c07 + languageName: node + linkType: hard + +"events@npm:^3.0.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 + languageName: node + linkType: hard + +"evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": + version: 1.0.3 + resolution: "evp_bytestokey@npm:1.0.3" + dependencies: + md5.js: "npm:^1.3.4" + node-gyp: "npm:latest" + safe-buffer: "npm:^5.1.1" + checksum: 10c0/77fbe2d94a902a80e9b8f5a73dcd695d9c14899c5e82967a61b1fc6cbbb28c46552d9b127cff47c45fcf684748bdbcfa0a50410349109de87ceb4b199ef6ee99 + languageName: node + linkType: hard + +"execa@npm:^0.7.0": + version: 0.7.0 + resolution: "execa@npm:0.7.0" + dependencies: + cross-spawn: "npm:^5.0.1" + get-stream: "npm:^3.0.0" + is-stream: "npm:^1.1.0" + npm-run-path: "npm:^2.0.0" + p-finally: "npm:^1.0.0" + signal-exit: "npm:^3.0.0" + strip-eof: "npm:^1.0.0" + checksum: 10c0/812f1776e2a6b2226532e43c1af87d8a12e26de03a06e7e043f653acf5565e0656f5f6c64d66726fefa17178ac129caaa419a50905934e7c4a846417abb25d4a + languageName: node + linkType: hard + +"execa@npm:^1.0.0": + version: 1.0.0 + resolution: "execa@npm:1.0.0" + dependencies: + cross-spawn: "npm:^6.0.0" + get-stream: "npm:^4.0.0" + is-stream: "npm:^1.1.0" + npm-run-path: "npm:^2.0.0" + p-finally: "npm:^1.0.0" + signal-exit: "npm:^3.0.0" + strip-eof: "npm:^1.0.0" + checksum: 10c0/cc71707c9aa4a2552346893ee63198bf70a04b5a1bc4f8a0ef40f1d03c319eae80932c59191f037990d7d102193e83a38ec72115fff814ec2fb3099f3661a590 + languageName: node + linkType: hard + +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + languageName: node + linkType: hard + +"executable@npm:^4.1.0": + version: 4.1.1 + resolution: "executable@npm:4.1.1" + dependencies: + pify: "npm:^2.2.0" + checksum: 10c0/c3cc5d2d2e3cdb1b7d7b0639ebd5566d113d7ada21cfa07f5226d55ba2a210320116720e07570ed5659ef2ec516bc00c8f0488dac75d112fd324ef25c2100173 + languageName: node + linkType: hard + +"exit-hook@npm:^1.0.0": + version: 1.1.1 + resolution: "exit-hook@npm:1.1.1" + checksum: 10c0/6485772b1f5fdc5c8bf0cf9e9ba430f5b1e1ced2976be0bc6474b695358be32374a59370f5a3cec452c1b786b5f181035f3a10c58f9c639d7a7218e1b49e1a3a + languageName: node + linkType: hard + +"exorcist@npm:^1.0.0": + version: 1.0.1 + resolution: "exorcist@npm:1.0.1" + dependencies: + is-stream: "npm:~1.1.0" + minimist: "npm:0.0.5" + mkdirp: "npm:~0.5.1" + mold-source-map: "npm:~0.4.0" + bin: + exorcist: ./bin/exorcist.js + checksum: 10c0/eafdaacab0ce050c4f1ccff038985870a62f8c3213fa1c15b288cea973d010c86cfe400b449ecafdb006a4956505067ba9feb40d5c164c0b1b94a46bd11e6c2d + languageName: node + linkType: hard + +"expand-brackets@npm:^2.1.4": + version: 2.1.4 + resolution: "expand-brackets@npm:2.1.4" + dependencies: + debug: "npm:^2.3.3" + define-property: "npm:^0.2.5" + extend-shallow: "npm:^2.0.1" + posix-character-classes: "npm:^0.1.0" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.1" + checksum: 10c0/3e2fb95d2d7d7231486493fd65db913927b656b6fcdfcce41e139c0991a72204af619ad4acb1be75ed994ca49edb7995ef241dbf8cf44dc3c03d211328428a87 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + +"ext-list@npm:^2.0.0": + version: 2.2.2 + resolution: "ext-list@npm:2.2.2" + dependencies: + mime-db: "npm:^1.28.0" + checksum: 10c0/bfdb435f333dccbf3f9698dc9d8e38eb47b42d756800bfafa9ec0c1c8aace877c40095baf36f691bcfd09bb88ed247c6e51596e75a158280fa19cf8588a7e258 + languageName: node + linkType: hard + +"ext-name@npm:^5.0.0": + version: 5.0.0 + resolution: "ext-name@npm:5.0.0" + dependencies: + ext-list: "npm:^2.0.0" + sort-keys-length: "npm:^1.0.0" + checksum: 10c0/6750b34636bb6dca78e1bcc797615af68ecf50d62cf774624a32ee7879da99c949b5c41e8aa56ede4eb15c6abad6b1a8858d0934faab75ff6e2fd6f408debe18 + languageName: node + linkType: hard + +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: "npm:^0.1.0" + checksum: 10c0/ee1cb0a18c9faddb42d791b2d64867bd6cfd0f3affb711782eb6e894dd193e2934a7f529426aac7c8ddb31ac5d38000a00aa2caf08aa3dfc3e1c8ff6ba340bd9 + languageName: node + linkType: hard + +"extend-shallow@npm:^3.0.0, extend-shallow@npm:^3.0.2": + version: 3.0.2 + resolution: "extend-shallow@npm:3.0.2" + dependencies: + assign-symbols: "npm:^1.0.0" + is-extendable: "npm:^1.0.1" + checksum: 10c0/f39581b8f98e3ad94995e33214fff725b0297cf09f2725b6f624551cfb71e0764accfd0af80becc0182af5014d2a57b31b85ec999f9eb8a6c45af81752feac9a + languageName: node + linkType: hard + +"extend@npm:^3.0.0, extend@npm:~3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 + languageName: node + linkType: hard + +"external-editor@npm:^3.0.3": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: "npm:^0.7.0" + iconv-lite: "npm:^0.4.24" + tmp: "npm:^0.0.33" + checksum: 10c0/c98f1ba3efdfa3c561db4447ff366a6adb5c1e2581462522c56a18bf90dfe4da382f9cd1feee3e330108c3595a854b218272539f311ba1b3298f841eb0fbf339 + languageName: node + linkType: hard + +"extglob@npm:^2.0.4": + version: 2.0.4 + resolution: "extglob@npm:2.0.4" + dependencies: + array-unique: "npm:^0.3.2" + define-property: "npm:^1.0.0" + expand-brackets: "npm:^2.1.4" + extend-shallow: "npm:^2.0.1" + fragment-cache: "npm:^0.2.1" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.1" + checksum: 10c0/e1a891342e2010d046143016c6c03d58455c2c96c30bf5570ea07929984ee7d48fad86b363aee08f7a8a638f5c3a66906429b21ecb19bc8e90df56a001cd282c + languageName: node + linkType: hard + +"extract-zip@npm:^2.0.0": + version: 2.0.1 + resolution: "extract-zip@npm:2.0.1" + dependencies: + "@types/yauzl": "npm:^2.9.1" + debug: "npm:^4.1.1" + get-stream: "npm:^5.1.0" + yauzl: "npm:^2.10.0" + dependenciesMeta: + "@types/yauzl": + optional: true + bin: + extract-zip: cli.js + checksum: 10c0/9afbd46854aa15a857ae0341a63a92743a7b89c8779102c3b4ffc207516b2019337353962309f85c66ee3d9092202a83cdc26dbf449a11981272038443974aee + languageName: node + linkType: hard + +"extsprintf@npm:1.3.0": + version: 1.3.0 + resolution: "extsprintf@npm:1.3.0" + checksum: 10c0/f75114a8388f0cbce68e277b6495dc3930db4dde1611072e4a140c24e204affd77320d004b947a132e9a3b97b8253017b2b62dce661975fb0adced707abf1ab5 + languageName: node + linkType: hard + +"extsprintf@npm:^1.2.0": + version: 1.4.1 + resolution: "extsprintf@npm:1.4.1" + checksum: 10c0/e10e2769985d0e9b6c7199b053a9957589d02e84de42832c295798cb422a025e6d4a92e0259c1fb4d07090f5bfde6b55fd9f880ac5855bd61d775f8ab75a7ab0 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^2.0.1": + version: 2.0.1 + resolution: "fast-deep-equal@npm:2.0.1" + checksum: 10c0/1602e0d6ed63493c865cc6b03f9070d6d3926e8cd086a123060b58f80a295f3f08b1ecfb479ae7c45b7fd45535202aea7cf5b49bc31bffb81c20b1502300be84 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.3.0 + resolution: "fast-diff@npm:1.3.0" + checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 + languageName: node + linkType: hard + +"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.9": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fast-safe-stringify@npm:^2.0.7": + version: 2.1.1 + resolution: "fast-safe-stringify@npm:2.1.1" + checksum: 10c0/d90ec1c963394919828872f21edaa3ad6f1dddd288d2bd4e977027afff09f5db40f94e39536d4646f7e01761d704d72d51dce5af1b93717f3489ef808f5f4e4d + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.17.1 + resolution: "fastq@npm:1.17.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + languageName: node + linkType: hard + +"fd-slicer@npm:~1.1.0": + version: 1.1.0 + resolution: "fd-slicer@npm:1.1.0" + dependencies: + pend: "npm:~1.2.0" + checksum: 10c0/304dd70270298e3ffe3bcc05e6f7ade2511acc278bc52d025f8918b48b6aa3b77f10361bddfadfe2a28163f7af7adbdce96f4d22c31b2f648ba2901f0c5fc20e + languageName: node + linkType: hard + +"figgy-pudding@npm:^3.5.1": + version: 3.5.2 + resolution: "figgy-pudding@npm:3.5.2" + checksum: 10c0/b21c7adaeb8485ef3c50e056b5dc8c3a6461818343aba141e0d7927aad47a0cb9f1d207ffdf494c380cd60d7c848c46a5ce5cb06987d10e9226fcec419c8af90 + languageName: node + linkType: hard + +"figures@npm:^1.3.5, figures@npm:^1.4.0": + version: 1.7.0 + resolution: "figures@npm:1.7.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + object-assign: "npm:^4.1.0" + checksum: 10c0/a10942b0eec3372bf61822ab130d2bbecdf527d551b0b013fbe7175b7a0238ead644ee8930a1a3cb872fb9ab2ec27df30e303765a3b70b97852e2e9ee43bdff3 + languageName: node + linkType: hard + +"figures@npm:^3.0.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: "npm:^3.0.4" + checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + languageName: node + linkType: hard + +"file-type@npm:^3.8.0": + version: 3.9.0 + resolution: "file-type@npm:3.9.0" + checksum: 10c0/7ae074b350c2300807a99d428600a8ee6b2ace901400898706a20ddc2c43c9abb7e05177ff55ed67a2fd26dfa9b91857b21ec9c0ab3202b9cabebc7e65900240 + languageName: node + linkType: hard + +"file-type@npm:^4.2.0": + version: 4.4.0 + resolution: "file-type@npm:4.4.0" + checksum: 10c0/9579e6efb6ed262d82e6e282ea301bee781e66491eadf5a2b5ebf2502394ddaa00be37549d8067dd7d4e7c2b145921f37f8262b0544734804d38ceedcb36229f + languageName: node + linkType: hard + +"file-type@npm:^5.2.0": + version: 5.2.0 + resolution: "file-type@npm:5.2.0" + checksum: 10c0/c16c2f4e484a838c12b63e08637277905f08aebb1afbc291086029210aea17ded5ed701c9a4588313446ae0c1da71566b58df9a9c758a1ec300c4f80b9713cbf + languageName: node + linkType: hard + +"file-type@npm:^6.1.0": + version: 6.2.0 + resolution: "file-type@npm:6.2.0" + checksum: 10c0/3d7fe85a10bd97ca0c35fd9a20d21f5b20849bbb70985d37c34475051433f3c6109c76a3e5893bff6773037b769be9730a2db762789ecf25def9b62a4c2ee953 + languageName: node + linkType: hard + +"file-type@npm:^8.1.0": + version: 8.1.0 + resolution: "file-type@npm:8.1.0" + checksum: 10c0/e46080a093bc1ac345c3d3e9e2bcb5ab8ef2d9866916e17d623bca823cc2d1288469e54e18758b2aebf4d0c27972d336305791415f961676d6fa0696a5889153 + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 + languageName: node + linkType: hard + +"filename-reserved-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "filename-reserved-regex@npm:2.0.0" + checksum: 10c0/453740b7f9fd126e508da555b37e38c1f7ff19f5e9f3d297b2de1beb09854957baddd74c83235e87b16e9ce27a2368798896669edad5a81b5b7bd8cb57c942fc + languageName: node + linkType: hard + +"filenamify@npm:^2.0.0": + version: 2.1.0 + resolution: "filenamify@npm:2.1.0" + dependencies: + filename-reserved-regex: "npm:^2.0.0" + strip-outer: "npm:^1.0.0" + trim-repeated: "npm:^1.0.0" + checksum: 10c0/47f107f94f69f89b7490bbead2a03ab2aa6ea7d07733afc169b24ad4bac7193c0bef40c3e23c9505bc5eaf93bea2cfbce460fb6073e580d7675fa0cbdce225fd + languageName: node + linkType: hard + +"fill-range@npm:^4.0.0": + version: 4.0.0 + resolution: "fill-range@npm:4.0.0" + dependencies: + extend-shallow: "npm:^2.0.1" + is-number: "npm:^3.0.0" + repeat-string: "npm:^1.6.1" + to-regex-range: "npm:^2.1.0" + checksum: 10c0/ccd57b7c43d7e28a1f8a60adfa3c401629c08e2f121565eece95e2386ebc64dedc7128d8c3448342aabf19db0c55a34f425f148400c7a7be9a606ba48749e089 + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f + languageName: node + linkType: hard + +"finalhandler@npm:1.1.2": + version: 1.1.2 + resolution: "finalhandler@npm:1.1.2" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + on-finished: "npm:~2.3.0" + parseurl: "npm:~1.3.3" + statuses: "npm:~1.5.0" + unpipe: "npm:~1.0.0" + checksum: 10c0/6a96e1f5caab085628c11d9fdceb82ba608d5e426c6913d4d918409baa271037a47f28fbba73279e8ad614f0b8fa71ea791d265e408d760793829edd8c2f4584 + languageName: node + linkType: hard + +"find-cache-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "find-cache-dir@npm:2.1.0" + dependencies: + commondir: "npm:^1.0.1" + make-dir: "npm:^2.0.0" + pkg-dir: "npm:^3.0.0" + checksum: 10c0/556117fd0af14eb88fb69250f4bba9e905e7c355c6136dff0e161b9cbd1f5285f761b778565a278da73a130f42eccc723d7ad4c002ae547ed1d698d39779dabb + languageName: node + linkType: hard + +"find-cache-dir@npm:^3.2.0, find-cache-dir@npm:^3.3.1": + version: 3.3.2 + resolution: "find-cache-dir@npm:3.3.2" + dependencies: + commondir: "npm:^1.0.1" + make-dir: "npm:^3.0.2" + pkg-dir: "npm:^4.1.0" + checksum: 10c0/92747cda42bff47a0266b06014610981cfbb71f55d60f2c8216bc3108c83d9745507fb0b14ecf6ab71112bed29cd6fb1a137ee7436179ea36e11287e3159e587 + languageName: node + linkType: hard + +"find-replace@npm:^3.0.0": + version: 3.0.0 + resolution: "find-replace@npm:3.0.0" + dependencies: + array-back: "npm:^3.0.1" + checksum: 10c0/fcd1bf7960388c8193c2861bcdc760c18ac14edb4bde062a961915d9a25727b2e8aabf0229e90cc09c753fd557e5a3e5ae61e49cadbe727be89a9e8e49ce7668 + languageName: node + linkType: hard + +"find-up@npm:5.0.0, find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: "npm:^3.0.0" + checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: "npm:^5.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 + languageName: node + linkType: hard + +"find-versions@npm:^3.0.0": + version: 3.2.0 + resolution: "find-versions@npm:3.2.0" + dependencies: + semver-regex: "npm:^2.0.0" + checksum: 10c0/9aac46e727fdb737270fb1152dea9c673c2fc2747aba8c978beeccc57f22fc052362451f7b014a7d9460c59e36c4c2a9ec93fc61642d29fbed98ca9cb2dcec99 + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.3" + rimraf: "npm:^3.0.2" + checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + languageName: node + linkType: hard + +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe + languageName: node + linkType: hard + +"flatted@npm:^3.2.7, flatted@npm:^3.2.9": + version: 3.3.1 + resolution: "flatted@npm:3.3.1" + checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf + languageName: node + linkType: hard + +"flush-write-stream@npm:^1.0.0": + version: 1.1.1 + resolution: "flush-write-stream@npm:1.1.1" + dependencies: + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.3.6" + checksum: 10c0/2cd4f65b728d5f388197a03dafabc6a5e4f0c2ed1a2d912e288f7aa1c2996dd90875e55b50cf32c78dca55ad2e2dfae5d3db09b223838388033d87cf5920dd87 + languageName: node + linkType: hard + +"follow-redirects@npm:^1.0.0": + version: 1.15.5 + resolution: "follow-redirects@npm:1.15.5" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/418d71688ceaf109dfd6f85f747a0c75de30afe43a294caa211def77f02ef19865b547dfb73fde82b751e1cc507c06c754120b848fe5a7400b0a669766df7615 + languageName: node + linkType: hard + +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: "npm:^1.1.3" + checksum: 10c0/22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa + languageName: node + linkType: hard + +"for-in@npm:^1.0.2": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 10c0/42bb609d564b1dc340e1996868b67961257fd03a48d7fdafd4f5119530b87f962be6b4d5b7e3a3fc84c9854d149494b1d358e0b0ce9837e64c4c6603a49451d6 + languageName: node + linkType: hard + +"foreground-child@npm:^2.0.0": + version: 2.0.0 + resolution: "foreground-child@npm:2.0.0" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/6719982783a448162f9a01500757fb2053bc5dcd4d67c7cd30739b38ccc01b39f84e408c30989d1d8774519c021c0498e2450ab127690fb09d7f2568fd94ffcc + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.1.1 + resolution: "foreground-child@npm:3.1.1" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 + languageName: node + linkType: hard + +"forever-agent@npm:~0.6.1": + version: 0.6.1 + resolution: "forever-agent@npm:0.6.1" + checksum: 10c0/364f7f5f7d93ab661455351ce116a67877b66f59aca199559a999bd39e3cfadbfbfacc10415a915255e2210b30c23febe9aec3ca16bf2d1ff11c935a1000e24c + languageName: node + linkType: hard + +"form-data@npm:^3.0.0": + version: 3.0.1 + resolution: "form-data@npm:3.0.1" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10c0/1ccc3ae064a080a799923f754d49fcebdd90515a8924f0f54de557540b50e7f1fe48ba5f2bd0435a5664aa2d49729107e6aaf2155a9abf52339474c5638b4485 + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.0 + resolution: "form-data@npm:4.0.0" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e + languageName: node + linkType: hard + +"form-data@npm:~2.3.2": + version: 2.3.3 + resolution: "form-data@npm:2.3.3" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.6" + mime-types: "npm:^2.1.12" + checksum: 10c0/706ef1e5649286b6a61e5bb87993a9842807fd8f149cd2548ee807ea4fb882247bdf7f6e64ac4720029c0cd5c80343de0e22eee1dc9e9882e12db9cc7bc016a4 + languageName: node + linkType: hard + +"fragment-cache@npm:^0.2.1": + version: 0.2.1 + resolution: "fragment-cache@npm:0.2.1" + dependencies: + map-cache: "npm:^0.2.2" + checksum: 10c0/5891d1c1d1d5e1a7fb3ccf28515c06731476fa88f7a50f4ede8a0d8d239a338448e7f7cc8b73db48da19c229fa30066104fe6489862065a4f1ed591c42fbeabf + languageName: node + linkType: hard + +"from2@npm:^2.1.0, from2@npm:^2.1.1": + version: 2.3.0 + resolution: "from2@npm:2.3.0" + dependencies: + inherits: "npm:^2.0.1" + readable-stream: "npm:^2.0.0" + checksum: 10c0/f87f7a2e4513244d551454a7f8324ef1f7837864a8701c536417286ec19ff4915606b1dfa8909a21b7591ebd8440ffde3642f7c303690b9a4d7c832d62248aa1 + languageName: node + linkType: hard + +"fromentries@npm:^1.2.0": + version: 1.3.2 + resolution: "fromentries@npm:1.3.2" + checksum: 10c0/63938819a86e39f490b0caa1f6b38b8ad04f41ccd2a1c144eb48a21f76e4dbc074bc62e97abb053c7c1f541ecc70cf0b8aaa98eed3fe02206db9b6f9bb9a6a47 + languageName: node + linkType: hard + +"fs-constants@npm:^1.0.0": + version: 1.0.0 + resolution: "fs-constants@npm:1.0.0" + checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 + languageName: node + linkType: hard + +"fs-extra@npm:^8.1.0": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^4.0.0" + universalify: "npm:^0.1.0" + checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 + languageName: node + linkType: hard + +"fs-extra@npm:^9.0.1": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: "npm:^1.0.0" + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs-write-stream-atomic@npm:^1.0.8": + version: 1.0.10 + resolution: "fs-write-stream-atomic@npm:1.0.10" + dependencies: + graceful-fs: "npm:^4.1.2" + iferr: "npm:^0.1.5" + imurmurhash: "npm:^0.1.4" + readable-stream: "npm:1 || 2" + checksum: 10c0/293b2b4ed346d35a28f8637a20cb2aef31be86503da501c42c2eda8fefed328bac16ce0e5daa7019f9329d73930c58031eaea2ce0c70f1680943fbfb7cff808b + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:^1.2.7": + version: 1.2.13 + resolution: "fsevents@npm:1.2.13" + dependencies: + bindings: "npm:^1.5.0" + nan: "npm:^2.12.1" + checksum: 10c0/4427ff08db9ee7327f2c3ad58ec56f9096a917eed861bfffaa2e2be419479cdf37d00750869ab9ecbf5f59f32ad999bd59577d73fc639193e6c0ce52bb253e02 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@npm:~2.3.1, fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A^1.2.7#optional!builtin": + version: 1.2.13 + resolution: "fsevents@patch:fsevents@npm%3A1.2.13#optional!builtin::version=1.2.13&hash=d11327" + dependencies: + bindings: "npm:^1.5.0" + nan: "npm:^2.12.1" + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.1#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"function.prototype.name@npm:^1.1.6": + version: 1.1.6 + resolution: "function.prototype.name@npm:1.1.6" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + functions-have-names: "npm:^1.2.3" + checksum: 10c0/9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b + languageName: node + linkType: hard + +"functional-red-black-tree@npm:^1.0.1": + version: 1.0.1 + resolution: "functional-red-black-tree@npm:1.0.1" + checksum: 10c0/5959eed0375803d9924f47688479bb017e0c6816a0e5ac151e22ba6bfe1d12c41de2f339188885e0aa8eeea2072dad509d8e4448467e816bde0a2ca86a0670d3 + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.3": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca + languageName: node + linkType: hard + +"gauge@npm:^3.0.0": + version: 3.0.2 + resolution: "gauge@npm:3.0.2" + dependencies: + aproba: "npm:^1.0.3 || ^2.0.0" + color-support: "npm:^1.1.2" + console-control-strings: "npm:^1.0.0" + has-unicode: "npm:^2.0.1" + object-assign: "npm:^4.1.1" + signal-exit: "npm:^3.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + wide-align: "npm:^1.1.2" + checksum: 10c0/75230ccaf216471e31025c7d5fcea1629596ca20792de50c596eb18ffb14d8404f927cd55535aab2eeecd18d1e11bd6f23ec3c2e9878d2dda1dc74bccc34b913 + languageName: node + linkType: hard + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: "npm:^1.0.3 || ^2.0.0" + color-support: "npm:^1.1.3" + console-control-strings: "npm:^1.1.0" + has-unicode: "npm:^2.0.1" + signal-exit: "npm:^3.0.7" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + wide-align: "npm:^1.1.5" + checksum: 10c0/ef10d7981113d69225135f994c9f8c4369d945e64a8fc721d655a3a38421b738c9fe899951721d1b47b73c41fdb5404ac87cc8903b2ecbed95d2800363e7e58c + languageName: node + linkType: hard + +"gaze@npm:^1.0.0": + version: 1.1.3 + resolution: "gaze@npm:1.1.3" + dependencies: + globule: "npm:^1.0.0" + checksum: 10c0/5369619e23f6585e3a5efc4b8fad3b9f129fb4a88685bf0d6a98ca5ea0adb3868ede3d05643101deb03c42e15a0d36182d37f0122945935d05eddc82f4d79bfe + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-assigned-identifiers@npm:^1.2.0": + version: 1.2.0 + resolution: "get-assigned-identifiers@npm:1.2.0" + checksum: 10c0/11197056cac88615dddb10ef79720dd1ce844729a066ca139e447803c91a4c5d3ff127737e9598d3ef6f423c3ec5eef7828b2b10a72ec2a5a84464c5e7ac4e28 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": + version: 2.0.2 + resolution: "get-func-name@npm:2.0.2" + checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + languageName: node + linkType: hard + +"get-package-type@npm:^0.1.0": + version: 0.1.0 + resolution: "get-package-type@npm:0.1.0" + checksum: 10c0/e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be + languageName: node + linkType: hard + +"get-port@npm:^5.1.1": + version: 5.1.1 + resolution: "get-port@npm:5.1.1" + checksum: 10c0/2873877a469b24e6d5e0be490724a17edb39fafc795d1d662e7bea951ca649713b4a50117a473f9d162312cb0e946597bd0e049ed2f866e79e576e8e213d3d1c + languageName: node + linkType: hard + +"get-proxy@npm:^2.0.0": + version: 2.1.0 + resolution: "get-proxy@npm:2.1.0" + dependencies: + npm-conf: "npm:^1.1.0" + checksum: 10c0/48a677061f90fea7a4fede28edb854d2433901b80beb1d240a42889092a7c38f23081de936e12048c55ed35e1f64d701ee8c07817469b3a916f03d9a2d78b8c0 + languageName: node + linkType: hard + +"get-stdin@npm:^4.0.1": + version: 4.0.1 + resolution: "get-stdin@npm:4.0.1" + checksum: 10c0/68fc39a0af6050bcad791fb3df72999e7636401f11f574bf24af07b1c640d30c01cf38aa39ee55665a93ee7a7753eeb6d1fce6c434dd1f458ee0f8fd02775809 + languageName: node + linkType: hard + +"get-stream@npm:3.0.0, get-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "get-stream@npm:3.0.0" + checksum: 10c0/003f5f3b8870da59c6aafdf6ed7e7b07b48c2f8629cd461bd3900726548b6b8cfa2e14d6b7814fbb08f07a42f4f738407fa70b989928b2783a76b278505bba22 + languageName: node + linkType: hard + +"get-stream@npm:^2.2.0": + version: 2.3.1 + resolution: "get-stream@npm:2.3.1" + dependencies: + object-assign: "npm:^4.0.1" + pinkie-promise: "npm:^2.0.0" + checksum: 10c0/46c12f496e7edec688a1cc570fe7556ce91e91201fa7efb146853fb9f0a8f0b0bb9a02cf9d9e4e9d4e2097f98c83b09621d9034c25ca0cf80ae6f4dace9c3465 + languageName: node + linkType: hard + +"get-stream@npm:^4.0.0": + version: 4.1.0 + resolution: "get-stream@npm:4.1.0" + dependencies: + pump: "npm:^3.0.0" + checksum: 10c0/294d876f667694a5ca23f0ca2156de67da950433b6fb53024833733975d32582896dbc7f257842d331809979efccf04d5e0b6b75ad4d45744c45f193fd497539 + languageName: node + linkType: hard + +"get-stream@npm:^5.1.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: "npm:^3.0.0" + checksum: 10c0/43797ffd815fbb26685bf188c8cfebecb8af87b3925091dd7b9a9c915993293d78e3c9e1bce125928ff92f2d0796f3889b92b5ec6d58d1041b574682132e0a80 + languageName: node + linkType: hard + +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + +"get-symbol-description@npm:^1.0.2": + version: 1.0.2 + resolution: "get-symbol-description@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc + languageName: node + linkType: hard + +"get-value@npm:^2.0.3, get-value@npm:^2.0.6": + version: 2.0.6 + resolution: "get-value@npm:2.0.6" + checksum: 10c0/f069c132791b357c8fc4adfe9e2929b0a2c6e95f98ca7bc6fcbc27f8a302e552f86b4ae61ec56d9e9ac2544b93b6a39743d479866a37b43fcc104088ba74f0d9 + languageName: node + linkType: hard + +"getpass@npm:^0.1.1": + version: 0.1.7 + resolution: "getpass@npm:0.1.7" + dependencies: + assert-plus: "npm:^1.0.0" + checksum: 10c0/c13f8530ecf16fc509f3fa5cd8dd2129ffa5d0c7ccdf5728b6022d52954c2d24be3706b4cdf15333eec52f1fbb43feb70a01dabc639d1d10071e371da8aaa52f + languageName: node + linkType: hard + +"giturl@npm:^1.0.0": + version: 1.0.3 + resolution: "giturl@npm:1.0.3" + checksum: 10c0/4505843b0c372da996daf7eacab02df85c60fc5b4de9ac4c7fad19a97aa37fbc6b1f28af4f80ee36edbbcd5a2860e057d9e4e80b429ac831de0f41529e5cb85a + languageName: node + linkType: hard + +"glob-parent@npm:^3.1.0": + version: 3.1.0 + resolution: "glob-parent@npm:3.1.0" + dependencies: + is-glob: "npm:^3.1.0" + path-dirname: "npm:^1.0.0" + checksum: 10c0/bfa89ce5ae1dfea4c2ece7b61d2ea230d87fcbec7472915cfdb3f4caf688a91ecb0dc86ae39b1e17505adce7e64cae3b971d64dc66091f3a0131169fd631b00d + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.0, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob@npm:7.1.6": + version: 7.1.6 + resolution: "glob@npm:7.1.6" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.0.4" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/2575cce9306ac534388db751f0aa3e78afedb6af8f3b529ac6b2354f66765545145dba8530abf7bff49fb399a047d3f9b6901c38ee4c9503f592960d9af67763 + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": + version: 10.3.10 + resolution: "glob@npm:10.3.10" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^2.3.5" + minimatch: "npm:^9.0.1" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry: "npm:^1.10.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d + languageName: node + linkType: hard + +"glob@npm:^5.0.3": + version: 5.0.15 + resolution: "glob@npm:5.0.15" + dependencies: + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:2 || 3" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/ed17b34406bedceb334a1df3502774a089ce822db07585ad2a6851d6040531540ce07407d7da5f0e0bded238114ea50302902f025e551499108076e635fcd9b1 + languageName: node + linkType: hard + +"glob@npm:^7.0.0, glob@npm:^7.0.3, glob@npm:^7.1.0, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7, glob@npm:^7.2.3": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"glob@npm:~7.1.1": + version: 7.1.7 + resolution: "glob@npm:7.1.7" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.0.4" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/173245e6f9ccf904309eb7ef4a44a11f3bf68e9e341dff5a28b5db0dd7123b7506daf41497f3437a0710f57198187b758c2351eeaabce4d16935e956920da6a4 + languageName: node + linkType: hard + +"global-agent@npm:^2.1.12": + version: 2.2.0 + resolution: "global-agent@npm:2.2.0" + dependencies: + boolean: "npm:^3.0.1" + core-js: "npm:^3.6.5" + es6-error: "npm:^4.1.1" + matcher: "npm:^3.0.0" + roarr: "npm:^2.15.3" + semver: "npm:^7.3.2" + serialize-error: "npm:^7.0.1" + checksum: 10c0/ec44fc48fb6ec4ea5897248575cc00b58a78a8987e95490000b8a7d1420ede6704c2359dc83d00dcedf6cb83edc577a4ed82fa4312311b13ebc112c19da92fc8 + languageName: node + linkType: hard + +"global-modules@npm:^0.2.0": + version: 0.2.3 + resolution: "global-modules@npm:0.2.3" + dependencies: + global-prefix: "npm:^0.1.4" + is-windows: "npm:^0.2.0" + checksum: 10c0/45f1c89dc0625a88fd1a9f8c2584f2a55662594f1771c301677c38a48cd7d850b91ee60ca0d3b931593d462576f2107f8ab03d50efcd5d95e8c343b68af2827e + languageName: node + linkType: hard + +"global-prefix@npm:^0.1.4": + version: 0.1.5 + resolution: "global-prefix@npm:0.1.5" + dependencies: + homedir-polyfill: "npm:^1.0.0" + ini: "npm:^1.3.4" + is-windows: "npm:^0.2.0" + which: "npm:^1.2.12" + checksum: 10c0/ad3bbc8e6b7d3e7e5f60c55dd0dbe74f5364ac232c827219d0dd6be58a493f2b119d6672bc26d9774d204d5edf857dc4df24d020bba25e0e36d1b7c8712a8439 + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"globals@npm:^13.19.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + languageName: node + linkType: hard + +"globals@npm:^9.18.0": + version: 9.18.0 + resolution: "globals@npm:9.18.0" + checksum: 10c0/5ab74cb67cf060a9fceede4a0f2babc4c2c0b90dbb13847d2659defdf2121c60035ef23823c8417ce8c11bdaa7b412396077f2b3d2a7dedab490a881a0a96754 + languageName: node + linkType: hard + +"globalthis@npm:^1.0.1, globalthis@npm:^1.0.3": + version: 1.0.3 + resolution: "globalthis@npm:1.0.3" + dependencies: + define-properties: "npm:^1.1.3" + checksum: 10c0/0db6e9af102a5254630351557ac15e6909bc7459d3e3f6b001e59fe784c96d31108818f032d9095739355a88467459e6488ff16584ee6250cd8c27dec05af4b0 + languageName: node + linkType: hard + +"globby@npm:^10.0.1": + version: 10.0.2 + resolution: "globby@npm:10.0.2" + dependencies: + "@types/glob": "npm:^7.1.1" + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.0.3" + glob: "npm:^7.1.3" + ignore: "npm:^5.1.1" + merge2: "npm:^1.2.3" + slash: "npm:^3.0.0" + checksum: 10c0/9c610ad47117b9dfbc5b0c6c2408c3b72f89c1b9f91ee14c4dc794794e35768ee0920e2a403b688cfa749f48617c6ba3f3a52df07677ed73d602d4349b68c810 + languageName: node + linkType: hard + +"globby@npm:^11.0.1, globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"globby@npm:^3.0.1": + version: 3.0.1 + resolution: "globby@npm:3.0.1" + dependencies: + array-union: "npm:^1.0.1" + arrify: "npm:^1.0.0" + glob: "npm:^5.0.3" + object-assign: "npm:^4.0.1" + pify: "npm:^2.0.0" + pinkie-promise: "npm:^1.0.0" + checksum: 10c0/8980a39433a839c357ee9b1454167fe49b083c7ab16243b98cee2a49785f6bd53a11dbde9490c2976fd512701c062a114203751e46ab423da4a54aa9b5fd5d59 + languageName: node + linkType: hard + +"globule@npm:^1.0.0": + version: 1.3.4 + resolution: "globule@npm:1.3.4" + dependencies: + glob: "npm:~7.1.1" + lodash: "npm:^4.17.21" + minimatch: "npm:~3.0.2" + checksum: 10c0/10204e914adae6f7ac0c499849b6e306d73cdd3547fd0c3a43db5f4afe36027fa8afa0707306c33b29d73d90fe0d357cd1c946c58ff20da9e52226abad20335a + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.1.3" + checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 + languageName: node + linkType: hard + +"got@npm:^11.0.2, got@npm:^11.7.0": + version: 11.8.6 + resolution: "got@npm:11.8.6" + dependencies: + "@sindresorhus/is": "npm:^4.0.0" + "@szmarczak/http-timer": "npm:^4.0.5" + "@types/cacheable-request": "npm:^6.0.1" + "@types/responselike": "npm:^1.0.0" + cacheable-lookup: "npm:^5.0.3" + cacheable-request: "npm:^7.0.2" + decompress-response: "npm:^6.0.0" + http2-wrapper: "npm:^1.0.0-beta.5.2" + lowercase-keys: "npm:^2.0.0" + p-cancelable: "npm:^2.0.0" + responselike: "npm:^2.0.0" + checksum: 10c0/754dd44877e5cf6183f1e989ff01c648d9a4719e357457bd4c78943911168881f1cfb7b2cb15d885e2105b3ad313adb8f017a67265dd7ade771afdb261ee8cb1 + languageName: node + linkType: hard + +"got@npm:^3.2.0": + version: 3.3.1 + resolution: "got@npm:3.3.1" + dependencies: + duplexify: "npm:^3.2.0" + infinity-agent: "npm:^2.0.0" + is-redirect: "npm:^1.0.0" + is-stream: "npm:^1.0.0" + lowercase-keys: "npm:^1.0.0" + nested-error-stacks: "npm:^1.0.0" + object-assign: "npm:^3.0.0" + prepend-http: "npm:^1.0.0" + read-all-stream: "npm:^3.0.0" + timed-out: "npm:^2.0.0" + checksum: 10c0/fbf0d1eaf051f90f78944fd7c0e495a697585fb392baca42a1a2d576ca62356e41ae6a2f44cafdf2ec34e05ec1d28cceb885071625c9af8c623862de63e5f4a5 + languageName: node + linkType: hard + +"got@npm:^5.0.0": + version: 5.7.1 + resolution: "got@npm:5.7.1" + dependencies: + create-error-class: "npm:^3.0.1" + duplexer2: "npm:^0.1.4" + is-redirect: "npm:^1.0.0" + is-retry-allowed: "npm:^1.0.0" + is-stream: "npm:^1.0.0" + lowercase-keys: "npm:^1.0.0" + node-status-codes: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + parse-json: "npm:^2.1.0" + pinkie-promise: "npm:^2.0.0" + read-all-stream: "npm:^3.0.0" + readable-stream: "npm:^2.0.5" + timed-out: "npm:^3.0.0" + unzip-response: "npm:^1.0.2" + url-parse-lax: "npm:^1.0.0" + checksum: 10c0/ce4b272ffb11f940d941ecdd27f3927ba8cfc9e0fe7e1db2ca5a472cc11f415b98e13a22b3290f96d8a3bbabd3492902cfb934aea952e920a1151995022dcb7b + languageName: node + linkType: hard + +"got@npm:^8.3.1": + version: 8.3.2 + resolution: "got@npm:8.3.2" + dependencies: + "@sindresorhus/is": "npm:^0.7.0" + cacheable-request: "npm:^2.1.1" + decompress-response: "npm:^3.3.0" + duplexer3: "npm:^0.1.4" + get-stream: "npm:^3.0.0" + into-stream: "npm:^3.1.0" + is-retry-allowed: "npm:^1.1.0" + isurl: "npm:^1.0.0-alpha5" + lowercase-keys: "npm:^1.0.0" + mimic-response: "npm:^1.0.0" + p-cancelable: "npm:^0.4.0" + p-timeout: "npm:^2.0.1" + pify: "npm:^3.0.0" + safe-buffer: "npm:^5.1.1" + timed-out: "npm:^4.0.1" + url-parse-lax: "npm:^3.0.0" + url-to-options: "npm:^1.0.1" + checksum: 10c0/1a3c772fc2f7d6800113b093b391f6864aa1ae5bdf7c6ad6fafc8a42a895e217dbea9b936438c185e2fff612d7ac40c4867d20ad7ba8652caca316994bcf5404 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"grapheme-splitter@npm:^1.0.2": + version: 1.0.4 + resolution: "grapheme-splitter@npm:1.0.4" + checksum: 10c0/108415fb07ac913f17040dc336607772fcea68c7f495ef91887edddb0b0f5ff7bc1d1ab181b125ecb2f0505669ef12c9a178a3bbd2dd8e042d8c5f1d7c90331a + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"growl@npm:1.10.5": + version: 1.10.5 + resolution: "growl@npm:1.10.5" + checksum: 10c0/a6a8f4df1269ac321f9e41c310552f3568768160942b6c9a7c116fcff1e3921f6a48fb7520689660412f7d1e5d46f76214e05406b23eee9e213830fdc2f772fe + languageName: node + linkType: hard + +"har-schema@npm:^2.0.0": + version: 2.0.0 + resolution: "har-schema@npm:2.0.0" + checksum: 10c0/3856cb76152658e0002b9c2b45b4360bb26b3e832c823caed8fcf39a01096030bf09fa5685c0f7b0f2cb3ecba6e9dce17edaf28b64a423d6201092e6be56e592 + languageName: node + linkType: hard + +"har-validator@npm:~5.1.3": + version: 5.1.5 + resolution: "har-validator@npm:5.1.5" + dependencies: + ajv: "npm:^6.12.3" + har-schema: "npm:^2.0.0" + checksum: 10c0/f1d606eb1021839e3a905be5ef7cca81c2256a6be0748efb8fefc14312214f9e6c15d7f2eaf37514104071207d84f627b68bb9f6178703da4e06fbd1a0649a5e + languageName: node + linkType: hard + +"hard-rejection@npm:^2.1.0": + version: 2.1.0 + resolution: "hard-rejection@npm:2.1.0" + checksum: 10c0/febc3343a1ad575aedcc112580835b44a89a89e01f400b4eda6e8110869edfdab0b00cd1bd4c3bfec9475a57e79e0b355aecd5be46454b6a62b9a359af60e564 + languageName: node + linkType: hard + +"has-ansi@npm:^2.0.0": + version: 2.0.0 + resolution: "has-ansi@npm:2.0.0" + dependencies: + ansi-regex: "npm:^2.0.0" + checksum: 10c0/f54e4887b9f8f3c4bfefd649c48825b3c093987c92c27880ee9898539e6f01aed261e82e73153c3f920fde0db5bf6ebd58deb498ed1debabcb4bc40113ccdf05 + languageName: node + linkType: hard + +"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": + version: 1.0.2 + resolution: "has-bigints@npm:1.0.2" + checksum: 10c0/724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.1, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 + languageName: node + linkType: hard + +"has-symbol-support-x@npm:^1.4.1": + version: 1.4.2 + resolution: "has-symbol-support-x@npm:1.4.2" + checksum: 10c0/993f0e1a7a2c8f41f356b20c33cda49bc2f5c4442f858b0fa58b4852f4ba50e7d7400a2734822c415975114e6f768bba9bb6063dd687026baaeeed6453d94a03 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 + languageName: node + linkType: hard + +"has-to-string-tag-x@npm:^1.2.0": + version: 1.4.1 + resolution: "has-to-string-tag-x@npm:1.4.1" + dependencies: + has-symbol-support-x: "npm:^1.4.1" + checksum: 10c0/e7197e830fe55afe596fc3fe4ab23fa455f69a1ba850b493e527c728d1e6d2ecc7197ab38b8bdc7ae8a7669e23c19a8b9f52f853a509639c70e0efbdc5d175e5 + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.1, has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 10c0/ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c + languageName: node + linkType: hard + +"has-value@npm:^0.3.1": + version: 0.3.1 + resolution: "has-value@npm:0.3.1" + dependencies: + get-value: "npm:^2.0.3" + has-values: "npm:^0.1.4" + isobject: "npm:^2.0.0" + checksum: 10c0/7a7c2e9d07bc9742c81806150adb154d149bc6155267248c459cd1ce2a64b0759980d26213260e4b7599c8a3754551179f155ded88d0533a0d2bc7bc29028432 + languageName: node + linkType: hard + +"has-value@npm:^1.0.0": + version: 1.0.0 + resolution: "has-value@npm:1.0.0" + dependencies: + get-value: "npm:^2.0.6" + has-values: "npm:^1.0.0" + isobject: "npm:^3.0.0" + checksum: 10c0/17cdccaf50f8aac80a109dba2e2ee5e800aec9a9d382ef9deab66c56b34269e4c9ac720276d5ffa722764304a1180ae436df077da0dd05548cfae0209708ba4d + languageName: node + linkType: hard + +"has-values@npm:^0.1.4": + version: 0.1.4 + resolution: "has-values@npm:0.1.4" + checksum: 10c0/a8f00ad862c20289798c35243d5bd0b0a97dd44b668c2204afe082e0265f2d0bf3b89fc8cc0ef01a52b49f10aa35cf85c336ee3a5f1cac96ed490f5e901cdbf2 + languageName: node + linkType: hard + +"has-values@npm:^1.0.0": + version: 1.0.0 + resolution: "has-values@npm:1.0.0" + dependencies: + is-number: "npm:^3.0.0" + kind-of: "npm:^4.0.0" + checksum: 10c0/a6f2a1cc6b2e43eacc68e62e71ad6890def7f4b13d2ef06b4ad3ee156c23e470e6df144b9b467701908e17633411f1075fdff0cab45fb66c5e0584d89b25f35e + languageName: node + linkType: hard + +"has@npm:^1.0.0": + version: 1.0.4 + resolution: "has@npm:1.0.4" + checksum: 10c0/82c1220573dc1f0a014a5d6189ae52a1f820f99dfdc00323c3a725b5002dcb7f04e44f460fea7af068474b2dd7c88cbe1846925c84017be9e31e1708936d305b + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0": + version: 3.1.0 + resolution: "hash-base@npm:3.1.0" + dependencies: + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.6.0" + safe-buffer: "npm:^5.2.0" + checksum: 10c0/663eabcf4173326fbb65a1918a509045590a26cc7e0964b754eef248d281305c6ec9f6b31cb508d02ffca383ab50028180ce5aefe013e942b44a903ac8dc80d0 + languageName: node + linkType: hard + +"hash-base@npm:~3.0": + version: 3.0.4 + resolution: "hash-base@npm:3.0.4" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/a13357dccb3827f0bb0b56bf928da85c428dc8670f6e4a1c7265e4f1653ce02d69030b40fd01b0f1d218a995a066eea279cded9cec72d207b593bcdfe309c2f0 + languageName: node + linkType: hard + +"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: "npm:^2.0.3" + minimalistic-assert: "npm:^1.0.1" + checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 + languageName: node + linkType: hard + +"hasha@npm:^5.0.0": + version: 5.2.2 + resolution: "hasha@npm:5.2.2" + dependencies: + is-stream: "npm:^2.0.0" + type-fest: "npm:^0.8.0" + checksum: 10c0/9d10d4e665a37beea6e18ba3a0c0399a05b26e505c5ff2fe9115b64fedb3ca95f68c89cf15b08ee4d09fd3064b5e1bfc8e8247353c7aa6b7388471d0f86dca74 + languageName: node + linkType: hard + +"hasown@npm:^2.0.0, hasown@npm:^2.0.1": + version: 2.0.1 + resolution: "hasown@npm:2.0.1" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/9e27e70e8e4204f4124c8f99950d1ba2b1f5174864fd39ff26da190f9ea6488c1b3927dcc64981c26d1f637a971783c9489d62c829d393ea509e6f1ba20370bb + languageName: node + linkType: hard + +"he@npm:1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + +"header-case@npm:^2.0.4": + version: 2.0.4 + resolution: "header-case@npm:2.0.4" + dependencies: + capital-case: "npm:^1.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/c9f295d9d8e38fa50679281fd70d80726962256e888a76c8e72e526453da7a1832dcb427caa716c1ad5d79841d4537301b90156fa30298fefd3d68f4ea2181bb + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: "npm:^1.0.3" + minimalistic-assert: "npm:^1.0.0" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d + languageName: node + linkType: hard + +"homedir-polyfill@npm:^1.0.0": + version: 1.0.3 + resolution: "homedir-polyfill@npm:1.0.3" + dependencies: + parse-passwd: "npm:^1.0.0" + checksum: 10c0/3c099844f94b8b438f124bd5698bdcfef32b2d455115fb8050d7148e7f7b95fc89ba9922586c491f0e1cdebf437b1053c84ecddb8d596e109e9ac69c5b4a9e27 + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4": + version: 2.8.9 + resolution: "hosted-git-info@npm:2.8.9" + checksum: 10c0/317cbc6b1bbbe23c2a40ae23f3dafe9fa349ce42a89a36f930e3f9c0530c179a3882d2ef1e4141a4c3674d6faaea862138ec55b43ad6f75e387fda2483a13c70 + languageName: node + linkType: hard + +"hosted-git-info@npm:^4.0.1": + version: 4.1.0 + resolution: "hosted-git-info@npm:4.1.0" + dependencies: + lru-cache: "npm:^6.0.0" + checksum: 10c0/150fbcb001600336d17fdbae803264abed013548eea7946c2264c49ebe2ebd8c4441ba71dd23dd8e18c65de79d637f98b22d4760ba5fb2e0b15d62543d0fff07 + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^4.0.0": + version: 4.0.0 + resolution: "html-encoding-sniffer@npm:4.0.0" + dependencies: + whatwg-encoding: "npm:^3.1.1" + checksum: 10c0/523398055dc61ac9b34718a719cb4aa691e4166f29187e211e1607de63dc25ac7af52ca7c9aead0c4b3c0415ffecb17326396e1202e2e86ff4bca4c0ee4c6140 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 + languageName: node + linkType: hard + +"htmlescape@npm:^1.1.0": + version: 1.1.1 + resolution: "htmlescape@npm:1.1.1" + checksum: 10c0/06294e4ac84a07982b273da1e99d7f124bb13b1fa10f428ed8073e4d7f6f4783da3a788e6461234180a795b630b077fa41466e7c7bd91cfa212369dfca537453 + languageName: node + linkType: hard + +"http-cache-semantics@npm:3.8.1": + version: 3.8.1 + resolution: "http-cache-semantics@npm:3.8.1" + checksum: 10c0/8925daec009618d5a48c8a36fcb312785fe78c7b22db8008ed58ca84d08fdc41596b63e0507b577ad0bf46e868a74944ab03a037fdb3f31d5d49d3c79df8d9e4 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^4.0.1": + version: 4.0.1 + resolution: "http-proxy-agent@npm:4.0.1" + dependencies: + "@tootallnate/once": "npm:1" + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/4fa4774d65b5331814b74ac05cefea56854fc0d5989c80b13432c1b0d42a14c9f4342ca3ad9f0359a52e78da12b1744c9f8a28e50042136ea9171675d972a5fd + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"http-proxy@npm:^1.18.1": + version: 1.18.1 + resolution: "http-proxy@npm:1.18.1" + dependencies: + eventemitter3: "npm:^4.0.0" + follow-redirects: "npm:^1.0.0" + requires-port: "npm:^1.0.0" + checksum: 10c0/148dfa700a03fb421e383aaaf88ac1d94521dfc34072f6c59770528c65250983c2e4ec996f2f03aa9f3fe46cd1270a593126068319311e3e8d9e610a37533e94 + languageName: node + linkType: hard + +"http-signature@npm:~1.2.0": + version: 1.2.0 + resolution: "http-signature@npm:1.2.0" + dependencies: + assert-plus: "npm:^1.0.0" + jsprim: "npm:^1.2.2" + sshpk: "npm:^1.7.0" + checksum: 10c0/582f7af7f354429e1fb19b3bbb9d35520843c69bb30a25b88ca3c5c2c10715f20ae7924e20cffbed220b1d3a726ef4fe8ccc48568d5744db87be9a79887d6733 + languageName: node + linkType: hard + +"http2-wrapper@npm:^1.0.0-beta.5.2": + version: 1.0.3 + resolution: "http2-wrapper@npm:1.0.3" + dependencies: + quick-lru: "npm:^5.1.1" + resolve-alpn: "npm:^1.0.0" + checksum: 10c0/6a9b72a033e9812e1476b9d776ce2f387bc94bc46c88aea0d5dab6bd47d0a539b8178830e77054dd26d1142c866d515a28a4dc7c3ff4232c88ff2ebe4f5d12d1 + languageName: node + linkType: hard + +"https-browserify@npm:^1.0.0": + version: 1.0.0 + resolution: "https-browserify@npm:1.0.0" + checksum: 10c0/e17b6943bc24ea9b9a7da5714645d808670af75a425f29baffc3284962626efdc1eb3aa9bbffaa6e64028a6ad98af5b09fabcb454a8f918fb686abfdc9e9b8ae + languageName: node + linkType: hard + +"https-proxy-agent@npm:^4.0.0": + version: 4.0.0 + resolution: "https-proxy-agent@npm:4.0.0" + dependencies: + agent-base: "npm:5" + debug: "npm:4" + checksum: 10c0/fbba3e037ec04e1850e867064a763b86dd884baae9c5f4ad380504e321068c9e9b5de79cf2f3a28ede7c36036dce905b58d9f51703c5b3884d887114f4887f77 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.2": + version: 7.0.4 + resolution: "https-proxy-agent@npm:7.0.4" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/bc4f7c38da32a5fc622450b6cb49a24ff596f9bd48dcedb52d2da3fa1c1a80e100fb506bd59b326c012f21c863c69b275c23de1a01d0b84db396822fdf25e52b + languageName: node + linkType: hard + +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: "npm:^2.0.0" + checksum: 10c0/f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13, ieee754@npm:^1.1.4": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"iferr@npm:^0.1.5": + version: 0.1.5 + resolution: "iferr@npm:0.1.5" + checksum: 10c0/e0669b1757d0501b43a158321945d1cc1fe56f28a972df2f88a5818f05c8853c7669ba5d6cfbbf9a1a312850699de6e528626df108d559005df7e15d16ee334c + languageName: node + linkType: hard + +"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": + version: 5.3.1 + resolution: "ignore@npm:5.3.1" + checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + languageName: node + linkType: hard + +"import-lazy@npm:^3.1.0": + version: 3.1.0 + resolution: "import-lazy@npm:3.1.0" + checksum: 10c0/f4cb60bcfc44897efaa1e08183fcf6605c4732e2b1bef4257220566f67fd5cd6ddc838e5d5055072319eee1d6fe5896cb13b83277b1a75a80ff55052d29feef1 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.3, infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 10c0/a7b241e3149c26e37474e3435779487f42f36883711f198c45794703c7556bc38af224088bd4d1a221a45b8208ae2c2bcf86200383621434d0c099304481c5b9 + languageName: node + linkType: hard + +"infinity-agent@npm:^2.0.0": + version: 2.0.3 + resolution: "infinity-agent@npm:2.0.3" + checksum: 10c0/50bacdee385f731c5957a0bc9ab63b8ad0f58d3c20cf95fa1b2994dddc7070b9a23ccc2fb287c895e559a0ee179dcca313096b5b49f5d49537d523aa58ab84c2 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 10c0/6e56402373149ea076a434072671f9982f5fad030c7662be0332122fe6c0fa490acb3cc1010d90b6eff8d640b1167d77674add52dfd1bb85d545cf29e80e73e7 + languageName: node + linkType: hard + +"ini@npm:^1.3.4, ini@npm:~1.3.0": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"inline-source-map@npm:~0.6.0": + version: 0.6.3 + resolution: "inline-source-map@npm:0.6.3" + dependencies: + source-map: "npm:~0.5.3" + checksum: 10c0/9e940e79a385c3f4671754938704c7569757a2a34b15a8e9caf8fe8857746c8a145445d0de8bd7d671466001b54409ed58ff38f17a153f700ddb184acd71df06 + languageName: node + linkType: hard + +"inquirer@npm:^0.11.0": + version: 0.11.4 + resolution: "inquirer@npm:0.11.4" + dependencies: + ansi-escapes: "npm:^1.1.0" + ansi-regex: "npm:^2.0.0" + chalk: "npm:^1.0.0" + cli-cursor: "npm:^1.0.1" + cli-width: "npm:^1.0.1" + figures: "npm:^1.3.5" + lodash: "npm:^3.3.1" + readline2: "npm:^1.0.1" + run-async: "npm:^0.1.0" + rx-lite: "npm:^3.1.2" + string-width: "npm:^1.0.1" + strip-ansi: "npm:^3.0.0" + through: "npm:^2.3.6" + checksum: 10c0/8a2aac5edb1b5281b0a4abd2a7a58ab96a42e3816a605635326fcd73ceb716b3ebf77a15ce5d7faa87da467e13b589768a60b33244360078ddc46db8eab8c0ab + languageName: node + linkType: hard + +"inquirer@npm:^7.3.3": + version: 7.3.3 + resolution: "inquirer@npm:7.3.3" + dependencies: + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.1.0" + cli-cursor: "npm:^3.1.0" + cli-width: "npm:^3.0.0" + external-editor: "npm:^3.0.3" + figures: "npm:^3.0.0" + lodash: "npm:^4.17.19" + mute-stream: "npm:0.0.8" + run-async: "npm:^2.4.0" + rxjs: "npm:^6.6.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + through: "npm:^2.3.6" + checksum: 10c0/96e75974cfd863fe6653c075e41fa5f1a290896df141189816db945debabcd92d3277145f11aef8d2cfca5409ab003ccdd18a099744814057b52a2f27aeb8c94 + languageName: node + linkType: hard + +"insert-module-globals@npm:^7.0.0": + version: 7.2.1 + resolution: "insert-module-globals@npm:7.2.1" + dependencies: + JSONStream: "npm:^1.0.3" + acorn-node: "npm:^1.5.2" + combine-source-map: "npm:^0.8.0" + concat-stream: "npm:^1.6.1" + is-buffer: "npm:^1.1.0" + path-is-absolute: "npm:^1.0.1" + process: "npm:~0.11.0" + through2: "npm:^2.0.0" + undeclared-identifiers: "npm:^1.1.2" + xtend: "npm:^4.0.0" + bin: + insert-module-globals: bin/cmd.js + checksum: 10c0/b11cb7336766df575702e8ac82494139e2cbb4529ba7385fe6ff505d05a1f5e4328809cae5d7bd0cf2d92de3a298d117ff072d17c5699b007ce0502f29304e89 + languageName: node + linkType: hard + +"internal-slot@npm:^1.0.7": + version: 1.0.7 + resolution: "internal-slot@npm:1.0.7" + dependencies: + es-errors: "npm:^1.3.0" + hasown: "npm:^2.0.0" + side-channel: "npm:^1.0.4" + checksum: 10c0/f8b294a4e6ea3855fc59551bbf35f2b832cf01fd5e6e2a97f5c201a071cc09b49048f856e484b67a6c721da5e55736c5b6ddafaf19e2dbeb4a3ff1821680de6c + languageName: node + linkType: hard + +"interpret@npm:^1.0.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 10c0/08c5ad30032edeec638485bc3f6db7d0094d9b3e85e0f950866600af3c52e9fd69715416d29564731c479d9f4d43ff3e4d302a178196bdc0e6837ec147640450 + languageName: node + linkType: hard + +"into-stream@npm:^3.1.0": + version: 3.1.0 + resolution: "into-stream@npm:3.1.0" + dependencies: + from2: "npm:^2.1.1" + p-is-promise: "npm:^1.1.0" + checksum: 10c0/2f298ecb3ff9a9a58ae0407ddf390d7f1d6dfcda9c91e696b10194cb81266c1231dae01c09bd7c435049190d03676b6bc6ab4c258c85b03a98c55da93a5e314f + languageName: node + linkType: hard + +"invariant@npm:^2.2.2": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: "npm:^1.0.0" + checksum: 10c0/5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc + languageName: node + linkType: hard + +"invert-kv@npm:^1.0.0": + version: 1.0.0 + resolution: "invert-kv@npm:1.0.0" + checksum: 10c0/9ccef12ada8494c56175cc0380b4cea18b6c0a368436f324a30e43a332db90bdfb83cd3a7987b71df359cdf931ce45b7daf35b677da56658565d61068e4bc20b + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^1.0.1": + version: 1.0.1 + resolution: "is-accessor-descriptor@npm:1.0.1" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10c0/d034034074c5ffeb6c868e091083182279db1a956f49f8d1494cecaa0f8b99d706556ded2a9b20d9aa290549106eef8204d67d8572902e06dcb1add6db6b524d + languageName: node + linkType: hard + +"is-array-buffer@npm:^3.0.4": + version: 3.0.4 + resolution: "is-array-buffer@npm:3.0.4" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.1" + checksum: 10c0/42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-bigint@npm:^1.0.1": + version: 1.0.4 + resolution: "is-bigint@npm:1.0.4" + dependencies: + has-bigints: "npm:^1.0.1" + checksum: 10c0/eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696 + languageName: node + linkType: hard + +"is-binary-path@npm:^1.0.0": + version: 1.0.1 + resolution: "is-binary-path@npm:1.0.1" + dependencies: + binary-extensions: "npm:^1.0.0" + checksum: 10c0/16e456fa3782eaf3d8e28d382b750507e3d54ff6694df8a1b2c6498da321e2ead311de9c42e653d8fb3213de72bac204b5f97e4a110cda8a72f17b1c1b4eb643 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.1.0": + version: 1.1.2 + resolution: "is-boolean-object@npm:1.1.2" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7 + languageName: node + linkType: hard + +"is-buffer@npm:^1.1.0, is-buffer@npm:^1.1.5": + version: 1.1.6 + resolution: "is-buffer@npm:1.1.6" + checksum: 10c0/ae18aa0b6e113d6c490ad1db5e8df9bdb57758382b313f5a22c9c61084875c6396d50bbf49315f5b1926d142d74dfb8d31b40d993a383e0a158b15fea7a82234 + languageName: node + linkType: hard + +"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f + languageName: node + linkType: hard + +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1, is-core-module@npm:^2.5.0": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10c0/2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^1.0.1": + version: 1.0.1 + resolution: "is-data-descriptor@npm:1.0.1" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10c0/ad3acc372e3227f87eb8cdba112c343ca2a67f1885aecf64f02f901cb0858a1fc9488ad42135ab102e9d9e71a62b3594740790bb103a9ba5da830a131a89e3e8 + languageName: node + linkType: hard + +"is-data-view@npm:^1.0.1": + version: 1.0.1 + resolution: "is-data-view@npm:1.0.1" + dependencies: + is-typed-array: "npm:^1.1.13" + checksum: 10c0/a3e6ec84efe303da859107aed9b970e018e2bee7ffcb48e2f8096921a493608134240e672a2072577e5f23a729846241d9634806e8a0e51d9129c56d5f65442d + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.1": + version: 1.0.5 + resolution: "is-date-object@npm:1.0.5" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e + languageName: node + linkType: hard + +"is-descriptor@npm:^0.1.0": + version: 0.1.7 + resolution: "is-descriptor@npm:0.1.7" + dependencies: + is-accessor-descriptor: "npm:^1.0.1" + is-data-descriptor: "npm:^1.0.1" + checksum: 10c0/f5960b9783f508aec570465288cb673d4b3cc4aae4e6de970c3afd9a8fc1351edcb85d78b2cce2ec5251893a423f73263cab3bb94cf365a8d71b5d510a116392 + languageName: node + linkType: hard + +"is-descriptor@npm:^1.0.0, is-descriptor@npm:^1.0.2": + version: 1.0.3 + resolution: "is-descriptor@npm:1.0.3" + dependencies: + is-accessor-descriptor: "npm:^1.0.1" + is-data-descriptor: "npm:^1.0.1" + checksum: 10c0/b4ee667ea787d3a0be4e58536087fd0587de2b0b6672fbfe288f5b8d831ac4b79fd987f31d6c2d4e5543a42c97a87428bc5215ce292a1a47070147793878226f + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 + languageName: node + linkType: hard + +"is-extendable@npm:^1.0.1": + version: 1.0.1 + resolution: "is-extendable@npm:1.0.1" + dependencies: + is-plain-object: "npm:^2.0.4" + checksum: 10c0/1d6678a5be1563db6ecb121331c819c38059703f0179f52aa80c242c223ee9c6b66470286636c0e63d7163e4d905c0a7d82a096e0b5eaeabb51b9f8d0af0d73f + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.0, is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-finite@npm:^1.0.0": + version: 1.1.0 + resolution: "is-finite@npm:1.1.0" + checksum: 10c0/ca6bc7a0321b339f098e657bd4cbf4bb2410f5a11f1b9adb1a1a9ab72288b64368e8251326cb1f74e985f2779299cec3e1f1e558b68ce7e1e2c9be17b7cfd626 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fullwidth-code-point@npm:1.0.0" + dependencies: + number-is-nan: "npm:^1.0.0" + checksum: 10c0/12acfcf16142f2d431bf6af25d68569d3198e81b9799b4ae41058247aafcc666b0127d64384ea28e67a746372611fcbe9b802f69175287aba466da3eddd5ba0f + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: 10c0/e58f3e4a601fc0500d8b2677e26e9fe0cd450980e66adb29d85b6addf7969731e38f8e43ed2ec868a09c101a55ac3d8b78902209269f38c5286bc98f5bc1b4d9 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-glob@npm:^3.1.0": + version: 3.1.0 + resolution: "is-glob@npm:3.1.0" + dependencies: + is-extglob: "npm:^2.1.0" + checksum: 10c0/ba816a35dcf5285de924a8a4654df7b183a86381d73ea3bbf3df3cc61b3ba61fdddf90ee205709a2235b210ee600ee86e5e8600093cf291a662607fd032e2ff4 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + +"is-natural-number@npm:^4.0.1": + version: 4.0.1 + resolution: "is-natural-number@npm:4.0.1" + checksum: 10c0/f05c544cb0ad39d4410e2ae2244282bf61918ebbb808b665436ffca4f6bbe908d3ae3a8d21fe143d302951f157d969986dd432098b63899561639fcd1ce1c280 + languageName: node + linkType: hard + +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e + languageName: node + linkType: hard + +"is-npm@npm:^1.0.0": + version: 1.0.0 + resolution: "is-npm@npm:1.0.0" + checksum: 10c0/6d9a9cfbb849ad631e3050d1dad140ded91a10f374b57ff6ccb688b4ee8d5fd139e6aa2c5ab4342b8119242c9c4cba041876fb4046fcae52e76eb073db71dfe7 + languageName: node + linkType: hard + +"is-number-object@npm:^1.0.4": + version: 1.0.7 + resolution: "is-number-object@npm:1.0.7" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b + languageName: node + linkType: hard + +"is-number@npm:^3.0.0": + version: 3.0.0 + resolution: "is-number@npm:3.0.0" + dependencies: + kind-of: "npm:^3.0.2" + checksum: 10c0/e639c54640b7f029623df24d3d103901e322c0c25ea5bde97cd723c2d0d4c05857a8364ab5c58d963089dbed6bf1d0ffe975cb6aef917e2ad0ccbca653d31b4f + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-object@npm:^1.0.1": + version: 1.0.2 + resolution: "is-object@npm:1.0.2" + checksum: 10c0/9cfb80c3a850f453d4a77297e0556bc2040ac6bea5b6e418aee208654938b36bab768169bef3945ccfac7a9bb460edd8034e7c6d8973bcf147d7571e1b53e764 + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.3": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 + languageName: node + linkType: hard + +"is-plain-obj@npm:^1.0.0, is-plain-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: 10c0/daaee1805add26f781b413fdf192fc91d52409583be30ace35c82607d440da63cc4cac0ac55136716688d6c0a2c6ef3edb2254fecbd1fe06056d6bd15975ee8c + languageName: node + linkType: hard + +"is-plain-obj@npm:^2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: "npm:^3.0.1" + checksum: 10c0/f050fdd5203d9c81e8c4df1b3ff461c4bc64e8b5ca383bcdde46131361d0a678e80bcf00b5257646f6c636197629644d53bd8e2375aea633de09a82d57e942f4 + languageName: node + linkType: hard + +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: 10c0/b73e2f22bc863b0939941d369486d308b43d7aef1f9439705e3582bfccaa4516406865e32c968a35f97a99396dac84e2624e67b0a16b0a15086a785e16ce7db9 + languageName: node + linkType: hard + +"is-redirect@npm:^1.0.0": + version: 1.0.0 + resolution: "is-redirect@npm:1.0.0" + checksum: 10c0/4fb24eaa61548d276499ec5e2f7efbc4ed823b68c7ee3bdfbf29d0f6c45d19c07f417bf3dd86110285c28a35481b46a9996921739b7b84bb8ba5216f250d40de + languageName: node + linkType: hard + +"is-regex@npm:^1.1.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1 + languageName: node + linkType: hard + +"is-retry-allowed@npm:^1.0.0, is-retry-allowed@npm:^1.1.0": + version: 1.2.0 + resolution: "is-retry-allowed@npm:1.2.0" + checksum: 10c0/a80f14e1e11c27a58f268f2927b883b635703e23a853cb7b8436e3456bf2ea3efd5082a4e920093eec7bd372c1ce6ea7cea78a9376929c211039d0cc4a393a44 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "is-shared-array-buffer@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.7" + checksum: 10c0/adc11ab0acbc934a7b9e5e9d6c588d4ec6682f6fea8cda5180721704fa32927582ede5b123349e32517fdadd07958973d24716c80e7ab198970c47acc09e59c7 + languageName: node + linkType: hard + +"is-stream@npm:^1.0.0, is-stream@npm:^1.1.0, is-stream@npm:~1.1.0": + version: 1.1.0 + resolution: "is-stream@npm:1.1.0" + checksum: 10c0/b8ae7971e78d2e8488d15f804229c6eed7ed36a28f8807a1815938771f4adff0e705218b7dab968270433f67103e4fef98062a0beea55d64835f705ee72c7002 + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 + languageName: node + linkType: hard + +"is-string@npm:^1.0.5, is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6 + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": + version: 1.0.4 + resolution: "is-symbol@npm:1.0.4" + dependencies: + has-symbols: "npm:^1.0.2" + checksum: 10c0/9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7 + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.13": + version: 1.1.13 + resolution: "is-typed-array@npm:1.1.13" + dependencies: + which-typed-array: "npm:^1.1.14" + checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca + languageName: node + linkType: hard + +"is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 + languageName: node + linkType: hard + +"is-utf8@npm:^0.2.0": + version: 0.2.1 + resolution: "is-utf8@npm:0.2.1" + checksum: 10c0/3ed45e5b4ddfa04ed7e32c63d29c61b980ecd6df74698f45978b8c17a54034943bcbffb6ae243202e799682a66f90fef526f465dd39438745e9fe70794c1ef09 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.2": + version: 1.0.2 + resolution: "is-weakref@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.2" + checksum: 10c0/1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1 + languageName: node + linkType: hard + +"is-windows@npm:^0.2.0": + version: 0.2.0 + resolution: "is-windows@npm:0.2.0" + checksum: 10c0/513a1e70bf78a5af1792e7bc58ade5fb51129d5e9d6494b29daff7dc6c55f4767cd4047d3e0a50f5439a3cd1628be74d2d518232491a4288321d40fe1c223df4 + languageName: node + linkType: hard + +"is-windows@npm:^1.0.2": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5 + languageName: node + linkType: hard + +"is-wsl@npm:^1.1.0": + version: 1.1.0 + resolution: "is-wsl@npm:1.1.0" + checksum: 10c0/7ad0012f21092d6f586c7faad84755a8ef0da9b9ec295e4dc82313cce4e1a93a3da3c217265016461f9b141503fe55fa6eb1fd5457d3f05e8d1bdbb48e50c13a + languageName: node + linkType: hard + +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + +"isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd + languageName: node + linkType: hard + +"isbinaryfile@npm:^4.0.8": + version: 4.0.10 + resolution: "isbinaryfile@npm:4.0.10" + checksum: 10c0/0703d8cfeb69ed79e6d173120f327450011a066755150a6bbf97ffecec1069a5f2092777868315b21359098c84b54984871cad1abce877ad9141fb2caf3dcabf + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"isobject@npm:^2.0.0": + version: 2.1.0 + resolution: "isobject@npm:2.1.0" + dependencies: + isarray: "npm:1.0.0" + checksum: 10c0/c4cafec73b3b2ee11be75dff8dafd283b5728235ac099b07d7873d5182553a707768e208327bbc12931b9422d8822280bf88d894a0024ff5857b3efefb480e7b + languageName: node + linkType: hard + +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: 10c0/03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db + languageName: node + linkType: hard + +"isstream@npm:~0.1.2": + version: 0.1.2 + resolution: "isstream@npm:0.1.2" + checksum: 10c0/a6686a878735ca0a48e0d674dd6d8ad31aedfaf70f07920da16ceadc7577b46d67179a60b313f2e6860cb097a2c2eb3cbd0b89e921ae89199a59a17c3273d66f + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^1.2.1": + version: 1.2.1 + resolution: "istanbul-lib-coverage@npm:1.2.1" + checksum: 10c0/a3dec08f036315d75d27b0d70ca69332838c9602583d0eaa74baeaf98f4054344984b778dad6cf4a989ed24f5c75365c2306fbb7f163c160b47fd8c696bedfab + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^2.0.5": + version: 2.0.5 + resolution: "istanbul-lib-coverage@npm:2.0.5" + checksum: 10c0/370bd6940532ea2737a85532870f3024b113774ce3e637438cccfaf979a7598aa29d342f4adcc3d73e306155c907b519bc1c5c6887a29234f605a1a472747821 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0, istanbul-lib-coverage@npm:^3.2.2": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b + languageName: node + linkType: hard + +"istanbul-lib-hook@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-hook@npm:3.0.0" + dependencies: + append-transform: "npm:^2.0.0" + checksum: 10c0/0029bdbc4ae82c2a5a0b48a2f4ba074de72601a5d27505493c9be83d4c7952039ad787d2f6d1321710b75a05059c4335a0eb7c8857ca82e7e6d19f8d88d03b46 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^1.8.0": + version: 1.10.2 + resolution: "istanbul-lib-instrument@npm:1.10.2" + dependencies: + babel-generator: "npm:^6.18.0" + babel-template: "npm:^6.16.0" + babel-traverse: "npm:^6.18.0" + babel-types: "npm:^6.18.0" + babylon: "npm:^6.18.0" + istanbul-lib-coverage: "npm:^1.2.1" + semver: "npm:^5.3.0" + checksum: 10c0/1f861fb757a1e26ca8a80542fdc1b7f2d35a131a0116d20a1a785837472c474cfa6ac4058ae5389a0e358563da0e2c8ef5f958336ea9d29ee39a4d0da143b9d7 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^4.0.0, istanbul-lib-instrument@npm:^4.0.3": + version: 4.0.3 + resolution: "istanbul-lib-instrument@npm:4.0.3" + dependencies: + "@babel/core": "npm:^7.7.5" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-coverage: "npm:^3.0.0" + semver: "npm:^6.3.0" + checksum: 10c0/7f1005566a912e33e847576b2c1072d48a7c556810a54d912f3e2f0bd966171e68b30c40b0c1ce6ee9b8864de422d0c10e2d0dfd2d25b48723950cc78cd437c2 + languageName: node + linkType: hard + +"istanbul-lib-processinfo@npm:^2.0.2": + version: 2.0.3 + resolution: "istanbul-lib-processinfo@npm:2.0.3" + dependencies: + archy: "npm:^1.0.0" + cross-spawn: "npm:^7.0.3" + istanbul-lib-coverage: "npm:^3.2.0" + p-map: "npm:^3.0.0" + rimraf: "npm:^3.0.0" + uuid: "npm:^8.3.2" + checksum: 10c0/ffd0f9b1c8e266e980580f83e65397caeace3958e4b4326b4479dcb0e41a450698387b96b4d4823e63b7c4a403f72e6e30d9e788ddcf153edb422a9d6f64a998 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" + dependencies: + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^3.0.6": + version: 3.0.6 + resolution: "istanbul-lib-source-maps@npm:3.0.6" + dependencies: + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^2.0.5" + make-dir: "npm:^2.1.0" + rimraf: "npm:^2.6.3" + source-map: "npm:^0.6.1" + checksum: 10c0/0d2c0e6b301fd964d74137000b7f949d18856ad6e40e065a9f28eec041b33b901e3ff6f4f61505230558b26a1be0be044ae2e2bd6c692a9a7985e762fb300722 + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0, istanbul-lib-source-maps@npm:^4.0.1": + version: 4.0.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" + dependencies: + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^3.0.0" + source-map: "npm:^0.6.1" + checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.0.2, istanbul-reports@npm:^3.1.6": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10c0/a379fadf9cf8dc5dfe25568115721d4a7eb82fbd50b005a6672aff9c6989b20cc9312d7865814e0859cd8df58cbf664482e1d3604be0afde1f7fc3ccc1394a51 + languageName: node + linkType: hard + +"isurl@npm:^1.0.0-alpha5": + version: 1.0.0 + resolution: "isurl@npm:1.0.0" + dependencies: + has-to-string-tag-x: "npm:^1.2.0" + is-object: "npm:^1.0.1" + checksum: 10c0/137e377cd72fefdbc950a226a08e7b35d53672c3b7173b03e72194c3e78a03109aa44c15390b26445b90b7708acb89ca89ed3cd7cc55a6afc7c37cbc88fc581a + languageName: node + linkType: hard + +"jackspeak@npm:^2.3.5": + version: 2.3.6 + resolution: "jackspeak@npm:2.3.6" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 + languageName: node + linkType: hard + +"js-base64@npm:^2.4.9": + version: 2.6.4 + resolution: "js-base64@npm:2.6.4" + checksum: 10c0/95d93c4eca0bbe0f2d5ffe8682d9acd23051e5c0ad71873ff5a48dd46a5f19025de9f7b36e63fa3f02f342ae4a8ca4c56e7b590d7300ebb6639ce09675e0fd02 + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.2": + version: 3.0.2 + resolution: "js-tokens@npm:3.0.2" + checksum: 10c0/e3c3ee4d12643d90197628eb022a2884a15f08ea7dcac1ce97fdeee43031fbfc7ede674f2cdbbb582dcd4c94388b22e52d56c6cbeb2ac7d1b57c2f33c405e2ba + languageName: node + linkType: hard + +"js-tokens@npm:^8.0.2": + version: 8.0.3 + resolution: "js-tokens@npm:8.0.3" + checksum: 10c0/b50ba7d926b087ad31949d8155c7bc84374e0785019b17bdddeb2c4f98f5dea04ba464651fe23a8be4f7d15f50d06ce8bb536087b24ce3ebfbaea4a1dc5869f0 + languageName: node + linkType: hard + +"js-yaml@npm:4.0.0": + version: 4.0.0 + resolution: "js-yaml@npm:4.0.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/ef8489b87d9796b45df9f0bf3eefbb343b5063e39a9911d7b8ddbd4518cafaf73b49150d1f5865f54ee68719642ff0ab86110b9a332ff88bb05cd3bcf3039de1 + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1, js-yaml@npm:^3.4.2": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsbn@npm:~0.1.0": + version: 0.1.1 + resolution: "jsbn@npm:0.1.1" + checksum: 10c0/e046e05c59ff880ee4ef68902dbdcb6d2f3c5d60c357d4d68647dc23add556c31c0e5f41bdb7e69e793dd63468bd9e085da3636341048ef577b18f5b713877c0 + languageName: node + linkType: hard + +"jsdoctypeparser@npm:^9.0.0": + version: 9.0.0 + resolution: "jsdoctypeparser@npm:9.0.0" + bin: + jsdoctypeparser: bin/jsdoctypeparser + checksum: 10c0/491c8528905ba230e2ede016b927500acef6da618d5d7ae410c16f73851645bb3a9f245041610046df61369419d97fc7ce58d269b022106d1813648f4295c14e + languageName: node + linkType: hard + +"jsdom@npm:^24.0.0": + version: 24.0.0 + resolution: "jsdom@npm:24.0.0" + dependencies: + cssstyle: "npm:^4.0.1" + data-urls: "npm:^5.0.0" + decimal.js: "npm:^10.4.3" + form-data: "npm:^4.0.0" + html-encoding-sniffer: "npm:^4.0.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.2" + is-potential-custom-element-name: "npm:^1.0.1" + nwsapi: "npm:^2.2.7" + parse5: "npm:^7.1.2" + rrweb-cssom: "npm:^0.6.0" + saxes: "npm:^6.0.0" + symbol-tree: "npm:^3.2.4" + tough-cookie: "npm:^4.1.3" + w3c-xmlserializer: "npm:^5.0.0" + webidl-conversions: "npm:^7.0.0" + whatwg-encoding: "npm:^3.1.1" + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + ws: "npm:^8.16.0" + xml-name-validator: "npm:^5.0.0" + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + checksum: 10c0/7b35043d7af39ad6dcaef0fa5679d8c8a94c6c9b6cc4a79222b7c9987d57ab7150c50856684ae56b473ab28c7d82aec0fb7ca19dcbd4c3f46683c807d717a3af + languageName: node + linkType: hard + +"jsesc@npm:^1.3.0": + version: 1.3.0 + resolution: "jsesc@npm:1.3.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/62420889dd46b4cdba4df20fe6ffdefa6eeab7532fb4079170ea1b53c45d5a6abcb485144905833e5a69cc1735db12319b1e0b0f9a556811ec926b57a22318a7 + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 + languageName: node + linkType: hard + +"jsesc@npm:~0.5.0": + version: 0.5.0 + resolution: "jsesc@npm:0.5.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/f93792440ae1d80f091b65f8ceddf8e55c4bb7f1a09dee5dcbdb0db5612c55c0f6045625aa6b7e8edb2e0a4feabd80ee48616dbe2d37055573a84db3d24f96d9 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.0": + version: 3.0.0 + resolution: "json-buffer@npm:3.0.0" + checksum: 10c0/118c060d84430a8ad8376d0c60250830f350a6381bd56541a1ef257ce7ba82d109d1f71a4c4e92e0be0e7ab7da568fad8f7bf02905910a76e8e0aa338621b944 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-better-errors@npm:^1.0.2": + version: 1.0.2 + resolution: "json-parse-better-errors@npm:1.0.2" + checksum: 10c0/2f1287a7c833e397c9ddd361a78638e828fc523038bb3441fd4fc144cfd2c6cd4963ffb9e207e648cf7b692600f1e1e524e965c32df5152120910e4903a47dcb + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json-schema@npm:0.4.0": + version: 0.4.0 + resolution: "json-schema@npm:0.4.0" + checksum: 10c0/d4a637ec1d83544857c1c163232f3da46912e971d5bf054ba44fdb88f07d8d359a462b4aec46f2745efbc57053365608d88bc1d7b1729f7b4fc3369765639ed3 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"json-stable-stringify@npm:~0.0.0": + version: 0.0.1 + resolution: "json-stable-stringify@npm:0.0.1" + dependencies: + jsonify: "npm:~0.0.0" + checksum: 10c0/17faaf0e9c2ebf66f0fadaa53cd6d83b177b5af9aca189bea049e31b3da878e85ea19ac8e436adec45eabb7cb419f47d7a06533819ac6f609df3967c92503981 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1, json-stringify-safe@npm:~5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 + languageName: node + linkType: hard + +"json5@npm:^1.0.1, json5@npm:^1.0.2": + version: 1.0.2 + resolution: "json5@npm:1.0.2" + dependencies: + minimist: "npm:^1.2.0" + bin: + json5: lib/cli.js + checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f + languageName: node + linkType: hard + +"json5@npm:^2.1.2, json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonc-parser@npm:^3.2.0": + version: 3.2.1 + resolution: "jsonc-parser@npm:3.2.1" + checksum: 10c0/ada66dec143d7f9cb0e2d0d29c69e9ce40d20f3a4cb96b0c6efb745025ac7f9ba647d7ac0990d0adfc37a2d2ae084a12009a9c833dbdbeadf648879a99b9df89 + languageName: node + linkType: hard + +"jsonfile@npm:^4.0.0": + version: 4.0.0 + resolution: "jsonfile@npm:4.0.0" + dependencies: + graceful-fs: "npm:^4.1.6" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"jsonify@npm:~0.0.0": + version: 0.0.1 + resolution: "jsonify@npm:0.0.1" + checksum: 10c0/7f5499cdd59a0967ed35bda48b7cec43d850bbc8fb955cdd3a1717bb0efadbe300724d5646de765bb7a99fc1c3ab06eb80d93503c6faaf99b4ff50a3326692f6 + languageName: node + linkType: hard + +"jsonparse@npm:^1.2.0": + version: 1.3.1 + resolution: "jsonparse@npm:1.3.1" + checksum: 10c0/89bc68080cd0a0e276d4b5ab1b79cacd68f562467008d176dc23e16e97d4efec9e21741d92ba5087a8433526a45a7e6a9d5ef25408696c402ca1cfbc01a90bf0 + languageName: node + linkType: hard + +"jsprim@npm:^1.2.2": + version: 1.4.2 + resolution: "jsprim@npm:1.4.2" + dependencies: + assert-plus: "npm:1.0.0" + extsprintf: "npm:1.3.0" + json-schema: "npm:0.4.0" + verror: "npm:1.10.0" + checksum: 10c0/5e4bca99e90727c2040eb4c2190d0ef1fe51798ed5714e87b841d304526190d960f9772acc7108fa1416b61e1122bcd60e4460c91793dce0835df5852aab55af + languageName: node + linkType: hard + +"just-extend@npm:^6.2.0": + version: 6.2.0 + resolution: "just-extend@npm:6.2.0" + checksum: 10c0/d41cbdb6d85b986d4deaf2144d81d4f7266cd408fc95189d046d63f610c2dc486b141aeb6ef319c2d76fe904d45a6bb31f19b098ff0427c35688e0c383fc0511 + languageName: node + linkType: hard + +"karma-chrome-launcher@npm:^3.1.1": + version: 3.2.0 + resolution: "karma-chrome-launcher@npm:3.2.0" + dependencies: + which: "npm:^1.2.1" + checksum: 10c0/0cec1ae7d922110dc29cee36389d597157c82f019c8917259f9fa93d1f5ee8e19141c2eb74bfe30797cdb3adbc51a6b65fd18a9ebc1527c725c4acf62cd46d04 + languageName: node + linkType: hard + +"karma-cli@npm:^2.0.0": + version: 2.0.0 + resolution: "karma-cli@npm:2.0.0" + dependencies: + resolve: "npm:^1.3.3" + bin: + karma: ./bin/karma + checksum: 10c0/4066c22d172d7cbce6be7de5529aa2200203ba958e47359cfe0c45dc29c5970dd3dc1863aef0f3fb17c6b21a5ba938959b17da606241ed844a788a283f94282b + languageName: node + linkType: hard + +"karma-coverage-istanbul-reporter@npm:^3.0.3": + version: 3.0.3 + resolution: "karma-coverage-istanbul-reporter@npm:3.0.3" + dependencies: + istanbul-lib-coverage: "npm:^3.0.0" + istanbul-lib-report: "npm:^3.0.0" + istanbul-lib-source-maps: "npm:^3.0.6" + istanbul-reports: "npm:^3.0.2" + minimatch: "npm:^3.0.4" + checksum: 10c0/543722fd63c98d6e3c9e7bba91d7cb0e3ccb0db0e4b9703f091f2c25ab5a87f330f38ba6d62361c4bb99f3de9e19c5c918555083bb24c41c24400ebe5b772865 + languageName: node + linkType: hard + +"karma-edge-launcher@npm:^0.4.2": + version: 0.4.2 + resolution: "karma-edge-launcher@npm:0.4.2" + dependencies: + edge-launcher: "npm:1.2.2" + peerDependencies: + karma: ">=0.9" + checksum: 10c0/96c2e77b82d6778d57916c2415c3b7d6ba9de689f4a5a6abcfa283a344daa61d733b32e118081adc4fe8ea5d5cfb61630b9153ccf3afe85f9d7a8210ee6fdb7b + languageName: node + linkType: hard + +"karma-firefox-launcher@npm:^2.1.2": + version: 2.1.3 + resolution: "karma-firefox-launcher@npm:2.1.3" + dependencies: + is-wsl: "npm:^2.2.0" + which: "npm:^3.0.0" + checksum: 10c0/a01e40349c04d38686c1aec61a118e9d76ce7345ee1f14c947599b4678dd83d3a54059ec9ec4e40ac4a1872b6b2c3925ba89e8db19cabb7564060857b14b790c + languageName: node + linkType: hard + +"karma-ie-launcher@npm:^1.0.0": + version: 1.0.0 + resolution: "karma-ie-launcher@npm:1.0.0" + dependencies: + lodash: "npm:^4.6.1" + peerDependencies: + karma: ">=0.9" + checksum: 10c0/5b5bc610edff42e9f3af8ccf72727427393d553c0206449acf10571b57d5aa25f532afca16b19a18dfb4006e4db80ee93c4100f6d4817e2c0423c2cb0a2a517d + languageName: node + linkType: hard + +"karma-mocha@npm:^2.0.1": + version: 2.0.1 + resolution: "karma-mocha@npm:2.0.1" + dependencies: + minimist: "npm:^1.2.3" + checksum: 10c0/99ef62d863f6bf8cb11df0f4a9d47615369a0ce8a937d9a0cd7fb83fdbb0ef7420c7ea396de514be48500fac1563a00ab964b7d1adc4ee3f5a875ebf07eb012d + languageName: node + linkType: hard + +"karma-safari-launcher@npm:^1.0.0": + version: 1.0.0 + resolution: "karma-safari-launcher@npm:1.0.0" + peerDependencies: + karma: ">=0.9" + checksum: 10c0/7e8a005b01b19db6c1bc6019dc724a335c1bd47df9d63a2ae18caa200149409f210f85b67b3efec3894994d6506bcd186280dbc470c96d7d61e4afa18036d50c + languageName: node + linkType: hard + +"karma-sauce-launcher@npm:^4.3.6": + version: 4.3.6 + resolution: "karma-sauce-launcher@npm:4.3.6" + dependencies: + global-agent: "npm:^2.1.12" + saucelabs: "npm:^4.6.3" + webdriverio: "npm:^6.7.0" + checksum: 10c0/c05052ac6f5b596b0716b540a6c9a9ee6fa1fec2913fdcca8874a4cbd2b7f482b9febb82f7a022835b7c8adefc857d2ea65e61b739f560bdc6af004a5cdda898 + languageName: node + linkType: hard + +"karma-verbose-reporter@npm:^0.0.8": + version: 0.0.8 + resolution: "karma-verbose-reporter@npm:0.0.8" + dependencies: + colors: "npm:1.4.0" + peerDependencies: + karma: ">=0.12" + checksum: 10c0/9cbc17e84e0d5864626a1d4f1fb2a405eb5c8f9b90b39434943d11fbe444854937932b15ff883bc39ba9b18956f325f4210a8b482ffcca80a12860ea44886101 + languageName: node + linkType: hard + +"karma-webpack@npm:^4.0.2": + version: 4.0.2 + resolution: "karma-webpack@npm:4.0.2" + dependencies: + clone-deep: "npm:^4.0.1" + loader-utils: "npm:^1.1.0" + neo-async: "npm:^2.6.1" + schema-utils: "npm:^1.0.0" + source-map: "npm:^0.7.3" + webpack-dev-middleware: "npm:^3.7.0" + peerDependencies: + webpack: ^4.0.0 + checksum: 10c0/a0cd74127c373cc1e08b328e55ecd988bda3353eda9e05d4ceb241dfd8b4029e661ed54e8e08bad00adc131cb615c9b4833a73f294d0ccbe1740a256bda5dcfd + languageName: node + linkType: hard + +"karma@npm:^6.3.19": + version: 6.4.3 + resolution: "karma@npm:6.4.3" + dependencies: + "@colors/colors": "npm:1.5.0" + body-parser: "npm:^1.19.0" + braces: "npm:^3.0.2" + chokidar: "npm:^3.5.1" + connect: "npm:^3.7.0" + di: "npm:^0.0.1" + dom-serialize: "npm:^2.2.1" + glob: "npm:^7.1.7" + graceful-fs: "npm:^4.2.6" + http-proxy: "npm:^1.18.1" + isbinaryfile: "npm:^4.0.8" + lodash: "npm:^4.17.21" + log4js: "npm:^6.4.1" + mime: "npm:^2.5.2" + minimatch: "npm:^3.0.4" + mkdirp: "npm:^0.5.5" + qjobs: "npm:^1.2.0" + range-parser: "npm:^1.2.1" + rimraf: "npm:^3.0.2" + socket.io: "npm:^4.7.2" + source-map: "npm:^0.6.1" + tmp: "npm:^0.2.1" + ua-parser-js: "npm:^0.7.30" + yargs: "npm:^16.1.1" + bin: + karma: bin/karma + checksum: 10c0/dc9710600c69265fce24a91312a136396acef969b72aac05e342724a4223a799cd3676a20f73a4beda797908b7f534fa95c8228bd79fd5c54682020c626e4fdd + languageName: node + linkType: hard + +"keyv@npm:3.0.0": + version: 3.0.0 + resolution: "keyv@npm:3.0.0" + dependencies: + json-buffer: "npm:3.0.0" + checksum: 10c0/eb128eb136d4b6bca08ac3936fb5a6ba630f1b9575289e8140c60cdc20b4df04cba5cfaa982df57516364bf62801d2c497cad70edca1270e72a2403876a42805 + languageName: node + linkType: hard + +"keyv@npm:^4.0.0, keyv@npm:^4.5.3": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": + version: 3.2.2 + resolution: "kind-of@npm:3.2.2" + dependencies: + is-buffer: "npm:^1.1.5" + checksum: 10c0/7e34bc29d4b02c997f92f080de34ebb92033a96736bbb0bb2410e033a7e5ae6571f1fa37b2d7710018f95361473b816c604234197f4f203f9cf149d8ef1574d9 + languageName: node + linkType: hard + +"kind-of@npm:^4.0.0": + version: 4.0.0 + resolution: "kind-of@npm:4.0.0" + dependencies: + is-buffer: "npm:^1.1.5" + checksum: 10c0/d6c44c75ee36898142dfc7106afbd50593216c37f96acb81a7ab33ca1a6938ce97d5692b8fc8fccd035f83811a9d97749d68771116441a48eedd0b68e2973165 + languageName: node + linkType: hard + +"kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 + languageName: node + linkType: hard + +"labeled-stream-splicer@npm:^2.0.0": + version: 2.0.2 + resolution: "labeled-stream-splicer@npm:2.0.2" + dependencies: + inherits: "npm:^2.0.1" + stream-splicer: "npm:^2.0.0" + checksum: 10c0/69ee17d2a9633f88e1f9ee88201c70fbd3dfd726d3bee59c3f4b4e0809363793dc29f154df294a789a66ce0e56fbe4063ea1c66bc953ba890c6f815da8161d72 + languageName: node + linkType: hard + +"latest-version@npm:^1.0.0": + version: 1.0.1 + resolution: "latest-version@npm:1.0.1" + dependencies: + package-json: "npm:^1.0.0" + bin: + latest-version: cli.js + checksum: 10c0/b55fc9caa1ba1cee3a4dd88c113c27d97e205397847131b39048b0e8a0409dff7e428b5e11e265212cfae28f64f424ce74c9937833aaea122fa7c11d44a09e92 + languageName: node + linkType: hard + +"lazystream@npm:^1.0.0": + version: 1.0.1 + resolution: "lazystream@npm:1.0.1" + dependencies: + readable-stream: "npm:^2.0.5" + checksum: 10c0/ea4e509a5226ecfcc303ba6782cc269be8867d372b9bcbd625c88955df1987ea1a20da4643bf9270336415a398d33531ebf0d5f0d393b9283dc7c98bfcbd7b69 + languageName: node + linkType: hard + +"lcid@npm:^1.0.0": + version: 1.0.0 + resolution: "lcid@npm:1.0.0" + dependencies: + invert-kv: "npm:^1.0.0" + checksum: 10c0/87fb32196c3c80458778f34f71c042e114f3134a3c86c0d60ee9c94f0750e467d7ca0c005a5224ffd9d49a6e449b5e5c31e1544f1827765a0ba8747298f5980e + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"lighthouse-logger@npm:^1.0.0": + version: 1.4.2 + resolution: "lighthouse-logger@npm:1.4.2" + dependencies: + debug: "npm:^2.6.9" + marky: "npm:^1.2.2" + checksum: 10c0/090431db34e9ce01b03b2a03b39e998807a7a86214f2e8da2ba9588c36841caf4474f96ef1b2deaf9fe58f2e00f9f51618e0b98edecc2d8c9dfc13185bf0adc8 + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"loader-runner@npm:^2.4.0": + version: 2.4.0 + resolution: "loader-runner@npm:2.4.0" + checksum: 10c0/1f723bd8318453c2d073d7befbf891ba6d2a02f22622688bf7d22e7ba527a0f9476c7fdfedc6bfa2b55c0389d9f406f3a5239ed1b33c9088d77cfed085086a1e + languageName: node + linkType: hard + +"loader-utils@npm:^1.1.0, loader-utils@npm:^1.2.3": + version: 1.4.2 + resolution: "loader-utils@npm:1.4.2" + dependencies: + big.js: "npm:^5.2.2" + emojis-list: "npm:^3.0.0" + json5: "npm:^1.0.1" + checksum: 10c0/2b726088b5526f7605615e3e28043ae9bbd2453f4a85898e1151f3c39dbf7a2b65d09f3996bc588d92ac7e717ded529d3e1ea3ea42c433393be84a58234a2f53 + languageName: node + linkType: hard + +"loader-utils@npm:^2.0.0": + version: 2.0.4 + resolution: "loader-utils@npm:2.0.4" + dependencies: + big.js: "npm:^5.2.2" + emojis-list: "npm:^3.0.0" + json5: "npm:^2.1.2" + checksum: 10c0/d5654a77f9d339ec2a03d88221a5a695f337bf71eb8dea031b3223420bb818964ba8ed0069145c19b095f6c8b8fd386e602a3fc7ca987042bd8bb1dcc90d7100 + languageName: node + linkType: hard + +"local-pkg@npm:^0.5.0": + version: 0.5.0 + resolution: "local-pkg@npm:0.5.0" + dependencies: + mlly: "npm:^1.4.2" + pkg-types: "npm:^1.0.3" + checksum: 10c0/f61cbd00d7689f275558b1a45c7ff2a3ddf8472654123ed880215677b9adfa729f1081e50c27ffb415cdb9fa706fb755fec5e23cdd965be375c8059e87ff1cc9 + languageName: node + linkType: hard + +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: "npm:^3.0.0" + path-exists: "npm:^3.0.0" + checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: "npm:^4.1.0" + checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.camelcase@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.camelcase@npm:4.3.0" + checksum: 10c0/fcba15d21a458076dd309fce6b1b4bf611d84a0ec252cb92447c948c533ac250b95d2e00955801ebc367e5af5ed288b996d75d37d2035260a937008e14eaf432 + languageName: node + linkType: hard + +"lodash.clonedeep@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.clonedeep@npm:4.5.0" + checksum: 10c0/2caf0e4808f319d761d2939ee0642fa6867a4bbf2cfce43276698828380756b99d4c4fa226d881655e6ac298dd453fe12a5ec8ba49861777759494c534936985 + languageName: node + linkType: hard + +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 + languageName: node + linkType: hard + +"lodash.defaults@npm:^4.2.0": + version: 4.2.0 + resolution: "lodash.defaults@npm:4.2.0" + checksum: 10c0/d5b77aeb702caa69b17be1358faece33a84497bcca814897383c58b28a2f8dfc381b1d9edbec239f8b425126a3bbe4916223da2a576bb0411c2cefd67df80707 + languageName: node + linkType: hard + +"lodash.difference@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.difference@npm:4.5.0" + checksum: 10c0/5d52859218a7df427547ff1fadbc397879709fe6c788b037df7d6d92b676122c92bd35ec85d364edb596b65dfc6573132f420c9b4ee22bb6b9600cd454c90637 + languageName: node + linkType: hard + +"lodash.flatten@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.flatten@npm:4.4.0" + checksum: 10c0/97e8f0d6b61fe4723c02ad0c6e67e51784c4a2c48f56ef283483e556ad01594cf9cec9c773e177bbbdbdb5d19e99b09d2487cb6b6e5dc405c2693e93b125bd3a + languageName: node + linkType: hard + +"lodash.flattendeep@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.flattendeep@npm:4.4.0" + checksum: 10c0/83cb80754b921fb4ed2c222b91a82b2524f3bdc60c3ae91e00688bd4bf1bcc28b8a2cc250e11fdc1b6da3a2de09e57008e13f15a209cafdd4f9163d047f97544 + languageName: node + linkType: hard + +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: 10c0/48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e + languageName: node + linkType: hard + +"lodash.isobject@npm:^3.0.2": + version: 3.0.2 + resolution: "lodash.isobject@npm:3.0.2" + checksum: 10c0/da4c8480d98b16835b59380b2fbd43c54081acd9466febb788ba77c434384349e0bec162d1c4e89f613f21687b2b6d8384d8a112b80da00c78d28d9915a5cdde + languageName: node + linkType: hard + +"lodash.isplainobject@npm:^4.0.6": + version: 4.0.6 + resolution: "lodash.isplainobject@npm:4.0.6" + checksum: 10c0/afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb + languageName: node + linkType: hard + +"lodash.memoize@npm:~3.0.3": + version: 3.0.4 + resolution: "lodash.memoize@npm:3.0.4" + checksum: 10c0/7d3875ed3f0ea2fb5abd1d0f55362ac141f4e173917acc3797f38e67686b5567a7609b3d460db2d0bb2196620a9245b45ecd1b50f51aa77ad486342fbe2e7d76 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.1, lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash.union@npm:^4.6.0": + version: 4.6.0 + resolution: "lodash.union@npm:4.6.0" + checksum: 10c0/6da7f72d1facd472f6090b49eefff984c9f9179e13172039c0debca6851d21d37d83c7ad5c43af23bd220f184cd80e6897e8e3206509fae491f9068b02ae6319 + languageName: node + linkType: hard + +"lodash.zip@npm:^4.2.0": + version: 4.2.0 + resolution: "lodash.zip@npm:4.2.0" + checksum: 10c0/e596da80a6138e369998b50c78b51ed6cf984b4f239e59056aa18dca5972a213c491c511caf5888a2dec603c67265caf942099bec554a86a5c7ff1937d57f0e4 + languageName: node + linkType: hard + +"lodash@npm:^3.10.0, lodash@npm:^3.3.1": + version: 3.10.1 + resolution: "lodash@npm:3.10.1" + checksum: 10c0/f5f6d3d87503c3f1db27d49b30a00bb38dc1bd9de716c5febe8970259cc7b447149a0e320452ccaf5996a7a4abd63d94df341bb91bd8d336584ad518d8eab144 + languageName: node + linkType: hard + +"lodash@npm:^4.17.11, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.6.1": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"log-symbols@npm:4.0.0": + version: 4.0.0 + resolution: "log-symbols@npm:4.0.0" + dependencies: + chalk: "npm:^4.0.0" + checksum: 10c0/d744042ccca6404350fb809f6d98293a18b840e2323e72c45f6a47932d418f0af6e05a2434ab6558b607a132f895e3bb53c8483a7ceeb554d82a3c83438db493 + languageName: node + linkType: hard + +"log-symbols@npm:^4.0.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + is-unicode-supported: "npm:^0.1.0" + checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 + languageName: node + linkType: hard + +"log4js@npm:^6.4.1": + version: 6.9.1 + resolution: "log4js@npm:6.9.1" + dependencies: + date-format: "npm:^4.0.14" + debug: "npm:^4.3.4" + flatted: "npm:^3.2.7" + rfdc: "npm:^1.3.0" + streamroller: "npm:^3.1.5" + checksum: 10c0/05846e48f72d662800c8189bd178c42b4aa2f0c574cfc90a1942cf90b76f621c44019e26796c8fd88da1b6f0fe8272cba607cbaad6ae6ede50a7a096b58197ea + languageName: node + linkType: hard + +"loglevel-plugin-prefix@npm:^0.8.4": + version: 0.8.4 + resolution: "loglevel-plugin-prefix@npm:0.8.4" + checksum: 10c0/357524eec4c165ff823b5bbf72e8373ff529e5cb95c1f4b20749847bd5b5b16ab328d6d33d1a9019f1a2dc52e28fca5d595e52f2ee20e24986182a6f9552a9ec + languageName: node + linkType: hard + +"loglevel@npm:^1.6.0": + version: 1.9.1 + resolution: "loglevel@npm:1.9.1" + checksum: 10c0/152f0501cea367cf998c844a38b19f0b5af555756ad7d8650214a1f8c6a5b045e31b8cf5dae27d28339a061624ce3f618aadb333aed386cac041d6ddc5101a39 + languageName: node + linkType: hard + +"loose-envify@npm:^1.0.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"loupe@npm:^2.3.6, loupe@npm:^2.3.7": + version: 2.3.7 + resolution: "loupe@npm:2.3.7" + dependencies: + get-func-name: "npm:^2.0.1" + checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 + languageName: node + linkType: hard + +"lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/3d925e090315cf7dc1caa358e0477e186ffa23947740e4314a7429b6e62d72742e0bbe7536a5ae56d19d7618ce998aba05caca53c2902bd5742fdca5fc57fd7b + languageName: node + linkType: hard + +"lowercase-keys@npm:1.0.0": + version: 1.0.0 + resolution: "lowercase-keys@npm:1.0.0" + checksum: 10c0/cd5cb8d8f41bf0f8f8f396c467b1872a3d0283528e3aff385f9978f1eb94c8ada3081f67ab3b97bbe70697a44e22bb12ec09fb1b099188b112575595b655b02b + languageName: node + linkType: hard + +"lowercase-keys@npm:^1.0.0": + version: 1.0.1 + resolution: "lowercase-keys@npm:1.0.1" + checksum: 10c0/56776a8e1ef1aca98ecf6c19b30352ae1cf257b65b8ac858b7d8a0e8b348774d12a9b41aa7f59bfea51bff44bc7a198ab63ba4406bfba60dba008799618bef66 + languageName: node + linkType: hard + +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: 10c0/f82a2b3568910509da4b7906362efa40f5b54ea14c2584778ddb313226f9cbf21020a5db35f9b9a0e95847a9b781d548601f31793d736b22a2b8ae8eb9ab1082 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.2.0 + resolution: "lru-cache@npm:10.2.0" + checksum: 10c0/c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee + languageName: node + linkType: hard + +"lru-cache@npm:^2.6.5": + version: 2.7.3 + resolution: "lru-cache@npm:2.7.3" + checksum: 10c0/699702a9e374fd48cb507c55ecf655409337b3f6356a78e620e64e34c675bd988377fd4e3bb1db6e05a03b10e1758ba55877ca90a01c8d7ab2bea05cc49190d8 + languageName: node + linkType: hard + +"lru-cache@npm:^4.0.1": + version: 4.1.5 + resolution: "lru-cache@npm:4.1.5" + dependencies: + pseudomap: "npm:^1.0.2" + yallist: "npm:^2.1.2" + checksum: 10c0/1ca5306814e5add9ec63556d6fd9b24a4ecdeaef8e9cea52cbf30301e6b88c8d8ddc7cab45b59b56eb763e6c45af911585dc89925a074ab65e1502e3fe8103cf + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.5": + version: 0.30.8 + resolution: "magic-string@npm:0.30.8" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + checksum: 10c0/51a1f06f678c082aceddfb5943de9b6bdb88f2ea1385a1c2adf116deb73dfcfa50df6c222901d691b529455222d4d68d0b28be5689ac6f69b3baa3462861f922 + languageName: node + linkType: hard + +"magicast@npm:^0.3.3": + version: 0.3.3 + resolution: "magicast@npm:0.3.3" + dependencies: + "@babel/parser": "npm:^7.23.6" + "@babel/types": "npm:^7.23.6" + source-map-js: "npm:^1.0.2" + checksum: 10c0/2eeba19545ac4328433be817bd81fcfa8a517ec67599260541e13ce5ce18b27ff8830f1b87d54a1392d408d1b96e44938bf026920f0110edbdfecc96980919b3 + languageName: node + linkType: hard + +"make-dir@npm:^1.0.0, make-dir@npm:^1.2.0": + version: 1.3.0 + resolution: "make-dir@npm:1.3.0" + dependencies: + pify: "npm:^3.0.0" + checksum: 10c0/5eb94f47d7ef41d89d1b8eef6539b8950d5bd99eeba093a942bfd327faa37d2d62227526b88b73633243a2ec7972d21eb0f4e5d62ae4e02a79e389f4a7bb3022 + languageName: node + linkType: hard + +"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "make-dir@npm:2.1.0" + dependencies: + pify: "npm:^4.0.1" + semver: "npm:^5.6.0" + checksum: 10c0/ada869944d866229819735bee5548944caef560d7a8536ecbc6536edca28c72add47cc4f6fc39c54fb25d06b58da1f8994cf7d9df7dadea047064749efc085d8 + languageName: node + linkType: hard + +"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: "npm:^6.0.0" + checksum: 10c0/56aaafefc49c2dfef02c5c95f9b196c4eb6988040cf2c712185c7fe5c99b4091591a7fc4d4eafaaefa70ff763a26f6ab8c3ff60b9e75ea19876f49b18667ecaa + languageName: node + linkType: hard + +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: "npm:^7.5.3" + checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^13.0.0": + version: 13.0.0 + resolution: "make-fetch-happen@npm:13.0.0" + dependencies: + "@npmcli/agent": "npm:^2.0.0" + cacache: "npm:^18.0.0" + http-cache-semantics: "npm:^4.1.1" + is-lambda: "npm:^1.0.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + promise-retry: "npm:^2.0.1" + ssri: "npm:^10.0.0" + checksum: 10c0/43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^9.1.0": + version: 9.1.0 + resolution: "make-fetch-happen@npm:9.1.0" + dependencies: + agentkeepalive: "npm:^4.1.3" + cacache: "npm:^15.2.0" + http-cache-semantics: "npm:^4.1.0" + http-proxy-agent: "npm:^4.0.1" + https-proxy-agent: "npm:^5.0.0" + is-lambda: "npm:^1.0.1" + lru-cache: "npm:^6.0.0" + minipass: "npm:^3.1.3" + minipass-collect: "npm:^1.0.2" + minipass-fetch: "npm:^1.3.2" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.2" + promise-retry: "npm:^2.0.1" + socks-proxy-agent: "npm:^6.0.0" + ssri: "npm:^8.0.0" + checksum: 10c0/2c737faf6a7f67077679da548b5bfeeef890595bf8c4323a1f76eae355d27ebb33dcf9cf1a673f944cf2f2a7cbf4e2b09f0a0a62931737728f210d902c6be966 + languageName: node + linkType: hard + +"map-cache@npm:^0.2.2": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 10c0/05e3eb005c1b80b9f949ca007687640e8c5d0fc88dc45c3c3ab4902a3bec79d66a58f3e3b04d6985d90cd267c629c7b46c977e9c34433e8c11ecfcbb9f0fa290 + languageName: node + linkType: hard + +"map-obj@npm:^1.0.0": + version: 1.0.1 + resolution: "map-obj@npm:1.0.1" + checksum: 10c0/ccca88395e7d38671ed9f5652ecf471ecd546924be2fb900836b9da35e068a96687d96a5f93dcdfa94d9a27d649d2f10a84595590f89a347fb4dda47629dcc52 + languageName: node + linkType: hard + +"map-obj@npm:^4.0.0": + version: 4.3.0 + resolution: "map-obj@npm:4.3.0" + checksum: 10c0/1c19e1c88513c8abdab25c316367154c6a0a6a0f77e3e8c391bb7c0e093aefed293f539d026dc013d86219e5e4c25f23b0003ea588be2101ccd757bacc12d43b + languageName: node + linkType: hard + +"map-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "map-visit@npm:1.0.0" + dependencies: + object-visit: "npm:^1.0.0" + checksum: 10c0/fb3475e5311939a6147e339999113db607adc11c7c3cd3103e5e9dbf502898416ecba6b1c7c649c6d4d12941de00cee58b939756bdf20a9efe7d4fa5a5738b73 + languageName: node + linkType: hard + +"marky@npm:^1.2.2": + version: 1.2.5 + resolution: "marky@npm:1.2.5" + checksum: 10c0/ca8a011f287dab1ac3291df720fc32b366c4cd767347b63722966650405ce71ec6566f71d1e22e1768bf6461a7fd689b9038e7df0fcfb62eacf3a5a6dcac249e + languageName: node + linkType: hard + +"matcher@npm:^3.0.0": + version: 3.0.0 + resolution: "matcher@npm:3.0.0" + dependencies: + escape-string-regexp: "npm:^4.0.0" + checksum: 10c0/2edf24194a2879690bcdb29985fc6bc0d003df44e04df21ebcac721fa6ce2f6201c579866bb92f9380bffe946f11ecd8cd31f34117fb67ebf8aca604918e127e + languageName: node + linkType: hard + +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/b7bd75077f419c8e013fc4d4dada48be71882e37d69a44af65a2f2804b91e253441eb43a0614423a1c91bb830b8140b0dc906bc797245e2e275759584f4efcc5 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 + languageName: node + linkType: hard + +"memory-fs@npm:^0.4.1": + version: 0.4.1 + resolution: "memory-fs@npm:0.4.1" + dependencies: + errno: "npm:^0.1.3" + readable-stream: "npm:^2.0.1" + checksum: 10c0/f114c44ad8285103cb0e71420cf5bb628d3eb6cbd918197f5951590ff56ba2072f4a97924949c170320cdf180d2da4e8d16a0edd92ba0ca2d2de51dc932841e2 + languageName: node + linkType: hard + +"memory-fs@npm:^0.5.0": + version: 0.5.0 + resolution: "memory-fs@npm:0.5.0" + dependencies: + errno: "npm:^0.1.3" + readable-stream: "npm:^2.0.1" + checksum: 10c0/2737a27b14a9e8b8cd757be2ad99e8cc504b78a78aba9d6aa18ff1ef528e2223a433413d2df6ab5332997a5a8ccf075e6c6e90e31ab732a55455ca620e4a720b + languageName: node + linkType: hard + +"meow@npm:^9.0.0": + version: 9.0.0 + resolution: "meow@npm:9.0.0" + dependencies: + "@types/minimist": "npm:^1.2.0" + camelcase-keys: "npm:^6.2.2" + decamelize: "npm:^1.2.0" + decamelize-keys: "npm:^1.1.0" + hard-rejection: "npm:^2.1.0" + minimist-options: "npm:4.1.0" + normalize-package-data: "npm:^3.0.0" + read-pkg-up: "npm:^7.0.1" + redent: "npm:^3.0.0" + trim-newlines: "npm:^3.0.0" + type-fest: "npm:^0.18.0" + yargs-parser: "npm:^20.2.3" + checksum: 10c0/998955ecff999dc3f3867ef3b51999218212497f27d75b9cbe10bdb73aac4ee308d484f7801fd1b3cfa4172819065f65f076ca018c1412fab19d0ea486648722 + languageName: node + linkType: hard + +"merge-source-map@npm:^1.1.0": + version: 1.1.0 + resolution: "merge-source-map@npm:1.1.0" + dependencies: + source-map: "npm:^0.6.1" + checksum: 10c0/ac0e0192c9c7e30056c5baa939434c0d1015faa5c7ce7936ad77600f1752c03099134cb33c50f1bb32ec25350e191ca2392c6b76b1eaca89c7c989e42403655f + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^3.1.10, micromatch@npm:^3.1.4": + version: 3.1.10 + resolution: "micromatch@npm:3.1.10" + dependencies: + arr-diff: "npm:^4.0.0" + array-unique: "npm:^0.3.2" + braces: "npm:^2.3.1" + define-property: "npm:^2.0.2" + extend-shallow: "npm:^3.0.2" + extglob: "npm:^2.0.4" + fragment-cache: "npm:^0.2.1" + kind-of: "npm:^6.0.2" + nanomatch: "npm:^1.2.9" + object.pick: "npm:^1.3.0" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.2" + checksum: 10c0/531a32e7ac92bef60657820202be71b63d0f945c08a69cc4c239c0b19372b751483d464a850a2e3a5ff6cc9060641e43d44c303af104c1a27493d137d8af017f + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" + dependencies: + braces: "npm:^3.0.2" + picomatch: "npm:^2.3.1" + checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff + languageName: node + linkType: hard + +"miller-rabin@npm:^4.0.0": + version: 4.0.1 + resolution: "miller-rabin@npm:4.0.1" + dependencies: + bn.js: "npm:^4.0.0" + brorand: "npm:^1.0.1" + bin: + miller-rabin: bin/miller-rabin + checksum: 10c0/26b2b96f6e49dbcff7faebb78708ed2f5f9ae27ac8cbbf1d7c08f83cf39bed3d418c0c11034dce997da70d135cc0ff6f3a4c15dc452f8e114c11986388a64346 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0, mime-db@npm:^1.28.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mime@npm:^2.4.4, mime@npm:^2.5.2": + version: 2.6.0 + resolution: "mime@npm:2.6.0" + bin: + mime: cli.js + checksum: 10c0/a7f2589900d9c16e3bdf7672d16a6274df903da958c1643c9c45771f0478f3846dcb1097f31eb9178452570271361e2149310931ec705c037210fc69639c8e6c + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf + languageName: node + linkType: hard + +"mimic-response@npm:^1.0.0": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: 10c0/c5381a5eae997f1c3b5e90ca7f209ed58c3615caeee850e85329c598f0c000ae7bec40196580eef1781c60c709f47258131dab237cad8786f8f56750594f27fa + languageName: node + linkType: hard + +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 + languageName: node + linkType: hard + +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: 10c0/7e207bd5c20401b292de291f02913230cb1163abca162044f7db1d951fa245b174dc00869d40dd9a9f32a885ad6a5f3e767ee104cf278f399cb4e92d3f582d5c + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 + languageName: node + linkType: hard + +"minimatch@npm:2 || 3, minimatch@npm:^3.0.0, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:3.0.4": + version: 3.0.4 + resolution: "minimatch@npm:3.0.4" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/d0a2bcd93ebec08a9eef3ca83ba33c9fb6feb93932e0b4dc6aa46c5f37a9404bea7ad9ff7cafe23ce6634f1fe3b206f5315ecbb05812da6e692c21d8ecfd3dae + languageName: node + linkType: hard + +"minimatch@npm:9.0.3, minimatch@npm:^9.0.1": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac + languageName: node + linkType: hard + +"minimatch@npm:^5.1.0": + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 + languageName: node + linkType: hard + +"minimatch@npm:~3.0.2": + version: 3.0.8 + resolution: "minimatch@npm:3.0.8" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/72b226f452dcfb5075255f53534cb83fc25565b909e79b9be4fad463d735cb1084827f7013ff41d050e77ee6e474408c6073473edd2fb72c2fd630cfb0acc6ad + languageName: node + linkType: hard + +"minimist-options@npm:4.1.0": + version: 4.1.0 + resolution: "minimist-options@npm:4.1.0" + dependencies: + arrify: "npm:^1.0.1" + is-plain-obj: "npm:^1.1.0" + kind-of: "npm:^6.0.3" + checksum: 10c0/7871f9cdd15d1e7374e5b013e2ceda3d327a06a8c7b38ae16d9ef941e07d985e952c589e57213f7aa90a8744c60aed9524c0d85e501f5478382d9181f2763f54 + languageName: node + linkType: hard + +"minimist@npm:0.0.5": + version: 0.0.5 + resolution: "minimist@npm:0.0.5" + checksum: 10c0/fb20ad890afba82d9ee006cca1e9e9edee48d41300910d6cbd0ec4417e082eadff3b1275c9b978e9d68057a26a8460d6d2d0cbfb425eb1fde9346bfc78de43f6 + languageName: node + linkType: hard + +"minimist@npm:^1.1.0, minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/8f82bd1f3095b24f53a991b04b67f4c710c894e518b813f0864a31de5570441a509be1ca17e0bb92b047591a8fdbeb886f502764fefb00d2f144f4011791e898 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^1.3.2": + version: 1.4.1 + resolution: "minipass-fetch@npm:1.4.1" + dependencies: + encoding: "npm:^0.1.12" + minipass: "npm:^3.1.0" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.0.0" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a43da7401cd7c4f24b993887d41bd37d097356083b0bb836fd655916467463a1e6e9e553b2da4fcbe8745bf23d40c8b884eab20745562199663b3e9060cd8e7a + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.4 + resolution: "minipass-fetch@npm:3.0.4" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 + languageName: node + linkType: hard + +"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"mississippi@npm:^3.0.0": + version: 3.0.0 + resolution: "mississippi@npm:3.0.0" + dependencies: + concat-stream: "npm:^1.5.0" + duplexify: "npm:^3.4.2" + end-of-stream: "npm:^1.1.0" + flush-write-stream: "npm:^1.0.0" + from2: "npm:^2.1.0" + parallel-transform: "npm:^1.1.0" + pump: "npm:^3.0.0" + pumpify: "npm:^1.3.3" + stream-each: "npm:^1.1.0" + through2: "npm:^2.0.0" + checksum: 10c0/97424a331ce1b9f789a0d3fa47d725dad9adfe5e0ead8bc458ba9fb51c4d2630df6b0966ca9dcbb4c90db48737d58126cbf0e3c170697bf41c265606efa91103 + languageName: node + linkType: hard + +"mixin-deep@npm:^1.2.0": + version: 1.3.2 + resolution: "mixin-deep@npm:1.3.2" + dependencies: + for-in: "npm:^1.0.2" + is-extendable: "npm:^1.0.1" + checksum: 10c0/cb39ffb73c377222391af788b4c83d1a6cecb2d9fceb7015384f8deb46e151a9b030c21ef59a79cb524d4557e3f74c7248ab948a62a6e7e296b42644863d183b + languageName: node + linkType: hard + +"mkdirp-classic@npm:^0.5.2": + version: 0.5.3 + resolution: "mkdirp-classic@npm:0.5.3" + checksum: 10c0/95371d831d196960ddc3833cc6907e6b8f67ac5501a6582f47dfae5eb0f092e9f8ce88e0d83afcae95d6e2b61a01741ba03714eeafb6f7a6e9dcc158ac85b168 + languageName: node + linkType: hard + +"mkdirp-promise@npm:^5.0.1": + version: 5.0.1 + resolution: "mkdirp-promise@npm:5.0.1" + dependencies: + mkdirp: "npm:*" + checksum: 10c0/c99007908866d65ebaa1fd7f0b0d090e577ac92f6cc5cb98b91a68a461fd9b973412447fb00be3bb2346f5535126667f1e27964abf390f2c1cd077e4fdb59e08 + languageName: node + linkType: hard + +"mkdirp@npm:*": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"mkdirp@npm:^0.5.0, mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:^0.5.5, mkdirp@npm:~0.5.1": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" + dependencies: + minimist: "npm:^1.2.6" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"mlly@npm:^1.2.0, mlly@npm:^1.4.2": + version: 1.6.1 + resolution: "mlly@npm:1.6.1" + dependencies: + acorn: "npm:^8.11.3" + pathe: "npm:^1.1.2" + pkg-types: "npm:^1.0.3" + ufo: "npm:^1.3.2" + checksum: 10c0/a7bf26b3d4f83b0f5a5232caa3af44be08b464f562f31c11d885d1bc2d43b7d717137d47b0c06fdc69e1b33ffc09f902b6d2b18de02c577849d40914e8785092 + languageName: node + linkType: hard + +"mocha@npm:^8.1.3": + version: 8.4.0 + resolution: "mocha@npm:8.4.0" + dependencies: + "@ungap/promise-all-settled": "npm:1.1.2" + ansi-colors: "npm:4.1.1" + browser-stdout: "npm:1.3.1" + chokidar: "npm:3.5.1" + debug: "npm:4.3.1" + diff: "npm:5.0.0" + escape-string-regexp: "npm:4.0.0" + find-up: "npm:5.0.0" + glob: "npm:7.1.6" + growl: "npm:1.10.5" + he: "npm:1.2.0" + js-yaml: "npm:4.0.0" + log-symbols: "npm:4.0.0" + minimatch: "npm:3.0.4" + ms: "npm:2.1.3" + nanoid: "npm:3.1.20" + serialize-javascript: "npm:5.0.1" + strip-json-comments: "npm:3.1.1" + supports-color: "npm:8.1.1" + which: "npm:2.0.2" + wide-align: "npm:1.1.3" + workerpool: "npm:6.1.0" + yargs: "npm:16.2.0" + yargs-parser: "npm:20.2.4" + yargs-unparser: "npm:2.0.0" + bin: + _mocha: bin/_mocha + mocha: bin/mocha + checksum: 10c0/9b4d31e1f3fdbc4efad38a2a98b4990ce823f6241f62ca31a7489d811628ccf68317a2b0caf50b235eb04738b41bf539c5ee9d4f456bc0596a58d2e46f7eee99 + languageName: node + linkType: hard + +"module-deps@npm:^6.2.3": + version: 6.2.3 + resolution: "module-deps@npm:6.2.3" + dependencies: + JSONStream: "npm:^1.0.3" + browser-resolve: "npm:^2.0.0" + cached-path-relative: "npm:^1.0.2" + concat-stream: "npm:~1.6.0" + defined: "npm:^1.0.0" + detective: "npm:^5.2.0" + duplexer2: "npm:^0.1.2" + inherits: "npm:^2.0.1" + parents: "npm:^1.0.0" + readable-stream: "npm:^2.0.2" + resolve: "npm:^1.4.0" + stream-combiner2: "npm:^1.1.1" + subarg: "npm:^1.0.0" + through2: "npm:^2.0.0" + xtend: "npm:^4.0.0" + bin: + module-deps: bin/cmd.js + checksum: 10c0/4161734c23bc5d7e5cd0c5164cf4c41d885b8e1d64e3c43ed74c9ad00efe69ddebb30d4cac9ce29f7d7d6989e52f3ae56891afd39f8d2b50addbffe0236fd528 + languageName: node + linkType: hard + +"mold-source-map@npm:~0.4.0": + version: 0.4.1 + resolution: "mold-source-map@npm:0.4.1" + dependencies: + convert-source-map: "npm:^1.1.0" + through: "npm:~2.2.7" + checksum: 10c0/aac0d0c600fbe7567d16c1dc5af096f65cf569a5919aa7cbd95a2464e31c6b3768d659c5a0a27e7694375240877b77a11143452ee8d21f449f9a28cd9ebd9bb0 + languageName: node + linkType: hard + +"moment@npm:^2.24.0": + version: 2.30.1 + resolution: "moment@npm:2.30.1" + checksum: 10c0/865e4279418c6de666fca7786607705fd0189d8a7b7624e2e56be99290ac846f90878a6f602e34b4e0455c549b85385b1baf9966845962b313699e7cb847543a + languageName: node + linkType: hard + +"move-concurrently@npm:^1.0.1": + version: 1.0.1 + resolution: "move-concurrently@npm:1.0.1" + dependencies: + aproba: "npm:^1.1.1" + copy-concurrently: "npm:^1.0.0" + fs-write-stream-atomic: "npm:^1.0.8" + mkdirp: "npm:^0.5.1" + rimraf: "npm:^2.5.4" + run-queue: "npm:^1.0.3" + checksum: 10c0/0fe81acf3bbbc322013c2f4ee4a48cf8d180a7d925fb9284c0f1f444e862d7eb0421ee074b68d35357a12f0d5e94a322049dc9da480672331b5b8895743eb66a + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"mute-stream@npm:0.0.5": + version: 0.0.5 + resolution: "mute-stream@npm:0.0.5" + checksum: 10c0/562d334db46e4334f473e9e9c4993df7227fa1ba0c3f7eb453e1db666b0f0e3be45315b4d01bfa722784752e51acf72e37bb982d0bd2768fe6a431eb4dbb17ab + languageName: node + linkType: hard + +"mute-stream@npm:0.0.8": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: 10c0/18d06d92e5d6d45e2b63c0e1b8f25376af71748ac36f53c059baa8b76ffac31c5ab225480494e7d35d30215ecdb18fed26ec23cafcd2f7733f2f14406bcd19e2 + languageName: node + linkType: hard + +"nan@npm:^2.12.1, nan@npm:^2.13.2": + version: 2.19.0 + resolution: "nan@npm:2.19.0" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/b8d05d75f92ee9d94affa50d0aa41b6c698254c848529452d7ab67c2e0d160a83f563bfe2cbd53e077944eceb48c757f83c93634c7c9ff404c9ec1ed4e5ced1a + languageName: node + linkType: hard + +"nanoid@npm:3.1.20": + version: 3.1.20 + resolution: "nanoid@npm:3.1.20" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/aac1e0b6bc8fb96a83a32a652df88385ccd66df6adaed257202f086d9d6e4ab3b3fb6bf9ea0e81a0e2996ae80da465760a8049105a499331ba57344868edac04 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + languageName: node + linkType: hard + +"nanomatch@npm:^1.2.9": + version: 1.2.13 + resolution: "nanomatch@npm:1.2.13" + dependencies: + arr-diff: "npm:^4.0.0" + array-unique: "npm:^0.3.2" + define-property: "npm:^2.0.2" + extend-shallow: "npm:^3.0.2" + fragment-cache: "npm:^0.2.1" + is-windows: "npm:^1.0.2" + kind-of: "npm:^6.0.2" + object.pick: "npm:^1.3.0" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.1" + checksum: 10c0/0f5cefa755ca2e20c86332821995effb24acb79551ddaf51c1b9112628cad234a0d8fd9ac6aa56ad1f8bfad6ff6ae86e851acb960943249d9fa44b091479953a + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"negotiator@npm:0.6.3, negotiator@npm:^0.6.2, negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"neo-async@npm:^2.5.0, neo-async@npm:^2.6.1": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d + languageName: node + linkType: hard + +"nested-error-stacks@npm:^1.0.0": + version: 1.0.2 + resolution: "nested-error-stacks@npm:1.0.2" + dependencies: + inherits: "npm:~2.0.1" + checksum: 10c0/d133906e2be47859074d75a0062965993404081bfa17480e9e404aa88f6b0ac85761de451e3cdde150b2605ccc9d94f28c6f48c096a8ca354b16ab0ea66ae1ea + languageName: node + linkType: hard + +"nice-try@npm:^1.0.4": + version: 1.0.5 + resolution: "nice-try@npm:1.0.5" + checksum: 10c0/95568c1b73e1d0d4069a3e3061a2102d854513d37bcfda73300015b7ba4868d3b27c198d1dbbd8ebdef4112fc2ed9e895d4a0f2e1cce0bd334f2a1346dc9205f + languageName: node + linkType: hard + +"nise@npm:^5.1.0": + version: 5.1.9 + resolution: "nise@npm:5.1.9" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + "@sinonjs/fake-timers": "npm:^11.2.2" + "@sinonjs/text-encoding": "npm:^0.7.2" + just-extend: "npm:^6.2.0" + path-to-regexp: "npm:^6.2.1" + checksum: 10c0/a44318e6de738b34a1f51b4b478f97f5b40a5a27175be4bf13f6e5b8e67aa70d0b3f51c77a966d6617fccdc3b436c675a89be57424833e6d8a290367faa66b28 + languageName: node + linkType: hard + +"no-case@npm:^3.0.4": + version: 3.0.4 + resolution: "no-case@npm:3.0.4" + dependencies: + lower-case: "npm:^2.0.2" + tslib: "npm:^2.0.3" + checksum: 10c0/8ef545f0b3f8677c848f86ecbd42ca0ff3cd9dd71c158527b344c69ba14710d816d8489c746b6ca225e7b615108938a0bda0a54706f8c255933703ac1cf8e703 + languageName: node + linkType: hard + +"node-emoji@npm:^1.0.3": + version: 1.11.0 + resolution: "node-emoji@npm:1.11.0" + dependencies: + lodash: "npm:^4.17.21" + checksum: 10c0/5dac6502dbef087092d041fcc2686d8be61168593b3a9baf964d62652f55a3a9c2277f171b81cccb851ccef33f2d070f45e633fab1fda3264f8e1ae9041c673f + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 + languageName: node + linkType: hard + +"node-gyp@npm:^8.4.1": + version: 8.4.1 + resolution: "node-gyp@npm:8.4.1" + dependencies: + env-paths: "npm:^2.2.0" + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^9.1.0" + nopt: "npm:^5.0.0" + npmlog: "npm:^6.0.0" + rimraf: "npm:^3.0.2" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^2.0.2" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/80ef333b3a882eb6a2695a8e08f31d618f4533eff192864e4a3a16b67ff0abc9d8c1d5fac0395550ec699326b9248c5e2b3be178492f7f4d1ccf97d2cf948021 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 10.0.1 + resolution: "node-gyp@npm:10.0.1" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^13.0.0" + nopt: "npm:^7.0.0" + proc-log: "npm:^3.0.0" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^4.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/abddfff7d873312e4ed4a5fb75ce893a5c4fb69e7fcb1dfa71c28a6b92a7f1ef6b62790dffb39181b5a82728ba8f2f32d229cf8cbe66769fe02cea7db4a555aa + languageName: node + linkType: hard + +"node-libs-browser@npm:^2.2.1": + version: 2.2.1 + resolution: "node-libs-browser@npm:2.2.1" + dependencies: + assert: "npm:^1.1.1" + browserify-zlib: "npm:^0.2.0" + buffer: "npm:^4.3.0" + console-browserify: "npm:^1.1.0" + constants-browserify: "npm:^1.0.0" + crypto-browserify: "npm:^3.11.0" + domain-browser: "npm:^1.1.1" + events: "npm:^3.0.0" + https-browserify: "npm:^1.0.0" + os-browserify: "npm:^0.3.0" + path-browserify: "npm:0.0.1" + process: "npm:^0.11.10" + punycode: "npm:^1.2.4" + querystring-es3: "npm:^0.2.0" + readable-stream: "npm:^2.3.3" + stream-browserify: "npm:^2.0.1" + stream-http: "npm:^2.7.2" + string_decoder: "npm:^1.0.0" + timers-browserify: "npm:^2.0.4" + tty-browserify: "npm:0.0.0" + url: "npm:^0.11.0" + util: "npm:^0.11.0" + vm-browserify: "npm:^1.0.1" + checksum: 10c0/0e05321a6396408903ed642231d2bca7dd96492d074c7af161ba06a63c95378bd3de50b4105eccbbc02d93ba3da69f0ff5e624bc2a8c92ca462ceb6a403e7986 + languageName: node + linkType: hard + +"node-preload@npm:^0.2.1": + version: 0.2.1 + resolution: "node-preload@npm:0.2.1" + dependencies: + process-on-spawn: "npm:^1.0.0" + checksum: 10c0/7ae3def896626701e2a27b0c8119e0234089db4317b8c16bb8c44bee9abb82c0e38d57e6317d480970f5a2510e44185af81d3ea85be1a78311701f66f912e9e4 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.14": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 10c0/199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 + languageName: node + linkType: hard + +"node-sass@npm:^7.0": + version: 7.0.3 + resolution: "node-sass@npm:7.0.3" + dependencies: + async-foreach: "npm:^0.1.3" + chalk: "npm:^4.1.2" + cross-spawn: "npm:^7.0.3" + gaze: "npm:^1.0.0" + get-stdin: "npm:^4.0.1" + glob: "npm:^7.0.3" + lodash: "npm:^4.17.15" + meow: "npm:^9.0.0" + nan: "npm:^2.13.2" + node-gyp: "npm:^8.4.1" + npmlog: "npm:^5.0.0" + request: "npm:^2.88.0" + sass-graph: "npm:^4.0.1" + stdout-stream: "npm:^1.4.0" + true-case-path: "npm:^1.0.2" + bin: + node-sass: bin/node-sass + checksum: 10c0/07db76918c459342843865f6dc100ae15829bea6fc1d65f5126fef6ae4eebdf2907cd87428307807c79071f4823ff3b5fded51de00e626a8ffd07009e2f682e3 + languageName: node + linkType: hard + +"node-status-codes@npm:^1.0.0": + version: 1.0.0 + resolution: "node-status-codes@npm:1.0.0" + checksum: 10c0/dedf02b22eeba2f5d6c9dec8ea3ced6333aaabc441c44af52a841d2cbd80a404b709a99c887c4b7efd7d84a6445546cf2316fff3a7309735e6dd1e740fab4a28 + languageName: node + linkType: hard + +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: "npm:1" + bin: + nopt: bin/nopt.js + checksum: 10c0/fc5c4f07155cb455bf5fc3dd149fac421c1a40fd83c6bfe83aa82b52f02c17c5e88301321318adaa27611c8a6811423d51d29deaceab5fa158b585a61a551061 + languageName: node + linkType: hard + +"nopt@npm:^7.0.0": + version: 7.2.0 + resolution: "nopt@npm:7.2.0" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.5.0": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: "npm:^2.1.4" + resolve: "npm:^1.10.0" + semver: "npm:2 || 3 || 4 || 5" + validate-npm-package-license: "npm:^3.0.1" + checksum: 10c0/357cb1646deb42f8eb4c7d42c4edf0eec312f3628c2ef98501963cc4bbe7277021b2b1d977f982b2edce78f5a1014613ce9cf38085c3df2d76730481357ca504 + languageName: node + linkType: hard + +"normalize-package-data@npm:^3.0.0": + version: 3.0.3 + resolution: "normalize-package-data@npm:3.0.3" + dependencies: + hosted-git-info: "npm:^4.0.1" + is-core-module: "npm:^2.5.0" + semver: "npm:^7.3.4" + validate-npm-package-license: "npm:^3.0.1" + checksum: 10c0/e5d0f739ba2c465d41f77c9d950e291ea4af78f8816ddb91c5da62257c40b76d8c83278b0d08ffbcd0f187636ebddad20e181e924873916d03e6e5ea2ef026be + languageName: node + linkType: hard + +"normalize-path@npm:^2.1.1": + version: 2.1.1 + resolution: "normalize-path@npm:2.1.1" + dependencies: + remove-trailing-separator: "npm:^1.0.1" + checksum: 10c0/db814326ff88057437233361b4c7e9cac7b54815b051b57f2d341ce89b1d8ec8cbd43e7fa95d7652b3b69ea8fcc294b89b8530d556a84d1bdace94229e1e9a8b + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"normalize-url@npm:2.0.1": + version: 2.0.1 + resolution: "normalize-url@npm:2.0.1" + dependencies: + prepend-http: "npm:^2.0.0" + query-string: "npm:^5.0.1" + sort-keys: "npm:^2.0.0" + checksum: 10c0/a1fe89ca96cfb48000d031432ced9b6aaba5be18e49ce784426096ac51fcc775744b51df6a6eb79a0af3f86681ab26834afcae58eff28c84833db64824bdd494 + languageName: node + linkType: hard + +"normalize-url@npm:^6.0.1": + version: 6.1.0 + resolution: "normalize-url@npm:6.1.0" + checksum: 10c0/95d948f9bdd2cfde91aa786d1816ae40f8262946e13700bf6628105994fe0ff361662c20af3961161c38a119dc977adeb41fc0b41b1745eb77edaaf9cb22db23 + languageName: node + linkType: hard + +"npm-check@npm:^4.1.4": + version: 4.1.4 + resolution: "npm-check@npm:4.1.4" + dependencies: + buffered-spawn: "npm:^1.1.2" + chalk: "npm:^1.1.0" + cli-cursor: "npm:^1.0.2" + commander: "npm:^2.9.0" + depcheck: "npm:^0.5.9" + figures: "npm:^1.4.0" + giturl: "npm:^1.0.0" + global-modules: "npm:^0.2.0" + globby: "npm:^3.0.1" + inquirer: "npm:^0.11.0" + lodash: "npm:^3.10.0" + node-emoji: "npm:^1.0.3" + package-json: "npm:^2.0.1" + q: "npm:^1.4.1" + semver: "npm:^5.0.1" + semver-diff: "npm:^2.0.0" + text-table: "npm:^0.2.0" + update-notifier: "npm:^0.5.0" + bin: + npm-check: bin/cli.js + checksum: 10c0/97f4441c166038905a9d4382ecfbd3e35f79e690be31ce54106bf6fcae763d9bb54e710f54f9306eef6b3ba76a09f7cad97be6e8b16a92530b0c478d198227ba + languageName: node + linkType: hard + +"npm-conf@npm:^1.1.0": + version: 1.1.3 + resolution: "npm-conf@npm:1.1.3" + dependencies: + config-chain: "npm:^1.1.11" + pify: "npm:^3.0.0" + checksum: 10c0/4a54540e1e5ade9afe4b3be2e651a1198172015f8c51293c7124c4dfae402f2b67549cdf1d0eb918f3ef66016ba63672520b4bb3afaef815f5e98b52a74f5848 + languageName: node + linkType: hard + +"npm-run-path@npm:^2.0.0": + version: 2.0.2 + resolution: "npm-run-path@npm:2.0.2" + dependencies: + path-key: "npm:^2.0.0" + checksum: 10c0/95549a477886f48346568c97b08c4fda9cdbf7ce8a4fbc2213f36896d0d19249e32d68d7451bdcbca8041b5fba04a6b2c4a618beaf19849505c05b700740f1de + languageName: node + linkType: hard + +"npm-run-path@npm:^5.1.0": + version: 5.3.0 + resolution: "npm-run-path@npm:5.3.0" + dependencies: + path-key: "npm:^4.0.0" + checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba + languageName: node + linkType: hard + +"npmlog@npm:^5.0.0": + version: 5.0.1 + resolution: "npmlog@npm:5.0.1" + dependencies: + are-we-there-yet: "npm:^2.0.0" + console-control-strings: "npm:^1.1.0" + gauge: "npm:^3.0.0" + set-blocking: "npm:^2.0.0" + checksum: 10c0/489ba519031013001135c463406f55491a17fc7da295c18a04937fe3a4d523fd65e88dd418a28b967ab743d913fdeba1e29838ce0ad8c75557057c481f7d49fa + languageName: node + linkType: hard + +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: "npm:^3.0.0" + console-control-strings: "npm:^1.1.0" + gauge: "npm:^4.0.3" + set-blocking: "npm:^2.0.0" + checksum: 10c0/0cacedfbc2f6139c746d9cd4a85f62718435ad0ca4a2d6459cd331dd33ae58206e91a0742c1558634efcde3f33f8e8e7fd3adf1bfe7978310cf00bd55cccf890 + languageName: node + linkType: hard + +"number-is-nan@npm:^1.0.0": + version: 1.0.1 + resolution: "number-is-nan@npm:1.0.1" + checksum: 10c0/cb97149006acc5cd512c13c1838223abdf202e76ddfa059c5e8e7507aff2c3a78cd19057516885a2f6f5b576543dc4f7b6f3c997cc7df53ae26c260855466df5 + languageName: node + linkType: hard + +"nwsapi@npm:^2.2.7": + version: 2.2.7 + resolution: "nwsapi@npm:2.2.7" + checksum: 10c0/44be198adae99208487a1c886c0a3712264f7bbafa44368ad96c003512fed2753d4e22890ca1e6edb2690c3456a169f2a3c33bfacde1905cf3bf01c7722464db + languageName: node + linkType: hard + +"nyc@npm:^15.1.0": + version: 15.1.0 + resolution: "nyc@npm:15.1.0" + dependencies: + "@istanbuljs/load-nyc-config": "npm:^1.0.0" + "@istanbuljs/schema": "npm:^0.1.2" + caching-transform: "npm:^4.0.0" + convert-source-map: "npm:^1.7.0" + decamelize: "npm:^1.2.0" + find-cache-dir: "npm:^3.2.0" + find-up: "npm:^4.1.0" + foreground-child: "npm:^2.0.0" + get-package-type: "npm:^0.1.0" + glob: "npm:^7.1.6" + istanbul-lib-coverage: "npm:^3.0.0" + istanbul-lib-hook: "npm:^3.0.0" + istanbul-lib-instrument: "npm:^4.0.0" + istanbul-lib-processinfo: "npm:^2.0.2" + istanbul-lib-report: "npm:^3.0.0" + istanbul-lib-source-maps: "npm:^4.0.0" + istanbul-reports: "npm:^3.0.2" + make-dir: "npm:^3.0.0" + node-preload: "npm:^0.2.1" + p-map: "npm:^3.0.0" + process-on-spawn: "npm:^1.0.0" + resolve-from: "npm:^5.0.0" + rimraf: "npm:^3.0.0" + signal-exit: "npm:^3.0.2" + spawn-wrap: "npm:^2.0.0" + test-exclude: "npm:^6.0.0" + yargs: "npm:^15.0.2" + bin: + nyc: bin/nyc.js + checksum: 10c0/ad0da0627b465f9e88f45105416774a04a033096115bcce8de8952fae25b6e3f3b6441ce81a484b7cd1b79c792aee271f68f57cefe9bb6d062720e61f2feed2c + languageName: node + linkType: hard + +"oauth-sign@npm:~0.9.0": + version: 0.9.0 + resolution: "oauth-sign@npm:0.9.0" + checksum: 10c0/fc92a516f6ddbb2699089a2748b04f55c47b6ead55a77cd3a2cbbce5f7af86164cb9425f9ae19acfd066f1ad7d3a96a67b8928c6ea946426f6d6c29e448497c2 + languageName: node + linkType: hard + +"object-assign@npm:^3.0.0": + version: 3.0.0 + resolution: "object-assign@npm:3.0.0" + checksum: 10c0/88d1b93de35a2073df309239486829b8b3252ef86196a0d5e06fae20f9e6e5830a33ccaa1c675bd63191eec4310961797ff577fa586583a92a09ece53e668416 + languageName: node + linkType: hard + +"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-copy@npm:^0.1.0": + version: 0.1.0 + resolution: "object-copy@npm:0.1.0" + dependencies: + copy-descriptor: "npm:^0.1.0" + define-property: "npm:^0.2.5" + kind-of: "npm:^3.0.3" + checksum: 10c0/79314b05e9d626159a04f1d913f4c4aba9eae8848511cf5f4c8e3b04bb3cc313b65f60357f86462c959a14c2d58380fedf89b6b32ecec237c452a5ef3900a293 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.1": + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 10c0/fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"object-visit@npm:^1.0.0": + version: 1.0.1 + resolution: "object-visit@npm:1.0.1" + dependencies: + isobject: "npm:^3.0.0" + checksum: 10c0/086b475bda24abd2318d2b187c3e928959b89f5cb5883d6fe5a42d03719b61fc18e765f658de9ac8730e67ba9ff26d61e73d991215948ff9ecefe771e0071029 + languageName: node + linkType: hard + +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": + version: 4.1.5 + resolution: "object.assign@npm:4.1.5" + dependencies: + call-bind: "npm:^1.0.5" + define-properties: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + object-keys: "npm:^1.1.1" + checksum: 10c0/60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469 + languageName: node + linkType: hard + +"object.fromentries@npm:^2.0.7": + version: 2.0.7 + resolution: "object.fromentries@npm:2.0.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 10c0/071745c21f6fc9e6c914691f2532c1fb60ad967e5ddc52801d09958b5de926566299d07ae14466452a7efd29015f9145d6c09c573d93a0dc6f1683ee0ec2b93b + languageName: node + linkType: hard + +"object.groupby@npm:^1.0.1": + version: 1.0.2 + resolution: "object.groupby@npm:1.0.2" + dependencies: + array.prototype.filter: "npm:^1.0.3" + call-bind: "npm:^1.0.5" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.22.3" + es-errors: "npm:^1.0.0" + checksum: 10c0/b6266b1cfec7eb784b8bbe0bca5dc4b371cf9dd3e601b0897d72fa97a5934273d8fb05b3fc5222204104dbec32b50e25ba27e05ad681f71fb739cc1c7e9b81b1 + languageName: node + linkType: hard + +"object.pick@npm:^1.3.0": + version: 1.3.0 + resolution: "object.pick@npm:1.3.0" + dependencies: + isobject: "npm:^3.0.1" + checksum: 10c0/cd316ec986e49895a28f2df9182de9cdeee57cd2a952c122aacc86344c28624fe002d9affc4f48b5014ec7c033da9942b08821ddb44db8c5bac5b3ec54bdc31e + languageName: node + linkType: hard + +"object.values@npm:^1.1.7": + version: 1.1.7 + resolution: "object.values@npm:1.1.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 10c0/e869d6a37fb7afdd0054dea49036d6ccebb84854a8848a093bbd1bc516f53e690bba88f0bc3e83fdfa74c601469ee6989c9b13359cda9604144c6e732fad3b6b + languageName: node + linkType: hard + +"offset-sourcemap-lines@npm:^1.0.1": + version: 1.0.1 + resolution: "offset-sourcemap-lines@npm:1.0.1" + dependencies: + source-map: "npm:^0.5.0" + checksum: 10c0/9451d2e3820e1711c361dd3f170797227d91004f21a85d2c7fb15b470619374d3fa98375fd0e9327b14aed1db4b5d2b64475036fe3dee5481ec50d4650863f6b + languageName: node + linkType: hard + +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 + languageName: node + linkType: hard + +"on-finished@npm:~2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/c904f9e518b11941eb60279a3cbfaf1289bd0001f600a950255b1dede9fe3df8cd74f38483550b3bb9485165166acb5db500c3b4c4337aec2815c88c96fcc2ea + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^1.0.0": + version: 1.1.0 + resolution: "onetime@npm:1.1.0" + checksum: 10c0/612a15af7966d9df486fe7a91da115b383137f3794709785deb13ecbcabbd9ad1fa983f4ba1f6076c143d454a7da5e6590e8da4d411ff7f06c8a180eb45011f5 + languageName: node + linkType: hard + +"onetime@npm:^5.1.0": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c + languageName: node + linkType: hard + +"ono@npm:^6.0.0": + version: 6.0.1 + resolution: "ono@npm:6.0.1" + checksum: 10c0/d57dd319fea28b2d716b175c0368d39378bc20a196feb6d956dbd3dec58bfa950e61e92dedd8ecb092bec5483384cf412e48712f30cb7366ebdb261a8094d01f + languageName: node + linkType: hard + +"openapi-types@npm:^9.3.0": + version: 9.3.1 + resolution: "openapi-types@npm:9.3.1" + checksum: 10c0/13ac72f52d5a045ae7820c257e9db24c989ab6ae63b41ec2193a0823ef6280be9929ab92673243bd439b08f4dbdccfe897e2c7e90bbe796e92105ed0caa58292 + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" + dependencies: + "@aashutoshrathi/word-wrap": "npm:^1.2.3" + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + checksum: 10c0/66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c + languageName: node + linkType: hard + +"os-browserify@npm:^0.3.0, os-browserify@npm:~0.3.0": + version: 0.3.0 + resolution: "os-browserify@npm:0.3.0" + checksum: 10c0/6ff32cb1efe2bc6930ad0fd4c50e30c38010aee909eba8d65be60af55efd6cbb48f0287e3649b4e3f3a63dce5a667b23c187c4293a75e557f0d5489d735bcf52 + languageName: node + linkType: hard + +"os-filter-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "os-filter-obj@npm:2.0.0" + dependencies: + arch: "npm:^2.1.0" + checksum: 10c0/2734dcef67dfa027b3aeb8c721893c9c97b4d261efebd2a8469330d8b62ccaae072599aef0d3037bf285385fa14fb745f2e6d6958805924bb008031691cc7253 + languageName: node + linkType: hard + +"os-homedir@npm:^1.0.0": + version: 1.0.2 + resolution: "os-homedir@npm:1.0.2" + checksum: 10c0/6be4aa67317ee247b8d46142e243fb4ef1d2d65d3067f54bfc5079257a2f4d4d76b2da78cba7af3cb3f56dbb2e4202e0c47f26171d11ca1ed4008d842c90363f + languageName: node + linkType: hard + +"os-locale@npm:^1.4.0": + version: 1.4.0 + resolution: "os-locale@npm:1.4.0" + dependencies: + lcid: "npm:^1.0.0" + checksum: 10c0/302173159d562000ddf982ed75c493a0d861e91372c9e1b13aab21590ff2e1ba264a41995b29be8dc5278a6127ffcd2ad5591779e8164a570fc5fa6c0787b057 + languageName: node + linkType: hard + +"os-tmpdir@npm:^1.0.0, os-tmpdir@npm:~1.0.2": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 10c0/f438450224f8e2687605a8dd318f0db694b6293c5d835ae509a69e97c8de38b6994645337e5577f5001115470414638978cc49da1cdcc25106dad8738dc69990 + languageName: node + linkType: hard + +"osenv@npm:^0.1.0": + version: 0.1.5 + resolution: "osenv@npm:0.1.5" + dependencies: + os-homedir: "npm:^1.0.0" + os-tmpdir: "npm:^1.0.0" + checksum: 10c0/b33ed4b77e662f3ee2a04bf4b56cad2107ab069dee982feb9e39ad44feb9aa0cf1016b9ac6e05d0d84c91fa496798fe48dd05a33175d624e51668068b9805302 + languageName: node + linkType: hard + +"outpipe@npm:^1.1.0": + version: 1.1.1 + resolution: "outpipe@npm:1.1.1" + dependencies: + shell-quote: "npm:^1.4.2" + checksum: 10c0/68999d3be653a87df1ab2249b0fc88285a8c41a8ef6831c8f471db4578874fb904a1444ae64f22ff567e2f2da95802e228bcdeeb6583735cb4c0479b68ef7243 + languageName: node + linkType: hard + +"p-cancelable@npm:^0.4.0": + version: 0.4.1 + resolution: "p-cancelable@npm:0.4.1" + checksum: 10c0/cc066ac107958fa2549f1c270e00ec1b25cfbeda867f93599a414806b3631cd9451533acb2bda3efda4bf4a54a2f9d6cc51dd6d06c08c25b806b3dfe5ff69b29 + languageName: node + linkType: hard + +"p-cancelable@npm:^2.0.0": + version: 2.1.1 + resolution: "p-cancelable@npm:2.1.1" + checksum: 10c0/8c6dc1f8dd4154fd8b96a10e55a3a832684c4365fb9108056d89e79fbf21a2465027c04a59d0d797b5ffe10b54a61a32043af287d5c4860f1e996cbdbc847f01 + languageName: node + linkType: hard + +"p-event@npm:^2.1.0": + version: 2.3.1 + resolution: "p-event@npm:2.3.1" + dependencies: + p-timeout: "npm:^2.0.1" + checksum: 10c0/c1f6dc6f82d999a8351ae7328c717bd882e91bb7545c6310378656623e0ae27dcbb294f61c6c9bbe2c8ebf4273c84c3ac19e00774b8a5dfb1c9c209170b32898 + languageName: node + linkType: hard + +"p-finally@npm:^1.0.0": + version: 1.0.0 + resolution: "p-finally@npm:1.0.0" + checksum: 10c0/6b8552339a71fe7bd424d01d8451eea92d379a711fc62f6b2fe64cad8a472c7259a236c9a22b4733abca0b5666ad503cb497792a0478c5af31ded793d00937e7 + languageName: node + linkType: hard + +"p-is-promise@npm:^1.1.0": + version: 1.1.0 + resolution: "p-is-promise@npm:1.1.0" + checksum: 10c0/b3f945a18e3e16a7a5fda131250f7a96f59ceb6fdceee87576044790b99b97a5ab5d4a9ae878d2746f762b99efc0a8c1e3b21b5269e3537fbfdb443a38eeb9bf + languageName: node + linkType: hard + +"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-limit@npm:^5.0.0": + version: 5.0.0 + resolution: "p-limit@npm:5.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 10c0/574e93b8895a26e8485eb1df7c4b58a1a6e8d8ae41b1750cc2cc440922b3d306044fc6e9a7f74578a883d46802d9db72b30f2e612690fcef838c173261b1ed83 + languageName: node + linkType: hard + +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: "npm:^2.0.0" + checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^3.0.0": + version: 3.0.0 + resolution: "p-map@npm:3.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/297930737e52412ad9f5787c52774ad6496fad9a8be5f047e75fd0a3dc61930d8f7a9b2bbe1c4d1404e54324228a4f69721da2538208dadaa4ef4c81773c9f20 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"p-timeout@npm:^2.0.1": + version: 2.0.1 + resolution: "p-timeout@npm:2.0.1" + dependencies: + p-finally: "npm:^1.0.0" + checksum: 10c0/26f7baa19a9a60c694e73d2727d169b357bb91e91112dfe50daa513230573ddf157b2f2c1779fb66da0f84ae952d39969f70a0cb1818f7c109ad8d4df49f99a3 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"package-hash@npm:^4.0.0": + version: 4.0.0 + resolution: "package-hash@npm:4.0.0" + dependencies: + graceful-fs: "npm:^4.1.15" + hasha: "npm:^5.0.0" + lodash.flattendeep: "npm:^4.4.0" + release-zalgo: "npm:^1.0.0" + checksum: 10c0/2108b685fd5b2a32323aeed5caf2afef8c5fcf680527b09c7e2eaa05cf04b09a7c586860319097fc589ad028a3d94b2da68e8ab1935249aa95e8162ffd622729 + languageName: node + linkType: hard + +"package-json@npm:^1.0.0": + version: 1.2.0 + resolution: "package-json@npm:1.2.0" + dependencies: + got: "npm:^3.2.0" + registry-url: "npm:^3.0.0" + checksum: 10c0/0027e052bb95a624a2b872f879e8e70ecf3d7535857d4e936977bb7ea2a195b422030c1d994f69e7ecfd00c59f264e6f68ad6ee41dae7ad3b537ba3616eb90fc + languageName: node + linkType: hard + +"package-json@npm:^2.0.1": + version: 2.4.0 + resolution: "package-json@npm:2.4.0" + dependencies: + got: "npm:^5.0.0" + registry-auth-token: "npm:^3.0.1" + registry-url: "npm:^3.0.3" + semver: "npm:^5.1.0" + checksum: 10c0/f3536e4315be508b776c9ae178cea19f48e9f5691fe0261c13d1274d2e40e1052046c716308724a4970fd50125000d42eb10d100280a709d62edb45652406a8c + languageName: node + linkType: hard + +"pako@npm:~1.0.5": + version: 1.0.11 + resolution: "pako@npm:1.0.11" + checksum: 10c0/86dd99d8b34c3930345b8bbeb5e1cd8a05f608eeb40967b293f72fe469d0e9c88b783a8777e4cc7dc7c91ce54c5e93d88ff4b4f060e6ff18408fd21030d9ffbe + languageName: node + linkType: hard + +"parallel-transform@npm:^1.1.0": + version: 1.2.0 + resolution: "parallel-transform@npm:1.2.0" + dependencies: + cyclist: "npm:^1.0.1" + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.1.5" + checksum: 10c0/ab0e58569e73681ca4b9c9228189bdb6cbea535295fae344cf0d8342fd33a950961914f3c414f81894c1498fb9ad1c079b4625d2b7ceae9e6ab812f22e3bea3f + languageName: node + linkType: hard + +"param-case@npm:^3.0.4": + version: 3.0.4 + resolution: "param-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ccc053f3019f878eca10e70ec546d92f51a592f762917dafab11c8b532715dcff58356118a6f350976e4ab109e321756f05739643ed0ca94298e82291e6f9e76 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parents@npm:^1.0.0, parents@npm:^1.0.1": + version: 1.0.1 + resolution: "parents@npm:1.0.1" + dependencies: + path-platform: "npm:~0.11.15" + checksum: 10c0/b80a55a5bba155949d8eaea8b5a8f1c5de0f31b339c37ab47b31f535a66c929310e606828453902be31b2a0cf210e96d266c1f449b2dd977a86145f6e4367ee2 + languageName: node + linkType: hard + +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.7": + version: 5.1.7 + resolution: "parse-asn1@npm:5.1.7" + dependencies: + asn1.js: "npm:^4.10.1" + browserify-aes: "npm:^1.2.0" + evp_bytestokey: "npm:^1.0.3" + hash-base: "npm:~3.0" + pbkdf2: "npm:^3.1.2" + safe-buffer: "npm:^5.2.1" + checksum: 10c0/05eb5937405c904eb5a7f3633bab1acc11f4ae3478a07ef5c6d81ce88c3c0e505ff51f9c7b935ebc1265c868343793698fc91025755a895d0276f620f95e8a82 + languageName: node + linkType: hard + +"parse-json@npm:^2.1.0, parse-json@npm:^2.2.0": + version: 2.2.0 + resolution: "parse-json@npm:2.2.0" + dependencies: + error-ex: "npm:^1.2.0" + checksum: 10c0/7a90132aa76016f518a3d5d746a21b3f1ad0f97a68436ed71b6f995b67c7151141f5464eea0c16c59aec9b7756519a0e3007a8f98cf3714632d509ec07736df6 + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + languageName: node + linkType: hard + +"parse-passwd@npm:^1.0.0": + version: 1.0.0 + resolution: "parse-passwd@npm:1.0.0" + checksum: 10c0/1c05c05f95f184ab9ca604841d78e4fe3294d46b8e3641d305dcc28e930da0e14e602dbda9f3811cd48df5b0e2e27dbef7357bf0d7c40e41b18c11c3a8b8d17b + languageName: node + linkType: hard + +"parse5@npm:^7.1.2": + version: 7.1.2 + resolution: "parse5@npm:7.1.2" + dependencies: + entities: "npm:^4.4.0" + checksum: 10c0/297d7af8224f4b5cb7f6617ecdae98eeaed7f8cbd78956c42785e230505d5a4f07cef352af10d3006fa5c1544b76b57784d3a22d861ae071bbc460c649482bf4 + languageName: node + linkType: hard + +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 + languageName: node + linkType: hard + +"pascal-case@npm:^3.1.2": + version: 3.1.2 + resolution: "pascal-case@npm:3.1.2" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/05ff7c344809fd272fc5030ae0ee3da8e4e63f36d47a1e0a4855ca59736254192c5a27b5822ed4bae96e54048eec5f6907713cfcfff7cdf7a464eaf7490786d8 + languageName: node + linkType: hard + +"pascalcase@npm:^0.1.1": + version: 0.1.1 + resolution: "pascalcase@npm:0.1.1" + checksum: 10c0/48dfe90618e33810bf58211d8f39ad2c0262f19ad6354da1ba563935b5f429f36409a1fb9187c220328f7a4dc5969917f8e3e01ee089b5f1627b02aefe39567b + languageName: node + linkType: hard + +"path-browserify@npm:0.0.1, path-browserify@npm:~0.0.0": + version: 0.0.1 + resolution: "path-browserify@npm:0.0.1" + checksum: 10c0/3d59710cddeea06509d91935196185900f3d9d29376dff68ff0e146fbd41d0fb304e983d0158f30cabe4dd2ffcc6a7d3d977631994ee984c88e66aed50a1ccd3 + languageName: node + linkType: hard + +"path-case@npm:^3.0.4": + version: 3.0.4 + resolution: "path-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/b6b14637228a558793f603aaeb2fcd981e738b8b9319421b713532fba96d75aa94024b9f6b9ae5aa33d86755144a5b36697d28db62ae45527dbd672fcc2cf0b7 + languageName: node + linkType: hard + +"path-dirname@npm:^1.0.0": + version: 1.0.2 + resolution: "path-dirname@npm:1.0.2" + checksum: 10c0/71e59be2bada7c91f62b976245fd421b7cb01fde3207fe53a82d8880621ad04fd8b434e628c9cf4e796259fc168a107d77cd56837725267c5b2c58cefe2c4e1b + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0, path-is-absolute@npm:^1.0.1": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^2.0.0, path-key@npm:^2.0.1": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: 10c0/dd2044f029a8e58ac31d2bf34c34b93c3095c1481942960e84dd2faa95bbb71b9b762a106aead0646695330936414b31ca0bd862bf488a937ad17c8c5d73b32b + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-platform@npm:~0.11.15": + version: 0.11.15 + resolution: "path-platform@npm:0.11.15" + checksum: 10c0/5f03fee91c3b4c7abd0bf4044692b14c5a58d38b2791e4608c59bcd91953ac2873f6bee0e4fddf3c9159b929b692cbf87229fd7aa7c5eda77005c837b6e82936 + languageName: node + linkType: hard + +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" + dependencies: + lru-cache: "npm:^9.1.1 || ^10.0.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e + languageName: node + linkType: hard + +"path-to-regexp@npm:^6.2.1": + version: 6.2.1 + resolution: "path-to-regexp@npm:6.2.1" + checksum: 10c0/7a73811ca703e5c199e5b50b9649ab8f6f7b458a37f7dff9ea338815203f5b1f95fe8cb24d4fdfe2eab5d67ce43562d92534330babca35cdf3231f966adb9360 + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"pathe@npm:^1.1.0, pathe@npm:^1.1.1, pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 + languageName: node + linkType: hard + +"pathval@npm:^1.1.1": + version: 1.1.1 + resolution: "pathval@npm:1.1.1" + checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc + languageName: node + linkType: hard + +"pbkdf2@npm:^3.0.3, pbkdf2@npm:^3.1.2": + version: 3.1.2 + resolution: "pbkdf2@npm:3.1.2" + dependencies: + create-hash: "npm:^1.1.2" + create-hmac: "npm:^1.1.4" + ripemd160: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + sha.js: "npm:^2.4.8" + checksum: 10c0/5a30374e87d33fa080a92734d778cf172542cc7e41b96198c4c88763997b62d7850de3fbda5c3111ddf79805ee7c1da7046881c90ac4920b5e324204518b05fd + languageName: node + linkType: hard + +"pend@npm:~1.2.0": + version: 1.2.0 + resolution: "pend@npm:1.2.0" + checksum: 10c0/8a87e63f7a4afcfb0f9f77b39bb92374afc723418b9cb716ee4257689224171002e07768eeade4ecd0e86f1fa3d8f022994219fb45634f2dbd78c6803e452458 + languageName: node + linkType: hard + +"performance-now@npm:^2.1.0": + version: 2.1.0 + resolution: "performance-now@npm:2.1.0" + checksum: 10c0/22c54de06f269e29f640e0e075207af57de5052a3d15e360c09b9a8663f393f6f45902006c1e71aa8a5a1cdfb1a47fe268826f8496d6425c362f00f5bc3e85d9 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"pify@npm:^2.0.0, pify@npm:^2.2.0, pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 10c0/551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc + languageName: node + linkType: hard + +"pify@npm:^3.0.0": + version: 3.0.0 + resolution: "pify@npm:3.0.0" + checksum: 10c0/fead19ed9d801f1b1fcd0638a1ac53eabbb0945bf615f2f8806a8b646565a04a1b0e7ef115c951d225f042cca388fdc1cd3add46d10d1ed6951c20bd2998af10 + languageName: node + linkType: hard + +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf + languageName: node + linkType: hard + +"pinkie-promise@npm:^1.0.0": + version: 1.0.0 + resolution: "pinkie-promise@npm:1.0.0" + dependencies: + pinkie: "npm:^1.0.0" + checksum: 10c0/885576a0e9270822b2e1c0edde8f63e9754bb425f128466a56534edc5a42d9860c5074760fbbe5d178395994631ba86858e92172c928dc089fb88a6348d4ca66 + languageName: node + linkType: hard + +"pinkie-promise@npm:^2.0.0": + version: 2.0.1 + resolution: "pinkie-promise@npm:2.0.1" + dependencies: + pinkie: "npm:^2.0.0" + checksum: 10c0/11b5e5ce2b090c573f8fad7b517cbca1bb9a247587306f05ae71aef6f9b2cd2b923c304aa9663c2409cfde27b367286179f1379bc4ec18a3fbf2bb0d473b160a + languageName: node + linkType: hard + +"pinkie@npm:^1.0.0": + version: 1.0.0 + resolution: "pinkie@npm:1.0.0" + checksum: 10c0/67c1733963f943abc84c545facfbda7c72623e32c4734336f6469361939f354ccc91f43c202bb364a4fa60ed4c4d1c72f9e8be326216448f64e9b5736c6324b0 + languageName: node + linkType: hard + +"pinkie@npm:^2.0.0": + version: 2.0.4 + resolution: "pinkie@npm:2.0.4" + checksum: 10c0/25228b08b5597da42dc384221aa0ce56ee0fbf32965db12ba838e2a9ca0193c2f0609c45551ee077ccd2060bf109137fdb185b00c6d7e0ed7e35006d20fdcbc6 + languageName: node + linkType: hard + +"pkg-dir@npm:^3.0.0": + version: 3.0.0 + resolution: "pkg-dir@npm:3.0.0" + dependencies: + find-up: "npm:^3.0.0" + checksum: 10c0/902a3d0c1f8ac43b1795fa1ba6ffeb37dfd53c91469e969790f6ed5e29ff2bdc50b63ba6115dc056d2efb4a040aa2446d512b3804bdafdf302f734fb3ec21847 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: "npm:^4.0.0" + checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 + languageName: node + linkType: hard + +"pkg-types@npm:^1.0.3": + version: 1.0.3 + resolution: "pkg-types@npm:1.0.3" + dependencies: + jsonc-parser: "npm:^3.2.0" + mlly: "npm:^1.2.0" + pathe: "npm:^1.1.0" + checksum: 10c0/7f692ff2005f51b8721381caf9bdbc7f5461506ba19c34f8631660a215c8de5e6dca268f23a319dd180b8f7c47a0dc6efea14b376c485ff99e98d810b8f786c4 + languageName: node + linkType: hard + +"posix-character-classes@npm:^0.1.0": + version: 0.1.1 + resolution: "posix-character-classes@npm:0.1.1" + checksum: 10c0/cce88011548a973b4af58361cd8f5f7b5a6faff8eef0901565802f067bcabf82597e920d4c97c22068464be3cbc6447af589f6cc8a7d813ea7165be60a0395bc + languageName: node + linkType: hard + +"possible-typed-array-names@npm:^1.0.0": + version: 1.0.0 + resolution: "possible-typed-array-names@npm:1.0.0" + checksum: 10c0/d9aa22d31f4f7680e20269db76791b41c3a32c01a373e25f8a4813b4d45f7456bfc2b6d68f752dc4aab0e0bb0721cb3d76fb678c9101cb7a16316664bc2c73fd + languageName: node + linkType: hard + +"postcss@npm:^8.4.35": + version: 8.4.35 + resolution: "postcss@npm:8.4.35" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.0.0" + source-map-js: "npm:^1.0.2" + checksum: 10c0/e8dd04e48001eb5857abc9475365bf08f4e508ddf9bc0b8525449a95d190f10d025acebc5b56ac2e94b3c7146790e4ae78989bb9633cb7ee20d1cc9b7dc909b2 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prepend-http@npm:^1.0.0, prepend-http@npm:^1.0.1": + version: 1.0.4 + resolution: "prepend-http@npm:1.0.4" + checksum: 10c0/c6c173ca439e58163ba7bea7cbba52a1ed11e3e3da1c048da296f37d4b7654f78f7304e03f76d5923f4b83af7e2d55533e0f79064209c75b743ccddee13904f8 + languageName: node + linkType: hard + +"prepend-http@npm:^2.0.0": + version: 2.0.0 + resolution: "prepend-http@npm:2.0.0" + checksum: 10c0/b023721ffd967728e3a25e3a80dd73827e9444e586800ab90a21b3a8e67f362d28023085406ad53a36db1e4d98cb10e43eb37d45c6b733140a9165ead18a0987 + languageName: node + linkType: hard + +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: "npm:^1.1.2" + checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab + languageName: node + linkType: hard + +"prettier@npm:^3.2.5": + version: 3.2.5 + resolution: "prettier@npm:3.2.5" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/ea327f37a7d46f2324a34ad35292af2ad4c4c3c3355da07313339d7e554320f66f65f91e856add8530157a733c6c4a897dc41b577056be5c24c40f739f5ee8c6 + languageName: node + linkType: hard + +"pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + languageName: node + linkType: hard + +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 + languageName: node + linkType: hard + +"process-on-spawn@npm:^1.0.0": + version: 1.0.0 + resolution: "process-on-spawn@npm:1.0.0" + dependencies: + fromentries: "npm:^1.2.0" + checksum: 10c0/8abd43199b17e61740faec4523fbebb2b2ec990ae096d3051096788128364beb09472decef78dbad70a267e207345aa3a4b595364fefd89e954a509177bdc02b + languageName: node + linkType: hard + +"process@npm:^0.11.10, process@npm:~0.11.0": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 + languageName: node + linkType: hard + +"progress@npm:^2.0.1": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 10c0/d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"proto-list@npm:~1.2.1": + version: 1.2.4 + resolution: "proto-list@npm:1.2.4" + checksum: 10c0/b9179f99394ec8a68b8afc817690185f3b03933f7b46ce2e22c1930dc84b60d09f5ad222beab4e59e58c6c039c7f7fcf620397235ef441a356f31f9744010e12 + languageName: node + linkType: hard + +"proxy-from-env@npm:^1.0.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + +"prr@npm:~1.0.1": + version: 1.0.1 + resolution: "prr@npm:1.0.1" + checksum: 10c0/5b9272c602e4f4472a215e58daff88f802923b84bc39c8860376bb1c0e42aaf18c25d69ad974bd06ec6db6f544b783edecd5502cd3d184748d99080d68e4be5f + languageName: node + linkType: hard + +"pseudomap@npm:^1.0.2": + version: 1.0.2 + resolution: "pseudomap@npm:1.0.2" + checksum: 10c0/5a91ce114c64ed3a6a553aa7d2943868811377388bb31447f9d8028271bae9b05b340fe0b6961a64e45b9c72946aeb0a4ab635e8f7cb3715ffd0ff2beeb6a679 + languageName: node + linkType: hard + +"psl@npm:^1.1.28, psl@npm:^1.1.33": + version: 1.9.0 + resolution: "psl@npm:1.9.0" + checksum: 10c0/6a3f805fdab9442f44de4ba23880c4eba26b20c8e8e0830eff1cb31007f6825dace61d17203c58bfe36946842140c97a1ba7f67bc63ca2d88a7ee052b65d97ab + languageName: node + linkType: hard + +"public-encrypt@npm:^4.0.0": + version: 4.0.3 + resolution: "public-encrypt@npm:4.0.3" + dependencies: + bn.js: "npm:^4.1.0" + browserify-rsa: "npm:^4.0.0" + create-hash: "npm:^1.1.0" + parse-asn1: "npm:^5.0.0" + randombytes: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/6c2cc19fbb554449e47f2175065d6b32f828f9b3badbee4c76585ac28ae8641aafb9bb107afc430c33c5edd6b05dbe318df4f7d6d7712b1093407b11c4280700 + languageName: node + linkType: hard + +"pump@npm:^2.0.0": + version: 2.0.1 + resolution: "pump@npm:2.0.1" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/f1fe8960f44d145f8617ea4c67de05392da4557052980314c8f85081aee26953bdcab64afad58a2b1df0e8ff7203e3710e848cbe81a01027978edc6e264db355 + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 + languageName: node + linkType: hard + +"pumpify@npm:^1.3.3": + version: 1.5.1 + resolution: "pumpify@npm:1.5.1" + dependencies: + duplexify: "npm:^3.6.0" + inherits: "npm:^2.0.3" + pump: "npm:^2.0.0" + checksum: 10c0/0bcabf9e3dbf2d0cc1f9b84ac80d3c75386111caf8963bfd98817a1e2192000ac0ccc804ca6ccd5b2b8430fdb71347b20fb2f014fe3d41adbacb1b502a841c45 + languageName: node + linkType: hard + +"punycode@npm:^1.2.4, punycode@npm:^1.3.2, punycode@npm:^1.4.1": + version: 1.4.1 + resolution: "punycode@npm:1.4.1" + checksum: 10c0/354b743320518aef36f77013be6e15da4db24c2b4f62c5f1eb0529a6ed02fbaf1cb52925785f6ab85a962f2b590d9cd5ad730b70da72b5f180e2556b8bd3ca08 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"puppeteer-core@npm:^5.1.0": + version: 5.5.0 + resolution: "puppeteer-core@npm:5.5.0" + dependencies: + debug: "npm:^4.1.0" + devtools-protocol: "npm:0.0.818844" + extract-zip: "npm:^2.0.0" + https-proxy-agent: "npm:^4.0.0" + node-fetch: "npm:^2.6.1" + pkg-dir: "npm:^4.2.0" + progress: "npm:^2.0.1" + proxy-from-env: "npm:^1.0.0" + rimraf: "npm:^3.0.2" + tar-fs: "npm:^2.0.0" + unbzip2-stream: "npm:^1.3.3" + ws: "npm:^7.2.3" + checksum: 10c0/08a161a90779deed5e859a09195603606c3cc4c08cf68e4d8e5f4c610638f9250bd97a372ce469a0691e5cd06038546d60ed83ec6b0dead52bd65e6383a21692 + languageName: node + linkType: hard + +"q@npm:^1.0.1, q@npm:^1.4.1": + version: 1.5.1 + resolution: "q@npm:1.5.1" + checksum: 10c0/7855fbdba126cb7e92ef3a16b47ba998c0786ec7fface236e3eb0135b65df36429d91a86b1fff3ab0927b4ac4ee88a2c44527c7c3b8e2a37efbec9fe34803df4 + languageName: node + linkType: hard + +"qjobs@npm:^1.2.0": + version: 1.2.0 + resolution: "qjobs@npm:1.2.0" + checksum: 10c0/772207772b856a3b1ec673b11a6cda074f1b82821644f2d042504b438ea3ea1fe918555547491e717e8694ec105379fe5139fc5ddd7937b21f7712bb648ed01d + languageName: node + linkType: hard + +"qs@npm:6.11.0": + version: 6.11.0 + resolution: "qs@npm:6.11.0" + dependencies: + side-channel: "npm:^1.0.4" + checksum: 10c0/4e4875e4d7c7c31c233d07a448e7e4650f456178b9dd3766b7cfa13158fdb24ecb8c4f059fa91e820dc6ab9f2d243721d071c9c0378892dcdad86e9e9a27c68f + languageName: node + linkType: hard + +"qs@npm:^6.11.2": + version: 6.11.2 + resolution: "qs@npm:6.11.2" + dependencies: + side-channel: "npm:^1.0.4" + checksum: 10c0/4f95d4ff18ed480befcafa3390022817ffd3087fc65f146cceb40fc5edb9fa96cb31f648cae2fa96ca23818f0798bd63ad4ca369a0e22702fcd41379b3ab6571 + languageName: node + linkType: hard + +"qs@npm:~6.5.2": + version: 6.5.3 + resolution: "qs@npm:6.5.3" + checksum: 10c0/6631d4f2fa9d315e480662646745a4aa3a708817fbffe2cbdacec8ab9be130f92740c66191770fe9b704bc5fa9c1cc1f6596f55ad132fef7bd3ad1582f199eb0 + languageName: node + linkType: hard + +"query-string@npm:^5.0.1": + version: 5.1.1 + resolution: "query-string@npm:5.1.1" + dependencies: + decode-uri-component: "npm:^0.2.0" + object-assign: "npm:^4.1.0" + strict-uri-encode: "npm:^1.0.0" + checksum: 10c0/25adf37fe9a5b749da55ef91192d190163c44283826b425fa86eeb1fa567cf500a32afc2c602d4f661839d86ca49c2f8d49433b3c1b44b9129a37a5d3da55f89 + languageName: node + linkType: hard + +"querystring-es3@npm:^0.2.0, querystring-es3@npm:~0.2.0": + version: 0.2.1 + resolution: "querystring-es3@npm:0.2.1" + checksum: 10c0/476938c1adb45c141f024fccd2ffd919a3746e79ed444d00e670aad68532977b793889648980e7ca7ff5ffc7bfece623118d0fbadcaf217495eeb7059ae51580 + languageName: node + linkType: hard + +"querystringify@npm:^2.1.1": + version: 2.2.0 + resolution: "querystringify@npm:2.2.0" + checksum: 10c0/3258bc3dbdf322ff2663619afe5947c7926a6ef5fb78ad7d384602974c467fadfc8272af44f5eb8cddd0d011aae8fabf3a929a8eee4b86edcc0a21e6bd10f9aa + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"quick-lru@npm:^4.0.1": + version: 4.0.1 + resolution: "quick-lru@npm:4.0.1" + checksum: 10c0/f9b1596fa7595a35c2f9d913ac312fede13d37dc8a747a51557ab36e11ce113bbe88ef4c0154968845559a7709cb6a7e7cbe75f7972182451cd45e7f057a334d + languageName: node + linkType: hard + +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da + languageName: node + linkType: hard + +"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"randomfill@npm:^1.0.3": + version: 1.0.4 + resolution: "randomfill@npm:1.0.4" + dependencies: + randombytes: "npm:^2.0.5" + safe-buffer: "npm:^5.1.0" + checksum: 10c0/11aeed35515872e8f8a2edec306734e6b74c39c46653607f03c68385ab8030e2adcc4215f76b5e4598e028c4750d820afd5c65202527d831d2a5f207fe2bc87c + languageName: node + linkType: hard + +"range-parser@npm:^1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 + languageName: node + linkType: hard + +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" + dependencies: + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + unpipe: "npm:1.0.0" + checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 + languageName: node + linkType: hard + +"rc@npm:^1.0.1, rc@npm:^1.1.6": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: "npm:^0.6.0" + ini: "npm:~1.3.0" + minimist: "npm:^1.2.0" + strip-json-comments: "npm:~2.0.1" + bin: + rc: ./cli.js + checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.2.0 + resolution: "react-is@npm:18.2.0" + checksum: 10c0/6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0 + languageName: node + linkType: hard + +"read-all-stream@npm:^3.0.0": + version: 3.1.0 + resolution: "read-all-stream@npm:3.1.0" + dependencies: + pinkie-promise: "npm:^2.0.0" + readable-stream: "npm:^2.0.0" + checksum: 10c0/1d8a335b5bf0d304c260cb665533dc91f6d8feaf718383eaa6149d4db7f2c93d4ed05eb49469a6c956b0c57589c5e1afcf7325fc4dc8fa78212a0bd9c704a530 + languageName: node + linkType: hard + +"read-only-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "read-only-stream@npm:2.0.0" + dependencies: + readable-stream: "npm:^2.0.2" + checksum: 10c0/eafd8029bf5a4854fbdee815f6f9d915eb38b590e6daf17ba0fdc3ef929fe8a425b40b67e021a29b4e576519e48aafafbe82e8cd21284a7f18f17f207f2d9581 + languageName: node + linkType: hard + +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" + dependencies: + find-up: "npm:^4.1.0" + read-pkg: "npm:^5.2.0" + type-fest: "npm:^0.8.1" + checksum: 10c0/82b3ac9fd7c6ca1bdc1d7253eb1091a98ff3d195ee0a45386582ce3e69f90266163c34121e6a0a02f1630073a6c0585f7880b3865efcae9c452fa667f02ca385 + languageName: node + linkType: hard + +"read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" + dependencies: + "@types/normalize-package-data": "npm:^2.4.0" + normalize-package-data: "npm:^2.5.0" + parse-json: "npm:^5.0.0" + type-fest: "npm:^0.6.0" + checksum: 10c0/b51a17d4b51418e777029e3a7694c9bd6c578a5ab99db544764a0b0f2c7c0f58f8a6bc101f86a6fceb8ba6d237d67c89acf6170f6b98695d0420ddc86cf109fb + languageName: node + linkType: hard + +"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:^2.3.8, readable-stream@npm:~2.3.6": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa + languageName: node + linkType: hard + +"readable-stream@npm:2 || 3, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readdir-glob@npm:^1.1.2": + version: 1.1.3 + resolution: "readdir-glob@npm:1.1.3" + dependencies: + minimatch: "npm:^5.1.0" + checksum: 10c0/a37e0716726650845d761f1041387acd93aa91b28dd5381950733f994b6c349ddc1e21e266ec7cc1f9b92e205a7a972232f9b89d5424d07361c2c3753d5dbace + languageName: node + linkType: hard + +"readdirp@npm:^2.2.1": + version: 2.2.1 + resolution: "readdirp@npm:2.2.1" + dependencies: + graceful-fs: "npm:^4.1.11" + micromatch: "npm:^3.1.10" + readable-stream: "npm:^2.0.2" + checksum: 10c0/770d177372ff2212d382d425d55ca48301fcbf3231ab3827257bbcca7ff44fb51fe4af6acc2dda8512dc7f29da390e9fbea5b2b3fc724b86e85cc828395b7797 + languageName: node + linkType: hard + +"readdirp@npm:~3.5.0": + version: 3.5.0 + resolution: "readdirp@npm:3.5.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/293de2ed981884a09e76fbf90bddc7e1a87667e57e0284ddc8c177e3151b0d179a9a56441d9f2f3654423924ec100af57ba9e507086527f98fd1d21bdd041c3e + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"readline2@npm:^1.0.1": + version: 1.0.1 + resolution: "readline2@npm:1.0.1" + dependencies: + code-point-at: "npm:^1.0.0" + is-fullwidth-code-point: "npm:^1.0.0" + mute-stream: "npm:0.0.5" + checksum: 10c0/8b245192a925d5829d0b243c89dfc70646f4842f9ee968528f8b2f60b1c3277446cc007a4a2a1c91360dc1a7a8025d9b30567b6684bee4962179428e1ac02d86 + languageName: node + linkType: hard + +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: "npm:^1.1.6" + checksum: 10c0/22c4bb32f4934a9468468b608417194f7e3ceba9a508512125b16082c64f161915a28467562368eeb15dc16058eb5b7c13a20b9eb29ff9927d1ebb3b5aa83e84 + languageName: node + linkType: hard + +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" + dependencies: + indent-string: "npm:^4.0.0" + strip-indent: "npm:^3.0.0" + checksum: 10c0/d64a6b5c0b50eb3ddce3ab770f866658a2b9998c678f797919ceb1b586bab9259b311407280bd80b804e2a7c7539b19238ae6a2a20c843f1a7fcff21d48c2eae + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^10.1.0": + version: 10.1.1 + resolution: "regenerate-unicode-properties@npm:10.1.1" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10c0/89adb5ee5ba081380c78f9057c02e156a8181969f6fcca72451efc45612e0c3df767b4333f8d8479c274d9c6fe52ec4854f0d8a22ef95dccbe87da8e5f2ac77d + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 10c0/f73c9eba5d398c818edc71d1c6979eaa05af7a808682749dd079f8df2a6d91a9b913db216c2c9b03e0a8ba2bba8701244a93f45211afbff691c32c7b275db1b8 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.11.0": + version: 0.11.1 + resolution: "regenerator-runtime@npm:0.11.1" + checksum: 10c0/69cfa839efcf2d627fe358bf302ab8b24e5f182cb69f13e66f0612d3640d7838aad1e55662135e3ef2c1cc4322315b757626094fab13a48f9a64ab4bdeb8795b + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.13.4": + version: 0.13.11 + resolution: "regenerator-runtime@npm:0.13.11" + checksum: 10c0/12b069dc774001fbb0014f6a28f11c09ebfe3c0d984d88c9bced77fdb6fedbacbca434d24da9ae9371bfbf23f754869307fb51a4c98a8b8b18e5ef748677ca24 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 + languageName: node + linkType: hard + +"regenerator-transform@npm:^0.15.2": + version: 0.15.2 + resolution: "regenerator-transform@npm:0.15.2" + dependencies: + "@babel/runtime": "npm:^7.8.4" + checksum: 10c0/7cfe6931ec793269701994a93bab89c0cc95379191fad866270a7fea2adfec67ea62bb5b374db77058b60ba4509319d9b608664d0d288bd9989ca8dbd08fae90 + languageName: node + linkType: hard + +"regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": + version: 1.0.2 + resolution: "regex-not@npm:1.0.2" + dependencies: + extend-shallow: "npm:^3.0.2" + safe-regex: "npm:^1.1.0" + checksum: 10c0/a0f8d6045f63b22e9759db10e248369c443b41cedd7dba0922d002b66c2734bc2aef0d98c4d45772d1f756245f4c5203856b88b9624bba2a58708858a8d485d6 + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.5.2": + version: 1.5.2 + resolution: "regexp.prototype.flags@npm:1.5.2" + dependencies: + call-bind: "npm:^1.0.6" + define-properties: "npm:^1.2.1" + es-errors: "npm:^1.3.0" + set-function-name: "npm:^2.0.1" + checksum: 10c0/0f3fc4f580d9c349f8b560b012725eb9c002f36daa0041b3fbf6f4238cb05932191a4d7d5db3b5e2caa336d5150ad0402ed2be81f711f9308fe7e1a9bf9bd552 + languageName: node + linkType: hard + +"regexpp@npm:^3.0.0": + version: 3.2.0 + resolution: "regexpp@npm:3.2.0" + checksum: 10c0/d1da82385c8754a1681416b90b9cca0e21b4a2babef159099b88f640637d789c69011d0bc94705dacab85b81133e929d027d85210e8b8b03f8035164dbc14710 + languageName: node + linkType: hard + +"regexpu-core@npm:^5.3.1": + version: 5.3.2 + resolution: "regexpu-core@npm:5.3.2" + dependencies: + "@babel/regjsgen": "npm:^0.8.0" + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.1.0" + regjsparser: "npm:^0.9.1" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10c0/7945d5ab10c8bbed3ca383d4274687ea825aee4ab93a9c51c6e31e1365edd5ea807f6908f800ba017b66c462944ba68011164e7055207747ab651f8111ef3770 + languageName: node + linkType: hard + +"regextras@npm:^0.7.1": + version: 0.7.1 + resolution: "regextras@npm:0.7.1" + checksum: 10c0/f59a81ca995b72db95ec64c9e054e70ef2aaaa5b753dd1be03a70aeca027e0256f95ab041157a3566a9fbc6a793278bc31afbbb5acd60b88265e29d7c15c903b + languageName: node + linkType: hard + +"registry-auth-token@npm:^3.0.1": + version: 3.4.0 + resolution: "registry-auth-token@npm:3.4.0" + dependencies: + rc: "npm:^1.1.6" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/44c0cbf380bcf0af02996b7d0215e2f789c97d2c762bb420fd844b34588bf77ab0cf94fbe33eeaf945456ff022dbfebec4309cf5ef110a653aa3696134efd081 + languageName: node + linkType: hard + +"registry-url@npm:^3.0.0, registry-url@npm:^3.0.3": + version: 3.1.0 + resolution: "registry-url@npm:3.1.0" + dependencies: + rc: "npm:^1.0.1" + checksum: 10c0/345cf9638f99d95863d92800b3f595ac312c19d6865595e499fbeb33fcda04021a0dbdafbb5e61a838a89a558bc239d78752a1f90eb68cf53fdf0d91da816a7c + languageName: node + linkType: hard + +"regjsparser@npm:^0.9.1": + version: 0.9.1 + resolution: "regjsparser@npm:0.9.1" + dependencies: + jsesc: "npm:~0.5.0" + bin: + regjsparser: bin/parser + checksum: 10c0/fe44fcf19a99fe4f92809b0b6179530e5ef313ff7f87df143b08ce9a2eb3c4b6189b43735d645be6e8f4033bfb015ed1ca54f0583bc7561bed53fd379feb8225 + languageName: node + linkType: hard + +"release-zalgo@npm:^1.0.0": + version: 1.0.0 + resolution: "release-zalgo@npm:1.0.0" + dependencies: + es6-error: "npm:^4.0.1" + checksum: 10c0/9e161feb073f9e3aa714bb077d67592c34ee578f5b9cff8e2d492423fe2002d5b1e6d11ffcd5c564b9a0ee9435f25569567b658a82b9af931e7ac1313925628a + languageName: node + linkType: hard + +"remove-trailing-separator@npm:^1.0.1": + version: 1.1.0 + resolution: "remove-trailing-separator@npm:1.1.0" + checksum: 10c0/3568f9f8f5af3737b4aee9e6e1e8ec4be65a92da9cb27f989e0893714d50aa95ed2ff02d40d1fa35e1b1a234dc9c2437050ef356704a3999feaca6667d9e9bfc + languageName: node + linkType: hard + +"repeat-element@npm:^1.1.2": + version: 1.1.4 + resolution: "repeat-element@npm:1.1.4" + checksum: 10c0/81aa8d82bc845780803ef52df3533fa399974b99df571d0bb86e91f0ffca9ee4b9c4e8e5e72af087938cc28d2aef93d106a6d01da685d72ce96455b90a9f9f69 + languageName: node + linkType: hard + +"repeat-string@npm:^1.6.1": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 10c0/87fa21bfdb2fbdedc44b9a5b118b7c1239bdd2c2c1e42742ef9119b7d412a5137a1d23f1a83dc6bb686f4f27429ac6f542e3d923090b44181bafa41e8ac0174d + languageName: node + linkType: hard + +"repeating@npm:^1.1.2": + version: 1.1.3 + resolution: "repeating@npm:1.1.3" + dependencies: + is-finite: "npm:^1.0.0" + bin: + repeating: cli.js + checksum: 10c0/576065677d5c75adc8aef1813df6f3140a918ade2a673842993f7bd477796acad23390dfc6cda270497e92623ba998da30e47a4f50fad020f05c97fc8006fcd0 + languageName: node + linkType: hard + +"repeating@npm:^2.0.0": + version: 2.0.1 + resolution: "repeating@npm:2.0.1" + dependencies: + is-finite: "npm:^1.0.0" + checksum: 10c0/7f5cd293ec47d9c074ef0852800d5ff5c49028ce65242a7528d84f32bd2fe200b142930562af58c96d869c5a3046e87253030058e45231acaa129c1a7087d2e7 + languageName: node + linkType: hard + +"request@npm:^2.88.0": + version: 2.88.2 + resolution: "request@npm:2.88.2" + dependencies: + aws-sign2: "npm:~0.7.0" + aws4: "npm:^1.8.0" + caseless: "npm:~0.12.0" + combined-stream: "npm:~1.0.6" + extend: "npm:~3.0.2" + forever-agent: "npm:~0.6.1" + form-data: "npm:~2.3.2" + har-validator: "npm:~5.1.3" + http-signature: "npm:~1.2.0" + is-typedarray: "npm:~1.0.0" + isstream: "npm:~0.1.2" + json-stringify-safe: "npm:~5.0.1" + mime-types: "npm:~2.1.19" + oauth-sign: "npm:~0.9.0" + performance-now: "npm:^2.1.0" + qs: "npm:~6.5.2" + safe-buffer: "npm:^5.1.2" + tough-cookie: "npm:~2.5.0" + tunnel-agent: "npm:^0.6.0" + uuid: "npm:^3.3.2" + checksum: 10c0/0ec66e7af1391e51ad231de3b1c6c6aef3ebd0a238aa50d4191c7a792dcdb14920eea8d570c702dc5682f276fe569d176f9b8ebc6031a3cf4a630a691a431a63 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"require-main-filename@npm:^2.0.0": + version: 2.0.0 + resolution: "require-main-filename@npm:2.0.0" + checksum: 10c0/db91467d9ead311b4111cbd73a4e67fa7820daed2989a32f7023785a2659008c6d119752d9c4ac011ae07e537eb86523adff99804c5fdb39cd3a017f9b401bb6 + languageName: node + linkType: hard + +"require-package-name@npm:^2.0.1": + version: 2.0.1 + resolution: "require-package-name@npm:2.0.1" + checksum: 10c0/2da87caecdd2157489deaf8add246696dc9cbcebd89ef49b062ad1183594b979f96f8194d4b0f5447a92ad72d39b9fae2df38ec5b9ecef9c7c0157af38eeecbc + languageName: node + linkType: hard + +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: 10c0/b2bfdd09db16c082c4326e573a82c0771daaf7b53b9ce8ad60ea46aa6e30aaf475fe9b164800b89f93b748d2c234d8abff945d2551ba47bf5698e04cd7713267 + languageName: node + linkType: hard + +"resolve-alpn@npm:^1.0.0": + version: 1.2.1 + resolution: "resolve-alpn@npm:1.2.1" + checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + +"resolve-url@npm:^0.2.1": + version: 0.2.1 + resolution: "resolve-url@npm:0.2.1" + checksum: 10c0/c285182cfcddea13a12af92129ce0569be27fb0074ffaefbd3ba3da2eac2acecdfc996d435c4982a9fa2b4708640e52837c9153a5ab9255886a00b0b9e8d2a54 + languageName: node + linkType: hard + +"resolve@npm:^1.1.4, resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.22.4, resolve@npm:^1.3.3, resolve@npm:^1.4.0": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.1.4#optional!builtin, resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.3.3#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + languageName: node + linkType: hard + +"responselike@npm:1.0.2": + version: 1.0.2 + resolution: "responselike@npm:1.0.2" + dependencies: + lowercase-keys: "npm:^1.0.0" + checksum: 10c0/1c2861d1950790da96159ca490eda645130eaf9ccc4d76db20f685ba944feaf30f45714b4318f550b8cd72990710ad68355ff15c41da43ed9a93c102c0ffa403 + languageName: node + linkType: hard + +"responselike@npm:^2.0.0": + version: 2.0.1 + resolution: "responselike@npm:2.0.1" + dependencies: + lowercase-keys: "npm:^2.0.0" + checksum: 10c0/360b6deb5f101a9f8a4174f7837c523c3ec78b7ca8a7c1d45a1062b303659308a23757e318b1e91ed8684ad1205721142dd664d94771cd63499353fd4ee732b5 + languageName: node + linkType: hard + +"resq@npm:^1.9.1": + version: 1.11.0 + resolution: "resq@npm:1.11.0" + dependencies: + fast-deep-equal: "npm:^2.0.1" + checksum: 10c0/870e70bcbb85fcfe311c6742843decd4ef870252d00f4b041960076f98b2ff4d18cf88aca36d4f4838ca8bc6ded27097fefb31ab3340390adfcb8a82b9474a95 + languageName: node + linkType: hard + +"restore-cursor@npm:^1.0.1": + version: 1.0.1 + resolution: "restore-cursor@npm:1.0.1" + dependencies: + exit-hook: "npm:^1.0.0" + onetime: "npm:^1.0.0" + checksum: 10c0/5bab0d0131b91d5f4445cccf8e43dfde39c4de007c4792be5d03ea245439a96162a307285dd6684e81cc43ff205ec85ba21daa07ceae827b18a4f32ddaf7b7b1 + languageName: node + linkType: hard + +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f + languageName: node + linkType: hard + +"ret@npm:~0.1.10": + version: 0.1.15 + resolution: "ret@npm:0.1.15" + checksum: 10c0/01f77cad0f7ea4f955852c03d66982609893edc1240c0c964b4c9251d0f9fb6705150634060d169939b096d3b77f4c84d6b6098a5b5d340160898c8581f1f63f + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"rfdc@npm:^1.3.0": + version: 1.3.1 + resolution: "rfdc@npm:1.3.1" + checksum: 10c0/69f65e3ed30970f8055fac9fbbef9ce578800ca19554eab1dcbffe73a4b8aef536bc4248313889cf25e3b4e38b212c721eabe30856575bf2b2bc3d90f8ba93ef + languageName: node + linkType: hard + +"rgb2hex@npm:0.2.3": + version: 0.2.3 + resolution: "rgb2hex@npm:0.2.3" + checksum: 10c0/5f521812e770c68a7a5904b0765725354c41a87819654a3af2a3543c94991e887818b29eb6d71b7bce08748b7a4249a6d2c88d96cbbdbacfcaa555e04eb4ea34 + languageName: node + linkType: hard + +"rimraf@npm:^2.5.4, rimraf@npm:^2.6.3": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: ./bin.js + checksum: 10c0/4eef73d406c6940927479a3a9dee551e14a54faf54b31ef861250ac815172bade86cc6f7d64a4dc5e98b65e4b18a2e1c9ff3b68d296be0c748413f092bb0dd40 + languageName: node + linkType: hard + +"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"rimraf@npm:^5.0.5": + version: 5.0.5 + resolution: "rimraf@npm:5.0.5" + dependencies: + glob: "npm:^10.3.7" + bin: + rimraf: dist/esm/bin.mjs + checksum: 10c0/d50dbe724f33835decd88395b25ed35995077c60a50ae78ded06e0185418914e555817aad1b4243edbff2254548c2f6ad6f70cc850040bebb4da9e8cc016f586 + languageName: node + linkType: hard + +"rimraf@npm:~2.6.2": + version: 2.6.3 + resolution: "rimraf@npm:2.6.3" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: ./bin.js + checksum: 10c0/f1e646f8c567795f2916aef7aadf685b543da6b9a53e482bb04b07472c7eef2b476045ba1e29f401c301c66b630b22b815ab31fdd60c5e1ae6566ff523debf45 + languageName: node + linkType: hard + +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": + version: 2.0.2 + resolution: "ripemd160@npm:2.0.2" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + checksum: 10c0/f6f0df78817e78287c766687aed4d5accbebc308a8e7e673fb085b9977473c1f139f0c5335d353f172a915bb288098430755d2ad3c4f30612f4dd0c901cd2c3a + languageName: node + linkType: hard + +"roarr@npm:^2.15.3": + version: 2.15.4 + resolution: "roarr@npm:2.15.4" + dependencies: + boolean: "npm:^3.0.1" + detect-node: "npm:^2.0.4" + globalthis: "npm:^1.0.1" + json-stringify-safe: "npm:^5.0.1" + semver-compare: "npm:^1.0.0" + sprintf-js: "npm:^1.1.2" + checksum: 10c0/7d01d4c14513c461778dd673a8f9e53255221f8d04173aafeb8e11b23d8b659bb83f1c90cfe81af7f9c213b8084b404b918108fd792bda76678f555340cc64ec + languageName: node + linkType: hard + +"rollup@npm:^4.2.0": + version: 4.12.1 + resolution: "rollup@npm:4.12.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.12.1" + "@rollup/rollup-android-arm64": "npm:4.12.1" + "@rollup/rollup-darwin-arm64": "npm:4.12.1" + "@rollup/rollup-darwin-x64": "npm:4.12.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.12.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.12.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.12.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.12.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.12.1" + "@rollup/rollup-linux-x64-musl": "npm:4.12.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.12.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.12.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.12.1" + "@types/estree": "npm:1.0.5" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/f8311b90e8d4cc46abbc14c3b292c4992438f5fd7e821d2094a7e940eaf6f67af2850c209f6412c2de5b66b4110af25226374950e90a3b3085929c104b127d48 + languageName: node + linkType: hard + +"rrweb-cssom@npm:^0.6.0": + version: 0.6.0 + resolution: "rrweb-cssom@npm:0.6.0" + checksum: 10c0/3d9d90d53c2349ea9c8509c2690df5a4ef930c9cf8242aeb9425d4046f09d712bb01047e00da0e1c1dab5db35740b3d78fd45c3e7272f75d3724a563f27c30a3 + languageName: node + linkType: hard + +"run-async@npm:^0.1.0": + version: 0.1.0 + resolution: "run-async@npm:0.1.0" + dependencies: + once: "npm:^1.3.0" + checksum: 10c0/059e76d49f56d30e71e6baab6844bb8729889d0e28b4a2e586e8bb18163cc71c7aba16172ab77ae40f3f0a63bb502babdb71907277e9b8aac3ecd7498f5a0c41 + languageName: node + linkType: hard + +"run-async@npm:^2.4.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: 10c0/35a68c8f1d9664f6c7c2e153877ca1d6e4f886e5ca067c25cdd895a6891ff3a1466ee07c63d6a9be306e9619ff7d509494e6d9c129516a36b9fd82263d579ee1 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"run-queue@npm:^1.0.0, run-queue@npm:^1.0.3": + version: 1.0.3 + resolution: "run-queue@npm:1.0.3" + dependencies: + aproba: "npm:^1.1.1" + checksum: 10c0/4e8964279d8f160f9ffaabe82eaad11a1d4c0db596a0f2b5257ae9d2b900c7e1ffcece3e5719199436f50718e1e7f45bb4bf7a82e331a4e734d67c2588a90cbb + languageName: node + linkType: hard + +"rx-lite@npm:^3.1.2": + version: 3.1.2 + resolution: "rx-lite@npm:3.1.2" + checksum: 10c0/be2ce693f96cfe0b6dc2a5bb1fe28613edd0226238043f783facf97c76e91cde46c2f25a1b18337c97f27bba610d696d96b55040ba7a10088480902ba179fa03 + languageName: node + linkType: hard + +"rxjs@npm:^6.6.0": + version: 6.6.7 + resolution: "rxjs@npm:6.6.7" + dependencies: + tslib: "npm:^1.9.0" + checksum: 10c0/e556a13a9aa89395e5c9d825eabcfa325568d9c9990af720f3f29f04a888a3b854f25845c2b55875d875381abcae2d8100af9cacdc57576e7ed6be030a01d2fe + languageName: node + linkType: hard + +"safe-array-concat@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-array-concat@npm:1.1.0" + dependencies: + call-bind: "npm:^1.0.5" + get-intrinsic: "npm:^1.2.2" + has-symbols: "npm:^1.0.3" + isarray: "npm:^2.0.5" + checksum: 10c0/833d3d950fc7507a60075f9bfaf41ec6dac7c50c7a9d62b1e6b071ecc162185881f92e594ff95c1a18301c881352dd6fd236d56999d5819559db7b92da9c28af + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.0.3": + version: 1.0.3 + resolution: "safe-regex-test@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-regex: "npm:^1.1.4" + checksum: 10c0/900bf7c98dc58f08d8523b7012b468e4eb757afa624f198902c0643d7008ba777b0bdc35810ba0b758671ce887617295fb742b3f3968991b178ceca54cb07603 + languageName: node + linkType: hard + +"safe-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex@npm:1.1.0" + dependencies: + ret: "npm:~0.1.10" + checksum: 10c0/547d58aa5184cbef368fd5ed5f28d20f911614748c5da6b35f53fd6626396707587251e6e3d1e3010fd3ff1212e413841b8825eaa5f317017ca62a30899af31a + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"sass-graph@npm:^4.0.1": + version: 4.0.1 + resolution: "sass-graph@npm:4.0.1" + dependencies: + glob: "npm:^7.0.0" + lodash: "npm:^4.17.11" + scss-tokenizer: "npm:^0.4.3" + yargs: "npm:^17.2.1" + bin: + sassgraph: bin/sassgraph + checksum: 10c0/beb7a107bc4191f6f1778c9c428bb3067be50cb8922535f71a15c15c082269116e48baafeaf78cd2bb3f95d3da59c5cf48ff999740ec67a106fe1bdfe37a762a + languageName: node + linkType: hard + +"saucelabs@npm:^4.6.3": + version: 4.7.8 + resolution: "saucelabs@npm:4.7.8" + dependencies: + bin-wrapper: "npm:^4.1.0" + change-case: "npm:^4.1.1" + form-data: "npm:^3.0.0" + got: "npm:^11.7.0" + hash.js: "npm:^1.1.7" + tunnel: "npm:0.0.6" + yargs: "npm:^16.0.3" + bin: + sl: bin/sl + checksum: 10c0/228afb08369c1477140477de8aaec95862b6a4caca6e2b36344f3a93a707d11ffe841b4a9e4868d9bf8c89006beec05f3ef7a8e7cff70edabf3f69375cd8993d + languageName: node + linkType: hard + +"saxes@npm:^6.0.0": + version: 6.0.0 + resolution: "saxes@npm:6.0.0" + dependencies: + xmlchars: "npm:^2.2.0" + checksum: 10c0/3847b839f060ef3476eb8623d099aa502ad658f5c40fd60c105ebce86d244389b0d76fcae30f4d0c728d7705ceb2f7e9b34bb54717b6a7dbedaf5dad2d9a4b74 + languageName: node + linkType: hard + +"schema-utils@npm:^1.0.0": + version: 1.0.0 + resolution: "schema-utils@npm:1.0.0" + dependencies: + ajv: "npm:^6.1.0" + ajv-errors: "npm:^1.0.0" + ajv-keywords: "npm:^3.1.0" + checksum: 10c0/670e22d7f0ff0b6f4514a4d6fb27c359101b44b7dbfd9563af201af72eb4a9ff06144020cab5f85b16e88821fd09b97cbdae6c893721c6528c8cb704124e6a2f + languageName: node + linkType: hard + +"schema-utils@npm:^2.6.5, schema-utils@npm:^2.7.0": + version: 2.7.1 + resolution: "schema-utils@npm:2.7.1" + dependencies: + "@types/json-schema": "npm:^7.0.5" + ajv: "npm:^6.12.4" + ajv-keywords: "npm:^3.5.2" + checksum: 10c0/f484f34464edd8758712d5d3ba25a306e367dac988aecaf4ce112e99baae73f33a807b5cf869240bb6648c80720b36af2d7d72be3a27faa49a2d4fc63fa3f85f + languageName: node + linkType: hard + +"scss-tokenizer@npm:^0.4.3": + version: 0.4.3 + resolution: "scss-tokenizer@npm:0.4.3" + dependencies: + js-base64: "npm:^2.4.9" + source-map: "npm:^0.7.3" + checksum: 10c0/ac80962add6994abedae197fa6537e7817e9c5b0ceac509a578f0b60c1d612b552fcb31ef601508d8dffbd00cdab80c92720d76120e307db1de5cde4b5f90db2 + languageName: node + linkType: hard + +"seek-bzip@npm:^1.0.5": + version: 1.0.6 + resolution: "seek-bzip@npm:1.0.6" + dependencies: + commander: "npm:^2.8.1" + bin: + seek-bunzip: bin/seek-bunzip + seek-table: bin/seek-bzip-table + checksum: 10c0/e4019e4498bb725ff855603595c4116ca003674b13d29cb9ed9891b2ceec884ccf7c1cb5dba0d6b50fe6ce760a011078f5744efb79823f4ddb9decb1571e9912 + languageName: node + linkType: hard + +"semver-compare@npm:^1.0.0": + version: 1.0.0 + resolution: "semver-compare@npm:1.0.0" + checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1 + languageName: node + linkType: hard + +"semver-diff@npm:^2.0.0": + version: 2.1.0 + resolution: "semver-diff@npm:2.1.0" + dependencies: + semver: "npm:^5.0.3" + checksum: 10c0/5825827a82e848908c6b6f9248aad4a15fe5baeed74ae41d67cf6d96107425028a5a5432e17abf10f0696719b0efcbbc34b47d071a70fb85e11cb451feb637e6 + languageName: node + linkType: hard + +"semver-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "semver-regex@npm:2.0.0" + checksum: 10c0/6b02b142ecfe4162d35ada5665c3e3b884e88268a7be6547fe9a47e7e0968596886e74d2ac0b193d1fed539cf07c313a73c9ba9fc7858f5fd169cb2c1cbe8d69 + languageName: node + linkType: hard + +"semver-truncate@npm:^1.1.2": + version: 1.1.2 + resolution: "semver-truncate@npm:1.1.2" + dependencies: + semver: "npm:^5.3.0" + checksum: 10c0/7736544ea5b4c5d5bb0132751e27870f9c057117d2eca99da6ae77bbc6ec36dc474eec9bdd5e9a345d06125332451b16584309c0954e518639b122e4f419601e + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.0.1, semver@npm:^5.0.3, semver@npm:^5.1.0, semver@npm:^5.3.0, semver@npm:^5.5.0, semver@npm:^5.6.0": + version: 5.7.2 + resolution: "semver@npm:5.7.2" + bin: + semver: bin/semver + checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4": + version: 7.6.0 + resolution: "semver@npm:7.6.0" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: 10c0/fbfe717094ace0aa8d6332d7ef5ce727259815bd8d8815700853f4faf23aacbd7192522f0dc5af6df52ef4fa85a355ebd2f5d39f554bd028200d6cf481ab9b53 + languageName: node + linkType: hard + +"sentence-case@npm:^3.0.4": + version: 3.0.4 + resolution: "sentence-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + upper-case-first: "npm:^2.0.2" + checksum: 10c0/9a90527a51300cf5faea7fae0c037728f9ddcff23ac083883774c74d180c0a03c31aab43d5c3347512e8c1b31a0d4712512ec82beb71aa79b85149f9abeb5467 + languageName: node + linkType: hard + +"serialize-error@npm:^7.0.1": + version: 7.0.1 + resolution: "serialize-error@npm:7.0.1" + dependencies: + type-fest: "npm:^0.13.1" + checksum: 10c0/7982937d578cd901276c8ab3e2c6ed8a4c174137730f1fb0402d005af209a0e84d04acc874e317c936724c7b5b26c7a96ff7e4b8d11a469f4924a4b0ea814c05 + languageName: node + linkType: hard + +"serialize-error@npm:^8.0.0": + version: 8.1.0 + resolution: "serialize-error@npm:8.1.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/8cfd89f43ca93e283c5f1d16178a536bdfac9bc6029f4a9df988610cc399bc4f2478d1f10ce40b9dff66b863a5158a19b438fbec929045c96d92174f6bca1e88 + languageName: node + linkType: hard + +"serialize-javascript@npm:5.0.1": + version: 5.0.1 + resolution: "serialize-javascript@npm:5.0.1" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/646bd92a8298d764d38316f3006bce0b0def6d0e254791396ac34403847654d9346b0b6ed7865efd799d93d4c47d900e08a8fa7a6f7f8d2dbaebab5444c3b431 + languageName: node + linkType: hard + +"serialize-javascript@npm:^4.0.0": + version: 4.0.0 + resolution: "serialize-javascript@npm:4.0.0" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/510dfe7f0311c0b2f7ab06311afa1668ba2969ab2f1faaac0a4924ede76b7f22ba85cfdeaa0052ec5a047bca42c8cd8ac8df8f0efe52f9bd290b3a39ae69fe9d + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.1": + version: 1.2.1 + resolution: "set-function-length@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.1.2" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.3" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.1" + checksum: 10c0/1927e296599f2c04d210c1911f1600430a5e49e04a6d8bb03dca5487b95a574da9968813a2ced9a774bd3e188d4a6208352c8f64b8d4674cdb021dca21e190ca + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.1": + version: 2.0.2 + resolution: "set-function-name@npm:2.0.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + functions-have-names: "npm:^1.2.3" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316 + languageName: node + linkType: hard + +"set-value@npm:^2.0.0, set-value@npm:^2.0.1": + version: 2.0.1 + resolution: "set-value@npm:2.0.1" + dependencies: + extend-shallow: "npm:^2.0.1" + is-extendable: "npm:^0.1.1" + is-plain-object: "npm:^2.0.3" + split-string: "npm:^3.0.1" + checksum: 10c0/4c40573c4f6540456e4b38b95f570272c4cfbe1d12890ad4057886da8535047cd772dfadf5b58e2e87aa244dfb4c57e3586f6716b976fc47c5144b6b09e1811b + languageName: node + linkType: hard + +"setimmediate@npm:^1.0.4": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: 10c0/5bae81bfdbfbd0ce992893286d49c9693c82b1bcc00dcaaf3a09c8f428fdeacf4190c013598b81875dfac2b08a572422db7df779a99332d0fce186d15a3e4d49 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc + languageName: node + linkType: hard + +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8, sha.js@npm:~2.4.4": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + bin: + sha.js: ./bin.js + checksum: 10c0/b7a371bca8821c9cc98a0aeff67444a03d48d745cb103f17228b96793f455f0eb0a691941b89ea1e60f6359207e36081d9be193252b0f128e0daf9cfea2815a5 + languageName: node + linkType: hard + +"shallow-clone@npm:^3.0.0": + version: 3.0.1 + resolution: "shallow-clone@npm:3.0.1" + dependencies: + kind-of: "npm:^6.0.2" + checksum: 10c0/7bab09613a1b9f480c85a9823aebec533015579fa055ba6634aa56ba1f984380670eaf33b8217502931872aa1401c9fcadaa15f9f604d631536df475b05bcf1e + languageName: node + linkType: hard + +"shasum-object@npm:^1.0.0": + version: 1.0.0 + resolution: "shasum-object@npm:1.0.0" + dependencies: + fast-safe-stringify: "npm:^2.0.7" + checksum: 10c0/bd8efef5264aa69fb3227d2e0ee3aab3b1d458df3025c044b84ef37d5635154d209e4661d104b7b2d38e7529bda0bf0cb532e3af8919eac7d5b9325ba3ae78e2 + languageName: node + linkType: hard + +"shasum@npm:^1.0.0": + version: 1.0.2 + resolution: "shasum@npm:1.0.2" + dependencies: + json-stable-stringify: "npm:~0.0.0" + sha.js: "npm:~2.4.4" + checksum: 10c0/b99536837dd08d230f9a7961534cf85a5afe2ee6001808387918d3fbe2ca0eb15aad901be9e8ee9dca6fdd309ef997d211f63ac6f8622499b66373d420177a5d + languageName: node + linkType: hard + +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: "npm:^1.0.0" + checksum: 10c0/7b20dbf04112c456b7fc258622dafd566553184ac9b6938dd30b943b065b21dabd3776460df534cc02480db5e1b6aec44700d985153a3da46e7db7f9bd21326d + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 10c0/9abc45dee35f554ae9453098a13fdc2f1730e525a5eb33c51f096cc31f6f10a4b38074c1ebf354ae7bffa7229506083844008dfc3bb7818228568c0b2dc1fff2 + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shell-quote@npm:^1.4.2, shell-quote@npm:^1.6.1": + version: 1.8.1 + resolution: "shell-quote@npm:1.8.1" + checksum: 10c0/8cec6fd827bad74d0a49347057d40dfea1e01f12a6123bf82c4649f3ef152fc2bc6d6176e6376bffcd205d9d0ccb4f1f9acae889384d20baff92186f01ea455a + languageName: node + linkType: hard + +"shelljs@npm:^0.8.5": + version: 0.8.5 + resolution: "shelljs@npm:0.8.5" + dependencies: + glob: "npm:^7.0.0" + interpret: "npm:^1.0.0" + rechoir: "npm:^0.6.2" + bin: + shjs: bin/shjs + checksum: 10c0/feb25289a12e4bcd04c40ddfab51aff98a3729f5c2602d5b1a1b95f6819ec7804ac8147ebd8d9a85dfab69d501bcf92d7acef03247320f51c1552cec8d8e2382 + languageName: node + linkType: hard + +"shx@npm:^0.3.2": + version: 0.3.4 + resolution: "shx@npm:0.3.4" + dependencies: + minimist: "npm:^1.2.3" + shelljs: "npm:^0.8.5" + bin: + shx: lib/cli.js + checksum: 10c0/83251fb09314682f5a192f0249a4be68c755933313a41b5152b11c19fc0a68311954d3ca971a0cbae05815786a893c59b82f356484d8eeb009c84f4066b3fa31 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.4": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + object-inspect: "npm:^1.13.1" + checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f + languageName: node + linkType: hard + +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"simple-concat@npm:^1.0.0": + version: 1.0.1 + resolution: "simple-concat@npm:1.0.1" + checksum: 10c0/62f7508e674414008910b5397c1811941d457dfa0db4fd5aa7fa0409eb02c3609608dfcd7508cace75b3a0bf67a2a77990711e32cd213d2c76f4fd12ee86d776 + languageName: node + linkType: hard + +"simplifyify@npm:^7.0.7": + version: 7.0.7 + resolution: "simplifyify@npm:7.0.7" + dependencies: + browserify: "npm:^16.5.0" + browserify-banner: "npm:^1.0.16" + browserify-istanbul: "npm:^3.0.1" + commander: "npm:^4.0.1" + exorcist: "npm:^1.0.0" + globby: "npm:^10.0.1" + mkdirp-promise: "npm:^5.0.1" + ono: "npm:^6.0.0" + tsify: "npm:^4.0.1" + uglify-es: "npm:^3.3.7" + uglifyify: "npm:^5.0.2" + watchify: "npm:^3.11.1" + peerDependencies: + typescript: "*" + bin: + simplifyify: bin/simplifyify.js + checksum: 10c0/6e5a579eec394630cd3997ab9cd5a24f431aacbab2a4a0264984487e4b900882e30e960886174e7cce42b90a86b7b9305ad98ea7900134a5e43bd37634c9cc48 + languageName: node + linkType: hard + +"sinon@npm:^11.1.2": + version: 11.1.2 + resolution: "sinon@npm:11.1.2" + dependencies: + "@sinonjs/commons": "npm:^1.8.3" + "@sinonjs/fake-timers": "npm:^7.1.2" + "@sinonjs/samsam": "npm:^6.0.2" + diff: "npm:^5.0.0" + nise: "npm:^5.1.0" + supports-color: "npm:^7.2.0" + checksum: 10c0/c4f2507bb252dc07df476d52461b54533cf9f7c27078dc44202dfd0b466d0c7043c58861b4e46c6c06329bac79c4929cd7c7be38e7481922bad722655dd1dfb9 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"slide@npm:^1.1.5": + version: 1.1.6 + resolution: "slide@npm:1.1.6" + checksum: 10c0/f3bde70fd4c0a2ba6c23c674f010849865ddfacbc0ae3a57522d7ce88e4cc6c186d627943c34004d4f009a3fb477c03307b247ab69a266de4b3c72b271a6a03a + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ab19a913969f58f4474fe9f6e8a026c8a2142a01f40b52b79368068343177f818cdfef0b0c6b9558f298782441d5ca8ed5932eb57822439fad791d866e62cecd + languageName: node + linkType: hard + +"snapdragon-node@npm:^2.0.1": + version: 2.1.1 + resolution: "snapdragon-node@npm:2.1.1" + dependencies: + define-property: "npm:^1.0.0" + isobject: "npm:^3.0.0" + snapdragon-util: "npm:^3.0.1" + checksum: 10c0/7616e6a1ca054afe3ad8defda17ebe4c73b0800d2e0efd635c44ee1b286f8ac7900517314b5330862ce99b28cd2782348ee78bae573ff0f55832ad81d9657f3f + languageName: node + linkType: hard + +"snapdragon-util@npm:^3.0.1": + version: 3.0.1 + resolution: "snapdragon-util@npm:3.0.1" + dependencies: + kind-of: "npm:^3.2.0" + checksum: 10c0/4441856d343399ba7f37f79681949d51b922e290fcc07e7bc94655a50f584befa4fb08f40c3471cd160e004660161964d8ff140cba49baa59aa6caba774240e3 + languageName: node + linkType: hard + +"snapdragon@npm:^0.8.1": + version: 0.8.2 + resolution: "snapdragon@npm:0.8.2" + dependencies: + base: "npm:^0.11.1" + debug: "npm:^2.2.0" + define-property: "npm:^0.2.5" + extend-shallow: "npm:^2.0.1" + map-cache: "npm:^0.2.2" + source-map: "npm:^0.5.6" + source-map-resolve: "npm:^0.5.0" + use: "npm:^3.1.0" + checksum: 10c0/dfdac1f73d47152d72fc07f4322da09bbddfa31c1c9c3ae7346f252f778c45afa5b03e90813332f02f04f6de8003b34a168c456f8bb719024d092f932520ffca + languageName: node + linkType: hard + +"socket.io-adapter@npm:~2.5.2": + version: 2.5.4 + resolution: "socket.io-adapter@npm:2.5.4" + dependencies: + debug: "npm:~4.3.4" + ws: "npm:~8.11.0" + checksum: 10c0/839b50ba2a08a70ccf9b597b2f5e275a47c2f62fa423b1906249ab24facc7f2b7eeb695ef8bbfc3570ab769564fb9148d2608621800ef99917338fa9dd99e127 + languageName: node + linkType: hard + +"socket.io-parser@npm:~4.2.4": + version: 4.2.4 + resolution: "socket.io-parser@npm:4.2.4" + dependencies: + "@socket.io/component-emitter": "npm:~3.1.0" + debug: "npm:~4.3.1" + checksum: 10c0/9383b30358fde4a801ea4ec5e6860915c0389a091321f1c1f41506618b5cf7cd685d0a31c587467a0c4ee99ef98c2b99fb87911f9dfb329716c43b587f29ca48 + languageName: node + linkType: hard + +"socket.io@npm:^4.7.2": + version: 4.7.4 + resolution: "socket.io@npm:4.7.4" + dependencies: + accepts: "npm:~1.3.4" + base64id: "npm:~2.0.0" + cors: "npm:~2.8.5" + debug: "npm:~4.3.2" + engine.io: "npm:~6.5.2" + socket.io-adapter: "npm:~2.5.2" + socket.io-parser: "npm:~4.2.4" + checksum: 10c0/c37b7745d475695d5d5d20a30af940ebf1fefa9defdd1f3601978682a4e1d12eab10da0a6efb19d72038bb819a7972331a679649161689db600883b83818fb16 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^6.0.0": + version: 6.2.1 + resolution: "socks-proxy-agent@npm:6.2.1" + dependencies: + agent-base: "npm:^6.0.2" + debug: "npm:^4.3.3" + socks: "npm:^2.6.2" + checksum: 10c0/d75c1cf1fdd7f8309a43a77f84409b793fc0f540742ef915154e70ac09a08b0490576fe85d4f8d68bbf80e604a62957a17ab5ef50d312fe1442b0ab6f8f6e6f6 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.1": + version: 8.0.2 + resolution: "socks-proxy-agent@npm:8.0.2" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:^4.3.4" + socks: "npm:^2.7.1" + checksum: 10c0/a842402fc9b8848a31367f2811ca3cd14c4106588b39a0901cd7a69029998adfc6456b0203617c18ed090542ad0c24ee4e9d4c75a0c4b75071e214227c177eb7 + languageName: node + linkType: hard + +"socks@npm:^2.6.2, socks@npm:^2.7.1": + version: 2.8.1 + resolution: "socks@npm:2.8.1" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/ac77b515c260473cc7c4452f09b20939e22510ce3ae48385c516d1d5784374d5cc75be3cb18ff66cc985a7f4f2ef8fef84e984c5ec70aad58355ed59241f40a8 + languageName: node + linkType: hard + +"sort-keys-length@npm:^1.0.0": + version: 1.0.1 + resolution: "sort-keys-length@npm:1.0.1" + dependencies: + sort-keys: "npm:^1.0.0" + checksum: 10c0/4567d08aa859c7e48b7e2cba14a8ae09a100f6a3bd7cf5d21dccd808d6332c945b9a7e2230a95c16e0e6eac1a943cd050ae51a5d1b4c8ec4b1e89a5801be9aa2 + languageName: node + linkType: hard + +"sort-keys@npm:^1.0.0": + version: 1.1.2 + resolution: "sort-keys@npm:1.1.2" + dependencies: + is-plain-obj: "npm:^1.0.0" + checksum: 10c0/5dd383b0299a40277051f7498c3999520138e2eb50d422962f658738341c9e82349fad4a3024d5ba1a3122688fbaf958f2a472d4c53bade55515097c2ce15420 + languageName: node + linkType: hard + +"sort-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "sort-keys@npm:2.0.0" + dependencies: + is-plain-obj: "npm:^1.0.0" + checksum: 10c0/c11a6313995cb67ccf35fed4b1f6734176cc1d1e350ee311c061a2340ada4f7e23b046db064d518b63adba98c0f763739920c59fb4659a0b8482ec7a1f255081 + languageName: node + linkType: hard + +"source-list-map@npm:^2.0.0": + version: 2.0.1 + resolution: "source-list-map@npm:2.0.1" + checksum: 10c0/2e5e421b185dcd857f46c3c70e2e711a65d717b78c5f795e2e248c9d67757882ea989b80ebc08cf164eeeda5f4be8aa95d3b990225070b2daaaf3257c5958149 + languageName: node + linkType: hard + +"source-map-js@npm:^1.0.2": + version: 1.0.2 + resolution: "source-map-js@npm:1.0.2" + checksum: 10c0/32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8 + languageName: node + linkType: hard + +"source-map-resolve@npm:^0.5.0": + version: 0.5.3 + resolution: "source-map-resolve@npm:0.5.3" + dependencies: + atob: "npm:^2.1.2" + decode-uri-component: "npm:^0.2.0" + resolve-url: "npm:^0.2.1" + source-map-url: "npm:^0.4.0" + urix: "npm:^0.1.0" + checksum: 10c0/410acbe93882e058858d4c1297be61da3e1533f95f25b95903edddc1fb719654e705663644677542d1fb78a66390238fad1a57115fc958a0724cf9bb509caf57 + languageName: node + linkType: hard + +"source-map-support@npm:~0.5.10, source-map-support@npm:~0.5.12": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map-url@npm:^0.4.0": + version: 0.4.1 + resolution: "source-map-url@npm:0.4.1" + checksum: 10c0/f8af0678500d536c7f643e32094d6718a4070ab4ca2d2326532512cfbe2d5d25a45849b4b385879326f2d7523bb3b686d0360dd347a3cda09fd89a5c28d4bc58 + languageName: node + linkType: hard + +"source-map@npm:^0.5.0, source-map@npm:^0.5.6, source-map@npm:^0.5.7, source-map@npm:~0.5.3": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 10c0/904e767bb9c494929be013017380cbba013637da1b28e5943b566031e29df04fba57edf3f093e0914be094648b577372bd8ad247fa98cfba9c600794cd16b599 + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"source-map@npm:^0.7.3": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc + languageName: node + linkType: hard + +"spawn-wrap@npm:^2.0.0": + version: 2.0.0 + resolution: "spawn-wrap@npm:2.0.0" + dependencies: + foreground-child: "npm:^2.0.0" + is-windows: "npm:^1.0.2" + make-dir: "npm:^3.0.0" + rimraf: "npm:^3.0.0" + signal-exit: "npm:^3.0.2" + which: "npm:^2.0.1" + checksum: 10c0/0d30001391eedbd588722be74506d3e60582557e754fe3deb3f84f2c84ddca0d72d8132f16502cf312bacb8952cc7abe833d6f45b4e80c8baea3fa56c5554d3d + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.2.0 + resolution: "spdx-correct@npm:3.2.0" + dependencies: + spdx-expression-parse: "npm:^3.0.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/49208f008618b9119208b0dadc9208a3a55053f4fd6a0ae8116861bd22696fc50f4142a35ebfdb389e05ccf2de8ad142573fefc9e26f670522d899f7b2fe7386 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.5.0 + resolution: "spdx-exceptions@npm:2.5.0" + checksum: 10c0/37217b7762ee0ea0d8b7d0c29fd48b7e4dfb94096b109d6255b589c561f57da93bf4e328c0290046115961b9209a8051ad9f525e48d433082fc79f496a4ea940 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0, spdx-expression-parse@npm:^3.0.1": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: "npm:^2.1.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/6f8a41c87759fa184a58713b86c6a8b028250f158159f1d03ed9d1b6ee4d9eefdc74181c8ddc581a341aa971c3e7b79e30b59c23b05d2436d5de1c30bdef7171 + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.17 + resolution: "spdx-license-ids@npm:3.0.17" + checksum: 10c0/ddf9477b5afc70f1a7d3bf91f0b8e8a1c1b0fa65d2d9a8b5c991b1a2ba91b693d8b9749700119d5ce7f3fbf307ac421087ff43d321db472605e98a5804f80eac + languageName: node + linkType: hard + +"split-string@npm:^3.0.1, split-string@npm:^3.0.2": + version: 3.1.0 + resolution: "split-string@npm:3.1.0" + dependencies: + extend-shallow: "npm:^3.0.0" + checksum: 10c0/72d7cd625445c7af215130e1e2bc183013bb9dd48a074eda1d35741e2b0dcb355e6df5b5558a62543a24dcec37dd1d6eb7a6228ff510d3c9de0f3dc1d1da8a70 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.2, sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"sshpk@npm:^1.7.0": + version: 1.18.0 + resolution: "sshpk@npm:1.18.0" + dependencies: + asn1: "npm:~0.2.3" + assert-plus: "npm:^1.0.0" + bcrypt-pbkdf: "npm:^1.0.0" + dashdash: "npm:^1.12.0" + ecc-jsbn: "npm:~0.1.1" + getpass: "npm:^0.1.1" + jsbn: "npm:~0.1.0" + safer-buffer: "npm:^2.0.2" + tweetnacl: "npm:~0.14.0" + bin: + sshpk-conv: bin/sshpk-conv + sshpk-sign: bin/sshpk-sign + sshpk-verify: bin/sshpk-verify + checksum: 10c0/e516e34fa981cfceef45fd2e947772cc70dbd57523e5c608e2cd73752ba7f8a99a04df7c3ed751588e8d91956b6f16531590b35d3489980d1c54c38bebcd41b1 + languageName: node + linkType: hard + +"ssri@npm:^10.0.0": + version: 10.0.5 + resolution: "ssri@npm:10.0.5" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 + languageName: node + linkType: hard + +"ssri@npm:^6.0.1": + version: 6.0.2 + resolution: "ssri@npm:6.0.2" + dependencies: + figgy-pudding: "npm:^3.5.1" + checksum: 10c0/e6f18c57dc9fed69343db5c59f95ef334e9664bfbdbad686c190ef2c6ad6b35e9b56cb203f3e4eb7eee6cb7bb602daa26dab6685e3847f0b5c464cdf7d9c2cee + languageName: node + linkType: hard + +"ssri@npm:^8.0.0, ssri@npm:^8.0.1": + version: 8.0.1 + resolution: "ssri@npm:8.0.1" + dependencies: + minipass: "npm:^3.1.1" + checksum: 10c0/5cfae216ae02dcd154d1bbed2d0a60038a4b3a2fcaac3c7e47401ff4e058e551ee74cfdba618871bf168cd583db7b8324f94af6747d4303b73cd4c3f6dc5c9c2 + languageName: node + linkType: hard + +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + +"static-extend@npm:^0.1.1": + version: 0.1.2 + resolution: "static-extend@npm:0.1.2" + dependencies: + define-property: "npm:^0.2.5" + object-copy: "npm:^0.1.0" + checksum: 10c0/284f5865a9e19d079f1badbcd70d5f9f82e7a08393f818a220839cd5f71729e89105e1c95322bd28e833161d484cee671380ca443869ae89578eef2bf55c0653 + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + languageName: node + linkType: hard + +"statuses@npm:~1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 + languageName: node + linkType: hard + +"std-env@npm:^3.5.0": + version: 3.7.0 + resolution: "std-env@npm:3.7.0" + checksum: 10c0/60edf2d130a4feb7002974af3d5a5f3343558d1ccf8d9b9934d225c638606884db4a20d2fe6440a09605bca282af6b042ae8070a10490c0800d69e82e478f41e + languageName: node + linkType: hard + +"stdout-stream@npm:^1.4.0": + version: 1.4.1 + resolution: "stdout-stream@npm:1.4.1" + dependencies: + readable-stream: "npm:^2.0.1" + checksum: 10c0/be3e66c6d89183c0fae4908bd46c49e9687f8fff29ccaeeea00ae065a1e7af68f8a70c4d3b0c19b7c69b5a553d4354451d85e66af53ed68c6c9a23625ae22498 + languageName: node + linkType: hard + +"stream-browserify@npm:^2.0.0, stream-browserify@npm:^2.0.1": + version: 2.0.2 + resolution: "stream-browserify@npm:2.0.2" + dependencies: + inherits: "npm:~2.0.1" + readable-stream: "npm:^2.0.2" + checksum: 10c0/485562bd5d962d633ae178449029c6fa2611052e356bdb5668f768544aa4daa94c4f9a97de718f3f30ad98f3cb98a5f396252bb3855aff153c138f79c0e8f6ac + languageName: node + linkType: hard + +"stream-combiner2@npm:^1.1.1": + version: 1.1.1 + resolution: "stream-combiner2@npm:1.1.1" + dependencies: + duplexer2: "npm:~0.1.0" + readable-stream: "npm:^2.0.2" + checksum: 10c0/96a14ae94493aad307176d0c0a795446cedf6c49d11d08e5d0a56bcf9f22352b0dd148b0497c8456f08b00da0867288e9750bf0286b71f6b621c0f2ba6768758 + languageName: node + linkType: hard + +"stream-each@npm:^1.1.0": + version: 1.2.3 + resolution: "stream-each@npm:1.2.3" + dependencies: + end-of-stream: "npm:^1.1.0" + stream-shift: "npm:^1.0.0" + checksum: 10c0/7ed229d3b7c24373058b5742b00066da8d3122d1487c8219a025ed53a8978545c77654a529a8e9c62ba83ae80c424cbb0204776b49abf72270d2e8154831dd5f + languageName: node + linkType: hard + +"stream-http@npm:^2.7.2": + version: 2.8.3 + resolution: "stream-http@npm:2.8.3" + dependencies: + builtin-status-codes: "npm:^3.0.0" + inherits: "npm:^2.0.1" + readable-stream: "npm:^2.3.6" + to-arraybuffer: "npm:^1.0.0" + xtend: "npm:^4.0.0" + checksum: 10c0/fbe7d327a29216bbabe88d3819bb8f7a502f11eeacf3212579e5af1f76fa7283f6ffa66134ab7d80928070051f571d1029e85f65ce3369fffd4c4df3669446c4 + languageName: node + linkType: hard + +"stream-http@npm:^3.0.0": + version: 3.2.0 + resolution: "stream-http@npm:3.2.0" + dependencies: + builtin-status-codes: "npm:^3.0.0" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.6.0" + xtend: "npm:^4.0.2" + checksum: 10c0/f128fb8076d60cd548f229554b6a1a70c08a04b7b2afd4dbe7811d20f27f7d4112562eb8bce86d72a8691df3b50573228afcf1271e55e81f981536c67498bc41 + languageName: node + linkType: hard + +"stream-shift@npm:^1.0.0": + version: 1.0.3 + resolution: "stream-shift@npm:1.0.3" + checksum: 10c0/939cd1051ca750d240a0625b106a2b988c45fb5a3be0cebe9a9858cb01bc1955e8c7b9fac17a9462976bea4a7b704e317c5c2200c70f0ca715a3363b9aa4fd3b + languageName: node + linkType: hard + +"stream-splicer@npm:^2.0.0": + version: 2.0.1 + resolution: "stream-splicer@npm:2.0.1" + dependencies: + inherits: "npm:^2.0.1" + readable-stream: "npm:^2.0.2" + checksum: 10c0/3e066841507553747e4334fd0c9650f26dc486455f587e37c47b68f2069ca3f0ffe0da5b1929d860c20bb6a5181bb333a55b3fe6fd6ad20e6302257034df7837 + languageName: node + linkType: hard + +"streamroller@npm:^3.1.5": + version: 3.1.5 + resolution: "streamroller@npm:3.1.5" + dependencies: + date-format: "npm:^4.0.14" + debug: "npm:^4.3.4" + fs-extra: "npm:^8.1.0" + checksum: 10c0/0bdeec34ad37487d959ba908f17067c938f544db88b5bb1669497a67a6b676413229ce5a6145c2812d06959ebeb8842e751076647d4b323ca06be612963b9099 + languageName: node + linkType: hard + +"strict-uri-encode@npm:^1.0.0": + version: 1.1.0 + resolution: "strict-uri-encode@npm:1.1.0" + checksum: 10c0/eb8a4109ba2588239787389313ba58ec49e043d4c64a1d44716defe5821a68ae49abe0cdefed9946ca9fc2a4af7ecf321da92422b0a67258ec0a3638b053ae62 + languageName: node + linkType: hard + +"string-argv@npm:^0.3.1": + version: 0.3.2 + resolution: "string-argv@npm:0.3.2" + checksum: 10c0/75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 + languageName: node + linkType: hard + +"string-length@npm:^1.0.0": + version: 1.0.1 + resolution: "string-length@npm:1.0.1" + dependencies: + strip-ansi: "npm:^3.0.0" + checksum: 10c0/e2ca2506f50ce3f23986b251ad9058d759ff7478379211b102c00457c8756e3d3abaa9450373276046656d7e05394255ae89b976edf9577139bcfa88ba8a4b2a + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^1.0.1": + version: 1.0.2 + resolution: "string-width@npm:1.0.2" + dependencies: + code-point-at: "npm:^1.0.0" + is-fullwidth-code-point: "npm:^1.0.0" + strip-ansi: "npm:^3.0.0" + checksum: 10c0/c558438baed23a9ab9370bb6a939acbdb2b2ffc517838d651aad0f5b2b674fb85d460d9b1d0b6a4c210dffd09e3235222d89a5bd4c0c1587f78b2bb7bc00c65e + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2": + version: 2.1.1 + resolution: "string-width@npm:2.1.1" + dependencies: + is-fullwidth-code-point: "npm:^2.0.0" + strip-ansi: "npm:^4.0.0" + checksum: 10c0/e5f2b169fcf8a4257a399f95d069522f056e92ec97dbdcb9b0cdf14d688b7ca0b1b1439a1c7b9773cd79446cbafd582727279d6bfdd9f8edd306ea5e90e5b610 + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.2.8": + version: 1.2.8 + resolution: "string.prototype.trim@npm:1.2.8" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 10c0/4f76c583908bcde9a71208ddff38f67f24c9ec8093631601666a0df8b52fad44dad2368c78895ce83eb2ae8e7068294cc96a02fc971ab234e4d5c9bb61ea4e34 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimend@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 10c0/53c24911c7c4d8d65f5ef5322de23a3d5b6b4db73273e05871d5ab4571ae5638f38f7f19d71d09116578fb060e5a145cc6a208af2d248c8baf7a34f44d32ce57 + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimstart@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 10c0/0bcf391b41ea16d4fda9c9953d0a7075171fe090d33b4cf64849af94944c50862995672ac03e0c5dba2940a213ad7f53515a668dac859ce22a0276289ae5cf4f + languageName: node + linkType: hard + +"string_decoder@npm:^1.0.0, string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: "npm:^2.0.0" + checksum: 10c0/f6e7fbe8e700105dccf7102eae20e4f03477537c74b286fd22cfc970f139002ed6f0d9c10d0e21aa9ed9245e0fa3c9275930e8795c5b947da136e4ecb644a70f + languageName: node + linkType: hard + +"strip-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-ansi@npm:4.0.0" + dependencies: + ansi-regex: "npm:^3.0.0" + checksum: 10c0/d75d9681e0637ea316ddbd7d4d3be010b1895a17e885155e0ed6a39755ae0fd7ef46e14b22162e66a62db122d3a98ab7917794e255532ab461bb0a04feb03e7d + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-bom@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-bom@npm:2.0.0" + dependencies: + is-utf8: "npm:^0.2.0" + checksum: 10c0/4fcbb248af1d5c1f2d710022b7d60245077e7942079bfb7ef3fc8c1ae78d61e96278525ba46719b15ab12fced5c7603777105bc898695339d7c97c64d300ed0b + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 10c0/26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef + languageName: node + linkType: hard + +"strip-dirs@npm:^2.0.0": + version: 2.1.0 + resolution: "strip-dirs@npm:2.1.0" + dependencies: + is-natural-number: "npm:^4.0.1" + checksum: 10c0/073d6d08331ec2e87afc2c2535d7336fee1d63797384045e4ecb9908a5ac6615022ee000cc278d6bbc94147bed7350f7cf4657b6d18c377813f37e7ae329fb52 + languageName: node + linkType: hard + +"strip-eof@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-eof@npm:1.0.0" + checksum: 10c0/f336beed8622f7c1dd02f2cbd8422da9208fae81daf184f73656332899978919d5c0ca84dc6cfc49ad1fc4dd7badcde5412a063cf4e0d7f8ed95a13a63f68f45 + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce + languageName: node + linkType: hard + +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: "npm:^1.0.0" + checksum: 10c0/ae0deaf41c8d1001c5d4fbe16cb553865c1863da4fae036683b474fa926af9fc121e155cb3fc57a68262b2ae7d5b8420aa752c97a6428c315d00efe2a3875679 + languageName: node + linkType: hard + +"strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strip-json-comments@npm:^2.0.0, strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 + languageName: node + linkType: hard + +"strip-literal@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-literal@npm:2.0.0" + dependencies: + js-tokens: "npm:^8.0.2" + checksum: 10c0/63a6e4224ac7088ff93fd19fc0f6882705020da2f0767dbbecb929cbf9d49022e72350420f47be635866823608da9b9a5caf34f518004721895b6031199fc3c8 + languageName: node + linkType: hard + +"strip-outer@npm:^1.0.0": + version: 1.0.1 + resolution: "strip-outer@npm:1.0.1" + dependencies: + escape-string-regexp: "npm:^1.0.2" + checksum: 10c0/c0f38e6f37563d878a221b1c76f0822f180ec5fc39be5ada30ee637a7d5b59d19418093bad2b4db1e69c40d7a7a7ac50828afce07276cf3d51ac8965cb140dfb + languageName: node + linkType: hard + +"subarg@npm:^1.0.0": + version: 1.0.0 + resolution: "subarg@npm:1.0.0" + dependencies: + minimist: "npm:^1.1.0" + checksum: 10c0/8ecdfa682e50b98272b283f1094ae2f82e5c84b258fd3ac6e47a69149059bd786ef6586305243a5b60746ce23e3e738de7ed8277c76f3363fa351bbfe9c71f37 + languageName: node + linkType: hard + +"supports-color@npm:8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"supports-color@npm:^2.0.0": + version: 2.0.0 + resolution: "supports-color@npm:2.0.0" + checksum: 10c0/570e0b63be36cccdd25186350a6cb2eaad332a95ff162fa06d9499982315f2fe4217e69dd98e862fbcd9c81eaff300a825a1fe7bf5cc752e5b84dfed042b0dda + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 10c0/dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 + languageName: node + linkType: hard + +"synckit@npm:^0.8.6": + version: 0.8.8 + resolution: "synckit@npm:0.8.8" + dependencies: + "@pkgr/core": "npm:^0.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/c3d3aa8e284f3f84f2f868b960c9f49239b364e35f6d20825a448449a3e9c8f49fe36cdd5196b30615682f007830d46f2ea354003954c7336723cb821e4b6519 + languageName: node + linkType: hard + +"syntax-error@npm:^1.1.1": + version: 1.4.0 + resolution: "syntax-error@npm:1.4.0" + dependencies: + acorn-node: "npm:^1.2.0" + checksum: 10c0/435763d011943df551caa5a3bb84e00b6d22d7375e4ae115a922ebc2a239f136979f78b6a81b89c92383834d752692dc068aee59c2448e3f7fce00a52d9162d8 + languageName: node + linkType: hard + +"tapable@npm:^1.0.0, tapable@npm:^1.1.3": + version: 1.1.3 + resolution: "tapable@npm:1.1.3" + checksum: 10c0/c9f0265e55e45821ec672b9b9ee8a35d95bf3ea6b352199f8606a2799018e89cfe4433c554d424b31fc67c4be26b05d4f36dc3c607def416fdb2514cd63dba50 + languageName: node + linkType: hard + +"tar-fs@npm:^2.0.0": + version: 2.1.1 + resolution: "tar-fs@npm:2.1.1" + dependencies: + chownr: "npm:^1.1.1" + mkdirp-classic: "npm:^0.5.2" + pump: "npm:^3.0.0" + tar-stream: "npm:^2.1.4" + checksum: 10c0/871d26a934bfb7beeae4c4d8a09689f530b565f79bd0cf489823ff0efa3705da01278160da10bb006d1a793fa0425cf316cec029b32a9159eacbeaff4965fb6d + languageName: node + linkType: hard + +"tar-stream@npm:^1.5.2": + version: 1.6.2 + resolution: "tar-stream@npm:1.6.2" + dependencies: + bl: "npm:^1.0.0" + buffer-alloc: "npm:^1.2.0" + end-of-stream: "npm:^1.0.0" + fs-constants: "npm:^1.0.0" + readable-stream: "npm:^2.3.0" + to-buffer: "npm:^1.1.1" + xtend: "npm:^4.0.0" + checksum: 10c0/ab8528d2cc9ccd0906d1ce6d8089030b2c92a578c57645ff4971452c8c5388b34c7152c04ed64b8510d22a66ffaf0fee58bada7d6ab41ad1e816e31993d59cf3 + languageName: node + linkType: hard + +"tar-stream@npm:^2.1.4, tar-stream@npm:^2.2.0": + version: 2.2.0 + resolution: "tar-stream@npm:2.2.0" + dependencies: + bl: "npm:^4.0.3" + end-of-stream: "npm:^1.4.1" + fs-constants: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^3.1.1" + checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 + languageName: node + linkType: hard + +"tar@npm:^6.0.2, tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.2.0 + resolution: "tar@npm:6.2.0" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/02ca064a1a6b4521fef88c07d389ac0936730091f8c02d30ea60d472e0378768e870769ab9e986d87807bfee5654359cf29ff4372746cc65e30cbddc352660d8 + languageName: node + linkType: hard + +"temp@npm:^0.9.0": + version: 0.9.4 + resolution: "temp@npm:0.9.4" + dependencies: + mkdirp: "npm:^0.5.1" + rimraf: "npm:~2.6.2" + checksum: 10c0/7a1cd75efa65b9ca97fc0dfa752673842d23fa41d9c641a447d86ca986eb7662f0d17771e1edf8d0149e76de3c6e7005faf2ccaa3baf64811c86d1d1a951dda7 + languageName: node + linkType: hard + +"terser-webpack-plugin@npm:^1.4.3": + version: 1.4.5 + resolution: "terser-webpack-plugin@npm:1.4.5" + dependencies: + cacache: "npm:^12.0.2" + find-cache-dir: "npm:^2.1.0" + is-wsl: "npm:^1.1.0" + schema-utils: "npm:^1.0.0" + serialize-javascript: "npm:^4.0.0" + source-map: "npm:^0.6.1" + terser: "npm:^4.1.2" + webpack-sources: "npm:^1.4.0" + worker-farm: "npm:^1.7.0" + peerDependencies: + webpack: ^4.0.0 + checksum: 10c0/97164cfa383cf988832427e912cd9606471452f15f8bfb905ae51f1a42561f90ea541141e1e530e59f8307639fed7dfdbd626aec8390acd6ad80e58ea3fcf6df + languageName: node + linkType: hard + +"terser@npm:^3.7.5": + version: 3.17.0 + resolution: "terser@npm:3.17.0" + dependencies: + commander: "npm:^2.19.0" + source-map: "npm:~0.6.1" + source-map-support: "npm:~0.5.10" + bin: + terser: bin/uglifyjs + checksum: 10c0/f62058e1342ce9cbb0ed767ec74ed9cd16163753c6385566d9eaf53aef5150ad1d00eb446ba710d4c5e982c5859a7f31386436e967bb7d0cad0efbbe51d66a8e + languageName: node + linkType: hard + +"terser@npm:^4.1.2": + version: 4.8.1 + resolution: "terser@npm:4.8.1" + dependencies: + commander: "npm:^2.20.0" + source-map: "npm:~0.6.1" + source-map-support: "npm:~0.5.12" + bin: + terser: bin/terser + checksum: 10c0/1ec2620e58df0ea787ac579daf097df0fee2dd402f37acb4de0df1135f0598a29212e5f03042a9c2dc7e1bf1248b1dd9d9ea0724d34331a2017f32da8783b3d7 + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": "npm:^0.1.2" + glob: "npm:^7.1.4" + minimatch: "npm:^3.0.4" + checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + languageName: node + linkType: hard + +"through2@npm:^2.0.0": + version: 2.0.5 + resolution: "through2@npm:2.0.5" + dependencies: + readable-stream: "npm:~2.3.6" + xtend: "npm:~4.0.1" + checksum: 10c0/cbfe5b57943fa12b4f8c043658c2a00476216d79c014895cef1ac7a1d9a8b31f6b438d0e53eecbb81054b93128324a82ecd59ec1a4f91f01f7ac113dcb14eade + languageName: node + linkType: hard + +"through2@npm:^3.0.1": + version: 3.0.2 + resolution: "through2@npm:3.0.2" + dependencies: + inherits: "npm:^2.0.4" + readable-stream: "npm:2 || 3" + checksum: 10c0/8ea17efa2ce5b78ef5c52d08e29d0dbdad9c321c2add5192bba3434cae25b2319bf9cdac1c54c3bfbd721438a30565ca6f3f19eb79f62341dafc5a12429d2ccc + languageName: node + linkType: hard + +"through@npm:>=2.2.7 <3, through@npm:^2.3.6, through@npm:^2.3.8, through@npm:~2.3.4": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc + languageName: node + linkType: hard + +"through@npm:~2.2.7": + version: 2.2.7 + resolution: "through@npm:2.2.7" + checksum: 10c0/26e66b7b88f7fc38d7d25170093227d83047d2de54774e2496b69c260c0fdc34e2efd70eb7eb6814a203795cc78d4c18ed49d876b9b1a7d4c681f717d73f3a37 + languageName: node + linkType: hard + +"timed-out@npm:^2.0.0": + version: 2.0.0 + resolution: "timed-out@npm:2.0.0" + checksum: 10c0/0cb7af5f1b87ecb2b6c413d5d2bf47459614224bf4f519cabdf6075cefe75182e328b7e8a9c007175a850be4e87cf917cf810bf14f1de2906b0c5c0a4e3b5990 + languageName: node + linkType: hard + +"timed-out@npm:^3.0.0": + version: 3.1.3 + resolution: "timed-out@npm:3.1.3" + checksum: 10c0/029ec2779a96885ac0c2b7a7a6c6fd17926d4266b3a1d0b0bcfde685094d0ff0d90e140990220d9fd323fc2244b01a98586f5db3f0f01552c94517ef68f67cd7 + languageName: node + linkType: hard + +"timed-out@npm:^4.0.1": + version: 4.0.1 + resolution: "timed-out@npm:4.0.1" + checksum: 10c0/86f03ffce5b80c5a066e02e59e411d3fbbfcf242b19290ba76817b4180abd1b85558489586b6022b798fb1cf26fc644c0ce0efb9c271d67ec83fada4b9542a56 + languageName: node + linkType: hard + +"timers-browserify@npm:^1.0.1": + version: 1.4.2 + resolution: "timers-browserify@npm:1.4.2" + dependencies: + process: "npm:~0.11.0" + checksum: 10c0/96e9b6d629bbb8bed7c55745112d065a2abdc33f3c29354c62de2fb02916893994b28678d675cdfceb12ca8e26f5e77e41fda9b2aa449f74ba0bbf191735a656 + languageName: node + linkType: hard + +"timers-browserify@npm:^2.0.4": + version: 2.0.12 + resolution: "timers-browserify@npm:2.0.12" + dependencies: + setimmediate: "npm:^1.0.4" + checksum: 10c0/98e84db1a685bc8827c117a8bc62aac811ad56a995d07938fc7ed8cdc5bf3777bfe2d4e5da868847194e771aac3749a20f6cdd22091300fe889a76fe214a4641 + languageName: node + linkType: hard + +"tinybench@npm:^2.5.1": + version: 2.6.0 + resolution: "tinybench@npm:2.6.0" + checksum: 10c0/60ea35699bf8bac9bc8cf279fa5877ab5b335b4673dcd07bf0fbbab9d7953a02c0ccded374677213eaa13aa147f54eb75d3230139ddbeec3875829ebe73db310 + languageName: node + linkType: hard + +"tinypool@npm:^0.8.2": + version: 0.8.2 + resolution: "tinypool@npm:0.8.2" + checksum: 10c0/8998626614172fc37c394e9a14e701dc437727fc6525488a4d4fd42044a4b2b59d6f076d750cbf5c699f79c58dd4e40599ab09e2f1ae0df4b23516b98c9c3055 + languageName: node + linkType: hard + +"tinyspy@npm:^2.2.0": + version: 2.2.1 + resolution: "tinyspy@npm:2.2.1" + checksum: 10c0/0b4cfd07c09871e12c592dfa7b91528124dc49a4766a0b23350638c62e6a483d5a2a667de7e6282246c0d4f09996482ddaacbd01f0c05b7ed7e0f79d32409bdc + languageName: node + linkType: hard + +"tmp@npm:^0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: "npm:~1.0.2" + checksum: 10c0/69863947b8c29cabad43fe0ce65cec5bb4b481d15d4b4b21e036b060b3edbf3bc7a5541de1bacb437bb3f7c4538f669752627fdf9b4aaf034cebd172ba373408 + languageName: node + linkType: hard + +"tmp@npm:^0.2.1": + version: 0.2.3 + resolution: "tmp@npm:0.2.3" + checksum: 10c0/3e809d9c2f46817475b452725c2aaa5d11985cf18d32a7a970ff25b568438e2c076c2e8609224feef3b7923fa9749b74428e3e634f6b8e520c534eef2fd24125 + languageName: node + linkType: hard + +"to-arraybuffer@npm:^1.0.0": + version: 1.0.1 + resolution: "to-arraybuffer@npm:1.0.1" + checksum: 10c0/2460bd95524f4845a751e4f8bf9937f9f3dcd1651f104e1512868782f858f8302c1cf25bbc30794bc1b3ff65c4e135158377302f2abaff43a2d8e3c38dfe098c + languageName: node + linkType: hard + +"to-buffer@npm:^1.1.1": + version: 1.1.1 + resolution: "to-buffer@npm:1.1.1" + checksum: 10c0/fb9fc6a0103f2b06e2e01c3d291586d0148759d5584f35d0973376434d1b58bd6ee5df9273f0bb1190eb2a5747c894bf49fed571325a7ac10208a48f31736439 + languageName: node + linkType: hard + +"to-fast-properties@npm:^1.0.3": + version: 1.0.3 + resolution: "to-fast-properties@npm:1.0.3" + checksum: 10c0/78974a4f4528700d18e4c2bbf0b1fb1b19862dcc20a18dc5ed659843dea2dff4f933d167a11d3819865c1191042003aea65f7f035791af9e65d070f2e05af787 + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 + languageName: node + linkType: hard + +"to-object-path@npm:^0.3.0": + version: 0.3.0 + resolution: "to-object-path@npm:0.3.0" + dependencies: + kind-of: "npm:^3.0.2" + checksum: 10c0/731832a977614c03a770363ad2bd9e9c82f233261861724a8e612bb90c705b94b1a290a19f52958e8e179180bb9b71121ed65e245691a421467726f06d1d7fc3 + languageName: node + linkType: hard + +"to-regex-range@npm:^2.1.0": + version: 2.1.1 + resolution: "to-regex-range@npm:2.1.1" + dependencies: + is-number: "npm:^3.0.0" + repeat-string: "npm:^1.6.1" + checksum: 10c0/440d82dbfe0b2e24f36dd8a9467240406ad1499fc8b2b0f547372c22ed1d092ace2a3eb522bb09bfd9c2f39bf1ca42eb78035cf6d2b8c9f5c78da3abc96cd949 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"to-regex@npm:^3.0.1, to-regex@npm:^3.0.2": + version: 3.0.2 + resolution: "to-regex@npm:3.0.2" + dependencies: + define-property: "npm:^2.0.2" + extend-shallow: "npm:^3.0.2" + regex-not: "npm:^1.0.2" + safe-regex: "npm:^1.1.0" + checksum: 10c0/99d0b8ef397b3f7abed4bac757b0f0bb9f52bfd39167eb7105b144becfaa9a03756892352d01ac6a911f0c1ceef9f81db68c46899521a3eed054082042796120 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 + languageName: node + linkType: hard + +"tough-cookie@npm:^4.1.3": + version: 4.1.3 + resolution: "tough-cookie@npm:4.1.3" + dependencies: + psl: "npm:^1.1.33" + punycode: "npm:^2.1.1" + universalify: "npm:^0.2.0" + url-parse: "npm:^1.5.3" + checksum: 10c0/4fc0433a0cba370d57c4b240f30440c848906dee3180bb6e85033143c2726d322e7e4614abb51d42d111ebec119c4876ed8d7247d4113563033eebbc1739c831 + languageName: node + linkType: hard + +"tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" + dependencies: + psl: "npm:^1.1.28" + punycode: "npm:^2.1.1" + checksum: 10c0/e1cadfb24d40d64ca16de05fa8192bc097b66aeeb2704199b055ff12f450e4f30c927ce250f53d01f39baad18e1c11d66f65e545c5c6269de4c366fafa4c0543 + languageName: node + linkType: hard + +"tr46@npm:^5.0.0": + version: 5.0.0 + resolution: "tr46@npm:5.0.0" + dependencies: + punycode: "npm:^2.3.1" + checksum: 10c0/1521b6e7bbc8adc825c4561480f9fe48eb2276c81335eed9fa610aa4c44a48a3221f78b10e5f18b875769eb3413e30efbf209ed556a17a42aa8d690df44b7bee + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 + languageName: node + linkType: hard + +"trim-newlines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-newlines@npm:3.0.1" + checksum: 10c0/03cfefde6c59ff57138412b8c6be922ecc5aec30694d784f2a65ef8dcbd47faef580b7de0c949345abdc56ec4b4abf64dd1e5aea619b200316e471a3dd5bf1f6 + languageName: node + linkType: hard + +"trim-repeated@npm:^1.0.0": + version: 1.0.0 + resolution: "trim-repeated@npm:1.0.0" + dependencies: + escape-string-regexp: "npm:^1.0.2" + checksum: 10c0/89acada0142ed0cdb113615a3e82fdb09e7fdb0e3504ded62762dd935bc27debfcc38edefa497dc7145d8dc8602d40dd9eec891e0ea6c28fa0cc384200b692db + languageName: node + linkType: hard + +"trim-right@npm:^1.0.1": + version: 1.0.1 + resolution: "trim-right@npm:1.0.1" + checksum: 10c0/71989ec179c6b42a56e03db68e60190baabf39d32d4e1252fa1501c4e478398ae29d7191beffe015b9d9dc76f04f4b3a946bdb9949ad6b0c0b0c5db65f3eb672 + languageName: node + linkType: hard + +"true-case-path@npm:^1.0.2": + version: 1.0.3 + resolution: "true-case-path@npm:1.0.3" + dependencies: + glob: "npm:^7.1.2" + checksum: 10c0/6235caddf342fd04281001e6724fd302bdc77b4977bcff4d1fea8ca3539e75398b14120b48f1cf3de9a0ce35a5fa1aaf62e0e0a60e7322a1b37e772af876e19b + languageName: node + linkType: hard + +"ts-api-utils@npm:^1.0.1": + version: 1.2.1 + resolution: "ts-api-utils@npm:1.2.1" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/8ddb493e7ae581d3f57a2e469142feb60b420d4ad8366ab969fe8e36531f8f301f370676b47e8d97f28b5f5fd10d6f2d55f656943a8546ef95e35ce5cf117754 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.15.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" + dependencies: + "@types/json5": "npm:^0.0.29" + json5: "npm:^1.0.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 + languageName: node + linkType: hard + +"tsconfig@npm:^5.0.3": + version: 5.0.3 + resolution: "tsconfig@npm:5.0.3" + dependencies: + any-promise: "npm:^1.3.0" + parse-json: "npm:^2.2.0" + strip-bom: "npm:^2.0.0" + strip-json-comments: "npm:^2.0.0" + checksum: 10c0/f9b3823798e743bef6d3a112a6de52d568959961095fb65868c9e7ed9ec27e11bc5620485bd5b3b3f7cd52041668ad7c9dc81fd5955d5256cbd962ac5184c5fa + languageName: node + linkType: hard + +"tsify@npm:^4.0.1": + version: 4.0.2 + resolution: "tsify@npm:4.0.2" + dependencies: + convert-source-map: "npm:^1.1.0" + fs.realpath: "npm:^1.0.0" + object-assign: "npm:^4.1.0" + semver: "npm:^6.1.0" + through2: "npm:^2.0.0" + tsconfig: "npm:^5.0.3" + peerDependencies: + browserify: ">= 10.x" + typescript: ">= 2.x" + checksum: 10c0/d097b8edb31e8ab9edf91566530b08dbd07d793f7c48ad258d51d276015ca6f74204c1b59ad6b4c902b37b8e26b3907941c64e6469fca9be776e181a6e4bbe6d + languageName: node + linkType: hard + +"tslib@npm:^1.8.1, tslib@npm:^1.9.0": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 + languageName: node + linkType: hard + +"tslib@npm:^2.0.3, tslib@npm:^2.6.2": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb + languageName: node + linkType: hard + +"tsutils@npm:^3.17.1": + version: 3.21.0 + resolution: "tsutils@npm:3.21.0" + dependencies: + tslib: "npm:^1.8.1" + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2 + languageName: node + linkType: hard + +"tty-browserify@npm:0.0.0": + version: 0.0.0 + resolution: "tty-browserify@npm:0.0.0" + checksum: 10c0/c0c68206565f1372e924d5cdeeff1a0d9cc729833f1da98c03d78be8f939e5f61a107bd0ab77d1ef6a47d62bb0e48b1081fbea273acf404959e22fd3891439c5 + languageName: node + linkType: hard + +"tty-browserify@npm:0.0.1": + version: 0.0.1 + resolution: "tty-browserify@npm:0.0.1" + checksum: 10c0/5e34883388eb5f556234dae75b08e069b9e62de12bd6d87687f7817f5569430a6dfef550b51dbc961715ae0cd0eb5a059e6e3fc34dc127ea164aa0f9b5bb033d + languageName: node + linkType: hard + +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/4c7a1b813e7beae66fdbf567a65ec6d46313643753d0beefb3c7973d66fcec3a1e7f39759f0a0b4465883499c6dc8b0750ab8b287399af2e583823e40410a17a + languageName: node + linkType: hard + +"tunnel@npm:0.0.6": + version: 0.0.6 + resolution: "tunnel@npm:0.0.6" + checksum: 10c0/e27e7e896f2426c1c747325b5f54efebc1a004647d853fad892b46d64e37591ccd0b97439470795e5262b5c0748d22beb4489a04a0a448029636670bfd801b75 + languageName: node + linkType: hard + +"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": + version: 0.14.5 + resolution: "tweetnacl@npm:0.14.5" + checksum: 10c0/4612772653512c7bc19e61923fbf42903f5e0389ec76a4a1f17195859d114671ea4aa3b734c2029ce7e1fa7e5cc8b80580f67b071ecf0b46b5636d030a0102a2 + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd + languageName: node + linkType: hard + +"type-fest@npm:^0.13.1": + version: 0.13.1 + resolution: "type-fest@npm:0.13.1" + checksum: 10c0/0c0fa07ae53d4e776cf4dac30d25ad799443e9eef9226f9fddbb69242db86b08584084a99885cfa5a9dfe4c063ebdc9aa7b69da348e735baede8d43f1aeae93b + languageName: node + linkType: hard + +"type-fest@npm:^0.18.0": + version: 0.18.1 + resolution: "type-fest@npm:0.18.1" + checksum: 10c0/303f5ecf40d03e1d5b635ce7660de3b33c18ed8ebc65d64920c02974d9e684c72483c23f9084587e9dd6466a2ece1da42ddc95b412a461794dd30baca95e2bac + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 + languageName: node + linkType: hard + +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: 10c0/0c585c26416fce9ecb5691873a1301b5aff54673c7999b6f925691ed01f5b9232db408cdbb0bd003d19f5ae284322523f44092d1f81ca0a48f11f7cf0be8cd38 + languageName: node + linkType: hard + +"type-fest@npm:^0.8.0, type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: 10c0/dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: "npm:0.3.0" + mime-types: "npm:~2.1.24" + checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + languageName: node + linkType: hard + +"typed-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "typed-array-buffer@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "typed-array-byte-length@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/fcebeffb2436c9f355e91bd19e2368273b88c11d1acc0948a2a306792f1ab672bce4cfe524ab9f51a0505c9d7cd1c98eff4235c4f6bfef6a198f6cfc4ff3d4f3 + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.2": + version: 1.0.2 + resolution: "typed-array-byte-offset@npm:1.0.2" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/d2628bc739732072e39269389a758025f75339de2ed40c4f91357023c5512d237f255b633e3106c461ced41907c1bf9a533c7e8578066b0163690ca8bc61b22f + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.5": + version: 1.0.5 + resolution: "typed-array-length@npm:1.0.5" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" + is-typed-array: "npm:^1.1.13" + possible-typed-array-names: "npm:^1.0.0" + checksum: 10c0/5cc0f79196e70a92f8f40846cfa62b3de6be51e83f73655e137116cf65e3c29a288502b18cc8faf33c943c2470a4569009e1d6da338441649a2db2f135761ad5 + languageName: node + linkType: hard + +"typedarray-to-buffer@npm:^3.1.5": + version: 3.1.5 + resolution: "typedarray-to-buffer@npm:3.1.5" + dependencies: + is-typedarray: "npm:^1.0.0" + checksum: 10c0/4ac5b7a93d604edabf3ac58d3a2f7e07487e9f6e98195a080e81dbffdc4127817f470f219d794a843b87052cedef102b53ac9b539855380b8c2172054b7d5027 + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 + languageName: node + linkType: hard + +"typescript@npm:^5.3.3": + version: 5.3.3 + resolution: "typescript@npm:5.3.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/e33cef99d82573624fc0f854a2980322714986bc35b9cb4d1ce736ed182aeab78e2cb32b385efa493b2a976ef52c53e20d6c6918312353a91850e2b76f1ea44f + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": + version: 5.3.3 + resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/1d0a5f4ce496c42caa9a30e659c467c5686eae15d54b027ee7866744952547f1be1262f2d40de911618c242b510029d51d43ff605dba8fb740ec85ca2d3f9500 + languageName: node + linkType: hard + +"typical@npm:^4.0.0": + version: 4.0.0 + resolution: "typical@npm:4.0.0" + checksum: 10c0/f300b198fb9fe743859b75ec761d53c382723dc178bbce4957d9cb754f2878a44ce17dc0b6a5156c52be1065449271f63754ba594dac225b80ce3aa39f9241ed + languageName: node + linkType: hard + +"ua-parser-js@npm:^0.7.21, ua-parser-js@npm:^0.7.30": + version: 0.7.37 + resolution: "ua-parser-js@npm:0.7.37" + checksum: 10c0/38295744f1771896a9158f427b10a6971e82e30bdcedb98bf871eb29987a517722ed1185a00e54b1dea5480920d131e374b92574851f29e3a753173b9c0f24d2 + languageName: node + linkType: hard + +"ufo@npm:^1.3.2": + version: 1.4.0 + resolution: "ufo@npm:1.4.0" + checksum: 10c0/d9a3cb8c5fd13356e0af661362244fd0a901edcdd08996f42553271007cae01e85dcec29a3303a87ddab6aa705cbd630332aaa8c268d037483536b198fa67a7c + languageName: node + linkType: hard + +"uglify-es@npm:^3.3.7": + version: 3.3.10 + resolution: "uglify-es@npm:3.3.10" + dependencies: + commander: "npm:~2.14.1" + source-map: "npm:~0.6.1" + bin: + uglifyjs: bin/uglifyjs + checksum: 10c0/165b19b331f72aae4a0eeb4350606d8e5d39c82315ef8eaa8d3a0706d16be9282f6055b5e1e46914422b3e56520740fc68cec40a0b06e7fd6905b1f680528487 + languageName: node + linkType: hard + +"uglifyify@npm:^5.0.2": + version: 5.0.2 + resolution: "uglifyify@npm:5.0.2" + dependencies: + convert-source-map: "npm:~1.1.0" + minimatch: "npm:^3.0.2" + terser: "npm:^3.7.5" + through: "npm:~2.3.4" + xtend: "npm:^4.0.1" + checksum: 10c0/8c4d47a65a8e9bbbbe35dbefa1c71bc4eee31e509d596e7dda49b09665c494ddf73fba01ea25e037997b146d303e0ded3382081d2d7e311aee5de1de448e68ad + languageName: node + linkType: hard + +"umd@npm:^3.0.0": + version: 3.0.3 + resolution: "umd@npm:3.0.3" + bin: + umd: ./bin/cli.js + checksum: 10c0/2cb1ca772697610b336fc1433e6a5db3f3e311717fc807cac4b3a0c28c03e356ced07389e2ab16079a5bc75d6b06bcc666b1f62b08a55239ea0adae5a2cf07ea + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.2" + has-bigints: "npm:^1.0.2" + has-symbols: "npm:^1.0.3" + which-boxed-primitive: "npm:^1.0.2" + checksum: 10c0/81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66 + languageName: node + linkType: hard + +"unbzip2-stream@npm:^1.0.9, unbzip2-stream@npm:^1.3.3": + version: 1.4.3 + resolution: "unbzip2-stream@npm:1.4.3" + dependencies: + buffer: "npm:^5.2.1" + through: "npm:^2.3.8" + checksum: 10c0/2ea2048f3c9db3499316ccc1d95ff757017ccb6f46c812d7c42466247e3b863fb178864267482f7f178254214247779daf68e85f50bd7736c3c97ba2d58b910a + languageName: node + linkType: hard + +"undeclared-identifiers@npm:^1.1.2": + version: 1.1.3 + resolution: "undeclared-identifiers@npm:1.1.3" + dependencies: + acorn-node: "npm:^1.3.0" + dash-ast: "npm:^1.0.0" + get-assigned-identifiers: "npm:^1.2.0" + simple-concat: "npm:^1.0.0" + xtend: "npm:^4.0.1" + bin: + undeclared-identifiers: bin.js + checksum: 10c0/f9055dcf17b3b44390e1226514655c39efb7a51cc3aa359743f3281c39392a48e8a44689a1574b7c7e28562f212847e9d4deb5dbb045db8b603caac4e61faf8f + languageName: node + linkType: hard + +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" + checksum: 10c0/0fe812641bcfa3ae433025178a64afb5d9afebc21a922dafa7cba971deebb5e4a37350423890750132a85c936c290fb988146d0b1bd86838ad4897f4fc5bd0de + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 10c0/4d05252cecaf5c8e36d78dc5332e03b334c6242faf7cf16b3658525441386c0a03b5f603d42cbec0f09bb63b9fd25c9b3b09667aee75463cac3efadae2cd17ec + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.1.0": + version: 2.1.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.1.0" + checksum: 10c0/f5b9499b9e0ffdc6027b744d528f17ec27dd7c15da03254ed06851feec47e0531f20d410910c8a49af4a6a190f4978413794c8d75ce112950b56d583b5d5c7f2 + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" + checksum: 10c0/50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 + languageName: node + linkType: hard + +"union-value@npm:^1.0.0": + version: 1.0.1 + resolution: "union-value@npm:1.0.1" + dependencies: + arr-union: "npm:^3.1.0" + get-value: "npm:^2.0.6" + is-extendable: "npm:^0.1.1" + set-value: "npm:^2.0.1" + checksum: 10c0/8758d880cb9545f62ce9cfb9b791b2b7a206e0ff5cc4b9d7cd6581da2c6839837fbb45e639cf1fd8eef3cae08c0201b614b7c06dd9f5f70d9dbe7c5fe2fbf592 + languageName: node + linkType: hard + +"unique-filename@npm:^1.1.1": + version: 1.1.1 + resolution: "unique-filename@npm:1.1.1" + dependencies: + unique-slug: "npm:^2.0.0" + checksum: 10c0/d005bdfaae6894da8407c4de2b52f38b3c58ec86e79fc2ee19939da3085374413b073478ec54e721dc8e32b102cf9e50d0481b8331abdc62202e774b789ea874 + languageName: node + linkType: hard + +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: "npm:^4.0.0" + checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + languageName: node + linkType: hard + +"unique-slug@npm:^2.0.0": + version: 2.0.2 + resolution: "unique-slug@npm:2.0.2" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/9eabc51680cf0b8b197811a48857e41f1364b25362300c1ff636c0eca5ec543a92a38786f59cf0697e62c6f814b11ecbe64e8093db71246468a1f03b80c83970 + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + languageName: node + linkType: hard + +"universalify@npm:^0.1.0": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 + languageName: node + linkType: hard + +"universalify@npm:^0.2.0": + version: 0.2.0 + resolution: "universalify@npm:0.2.0" + checksum: 10c0/cedbe4d4ca3967edf24c0800cfc161c5a15e240dac28e3ce575c689abc11f2c81ccc6532c8752af3b40f9120fb5e454abecd359e164f4f6aa44c29cd37e194fe + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c + languageName: node + linkType: hard + +"unset-value@npm:^1.0.0": + version: 1.0.0 + resolution: "unset-value@npm:1.0.0" + dependencies: + has-value: "npm:^0.3.1" + isobject: "npm:^3.0.0" + checksum: 10c0/68a796dde4a373afdbf017de64f08490a3573ebee549136da0b3a2245299e7f65f647ef70dc13c4ac7f47b12fba4de1646fa0967a365638578fedce02b9c0b1f + languageName: node + linkType: hard + +"unzip-response@npm:^1.0.2": + version: 1.0.2 + resolution: "unzip-response@npm:1.0.2" + checksum: 10c0/9e1e51b0ac5cf5becb27b0a46d22c80ca2fededb88a7af70671295b2e3212b7d8496d2733d6951995b40b84e1d3b4419b857c6f20dbe098f516859deaa4ff33a + languageName: node + linkType: hard + +"upath@npm:^1.1.1": + version: 1.2.0 + resolution: "upath@npm:1.2.0" + checksum: 10c0/3746f24099bf69dbf8234cecb671e1016e1f6b26bd306de4ff8966fb0bc463fa1014ffc48646b375de1ab573660e3a0256f6f2a87218b2dfa1779a84ef6992fa + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.0.13": + version: 1.0.13 + resolution: "update-browserslist-db@npm:1.0.13" + dependencies: + escalade: "npm:^3.1.1" + picocolors: "npm:^1.0.0" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6 + languageName: node + linkType: hard + +"update-notifier@npm:^0.5.0": + version: 0.5.0 + resolution: "update-notifier@npm:0.5.0" + dependencies: + chalk: "npm:^1.0.0" + configstore: "npm:^1.0.0" + is-npm: "npm:^1.0.0" + latest-version: "npm:^1.0.0" + repeating: "npm:^1.1.2" + semver-diff: "npm:^2.0.0" + string-length: "npm:^1.0.0" + checksum: 10c0/d844d71e1ef82904f3e76a0317e8dc89b8a213b2ee1897b4067a6a794b83e8723825715b355383bb13ec4c795ae613d7b2026cb84277ac2ea13fde7593d4d3aa + languageName: node + linkType: hard + +"upper-case-first@npm:^2.0.2": + version: 2.0.2 + resolution: "upper-case-first@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/ccad6a0b143310ebfba2b5841f30bef71246297385f1329c022c902b2b5fc5aee009faf1ac9da5ab3ba7f615b88f5dc1cd80461b18a8f38cb1d4c3eb92538ea9 + languageName: node + linkType: hard + +"upper-case@npm:^2.0.2": + version: 2.0.2 + resolution: "upper-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/5ac176c9d3757abb71400df167f9abb46d63152d5797c630d1a9f083fbabd89711fb4b3dc6de06ff0138fe8946fa5b8518b4fcdae9ca8a3e341417075beae069 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"urix@npm:^0.1.0": + version: 0.1.0 + resolution: "urix@npm:0.1.0" + checksum: 10c0/264f1b29360c33c0aec5fb9819d7e28f15d1a3b83175d2bcc9131efe8583f459f07364957ae3527f1478659ec5b2d0f1ad401dfb625f73e4d424b3ae35fc5fc0 + languageName: node + linkType: hard + +"url-parse-lax@npm:^1.0.0": + version: 1.0.0 + resolution: "url-parse-lax@npm:1.0.0" + dependencies: + prepend-http: "npm:^1.0.1" + checksum: 10c0/7578d90d18297c0896ab3c98350b61b59be56211baad543ea55eb570dfbd403b0987e499a817abb55d755df6f47ec2e748a49bd09f8d39766066a6871853cea1 + languageName: node + linkType: hard + +"url-parse-lax@npm:^3.0.0": + version: 3.0.0 + resolution: "url-parse-lax@npm:3.0.0" + dependencies: + prepend-http: "npm:^2.0.0" + checksum: 10c0/16f918634d41a4fab9e03c5f9702968c9930f7c29aa1a8c19a6dc01f97d02d9b700ab9f47f8da0b9ace6e0c0e99c27848994de1465b494bced6940c653481e55 + languageName: node + linkType: hard + +"url-parse@npm:^1.5.3": + version: 1.5.10 + resolution: "url-parse@npm:1.5.10" + dependencies: + querystringify: "npm:^2.1.1" + requires-port: "npm:^1.0.0" + checksum: 10c0/bd5aa9389f896974beb851c112f63b466505a04b4807cea2e5a3b7092f6fbb75316f0491ea84e44f66fed55f1b440df5195d7e3a8203f64fcefa19d182f5be87 + languageName: node + linkType: hard + +"url-to-options@npm:^1.0.1": + version: 1.0.1 + resolution: "url-to-options@npm:1.0.1" + checksum: 10c0/3d8143bbc2ab0ead3cbc0c60803c274847bf69aa3ef8b2b77a7d58b1739de01efbfbcd7d7b15c8b6b540bb266ae10895a50a1477ce2d9895dfa2c67243e39c51 + languageName: node + linkType: hard + +"url@npm:^0.11.0, url@npm:~0.11.0": + version: 0.11.3 + resolution: "url@npm:0.11.3" + dependencies: + punycode: "npm:^1.4.1" + qs: "npm:^6.11.2" + checksum: 10c0/7546b878ee7927cfc62ca21dbe2dc395cf70e889c3488b2815bf2c63355cb3c7db555128176a01b0af6cccf265667b6fd0b4806de00cb71c143c53986c08c602 + languageName: node + linkType: hard + +"use@npm:^3.1.0": + version: 3.1.1 + resolution: "use@npm:3.1.1" + checksum: 10c0/75b48673ab80d5139c76922630d5a8a44e72ed58dbaf54dee1b88352d10e1c1c1fc332066c782d8ae9a56503b85d3dc67ff6d2ffbd9821120466d1280ebb6d6e + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"util@npm:^0.10.4, util@npm:~0.10.1": + version: 0.10.4 + resolution: "util@npm:0.10.4" + dependencies: + inherits: "npm:2.0.3" + checksum: 10c0/d29f6893e406b63b088ce9924da03201df89b31490d4d011f1c07a386ea4b3dbe907464c274023c237da470258e1805d806c7e4009a5974cd6b1d474b675852a + languageName: node + linkType: hard + +"util@npm:^0.11.0": + version: 0.11.1 + resolution: "util@npm:0.11.1" + dependencies: + inherits: "npm:2.0.3" + checksum: 10c0/8e9d1a85e661c8a8d9883d821aedbff3f8d9c3accd85357020905386ada5653b20389fc3591901e2a0bde64f8dc86b28c3f990114aa5a38eaaf30b455fa3cdf6 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 + languageName: node + linkType: hard + +"uuid@npm:^2.0.1": + version: 2.0.3 + resolution: "uuid@npm:2.0.3" + checksum: 10c0/f2c78fa17645b2da4ed100376cbdf6cf57d67a0b81eaadb97512e8f90bbb3d5a571d75c311f7c5faf25f5251032d387c4c17931b177b91a472143e728510a17b + languageName: node + linkType: hard + +"uuid@npm:^3.3.2": + version: 3.4.0 + resolution: "uuid@npm:3.4.0" + bin: + uuid: ./bin/uuid + checksum: 10c0/1c13950df865c4f506ebfe0a24023571fa80edf2e62364297a537c80af09c618299797bbf2dbac6b1f8ae5ad182ba474b89db61e0e85839683991f7e08795347 + languageName: node + linkType: hard + +"uuid@npm:^8.0.0, uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^9.2.0": + version: 9.2.0 + resolution: "v8-to-istanbul@npm:9.2.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.12" + "@types/istanbul-lib-coverage": "npm:^2.0.1" + convert-source-map: "npm:^2.0.0" + checksum: 10c0/e691ba4dd0dea4a884e52c37dbda30cce6f9eeafe9b26721e449429c6bb0f4b6d1e33fabe7711d0f67f7a34c3bfd56c873f7375bba0b1534e6a2843ce99550e5 + languageName: node + linkType: hard + +"validate-npm-package-license@npm:^3.0.1": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: "npm:^3.0.0" + spdx-expression-parse: "npm:^3.0.0" + checksum: 10c0/7b91e455a8de9a0beaa9fe961e536b677da7f48c9a493edf4d4d4a87fd80a7a10267d438723364e432c2fcd00b5650b5378275cded362383ef570276e6312f4f + languageName: node + linkType: hard + +"vary@npm:^1": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f + languageName: node + linkType: hard + +"verror@npm:1.10.0": + version: 1.10.0 + resolution: "verror@npm:1.10.0" + dependencies: + assert-plus: "npm:^1.0.0" + core-util-is: "npm:1.0.2" + extsprintf: "npm:^1.2.0" + checksum: 10c0/37ccdf8542b5863c525128908ac80f2b476eed36a32cb944de930ca1e2e78584cc435c4b9b4c68d0fc13a47b45ff364b4be43aa74f8804f9050140f660fb660d + languageName: node + linkType: hard + +"vite-node@npm:1.3.1": + version: 1.3.1 + resolution: "vite-node@npm:1.3.1" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.3.4" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + vite: "npm:^5.0.0" + bin: + vite-node: vite-node.mjs + checksum: 10c0/b50665ef224f3527f856ab88a0cfabab36dd6e2dd1e3edca8f8f25d5d33754e1050495472c2c82147d0dcf7c5280971dae2f37a531c10f3941d8d3344e34ce0b + languageName: node + linkType: hard + +"vite@npm:^5.0.0": + version: 5.1.5 + resolution: "vite@npm:5.1.5" + dependencies: + esbuild: "npm:^0.19.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.35" + rollup: "npm:^4.2.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/29be99ba0bec5e3ad50290510ba764b6c1016979a1ba70cf2071be9f1338f27e582a120836222e1fad6efb01c886a8fb57cb33471fadd0fceaa922bfc92bbbf7 + languageName: node + linkType: hard + +"vitest@npm:^1.3.1": + version: 1.3.1 + resolution: "vitest@npm:1.3.1" + dependencies: + "@vitest/expect": "npm:1.3.1" + "@vitest/runner": "npm:1.3.1" + "@vitest/snapshot": "npm:1.3.1" + "@vitest/spy": "npm:1.3.1" + "@vitest/utils": "npm:1.3.1" + acorn-walk: "npm:^8.3.2" + chai: "npm:^4.3.10" + debug: "npm:^4.3.4" + execa: "npm:^8.0.1" + local-pkg: "npm:^0.5.0" + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + std-env: "npm:^3.5.0" + strip-literal: "npm:^2.0.0" + tinybench: "npm:^2.5.1" + tinypool: "npm:^0.8.2" + vite: "npm:^5.0.0" + vite-node: "npm:1.3.1" + why-is-node-running: "npm:^2.2.2" + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.3.1 + "@vitest/ui": 1.3.1 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: 10c0/66d312a3dc12e67bba22d31332d939e89cd17d38531893c7b13b8826704564031c1dde795df2799b855660572c19a595301e920710c7775d072ee6332502efc5 + languageName: node + linkType: hard + +"vm-browserify@npm:^1.0.0, vm-browserify@npm:^1.0.1": + version: 1.1.2 + resolution: "vm-browserify@npm:1.1.2" + checksum: 10c0/0cc1af6e0d880deb58bc974921320c187f9e0a94f25570fca6b1bd64e798ce454ab87dfd797551b1b0cc1849307421aae0193cedf5f06bdb5680476780ee344b + languageName: node + linkType: hard + +"void-elements@npm:^2.0.0": + version: 2.0.1 + resolution: "void-elements@npm:2.0.1" + checksum: 10c0/23b4f35bbeabcaa5c87a9f638ae80862a9313dccbaa8973b0eada81dbe97488ae11baf4d8aa2846bc397d31456afdfd8d791bb44c542f83735e6d04af6996f4d + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^5.0.0": + version: 5.0.0 + resolution: "w3c-xmlserializer@npm:5.0.0" + dependencies: + xml-name-validator: "npm:^5.0.0" + checksum: 10c0/8712774c1aeb62dec22928bf1cdfd11426c2c9383a1a63f2bcae18db87ca574165a0fbe96b312b73652149167ac6c7f4cf5409f2eb101d9c805efe0e4bae798b + languageName: node + linkType: hard + +"walkdir@npm:0.0.11": + version: 0.0.11 + resolution: "walkdir@npm:0.0.11" + checksum: 10c0/c7afabc8062fa1f01fa143f2776559da104050597c8881a11db7a5eb2b88bbcb33d03b7f1df996761970797d4a4b040f1d1f767acb15db0c83e9c71cbe246c0f + languageName: node + linkType: hard + +"watchify@npm:^3.11.1": + version: 3.11.1 + resolution: "watchify@npm:3.11.1" + dependencies: + anymatch: "npm:^2.0.0" + browserify: "npm:^16.1.0" + chokidar: "npm:^2.1.1" + defined: "npm:^1.0.0" + outpipe: "npm:^1.1.0" + through2: "npm:^2.0.0" + xtend: "npm:^4.0.0" + bin: + watchify: bin/cmd.js + checksum: 10c0/0eb5b1e88e10376547171d9c3349b7517616cac49413c446f0d9c44b69a4337cab46ba7211b565975cab8517e87c52a0154f2328bf9847361120b9117c2d89b3 + languageName: node + linkType: hard + +"watchpack-chokidar2@npm:^2.0.1": + version: 2.0.1 + resolution: "watchpack-chokidar2@npm:2.0.1" + dependencies: + chokidar: "npm:^2.1.8" + checksum: 10c0/9b8d880ae2543dd4f26a69f6b7f881119494f6b772b7431027a06a5cf963e0ebc1cac91a3ef479365c358b693c65fa80a1f8297427fa11fd4c080c3d6408c372 + languageName: node + linkType: hard + +"watchpack@npm:^1.7.4": + version: 1.7.5 + resolution: "watchpack@npm:1.7.5" + dependencies: + chokidar: "npm:^3.4.1" + graceful-fs: "npm:^4.1.2" + neo-async: "npm:^2.5.0" + watchpack-chokidar2: "npm:^2.0.1" + dependenciesMeta: + chokidar: + optional: true + watchpack-chokidar2: + optional: true + checksum: 10c0/53e3b112064f5de9edbb2a14973fb3901d9697b24cc70f8531a143eaace2353a273ca25c0ba21def8d3803cfedb8f6861ca1e49e9782257e40d5b5f8f5365c86 + languageName: node + linkType: hard + +"webdriver@npm:6.12.1": + version: 6.12.1 + resolution: "webdriver@npm:6.12.1" + dependencies: + "@wdio/config": "npm:6.12.1" + "@wdio/logger": "npm:6.10.10" + "@wdio/protocols": "npm:6.12.0" + "@wdio/utils": "npm:6.11.0" + got: "npm:^11.0.2" + lodash.merge: "npm:^4.6.1" + checksum: 10c0/b34897f68a7aa64ea98c0aead9d6dc926b6a5741ef8e035a5aa5575c0793d31495624f2d5a6bef7494e3fe5dce0162f46229c96f191b6f1833f55359428559eb + languageName: node + linkType: hard + +"webdriverio@npm:^6.7.0": + version: 6.12.1 + resolution: "webdriverio@npm:6.12.1" + dependencies: + "@types/puppeteer-core": "npm:^5.4.0" + "@wdio/config": "npm:6.12.1" + "@wdio/logger": "npm:6.10.10" + "@wdio/repl": "npm:6.11.0" + "@wdio/utils": "npm:6.11.0" + archiver: "npm:^5.0.0" + atob: "npm:^2.1.2" + css-shorthand-properties: "npm:^1.1.1" + css-value: "npm:^0.0.1" + devtools: "npm:6.12.1" + fs-extra: "npm:^9.0.1" + get-port: "npm:^5.1.1" + grapheme-splitter: "npm:^1.0.2" + lodash.clonedeep: "npm:^4.5.0" + lodash.isobject: "npm:^3.0.2" + lodash.isplainobject: "npm:^4.0.6" + lodash.zip: "npm:^4.2.0" + minimatch: "npm:^3.0.4" + puppeteer-core: "npm:^5.1.0" + resq: "npm:^1.9.1" + rgb2hex: "npm:0.2.3" + serialize-error: "npm:^8.0.0" + webdriver: "npm:6.12.1" + checksum: 10c0/c6c0d9a3b6e149ec00b9c7642fc56a821c5f7ff148569d2704e5b2e72fc10f008abeccea45aeea1c1c78273634f9222b5ae57fd85820a0b2e650e3d30784ebaa + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db + languageName: node + linkType: hard + +"webidl-conversions@npm:^7.0.0": + version: 7.0.0 + resolution: "webidl-conversions@npm:7.0.0" + checksum: 10c0/228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 + languageName: node + linkType: hard + +"webpack-dev-middleware@npm:^3.7.0": + version: 3.7.3 + resolution: "webpack-dev-middleware@npm:3.7.3" + dependencies: + memory-fs: "npm:^0.4.1" + mime: "npm:^2.4.4" + mkdirp: "npm:^0.5.1" + range-parser: "npm:^1.2.1" + webpack-log: "npm:^2.0.0" + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 10c0/f9bd8318c6f356d006dc99e3e46ef8870d67640e43f26cfcd2bb36c9e7eaf64015513f43498e92b532896f7fbd8f32c0710d4489fc81d7a45ea328d7e4cf3085 + languageName: node + linkType: hard + +"webpack-log@npm:^2.0.0": + version: 2.0.0 + resolution: "webpack-log@npm:2.0.0" + dependencies: + ansi-colors: "npm:^3.0.0" + uuid: "npm:^3.3.2" + checksum: 10c0/515b800433da1c0b5722317baaeb05fc185da5a1fde5e39d25bed0b05c13ee3a544aa13844db8590696274a3c5dc04fd5abdd39f38f8c46a4084b74ff0dc9c60 + languageName: node + linkType: hard + +"webpack-sources@npm:^1.4.0, webpack-sources@npm:^1.4.1": + version: 1.4.3 + resolution: "webpack-sources@npm:1.4.3" + dependencies: + source-list-map: "npm:^2.0.0" + source-map: "npm:~0.6.1" + checksum: 10c0/78dafb3e1e297d3f4eb6204311e8c64d28cd028f82887ba33aaf03fffc82482d8e1fdf6de25a60f4dde621d3565f4c3b1bfb350f09add8f4e54e00279ff3db5e + languageName: node + linkType: hard + +"webpack@npm:^4.43.0": + version: 4.47.0 + resolution: "webpack@npm:4.47.0" + dependencies: + "@webassemblyjs/ast": "npm:1.9.0" + "@webassemblyjs/helper-module-context": "npm:1.9.0" + "@webassemblyjs/wasm-edit": "npm:1.9.0" + "@webassemblyjs/wasm-parser": "npm:1.9.0" + acorn: "npm:^6.4.1" + ajv: "npm:^6.10.2" + ajv-keywords: "npm:^3.4.1" + chrome-trace-event: "npm:^1.0.2" + enhanced-resolve: "npm:^4.5.0" + eslint-scope: "npm:^4.0.3" + json-parse-better-errors: "npm:^1.0.2" + loader-runner: "npm:^2.4.0" + loader-utils: "npm:^1.2.3" + memory-fs: "npm:^0.4.1" + micromatch: "npm:^3.1.10" + mkdirp: "npm:^0.5.3" + neo-async: "npm:^2.6.1" + node-libs-browser: "npm:^2.2.1" + schema-utils: "npm:^1.0.0" + tapable: "npm:^1.1.3" + terser-webpack-plugin: "npm:^1.4.3" + watchpack: "npm:^1.7.4" + webpack-sources: "npm:^1.4.1" + peerDependenciesMeta: + webpack-cli: + optional: true + webpack-command: + optional: true + bin: + webpack: bin/webpack.js + checksum: 10c0/bc90202110a341359c11ead60ea09bd5cfa51e2c93004d7e40b7c2f76208cc6717e39c9d9544825cc44958046ada762c78a8cf9848619ea450315bce98228701 + languageName: node + linkType: hard + +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" + dependencies: + iconv-lite: "npm:0.6.3" + checksum: 10c0/273b5f441c2f7fda3368a496c3009edbaa5e43b71b09728f90425e7f487e5cef9eb2b846a31bd760dd8077739c26faf6b5ca43a5f24033172b003b72cf61a93e + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: 10c0/a773cdc8126b514d790bdae7052e8bf242970cebd84af62fb2f35a33411e78e981f6c0ab9ed1fe6ec5071b09d5340ac9178e05b52d35a9c4bcf558ba1b1551df + languageName: node + linkType: hard + +"whatwg-url@npm:^14.0.0": + version: 14.0.0 + resolution: "whatwg-url@npm:14.0.0" + dependencies: + tr46: "npm:^5.0.0" + webidl-conversions: "npm:^7.0.0" + checksum: 10c0/ac32e9ba9d08744605519bbe9e1371174d36229689ecc099157b6ba102d4251a95e81d81f3d80271eb8da182eccfa65653f07f0ab43ea66a6934e643fd091ba9 + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: "npm:~0.0.3" + webidl-conversions: "npm:^3.0.0" + checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + languageName: node + linkType: hard + +"which-boxed-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "which-boxed-primitive@npm:1.0.2" + dependencies: + is-bigint: "npm:^1.0.1" + is-boolean-object: "npm:^1.1.0" + is-number-object: "npm:^1.0.4" + is-string: "npm:^1.0.5" + is-symbol: "npm:^1.0.3" + checksum: 10c0/0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e + languageName: node + linkType: hard + +"which-module@npm:^2.0.0": + version: 2.0.1 + resolution: "which-module@npm:2.0.1" + checksum: 10c0/087038e7992649eaffa6c7a4f3158d5b53b14cf5b6c1f0e043dccfacb1ba179d12f17545d5b85ebd94a42ce280a6fe65d0cbcab70f4fc6daad1dfae85e0e6a3e + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.14": + version: 1.1.14 + resolution: "which-typed-array@npm:1.1.14" + dependencies: + available-typed-arrays: "npm:^1.0.6" + call-bind: "npm:^1.0.5" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.1" + checksum: 10c0/0960f1e77807058819451b98c51d4cd72031593e8de990b24bd3fc22e176f5eee22921d68d852297c786aec117689f0423ed20aa4fde7ce2704d680677891f56 + languageName: node + linkType: hard + +"which@npm:2.0.2, which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^1.1.1, which@npm:^1.2.1, which@npm:^1.2.12, which@npm:^1.2.9": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + which: ./bin/which + checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 + languageName: node + linkType: hard + +"which@npm:^3.0.0": + version: 3.0.1 + resolution: "which@npm:3.0.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: bin/which.js + checksum: 10c0/15263b06161a7c377328fd2066cb1f093f5e8a8f429618b63212b5b8847489be7bcab0ab3eb07f3ecc0eda99a5a7ea52105cf5fa8266bedd083cc5a9f6da24f1 + languageName: node + linkType: hard + +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + languageName: node + linkType: hard + +"why-is-node-running@npm:^2.2.2": + version: 2.2.2 + resolution: "why-is-node-running@npm:2.2.2" + dependencies: + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 10c0/805d57eb5d33f0fb4e36bae5dceda7fd8c6932c2aeb705e30003970488f1a2bc70029ee64be1a0e1531e2268b11e65606e88e5b71d667ea745e6dc48fc9014bd + languageName: node + linkType: hard + +"wide-align@npm:1.1.3": + version: 1.1.3 + resolution: "wide-align@npm:1.1.3" + dependencies: + string-width: "npm:^1.0.2 || 2" + checksum: 10c0/9bf69ad55f7bcccd5a7af2ebbb8115aebf1b17e6d4f0a2a40a84f5676e099153b9adeab331e306661bf2a8419361bacba83057a62163947507473ce7ac4116b7 + languageName: node + linkType: hard + +"wide-align@npm:^1.1.2, wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: "npm:^1.0.2 || 2 || 3 || 4" + checksum: 10c0/1d9c2a3e36dfb09832f38e2e699c367ef190f96b82c71f809bc0822c306f5379df87bab47bed27ea99106d86447e50eb972d3c516c2f95782807a9d082fbea95 + languageName: node + linkType: hard + +"window-size@npm:^0.1.4": + version: 0.1.4 + resolution: "window-size@npm:0.1.4" + bin: + window-size: cli.js + checksum: 10c0/2441284ac08bf0c5885e9aee185cf644252e4a6c6c02cefc005c5c5e73fe7c9cdeb5f5528a9ec682101f30dc3f942ce7f2be1f0945344d16948d6621ad6752e8 + languageName: node + linkType: hard + +"worker-farm@npm:^1.7.0": + version: 1.7.0 + resolution: "worker-farm@npm:1.7.0" + dependencies: + errno: "npm:~0.1.7" + checksum: 10c0/069a032f9198a07273a7608dc0c23d7288c1c25256b66008e1ae95838cda6fa2c7aefb3b7ba760f975c8d18120ca54eb193afb66d7237b2a05e5da12c1c961f7 + languageName: node + linkType: hard + +"workerpool@npm:6.1.0": + version: 6.1.0 + resolution: "workerpool@npm:6.1.0" + checksum: 10c0/b3bf34014f4323e8fbe0d2a9aaabb047c444de757c781668480098a1e89efb1a1e9624df0046b5f18ef0db3d02d1f0341a462655c5b28dafc0e826c5d6a9d356 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^2.0.0": + version: 2.1.0 + resolution: "wrap-ansi@npm:2.1.0" + dependencies: + string-width: "npm:^1.0.1" + strip-ansi: "npm:^3.0.1" + checksum: 10c0/1a47367eef192fc9ecaf00238bad5de8987c3368082b619ab36c5e2d6d7b0a2aef95a2ca65840be598c56ced5090a3ba487956c7aee0cac7c45017502fa980fb + languageName: node + linkType: hard + +"wrap-ansi@npm:^6.2.0": + version: 6.2.0 + resolution: "wrap-ansi@npm:6.2.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"write-file-atomic@npm:^1.1.2": + version: 1.3.4 + resolution: "write-file-atomic@npm:1.3.4" + dependencies: + graceful-fs: "npm:^4.1.11" + imurmurhash: "npm:^0.1.4" + slide: "npm:^1.1.5" + checksum: 10c0/6f6270708f12e9bba36c527da3f06e4e11146681947b00732695f769f23651713e085e88a5e0f8d04f40d131ed1f1f588d9eeade3a0f862fe8a91f4b4a15a23c + languageName: node + linkType: hard + +"write-file-atomic@npm:^3.0.0": + version: 3.0.3 + resolution: "write-file-atomic@npm:3.0.3" + dependencies: + imurmurhash: "npm:^0.1.4" + is-typedarray: "npm:^1.0.0" + signal-exit: "npm:^3.0.2" + typedarray-to-buffer: "npm:^3.1.5" + checksum: 10c0/7fb67affd811c7a1221bed0c905c26e28f0041e138fb19ccf02db57a0ef93ea69220959af3906b920f9b0411d1914474cdd90b93a96e5cd9e8368d9777caac0e + languageName: node + linkType: hard + +"ws@npm:^7.2.3": + version: 7.5.9 + resolution: "ws@npm:7.5.9" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/aec4ef4eb65821a7dde7b44790f8699cfafb7978c9b080f6d7a98a7f8fc0ce674c027073a78574c94786ba7112cc90fa2cc94fc224ceba4d4b1030cff9662494 + languageName: node + linkType: hard + +"ws@npm:^8.16.0": + version: 8.16.0 + resolution: "ws@npm:8.16.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/a7783bb421c648b1e622b423409cb2a58ac5839521d2f689e84bc9dc41d59379c692dd405b15a997ea1d4c0c2e5314ad707332d0c558f15232d2bc07c0b4618a + languageName: node + linkType: hard + +"ws@npm:~8.11.0": + version: 8.11.0 + resolution: "ws@npm:8.11.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/b672b312f357afba8568b9dbb9e08b9e8a20845659b35fa6b340dc848efe371379f5e22bb1dc89c4b2940d5e2dc52dd1de85dde41776875fce115a448f94754f + languageName: node + linkType: hard + +"xdg-basedir@npm:^2.0.0": + version: 2.0.0 + resolution: "xdg-basedir@npm:2.0.0" + dependencies: + os-homedir: "npm:^1.0.0" + checksum: 10c0/87eaa6be4af184c2f93f51906013689db638842f86d2b3e91aafcd26d8586b224be41cf044ee9af04964d66cf05f362a34a3a6617530f27fc12cc36d358225ec + languageName: node + linkType: hard + +"xml-name-validator@npm:^5.0.0": + version: 5.0.0 + resolution: "xml-name-validator@npm:5.0.0" + checksum: 10c0/3fcf44e7b73fb18be917fdd4ccffff3639373c7cb83f8fc35df6001fecba7942f1dbead29d91ebb8315e2f2ff786b508f0c9dc0215b6353f9983c6b7d62cb1f5 + languageName: node + linkType: hard + +"xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 10c0/b64b535861a6f310c5d9bfa10834cf49127c71922c297da9d4d1b45eeaae40bf9b4363275876088fbe2667e5db028d2cd4f8ee72eed9bede840a67d57dab7593 + languageName: node + linkType: hard + +"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:^4.0.2, xtend@npm:~4.0.1": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e + languageName: node + linkType: hard + +"y18n@npm:^3.2.0": + version: 3.2.2 + resolution: "y18n@npm:3.2.2" + checksum: 10c0/08dc1880f6f766057ed25cd61ef0c7dab3db93639db9a7487a84f75dac7a349dface8dff8d1d8b7bdf50969fcd69ab858ab26b06968b4e4b12ee60d195233c46 + languageName: node + linkType: hard + +"y18n@npm:^4.0.0": + version: 4.0.3 + resolution: "y18n@npm:4.0.3" + checksum: 10c0/308a2efd7cc296ab2c0f3b9284fd4827be01cfeb647b3ba18230e3a416eb1bc887ac050de9f8c4fd9e7856b2e8246e05d190b53c96c5ad8d8cb56dffb6f81024 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^2.1.2": + version: 2.1.2 + resolution: "yallist@npm:2.1.2" + checksum: 10c0/0b9e25aa00adf19e01d2bcd4b208aee2b0db643d9927131797b7af5ff69480fc80f1c3db738cbf3946f0bddf39d8f2d0a5709c644fd42d4aa3a4e6e786c087b5 + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yargs-parser@npm:20.2.4": + version: 20.2.4 + resolution: "yargs-parser@npm:20.2.4" + checksum: 10c0/08dc341f0b9f940c2fffc1d1decf3be00e28cabd2b578a694901eccc7dcd10577f10c6aa1b040fdd9a68b2042515a60f18476543bccacf9f3ce2c8534cd87435 + languageName: node + linkType: hard + +"yargs-parser@npm:^18.1.2": + version: 18.1.3 + resolution: "yargs-parser@npm:18.1.3" + dependencies: + camelcase: "npm:^5.0.0" + decamelize: "npm:^1.2.0" + checksum: 10c0/25df918833592a83f52e7e4f91ba7d7bfaa2b891ebf7fe901923c2ee797534f23a176913ff6ff7ebbc1cc1725a044cc6a6539fed8bfd4e13b5b16376875f9499 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs-unparser@npm:2.0.0": + version: 2.0.0 + resolution: "yargs-unparser@npm:2.0.0" + dependencies: + camelcase: "npm:^6.0.0" + decamelize: "npm:^4.0.0" + flat: "npm:^5.0.2" + is-plain-obj: "npm:^2.1.0" + checksum: 10c0/a5a7d6dc157efa95122e16780c019f40ed91d4af6d2bac066db8194ed0ec5c330abb115daa5a79ff07a9b80b8ea80c925baacf354c4c12edd878c0529927ff03 + languageName: node + linkType: hard + +"yargs@npm:16.2.0, yargs@npm:^16.0.3, yargs@npm:^16.1.1": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: "npm:^7.0.2" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.0" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^20.2.2" + checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 + languageName: node + linkType: hard + +"yargs@npm:^15.0.2": + version: 15.4.1 + resolution: "yargs@npm:15.4.1" + dependencies: + cliui: "npm:^6.0.0" + decamelize: "npm:^1.2.0" + find-up: "npm:^4.1.0" + get-caller-file: "npm:^2.0.1" + require-directory: "npm:^2.1.1" + require-main-filename: "npm:^2.0.0" + set-blocking: "npm:^2.0.0" + string-width: "npm:^4.2.0" + which-module: "npm:^2.0.0" + y18n: "npm:^4.0.0" + yargs-parser: "npm:^18.1.2" + checksum: 10c0/f1ca680c974333a5822732825cca7e95306c5a1e7750eb7b973ce6dc4f97a6b0a8837203c8b194f461969bfe1fb1176d1d423036635285f6010b392fa498ab2d + languageName: node + linkType: hard + +"yargs@npm:^17.2.1": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + +"yargs@npm:^3.26.0": + version: 3.32.0 + resolution: "yargs@npm:3.32.0" + dependencies: + camelcase: "npm:^2.0.1" + cliui: "npm:^3.0.3" + decamelize: "npm:^1.1.1" + os-locale: "npm:^1.4.0" + string-width: "npm:^1.0.1" + window-size: "npm:^0.1.4" + y18n: "npm:^3.2.0" + checksum: 10c0/7465b2d28d1f716fe19ca9f6c37862591a7b2a1198ef502cb84e56e952b058bc42d843dafb7fbaf05aef37ea064433828803e8ae9a64ed8340f2358d44b25d4f + languageName: node + linkType: hard + +"yauzl@npm:^2.10.0, yauzl@npm:^2.4.2": + version: 2.10.0 + resolution: "yauzl@npm:2.10.0" + dependencies: + buffer-crc32: "npm:~0.2.3" + fd-slicer: "npm:~1.1.0" + checksum: 10c0/f265002af7541b9ec3589a27f5fb8f11cf348b53cc15e2751272e3c062cd73f3e715bc72d43257de71bbaecae446c3f1b14af7559e8ab0261625375541816422 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + +"yocto-queue@npm:^1.0.0": + version: 1.0.0 + resolution: "yocto-queue@npm:1.0.0" + checksum: 10c0/856117aa15cf5103d2a2fb173f0ab4acb12b4b4d0ed3ab249fdbbf612e55d1cadfd27a6110940e24746fb0a78cf640b522cc8bca76f30a3b00b66e90cf82abe0 + languageName: node + linkType: hard + +"zip-stream@npm:^4.1.0": + version: 4.1.1 + resolution: "zip-stream@npm:4.1.1" + dependencies: + archiver-utils: "npm:^3.0.4" + compress-commons: "npm:^4.1.2" + readable-stream: "npm:^3.6.0" + checksum: 10c0/38f91ca116a38561cf184c29e035e9453b12c30eaf574e0993107a4a5331882b58c9a7f7b97f63910664028089fbde3296d0b3682d1ccb2ad96929e68f1b2b89 + languageName: node + linkType: hard From e547b1202c3c59b7b285d0b23a9f06eac669531d Mon Sep 17 00:00:00 2001 From: JonLuca DeCaro Date: Wed, 6 Mar 2024 12:53:36 -0800 Subject: [PATCH 2/6] [ts-migrate][.] Init tsconfig.json file Co-authored-by: ts-migrate <> --- .yarn/install-state.gz | Bin 1565371 -> 1649212 bytes package.json | 3 +- yarn.lock | 818 +++++++++++++++++++++++++++++++++++++++-- 3 files changed, 782 insertions(+), 39 deletions(-) diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index a000c74986eee3e75f4b1e83113e993a346424f5..fb94055864e5a092904a253c897f5738aac655a6 100644 GIT binary patch delta 1528893 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
Q1`S9Zp|Ev7J7t?wCFCTw=?m_?0 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
Z(X>)3?Npgl*>_2;mSpud#a~d$aW(U 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%0D_i7QN?6NFbtTykq(sAa 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
_YISwZ0=~rrArE?o;;w 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 &hVA=~w+K69BgoctWsf!jl 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

0_vN^$nX1p;)J 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

fCGY`+e$pc0Pd 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%0ATAoc1jbmAE6bkB}?Z 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

d$EVEGjaMJ0KWr& zn_r0V$qQ8?U8oaw>>=GegW-A(WUL5LQ8P;<*e)uh!>!)+fUwnfUU84N?E5UV!$7%pJ$d_593x4WEr#)T4>W@T>|D0h{7Q=52S$RlVMWMj zX&FI#3?Sbl8NPKWGeD7^vllR+ZT4OW42#j>SH?I@LC6;6)z_bWmgleh!EgQadq4f&w=o+2>^nvS+F;)VG&~lBH^29d`r`J_W23tHy?5*0 z&F{YdjBfw%<5Ri$-S=1c%+>tG_y4bNzo_?r`DQM%3=nx+7sIypXh&Lh2}08AnZ|-9_u7FOBZB5>pt|~&Z0g68 z<}I)8&bRK_F>JdT!+r>Djg074ed6?hh%6(pvNllv*~=j1qzvCmX%#|jqg_2nnQFz`ln#dd|>wu21FH8-MP)pn@W z;(Z&RfIN(;An@j3b{tzl7)w~%=Q`0fMpvARnT6dny~A1)Q}tqfPC(Rb>aF^Lgt8}& zkb`1QFiwT%Se|-lT5ksl7gyY9poy7FCUW$DzzK4YP-c-I zIPOaeY+TA+Nm>b39;m*z$BiF->2E)Of#vOqb?46a?Kgv(`S9BIf{1MHi`;IawuTha zN}8VT$a9^0g&kfU%BXCkNZ_wgIs+}R+5zOon(EOvbcHLe7A z>-db8T&G&%m1^5(hvY*9m$pV#I}OxBuUqTR_kaHR%lQ0BX84`&*>6lkIjmam zhdY>oJ|_?8zmd&7cI;pg{G?-u3HO6s^oCh>$y$NEZu#-8h-U16TcN)ha&e0>Xc?n* zgM@VDDLDv3>0A1c(P?`dS^4DHeCNx#eK}sf$zMD-o;75|95`r`D`bx(OR!Qn5P1NN z2Q(}tiAI-Fb8Z6oVQs+bRt1DN-VG+&H84bOSX+GylCP#iDv}pZU_jy_pqcpCsvWKI zdS9mhnMbAGJ3QKdhl3jb>a+OdcThiGzj#+YLJym8d7MgQsUy}Xk?d2*hunmwj%~!V zBJ~bI-Wy5?1izbSA*pjakBb2ZBm>hpki<2GPKl7BF`M87b}|v46g3rY6$bHd-wu8~ zdPG94>q^!8g3VX1(Di}1&v5wLhp}b{KLqg88G>L#fDxvDIQsxtbd12+PfaYcD4Gy% ze~Tk)_EOb-NO7!lFpEVYk(FDl!{4!i5_yro_|m_)zSP@=<<58SiA4(`2H(Jmy!(w0 zu(VKDY5;RaV2NJHTy1%LwS=NVCW)ueMtKRYC}%RFbI#NODVhL_s@Qx3*;6Y7PeN$P zu?3oI9N^i1hs}$^8x4WdV|qjXFrP#R-}!QGUX(w-{gr@ zgDOCnLc$Gd<}l}D+ZX@^76sysAVNm$Im+S=Y5r(X2t;;SNUW2LO%_(F zgi@{bY^$w46`{x6zq!V=Un@V*Kv*EV0`R~xI}Buh3exMUVJ5y7@HJu^O<^kA*8!|g zfrtX0sW><^R6ix+mc*U6PLg4=&vsMDHVvRDE;}_4mFRn8pg-rs-}nxS^3K4E58^tz zleg14gmqgYBD0^goE4^)!;U~z4F`n7oY6Y0;Kp5zwE5B2F{|gKC4d?PyqpftOpd@@ zb5g;7MkED%CXiV%Z;Pav4Z>CUn@4oYhME^TtT_~DOhuEf8*>8}t@R8r|2*Ly-iXRf z+Ejv2iRO+M*T%Mk-WHY@MwbzE__+cjJ^uD+B3HwQwYE~Fm78VY~u?N}H zVw~0E)PN!sYtTVj&@_Uo_rRu*eel}K*$y%I?e1V&t%Sg4IPHk=GHji?fNmEl562aM zG=rbU+o{1A(%qI|f9B3S3e|DDnqg29Etv~!97a#r{Cv@iKoQU(7rTgfW5ofeY zWS--d07O8$zhck{Ikl76EzJgW%LF_sKH+Sv8lzcGb&)2+xX2KLS75f48ZT`$Aml#n zkPi+@lo|i$cTi@Soki7poNmbo!y(bc15DnbdC&)Ql4a1XGTwcIShQ}XmVaD6y?fubXLGsaCYS3&xS#I+ z(*IwVqkPDKx*U;bhcDwHri@$Xfa2d*V}zQPn}Zrb5SYj{=4e6gfg*E&?F5M8e^lCC zkvsBu=sst&9MVJk;tx_WerkvZD%RnM{_uZ)2cO&9r)fWF4(KFxIrr(tw7MHns-`zmIyS*1E7Vq(`@% zuC_yDFD(S#koMKI!N3Q?$|-3~e{1>z_z|g%*6mQzATUlXp?vBw0w<{{h$ge5HW#00 zTuI)~Hn^1uf|IRf_&L{3M|O4t9_?0H@cQewU%q_Wbiemqdp3lz-GnfHkbzgDkCB@GDBCs>>ptJ@&h6= zBH7g{vgoR!S{wuZXZ`^`f1k(a^Z9(XZ;f{qNpmm6$X)AOd#%ij z_kEt};d1urK^<@RytqgJ9bBgGxuI>*tG$4Pgo!P_z2|eSNXEShRz=L%_|ww+zN$8I z!RI|Gwd7$S=U=Jjbyfd(0);f5)n=8xE>~Bp!91 zd5^XE#XG!gUhLPe|Lo=6jsNIN_sq13KEQXq|Md^Q@oQzc~+3Q zJ^c%p8HuU;l30Rye{MVDpbg*~XPh|TKwzo#Y*Wr^isQ`*Sn1lwPWFX!Hx2xl+_Tf# zXy+^#Z+M;S|9gDrxSDHxCC(AALX&ZB;WnQB#b3TZc40sj8pbgYPT=vX5GI~hjQTZ7 z2|lPN8dU&)A*t!};Aq0D_Ax&tv78&D;8XjY2Hb|9i5yiqf2v91=y0ge7;QNzqBpd> zp8lm@UKn=TNHYs2Ng61&@MwK@ltq?-j8C5Z3cI##R*v2HsIJ@kY(vQg1I7uc{$+NW zfEKmW03Yh;`8n!=?@z+vS~-VfB^uX#QhWNBpD*10u$Av(?k!*_8Ff&LECaTv7Ig$F zNV@I4rpybLf4FT9W~mN28H`yHS_zZyiN&mDekBpl$mX+^XE}nT4an_CK|y>Sp|ww2 zCFAy#BLqjEwPPbT#j~(o^F2Eh@mWxZ9Wz3$+z;Rpo2|5kSK9%1n&3~loZdwX7HTLO z0%)j-RGb8GS2(uuoj17AB( zW0yscKQQy&tBV+*7pUE7B(k)NMvdShIq_to*f!vCgXcsR{BdXE)CS0SuX9ZeJ4eI1 zsq@$b?eh`dPyfn~@b(31BYms+8FupQh042t)7FtTVFuT2xCR~1#^wViD8cq*jLO-@ z+2L5~e|c=WNRLM_ZP?ayD4tRXnyQ7Jj0KUhVg?k^fnL6?3dC$1Ms*Gnn>c$F^vTLs zC>}8jk<9#J+xhBDkzC;CSJ>oo(;XnRiT{G_nMvMz|pn~ z#LcF87fF8e@{2cq?s)qTzGy$)Da(UFYPb85e+Pe@+tvY)gU<}bJakDeJLH=NEX@0I zzha4fb|C=^{L%)|B^R%)O=9-I5BUu51-PCrym+IgS?>Ubup91I_}0Lj9tSiE#>&rO zox~T0M*3Ls;ZSU14fb&d@85kbeikpk{L9EDjsm%;Pqc)kk4u88>M6)+14@YGmQFB0 ze^y3PZ*60=>E)Vh<(_jAc|X+~K(bH(ph@YSa$R1Q)0|^4ux@lxfjI_ACZ)!>B|dAB z=;>lG%VGEj#-6UTcKO2QzEm~YU_GZ5u1SbsmFW_E@tZO;sQxmu>*; zt<+oB@;M0VM_C1{N4OyX_n}g|f3Lp1W&Y@^H?O~V`Leb;S-L@q;4hy_y3B z6WV4OX8Ut$ty|a^064d>AlBxrQ^2H{xsx=QE7~ zf-ITscJ=l*ko9=+yc+A#SMJ$;B;D*IKSAKQ2Ftvf5Ob))IDCjYb*V!jQ%=pR@dy}_ zwBCTSLaC~c!q!v`uuE%uVk_HSf1s#FH#z1C1A3Vcf&VUo6DvhFbf6-Uok{H6qU4mp z^I%ZLXjr;@&THb`7mEY$1~P4Hb06{TIR5MV z7^W8!iNB*Z5stB(b;pw`94Vr}nhKvLd;?*MwJ`%8KZg*ESPO_yFZ7YfkVypvaKRB< zjHIFp7Vs?tvjiq!jZD$pe?-az1Q>7tL9qiPc(khBedfH)w*6kdJa_B$M_;mM8WA6+ zvd5>H%I<+5-pXN!7K9Ar%DvHr=qVE%g{2CG2DhUKvPwUfhXBJVkqKvj8Yacdk_u3p zSXh)a*F~wQo*o<18%TgiKhD{E1X^KwS33S(3>-cB68^3h0yrsse{`~yXWQXflmT<- zKBX#!qTrc${mi|I^`L*uO*R83-%{Vh-ddrkJ{ANB?jjHsC)h|7?W(w*(s8I5PbaQ} zO*h5P+aYxC+N|^-LXUD!9WB7D5vU+S?(!%R*8#r=RPMvQ2@1(v?X-k8u#r=Q!8Gp} zyY!Xhy`(_f?a*d5f1L9mvNSf_wKleE#WKCie1HDt^>1F?9ZNj;nmw1>{a^(Bvu}Un zle^ml$K4E7`|OAXp1F4f2LQ=aX47G58wQD?C?aJ+A8T#uF^RRiWD$4kp|XWq>%i|C z;FdeGvqEjLW3`QoF75O=Xgbb7F-ExCI!skQ9Nd~h#dJZY}A%A4Zc@osn}oSdIf} z4&!t`(lMd*e<@`k?b+;ewWiF710Kail*LSXhN)?3&Z#Vtno~+{zn zs~5k1`})fl`}G%JfG2Q!Pd@qzJ~IxW8^_Eid3;i|%O-Mn%}HfpW1P2zDJ1fqfO|@qZ2d#VOki_2idfH4_aoQ>nWAGCw! zgG+dLbkl^w}^ZL!7)tj$gzrI`OJ^I4k-EjIDeem{u|Lafg ze};o7rWq+7B{(7_gBmnlkM8U_YF+CKV8|QTd8Z6)ICsX`fmO8Lu%U}ii|0bx2Da>i zrf>Qx69>!_JlnYyLnYbR(&ad<@m;)b65AYWSdI%|-6$NQ_;XN$b6QoJ3sudn9C-32 z`4Z~Mc+U#&+1cQ#!dQvt#%>~NPCuche;jC#&$iFpb59AV0-LE)E^WE*Y|r2Lo6q0= z{hX8!zI1o*T}E-C|JHl=+u!)~ZaM*l8`ws5-e*(xa7=MU7)3MmBippm)RM@p_BKeE zNO}2mM_8a8R5}H;3S)SVtr+;Fc5u}i@IOdahP3x1tY~`%Mn-l=nBH9_dG!w7f1bAi zx60y#9^9+zNHTLsR~Yok;sVl6CyuwG&`n$&|E1Hm!d5U{R8ae^-e!vQVcW){rV9jE zA%X2?=`KLk=DNMBQqkdOgYq661K?31kh|qQGmRK%`bk` zhulrGp#wf3yBj$yCtP>2)U5&GuO`q=AT>9kz*%_hXPXFy3Dy0izhCv&e;{hRJm^>I?T5Q8KXNZqm*k%gjH@rLu`xH_z{C#>o`Fzos0dAy zNcqv@xz<(CvJM~vMbd<{HGFzg zM*yB&w$XvvD+Heh-h|bm7SfBiKjG^`H#$t8{InGE8d^KV z4Ys>H#tRY(UM(8~f36~6(l2Q>8BPM^{+|AgUw#5o{jvJNUEc<2O6a$o*m@fYhnl$ZADngy*os8QX+r**1~k%c(g|v1ZJ! z=b)IC8)~!W@2u?qu)lWz*u9eVt zgS-x)^t3TX`QdS3woE>Io>T;Jc2{)EXGfLmOd8x2)*@O?PygmsDs=DL6ZtPe?0a5F z)hc5IN}VnT?%-8CCT5IyMy_BNN$BJ7pMpgd>jS!UpDYcwwGMZ1W1(H&Fo7e_U|hBo;vuFsE7H0|4czVbfc4 zd?gN6#<>vMhdWiZr4x1Fo+=kk)knyLt|bTRA9A|@`u(i0_OELH+1+{UgD=}NI`8oz zE9TqZ_y{UbacrT5bAg)M1eGe0+((O6o5F3nQ_9>O8*vLfF^y>~;6zA++NGj`nlIa` zUCophf5fL82&Duv@k8Bbj!UN@zIk`p*<$(AzjOK4bRFZ3R53v1sjGwOBIv%*@@Pdm z5o?fKbGjOsQBK=vUIkQ!)fw9=h9D^LlD`1YqY*>*&OLLk(Ji5cpbGB5*<&}7a5_Kz zJ$#DDChmt9+NY39Z>kAvDKr=AHo|2S)FG(5f5dXonm1DrIvSB{kzwuMcP2Gi3TR$x!I262QzBWQoISFTs?D) ziO++Bwq6-y0jx_3>(vr4fsYCbw~IvP)o!f3{SP4pjT)HW;+Qj?qk=iK5jpZz&yf>9ZF_1-vVI5?E^XT=QJpE7)J{ z_{=?5K*XUHdyVuABd(-nPygXB|MU+(;#=eU$KEgS*7)vM-@Y;;2bV9H)uVMkf7+Tr z{?cu6D~cw2VM@kbJ&s;R??V?`-se?LV>gT*Ka5UF<(~2H3pvp`HqU1q{1h+EeDfx;hmSpv#bkoz*?3x8 zY1N`AW-C-FCxK-j9b#FOe>{717;ZSWEoKs`>#{W`)+7km*_ zcIbTiPw^@AEP`Hli~*U}JlIo##VllCnM;UIExJt?fJ4(|`8<9m);(>u#xJp)$Ro?xYPJqh_d#Jc5{-Mnb`OGo;f2GQ zgKaq64xUKS(x9np6{)s!Awr?pF6{2E_*kNN;%i}637dfSe=QpmgOdhIhrx0JK_x8A zM{=R@W{rj(1bRjwf${X8f6UkLw}X^iDQCTJx-PWol2IO**@Min?2N|axCloWpecN5 z>wv95pxw}!=mAG;Q)d=+IktU3PQ;_dtYc(_BnglsHISnB;_id(P62pO(**9cJI6LQ zy}%#~g^zP3f1*xby?3y^R>bM+LQCfkLY*S*0+(rPc!Bi`qLgbapNbCq(qcLa{ny;- zf*YU!X6WK8#O@fue*k{|i|h4t8&7!fb^FOU!DO(7j0Lm>fRj`P+1?a_cD|C6eL*A= zGpFS6313a3SHp_cB=VSTk2dIR4!S_=VFo*1Lif{if7gZ$nt25VoR~@-!kI3fN>BgA zFE0za8;}e*)t^qM4Db3C#}I?P8@5x!uMU-;zY>GkSj}xE7-0QKNBh$7l538j84n0)OW~YXQgE>Rr^ZUQ)DD(A=`#AQ74! zhpN;pSd){MG{skq4duOswHrhC7K=E^$HMu@e}ca5?u_@*ALllt^3}`z`rA_3Gx{y& zgD?V`5^Ho%>_Iq}j}KP^>s6jbs#L)%zG?Hp%Fc zajU@?qycD$$uOW1VRcr)+xYjR!!qDb19OW(2C(uvd*fAS;vMN)khrmoK8oktI)lmP zf9arC9h{jNV9jF-4B1Ym^E6CCdhXdL#?a8I3nIJ;JKcN8&Pr8@Lmp56{6B@o!?jcE z3M+@;G(0hPk!w(tRAfWT$xdqpS~qu`8!_W_U~L#9FiA2NDJGm(Xxq7P+N}eyqqOEY zyRH?2YXt)H0MQ0(P83+4{@y?Rr$7IAe|zQMdI9~T-~Z!hUwnVS%Hh;f#iYESy)eEV z^DqvwAfMhFc{f2_!!g9$+To`}s^x+tRFVLDM(u1KI=OV$g7>tXW-k$G!+aH=OivQ< zoNyy)TYB=gOmd8YU~k2qT`zYvSfb#!U;Y#aQm1^)iL7;S?FGuqx>)Xe(sIonf4VRp zY+mckN|p^m4$Iapj)XRePz-U>>`e{*|28Ggxy8!;3<%M;_mTbwU$keSav$cb`D5g) zagJP&wQygkip`L2Hf6U;cfB7T8HG-qT9=odmm$VUqV_7d`_ES)U)00@0 z6s>~?FG0=5JO{q>eRZDIhmi+z^s{0~Kf>49`qWt5z=l`Mohgzp`!~`eO;XKoqd$)x z>HI@kEgpT%o@Hy$4O`={tQLP|wfM2D7C*mclkdM9zxZBk@mqsRJRT3Ge?SL=eCmev zf(#H#@xK_LpQ;=p1AqwXdAg^MI5>@fnU$PuZ44V{%Uwi`uhu_y6ct${W2P=fs;3N4tHwQ*vjIiXX7lt! zyxNv-OpeBED++MChJ-R=f7uXM_FUM14#)hdQuy}3<`4F(moI+vGT+@jSRQ@do_(;i zn+MA$7@F?Oe5P)WwWZF^7SXN&-hnu`R|saE4uc)zP$-lv0g1AgSc z_V9-BBHJ%xb&iC@w7^QCf2k;#qs$4#xk+ z7hk`-D!}Dm+;x8+eC3{*aJ0|X2NMqb`jflk+#O(0C^UGNQbe@;-lO_O&qnX8L7#m34hIs2%HK)n8}*7|v0YFoa{d#k%B#z3=d zjpn=v$Ld(lfKsuP9d&EOqi6$Uhdt@sE3VvG^bVj`pUe;n?%i@b#;}3Vysv0u$=O~f zwvsm0nf4KdSHCWSV=9P<2u~W6`h+) zfz@wmqTO^ue+h*dkvg~T&>=S6oYWP^DL6tFmf2P}?V}MaLAs!iitoWym%sJ9^%xp( zv634M*&w#~g}r=U|oW>atJgjx$rd=At2*JP(oce-J;EU__PJsoPZ?^^xe#4rsrI zZzP;+tu$=iR&=bW8CXwnwbvoeni(o#n|xq3wb0#Zw1MW>qrs3$l^4AB%rkA(S)|FZ`k3Y;5XPwYmXwJk6}dinAnvuDr$kO!Y!Py z0?Y!YUHF$Y+E~?R###td;eB*;S@1s5p%@lD;qsvdp$o|QYa8@aASHX8i=gh;jIF1^l@UovX0&3vX*H>?BE>DOm5Vbbgxq#34dH9N|? z=gzAVI}Jg-S_qlQbUMfx@aU!01+;F2!+=ZU(K(4B)5t-PlkaX6gtxJ&%_4jS-4>RI zI50^-)M-QPn9=p{LB@dVV6p>P5#R9%fB*39e*5;tyVrkKU%vdi_i3?5U%Y4bQvCze z{rg}4@Gl^|j#U$YsseUO$qUI|RvVkt*6LA_nqwiky)ntg7p`O!(jEb@AGquXaF^zj zCVORD%bacKu{IGiVPDso7yO*SceFS_`_R*W^UEuKK3p+E!dxt>?@kw_-MCGVe`vSV z#P?IjVeumByI;-uIgz%*5LTlFIZljQo80!O1p_(~R2cS|sKz?IL(-^#BE>=kyy2|Q z@6zy({W!N%&$q9?ezWVv7yi{VCzRu$8`6*3fP)_2q}7!nXYJYnMen^-8s+Q<`@*$a zL)(g2LHCo=~>W=7sXcMk&42U9jGV6wzCHqRVrbDfD`zqvLr4VR$7yUA&MBWWk9cse_mWw-_{l* zb(jzX$!Tkhq*%H)dtEMxwgihnIN*D%>9$pEBOys|idl03{8)h;(;Z#fQMm;C5%)z)&Up|# z?PtxDw!z2MUAsrkwF``BXA3q%XKCl6cNjCMogK8dh6Jtk@zD=gt0x^IAzDK zdY`Tgr_Al!^G&^d_xeq}*k8YS`}*$f`RI%HtoHQ72-wFNsv#K@e|~j!>!h7%5Z*&3 zvVc1fnIm=Y)+WgOU}8|rwWcs?c(AP$d4<9*C`W43_O?x8bW?CPhHsfUQ7-AWC#0N+ z=z5zAS%9bi_Uh;`A!if2cEQAQXqj}MbNZMvArm`et%dp8iWVnn;INLSxymL)@^LaZ z&m5j$j<>PZ5rSPYe}haa2My{*Lt9~*qD(b?u|sY6^xyp$%hy1-L8k$U)mje6p*2H) zTo-|txP~X@TU1PP*Wo^zWbUbPd$4vf!ZLpxVSUcBL*X1iZ)EEiq>fzX9U96`A z_%(J zK~;!Ar;W4P?lK5{m;wk$_9#Qf9;}ktCZ(I*<~QEebJ&zeU$p0NW%IKeT-p36JI9EC z0=^nHzHnnSUu#ZY5LciG8-k`b596Zhs)9AJz_Xo zmVjyN9=yhgwEaN&kn97~n13J>O3PywOr zymN~#J6BF}?n2AO0K9wpAOC6*{{t8CC{}WkDKgrOTrsT%kHnbFI2hf-Pvfx-0@=fD zX>X`~0;Wj_mIX$RrOn64nQcj_a9-iXgLPTOJjsg~1=(7Y(HF&{vqpU=w*TkaXNoxL zM>Jl2fB(R`A_iZ7{_5rV=KF}j;j=F!@j6{_r(bBaVvaZz4xgxpDfFUB=YS5E;hF-d$Qf|KmjO2 zmrWZexgxU;K#(@aLv=#BBpMh@6;}3?ve7y2f0b&zJD?E1uJI zf0zK4h|-{>GZK@f5X_xMdfDuvgZG5LbRbz<$_q#Srh_1M4^9NwFT!HUjs}p@u7!ig z&ANw^G9J@>U?97O8hCHFj+hUPkRYjn$)rN)KxnhyQT#Qo2f9bqR~5fI$Sf>kOgh zki#Jth8VMMYF=Q*n_XyvoTq^iOGI~lkZ%eHhP>+f00JM zRv0vQwK{s4r5BeaM&>Bo1`hOU8CKR**h2}TSVzD;Z@#f}L=0l=DTpKcAZ%;h4+2{1?{;|5|-}P2Z%m_dOiN7*S@pH1Zs}iq#A$| z0Yv%k(sFdjb=E}P3PI62fr`&Kf18)@InC49XzgC3-A*BY{q2GDJ@NIy*XNJM1`s@Hm z?8y9HHTdmIj{wqoHVl2OCBlaoNoFvX*Bg5#FEo?wnoey#4D{XrunJB4U6Tv zg=}jtIfB5$6ufBTy z=H1)(rnYB(;!END&EB@GMO(-@F-DsS1 z9anfAK8ZMh2H0tHf8d;4x4@J>nAwmdBrq?*4U)d`vGAnDGi=0;JUq`J*<{pV(Cl_h zWGhOW^RDgs=#O(Z)c*hbaYog96#Rq|esC>D8V{%st_^}SkLx_EOQs^bG|t7-RjdVi zYpY!|U9TKN(L-mr+zzUQ5FnJ{t1Td4oHh|A_Lx%wa7w@re}4PNiQUXU{Hy);FZcS7 zfB*GYc((hifAXLGYk&NA{)y|p{*!;uANteZ`_RJTdzFnA0YD3!H47{DXx^~KJ4;JW zD{0Bk&{K!###HrDFxY+tK&BiNV^RT~TD^2$lL>wO2{c__BS9Th~N+1RqH@wabR zqmO1>-R^yUfBp8wH~z(4MexyA?WZwJ;V;^&Lln2ry)*<*F(u7mo`ok__1SsNW&JcX zIFHi|DC}|6yiGR931i13iw!R4)sMRPY!23NF=3H^*|o=wIy znFs;Jf0aOF-~?=JI*=e9xqV4>bmA?6-^0=Z#u?x~X{AI@JW&{>HNd>pbCuDNS?o2~ z&pJkDch%k`BGE;{AfVwNK_ncG579U5^3sTLs9t*!$}))?a^F^1UcLVO#oKSbh}W;~ zHoA|#azEL_<>8R7|K&&MA8SoL1L4{L*k@=Qf92ZJcco1cCH9J5*uY}uNgNv@;RxxK z;a(;i&<_B!qrG?BDICEt=j7?VqQ=^w&(1z*$i{T%ZoBOS+E( zy-pb5PxDxwxm>oo?Qy{Ju!(bP@nHe-e@?A&Ppz3B_09V2g9ODinsS<5&wtFn6MYH1 zw5oarrK=yq?vm2B8?JMnl1?0&NDPe&2L;Cq-fiCb1g5=BIQ*cbgnxe<&5`U#WvhTH zeYH6I_63^S*O-3#UbM`|5Tx(BDBuqfVhBbZzad@4063}1%`f8nG| zvZ1~vRtvY)Y-tv_T`~&?d4;5~w05-Z>V4m~2mbckdh^m>z5KiN;@AG?{{9xZeWpD6 z5LS$m#Gq#O#P;JdH>$73`O177R(7&*}#qngM^ghs*R$QR0 z?8|ERWi2EP*^3nnejg)E)7C1Se}+Pm+Q;y-mdNy6Pyg$W@FwMDh`dp^-g4W9>>70K zLt_|1;!T2)wmkfPN}*S(6RVqv+C&7PjiRWsWsM16Ls~bUONna@VjL4G`2>y~D492ubql-m<7@jlnafXEP_=%-=@K`7y1T&aVa;=t0Xe_>FHLg=&_&5stCN{}Ns2oO4MZp_wAnhhCtN@O&C9G8{_5rDU*4k> z9(&=Q2{6+K1K0Pz{s;kP6BuU~NguM{pWpD$!h@Gryc2+btZAC!?SCwY>Y9hcmy?}4 z954r+A(bp=A_!7|f5xE^$i(5teA?{D7f%8qmSD>b%oXZ9{ck_Q+taS&u*AdxzUN+T zKvn^C4>+BH1}JaXhbP*Cz}=mcoq`D#Dqk7YdQ96YhiOeFv(lkuWEYafq0s~l(RekS zCmf$}0AV(BSFkr(d$--UUyc}?z~0w{2(Q}Y3+)inunJ$&f4ad<$ceyJ7Ir028Fc`B zM~>mRgA%8DK9ak#z}9gInNCNoBuB&^(g?fRGxhFZ_h-L(<6qrpS{{ATp3Us@O=kZS zEQ;*md=e0i;k2C;m~+eu-gRU-OX${Q2k9z}J!*HKdvhFAP0gflFqUa4azwGIIS%Eg zt;1nFJ95mDXPkjk5t(c404)LZDrGkG5u_V@VCE2x0ZY_$lA0i%1uo#=x_!oGZU3UM zS-HL89)00{=bY}}ZH^lfgDP#TARaTZh*b$BEcl|De;RfzwT2vw&dDLzRT$31PFD&6 zZ#BE3U+c%)Mj08or4|dGo&nkLSezS&Ps5nnCg$RtW8dCzQjHJlF1ig>bn5s|g8qr1 zaxVAToN@Muofc5y13+IAZDp6HxVN4-x?H>&;zCcy*`_P}n3YR{bnRu?2N~cAk^NH7 zDAobDe}^ca*SiRuimqv*>Mw^9iQM`r)_!FXpt~GGhX$+GF6t1 zy#WF3Ip-$t+tz8yg(4buN_?h*GBg;5J;^=y2!Ne^AKFei8UW_*jJzjKq7R#1ZAP2M<)w0b*Nb-c04y8fgR#I8-B)INe`HJ20XA_Po<3=*GFH! zXYM4Kxra=m@p0Tj9x^`YYo!z6aYnPwPQLsENh_-7SH=03-P_YEYk<8WScO!+s1~FH^9y8iA)%wfOd25 ztqYc{MaOn+^46p@n9jD9{m#*57wcwlyr`fQ1xuI{payR`eo1qyxf#q0d~{x$pPOZV(8M>n_JC-}I-#BVr` z$@;pWB1-R1D94g69zBruP2pwD`y8XfTE}S>dfMSwg`Y%^pSL?CpfqL-qz0q)z?Obu z>|NZqoY^**4-p5_R@r)c@S9P1e^|}c4j7i)B`FVHK9@sv+rkpO)xlOF1(c9l4!#cP z@HQcZ-Nb|Y!d(a$&jE#Jv=elg)cerp4QJ~Fu>cMbk9NG;mG|vy_V>P_b$3?t=u7r& zWf3ntd#z)0cxnU2<28+v7VJ7il`+|fP-dt_@(0M-wJpb`y)ispl_ zBfiD}0$_YuwkL^7Qs8d{*RVSqsF=v6gFLiFdm!=#;k5SUd!0Ubihs9{ z_~XBI1k=7T@Z%_HiM-rqAXKDb$)F?k)Be;_b1@&@AMNOj>w$J?_|3?`>;M|`3Fu2g0^rGT9V2K`PCmp3{nN}1v0D0egFm&~S?uu%Mikk{b zrHy$_=pGT>5(@>&e}zG}m(+(!{tqV2uKyMR4b8DT(4KbgD_je!fRw+%a zFGpCcL9hhU_MUXk$r+7eUF)Wt+R_|Vt0va`2m?Qot0TDs=jd$0eRE&b9L<6t4m=fbVR!P*2;FIQ2$>Z9Iuw9S~B z051tKvqG5(e{`j4@2K1C!0EfAIyzwD*WOrCw&3Ft|-1}e@sWe?>znQSEW2KJ=^HO(Ip!% z$eTA-mZ4pEEEJzW$~NrO3&5kT)D===Zv|73DC}AtIYk@jS7k3C!u#s*fg|I;Q76J! z6@IdPc5#L_&HnU%{0NnDKt+JuWt^YxHQ~|%Gqnp0TXSr^ z%VJ#LfN&s(@SG$Hn1uECZnnd89E153RGg#3dTW-N7+a<_sG_%C*2NjNlFUzAJoR(| z=v&&V{q%qS2xI3{c+b8cA*jq~Q*<8dSfH-X7DC!`(>yX3atVD)5U2z^ZFQt_=OL{l zf8;gV;?<)8tY46OVevs*a+6YW-|%A&Zy?&Nxe?O4T^IumM@!sn>ud{HM}dfMdcjcH z$2<)iU)-&{ma&4Fpi0vx;b5kOsh{0}r6TSf4|Jfa7nTUw=N2&<8yzy4FWoOZLo`53AHe@9dNp8l^N;kI8RWz4cM_}ZyJKheC7!#~{S zVRFLyIsJ&Mtdy=1fZcfRwa_fV8;Zb5%bo*53)zkLs-4Tatd4YzA?XvYA(UfpgHzn5 z9L_E0M%b@wi9IW>LUg4+K2dHMO*Z|)!UkG^Wp-1B^M&wm`#9va@A z5){+ErJ>WuG`!>QFhf#lHxX#6R~wV0b{B-r#~}&0M^Pm^BZCQjVjpAnn0R5!m;vFc zO;w_0m>K6>9VsSIRe&>&+X2p_e?QJ`mizrm07jpeUw;1LO?_T}@f;tFf$IRp9Ljoh zuP1d{S*eQ{!Ns)8LD-PXp0sG~IyMR#_wbE_TaClAp~PybfJGj_C~eFlL1MgkmP z?Z7R&qV;|n9(DxpER#{Fti|kJ2Q`gK_gXX7(ylc6QW+BEIs3XjTPon;*1{|{ARdue z?nhVDd$kCKdbosAaNqXrKS(Qo+B9f)smYLy6WFptA%Io4pp0=zvk%9j1 zl4`2V5VPKG+1~ucukRite~-RocMlT%Oh22y^&olw>mU9g;eloozILl37Xm%#g)SL> zl&^D`{UKr$VEt6RW3Y&R&!)Zaf&|`CW<8jy@r~@6x_O8QNuZI z!#qEK?`6T3>2B)tf8Y!E%x(YSfKfkEzh#xpK#@#68KP1vgBZ9q>eFfQHowAiZrQmN z&9*h#TC@sENo4x03To!LVrbUvRG_%5<=AkIw2K8<m7!xMcGzPgl?70h*ugM9AX;P2$z3hRhu;O@o)B27wj zUeLs~3*Av&0k#){JCVL;w#&VO{Fj5tn%rgWx*lS)btp+~N;JKbO4i#K_2vyE=eIkh z2Vb{mGLv$Xf0>j|G0EZ55CYpRhx&9JLRyibF%5UwSy$%-Cw?JjQM7w3FqgUovVWtE z+Rc3wBqXx+OknsMwpTN9a}Hu8qf2;V`8`R+fM%1UmbYh8t!)@%Ff;JoI?iZuz+>ag zg_Ef2p;DyWVGL;t%k0U02ed2CD0on zORrhwzHT40e^hT@y#3Y7FJ658C4S%I)%||u(O2-NiHBe6rK!{VqI31ZZ96AMw6J@z z%}HGb=r>29)c_R`WVFG1;dv2>S+goO_v#{;(2ORnO|%Tb)xa|QnjMa?sDTYT@?l-v zm!#Zce?K1mac;{4zw)=QfAd^5dCe|kAQ93Ki)C(Z#)}lwdFsrDd1f1jcA1TJL9(M$ zp9MZyC+WB+fb;i_=VY_KV;QJ~JvzAD2GNA$9#)gKTxPE{z^Dhyk1b06E)%A09+Q$r zp!Dq^x6_yR0Z>1mx$8OwZlc?H(#V53^iEYAe*k?zg1_nr#wENLpEjUWZD%zzI`6K9Gd5 zbrO^@WJ)8mC!5Ym;(|POLKY^PJn&kHb#dt0v5GUQ1FGG?{1EH=+)?A6*ET--n*C(Y z4jkqjFn?@Kop2_=M(y-!hTY#GE^@1Z%?J>-i-spzL!!^Sqbc6Us@X7?U>r6LMFGpt zuy%A0I9d=PL3@1lwpR9mFIv|VW+$Hh-;cRg`|hXt^H(q9Pxh;qzXiD28B2hRZ#`|V zv5yH2ThPdEp@RhgyCEOz&f zlBj{2=XoAX^E?j_DN5Avk0eT>$=)xkX`K-l+90!TwoF)c7Eq0waU;HPKj(d)C$Y-U zzGKG*`mB-n9_C4A+J=iX7BN9Gsi6qVQy?QqAgvbe-Udiln}o*08vW$`>FtmG?0@U8 z){pb?vhdt5+mn>)c1NlH4Bu|Ovxv?US*qzUYYZnyyxKv6Fz{)cyz+Re`u6Ui#MC*H zrQ;wKxmFzv7Yw&ZZ)fZ-=mG%3az=(;;GTALg0$hG)7C=wshtOp#ZsBVdY#c)$}~W* zxbKCdwyL_54OETkU~gyRLX@C%6o0!TAyC6|XS5O6QX>kxG2X_b@9^={C(3_316ID? zXk*ptF-!KQUz`9x1c(0GmtVb}56`z}e&HV8aQ*HL*FVxuqmRjFjWq{atXN`Cs1p|I zlIZ`h*{ius7q^*&LmnSYM5mSkVR%t?I4swRBN8qrO_T zu8!kl&-bJ526T|9n=2e#r|r5T+K}Dh8*7aN)Ya|(_!L3{6M)WnYNNd-Eu0k5g`QMi zCv<}Swi2-yC4voQ91k2CIe&TMn%Q7H+5>Pd2EKhp$N|5@y=VER+Cl>q2un(!o&^xx?@ z;Dry^MMV~1;R(v})tW5Eb!;;7Rok>ZX#U>4U9VrAmk-qL=YH9q#DD$B9q#9201I?S zUAgUGghUu0a9PpNF%SpgWBWD-N=iq-oVTJMml=8Mr z?rnlXh&)xl)&(aG5l{wmLT-QM_bwt7L=DJzckjNr7|M`2LfkplH ze_cPt9HYsRc{I?zJUv@qRVS~4S^AjJ5m0eVE(G0B%v799__W1aY5-HaS}6l;k9(Wo zYO_Qyx8L@J2(1J`e(pZOv+LI9&}jSifB)V`6czpAnm=c*5P!l|b08ZYKI@Rr=|~U^ z9MjE5{DD;&^3fWS^0;)leu(yb05M`qGuwop#NXazcmDj4@ftYC}QY80!3s@{CC z-(T|?Nlb4zaGkcD=Gg}wYMva2cZ07_8+={{JIw$_r9~gq1F4xaPw6nItcT3m;J{Yo zJb~NBiDC>LVSn?ier6M>#wWg13+ZTiyypM#?aMD;zB;cTF8a^>s{N`K4ZCocy@CrL zU_euyR;}P}^K`uTz4y$iL~^N(aAYgqv@;L!vMKK^ZL9^mvL_nbcxtByXU< zOjP8BOXs#QQ1Ld(^2&y*^==D`w(XI}fM;{T_m$GAxCfT}#@lzfelm0YOUr0qLoroSx zeLsHp?wc3iym|ezhZg^Hzi9=uLCa5c!nN{(jGh~W#97$`tN3+rtp&gzi@G@kqij^|@ir(k4SZeGsWA%NEl_+1aO|h8P8)*IGx1lx z{l(w^-5-4Hhd?!{nBZd1+9>%>3)~Zu!GFU;*B2_bj;hi0?jsZT+@3_T48wN{8tzrH zt2(nL0}5rpr?{XXm#ww6dkor5!5Ii2Kw7zQZ*_mu8g+1dfy}TiT&RrpEW{Ri_Qt7j z+qedHqvP1V1wvA#HMnIIG!5nA{=x80Eg&kv&ca)*iR&MegXpPo<`?EphAS z7N=%%Tk{z9=necg721Hir(0btLZhi&mY$wm7}HjWw7E~wk;t)ecC&duV1KMJL&Yy+qSPv7D`q4~*39@4`DvME5aa zYmwyH&N+D4h~+pen8;t22OC}y5|mJkPCGNkC54MdhYcSe1hk{jjcTMUP6Km)L?(ro zTEQgV_-M9OBnzijc-#5*cVC}%Bm|E(+i1G`v1=HIdLb4`*sQOFgDS2)^0kQ|PqDe7 zi?Q8$0%KYYu5skg0ka1iMJArpyTfP##l4)i*2aGmMO)ystUdDF{vP}kMPuWYP5hhW z=t8YdF$x1g1fV9C;!%LFPY;I!A2^DY(N>N?|lk z8|SrFj8jAOMsm!??ayC7#kkCa+`E^HgCx@D=*B!1ygxaTz4gu+qfq+~zIH3qHzuwF zIo;}nz_5FVLl&zT8)4cbBau5Gb93K{*JJ@M?i{k`}pI$?i*s(r{zHosQH zUSl1s@#jt~`XooAnlvy}reV@@4-n7K>V=>{OE};6nTQcUYQe1l{#rl17#9VX28U6Nb$j9vxEj z*Lw)Bt{hauJBrVJrIyTp!sTE(76DWfo%z$@r<1w)!eTk?adi%F|G*c&`!{`b^bSV# zd%?~_#tU)H(h}<<=USU-j%1Op!vMBsAja_<=aZM4D`Q&9!KMp5>CYOjzdGE#V{< zOLd{K!Hc7XJHy^<%Hav#Tt9`I?g@xt1>wEZb9!fNI-`K2^C5R%DZc}R=Qp{2l3&&f zES(=fSszd53a;khbZNUVd`S-OrKPjtotqj(EZJ1|M773$K4d@7wR;Vx1~iO6|zi zY)I>=KGT-LhQcK9MpQ?Z^`s&xT#ic_6vx29+48<{8=O)Lpo_87qZe9jiy{tY*mJYN za5#Ka?WltHKFd&Jf!&@ameFqbH&{|*V+_2|5eIwWI02s`?%pOuAC|jKnHj*Br(X@a zR=Z5Z?-?wyq_)UJN#k4_Q#GL>IOBBhaT@l@9Pn_R9xMr5M9#uo8vA`L{DFmd&!NWB zbV}dY5=3o(MV$8f!ViMNmV(znrJbk8LG9>Xh4=R5m#^}x7xlB34+5X(e&wE&g7psy z!tIaV>-z-Gcc_JVa0}Ui1C5RDoO2VwL8{OpPifRm701j;1tIZb?@bn_v*qan3` zoa?nw?>271JSnght>|L7%`Tb@r|zsCn_7(f;mT=$HO5I${AoMf5sBr0P#?OI1ehlL zmsci?r#{ZcnaSqZXAtU$Fw5DIeqd>^oFStX$?PtG!Aaw5Bel;AXm0R#%)L{vx(oWl zkyF3%w%)zSH*fM`%kkVV;ge)`x+AlHhVV|%e}r2l+wz1}bq*Yn`9y4W1GS=^Rf+2) z(r?gz+ibd$DFstw96U{S9K%PQBoQ@QhM5j6I-o@ryj#Ath_~nkF*uCOzvX>sfNU|= zW*u`nYhDeqc%fwz%xk5p3Lg8MP9O=P&9f;6RB_V9FgFu3ob6+jby9RcyPYm;p^zdA ztzeptY9Y?(_#L7|f5bTMzh8g&?#FLlfBWTsgZ=QiU$rM=s{Jme`WZgxHb$AS;qcn% zdGB5(h|2^oj4d_t!hw6n$YnChPRFjYY8A0!C_8{bIHyjOZ<9VO_|R5ZTXf3kjgra$ zv1A&9qsB1UdTrhpmG)?H*>=VxoWTkc1VE;oV`@vcfL3!{6phBz&kDQNqoF(l7v8yl z$&b36b+&-#4kluoi5arud3Uzx-laZ#(T+heXtmM0$vQ^{aN~@LIM9ocIK-Xw zGu=)bNUO)Z{X?JNT|WS;Vg;RlE4NI>5q_0f0J1F|_k-aRHUEsLDcIcdi3WsZN1pr0 z5Qr_Z5yV~BPz2K%>V$T1z%+GXZBhUXYaM98kb^hkc|hu&UHCP}o>-io@GZFd3`kvk zmt&)=1KdQ@#UpUF$Gp{e_};U(+BpqHg@bJsVlb#Wv+`b!JlJdjKute?+9&!jx%-8> zT$78>ec$R&?K&@C6%sq&)SIV@SI_PKlOCjL1<~0Ks{#(w)puAidKmdIgPpR;Q-g%?>HM0D;xwvNjkKr|EC z!NvHY`HD}sI&^WhYwV6i6AuJRDke0r7%1VKnm7h;ZOm6Ft=Wlx$=bH}KKs1=qhEad z&<-mQM8()r=0>~Th_D*2eUR|CixRr2wMB8XxS{xuv-;$5s4w_Ms4vwp=oHtQXZa$Y zP_kNVUOoDB9$i%ee1c3Ww80QxIu9efwabiiG{CdZLX-f5y8~}hhxj2ULlQh3Nt+TD z7qQj1cvpe77hw>8<;FPp3jo*}Dr$!jK4=i1>So%;$Emy|^P}Z(yyQvMyKyV|5PRT<_Yq z^cISAP3uK}IQJ=aWZBKg^t!FHo1TMMg+o0}VEbIs1G3r^CA zD0M;RU~FG=uM^rGMcCbC=n^%C@gxKQeJqr1D;lzY;Q$(-x^2uJ5|iW*(A zs?7{=F0Tla8#qH3EA~QASR|KtBG%+F+~nF6>g)*WUe)P2ay2%Mi*As$+v&^hgl90*h7^f{34-XUmYjthYzXs;Np9NO7#|May`$1k?a^|Y0S%pFgiGEtB^I5Jv{r0y8W|X{O)gmbc|lFzN-!~ZG@++tlRd#e~Vo02qtAQPK}IZAg9>YMB>ny2$n+N*%K2ZK$W5s`uC z9as5GMPYwlY5x1~hlcY6_nMXH1|%3w6wJDmM}e*h?H?HqMS`qL+r8nF*7dZoWk9_1 zE});9;wNZV{W`YuF zjfqUjA(xAdIT8jy&DI9I%?pr()`~Cm12l}Cm8K4cOCHWq&U5?cu2eIxwsJ2yj48@U zvnvn9-Pe+BcmZpn_IB`wSfPx6=F6Um$@-!~+8G4`#TWm@dCP&E*ob|A{=o(vj2=lb zvuibU4sF7cCeOM3^PeEqe1ze~9K296*BpH{AQrD2qTp^>JQwbdN*4`-p<2b40a8UN zxO4cGgXhN1Ngi=5o zVt`@5rpyB;$Ca7f+3+>RGB6g>lQ{j>z`PCWyT((f7gGC&5sPk?b9I6m@8FJOh__bx zCB2Poa?kYp;}`e;?Yo~p!B%_jSMJFT2;FT!KEr(*GpaHP^P2;kV5`JZXtlsGVVpH_ zcI`ViZhwHCftU?%NliI_1L^5X4y;if9}-!kapyTEtP0WlNu3T~v?}h3bjk?ertVz* ze&6OX&t7P~T5Cdcb$o>F92bRd;_%t-LxJrfC^8`wS|B>HF*DLGjgI0Pg@0uQZk7lt zO~e7gX5@a1WKodDxR4PzvtuaPde^&m+;6}A_M2~Bzj^oe#d`gJ)gyHOxnI0r)vhjz z^lP-y5qa+frT7sRM9^R`pW!XS+`~`W+`ZLWaJ=q~vuA89u?UTs>w?sx>jqb$I|9}t z+Jzw=u9)@LQRXhFD4osMv2EUWCk+#ay=iqbd{1GdF(wPX8)Ty!u3h#4A_X{r)fsF7 zup@<6!;w-qI@f}Kjy9y##k4dekw5S=Gp>{1wN7mnX!CZ8oEL+p-5)i6>rH+6^6k4f zKY#JFeF@1HjTchH^kM^ukQfkoOm$1~D8e8AAc>C0sGxU`ez-I@B0VwIH*9yZsBFWcAiW(701h9@>g{ zTxlcZ2+Fqy&yW}+oMK|T<=qj|j%FkJWvAI&I`UCQipViyQ4BZT$g%rb3|Ud?_EQ}K z&aSNN6=y}=2Wzl+&^S98fa7MVTv24uZ8az9BajkK+0 z*iK`Zy_P6{M{j{71M#*=I(4m9i55Ie$H9ub+Kzi9!r%Dv?Yn$6zy0dPS1;#_m#^Nw zd-Ltr_39zk_1v%GQw`z|I_p39?jL*v$xlbj2ZtwYh7lZ^-JH{h4}hQMZr%=vHxr6- zS(uL00o2G9cyN-wRZZ4Np#2a{?o)`y&^`@8_yPleOK|nZ&}C5JKQAHGC4T!Culw$5 z+|dJ`el12kZ6blM6;n63@3>xr--D}6?xU#6%vc>vmJQ)6)bDqRC#K{i?O-d_vNI6Z4?T53>`yT=|7UWo zAzhb$DhA7AtyB-FZXNmuA6p=Z!cU3TGKif5Y_mdjRU2}gjpq--Kim7c{mWOFzHuOf zft3m`A2uOev(@{*`MEB8iy2@WxYrOPcJNK>M!)|3T}*4Fv8jn6{TpD7Nwh zV_~>xkxyy_@eo@(D4l>6>on%J;)&ew^b4<**|%Yo1b-gGW5jcgy#1^1XF|R%@I!~6 zp}Gz7UPI?Xw?)Hdcig|a1I4`5+N_ZYE$duukF{m?g24fWml{Y#37bc>Y*;5zyYNYW zZ7~;X;cKeRvCbZ&bK31+`{Hv5Y5eP-U>eh-OGCbN_C2A@L%XmGXAQgF;7;fQHl=Qu zK${JhEqP`DPu_k3A3p&80MtHmVpUkPWHwJ$u8Kb_ec>Qz1=61CPiZ; zVtdmzvUkj^F=#DEG9wjh9x%J$N8f=kfh_#9#3=Sog*iCI+k zOpO2VSV6_6SKtBRfk}6B#g|rF4ruZK&})g##c0Y=$o&jtj!@`nI}e|@{u54_X9)=4 z;?oXDIGxBc7Z+nc+O$B)7=!bFV0LoW+O|&w#MFG?l8T9%sMSt52(S}uY+$SGvGGlA zVwf*HtY?3?UcY)(>)}2B+^^ab_kw3XoYV*2!l+N=5PPz zbrzB1R(h6MD^yvdOnQR~y^9i1;*pF23A7e zPh$VXe*N`}xAo>_UZwT>H2O2YcHhq|_S%G)C-W-BofbM70+A6P{07Y(;lT-#QtY)H z6exsaib*H;d1fCRI9C9!H9!H|E$)=EN2cbF0YqjqNQ^1cS>jj`hP?_8&F z!|So!&jQP_F~D*ICJ_`%bJ2p47voKDgD1F7MgUWwe z?CqEoAn~ngv*u)c`^ab~_GV{i>1<|JSYd7ywhyV7^pVr?cc*sv2n5V z6^TLv(7X*mJdGAT8N$k~qLg#86XyLgd4Y+x!~~{D-|cdyFk0Z{dqNt!jofB%b*|15ukzu^GOBcO%=AJnfRC*rj%u!jR;B6FkbSUwvf z)0PeD*+C0&MhrjD*|TyLQRo{t0w}u&ozkQ31{}dmp(M)P@S6}AYxF_FUgo>)=pDni zHPgXsUAxyfZEYS1!1OMLUFJkR#@86YyYa@ik}5Y>TiI2P7kH#P;AVG>m@t1OP;Ag! zQU^+CVY7$N7&b7d;oWa$KbRW*`1R`t#Nl(leoxi_+g%Otqj*BG899qbuR&EE4wJSJ zFu@mxhbbQ$kXAx+9XiG-)N3QOZH!r$0m>X>`_61N?KHJ@eCKQl5E0H4anWmM%#f+z zi;j^e)T7`2gHLcDz>^UOKZJkj*Hm7vAglIf{UjIHIk4F1rUf{&aWk?jWTfq4?aX;{ z1BAf_O0O@Bb71fS;siNFEpyUHhkGxwRY`Mkm*c+fb8Ea3jg<6otOXEQgRBHQ!O$KU z>%&Oj;2x=&r$;BAFzvLpE*41JxIL}zC^zph&&41=i#!w+vSZC{E+&5`LR2y^v&!6- zrRSa<^ILeEy!hr#ef2u`{Tu(eU%Dp(n;(7=w~zEiY((BC;%0%Rzm89=H*a3Adi#I&#p_q^11wL;ae-iId$(C!T9@e_o?jb@wWpcGTGE0C_|q}JynVv zvf|<-HeGC+T|M?Wr=da#bj@UJ&@pV4p8lU+! z``*4jfm@W8GcbQsK#pl^^9|O7_lC~W(!EyUc05|OhQL0g;OQu;0cFYq-v|@C0Hc#S zSovy$^n*Pmb>u6tU1-ZdBPTP52EunVUAO=6lf=I9O*O9>)`4BNjv;?Jn+jS1<17wr z9Z*AyNbQ-!VhWS6jhTAvy&Jv2>5pMH!$u&6VB-`7wGE#W>YRUAwh`XOZfGIExP5O14q0>^I5`>M*)}$Tj<{{h;tAkVV5`Qt%cki@tAF|) zE3B`9IaWGoP61PLKXea;{}ti$KKHBkgkz2F9BUt`-u>Ks-v9V>;Pc*-%%1tjxetAQ zlka{Ey3gBpZ=a%LUgSaXj+Oc8oU?U-?=4pO(2jpy^rc3@Cq!pa3?O3;?z?Ic2UZw- zMWCMH2rpDyXF}M+R76?RP+grp!=b)eR5fy{_oaQz56`Xo-MRIn2ZIssSc-fK^X_Y6 z_%Il>(ojrz)5|hTSDd4bTLeCMn@+z-Ss<4ngt$@Y#0PgaWDPc&ovbYll@{d4uywBr z#4LYC;i1vetLA-7^SOzF_m|+G=bJCzzW65Jysd|j=5xPvk7=RtBl_jq;t#(22Y>YE z8Sdzp$Jzuh_Bo{sve#|B(_SPtsgg(!90CTg6~j-26MI236zI{Qh1$@TAXGXX&EQ#> z6@f((#fP(ZWggrYCi*s8AEu+}?LYbdVZVR>AB6pWg2x#h-CLS8Pg`jxM%O|okR-1j z*0hPb1p!}6wz{sIsFc7lQHCYSwy9~^ol!@_U;Ap10zJ-U9Sf2Z?sMY&N|%}mAYn{J z@8>l<$B0Gf7S1JGqd0h94VFD@>~1}_aE*cPa*Bh~b+DAdVPK%U3m`x{&TaPSzT1E7 zY`J6hLo*%JT4~I~ti!OfYSd0?vviaE;#~Hpe~8cgS1;#ZJD0d;ILl{*mDg)Y+!JKHdv zScCzGuC-4ir?eRd04-!dbYHGGL7#s&cG#ulzI)e6@70qw7v^TjpTiwj1kDZ}C1(%- zgk|9qEiY6*x##YC?`RUtYY%3_?-ko}B`ZNQ?6jjmHfYm2G4Z>$QNZa8149_O4WVCL zh5z)gqiFjJqTS!{QG8WpWxbvd`H=@QFd!nT_P7Eu2Cpe?^8Xf#+Or0!;;TvMIZbL*k;hn>Z zcnn9%vgYiSTf;Uyiu;~I1Kp)xOr9u+NfFS+&obTo_zXldtD$bwCJ%72;q_UVdl(o$ zuDQ0jD^O!>Q+O@mWi$ReDW>$H-GmQ{4@F0%Z+#4 zi|a>zd0sxg6QBF_{N;DzAOG&1$Uov=x~%^27ysn5doMOf9*}V&tbkHLebU$?Yg000CGLjLryPAY&MwD_oX?M@0|bVCiFyh0{Q1t!8U zBTl&E4swdX0|eBu_ZNhXekZO56@$#zbfocr5Fku@@yg zD%*FlkOrsyvKrH;lP;kD;jQ&Kj%s(fTLMzO<9R?q;scMoq8PcNbs?2j|3d+L5ST-jEs|1W08z6<@c<*pcw z^U^kT#KJry3On9Sf$1Qwr>)sIAT zd_y@lmhpcsKNdD1_do?_A{WkK@|dgfg78m$9dKbN0_ zm$WX^C0jpz=7!Ci`Z_3>NLgp==uYbJgZX3}MgM<%3ufRH=u+a)nG3^117T1QPX5(- zB;C&_p817);;htvc|`H+@BjSSz2Qbj`=s@Rf#WEcqn9#fQ|;A;AP+jh?$PcJoNLJ3 z)=-#S#yCz0aXO+vR;;wy|${KjYr0>ThVqZ1o5C!wNUlb4(P1 z;g)~ZY$!=Tn~O5G4eyb#sb??>yyJpoI3b-%6Qo+KsLw{dsWsF$$GTG91ic&nRfSuf zYuDK-HayYz8QAmQZ<_vO{p?-6xqKu0<-12B$aBAX-y5C*i7n(+b@EE6NilArTFs&< zB3>hW^ptEH6>Ay2AMDXLpHfv64?u(yqUC=L%!z)OVW?iB*ww5k@32;OIp%xyjo!-c z)NHJ_^!A^A@fomFZ~xh~!1p*%1X2b<;`jx%TpJW`WWEG)2#|+-5Bz=6597><2KSzL z5t*;EH65O(D6(&K_)@GBCby+KPTv=WDGTT3KKi`UY1pTq+kgHkD7m=$^**z(^Jagv z7nz!xpOw)VPxPSGH6uNZ+q@i6!$$VDqUIUMEuLXs#}m~e)Klh3_bxmINjo|qUH35t zimI(?QeXm%|GCeNh2WSlNYrFNTMiOAvWOTWpOv!}wML^kqfi+Wdo!APJ@i4Y?rrsx zMeedInP@g9wp7p`@F@d7pmhb?xZ{5!(xG577tXm<3P;`8wGK`$UC{ARo4I zMs$}|*1&i?qy!x$!a9Dcmw-Hz|It^H9*n9zwV9g`2M_z(My!DMI zb-+`scvb=$GraNAv&V)?%K!n@1azln5`|>sYcMVs#Cjv z2potXIHEf;gBjG4%u$v-Kwos4_`*D}FPauYnM)C`-4$2;0W?pPp{;)k`&pXs9`YPT z`w##H+pG5`DoAv-38I|vj!GDy<^J^f$F7^sPaeHv&;7DJarV?ZxuSlKgJB%3(ICW^ zF3JL<6QsSi`!!r#C+nknt>2^_P&Ih-Tv!O zfx(-nt#ddJV!*t?%3laa_g;Cl?@as_;A3Zi{>M7A8KQqN1f|&IhVFzaFg`VPnGH(T zY*UJcfDNhvpg@hzCA$-+T>IbCAm6@E2wD+v1G&0w8w9|Yx6R$sg2rCEpWUr083bmh zxk~%{S~$>o*6nCRCD=I(O=k?j(Aji4c#Z(!U405Z6v>#n0*l3&q(I@`A1i*GZ(jg) z`@p?>=9ho%``I^RiUQU(Jn){ITjT;c-8$H=itk}w(6u^MLL}RYdRsmluxw@8Hd32W zbuqxkG~d+~ObQfF67qH1(Rl)vgjlQ$ti?yb%wC zi4kP91o&aV{N4gi0{B7{Pcs1rtxd}Y;WuK-3;BO*bS+~CDB^r=4znGj0j!5?7#%0* z5s8_BPrjezKKFg)VUqjq&C73|eA_?w3-@IIknZ}2AEU+m+;984cgS=9I1k5P(7)f* zm-VwJ){myRZ)r_x(RRU7XTxpv(+n(0AhxKvTg)b4*KJgF!g4k@>*lkwE{q`iK>kKJ z*0FyD3}OP}i@%!yj50^MJC))1*+&};qep$Xe&kQpU#7F+=ps0^*O*AC+b{s>Y8gpu zAhb{E<9N710Ja3aPsGV3cur9OFI$c71~ow=+tc-$jHKuo1P6#RD=h%+t{4Fq06b`f z-M>Yc4V;7QV0)k(7Rji0^US3IOYGQ3HbQ?*t>c8z7G|^=(csL*!259 ze}o#yh+Wh3;-u~k?(5aFX=fwqokSyWHw_WEyf$cw(A)4pG0_$_Zma@RT{FKzbP#{x zS-2q@NfzGi$ebHr2DLEVtBGkzdadQR|MrXbt3oj#Ifv`2shsEXxt4U@+T&d6Lz2}H zOM(=|a!eQ}rxLKKJ*VjP-#xISlRDlvrikb^Xe>arCo!$Mr1L0WNJU`zW@2*t@9H(7$mj5eMCON)j;oCFIjBGW;1fWe@|*-I{(!m@BPa(ho;`G!=ai&jJQH>$7>h!n znY~O2%dNpvH*3$0n_UGoPu>eKcx*MYW3h?CF^Jgv6k=OjV6$v=yu{D_-W8BFe8{ym z1=Qhq;^HqgYuadNmf_k{0-k@93U2l&v~1*Gfd|^Q@GzX51)|beZD=%@8M;$OyNu4K zol8lbLpfmlg)fbi=;6!%2l?jB%k%U5NBVQWXy1=>=MyaXr;AVvQQ}nwU4iu6t-&mc z^w42kg(Iwichxgw_&#SIfZ&*}FyW+;KGEXn{|JPg}`R%(Ozj*ih zC-s0JdG1&6iTkhKWlBE6HtBOve*E{Jh3N1vd;+l;$lyG|D?C#{GdMthcPGN(`2xL4 z?xF_YfYBU{@WW%lNEj;*4VLH!vqo7&RLz_g(iNxIash++LcLS7b?mB@`#c-#%h~Ti zC;&W$an!bR@j`zGM_@eAp`$#&8S^~kuE1}r;^wmZRZ3@oc23uhhZ3MoV; zl!J>7m?JFE32S6uEf;z|(J?cU`v?9Hzj^W1%del<<397N_PuQxx@BDt!)xR-7O*U+ zC@kS3JEZ6~E#3|rYe*~YoJTip;CdGwn#e}#!1e@{Dsq2WA*X?(?;g90Kp<|&+vqG= znkj(ME^L72?Js_Ufh)qFydpGWE&;6pHF^Wv8pXbVg_Xf{qBBNe4iO<6cqwmbkyV)1 zFO<5WU_TRnF3cVJ5H2`k!kc?XaW@DC>+Y(!rNLJ*?wJ{CQ_JB!A#@L$% zP`fyU2+O(0`J4fI(^PD9PL!zkQy~9$Fo-amp@!8WzM32a(3xj9xXT7AhfTGIJKO;} z)?~E4NizxZGg}ws?&3e?$RxJh2yeu1iPYkVf*qMV3mJkfu{;GE=X{Ly)nTj&4bOT=Dkht2VcGZ zQva5R=i76?Xb*2T|51D}Ie7o)kMPyrI<6p#ygU-#Z|7{|oSlL^1UVA(mYI0@qHWCS zXtmNIiuH<`Whkv(qz!$pT*XTpCo z2z6EkRSVi@?s?{P5b!slq%`*dDj#UY@G;P0B%TG6a)hszP3O2cYfUm%T8Y6_-C*!!jF6G813CB{^m#j?v-}r965LoOsud2IzT97m$oFx0_D1YjVUcUo-X?`Un+t%c#~le zvs4&%&mx_ao4PF>x(;sKG-#h(qZDjXRV<~w$y#hjz#-uD(Sd3H?NU;Z30X}ACRdKmRQs=!zx5EqpgSK`Wtkf(vd zo9<~x6+2OaLan4@$+JjX$0Ke~19g;hQP&bqm;eKW4mUjRvqgi;e?7zGg7|C!pLBVx zDYyUS(kYEZHAveyvrZawrvr~J9-P8127M!n80h;P?~^B?#FHx~lGXv&4MN|&oNbIF zsCFE)mOiH+teRpRn+uqlXhxVUK#B$?SKa>CPq5K}Dxss<2z3RAt+Js&&zJ^~xo2db zrx{NfBl`-dG+bsAHHu`5=f3bf2@~a1V!E?WS-`nG; z4VcSjF+xad=?o2%R{I=V7a1#nB=^c$+OXh&UQ7ot3yr}DT#G?hHMqkMZxJydSC_}$ zg!V1LMcQfbARNMKnl4O~nU~zpDW3bsx#z#GH?QBm{X@M4MJ?Ni$0WbL|Lz~il>p1vct zXY+m(?~MxIHpVVkKA|0r6;-vc-bY?%HJ~={D42-%@u#3*b~Tv;#K>I&!KR`!*v_yT zgSW0N_~wn(0)IT&K`P_;fcLlY!GR<;YWPC510c|vJ0O)=Kpt?xwpyEtV16+&*`u9) zS}X5BX#L72LZADE``+p<&mFAH8?i)2`4x3=evSM_cVO(EcQHgrQ7g6Y8xl+ zh7x<`|HIy!E$fve*?DH7y1Gkhc2hDw0q>CvkHOue%=7?R_q;u3?&0oPU?YJffb3@7 zQIe689)C(Npm`olqUL#?=gHPaW>?|=k1k{d^pBFUFWTyyLS}8m9>T+Yt#3s`W$H@V zd2|;So%8DD_jgbHqu1=2cGbtl5Pza#=+Qp!-zMAn{l@9icEb_=(&7o39EuKo zE{%@*%{!4?G4TjTNBAU^wg)BtsoG=eoEr-I1%JcSC^*vG`R&>1?(Zp*ZPLeS!=NbA*~m^4&@Xu$>Y&1PZeyv>m3lgc zaRY-I&7;idY0P$X=9Ck$iVboJ!JkSNkIrXZ=R8>;KKCVKawtwun{^pSMU@X$=E{~-^krJmJDx3o#t_-?adBtRM^p&4kQ1p-hymR&klsEAx*K5jZCFA zL8HE;gh#>|ZBp{GQ6h^|+tWYs84T|YFKEm*4-S$bkq+&aNG8F_rNIEOw(N_8R~2Z{ zq%#8KnILHFvK!`Uc}5S&3)|M#`;2Zo7k{DAGY`02&6=4cpG5Gp)gXJKP zlk5mwR-HP~UqXsWql0f=_HhXYxqq~KOI{j`u%n2^8nf-_PyghF5Q0#DVH4fNn8gp= zG{W==8Qn3D@kCeO`|K-uqk2d>z1;1zj;jROVlXBQPyZCI0;U`|SCDA5Vp&t?h{~vSFtVVHIX^=L&3tO|p5z!H&3|Q}CDmf@ zq%%NJ+C4)gxs;rU8be3W;3hXhQe=*aJgknO=fd-(^7K#RDyk^$?785y8G=2uH^k8o zx4Ctc@~jRbPCwL}Gs={DSvaVtK`7$vl`T^? zZ?v1|^rwI3T8n`>-gRf&+~z<+TAPjWLbE^pvtNJsw!$#sCr>gm1xfcny0X|3 z7%W!Qx+bOC)SF|ZFrtVAnXHE z_cCcbsL5P-s*XzW#Zfw~uVp-43>dP85i>jEDD70kKzXMg`^C^*b9;h5EC zj&>4hl5^Db3Am-XC4Umz#YQ4db<8d?l7=(sS@Q~aMi(4IZ%A2eG#uo1cLdE*$J-E1 zrHrIEakaFWwnxLK|BkQ|edMS-3&OM{XM~$8%UC#C9LSBydkT%!=bD{$jd`#~q%=b| zO1~!Kl|uOZNefOR;RxWU3E!l$oU`vum{3{I$+-i4UzI%bE zcR~1DXFzKRRDX4}L_X-$RS+o+8)wEKYqq9swS`XqIJVB{)O&Mmzjd&)jRw45UI|K! z2M6>KWDYolYAGtyL22L3?z7=O3z8T~W}RFz!zPxOB)jM&-euKsY6sJ@MPg1m*K`@{ zq=s?XBE1a%OqRJR-mx{FAq22iPC>_ z?OpMPvSSKdi9tVR zyLCI;qJfZWQ(B9lJ?y(|jRuP+Da+{&okYn3>}TLl^31q`K~#y`#D?GC)ab=<2QB5^ zMi=I`Efk$+lw(i;eUTX7GxD>0pgjabTwc*B0l$niBvA*v%2V+zzdF z2u;UWI0!JaN8{b$eWvIOB+RyMi<(DY&MiaO-`dF+`PaWg$M4OvhvhSlj^hmXGu27f=5koerj0Mb|TId-l(2WR%S$4Z)QlhC9&(0KL9E85rr@%hH<=@xm^+r;e7 z*BrdZUJ8{;M>4V(2UR*Fr5dDPsw^a&WPjmsL`)|z_fH((d(YHcx!xMSYxQ0jBf>}l z4$M@86mPd2+r>CBEE?--$xRpn*TQ)?97tywz(H9D*C|=htAy&&%XN~h>Rbk^VULre zXC8tKbwH$2{oD=7f03_Vz4&Y2zj=SBm4EcgJ!5><8{@NniCdQrPSyw==@T$_*nh@H zN?QmgZ&1ua9aM4_E=MrDXK$RQpHF=@~VT_KBB&kIc2FkZn zXtmn&EKa`Ny1-ie&{lGUL~mNqmmn+U%H`?WkMY5{Z;~L%afA#W!3}dBg}wP;U#oJ7 zSczg6CGAd#s{5vu=>0Q0wiA&yeSazgV}u3EKKC)1>jWI6$d27q@#q{iaTPygZtP|>zmOc8b5e7NQyEq{&4efw<2 z3pN(QnaeIRNS%$ecN=?l-+TG=Ag;-yP6Zbe{!1* zxA72ZC58IARYQd-aS%C`6(! zNc3EJ^N?2f>aU!LnSuOV$DXG=p8mDZ@DV7TK_H-xvH)}-35vsB3fsbngtggb3tL{C zvid|!QHsXF=gwjY7*t`1SR1yM+s5tiePn_~xIsQjVCZ3OtnCYDHVdJ_Vz zQLZbqhDARjLx1ou4ss+JdB-QcJ1uX7;f-UU#>ODtCpFDzPC4uBnP-?2Q|l|{^o>1x z!h&aee4P> z^G;)|MQ3V_<@3^w9E@^uyTgsaS#_qzn0*b2Y^yC7VShxs<4hQ%*L10iI>5fJbIMmIGP_`HrIO_V9XI;PWQb!$A9bDeQTmBU4XcWdqj zh8t-3tOx1vwf9Cob0Uvv)lw zs+SOR4O#FZMCH@p{wtsUBOu&A>^v;!Nmqk?x zW^EroD0)ijXdIrMY!2Fu4+?cin0-TJG<2NVHGe0!)Mk;s_0~Kqi_uNQXv3@p5p0h; zT7pg0YtBy6Wlu9<%IkiDy+wT;>6p4^2uLW{gGBl80TC$%$EMMNs>klLcJuOzmd$O# zk~G?iG3!>R{nKNwUcK;_ukYL$k6yQD$y;(m-ujKBNb&BOa3H~V9%zq7*Nb!5@%O%3 zLw{uGLK`sWXPi-}j8+3}tW80K4=z?aW7pEryQUfMGd8A+3-ml2G%!h6+GnGp0jKL$ zHguHh>EFEc0gysa&j5D4vzWoH!bkJMW{!}<(bPxy6+NJxVx!8Ju{)zOL)Vklci))e z!XbJqW#P<~)Y3qqJtrdV85jWqxJfc;fdu})mSARnW z>nZ5B82uQ>IZX3(8XX8e9c#p3GcGk$`jrc0u@6xYm&n+((zXn)JGiZ+0cXl2!9cI;cyq~(fbx@{~(K;lVBZERYQ*-pEg9C6}Yl- zL~QmV!0jAIe_*Zm(4LyX>aK?oL~~*%#2dmsaQ0_tjavY0=Q6HV4lo{KSioum6KLPM ztv&tiudmh7xufYq$UV0cMyGt9t*OV@DT{`qdD#l&70ZIUe9ax*%6Ds3&VTEW$E6d8 zXuSNi33U+Hhy`L_awO(p2l|MWqXKFu9TiXi*4Llj-5rOZ5948@Cn_367%2`pKu4_E z`jG{*7F~9E%vmHiRi2Z>*V(d?R*MoGkPbS%G%{3+jCTuKTLV(56MZjGqrBwELYImy zZpkWL*z*jHwrk`DIVH2<5PzH1p>r7E`^`~#CH3@}CBP;jbKACzp}dixafwSXY4YPp zqNhbj`OB+?BF!64Mm_qBQvlBul#}D!wu}Gpy!qB&zRq~@?)}@eZ|@>A9=v+b?$~;> zV}FY2(}G=i>$U49R|8cEaKAaHf(17lLtY?Mvt$X{d~4E?HDRUE)qe~iKScCx&>kw6 zN3Q~vsH1>U2yvmSt6|)lP9B{UB17MRSUmmPpTRT}NTI@W)|YO~sn+%mgl>^7jD+S~ zYcIkv#Q>uqCzjC`=2Yp*VC$h5)FG`!fl+At;T({I;YYwEw-Gi*YqOZpKb&%DE zU;O3|{;otY8s5d7LrV=u?1Y>(0@r?Ajcf%>^7~V2Wwy( z%5+=2y3*i4F3dP^k451NmQ5xAe7ba^HTCrGe1-?#*5nKeFfPn@tOig3W+T_3vN>&a zLSqA}Wnn5>>ns$d$OQ$+9W{ILflpvIh7E+_)9l_R@_+UU2U z>(pq+v~`eSDu21-A0EJDA0C)gsH-G(CC2c$D?+o;^Jl13wu~-TM!wy##B^lOffOET z6kIe6&9EBTKJeW@is^Gmv`me-ZPos{@7}$-gCak8#h&@l?~lA|>4Qe)R6G7Lpc(v8Ri+`dCc`tIT5=r+{{CLG&7Nc9U zXcKfg6@?~3WI*U z<+ZJHxLSw6UuK@d%y@tnU)wwl4w7MkEJ8#qH#K6eL8NvIZu|Z3U%$j1v{%o-ksrNu z&nT(-O@H8F{}LZL)JK5C=$SPSf&r@4@K)Vgmm#p8S#z}3yA9ow7y!RP12)nOW&9U& zD{_uO%5acZc;+5^cLb>uJ7z54clA=UHFo1l^pN`9I2xKulX=o6Cs^92O`Hc?cL#&7 zfn>JI%wS56s5wjm^%qNy#TW2eMe6a?IsIIFCnOp z18wECEToD9)9^-pIe5#v!P(N*3gneWWnT3%LUv%ISiHzoMWV}qVvW0X4V|_3xSe~} zKz{~yA3XqK9&JEHGcJ2-k~Trd(u@K@f-{G2r)IS~Erm*y*fCC{b^2-*@H@gvLF%!x zqf-x(H-gFycE_BqKJ4JKv%BkU75Tev{>xWy?f~46UbVXtlD{JT_0QW+e)z?g^Su3P zE&sw-f7xHY{>wl7_|;#1_p`t2!-2-wH-B@N9pS3Yk|I0iQC+qhwP~;dPQ&Cd((MpW zO_R4G>_4Ptg$2@=T%s&={E18u@(+3t#8iV zf>F{U1`6^gy=>krj`Tjz`M_+>f{|&H;0d5U+&~lY4g;3YXtN^^32ib_KOI;|MSp)~ zDRwvSvmzK@)?SUrpyLUf?UELmN9=veR#u&|;7^B~K0RQQ~eReiL?y!qZBr_Pm zj~nRjKqPt6KstMaC7jSDB$Ktk-tWWHp?ZnNIO-?b2aYKUa%WU!H-|5(maT(X2U49+ zLt0T(Hb1?ZOjFSL4ONGi1S$?Qw1uX^a&_uL9+_y!$1ru%oldZa|fc= zM}diUns!ImWe95f2CiAM#i)|gI2Qhm#{sr03QE5zkiC=P%pvl z$II(L7KgMYR+!bWxm}39%E9Q-TgXDceHSJsJ!q6FK-}z~~>QXvzw@twJn3G)gJdL@!^bRo!fhGaH9_+t^7wY+XBNwQMyVUZ0smAtoG{u=uPP<@ZS}2B_4L_74Y-L z)f!)Dq1H9u$bS~o)}#pp1Oo1-l>5`a_Zc32MBR)vl?T=AC0J<3fcFAe@LV-oETj)@ z939jNfmhaz~prs0`T(Pi`U=XjYJ>4Xn!`3{HL!k+7QHOvkYW^sO^<{ z$xM-zwsJ$Z0~!Vgu^wA%SjJ3%voM_NyA2~(B+)gI^1@wP{eJ-b0e((}L8We*2`c>dShJ8nfUG;f zy%#>bc} z<`#5TWYx~Hwz(gU9knZatMQ@59@^lei!<1*O)cw4;%Ff3k46MKLe6z<8l$7hdCE-r zHh*9s`Ub;k4h1B%g8&ZzSOblHF>2U?CM&!I)(ph84xMLcj%W@t+w%z3DXL{i6+o9xMl}o6 zDs$qtOLG7UCnB>0;J4HH=|8xFP6`5HMJ5UgIg?&aa)ugh@OLIsNn4jRz`_>%hN1wqpa-e3JP`ul5Bh_sLzE=yV`1MQ@F4=YQMFt2Y+|~B( z>c>u~%4{bGnYM5YO5M#5c+|Q4EPtNJ)B!Y-0kLV7M;8I6m#bybx@{xwCXJTDZ>-R# zCUO*;44hIaqenOGb3j!nBNh;gKBF_NS*n~tHrrWkQ5_gdkly8cCkg8H?lVpvqt-fD za~qn#m_@W2G@rMH)}K3e?#|Q?Ua@D!C-N1|kH#n0FTS`si<+bF4zZO~=YO0M6Zu3f zOG+#^Xd|u9+Uu|Yghf31)?>T2iOB-kELU%WMB*b}2QI8ykZOXgo~VnUC@n%h-{Afs z!za|;Z?!K-|C54P)khs>X~;cx#ET?!p8@ad!QP$Vw=`sxP@K(6PuSFJNZd!?YvSjP zoeDIrwxX}YLz_12KO)DDc7G(>>VZ5qWa81eSAD$8AVH^yFdmn7$-QyH zGfbqTyCBYP(;*1!7NX{}JCCdF3@0Z-4ylD|6XGKrJufe_YZ`<{gaok?;n43U!v=rt@E_Dnj?oOY&Rh0 z7>2!VYv5aAC?gY*vwti|2=Ht);eX!U3nXQfG&XolOdMvD7-Oz|_EKsX;3KtY0O_uL zGGw{jiDDmpIk!&=*7n6Wzx?hQ_k;pGKH({c4lK37ItoSKGE9ET6+sxbWF~bMV7vgm z^rpPd@YYx`SQ%RonbHAm&1mTCNkPvzwx#y#-w%~T=@HI8uYbs}=KEt)%qx4J@7{k7 zz|1I8LwB!mVn%}rSgvT&P&y#wn~+@=hCL#eFk*{+px9`uui%zoEgJ@1vdgERiW!9s z12F)YtztHXvBSkT4eEUwU^)SQ_^rn#u|xI=I;Dz_xwjxz8b0g+J09eu)>$ z5!FhOGA6LqfPdT%&k+@Tz1%VB@+ER~`K~T@;2{m6jpbh*UJc^Jv3t|);O(a`-@S-8 z=b0wOqu1@XPG9xwYx$G&>gBI=E{@I;aOOzG3I#kBHd`x21f>L`u?pG~J=50!gkQ@g zcjErm=*C>LLubtDyh6^3nrG6kNr0{MgwZ}D8O)-w$A9tVEoSjyyR&%_2Js7dlyKPj z!6DNI{KinY(H;x7DqyjePoR|X4a1*A#TOd}RJctMfRP<>gb|%Uni;)=GEz9d0q5TH zSWE<3Zz@xCL(lxNSN4~F7dPwGOaE~OT<^X@zwB-X{NUAlrf<-1Oe_79m{wek`!Sj2 zzzH{a%zvce*vyDsM@DE%6xWc0*x8(CW4@j_@$Pk@-cJZ}=(YO-brG$a9F&XK+(n3x z*$q?{+*W)u`d*A&`@xY<|H%i$?tzzes-*BjV~DB?{9k)|1F{SmIn(F_*ZI}> zt{w2EACEm2tidoR*RW-5UDaoc81u}-;9L{KiGPWS6-HMPa0;&Ur~mZpPam^%%6x?| z!;m}Cz{T8btsV{W4g+TWrn5sWbwEv?wTE?C@TNqsoou-|wOd=4;5F9<*llm3RR}=M z9GOxw9ZGvnG$LCYI2Y8d@MpjanApJ;bF~QD1!{*ShU6d_YZ^@bSy1F#pLGzPP6h%h zt$(I7h6V&O6P)C*1J-h&?_CjFHe^2zV_u`MzZHcy{p$pR-oe8rnhL zCj*hf834^}euQg*SJ6kioL-19)wK~$%)LPN2$%&*mbN+pQV<$Z&AlC>wGrtyklol+ z&q=sfCVuUJqXW}go5oqs=CobO2$Q7M>9*O4_Uvc+0aVF|5ue=9W8|Dn&~syh*?;0? z7*Ef^SI0Oq66CT#gzCX92(}@_z-$RO@&sc%hw}UoYwn|!AUfQh{%cP7?kBvv+D2ZnsDB$?-UalLodqOF&F$?lkfcqJNsKfCg1%%@k{2M{ zdnL0@f{)yR$v<|WuI?ykn^gs=Evfs$ zIT#@6*7ow*7Om9@1e~$aT5O|MZbNh7HVQ|OWFbIpWm^bZK&TdJ2aJG_G&?;#;Li`8 ze9-O2^Oa*Ie7@e`RbS&kV>+5$HfMweD3bpc!mtEkg5A^%acZmj*&QzCy=L7ZC;sZY z7jEy8=k4?M=yiMM?8G;KG=KgQ_1Wa8&EfNC!I74%$fVF{BreSc0zKADy!~K_O-JfS zwV2sz2OaZ;!Bkx!N=CkvccI;SA@oY{Cn$_(pt1_|r154qqwKButru#!r(@f4$qKaA z7`kb0hAq#=kOkRdYeHoq1BfnBmC?ay+$@}AiM+4!QHUx%hC#fqiGP4@L5{|d5CE#@ zK7wG%i5(kT3gwvjzW zfhJoLkuE!DxT0YzeYTpi=K|Ac4ArtaXX!~Oi%V+d$!o%Z{tYm|hlV2XN2a5o?}!*0 zvzCI7Iw`x|jwIskAqX}$M|gCsZBSx~%yzd=VL0&uhg=g;a51E@o?eP{>!uXrHk zo+gu<+lvs0fZ4+Ah{ zb@=H&|14S4()56$gaH(l$}Z&dm2t_OgZimLdQ7*XB?M8GVW#OTf#t$caWUIbL+qGh zo`Ms&D8dD7F|C#?r4ZbWiJ^lB{?JZz*3^9?=K0PS z^61OC%NImzyS{(*qMm)g^IU;-5a7yeiGQ>PrK=|pQN0(m(Ameb6(>T`&IS(5;Sx%K zdOc>=7UENS2q> zh=%zTnAi~2=9{1XtBVJ1&5>Gw`t;+Mc1SF;c0EKsPP}I%_dk zEe1U+ydUdu2E&MW1&E*_;UJ9lCNvHTtJdtiwE!b+I!FB zY2^xs^3-tAet&z#5kgwM^UE9FRW>B-g?waI3XOToTOI?G2w4Ih*!CC@GqhI?S8w?LkRd+U4GYBhw%VP-(-+o~QL*#pcg zYp!zeIY-0_DMghf8qmGnrb3Ue*7b%hv{EgQDK|!M&_TJtt=Mr8F{-v?AtSYeL$t52 zlltZStqt|7)H;NKHvE5BV1LF137O~EfRL&%C$NS|t&cu5U2=h^zkQB#%L04!<=m>g z-`jIHa~}{M$3*?#ny8LJleobJlpD%PbhQu641%_!Gv3TnY^h)X0}GE}8nt#}!928M zHz;r^03)u0{KehR)OBJ}B6Vj?nPVPAg?xN7`A?C&)=xVYXB1clrGEzK#Aa~s&l#wq z#>``bs$^C>7#D$m?}ki+L#YR0f@{vSFg=vb)R(dX50#qB$&pnt5S_hn-Lr~{0DrF3+S7mcDNp%7-pmj0 z!FTU}^$uur?mRR}1$$E*h8@x~M?6W}(J7;cay z23HmW(t2%cNPlHOzQR$$g?D&mVzjBnU%rxGr(gW!hhKaGMs#Q7ICespE^+opr!a(VjD(K`p=${7hz)i=gR0!SZXTJs3=@+j zn_?f@#(PgRWC-p42}k{sP*_%;{)ewGRdPe9RKLK=H5(yg2n>i0uQJZ*(hRXPqjfeu z))s7dG=C5+wR(;|5pwLEwI2u&hXn$)(fVvhGITgTHo9Xjg6a2o%nPc<=2B1p8ARN}3=x5qcB$RxnnpLPfl;^I?YvELS&* zjnKr6-lJOE9k@O6=6MJj?3B9mIz9MuZeG~G?|(-;SG;_i=lz?vzkDtd0WqL8TDCSM zy($hyFC~>o$X2*inh^MKg4~7E{eU<&7cS`3K-Xp9L>nE<*puKa!RC3;-(ygV8E0y9 z9poO0ybNHLy4cQs+m9jSontNG;1X6Ea}9(z(Gl)r#j02cHUM3(wJVRTyb4{TWb$d) z(SKw1DNss6@4+L|I+3?dU~kiM7I+y7DF_quPay}W&eIrq$UW=nf4brnJ;ACLZPf!} z`Vkb!G#EH5BFHX4bN zB7RIKFP?acxSx3XpK%pJeaq6d1Mae>jepSf50H7Y;Eqh_oR>{QY?@(fCDTC@=T_OH zADMkqLP2m6b^(Af6U|x2m)R+uAsm(?2dV_@Et{D_@l~Ox|K;nS{lO=fZa^A-_ADkE zB1eFJJ8nDv_W8}7Na-NXKwYAb*UT}6T;|P=11E>s`v3_9WaHp^|TGSR(QDUtYQurSk7vr zO>5dqIxF|y1t*MEd{FZs++;LhJI58bW_I;t!^Q+?aUADc-qas_@VC79aTmMQZ#;PM zp4F$(jXv#DblSNgv=}6Z2Cv8t;eP`h%+$GC2&*M#XwEIPht`2NZk@QW5e6?D!V8hQ zp!*7JuOg(DjYK2X5VhRIi)0~@MlSQIZDc8S=wHXv|N2Qw&)eJjvF*b!5bL|Kwb?T1 zEMU!iDRP#liCci0$ZI6;9_uh*>+U7U7n&Iwb3qg|hqq;tV^d>MIno`u0)JZ>N@;v; z`efuz<6kNZ*`J#0uxNgj|Mw3_YT3;Xx3^MH5rJO zK6u#S;FSe{EwsgkfAoYWl4`+ha2K1gZ8b0i6SBz5!+kqec$?p)y?^=on>)nhgV*g@ zeaX1dmwXCP1mcTC_Doo~2!G%DTulO`FLE?)1Z_GW6E=<2i*#+Ap7|_mv3qOSTcGti zpzgavuiExr2if$!j!p}|O3^vSY+IA_1c0NyGUDlf`=oEfuiep)Uxb#N@CP8ort!71YO+s=qi|r})sWgA7?+rUl>_uzt6H}KS2S=<%=p1M4MvII3L|=WLdCLlV_x|n6*WbK&m9M{fe`mmW z^xFNIZ4J#au|9JH9e;~?7V#CV2^B|REn8=XF%UH=gYK>jJ*7}wC?z>)TQ{*WXtd1G zm9uLzl$p)?5nl6@j=>31geh2j6NoN$xywR(^yS>DQ}B>{_rhMkd-+_~HFc~BpB{3G zFsRVorxOGuJ&sr#a|1MdsA|Ek04EV41gRZIy0_!d<`yw`S%1dxS-I)(mfd|DZDK@9 z_jPn3oKf~>M||O&i}~J!(LRTj7y5?gJ*{8C<-t&>=-hDq9hchNdA4dix2%H+Xm+`x zj1gwlK#0YNnd`FP3IQjhO${&YX`s=`BBYc$res(IMH{4iSdX;ZjywoE2~#AHQ-&t{ z2EzRcZgoNc41bc;j|LE*&>%5G=Cf^fo;2Z#Y{NJhD69nnCr#kwg0xH;`lXxEJwf#H z2;xJdi3v+5 z?OEoV5Ovze$vv+sfFv_VREOBRE%PI=ot#2|#cH6HBwziSZEeug|8Wf^GnYFOUCJ4Z zC^+;~P=9@|MSXw=!6>v2&y7)GAl4G&AVNIhh9CiBc0=}%*v3=Z&nd)n86KaKYMZ2% znrx$q1{MQERutR$>Hqu;{G~l53STp|bpTX!YkggTxQ&Nz@b8e}cEo*l^{QNkfb2uP z%)?e6qDKTQn2Dp3B9?iawJP#-l(>eB^|o~c)PHLodnF8WaJ$}a6^|xu-3~Xtef8=- zo#(+z_DmVUH)RBWk}~4as^+Kv>x;mi{oh}I0cgPA8dBkXMKz9^+v-43^o=eLF~n+Z z=Ya0#YWF#gm^P!0PN146D#S&AGCK(0$h(?w+?NC_r$a@vvA_}82qS4d7_#A!AVBVW zIDZKtP46~ZwtY3OK5AgnxyjoeHQQ)?3_51v+}KZS?Hqm}szT7BBZ_lX7lE=$_S)F> zi-6c1h5qBND{xCQ_Q1SVb{=V~pTeulKtp6;;Hu^XX7}It`OkjuliLgdDC$N{k5Y}L zpo~=aU5eAaw$tV+&e_&zdyhF!OXvvrw14DqmAK6EHqY#H8;T=YF(VOF3jriXAG5YC zqc|?%0$)3-Tithj43a(Cj1&7x7idjJP7x?!bM4+lv69Fz-d5dWmo5BpjDAuO&PvJW zRBM*9;TB7AQDG?7@$npcZ2=pa3aT%kOlyujnG?_c?Q{ALOp*6ry?k?LGkoy6J%3}) zmyc|QAAbG>L`~n>>NtC@KEe<(UId>uY}sw>Ys{t{vU7w?kKsp7b#vw=yg;8@W9{N7 z#d&VHb(LyiS?+QgX#8;Si9&bEbAWr^!vqZ>efkG~emxhXw=cxK02U)sH)20=YQq=^w^bpb4w!k2r!Vaa6FKyMI*YMD&8N z4q5`??ZSgyP)tC59$;PYina=&FO_Ygv(girpD%;z&Lp|7U07x}>eDSSiwyYPE=1i} zPk$3vkrRh-fY-JrQV@5jS6}e`p!>22`wYjfV^V?eP2DhG=D3~?w88Z>$lc5u&IwZv zjoj(mHr`6Qvfsmo0z@0GtA8cj{*g#ge)?Mbg1^Q38w66ZH57++*fn0)oDvjX&bY$%&imWdw(D~*a)b@_5o;k zWXc{9bH*NsTaQ{T&}+vD7f(%*`O`oCS3dnzX-!c`W&0u|qJtd+>EF6i--X~H@!s$Y zWL=>$g?R;fpg9~}4d2LCCD4Q8xPcs>5FXbFKdqrfIxxKH5EO2-MO>(5Ce z(Q9@u;oy&xIDhiPFMs}jAmR8&fBpqXIBv_A2Vc&u!6@Gydu5T&RN3uNtb@5JQa6)8lvbiBok-8GaCj=Oc zWz)`xR-5{ockq}W)e4W6!`v|gAA31Bck~ax$@edgy?T{zUw_ogSI^zp)n_bq_{*>E z#q^TU#96m@(`blqYAAL81W(f@vZFV? zqKNxEedK6WGn?S7We1t>xan;+H=OH-tp)Gq%F#=+XMZmZ_Cw541q=M4WgK(M;0A~v z0=U;KYe};k3??`G>iW~q@57aE|Jctzhw?3lEz*rfGtOwU34WIcXI~iy;{ZJ%T&}>V z#wN#<;j^!t2gSNzyfgZMv$Xeu2eh@w)f9>pgHdaeWq~1p;9;)XeZhi|dW-dVwCD8p z5&h=X8-KsoyFGTvo&hS*SNsuB0Y85NQNsZ~*TDLOLJ$tL4(K}Uc+EI16<8dCBYtu< zC+X2ALgtkcV+!(fxxNgjRFl-x7Sv4Bx|nolpLP{Ik(o^ zdiT}av{x{fKUYLfFNXihLMM40s?=sXK7c_0ntwo!+`LkV(XWBqZL6=tuF`T+@kARB z>K(LT;cfv*#@p2BNM%ek43QHwxuxTP7)WK@h&0^yJ@_BIS?_w@&37e$zbyitLqdxOFCKGggFV!&~WL`u>|ppGl+pJ zg*t9j67b_&Nxh@#3Lop~*S`EWA_BE}3xSz^$vF`pR?_Dxct_At^>93sUHb3Wyn;Y;UGC2oM_LR!2g zP_~L8JY*GJ7@jvn?r@@Uv1P}O9LJHJgYJO;kG`DSY0|eZU%&i-dcMD#7~wNr zu6Z_}xen!Q9cdxE@4j5sE^d)Xoqs4curomOPdJhp086DzfQwOn4&~Zo81mhhPi8!o z3@8b4Q3ljCF_2+6WTHcUuOpj3zz%o??;3g`yr9f01vx=nY&Ah{#nwZx7|XT>G%qkp z?G*SBu~eIbe5@2YR*Z8HwqmN$LI~k&nC&&B8o{A>DqRKbik^GV+c4`#Uw_VRiS-6` z%>CVz1}zW#2)HF-%MlHRGhD*|tUB3)Aoyc~kJaW{xK=^}j1(A`7*$r-m_+wsHxDRXD}IiNzpdl4CEptmyy(z=%K7Jeo) zadq}d)s;;dExy?i;(m=QGJmV*=5tkdn~}DSjCn&cB)jI=pj?ioF}c6Q-6B4GWyx?fAW(R zme<>ryc&&H>d|v*?*punK@}-`uQ_qnX?xSeubgHFJyUZrBCj~cbwZh#8l$yF$TmMa z1(~ah1BvmiY$%a;-~~4l8|f}-bDAU1Y-ROBl8p&SYs5v6c*PuWv)icb0GvQ$zYxw* zsB}CJr?)GuMVQ$-2m%YHZ{UB0q=mKCDt+$`n7AQfdx`@!Gz6Knd1W#+*?#-l|K7{j zSGVpix#iKzb~gZOKqUTp*xnDn_yi6L!QFuTadYOXG@syzu|f2Z>oPM33Y5ME+d-xc z5tj&HfaogLuv!?SdPCJ{{||d_wrg2(r0Jnc#S*)Ut!@o13A*H^fXII~cQ-S4qi%Ga z*J@p!hPjz}GRVk?#EDE+Q3dD$G|%%0Xr3pu#+KBQUPJF9{Oe@0nfn|91u>F42=FqK z%*-8Yuf3ML+y8%G1ba8+HYX#-OH!EnDEu|cq7L#rW`v-*=4H+cg4ckM<-Srh1Y2&U#CL6zkkK8;kx zHVrGl9V*Zi-=rc_bR!>!*&a3m1p+SKvWBM6Sq-N_C^&J4T?KyuY{77RE?T%FvYt;0 zo?cRAkQj2qkr)&Q6DTmC48`}xaMX_3!kf;Av(RCoXoO@ z)lgV_uOHm;Hs*h+<5oB+wV``-M< z!|kct`>)!w!vl_$m79f5T80N~6*Z75u%eZD=m6+-@kEw&)i#jWpEv?_ zko*&CXHAq66G)LJVcZ7dKE*30YE>R{9_>vwIq<)XR5hPrm{9b6;70=7s3$JSBAONt z|IGD`Y^$+n`0;(feZi7;Pi%xbf&SmdVTZhY?lXUf&5|}7qI+1(!&~8eayc-jXK|>- zl-U-3Z%MlGKpN0fqlns(k#0C^Ql16k1wZ_=*R_z{0`cp<8k&@#27#Nhv}24m`|Q@P zPu4N&i?yZB+M7A21<&5$PmQ1qSEPkpk2;o@Yak4LHe3nRWi6OjT4;x`i(86P9Dn%d z@F{;%fNZLxOr{~T!&$v1HuXdHDbes{@b}h?k=__1p*k(lGD2zyJ0Vb#py!f-ksmT* zfWC}PJ{P(Y2x^UV{FJn{o~Ho{D|6SwKmX}RFgSbo7e4(6>R-QWqkZ5u+NCOrKKmi; zq)A9I!5(e2kd5g%V;5(Afa@a) zk^Ze%IAP3nFq_&V!4R`&G2=UboLk!emp^`d_tj@F9ShObyRNqI-a*t^fKm4`PN%>F zyvZ6w$J94Io|7c`*jTS+t7~jm?sA02i8VWSCp_3JC+h~cz1css+JUU_ajPU zqWC zDq0)18cuktYSyBPv)4i}y@vYGLI8IFI|xZj@8K|Jg0l{6cY^`4tSMIT2K|4Y1@bhp z8#7+xmE+-Gyk6HJXC=?Mc7ut$2C~r#J)>9C%}IZ2S&<`LXK~YoaH)=mzZKSswFoV8%IlZUeX{iFh^rz z_1*f?;tec@0ea?CY#<2ysu$EgKu(Vt0m^#YDD#g(02A~8B8+>s2&mTFv50Nss(KJY z|9&i7v~T2XCMIIBQcq-GdxOEb7pf+SKe*C@u+Np-RR<#F%sdbO(zSm8!!ukct_d5m z?q*On3IPM#ww{ensu)`iaNw1^GQ4JY*kD#wKYF~0uZa|4Ezd0IAmWq4wHFp-l}U=)z!Har~RU>I78SZVsAgQBna z@i;OJr20AqG_F9+zOaAf#Gx>aLp6GuXD#TH3jHkXd@6YFeLF$WevET38VNU^U4B8M zO1w~+oQGniJkaaCDsF8W!Vs!NDDyh}u#G7~@YAv~yDH`YR$R@Ao`Q)RM-VbxpcZL2 zGzl>Zyv-5)eXrkt>2LQ}Z(hB5y|fCrxTJ5 zDtLx5Ve2Kd+--kCT#_h8!mpx`M3rF&xG1Cd;>^BdG?I2iecL1`RG#V3?)-7S@kamQ zH+Sn#-v0tF9Y3zm{Uyo$h&j;GCHzeKT-;B?mfdNpm&2DZkr*eUWnt4$)0sFR#?~tP zf^akz0+9Gr1|!QHS6RN`1w^7q3D5^A?9y6HDufR@PhWpGi39otk62(wq0Ti42U$~a zREd&S_>c`!%v7+5p;a%unP}I-oz%w$^d)lai7CzHMyQ2F|LCG-$YbvU%X0 zJG!QLO+o&3@1urOvW+Y_^p%?r;aCxB@PSj><8XhKtMhMF!ur-Ab>~a>0$aNMGFA6` zPk;RZ*wTCLv(CU0^}t1ra{$DUS?0Jj)jK(c1Gf^hd~nEKytS{83vQ2|5g8*@w8uEA z)}R;eX!-)t)#D;_7YewtLNTJZ>bV3^{D*(-X=`Kyr~GZlUV%l(?4+jY3!FwqeHQ5{ zl&^p1Y^`curq6<;1K>y9bHr*W%gF-QTL%Iea3LL#d+=VWU8CDx7TnLlas|6@O7iyb zumA20@z*;;BHi>(EN zrn!QrP-bV5Q%A>9Ti)n!H-nXENul@G5F>wV=T-_qXqkL?l8q-6u>`NcRbrAE-I^~P zY)&7@4+QGAtH%(s&SO_~R7*=RS_#%GLfJLp#6U}vvls#Jb%-a=R3M*vc-WFg3qzZI z7IEWcw+V;6vpZrSL(qn_hG=cKg!ayX0oN9Iq8^Zhf*r@Mg3Ti+SG@5X;L|Ca3vYi2 zCRBY|JAK#yK95t!Fk}Z}=DvnTpfSPhBwFj4@b-@%{p&mA77=;p>-M6Nk8X^7AL6L# z?i8ti<71e~{5HM$UpQ`B*dPxiu6VZTh6r>g-HepQ-1xJAW`XpdG+l`LW*!HQz^1R} zah%Z7E)u}EJvUDYybu0<>grtT)fXP<==VYNU~|%{S(JZTd-HYj zF@hAU_?Nk8#QE3kNU){UrUc(f=KGN8@AnzH9!nhu=R%QLS?(3wO5SP+y2UL z&HL%z*X`N+Y27HY*N0GKe+=)ZfAeE_KRx_gzgzGBZoU6!;n|$i-9k@R0cN!-0%yOz zVrcJlwv`<4b|%2isCo?a;WdA1b7fXBTxsM2wxBQ3wueeJ=p8rO*JajRlqcsJkO}PK zl@kSpwQo;!Pl=sC@k)Zyl-bsbiHxUhAX3Y>yDkqrR@;u#mmUwY*rtN=(F9W992H|C zLz^240s|#x2H-3kJs|k@{Lt!C53=touNUF%^At3`SEt@T8$8_my1jo8Y3|?Fz<>QW zJ{}GH*LPf)4(D|(6>(-8P)(3DIb)!d5`j3hE))hu60UW@*~jn$uQ@cq5Sbn^a%gms zzV+1?Fm|$pdfLpwRMQyTqTc(?2oXejn%xe*KH_Zh%`JED3-_W9uHES1er;mvhri(* ziG^XDgV$&nGF!3qmaBgOCZz-HPCV#2U|`;P!fcrDK6{gcjS?_FPGdp{yp{7z3$e}y zO4*j_Yc{N;)lQ$Qw2x;F8t-kj}8huv6 zyFJ*r^VR#!929@}yAG(za-Rst;<#8(tXj4cupx;J_O$ zb%bc6j?xQKhFhwj5hn;7Q{s#j_!>I8)N^)3^#(Ozzul;CTJiE&8(Q{|b5=`P1k9hS zpHmKQoPZB#wrPJ^2XU(~e`508pnA~0*>JXu|9t~etm`bY6o+Ms;_=<*uiw}09e3|5_W~Jud~2)n^w%HV9aoUs?w-Ub-C1~^UOkYh z4?ry>XX8_FB{qPXw`ld{8%=tH7SS!|Rp7$aM74Eke@(k7^rNS|=&=(BPLq6Q51!Wp;^Ub$YiLBcjr(X(w~ZF}-aKj_|a8{;gy-9Ia6yS)yNJ_pc~Q!M0A!uoC5NOZ%! zt~@i_SxoRlhxE~>Q{ZW=)aMvDH*rEQMr?n~Dim$Xbe+vO!CE4zgUJma#-UMe^Ld2- z597_dxAiKkzIdj8x$}j4F}c@nl6xQGwwGGo)h<9di2!Oa5%WSv62T^f@!A9jWwVpC z-b|LomFu%88$79NA6La~;H{GZq1=V;K(1@&8U|*9heB!Xb^`w&1#o-i!@u)XE8Bl4 zuNdm86aC}qSB`8FAPOglkFBkK*7PYl>iTjwo+-#3d27@Hbs29BY48ElWbHWxJdb6CH0M9|mJy$?iQ?4Zc`($nkA4H%fDt zfl~P59~A7NP}tQEDNPU$@%Le#09;n7bDxgP2vzG=&k>#tS?V!Z z7j;xBVvpp7?j@*ZT^2zR4~Ytm(S1%2VpX6RY)?{v`%&67S$N7$ZV- zWfnwqgZGF-P0nIK1#jPeKX~)bvmRf4_2uh-H_sMa_r7#5EcN+Yo6D!a{s0n~l}w=J zN@4WVShuZaSe{J7tG;4gWBoCjBZV6QLVES$Y2l4`3~g{sE>T`$i-traR0DPv)&~qvHnYxFiINi=C7 zkv%(AbzC!{y%9L>5o3Bnxv=t5pLG>~hb-l`jDP2kbGy5*&)@yz_4`+EUcY}4x`t{> zSJ9!xEEAuiHf+cOto$TG_}ZeQaAMtn6o_bJueq`JlA=i|ogG$!zNGCvaA>wXDwky; zNe8d!&R8CDmNsvZ6AO9IUzL%C)vit80B{*=ZJ^48xz#G}LLCwUj=kWA@F&H83gBU- zGSFbg8#cRPls|qUn@w zOs5}WX1>tKi7WnFptehZ)Hk&Ou>~Q|l*`vGIEx#W7j7{CGDLzNoHed1i#oQ~*vHI* z`l&7rhuXdMsfGmyT;ZFvw(Lpcq-kTu#^m8YxTe(@iYO+RTI3KNe+QjW7n*yHadohd z6RpvAGa7-4*gAApkAPJG`kA4;cbh}xdZgLIU;jt(5Fp3Camqn>M)zuYE+s9Fp~TXn zOLtkV@4ov5nHzJr0aysA;J`~%=Jg;N+moZMLoPFxlQ*H^IN+ylMZDSs&=}%$Sqs(b zdia0;>W6;_v~;L-f9CF^DN7r%6p+7UV9mjWV&AzdWL@$z#^e>-I>B>Sv`XuM)Y2CX zV-)BekSOp#NOl~fy%$|w*-cH_X(EIW2D;e$wn)608%?LRmYEE^@S3y|=&5JQ)e@?;~!^GJ%q7rkh07%Ji zXKsH1`heGOk(qn{I-bF+?tJZDcnb7yIjx@l`qzI7c-lbuGzTh?IvvO6M?u>P?g+Gm zCM~FiiR z%}sLek8>LZf2jAb>hba2<4em_Jj9y?bAytE}xh&^p{m7c`ufw*gCI<6i|f#E+mQp0S{K zdN1S2k}VY=&u#r|xJNpJa)8wzwT|r^sG6FaXoF<2e=2$#of-Qu89CHlp#nqquB5~Z z?zzQ|-53#mZ?a)*xz&c;`QzOF?$1|m1HXn>`}Ny=$t=;@x+F!~^g_3Fq(;D~pE#>& zCcVelAX&ABm*Q54%!gV#LJnQ3FnSMs}4FNQwyX`D%v<&2%IY)Ig=Cn)LF+#iKNZO#9 zvbO<;<+9<8*1=s17Z^6Kg?}wkorGgm1{SaF;Xk|}b0LLL9eUiSr$<=$%EoIqWLvBi z3lgbD3Z;?OxX``>B+|gz!WYgP_!wk{Qs8t=e{(xJffU{%gnALTAt!2rl!PQ*0nh55 z5C74pmqvQ(bOv4ooLUR-NjOKhEvW`p5qM-5cMhUwiN5 zUuJzZykNC)??&cC*eaHpEV8+IbK?o~=weW#&Lj|aJ@5!6!`8^$&%sG%<*`OPeO9?b zfrWByrNv$>eY}Xd`_UhM=#|fK_LbHXH!u#FW7f{;n=`@r0S7pui4_dFmrm#q9e-ei zye@}e38w2hCRiiU5Y%{fd$ip(JrTOz6kTb13k-h}76}qO(WX%}NhoX@{xu_Uyy6*1 zi(ooG&lnhNN8yMBA^H08beD~!$ z#6dneuit$6oZorxi}>P3XxwasK7T~Z9{wkQ?ix~tlsG&JvZNX;+7EMYvroG$)vd1W z&S3V|C1y7sTseJA!7sE%bo z>DU`ADySWiTRMV9%7Hu3tiW`}woguA4zgoE=PW+GD^C`mj?nJs#(LgI2h^TnMD-0QZZjr*yRfpF)Hf2<6Yk}a5dmJym>LI1w zCnzi5e5rr*&6nE0)_1#%R$bEYcZ zmz*vHMn*ejvO{tPY2={oOV1oQ4N$CIW2p@ZB-0gV0p-(qMnn>9Q34xqU=DR`K z41)*JR%O49@7??3+`b83zkl`AF?`|9I-}Y}73Yg>y~U?cx4G?X8Ef%QxdJpf*X2DP zP?(K|#m=Qr+-ZZo1rG?y&Q5D{$|<&U7UsMo+gM4+Q{%{u;k1WV$7uEbf+c5u7b{C; zOpYQox5z-0L4PrC7j%hoP6_xXRP|I}K;lPKR9_%(*tFaPL_mw$b|9HViD2gNNo#Bf zI!4313REnxI)-Xrb)=ouVh!`#;}YW*gAe2^WV)C0=%9&lAw&e4aWqf9Hi}>?BOtM` zG|(_cObEN#$vI@Yt;+@8uhA;a3lo7sEI1|Dyaysn5Px)o|IupmY|ol#Up>Bg^@Tq^ zk9Xetx;?i6eZ`pvK{>BHu@(qzaXPkhXt^w7vx_fWDx^VW6z)i%qg|lX$%8nfq z2+*zOVEj%259R?kL&<>uSA4au+GCwV;sb2WPR#-b$Yy{MQ{qR~^5H+Zx@duo9&%C( zx}-B30e?FKywSCvW~O~{{fF6@hMY$-PVfhkzhuL*Y|T>!O7{l(5XU0HVmPU1yrCMF zj?@4R1WfVlo|wIC)Vpr;33vWDw}(JqD@NbH`r_T=OD{^yQgNoTIwqCNL2}=6416?z zn!JaaXSAVxF35&(ppmv2Opz*XX5%>LVllsde?M8DfQE)t%NM@T5_g1aAbIPVX?$iqmPD$-@p2l4_%d#3-?Viup7+fu<&KTc8da z^TBjWG$9SY-6;Qs`dPjGvOa(P<(Kt1o@LqYeC=M$vdx<;+x+-)!(dN;=AQ6F_v*At zs{G_RXVL;WIhO)eN+1Ri#`yrd?a&K1*?UK3uz*Xc$*S0y;X&xB_T1HVAqH1Jf+ zV;DI?ps~#na=e{5h`~bIRPcrpTZpU6)FT2sRyO2x}Ljn)oVJnEj9wXhi3URltmpDNM2c`m9bw1O7Hr@H-yjbk|Ue^BV zrBym=K8)z?EU>36ZE+&O(12or)dd_x;&RoQ&VnIG&BYN^Y+!P*O zZpYSwB4EU^I3Os4&R^0_KY-SaF0KFKyynmSgV(OFcS(|s_;P~}#TWXFrEJ3)*|Q*G zI6%NEroE1Ij3;=1lJTXxvcgo!b89#GRo`OY^I%>sfSSz!*{@CT+%_-WYCQD#nY|F;Is};#**^F`6v77)eZj~P zwF^`SpLl*1TquyTG|LukB)AZr<;3c6Qvht>h5pnpe~Vaull<9V1z-P}-u>|V@4mpV z-rxKqfBNTs_=A7=x_SS~3;)}Xe*fG3x}>3-*YX%3H;-(rBX^Af4NpMrH-WVta4pSq zfca+aV;E`Una;cq3fPG#35ISgIwc6F9I%(+AqNQ{4Y#ug2?H`q8Bo$a<5hmttJ>R! z-JP%9Zzk9R^c|P9@DL<_N2k^rND|e#Z%~Un0E^wW#%R7<;G_fDCN47M24)${1QphC zSa-W#fsAS%sA|Wwu5B;@VMt>U*wrv7Zc~Keh5-BB=580Q25#*{N}_v_pMxgntk&@U zf{?n+8lDshdJFb7kfdNo&WZ(W!+2)e?SbRv39LVP{r-h!-JP$0+;4`&{~g?Mm-p&& zK~4~h(TcRJGg%ch7z-a0Nw+5r-mbtgAl9%s0;0V(S0r@gwT~-rJZfZ9G5g3u#$sY4 zv}8z!?)EGhNZ4;zCVjR-1{^aL_99|ydlHCIK^2-C>j_GLUoB7!mV%{qHjTXjW)~9b zm}65`@&fbjQln#kut*M%^2pgubJAKxxu!`#0Sch*K=SyRuKUs7=DW}L&%dnacif$? z+>5n3x~bKDh(jj8gaIt&c|~3rbu7}^s7FLdKWnIMY&k4cFU_Iyt^SeTT<%h z$^lO^yJ|o!PNA-nPH_;aJP;w|Tzx50><$}=X!NCq*fucQCpHzOOK+~2gY0C1A7pKe zX%I5Kz3=PkRHikYQrq-%VyxNv+6u`Z&y8*!VNbrNA9&59u3if%T6ma&r6KXx;Otsd z7xSS(rVEmPSN3&=Ed(((hT@}o`OzxNVX|Lb+JFCIHoSh$rn&dUdoi&nH;KjXW>@&@ zfkGAm>N96%ZRlxaPZ?P8Hq4?-YwS~@iYzqmhUsT(7k9uAhh`3}<}i-~_sOt7+JS6Z zVp9OkQM8#8hrlDO#fa?btTE^;xh>FpsSn?SVmOU|5-3e$>fQqa9=ozvB&LGk_J(Ks zOsiJ8=Sfx{Q2Sy3h8*k_>p3cb5y`;2KE!>!pBh94#rMi2GA zZ4-%q;oAiJs-tNDv)z@NB-BHb5{km-cLk-44Vz6Xo$PI;exD z1{2~Y+t6yCIeby8-ImWzZOI@Mx{c`sg4R3f3Pk5YcfutMrcG*R7W#&58%>@}V|ZJ5 zVjvWtqa}!axBHkcA76j|>TUh;o7ZojzvJ(JeeIszbK|B%JU&id1J6y<=9B~`Ps@fF zAu-C$aTYPJ{sLHbkU5HFE9u!U-+H4m;;IQ4P@{ubY(p_$A%g^SMWEyi0g6Rdhlbq7 zhDSxPa9oXV+iSly(6@VEx0gKD>z8l1Klu7@d~|o5L;7Agtqk&Y+@aIUgd$=YP@*UV z?KU1bm(=tSFMs^(DF-sb5<`AuA}_f;EaMz1q;%HhgcD~+tq-W0#51Jf6wIex{=jYs zY|azaXE@h@%h1n;rwcDYD2&gH8FTFHUCC5iE~Sjy>Cz8=?vJ0ne;SuR3t!&*(mlKB zI(^bVv0u9BzWy5@-A#wc1CS9g%w8-;Ob`dkSiE%VT9<BJ31WqVUh|?aL*fjySE!5=UKl}7rIWI2RyM#K^@wpjlz0Kuk3l{u;2;T6>tCfg zv4IjzK>~|L-aPt0JW1VJXE#*$EZM3$zWocB%E$h2l9ZSNr(H;Aatw?7-u^ z_Zs7ND|zpabGxd4|L&{Ds8^pmfNU>(ty&=UwQ78pDWPD3Q3#TkefJPAe>i=NL~y;j zc}RaTO#b0(xg)q;2-bso+UiYot=zi}EHA@ynhS`Bv=Ak0Lq{H+UHKF^7z5g+!XYMH z@C|W2M)>F`%s`673`!&^6&wFUu^Y~1Ere@4gGcqoq6MS%aIKD(GY*ed_6_D|D8i?w zkseThgq@iTWT>GV(aw^@e{aa0d^NnB8sv`9l&;-}=}sV?{HixWOz$>xG(`3Ai_+V> zWAmvg+Wh28=WfcOdB2e?dasH=@x0`Gt-e zgp=;r;gY@M4D$q#ugS8rK>aypO&sZyxRhFG0Bi?#4a~8D|Cf)$4B$tnCf2TW!uwsm3`DW z71CD)O6OayZNLD#h=NUK+r4JPmt*-5C4V@IDah9AX$7WxJp5Pq6wEN<5+ufG7!xM= zrCP52WX*9#R&UY~p4O-N8B-s9a`r&AnY?73R4hhIk6qd z;t|P+h@UomKm6C%x<$aYBq)&!BOqTXWt+B&LaN-SV;??`bj1fMm%>#8v;?c&osR|v%iN=k3XQ67%HsD?ezdK?lrRU+l`Sc@zJwE)m_!PAprYeJI zf#1PomqmB(r5m)hY_R8@y&9H_)ZNl-6dTDhbQUI_wFwsLUh`mpK%=EV@tW7arhKkC zIh*1LJBefp!n^nYi4J^k?e=lzvueE$#8yB~gUfA#v!mw)Y-vKBx5 z^IyIF;>}l|eOCF`{`7DA(eM4}_x_B>Nfj1@-@zI4cm8=Y!vao3kHA zZP6C;m}GrnvUu8dp`+hGkzTOF{zWj+UcLQ!yoz^k&+E^goip9}LcTD-X*c65dEi5>dp(8A2y`m){!;K zO|YAZ3o`&#A?R|Uak8^uY za9+R7S6_YcQs)!Ll3fay9Q+U*2so;bzKOZ5YnMR$5FdY)N6e=d2rGC`3QsILrY|IU zqc?6i6#+GQK zTMdfT^=x{4=Z|xnD+cc73y+`rXY~qa-7kH!a}ug4LaEj!pb~9g$J#>_`#d~ZMNnOc ze*8#q)~G|=dVwQ5@;oSn_Q3tvl~*-8xN*Tal{I2-Y&8gL0tG4pJ)^l8H1E{?+*1AY z%>r5Je$^#A*H{_t(pOak08u8}2S%46{SYUA7=O!1(3fcj3GT&*|KVazwDRzQd~6Wl zhSOQMOQ7!#WR;x-um(Ch&b0CNM`8+zPrvZK@>d!E`VEkaRV|@w}P|>q;m(-Aut?yvSQsH>;1vw z>(3wkyx@Mg>qUDZMWEjzO+5Ye2Uz(yZgR=!bGKbQ7En)xDa`4zVyzkHaO;y{P`C8J z$-m)1VjSz<57u#w0VUiR+e|n)R3Mb;F@2r#Qd8``Y8mBHHT=qtG|N%9WB+@9oSVDj z_dk2{ZogDo*t$k8JI$lvTVBx}!6|MS#AQDmRuxGqxjJOrV^7`@ikBz<5F>x$H0)N& z);<}3`n?aBe*4AG;`^WcmHqndCqH@rqu+Z1_-&LYcG(~st0YdP#yPP@DpkW8u5a~a z3o6HhJDQI0Kq(Hn@v!m+Hsgk^r51M*zW#09HPOr8owLB`o!b%x+CVR40{MNOEm3J- zXRaZ0@5uxxCXQDjBUIIuyt;pZ34ehM){IUwcVBt+cTd9)FABfha}hw!1br8&PrPG- z+VqG8At_)Wo53MMv652f-19c={zvaNQc16VT0eg_&bs%NdvPz-ZuU|i;lzF=c!U%4 ztKo&CI#4DK5JRds(_6Zk=%^ z84KxDpA~l4mSgIIqq7*#sOAe(Len{_33P6Z?B# zx)-Bx{U!?c5h}C7C!>GPXheZS36{WNt`0g?RyYtau<9qgtF-Ch=u32I9MCRk&L_>o z0Pc>XbIU-?76&!JBYDZPv2vg$00>BB8Fg-`)la*v^iW>|M5|t#sFBZ&bP;y33x|K} zD3`K=NC$HPvLk%}mytLxA7^0HuTU`na0m9%%sCdvz+@atY>a=G5zTc;_60hgUY)VM z#pbhRb-a753sn5-^|Pnky)WHwhS2rlZ@JtIYR~LM;sr<*$|Ktj`_@BawSle0-hOrE zNCx+=hg{KGnE}!r7-s=_Razx^5M&)lIWR01EeQXS9+#Ri8Iy<|Zq$GexaGLxA5aKw zKpD5Tc>9p+NDmWHBtsdDT5>Ex!5u;>;A2xuTVa>i0TC!kx4(XW0pf1&wtHW--`4)v zhQAdj_|{HRwrZ%+g17CYok3`;wk(v62V**d?rmak-T?A%Pf(M-HeL;F>#VM*63@MI zr0>;g;Fm}O5nF%1=ZnX8QSaZsdRu?;^n8AI-T34dD^ZGq#hJQo4b2KAOg z2mV=u*dQ)wxvks`@PP~MFa@^N5)Ch%+a;#~MR;QIUOHv*1o>67Eeu!#6rjGLitKQr zudSQMrT5-`8#20gY3X(Yf#uw%gdRVUideMRf=tq*2jijeUBFE<_@H-fmg< z#OjR4)k8P{P$dxBl}dv;)KanhdND(Fo90@`Wqt8j;a@(3WZnDXz4(UhH*eUF@TN1SMy(96^jSfJGeejxL zo%YE%xk3?)Xa@htX!ACASIl$Dwgm+rk~x8XN=$$76vs9V5CdciQH^SfsSD;K*D+_U zjj;J?I>0olbyC3ogd}?p*tS-h%Ghb+L|L4JDEHK@3f?Ylub-hRO?QkS*usXyj~m(b7gCD zO{0G?PX{}`TZWt@^_^1zdxV+k)CJM4;%?x6wuaN$+lQQFI{u3evjzz8N3ptxDR7b< zkqhTuNdCi>fy`t>XOCw>&&_EfGz)yW;5KWii!|X05^q=Gb1#I1+eh5_>b)4`>oJU-CL2NAm1>Ous~dZxt_-ItuWcRbi|+bI7mOHU@)MaH=Tb1 zve7WFu9a#r(M3RZ_)y;y@&rNB4GejJN*?~lPd|be@x%Z0T{s~38Uty{1FTYYsO$#_ zsA>Ux9omM*fAHUR|_PD4Zwq}($%o{wO8V4LJ)$>JK(B88;WI0~P{YD*>z zOoz53QbD)x9YAx7I@ct+B%`b8ge`wJe8^@KxFF7fNqC_5gK@}m7wr&ML#;FRtQtma zyVb%0<>;bjeZXq`&GRASv~q^&)z}z zzJ@Q>*4s^O{UhAkaWyLxQ4 zLVqa;U+4;l|I-j8s7W&;INB6xGoF^Em?}?S3aKyc(QL4aGGwENvYaq78q1E27VC^S z^&%_b>1(=;+1>fV{qha>gRg&^b*+8Ue@X82{a^g8U;ib965+vGbD9${`T>y;F@m*< zY;+U8#$Jbdt`*A;FtQh#bc@3*uqN2kAOye&%AtypF_CRb(Wwk0g^LV1)REn-sgs-a zTy>jTx%bDpJzoFnZN84zub%Fj=cDJ=RRFS^mbUx$&=j0Q6|VwPyh(pqPC>nCAeqFD z$S(|*b5(cD2Vz-o)}==^(^h>T5`DDiXcIxOw%bw#J$82Mfd+l-!9B)m-{PhJjjEWQTZ>*wDeJ!6vZIs1fL!?KU{QZ7sA&<~cJhiy+bQ)6Z&W^Nw~q zY5v2jqx+$NeQ`?EaGp9k#! zi&y*Ivn|}cuiJ~~@pN+@|3Mt7vV_N6*8v(j`PZU)qXxCznQFp%q!f6j=U%570mUmD zC)Ge&0EOc<50a+2a7Hq>UrqZVu8%VK*pL-4V5G2ojbctpx^dTq`Kw?Gds^1zEE_rRBnQQCaWX5)2uhR7HO>x zp?g3RG6?CLVMFj{za2;|=e@-#5nJ!jGxh~7FwVw#6#9K9(Zp#SzSB`umD3>+M$89W z6b}X$EDfp8fMkS! zldYqmyF+MSs45PBX`Br7FbkJ(pSM55p1nnG2zOKxzd2&PdQ<^C z?Svl&QeDW2Iy4moC+BE9cPyM}LEyxbkSSQTNFn|1C!@#>6{W+NfQ?y<6DJmg=y5Ic+3>wDby}?202SGmG_ju>wZ(KjcMJCB}uH8_77C?8h z(*+7PR8v)KtkqBj^`wr3uAyh-!?kyL7F zZYv=@8%?}F{O_NB1iAKy|KnqLEZzKq@BMLZcTIomNBdGAB)mgRVE9k$xi%^uqydH{ zHtoT*d0Cv+%1Y4sZU!!s;HS)g3(uZ;fg<|8!X;4bNFP<8g0Y~<39n>1$oXK0HQ3hn z>~m|>yzLt4*CMieGvFWo#$WyLtrYa{A=X+W)3CtoaLz6_6V_hqXdT9fWwZ?yKzJ=a zL;-Z#QJV{2hM7mx8fcj2I9msx|Ez7y0oSJ^~P!+wJ{-q>wWWToHhG z)>#eTDKr*J-CS+CXQJGLy$f`0ggp^F+LO>S90EcTLgu}--h!-i;GxGyacVFR0Deal zjZ&jTXr$J)di0*Rhd}5Z_?uV$S-pL>*1Pwm`;Bez@p90!V$8O2>-Sj~#q8*WY!cDZ z3_$d9IgsM${_RCcK^W(ME($-;e1^iQE)b8*04H9yIbQtMiO*(uB`V?PYeUOyi}Vq+ zAO6qlk;;WtK9_Xfg;zQ(U=SG8gA5h94JHK!@<^W)q$yapUjOQG@niFiU~%^+=~~reE5GZ?1b$) z)^T@i_%2|1TY@|E;HE7kw6R`weEF;xL-N@$uhq&{++)XoSk`o!h?Ji$rxKK#6Z0h2 z87)|gXTn$A05lh@YbwF5y7lhe`{Ug9>fYDqKdZ-=x>I#}RFVCE?7hjaok^1Aht3*Q zQ8nVXvrp^es=T1wkju*oA?$q0r>MrCDJL(nW}`j@n8&GRg1g60XW z8JfB^;CzpN8CAUZWvd&>%*TRi7cYWAe*CUqcXP9Iey4zIV_I>g(x5G>tC-3nIM)LI zEPI3J_?!s|IMToc@p7DaD(YhZ*(Rg)K6p)$lY4AB$$G``0epRqpK8|4YOYgYKz-<) zk{<{3PK#(*iif}O-OqmWV;{4e>ie1k$bdX6VS6XcG?0oN zg!oZx9|Kkuh2wT?*bKC?lI4uF-2;f`HnKykpnGqD%pV#6otsBf@IOSc7AzcUY*+vk zUDDfsd9Vt(w>HlVgaYeAkds&=P`+e@tqlbu!n~0R0UdhF&enTQH8T%{q}B;wbu(7i zLyKo(>IyOWCh+xhFFu1RWYcW5&5tf!b!-0o)wlL_)GPCQx7IViw;*K>`8}s(aMBxpdqK(zW1OnXT?%Uhc z&JX|ef29ZkW30Qnw>VVS9SqrhTY$2t#kRICvt=CUTsLqCi5fakaQ-hd0U$+3>((GY zM|Z5l8fqI76a(9_qdB`vS4KyU!@y)#oq`_znTrAfB`!!9lW+%xYjv)MyCT#@F|Oa9 z=juGnmxK3+C)lEDy8r<`m_yb?hBcil!2+?jf6}GlT5gg3TLP>!|GeLiU#cklfu63%nlwxeG8wHf9Hnz1i{AfyvD^fspFhJFOM-Xhmz| zfA>F=F3>}sOGdig!uDvRfZD2aF>?UkyJoS+2Q8Y5QMWg0k-;5g34?F6AJuLT|NMnn z5OB)Ygw3CTXb`BU7aOEV2hDcECH`uoj#Fp4MmyUG;q?pshQ(l%HlA1C7;+%wCdoNs zQcL%-nK73y1mKj%(zNu=t&-P%_!mCrf64IeZ@qo>?O*nnU;g&nSMOcD)D*NmDx0w| z)yzmw5hnH8x_LXsoi0}eT#<~{hO%kE%eb}xc%gPJJY#Cp$V<-9>HrN>A+KUz+iw6NYg}DK z67kZo{a1&rEmjABI5z17_RXkv0OYWcg#~}_SRD!1f(hq@XYqistaR#}(N343Md_`@ zUG4lU*Kq&qH?Quhl4pKxPb@dNaaYQxsE(E)?hvtn0d%0d*__m70}Oi3e{tr45_j6h zbf~ux2T3}b%g{mTRcGsN46ut$O%)|rR%3K@Tx_2P6lLFM?L0DOE;$A**6x*Z%QwZX zltBLoi;~DHB#-%aR<_iIytB?@ZLg+%xfM){Lncmla4%pYszke7*obwBok}*0*bPO3 z_a5m-d+-@%D`#UzW|Zure_O@TufqcJ_Qe+qC5K3*L+1eX8IU9k(dnp5fft=lpgd5u*~g4r3l`IXV6aoYpz_aiq;H1y1we{x zT+@*4>wWj`+?r&|e@LMbHYP5k17bjXfhj>klP#^~2-GDr~S#rPd z#7cYaH}>;sr2h;Yl^hskhW0GAgPi)~Na?-6u)D-@3h@^5e-opPMs;1mJe9Dknw#2gW%rWVekSVbn_wLGgpV*=VqnFQ0eZbtaCMP0eD4sA>U0z z;YBL|sim54zA~nBv^}Zs(|cD3wi&Z{S#)-0!z0UVs@j~f_aSm25Af9neDs73Ntf@% zbmERER=@wQf4tOm1%{+UW6& z*jJn|3<6Z%xo_Ij;A}-AMQ3wwgIDz<-h$dnw1Or~e{e}WWK%;-8Fc<@3W#wv5M;LJ zJp28)dp2Jd=+jTIy^A1Zy1kqJ>EC<(GGElI`T`i`I{?r#zq>!KkOHv8t3&m-_o%Ur z2G=>&T>Gl*7aMlN@8xA1EL=nYPCzZ8I2np`OBzE+tT*E|63{=Wyn#Ai2XdJ%J{wj; zDZ!T!e|sICAg$hwc7R*mV%*?(i=v^L zj=%(JY*B&Z)>FffO>!2&Phy5+w*abKG@QtD*S^bFz7|=%K+N)8L*$v?+}(;BH!|Gu zkz}~DAvf?ebWVq2{Sg9PfE3G??+bmvv4^{9xzg8tmO9!n3yyN!GFAG31J6VW)=B<&JLJ z-23zc;BN;na58%7>}A6Xptd__4#ekQe*WTzFY}3o|IDxMN!A+Qu+~0?{1(m#L3!24 zko1PBNVe0YA;1P9b{bVORJmr;1-UL%e-A+0cN(L$>B5~yA1CJwunc4CTx<6(Yl)2( z2vnc8spC7nwjJ-Y|+&^7_S)OrrR}Af9e_58mvaL#FK*x3D9wu6ZcD>+t>FEs^@-ZKcBK1 z!%48Jmu;}|b2w6Ak2bBG!2bfHKeKXSPY{2#<8yhvzvN!Vmw-B>+OU4s}6Zj{=C?M$N9ESfvI$f3PMzky}GS z(9M8~;BZ{AHU}OA=>UUlGvd8x*HZN@OGdAS@GdwKmvvfWJFxtYh%LR$U1aCsU%doC z%`X}y1Oam^M4=APD+Ll&X`%bXeV?5swypT+(Cl62U@p>e@-$?H*(Gknbzc_9VIk3| zH(LlkZFQJ+v2z08tX|!se`rg8_}4B0&{@r^vQMFf+ZgRNWX;wv_D9Rf_iQpUsO{E| z(J*L8F{9p__dut;2U4sq`!6lHO=X=n)>``#+fbb`K+WOFA-$}2t=&Njm4|=*8j*U9 zYUVQ6*p2ZzPxLn1!N=J6!t0!)$9Ki@84DTSAoO8|3fU)gWO4Dze;OCMe&<{XNYmjy zw1|da?zs#Gp}waU#Ls<9(yq5c%IAKZ+xyXbBCoxD`||TIpHd@nEHMKnjxR_>!xAW1 zM_@mg$mtMCH_3M8dSxAIfxA#|7ElXvJ4**Vl+vJLLHa4+sVDa%)=kLU64^4afXo1| zfulB3@;*A^QS=LGe{>3BpsUVhyaNJf$rxdC%zdqLZ5vdtGdI-Jh5=RWj#yP1TCo#a zgR+HX73wl`<;6Md%`;(x$B0tklxeXx4QW31SrPv5Z+!O?sKEX>6@>R|>-ZrZ0`%49 zHetl}g?>`OyaE`^!mOGv-DCOI?v1uP*SSRJm#WM*axOO)e_~j%gOpu24VV%z@NsnR zfk3amMxR6A{e@RM^mc7EP{Kcf;^~%e`^=AXXA-zPruOCAmrs1Al5|DNkg?SQB5S7d zfVgM1%GQTY=3Yr1-fGxBLZjDE+yRckQ;7p$#p)yj!DNxHm;V~#Dcm1`9~mbK`ALl+ z&@wL~NXl=5e?D=WecUg^`dooY&E`u3R1VYjInAQS9EQrxU>q5HTW)xGV>`4*4y!_g zj){~z6c8A6vkmL%tkAN_;Jv6$W{xQY@exq;eInC}_B#IXZ+`c)zu}`Z0APHgO<>Ss zRzzLmkkd)Sfh14>9bQNH`{jO8_}u=8eZr*)UKV zu()W{A_}0Ph$h!@7=Z^J$@7U&y1k27c`YP_ol&X?vcwSNwhx0`llt=Ao0oOh`Frj+ z_oPywf88hrKEZCYrY}3A0TnBPa0Y|3(9a1zU5Bnw$oCtN_e&iJ#O>J70uvJ z+c4bDDa{?pH8KvU3XKhJ5cGG(%uM1Pg*ZhCM72lVDxsb`m+V$A8}>!L3VVBZ4SVkQ z_5_?%K4^bD{`|?UH)o)Zkyr_f2_qvtJ5yXLf5E|Kx~Q7rYJk}$K^cq56Yd1Ten}5u zW;6>8VuC!QFF||XxL{)Fjv_po7spcTX@C#oefM$Z?GC4bC?gwHXsB|_y{@Ju@Ihm^ z!LMRhDqJN2cLH`=M^3X`nS`o_ux$)W;q!Dk8l{5|^reXRJTk>5luBp-4@5v~N%j#m zf4<3Q{`N27Kfn4hGYP=?J4n|vzqmWY`}|Jpf3(y5%kTfiPk-}2d4;ByERe>aZC7|_ zBzyu%5Ny%`yIuw#MItz6A}iPT9=*Xp!8FPo_zONF6%Jw8?g%U!*=I@VK|1c3@agWl z0GZcSCfnQ(|JEgr?jv#-`@9m3#yo9wf6TWBmyBbp?K5#Xr5$312rmv@$1n@CSZH=T z#GGv@@jyOSGeR9Ky5|~^2Xr;G4U8Mi*hR46?z0;ZI1m5!C5|SsnTF_g85TaWnVtdU zl4I^Z*N*6mPul|b+BGC$$fI`?_YykIanvp(zUXXJ;L$IvW=({WofUhuYPdITe_ZVw zs=4a8V9nSr`g>$`eA{JU5Gq1IlF%nm-LITmc;wh>as zuC&fpz8ogNI;qWa!#?1z8q|N2ViaE5T0de;0xCN|ZP) z_lCJX$Mn7EicKC{&{Xbeu3*$;uY((7BTjg1+u2*Fr$7t3ChYYo@Eg~dggZ*})6?rUrNb$J z&0o0?e>7&3ZA3=CDd55a|A5gANJZ*$&~WCpb|H9+nw-tzlXeRJTq6KuY~Vi7c@sbU zN7sH42#48+w5{wUsv9BLvabSUHe4;r@^}u|A2n)Ka^em&l5iuce?{Iw(%L9f%hlW^ z63HKMok4SW(K;6dgP0v$G0|J5nb_?t>A4^07U>eNzx=&=^X|o8(UG2Tn|TX6kvzv< zM-ZuzfSppoy&ae9z4Z(8!-RX^j$>$rtxVqqgW~}s5JxahiJUckA6PKX$kVPXXNePv z{f67^Fp1IP^qb3Oe|t|j^qHVA8QX3Y+m>~-K2lOc197PB#1d-#tp(-88~r@-uQkoAFk zl-fHN2Bx@*T^?v($=S@bXP}(P8Y)Oz^Gvv5VaOK4*QpXWeEt|0%J24xsN-|4z@NFYS-ZxS*p@uI+Z0pGZ z7{%TxmSkSITw!U?XqSvK^ECYu8kh*mazoekiEL}V^#Von111o_`;FiD+6 zn^KWyg0S62pm5D@4}anB{6v@!fAhz_>@?E$7%eds!Q~3qydar{u|JInC_A*BSmR6_ zL&t3l2z2)%K&H=x95Xz}I%6O$&Cgn{V?#53`ci>-f5fAFmh$8*Y=WxTTW*hp28l4N zgf2F!H3Ta*SOA;v!cB-^S7*Y2hFQDyPP@Vu3LsZ0O%_EJV<^ezWYDY4XItK64^M_I z9zb#GF}CfQ!gY!X4vSkj$*;usU;p4`+FkI+bHBDHMx6S=-TLw8kAM^MXtbku4coIV z9q^p4e?2#-+0(I`W3)^L8|v%|Rj0#aTB^xc&iEFEPILEeGzOi}-W2w|@?yAIpe0x# zHIUpomafAnVw}ky{?n^)5jeC9F;AMP*$EB>@b$WSR$qe9dRD_IG?1p!b`5d^(_ts$ zB2^ta(JqMCCf0o=W+Q-4_7=ZDdNHr5*781Ke}mi}GWJ%!D_oxWac(zse`E0^n3j~Z zkBKW5^>K9uvqndmSUL|MB@#K&O-k*m8T(RHw=(5)ntBXT?8kz$m{{AwNp_+4iiMqK z2Uw5K8dRc=fIHmo(UV*s;&cA)YwUh)=-hD`>ubVa4(JrZwKXdfA+g>{PAj4d%eVL3 ze^kaAC=O>sDh^+yiBNI4NPWmu=_`jdM*%{Kd*JCa_5qG7eR*|2RBc=DA`k!Bg@=ND zQLdZEswnmWQRf;{biza4w@&s}h)x8_tBs}7!y%uUWZPswI|qzC=#5P#NMd<{6_4vXCyp`QD3ZnJP+ zzJ1{@zqB_$dek=FuW)aCBiLKaLCe4OgtD-DD5DP(rTZ@5)f4>TJ z+A}v}+IrvuxLELgkRn;-x+IQXZf7k9wtMbq47BNLCa-6r7-LC#3lqO`3+6Bx45Ac08|R(P9$`_~By zz?=)w%x5Fta`?0%j7CdB;?y_p*pqpL9c942&3uhCV_?AgF`0otj1NE1{>?b=?1HT{ zYM^V*uvwkWE}?yBT5arRiqYn=p+-VA+R}zr3Ct_FHs&b<6i5oV5^6{tf2)O1mS`i? zcpy##VL7FbfZm-56g{N3B*y1{oZBzzm#^P^VXt2Px%x?8)S5?yB75Sp2XvF25h^33 z1Mc6zogwV#s+qK+NzLuUomvjwoO?B$VHQx_hVPSlr3<0knO!z`>KXG&xRM5!5+>4? zqtGh9Ka3u~s0BfXFCjwyf3Bh58bZ~U-q1Gmf)U3AA z$~$MQO~R>Y(&zQt6gclEfrLi@7jRGn&WIzbMjrl)?|$}Mf3~r#!e`(5f9zX-l|d0>EgI3A2hzl#-2pdbZ*~9D8VX%r?vt*|Q1Zy^l?6Q8qpJ z>&?DBM&S1;!1_qGZs4bo{0Qe?8PYj7B!3OFdL7`7U=pMcfB)qrIbLRMd9|awBD(Ls z6&U1$ZsAG%3A>>c>(wC)VQ>Tb;xwVwFlUOE#Z&2$!=;EQ<`gk@CcvlDFpt81zSlFec7EzBkklik|BQmLdzfdnhElU4dwtqos+%bI%>qVT!_Rlx%F zHPfZ+*ycNf839AEByZIC$z_bP6+X{A*kdd zvuH!B7l3**vk2&e9A{LK0P-y}4ax&hevhY%uLeDV?3%9a%pN%~|MFY8>TFks0 zHDVrNU;6d5I(_gK+)#Kykb)uWK^sn5n_D<%U**|!wAqw~wgq{Wc~G6R z8(^czrT{dPMg`P2jE7Ew+L&4h*sPRnV~u+Ff3Ls$*>8M&Cd$Igbjwx4mIJ5QuQMVB zTGUfC+S-e3q3?+<60;lr;s?3g1MYy?&vgjnO#+wK`k_7nC<8YF?H=t@0>PsVjgO_% zAnR;*8Q>@2Wkjz=4g|L=K_~-zqJ>}}JiJ3`8A5GyT)+l|9YD*m;#{@K1|^npE*1^V ze}=4sEX5S0^)bS0kfQJ!%|Iup#OM}(lP5%=ILKc7@Qrk?I@xz7z%w%Y^cH2~V=Eu2NA-{EAf4`~E-@N|%%X|^vfB7n(Y8Ra};YAo;8Z-FG z?X=|{#}Ce?2nZ=hL(fnN{htV-*)#RZ%tX#+l z%3ifc>RMR_bM>Vw*i{(&9^e~1P(k2`WyooeDJ)Zsvj-zbeqS`w`wO26G3XuQ@f*Z6q>g*870JE#$gKa!nG9u&b+|3G} z`EhP9n?L;i%Xq4z3~{M}EVgCCzhAzm@UfJI*+p(jPqK%DXhR!#SsYt@w6e|-{x{#$+jp%J?n#jI(auE3?4})+!B)CsO zrx5@EwcLZz5gI1We;sLrjM!sk99yh|YSuM!t!b+nQs^K4+wXn?=fR&GPapeu`uI!@ z^kXD*#LV>Qu{KDNm()B4^T4}pZJX{ZAm%hGg^jaAfe0-XntrrPnYU`-TfNB&Wfl?z zkDk+UDZTgrqGJ;K@(W(T($=j#o@VOU9sWP~2bRXz!4;%Xe-`szYmYTe44CsBvgSPC zI%PZ6dj}b@F*tD?1LH=Tr?q1%FxS+I*a&-`$EF+|iNAH7os&sd&>gGpuZ!>7o2)xB z;&Z>XyN!&#Ge6kK9)JGi>|Bjyj!vvG5MH)$N6)Sc=3Q%;l(R&$Mr(rTX9m@l&Ep51 zqlWmX%``jAf4i`V*y5wzufin+2;SHQj6x~m2j)P?83|frVs!T1l@_gWTI_)wT-BU# z{Ef7Qv3-YLo1npN&F5rfS%Fi(k$7=nvH@i}7BfPN)`3VD8T5oyg2Ua$0lyrmqU``y z0M)Q$8b=VqX>WI=`r`HPzI^efKCj=uTXE0)=I&P9f4b?at&h=F`x%hbD{v4OOe(|x zN`-dD7K~8LLI?>XX*`y0@^+}lL{v)R*T%7_eh#SujX*k(Q{h9viW^6Cf=h)Y5DeM^ zE_{TX8{(0`BAM&fu=?C|sGAk{H@$rO;(Yz;)kSD{5wEjeeD(U}Jqh-?-{O-LA-bUm zeS)iRe|GDONPtDDMJ&|^%_*}pla_Tu$#6z&wkem+(>fGz(i~J5VkD%ZDuQFQ3pMG7 z#yI;Rw%D&Iuf3-3jXnhqI=3$BML{F)a+{OeL0*e&3Yv5AE<1Wv*dT=f->;H{q&scN zgzIKY>(v+ghz|Wu%=uC@!KW3eY739j4mZVs^Jop80WZ ze~(2hlea(m!e767N>@F?h_5uAF?#~{uk-AwvyF9%`mBKo(o)2gwJL`ALw%~91N-J! zo3A!CFb&chsR=Db78$&*(ZHXj;B@cW!L&u%qAT<9W&5V_z>m_2kI$aWNpmIyIBN?d zBg_X}2oXyrpP1gTu-#(T+Gi$G`=CDHf3@%}u|d8BL!sQUSdNbrU=W>EjXEsVc*#KogIMph-WU;rRFszZU-n{;*-n{$Ke~Uj{ zBX{7B=YEYpzdgm~NHuFcF!YkP_JnYJ%)Ml(HMR{hAhg#Z0gtwKCD?7LPYgrm*dQ$f z{wJ-iG8;Q&$8fN@mzuB)SViGn=EJZL*j~eG_B+Y*b3e|lzqH=I$T}~-tZ!D$Q(Ftb zFHknRSOx`K>un;O3>#KEbA?78f0)6QM@s5MFVp&7iK_s{l1a4Jv^{}h*sci1Yh|!M z?+z@0jMEA;{3~T*B6{J7m3ZIxTMPXxwie_G7B}3g&+K-HVR|_{V&poRg?P2&XUN(} zB^$$e0{(zO3clXzWYbn5!-Uo})UY!TnB6{#%Vg0){HUGHS{YlRA_9_Xf3e^8i4>EW z3w@VF-I}v)?m%g(4vC;nP%{YN+z?plIfJK;3*LhSG@}q7%CrTB$k?FNceDuoDkT7O zsVP(M`v3?P+rz zZZ(mCuzb0UW@tvQ23YYvb`E4TNF>XeE;S=$rP_oIcQk7f;JTjEqF5=_&n3Mom6q{CB$uE2@( zhRr4f=_11*#cXg~eU{zp6o?ze?XWWeVeTFC!rMdtnIGpi8F2*+3Qt*x;)8?BhA8%N8_fAyZg*g$k&(z3TR6nw@JI+{uy zs{}e3fA?C`>MVrf{`i#t_4iJDZr|yTW|(b05OzMdsH`@18g|nIv_>$jS8!vbgP_rs zPFIR6sHz~VK8VnaZj4OTz#IaPhj}1Q%`+y&-pC#^e1FbBmicI^GN)==ao4+g=Eu36 zM925-f7K73A}1WfzzsMZM7#GhhcDTy4ehf1oGLUo*Ezz9JvA3)cj>w%>L6`c7da9d zG%#-}vko{75GHf?L~H|MQv2*vPe2ue_7!%E75%YVSuXweBU| zawAQG=UF*(paQWub8VCy%&kD==Q9>IM4ViZf4xudK42=1wo;k|V86?^4q$JPQhm~$ zFW^7)VyvJXox#mCTps?{$Bl|l=QKtPv`{f-(Q19IKBh|!4icH5bCFI4VF|j|Qe;PV zM6wa?hd9O9Aa&K*kwHXTboyyI;DuyH*WE1V>W>Wu7SaqK5C7Z6BSP@;iR`KQ2zo6ic3%OH!W+S3*PD zIBE4DC)5}_Nrn%pUM@^=#$FfPi({;*H5hD>RY2`*LfCOsILlh78UjQ^c$AMD@6``& z%=3>K*8ju*d6g8>=S0ge(HBNyH87kmb22S&{S@zxvRMZVl9=uR@d#BKbuHT6e;?a| zi{?mh5fHDv27+%lg2fAEPE;b~vlsQT(Op1;fuMzb_)CxEFvHy5VOYiZ@S=+)Ve<|k zwWAornoS?!i0G)#|@c*lGn1 zyWLU;pZjrchobfNO2m9(>s64Le+k$@j5Vm!@?xLTcT+4$3a9aC>?Yo8z+T+f+OyHj zgYgwWV<%m9qJ#u?o~ZFgek(SJi8k<=SnGSWKp7R1qxSW^nD-)}M@?4@!hU49XiRMG z!%eFdAQ=tdzPVgFx{pLFEg0oC1jae>-9EZ%>$Ov&;8?YU4B8lsb7nUZe*+S<1e6U- z+5#L%5WxiPhg=VT`Egls6@X`p3c;hZ(v^pwT!`7$1BNqhA~eXXkdq~@1JCE8kqpz*`nVr*TY#Yu8h+w|~%y|3CYK;=4JkU!W&IUQ%> zoCq93x=PyUyZexJbj>n&e*qCpuokG>8x4$p;Y7IhnbS^g!>Gxa2pzx?OOyd^ZmRHAM~hIIk99kh1i1D znxw1mbq*E9ZEN?rALkaT`}rID>ihM@la#D&p{;b_L)LbMG9S~O5(9*BFjtCwPr@xD zf^h{Km*f%WCa^$je>bY0>Z}C3x4)}M7UXN*HBIaJF@G+H_gj4)Q3vx>0 z6stB0-iS7w46MHe_AALSNU`hI!u{NjbK6pT`T3V%);?ibf3$OU*eD^lQ{uP^S22QV zM=d}^C43E@vLSq&I+Qi0bOkpLJ(pcfN4lUmL&zEpYiAdrs|?qawQfj^pJTz6+L3*4SH-Y38fdHDOjca3GC#0@!! zY{Y?h_JmR%DA+v@%fd248?Co0tAk@IHY8ner_Yi;5eSQy=Ky8oIJ=`M+lOi;pY`zf<0%|wSvzeZmZxN8Z~@p`e-U(sZFQ3X9C5^O^JS}-MPsP? zQx0E50*)-3QcIL#m&)VEFR=YE{q8tr%AzW9-S z@#-lv1)9-}TxW$=k=_WDK+3_?Xiql{xl7&nF{8&v5|w~PBy$96kb(9WKtFj57k88w z;2GdvCXwhVYRK{HDttzPaEpxVW!;COO+LdH&wkCDV8k|ag|rD7OIt zT+7N~a7Xi<+hCUKYXJ>0HWhPJb85BRH#C2ge;_o&U8h<=8#PQRrUsn)V>*sYUrS1Q z?_D%-(nt{Q<NIWi+m{Rd9(?_K$Z_ zLu~=lDN3C<65VYCd?Ty}eJ+{ddit?FfAmaR)KIz)bZ-(E*)G7{&TQ}sg3EhiOjqy& z3bU_(oY>3cRz1w`FG8myEWV(**a&e3j=Tm&l9XGiCYHg#o?CR*N?8SuA2ePJIQ8r? z12(J?!0WM}p^9Lcu_#gFYNr_((!+PmfP{2}2SrB{oNuSX&;2;Jf}}6)-PdpIf7Oe4 z{l!=IWP#FnBxu-SXs~F2;++fG#xp_dCb!X*x}us?s%{&x?YYD~z_ox9nbuBO%l26% zfT-9)?!=hY;X{ltYsV#ef?SM|8p92n8Tpe6PFN~=g@^(Y9u0%1tvJQEVo#ku_w?)u zGz=IbJ`Xs7==mu(**S$msVQ<$e{2e3mZ)Liw!2e~4OLhPSaG?f_Cn~N(1LSth(G+p z-}?ljivA=y>EkCSWt@YY?dc$k9^dGd!+LUgGy z!Us7d$f<&003^^|=v`QYFu3W>F+ks3XGj{9RW<lFw;%ucJHPw(vu|A*o9e?b=~X#_srhh5x@Vlxox1WK=F>2M0v~fS zl0!}mwC<&jbijJL;xBL}21USv!nwzG+STbsE&|%G4KMU*$chJqh!pnM=apP!FAIH2%*dAnAR&)OJH))0iy%&TD-u8K<-CC z)rHJi2SpvUjRf_?#7Vhxm$t#_#CkbJSzF(2&OnM1cP2nGy#UQ|B0Wlfb8 zdnHs)0@9>iU!{kCf>fd+|u!!?Mw~*pOz< zMZ|p?uNK=3sXYd>Ar()8#t>+W(oQLPbXQ%O0bqn@A#pseNIJWa`?+Ux#!!=h^XzA| zWIjiBT^z^t%E2L?J?yl$RjM$-JnbZNA+8#q$Yqw5 zj(}a`?UurHe9WIUr}&4~~%xR5nN@B(fd(_A_%Xy`i_wzP4@ieCb%j^iH* zG>swHI<&$MN$uS>;ZMHB#r?v|FJIopAwKgPdom7jf8E3(u1{~JL7fo`8MFroJVDrC zUv`P$r>{T{=PFQ5YUstK5iebxK=+w%NGm+~z=jm(Wem}zt z*W!*w=%Jx}yV9Qf__%Xe+o>1+^*Q%P`g6azCjt@MO(0_X6!*62pt|v1Goa6a-K80B zaTz5|e>aBOD#A!49n!N0C-lanRUR4GPqYqYhd5%=m4T74XBdxwa0Ukog6ymm*?9g;S6~&M=T<+^*QSG?F^kYQ?YX1H^lcIBPPqC5-{`U+N5`h~0`| z{>C4ce`WE57g@je;)|D=uj+?(AIJIJFYyTj?fig6{rK}we}ma4(Sm|boHvP&0Sg^0 z>P;c_Guqi8@;(WWxD;gm8#*Cx5mh@IfAMh*%t_F;sxv?z=R&s&;iydKikQaDvvowg z4S=mV_KaK)|L8Tvp}A~sB&m&oY}^hzGENRZ$9uy1$Gy?iR9#97Ue*B~4H5~DYzOoh zbo()pMWv93EC40?%E;NE^#jc~_bx#y+pK<0KXK^+<>4R0Qy}Up)buPqu~GE(imCora)2 zx>}EhrpfI$=eZx}Rs`_H5Ax-kr?|yqIPT;=O))9e;SMWlm);n`v|AQUM`E{~)f~|Z zqX*J(4t$)DhGRUQLIn2CWlfGvQ29~DAQe>4NM>M*xQZlR^_)RtwO!KkM zIe@v2oZM$NnhhGs%hk##hR*Fp_PHPD=JWiG>!rQ;%HF(vQmWG$C&&fpf1yuyXnu&8 zgd2#FYJ+9*1}`YcR{;q7oJuX$U?%zC(x@o>c(=;-D070BEWD!j8MO*Cuxy+^;pVfj2G-`1ak@Bw88rZbfoc>GaiW z*P4w^-xl6CAKteHfaiXkZ_=;d{phQD`(vfU`vdqXs6I(zPDpuBf9<8iV%+-l%>r{5 zEF_x{Plz1bzSlAYU)nBs19YA;N0mVya>?6PgQ;veq9cbL{Du${)j2S=Y&g?Sv#|lS zQ~gHi@TdNkYoV>3qsCm-_@ZPBqI_Fxh%}lAU|^Wpmia}~ROjZ1j*MC8>dzTcF1v`E z%xpdy>L7D%AiBr~f0eCFFOlP%&ezl$Qa8+o5Qlf$2YcqnxmB$Epv!K8!nB{hJpk|Sm)`e8(g!E`*01=2* zXnStQ9ic&%JSKm09{kp$nd8s?`9J?>AN0K$_ZRwg0XoKJ_lF)FCakjwo zj>#>IO|z^nH7*=c33r)a;tlu{^Pm(@7e*$NK*g=f;fxd$jjTkHE4Ya=b;cjY|Gq!F z#`c3gf63Wsx-l-FCQ#)L>9{GNOFYKv19cCsRW0WT7=@a)*7iZIcY1WFA*DkND%d2p zADk4Pr_G}bBQUJ~9rJvkLckQFId93;&;2-ezVc8U+%**>)U_k{fYKh`bD4p;)e)bLK>yA>`l~>j8g-G*_sm(V4W=S z?Q6)V%&=y&wV-oF)}pOLkb;UISp=u_ZW5Q&PXl@w?uX6>P#-gC7#2tERh;OhMB8`C zfA^CR?HU2C2&_<)qZzG(Yy!9H`0}iy26eCX4WIBl9E51u8oSMo+8;3G-u(!}oxOW+ zr=PQxJsn24DXqb#c3A~8Cy7sLNAeb-`|D}%>cv5T-yL(}x!>F!bK(kQ?0Pr7xHfIWoFO)VhE(!U4Ok#h8()zH zw6$*<8Ewu1nT}RpzI(y+#LKPu8gRki9!hZ>NQJ#1+vlRqiM*xbK42$G))nu?@eq{3 zDG6He#?@PcVQdI8>b{tO&M6QVCar;~Ni5t+9C6NbAqB6~FmFrOPz-qYzOB8_e=B?U zuJVp?^2~4TiLRyGBx}p3IHXx*W|PlKQ(wT-9`LUA0dfZIMnU?Tfp3D_j0utSmbE$% zG|;C&b`Ymhi|B0$#N`;h&^AmmsDWKN zyQ-C_Hx%jH!Za1h$`vcB#sVSZ&lT zov#FtIX9pjerw$S#WyG8cBwu0D|>PR%{LS1PjIOf6sbnoFjO%e4cjLJ*cT8r))rW) zFhd~l84eq5g61oRQ6q%OCenMd&}zHZ1E8<4Y|}uX_ufZzG$!CjxykA(e+c}VirMe& z#)e$lP2N>y3B#M(BNftg%qSq?a!h&|23Fk~0vZ3RBP62^m@!bG!NyKL5;heGqkD%v z1ujeAdEqxSM1r-2?9qas4{M|^x-HCpHSCLe754USAoJYs?QXq|@5l$!z{j6Ix%I|q z0v2w|i+xue_--3^?uNYre_p#zdxyGFI&3j$wsSu#9VuW?s*Kc;sFsr8QKv)yFMDsc zY}s+7>0MMcid9Xi%hWPGgKiS?nA|<;74Qzn%%=bknaD(ECRxpX2&pyC^E}V<{ARL$ zC0I@DeJGi%65I(hUa*V+$->UH*Ip|k{QtiX?BtQL<>Ue|V4QiWf4=ohP-9HYJL>8E zwi5#Ha9bdIPs5oFn6V8?;2FBioAOy}dNeYGWM%8=ey!Q!1d?25p)@iCE<@a}N*z_J zy;&JYg01tmoOKGZ8sJU$sGycL$Le((=E}P6xaYrjcf&pU!rk3)^Je@!KhNqp*XkLdCPmw8^x6p&maH9If8n>Mrhkl;+x@Nf*h}_8 zw&wec%k?Q3m!I%f`|dJ+5wD;BL1J6;oP>Nl!Z0qIhQj1BqN>Eb`yG^54Vr^Vdb|#T z*wRkoG+ug+f6ilVjcB`9WC5oHs~1?v7Ta~{+MHv~HA{;70+OZmWoJPa4R~oyM7qv$ zV8tBms_D8d(4AcC_DT2C=l8F^eQnQgUcL37-!0}IeCb{cuF_3#^)r0d%?n&tIh{k= z#`N)wTm`uL0Fgj$zvicRC}JQbaJ)zvIYzRH!W!%B=(xqovk)uEOJ^UugFv?&hb!ue znnMYyvcxRmG%rJv?llFaRpj2z!YMiiWE36Qx?(ve9lzx}Lu28?-G$p8e9?YCc8JR> z3dT2eWPk55P6n{*uq!isuI*e3s!O*Fcu-QT!UzXJ=GM!H2MER-9d=%FLJt$0-73P; zjE+@6_m^~Vwp=LVV{6KtHjg|{fB$32Rs^H=vcO^WaOwb!HWbNG2|z0ZGT^S*#zGo4 zR10gqNi>@;9&;@)ia5!CwZ*@Mr_Go$So=_8;QMN4xmL{es-bJEFSbwWT6 zs}A}?Q%^z%bD&y|0ZJ#uS4REzhi9~=lM^!`5r`9|VIdo8E;P&M*j>*mPyxBk#8?=? zf`4p^{QxYbD;?1|;yncH( z?tb(|d*Kk{`wM;kL@@huLFT(fohqUhP)20BswnWX1MF$^p)mPofHgo$@MG7t8)9{XUw;H3DG6)6fy?~#&s=Z3?y`MN!*Fdc{JedR z%@keuve#u@lftxN+wf=w0do%F)(Qi>JUt-TKAS-DZQ$FDxqvvvqgj`Bkg8i-+TdY~ zO8_=4iuSl2f~y|_35*sHA5mXz5s!-(i+{AA z=IUN;?IQmuY?;?#aHoYtw$DB0m8yd*!WJR8MJ%}zoVSbS0nrE(&JnRtjpnTZ;ll-Nm{oV~YbN?07I9R^eC1O`2> zgKp=ekN!Bf8_)Ok;g!FB8^3sd^Yu#z$~}Zv9}0`a#hovky-hkZ{BSUqNq=1yXWClo zn^!XS!82k)32sm$NdTOmK4XBC zR@?nF1i;6|7TcOj;F3j7gnz+FygT|fptuvzJ*ROZbRbQVbQb<5`Yr_AU$=-D+>4|4}m-)XcdOD@)P%YSRhUJVC*yLTMB zcx>N{+g~q?XvbvZ5Y2ftCBR<}+u>*AC~BGr+GAY^bUSk0-DTb~J0AUUZtjksJij@w zpTGXuOWM~kW5g^@F>d0kNeBnRQnqXhqR=^jCPgH;G3JhYmIC~Tbn{khda&m~KYVWi zS6;w;!Z8^4iYX*GK7W90ezma(Zu<;_$YjhHY*HUt@D227^Wupn-3a322+9NO7vn12 z=~x@KN@O@d`a&9HjoD^%Or<&nWCa)s_V>f87ftkoQ z+`dBI;yL|-7n+9m!6Up1)IMY{3p2P= z=(Pi2?}=r%aYIztu-9g44R91W+Ihlye=-s^elWkLMsx3@3gOxa8$%Q&5pMt^=kDN8 zK&&7!ZXXciyS1ypE$oo+K&zRag=WSfAi<~(PV~Vwk$*1ONvwKc}SNU3Z^|Mu?=W1+rD0^2K}{Gj(a;~4*(N_|GL1^TB>n4 z$;R=65_4QqmEF;@V)ZpA=i1i;U!(y^IiNyAiuSlmzI_izoX%D4?8*D~XaDE+EiT`y5AW>Fd!#ULSCNmtd@szl z=w`O{X%0J4{s};n<~kVn_835ZuM!eE5&AL67uA7bErm8`Ep0Y>W3dT03J$XxBKIIN z1AlIh7F|ZcSW%uk@ZN8z_4kQ2q4P-$2{tu-`saTD7SYuwF(zcH!_oM!sA0O*p?bpF zA2My6$b!oYrv->66A+UH1rztvu89>Wo&!6>OQHZz_=JUEEL*S_L!|+^+}4iOVS016 zyLaA?heh=03-{ttW4k$O{0#GXlkxbOqkjO%2BYjSsLMUaH1f{-lp#C;oH7vS7?bUZ z(+IpOpb5tUQx?W}mtqM+G&>V+njC>0$nNZLoFHV@;kw;ASW#qb{r0tN_($$xtwSS| z7M<7i?;<40*Q2!H2o zpbfLVl-P-|&b|vCf4s?18vgLJyK(M=uiT3%7P?8Xe2NFHbQ&m*F87=R@(HjhB-S2% z+NQP)Xj|Z&wOJVHN&~-O)`&3=RzRNG+M(V&%_sNRf^{gUpOCxEhC;rLt~GnKp>aYT z^_DsM)4%WoJZNM0=2IsXybPzhEq@3v7_J5k`>9WaJ^JR+dNfIFut;&CjRtGT znQU&@VHFB4Xo)w(uAr9|XyRb{OcH2$3l8s?06g5Dm6NoMtA=gWax55hh>wjO1oY$r zG*>3x=RggxZrvv!{>Yq*?TjNm^C&F9;{f%2on}VHgngtJkuzun1bBL~@qbvE#F`Vt zi`xh7*YyGC<7Id2i$`C$yW3uG9<=&-K4>fZGRT2ruL1mXGS(asWx(`IIM4(`@kmfq zj~IR)0pJ0oY)dx@l=Y2c)q&`)r&p7+_&EH4ClDAmRy_6K92qe>Dl}SP6x}{(#oAb$ zqPy`j2V}2iL$1D-K)+##<$pP(R(%!kwg7R(w81Sf(VekWS|oNMj7O-V%mEDm#0V|L z*I7Fu6hP6lV<6d)x`D;yc5?p@{p^?D*qc}HpTB-%ukVsGkG^)lpGWPdzvoQE0-={8 z8xwE2JgfT*tn?RX38ObSXeL4!$G~+4)EU!XQ5;BgF>@(F^EE?=p^cN~ZOmCs4gGzhJBV;A7$+9ts8#?$zv^IPI27pPD9=l5>;TV@ z^Ei^UFSlxsQ-xzzoc{M|-1@}b0IJ}y6qr(J!whJL<2cLgr+=sl1{;K4=e$J%{Pdf8 z_jUb_Tkg@9?)S58{{eV|payw`dW0tEj`aYU*0(u=k_4I3p0GX+GQkP9 zA+9&!T*$Tjf{8jP0)yepGmeCPTYRe7IRoq8tL=yxyv*D9JuKp|8wwZ)81%xJ9z6vo ztzJnuh+j>hV1L(hI!t#4>bo#eyOL2tJQ~SdxM4#DeK5R5F&Z$QE(WV4VROUaydVZN zv*fao-`sM4`y~?e61mB@|EQ;h%tPX({AAHL_ z4sDrwrkUm`JRkNByw5td!ihOlf+Wj;phS2D#zEL(p?_FB$h9>=d;@mijl)G?&zs_5 z7Pm(=z2absd%6x@hX!624ZJpbkJtoRJtX`Qi#@M7ea&m&OQ@wzxf8=#vNJp(bw%o&SksdTz-xl2;{^D zX(ycRf`1&9q@jBt`-})w$6*~7L_wMj`@n^>U!Kr;M>Sl^o`W)HXc5-o4vioTygfUj zD9SxojE(J?WbSFr_iSeC+%?;|5JjEt~Ab7%X(_YCyV}iNHRO_(ZQM zJFHC)+;Gq~EJW_N(pb@;U2UGlegMc7$s^1smVXXn)3dVA5Sh0u-!J_6>o0$PzjJu- zMSBtB+ix(wpHtQ7H?P%Wh`jMhhE{ee9US%+$RMQHOX*J4f;V(;%kEtoj?T~O!vJ2? z9xF4}SwNTWvtsWhm$)_B=w&v1D06g%3>zi;QNy)1r`+Cbh2co(7-SesqKs%Tz)d;b zynk2hg-m!(z-%k5Z{Gg=`TeWc&+qTT=8wK|Ki1dj-rQp?UK-;_`NAcf zcoVc_K=G!+i{4iQtDUc27~V`MDrPL2(|Oh1|Xbf6*vo$jkxeQ>MS}>CKGy7(dHtb@9XMn}T*;j&K zt``!E&MwTXCQdj|&{Qn0j^EyKf8*!x-@aM*v%be(vlliE{d?5jkAMC7+-twNj(>ml z`q}@9@3koj=aVi}eP(q`@+Z8h6YGi%SyOB@0<+J?WAES|*dvCZ!veDALWnjdm^3bZ zDp(bbS0yioFF-+fFLE1{fJvt(`8tDqoPPl|?Op%- zu^;C}oZKJT&wurj>9s>jiq6JvkO>AFdL(Y7dx-#}f+QMZOl#C!Rid@+2=6O+Rc-Xx z`=Fi9#8+`}Gi>+3DuRAJshwtAxp`wo0`#+T&G0FSa*Aq3?u zx~y*SbUPm~IIaw5ARP&&2!DQpv#wm2>+rMp4#Iq7wU|IYcYN$MuH=Oimjh=#PHt{< zrpLVp=&>K?R?G78cj$fKAI>q)8a^ihuQcd%GxW~J3PcjIu-B=CpegE>e5?=EEfCxD z;hh*LV7zXU(G$AmN@#lFmvpG?ZED!W`74w5hT|`Yg@5xMe(}U#ZhsJy|9{fs{_HzG zoc;V)|F5)D0LUzu_gcfSket3(GwdZ8)HSUuSaTvr`CN6`tzplu1HZCw_))u|VK}_| z-WIK&F|c0(*DNDE!{NwT!9!7V9MEnW4rR{m_y&WQTB}24+)!dwg+>evEE|aMI*3|_ zXu(C!QUjU5fy2ZBh=1SY0VSTzPMwkuhD3dmIjJ4M^JC zdEs-seeC5?L|7|ARcYos(*wJ=~A4$A)Ym8{8FE+_`Ml}%d zrXM#wax8*2#obXa$#Q-8t+8tXI~Rse5MFVr+) zMvA9@@dp@`J6b6#Pq%e|z3NANV^e}$Bn9DQ59aN?z<8XJ%BNv64J_`4YZ{RAbB54# zRFl@AyrwHg9iH~NMyt-i{h#R0eq7*PX^yY-HrQ>v&(vwn(1HP2bCE@!zG*XNe@7Y$ z8=N{?3xjsj%zw?Zr}O1>8l3Yg!=7r}P{Bi_6`6S`#Aog!**ni}wefaQM4%>mU`e-< zfIs^1&9}FA{G+ef3wJzyImY+y`0H={_3wBFv6cl5ghNxL}uEM|)oB*%c zLe@kwPk$F7jkNJA*r4Q{S`NcW@0zf`E;W#x`l^Hc9O>lI8$wduHz1Fu z6%Tpv#rv^ZjC>79at_Ld)~;C8lF_>E?PzY`K))Xt6Hnn->Ii#xRWDdyawZnSonf6q z10)LlrKxjYf^Kv{#~L|sxQczju!v9YkKXtoG5 z_HI?NEv#TH@O8yL(4oWVec(%;)~9wcxZGqqqI+E->t#sg13}O{AV?sUIayKZy&P4y z0MKuqzo}PwSDAbCRl9rCwl7!z?c42(@BYSTcfX+lXt@JWr8>U7l{$|xfj5$2f$|Z> zntu}@FzeJ-S@l?89HEKW8I5PoGsI^(ud4-#LoHoszT+Ts93Dd>lNQ=%Q;&?k@L;)p z$o(k#nGe2XcaJvtvVAGP^=SL}*Po!B87P{XRBYmvwP^u*veM@UBf?5`gVbMPmyZnR z*By`u(Nvf$(V2#a0e_Y(DCx_bIIVJP8gL$~Af!8PpGA-UIJbxY z=lz%O%3fcY;1^mt(+~2P%U}ib6BpRpcA}9mu+KuR6ordpz7424Ll0-+ln+a&c6inR z_5NgmtiP*#D0Cp2eeT29>4=h#$%GEOwKSS-GYph3wsby&j_V&Pw|}VI{-JXF*?(4U zZ@tqw)%c%e&2s|)f3D79KMCvJGk zUV{@$N3$=$Ug$wXAubuV;^^|pjJuLghj`|+O5P3;Y(IO*gf{#8zt8bkzt2Y(hX2rC z{zHHH5B=r;um18+KlRQk4R9_P27hU7W(?zyvD=40;#;le7PATagzfG*v?_w9u#9E_ zuVmMTokCkE>)4zGu_XTd%zPwecdr1MO~%%RL;60CZ9AFcHpl?rX*t{3J}h%LHkN}T zZvu^Jt?AxbbC1!bB4tpaRMAx->t$ z&m1tI0LXXQybDIaPJ#j0wwb7U3ESwotbsK)`&^p+qUqE6Lfr zMOq2Qw+Gp|Ja~dX{mVbV*?%cex+v#ZOUS%5>zr68k@Gt;)}-SxGNaYl-kqxsn{M#$ z*!a-tZH>Zyezxf>R@ORC3ovSSYlPV=I*?kfK;B`v~rY*KkVAHQ6iKJ?d zB=rWdgH0MC=&teU#L-8CcsZ^J>{N|48*^WfH8wcd@vE_}4aEQ!T7SUwiXOxi@V;q_ zm5M?-%-G`lc3SXf_U@hi`qeMrJpY}$pyGos-0$bM{{is(%G2%ijZ#_%CVrH%X`@Q< zYP1H;-E#G8EO8ct*v&lVXgEryYaQgvKqtqJEmonX6sV$)Q(M8{LcbTaBTd86vspoD zfWxKRr!5jnSaiMadyqh-hs2k9x*Cb6hN2^C~+>$J=9r7QNk|^ht0{XxK85x zN$eN%IxAhKeBp4{DN4ld+eEQ*D*2S-w}m8AwgzmBw6t2NA49I{*jcS(nNGQ=2f9U5 zJ9+DH#2gUPmqBA=5l0}KPu#n6BIzvTJ&GpZx z8&y~T98>=^x_{22hez*SI>X$otu>aytH?7mbs088vUkBu-&CETR!Ll2xmx2}m*P}v z%(?eD72#vR1&T&?c4OI%dCTl_u)71`8LyDrbAf|Ie<247xn+&Xg07H<;LwCI(IY*E zLa{TrsBR}|4@;$3IQK+NGg{@uAuA1vcKMJG(*LU+n}0F@%2$AaLH^ye1sX}uDR;TV zKdbj2-Wk5byJy^^FWd{s|8dh9{wxJb*@g%t2fcPTbnrENk8v*N1;^akCP!gh3oqrK zs90)7zbp&2qGM3FN-_IAoh#cyep==>*)}eMC7iI;kHukdU|Q~x;8*AEU}#Udio(^V zK}dg?I)9FgrlKTt&{|@1*yF~gb+hUHrHUXQyabBg|e1FmOASCcA}OF!C|@vmI+0F-;+lUh8@t+)Z!)U*81DjYiO z10yGZx8R2Kf~-L&%02j$q7FiG8DuWDv6e7_x^Z4-m%GWzZM{a0L3EvAWEq|bDC7h^ z{eP=p{lyob`kBgr`Ybxp#!$)8$wikQ!lXdk+|(I`pNvhT)6pG5#jFK7b;QQm`hiGc z1|xbf)LrHfOu~3j2EtZ8mQg_Sd#bh7n)%utt;pMTZ32;3u?M{qo(@=x+Y9A5Kvq|o6w{NfVc5AQ1bGngs0k) zb!se~bB;O9^Gf1xyfip-#dU&0igEa7Tq|Z*Lirc-h-Wd=TM8{{-Q53+I|DCW{Buh1loh^yV-lG-_dI zbZbq}ZXS)aS+&__-+|Fb?Y=jq@00UiW6Y+YWtEusQG*~rFC ztcK4XQ%{pxT^Wtq4Qd$jEvyYIgMYEsEWFr){mt7GhJ;-YJaVTWvPBK{45D6_E@eopjR@fG330 zd2)ADl7`_l-tzR7VD6odL-daKF~NOIExq%U9q2;_FwxybIMn`hUv35We|- zYg|4>Yy3K!fv4~?WDW}Ej-lk5PMg)w zVbUEwcun_6>U*?fC5T!aw0|GDs7o%JEUY~`cBf6(ocmHmu}5|s#lZ%_9%!VK?-$a`@A~d4IvQYXKOyq^+Rb zIMq=_NI0P7@$fP?W1RgEHCPP0^0A;DP*5PTAAsHYPu!E>-9JfYdP z9a1=6Ffde%4=bMjtsmfVI@?10`OLxu(3PQ+^;LTg_3|_KW+3qlE|Yd@3_&EhH(h7h znTgOsBX(>MeQg~^;D7gA%7nvvjM%L?bB=A@hqQrC4LWHEJlu}j0G}MNc!Qm?Ij+_~ zwp^2iItxHNV3y4om=h4XJ3d+(pVm~6PShz}PBiQ~3sF#b7qadLfyE}#lR7Mau?`l; z@O5ElnVaVAO!jZt*I&P@ufeaZckkZb9mzfV>b-Cz*KV5XpMPpu6?T?T2eESa(TV5O z(OQQZ5G3uIh#rN+E-|2nSxa)RWsT8QYBKt0hnQ`q^qFYe7wklAPyq2D=+3&?8MFs1 zg`H?M+q1=b`nSLO4CHLL2P+T$IJW@6XMAHHzLPS&l-UZN+ks4|7`w^9#^kV~__Rw; zAovL>;P&AM`+rj1jc6C@BvOL<$qot!`)01pMRW9ZrMSYB+GG^yuKOWYVMU6LdtgZv znSA?r|Ck>56F~FKtN>5h2Qy=YfNAV z)*3R74xa6@n{Kcx&>gKZ6z|c9GPsUJlFAeJ$w_;S*yY3<=Tt`dVm@rib z?(cTQ@aEfZUcLL}n-_t+kG^!jpA+9JA`vw~?PQ}3leZ866m7XTN}bl-^=uDIbFW^g z4ei3xt$#MP0s~-n7%Vlo9TuY6Fl&P{JTxU~QA3{}Y~|A?OBO8)?Q<^4r+?=MNDj<1 z7_#MUMsY3QmDSrZ2H&X=38S&d($;a=+^A~CIBh$?V}=5VcHC4j1)l9W3Cqd@BmFf@ z02p6@9NMhImvyy?*(+Llek)j{-t^4!sDR3?oqwj-2#AO+8R%H$Sqd<(l44zyZH+vw z$%ZDlO&NWUfKY7#DbtKrFl3ig9i`e)x!P)TH^6D6g1EO5({9MZ-mZJ!zNrt--`q_( z9(~nb#Gca)_WV=a^EfZ1Rq4^LTABJevC&^PJoi0$BE958*8m04aB@*f1Nf=VP|?c7 z1b=Fs1+)FCT~aQ7&8!(We}-9NjiZ3lFYy$bW^?8C`SkDp5KTiwf=_~85WBjxY777+ z9V9ddF10sE7X*Y3g&1{==`$E4Gdzhg8^K`?k}9juWeBOJ!)R_<0~AOjY2l(U0`}21 zCi9jum)(}iNoRvPp`(@1+Qz=x@yZ<57=Ph*!YYn|TF0(#r>!l1j1DU0d<^i`%F>;b z@H0nIJIOZWT48NWFT8*~1cqT!bqmB(j_AyDo5}yvZ=d7s$I$O>$?(C~?FH`5_}*c_ z$G`sUW_xFX03$u-#8g};i9l~`y@t)em<{VTAkMIhJP6U@BosB4efqe__H!XKfPb@N zJB=uofb)Q3$ct|j{q)^Lb@vt^_4Y!mTDsfdV^Z}pl0o?mugkO62wD$OKMJ(4=#+%=}3zvb+v9(y#%}ETZG)7 zysN+S%ep6eJ^HHMl??lrs=qze`+wrQzwrrB|Fc6Gx=ji>P)E_C;}3sEcFI7rn1Z3c z8BJ#m$&OCF#U>Y*wujW|%MdAVvsB^{Z;0}hbVN>BejK1F1ny>O?kU0VjXRF8!;YMpA?BM*Sp*yh7r z;2-biQOAWE2|id^Sr_-?c*Zmxh{Xbb;=`aaM(+t95l}>u;0B(JfUVxg(|>?Z(S^NY zXwp6d)i+1~rOu{09lZ5%Qh(8cEXXCaCn_x6j>tx@b__-2f6zsTMfJkN$Kh(L#R@6$ zJxZ|O9YUzhfz;G;oTWTQ#M6IxT?;Iz-EB3rSXvM60C^1Z-GSop2~hgrQQgsuqMgZo z3r(y~=kjs~=7)yT*_nWH_knM2bsX1gKjxBWR46xDZ)KG7R28raz zHAtMZVDzoicEET8uD!(5e|!xlHqe*896D#hI2q>qg!@;}`)a0pshMIrD_h~`6~eRU zSXP9Zjhzl(!e!^>7=Iw=1Zph1@M_9DH2d{#TbkfG)0I$N3y;I6|KzJ{;fDt%&`nL( zKubB?Ma?Y=WfmW{ckXjA%(FHny#lxZk=~ZI~ZhKIh2LQ6QPyvhCSvuavFn?#Ml_qw6u#%z?g^5=4 zBUq|2GD0C}>0D&Padb~PnX-2C5Rmm^j6li=12DYVQ#uqd_Vl0OQ#8R%)*$K~1XMBe zp(!0BYPVjf3~oeV6NdRw*ylrbfJeD8w+4nz4g6|axL($Y2pWc<(7{ZI*%DTxX3=Nt zW%F|E=E>;HPk;aUrA3y$Twqc?eo*H{^BA@QFl-Rtgm^gGbl7^AC!Z>GFtEegvL?hC zhP@|z#B0?A(14MOvvZE4Z@kobiUI|NorCqnT8w4N8v68KT-Tx;!?i)kzQIhisCx6@ z=4Veglg5hgGBVeou6O|KpffR0>o~1VlGRWxWy65zM1R}EkQ`XFc_!@a2;S%-(a^bg zDSA=muAWc-Re`V7Hqo{ek=8h z8$bHfe~nL3x+hK%6OJ;7d;||cVdEZsp~=4SR!~|;x6a+9uIHW^a90ty6#^|~j4%vH zn`Hdt39Tq+?>bO3T8iq@b0n}6$5%wu|zF{Ims<|@|mfPL+Ogsz4y zO!DT%Fj6rB$pbz0Lp-XTV?f;ZZRHXgkwaZE32|!tAb{$pk=K4OOsDkq^xxrAq^f5hi81(U*aK=CczeJY(%QIQiIy$7 z#>oWXh6bVSH&@N-5^Tp>Eo`3Cb|)Ri(w1$Jg`XLgcZ28B3dRUZf%{BcW8pEM{`>1w zq(cXvO_)rKrrYdL$MbT*H(X6m`E*&UlYgyR%wB*ko`p!6Ao48@bE$x?PgEeI?;Gup z0ArL$V{GtZ3_BM*haz@!Cm6M!{)g*rHq7wP!yoJPv^tX;4(_y}=$ScX!lpOJ=m`0= zl&R$jCIKG8e9c_PG7l=q0xK8l2|nOA#Jpa>9o?-bag9Me2BJBXXl!yl{f}S$#eYBk z$=^vukZY;mv!FKlXccEjFIiKXiaav)j@1of1qlVth~9dQ!7MvD+$EIGPtw84|c z(tcq+2M5_!wvx%WM}HHjOG0}C4P4i9XmM)OMnlvA5^nAl_~3N0I|0vdqK zG-+uO=n$&J1?w}4zSnILoCXdZVzJvYGC;ysgl$-1C|7D54Gb1t1RRmaX+o)3I?CZ) z4anz+C4bh|9;@5Q*-k6>h4X>6=2=k-kGL7xO0vzt0CNa%>$h3Jzg>U#+qZA(&4*`u z{mLzV@%Eg%#^i&q;EQ>{c9RGE45zB5(ILhKQ6-TDK{;zCk{JSr54u!FC!jnVtH^Y$ z%lCp&(3)vm-C&KGt!EQCoA(-~C$4n8REem_ihngUo0u^a&ON5BLI~;hw1HZw0dNtx z+1B3INhRk+$lA&XVuhFY%N%fVc5$Q&-kG>pZH7SYM4ucdlTk)=BIrS4V+n2_c{(tN2_&*()`J{@7~6%*KfbRldL}Yvi(>^NrTt!Q_7qLfZM$w^q9+M;5gq7 zjDMi+n9L;%?1maNetajmm*mh+T+Hp*;=N$oodB1vOkgNb%kO7MR#|X|9#<5`Qnu{ayX)_GWwZMSF26-fouSpW(A@Y3Cd* zU|B}9R;V=sD#x7G3{41#&JyVx&1;i!#`M02OS!O$7rc zWGm`;n-JUQ(o$5o2UA=l#SIp~>Jujrc22f~_5Y&d?evE6ER&HI5F^Z z-fn;V>!xq+ZnXzrvKLa%^re0;^^Cv%>~1wZ83Z}$#Q0cM>5N8+Q#vpsNPjTzVh12c zFhIB1eIRwDK!yWZsBS(t)=II`>KZ}f$Ot9KnS00Xe9oS+f-$Cn%NZ3ZByjI$M1naf zy0f`D2`M$V*cs>G_Ohl`3|A);2WRigH4~2nP(V&Jc&=I55;j7%lBDpAG z-jvfYEOta@<^rJ;TC7s)BS2)rjoGBCMxO5QKp})6twVJV{n-NOrwZI@>Dy@BKIHzU zy?Ouq>ivgbzpgvx#G|j=i{j|-mx(@0uLwn;rLh|fxx@MZX@AKGWM<@(R7nR7QqL^E_q!FGRiPEd ze2(MSoFK-l(Dt!F-8lm}Y@>;GA-s@@^Hl?O0t3el&B#^pcOL=h z)*g$o9e?aYB*i@xEj?X;XPq$7InN#QOh$(b(7e&aKtSLaNzqQ{xK1H+o1kcirybvk ze<3kG*I9h9*6U}r(J?HunNzG`jDWl}5}oZ7sx?D8x4;t#11YT0r!%U5H;*>A_r>!$ z?{YN{zHBd)wZ4DO+dt29-Ud7BV%DXj6o)?yTz}j~^(~zHBE-?HEqq;=8)63Si`h;) z5!lyRXRc~zuB3+jo^_^k*3fNJDtq(euwJa|4D2i%bT%pUMQ;bMyXENzuxO{|j1&5H z0BeDB`Iw`%HzzAQJzd z8h_xen_FO6cyqh`V{hKR`^H{B|Gj$kt;H|w>yKHCyH5CnFXD?shH*1w_!Knx1C~4> zPGp_5Gzv;9-Wg-MK-of$rO6<#!4(YACL*F0NE&z9dcZ4Lgq82KoU-XkSPk8>5u*r; zflQ4qM>Gb7rEN=bJ~7YJ|8ljJI;Osaz<+b!yA&4CgfwS&0KX0-8@%?RJ#z1c0rMFP zt~MME#4&iWRN7&%@wFD77Laju)WbT->L@Rm;7>Sfj2*QaJTn~YmezD0AB9j^LKqt!Lw93AQ?%^#bt)ac%#f2D4S!`s zhPo95(I!XQ>V)oVZ+iF3dGyD*oshh*Z+=zpUQ(}sAq@$_6=e4zAiI&a-p7iL`P&F~ z$K3%7!#o`eXxGBdMOFhq1CdwwTv6i$Q2eO7joG&7Ng8aBj@M~%X4lq6ASzBxi|Iza zB43X0L^`gq_5wHcOu3A1aJ^IY-G4WATp?bt^U$QIweqAKY66~RH1l~e^`#FW{lH&k zU47GW97%LE0elPl6+$$@`UPKAf*>(F;$ct!+gE?_lTSXz!vMC^GQk~=SWo0^FjzOi znLo&)t)Zo`kjFUaEKyZn`s@vyt&bAk5`(BF!(_EObce)TD0snPWxiq=0)J7BYE}V} z1@Xn5DFLp*%aOO%fEGz+xj;zWJyBgew9rG)>I*R1Jg0BPw>3_#l6xpMsK+bk2G{ZS*L*ZJW=A>|E3q!uK2!Q}$5TrVK zOcUFQY%mME`!UQyx?fZ_aaf8^S>I^f1PJ_7tz}jmI)naWpovdW(3*>HFkHUZ-i%s(>@ir=rC-d%B@G zXe}`0JJtKuMr#|;E`R^X5EAnXRCW?zPd)sTd0^(TSvMpwN&NgIc1Jf##-e@D4ZLAzov` z`cs@VoROLqKIiHGzU~WrxA;0?Tt_E}_iVku^5Hd?ska$<1b@$F@Z=V9K5i@{YP4t) zHaciPfeAUAtu|T$+S@up1=VX|^pZV7w?c_< zxTP#Su^6F80e_b-$y?}%iPDgqmkCy%+<&zbkJ@uE$V_o^sXhio@dalcJob*`fG z<|;gSaD}^di-RRo<0BF|J7!z4NyYnWAuVa`d~5a=dI5I|TU>lFYozxM{2CH&8NQM%A zPI_M<v1r zu)rH@uGF~&r@X_lC$f$v3x-uTPfTvD=V{8+miVodl`gw^>{z+f9`V86?2q7>f1X#+~uA`@ka;5Ha>UARJtVYHivZRC{z z@zX%iwCIS-hO%k!5b?X6{Zwg7)mC zYI_@I?q+1LA|tXRB3Vt;M*3lbpn0ApXn&sPd1^q=*p2r@lEpmt7Ek~q`v#$1Mlu=k z#kuD@$KCCHpQj1k&7&)3)GSepUg*b@OH3N0E852eH*nwLLs|An7ce_!597J@+F&AX zN2^1@jAw`00#+s%ys&L^@a8;@X{&Zc);vpB@|oEE-9573Pk;B`-@WwLPd?(F`+wp+ zy6Nb)X{1kctd@X3&qF#3fXG;ezcE4-dKx4EuqN4 z!e#F%bMMnC6)YfpiK`$bh&GWWI_8EF7A{_PzXw0h1fd4g%^ma7e+)QT>_CWj0Od`E zS$si13ZyM`m*Fd$?Q)v%Kgpi08GoSJH5V#VsRWolGNh6Csuc&TzJ-x(B3T08GTNmQ^Jt^&%~we(-={I0D$M5K)c(8trjmHL4Opq;7DH8 z_jw#O{*B41JolA*@?fmp4#qygWt=dqt;Cc{F;%+ZI4qbplQnIlPDBGstJ6j>Hwluv zwU4ybtj*5A_0x1&?66x?>pRTozQ1fJ_OJFjI%YB*Byt*t*a&M#Nr0L zvSNyYbN*P_bsKSB(ZtRfLAWa zyDVShpoErW3E^(^GXyZakiW1R=cVWsg$~I=*j=K1lWo9%f z4k!?ay_f)jKz_f%DkP}X6Tp8u#Zo-5n#+RP!w6?a%didF4%!s>6l1#EK8Y=mts{g^ zBuSC99m-W3y~m~IZ6H1f;?ia$%yy@TfBXY;i3axjv0V@I03~-jNOxW1WS?S?cB|tN zysstoN~7?k9qTj_{8!j9b+mSw@MYN-mvU@b3#yQVpmYhOm#}qi-Yb8$*jn1;;h(rj zaeeyWK7sDtbmrcUMQ)y>9Se;Vpod5&k6a7WV2sK6a17p8bi1`FTP5-&BPXIDiJ5cc zY>ke?=h??z1<&1yiT3XV!@_$PdH5$UFUes^soa0?=(0i5xFNds4?~If4r3nLZ;>-j_d3pG!u4@sa z!T~NkmN3v-1puWT(nb;9!c%l%g$WZ1fJ@|uL7DF@!0V13!($G-zhRUEQ@(cU?$&8g zhofK!*q!0aE~CWmWs1J}xKsC^`{Ufd=`UaZB;US#|5V3aeFJ}689bD^XXYpn(%}MW zt$<;MojT9hU0XB=cTmroa@l%fhB^-EH?VYu)J`i$(hUR{oIq%oIb$tCj9_Fnol^%> z_YY8*$KQ0hzUjTkWTWVWLxsTPSU)1(So$J85C6=CUF{gz?OoVY21r!L1Gy;?#bHS-I#`~Ug1U}spe9Wdo4fNq z3h)4y`o+0y5&BqZyDW_oPn0Yn|YztgO8Mz<+xgY)T@BH)b_I~i)dY3=T*YDr`z4Yb> z-;OU|zIy+cfAHN8E>VB=5B}hHzI^?~t1o|l{Np@-`A`0qAAakH-}-ZQQ4Ip9zLwYp z*)Tq`(9|fb$CjRTyfrZbymtk0GS;S6Q*9asA`@rNSUsIi=UmRKog)<|ig4aicRPid zvVxp!y)C40$7WCw?^uU}ZN2w7a+oSe*TrKZ4zXm|&eH*u1mx?mjv zv;16!$jeyEq-ULwQFOLV3}$&lo+f`XjyY1NK{-71;h+B|Bs_h{G()?9sGtCp@D-jO zG20040AYITaHTQ1G@F!g7cTEUWY*Y;p`Qy61*2+V?LE|;tbv4gCi8U2yGk6PzG%pd zjsb_w9cAL$7M^!A3Qxpw&E);SLIbLAZxEIAMd(n$(}t& zG0taj+qkQc1I=!rhAxwd-!;3R@$fHQpQ7*Cw(?Ql+6ID+O(IF7aO|*3ww*}O?QqZw zPnD_8YzS1wkR(bTV6dn|V<6ihQr|1q#z{nPV>H|4bx`B%FKofX-^5GYeri6iipp9!d}U)N?Mpj6ekBTYn6nq6S_nj7}E$Z3311Y%l0 zKr6Sb)fu_9)%I40sHPtNwNC>2{;yy6g5z@JiCdo=M1_SCF2Oh^IMzD{QcuAnqcHM?|7Q6SSz-u6U_f;B zT)^;5S_ufAW&-=nZhK7{{o&ud?u!c>+ZLXYWJl3on!JCJ_v;45PO?wqvRH;0I5v(A zR#m`BJGk7c3Hk^|M@ihw@YP+`;Q}rs*ksW{S_t%NJK1umm|7tQ*dG3^4>b)v&|yOK zxw=k3vvy1COT6bq>w@}0<`WH>n5Ep-s6J@*Yp=F0n*NrC@JL(OeIM28kQk38=k$J- zFeIX-bOwL?#B&}qiE17X|L7n7`PcVwro;-cJhI2X2NJ|VL3o5fc<1~ z*owA==^P{iNEP)&nkBR2uIJGqgb<|w%Dw~I7X#EDK+Xrz?49sH0Zb9d$$Rc_Q{U}^ z^!b^HUm{;B1rOiMlA3sgR5NCC>>TB+c2d?j8i;=bcNe*ioNC$th*om;&{KW|KG)`G zz~~cqEb<}7km(y|_q0Rrz}mm-ZGQgdXZhm&TYvfLW#I{v1z z7Cf4k06)Bkjv@}z4Fu4_kq>xK)6_7iUyzC5#iZTU;f;Z0D5bzq0}qXx*lEdlW*v!8 z&=Y^Jh8Dby;N0cNc5*5uq6}?YzaPo~`*Xk>ZD%9$zJ^P{$3P={uMOSH#DZ%MA8L}) z$yba62GQ8w8nx{um^Gr&EYfJA4BT7iwF?AQKEt;K7j`+T`GPA))NlxQKkNG=h}+*h zf=)j7ReMrkDK~-TuU*jlCT7p;;jb2L<`;P-J6Kx$GLl8qr`(-sXK`fy4eXol0igMx35a zxd~te0YRiUABNTsmI^q^tIM9%M_&-w??k|m;44$ZW0D9XKCJI|h3r{WlOaz>$#;Ju z@DS04s2+5Z?@znm^`HLi7hK*))9dHGa8F|X+YR&o&4eY;mKY5D&E*$Fi~}|%0KSvz@tL}f9|MX{192qy(B)Fb!HQ60$gayb391%K(9PEwI z02)UnJA`yIm)Ed0W4UJ&*!^lKyrpO`mM(J=mvHR=&xI0qIJ9kfNge&_H1`}9u@@_&E+m%tBx_aC_K)Iac_{_M@KoN@ojU-;p-zV>`xZXr4B5Eh!-@+04%V%Ik|ElnXp-E9q9%Mc&?GVw!yLy=;#i(fKc4cRZ`CIjVtEy zW1d~aW`^&TK>1kkp3=TkQAPm7zb~01P|?)D@;zR%Ir2n}K2NK;8qI%&4EngX&BGc* zldBdX&RLfw4iKhTd;4~cJvST>Z1{GeWn2@#Em79#_(*jHSZaZ+P8qPr(7T8iPEtt|3^>AC*CO9N!Aj{8zW1{G@?*ltC z27?xU_?%@Rr!r6j3{ZbSTJ_GSp92`f+`Ak*=M8!1{b{r{k<&!&1Xi=X7lz$%ueX{p zR?CiNA1$)Q(k=5_YD=Zu`RM_cR6sa`RyYIq##(7w;5Z7wi+!Od*YK0*#NPM?9N|2?4Ym}K_3 z84=kDT7jRMaK5w_nFe@MucMe6gYj8l_w2+ZYhmKXQ;Ts9HnmkQjjd;FvVDZYr`3>} z;Lqashfy8vo3Q6VzRk#_Y<4~a&Gwau^#D}FWwV5V!nZ)KFMkh5~^$x1Qn_n#^3l!w0WT6h5`#wy339$ z#e%{*0SteLpWX6}r-}leurTyTme?WCy3(yt31B*0y*R7S-T^>G+qw5OR%8&}hqN=a z4d1DT-X8dMqqOJ{G6_&qLs)~seZ_%$VImAVCe8yG{#G9XBNqZKh$o_zkARdQP1M(D zg__|EVQyHIW9->?Zn)pK*S-&FzyJQthhEN$4@-aT+fDb}7w<`2cDv!SKSn;GjdI_B zYb==?U#C1Kv~^A~V15A&h@=^zX@Rd^4kURiFp*0Hu%NR))f-GyDEt-c;Nii2bo@}) z9zqOUIp{-)(U?N|gYW3Wzx@s56V4gZ!?1uJkP&fHaPZ5Nxy_Bc2@O~c6r{8D2uY-+ zY=M73)^G;cz>)5qEg})(q>aBOy3WKvAf9=EAvq@$%GN#SC^8F!zUf|tbc)I*G^T)y ztS~UmTu3WoIy1Qyp054iU~B=j(XNGnr=W3WRmc){If0Z1#@*v=+)QIPf*5Kfs8>z) z#yKvxLtPP{zO3^1;M;G#e)GlqN3Zs0zGQ!oZuoI~%8rjj&3SGS$-}?%F>m-^{4nF? z>p#FhefHCLKm68L-vNvyJMaxIYmYTxMuZPNRbW}hCnxQ5vNC`J*9f{x19vP(JHrsJ z$|X6$I2vhdAy&gz+*C-R?qbZgN27!=lUxA8T>_KoJ)^@o<~YD?kC-)G^@8>>ifDgw zAV}%CU0T)XMSFEVIJpTgQNCWpg6eti>6l12fFeVu&2_FWhDHmYvcyFJ_qtY&4P{)U z4DNG=Z~yU6UhYRN;OD+(PpFOQrZ)aKZr47l!CEJC?m~*M7w+~8+PP!1LRpFm5!%^D z=AedB0I))M6!hiC!&FB~nD-eSHH?3x#6-9^876=W;MTk~_)~D|F-sC;lR7t5YzE~QJSQw8^=jS0fD^XsB-wg^;x4y&gEl_5i8ci zzjp<*7&MI?hEwH4+@&r@S_;ZuVp54pf0Y2Bj=)vxh~U z(4iw{UvwV+gO5qXydG5F{p=6+tCxTJXh;0SBoubb6^8ssL&SfsA@ZJnj5ZA<)2~?{ zLD%7I=r{<-wg^&#DJl)5Nf8Hxc+;MkFaP*5h3jEUj(m62z=XcE9AYOB} zxqCx!Wolp*(ThOk@8HjZD7o+{V_?td*24NU^ALB}5M zXP~bE_AM`-vzdR}o_z_6+%a?CLp|`-iw|SVM**Jay>gGD$o3iA*IWW${fm#V++nd1 zYXG;nhc&qiL4S6@Z!m_NN4Qywk!+50dYMKKfKOmA-A$wh6Lp>Fxvpat5xj)W5`IGOy zeE;&*ljTtY;ZPk>)Wg)lH*1&woV8mc+Cj)+j&#DDgo`d(#b6qz*qJt+j+f}dG6sfX zCj^Mq(XoF3C;FoO%>01-p4@ZGLBm|Q(|BAS$GZA2CMZ)WF z=edhv3Z8>5RPTh~4U&I!E@LNC4ckh4kg?YDslArsd=lXMBy2skJ^_l(Z zsPMPH`WGMJxsLOy0b)S&)T)UPBiP0hvDbf`oA`L>MAt`m!LZu+TB3MS;`{*Z;5b)E zsGrq%FXeu^392bA4E8xz>|cvHQ~MQl?O-mqX%GL&H*k2lupJMCgus59Ep$pZYb|SF?Y$ zXswd_YeH*CgO{eG@P2S&KLU)u>Wga9xjJXMPz+4O@^z)*l&?40i??(ZLJReDhwLhS z^j^^veBli)8hFU?JEN=R6i8>f!MAkz#qU`9*Z%s=V|&PRU$iHnf%4h-8Z;2U{&a>! zzr2v&zm5*CfBtO$a#?LU!^atr40V5CM&_CO!~Qs<5} z;(-F&oYWH_i5R`(HbKk%giH}_XP-tawU<_J`(l01IePSaZuGhP^!MS>uUbVO!vvrE z;{B#7%ej(jK(rirCQjvB5Qp-ILKS(hR4!+nLqW46enh%tY~X>?*p zLz7Dio|QHlss_eqSS(QNk!z;{bbWd5`%PyHG0?pmC^@=eyGrER*}AoZc-9~@*7wvGDB8PR&wx#9wd* z!GfAMo;s%zG|o^2o-xNn?|Cg`=ubO55IbL2?9y?P2wG4K$XtI%>xL&P#quCQ zy46gy8W>$}oIPf1lNo!C+@0FehT~{Go7ZSQixc{pUuKiP_e)$#`=D;wypYZ2-3N2a zI^Ohz!E~b-bxPL(jLR`n866@EqC$;#2o2}Fj_?G2#qLo!@EnNe_nIiuLeq+HvFE=0 z+eq&ELRS2ogN@t6fBJt(^xgiEKm6fue{@2t9&{CKb@V0Hwcf=s-EP1<@8yU#PU?dW zN)?tdebmK7(%H30tf5e5!;@E^Eox1i{2h%|P}7?=J5olNe&HY_TLxZt(&l4%C?Ifc%mxw+OhJaSXyC-9AFHfOK2-pQp!M8F?b(2At^KMDZT19J(AFtHuQFd%#EvXakow>x&nFO*r|4 z%-|#vx+iq^?wif)B4k_$H00AxQmLIwv{Dc;G(6Bw_u=h4{O1>N4;ysdn!Eeh8#~3* z0M6+fFV;4#6h_yE1{{uSXK`H5@LgN3rp7@b2|DS(wVZ#%Zp>@JCf64Nau`HpB_=R7 znk~tV&(=jbAO4H$QvfMT7-Cc((gkO3ZGwVyOlCKpz2gupXq)E-N5N)W-CNWia*#g2 znzoM`I(rG%uuK^{hK$8~4N%djL+MjET~<*u@Rs1XT@U}|^%Gfg#<1C>!wBoA?O`m6 zB)fuR9h85Ks9|PYQMIDAv=$vG;y9iApgqd7naN4#h6PDugrPNTtW~|TXmr_oj0WEi zM1KZa1Lqw{_S_%miM1Hou^(9CPYi?rRe}n{2Mw7*iwQ$p^j$XuRa3<1D8~}gy@tUV z=z4t1L;>y$0^_`6nFbpI!a(M<1AhTV5ss(Tfq#Dr2Ai=45ra;a%^K@tZdAM8vnPTo z(o;QQWvE{2_(%%}C$@DV71|K*-KH!`bA|#&v4KZC9oD|NR|D07)^^Y)gF_Kh>XT}$ zYCav`+H-(U8!PZY5cHo;fB3IH&@j@b&jHfG8NwZT<%&&ctlQXYUSk62hWhos)|t~c zO)-ChBWgg^)L0qBK=rDFQhb>puulfd()4+9a0dslB6eV|AhfFo;4e!dm+Tpz}2eK z+Eg&hRPb`%0jZNk!wGaHdaRG8r;z%<)-iwEi6rD;5JsBDo-zgxUTwQb@bm;bM-vjh z-p^RqGK>`7AUfM^vxS3C4v-qWy$+C@HDF2RtlHYPF*jZvKt9@a&lvp9+b>_g@OM9d z{U~bi+}G_1@_xIK_di099A_9CU*lCWSGKFec9l!rM+{dQd8}h}baI`6B?h%vXnB9^ z(mn7cm=t-{qs|nNt~RKtKIg$1)fABctDZq_AtI>5=EwlWajkw|h&}hmxrY+p;0N%8 zY?5GFH`$S>Ou7cQMC1kHbJaQf1*~4>pzihQT@|0TVIDeavSB`rwc9}^!q94;yG5{M zVi5-Mpp2P%JQ~2V2m~@gLF!{a8m)iJ)yDhyL@fbq5>``c0;wN7PEZf7Gw~S-sGC#p z__YQND`0+;_Q_K)v!A%4aZ8|bYG&4!G+2Jtic@E8#Ce+16y?%6Y}myaS{)o>xo>MD z4m%FbM6sG$*v2||Cs=zy(t0@u+pJA-cK5X`;JG_c8g!@#q5Y)OTzkOrXh45#wqh)B z!E`w$vcT5bG1PM2$JoE~$8Y_M7eL!TDhE9Cb^Dtpdwg!sz;BTD;PFEQ zJMhy`5-2c512|i*zHC#USux8lf4LWWOZ}3ck*u>e%ADH*M0~<@_q52dJ1x%y%54=| zSB0Uoq1xXB+N-{2Z#p%t%hrGCe-h$kh8! zwSDzdrNGN{!J+2~}vuY~59c$_*RKfF-U-0*)n({Pa{Fw+7_ z#giOA3vx_3v~QFKEgJ!w49H}M6vkrc{ipieALq{8z)$t7hxrrq1OXRIHgE^i&g|5D zqlHG>WH%7&78?n0^@=esA5~!znz=DD9PM=4H~}B~94%N8rw{yB3E&7uJ(J-9)@2re zM&s=9&dcX(E(^eb90ZFk(uCAC6^7-fmcpsvQ za}U~e0NyjC5))=vk1{IX%Mx!@K>QF(S&$?1K7;4fiTWqZ1fYNDNJG{K=oT>L7A;BY zZSD(*uwVw0DRzEghWo*H@M3)RGJbKZ)Vt5#ZGU}UKALwt_XT`XE}}QN$j6v>aLl=O z1JOUWoW3p)#ZV%A5$74mvVn^-ckj>~#AbsdkC|bzBF@95RK^rz4Lbnms-G33+NEhM z7Gj=A^Pj_)$=QE}K;UUIAO4$*if7A>FP5}U_|8m_Ti*nmve=O6ICJZ!d#)Ud_J*&4 zvVb9sVgtB&&?<*sb*L1cDO>~wW1*(!WsRh#E;NU!H?DJ*&Q;yV!+-lD5HLRSn%g|Y zV4DVA4|~V7oI~NnNG51@yM&ibsN>TG2WQiv1du$210H`hLXTObU{jilQOqA*YM70( zE*)qiw7E}SvEa*`($2<-$Gsq_6S#7Wa1k0mZRl(k@O^}PryMbGKE8q5KQXH)n zsY~x`O2BP_7}=;Zm(LjCQ*p$ja?w@R0OwP-?XqgN6Z#yvG$8kraZvZad|&g?iu;+b z+LNZdb~AtFeS#J#!s?jmjD*3Qv`4K1ePJ&H1&^?w;0wSlaV7)tTa6tHv6X@2kbT7< zuxKH6Jri>%P>={sGpu3;j=151Pbwc{ZuryBw4vu-#|0Q5CvV`fD0iP;t|!6^sL*uX zL4~{jgu}1hY%#1=+)eFY>zV2rV zU|oMCF%m6=TnnCV1F*{NqS2Rv<5M+;fhoJYQsi`3V~I;VbR-6R3Dg(DeKlkYDUT6zI*Slx^#z^aEK?cHVmh48YxKT!sgjUq*kB4)oX{(uAmUB7;sR*wn%hFB}8^0V?T; z+4q(Qr!%`LV2t2qtx3AO4ea*{Ag?J15`(fu?WcaGKEuz_H<&m+ek5``HYcikvd zPabxrw-IgklQHSgCN!ibZ3lRpws8Xho8yeVdW6CWGD1L=D@=c9&jTn+6U((iu`++9 zdza`t@#f8|^w*Co8P9vwo=EZVEjac`qAtLTw&|cWYZ*jqYvP+*Gq*~`m@OMLhz?Hv zHbB`fK%^HmuY%DL0qRfYD&0d8vKfNlyv`zP);F-Gp5is4(eRn8xgb#WXghUKC3NgA z*u$-p1dB`G5kvnGY2$VD!t>*7cE`5UIeUdB4(qL zYj2tt=KOSm-vT%A?nCchuJ7zOZ}Y`ZAEg|g`>H*aae&Nqj_Jur4+UAJ zw)d})=APv+CibE05JF~x!x9-_Bfws0=2Qo#wLTDqxCa$~C*Rozs_G-}%QIiMC;Ij6 zYkP+ezy9Rzw`drCQ+n@~)oFh($puWEG^*C}a-JaD-ep%S$16%E&z8rT(chCE4ffvx zdcy&x!0u|o3vvpLKewF&K;9C#c=nl)rIqzDAMI2-f%o4ba|ObygHwjCm$1OQK+cdl zaME1Y=4}vP2QgsZFe-FliLfOwGFc2o-o~ci6^|XGNn}wlU{Q8r-*^UePka%9Skv45NtT-YBoz`ia0hF_d ziLQoUvpwB#O*Ft0Qu*SKY&YpYkbIlK=?vp0X z>1-Eju8}GRym)HyZhU|3B3v!nfUq*UlfoRMb78$kwsyi(0(k=()Dp6$#@PpQIGD0% zBV#)SF<5ihB?tSejsM01X@q<9|8ITy?!_0c{N?KxZ{nx9A9Hk``RYBnVd%FFL;nZ| zlabY$=o&M(ZHH7=&PGzUU3>%(**7YM7}`5TU9lVL?mqS$=c0eXO=;eT5k>hNWl&;3 zVNmca$x)dN%VFKM0WD~oRC>o>o5#a{_f3GK&=wnraYIx~h+f%(5|8^?$VH+h(hNT! z=zA_P;B;D%Fw)SL1FJ5&!d1PGR>1svH^hD^yi4`KO~n#DF%P$Z0jxua%{uSksKUgo zU7D}ab7JW(Yw>^4)L`B-rC%|q-3qP;Uv!qcO3+&HDo8?eg;Q;IOg5oPH63gCf)Cjt z-h_atuXXeSN3C5$MktTH+I`#d7vKHFU%h(s$1nD)H?JRUm7n|CJ=uC`x7N$YK&Cyn zGT}GG;PBKKzQrZQ9aw0_;&b5n161PVjKQE0_=o`F+q8czWYZcW%VpR`Vaz-#DThSz zu0@K{S8>(Z8wX35150{`ODjY$!hmW3r_jXb@o;v_QE@DWn1nyCfN3 zfGP+rAaysS;XU;1>C#%PfQO+7ko&_hY+~}G!t1_Q2v&j1eFy}ek=RlyYo1{}&D^1N zfC3YFF=T!KNlMhs(lz>-aNAP?C7jk8yvw6(E@_esyrX)0M{%SRM$I0b#A_oM z>TJ!e1H)JyxpGycx2G#FvN2siEdqpcjxOT1y4Zx3*ap(-_eWi(7j;B{n^yE>%h7el z$fG++#S!!~!NG2iPFPaIm4_unB#+{?&B%XOJ7eqOD$OZK% z94??WzRB;e!oRrRyn6HY#k()R_~OmmM-RB?zIIQJwd6L|`jm+7_v`uF@$&Vbf}rLS zKhX!aN~q!RBKR14iL8TJlD0+|)@Z{w4(F2#_=2^F#s=*1G*~zWVY}Hne%zt!ICg(C zt<650P_UhA@J(moVExnrjj0~11-vFl=7Du>f>ME_E182C@zhndW5EY-Ht|9vlFWCf zXnEFJ$fq}mhpgCF<|&#mi^@dN7>ST>30bC@;HVf*m7bm}Az#C9{FGYY%hxaQzI~jf zdEP7c|QaoFyJcBZa=)OPvj5Z*Vy(=yJ;b+)3v??zY z8+eX6_wHeY898)kP}yGo*oJ_~mBm7G%HdZ5FsT}_CxT%{ca&9WM75z#27rGJB))5- z*QcxP`yKatU-v+1Qo} zobZ^vna4yR)_H=jkM(WB!%>G~10E$zg+|jPUg!mO5LzLPEJvbRKH|SogZ< z!+($XR=?f>2YFt_f+NCaVljUMnywr^M19Dqsp5Tug2Fi~rWXls>M1Z5n}YU=$R#@D zpuh^;70n6?YqCyI=`G3?M;C0n(O7s8Kl~5hKzxgLXiZvcogrSq7j~L)Nb93ywE=pM zABuy{3IJIr1)$Y{&v@%H*@sq;kICR^K;yz1Aj;!0<=Dc&AdlHvp>KbLnp_P7JCp9T zh}eXB0qR9MVhnQ)t)(6J^680Kp^&jK0SbD+gl;>~#}_z21}J8cRw%-4#-h<>`Pn`u z)NqqiRh;`sy=aaQxGn(m14P(+eCzvPk^l1ZFJAfkN6-A{zIgvXg8$uzC(rzG?rYQ! z_sQEYU%!9(`BMd~6%&8@*7Dd2)KiM?iW4V1I@)+7GC!l{!WEf|GG*EOlL1{7ZWMm>JyCHBZz~Eau=?IW(4CvRJ=-CIlk-lxT z1`(I`W_BG;v$YjnmP*82kPK)uE7_eJ-S6%;e_0KBUbf_;YS8n3ocl4(t2YN9?C}p2 zEtOQBc5IK?3`PdLg;C+*VZNQScaZmSkG}fhZUzN+Dd%>+lHYQnQXD-r zyto@!&LF=R4rOD~p0U>;8`UW%I(5~B7``1$h%}B2CLX~)6FkrYv#MJf!MZeLYVgqT zevcCicMN~^^i=NALndjO^mdRNJ_;y0nt`2t;s7SI+E|Ls#SyskoE3%8tQL@i(dnF# z+W9OeoxyFM(W!61zyk+#&Yf_WjdzOQy`JCsalU@4Z2sI=?N^sQzyC{t*^9{c{;P@N z-}~CX{^T~kY3+2dPzFe&i*oNeJ2+hp!Ja^X+|7TcT4O?VT-@1DE2DWp!WTqpRZ$<@ zR_78xOVhzEn>(LBjcI6fS9~EgLhiBqYu;>1^2yXb=k+ zIE_7o_aq~(R+u3z)u{#J)G)@Yp!dDNy2DQM)Ck6y8F`T9)V4A)r9yb{@IQY80fE9x zYLD)ry3S6EbMPDi3$>Zd7L$8R@nc9xdewh68;pBR6n%3-8>{#1E9o*vWR5dH7KASe z?-xICJ8SF5AdpFp-mzXDIMBTxct_)mDMS+`jZTXOXqYiAFbX~`Z9vo1uI?850?sHq zYFrC8$$@9<0slXMtU<pZR?EZTdMc-+q7b zNT>G9m+gscfZc-4A7`^kv$sLD*_T}uGu|Ehd88Z-KuC1mhh?`0(epa4Ye3#o283z3 zPdj;X;vEQ7)Xs~N29u|a`alYb#Bms;-<^_uX9&I!{gglaFW&@_7-~luZLjOdX<={I zNpXl>&6QH%-*(rrky^T%9Ldgxj2(Y?Vp-H0BN^|~PFZAM2=gJaK>gq_a8>m=76%CA zM|{g(qPe!`eV{FY2fz-T0mW$b!RSq$M?=J-am?0KlfF8;*5V&ZVny! zI1ZiRUR}6A8pSCgR(x{$EZuPq=*b6gdPb)K{Ibi>y@(F#q}@>5*Xkh11yJDN>2n1k(-8s`T!R^&uXzfyeX;&KzN>usYeIh z_o8gz(~j6ea5PA5YS=jWQoA0k=WaJC>4K!TO1nnx(lxPUx)8;*4by*x;mSx(mc$vn z5+}_)RtPtMSBUnUz4ieY97b6INrHjEGy;D6M79>fAwKEMKtu6BQEBHsU;VB9=Ix`e z-E&{EC)QW<*4UaKr5WA>Z#fSc(-t>Os%v))MG%Al1ua&BfE6qEjIk$SA1)Us5vNCm zlEAiY*|;T9@}{O{NK7YIO$&e`hwP;;>{ zsQFk{=LAiIcRI!xoOptXz%$uaYYW2k*5|yK0Ber}b2(OmM)Mla#Z7%}3KZ z3jGX4;t6V=+J4E^APd(H^Un3!JK1d_ypY`;rMA|`#*L7%9JG_(rY}RlZrWMr1YF5j zU7U1#f0XY(d->*tAOGV0V;c2yU%w~5gL(@=>qiMee*(nd3sAkQFGLou}|fMiJbcgUA%v=dcID86m+J;LS@McJj}Qt z=-^`D^vG&gL3`g&&s{(zn5hlNTZ%2sCUm505lTqP?A#qdjmhQrMQ0m1#lb=cfuqDv z%QJ8+%);Io2fZ-(m4NN*3)Ue4q2Wy7?H$4*P}cXf);ivb38r8fBWw7SMa$n-xF0U{@PdY!>>OAR*?rdgDf>?ho*A2 z5=~yZ>3Uuc@5=O*_lR+gBd*g&Hk4q|#^^AdbS>l%JdOYyz6|5}TG&f!C-5UL*dc9= z*}G6i7tQ|ge|#$F@Q?l#%$1mIw9fN7uCLbCC31g8?PIO39W020)EQ)A>#W`llaQJd zO=}T&FV;37mcsB{Uki9?coJG?HNxPw5X)ckkc4eKcNw?ko4i-ml;CE&ZdMcSMtd)_fx)vdku0TFp%f zK`=t+rybt9n=hf-5K;hy+)owbD>zU?kHy)iCBUK+tx&-N+(scvR?^p45(obg=n6QH zj|I}Cw}=1p%C~?>vQ{hIOdYGA6QjmhE=Yf>jG-}T3RW3}v9agEnmJc&aIFNjKIs7? zQTkG_7pNVDh&>u0e~0IS20T*wEbeKCF1(rJD_sx&*N;Ad1^NA0{Fy(_J!tTuFZaUV zy?goNr$(`93*F)oOUzgkr4#Xu5csC&2JH>>&0*N-rCT+#eU8b&xSyq4B zt4I|3CzPNXOcp~E@N?a*YKy@Eq{c%T+r+gVLmEFYvyEpp8&0bg4a!c?j;H9-3MU=I zcTT0g0XEU-7c-xBxB(r>*nDaMHx_3d%H!5~P>qf8|Cy!uUk$Uay|-UxWYEE-4P-9u z;s3sP>^K8e>oCK5GFJVjpyEo`#Q=W+EC^^1+Jy|(NGW!+AmoGD+A)h)T&pIl0|+tn zH0O<&7f<-o;O|x$B8qq7)U7Qi;Hp~I=fnSVvFXJf=T!a5O5?n&gP3Xy0uUSLp#EEX zcM(P!s+|F*$+<2xD2bc^q1AjyB)w0!t~ zuWNyMkJ27{t$}UITDpjoR22kYFxqnI>g!1F(u_RMcD&qW7R>~_s=TSsae4#M0J`1j zq&1EsM%c?d5Yfd`8vk`)U}48HKlbqd;ZxYKg!QlS2ThdGP@oacR2t2X3_QL1J~)sp z!cSdRbfm)aP``}cV+L!D2XszZlKfk0z!Wf*3sDzFS)?? zlM<7Ti9_E+wbqdTQL(*cHZ_<(k03`{q_a^2@i14jLSl9UO1trsgSw%EZl32p-}v@V z{M}C;l}DcYnmu~i>u3BmKGla`|N1X`#E8*lQ9Ys1pwF;#Di7Yfi7@Xj%rBrHH>|5y zZ-EtYSBHkG)G)|Lksg2U);!~)^0a8Jk&T6QPHrePX)knJXTk`>R=gpTefWp|5*GZa zt9FB@ZzD_&^4;7+Va^OlIMc%&+-4xETVTm(<(t-yWm*e1tDrzNVs)Z*>_BvN7S*0( zLqrm=v(M9(7Xb@YU2xQJQAQvB;lK3pm)hgR1f*P|f$%e8wCsO}R#Bsf+72o;&L(@` zLV4PWiLgQE;RC~DuoWmTcll7zPgkEz#9;M9gI+Z*X%|qDhbKU)(+dKHD{^)pu^8ZR zbQWDv-UHC9^#a5S^9=4=5Aww2exeDQb)jJk%DTf^b4{Gb$A(sfDFa3# z$VVy`inJb=ww`-UaUUvt`Q>B1=yPAPN4MJiO#TLYZ_aH-dTzBJF5{n`r+4rF9EMT+^7lI8@SZdih`R(a|||Dx+U!ejn;-sae(<>8EAucxR$Oi(gff#54vwL zX)_N#hna5KaFcVX%iImO1!Bn;a^T{nMG2O3mtexM_Rn@|I~>_)JR>AT4d`)qZAf>T zaSf-yO1^aB#AkKG@pSoyhjg+!cXoz z^T7L>?!q6@tCU!dGr49q$jJ6q^X9RD8yZ6rNvi=-p@DG5BORGv-P0Jk6#?f;SJYC7 z(rnpaymlHf@9XslLhWcB`;d^%Mj^<6V4-t+!)2fWy>O(MKoMGTOU1FNA;>(NLy2IG zS^9q}uj`G|VSY@F4gp=aBd*6BHlNn<(C7ta&RTMSa_tjLmSw!~sS>Hi?6xqd^BtteckR#BKD2wCnb>|e&egVHtLl@b5E8dTZ`uGmLgZq^a@5V$%X+c zHrlj!!&=uDAWpHp5IkzO+^-=nfT1}@>Ri?@Nkqo5zG`fQ1ZCV}Y7z#rox7n(Gs|1- z77AH6q+Pr-8YJwEt$A(e+_Mc-mezj+H%h$gq(rBhpiV3lj#o$L!}nUq4IU7P1m;*+ zbW7a!Zi2y&w(;X@_Rs$K!<%3GcfTK_y?^^*zyI(y&+|~DM_ zSBzudt0YMf!R{VSOVn0h;dQ&8O{nE&cXAfYeV{$59nupKlq;7yK86Jm=V8g3)PMnI z8~q$RHU>7B`^Yfu?qiKNL=;)q}vPZi4PQB~H~k69wBwsA2I*nLP-9KKblC zWu39QQem$3(Ukm5DFJPS7f)~AJ>4T99)0niWw-SkcH7s)BKa|-G6lKTb}`ZnaTq9! z&p~{uh>(hm&D&HAV;|m~ns7VVE6yk+D2Dd7nRn}B`sGbTqYz`Pra}u-g<82`&g+w{ zEx1u~QUKw7dz3QK{Ozc!be%wdn9hk8BtS){d_@86OE|#uR-^BO)t>BL(N6EZ(A0Io z`IjN)0RSV;n2i-5(^f7`_mHW(0hBX(Sgnmxpssa``ubOaet7Zjy~nG3@lodWRKI)i z{nPv3eEZ@31%`O4yJNjaU(=uJdQWx77(Amkb3oJ8hGXp<)4oG+P zb=o+XTVd>kkrQ4J?Zh>C!fbm7pSgL0mo_&i&0}E*dYh^F92aXC@RZM~}b*j!QzWxiJal~NE!&~4)3AAWq~{p%;O-M!n_KKkN4+Yh0e ze#qy@2+1G|8-cmcz|uKjX;h}R_ukUV`ULQz270pF8uF!r zTUHo0c^)t^?m-8Cb7Fy;+ztU9Oah=XLUk|y&0l>1$mf&+88YFOG+N7Y+;S>hxHBqR zxs27h{3vV>ctY`odTwYHn8-4Vo`VlV5;JT-I!eeDVS?4yc9iD1%v|11+>Y=8fL6z{PN%W0yq6Y(DFiXEFVt3YaR^MXU}E}S#v}vx5??EvV0QI zP?MQ=+QG<}R*3e6rbt{Wh&8Q832)%YjB5=vvWDVbWkJAO~1-N2Jp)QTx) zxMWLFIG^V}YSBln?nHKcGv*OfHt;spVcX0lMkvObbVL5nXB;f~rVgj>L2Ag=G8%eN zb7KL2xRCWpJ-2(IM}M4KZ$SCG_b*Q7cQ5iUKlrO>0+2QwgJJKMbitqIMcSKTv~UvS zR7k|CVB?ameI8`rQj`6NAudi$twqz*4bJUywj(>@!khpp3Ix>dpdKu12r;MzW|TpG z6M*bcp~+2dl?eHHb1tvG+b&gW`}CvPoWPV>5)R6m-F*ffgDOsN6bj#Dxzc3C-$% z<-dbZ!HnZSLLnFOaH2k2LqA}r4m1Ewg>q@Tcu|S`LiKC|)U?e=v^I&%eGN@EK(v0K zPYFW5Y0cK*NkUEE#&VuYg$OLzpT3&iW_%z0ac;3ZAKpGeH1!Pn9mPNsP|Gavqva@Y zL+BV|Lw>~)Umc5Ni`oRi?rO)B)t)n0z8#N6~$N&ptYs2f`CvX_br6B(8|RQ6SV1nrFd%e zyb^L2bM%IY@a33mt9D5uYPlzmNg0e2LDfJMENS2@ddciCE@acT2E?rBg9RF%W1EiF z3k{8(?Zl*cZleu9d;9eIt=D}~{;?PBnYN(b@Mrb2h$8^rA1Mc|bVe7}2KJgKv4IoY zW(rgyHznJ$9epKUxdVT!d4u+Uw|JNg_#}JNLcdlRqB)R7D?R6$D72(4Iv}G=-Bf}p zZQkA;kN!Bf!K+`t`Zk^;dd0MUY!&-vf%kAXN6>b#)`s00M3~%%;N1c66~WjMdrzp3 zM`lAYg#{>Mly64kJ)1AwuV)AbLnTPzgS?G&@q)!19)aUx@#&*O0mc4*tk#I%|5*Iu zn?L`AXnlGEdj8g;^EV+wKxkQcNyX>D{VT!c;u@9m_}EOc7u9`%%yWOs`;qgs0~HwwQ(moJ8qwUCXfC&H@C;Xl<&5G z_v6^%#oPRK{`GgyJY8n&UHj6Y!!nZE7G8^nLgy@slU(T1c2o#ga}oBift7Ay@*n6z z5rU|*fW^SND7LGc3E`w;xl*X(t!CX^lH68+-=$Dl+_#SCOE_sZ1q!n4gsj$rzW6Nm z1{PnSZY85Qpjj+`Jlv7O_UIgez)bfJmK~U^BheAV-!>ZWYfMh9g-Bufu%{0lo6&3L6 zdmU_yS|5}ki)wnYBIz{nP+~MX1LfdB*gv`0El%3Bp#wUlz?cITLrX$m08wvIQ#(DwAXb=XMmhbIz5VcJQ6r)tAlZEqaA_dF3MSizVdUJDR_x`fansSWGm!7=c^sqf|1 zBw@?KjHz(MQ-V#IO|)LmoNG#dVwAOo!25QHtgOPWj z+P)KijI=pNz^yi@4yGV65B9funO4Afgvi~8>a~WZVbl-1wd9(Rf_7aRV>y&WyLVvt z!w&a&`R{#!rz>b^%Y=BGjo57MONZ6Uk{!q89nBji-?;4-pG2W01>dDI?~UWg1y!L3 z=fh&DYBVt)jd z63P)f=ai;qled%d(KW9O=HVnXBDhn6hLWQh`D_T>wXIXeF6(_J1~zV<8``@I2OzhI zvR`8T`P~bD^X}FbPt z2Dbt283d|6jxtX_B`Z@>w_3sxY!Wi+5opP48V7jiG^&B% z&cL>s&`YElvaH3xA6e;ZuGZV_v;+TtM6TtqTSpEz$>p;R3IaK?c9%k>X(Q-BrlT4t zt2v!cAxKTFujO!ZqeZe})^$j%((#Z5Ch?%*dk&8iXHBcg_`5+iAAD;c`T1-A4ua%6 z4(x-k+D|sy6$-$qM1umo2oa|}_a4CJ64ZrN`>;uJcjQGk0i_H3X(zO5c&^@mFp4=^ zH~>SzYr!vVJ2sjT5?gFlkT=IGMpg%kvF#10%gx<}(AE@c%A67oYAMwW!!es7Ul0c% zrd=(Z^w0)*!y*BEgSsxZ$n0=oLqQspc1`Mb0)5(We_Va{eW7Alk_oqH zktbZc_do3Q@4{UVzIK0@=j<1M5QzeLqX}kM9wU}5v!>Jb;%lR-3-i5&em_N{NLrj5 zRiF{g76%MdGe-+v(S@<4Sy;^VFvdzwh0JRnq?1l>(}6ddy@5Mjx7()fLv2^6fof8t zGAtMvA>U)e?9eJ4Q;4~ipJjH|#&n$|_6Q`Wo00JF&>9}d@%cEx*kXHspP-XM{&A*u zf{+X6ze5$MyJdBoC;a92PbXjaE3j;CYnl(faLXSOvFaBf%3Wn%zBOik#k(>N7`EGM$dlI8*@Ss8jX zj`SIc@Jqe?55B;Qy$1w;h^v7z84Fv4-65>+CQE6%8x_i8=7e7P*rbB_^FiA&R)O7u zg*-V&>v}1U?2PTW1rkBg)63hj)*VhCkpIuZHoFXa<=Yo~n>aK<1R5tn9qGOcNvk`2 zm0E+ZW+YrmuyH&3AZ>yB14WRq#<_@2CooL~X3#6^MDNYI&>=p5c>%M5RkG?F#!0cx zaCN>tE%@X8>gmJXQufi;?3sG}r>}MUOy^^dzT@v#eGmOOw;Agn4%;ua_cLehp#&6C z$LoDeW!KH89i+H=E6~Cbh`lsXP=hW4D-Kei3fWbw4;y1$@%`1Ldg+Ne5ThoEtmS<( z>LyVA=AJ8rcR~PvhEqrjy$=C=bS*u4&-l~X!rp(U{ZPa{M9!W@(wiQ1E=6!6aoU)o z0G@()H9;=4vt^H*0_tJ;MtUI6vTaB;4DXtnAAu=Li zZk!Ga6gne(T*jFY7R__Eg3x%KQkC~om6=8_|HEJX#m_!_-3UM_COBdwJ7D>^zqxE; zeSpFhBIIqL1G~9&p8+e%nUl19!7w>Dh7T)D7~jsAwEIy2ph*}VGRW$1_TP7D%W(v! zPja$s-j4i#BzB{<$B+$Zn#rWzrY&89!@*c{?AjN8%@1;Sz4sXdJ#;~A?jS|fWx(J% zhSQuNL_#Mk=VT-cMBW)@yXV{=tvFVkKoBt9a;bmeZ+>?Th3^_g558>AjD-27-S!zw z+m~h~EoJVUELbE9ih~?|%b0Q?h8cYd9sqTP3p+u7jSCR&n!>=7L_3w}i&;+$-l!o* zpXTPa+uY(jQI?pk@Mz|}#$F%!cOI5xTM!_wEsmDTPxEk9&4f{vrjdyc{vsh2u=jAMkNA2RqN!{X(0* ziiP%V1^&Sw=jJ>8``^Fyzx6BKF&sgd2@q|{B7|FYcvqZkl&X&eHNmnglv>`7;OTsS zbczzv9G8XEbeiTuzkg-A>?yEY&sYfEc0zd40jD)shxY|e5+`c6$<~kAv(LV3aSj&f zwVQ~eZZg(U7)!WC-?a+vbFh+S&fXKzB7lDJTvb7_jm{pss6cPdRdrCIKGF70tu+Qb z!Jz*Tu8cQhI-z6uj6L#BANNynCO-OqvOTkFk((f^{8QmfynQP?_~YC@LB4z1-+tWI zK9h~#wLzvDKEgIP#s+yHh!~L8kF(R!PzT^bk}v5jF?xg8h17y4$PZSu{nDsRs^qAh z5^MXm%YtWf75>K8DuJ2HkprZv>7PD9+BXfSFJGW+tx^WpOh16Do`!w`T{v`qyjRJx zFUB*uw^L`HS;zbKzH*Rx8%=k894wj$dL&MXXtLIx=m(b17RlSEmg5Nt@!xDGumGNQ zi_?o(3HG)loD>d|bnl_f3v8Mh-@wE_h<5JF-V zLRGr6hgVniwHM87v(9o2NPQGuz|nh0N^C5YfOkiQIMJ@mJd3Q4!HajpzoMfJh#VbO zinEgUti{E6_Ff#Vm;dpvu7(8E^&@&CUmbFCH(c}HFy&E z5+lxvSX)iEa8s-_U;d|mU*O~u&3>-s=b$;XV)p~8>F5K{$r^hLpAfNbz3Jl3yKv^B z%wBto#B2c;8@lw#GB%dSD@JPM>ZOBe>q-kCp-JP^^@z9NZRX>rv>&{sxIXyO{b8uV zU%^A*Hs}4|k8>N60fgqoci%p}dH=%SKeLuN*woL{R1x@Jr%ncchfj3etP$!KD>H${pi2=|G(pBzF?vB2GgHO-%5p1eM4(WhjYrb zIfgA?3WW1ET82`8UmiTTE|}Hcoouy18=yig8))?HIm~P=8h{WqeEUd|Zzlj|oSSKK zHadUX7yRgBn4j{g&`Rrq_|q1!DR?@*punTMx3kr$kL67kq*sFN2D=**nnyb}I}%4G zfrH~!o~Osac45zt&n@T06LRAQ2;0Qa3nwPX=Z+!s`H97U=YRe8JZKt#l^JOiIEkme zoAqT%T2$tYX?iT%Sm-8gpENs0j{}Y}!=c$;9ZgUhphz*Ie2Jy6cy-hlPVXuU z)cesrHK4n`y+s;Zjf8S6CxA)}{H3d^3yND!PKg-~X2?*7!b9>Dvo6PB9r%O`Z}w7g z@MN68`{==c!=MRWJ&&+3{M3_DbJJ{`>ek$>ZV#D${_UH5|MdEF5;&IQQ>+aTuA7FBz}%IXvxaj~QHWv-xsoaO0731Z9_634y*-3(brmf(rRRv=#X3kQH1DvK)_i*lT z$!_Y_S~}K=Qb!jLP=`QqKLEa$#Dad?R|;JKygIG5;?{~xC$hWJvGZ)Eu$NffzV{xj z!Mok`e*5ml``6!{r@OM|qp#af)snGi@dU1a$my*XgAb(Ll+QkEW9i45t?kiB-6ZA# zK4HUu)j9XdQG_pV^e$M+9$M$9ABZ}8WlhnOdo!%=uFy8qX z9{9IhD5kQb2Y{h;;5?SsV&;~Ry>d-EjT`hB-ikFYQ89u7I7IE}dAr4uxwr@6sO|*r z(6%R%zAS`8i^c!7{XG0c`W(o^Vv zR%|*0NrH8t>+o)v-Y}5%1jd3Ia&mx?)v~ssP5=NjSMP0*-X7A@#XkD{ML+`zY??09 zE^&QUa!Uje1i^!GEpcEJ(Zms9T|X?U8(*F)+FCMGD4s}`(#;EuA$6tQPw|BJbM_;vP-d1u$ zf&DyFo-$!L)3xC?%|519MvJX+R$}wXWaR>)>lCy$ynws(V^FTsfZ-MxWi-Qo0(0%n z!<`+T-z{7|^dgg*Q{P>tELvLVEuW#4FaPr|Q5Ikz1B<*m^xF*?G4TVx_*TO%I49Uj z>uk1A-8^OZ(DI96HGFxAo={!k_!+KjIDT()ZdBV&CqN`H)NSgvpw(`a_{Y20-SFF! z6O5Y!7b@4p9V5V6A5-HlbxFa05|~(WM+VY+NcKL*;*Mt`V7!Ayjp_;L{}3Nl*_cj( z{RQ|Q)nF@@w&xP7Q>!1|+1Bm81#bSfBa54MGjidMgpsb5=A7+%{Voz(xjvnRK31ZLG8lr6nL-2mm$1U!lPV3nV zKwQfW4|K?dJnVuv)E-NJl%u6GJSZ~SH0fgp4(Nb=@;)01*;1(t#kSI!>8!v8-~iLc z!~$%L2G#tMtWr*tQi|r?g7F^!XZGSdf17XK-=V)BeC3|K@7v9N|2a11j*wUq;wQN& zw}a8Qf?~=v&ehbB_*XFE)^21{eKD=0qjG9a)ddkKr0u>hQsn4=+yf{m)PQUAV0f2= zl2MjBSS{mBO;MD;J=%Np$GKe-JiUAIw?OZ}$@Y#O)ikPATMd17oEoPtobCZ`DWeyo z(8|-oS0cCqj9M@xe63n?7=V2W8CxI}vW&LRaUzaHc_V6-n*X>=|+zkId_TFTC4=68><{5%aD^kDJ3^ z-SK%IebxTvkHf2U%8^ric$TEF=mM;ShK zc3U*9^J#?)sd{T}JpoZAS~P}es__I7`*;BQ8Kc|s^{#*Fi)<-{f0-z2+-w9Dg{G7~wFwn>Dtm|gZO*W7%8Hra0 z!#6B#?94bp=!XIoeb(6{2Oi|yQ2smk(v7Ca%m3;MFRjR04Sy!)J~7q=%SQ1IE)Zdw zFpcRxiWAiaM%=NdwZznQv>m(K;;BnS67(~F$fPi#-&)Wy9lr4L=$_}nPdE$iyTqA@ z^UMGG3pAaI{eYe)CQZE{>QNPGpyka*=pQzpDudeq{v3STsD0+?*K(}!mexo0II}ob zWb?Jaw$B>1WS0&*-lWd~fO?hz;}vPG8eD=%}M0yU3}x!|g|ZoZBb!)0^Mq z+o$)>o~%1eL>Umhw2^rKV*+p8iMd8FF!xZ|Z*V3snUQwfL6S9YVIe-C37%uFDZMtA zuU=}vaGSkG7yJ_l(j;4dLw2Gh zi|ddpZqymQQ(O-94z%VF>4?8x0*g5Om=dgYv#Ir|VwP)y4{f0jE87yy~f4Q1v?yP&E zW+k1;V05C97K%FmAY^N&Er^XJ(5aTz=D^-1kw07>h7-NLcD9)?KU0y-p6fI<^kuY- z($jk_SqtG@kfY_C-svtBcBZ$^DuRPIPsq7cfWa-2L|uK=-s8d=WDS^qrg(NkLs)P( zs>SiM(tY#vwaJ#NyXy!{dKRl-ZJHhbahk$t82O@992M-lTG?NIc-p^x@#^h|yY$0@ zuiLY6-#MUpM5%Kv>mE{q9}R+aECuWU>B zX1^+amjdoWp(_+G(B}9Cq{3v))5nmJnzM@58lGwXREP&C%mTzc& zMe=q>4t?}1e|q!WBks|c?%9PJ-7M6;!bco-v*#*R1yi)9IV`Au8GUL1t2KCwwFoI}?^s(y-gcjG_%F8hT)*GQ9?d774Xm2MzT0 zexp!rWytXyI?&lSo#L!IDe(p4%LDw=j;)SxY=#bgfB|Tl#IXF#r$}J!42kuj3`A7}9D5u*R=+|WLfX#G#kDie+Sqkpr>YGJ<`%OK zwm(3F-`x2B%E|H%uin3Sn}7M?>21EqzkZ)@a9iDf9mzcULO%Orz&AezpT*QR$V)ewixN831Ixw6_7o0G8FL7v;qkuO@^ zW*?16V5s6Pw|R~ID*erickg}w_HO3%;4Alk%n+d63<28LxWdic)3ga*AAsUD^J%F% zRuo<#Dkeq^+h>U2hfST)Dcf$2ADT(wTE`}i-|QN~TOlZeQ+%HY%;8GW9a)5C=*|NWPU#l_CG3Qb9ZnAWUs6z8#3>IUq8 z1C{pe?8BDQ^*X?ea9x2|1xDF-;!dmvt6)|%^tK^qoo#K>bd+Y66o%G@;Lh>5O2%96 zSp5geG@jxULg+D;5-3J2=sp}9-XaWRb3Yyd-q0+9F-JHTac*-O&BtWh6PZ$iP#Bdc zYqO(|K|)N~M!T9ZW9mr~M+|+4-g51KegX92i{Iv55c<)V?WckB;W32(~<{8Y=3Qb-NDquwInVRJ&ZKEk?U>^-L zj0d~TWn0^A3iHubyt}#n)9a`GqV6F5kG^a_)!Pj*(nEG~4lLkSPt1__I-5Fwo*9+u zj>$c$38H@HgjX71s`BOFL&ucfR~06RI6cPe*U#n-A7VRr;psjT$CRUD40z#%5aa> zUDEoA0g}t4O~bj#xQK_-dDUuvNC5tDyZzZ8V`BR1$IA9q!>_k~U&(#+<@=kr-7h}^ zJX`;pa)_V(@Ef0@lxxn$C*gqZLpv5&{Y;YqRI2U(GaSO@Fl3m)5hno6LQH}44Psi; zbESXf-xOX3d@FaxuAfqz%DlnN)7cBw@Y@c-!0-`p@5}do!UTYyb5{YJ6Kd$hB z_K#78yckR9c?CR3@n*@7X(PDcbDUA+UM9kH%l3)-GeTLxfuJdaZK z+a<=I)YBV(^&5Y4Uft`VAARYb9aglPVa4Z&-Xq;&IkuR@3g3Qz_O{Xqx1uMoQS#moQc zS07iOM$F3*4#8A(@-A7<9shzDk!HmRhayI8dbUTPmy3ZnE}ECp+Accl(h77PYx`Kd z5)*_&DowT;U=`heb=e>hUaD-BZNB`UfA#VBw(+Xbw)SiR6FJ5Okle2s7z(%uwTJ*P zD`|>*;H%t~9#z~1(%ytax&erC+Q#xY(q=o^doC+KyA9#2HJUpBVn{aV0e zAx5cV4Q>c{#z9X9c*B~9ylhX1X$G8JX;M}l2@nf}BYZh<|MTPV3;9;(xfCM?mdSf9 z09Q3WZA1Kj8~jcGA?MSrELA!hY7MN|y>JiUfD}ZQ+%Ck;cB`Uuw#lZ2s@qarDV7m{ z`jPFKbK^e+=sfrZtBfWXQGOuB^Rm!I1E*Set)G!L``$1A*X!%b2nHI*xz$X6!b6M_&F2wfT+*j^te-dp*q?cl z@t2-(ats;#@_)mpfH0i|?rPyR#N29ctf@suq{i7gboFz_IIB0vT0(C@-1=!dVsvB2Pu9+a_oX7>W9&JCrU^Pl6@1qgGoW zN0G=$jah3H>=*qug`xvv@3vf1J7pk0*976%j_-Ll0gDYEPdeMkuBV|0>BZb&++r)~$gJ&#nOuRS_DWp%VT1o&W;Mg4 zPP@;pF~Ka;GiK!8Gm!;Pu#$VW?AA4Z1cR+nt?W!>bC1mmk~Nm8Ij{7#J+|_~9d#Q^ zKc|++?jkFf0ykB z?sdA4V}(1hwzRGuZL(oTGw!0gSZf`jHN^dyg<0(CVutFy4 z8?}xUpaNZx*+~ame>x5C(}1a1*9o8i48SlMV4o6NwR5)<3?V!qE#_xzg;b+saFyh2*0L6oJgLJnGK)g=)mu?qZNC2nyfri96qt=l<4$Nr~B21JQ5VP*SO%QyycFa}e8+oQD@AQ^*#gb|SzpLF9T_ zGHf+jY^rl6Ew-aU4+drIiz#L2~ysyst=zNdLd)>-Ns(xqt~8v z>g+aeDQbWE^zH?6cE{ho^}CVGqp#ghwQ7lT%B_L|-0{}unYld`?(;KO^L}B6d___5 zmg2;!>LOR*l-7BOA{az}bOOv**}<~CTcf3|iD9yg6BLl+LQoVasMSydR zqKyI)kM-Yj979i@I&c;43O(=My?>kj`p%pD;LG;RBkt3qIrJX5NJ^PS(mnhZLWF(fUe?J_CXFHwA*gs?s6eWRiRjy3V{8PMBK|0L55S>0s5oMuO5{>+U^-^k081z*?J9x zRdATty58k`e)+9`c>kO0faLaud-R2S=25q9&PUeQ_+}k~MTX{BCvfTj1U>ay!@87& zgyJc&d>(IqgAc9Iau2FfkA;IwH2#8Y*x+D2)noEm4S40zan>~OW*jo}7=*8F8KTT% zb=!yYmIZHXAc}a9;%%5NVyvL^Lb!`>38N|zUyS6w4F$dcJ zfKqkTsZY#kuy?V7K**p!?c+K$S@te0)NgLMfAn2{zAZRT-|T$x=G*UY@481{y*~`g z;Pc;givo?SVWSZB2ML5a0-w^joq1&M!)Hsj%2~5-SaPTwDzU0K1`@lC>c%9xdg2W^ z6v>+psK^NP1>y@=WwYipFL zUylWUMem(vPuN_hj@FiE=ssv18@0B9OISgRAQC$`jRl@11ailmSlKlU1aHZwfAp7k zM;IRqZ(w0Y};pq5y&`bb;8tjto(9GVc z?T&sd?2B;8+#dga`0#Xx1A6o&d!~{wZkjotfrIrKZ?zvT<1fGY^LTpm=lI`$@kbwj z8?b5pGzjg0Bizj3I~vfF73dgO_d*78*ezu*}jNKH58uD$~_F^Ax$ z;d~uoYwzGTB|@Tk@mba+(Y>L{xSMq$H@Fdj-gsUiZq2=;4AU`=CjxyUMBrt|i5S3_ ztLy-(J;Do_f!UC!Uyz_d$}wx7W)YBoui);80s2Qwg4WJ`4mO29=h_V1DVDzT{agQa zz5uP{t^xbtOZSHf6XHwZUZmFd$iCK`xM0LS0ahJG1F6r`Ht>k6Q*CLeX-;sysx4_# zt@i_E(Xg4ab)qb>z(UWd1)F7cjP`pR{GpW!Pgw+T=*Rix|Ng5>MSvBBc0H7TLr4!ODnjqm;;GkZ6Vv;=*1L%&9nz2ko5l*jGQY0XjHON>O$WlTWH^f4u zo_8=ZAd~al0#hFSac<4wxI_J!6ovADhBB6~J?vkLEq z3jWjF05BuBf%Gl+VgLvm$OdPBq1iWVhIJo+lOtsW{8bb_-sqVPJo6h_r2O9h(-J>F zHWv=#TR*iA)H1x6whiW2Ki!M*1XJ)FgsQ0Xw}E*do42qtz+qbfCBz39&ofw z1buC_rh>BvN8QWuv#bJlymD(e-hfLvqc^~Bq$6V1_vK#EzGhU|IlRWp|MORW@r%#S zY=JGHbv-@>+%f_089R!86{nT7fmPnDceMeG$mqyP;l+spJ`y5T9)=55!vIF7=BZ4) zs^CgC?3*Vh9pMEbl64S&Cw48}cN+D;!4GZ4z6k2mwPX3zPq zDAoS{+t*L~j^6U%>-TKovELLP|IQ29D<%t@KzHCiCToM|sy0%8l9D`hcp&?%y^`^E zlSJ4U<5#xP&#_~8dc?&{0^7;Q8WW8^ybcIS#1*u)L6o+`CI(aqi^YLi@UE%#=#O*T z4Sah2;qB`WZ?AX%{e$&7xP&KoHxGj(^;#ObBzsWE2pdexXxEkMVx0WUqbLRd3Oi5c zR?s=-^dO7dM)cd!5lh1wbjN!%3?6j?c<7 zTAb57N*2;h9d&AO8heYm%J#kmPd@tN+}>I^9`si)@~@wNo^$pg=l-#8k0e}XgCdT$ zCjnnZ6p4{Aq1J$Kte~WNh8-@-A!tes7LB}8&S#?YS3~-;T=NKCY7RpoXjgk><{k)g z_7xjDveoYWZtdecJA{v{-eWf2-LYKAi)AJv$kpJ+$LtU#-yIC-jE$3^hAbUNHUee^ zX5Z}HfX)8FaPf^@V1n`G3B&0qJEHIoh!yB zt6sZ9cWb6CqVrjUoEIv;Z4=4?l?bmvpOy^W3(U&Ek2P0my4O|gA^SZ$n(b{sa~ z*K47FWJx+mPLn;m5su3Qf)`XMm*}z`3%=ojo#E|@>cJo9HW8Zd-sb-B_FX>nEMppj z>GYO|_uLJH7dHhKcgPs6U1QxtF&dk;IT?Y%-Y?!dUXuoMp^pu#oC$XDlc--@%AHUj zpw6ls=yeXfwuHnxj@uh-r?*V|{=@#`(Po-|TMpBMKhEtGE8o3;>-af(?mH#n1A=ke z$`f2TUpmPU)5 zW;7bi1im5hLmeKJ(Q~_}Y?puZ^RqA6dbFbvGeI<=jF{E}9~sTVxosRxsz6HN?5$gW z4r+y#25aX~aK}kcKRC;F^92P}>m_iDKup+AD*x(k#QErdOZLo&bKC^h#%E#049p({iiOF2I3TWLAmZ8Q zVX3jw1LBspF6f>>oL;@M>muHix^ebAX<(Hzwy;7i0))Qt!HRQrjOuCuA8xY6X(%`mTJ3Q0|N}@PR}?K zzCX-Xkn|W8(=tYnQ&~G4fRE1y*Ty%V}8izG3B4D3hYN)3rw2%FUe zNvcocVJ2C#f)AwB4gpW+!Q+C45yk)2* zmZ`aKhEYi9uD48o^l1h#@~N|cE-JB)u=hSMNsp@SCukyB*@=GhjQyiV>1MqVXCojf2#L>Ik%_mubzKZR}}k6&VA(7 zP~J)~c+F%j$i60?0tmd;ITI5{OvqC*RHjUfWuQZtAn)>jT7U@KK%ui8K;sdPmCOZ4 zha8AKjskNQ0|z&1ZKA&A)4to>{PG>=9*w5I^^;G3`oWW|CTIKFG78HXI!&w^%U1Du z;3ry~g!el}+t@D=xSQDh_l_FZAX%{V)-h{t_dx(`JB~%8{wf6=53FoiT$$m| z@o?!*z5*@3CT(wMiZJzuk5V{Xz@3*d$kMI_Qt+j@KoM~W&TwHjl8_RJ49ASAVx^XE()S-<3AQT9A zSTT$?dme?J1M-pu&+B0t=UiIkv3>f0yW!T`(SC@jLBM&09aKmytS)I?!|V&3Empmd zqpCt$0uK6~*@V@?0RHPDWA8DjLy{ZO9Gmuk0D(Y$zi8!H6`c+Iel}pWg68#0W(cHh z%BBJF=k3&BFi!BSr?8yX*v*mK1e}BRL@bM}DQauHhX-N{)pH=l0_@F%_z)YX;Wce; zl*EO_S(;j6FsIwDf5f6~DKcgW6o|8{S<-DV|ChfiN2uo6moGnmgh{&dJNHCVm2Q%% zA0|*Ue~WO6rnWb$7kes&0rrR;T8DBJQQv72It9b|aK?j?Fk}tFzX| zBPc=;t+40h65|X6*rK`dwbYWat550=|NLhkLD28VkUM;Q73&Qf7b%_WfiBVP>iC_& zt)6tywWNL4fhQXWHNbeVWr4p?z!Os==R7u2e5qJve zJ4fw`jRU5GpI5pM6)PM#2*QB+7hK&V3itTh3?dqz+k-n+{5!!eV#TB+F>LV>d({e4 ze{Xe>Xjp{skTUS?X(I%1csss{&T+imp0qDfYXbN}V_6qHJp~@Tf)VZj)mL~N?AKQU)GDy-#m&3-uoSVqDRT^9naqW^#?${0sJ7-Cy0%^8^!3R zO@SycAQII_Ax5J}Mj@%CAS!c+GSqW2f2PbfbW0o2U32$Fb_wS$rKrol^uy7oo3gWH&)FUjMY_W((<0(FkoJ|7C;&~`)1%7QPCf| zeDg+1V0waoMG1>LH*DWEB!M)G>OHwl0 zniw%o%L+Bx*c%Tswp@{}hCKlU^xX;@x4kfvZm`2aGrw#rUHI0uqvNQccDOtD(a&~l zqgiD+yu=Q`4E*%)ur~;Xy^Y)9!M7{AE_1dV>9K5Kk+jEzHaT@QCEt8JlMatPHh^Zp zE@4Z)mXRiM5;^x?72GA#>-J-9?@}a=h43_p?(JOAf4@+;_h8(` z)7iA~R{75eh?KwL>L~OtDcyKJr%0z-?D zCsK|+h6DsBciCR0~Fv)<*}nec^{p5`*hlhZi}h3y4dLJ4*UJ^uQT1(3tPqK!aS=rwYVQwj;9o zM5iJNW!Hs>#-KhSe|udgu+z|m`^EwC5-VgyjAzXR z@?p%t6UZXpPQ488c;DD6_8!Mjkl0Q#HcD;F4UrY(XlGdCHuk<%H~dw5RnLA^&)$4d zuj<*a>#;HF&TrpuZ68+1FK&~Px!icL3Rp)LG7YU_q+WH2e-}+F@--KFo(mh{=2x9_ z3$_QN;fCc?q=!YPt>BqXvU9S*f!eXm;)sFOGEBe>bi*xq;@&Uk_UM!KWqodMo}95` z9gYfa*mVY)T@%=gaV)eg+XZ4>UlR#X-#L13A_G;*bH-`ZCDXleHi3PfL6{`Jd{C3X zq7I>fuM46(f1s=GW>lluyh^qC_$KRRKo}S+g!1NXupn4Fzye6@=24OJe=A{fI*rl=#?#8h5a}&ysId(j z%d1F@<7`n-CQEAWP4l#NnIM>;>j6P!Sb4vl;fy6dU;PuZ*l=!`oPENbJ!BbTwp@G2Go_7Rmq!JtC^oK?EHP9>~r2 zu>ML+-Q`HSaY+hcU#z2CMcIWu&_nfVC6ZXFfaBkDWUZFnD!!Iv^5 zwyuIR+%k~av8{k@3!%fYxzM7GoYTl^(n{Fjx2!nXF&=c1iKpF7J(bl)UxIyAC9m`y?Km<|wZYofN)xSU=+tcIvr({Qv1!f1J->ef{Xrd*?UpNqXD3p|_2X z=*#xq8~OL486RKeCx7$xyKa1}sepI4f2AsOEn6Tg4_cKKXVK{W($GW$BA}D#@fsEMwDaHBOuf+L)z$3&J2tC8bv_zN(r`B zqKxGQqP)YClnze=AiB7RM(=f`)6r3lwDn6r*<;ymYBHuy@2#yhrVFCrh2Uo=e@tL~ zp4AHf{{`ocetW(9{Y!rG?DKk2ukZzYblJP}yZ4Bgs-N(C@XDXQ`x_r1keC7N1Rf?g zLXxw94o+!_dCSly1l~5`XS}hS?)ZZeJX@`15yPg6*}hCnU>%C%0?|FFiLkfRNedpz zVM^XKbDu;IZHXL{hkyCAYt!3xfBK#%SH#pN@TA!=4G#gNKqVpC9wnh>GLTNXI%Nk5 z`_}e=|72Ee2PCEqjCs%QseN|_F%`|MGU_>OuV|5S23N+wCE(HG`Mxjbc3k@Q>-y@O z7jK?_^;D?=Q5qOi%>(@tgb3nzdODz&4j~!AU(<99LG_;@;ZZ?YHXL*Qf6_AA;DR-4 zEqokvw$y$maV(I$CVZ6WNv%q(C!?_?&HzK+k6T^e&9~2jlX$PyATvIEJvqnRa~z^> zYrxH0FmRB2^NIbI>2N(O+tixdS`&|k$Fwt+#JCXpA$H(bGm!Sp677nOh$nAe3vkX@ z1B%XmOZvO_%ef5{y!~9ie=kJW0XKkHaXSN%w2S~@3p~qms~Hpm2*5($2C8Ubw8$@I z)Yfyj_f}-hFEibuOC>^u#p1S2fqxZh=~fM<3zS}vLBW}fcGdTOssXbp9MOV{YuR!F zR4@jPfrGFrJ_6+e+abxJb0{00ucUbQ$sPWUnY$HqBPIt)j1JWBf9xQ%j$CafZSKma zS|2U5t=v4SWY@#La+z9O1QJO@dlc7HTYh=+IwlxsEi~EX?TD^+&AnjcTf{5UcOqlh zA?+n=gCrX4dRUH+*wquR)PT)(CPNo2;M{RJyp%Ys_x13vUePKPA=D?&Ku8_2xzpNY zRF4;G$V1VvE?70Qf3R?GxncqIxku{-tHFR^ZESRV=TU~A)trllE%a{3d1>NxFMC>6I>To;=jI$B1Lgy2~7_Kp}0U6b?ILR2t zE@}A|KOhQXe@KQY=CEuyHJ-WKDXliJ>ggw?F!;Wpz-OXOe~$_Y{GsFhFZcMQ&37I2 zL_#Zb6J#LhA&<6fXSe7oY1OQ4OQLiIQ;-j({bD6cLM&(piqf zY*IWu7c^#=e@RQfb+yi;9BcgU(dXnY5C8gSpZ?Vk z-;TktUYHffwcRdtk#q_CTs7v@jiSHrJ~7ZTWgW6`jcFu~>Nx7^LJRUTrSwV2Hk0dR zzI8OMc_OiXMmm#Bfu&e5ym8~ay&D|K#F~vs@p00ge>hPpjU!iYi|0Wi=}5yg4r%5M ze>{cdz%?%BT$lW=8Ypo)0VmW$P|de+;R6?+P0Uspo zu-eSoXWd?$fAS5~wvUsH_kGWv%>K|#_U9uUfB6)Q*|CEZewi&Ujm9cn-U23?P()}T zS3noh+k|?xFFX_{v};}0!Y&+lJ8WrJ){LEoCo4X7pzInnAr(`6Klb)9kD=i-ljrSs z&1xZoVRjO17hQvG+9n;|a3wff+CnUG)t>7r)VnW$E`X6%S|b3Xy13-U$c~5#n(of9 zf9wI7Arq3FUNK}ML{q5jb@emdzBMns?-~8s7xm@W_3E*q&OtZ{BRD(?98?}g z_I({v&y^d%DWkxRTuu4yRlQ?#bh{n9fA`CI@@w+*H}%!mU&1s0_}my3^p1|&nkND!wgzy+Qqhk89-nar-143W;MtRSj@pBcJLi~+ zCkwFUq*rJqueshoH@^K^ynQH=j%taFvyR}I(bmBOGI-s?SO#*kd_;z0eR_1)f7|yr z$Cyw%wa&0k>_{r$_Gn*0+SuBrVdvy{5~*r50M&+uLT9X@FbJL7N8NkBobUNyzaPxd z$&jLkfOTPn#Nm#Ho(T!_RX62>8_1Z9DyrZou2Tme&=`nPY9y_;8%0!1Ry*i|!aAIp zlxB{`=V=6BuS3ZVR_a)nW9fT8f7tXbcvuSOgekSgrW~i6OjOR6Iz^qaRxaHMt61Mg z2;{D2#=#s#rQkhH8$OA)={B8t@0auB2m6!n zn_;x311gV&E%eH@yu=pN7%Q7Ch^j5{#MyV-F3rx8>_{7=oT;mwzA#ILe>`%~!mJmi z|AQILMN!Fqu4Yy3&4-*8gWyy~Q`T?nvfuwyKYS4oBMw2O9HluhqH-D*?F(Ibu?(jx z?~R^%%m8xIaMzoTX4|46(HRM)r8=Uqtg}qgSHhwN4(Ei3>&)rsv`nxXXk*g`*OT8y z@;>s*`t4Ht&Trmt@%DdjfBpN9%|`!3;v2SZ$}}59I%%6nvGr~a3;o`!hgJ;Cv$D$Q zVg(-TI#=IK@l0!hlI+BDvYEAmAk0C|!_qxlPkyvNy`0Ifo=WF(UpQbic{;f7E1Q@bUuBD=Rn0~RG45J4|=W)EYjA-meb zdbtC=HFG}xSbul>fB)U>|LLO?+HSY+69137wfkY?A=TlV}Z})lh;R4bjb85TjKPkg;%eqM2wr zC=TFi%WH@2nQe%+7Au@kVjgC0vmpWs7k62&WU$=E+W3%sf9|b))JgB~TnE^8GdYYM z8^=^T(w9?B^V=Bf&tBCxub-bsy1skAYd^Zc$GdMEFJC%3(O4b*Bvi0?BF zJC6;x6nyXNite206UodxM8uTiw&3^^|1|>BH{Z2;zh_S*>fd+u^^eol*Ngh}v!R;P zL+rKp84#DJVx3Zdk?im|)S&Q2BLJTi%I>FD zNvxa-2KSL|{Ulw%0-7L<)h;)>V&q-*T-C|5e`H^jVMzYE@xtzINJkkhyRHpUNniM1 z1@Y!ly)EnOM^d4CzhytxSh$+Bwup-nZ#uSgqIHN0NJ`b^R+23&F?k7iw5J2!PZ2RG z?5wgw7>kB<&+ZAzi#Hun+iWhSs=d3*@qTEnvu&)__7xACw^z5s(j|mb7+B50;Ocu3 ze*zB?W24!XUYo{jv%Kd4M156r7IuiEsCbg#!w2KBhnJ_1ijJ7N~6~F3?6! zY!8Pt0-3O`q6n*u+n)bVzj^WX^T&75d%tNvR;Ra)KE!-te$yw)&S~Wl9&7C*fBT># zm|CiD0|p0VB@>T|n3a(JHciZ8(B<|;4c8fJfXd-mqA_TQb^wg!2-+Hmh=Fd@Ys}k8 zW2RG=i6kZ2G#YM$v*QBh6Asa8>l7Z~L>T&EQH683rI+qUK@IO@8ugKYPc7dt~{%^SkzFr8Pbo^SzbUyT9@0zlbb6U;xZre{y!S(PisNU)}o! z@E)9$L^%xML|;b=bg-##4Q+04-Hj5*R&i7Z%c>0Pij{j7Ix(?^Up)VWADHFJrRj8m zhgu%~jSDBg6~Wb>h~zIYWd};#K}c^BNZ&BFte(>*FGRh=r~@NN;C7H-;%cORrL}P| zYX&Q%ilz=J9K|6&f1_MP>-gkd;8}+{e%G20|0Z5VTQh^tWYBG?F>3#b?~$zr?@7!A ztjmY(Y1lxGArlaXZ6NA2l{V}``QoO5i$~hpX6y9cp;3fvn-_Il4^h-0ZY==6Z-TDJ z!@u>}RUijkkjew98o7=*o1rr3HMwHyslL0POM=6PST{ype@h1!cDhRe$cAj2xdlru z4^gSLx@K)b>~JG9%STo=>QJv#bRBz|@Wa1-G5Xx=K>XyLEp!`70uxUJ_&ajS`#QW> zHXob`JHe*0*69o^a66TB5oJ;kH_3+C%w($s!yqml3}=KXE|w6Y@#!}4oa^9!Km0qF z%!>>^lqrX1e}p;|1qPS{)nM7VgM|$$MrUUxQ4DP`kmhkT8M&CsjLNmUTaIY!kjad7 z$=;~rpg=fu(pYU47cc2k7V5XB9{%0S)mSzg>fU1&vxtPR2}wHSm5#@2VI%G0dID$> zTqR<$Ad+#6y0jEKK#f_)#CH*jhf10EPc@p)LP;3MG#1H@8+fT&Q zE31#Tx$g-`#YR!6N)KEXCTq^*L6sm)!Zc==Zzn-RxOm*WTy1+`Z#J1MgtSnoG`U zb8hWyf82b?Hqix_SFIdoB@2(TG{>GY7+&QO6XlVlw%fVdZPuh6qImcZKKlq5E%0|}e+I1`+Di8nBb?rnLe^kK9TDAv_E3zu#QG%FwF!=w}+07w0 zt(DQQ)iB(WsH%J4=9-~n0vxa>I*~KOaZENrIDLZ6h8>`Q`QN4wjFB&>SL8@kt ztdip$V5@`AR;8Kt1DUw0ktjzN!hWk$q(wD+b(% zX#u}tcIJ+cXI}1I2Y!>V?pkZ3E6N8e2_5a>KmP0^=-@y6-RrWq;dRCM4dnp**?8h| zGz~OrP0oqcIcAW!C!j>W$cO!uH7?JMV)uk* z#*?V;f&AR6(U8OI7C8(hIt)D~xwRZ5)c~-hqQgRk0bY*byL|M4qkSCQrIBFTl5rZI`)%G{e>d;_a&E^> zuj7mQ%AS4m=J}UTR()enG!n3UUSTxVs-Rm&)uPpO(Fj%F=2$wdwJA8@ae>Q(O?C8H zaCz}A$CrNWag@}D@B-X4N?|Zn!@n0?14yvLAe(JF-^cPAkm^>;forav?xg}h?7$8@ z8ZpC~xp>3eYicfAW>zL{e*$NDj16`8p&Y~T%Tai^YB+I~j)Kz{lxQyp^%_A9K3KVT zZ_cMb{HJfvCvj32%?6|uZU@aT=2jehm8)lh$Vb9!8*J8;-Eb7~jcCi-mzJ@vhQ0gP zf%AVQ(W!kLmtcU}Yvc1%JZmGn0O$n3x19d)pIzq@xenJ6j9UZ3f3Sywipo!y9T>@6 zZS1{5anCTQl1mKHEYViM0S~eb+na&*Vb0YUd0Y?UxpAaV*|$fkrG9$rRq1_TnhJCH+zpCjM;u46nw7;IW+*+_Y6T-6*zkur-E1vpHNK2?}b7Z**{7ppWaAo2CYEt}JId(+Nvu z8|`*dbnln*T~h9CIPS(F5MMrj%A11|E@N%N*YyhA$+M8Lf7aSji7P@L$AY$$y9NF{ z*ECRSoTCfvC_EfyR))heo*V4n7`{NY9vhn($JIk*5eAXnyvTUR!;FL&Y!-w3eN-6EX}fBC%kIKEUDH6Jn~F2_VL%qNVWNja{%sBW&M)WtEFVw*Lc! zY{T=mUOivS7)jgs`}cul}ZaGi?&%e#yQnYQJH2_hJ zLlFJ$xsbTv+09c0lPtg(`oh|qBgZc1Y8a29f81YmJ$uc`QfM?USmlB5TdW<)3!Z31 z6JgqmV*`$Ki);4xK2HeZ|K9gB?|oBW{^8GGevJveefdxRt-tW-4}SA+|G{6su3&%d z`~L_2f!qJYQ~x`k{`?(>?7J<AGQwL&_7^k5 ze?2<R8Gzu6z%`z?Di_0Voo4IS0`Jam|AhnRXd(SN0Z?9Je`o`kHMpNXAXqj`&<9~ItIOper(9q`-By7> zCUH>frl9}q4Lzxu*)9Pjr}m#rq! zE=o4|-<`U^^sD&Xk+eBeWTKA+f1k*xL}|2xc18o%T`!%i?k**J3YogT#A4xZ?wwqMWz{ zdP-s4ye+$;R{?Ctc+?V_-Jnm;f}kA}nqXU)sn!Sr!wSDE>gw8SltV^&8FY|fZUECs zX|sj-`KCsjnzBaW{)9Cyf7*I7$XC^IYu9tx*2V3ZK}d0%|Et$uzp6+1zk9!FkM4x~ zllM@ZKY9DtAK*@S?|u1yb4|IdFhack@JJU_)9!8KQs6snBK29eXUm}0I}c)Aiq!d1 zJPQfdt=(32(ArWb`5Mr-;yR-}cTDV5lyo03+Hgfjm?dmm<41MJe|x{2TX|Z&{_^>Y zH_!g$`RnIzUcP$v$Mx$ctyE*Qm^yh~P0XBidQFiv8(})?dk;`c7UrgqEpIw?(4mWC zbVUfqs$)|U`de*0u(@2mp^-x~gj9E9lm}eI4jrmV9r{QxEN=<^-)_Q)MSUXbuy~=6 zK$F^)#>|4$V1t>6f4Q;%jC_2+j}WV$;R@b2&Z6b98FZluu{sP)pngzJ&V^FAn8Ra} z4Qr9)JXK-LT~F!5-~Iuvs-#4yhRGFCQQoqnX9aa$u|O}msBNfd4AyONf)$2v9gAS* zg#ZilYy9j%>7zY2Cd+fXtsY~@DW1G~6W=ijUQ577$T?v(m1wd-3OT_0aszOp#%R6zh_TYecMgd z_s@M|{2>U22%Qhc2#X}~VJM!zb7yWv##pd26wi$%jO`4p#+na+>_wzJe^`-7*G-Z+Y6N`Uu-#3SnrrSp_O%gH zNZDmKlrIyassqim_q|s#H&GQKw&C23dlOU8P6gO6GLTDb;sm6$XX~}L%{eFF?zek^ ztor&{{pp)}@n~9i?|1IEQyBRHI!fKaZ*ra7$V}GS4eL*AuCD}UW*eySOqF$tF>${c6Zenri^si~ z6heAy!RRTTK1{leXt__lm2mbL)4H`3?Dm3@k4D^kj)RECQcUOd6xvE` zQ4_#1JG<>8V?gbRM2|sxa(k&8iW`V8uLdaTS!g=IDz<{X)rxDMEz8hqit9ksf8gtL zJo}9%f8jdshszwyz1@qo=rkVY@lT*X`wEtqTTCbU!e z*a}8^3ikgAh%mG*Y*j;q?f9!2JqYcwG5)G}jK474bqoDn@urttkF~j9akid=5 z(QnZ$=M;cxP3aPcEyU&mE{W*FC&svD9Hc0cp-U&5IVYbKoUGy?&D0xjlN4E6h8ynOwp^4aIl-#mN%;=Fv+f2z9kyZ7jF zH$G|a-Dlta^#{^q5t*CPXf_NMf1;VI^>VF)jwUn)zNw1}kAo1hv@=cS1~<-Zf+)hqWps0?OLQz$SDj8> zvF*_|=`Fu^A@Dde>JROJaIu_S^k5_cPVRw}Bhd0ln~VzwzLHR7 zt-Srd{qk4OU*yYQJ$wE9pLtAmzVkcx#89NYM|XVt*B{R}?)`W3r}5?UKa0>|PT&wP zHbRg`r`JAW4a#oUh86I_cc6##mZS#l;OsJO`c>M-f9eh;U(k-vGQ=TJR2b0SwLXz0 zIeTY7Rgdb-Li0yg%!#?}BbtksE?aY9IzKz3(wfMt0tciMY>jhG;vEHot|_aQL3FQ# z`}@R=rLpi>1=PXGc2HOpIu3@0+7Klpgpk@mn$4RZ#l{P2$=gZEU;1@hFK)ko_kPQs z7z6VSfANt&M&e_6I5WhDO;Q|J{@r8(5{%96L1OR<_8_ekSXj5ZLLd_czRHmh%t^V; zRFv0OH7?qF?a01x;s|7BNACgO%WkWW!;yQf(c<=Gi7upM3$VA*!Ge}UfUG|YQNE3u zv~nM(*bOE$#*t;h$_Dq*iZGycDmOavftmBoKwvbm`!kR z4q8<>!lQg%2RW_9HnZcbiHX;_ifg!Zfcs78HZPo-6gA}CD`Wuh`T;`=Q`d+dT14{3B5U9~5PnJLj4mabZw%d(X?de}#Vz(==<@=QUyT?TzegZnE%IZ`b*KHwhLx zNvoo0Yg-6qBE{XeD=MmrVXlA*~$YS^P$TxrImvc)AbMs$+`SQh6zti0*0IibX zQ;voj+S5SngCK)RwL25-fjhmTw)O54ZNoN?Y^IvaT0(ow8uMtn8_iu~>}(;9D~bckn7N@E zU^r^I?MfrY5M!&aG@`RZVe6d}!#nMTfFKeR1cyK{l8utB*Kpkr|NR9{QeE6Jj2J*U z7U?t+9=$aabm?3=HeB0DKEC?>cEIF9uzu+3)}<%1lI%fNeyCD(TLv)gs3^t)JG>lzsmw{QUJZfBwQ={rcHc+S_}-dB3&7oi)`4 zWZCY^58hIjYutuvy%N`4e}th3V;IdHFTSyPe+$#$(?C?&TV%;WZh0!>qA*76qBB=) z0&kF)>IOt%8v$vKKdi)ddiWoIfUSVK&aqKN3nn_&EQ+(oHWZ0%>`HdrMw%gt)8IZ& zV1}DFz!9%KAU3~I0y`uKth~kwX?tDQ&culF#ENR$S9L>wj3Ag3e~a7W2W;&V+R@Q9 zC^3Uj79{^=lsi{HTzI%=h>Nf?H=H$+{c=3RKL+uHbkO=3qyl7SQ;oe=gR>$8A>3;k zsy&e$8FTTnjVtDDrTypUb^S@bc=I?ubmzD2H^21%)YtYVzWDUpm-^RVeErow-2Vyw zq<_-?p>I3K|Db>KfBefg&tLpw@$##$?ag2N_CNfOfBNaW-^m|c|Al|#3w!;=ALSuG z@2?p8|NAh~AO7Oy>px0+^{eME9{-qPXir`PwG(W-5g%Bbw&_@5Cerpc>2Md@MhU4e zMp!FHfZR90p4)gt4DG~gTGu`%0IoE%UrGNhK+!DV%X;gee}68GN)QlMd-%V;{_sC0 zP%ID9Ags#P>(a7rQ+bWL%{1)pyIOz>W^#0ZhXjk=1l?$?b{I=}V03a& z0|9VzcLyPue|;b1oQ|hVrb2KWbf=QEL4Hc?*y&wlZF zy{K3CDc%02?)~mPC9~|G==(BD{EZK=VE&yN@Bh0RFV3JsD|zUY#oXJhwa;P3+`vH3 zKv+-VIR{lYJ4L^0`>Lne9K)Nyf(Zx1tfT}~Ib(OZf9~JzV_=g%VZP=(dsMFi8&Zi{ zw9d6+=&DnTJn;1$%KdY^-Nrmy7{hI(DQ@xdcZhZ0ati6@bZC z>qIe`=)kelQJY{+VH&aA1Li)^UEtoV*zMte!XuXnwy?gruZRETe=|TqKJaq_O*@m$TK!DUUL40ypVKr3 zb{EGCTrt#f44B}BdQb;ifAvmt)@Gea%M7co!}yX3BFBU9bE9Yr&+3BY%WlW2(7dQU zRde=RRG&1oG=NpPrcqo0R>gt-ck5e*I1>EsJ~P1i6*JgG7^HSTr}4n}f&55~9*J)* zf6xS8OF66e+Ur;b4{3GwV8C>D13-HMnR`2dd->wodH&-0>o4k2&i~%;+!G;+aTB5# zALJoHeN1#D7_~pZhR0ZQcI-94)IFD=fmlWpJ^)hNP{8MRaN*i%Q>6#>Yi$a^ao--2 ztFC0I6n^~H7m~nGA5E&&D+T{ z^8f3kx(>xv*>KjLKz45&_7P+inJaO2@Ux~-h>hu^4r#A;Q0pGd8|#F~zQNLEe-0@F zsBjZep}#q5;H8VSs8XzXc+Yy|75j_-^rOdvd%s~%EHhiXS!T8mla;%iYjLE_>~x%1 zb*@9jAe*0o$ngXqGVyV=Sh;nfJk+r|any7BSQwceOv>jF#6-EFhuO%F3x*54&f>K& z*X0!iln|rUF1%O#sTnx($FRqN6^(8h&98V*}CCIn+|zf~S01CP=u$afnXAX)(k zedG>93SssQh{p2bgdKRUfAR2teD>*I`p~~Wu*^@54n8GD5ea1h9$EKTP<%SYR4it8 z(FVK(XX1g`ci+7sbAA*Ld74OQ;)1(JRgE(jU!bntPRA$HM6Rp!Wue?KC=4aN^}RvA zogjTp?QeDOt99h>!Z$h)zI#o}mRjJNpQe*KtS18klwu^Fjz+7i$xTRGK1_;c zC50_QTM&p0o>8L<2C3SiO;`>HJ;N~*qP##ccX&L9^tNZm)yF_O#sy_I{1kcsGe<2I zgKz}5PcH(!n>(Sse>3__s#=-(@PA%ZVW2Em_XVA!5SH1S%Yq8U)z&9|_IfZT$wIk0 zYc6c};_Q=SEm*KT6p{EGZ3W?#b6Mh^hkqBjev#UZ8Ij`ht(OUIMrXQB(cJsx+|EzG z{^rH6!7O{?F`i&ObnnF3#Z-j~F@iz6R)b+?$Etyi#kLMdf4Nmy&joW8Y9~>tELY~< z3pSJ^lDiHdmj=@P%vuq=K!^u1Ab=mW}(ij3|9itB$?P`E$$B-19>og>#b9i8Sm^Ne0+=FtV;5DY= z@?vY^a^dYz^n)Z5#Bi%MID+B?N)atcI_U00`S$Gm^XIQ$`roX0WD>mh+xA2Tm2OZ3 zA7HEW;WMahQS^QaT6iYS z-}imr*MG`cdl|>@^{aiRcf5R348uu)*DTvC%#a&OvXLWiT$E}xv zO7sfM4rwQF_h_N8ENq=hp3Ffe7tSVY&4f4bY-nlupygZfp0JZ?p7fnEMbLV`WBdB+ z{pn}#9-cZbJ@$sk>CwJX=aYBG_2^@eL>>{Roh-K8_3nF~$J$%El@W7n!VFST4t zD1{NGkczia_U!k`qM!fHdh>`0``nl8e~F|<{>og(`#*nlx7xB^a@LhHby|vtiJ@yV z=SY{}!6IDOcXQaKI5cPLGVhu1TVqxJjuW_TguFK@s~AK zdbd4C$o(YSCe9x9v^omaL9-5)Hd)3YGu0d&RHNKB01D1Aww;_y>#677I|@6Be{y@D zN$>&KO02QgVuCTjDcGf*RMrXD)@7T5(#a7g)_tJ*=YIRqL-e^X*rW32xG#T>4^sYo z@>XLL!7icaOyes?L0eT(xaaC*U5C{0Q(@$IEsIoEi1_N#jig*Ta>$H=@GR}>r%xGa z$k~jFdG1XU)6$LsZd8gl8?)A|e-quwefjXY-_DcvkFUSiL*sRN>ToE`bZj45Y;IX8 zh<(_OjCU zo~rX;>}rhW^mDIs88k(iT~l58aQyE}C&I{GBr}myU9!q(VAruQojxJ2e=p_WI#-|R zBu=8t>d?c|ab2`C(nxKX=NTtvWy(Jx6dU~g+9b+4=l%nI?zi*g2l@xTcz0fm@70B$ zoUEv$)YQwMc3;%7P0R>)V5O~IV!+!xtIgGC~FR8kZp-Qnro>3J@iR1obU|MS=a~fHwLo;(U_t@$Sh-&Nj7I~?&;54px2%86 z?`L+y;X0Wx9H#)z>a}h%(cM!{wbs>FGhzc>CuDdRG2Cir^rSg0e{FqRCkapb&hc!D z^*W+l^Z)Z$R4Hw=zGBH}rGVV3vm{O5H&%Y_R^RK}8C^)+vn6ZOi=*F28309!y`=3u zu_W}l2YtK-O*_pr=vkdg@_X|aFC7_+LRq7oM&$@PFTa@&4yb3)(2#z8!Or%Kjk^zd zgr<7#w{xH3{o{T;f1#Zo@7c!j(LF0Y_M^v#dNhz(V~)hZedb!+?Rb?DOd$7B0K*t* z5t%$@Kw~rY5oZ`I!qVGzb`T7Tlyn-msMzW~F`|Io=665S_RaLo@?%?Fe&CM1bF$q1 z?sxz6Px{i>@VvT@8u8ErIaqvBF; zAX@UOhm{dq(aed7u-Pto+Ofj;Q@gAk#Zp?pA!LX|=X)E=dbe5CC%o2S7vM_;v-^d*>&&$64H+-EB)X^5YyRdQHur*2M^tjP6D?XLSk z!P~%5tjyD4e**w+K#{+Bvr(%gY>(~x^wDqp(%aAcxAwblK797Qf(&`o&tC7>?_TUz z5AWVRhAlt$m3)#(n(mmSA7MeJFVGR*7fqj-JmgnzrRUv}q`DLlrtn!?j0=`6L2;d2 zbHplhEI$)wk7P3jO!kOYPqxCmqF+#9H7m_sa7=S70aLK2(0_fruR9M%xT)j_d){T> zAferLG)-uQun!gacE%Wu{{y=trW6&CcvuUupHh z#1}jnsl4(CD|f5muYK=Z{NnZJuU;TsTA%J0FCToremt7~+?VpnT6DduMSlp7iebRc zt^k+3_>9hCF1jesH>^dv5D2`2^gJHnDd}(xR=mhDK^)!aIYHd$ReRK{Q zOLyIT;H9qQo1?~9tTrL7*W17LKEQ|wWx1m6wrk``m$un;N=Hjac#+S4J4;V%YM0ZS zP%~+WNjng#K1yTJw3E+kr&jMEosFKet_*>1^CoWli1jw=b#KSYcou}@P3rY8Q+gccwBed=@%2c<9$EOXs-+=bO+o zL8lsmv=(o$wOGAJVRXRKkeXTqokKb5vu&s-D1W`z8BOAhs?0;IkurV&0rO9@nvtQe zDnq_!fL7pq@c1T}n*y4t=CV0JYpVzwbM-i#=bsL?FQdCHvP@gD=k5#Qe~xX_qm#WY z5ty#kbVf7rlV?~~q|mc-@yXebhLhqkXYiTd&i!Eb@2rGy3> zwSR%dMpnV)<&2Lus|&08I=YFc=ahBX9CXuaT$8NpIL$lseo@@7vrDt1#AVa2TRRWy zn2f2zf)>P?_2Sn2;0Id23^&tguF4WZid6vdapBG1^jwHbZWWeYh|sc zcBzuWQXZni1AC`3t5s4>h6fr4Yr2A*b!DUakAO9=;e`MV!^%=l*S)2?b?LLJNEO}AA&$#gd;!xmZ&#DW(}RQa({yBH6J-GvBI^agG6`MQSMhoENIQT64E;*);?A9 zyoOnD_C?fQ({ZmNteKLd*Rd^1)6#imX7rb|WuEpqvusYBrY5lnZ94SHOz1n3Zjn@6 zNXI7d5JT^KDL?CH4I(4JAWSgsVqx- zvLtosXrpDUMnU7OX}!0x+u$+OXPNb~+uEEYD$j|Fz+T|e?gID*0t%h_Sr|VkO|;xc zVP=Z%V@acwhHqn-M$kin3Z4cEj5Rc5A5{u2pL9F+?oGH-6>|h5-b=1LrgBbJ_vx08qsLiuN~0%NWwe^hEJq|W&*g(~ zrzYsP%$V=({iFnwF{MW&pD3~^3AX};C!6A(9SW#1O*D{X-pcN*9)Czjbu{7KWhO{y z3v1bvuFURv?IOS(_R4^iMmsArcFVAKEpz6>mKnfDj3OtgJ+i}p`tmb-@%ehQUq1@_ zJ@=LSy{YkCN={F0CtbO0Pn@lz?P~S~4eHNSl4OZtad@)p{l>zTA_=q!M`n4MU)!Qt+3Pu8JOjEo zS5LK7h_7P{=dz8Drqk1oL%-Eg0$`C?MfRyN&qy=j*h&d%PC21z;4H5*H)q<@ z-~IMSV1LcH{d-p(dfGmh6VeUiL7f1Mc8BD4hVN8bPF2^chmsel+Imd(z_38y!OaoX zYM-q!TZ)P}Yy@4_6Y4pxK5y-KB_sFKbHffqByX&HNW*i#oqKlK+x_Z0`^}T=GCO5Y zlZ~Ko%&seUQDID=Hkc4g)ujKR7vQrasmL&CupdH0wjPPBqh*slxc39uT|c_8cVQ zVt?-_rJYcn-T>dMI0%|yHX^`V+D8jNgF)o?==&uzJMq)9;dh@2n@!v!E-O8mXphMQ ztB}$^kw?;&oQe-od+WA(T~9u6{`4;&IIlj7FJ5lg&#&K}&)&Rx%u{;ii~029M(!Us zKk+G-uSd)Qy*ZAZlsEG=C8uUhAT&y|bbq|5XW)4QFltDMohl;Ms5x8-H@3c7Q$IlV z5;3QGm=|Zi+tkC`JZoNZ7_ntJ9R{)2KI8W9v$*v#cg;t=$OeYl^HtqoXkm}q6EtsX zs&YM;>DjebW2p|D1i&IiPD&-Vwl&WL;wd)gWYGN-{?i$vgV5sx7g+G=`WhTYcYmq3 z|KM8aPpOTSYZLPf7=TW06t-dZZs;lroRr*8w#oOuUk8)`1ATU5Vtiz9&(qG}>2U2Z zeI4A(d3HA05!03KK=zcp1&Z7(b$Yw~hrEj{d5XE6E=k&g`8zwio8C*PkPn;&8Ie{r z!bw>e+3JAag_f(=gDY1P{gJe)d4H;dN-6ULs=IWiS4||=!vpMG6znl#YWNUh_u#PNQA@u_cD?FVTZ3QylixG}(E1dj88Gu1Ys;jkW zOnFyQ!9DR+G0Paxb8l_2+b{PS!{>fGPp&6_@XPh&`@`oiuDASf9-e#>1%Dln+OzG( z>Zc0JN-~_oLijVRd4gAvhPBD5GFIVEP0L0pBYGN0t0?$6;Hy-P@N&91HU_+Uq2xHg z+vhB^qyvA!%84}V_gh21@;y>e`DRH!c3=zuy5IwtuZHJ*D~>a9I8D z+ikf>f6$@kp`f1!4QSLW6V5mhhGP8)6%2#!gihYhE=N!ec38U!BnZK$*#Uu!oD#jS zIdiF&y1+Vl-ZDs-{kXL7a@m}?jOHXy(Y+ZGio8=fSQ*GUD??2=N!@KG z4=#N<5wneX>bfsi|H_*$UQ<0>FJJDLk2@sKd+DBN36{H-;0GAmWR%6xquGUPJd?2&f`pcPgoU8Ln@RsM7J9TxoJ8HY-6u-)t#mXgFiSxcim}3n|LWy%^Ibid?*$<+lRHgwod#)Q|u{Xqf?Dqv$*$}rJ&hJ z8!BC8KNwLdro!xxkj0xqUqEH?jw7Iq)B#E=218>K=#&Usn%TLC@DuW(J<*b9b2A`&m-+t zmiip2-;a)7CgB$kk55d`eAOPEnDRGa;Qzph>B}Gdxm*!OPfd-Ajf@9CC)U~V2Y7?$1EGRS5BVvI8}wkG$oc@2G(Sy zLtH9ms#8|d z-FwOIDcdPEw`z`{K($q^T8ORGc~!D}srp>E|9|wSP&KF9@18TtgbP)`y&dkk*G!Rx5rA69Cctz%}r!bw7{63`gOVlb}#Co?L^+=!jx;@b&mAjt&hpASa z6=Rn$>jRz*#MtZ_Xu|Zk4LhZkdrgg8M*wy-X=Kb_R0S zW6;LyNvedMl5BSPZ!z~uTj!%Q$#cJ*`+r>Gdiy)C{kI;Tim_dXV=48dx_4nfZI-cj zuA8J6HErTXPN$(8~U2VIJNHhT^>D;~3J~Qo8=;_LdVF0ActcP*Y(|cL$l7G^g zU1Siel+-tQq889?1v^a3-n{RA(Xf&wm7WUlFh7w)P8%xXe*4cphSl``Z1l`;=YII^ z)x)d(LtRFV2VZMxYGU+;5bNIbhF4pba`V)CbUHD}A6huuf$p+kyb|4X>@pm}7c;Sv z&&i|b=Bq^v-`m<*zU?SLEw5s9rhjtp{G-0^0LT|PiD|8`eelfuo~6QZu0vXkJX$w4 zNqZ~amgW=0v~>F6i#`$`o%B9erwF*qS+ZDuX@GgpUS@5rC)d<_sj9OmT@tEx1v#Mm zmHK0_qwjV<(ASwW&^_xE0Q8mx#xY3ZTC|s)y?YsbEcz`*CnXUn@3L*@tADuIvNoe# zVOL2+OysIupNQUOwyQZ8*f^{hnZ#y!cu@3h>;4}31Hbw1-RCdfK79Imz5C+LW1r$P zU%cPDGf~l8Nb9E|GwWXU;6K@esoy3E6(I7<0((?eKTRq{L6JK53zD_)wAC)#4S|MJ@(ei>Eai06KJyDV<-^}urlEn3c4=J)iQ8o(F z2y>5>$*eGm=9d_;`}I#jG#~WwUbCz+)d!3AvgD}EylW{|oFS#`u?mES(UN7>>Z54g z$Q?mHDLG2BYk%e@qmaG*S1kNuwmR1?|X$;@(x>B|g-WzNVy>uD3|N5s;oJa*BSUU`J zSStCldjK-6VuTueM9NhFh4>h&Ru?_d;v}%lQ`TuwoqxdSAg`3GSDPEUt7(bRAcdIu zA{`;VO5P-EQjg0$7WV<1jjyzx-fHadw9GDCbE^X1{a_SbLdlqa{qSt30I=E;&Hy9E zh25O#f??%L@*$(GUUlg#o^+kPTxpm!*8X{=aqxkJwAAk@+`oF(+jlSi$lK3ezj*s@ z*~?9w`+wo}rw`{5`0KeZ28YhBb=eHos}r-6bXW6#V<6{IRb!mOKc(=tK>o7 zzwf>`Glf}Z-8p67B|*AZInt_I^%X`bmXqT#{F<}EX_4Fpd4N2-V^Bx#*Sg(52g+iy zn)#fQnQ7Mz6@4}Lk(iEevs$d4&#;wY1&(F8FMqIa1POON*vKmR`%`n5(>2dMs*{wC zWDu)2AWo}h(H2?_^E86Nm@@8tAAjomd(VG!zgj<3>;BxA@QE!*z1xC(0P)990pDyPi0(ltGJciZDT(XMp)4xvQ>pE%s0uqedaZR2aVmHltOTva^XTXq_}l*HfkE5j2_a@rJ*2HAT*T`)HKl zxv$%!JxKaymLI&~zV_u0KDs+DW*5gw?s*b^dC@ZM>5HQ z=$?^O3kj3S6s&mH-1>~R>QXmvM1Q@sg-xT};<{D?r90O~^_e6({`WrnH($Jd_wee`WA(YO-4lW#jP_p< z3|&9?0Avgj@5@flMTH4OKO^O|iSXyW0oNwrl^K!@Ar4Dw*6NXy)?zjm^?!8c{1{iN z*jkdE+=}8zKZGSlIqqpt7qqCU=F57}9U;^0zqu-Fqpp@)i)`V6I}=s{)Wr#LsI3K; zvTIf=)Y0e6d$%smu;$_{b*bci_j8~djRxjd8+X?dyr)*X>}8hsz!Elg8JZbUYt^LR z{@b6%%oHM_gTyZh6;1E00DrTlZaQ{4V6$*=?tyr4g*aWIUYmPhoL}Lt!+`~#BDSr_ z**09p!VO>Cx~1CkYUTs^S#O5FDf{Fsbq^hB5aq5~MZ&u=`+MhGOd)!!ijzL)6GyZ5 zu`8UzTxv+~V_NrI>)si=Ij5Ne^d);&yFxCfT44-6P~psaC_GqAV1LoNjXF}kKVbdB zo6pvpM?A9UzGjcUdF7kA{U8nMYhV801E{_1nlOe*WsLk4T7F$Fn5-6hl6VD6*BC2z z%U;ovrAVGobB*Lk&uVflxu+JzqWi3d4gen;NXmMwwn2Ft|4@c`HLbNGp6(OL&;54p zgE{uuXD|19{S=aB)_)TT>$tZp~RqajQx&+t*nXT<&6FWlIA@j(`Xe|XsdOY$8=P#XI91N zbav`}_Hx*7U$W3PCp4FpCC6eAT;0n_W$Za>UIYBgj@2*9R)3brC3lNnhOs`+8Z(EV z6NBSk9wl!7-PQVKiqXo&kZC&6cjX+?rlh3HPE?@^ju$3hkjN-G`An2hj7h^hrL0Ac zqXE4)&_PK2WXslG@`$p#2LV=3on8H@d=JZpT~luV{T2G>OE-t40SZ+YBeRA1x@;UN z*XqCzkTFKIOMfwKQ>LebaB>#TC19#^)wFf(JmPqsvUZ9^YZhk~WWkw7OML+3*ESBu z9b+W$_CN40j-kPvIwlvoYH3sJCNIw(m#22V2DrOT25_kX>mrVbe9LL{tZbfBI@TD& ztR}k|66UEhuiiJ0!ZJrsiDhSN)FKOuQ!tEw`ya1QB!Bzy2tK>4rY@_~fFL=WoZ0<3 z&yeE_{$neeSFCAda2YU;(wNWSqA|T#B|=B7Jt-%qEh6n|7Z|{}4Faj91)snXUi0#9t=9?031A<7=Cs+<01r$)X*%WlQ?Pxk6Z7HZ^)Wy zReZ(s9Dk+OhYPEw+*Us2&~GDZ9(|>$Z3t>5250UEf)7KVt8cBNc1KL^afr`ytJ8HH zOI6E)ai+3Yz(0r3QE1<{pre;mW6&fro(PEI957XCbu6S0{iIk$YK%0gq)XAK0 z$#t&~4hpQNy=<$sU@}V_fqK3DZ`ZS7;Uh@dik`MgLYzpjXIHAE8H0ACKv`M(dppfE z&%?AKyG>fGjP;$+*vgRg2(9O=tsp;r=n&@i6Wlta_xZG)oSytPv+3*hzrTMMyMK4) z(t~*7aLDMZ4zg(@j8qZrheT4Rr9i$O*Nm+J-O71$pfP8{18`N&8;CYlR|`u4|2EWO zhI7D5mzZ`<2`j*VbUm^NJoDSRM8oYqv&z`=SjJj_4vaM{_N^ z3nPN{5c#EKY1#E6-S=Z+lKRY%I)5i&Nt!t`m=&I9DRRMFeP9po!Pr0lj>9k9<1sys z>EjRnbZewoEv_~k$NXB^V%Bu}9+V|vbxvChzvBvm<<`dn7SAGHJA*SI+s}X)!i;4u zxY2Tsb46gX>1u#Hv&`PG?;Yvx(<(z6kFrrGX6s^`yQDRcY^T+}j^GaGuzy=LF=>mV zwPlIswXomQF-w&lT~b#O&OAw(2oVivb5pI2oOyWms09H0EUo9BwQtzdoiW4vo8uSX z>=iFQ|E*8&A8pTl*`AQoel-=Ydua!?c$s=lKyw%_({+eY!w3`V zB&%jnsD+6x%!w5`ZnHR@y?-n-jXuknZB##X9ma3dvv(G9e9Sg)tgq`N2x z?{3%HkqB?ewSm<-u`#<`lAGC^gKGf{Tl36bcnP5;N~?R8%Q>4}&%~mZnvS*7{m|O) zM}7L@^Uoe$zk9JBQ?H)++C8b`N_RT0kFYC$`j{w;A_EkGN`KQPC4j(o!``op#Aw}n zxlX+ex(K8f>}hH3Sq#~l);+~+pV&RnYSdb1D^c^tmY%WZxD*cgt(CSB)$cUdecu3t zbc>>P)iQkabhhSHB%+TpSI&C4U6K!PEA5bmqj8e5$-oE77U&4$jBb`T zE;J{ty($M!_o+!d?h~lmb*}>0DWp$7nmTMJ3o1={g@5!hooP^+=^WDBg-l0-juZ)O z1x^k66uJ<)jnx4?g83j2-AuI8*|I))yq^-HyItWyVQ%F9j{9zW`oh-R9S@J~md||U zo@7a;JC@`JDJ8fmff_mzLQg2|<%7Ils!8-}YRs$hQ?_5Z^pV2WmFsiILK)~` zqNKwqgJWjX$iWrqc@~7fy;n;SG62rPpFMaOj2(ZSdDD8yC+|MzTFv)r-s(E4^e@?r z)|OVtz1&<xwUk0kZT1Pm!gidA+cMar)}`f;jn{ggy#D&D2Y>U~tM$$w1+Sm`!aZsd0kF(J z*q;6J2S53ZKhF`HBXL-xH3w<9?A=J}UNw#Q5&&VhYL3f{81+zuU zZDLwutLid=6pg6v{Yb}O!ca@`X)Zcv%X0h6Ke-+cdv0IWE#~QJQ)w~AC1#(beb<~P zs}|WXzdO@}iw6qWw~$>g^W5|ZdO*nqM4li?(RQ`r7v;5n#sbbtyvnn6M05e-eShEn zicc;f?o666-gq9h_t@vki`Kp?&yh3tIZ$D0^G>iYIz5D5Q&+Q@_2R7LeKPsw+(RUn zgx?PnDIaIhuqj<@xyn*XBw+JoD{5=s{>tkUK|?yGmm(k_HW~AjOQ&2lQ>L)6C*chl z4DpZUFgPvM4Nyyg*aHPh@M3oloobx_$3RpoLT2Qr_N(2of4TJRtgXmk*a~Mh;e-cgJgQH<+Keq z#~QJtbf6&VxcxQPZPkglEP1c9(hP;~RPJ(6pVo)%!kQbfMgvk^^nZ0YnI`}fW!5-Z zEY6^1OFwoK{hMf9U2P<-J$z288+Fy`Y84IeT;{VCx&5`gi%1$03DKSGet44s2U7q* zm4e!^^6e(%sUUuq&R{&*0%XkyXP!KEUXgsBwmnG1UzL|;z%gdaEmW`zrMks0_DUqj zSJTh!ue-kJ9FMX<$bUL8R@!I|jo=#jtC68oSQ@8a3q>P-!U#(ub6;BaQ?DNP0Wae^ zcGbndB8%}HEptKG8eYH|X7<8Lt9e?V9+0DNe?9M_(V8n$Lw#_c7T;MsO$w@XZ=pj* zS+x(ARw`_GGgdzN*o+jrLRRH5YOT*B7h*&e?{zGu<1?eiqd?uU z+u!iXw|@15SDHxJ;O!l~aemlUHoJwI*fl4YJnifhHE;u$-kH&u4#9*2LmeekW;>Y? zPEHb{y^d0Ps@5AcNE9d2Y|p_C!xCA#ysCO+wMWAsV0CRs0v%_qrb(?5jDwO&pOFCu z9~=2XC=vCTlYa@F)CNr4(%Y~SyG(;sd34ZHjRs&Xu9w-XkA0$Nr5boR6{Wh9n9qG4 z&16yVj)ym&KPoak^JRPD09Ni`{vTij@OskANga#NmN`{NXFzuG1<7?J3b8q$QRfBi z$y+G{rg{yEX02$)1W9GD4&)kL2hI%1EdjjYM17=kMt`v2FEQno9E{ZR5i8&R#!o(i zBg)UtiRp>dR9xQBZ7cO8C--xr)FkBV&d&R6T*Ynm*))t! zh=?2zwLNVc?jIEtL@-xIsw_*IX+h{ zX(h{eZt4Z>l+oZQ*ms$wBV2EN%Q&l}I^Bu#cGp#F;$x*0 zvuw;lGIFJyB|z&JFU4B(cJdlW3S0E-dw;YwwdQikuUk1OY8&?niEKJO?IzS8l3^3> zqW}k)i74mAEMss8k>Rjd+oWe*c0K1{*}Gr`#=BWdqs+b)u(tmcpwsyRoinh3xDR5 zP*~|6TS>g0a?!^%*E*ui%E2{n9QWSEhYXvDP)C||o_%=iXm@AvUeZl>R52MT4Y(Pj z;}pF8%~zeym#^yP2kMJP-3JGB1rZXFXn0JTZ$W-A`%YFihtt`35kM``Gx@|b1Yws! zpR6`B`3hZ8t)rz*Q0I)11p$nIsDC3@=yO!57f+TG8M1~mmOG>mY zX0sM`$y_coWT&0Uc!?h?t4Ufm;f55HL6K-oo}Tl9$+q#>P=KuA8gVIuC{OHQDCYLJ zesYyqO3$f#J4GO;p9|P+@Mc95NQjYFIaOlSh}QRe&dxk(UpV5$c%}r0(0`fc7_iq# zUp9j#%~?Bvfz3o3)uCCZb17^9r#6q<-}b(gQM&djl}Y`QMn)(yDz+%Id6*(NZ7=vO zk$M?&*z;DVuhS}xl+qkJ_bx?Nx=b&gy|!5@(F4yYV@@UJTh%?0pH8{$R9hRp)!X0B zyYQSw0T!r@4@48wXj#a-_kWrboUt((kI@O^2LQG2j7DkzjfgszFB@$w4;|{kH+SxW zfQH}S=TIOwL`A#G|sMlmA*%rhXZdus|XS!_0oH$86(N4jDIn(IW>w-1i~%h zR#dgy-*uhpDqKpJBxa+vnOfN`nr6!`qsxW4+t{ORC}Mb(BFCFgZ}*$wkNJlqno;ASK`a?yIE-mcvD`M#=eVd_x-6lsB!9lo^T}Z7$B<6@d$_r1 zW&w&&X<1xiZBM>K5Ob|mGp3-NqGq01(Hct=ytKnNeXTA8Q|!1TXwj^|5KRWO;5o=n zVvpXqA=}a+qtK(!0>=tw0{(<)etutUF>&RVpn}1s}`t89DfC{4#GNo95?dgyR zC<7l1K{4{k{VCE5QCTZZH|c8|Lr&eub|WurMb})c8q2d~jD!O{1U07HKghc%1j=Vm zF+}kcMV>mm_r3GjJ1GL3I>&BBBwhQVo=dLADW*qI5%Qq2Cld%GoRrkvGEQ?EeN$rL zwG5^sG=Em}73{Q2O9_A9?H~H&Ti^K52b5gZjRNv;m1#vvS^+hb!RA5sxTHPR+!p(l zsSpCG&IR*gmp~YG*P7AYY>%W@CUmv}v_W>c_MWYG1RgxUaxmrsy+- zPS?sxOSiG0Gi#ZN+J-h|5VusFXRpCw2Cl#HpMQWC-i_973kjgN#i~sP<4n$4e9gUe zYwaLeFQeytAPwOxi8wI^KkuU{z^gnYhV801Ar~B>;dLB zJ_)I43Vo3ktQJ_LS0?Y8Yl=}|WF$6XbFpqS-C`%3WJ(3-EI^=4Q$L%LSiWIdd~Y#? zg@4`ZX-O`HHS#5)8GrkSuifY=b7{L)9g{X(_hp)@3~11H*Nrb0d)^tPS`8EE1A~Ue zEG-a&ET}`O6+-kMmoe{S`po)uYU?7*JvkNnWPDpFDwV%LSYI>tgHpcOXAd5 zHoi+An^cIjcKb)KJ#pm;mdX}8G`rSmn#da;tJ5p1WE3v=g#sA>fp;BgG6}#W-|mBH zIk%B!jFR>`Y6SGR#!f1uJ5USAY07cAV_*z>^!5UaY)*8&e<$juKaFr~G zw=!JZ>b(8qyo*dcY0li|s(6$pd*-byrHwijLqE1HpVOw{(`vJc+t-u~%BB%orFTLEP2s1HqS1xws5X**l2A;l^OG0Vb?C`B7e0kM>U!mJ+xA!T>qrBEsU+^QsH*s)W8*<<|sHuH(%Hu z@aouOj7smvBHK!XX=}wEL(_4D4bNb1cWJkO=1L!x(k4-d(M|@!9*vXpVg!}(o}de8 z?YbLa3XDrphof#IwLbI&>vACul%v&}Km%}#kG_~Gt6eh!tdpuy5r6Qaxwg~Am+9QM zfA)G8QY4{bR8}-*2L{tBHYhS6E*OFJnOB>o2^p)k2u;s5J3iP}8}V{ioMmt%uo)2( za@Kg!x@orU(Q~Rb1Pu}{)as?V`Mmve?>`Y+U1iTkvW|9rr-)J1Yz=bu|vTO>Bwm_4rCE?^Qlc`i0%%r3Wo;ggR5rTVi%c71$&maE^vIDc)*8?|dE+nq1Ye4}*& z&Xqe%IkolJLZp$+RjHglh0}kd?Hr>^hc2%Q>7a=BOr9Hx&!m#vf?GaV70=3@XYu%c z2p&#~2T6wJ>@m20Wo_`;Fl~-T9efcB4%%A<_%e;Ab z>)-jY-p>8U{Qh;m`(wSvpZP;yK9XTD@lFhjlyL98Ds1d#|?k@vykfsR_?NbeJuZj)cx z)0`C7PEQNfeLgc<&-M;M3IIxnp1dNI%A;*-R3V-OU$xM~bbb3KhYP8n&9FvSz8h{$~5kcbX zUp`&lefDUk@wqSD6H~PFEAF@VfBwk}kbCnhxK~P_>I*SR!o922kBQef+K`LT;FE3F zcyimM)cwE^;x9@b5nb|@yx|~CW*t?$adNa4`>IIwJm%C{pt*&_1|iXJ|KfFgEq?}7 zB1Z}!XPH?V&cj&AE7J)IyuwrImu}*0kmEQdDh}YXHERx!9M^Ov=rOwBi@8gNsJ&4~ zV8|MW=NNbq=pZ%J!{)BHf9dK#;CN4$Vv98z zoSHE!TO+3e6my4W$>erPhk+i@6itQmf8$ z{NP_KBeHj-qTBBo&CmUI?l&ec_jjJ^{9=(5?Y`MaBo5e?6g%kBv;+0qlz*9%%2{~1dedo9C zpa7S~P-aGWh*lPiDjK<+I>~0MoifR)cry;ta<=rDGD{*A$;s5@G%yj^1ZxFaHP9KB zL|dikK^m2DN~}~n2?Rn*XMc|ShW<0Zo%Sua+Wv}p|Vfw}B< z0kL%~*w=G)O?4!Ryav+-^stMt;iz+UPwUd4FqRYf(N^J4;GF*I;nBwQxv$z2T==g> z#pMHG6qy5REn2>i{eznC6vCcTc5WwE(6C-Y1G1N-UGa(50DpC#s^K$ zN2kkpWVI-=m|1JAc`~Kbt(m#o9>=8h^1W!< z^2Vx}%Q2=13xndBFpCuEI#C^uFB;O$JeMOM&BgV!&VQJAlk9{Uk}{r`%ns;JVSsP# zN#i}Op0Nh^I{!cF-mKTtBT4UrEObjVnlY@w*fQ*!!CV?RL}X+{WJX{43-qOK50IG= zK~}3+MN}2Lr#*r{lP!6-Wn13&ec!haVm$95+0FksV;Gp?{EK%yMHcI=cgf6%c%I(_ zh48wC%zre|nElC8vlOX+Cv(nl=&+O#&C5q^)P1dqVSk)YO19At7-b@@^J1MyL(|hSpRToC z2d!zetYXfA5cb$95Y!-R9oFV&P$N)fCn9gBZr@O69B9a`<^nR8wBh7+${ec0W{0w0 z0aDafq);R9w=#CO>vfIU(FRzW5URE|PqXAJDT;_;VYD{H#IMlyy4}=&C*J_x_Vv5h z&wn6VcfM~gu5Wy^zI}pzoIdO@qHd5{(gb3kBbP;gWP+`*y!G7(jfH)Ai$|O_7a)(i zXTqYMh7fBTeS!-daX1he#&vc`0xNk2NMxrs#7PPx(f7cTMYm1$SZ7jeKwjcuWVdz@ z-`hG~6#$PX;ujn#ugih^SbGy$7JMLZ zz`kI~I*u5&33RAis|n@F#U4E{iyCkuaFiq8JKwXb zB}k_N%L~f5fdKVBg)VD?tX+P5kEU38<^k8`N{BwZ@>Fz#I|izffJhbv#DBBbt=>Q6 zpL}??o+*0oeA}MAZu6#0o*$`9zB{4fpSjEpa=ZyT)eAz`ZD-*32xm0K)*l!vzOfj zo*y*XvAe1faLtOg9UOg(zkk=LWlNjH+!~%bE2gbc4l+t6gwBa_2U%~5l;~zwy}?xR_;-E)q{6m&Bu-#-2(?>Uv~8RMG68uq?<+0Mr1QeYZaSrlI1Y!qPR1rQ$_%?rstQfcZ zjY4tVA?sv|s}EJ4-f51rF$;x2bPh?n%5SdKOq@L$^02%s!h9~X7UaDm>o5|E3)2>! z9ZG{1NtYmW1OA&CBt7PubNEzj_rPUSh*cFp>~UxCRXfk>THhF0lGMJvYxw zYOOeHlOD%L!XU`6a|P4PcnUxQP;2`%4a53EXX7ux6bEs86>|++RR(|ZEpcX!Y}QzB z+x_2~_XzK=9~fLAo5WqhDlL28m$mmd-+1-@ zp}v0o`uboVe#4o6HiWqIU3{^2q?_9DW2~=d4@7!Y92+nb_=0(7;&b)`Fs5xAnw{F( zVTxfHRBy@?Hb8&(6_`uAJ1S$V%Q`5@nr)n~_PE9UH-L(0}gB5>|fV`a@?jGc)f~3;|=^%^{ zzS4;hz&18kBIz7cVW>vDd(&eBMhpfTeDa)!H+iBO>0LWuh>B+HC6U)Mxt$RI z^UG(1raRxW7vwqZ26Es2{E+)k06Bh}gK+1|c_!d`|M11zFE1$l3zCpwfi^z{CjaVS zf7TG1eI9>Ug+_t)p){3r4a7UcTTas%WRy-LHOQk2UivmcV@_C3a+5L(Qb87)9&G?U z4Te+Sa_ESs?cwwJdEyB*XFRLH5$3I+KL9msT6T4#$Od;fd!ljFdG)4`ropIusq;L3t|NvPdqhs{EH-&lw7?ln3xOh?X^ zFgk*rWauMiEmqxxUIkJVeX{FqYWg3%ej9)5{TH9r>-FIS?qfc4kl*_TzA!J8n|Yyp zitSBMsd?~H6(nOy$5@nrNs_3kiM(9(;F&7wb4JfA&^C8%d@{2T%v%F7p>4G~TS3DH z?F>np1h+cYc!prcfa_mYFph=M>GTXg^XaP9ZpSxwzHu)c!TClI@ezOpKY&0T2Eu5$5COCAa0CCI#_=+)s zVR95iTrc&;o4RIsl-?pE5tL^L7$+pkL$h+mLU9az&C)XoqL%~4f?6S&b<&OqoJA*+ zsjXvu(SKqB)J?yvf%!zaF z+x7yXRKGW$e){<%oPQzR-KS-3;iT&>_2qNV5{w0cT>DzwL!x8Q%Q7dO9Ha};2|$(~ zC{GTvfL^|AHgK{JQU{fT zlMCzDJF=x?GD{e5be#qS=yAQQ=VF$rhh7A(hDhQ(9=*H`DVqS}=UR+_dYs)fhcDKS zp730(E;E)Rc_Y9p?1)9s{p~sFJ4xbGm_ctk1B{N-52$CYnFEyH7agIj<$xrBkF^8n z(xyEP#tTThu}DG^ix#8{S{Z-3)34Yv_~kpGsLObX44M1L5iMTF5d8u9XIr;o=zCwz ztvuk14SboxGo#?WfJ z^OawLH$ZKKc+SGeSi#{+jD(W=3aUW>cI8Bs`+!=|Xlxha(;oXr?xHKOJ%y>9}8zk752qR55mQ zfw2HRsj@R$QysTO;Ge%eNLV1}8_0Kn7gh(06S-}`cIsa0RU`RaewS1&zJ238C5Fp&31 z*U3ZZ<-;!(iO?@zOEyii5h~t^FM_%H#+(>JMh4|7!djxLl}JPoXLn!+HEL|2o*}{p z1#LzK^%xzRBmGT?%x{{ofBKV;p9hNu8=QJM#_&kwNS>Vo>JelQa=P2OD8_O&tbHX} z)C6A~E9E>`5d(kuTJu8T7D0v-Fc+I1fME?dRNi}uIYBa#J9-fqNO`M)7)e_xskyTO zw233}nmI;PoIb9M4#GJOJKo6VKBjKuQKLs}?2YES`r@Zz&CZrS*P19(Th8>&sf**7 z??QK+YdFqRo_)}*YWlCOH}79PoVTyBir=bk?tJH79E5+$%^*}hy(-}t66VhC3bfXm zQ-Q+*nR&U?MZdHwN@8|Ut#u-DN2V_oF6vE(qDJ&x!aHy(qwu*rfawWXMx$FbjREou zB3`l*DU@wBWY^uw3ODjI3I6BIY?qbmW%fFn)Hx7#7FgeIo(vV%CkBL%ay+tJx6Ud-@9P zd!m{`S79dH^w#k%1n#!4JyOM_ZO=w3bxdcTE3bdVN$KYp>`QQEU?$wtM?_PcW#k0BOy>Hx))+K_N!iKry5F6eW;Zt3!ja5z1G1|Sh z2@H>*$f@MccrS6v!j#SmaVBU=(i7<&jAgiEyIBo1^`$#HRuce{j5eX@*&w5xX$df=9!&5M$I=j~0yb^U z;e9z^W)nf~MW96XlG`#;k#UZ>!9lFw<~-FW73)OeMwhGAOT70+9DI`LT34&!6r6vX z)fh>$6BC1!e!_BM%|_ab?CM(Z4lP|087Z!U6p%d%Dh6xg0}U5`Z~Q12#f1f#h!mFBjH(y zM4s=Q(3f^Pv4bEkOoT<3Vn1Qwkk))w)MQdW0VN@VDKa61w7C?HY=1UaS6C^O&NwJI zO~}E+Bqdcyt_*aQbajEm05lR>8CQJq>az$=@UmL%BIP4G`{k==6~n#n--{K4+*AyI?&|at5b56% zR_=T`w|mX!@7Brs`t?J-%m_UQ*b{&}NuO?ERxI5yo(gsq#Pl^}vZ#$8;eF2hp`+kC>U@?FBhROk9mi0xe zskOmS=3?T$fS3v zA{!Zj5bYM9(>{CZL=W`u6(skAwpXCa7#qR5y%&cl;*0Bmv4W+lkA-2Dm-aDN^n+N& zS=oK1>`-&|#V}L~+%8m5BX$l5N-+UQ2cyW1IyGdQ&BuT72T*@KuZ5Hi2i19VfF^`= zVa4QFa47K8dm+MU25vIM+Q~fOjZ#BM&ZwrycS67pY=%u2wIjO>gh#5}w)83G07Txh z<2jIHID%!|zNvE~jyN4T0nj~H4dLn%{kYFLXJq*Rz&OLNr<>L@;d;G5^n2q^_Z6}r zSNC*~ABpF%4TXP0XA>G|K+e_A^5s0b+pdjZF29ZC{QYi@1+acG4(E6`MV2B@y$`#ZOT7tFDBNf+jHfFnfN+hB}eMsoRKousFX}!`gI$iXk@_*;F z!sdUp#*<>ua3IN)CA1Kbz`C4}6rr1Fz|d~A3DJvJ*XJ26ac7;CwEL6TgVvm5@KpSY z7V;R2C#!Q|zKpaDn-j6A2tjBV0}g?wS;r)a)-=c9l~GV5&x1)!K%s!VIh^^p`Woiu zd-b?&3jAc9x9^_iTi^ShJzGKy(u3bxLY{wq{&f2C-`>Y-G<5yrH>07Xl|4=v(n<*3 zKTHJ)K%&lxo*8vPEGk4|Xba^&rv{y8@SP zXOjQuFW$d>^YGPr_dXwXe)y2@zLnM8a_sJW8-J{vrvso8Li0)$O=QiS$N+!aRiaEd z^A2u}S9Va_mPPKy0qg5QmhSQd93mzV;LxY8AT&dvRK+X{k;XW`oQ==6@cB1Mq&>?* z)ZcBdrCggLUv@4R=i6`O~AhwTj8t8v2$XF_9g>KJguivi7cMtEre)Hz}0sh|i?uB`c+{|k} zNpDKE!&9KEMcYfJBl|ToJey;@a#n*`7c`|JjB#z!Q{tgwbuy)1p#6pM;POq_W(4%&ar_&-eq5td+T ztgZv8Pjjdu3qc&skfIP-jm9u=ep5D(1PJ}&JYvYzL&Rb#FgXQ%cHeDt-R`x2<-_`F z?brECa(3st_QDF+ZZ_EVNp7%X3j?R%nE`exZQBi+YDExfI|`b_sUsyrAdPqGh45%k z#PDTXH3JYsoWxp(0VsdGECkk~T-_irj6-1PPq)boph`8>%e(O`9)^#=S#TP#NigB@ z=4H(@p&Py$!#G}JibsxNForFg1wng6t7mT7$JDkD0ppSxa@T2@j@jQK7CI!W)x4Y^ z(qi*q^i#i+s{irtfARH~>&>secnccA`yz31GwA2WEdKMD=ObsD8$oLf7T(%}WuE=o=*ItpO-ip2gg)p0i@FGVI|O@Bidk zR?MC6+q3sg5nK0L@7vSQKg9cXiGw0W5c&#ZGOWu;HDGGxv3CQ=N%!nK+H5*XI79-0+QAu+>`nlp=>f~dV^ZBrU!Af69Nk2-Zf@-I1L=05eF<*ceZ74 z8K7^96c7yO#!Mt5L-sRIv=aENj#%fufgg4n=m$Ub%>L3paSgxj-AwvX^tPTqMN?j_ zop5U4XYPMKpb))wzzFBQ(I6N$7ZoY>9CJ)5gP2G4niCyg*^e9S=nGB$-a2w@pzG0n ztTA7D8V)T+M9npc5eCFwzf-&XV~>We=O6v;zx_v#ji#l zKE3^|T)aR1OF#PuzPD`{sp%v-ko4gZvDQ#N*D!z75}}(}SX=|=NF>sp?07~<+u&r! zlnJ4{+$Ko46R5zt=%8(@BARD`aoYFd9Z0pEZCLUE5@7SKc=X;`8PC+pzy2y8&KG(9 z*6qG=?;H05Q|9}18GVep>=SU+|9DLPKaxnAk3Utpx7YMXWYoO{LEPJ=`%<+-H`UI^ zSVezgFNp(0beo&lL4l4PC8m`#^~@NCR~W$cUO|`Zi3ZC!>A4||MI+y=Sfoo$^;x}6 zJ3)Q%L|mF^r^Pcm8v0FL)_pJMHl{4{t9W7k063y8+0yx1;t=x+t%kET z!i;4w&O2?+GN`S_Hq3MojIN_hFgqT=^(lWc6V#?dl(T)##u=j>9@~&cCkI(8wh|`c zeWlBfk@RPnxZ57J*G?0_DbR$kjki!L?er_WE$t1|hlOQhu?_Y+I67 zw0!(me*Os{+#mndpI^J8u0V_=6qB~pI`lo{JDq?u%LWlS(gql+r#;q!vs>C3eODor z?u<1PR#-1<7^dX`#cIPswP#uBT;_jVD+X*-EFscyi1N^Q{MUZ|v)}#rCJ%urr6>!T zKe3fv*93h&8@gGhWcx4?az4W*;`WGWhk@sMfM&t+81CG9B%vf(vj@elCZ-~8v0%eS z@2Bt7j%iKqIr^sC;?yi_io>c@J(EW+Pp>&e*v*Gc_+}6WqnG$4j^!S+fsB9Xra@W< zApImL9I^W_@2!|=%{9_ky>=tntFi1At6GnWre`ztXHL4`$v2=igMIL=cB?#zzOjAvPk3=aL4YIDqw}(QwvlV2Hu9k^}I*z6#4RpG(U* z45CqH_bm`sTH3qufxa^3C=<3$sdZ4X6i9u8x14HWX+=u%g6} z|2+UnxZ1$Ic^6X?ttmy3izb+y6HSx`Sp2Dc{5P)EaC=gnZ9A1a)Mh!V4Nx>sUT9Rn z!6&crBxdgY%1dRqp>!BZDj?#}uPw|^8RgF$h{r?X*FbK$oEUwN$#y`k8QFznfxYpp zSh)A)+)iEAIr-IxmnwgSWrMXQL9ic4V)uFiAD$ryl-;oYoLLQRQ^WxgSgKf_V^NwL zTsH`BDGKs69RN!|*)I{Rt<|-+DEuo#SGh3qd$lz>!Oi`9mBK%LStp*hdZ4C`pw&t; z6uYF6$Cyl2h&QISm(Vpmh*eNnY>%jdWeCu#RN~UsdH3tkC1ZcJ5e)$|XOmN_T)M3f zwsyEv&E-~PjHJ}9kN@Ts_}lv=%rFhwTx$fP31n%LtQ;qz0pn9h2*V^o+&YfEYc$|o z1`@w1vms8&z>42+Dhpu7RC*l&S;rQ*f;~@9aQDgLid7 zJ0X+g>_L#b0M&o2jF|B18(^$7Acr?%!Ws@}L}yL`p+&d@9NIxrXS2SIpmB(u4afS8 z^$hmqyt2ANM=B+m**6WvAlnEBo$dlmNx9^-+#0Dv-z1m zwM!2Oz{uup2MHKGcW);#$bvSbxPe|!(l88HfPRL9x?mmtBTDa!qTv{;Pg!>52<}uu zGT8*J0mFCS&`$;cw=KPUW?$t?gCGB`D@2-cFxZaJFc$!B>%ajc-k0Q5IYbf*=6Y7z z$ntDHN(O&9@c9W#)nGl?9Bef=EKaH=frZ0+gh)WV&O1se#t7kw49&i)t^N4-{wCUP zs=Px=Wik%+dt)RvX*Z0a-8O>)ab5{ePlSUh3Kv>g9dO{Goe07XA)?5pr z0SMyWnyf{O%n`1k+j&;IbEV^M#5o2a#b?uTGCYBSb|Bnk0e3ZLTS zu{5CS05}cz^PEb84{DDXO3ik3;LPV7;V?(5#kp4Bz2FDe;YB3^o-yk0ojd{}k!NZ4 zf=+g0tE*T*O>;S_nGg7YXRm-dJZZVkEp5!HdZ--RfHuUrj(x_)6wOuxT6gsWtnhT* zodJKeVa4|yi>ynKj0=3du_iw=_vBmE|Y$3IdE z57x!8j||y_YvMij>{8yBmDqK*@67=w&t`Ri;|B}R=XBanxSZPHXZ1rda2u@p3}x-7 z^+LodP!mmSMsKj@o`v(F9>cf)_-|haILUuAB^!WFtdY=;4S25Q_=$3eYsD5yh(%O6 zjj;dY8$Y0z!E@QjbuH-S5`jr$jf4Ioqo3JqIEImh^g{%3m7`cCMO@Av{P^$SDxA?T zLvb0&vo&fYjAk04G#*WS^$n~{U_H0$Zb&xpq^H$;Mx;zcX~J8&Gk7*zm$Q|$OZ9(- zbh-)hBt~Z9C~W0wYG~Ud9{*ijMe7B##S#=Nj0Q{`D7FBxT4o25D11hKVhs2x`oPRD zWa4fMGDwGc1Wqs2^Kw8Vf8e5+z^&F2X=Z({)Y1JZ5DyL-L&8;~$A9n2(1?b6>;z;* zE9eV&ht4+I5_}3dd+wB#7$?+4u-|_zoW|CVz z2?75ud{c=HjgDT`+mt{e8`o@d;Wri{sb!DKOEf}Adqe;9w8#GdSCJwEJLV z!vlNFl~uVBzNJw*l#s#MEFcz!#*sG~Y8!1z;3k+akAV7IvWVvFge(&V8lDAR6&~e- zr9lie7MxiI7sTzH=+2jOTZ_Mb_w~bB=ZlvxZ^&it11SQfXSc~SVAf^e&}nkxaE1vR z#QQTF6wQsmz%E0|w+JFcIwOBgAjDni%F#H{W7}1ujm|B+C%S{Q2|+JSyoVX;T>AbH zz`pC^Io1uvM<-(Cu<=DjtdQylXEvBJ59T2gj*Vn7TeZ3MRUMPAf&5WN$dk^qY%HuD zVBvG?tQeu3JbPo;Xuyk)w)7qVU6K%Cqy$_C2P;$4L$2amasmHFhXHL)nPka22 zu4C9zMZW5o$CkH@J;LCihFOORXVm3L>O71uPaypj1QcHIeu2BIUt-?b$~Q4O!Q>z~ zoXGwJh@=g#a?|M9H~D`BWtkZr;oFb@@m1zv21pjed4T)@o0V{Hhq{f3(6mdbH4XW8 zNI&bi#!bM$5d~7Y4b40vt*8!M#~zDU_fxfZgt8cXXnbSzlC@$@dAEj|7xxQgfq zcH?6L=)MCz;Jn2ZRI;*buP0!n1AUg&-AbPlvfdUy1zr7&f|uyxkigK@5izNQph zg7e}B`Nn6Xw;X6(if(vDkp=!+5J7Vo*BsD~V$T*bIFy}J8s zcyBi&)QbDg18IM{^jJB8;$}^@Gg{#LZQyKox{4@B+*^RGIYG4|s1xvJU(sbF#|BIE zcsno=CR1&^D6_)*nx{Sf=hsFw4%;|q%$_8xc z(k2SI?IN*k;p{8?_+S3~XMgn36FLc4Y@jT10hug&aGw!85WWu3*-r;m7(}P{LuzyZjjiWQsfbKkT5c zQtpv+_dGR@MITQFPVbX3bXuY|(DEB;##OU72r;=`{oS$v+`&Xg*C{!9t1wNLtsVX< z)MehZxyu;S^E~6x{v_W)KXMz-dFOlfVw}#riPL|XAH!2xj!+pw+v=c!*s*}@-Zvlf zpe97r*J1REbRYyp<~pDOw*WUV(DdMi@z=qbdCb$= zUV(qbXBz7N26D^TB`4vLwmmi-LTHx2TCB)!1cvu`ZvX<_R>^Ug;pqVs ze-?V!+Eyrfm+PvbaERET4Wc9}?j;v<3jLLl#5S63Pg8glp&+^r-xybjvdB6Q7{O;4Fg}+DB`sp{n@DXG{ z+-+lRn1Zs6Oy4W_Xb9z+g=1>> z&gKWvh-jYmkmVDTbS>eGBR(r1|LY$BFo5_+Vnz~PdBAlo0&{y4S}^jIcwjUhp#^`~ z4CR&W()A+F@Pg}Rfy|8j#F&IGXRSqu02Fuo-~x+_lXB-dEvSJPF( zmlE6TIXBG%Mc3nh^8>v3jeU)FVb|t@*?$nEZYNwX$}2c-Q0O*VxtdQtNc?{wT8-yu z7!f;9&I9P-p0>SX@v9?efh@FsI_sR zhDr(9U7jKy4O9X2OwI&_$M^EX;Mj6=$O3szbULq@7!1Eg8-}X{a;PUf0!X362Hwv# z>{XD4WZP|0++X?p_1nFk=k|Zx`>s7(@BOnjzqj6h^9!GxJ*D<+k%)6-qBSCgkcHX> zri)e}Rw3vy)`(~}MGqyz7iTk&F>jQ0I1#}(PBIRz*Z8$f>o_)!;x+wrMNN2M{0-A_ zB3#ki%G+d?X4V8!`aXB5p)rIZ>ck-FnypTx${)7Y(OASI;k7%TNk)HMtq{ZNssNN_ zBrq)m%-O-fdCcPk`aVxHUz?AE8l(t`NIkx9Q7(Udzk0LY{rVyQ>>SZoCurp05aSe7N=TcdW7uK6oko)x zgz`e7&X9!&XXrzbz0rR*lCUxJ?w$)r{n34T=3MNS+2CuUW4C+!kAnt(=X>@S6BzXu zL4&_HOZCS>p}o~b-y1>uk`KAv_>e!r#jfT+&w5XUWdO5mDHkMLkyQ4Miy+gq}bzKydWyZp27@>cCWW~B?%-L>b)<3$L z_r34m^KG_&zpDA^H^1-^h=J6}YxIMO&shZdj0jFADADvfaL1(XvjTFL$gLW~_-caPH$Q(}L`FQ&W?sEo@^*I2vIdKg=!>pdLkt z#J1ksyi%MAdkwr3MF-6`-U=n@9F0M z@F`3;Z#kNGzMR`0@0YLMy!vXrfB#UgzkU&SoNFGPFj9Z50F<5U*o2Dd&;UjZ@{P3_ zr8@FmhinC6JrMzK3e#VqZQC2>gT2o{9G3zA$gRS#8pe^6RN32w$IhH~n$Ed|`8ln8$x>(n`DhWB1;T>Z~;T*mIyL)&Zv zU5CWUn7iMsUi{tOcy~R)|NQfx{UaZ{0GkL@>JtO)TnFJ7x{m;`oN=j-dwpFzj&ea~K;B+1Pr>7yixAY6SeAAKL3k-=71 z){J42W?*$o4F;c-N5r9{Z{|h!sz;-cQ>1b~0ZghB9!OkAp z#0$rq_v+2(FL{e5ixHSFy zYS7c3OFFUWo}^5wu!V~E>y_-V04yaBk}JG9QiP{5bsfXu-$Qa;1#mZ(ad5_##XJx|%pC z9m9$1Lv`j;(q=COCPz~kq%5{%<4KPsJ=MJ4=jOmjBEp) zCYNNQ*fRb=9SPS zjMJ#)?zvrMGx^>v>zIGZl2OnWqJH+4$l=DPf~t1GzT0cb>AR7g=6TSZ5_pnwfYo}A ze*fK)&-ky!zTyYQriXF-e4Fok2HcgsfRYa+m2y7p~I_qnA)-uZHF;Z1*ds$V@Ig8ilFvcNDk zpx#&j33MKz%~TaJw84U|ViSaApjXIf^yrZ^J;;<=$4+6Tn}Ak!vj8(-E83-P9%{XG z&EC}z7kk*5py^&ai4Hlx;M;gwFZz-(!62C4fCj|NwHwmi){!%8;efv&QZn}yK4=mbUIQMPy%%b{18Y>{-1#;zE!q9X4`jSo5g5_$54-1{km~sfuw}Swl2agV13c z&LBgaxg|%QE4q}(7eu(5#<|_udgj9K^VZ;EJX|qgF-v~|N*i7?o!e1lg4o{r-Wyn2 zhiR6_87|uzl=VP8sPG(%`115RaLx)?jNoK5eInip5JWg1!-0{Xw?~)X{bIfQGkCf8 zzHxss1gRfjQfduHNu)tE?Yg!fBn$MFz;>3`Dz@Gskw+34b!^0RTz4`pklCP5-63sF zR0{;=q~U**KP+foVM=gD^;TAlHOm!chEoTC=QfK2QF4Pj{MtMxhlW(*Y+u?A0WHH_ zFp3*%@Vq?u3j;jp>S00Mopu{e2TTVknq!|{0Fn$7ERsci0Nw$xZ9z|#O#8B+frK32 z5u1ONd%b_3U+&kx{>8Th)PMMkeEn6vd-(EgeEomT`8ogO+06dlcl3psz29W5`A3_1T26o|KIizSA95^(T1)G6B=%_~_V)&W!@nPcc`9iU?UH7AB@zI6R1!Ot5 z^77xU*XzSKuG!njsXO1e7gFo^drQgF&wu`<1Wf~-i$LT{Z%N*wHXa24EE6niFid}= z3Tczl$x#^(^Ts=&{&TlOi)4fB*p_1)aR$NpGVDNgUmIh{F~#N-vbA~YG&N)Z`{VzP z+7E{M0Uubj)xhwAuHm?jb4U^`+A(wk}Lk*&5BMfC=psN^d3o~T2 zaWHVjduJ;~;5dp7kVzDnxUzFw$>V?jap849tr-Xy+^xg6nD_$@&|~|0MQ1qNGK;-V zY4$k)Dinhu8h_CNo(r}-p%8Vo?j!IDu?t-NV2^AZ%H`m6j6_&yB{{Z{#clWM-j{RR z9ewxe%Xh0@YF0(0m4hL!(Iz12HbAp)wUMW^dclKMrD&c;T29Q%A+=Zwl?i{Hz155w z=o^^G!B=GyxY0J!4^X&ku11iZj^ z#>0rtfT%&i8=HNt-M0>LLs3bgu`&8v2ueh|K=9=Z<0$zyMCgxyn(tq~dh_8sLFM(+ zyJw2td*8hm%7pg48OzhpAK`G8h#Bl%1bc(39$-cXM(-mxh^NYs3Mzlvf!(8Xb~%$Z zFkB#T`4YBS#J@oR>xZ}!;UiK|2@G@KUigxpSZ>{edWBmPiG6N!f9`!bH>=2BUcdO| z3rmQ@xo{}Bqp`ZS<0VkS!M(*ekO*5hs9o40XwmJtrU8pg6Snlxi~~B{71@omL5MSw1F_TpHiVcGi$@KBZVy%s)SW~ z^6~%t`6u8``jMEWUTBNj8VGS{lLdEoo=L48RY**sG{rm5h8%yP1r;qUIEQC7$UE6j zIM+e?w5W0$OgO>x%EB3ldpP2}p;&-35SbopI*xhg%Ddm+%~5{uX^zrAYyRyd1%$OD zYaMK3TOqnS$2SMWC=k_%8ZR7-Y@G7yFaR;r7_(ha_qnx(3vc8^RAsHfa>0ZvVKt`H zT!s5+XjZQiZrXq2ESv`N*8g_z%eg&ly!!mj+jlPwQTnR#vn)I9RoSm8;3PKwi`5!)d+bq?G()8y8u|29R$V-<578*F)Q1oq-krx7Hiwkha*Mq z+UZ^bPtFx(c`*gf;5Z58Zr83OHY3`Klygx+B%{5xum+5 zabY>MQ`gisu~zLsKW(TE+{?M9Nyb(vVP-S@X$XJO7R648alc+eU>;_qfrH)3Hg;$m zG=RVaN|z2;li3?R%XPc+<=jfLp|JdNeK;?QX4B_bYhUK|ElA>+3~(y~2-Lcg5Ip_{ zRiF`ue0>Z>p{^wbWHuCySAJ3=pFUzEH>c<3GlCmB&>{op&aKDSPNmQT_2JIdZ_AQ~ zvgCh)*Uw2E-ERzab=FukPG&8G0&c;{WEjV@Z%)*HsD-4Sny81P!$sMkd=b992>~m3 zK$ak}we_$imMVak+8W*>8`Sm?ZC4tAmzcEH8G4>$eXIlm zVe2jZ`Q94ZTeI7@dgR;M?B2KSg>F~>%)Zy{!p|Rpq=3%d;C*Rc;XyW+#>oq)JJB_F zlM^-A;agq@?b@@K4P+;^)5cky!LiOK@+0@f5w%VkdN%OqAINrJplv$cJ$ z-a?|Zaa(9Fr8ba@L7VqUTXz{Onv{|@V)6*IiD);(R*Q<*sN3z4ewcpwXamj9)*OkS zZA8+PR+f9atkvO`Y8qQ7=ze3k13} z$w81GIU;}%BnWL`yFETlgSj5#CBZB-$;KiDh`%k>+T)DQqa%%K zWGq>YL9?5Uy_p44I~zhcq-R<0^U$)}zW48awLX0D5U<`nN&IfYTkn5->s}Z+e?Kg^ zeVSpxyl{45?ekzgIt;^8@YYPHv_v^r%Aq@aZ;!@^6an8TqQmN$MPkrG#{K9p`g3C?-nVE2Cslt+VPjJ|inLq!zL z!Xoo59`xRq^Wuy0kAI_%`Q>{3D)5>-T$lW+Ugf(N&T@e>r$B6~jXRswX|uNiH4I(R z*m}rpOqyH0kM{pk_ols;C&zi`3tNjtTee3OJ@AV$X9n=Q+sMd_B|`u|g830H5E&Us zmQ-EUx>e0Z0~mjvec#tFIQzcuGsg3;rldaSQoszm`W68}LbW9JsXTcyGa{bn_lzBV zg6SD+_70Wx1o64n?s;fdOGl#Aj8z8f7s}f%f~sHo%-d7pr9aNCcPW1yum9+|kWX|afQ8S~m>Z-17bNcZ za=9>W9bd8g8U+$~@Yv#jR-%EZYaH=`R1jn)GzBm3*lMd>GlqAQRzAmX&; zxmJ{)JAZ#2f7R%)oRF`I?9*#<6Ot>IffAKSK@Leo$faADXUfSwBh4`1?@lwhq&@z}fA5>00*{J|*$FvfXQaLMn7Zc% ztzyts-e^bdW2<$zHF%76xSWr-gFNXoFfl_Y0QFPgZfMt1vH`ZV|Gtwi*N*X)_{fNy9{{Hwo`E<7JeO|RaSyAIs|QH|Y?^|n?)FCNFt zG8Q3ay?OEKfGL-E*%BmwxZ5+#B`CSu!UyOIjf9NxKZd&V#Qac;Kg zck5lo7xk6->fxz=R6qOTnNzio)kO?=U-K!MMvU>$)=6CyqIS`L4jfGMW;AJL9Y>Qk zX+?G%!|U{s{S*ibwGhb&a*P-v!h7xuDwGH4F-1QOWr{Z^DR~f+}V0a@0nxS_o2by(#ieqhGMntHDaD zeODc|ZOeI-uz43}5F0{QeR(LKjn=dxDfu|6CT zZZWGaP@SQJEqj^Om8l7x2FI}j!`B>~V@RKnw1tZcjJ$BMlq0kW0zO>NV-jf-)QvEb zwk=V?3_jdl^P|%He+HaEx9;xJMJ6ck5NxeHr7Py4mAY&q)pghz-eKb?IJ-cGY7ofA zD8OLg8Y;ZW1@69f26_^43~ca>@H1+TJj8B(vee>L!)m8upXF=9CZD}dJ& zjea!iJ+ACOaHl*cq16<;GBRk~3VdMNvOSQcc^VbtB}qUY4s@W0ETn{L67G#T1@W>Q z^UN_IAM96D-)T?*BTXAn@!624%_o`XfQdr$nlOcLno(mR-}7KwK$7+BF8teH?ZSHV zlUGk~-+W$gHr_w{oB<3HMU7RkkL2FXr$HJlS45trjdeJOXyRz3;#RpVxjB5AT2eMctisFTHZlgyDQG0pvG6{P~mHaT%8(-V!Mg*2Yj) zj6zfi%R7)S+6j4oms;KuB!3Z746%kC84SpzO{Jas7S<@7pu3ColdzZ=zkI;U}D;Rv6}5Z zV{I7>(FcV7(&!A+c3b483??zb=^=XN4h*4p2WOq53umEqCBiFowWD6A?@JNHM!bSX z?|^#bZZ#zhY$mYUT?uT=#tRJiDr!7jx&nn^Iaw>Zo#%&Mzy1Cx@IBs5T3>qco~teR zYhdKB{=qju>0*UljenNuF5YSf?ZmOWQVl&ZyB`CDrg>hLok~iXCt|H0IoAfDm@@lB z{PC$idNg1_hPX}5eKJG=f(q)w;6oKOdc{ooOKlParSBKIO zZ^PE~svNU=j1hQbh5H<-m1urp>KjNoZS8=(d7Zwfs^fzLF@Ll}SxhG__fcXXhSyd^ z4J42k)q-oRgJ_^wEA06Cx}D@h(fL99*+$q7q^=H)L2!9{`ZP4Gsz?Q^~G$9aD4 z{iAwQPx$FS+kchS>N){g;~nG{%DI3yN7U3--dWOe?gqLV?wuag*#U|&%LMt%!+XPf)Q~p{3zqKK zz+G+dt_~TG4mQ_J^*Q@5pHt5kuy0&3U~t4?kTu|R0l6DdC(6?b3{Xc7YU`)-DV%4> zs$&Sm77LEX(U3Ubk|Gii0tQ}U2?nQK4q@V+2cC$6kk3|cVAMYTXV;i#C?pv*MF1x{ zxq<5f*ngTPZe6C9Km&75?OI39rR0sd&xd5gXaswYgQ-3otU{kkpno7Y8GQ}-qz*Pl zEKMBagzdyJaT!1U=O2>N$;Zld3^srm!wP)tGtK(eQFsf-d`d@)93Z#oNO0$oC-0W_V7-=A&@0lo#wU`8V=wbty4}L@qg<+kbEeY?`Sgi0N2D+6ta%OM5y{8h#|M# zKTP;5pV3~(KiQS5Z(mA<_Ynnm`J|H+cv<=%i#n)R~&r1jT&fzU<^XtAUt$rGRR4?&K~BHBxjd#jDW9$&6rl9{2@AUdpVz5Bkk`6mu? z$2(+soQ%-}2zx%`pqoAyva_NvbMD;^5)!!gKF2v%pusXh>aY1?+CnuX z+eV)1v@Ytj92}B0I1qR=Hr=MW{nZZ`h=&iqqFWTi3oqTXxb1O++y0e%Xf^W?GF^Fmi29wr}iFSf;kUJRS@9uq|5W%0p_H5LQo9r&Be6+d0}m)ATXV+Lo`wYewsqYjjip41U+i=gv8Q?manXUP;f6a)=7z70%jlHryv)zVyerg+SH2KW#ZZ z<2DzpFAanaba=1YGOmg25H!v-*0H2HRq@E)uFWdZVgfD{kU4Ogp?RY!1+9ZbL zpbj~ZA)_wmF2)tytl~;C5_ny;8f=J4*%wL7Lh?!&^65|Q4W=;KBK!LJG4WXB)3u{R z*ybJl5|K_(*bVCp8dZA@ZoJ~?LHC+NwL$o>PeB_PtX*NUS1;NYAhTCC)7nRDj;5H; z;1eZgZ{W5aSu{FczClep zsD8QU-og`nmknr-0N5oYQ@70=t$72|J0JfmoM*dBKurpR0)L+E$>7q%rrHeo--!W2 zOayTORZYan2s;w94sH!Wsoxew4n!kc2N!(X(udFEIZ>l*o!r6l*8x05BSB=8A(;cxe%~o^T96W7xuL%aHzrx3 ztwv#`4QepkZGVo^(Kr0a`@oe{%MRk_Iv$2KtuJa}(iGbBubpRqzkQ}3=RAu+#n5YP zHC{d`7hv2>4b!sL?Q+dh>>%l!F-F-g*)6RQ-WdtjP=E8QfAGmo`4HjQpjfCm^e-M^$VX+Wg@{n6H0qs zyWX=BPFQN2B$mhG;rF*mwN z+Y`m|aaQ1-Pc<_)B5OX!C+2K?kVTP#?%RrhI5)`I(xDD18WPVkSxtzqK&r_4l^WZ?KCXHtA zEhZw5Y1H637oFBHS>`d}0=ca!VSdZKaeovMpr#|NE~ZW>EKDF5UO=W;EJwQHD?@ZA z%ht&Acec*^5s2Q$Out+XcQ1v>@mY9PD$&v z7%jTv&5VZK)~Mfk_4zebdL4iA^M5;8{tK_%Gk71mfmwf&_o|x4Tmai=;$=>oNhf&r zhGd-*CRp74r zmU&T4>{cPTcDJOex>QTlFd;UCzM~y>eI>RK;)d`USU%Pmf}jjSI|?aNEq^<@YpemF zwvU>`G`1tX0oUSxHWT?U2Klh>zW3(s)93N})t}S@S|stK zde)!x(o6ZQ1C(zZpuaM&;G5rqP#%L(DZmaa;I$#p*k}?#NZ_OGHhWvvx_Z!%8j9ta zv3u^#s1Px?U)qng(l%sA(|^7gZnXq-FOLjq!wvfRyc>A;~kiMYS#6SS_ zFCbM7QbAvGvB_5iP*vF)(aO^&&Xwl5fYU>A00%IDYTs_PmtL}Or+@&X+gx)Co+h2< zVi=IomR!3ILf{bOyoOH4)M|M^(am)bkYh7+iS1w>XAwj0(2$h|)M^{R2}b2$=r0)4 z;*lGJYLxWDya@Nl4X$RA(e!qT|IFz3<%NkF5HNp3^# z@a%_sLr?+{rk*_6vR7WdfY~5um3`)@i0JI%qve5rUMGg_lSV+{ow-a6DX05vFZ2z~ z=1Dh3Kr#CBw|^V{ciz5x`0-nqPws3dFTHTTuH>t%oEk_U922TCKEZ2+oYuA?7vZ!) zQNj}l?U_~xx8K_q!PE;TG3-OzMsHBw0~nFp7zuHG30n3IV;8oSHK5Ukv1g&}zl8I) zjB&)U`D_hZ-3`xD9xEApDuT?o51L>Z<8rcrqWlp}?tqOAsGQFq0`H$$j$UkK$}nMyo8#m^Dh`^R72 zXF$F1(miXe>o>-_Pw<4RXlsM=TPIddOyUWhj(?d0T?Y)`&$ddID}bSq`!(X-2kBtk z?FyUOj9ltGs=-Rhh_(dz=de>Uh8lbo#y|B+$Zh79@`c%$ zBJ-+Spa?;s3k61-a)yJkXwc4DDe|&?l1Wk|b7|v2V*xq?!0AaSt#P!q0ss|NbtR%- zt$(ESHuCkiUcGxjUd7$;y z_|Ucv=FjbnVXO{8m(Z43++ym~j+kk;z2NmevXg0N0;Y71pR-`T76Pl+4d zg+L_EBsGiCdaGK=buL?#K=FI0f-h!+z-Y>8VBgQ|0Djn7l4H5TsC>i(wQ7-Wv&Mmd z;U%XqNDDipqxXoKAwGknwK+#axN*m`wDSd7vg6j7fY!H&h^eE;?VkTDub;krK7VKL zrPu9l*UM*Ln==2#hd=-NlgA(b+mEp8by}HK0Yp|aOwK$A4wGWsXfrXAKvfGCZtE%D zVZ)GW43_n%t;grpnp~pgIWckb9BuK`0kM9b7*VjPK+6UAZ8;A^kSO1Fr;sTN>U8!| zBFl`-2dwOF7?U)#fxsjmqXEuT-hV`RL#Rh`Cg9m);GMb)dBn#@B#JQi9jBiTqZ38d z9;HZqA}}$1CEPG$SAU+`bQ4|sp-q1`6ng2Ed>&Xratkb>Uzwfr35fe2|GSUTNI)Wt zO`9!G!#TB`PMmeRMx)V7c+bYHQ$bhEwF4PqLVJSp3ZcW`1=GM`q(IcUW`9L67dh`e z>ImV&Mso%91q7Dh8s&LO3~%eYI-Ld2P~gAXhEhIBqZM;dqUmnX`4`5Xv>X9twhYcq z(*x4yXrK!q#?#lCxHc|0cE*{Dq0h%tYHtTXq9tWRtRMyOpzJBn{uaLb3m??0&%bzG z50P2-VH7XDkk1*t`z=JO|9|QbsZZgD@ZW!gAHtRM-X!Yi1TU}P|6O(tbYqIv%@Fa7 zj`5)!Sr-Sd@jR^($XZ{L3i^G6nKzK`=m*3+L~)lBUI)}EF)J@@0ufnI0K1-f=Op^| zGz8uj2QR#)&;KU$_BZiOM6|s0Z{pY5h{ibCa100W8L5I$O|Mni<9{^641t^=MMcB_ z+F-dBZC<$+T;2dfwpg5K-wp6tl#m1juZ2;X93M6c^SZf$k+FTv%m%a!Z9V52m5-6r zGQBJ}q80#RXljzjm&Kf`A$Bo(1yv!TJAm+CGu;+nj;ElRin!#C=^h7Egu3`hq~sw$ z-5_6#yo}w5`EE3ILVvR3LX%?jJJT_|8x8I3M!l^xq`Y^8F+)Y2TB4oFCPJPTCMOmk z(fJUGt2xTZyU9YxX>SJs@e_~u!Gjm5wtMm!)kt@9Q&8qym-LRbvKY5rt-ti6w|4{4 zmtL{E6NKoq`Lz?|tAFsTpCFLQEDZ=g!6S%0osg+A`q_I&?SH0B<%#H89M@{ClRD`E zHJcn%IR!d!geVb0rXeiz+!q!?WlT&=9FX+E2+6fk*V=LJea7SeaJlo_R@vwD1wA~n zlY5aN0m(4j?!;qwAjP9>Q>69T5pR+yV|PPDT=EcSq75w+PS>KWJxDngvqGA``c&_}c>CsEy?*sa&pFYS^_3G}9D;;55pkZqNEt_ zf59i3;d=Jey>yHVXcd(G93aU97Oj{Kn?li88hV=O! z{x8=)FPal_mfaKSbIvqOVds&hE+MGXKX;#dzGB?_`hEMsDof@v#qCVEs_J9VfI-_8B7fC=Nt!* z6Mw-9hG>uoJkpAP@w3r<)cz@^QuZv@xiS;mDep-Um7@AcU;k*4E?y zhEE|b8}XhnsG=={8_z5UI@8O?+#zwSn)blCOB&uU_>j&^7mLfOTLCWBd^9@I2Ye-( z-Hf)FjJ8bLo;;7kO^j1Iq=l}fx*q>`e18hwo3Du2f;AjL7D0M=!X`c&OiW|8Rc!{t z*Mw4+Ev8CMlOqSSrL;hhY3R(^S0GA#L~p=jySPJ$QUM1|`?HXe&g+V-&JIV9&4^exmt~ zK}doOTtN`B$_W6u=xlByk*u!x#eq&^i{V_-ITY2^LWJNbJw>s5ZDnQNEg*2_xNUeW z1f3cW22`xK%YSwzR~7J3u(XXMa134Uv75o_j+X(?w(*x&_Yx?7^XlEh6Lb@mcW<$m zUb$aa%Ylt{g+FT&qPBKF8;u?$G$dQqmRiwt6Jnxyj6VA`&D~R`<{V1CH1zDU(G@$x z+PU)h_K1lw30{4x$r|P8nl@#qtQsM&c-^*}6GgKl?o_mnDFjVKWAq4PYDl1-KFUqq zok4P^EW+p!%%-+~8E~jIB_g*1gC|qW3xt>gloff_WCpDJoOr4GOr6@Cku5;C(uu!u z?YQ?(KYxhVuiyT(?u2SDy?oE2iQ5gD_!HcA&CN??tf^weIdMmAX)@Up^^bYzRV}y$ z?z^*~-gV^}+!tQFXU{siIqN<_7pWY{Xm}BBw80fpxw1>Lv=5?$$j>l| zEQ4r)%aI;ULu5_ZiQE#;h6O3?T6A`~#7MRf6HkVR6aCLobaB5*RAt9xhE0FpQrHLk znmb2>#b3mKoAi<`N{ez#U>$eoYG+?xbTsOvus^ziO|y#Mmu14y8E`|hRJ@7MK?9n6$mD2@1Z zyejbIH=1ikaR-cQDKvdPi43`za>%IWnp8QOBG}M>x^JJy2aI@w3-_RHU(!bz`dS(j zIA{EuI-L|K!N|dXy>(d~D!Ts7+aTG;355i)x#5(Wvw<~>V5M;=!7At*`L0UD;&iGh zg{|vgLDj74EU8c^(>@4QCxjrbT*`U{QLj_ruOm}^ZNJsS{uNl|_ru#S@7{DTy>8FS zcgBr>eCHE%^?@M_J9Fqp2MJUTFFDbIGhB)^GI~#8s_Jqj~gcBx940t6Fn@QXjO>gKSolfh!!#~1qQ6; zd?3H~E~1KdJ&H6I7}CK;Mc7+lmZ$}M)7)w>7@$8)D>ALsT> z_q$)d`IA>)Jp7_Hbf+44;l=xP)nJ=t(e4PcG?hZ@XX&6^MMI{75V_$dS-R3`96EE4 z)GdTQ;g-M{kVG1ac?^CotTh}#KpZFHeKC?l>_Z_9q7*LTxqD-{k#E^;AlAV>4gz0) zqT4Q~^&FBQry#2d|J%xSG0`%aMxZ*KbtM7WI|PNZ0M8fQ{}M~d${G;$*5YMxm_o?!8{oL55;qIE0p4FF@P z7?9wq6J#gL$N%di%;iU?y#|Wak=Cio`r1GoERIn4F`Y+p>tStU+#rOum#Qrlf%tVt zO`H{uXF4RRRdJ}e97JPjs4AUdV1c7<&q5NX1(FEMZ%gOrMZ|5-zI$^#vyOxPzu|~pht{CsM9cQtTg#W`soC~*pwh^yft<);m{qmW>Kumv zW^A)RMUVgH)7#gtzx?7CNoODa^bl|M)7w}3A)Y>es93M=uKO2W%)4oQ z(}hP1o*H^};|5YErUoz}+sYT6s+yW*EdoEbLh(s+##WxlQU&@AQ4yY-dmJ?_vfIwi z=^iTABXbRzsdaJB*{SCk8$mgRME3}Ag%|HNT)fZN>v$J1>A*GWU4f;4>$ciC?6w(+ z-&Zy)^V(*F;#%l%pWGY7d4O*3=lAA!@AsziooV5PSMsB6%cG{U&eyxTHcYA;m!>oPB6xV+hUvC{W0|F`A?Z=tS;mM~whotc#JQfVi7yDzO&#_t8%HJwg(b4T z(Yjl@W`kSVaMT8}&l1{zwsY(t?I&zB&{BFSprW&2yBQ+SZ_VHPYHRLz`su4T&+p8a zUdWHOGk^c>yB~b`i+`&dv+Z4DROfD|fMJd5J_GFY)m`xGI;LTGGuj1L6Z*{m@**KEEg@FB-l^cD_uKNNm+_-*%ip`*mOuLzHsu)_4bR{Wj?sZq1jz0^ zcaY5@*3*fycR6)OO-KC8Jwif`Bvg*K$JDnU9hz9Qxy|_V~qdr3M|Arqp zav_`5xpM?0u_j?}WgTM(vt)DxM4_OiuD}1c_{uD6Z7$@V=$fp1Wu`0}WJ{`xwS$Xkez-&7jZpLrt*~@9 z!ZVXFWhP30fR5lsl4u?Mp4}F-SjZ0o^8nub4rN@Ys6M@Rb-R@zk&Pbiggb060pTIE zwENhyVRW{nRg2C6CD;wKXk=>nDA@^7sGl_g}wS`GX(fzkmEgw97=& zLu220c&uSytb*rO$OJ;Bgidr4!*W2>VpItA^qnkpXd6B3EGs_spRI`Mju$zzJf66bxM&?3)7yLBb=l z&t4&a!RN$uZ)^GqgF&m57r?kptE6aIoi%f3Z;j%(!Ds?y=`T4%|JF16^z$#@y}mm^ zUwAP;+D85UU$jxLmH6nTQI1@((l@~M18=f2*PX~L9qXVBacG>3K^9xKAgzQdWgyn1 zFks6XQayB(rUro%-8y8idExVmKsW|E^PCfZ8fPHRYMYAN?TiwePn>|Pi@j^lg&^nb zHiot6QFw`}FVJ?9-op z+j|sDo2z!t9dfx74p>KEA2>yiMR6H-wK+84q_ALmMwvqX1FXm{G|&S|+!_OD(jx(# z2K?nfjk!3l(;7pez7`?Mp->Zr-Xe8#^FrX#yh5Vjj%I@;Xcn0C=(=}kQt`ik=~9q@ zC3Qx+AkU<|mm?wida$A6WV>~O$7D_J61Fz2Xmf5P<4}XtW6!;2Qb&4c|0S)a-@n_V z&)xbjy_6qqlm27Be3O1FcRu)gWs0<1h<5QiOeIkhEUKPKx&158SxaAqm#z*v$f%0w#a6)LG!j9iU8m%R|Ke@>?k9OSzklJy{HRl;>o5PUc0^}7G9AZ%*aI0;&aERw z3(1H*mmi?P8Skk>Yv#z^4$KQ!KZcBc3m#3?VWqN-P{=)2hccHK2q;rPo40qFOW4Xm z)g57-&vEkG6eIAEo2sW`wlk2Um%eyS$kYY(^9Fwid(68an;Lv>5%F+K?;BhY!vviU zjd7~C6EP4Ei5cinuFwvDvj;WiJq9jHYs}dtSN@W^>3d(>o3CQ@XSe1{ujNN=i~jko zi52+xH@j}->-PtS2Qheg35h^zsuN~}-S+fTM#L)2tPo9P>}<1jYIP=$e&%XnJOK~g zJwLcX2K3+%{1C$MjEZW{Zipw9Ggh~|Ob}$Cn~rh;tZ#;w!5Yzjb*-2<9{234_0e-g zgO+L579QS(;WL7CI019E3EoVNwFqcxP@Q*301Ui^m`?E-B-3P?jl`FVfOg^;pi{!UXia9r-M^S9uTU!SE)mhZ_BohkI^xk= z!s>eR3SrvY=D79n{Iu47di9ffdiC}$^X-LK?rt0E?KaeZ|6kkiIqvUFxYz>|zAFhn z4qrJ!)tm0V8}(ynW(l_>IciM6wn9OOaP{mlxJhcSnn}Jx`;NXkqlicZU}6%D6`b0( z7Z**yXTqwDvmXC%c<9D<>C5wEwT9%mG~k>Zvlz-rwJrV3vUS`HGr|S%!8n#6ch?37 zY9Uc_NMNwFp{Dt~L-#I}0C3jKw{VS*mf=5mMXlg}T^(6WYX_VZr!xyQABGsGWr0?^ zppi7@IAiOPR*raxe&r)sfyGwdLuMdVbWG6%^M}vrjUNBO4{;J309cT)6b&lsa|}vt z;1sWmWPO>>Ef9eUMVB?Qz7Me!>cf}=Zla-i&U7L%VGw6wq;9KR8L)y2ek=y>?r!*` zf}iYEa;e9E8lR$*%)u~A!olKGW{RGJOrc{Q(Yvg=3Ohe%4 z#g_6pc-CV~jjN4u1+WuN4K&*nY1_ya@5oOu?OPuI8GMR^moo`G6i4?eA^ma!-N6hI{a zUoDu_o^_B>$cTpkL434qV??AZ&~G09`Rf~jb{Vp}fehX5plJFyNwcfafu6ptGY85o zkPEE$$knHu6tM=tM~orA{m5@n68F z$nLZ>VX*6+>fkir*k%MmVai|}sbyOce#OBEtp|}AqZ0!rC%ZQsbngjp+}H zwmz*pHwPtlu4xTp0Yf&K+nls*gbwoEJx83gz|~_!`Ep5@u}<|2IMR4M{wvonwV4!t z$RS1~*T2Z(tQ4dtzSkj@HXsID8h4!J`a2?dIbL>KJgiFdBh95#Pi8*r|~+0g*4 zim9EzJ_Q1(L9i$rY-EHcKmM!NH-h*yTMeEiAAoXOS~NO~B{Fg!S-ROansWVIp+Ggj z3tD|H=xTYYA&MXkPv*84S`pw~^zb!U7W}S*onZO{JJ}UJWq`Qaj>mrupJJ;J@N*|~ zwjKM>K+ffe+|!)#M(BUIPMp*yQc(r-HE`jTQjn6wpkJ8{HB(!A%W9}Ey%2LWC+Kg~ zR&8WRFFR-gjh%HGzUg}W*ME3%!kR#$OCqGTv-=5f=%s|F8sHXqsF{eN0*9EFYcH8R z<^=n^H)?I;!yUy5E>n9O-4rq?bfKaUl_+G*#CncA)pDd^N!x#IW9y|q&aLt3^H*

CgilDp(A3kI})R!f5s;Bzt_;KI02bVq*cE>I4iiiS-Vguam!}RBmkp!d{5alZZFra8zW&LVOAixZ0iKtv4-=yTfB%jg` zZOoR2@xIujZaRkLAVWYb^2o#yTX^A;%3cZnDn`P{Z(NKKd*-@-EMT`nIrIZ%3zgf-35Af41NBial0!T;AtqM0B6_hE zI!J&iZMZL!4z1&(7*i}lYnXIk*4Hp%RrPIStYtuOq9s@(8TA2hIXvy$5)Hre^SAl_ z?ZY2`S@)TcFTHZl9(3*Ip!)=|a#wP+w(Bm7K<)^h+|_%q%^b(uVC0d1v=s$wEipRs zMMoMULuoZ?0$??@Sk#!f@2lJ9coLs^^*JCslO{#mBn?BrEQl1IB__rQime%tLq_d5uGgpAkke|&$lzVyO9i})Hhh_7FnD~Gdu*F}QBdqz9Jql5d} zNUv7ir4clEq7^2bePSSCtvVC|y7#hHJC=|@l8_!g4xMB}@2(6l;cJF!ijHuw#c+#D|E}DinT3wGsZ#0AuOIy&f zHG(!xh9ix;K;FRgm;6|qFkQTY4>EcWxYIiJtO+S5o@a+vPq>jWs=cy$Ct)Hi)e`2W zf*LF1X50U@x9=W*&a2n&>*?X``or6u|I%ys?B(8WF86PuLqxNCkr$(f0N|e0o^`Z< z?xp1`pkN#Woox+uM7goLuIPdLYr4U2J@JGZ=+hYjT3G0M$BDMd^97=aT%PUV1J1P&p{ zq6Ll+ZUu_BOsW=Jb)B_Ylw@au|JPCLxvbRK?r+;vXf^BTF=`5#Te|e6z{OGH)`7)? zstay^6N@dwZiNKjdw92h_A1}Lf6hqo(wFWTdTqOrPk#h7JbXy_ZO}@@`8iPcYPwK= zR*20;o5=%?cdUTUv@xLB8nbJdBBC;3v)R_RE$^bx%pjy<6`eo|6#)0^!MN1iE+ggV$%+n!7d^ zV!lInGe&~BkzM>up5D&^Prhx*(|lM{6_hUq4dj#X{~J4bWSNmQ9T5jaNGvfh_SwC_ zT$=r9;^%SR$$lX=Vdo-W!sJ$UP^XH-5vv?+!xahki@2Au=hZz)_3C~S49A9%EsCg4-^RPVbznjZy-NZo3RYuj?w%QZ`CNI51Y~drrk}C>mM7 ze*r5Jsd`WX6Eg#U2@lKt>^J+vZ+-NCW8OZbjYX%95k^CMp1$3J&n59wGf$usPE~^5 zJqZRO94H|I4y*dnbB3J>>TS7oEFf!nbjr5yOKf8Vl6BorLtyb>RcSE2=c9P*|8ig@tY#k_mZjC*f2j`lovxtld97OUS*w@Sh?L!QIGU`~M zv}Mp&8Kl$Ry~!X0c-#*`KsD;$z>+le9?GO?ZcZ1sttUGO$SC2peWG!b1Y z4sJ(i9T8_xYHuf7OG*SFhS^bnl-m&4S|8-h7wzt{2hHWfS-|F*SDju|V7sB&9k-Os z#dVG&rx>J`(<>GR`m!!*C4TtO;N(D^1LcF7jCJbm!|4*7UNVPQ=lyjKce5;h;mh|- ziyB7yre_h-j@)Osnyb7jHIf@p9-X1C}wGXHK6x){@l+oet%H9%&MwML-iC zoN+SFry!-AyF?+N>rgbR!DTob`--xGrsKlscZk`A@W{Kr598%kD@zx2MYFZD5aS+5 z=v(CI6S4Gb+8kJcq-``SXb0gRIZkiqG8+i*tKu|qpwt62Z5-LlnM<}?v#C52QC0}i z@R-9;aqM-Ap?c|$b2|!utA{T?+`oSA9g1Bh(^z1H1741~KbBn`1zKfDcS-4Vt3^Cr z+adV7pe-{zCmSUk!+;8J+@4E(5jCD;DZ!m$PAmt&%rm{Ew_Yg-B8s$5_Vsrtjwv2f z3zi{A6vBRO4gk6Ih3tSSM_*%~ib1$8bl&g`hX=IzN;ABf+GIx&g6{tQPmmWtxVNke&rG?#M-Dr7#y~3Uii%!B(B^CN-Fs0`jZ@1$AlKI zM8rs1Gsn}gQx6HsT19fLZz$A+g6Sy4;|GA+jtmeK&;!3<@xIKYcDH`4w>_`F8nB1yI49e4&Z$TX&Uz9pv&EQZ z;V>8{$1?DLX2Nfv2wgRgYCCl8n&7j!A=7)xEKy^;3adb@ZqS~W2)Pypg0mme1h85= zT+CB6(3C@j7iSS0)xbI0llJ!8_;KZjAH2KIpFCl$z3`QLW(g}dVQ=|3>BBnAFk*V8 z=EBNNcB10U=y~ZzEwU=fppB~u6+8p&xGeEhhkXHmjL~iiDA{s5U>)+Il#^|D*+ZP6 zae&5vJcE-4Dle^TyM2eh^vAh1o!mb>-Xzbw#A%lw3cQ+Km;RH+=H7Th_VVMwID2p-3fI|id8`#e}$D%#>R`^m6toj-UQ#%gIj zbk$_ky_;OJ?Cr>0{czI`GdZMchIN|x$}~_r zSK0NFg{KKpW}`6*p7M!9edwh(-aB9<tIk7Q@l)YGxhjbLF1_OuKV@9*lpTtx1 zNB9z6L2vkEKk~v??wJJh*N^G@$2g|H;u&piZDD$lC)2By>c?l7(>9W+6@Uj6_9I*f zH=_7H5u6kpRn3}sdNb|g?hK10s=4T#^VtxaZFS!OAj<-;+E3I%rXu?Ae)kVv{mgZL zHBWIkjkbih!+dZ!utyo($~%fjDngi&w5e$u)E3+3rYk~gOQNpO_zV#ghm2{Wsj+!G zDyt=iv9NK2^eZoLHWW!BMR)(uXOG0LqnE^d9})DI{1T^ILtnkYO4-*Mt>FzbaxNM; z(KzfpG#biD*tA^dO>l^Y5@VctBm-XXg^*!nTRfvBDH@!^3K)#O zEs>PaSkxO|g?ZSYP~Wn4xC!yyKYI22=UFJg;Po@Hqgq{m_ikW!4XB(W1l$1wuCt*$ zxCAlBI=fFX;0X5UXDsd`5_TZ)U3DtLX~3OO2H-2aYZyf@3+Rz*dL5A-e)o@EJNDg= z@jNiG_vBV|4G3P2#2$K3f{D|rOvXsM;^IOzEn6>q(1GSS z7kK&yK@=c=<`gYfSzE4{irxL=pIzuM4JoJDcY=H4U}5Zah;y+tCg#8&uI^4rw6PZk z>;>h{E-f&U4HW3L6w>tNEwr;Ez>09q>>!aP7zWf(nwldUV5o^yOuPFhuBs{2d!xnt&D+mFn7>25;tCHf&> z)gmsI!x23|#W1{Jllt91`FMAVW_i=2Q)?6A^$zFzY}oQ+wA)Uzk>DNxIh@kOd_=H? zPo63|V@|V#OkyAG1l?urkznyS48HK307D_udyW>Qs69ia8+ZTI#Yh=lFxcbeg)v-> ziHd=L%UDO7^kP8d4jnB~?X6$ojzSe+ke4*~szJIvz`#1v&h-pUSDPJcUS6~?Z*myD zK%Q?^=z-(>r03l~{n-!yj*q=^Sxy&P961O8$Ii8f7>#{6a4H8w^h|2eCjf{+y|Z_? z*J|64e!ym#E;GsiG9{$q1@(1{l^CcYZZt}N9TB`Dqkvw)Yl)=x+l@b_r#U6*w7xcV z*@&SmDqcupM{kxJn8p>SRbxY`7*S`qPb?W}41{je#bXks;3qUsokEGmfQ*@ds^Coq zjyVdAMiZn;sbBUOzy0Co@9L}m;({0Chl$zY|2MF40z;m=LiX6u>n+*AR=z%rIWrPCP(u47Max;FQ+Elob%Gpb(zY zb!Z>QQ7)}T03Zvxp2Fz|IEC8`$_sy-=kJi~x<1|h6w*ZwQ3~Q21kf3t-SLTl|H)fBn*UeMU;6>;)``YW9& zzhpXm8#l<``6+fjyNCxJl5Ob=x4D+o{=Cb4c)yCteJhTXnPaz ze^ayBnY;IKIE$jy#zFqT&mSX?ZJgBTxHO#6ZlT#hI>9n$?H-6BCoM{eID~a_kJBd} z*sDGN{P^Bi=GoWxKY6kNdg%-J8;hpC^bhxU&yjEPb0qX=?}EP40x!;bZLvZoyN$D( zcG4bhTu1!WHE)lH+#95^Pe01fJRf8PyZ><&ix7M`H%_S4vb^-W=lbgwv}SUM(F zdvSYr41vtv5@<4|z#IDAKl2HO5DLf*&UM>FkkL0dQww_* zv9m_U#;1dhv~hB@$wu<&*e&iQf8EwO(qWivjmBDmae*a9?oDWcV#uRk^0mw$+XJbv z>ZLn@8H(G;)#=Tc5MOBGpxq6erbTKZ8aF_+WtCVu&rrL@M!AZx9<&X&@DG>fBEip{jA=%C+znZf4*+NnaU&{ zNP8~;Ll#1V8^#a}6ECKj(FD(P?*-(GfLTWfF!P#b-HJ z+#5kS7j3ghhMMd{;;9`Bt_IHMqCF9W6{Cf5y8sw8^00NkrT6<9f0)%BmB9ilZY9*? zqC&C=q=s;&eI>Q~9s}Gb8J8IJ01hd8M#M>2maXGSg2P2eUUE9`YD?MxVr2}}Y`tNU zuawA#@cE_vp|}}ER&Ofn@bZN~zX;mhU<2LOf4~WcpGMn7tJT^(!FIGN zhF4k%krO%$ z7XaV!z3s(IfPL*7l4+|lTQS?HNNq0oXZfu{aEvqKe~SOeBLJx%yke>1pvjAOF6>V} zJ#`QwAC49K0ug$^s@hUVi`CbhEroV#(4LzeaF&}*YNz&?X=k?{X2%a^qq6Y_#Vtka zyFUeS_1$_JV0r25_RL*xKNw%T>+zre?00?RJ}x9v$Wqjvhew;?yTvSEXQ)*kCOvI2 zmb|?ae|n-W8Yh6C+$;m`ZLoCBa7KoTk~NPemv0B|ey{g`7rp)dx8uwE*B}1!_rLS@9e%#+_22#d?|%8_ zf8FaZKmWY;U;Zn<|HI$={$Kj#6YSMj|I7C4{ZD`RtzT2>jTXy}br7>n=ZUTyB4k87 zx-+~N*N+^Gc<{~@YXw2%VMi|(I7tGaEJ3P^*8p;3yH7oswyJbiJ+oVAH`V%&Q1|@! z4IZp+!MexFaGN@gjap7XGF9pzH31q0(V_|ETPGZ-Hp{c>G{-Kyjkcw{;M|Iqe`n(O zl&1KB$U(yQm~vnu7}*&?j^NQ1(w%X8l(A07?)~(hhtzjRAPJx4P!}x!4#;4XqtiNr zjw!^QDR}VdK1ySruiLXxIl76;eT+4_f8q^7LRZ;&Ri`1RAWxq_M*|Q5*JFWTVKizXP*sy= zt#e=<1!vJm?W6NxttC(?;SJ|)Lv&_+N$%9P(3RxMWW)#LIuhimcmL8A19DVlrmuDS z*jB@lZ4wS$VD<t&Q7!Z+*g+xav zhGTt-mUo?rbJ|!G?0C(Be;(BKLAVBf_phIFc3=3iJ@eC}o1fmt*&e_2n)vQt`5V|Ce{IS9 zYp#cW@7MgD^y)e=x4Qb_1IXl&UNV_P&^xSaKIt3jH;z!Wvv!%Dhcr>a7b^~ zLl3X-_tPKA3tzKme|FP+154#^B1fnSd%|L-}v3`VmD< zCj4jt+jVr()U^U5S>1~PHg&UxtOz0rM;XpPVH74|basv+PJxJ&@=1iou(4W!huJZW zsZB7azCyXpR32C1iuRhhnVqhyRvVZ&Z>f&gB80qf1;Wobf30CF$f0=caa*mo0-{`5 z*TBq(!_=p2h}mu-KYwx8xqovV*}tpzAD*njU;64jduHEm&g?(N+J3uJe`t00uYUFo=pOy93iWZTP#=ATX%^^d#~FurI~d7t2}GXY0zY&F)c7MIRIxB-8}#X2SrJ7&3^UpqxJgr+n+ue!@Tgt`;CQo)|$Xy7|Ipd z+j78bWJFlSI_=o*Ob0WlfF-kc^A$-QXVX-(!Eec!QXs=uXs>&wiLl84c zIBmhoHQP?E)|jJ1yVGm3ZzNv&;?d@^>n9IfeCe6BntCj!&3FI$C)nbVEn<{wnhc2^!(n(s`caS? z>$4Bi7MuvYwZ`){N`#G%Y&y+C%8pGs`*3yX8q&b4KHXQUEa*QQHXCzOLj;ZLr~|8t zwlgo}bk6`VAN7{0AZvyO&%tA>SoH-@TJomUO`zO_o!jG;_w{-G?A4pMPv~tgechfN ze}T4}5$H#0BEIk=@we*<{q#j1kD~Gkrfz`1(2*rt{i3!SqMoqbqT`4M2*|>0iHW~C z^TpY9n?lH&v+6dTgS#ZlXvN6PVkiBpjblUcp$2fgD3PU1H@i30NCQ# zlN0zc9?Qo7`Osf{fJL0yK1q$^iGD`r-rcaie}veP zhHa2uj<$1s$;}++er*XCJlP{%fZc;(xy_}~_jO?0jR=|CcF|`U9a5C!WZvZeF@#@OTK{<3TF()Axo?Si*pb+bB6L3 zgmUi_A@4IXP&b@){9yKoP+NGhe=kN`J(?V74uM3Gs})L1J60j94RnoV?3C=T@QoRS zoSRQ4z8zHKRIqGFz|-?RYxms9b}%dA4(C@AQ#0j}T8A>R2+NAZY}fGzz9} z8=6m{F^`kZoP@;m=?gg0Nqs?m6xwmes^o2+;yVu?)`u@2>Z!lvg)iH0e(!!ucUee)t@W2yWMam^DbAfz=zGf1svnelf*^`E)<1 zvdoQ_?o3XH0G;Oync%s%0cf%_I7S0TgFed8gy{jA7ZOa?F&ss(#R+;#Pn;Tq^-gWb z?F{yN5BIxXfm-sWUO#byz3`=b_LkF|Tkg+%%zY6{6l}-FE7qdTJT+-OjHMryAXnI+~MFeyT+^({N!PWCCuT#2BX48q&5!bFBAm{24>0TxCY4xJBo2a;o2>Oh^xTY1456(D2S z_S_TuA~A(+e~$x`#znitN0`U}{2J`AwNRcVGlz}c=eixPz4XVq4QhX0A70(R`SAY! z&BJ{@^R-S`S5Ag9Vw`j9rJRJLnQ_vz4jvX+*+5}Ew)Z)!9qg{p1X_>!D)YT?Y?5o8 z(>HMVFyMhkNgXpcnATzR+Q<9E6RCsk(tJ(3{aV`(fBN;c;-!w=EeJYYhVPCiHD0-$ z2dy)?hiw)VC)8S3=%+ii71bb3Mt6*0M@doy%HuSQl-o4WiYC?ysFC30-8T7<2pr5H zO?5DUy8E~O1~PcR?u)V+-0J9Px~&l`L$yoG^r@|S^no+NvQQkdB19NS;6RYl6bct5 zSLDTAf7e1HY^$7RhU*PLmv5?mR!>Ep;y@DJqd6}ib9~&c%_P(M1TzBc5vR2SwLD*) z)z^T+m&Qh8YO>*Z>^sYr(L%pN+*@8#UIQ{-TAL6XI{-E$E~f{MMT}+gxC}Hljt|N_ zVL&~uXIsmEkZ<4qfI}<+G?P) zfgcYQrK#cVf-@O*XCJZF*c*+x5Kd8^QGJK#9{5UuF*$1IFp1d4-F8u4V1^ zmP-*Q-rlsip;%Ri4%<>EJ##D*Lyvs--P`Kw)L3L~TE@~@Om%?-#4!ihXRF7O*1L~l zfAmT{sI_6yy;5eS)W#t(=vTeO_pO2BPr2D%`l3C1v$dO>?Hj0jS&vE_DxNWU6rQSd z<}gadZqJ(ts9NTD(zvHXTL6WWpa{ebp)7`30uL1LOXEz$?cnj{I{VP#gXJAGO5S|i zK@bbwr4{qGIuf}pM5Tli;V@w6@Gk4Te+hm0#%u15#Ab^aT`xjxX;&@r)Z|Vp4Zy&2uPxhZLefgf; zcH;-_Yq#CwfBweZc7T+yuo%t?&hCr=B*J3T0L>C0g9pw@RX9c@YihIIp;{2FClp`9 zwKk3scA1X>8J+vOhAT%w-PqY^>#{}*VLb(yDeX+~*KUECmq9lZ7k}#kx@$r?ViTZB zoId&9)%}D40Zmc6IqPaV=n4xQVc;1Zb>KOR`oviq&RI+bhut1|{PB-Ie0cZBntt_A zU#vGD?(@lM+e=@h$6BvKf4B@2P2(084>pw*}X2ttb2gHfHp> z#z0JEWA3#zilFXAmedN5MnL1iH}k%k%t7n#du^j-Cjl=ywOTS>X;?Q(=93NO{llx* z>xTwLel*cANNpPS%d9daY>!TOsBxODGtOS4My0;LxazLRR-Q zfro*ye{aAboUZ6+wJa9tyshwEWb~eE!Za`qP*?E2`?#&voaD1)EXPD~#RkLuLK?P) z{8$^dw)Mg&J5*T?(`k4Q5tebM6?dQwVO8uK{zvBAJBX_}Qi8IxD+?vhMhDU}Y}{BH z#z?VlA9WYG;njNm`YV5O!z~~9g|FVTm_53|?0t;n^-Gfye!IX8&mgi;4K%~XGBRZe zwwpsh5cVyYbWJtg%jQCx+d7ZUY6%pwB7ngLGX2OAj8`^{krKnGY#LZ$=((@95E5yA zdM(Of8ivBz9MAAQ9uK=-nv`<)Z-0s!$;<`Cu=iMIO91B`Zeo91Iy!tZH-aeaxG#egU9-Xk@N z@gMhZ=mfA7!LHFwmEHd_DnLCqw z)+m&KU{ZfKmq=5cxqv z2is2z^c%Oe!HN+RVdVvtWphlE!K!pj{8nGcA?C(5D@KG5TXgsDKXN*F8ZooFwP8G> z*TLC)`X+KGRpwne2%USBF*k|((C~vWx#P?&a&p5y04fn;mJh_vPD zzR@df(Ja-`c)|Zf7N2g~<^qG$v#k-p4tTFE*AN zg+L6!O3^Gbfjt0G)I@Fdm725CCsOi&KHfgP{TKIl$y%h`-OloXKO44V4V0#Rq%M@& zb#s9RbS94gxB;^({Ki*xRszaD>R5w8MFzx~f-j~#PTz@#3)bUeSgL`&M}#!H$Ru(fA{{$+5JmjvESAMEp0d^vCV%2v0vST z_7(XPBu!0nEO9goZJ)JicdD}m5bOnX+DvS*20W?Ia&~ymfgc>%TWb`8{EI?Y9!Z8K zJ^VSz6(DSK+3n^p3tAX1MO&mo=fDwT%r)1h32BZSlgEkXI2^G8 z!gk%+#dh^$$WN7HRptlo!LI%8KYk35!8!?OuL3!x4U7#0*iXmq{WO2s*m}0jZNMCB z#FNjZa7w|ruEaq!9DsL1f{YWw0?n#z@dKIDfMlvsFO|uiG=L$oO3+pG?mxLc#Y9*I z`1TA1{|7s?%ei&*pbLN$e%A$CTXi*N?*{@PBm=SJ&A_K&wK-sDJ1{ik72gh~KbpMx zS}+<;Z#UaPQ-O5XhN6G?NsR4XkW6q1|p!hMa$c19i?N%-}Kn&5qwp@u}6Ev<{0pgl% zx}qV(ev)D*IE@+uKMqhldK?^BoJO11=uxOF=mJ=+$rRpebX4^5?8AC3RKW#^v*ef| zczF9v{q9fSuXlg1)|-d>CueFeeBGWoQ{x*3*T)$T3`9#!ouv`@b)&SiP&vcP1Z`Dn+{WrWLT%2|4|0he5i{d}0}bbMQ2?9W zLLy%J<2(s$BQE**tDoNQ4?lY5DdKJrGHEO$6C{Kh0b76L=(tHmbKElf0zJ^kiN1By zHTFtzQ^8J(QXQMNn66{%S-Rkp0||q67FZJ75z9bMdm0hsUFaBa8@G|kulD;Cz<4DD z2Et9jCDdshs+r4_wyz|7Cv91(qrsxa-~%(lkR}G=Md8Fi7(1`+$bmXYU@~Ymz`}YS z{B^~kKRAEpI31N#4I8)L>Pvr|Cwtrv@9%%{yMN|86+<9(@3Q8t!6pehRKX5N)00%f z4%Hrgt&P=0M;eU4@n7BWwcGG^v8Iv_{*%zL>s6&4j?=z#?q*UvJBxWR10!i3oS;saM zr;}|t?&LGPMrd0H_y-d4sv{G6nn@k^hZy1y|Fy#Aof% z)^gq!wOaQ{fr(VrB(nv4fmmNN79i+j5%($0VQ^J~<{Ex+g!FRhNoZKKu~u5#rUAbf z@85s^^r7BAyuN>U(&&EaOZTfUhd=+g&~9H7RR6&*{)>40x*WG`59UKnlJqD}Tj-`Y_Mz*aT#&UlH`MFJmPY^R2Hpbk|*gViSHda8Rd#IMS z*&&wi!%b}$B!99kbnwY^ghLqG5yw8d4^gBP`W$!v*|pRjjVyw86HYQ@xSC-SkqSyP zx6La#E_2BlW8r(w+F93b%c~#U3M~d7TfNRvDGd|@dfymhAgz7`T99t0GbD028rpv} z(Ehpm&o6VPTw~}k@iY4lrrcvVWwWM&vai;H(AWDKQwbQr*5~mVO&N(>IBpo^Aqu`u zo%UR_ZQC=IO+lgt0H}OxAIlFkU_)0iV)f_lzxaDTVjBMDhxP~g`u+z$e)!?$87V~e(gSLRL9GwigIEjzr`ANLwstBX5WJEt2a2-$VTK) z!v8`*q?>?3c5KoeXS3L0;OFHvj;7*xfNCNG(|e7+H-?tZ_{i`L=d&64ZzX>^I=2b= z7rt;$9#9P@we~9ys9*dSzq7yn&i?i(?Qf@v#c+zITRW&czSTU`QB*gN(V;7&OpgxS zMk0y>+A_$goNxut+Gk<9rZv|Vla6<{^96lgWCI8O@Md>KsR;ww-7#3-{6yU`;RwoZ zJt&Z-2n&~frYyy&kxo``aI_&+E;HpH#hDukZilN%i5SFWxifiR0!xaeSObj&*eG z7Efw&_Eg-x(Ky<=xW{KSKmx)RMg~bc-}1%%oBMa`;o()jef=84{F|Hqr7z!ajM}sX(BqccN!VuS z3E0o)=!8t+kv$u9*R;_ETyV)BFh63?g(F-g6kSj&kQ|j=!5V8FA6HElvfi_tcwIf9ZBTcU$kT%Y`V{Zb z%U=mzif$^bYWIJl@UhQPZtff*Cjp}BEZst-cpi}xW6LEZhERBpQDb!+ z+7DWLVpDn8?a0BZ7?h6|L)>RPQ8=_U#&$RJRO}FUK=sILwpgv9BX!o~Y49mKpFW#r zUkZP_hV^OqDwZt(WM<%jpG>psj@%_nafnNCuC?rzLd<{WQbr(ze#Va5cjzx4B*QuSWNM2K9pc_%M%a!oLmKT0E zL*@ZXrak8p0fa?QU{+$Sc?)#YFEk4Z1B)hHa6s!|`x4{i$Tr6w#N3OCdH4pk`F6Sw z0RSn2z{r2Tx3=c$*TIgcVaHRNif*Su-*YyARlF|!7><>;53qhh2hlkDNUN(J+Ln}q zBeiUxs{~&i%Q1xDjsVw~2$RH<>HaStBk%6t)$98=PgdhEef^$guJs${+Q%@`zVuJ` zcTbXU_>*KIO=~TYg*uKmegpg6b;+T?Il1+KXwrY!`(7yQpQ;RuiKRGqb87|Ct9L}I zf|ul?77VX}mJQ5!Y;c8_5RF|YaiZ(tmGjAP3p6t!qm|*hh=tDDbkoj=bp>+TGO-$m({C`s*kohJ4&`Od*4eJ!vb|%E&tZT z!~1_H0j&JfAtBr^62qH!aA|%ouy~zi4N_7aV1XRB12>@ z?pX8A7>E{mhPRDrOVhc%*W9)<#xS-X9>>oWM^sI&Dkw6Yy=@9{$FWgKu&L_pDb_w$ z7GpfR*=68Vs~r%IB$cyPXP~OL(7Hm*zR-Wp)sZalpAwETyBHixt}*AxJnQW2bI*b2 zOKs<=0EElw_z zwN^iN0PGo+F@zK%T1K@DrsZX4NVo1hD{~hNoH-lHK{&`brLZ8Djco(C@@a>Mh^>EE z;H@#qSwe;9hNNMWy$iv^1^q-}nmchEl+iK!pU8`JyZdkODds>)1hYK+^Rrz_ zjqWqG%{>+J(42pHA0UJ)+hFU9yPra1QWk`hQNbIU4^TsA z`lGHSPu7tbJMR8le2VLzCny02+m+2WfM0m@)6a2E)-ASB_F&*52Ai@UJ34#vfxJi;3lJNm;7|5=g*A8InQmP}7MTqib(9bc*Z9hTILc z#)+T-hIOMH{i~W|Z9#ZZM>~JRQRQqSLATI8ZH=$qy5Il9pH{4ghx#I3|NO^a4P5@h zPuIg2e;V24g|Fi?&!u_8PM#m9cuwg53nag1^6G+O&VHmhT3fTXO`D)`H$-auj6%Eb znt-&~Se&%i2yr{Tu9je}BeZ=_s~(P;U}*ErJ1q`U)NZO4*Dv@<@%(>-=L`SeAD2Gc}_4?9$RQ153cpuM#Am4Rp~N4Nm&pg!@| zx%=<&l!dV@Hqx1smw2_(L#;4PYvtlQrFYK0dN@yj0PQ#iS6sF5TVthd=yspM-AC*F z$llk?{a}`DT&vJ-T7`u1%4k9bG-96eTOY+sf1JPW{q@H`s@H$->iw(hxfDPDQ2G2s zc#ew#Ftwn?J)^g6!Npq2$s21o?bHaWP-DWM5SCpK!5!!Y^2QQ^wj#zt4xV^q>zx9o zS&6!ciYJuvLOCM;lp79RCh{O@@DeiYEeN)$Ek|u!)A|M6Vaf)z&qk^TpsvvG_o}5eL6_{{wEgNftomt@WBmqJ;7j2iJ z$1KWr0vl0vCT6*KU)7*__di}soX|X=i}V#Wj-SM~i<*Bi2-Gy7FbP-W6zSxl7D}5G zFUo=R^tSL2Qb&0Y2R_uVL9e1P87I&Zm%_d?yHjGXKW$v92ec5z-T(C255M=Z7Z(8! z=atB{B?IQ0$s(}`P=mAZ%m!+zgc*{^mKZy`5AuYTsPB$$Rk6(FGCIU>gnHTH#U=PkKakF!iH`-kl&_@VX&IG6Z=V+Rm(q}fUo9@~c5JB&kw zUI3YNu$T8*$bB~4?gf|(Py%b`j-omCqNx$KkiHs(E`E8C=gNJnMf~pjdRObi{hQBk z7ZWdi-F`D<{0mCvWi}xW7{NG`t?`(*?Ho&hM}~i@NjeTMM>~9Vwf4AD2G^edU_|dc z(wDRd8Igp&r)8aX(mNL5gEn=MPSZ;(HvsT4YTrh|Ui#xa1J^qDZ|*-l_e@``8*qTM zHm1?BwgWMezE40z?Z^j$=ZpvO-r-l%p)rVBKw74bGza#mbPHM+kR~S~EoR~l8h3yg z(K>&oPgj$EWFdXOXe@o2QU4^Tf(MC;)rCc~fY@VNlWjHMmx&@_^BiX&#(@F6P%rpq zvz6v0FrCxT&~IuqFcAdpQ{HrZ1yul}2lA%_#E-Lv=M zW9`)epKpe9@D0@mA41zAbH&-4;H_CkQ=+l+p%FgX!M)x&yRPDs3`vIK_Vt z3T}qQI!APDKEYj(uGH`T=Zhc1{VW@hcn{=` zxle0RgYgC5kw~0$@d`f@yEU?d-f6l(OI{Vn{A)mcmL}Z?1qxf2X5?s0mm`m-Vn)SM8Ta+6GGKR<%5_)RR&QEXwN%2 zVLK5!FtP7y1k7AI@~&>Y*-++&qmX!`S-nVIw{M=UHx9MC|LuxYPwmp1yB2@JTT{^j zd+P+>$)%4@OkiUyY{%M+!9q1g{9hHypD~IT!q>lybT$>H(A9{U6t-aKwYb0BTZj4+Mep-7f_< z2p|o)coGBrhfOA<@!WIsI_F&2MFWeV_YeW;W6hf5_}VznLvXH>O|Z3nuX*aUX^Eor zIZrz&nG}&?R88AwbQ*f5EpYBDC%u{kNfs8)Tj_oLeb)BSVSg`~EHRphy*|DP3 zyZ`(8jW{7ANjO!|Q8It=kb*3^b+GQ79aKC6;5hvvzXE@-R+k2X@G|n*V;gG>6iu*U z+;BH2d^OY@KEc7qd-hE`LS>d<*P@2p$=zSOcH4O7_&gS9JXnn(7uW_V)KCHwY0R}p z+ruUl1a=$@C2wn@^r?b_S#+{P9ni+kMm2VK{82VtePdQR;9Y-qLwkFb9Ek4R)Aa8D zxlWnmv=nF$rdYGgHlx7PTi7TKL}19#obG+i)?{F_Ic!gYu>w!VHhgHOmDAV3CzBEgcCI^B@WTr9`HLy3D=UMtY`X!p@Su)KssWsSp z6Q~lth+?CPiHa<(NWdzPU*5Riz3#`~_jx)Q%E#%JecM2D3;<@C1*VQ>EL|=;wYNH8 zRp8)N9LoZ|h&PD%oTNFimCtSOS{cQY#pd9?Mr=aib?<*Z*zW#qdElc=EKlj1Zfn;KYYBrA8;Twp3K zLV}Fr?%%uK?1}%7onE& zKg6fVz(`TxB4?#Run_Jh+CciDL9DiTN6WLZXx=b9u;P#=@LaS6fMMe=qP-@*Lvzhk zMcHfNi$xQ^FKh+}apGmkzQGJoOzzj+e{{W5x#=-0Hr_f{t$#G9v6u+v^p)^WaBjFB zp;=e1lZG;!fJ)KeqIHd$TyQ!LfN{NDqNvEG_70ZE&7qcQry8F)>%ayT+LiX*e|)`D z_vM#?5v?a$)|Et_={f9lizcg`1wIna>`_ih##gX6+ydl9#=9*GFhvNaN0;8gAh&k` z_|_+O21uanHGi?l&ESdJc9*s6?mxNSBPzfzVkS7(aWn6DBjS?yqOo!jKpTZLXGS|s zQSzqYm%lj^GE`l{$CuiOR3s{^d>xR^T z@A=VR{fEBVH~me!|IxEouR{25(aVp%hky6>Pe1zYmw&IY*Rbb*`=j6a^2Mv?Uw-;& z<)8kYU;qBEee}ma{mB>k`sIB-v)5mI%b)%0kNxal;!pn3xBl6`_LHAYd;P=v7eCh@ z{71Jx{O$kTpZ<-{>neZqi~fzj{^@W3C;#*}{QUmKmp}SBeoKG+@F#zPOZDz&?``y- z`%=C8(SPSJU%vSCTmQlTz|Bv8asTR#a6SJ8|IR6p{foc()jxby5GHi&dw(e$#%nE75d2hR71D~t%W#4-+unMb z=*UFe5niix1&}V$^oW6%&EUeD<-$qUI30k_T@~A6(ilFiv2R3NWX(~Ob{=FBu(883 zK2NXBsNXL1u3M}fjx~=dPhS_W1g8Q%DM5yxOVJ8E7EnU)htBYaYg)*5WO z&VP_GoaoyEgvEsLZwHc5w^QLid-Lq=%g^h@gMRQ+U$o4s2{h!yfR~Db!r}ZrD z?E~M(Q(weK&aCDQTIv1NO3%R@ax|eUJi4RUqC_$I_qAmKK+aPJc|n{bKtub4J%4JB zY9LTTu0oSATVhLIN|zgQY+X9e8pvM;rR?c7^ej{)ZEnJ2;@tgb*APoaj+T?6`#Cjp z#UZ}VylWnufLqMgyEq+zJ=ECO%)Y0Op4$QQh0u6WzwjE&*wJ(576=@iH+!WC9ell6 z6$ILY+@7x^H17WM4*^qm_g}mlrGFth#}~A9K`hciYoqGeCUyKVFgr9Mrob@r(7{B9I%Y|(OZ<|4qF=TL{=NulfmW2>Z_kLH_~YDsfB(TB z*z^0exApABt1o`?6@Gpn_2N-8hVwSl7K6khdgmfN4$-UvXJr+zlIDOaJAYcYv8-bh zL~cC>69N{@*!_25ou-M05FBl1&88QI#qoR-17;l%uzN2&QWm7YnlHiJR@UjleV~n1LyqmPIBR$ZSvB)f(SKs@V}>)Sz%#b_ zY7rfWTym<9Zs_UgMZK3u4910E*loxgMG-=w3Yrjm-2Io=WW{$0C!wQ09kHMl%W7I1 zvSbD{MFVX#wF$%v=q<FaVO7bU__94BxBDi%WV|PMiLBBJ7@Jbh5?4VwEia*q_H`YTpLZplz4n5rM4)t^ z*d!!QSg_d9$V{S1myTW&9yO^y&aDG6>)gM%_1hmm77ncL9H%EitD=K)z!TPE z3XfPp1DF~@g{dG0Me0J6p^{^l;a(Faf3(|u7&@j0lf9??IJeM|`qA5Zk(n3-CdlcM;9)>+K`h~gB?O`>5(su!ZNOp@Z;E=A4CLd9YeY*5NeaBA*17xd z-tj~alY*4OQ>RYaM;eXUub6uQzD6+2Y6&V_0@~z;hmM8ZQ(#&nmHU92aZka zXw^2~L;c_ek|t@&BZaT535y(GnB6EKw->jr`PC$Ci1OG<;JEitgJu!1SBo{nb8G1# z->r&s`fZ%JU2)>~zt}zqI5d;c7-iVQS`W+*2VtTesA>qV;X#zZdQ$~7e-W!DLAjIJ z8B|d4fq`#~JSXr=+@eRfACNguFxhNN*UWd2XtcJPj$2$wL!ODVnMiJ^@bozHG)L0i zXlXHPwwN$jFuwggQ{6QB7y%7wr6KDDgrn~?qN5??$qS@cuxNc|Z(N0h(ufY5{mcd? zuiTOYf9uodFWsI$R8cVKz^3yh&pt=#sM(cYc=LEgN%Cv#0 zA(~6K52Zz5u=kBM?%KgkfuScAT82)ND!}R7|Dof{zATAH|WiWfmGjO_7 z*eYSl4Cp>S+Te-F(>e=uxC!kk_b${c1N63Tni~m=NzzEj`S8_;J0SB2_kMuB;tTp z4Etj<&$RO^V<9{^8EYW!Gpw;&rEg`4i zIFmA(!Bv9O6Q-+i66ks8#0&*}%5nO3RJP|>SBPWcDc7vitig-}nQ-B||KUn)BGf%y z8>XpByk+LMC_H6=OHCjnc~o36u9yyF2?x_R{(fXd^@Ko*8P^DznPwAyWF@3XMxZn+y(J0oQP6(NLVLVwE)G;k0@hhMe#+M#=&gyg=jM06-ld3gz+GJ3UWCcSa zC)iQ7?H!PZ8WXtvbpp}rI!Ikl;q4|qRv?L$*>I8o0LIa~|LITO|Mw5M8{XBoN|B~s zPxF?gtQJM5+C)elPNo6ZuOeG?lx*TjUg)F+ynlrv#;Pc2prZ!GHVtYEYnO1}+^zMC z|GruVsJGCKuXw-)hwM3Vq|3c+=cCt?j6LCV??K+6&Du5IEI^$Z@z z8-wse&_Urm9KP3v2oxqL1Vc^Ih{VR(JNL1)nk=ygZR!_4sMl|weg0tO_te+zQJOE^ z(0_bC#I5b1<*TFmlYKH|ssPB1K1x&96zL}`thb2~dQ4Z#ZkR5wlb|96X5Lsg_tF+8 z#S^C~SE*#iSa_!5C|Vmub<~j!oxz;PL~e68yQ4O?7@;gAA%;j{c)h*4A0JzIqxpeO zQ>PBEARBt`jybnpwz*E;0ZfZAul~O$D}R~}cJa6dPT!Y<+%hq74cS=fa-zj@yXN}c z=PzHrsb}@#2lwZ}>ar9E2YU)SaoG&7O@_JPSEwL6gJw3O88;EU9StrgV%w z>SD1j#5OYz=6~)8a!ns`nx;2lr>^VL-D?|rPUy{Vn<~HcV|)IXX!EJB+9QwqcJsJz zAL3Ad1rTL1Cz#)mNYVn$=YT0Nq(NGJ7(7PlGbI@04*FfdInspTY)Sn-DW_^ zcMyfUa}|Tv2VO4qY$#(?hl$|YvXI^;1-bVQs9yI?=YJ$P5)JF)(czY}N)m3Rh*849 zoU*8+q%CKhX-yk(2sN%@6S2_@MQs`F=LP#ZOwkMg=2?#UGtt6`8uRJMJmYIL;_tq> zf03{2&CA!Hefc#R@z?GjEHa+@>OC^wmz#E!e2BX|@KXvZI2htC=r-_<``E^g_~;tb ztm4>ab$@i-&|j@qyU06XRBC3tc0?33@9;hEHFB7NI1y;d9)F#>J~C zaE%sX*b9RM9dwCR3lpZY>Z!*7d%n%={6ScJR)6Nt3zgl^zkG0l`P7&1(ZM?34A%eB z$4c-2wrhI{$+Xb}TBozAvh@xb+wM!i-0YFl2uKCfIHM!8+$X+*HjuGvYO0`?QX6{% ztwDS^`MNa9eTEv-ZX-JACIO}mH}HgZ-M(6<&J>v&PY^)BtYi5e12Z27f5AWqDUxn@ zynkVJ2E@q`*?JA{VUbyd&H(9vOu3KAs2KFM8u$}~{32`cJ}L=LeY#CTWLe~apX&L` zAJ*%zH}&lE`tifS#uHz>N2kejGfn;gpLII+1}uvDn!1)D+li*)YD3Ho79l-RU~MR` zhJ|XMbBLqb*m$qL529>J4DO#s4fRDOh<{QXkne5hxTGsaZ9uuP`UW8$h|dRM4akCf zpIr*4IHzb>!@&Ps1Qx+>Z-d~mjlG~TI-6mZowe6I^8nu%%VOhUvtxHaESZOOsL@!b zYV9DfWVQz$exADvsI{%DtlNp!t7l;^qMqY%cYDh{^`(2{mTNZ$7$4-Kt`QFlxql2A zN<$fz(F(E2ffDeNaTHUn!zcEdGbkoXoek+u?j2}79zq6rcyi3M;9{KzCoOP$=f1FR z5Z%c+RVeH%vUeSaTfk*pV7ACEksEXIxzZ(^NP1xoW30Y<_pg%bG&+FNjukW9|efjK_ zy?tQfd+N*gD?7VSn5X;TwUMNfgMta6lwGU2q&5Nv?;yMf4p1gV-;I=z`9gpEbZR@G z244H@tw}|=gfZC^TRFHIlqWJTt&=*EuV=rrB;KACZFCuH7moOr%8A581Aj(H;6)1q zyI31U!Yy6uOc)^Nv7LC~oU@Et2itRufv_oS=$3Yo)uIrYjycCXBZr$`_qMm=2hp1z zKRK)Y=zDHn&%bWIe}z~7>?P7^Kd{&Lce ztgi&^-Mf3@yFfNWJ+}uoPYpt*oiq?cLDWZ*1t$_fY2rxXG{f;i_egv#HXx%g&p~hj zsHu5&&`YXd?UvpZ@|??#0IEO(79YEJ>b4q!7nA&U9(>LgP)#?(bni9nI<+Xr2x=`H zG+&`VA_F)j&|b8i-hb8t#dD1VLhFAhReK{zIi&oQW$@4fk zaZGd9VBNiU(C$Y&dt{;4Bh{LN?$5GmLWhtL2lY^-p{)}ttAA&0U98Cn5ncZkB|IV~ zqY}n$K32EeM-=G}FlL8w-!1IyW7El3bDs_JlL?NyW zFSVz>jE}6VzJIx#Zy)Az9z1Ru8dkPE=>TBhd?pU-_E~bE)8j!$)vW{QfO!F!piueD z3^X1DH5`CzyS1h?5!dQi|13{*DVj>(eKn1hKpBg#SvoiSt@2`RM%7FVa0#4sk=v}% z+Zm2ds-Z@-Y#0FAsP-wc^5C>)JKdlX(!qzS6)f99R)2|*Y50=axAO605CO$tLpo-yI9WL@cyXuINfzpA!HE3! zzHiS2bbtFEke>~5AV4Ni+tl`1yL*^-oYMzR{Q8vcID@UCh14-bgf7x2*v-csIsVm+ z4L*tzpaO)Qm*VEbflr%}v+a=TVzacF+`epo`_p>+45zQRx7$-+wnwJ2?I!O0K|bDu z_W?H;F=Q_3trIjv*O@ykGj&);$FpHL?3F-|cYix&4rW&O*~~9Q*3t>%8RxSj+@w<)M zt+DN`vEi*eqazRi5uZ;WZFQ^T9aMWy5ipn4&~NUgU8jryW_cxoShq%>Km7Eyz51-a zs1|2$UOm5m`}UzG@TsrgqvHy`8CQIOm$GpamoD>{X>UIJIG(?JQCaoi5bCKf-=p0o zy6HB3fK#%%fHJLjO0e=Joiu_{!?yHx;VMXrb}gFMI4Zo~<~x4>tK07W%}f8YiU%** zr@nf>9A3%$zw2@hy}tVgsVC{Wv7;Jch#yp=36Y&lyMDLlY(|-n5vv&R2%89_KVEYd zwSTZE2TMzcz}W(IZ~%;-z`#OE*acV`|J!#nIgvz4Dx7y2Wr-TQ<*J_#jd6%EMx`4EePQ=U0ym zLSaO^9Mt@}A{}|IS0}~LJ?JvmPs@H}9-1f#?KS2GNNa(hLUnLjQ6&q)CYV78Oq)LX zZFu;%UVrNSvxg+Gr@m^BOiTL5;~Ucw{PPEQw>`B8`Bz^qeVh7tYP0k&MSK7LmnwA= zn+`-PcQS&_wQFST z&0Y0iFyi=fK+1Y4!c=2*y)@YkpQ-@|Px7p?C@fKUA9`v<`I!V9A%jzCE+2sOdG%72h2D*|ii z{x%*W2S=yI)eP}}oDCJ509r!RkOeugfS$vUxXt1<$AF5{TCE`38L-P~)Isig`}Et% zw6Ey00uEH*esE*eX>@H{2Fq-0emWfOvCDv3G(>f!Cg~b_ve~w=b#^<8hfm42`$ps) zuFEmPGM2eu`Cs_vpA8x5!hZr{>23S+58u3u&;K3(n5Vsd4<4y<)4`PY)WLk}r^ns@ zexc00G2^4O4(6bbmA@PV+Mk1j@}Y z9z~qp3StrMBRah0Krz4vJUd9ONPiY(Uu!VvmZKt|=fv;2B|vh`bYJ`c5;!^ME`^l$ zK@WR(t%kcuqZd9>C4@GR_Goi;Yd&?1y*$LwgX3UPaqGr=T@Um{XHOh4Vtu^=`0t5O zpx9J11s+OwHn#<1Gk@gYW?rgQ>-I_T8}>RLq-dY|l0A|?>NkCX4|96aS*`lXv!(GP%%BWKh=}tTY z+wjyAM<5l?$+uCrwy%NM>Y%Pt>sJ?cp+dh~jCEpVt#ur~WPbx+^Rji?a0HY9Fu`l7 zX%DE?Q3TMmt!DcGjgRip9HVb|XAx6tLA~KL9L{q9O8>(BxEk-GB zbnVNFt69~lg_O(Kqi-&FFuVmfIDc=30C(9qXks8eWnSb%o?jEchvIO=pv7C9#AW+*om(aR~8N0~aSiDx8odmC-P{*MOS>KGv z9J>gQ8GitqwNHWkLfGWg2;qG5Mw>$30EyrZ+I%itUd^WyzOgmgOVNIEJB9s@Zi|1 znMt51UJ&C!D@QsGCT5YHWdKrMYZ(CojjtOG-em&D*R-GUofEaXEQ+hlN!r9Vmu!X4 z3kkO@ATleQ6dfECI}$V=9nfi1eXuMCuz!S+imb+{JS}JJBll2F35Jb+I@N-QHJT4p zJ`PZ_OYZ)kKl%P2y!YKw4G0Nw3Ki+fE8OR}O36oz3aBVcr!i(C(km5MV8RkV{WLLO zp%bew-A%H^-t8>p(ASvBIeRl5z>2`GG1lRE@x#ZSeMH_aVLfW^EqyIf9(~6&p?|(M z93#9&o9Z2Lm+G`TD0(X}Si@PV@99Y`(DcEwb(|Rm{7WaDG>1!9Hz0fF>af&rGKYh} zl5k)PmFR6?`FHQXKz#Jsd0lTF?wX$X(mj%I8Q)m9zWe9D{JM4O^1j$4te;7}59t@- zcw*Gdj9S~CJ4f`zr{N^wWQ>z2Qh!-HKuuGh5DFj41=Hi?0S^W>;bUEayu$MpM6q5t zfH0b}B#b5a?jQXGPqbDRHV|hFntRYP7PpD0xzFAP&`q@_K<>um*-B)rg#m<3RJ;(J zjB6?a&bRI~(N$osMpHed!ocw@{O4s?;q&Ketp)tJcmLQY@1NNTWd_Wij(?TjEijUAir&!tRz^FJag*V76qiPFQ z;)x>{4U|%D^V?62>-*NO>!-eMzpB}?CY_q9Lkrz_!W)(u5I6dSGQ_g4uw8w)qo%(U z(P$hzVbr)LmORW^NaguC9e?vdZkX-aOoNoJV>w!gCDy?CVS*(HbETjlce_R46$ed*w+6Vf>ayfp?};)HaG8t*}vDph;tv9%IdZ_m6+_9e=nkr)D9n2MJC?-ElUg z5;=MICZ(9i%9b5LH8;8_9IQV45{u%5ZK03X^+UY}vRdJh?zO zXqe6|WTNM7ArMm3?Se6ioT;RsPJqBD-xPNYi;lvuoZI4wI}42R1C)G!D_26 z3`jrHWn(ja@P9>tVGwA>MJI$htYou?B?o{lIHw5F%+3R}q>Lr}y zx6AA&zJiaOOnwvbA@2k6ah*)=OQeRsQqVfRuQ^qAX9V(-%_iP^TexHaXupPcaOc%R zeXrW8GZEX^{pds}9)V?$ANxA0T`ci8V^lYjArZtLnSa?FVb{3(C%%LGe;r{5yBD({ zbw%4RTVVpWduyFj9BF-xfiMpv7eqdJ88PaDrxiiC&HZoyE&^ zE{_v>T7$A=_TBLYy}ADpLK?AZitl}au{#b$QjfrI@76Im5%()2KG2%7IWNzO;9cz^ zXZF!`b$^--qpYDw?cyn8?A_~XKQqo+`p{?_3=isFu!HJtqWE{ezUiOefBxXcf9gy3 zOLIazHC*jii}m(!UPdhrg37JAiE&JAZ2%@haq``!nVVzKbq+?J3o{iw{I+t2R{{ph zsjV{snbbGll)HRq01DpqGHdm9+UmuH-QLm)$bWm_OM9q$rSAePGPm0jX7^b)Z7oIh3?57|8_KK%tO}jt z-G8uyrHHh|F_KQS?ZXZ{5;{!{XF;2*H*aA$4Y`e>{ZZJfw_m=lXK&tGeE#h1Yl{a@ zl&8LekJeB7P5tx(+{MHJy6!ls;)t==j3L+3vE^_V47f%gvUiI@qXc9O(5w%N=0(d{ znqXg8Q?c1w2@hOdp7l`{yCQ=8tg%@^c7Jj^p(9{hm3<2pY0Rx+EYg;c`xl?zKe*YR`l3Dh`r@0{*9X{jj)aY`b!0YJQkJ%QI1O*344QeVFjThCq&e36lC=~FR$$O7Ua?NcEAiYeM;i0au3T$HLk#htR<_4>C5nNHf?89~WLC)F66l~om<8Zl| z@UnKUghnYktA`(sAp;}*K7x#5xF15*oBg8eGh4s?oj&!)dGvSs&7Jwf-!0@M zvE5B}DFH;JWK0syka)qTYNsC%7#vx5oN?v}c65)%kQ`PMCX2xOMZBNEm$@XkRA$o( zSxsy)it7gn@sI%=J%7UZcC+Vd@Ah0*-vlLQlGr?sv0yah3ok7vbVK_p1F&P8j^36b z*++*AczT47h2HkrsR;3KVXAl?{7MI$CmNtn64Q7Adw+tM^MG(sTecqBq@@fD z^X8hdkd8;}y+K%x^vM+bOqaWV>XUcBqjlM%$Hcs5x9;<7uBvdH{DaCmVTH_*2>g%B zVgYnhlJ(h6BZXC_dLKrUyGpdcBb}9`qQO#fSVTGt)-iJ=HTaz;`o6b^T~GaSZjD^` zn7QWtYw!~u-hbc##&I(!tj9G^?Fi8VyS*U>ZWCO#Lxw>qWJ^OZp{GhfIT8&e5H!se z3(aiA1RglTpGQTvmK~`>8e`@%gnh(kFn~tOMCE7Q;EGJ(wlQb=1jBy2WFCxiqZjQ4 z0qB+-bwuI-iqsqh2MBQL>@&rC+YC`SHte|&a{~{!HGdN5XUHqcT2N@gNLHtJL4_hl z?%SfzQ-7QXmdiKK-n@NX_QfN=(!m0Y^w#BVvrs2B-EwB6>anZ&!nBCCEHn~Ok0e0{ zaano+sTE5GQPuV)yK56n4w=?A)J|q+Le_$i5W9L#y)ni^Y@B5bzB6~j&0Y4B#nl1q{DMH0{{IC5C;TA+9L~G z3_JzbfRkRp)SG=I-8%Ls@P+^&!dus~P{K?!ob+*jQF62}2jvO*zJQysA?zUqYI~$-?UMc{Up4&Yw-w^)l(g}n>CC!wHKb&zqJ;x@h%7WhzUaem zX^p40QzU2?8=iSs&Wb3{5U813o-uoCHCuNS7-jmA=IC_gz(Jy?>fJy0$@l-p`==xf z;95KPy}*(x@lx+Oj-#ewgknUI;YCW?&VmI+f0RWn4f}nEz*&iNG^Cwpn>@Cl85Jh` z*kPV@2BKBaD5gl6Isg3bCZvN{Y!};<>U=RQ7 zf8E;dmY49f7xFPh!8f9+zxma_cn^w#c@XKI5=i~}m1@9fZ`0+FOx1~zjV#vgq$7dRX+ znL33Z>Kh}j$w}Vw5=}w`)Vst1er@6q;T8_2J1`A21=jMQ^LjWnzyl`9p49qTXGcw@ zX!FS8wzI=QI$}`QeTNlr})%qr)GE6 zS%tJuD^Bj~2z;!f5NT@7)7F~P9?*|#myC@Q9s*q2m#mEwC4VRHqu=;p-oN~M6#BYe zJ-@x{pZdBzc>T!7t$pM5^VPq2599K+JD?7t)kdq<_rND28dx%+yXe7S?5;DQer}7} z>UkQ^3iw75F2Cxc=WJ~lb8*TB9A=QCp&$$Ye7MiG6_g|V-sV1-A$?30j`6BTidfvO*?tG`-m~IwqJEy3wr90^VmJ|o6lc<`st(f(Ivs1qivz>+Rt{I3fJ|7{JUrvH4tvPd(Rje;3@cZgmS!rNlxOBO zo@uVjOMj5k{f1~uK5q1J`%WGtkpTd}hUYz8V)cayA8}6(+HGM(CmjQaRI&h{wr?CI zC7?jG;SNHA9_;NVO)$N>>P~Edc>$q$dBA?EPU#w#jd=9w$^HOzBZJwBi%6U8xlTJ+ zZ)cmH6P!O7miraS?@ANT7a&U7)`ny61N4%tZGTxj8_Mhuf%L`YXU>LGAP7Hb%Y?PV zSE577R=G7bAEc6g<8{6HM;-=5p7xSGc!aduM@V~bj}Vafdsu65k8E;uC9Bt5m`w?y zGCsg!FaWtM8ZIN+thvq^e8G9b2mj#GeM%MoKrE4t%{oF4#mQ5I2H4rGg9CIX{{2K zY$|q}yAMyu4^}W~C-@bsT#iPouBb8?%bfFe1%B3`e#SIl7Y`Hg02?p5XalM%wX0&- ztGd<*kBx7FjAc>0&akX`w9~C|L66rUcY|%ph@)9SMR~@bASAeoBw<7{`oI|?<015qRrK2P+kGAy#ofG zQZ%-_%*~K`M&+p?ow(&#kcKO=kJeUma2OG1CDN2!Xw4|WA{#ia@P!dlHnl^LYDOR6 z+;$Gyb&FSh>W_1KMu>sMvr~@(c5re@NW$#h=uGyIW;4|gJ8s+2cT}|RaWKe7^inV# zTREJMX~QZ1PIqd&MHOZdmyeMX7Jrb-ebZ7&A9wn=e-|&$o`R#110o&{t5Fn3e@;*# zmW~+gycV+!U?AeFIGkIe!)NUsh5@RH66*Ba?$c}w2oU(2HXdhJo0=nySdX%-ImzK5 z^SR>o<%zV%=sp}kZoGq9O}=c6y>`2pDjmNQUDJX5ft}bB#GEq*Ps4FRwtp)lu-ZI6 z2-X@(DB;_V5XRzXBlwU|cwG2gXeI*40J-0yvH|Kk3Yy?OKO)Z2%=xTn5&kK`=* z#tz8uhri3nV^zzI+Ada&DJ~la+9SIVG#0})y>m_A+IQ8b5Eom6- zh`{n2^Fh_qPETPp+Y5jeS}Zf%EjG2&oG~vO;b?#96qJ?{M0za@9=oQCpqo%*@!h|2 z&9q10PYvje+ftX~+8r!HItZSO)Q&tIp`I!>RNyMuDBD{r79kxtVSgQk^Q45w3I?0L z4A2w~#r54dP%6n2IDI%Wue5h#ak=|fKexOr(@aP!8^grJwQsZQ0{HL+#8N>-C*3pj-?T-vC{AUwNJkP z+u!zK^wDqEi+Gv$FMmG$TlDgy@A;Sa&)@#(N5B2@74A2C{BapqLk*r4S+G? z$Sm4OG;TEo!Z?SmbwIzY##{TG0~9*$7ydMsji@BT>6rr&L3)rRi33H9Zv@dAjw~Ba zv2IuXf9-7nEcEP$<*!hM!4Q3Wtmz4Aq|>e>WjR)hXgJ~T)dlVquoturxZ%OQ4&sMO z(>h_RfA_EBdy8ri{D&;QhGCsB5vSyZmGt8) zbC%WF^K=-@V0qUD4>pB}D~-7pvCk<|Obfh0z56$={C@*(wN(VuGt1DRg^?DHT^m+u zh>vGoq1v;S_lgZ2$Zj=*W3_FP?6Qk$lhr<}5{CJ?8}jLK-PQ+(wLXV6NhVR7Yoe=r zj@|v6pIpbWYyb<615SNmAJAj1v20Gy=GsxVG)@0|x(xovp7iO=c_d-k)&!~=En1$qbT z4x=SNFP^b<)oit}=(+9#^Lap%QtX24pekZV?3-X2?Rf(ld4J#ufw=5Qv5QI4B(s!q{|>v`_q*Zy z-Jbdn+5f>j3dGAl+Kn8x&pNgjfvR-KrE5L1}jdoVE)6ACk| z+JCJ{5}jJI&yuN7b?gn$5yP}Kb%K&qLR7egs78PK?_Q^L>o(BN0?65qhVn8^-HqmG z@Cu({g&@Di4D(vkJ;2GQ}{tTqPCLN#~N z4dU}Qz-+^0;bL^cGfZIlEe=cH<>}E$l&ywNeY%#feb#)TjUOQkJ&~ zC<~xclxHcX2-bK}1?c(S;)08hmVc1Vo;V}`6|SWt&Viqz6YT+}s*rS9+{(skCS1rx zVkA2Of^Vm*h6Ssy<`9QpQc8q3K?*_A!fDN*yPB4{$1zcZ~Uv*mu~GGXUugPDk(cc zmDP}Z3J1@Gdj!I5bEVYY{eLpi+}E$_`bYo=vmh}K3PkZiRVVn-&BY#s(OdY znzCqiv7z8W!i&~+KLc9x1`AN3Vr>YLbIsh46XV+D1*vRVw}=9;Dpyy+F}JBrdT=>QMWGLxOKmSsRPLW zusooQx@_HxPML1}3U_LC#;J$)Uo@h%o*?F7s>QjpZ2`RFbRMtkf5x2Av9y#f@`u_=x;qA$9UfZiz z4`FKees_ImRA7goL=xN)G zMudAVKAXBM-j@0FKlm8T)+9t#7a5xrLZ|0~l?R9v+K-i8D@RnvM|o`C+La0-<&oH#OQo+=hBTe_ zQ0`>48Gk{!49V~qvnjIQ9X>7S1qTxy7)rHHfS5Yb=WggSgOD!3v(7yP$skQ<((2*} z-sTmUARKGAoBq2*<|ofyym|FVGV{G(-eVK^Z#d_F@cuWxbK8C+vY0VOPMEi10If?? zgQ>P&w=}LZ1%l{;V#zUY*v_rf#4A)vi=Jz!uYcZl8%T?4vdUYtupvthBDp3b@@vDn z1#jmW9YHc(&dEn= zC`7>pPD`ai9vt%K)f)uSvmtJ4(O4-R+axfsL(t#{A7z1ptl0OafWT$IM8Q-|qz#e- zq<=a%gnPnJe~iAi?A9r{mU?tpQTbtyQ?8=;-ZQ}4tLL2`=jL<$qpv>K$39W&H0Csf zlnkXZ*?hn$kqzeqD&*#K!cyE9uL2gJ1*B!QcXa^ru>mf8hEiiy0}=-*lf(REQ`Gka zPGtFPb+|y!LYP~Dvvt#3oWJ`-?>^ZgD zM(a2GT4$NcP@wW;XXHMXH8jC{p<&wKepGepVV`E`}RDTqTc(>JyK8cO%4AoNXowb z%iKiBrg?XsCwc0$p0v=2bY`F=0sM)>xc8Ibt}Zw}vb&ej>JS3wIY!~utJ%~@))7kZ6`vTT9T1gCa)$H?q<#r+hFH+%c! zJU^d5l2v=}m-pzR)0;*2UBtXqjJ>;pD7>7&=*feg@K)R4Mj?a%d0riv)PEc06)jVc zAz+3In^70Qjh|7$=LKi=Inh%*>bfNFzXE9$Fb}l4LK-3`V z%K?vU%eJY?ZMX7|>dpDf^MB&)gFfZGU)$H0+rRb7-o~$g@ztaL-50Mu|5xPSU}Pi9 zzx>rX_%B@t`%&kF}%bL`C8Xq$2uyMJ*6D$7D6*`qL9GMY1B4#eaY|THsYjsk#kIp;~Ij$Rwrki9yQ`<>!QN&8gaIcG4W1@BLC_C`}Z!(@CZ3*Gz`qx3n|=$ z&Uex{hzy$~A~UsX!;F6Kbnz3BNaT}>gD5~o7tNL;f^H%arfYWKK?Lc5Sx7{q%fkzR z^6WN840lz3`v3jCZ-2iXwfyugOLfE0aQ&-V%#B{%g5B7ffPcu|9D60kq)0Fk&@grr zpKx1P%g!C1oGc(oV&W!Ugm5Io)on1Z+E>qSAcwdb_n1Mq?O>QM_d@SpfNS(I5PS@P zRqI;=#-VKJtX6IagW<|Ko0cC(kkHwQZ+&WAkcN;Kzq@<4(ZMkBm9i&_1Ov#EyGM=v`9~EXY?-o0~iD zt#ht@V%~21_kVtzn+5WR=k@CsFCU|-?-k7=T(IS=n%r$!h!(oofW+=1Aqub-y+Yci zYGW;=vmQh2dUNvywbMp=qIk>@bPcXlA{d{mpQfOIut_`paCM!E+f3=L8ie0hY(3ME zfof|lL)DJ&#~3FAku-2tX2KplMJtRL*)E1__)I}?dw=fUX&!E4T>hqY1)O%Bt!TCZ z-qI!BoNW(a+cFak64MrReBG+Y?)^BAF?`IQpAR#9#+rzOYlyBROJmQ>!FK#GGvgm; zBXBgFcGd**!5aXcVObP{Z*oJN*;0H3!%l(SNNt$LYwj?bYCxUv0Ln+ovn< zhq!!xH-Du5cF%=_x@v*jCX4sk7U=?tm$d06CKox%*wzLVt6K!i_O z$w1KHj)gSjK<^*p;01LQ;@oo2fuT(gI9D?4>?OConq^K6pYHahbf}2|^*}|)bLofD z+m3+!^57wOphKCEWd=j>quZMsH+-Sd+%Qajc7KcOu-`J_9UQH|0=U8utaE~VKz;0H zwCtj5^3X9}M>Ouo;sr~mOs z@P7&hjl|Z?4mz^2%vmD9?)AQ6AuUChsN_nADyB~BWO2n@0>%Ug zl(Qe1!F+;g| zvA4{uNlyI$A9>nbCq}Kx+ijnAOQ2~Hhu%T%Mbra;*hG$Wu+;~;!41{A2}QG{!9{Qt ziZ4o8?mJq-Oxl=T6M@#}k}pO>;D32<+omHlE@oe6)CRAAfo7MtW5S<2d-LRc`S!fX z$5#Hm-`%6?5WZ1|d@G4dXIUG2omq^fZ`u)R-GUqGncX@DdZ8C-i8?pleeJMnGOsZtsxK-hVuK_1vDl zc=Arm@W>sK*ErBH2Vip}gbCrGjRoPxrGIPUzsV5x_91V7XU;63&^+P22b zix=K`kC29fcj!b3gFYmL=ArIDuzD=YfP?bk9a2ArOV&26vpRgsfXxkClLuAI2^^=d zwbbBQFaR7}@Wqwc3JEN_t$z?}guH6BVeNpsDt-WGZ#V>w!T;3&s^Wr<9#_Lr!mS(6 zRMlG%toKraJ?zq#?oO))lXS>QQje&tcCHMj4nKhH0SYF_1wse2C|2ImmlY_OY1sJLHevSe+-Y&u8b$2R*|(zkj$-GZ(?tu@O_S z9G+`hj*HF82-(%{c)~akOAN$417&G^a)&0E+4EFL&~n7;iA3wr0Q&)w0!r1<9hhOz z6(%G=l+LZ$vfNeT2(Fq>|I?3fhHC3=B!d-*oV+m-@*%{7qm*}Aeg(z0fgvu?sIy%M z8!?*!O-o0YF+9tHAAfmD%WPSoJU7q~fNDOS^~goIfsOxS3hGwZ{$L)stOdu}yJNr~ zf)qE>Wk+Ht2yk21qK#6hV+pTw#T##=cOH~4aNdC2KKoKT(D5ygayUU&)^@~Spu<&j zcRA`@rl?t)+vW!mJYg@MeevczdH(F}gCq3bukPy$|4)A>uzw^Z2JEkmX#V6Izx~~t z)PTH~ZR%=ZCs2?g7}{Y(%_cot5fZV2+pq=SB&HIYAZ)YK9NB{EvK_&v35$}S1^)a2 z9(AZ=%OgB{?>VZ;_d5~ zFP^-8`6Pb*`sL@(zWDsX4t(cV`1OVOaH&6%H~`<+-0Fh<`9R$fI5Z`Q`wyKu^DQ+LU(Q zc}Ju6ne(W-nI1!TM<0~Vy}>3&*@T1Up&o5ICtQ`D!VOW~4BjOY;<{}I>N?|CQtCQd zoV6P&&1v}f#-+=Hwn8%v9Gt-=7Q1xLv0WV5mJ?-R#JRm5{sbS;lh^0@u{Y--rS8t} z?t#GdY7%{I>-&Gf```G^tvZMZYD|P(Vw~D%EX|Yy=n#URS8pB7;n_!>7RU;S=p>!1 zJ6$p^fB|8xg(NIao)x>PELI3p5N)vbHL7!%BvEW2Pa2%~=I0joJ$ti6aXO$p9%HOy zh_2Zx1=!I*L3f(N>}Y(p85#w)RZkP!NZZ{GfEF4kYcYSa9r_U9cn4Y@NL3wcW$aF3 zwTxEzF?KJcpWliGe-!rldHw`B5D!E+cYbk?Hf-8W!{+yn^~6SyT9bFd`k}$FIkntO zi%yHqiK}Lp-qxAT4z<$>A{4?DmcnwccFvUEgKU_0Aw+FAJ$WiSdBAfR82x!l15Fb2 zIqs?_9pE85_x3o0e-Y7#G(s=Rbx18dPAhk>0ArwvDOdzU zayO89JGpvaSH4oWG7K;|u~lAiTQs0iWkkGgIy5@wD|7(Y1k}3gP}qU$VH#Px=2@+) zNVY5Y!E?>iH-@}Ry47e9ww^VC2pk9Sy@u}G!M}e{Ag?2B!G%f#93gn948!T@8+<*?g|k4KWbA zpP0rwP$bLfJ}-|aZwuk&(2v1{^og;DiIm-TGJ#AlO2gJ@ZJ; zp2dITVFyA!#uSV8nB9ACOx?B|T*ksyl8;Kx(c8pG;z~2;#%YIEt8l8?n5VQcqwjz@ zc|d#$i#l}%K-$MX1E0v^&Zmt&wi0s14mV6SO{SIIK6h8wMg* z{{fA2YS;hnO7)>cX+%r`TTVJ_6b&XS@7z zbp2nufW2-YJ`4z4hXn0G39VBW-+G^a{Oet2`O2_ z?gdmv_A_Iio({g)Kn$z|B_>Cm8an4_1v!F$CHNr065rI7e91fkb52ggtk{uhhESH) zdh{^N#vwEnc^GDW=f`>2ynXfT?T4!bP<)TBh1A&HJZ)#^fk{aCR1E}-%tG>Hwv|gl z$2^F%ls3h|MN%|s_M%2@B~X7NgP8ZOg9-YGb>V23_ww>nZWyfAM3S9pdn8Nn`(xqz zW8t56EHIS!A-NZe!~5NP#0G8KspnQ^nCoa*AnU1Z;Fbk3#@Rut2N`6S77AIkPeA7a zd088@G-T3DVal2`2C}87okafRj0N79+{UhaS8stgN5Z||+9xX#x{!b1B)#AUNPC!` zB-cc&PJ^8TjH@UNcm-6H9%5VsCIO2tNYd#V>Bf`ukx78T86 zf*T^01qeY5Ye#Dn?(cugv?6;e3BW1R2Pv~a-e3`l>3qR517v}KNPjD}h+T#pz3j38 zo`h8{!8#q>X{Wghh&Qv^&L$FJlDg2i)GZS%h3s10AOnbC%kI;m18A3KUMU>0eVnIH zay^*!>OOlN;3520*8QVb_S!ywbQin#i~Dq~jyw0B{<^fn9&UdjYuCVrunZyf6M*Bq zf@C}qXRCL6=KVrbmI?{$2CBK*})1nJd5*Qrs|`h`6f9u$oma9nj1%sWOvn=`T(j)a{+joBb8 zSL7)vP!3YpCklU*&8pzBkdPfy&umL=X|_YYWT&QMo2QV629EFYwCm;_fkS^$!brkh5Uo z41hhBajUcAWQm{_!h&`|C%~gL}WX?@NU5ON8%Bgzpc8Z~Z_R6Tue%+$kVh zMRN{z=Fxw)tuD1j0P)p8X&bp9TaMJ>Lb8zWIb{W%3NYgl;w*r?d=+S7?>DqK?dGn&WQ}6e#!v_o~yg_^tE{p z8Qb@sGZ4R$H5l}0vFtIc)7nDpfRpdWvX@40PSAg3_a5~i0`^C5Uf5rpM^A)%zqs#D zgzry;?@xs9PlRuu24y9}TM*2tw%54W-Lnw}?y}uzcBHr?kJoapY+aFpcZL1Pu5)=K z`S@xKJqu*Kbd+n%5=F>L)M}|K0Q{wW;CNju7TJdBt@@#p(5@+wmKsJ&W2pAnE`6SU zRCj+O24XMCM#4LH49D@Xn)L)RK{q8yG8+1Q(w`(WzJg|3T{va!qfwnQ*!a)|vr{q}YeawVUGYT$_4NYwEw8h7m$@wF?0zWN8ucTn zo+QG@gEQgIk8^u#xE99~fBaMc*U#4`7a2_|FJ|O0+G;k`TB-I*(;OX4E7xfQ$xC}W z_c%RUyG)RT|It{J#Onl7GCdbeL37A*wp7Fxq9sJ#CBNnb|ws$CC7o(Qv}j=fgkrI9|n>U zxmZ&GjP-;S6G1&o`GM-`&X05Rnf@t4L7u#N{qoD-K6&@uf8>+JQ^8g%oeyhcA%N_n z1xXYsV2=w~pLV*$2?Lv@Lmxd5-==?spfT$VW>p_0bq;Mm9eL>C*jx}(xueD;fJNKl zNSRg!k1QCdw}j?*pR6aG<7cWYdPoBuK}O+94rm4madjxoLU_Rgad} zFdJiZ9zI~<5Y9lvo2+KkkGUc?hk5Git_buzO}05+`gr=EU%9(*0(IX2H|BqEUD2i{ zViJ3Z?-2n+#_U8#4v$0vCt?`d6~gFEA*vYCn%P;__cFy-2aIU!ibe!@P4a28_G}8k zdV^8f){tiP^uKtQCvqv%V=g(DE^;}%!@1^G(Sei-uLkdYtYb2VTG#}+kM@*Z$+k?c z?5LV5-beCkt9fec3%3r-K(>Djm<`8P%UX@*nnmr*%}@W!U;W}o-+B?psE?#+blI6Z z1Y7_^Qs&SM<*b&{Y+VLHn7)0&@wW`|UY1b=w=}xtRbCT6eXn`;LSFmKDuj6fttzQW zi>&X&#HBepb+>b#OU^&CFw{ZJSX|;6(93YMX0-L7l9@<7?Yh@!%MpLz&IDXh!lpjJ z_FgAugZGi)Cu`K_=B1eW(B7hY7P8$U0dv(()^^T0^mfkkqx0q4H?Lkld-1j&6mfTc zagRV2UpxjVo>DmKfSWz<~iAODP)rA*4dbXgl`+ zDlGQAn7RkIEfdc@rN|R2?W}|3RtGm|cAjdi3;GkVLK_mIjx*wbkW^;ZWM?$sCgYTN ze-I!2)cN*se=n%2+-vY1T*Lcn6o9M*I7m?waq>?icd0s+dYkVSCI zGhiOJcEG|q!_I6S&7KM5*CsF^;pYuzS!&2D3dn<;6nUaekmT(lTy4;_IaVG$2ULSK zGqA}?8LhoruY!Nc91CI=FsHda^;X>U!}I0a&z`^Z2PUpNzqL;$*+*(D>}p4sLM4FQ z2|wLXJRbG1qJvaJ+?aeA(4ZZIWLj+?9eE+&RXv6uo-%u{72VDt3(%N@hXOh2bVyFy z!xlobIv=!+v~Kh4@BKKpl6`yq+J5`wixyC3DtM=?V*A zL2+*Z=%$=R;%6yK1DOm?0=BvOA_Grh6hcrYkO(^iQi;<~31It7$ZK(2`TFou~g5u8ds0EI@B(Bo@P=V^_wUOtuy= zQ9@GZrO+w#QQHjT{hZmWX@ky#Nz2TN*W!jilok@ETHKF^?;?2qk)Lo?^zPLC7@4{xD}AFk*dx42QpppvnT~OaXs~c12lKTc^?-?i(mEN3KvYIORN3 zgc~uqk+U<_W728d=FoN_4F?@`Qo&UpZnpyUdq2)?-ora2-;+1Lw&%}Z{^n7=MkFKK zZ!tF>DayQc8k0{)P)@p@F=|W5I%#%+<3fgjsIb`H#m{IC^x_lYPkk$bfv-b)F>e+i zWo>^>AjxaPwseY?4{6GeGJAnL(oPN8?4YN%Hdo{Vf3BndkAi=ZjDR8)Fq=FR&52Zs zu?Hek7KN*9+VOi{ZV(hU+g6Hnct({>NY-J{UFRBH$4Iz{K=5xLG<0zX02$=vw9E>@2RxFsCp2&-rj$%2?lCXwdqKxpBr(@d{AV% zwAP}P;#wef&ghL89y&rcMbfDOgl`T6japJ{#M1(S+hC8V?mnD%XTan^h9o@_oD_c} zDG)3*Z!awOew=La<_H4) zPG`o21-DIdX-Afs3Fkx+c6vb|5&ozc=Cxb#EJMXjMt`_Mu5u8*P%t$ab( zpavCnST#={Q%+k76lVxxk>_q>tf5Cfv@(AGIhS1!aTdz&%V(P8*2V#pZ5+_2`s zGPCZ&bU9&YkBuOJw2`;snR`FZBeT+1`Px2v`QowdchX5;IT5Ydx}9?vaK0-pDpqti zuh@fjn>vx9FtqpG%%qzt`?P~{dd!2{z_2>Px(PiS z3bG>UDsyZ^rMC#DnCgZ^>SY_^Ks?YwPcv?#SnvHfx6{qHFW=KCAKQ3AF<)yc)f95% zz^+=I*VxGOocIzdt+FdWw(oy^&ZNFXgJI~(2n`P!NHIX9B#+F6Xca-4CO~LKOqV50 zk<&)YZQQ zBb|=*4GHzTU;qBK=WeazMmxuX=&xzmSSB&wePs~{S$)^)LuX~Kb(&)|0BJC}FT{Lq zbzFZI!oyEB$J}^eTER8tTocf7koLh$9;%o<(+K7%{Pe&1)pwy*`ftClQvTVkQUW1p zm+X~xu@7Gp7|yP=Q&xYJ?P-bFqI0mhM>J1#FE{>g4d=KhVm&?Q76i<;y=hE4)i(q^ zbOqWhn;a(K_{RhR82BJ?Xm4+`_kNrQ5mEN)g9QqK+o%&YeNqiT>>=_v-Y_N-C=nWC z#KwDpHH~=LVce+1v769N^`T;>V_tLqZPupNNw}ah6t{Oe!_I$2<|QPLX*B=>VI6*0 zpuB6YDAOdR(8k!EWaMcB@dab>YUw9>>b&~tg;a3@d}BawiUxhbG~I2y{!G<7$cz)}aQ6H!@gY7oZN_NUbg7K$+oafJI%0|XZj>XCQAvoz-Gr=Y zq-Eo}hN4+&W>U>IFvNv)tBLyDH1^Z~;d+YJlW>$Q2#0_Af?+5aQI%qPR@WfXv^lVf z$XE5odzK;usV1MZm(JEhSalfhF^jVI!jx6#mQ2;$((0;X5vZ5i7J~7_i_M?@KmX>p ze}6jTRBuS;!B2|2MecKA^0Genj6lkW;oO>q|4>}_7``x^L{;6n?RA083t{j&w925_ zi7}~!P>X*D$jv4s-OyTXz};V2J9=9*eaBCP+iB6AU*0Fn54v~A$J77uBS7G@dM?pU zVB{&;&T#I`*ks7zXhELrL6;vNaK|wYGdVJDrbXXwTM#a@+(l6wO&hSBk8>_$yRGFM zNMT=?(yXahrid8t?GGY)kC@S5#aMB5T=u8I4Tpb#pw(j_yBn6tbGk`w?!G4-6Dzf* zc9aJ}U45mHf@Le+_>`a=Im@qYCan)>n-J||Xy76Cr8|er4-jAOCPak99&#*nDd=n*VQUoVA2PNf942f|4Liz@&Eri@K z>1cnkPma}bZ{U6!OIji~?Sy8fPT0T#EswR4e$&z4<(k=%R^W~4NXyygx|Nbi?vB*v ziUV*2@0dNAwzQ@ki%%lqcb)0A=j_AX_wge&BaOyEMYP=qwxL!7Um|fs-(||#?#OLw zdI*3vT?gS+eIlZl!==+#^1z?{!Ef@}%lCh){|E8%MLm1C?(h8O9=7>6eK~VWL?j}aZT8Y0#SNB(z6Bk9y}l&Q-O_Ah2!OqK z@{WUMQdv0;EP$7saPTNXF% zn|aq|k-P$&E?cKhaQVRtw|40ZvyFf4V3GHth^vJqe9;YSrjVX|`afSITU)6I(CCS< zHI=2YXY76)Wl<+3{6dH%Z1dRi97<)&;LiOE;?E`u_ z_o}9T=p4AeP6L^7G|Ji9z{G!vqht$1w12^ZZcith6}^>3;N$Jd+WT?z{Ez@Fz%a{b z2y?o^>WiB0vH8dqMy}u}w$QzdI^OVRKEwIINOG2z4V4tKykaTZkP@6%7@Tcnj(oN8 z{Ny*s?aiC>xj+By-+%Kv+4Fh+>b!npubw?QuV24>{oug5^UHihLAif#6qNhBsAt1D z-GMoQIXoH{XsJy?RkdxBIAkXr6 zXqTy#)4}N&3xmDkz0iMw66ErntzHh9lN?`Sp^K1oPkZ(&bPYL9{hzo9|KN+awH}}c z@B9M)x-PskyS6#T3c(x(Hv>@4p#1V}2@pj<( zhi~5e`qf`N6z$&kojtgf^UryGeX;%E{crsKw{p1TkaXp6bm;0=29g+CSBvZenm>%M zdd;m=C&v|7xek9ujlOGavPqDKR;_iAwgd@%RBqE|(J!3!>>JU!T1+TJn({!SfO>oS zzg)wtHqh&lMN2l1V_In6pVd!*`!xKx!&!&6GY(MbqZJX`fl{d_$8OM8Zo#!==G?OEJKra1&cn@P$hg?GbwsHfjLRPX&bxB7DIkgtE=K6&;0i#LxYi}L1XdBG4N znQ#S3Yx3rO(s?8@Ad$c@dz)hqILfqE_|+E7I_UefMW*7_+R2fDucOm3&!{~sOeNan zv|?HF1ai4sUx&x!56NdFbnB$zh}_#)912$iSxR9}+TiRwV`z_aT^GW`b^!An*$`b= zi@l?vx!ZqGKI5Rt-@<&O=q^7QkWS08-g8qaGQ9|SHTe2I{a>#p`|_10!Vcp%hCRua zleVL$zYJM#AbK5~g}qj$4D?lJ$Cp0C5S`fq2^TaE0?tpa8HaJc>41o+bZ%ptw%c%+ zgxJS~<0)(N)Bo*P7jp8TGqojM0or4`Ulfj7SF#7ZR{eNH>l$2>MqqllVK`ZOgKj)B9}m!}QPC)(C_G}gix zXET3X?Je`^|8dQXYujpV?I9#{TuYzjz}-J}bl}0ePGQ-uidj$e(rprmN%qs%K_m$* zc5uKi^~M^~&Z^xsmafu`A&{O!V#a#bKC6&oM2$S2{-1aXWR*DV*17h9R1x=Q1EU_v zqyrAOa$ES~N6cE9l4j-LK>c7WFFzO!f5VElMc~h z!u5Nd1>AqRjT)!+WE}=4dR~D|01lbW9GRK=^#A_VFaGRXyK?;ON7r%sBwoJw%b$P! z)Stch^RNB-{hz&g_SuWC|Jn8HKY91x|MI+kR=@q(pZ?=NefK-R_`y4A4%tN#Y$!&f z!7h7+NS-w%+Cqt;OlTA%cxt9Y{B#JDUKws3un_8P<6c+`Am_u?(2nqepJD8c+b#%H zBs>XwQN)zO&^7XwU1uhXFiz3F&^>=qN`@swXJm3I7qvAi!n`tRY|Qd#i#J|e1S^ahvgn=Z$~y?0J4QoVI6QK6&*j zhCWc}-1+@I2)Lx5^Zq%1O{4R}uYTvRc(M7}pS^tZOMCX^-~Ky)J6?V9%Xfc2{l~sp z57`IZS$G6#)Z%&i#7rBxrUHshK+Coo#}YUXUFW${@fJ_O2N&7wF!Ub}9_E&?j*KIL zDTsH9g!aap0*`pyK)>K%v;r$`FD(-wOc;DZJNiy%_xtQ z`7EE<>(3u9$$P)UkGLfN1uV&TKl}S-`R)yTbm!c=mK;%vC=VqXS-_0KH{^U6so{=& zN1>0PO4*i13ufIVYc_>c%rkpqgoyXX)3*Db*(T}GL{m95It^evY^g#48pd=o^-HUDi5|(=o~}%lOzDjbZh7TEM&zG02*oP-XJ+>%6eh4>cB!lmQo3kN>B{e zjcPNOIPXEDMcA#T7Ru?idgvD2Ip%cQBhNYp#uqEk5j9}nJF62DvgSJxu6lHo7NHI6 z=|os*VrdpjJV!M;kNYQ&E_LFj|(0+dK$ki<1zD>jqN; zw~RQOxKBySu_sYBii`$?L~FMK$J#>$;;eCq#*X8tGevRg6@(E=OfhE}62#l~U~?gI z@zIWsv8F~tM`3>_24qOyGUb5P1sMep|AZdmbXt84o}-(M4m6SSIv-e)f0Fk4H_u)? zes03jBIQl@e4vEZz9!d@4LK8hKY_3u9(9Yd4a<_8%6_b5qnC2z9H6kv@K}XwwcggK%pR= z7LZ>t0WvVA@qtD8qxXyQk!|wcFYqHS$-jBKBtOM2Ia~6aU6I}l&SFgGw(^LgMs2%v zE(doJ(QSWwwRu*6M`#Z2%c$t&M3U7Fg6%-#>DY+m4Q4YU?p9kHUB=^0b+5CtW270? z#sd~4Eods>jc;e%f@DF~88oD3O{3%r>MRsKJaY8n+!|iNvltd!K9po3NO4;ezmH8R9LwO@Y!1Ov@I7$*-p!O>=db6ti_` zb;Ey8WDKfNtzv2g9nM)hiDbsq(NeVLJ`~vxFAm4ZmIc9T(?8S*`teuG@{x`5-f!?D z-zUGhC_lwcxz=uAzI2X>itrR0UD2lzF%$~ib65v3??sb_&ctMTMont61L_Ru2oHrM z&4F$+ob#u{Nw>zfE=bTse?RL?=9tS0#^!%M>Q;eNhH=LP@iH;uShObSqx%HdgNli0 z$mLaNC}(3ra)bprkJTOsgxvebu; z?jJvY_Tq~#AKxeM{RThslDvNMPr6G^_!6Ta1-0Xgc0z8pfEBJKwXM$+@FmF@W6*zU zF)Cw1q8MijA-<%`Zi;(H)0Nv8hSxi^Y!O+PzLuP>&n{5lI|r9q~#QUg=ZTbUI)Y zp^~k-`D+^(Tyqay#WWfF0Agk*I20)&`~tH>;`T};0mU-Vt%l=dAA&&nY0II_MKngM=ox@z8i$R*{YPwa9*6c0ebXkq3u|zzy=N>0<)4{#hl{p0{J-D*1Nr$4O zPv{;NcT8shBprZK?PY~UDkhr_Fs^77j*--n$6azzgcI<=gffSF$Ons?cMJ0Q%a<=c zdw6Ky`yGDd;^ymX@~b!Sv6p2i8ZIe2Vy)#Wpt6A|F4kcgKe~x22L@EJsyPk?c|ySl^Aj=>NK*( z%Mz2eWs-RiBG03r90);*xu=hnyYVSNuXRQZcd3pfgFGVTmDKwVSeoskm;hv=!#adJ z5{uMNgIYoD1IzNK@0Ne%=g(ff8G4>Shc3~K_ldJkDKU0SaTuji}ToU6gy+%VURtu&TN5N~2 z6wGk9TZ6VT^|l$bdXsKmnA*&q0iQ?`630*II){K%9CR)v&R&0V@@#NY>d3tCR8k=e(G?vw9JoJR#1_kM$)u*CT^5)48U zBq>`(+IB*s<}7qpz(CD`QUaoHpN!<`Y0ZeKW2}Yv5yBmwkOmN=om?_YtMjq5A<_!u z_^b*f(mQmqv(JA$;^IB`;7;py*1cikX?(~>odx%4qF0Oq%xd_lx-71W#QQ)ZP?T>x zlEa-f7r@zKqY-+KK-U360l4Zq=xA$e)`tlu;$)+??!8ATz!=kh7lHkOBmDKVH}RK` zjB)P#4nN@${?!}!=*vA`KeLAvxOGQ&ww`WQ@Kcw+VcXN46rGDk6xxfm1sZ=_dw=EuwK3651!0 zBsn$F4=I0x-tUxeWYd=q7UiAa;3wQE-~Id_dr9_910S-iUa@OWYdC+FgY$wsrU^b5 zpa6&V8FjJ~Y^I$$@-%VMDro9``V`DvdedkWSkdW3`R;HJ0?^1e{wVEk%sxb-`^)}27QWlIV1J8@8pE29#K2pVIp2| z4LY)(t!2ruWTb=b5i>JOW& zYIAtBAysdFEE_^5E`5>1(o4gRD4g7`yV-~27e9J&-hNF9Mvk>2JkDJi)Xui1oTC)o5u((Aid0utgoT#(*m?qKf^7i(Ss6e= zp+Kz8ZtQ~!p2|urv9nPt8VH;=&TI#BHc-tnZgD~xFqjX%oMt4{d4uk-8Gs-X(rpt- zby*9cX-L`Jy0t(Ty%Jdm95`6jyPbcIdc4n``{Gwk6zSA)pszEhkS5MZbDn=;U8_q1P&3Sa!7?bNL=3n4U$ZDON0W6=^Tc-~DJ8bKzv<~hm5&lub+5dm`-fY*h6xWE3MKq9P)hMb(38Y|ZmLKacRQ$V@T!J}e1f zBzLkwZ~#s)65MC)wU)b^{q}!-J4!}%2|-&Wo%@<+BUxh~35yA|NN_$uX}sG!~N(h_&vWNuiyL+JL-@V>EFT4I%~wU3^c<+`G{%OJyvXoPTZjen4dy;Es@vIouQ@h1 z5y0^mt)-Y6*Nh<;_G?r1ca_Tj?Bgx@TubrM7w~)DMgI03`3Gq!vY&x)RwE<0M&Tx3 zZvB)>Z#ffln6uA@ICpIF#0ep9 zY+Bs|voVt^ZgI%5X9w)8jUjs63<-n@YM;9TiGjKAQw6*N(AvDOspJlu>S>u7?QETx zhQ|DDZcQUls*elGBnb0*!ubb!sS_r!TXlvLXzA}vmH+hP4f%iEspi4g?|WXdfBSy? zgX|#3>8P^8BHuuYWe~v^8XL&u&lc$NgCiBZ0>W)y)6qI1tTgfx#-k226HPu^k6P!Yn zc=Ne5?a>#85Bq<@tgLi4_!{#%>c9frAUi{ET(HRmBO8<%bmR_pffX9sZ?RZ^@xH$J zb-jD~@b1gkVIS&l|M=jm_Y84{zXP=Y`19}20I}_b+4&mC_N5O9#sm_$GtYv+4nxS( zY``EhF`Yh+BRyCv8NaII`+)^kM9NN+bICuDD?B-aL4tptH59y*WbCM<(acJ;lJDlK zAN+A{Zj&E>yiJ|~Z>($1i-6)x-z%o#$Q|84${6W;pG5d(44RX}0tOxhks7p#tcJ}3 zm-1ZXCg2c29hPhJ^2N+beNc1U89cj09id4w6143+-vw_7)S-X#qfbxwoR?k6c0abX zW1tqgrxSl`q>K$3`J7Cd1Ktm88y5Q#h&zrnf&8xdtQu&Ifr>bUajk_$gpG|o_XO)2 zr8Bg?b~ib*s)1G5=(cox4hHQyPeQP&u5KsVoOzY87C3kgpK>R!J}V|js4me^d?;?Z z*NKF2=xXo7o4pAG;K+-GO;OXbWCVKJfK3(6VpO*-pjLYV1`oih_ZGWd&GoZ3N~AlhpV802 z5v@_O^CIp698UmcW{R=^9K=4|60=A>L0biGq3=e=c7WhL&&U%E0tM5hLm>0yesg~h z{^M6KU)TF5d!0}5=GB*9yuQ2d9)10u*+I4M=x9Iw{DZsis4td&EoE|C&!VO!KzS)o zAaq*+s&ok~yq|%4q3=Ev2POfvtAYPq=v2ZJHV&rP*g8hU0s?{6_*#q7bVt+)({Mf! z8>pmPNtvAmx-2Fqbo8;1c1~S$=OupvnUr9~?63w+JL>fyB2$m8FdEZDNzS%UWrKlg zF&I~h0E{@UxfipZ?#y*nM)~vDfaIdyYQq-?``T z^C#G~R|6HipJgRuxJMkmkj{Q4)7pIHd#CL_QBT^XCkPs?;n*0T)BP-H*}#9#Xrs~e z#OYctLArT(5441uoaM7HDh8-DNYm)qzxa0nu)@(T;P;amKAZpqJu+&#>gFNto}3d% zmtvM4!IxrY%cTH=0Ro(XrkxfETaXMswy#O`K`Dt}BOH)O?h}68)DHE4%W%sV|K2Zt z{`Wrh^M^>ajX5|Se7X*^7NUP!N4HLEyu&7KNN0MKn-$Qa#jDgZk#uSc+MZ#AN{Kh_ zK$4L%IwV^an9C(7O`LIBz~G#bdggH1$8Yx@Y}GjjIfteFt5a*PB&`;YX3>6(FgpZ%==23L5OK$RX_Q z%MbSIDeV2-q5095?%Bt0+&q4t!a&|JEhpK46%v5Dc7lj&v3h9ZtYjFzjSS8B9>XWG z?A}igZxa(gp6-}*2Van8Cb?(<|29ywLpRJ}cVb>g7uYx_t7|(9@X;+*`oSOPR#5-? z&Bxp0Ipx`ad$o>joQi)Yt+`jyZlgm^xnuE+D%kQMg*gt~&$te3DIM6UxtMw|sluV9 zj=~D2_{TbPx3$A<2Pevw4e$SU9K)=DU51`}kL0*;l}!-iX~;B|=h8xM!gzJDj|~~F zrF>B50bH<+o~!V$;R2{sTdPWFLP64Wp5D&&w8fgb2be@`WNUw4af%v)$XZni+5%$Z z7U%Wok8=yk{qX+P%jY2SUQp_unX#IVxnU|?C04v_ONAQm*mBt^T{q$~4BH{JmW`Io zjhZfsy3~EmfjhLfw&q%tl?mPDfIw|7#~QY}G+-Nhs^sB$Z?NkhUGk6xbt)msJ<6y} zhXW`~;2dg_bIX5#Y-~zQp-f$|#xQXL)fW5HZa`Ov!N{V(64x{-OwM3dp*jo9nOG*z zT6+#1b3*zkwAzb*{}-PgWzV2OYAc|S>q2Q%v_S)FfzO56@N3Fkj*K%}ok88s#s$NY zt%;|6LV-uS5}CH}J)PKwKVXFmc%xaXhy)b$@J#Z9L~70!@wi&BBRgjrym$kh2of5YjCkK3cE-+ zsqV?0S3BqSrSr3R^ZNY9mr*?nK-FIrXN`V!5?m29X45Ph*%D`u9ys_ow(eM|b5Se`jpxp(ufjeU?lo2BV zo!H!VHog>LM@N}g@r(c9dsvxJKwm4#1H78W(a{QvGxo6oakCyA^Mn?U(}+8Fyg)I@ z3S|gJw=~xrbB@VoI@I}+Ghw(6GU8RCOLs>>-(-Kt!C9y2x+uDLo$n)a?t{y$K7b+b z0PuzI(CK!Cdd8JhTXZo0U33l>t!PIfBLS|L+iI+9Av0dNPT#xwhS?$^LOnR^Hg_%o zK5rh_zt~oz{VkjK+m-2kz5akV|FbL8qp#hcR;E9#On+LL{X7V>_l2^7gEK7 z=_T$UGr^$LT2~wALgbX%C_ysBXOUvI-Z|DAW6QH->?DwKnQ>Dq9dc!yj zrd&G=n`3Ti!03(c1Z}qo%awGT42)S4@tA*uTKF<#s9`kAfM^DO*{oV?M^0Ti+sh4awA2h5sN2Md$G~ih$kY{Bl=moFRh(&_+7fSBH;?rc6+XQfMCdL4kZ(9eTV_Me>#oWpI8Qy!_FJ-@L7FELQ*c62yO- zzpAHq^;cik`ww@3p$A{ZyLErwv?}H&YE`U>_TJeWQ&kY$1)Tv<$!gAk%WvY^rdw-T z$Vv}{@>*}Fr@^Xhjer-0rQ+iuCTiUFSTC$hiFxd zg(U0lLGarrjh^YXjSAAqRz8|WB8h)x4pJlQnS70?Z20Q~MEwFOEmmI;wnksHF-3c7 zV|p)QAgcroTIJ~87tvDMbE);p7yl7H#Zu{XWQCh$!FYomXCK|0IXtky@CAncd?6yN zNE$#NM4A^}O+{FPigZk}lWJ?ChlUx--N%$U6CC}VJve(L*1CmxupC?v8?BAgdm}mz&xmI70Qiw5~Lc-@9 zK4Z4Mu=L`eZ3pum9+qh#ttPwdz68*01Z%!sH-ChO^g>9nmBkQRsN=Vmxr>sTCE*^&BL_fJFUb^1cn=Nc>jC`{kEk z*z1@7PCb2bmt1=Em3ub1#5c*MPhn*r-nvA>GaQQqRmZLeWc1yUcO0iNj0AgNDx@~s z4AiP1)I)F;1Dly^r$Lz5d-fSR)+ojUxXQs`LgJ(HSCxk5kelL~&&n!BnA5%UVLl)$(>8+65TW1HQ=YfpgbN5yC& zRJ<8hI1KbxO$O6vw%8pI=fSu6jk86W6+0i!iR7nV<9ku!aREw{aPF@Wn=t0wDE*N1 zLrWyVcmfe0e?C2jlF~`9BgyckhS6wXO?nSCV}lU2#wjkt+1V!R&3*rqdiU-raI4%# zryhLSo{5Qm_dL=*#d+lWpyV4$v^3Gk2V5}hQejh0hIupv zntb=uJu8nOuLs^(oGR_G?2ZCGQe&`mnT759a`=!L%G!o93*wnx2V;yf$8y8)VC?Ol zi8sN)Q2*JtRj_yU;oWcUsrZk*W_OBR`i$Fm6uV#l!4L0ln{bx}uSo!i05cMbdL)Yq z)+q$^f3lNr***v4#hIIA!8w(^qG7F4IT#S&Ch95s$_9W9j{tqx<*1f6A9{z8Tqh_2%=>@3)bUzH)cdh4V9} z&-k})y1)O;pZxv{du{WHA$i?hIuy)mYzycY_h5iu_g*{QtlJO*nGUmVkPlElXDN(9 z#)k$>Wr=k8EN^q500!&T-W&5$ULch8G@VVPtBSOBXD590$GLqe#V_sEubw%JqDltH zfAatZ$YmU;Z2Dep%IMn<-j~r3y6-HMS3VuE$RWE&0aS)TAzyn>i5$3NY&036wng{I zxs8G%hYrP_OM9rUJ%(;nSiXA}9pB27Aua^?R+*gVDD1v2(@n2)fnXS|8xQE~V^<+Q znKO3i#C9`FoBBL!9=^)RupL*8jT5pVf1rthDTu;+3C>1zI;%-wU_i&t7yt34F^*-x zX!UgbTfyDjCp!rpj{?mLgP5boaT*x$)PDJNp@Qy1P1+h}4KtA7P7hB|1`o;ziy(oP z>p$5rA0w;y=Nsz{@=_seoDIHf!;mTL%ghSDzLE*a`P;3&4*Xe|oqK zQ!c0Osa*qOcMz$flUkKaYCwQJTNkp1Yc}Gn-e)nA>yRMR=;)-m%56OU(I4mL*8a2i zAKtxu`(&@*zkE&>-f3Sc;cgvPxpPctk_17QX*yv`M&L{HJ)4IroFsQ;h0+L*jRs*w7*5 z0SI<5XG1y7cBd24fNQ{*@i}c@)~nvrcdM}`u$B{q&fTw*m7cYOP9IouJ@J>&r65#V zx1mLOn}>Mx$GNS~eE!a&&X=#A&im)4ucIoKrEc1D!t&0r9E!9Jf8Vj7sEj034RIhJ zcwrtvPFU_`J1Nk(CqFhE19iOsdO(H0?d*pRbgkXPR6}>Ofr)YLXSY5XIh&=-JZ#>s z)a~n)T1H^-C6*gHN#K&=x9+o0VvI;pH^OY5OoX$j2aCZ^*V;kS$>YW@% za;YZAY|T0+=bB(Yq+;}iI&T04 zs@&ecuP^-7Z~pR|rhm)de_4fSz@294!PoGa%I5ygEB@opzyB*f7uw4)tpjVxkpW)@ zr8dViAeO-WZcXUvxoxLN3-~d1prIjrwvMO_4p__@4{Yl8+G~5G3mnnmvgXqds-L(Z zc*uQKA6YN{i|?VbIWWUD>NIaNA&th2wMAGQ>;tqVNrrf*L#B9{wvPP&>|RKrp{%EvnUING3Br z2bu56t*z~Cw(%w$8&am>P0Y?bF_{Q^upW7%`mw8mZG=pJIsCcNRPEm2i=jv7{Y1LA&fIgQGg-0HQ6ScxWVMwBOwDG zI9#-B&VvlsyhVftqH>q2iXg|{w6X@<=vy|f-xfYc)o3d9KFH+7fB8K;06Z<2PmwSy zvaMQ*H!72pBlWg3XB(sK$OC&ESo$MZ0|#bu@rgr-0e>PB>y$w2Hxsz#GQ2|&s(u8` z3qt$^{eRl~G%G-#Z(CZ0R499lAwUVzs0DE8T(Y39Vcinxf&F6Ny9F>*+K~1-DpOTq zpP-o46?rixbF8^zl#uzsRLa~XI@{IIX42s?)(J#;rQf!+e)3Cu|8!p2=Xb*|558>A zc2Mc2gMa!1EViB@Wlbj&>9Ss9YoAgpWjOK?ht5*jB54Ix_c%T_85^)vw0t&1MX8_G zCc;HL3vgaEP8KkYNbRN>kXQf%?nQWVqFWt|=-$3>AuCR=CTsJl4UqHR#)2cIbZB9j z8dPI2$VGFU=hMPw46Vg17k`q*)V>pDpEwIR%zwk~=5uUAlB{dO%akQiYqgDCJ^{6K z8*Be_fBE|9o3HS;XaC?U_sku~H+S5pIZC3&mDnXAacnivx2q%900uTh4kqa-b3-Jj z3=S`Jh06}$Wa4MHC6#CH(_jG6!D|^U;1(#6747iDHWQ8H!UR3wVSuSA@A=}t!hSyu z<9}!y3CJ=$xzpPP%4*l(d@`S&lD;93RUSnxxbA2(ga(-=uo+Uw;pC_+{z~D5KnjHr6O~2aLwjJ+YNWoc5%goehOi zih@G2S6?)APw?1U1@*0Drfkg;83E21r+>>@)3MB1OGzNG@vfah1ODVicTeBx=$aY4 zcxR7vhL2Yk1w4FRlw+1bbGe4Wj}lN3jD4_Q1VV>Xk*D$9QN;b|z1p^0YHpNH&{8ds zHEQJ?VuJ;rwsus{(r5u z?vKCzgWvyAWaOY5V{e$N^~8x9g1Si=U6Bx6a4MuBE6ZtnVkoAH%D^unKM5KAnJ6l> zwt&y9B{q)WRK~f3w;>E+pjlWE-dPJ4zSZYl81K;^=dSPnKJ1k}o2;bZl(0UmHuA*4 znXHj6u{JlC8EkoPc6ubDsqI2>6~I zhRLa$cV*H6)ON`2fC+!bA7|y(x{}-_)GqCxW9q_vlpPnH?uN1Bo<41KB&P%CS6JSU z?Mr)EI&e+FyJ$08Vx(Y#{oQu*poOMUJ9DKkZpkJ~y3I9dNZzvN9{q7{OMm@uU&fnw z^9snXXTDPuUhUwZPfLa+$h-k!`xaO(A9BvC+@(i zR*$m@E~!d>q(Q#J4rXGQDAoGy70M`yL2A zOtU2p*MuN|qJIm^y2p`d4Sx`#k+o=!WgP4vzG{PA04Vuw)Js`u`b2YP^)~$Q+Ko&b zO5OMKgAe^U&*x}=`%VAM7cN454e-m4YIbL#BfB+x%9@>f4iHyxGhIqe)y`}B01Qc1 zV0aNhwtzfTvUm6mM+gz-WNJ=SGEX5KbaHki#D|#!Ye^G~L^5))z+Uo7v)2FKc6MLMg0OZBn(>x}zbo-N^P7BObfAHPn$rBI-ppS*dC_1j+kTYvL+e*Skq?)QG@UgpQ~ z>g8vD`TpmB_hYV4SQ|tU>f3qDyh{7ZXhmSt6<7HZ;IB9bB7eF-kbIqm;u5&m0DU!^ z$_m>j(4L!2grtpYGyz*1^My$g44797(L`RXhjYiiRdn*jt>}3?IfkCUyoWh zbi~)7u>|){qW(!>@>d-i+BRdL*yb3rM)JkwIvpRV|M2F`2Y-9@>NOz7Ur$iHxk4s4`Mw8VzCR4m_!*jWdJ|SwY&CbWXg}Mt>Z^q?#dSfauI1qq$~?$iQqV zCUIKz)0UrFTe`w1r2>%)Tf+h{Mz2eWb+-wz&+GMvCx2$J{m~ch*#Wn9GvM|q2-*!Z z_~M%v26g2!UIrH+sWxhX&r1W5qysV=EU%5Xo}sh{jMuf-0Aai{=KXk2J(MB`oV%gB zXO4jm<$r0O_$pO%w6zc>_QU2c{`tTC=}WDU+bPw8iJ7Gf>wlaXy!Pbs*nHs|w{28vxshxlAJk6@ zUS%7xDwWy;@NHRn#xV}}J9_+Udz{ zjkFwwZZMaX$h$Ya=9dA^Zyn`hl)T5ZvL^U-6GEPKymn+Jkx=xlZD4H2r}(*w)uWZ3 zWq*^W$wWiWfu`+HiL~2+#z%jg+uJ1TynJ0xZ{NLnTkk&n=DA4LWKeSDY?cwFZS{q8 zY!B;~onuU?snQYrr!r>nIIoUX&$FhUtu7flQBj?H?K(#0^hGVky#US=eoS+qsP+-R(;h0Td{5MyS0onB>ru}#~WJ$U}hs;3` z7cwSpPesF^i2~I{J=(#nu4#`Ll})CHs3FX;D7J5!3*_Bjaq9m4727 zIuOJnFaF!_ftEAff)1%;t?gi2UKO-03*FP*F(^dRjSxH8$cU05(7te{n|wOelH7_? zqRyzWUW)=%TI<<6?SPKpXhhMGSZnMvmJd+qecgt0H@LiY3XvJ>3kRCQG_!LIJ_nhy zzzoX>5|OPkC1~Jefv`^s%ra+M9DgKC^N_8?sQJWKY_as{k!;A)III|EQ-@Nvb!AtY z{H<-=pZ&64fxGbhXyBu-ySrkh|^&IP#ov#2nS1cC!WIy7fj#ij@zEeQah1MvJpv}v!jxfPNk6iN5ND3WIr zV4>Gs1#<@)Ma;1&ZcFQ!Sbp>B*Y$MXz4_v}zft&c`ApTCjT;his&vV}rlU2J-f~ zMuQvDrUAx8a$r$|C+%bqUVdoCB4-~yh*kjG*;U7Vihnn+e_ikHP$7@L zcF(@%`ps+ZQ?zi-Sr;?&bjPqmL@*U+>t#s7Daz_|uet14Xy>kNq&x6kC}?2s(X@5L zN<+Xtc^}wc^sq5@tRa$9+Ckn3ycireF}8**m+R>-{=4rXw6cjLu#S+YrkWe%S02U* zYevc(A?*8#g?Oxq9)FG)_GiP_K|#q^tvxt6P;g#~i6t;YAoHc=>tjtsQpbMZj{7!^Y+!&`2i zf?9ZPzFfoTQxO6K3x_YR4M2z+bs56ZRqnV-iCgRG!yDZEuYW7HWP(0_DqNfbU8p5Kld5HZOR1JY!JPjY1=CiqDMx`1G{G0a=@x*dY}hhMz> z;$=L2!zQ_twLbXb{bBMepZ=zk&LE1!9t=bPo+dk9Nx)uUT=s#2# zRfF;f=iFt?;x#Q#-zlz5fF8K)xOHS%oRuju3k$+H*?+K&51Y4{jV^>*C|2*DgS8pv znSCM`*?66WuPNpzh^bjl*V%Yv1mob3q~}n$c!w}1wFYlaZn1fC&R&FKlY~m4u#<Zw>W#29Swt;{`z02fwG3t zCyYbfikiG;fhq_`PU8ZKBu3MA8jig@5sE$s`}vCH8jE@fcle(N8j6P|unI9T#Zg4n z4mvU{>WhzCM2p2kmx*;5TM?|=HYS#8xfOQ&?0=2_WyOald;k9B=XXK9M_;=?)@bNQ zi8%aOqYvyHaA8JY>YacPWAL=RTRX)tBVkDDY+r4N&11MQdCBclMyRJnQ93BO@e$bjof_R6n zZhr{Eq%_&oZIJ{ZTyyRLh+25#JY5=d2{%Ur2!+teeu^_YmRiq!OMUq1hnHVeKE3(! zemD2v>-OwBj&9y@Kg9bjh=DhnjlBysOpao=(9VcxqnN(%iq{K9 zz1Ub=k_sEju`WDl*gD#Bg>5=hO9P=rOn>#|f##dLhwDOQ;qWO~%{j0&9{XNmx0i4xwXRM55fuqA~0e_m< z3OY-wB-aD@R!|G{O_+1{<0?(&?m7Zh{+a8{89WCVQNEE!O|&pgKhgHMruM-MeS zxKtYyw1L4=Y$z*S5N#}X9*QpQ?xsij&;iCnz;!Lju^UJF?h*%M<$#Mys$5w@JuJQB z$X`P@#sN$z5T`?jtmL+n@#v3pJ0O8>#=8$sZ(n`+Ttbt1bF<{J3(MU0(SJ%v`O3!P z8y}65xw>w2n@7zt4bup#IwERlt{~3~(fa9?D`#9EVSu_L zn%dWhj>8Ko^SyW7ZIww5TYug5oLBt8UACSV|NSqnGSvXW6qYwG%$s+ZW%t-_YY1P` z+#1_t5!606}|tX**@Z(XD{&7aF3`#?&~->1cPos2i*t#hr5Y1%Cv5jMH+Lt)&4# zpDNUo=zKPqR?B%W5i#52>W{R&GizoJ;dSzMNB-bx;}RU`rgtiSBA+x5=Ke zye_g1Wjk%v=zCx&WPq?M+39Ey+U?x1>%|6 zeQmGbd|@Brm$$FfM}J?pXI`o8c8Z~Wnkj}2Gv{6eirL9C3&Z*)9sMK>X1AeE3iZ#qj8l zb34Ug@7_J-%X6N2pN{0yRtv%^$rx_OcxDttt!x>XR^&AE zhF))V^leE$CcB{i@PqqHL;7xk^MklabKuq#Fd+Lx3_O0nFhjU>c2->E>Id z&pMn6KY*msAARr%bm)Pnosi1g*A(KE*+S;%p+SA@oqvQ)e$AZT0 zIh+%i(LTnC9-!?ZKQx;9s1|^W@`}-?BuZVYr7p1M+Ox6@JRh-X((3HNYp7-&&gpY# zjcUCg6z@!?4+#w)k*e6}48jBuO2gf^avd%Me>M9h;0pItVLV(()wt;#O;7KbpR9({ z=4#XJ_J50g^vAg^Vb@=OsMq=Q{+IUZ)tj%L2{%t0DmDc}~DV1xPvcP)sc-Yr`W^piZD*KcaXjW~nAXQg_2- z-+ZrQ2%!MGOF{eB6}k2j7ih3B8@;H{i0;;BKYt04+U}s8LB)pt6NQfs(fo*&o%;gZ zadP9`dtla|0ZX5Tt;jL!doKcVk1*JL2L*fd$GQDp&pZ44i@NNY@yloR3&%IS9aMsQ>Am?CvekhAc^_vrjKi#C(sNEM_%@L57Oeks>XPFF+w{wPGQ%lwzgH)t7u5-oN z7ZPcysmxwLj%?QijzdwFBn~^hp+H%iduLi~g-_dd928Jms==Rk7!)VI=rq=4T7PS| z9i2yioLg1guU@{+r#H{-fzMzdo*N2W8!)!aH0H>Sc!z82E(3{(3I!Kwdt28ST;?>T zv>u_SsI+^b*iL9=#%bq3_)wtm=~_(WY4 zE!d_DV{;A}9X!02wJi}u>8W<$-G2dCx7tQ`wL4x8X(-RmD#SL&p&1iX_d|gq>(c>H z1WS6@h7`zS%boq=(I4lwQ1r1y_u1Q*@f?-50R=bIxJ}jS)R0D)zHrtNfox+EogK`3 z<$_HNib!jl+0XVI!>kvAV=^UqrE1%|#tJoUNXF_II_C<2JRKNVMWxKchkqTKw@+#R z`e2hZA>TMny_aGf?BwAZeP9J>E!r6ivK0eTu>mHylfV{ADhxS?C9W|W_JBt!5;$ew zSIN|;^A?tz9k^N=)gcy%nG`&x-}PM|{c&!q8Sm=z`s=6HZ=N;9G3<=J!S5P~aaGjD4w2F%`Y=cvU z6%t8m&HMJ>Rr?zYmcc$?+=1Xs7Honrp;g0>V%I>#;OMyYgo9wJgOSpZv*S2pCD4b> zo5lo1%kYnM<1=)&ZAS}>fr)pFpKstL=SEI9ZRV}o?a?3S4zBy{)PK)&GrLNazEa6B z=4n;M;;HUuQ>+j-Kd~q6rbBg`%^|Xzp{YIwyBb7h8+|0tYp|j7z=#jrWFC=jr=#N1 zr`oWXfdIh{12_2g-AkXXuQy1-{Vb?VW*{394W+T5ov6n&Bw0YBw4nl_WIcB9#Fjxn)HQnxyGW<6``uRWo^jQX*HGf3cP(IaDRzRb6C8B`{ z8lDjta0i*2v`IrDJrlDsXqoxmtDrIM#2cEI9yKs(%)lT3lZPU*d!0=VT`lAefSAk# z_vp^&xLjAC*_s-BIoZ8;9euGKKz1A8B)#tzvNlM&o0ttx7#kxpPiSlUOj#MBJRQrkG*hzm|1`yKoR1P zy(Xe){(||05(k>pgLz{|N7!k#nCKr)OmRkE0GlBD$BX~* z0%0e9T>``|H=cLYbWSsOs9rky3ZsVkknDgj4-bbHpn*Zu!8?bncNGZGoamb+x^wl)d<$u2Dl5R*RCEYqR81J#r{%My2#Fj^76GZ_i;; zYe8+Y;FoKIIZXSA?mP_hJ2R^DfraTzjM*!nHHjB?q73N~-0TA&#{;?RiTUDx{vMdg z)|*y$^gKr704?zHT%uRZhj+{F02EB;wFql}YpcO@&KW$b{NG;$L6cDmSvJ@jOt3kqA zHh3p5q6VOH#Omg=D^hB!Bx}qrYwHRDhphv-6ByGWr&$=^*1`MGx-E|U^sDlG_wv{G zgMWpOzHWC7#|a+|ySXI|`i9mP9TxrFedo{#AH1b!PWCx7b$D?K49Mtq8CKzdei8=Yifsm47m4SSRr zd2(ouxdJ=iwU3eu3aorI#TT5dOx0Uz)Ae1-*2i1oda*y+%k)R2iFyvc^k7re*I(*y zTcSRmulk4&Wr!$GHK&l2)DV5I~TXrJ0lR<5erT_ABF6S zkF!t&S3+{~@Q@15MB-;&Q|0HZ&A6xoNdkC=>9Ph+#m{Fn(Y2)#5nhpX0^^Lgo54qa zoagSXAAR}Z<*Vlk?s*OQL}G-z$$y@u%%e|^#tWrn?Grh_)0cIgjk*@)I;DZNB(RMt zP#+hskfn6EC1#6f^Ehgl+zW7l7}~#V(aGqHJrY78zG-^S&zQfi`>@ZAHb7Tm4A-e) z&Z@^{sMnY!*yQLMm|j>uj#^uGHu9}kd}Ev>IH3B3J!;`oQ`_1{AHHK4;(tKBh-cE) z>0z;_3x>eDT9+69>n|>ZT`a<|R*oDKk9F(GefH%*P~?iuk-YmnhB^!UHzbe=?s0%d z4i8}ev#G?A2;B-q!9coP6hr<<5rfQqXm_9uc*0X2ZTsl{;(zZ$M)`8Sn&A3Um}NQ_Y2Y1ZBVD-Yo|^L869-)bhO@3 z{|iMi%Q-d|oiKD=Xx^T#0ee7;w#u%?l)_4rdLanMWZOk67d*QN*sU$#dAb@9IR{Ga z(nluf4?Pr z^mY7$k^AxcVbG=*pfEN%s6^?jdmq{iMs!MmMosZMts{k$i_Xrw?ZzGLhZ65g&!{Uc zQ+7J#%B|4GA}-^ztwcM^PZQru=TsMz!f*3JkN!A+>kacS*|Ye>RXs`!1#@8I^-;q^1?@yA^U~0AewYmH-b^u$#C+doutPPkoLpEXk(PG}LxbggaD8<>u${Ix7N zOL)t=4u4?AbEDsljJQu;5~FMnMLQ-Dnb2$nW_GPP@y%8*43TZ$*)d05nL}-&*5>Ow zcQ-t1?Qeec={IR0tv1)t(FO}FjoNKDM3|LNUk8BuL%_UZPn3x|;h96!QMHPy%|VLc zjitUVRU~$i*z5xi#G~tAH6#ZU`b<|9OHXv9@_!D9baoTbqH307_8p`+xp*|;Q?jw= z&a$OCkY#TbOO7Z&E-^xR+05Z{71biEt3Hadr!2;%KDw!%gB*&>)s-4Bi;4=U3+LGF zpc6tw@9(DS9(~cCCCbtbQT7Ko%gM)z*=fs$5368Qz`^_SW+knK@3m21J-mm}oQJ8G z%YQ=on6kL~k}Ye+3iJwrtM0l5rytB;tB(}}9xigk^>Ql$1qJb2TX$0+TfOP98HU?tTF(F>pkwg}*Yex*72tc+(-zf6*1V zomOyd8OhWcHfG!wWqf?a|lnnS1WLlbrl1CONN(?n^O!ZCZ#- zT$2{&nN(-T2!#Ugu6W+aVbDBk!M)iU(2lLcZlLU{UF_V3#nU{%PmEAuGMv;`vFC}r z2v!&k<3e*yDqj3w-vbJ%I$lW`)kp6Mh4+GE^?FD3&1HQi7C*iA=Q7|}QDoTiz<;Q9 zsWV%Q9MNHiGx$Au%@y3!5p2PvpD1#a3x?5H9k0ryO0LhPfgOo|qwB+tkc-cpb&elE5if7fO((us3YN z=(0di+>#o8`d44Rj9)#ydiUj>#ee0&*X{1Emm8d{d}>q|H#X zM}5Tr&AN*nCMl>3t4GHq#&igCMyGu};H*||(RQD-MY;tZO!nM%0E~o}qJ<-z;y3slMeL+N-yBV30>&x@TUr?dC=M3Ho23 z{+6SZrXf>L2L-`EzZWhSpVix`Rn9h0w~fP~);;New z8E`PxxIrWf`pbY|`l>iwOl;K5h$*(JW+Eb*U$8_%xC%?lNSk{+l`sk@I;xPR;o(zPy|*!gT@ zl(EUO3Ao2VRUYziHD5|y+x07A`U__3F$XD)*vKwh6}jzsRSaSra5!pefAN2RABxUC zosh~3nj#a`drCm68{S9SH}u##E|tu+_?$_SDzdIP|-+k zMu)Y77|o7ui>?6>jgt(w)u`>YKfBQoFkW+d{+FV4&z6A|oSp6XX?aJ2EnotQJ{St}3=#ZNTt6&+`D!vwcCH z=Xsvz5zluhwYblw+JK7MRD(bC<5ZEe~+8$64 z?9ePNxVP)o+ei0az^*k=HBm?%A?8HrAg$(}Q&HmGin6^A*S$7Pa&c*M+__%Dam`y?6H=Fo-m7-f8z;(?LNjc zW75*jm49gi%7)zGw;o($8nTCHE8{d-R`wkP{UKD0ar(GPn_tSPX=$TE9+f)BoK<(U zAdyz8Q!~##3bFl;_hHsjWWW5IPY5jM)Lqo}$ufg4_tu# z#?@X!H%?P+XKHSWmGcrE)V}geU(|0*Sqnoi-^OmiySFR_WPIBtb=XlLh36EtBlt;Q{+)0CENrI#-AAx$ zWsM_q+OBZL33)Y0Bg*EuxQ^A0ASQ(&I(#?Q=cWJ>OJfY=5J6sTm2f51$X5ntK%XzPS4641O^Wo|$fe zYH{^|#yd*)GP4y{wZ6@CZl7h8swAQ#%V-xR&^@a}U1NwhD@O(gemnK$-+w+4&-tWc zPb*_s*gffDUHY-J9~u*)UXR>^_+&q)KX7d{*R^I8OnLoC%IJ{gx($*sxespX;(zx* zh&v%E4>+QQFMjiiT2bFG|G~F^^)LFyGw^L+9B+$VnpD!RbQ~1WgnHkO3!}R>tjpYmCa`o zsHMxK?PGbM^eB;=R4J)T7MnWv$gkj)*4=;-8-DRlQAdeN=?1m?FmFJT7DFs zD5#V%?m6B|*#!_rF}bh7rGNfY3ikc|{N&60%YT?(ea!WH=lAc8^Go@b{Mh-0KmYE} zFL`v))42Foy!P0#2M{@6tL!&GnOv_mGex?!I~#Ier~T8gLycUvR&VrXZ-1p4U6xes zx}Z-em?r6dcn>?|L+_Pewks0=_RD|xGjVVJkDlcol*W1_?PN1ru0`6>%rauMXLr|; zgz!e8zv@fdu(`5)aKjn5I}QhRMewuOtg1I1j=}T44Z9ImNKDqMppFG*6HIC|lpgEvt@hdcm@T&{yddw$xX3@r* z&y-}f=Hsf`dW2wmdLtgch$fYKz4akmG#W6^F-I>O1QXbUrKjmShkq2Yb6D1oT2}A; za$Z*?zW@2J=a=DMeKE@Ypsr6EqY zB_}q4S`XpZLdb+^GdT3dq%=}?<4Rh7+Pro0jF5wHSjI4EKF|5MBJp939?ewCQc4hQ z4%Ee2>c;TiGoKo0#DCh+NmVu)3JWQjCs`48aSUBb*Qs@zRCcqwyRQQRjjYR4-Mm}1 zF`+m?ecQH?=8N6$%YVw%)sl_IOnhb**>tsel3#z-rM|sQ02q5$d}7QFP%|DJ4wU)F zR=uP3#`7eJ*m3)k-746Am)&+2Q7dv|p4L}XED?(=9%IV&I)8Kd-Y@5kLFR*T|Nf`H z_7=LLpIL`PIa>IqyCf0Lo}BYnJzBdxNw|ZQ&5zDihvuRLfz-hYwK74=r>N6YqPEGxh|Q<xgjFSNEhp_ukmC$hYQ??O6Ep zH;^yn-hGF~c0aj;Vq_NH+2)%jgVu3r=jgWZ(dS->l5&>$6k6Gr)frI2L^-WbH>HkS zFcNmrp)#(?EhoJ^YFJx$^%{0jjlRB2-udOcd6|58U*Bj1Z*LCTxJgRsN@9OS8O!V> z$I;d%Pk)>s>=djOopKD2n{9HpUS}Cz%gylU_twi3q*)H|t5v?tOO`=tMmVJ%}-2(-Xeac>}La zle2W!*-EU}W#C`R&*Jm*>1W^lh@=0`Z`((OvBF07w-YLV^bfv)GH{KPV>GwIdgX>$ z7k?aWw|bXZ=2qYB7F26>>P$kMy^qHh#Bp1DpqmgTs(4VM@07(k9J(kz_9>-MlB7UAvmKX2+=DoSG>#sI;-^8VV7;ujkDy7%CwtwEe z+Lkq>Tr9l(tX4|&a-4Z&UmAC!Ha*L03J((fNmnFJg|iLbSkHR8~Ykaw@&|%Xxis{LQQ6Er!tsA6l$*^vjKB#U?l0o9nv$M(kwcrSpoME&@uQ zgW+*_ysE(-1}F15G)verEZTl;SAX5^7Zt=cQCQJbEq#!$KQq;&^!_nQqx>{}J^Kd$ zMH?Cys+NvZ7#sAuPnqT3R`o-zZe1^OrX4=Bk;45_hwjp}^_qU>tT#><9dEi52+x9qfitzg#~yGNwX zsO9p-jDG06UG1gUm2EH@Ie(^siWD+c=XVqbRIDv8|M@dIR8wEIoVrT%wu4^=%2J@T zH$^FNp~Xd)uwpp9%SQ3)*{hLx+lAc;&0D`xZYO{=x>l`zZ!{Z^t%dRpDh10$F?O(6 z-K)vVfAQ^K{R7{)sN(Jv=+qqks<^EWE6yDIqJ?Wbri1Z098#)uN`JdZv?US8_^Awt zSkGpt9fHXZ+t4j+@GBV;4Mbv-w~`&eTLXs6PuLi*OLn6;6M%6WjLfrps6eyeYjr?d zgxgdQ+9SA3{u=k7O0^{KkDuR@ZNh-=4Pl#UK5HZ-A^m>XFkZK{uEozS}9r zWP(=qx-!8^2-~vI$d<0nX_$kV05%PSAe3d~R*ExOa_w2gFVpLThjNrP1RPsGo6n@x z(4#4`MPB~PXNMQq3R*iw_?jZ|*xdaXNk$dR?K0qrAHBsN7=PTprR_bVxYbo|^+j23 z^>lHQ#bd7HNdgDT!X(_>2#kP~y-oaThm;e(yS@BZ&xX1CW$=CmhjB3uTZxIY=P1_p zh3q;E^u@k4jSV8obccU3%SMft*mB1bJn#fu8@;ROuCeyoj**jc9TIU4op%)lDGe}v zy!_X^il}v#D}PkjlkSibci!u40OI8V?{qbvT9+|d+mNQ~BAA*Ca@EnF(ErEw9jjmZ z5Y|WS?sbkj!sO8X#d4dnm(QSXPD0dr);1|#=63#0kaxV#vgYYi$Mky_)&^m+-Ep*5 zwmP63(@P_AKic5|LNisx0G~5zS^MR`dtQb4STxCjxN{VQc0>A^fM1Vo&Z?+4FHTSF zDiNB=Mt|LD0<(p-*1)n%%_iee3Yzr+U)>%=r8o92ijCdiZh`Y|l(*e_%FBQM?Ptf< zSDCc|OAQRhkE}Qpnn$s1Ss#k@@vXB}gNvmiJu62CpO*F%2U#JAmfP;WyJoE%S-=3c ze#Q_f)-gNrFw$|Iu`mN5uwMR$hjW15Od`w})PJLWvAJtA?6)DebSpOz32X0{cjoMt zjrjKktJ|XYAZx|{tkR3_4Py+wL_sOlp_UX`-~h&MF`|_WuvL?7`+4~vpI4E(?1)rb z;$;qxQTmQ{N*0zKj6S(}?JHZ$Ipb+dS1n-0gio0bh{A4Of;U&3=qd6;lcFvVh#woH5T{-bN{^6hpsj>XUii=hOKITa^I?>lxsd-`qNOeM_Q zvf-jYtAvelTRmG97N-Yp0PPC9fqK8-kbe-dugVSjW1 z{Ew5d3dNj*X|3@tW{}+Tak`8F6j>RfhQ&?p(qo^3U1qOp$F$7Z+e1Cc-r2z2GG^b4 z=ay;XK=iu&R1V~WWweYvU;dX5Kgrz>6AX^zvvbpd0D?vkCwg59!=9jXGHj09^h1MY zqfpIz`moDD*rSiTp?N>%w_0a-8-I>3qn)v7G~cQe=!vgU%~K!MU;fu`Kj`K*ALAIG zL)qoQ7PQTQqiY$B&)?e>s^;g6nadYprCV|@zA{RXiD<=HWtnZ#fV=A0M>N2r7Jh&# z@mG!60G{FiId%@%t(X7p`ANpS$k|860ZuLj988(TK&g_X^;XJ~WouXM)qfroO|c~C zBdmr!Nl|yGB#aFt0oFphJI5}#e4-q3~4&y|dVS`5b>22PP>!l*HAVGH1lf3C@nueo* zwdD-n^L2Xa%m4AL^zTGJQGf3ODzRK|TT5?PZ1u@^AR^<1;O`-2 z^Af8`V51k#x+rLm2vWLw>!~y;lcwK@M8dPh=YQ#b&>Y@%=Nzj% zS9kQVyUxr1^<16ByCeLFdQ+kNDN(^$)*iR&?U5_Xk#m;Ey{+9^c4BBb0m&}`q9fk2 zy01yhO%`Y^1(dYJ*vzllEFmcMa|)L4g8d7(Q@=0&_qTrr67#Qq0N(rMyq>>(`q}sL z%TK?4oAghJm#<1f!hZ;Dq?@%=n!rRSkTUt2hZ;A}fCiXqZC_M9EL|B*xDDE&Gpf(y zyZiE5JJKKEE_1d(-FcphVJphrk#!z89tmxOf;jiAz(T50&3L!0jDNnH+;t`o&b>w(?d*;A z+Ft&j4?%2hy*4b0C_f;w2$9rLT+*#l;Tv7romI^mq){??Idk1vfq0d*b6Y$h@K)AQ zh@G;MtS)wHLs-O~kf$5|*4A>_-7o*|bL<^u*B)Ai8OoEbHV%x1!;WeZa+jGg zk36O#Lg=DY?|)^x+YJmI3-IPkmsWN`hEq-siOP=;L&1Ql!FTwKHD3Oz z?>x~mFu9kgYFO{QqZD_M)RXmO@20q%=Y!as53P9k2x>OT2mq(cp)YnJg(hlB5YA6t zjkxKsUd>|NIBj5k0mRqm=z19HzWmj^ijA#_pR%|#H-GjWVz!KM+T{Uq&y!@w7e!YSuXsZYcfbnby=UFY*C=H-gc&;b%2Z7pm)@#EwuQzAUxG3`r56QJ^2Sht! z1mf5`=6~6gQ%1ksIXIBJ&zHaUJC6b@W{utukZmUA)_M**+X}r8upyze{7dN}UXokw zX?xCEb*lCcx-69{cXVaLE-kMtzPbZCL_$-A<>3JV`OcM#cmh|K%FAE(yozibot#`u zUUd+*<0L6D&PYX+#se<;ro5@oc#3=}Ix6?z$$z2uK1}&Gv^HlBS=Wu@EI-y+K$D1= zj@f+_v}!BQm_Ehte);Ra^Te?jQuR&s#z(p1%4+G4!UXo`JiVpD&S?j$b)KB&SbZ-% z8M6>V-n=4bzeM(uZ=s)N_xZQiR?P*W>dO{tBk9&Aq<4%^fdjc z?-WK*uSc)%{BmB4(7sGRPjLFHufI(H!CT(Kahk7Er=`w)_*u~*l3Q!xx;|&k34bQM z-WC@uxXYujENjf&jnWhesg+ByK?PwYuEo&VH}cd2E^YA3`t%rf?nS1yX+L$&pCm%N z+E1@%@Emb(jx&RC1z_!@!-Rr>-w@s9>RxR*4E)n@-q_(>mn4>F0&M~e0 znv2QK<67<xnM`G1?ayjVH$xA3*vS;uUi+hI$bp}zTvopS)FKv%!5 zJ+yPwWa%tKJbQr!C3)x2Qi?IXM2&I0PPu*4_lPT4S>{1J8yl>|z#kzPkBs>6o%Q8! zc`ov&Lr7I7&4_pHXI|m6##kjgaarYuT|3n5V^Zp9)ROX^?J{*Tff?Sa+{W1rJ*I!q zt|k>a$8Ac%ns+X;H)g??EJ?d~G2`WLeQrBiSG^I#t?O`}VOj5504f;JuSQ!@0QM(QsK|M+3GE8x;?wnMfbc=ocDSJyDu^y)S>;^NAd@ zV+B&U^h$ZKTcb&M8|T=n3>T_(Si65a$F+fO#kB8MsH+@6acmqk9s(9M2TE#OL@J`f z*>+uizxY8Bp=4*POw!_KotM9zS8+K!&%PK3<`PbWPi=6-iNXViP8pZIRgHyeV#5Xw zAFXwAK(Oc*f5U|^aF?6i8YQm2(~ho~4X-6#;nMc3)p88{Dz}E5@;ayV-Y*xht{vwvbG+k&KiOf5bj^Ns zm)VoGJKw{yn-we>e4qMA3$@*}IiGXSC-OXc6EP-^AB}|SZ|dAwm(dHwOPah}ozUf6 zl zU35^bNL?>~$8&Y{8Xc(q;aox2T^E)BeU2)dsqp1n%MWDj9G^*@rYuKd*DJ*-M>yRD zI@(y3m93<5LZwv7D#D#YlNrrP1~zskv+3KKzxg5P1!Jzp%Z^Adp41BY%{)zCu**=Lt*xmjn_+F zrwQKs<$Ppr`QDeG|M0utYj0fLOO*JhrUhW%!EYV*$T=s^J+uel`iu>MWBPtddh^7% zd)!zqcjRPrStezp0Iz?XH+5fNk&yn1VZ^Qd(oH@X0nmmmnp9`*pVTJs=02y#QwQY2 z%X?~NsC%Xo6UADtV4CqO0+DwX8hag(<*Zt16@%Kea&gTDOT&+o{Gp7cpF1Ld@FT4gO0 zr#nk?&$UJDfX&yAEyTLU4b7!&FZS~HJ`bAl47}=@!ITDM=km#DLtLjU z@O`VEM%(6gHuC97uAP5fWRw-X)%|dY045&r7`LQU zt=iYi-^Z&k8KNLe8+xNr7~J$;wvwx&fl(U-m+R9ZBo*pJ15l^eDDJWPnDPN^Um!{D zuJAfXANK^9%z>k=YWJ!)ioQ#}5wf7v&dvH7w5$RFCDe)gBd56-v#_*cLB=X}WC95`j|dGepRDFjM9 z2`wn}^%6p)_PO>m^I-3V5i0;s54l|p{rlk8;n05onD~GzUv$dvVtftuk<+Vp{v$D3 zNBdkxm1*`m6xk{QF3LtMVHZQaK^m2Z3#4n5t};BQauZ~P=~j9EMduYp?~hx2JWp3D z_d)BfTEU=-%$gN}*9|L14`l&=xEwfUQ2lxBH~%I7GQRhgV&uKwwm14F{l_pjAO8Fe zDt((@@&tlfw2G^9Udoz?L%-(JPf|X zn2fn9K2IaBb;c9H9~^)>BgNruC%+L#_o#ojKEd0Pv-{iLro7odkYMqrPltU+K8pLg%mH26D#C4&C|;@9pIu{Q1b{8yMNlW~ao~^4I|R0fwOwx5fxEO1F)*7uSD8 zwN(nVz@l95pop2;}kM8{o{Odz?0F!?9e3+buO;rj99%SO^lh>FN&q;ND;f7Qs zwEea%6|F9%UEEmwAS-Jmucfcu5%!4>D|%CVO#w@to1e?ABO52XQ8&yN7R@jJ@NV+?r1G7(Rj=6fc-P=e53aOmV68N$PhF%1r5Avm#*C#YRDn{%~ zSR^eUETtmhkjQ;@jM>(h5O{x-nHtl}AZ(D$=7@@zbI(g>^U}11=ya{GwEnQ7*+2rE zJ=hRs(k8j=&ggxK#OvSMU*U}6-~aSad*ZJnY99efS7oivJq*lx1O6*T2#bJ{X zmcF~ry%&pXw(<&cd#5xsr9ix|my0aC=c<>4{AK4>yPn=)6=gl(PdYAW9`B2A23>c( z9w5}8PG1G)LW!o#>8O8HkCC&DqGSONFr@Tu@d%Pwxc901PW3(pNzYzqQ;=Iv8)TKX z`h_SpX~%bfAGJTX(YePY&|0%D?Q*S7J5$eV?s;!>Hsi<_D$*9E&Bd=cz5u@FbH4ne z-}&aRd!mYUorHgrqlmv*evsbhaYP%p{{*I1r*x_ja$3=eiIf~`1LgLBzc!~)VOt9l zx9{7c^C$^EOqk}}h59#B-Pr4O;lF0DuX}uVC2G$)?L+dP=r&s>VO!@Cxf+4BXm-oo zP9Qtvgt6hd(W4lAR3&mu&~fbS&_uvl;vjF8lmuHKoO*w?H8)rVmtMg3*GbYp_sjg~ zXY;+^v9}A(<8{G#{Ol2dIWSPd6Cxo`f#H@d-MR9cIS+2VfcnxchQ?%!1vExj$AcrS z_a3eOfJ)fE^MqQQD$01khYQGv55=G{3Ey^t>)o6l+((-6hwP+0MJbAwFL?-V&6^Pv_cD zu=L|y`m=k=jc-Yo0B1QGG&C~zCH>M_!tTsLGX;P6VXk?tQdQgc&eoB19+TZcA{o$wQe4nQ#_y4CjZ}K|<5kEGUV{@B+eY()A-u;TV_jxHn1yQVEL(NXwwTDNHj=rEQz9GMx**XB zJ*HuZZ6>R1w6&FEnJ_eJx;9$4aZAK*GoF84?`8UX$h*Hr?Emt~{Ne}s<##{2-roCt zd*d;*|Je2R;m<#F*Bj^0+M5)qdI1|eDy>SWAIbZ^iw?R|j}x1#wmfY-lwFrwtT7aJ zzfx_0Y%8OHk!#I$l!lSv%rsX2BDl%+oL3svBxnL>zP`uJyLkI;QNf-%OYo4G#TI|E z$stP0arWBR7TIOjAhGB@p2$HC10i@y53*fmK+uG!r`^>gSocv#MUS3^Qlo%Bvx^h8 zfWv)tz5Rhd{?-0S7hT;4Qzi;vpfq+IR6?@y987Fd}jBr$K-8?H;9ZkqmugS z*$PphYP4KttE0O`ZJG@ykPJBzPyMYK@BK#p zTo(LuS@7>t7X03#?%%iG@HZ0n@2w7h`xAa|4eZaYwBM|i_7}hLdCrv_{lI8{f*@8a ziOmZFOW{rI`H+~+mZ%OX$WE?s`B9N8)mho^RyInNNf()TE{q_4?M{}Hae$U=`*!l6jO!VE zgFGndEizxlq5+xc?j#Yd1voA}rIgjT9U@@u78&p_PN8#HZOnh!!Se4pDrx*&DiGUd zMOwPcWX@=(H*F<|Wz;vBh>x@VOb+s6oc%NgZDV%Kb4Ro+R##Blq}!w#SClbZg`_nc ze(N2&TQ$L!Ks)nH+9g(Zt+nV}s)h9}DcvB*T`g~8lgcjW*nIiNxv~~J^9&A4G9@0Q z?-*N0WAw0AnU;TjQu$CJ;)r16oKT2|gF4)n<#hnq>-AWNbEg<;NOL&Ws<~EdW;a=2 zRrPwx69VBYrTgWdc;exYn39(B;Y8OvkDS96?{^?pgdJ9+S-2NzV@B$;;Kw2)TBJz{ z0pgR#8K;yPlz}>~xKfM|IAwJjs1%;ZHV7Y$@9FZ0mw$iqc`u@a*xIDP?qCZmqgU&y z;kaQgNVdW3aGX0=>z??!b}k{ASaf8pBmAB_rT8Am#g1{T&La)Ri|;#DU43#C4;TQw zZL(w$9}QXG`Q^M`(|`5pcR%y*f0BRl)3?s|_cnDnSAF#}1kPyP5>-NOz|$fR%wD>0 zFRfBsp9_D1sd{nogn`yUXpLTP5wN^esTs%$*XJy;Y$LkbdlfGuy zHWyr^MfrP2j5Rx=ULy&4+6fL^Lr2iH*?t?rnKpJMds>UHO4Bi6PtgFMWgGMAz!|ko zPm@k1a^=-0u_oaM&*ui5w#Lgp^-~C_)xr4u*5H4-FH1P2<(ZE&Wo^ybY>yU~Zr8F? zW7!E^eq`11R33fSedpd4bIvGdTa2Ua4jZ=`x0@?#66-kqmQe08^?(MoF_&sjeV@uR_v}jP6bdvlRVCf({}SBm#eCKm7f#=Sv7{c-DQ`-ZHiZQ!tOwYnt- z$$T#RikA9n>ynkY>n&H4xpzY=hR`o%k7C&yUETq4dhbS3rrk<{Fihu?JTj|Otsi`h zNtf4KW{$xA=@PHk;qUx%ULR_|{_6Xm?l*t#VmoWOPJqVRgw56VL>rLRe2t7rIctpt z=xNV&5PdDGzlk@`P<>h#(XOCHpI#Y-GE7xY5>s z8i6#Wf?E4Irw`nUzR+%5V4*RS?{HDUXb+|~OF#zRgLOy}p}D%WF4V>g+a zD*j@)Hw>iF|7OK@KCgL`OqEObLgn>53k|E>wOZ+cCO8W9a1T;r_qnH_{G%kO9xyp# zN89wa8F*!~U_7Tz){)Y(&FZ6WP>pp$VdPXr)Nn%R=v|?t?nyRdttR%SoZ?r$_x0Cb zeDWySKKUwt;Gcc{X?#Rge(yK(&6t0yyo$O0u7zyh{0KhV-Rp`xBF~fao(2!=dQ)nR zfW-Xv!LRf_Z69VEqY_utQz!!QyG(7!DwX&WaiY2$cr~4tM(6R?YpqUW4>KY#hcaiD z-0}JX)R}B`HZBW5Dob0xdB71t8rANA|5foKO`AN*DxUT+CC};DB=61@=bV4?ROHqK z!n(NzH#jtJ(vnY4pF~Was9?TUKa(cI>u$sc#^5JkeEIno`Q_Ii;e_A&-FwpnP+pk; zzL8Xoc4rTs z+W^6b^9y0#pEzr?G}q8}cWN0*{lZ$gI}dltyHCvlF_%H=xQ;2QoYD`-B}R6y6XU?YmgshhA3Ge%4)2bI`)&(ZIeNj-kMs7V`Hh8CArk$@C@xm z&ZSWt6Ekv$wHh{)$>D$N9Md2B{^#HQe*TI4{wH62|A*iG^s`UC_%iROfAXV4$2-4? zZ+r#p#||AI{`@m{=$L?WHyrD6Yngf<9QCbi+;%qGjfXe7v-K1qF4_8YS9gtaDX&T~ zWdlipBz-m;_~zg=Hpr7_0mKC>zidrM5nlR&Q%1}0bwoJAJfMHI9LT_(8ept@dKu-S z()J1k8bsmUMdGj+xP;f^(Kt;X&BVP)WyUu`_Gt`SVNqM@-p1HgS8lNO#*5pbcg;us zyySHp{g;08;`=Bk{LXLNn_K?+YRmsK7;I{r<(by&oA8DkWlAs`4d~A7ICk}vHf^CQ z)-i5;$MIA{bZs1d{VEjx%Yp5?|yGixIcy5CX;UFmKpNQ zqXGcOs=KQ0BT$bnEFA+A7JQwHUgHxC8o8pVp&7aKUIZ}fsaEy2#{bgAc$HE-fxV1& z)pAs;tvDnppn9(#?6bC7mAcsW0a)?aP*#PvWV0KWNtur-$M!fYhv8UvYQFTh6L-hW z&g_-_*_3~bdyAINu?`kZIvdgMhqYj@17=TEnqAfWBZKV^KZ6nRm4E*YN6UM^b#IOa z>#Nb=&){t?gPL#_M&_{7Ql1g&+O3_XXJoU~)z=YNU3CsU5dAiTGyrFt)$Y>hb53<= zq}oPQX-wWnuB&Xo$!Awt!d97tEgI)z^WN9%^J9NZjY7RQ<)Hvu2n>+fHW%IS^F$#h z5g0b#yTk#T8n!}H`>1zK)|XMKij`Ic(%E8%xm)3HaJ#d@xE)G6nIs5Uf=NhDzLl@| zgP$f~MEU4B{+-{tH|}!n)m^UrEZ*hbJD2kNCergdwejA0o{y)M?Z>tsAO8F^cfIX% z%ItqbLomSDII}2_FLS+h5tB7I8t`t2=I8>&^>; zVO(+uc^7Q{JF*zFm3ae8L1$t4`W9EYHj3g7IMY+nq`eL38uh;bRn{`@lk(HlH)n$){^zkCY3=bDdsGOEB>gMdRh4{V9xTjJ@VY2-%GI%~5~% zo*p|U6y(~t^ssoO$i*-!I;ZMgCC*}LhbXPlWzUVKtg8=ay+Kz2_hAw3z0u);09grt z8%tq3(sjT7P47JM&T?yD-~|OLJCyWLzfJ3G5-OOsMkLR@6Q1IVWgGhaT4Rxm8Esix z7zS$}rFV+a^K~Td5AXQ$H@^7#lP~tKo%@lZ`kmjp zH=kVEt0$LlV#EC2MVXg>?x%3!Z{Ew|aFk__ZHqL>9x3Pe_6!w^8~cI}E)p`wJu&Ea9slZk{NG1+`*(iZKK5HuJ*vOmZ~5UL{O&J%ZAzEATd}^XrVF=r z2)h}`fONAg6EJsYbqBj7Q<#6l1v!{OrUVP)UVX#`EJ@RaZwH0#HE$h|bT;34VoS(8 zV#6srTXMV(R=oGic^wj?H1Oru%&*_%{cr>HQ)T4?PTkUSkS47w&#rnXI;~WhqfK2p z=&N0et-0a>_rbZh;sVm5<!!!y}jAbkT!kIW;3 z%?M)Z>Dhq(^HXjE&3NuUV~5Y46TxIKcc*V<#Z>3) zvp0zzCmD9Pg@MPaW^XbdZJMU#>HCZVZq2TGM&oOfx#N*0oSJ{GCF|?N|6Lp~MvcDP zYHjrgA^DKU5&q?DtL$riJiAB^e9dDwqn$UXZIxB#W0Q)pY}V={w}-7+x{ulXKyD^% zf{r$I+)1R;chg$;M+m}SI{7EQ{`~Xrf1Jm9=eO;ngNS~swjVo){OBM2?(ZV~tkE_y z^DMx>7K6@O&}V;34P%QR>l)gpHRsU1_ex~AGmaO$7)<3!`Wy3TFIxNdP4l?tLMy^M zkfkroVLT?q03Y0H>^{ot_0oI4oZlLP{rdUz^B-L%zZjo?c0YZq*>+|)NaDS4@YW81 zaJJ3;Ea$m&-X+Ew1tD3fH)|1XvGRN%osSCpxF0_bj6Z+m+#~adT6mUe3w`&n<%~|w z*Z>Ow&~zxx)5?$CMLt{-Pg*_Z0;pf;VN~1Edw1j;whQq3v8OV+>n9Ikjs?8psCONH+?TF{jPNY}eTB4(fz|ytKh!_(M;~hWR{hXH80PA>U=6l?nqpT($36>; z25~kDxp{H%xOH`x;)<+nl8GG%Mr%WV=#r-Q;5~m|Q-zg;?~VwsI||t@(1*`F1CLd& z9=m*$dU@}c^VX;O%U^u?`PZKZxAeC_(6s*Vj;S;5o|k1X9*jG}F$yo_9BbE`1;+(U zf{6mV&4yhYr=NhjmIq&^)-uhgB;fG&;`sQbPM)iY~eM@g+Y0g@u<3p*&Xl!=1 z%OcmjS8b(FfU`Gec*>0?i*cH(Rf}N^2it$ahOBMJo!+OG(0XPK-@(USyj)p=5m4)D zuRqiJqt6rSn8GL|tnx}9tDI-+kW)}C|PoRSy+kzXfOqtCz0x9neyNtU#- z!kGWA(Q?nYwz}8cUH1)Sv1Xi@=eDzUL2@UD?jFnAiXeK%^g?U4z(P*SayiUqpCdMN zykqFD#%Z%0+M28N+{b_XS!I0dH?MJAOq^OR=b4YMd(M#7kf(8smx9sVTAY8@gS0~5 zV;%f-`y$PQ(L5xKJHDTB2CULirB42u!xJTZy^5>7tg>*=wTW-j^!5`k|KcN`?T-IP zB^&!E5JmbJ7Oht7Xh)`$8zH^724wzBp*_@wwg&=??#}!09VIV#tuuDpy8D5n^BB<^ z$B%Z3X76|+JgPE7RnvU=m%e}VtAD{aK0v;4HRjsw81YFRY*=%HW2{#x%sv=@)U~&7 zcT77a2Is>mILmKTN3N{Z&d_oK)K@2A%5xN|Tf$BmXC;3Na?3jh>(!9`I%CL#*+Tle zqZfuG=m(OGZUy~+uKT=44cc*;5Mc&K)!Mna#I;lI$f~7jmBD~lyw-muTUGjq-K$lG z&wAA-ErCVv3JGmP5>f1T;BabKKUwxC!LQb%kTVt{v0v%bHvc^ z5;3&M-#2d*{X@Rl*gnskwiu>IQ~?rHA(s>da1er|C)RU7TK z4itReiFvR2qqlN=hZBFye>02A-{y6#{GDIU@A%37kssX>_7CrU^BGUK^OHHZEqoR} zrS0l%VV`V>>U(yi?SjDV8C zLF^zOBsQAJ?XaC`ZTLbjpPn$rJzG(H^{tm2#>6GP_Y)M+8ugH?QYml_G-fUQ6*i!c^+YhHSv`!S%hApZ!&WrefdCVa znDm{Dqp00h1YUo~(ig^btxk>eCw|neu)PdjsBzMf9}YrYIVX3+cB>gtyt4}TyXaz_ zRi?#+eXSyE08Xys4D-8dTXb9RjIBJI9d_!RYA&qoRl3bygeO?rem?rB-}&YIjvw_e zJ)iM+^Ru^r5i+zzHkrGVhd_H>yBtoy5RZ1xBf>*aj(UFvF*!nS{PJvBcAGES_MBkT z=}Z)#&rdu(8wK+L@Ulr@)y8Au7lnmD1G!o2TOaSQ{?a#|j+NkxQ=VkfwWwao*f3rM z7XgM`WS_DDa3cEU>l#$EzBaP z7Wt^?`Uro(iv{hU&6ylZ2cq!lRlByl{I7xVIOoj12TbEBr3Meu7fn+_UO=els#WhL*M!3{25WPKlsV0SZ9HHjzyNW z8dV%DL}l&D!$)9uF0=J&dxEZ%M^wZLHuse-VYAXMtvn^>! z*!6$HslIeEmh`j7@ZX!W-<-|ens(cHgpu^sjih{X|4~EjrLsZ4l-tUcY=w7$H+ooq zzazEe&8`unDh1MI9nz5 zxk}s3T7X6vxzW4U0d%cv=RxaP`5tC$n81JUp6878yyU#<%F@i*sw0n-P+BE@%t-=t zsHT+35Bh5*(I35^es+Gu*Eyel#1?<=H}8!)Uj4B%--kbc1Eem5A!klttr$;w@h&A1 z#>YARD$w=~z^WvgEj8Q|qSs`iT3gAg#7Fqa%O% z1>=6bX z7hJn+p~JnGbogRGG)nJ@CW81?_jb%&VqeNaU3ga z9Nc=FZxTA9%`cDWBWH6RtD98=YIT1~tMkSheN^vDo&e*PeX3sWV{wTd1^2&Jw)cFD zV%qQNat`zr4KCefXE{v5;qB#L{?5}btWIfXHV!@}!nS9v1Alu^%l94ObC)$^ojcmb z9q^orvfRdEaxciHP1sEGk_`?txsfRU#-PfJ;sF0S62w0h>)Y~ ztSN9-2X4S?dIF;AXwr&eV%2{>Zdz{N&(mm$-Nv=8d7X!hvq-W;yRUO`f9%t*KJkeB z>Z{Mc{Nzu6T|TNhzw?{;W=EyI>Zp7Z8M%3;P8WujrjoF7PH7Zkss7ISScCJ7tH5K& zp`f5KT9^i_##pl`C#0j^`&##m(o307lGw`h=_MQh?p`|y8aJu+N~eFda{5O{ws(Fx zudbF~{GNaH`LDlq0yjW;1Ndb*e!T$ijwTP7~kr?=**0W%nbS^cwyas zgNVoovPRWa<*I58IRp5Ke4O!&k7L6p_<;syjN=k&D{8Kv&0A6!nHy$gZdelu z<~|V*AhuhEkajAV_0({`OE3aT62~c&-?2~QMEZeEUEYv)3DofI+h(MT`d-oJ$qsOV zE!J^BqyhKiNI>YNlkEa+e>UCG(lAFGU4@|?82C3>1QtJFw*oO_yZ6hyKIn?IA#>9+ zI`z?dEk>A1-kOhp@Gno1JJ-*H7w-4x$M4UN&*1#n#np39|RQj z<$Fx;D6F$NC=6Rsfx*sOEifZxiPI%Gn8&_Yr43|BPnw4_+L%-Qe+*zZ6r z<1yfSDQXv~m|bOTgBpJyvN=V9?6%+hC+Ewzukshqkl!A?ZgPQKm+*aej*-w_)+;r~fe+y;mlrUrhJ^csx6mpJ1 z&t`jXI~}%8KSwlz1G2()x>L#QVnnvjNIjElH9fnY{==VsfBI44nFLg>1368mqVSq7lvq3? z$cr>9zyz$l4`PT$G}DtN08};i)awFlNE)|6dB#y*!A^x z&v_c=N_q5b?Q~#-37(T^t+{g*h?wc7F{XAj*wmcpD(`jAk{+>>6}PmdRZD!m(uvy% z+91TW3tVdKz@rL0&O<=jFM9fqetLy%jdoh(f5#7D+>qA?@@oz({+eT2AiXZGH#@St z=CZMy6l>3Y0BvP=FAE^|-8e@r=UP%}Lz9LD{+`>Jqa62hiMUG(^ZoQ6Ul)ww%arRH z>z+&~Ks2v6%#e+}8dad(w+$9>G`v?bpzi@gzX&!m-ogox6^2@E&&ww@V%e^=oQUQg ze>1nXv**+aR6oQjl=JC7xyEk{OrqNU@Rd`tq_w2%^I%|ZNRV{Q zetf`(+fg5w<%YM=*nm`~#<2StW}i5T;GRO{LU+vH0CU-shTWQeAN_G|tFc$_zWg}+ ze@@>eapi=8W7uKF!?YeyVBW1jmO*#~fB1icrA`rAfpwe``i0nb_8^PE#v()BllBpzaH!=j<3;u9p+hDi^r*R>~K+JH-uPH zG^M%6=$?b;MBYj#}}&WR_B7xcdyG${PPJrN!&M~+=(D`@e-1wSx`kJATX`6(JPDG6Dg|eW}lK z9nK0Y_%4`Yb+i`L4kQ~!e>(Au+Tj?TCC}NA!h~RWlF^UDA6vjz*=RdCv<8^1xcBC% zP@Y;-c%jqA({JmyM}M4KoX@Ym+GoB|Y0~Ce2FJqWRz})0X9WS>X#^~cLo8MVW^r+X zqdY0I6w#6r1J^ltwoEm5jkO1@7;~CqaEZ&M^{tMS$;u8F@&r}3f5@HI*T2#Av3G-= z#?3}`$Q8{%Q8?ft!RYM7k)RL}>FGkOBB=-uh7ew74kGlBVpk^{$9gk{5y4zf_(2KJ}>WxQ_4PzR5UqwPYE_eK+mo%6x2EN4(5kF!X~z&Mlev z{rh(>pL3RhTrwwuc#_9vo*g1u0@6ex*5EpTvu;F%+6I!85U-p@O}yuvn6uB>^}^Ul zo7#q8AhrcaZS_GMVaV}<)@X<|gr+(T+7R^!gBajU z(VqU(tA4I!$X;DxyNB}D)v1uQ(YiLg=+RZsbG9r-puZUkQw z*&1NSG;DGhe+tj+-P*!~yg5%B;~3%|bLpP@>7V`dCx7qLYdw4cgt&E#xs8_{-N=+( zwifIyXxDNgCJR2OX4Vn_YW%wK#J3iwM`TD|?)FKGMTf2?Q`V-b!w@@$;FCHerF#r- z4HVoSb~{{&%Ec?}2+#-#gCmL`o*m#aMJ`!|D^PR`e^i=zf{`m;(rIkJK;7lcv{1gx9 zbx|S5zFL)QUWh{EKWz2IQ+R&-p>$Gb_J+WQVl@ghze}ZH-GE9!P<}O5mw$c1{wDRbWb9<6rd*hkO3J5C63ee^{Aby2Jhcjr}1oEUI zLz4RJ3v$MZP#`cx*g)z)NINmyw_B`%i*i;6-@9))xHSN60PK6g##{S1QqN@}xr4f- zf1Sqo@3mhOP99EW|K~sb$sc}lKf&0(Tn_0(mq1<=p8}8Rm*HL%{C~4=AqU{m7R2wS zmGkB&@aRSSy>0*Zw*BAIw*P35&hNQCzca3n7NKdP=w|?QS3-J>6~`fRpb<=E2zT_! z02U7^%(k+iMwlx}4tji07bB4Tq8jGhvedYTmciYK!gxl@?U)PA+@r;zfmy~aq2a+F z=NrH3Uk4gK^F!{?c7JsD0#TAt_t1zWe5W2^wX%Q>qt!#{GoYgGQW)hQ0IT2Y_$ZuqrFJX6-S$}JJt`l9su!qsQ<1@{a zcKbtq^vC(eZ})qz()-xYe7S5nI-;I^OcWCXVe{LK>P*;AyQd01JwwSgvFrL7hUU9Z z#Z^B;Ob$69qH@h+TK7Y$z8lh_dPf6Hw3!=$B%QE>Y)38Gp7rhHx8n0MEhn3!=&4xJ zG1BRiD6b(l3V){^ZMKSP1CyLKfld%wTxa=qY7>U5oQ{;O8nk>$DjEfG9Dzw-Ci8AF zlbRxn%MMS{eg{{1@W=VaFZU0>{7}z*wE)^9h#?1Bg`-yo@0Eg?d1#}8;z#&kc#Ay; zNT@GefXaz3$>Bb(${bvvwyX0fHi^7+3?U(ILDqvGW_6E z*Y$l8FKwXE^jUcH5lJo|8&YqdXNEx zBO2PiK7S?fG-OC5Qh2Prsr)oJf2h263nu9Zb4-J&I3!h7$AmGx0dS?a64~#4$P3tU zQ^!Ag(VmG7-Cxtke*E(%(8s!GA;7^QGnxwV`CeCEz0;6Nr(FYxp;1>{I>JHr-bKT9 zX0JSL@o_t{c4M57iP2=9vbkahYR(g3v+beB&VLw1hLjq0fQN2&$D=>at-Rji&AVrt zzzTSE=!OxzH|RP{Fj3lP7D!RMY{U^sgPl`E5^!zOZPYeL5hCTAMy?Jwc|SvHmU1&L z++N&iLc!~o?QCy91 z6o2#x*KH8gCY~`vQYG-$h=nWKrg}HyR`Sg`rVSB^GO>6yfH4w;a# ztZZ8#y9}CJ@y^)@BJO-#%f+Am3w(+Lc7HO`E+RS%#KC8rR3w!&V1OeG%<6z=TvyIidKpC_M7v|VUPl#0;5`fE$8f_!fFv)vt>VGR6 zcp`=&2BcE!v`x@EA7~{`bw8fI>Wtlo%Ne=X@ZM}mn*i6}4ml>&XrEAH{Ofc72mbQ) zzxDB7|Ktxo>W-^V0Rg4T$C*h|h}e?RM;#x#x4r8u@F?<}5n9EmnBw-0fUoR``z0=& zGjbE12pNn-rZJ|OL8b4AoePG@6n}ilP!vE3g46BP)S=tBuoIMxt;Y7Ojx=*+;whaC z?TG9YJCOmw7Pjmvc^7G&Zrf<93@c<^$~=98nRTF4fb$4JROYi&5l*X9d$hF|UfJs| z5A!eHzlpzo|KjbtH^2Dh3;S8VzH_!ddj0OM&Km*pAAKtQF|96pB3lrl8-Lb!csisL zR9&ZL8q1D`%ZvJq2Buh#zCyn1roW{p^8}ASp zAW~*5!kp7pE(n~XKkH|WQjH@iHnoc;w}4I^;CWVWAyj*|rOp#$*J6&(HHS2GGe_4| zd>KyA_|nY_W5o_jLf45k6)A|H8IFX*3}{ph5M|q0>+lubJPFD_fBF}H_31H2T8J3J zPnH*s0Hj{6dEj`cq13x$G*pchtf&~Bodh=-`mPqrj0w>S!JuW&IJJmZIMn+bSD|nU zZ!gUB^(f&u*-lX2Mo;8zrP;@)sZ8 zzkT=e^@qDe_eU?>GaHU?AUB^N+WOOPIB>UV?XQmM3C>{cs*_sq87?hpw>c1@E&Y2IYkf!m{QZ3=!y<7{<= zj)ok<$f$-v2q_Sv(PVV&SfGFG#|R}5Re45%9W3kYf(xULEb7O^y>gs`M{1|7p1J$< zz84avGzOu$(^6*nnUc3pjz4{uZ__@&U-|O&&+cMx9=vwX?74Zf=jP|Q=V-dvLN}xH z@J8r16a=$sMN2Nw!`vO}WIQ6#&%`UTHS4)$!Mcq!wzg@>!4MSL!j^xkE9dMHz$6AZ zi&8F`(9CA`13xKw%-eevCM()vi^|EUOCzbB+@oc{&#V(|`{B%UtrMeBjOrL^LKMk~ zuqzKJ-l%!6GklCT1}?CP*}5a`Ef9Bg&J|uP`*28*EZK642mG`5ukG!5XFq%M`np|j zcip2`?-|WXyD`Fl8k~O@8mk8vJ_gtaJs~4UVpvV)HNBt>7*W39fb zmZ)YT29#DmQgPec77jq`V!L67I$j=xM6TSIS?UPu zS(*3I7YikKN*0G{oE5V4j>tP6GN>-H{O;_1wU&I_z5L^U@E&2nukOTwk6yOBO+Rly z!}Ak?h8<+%wJCo%Np;S>s<)0rHSN3`dtf=C-!(-+CS&Z%x%jdf$e0WL2k`%S&y-km zSCryZ%emkWfPYJuk{|q=6yX`M-PK|ryDb18{c&z%=YRIjBJ0anFX}lPQajKsfl7mL z(9X!BHOD*;Vmnu;t(L4cr`KVIs6wNmx-)?DEJ8xOiK>6h*3T-0i{m&qThVq-hs#d$ z#G!&{8t{iaIwGK0zCjK1kNc13$0$c2ygNL0m(RK()lnvLS@1@~ih%M4)5U=k5wVVN z>cLF=k;4$BR!P2LtzTntMpc`Q!U`gEhj0YI@Dr-Q3rpM95zN|Q*1o;)9{h1`ACh0b zeu>|ay#jys<(Uv#_iaF9ERlrmAeF!hSrGjKjDk1ph%uatd?3(!jPgy(*kp6;J*c;= zF>CP}!za(_SA=v@%#Er`y&zfca3Wu7^T9Ug@X350Px!Aa9RJ#;{kPkjzx*Tr^5v@! zfB!H4_|03K0`}_P`O7~5bU=&0`SSJKS6}|@XLN~ypgY&9yxf35VtAB$#@zp>0?CSTX%BSs~HGQut6+T^k`RwosN90L#yD`uM>=wdk zV=kW)SrH)JOt$K06zu_q0Q%vO4tXD#;q(J@J?d^yEz{7@6_V2hqk`MxY*x%{7)iG? zJcYoRq|=Un!wWml;&a8NUg)O^opQpr!^r{??hLn1y1W!-l{F6l?*QEP@~P=3G2cY= zjxp^kwSyC2noAFz-yEO%Z`P|f_TlC0pS^hd=H=@TFMgiC_*LS@E${omtNObU;(i+~ zv%v(Cae(8s8#L@t#^CFdwNfuy(1Hh=Yg|J}c!&sp%ot|Z>aserbqPjaP~Qi}v%y%k zu!umY@i+li!b;kSp}Y)q(lN!n)fKfN45hXLI2JYfp;#H)Y|L>{U%U!!H6EjE$g;pl zgRBO;DIMG~bjmYMATQjDFsg(|k9#8iV@O{$y8*ngZKMilWvV)l^l#jaKln=hS?|BN zZ=gMYb{W5`+i%QWx>eyUV`Oe@ng)*_bh5435Z@)?cvAYg z68|LZ)vNa}Kjgjj=E3XsOdF%$SZ_YTi|*6!w-sYdW)=w~DcT$w)M@6DxvA$NUx}$H zrtE9-05*a5@-fI)vyMb?>$@M8Q&F9TjsuRidhd(&66S>~5oX|W090tMR`@UI`&I#e zy>qSUZEio=K-?I!!2Qe_dZ2j%J5V4`$AL11<{W^;cwwBETIjw|V8XN;M((=R!e-Gz zsyGSjYM!SxAS`+uC`?z|z0ZE+P8|0qXdb-yfbZtE+Bsr(e4NBU%g;)IGXZhh*^u?Qh4fp7U zd$v#8Zu+#J;f9+_GZ|c!rV%RJI`Nuy3~PkUtpopdlDQyk%_3b)0)+p4s{wQM?2a_nBrt`##Bz48a3c2mF5^uHsQUhgoYUkO{MW z*D?yHTY<-)zJBxW3w!nQALWZL-`$O&9=&$In~waa-*aL?g(thi+3D-Vfs%lYnh!0H z?wSDh>cNCDThmO;-`AK1JCEUYo1%Yf_{Zbe#7 zLi0KtDlnG;9vGfcXfk%{_TI&Tl+baj!TaI+FYMiiUxf=p$<|l|nM6Zv zG-GJ2vm1C~P3EkBy~j}A2(rgpP-XW8+uR;Sp+JozLKJO2f(lbQ?9`P9cU#_Wxxae> zPS1Q*C75&~%lYSe8c%dA9h zDP3Ie=BJMZZ9~@!LWH+hKbHH@hMuR#T+)CD(OT46m8@NVhRFf+)x73Rz^a6I4xe|C zTmS`cP$5Cel4Wjt!9{5w;c^W{P=aJLVb4NBrXyp(Y!&kiWU3-KGx5Thg7Anzpyv;P zkU}~+lsl{k6E(+NbTkAy&5MF@?!w#R&FlAXUgZma_vRnI&v(z1c8^}bXExrr*?6Dj zndfSH{f)eTtwrXoI*^Xz9G3$U!9EMA+YT6Tv&qeU%r<@Zpko;cgwTK}wm^@Ky}ZEh zlQ4%Oa?-3TZdU4C09Y(fCI*^F1t#1@ zeCFn(aJ+gzj1(_s17CvA9Jtwx-a4RFW}^@SJfFPmHmBTWtgUP9V6$fDV0__ep(Ul7Y4p9TZ+LKIgHP1k*M6#GJ7f zcja}?t~f?&B_==|*OrSv(A0Lbihgb-Cg01y$=4t5W)P2FwBJp9{kI?hz+`e=Y_J`F zgjT~q!=GA*oSN40K5dJ^s^P$0i9-cF5z#;{L|8%_9b6DVhNHv$uGv-x00~jJDEG&b zVc7{I`Ps#x-k;O+wr_%r3#00#F(cFv^P#h1)1U?TTC3_90wIhS8m4N|SL+>pFA#tm z?`#*7S9L>*4O5aJA)vGecUQP+R+!Cy4hi8z%p97_GTVsTs_yUn-0pVTqgU+NyOeM4 zQvUpQ+UU&PTURn`n*sONam_E4@Qsb2tFCfFq^=!5x%3=M(9tWw>K+IhJP37Yd$6m< zwlR>Jx>BggXt{gF8MQWnxYgk#j=@Xgj`uU*VATQe38Hceg8zNc1HQz=xg0Nl3?#A> zHPbX2rzgI_26dB;4w@R(Ca^pDwvNOUX#7D!pJ;3xvO_6?q z@WrcqA9g?Pdi26Q`(W)i57y7no3PG=tJ^)+MOBFdY|-jKzh7V`h@bI4Yj^JpaVBk{ z%XRtL5BiyLjoOP*t>>8oF(*TR&uF*>bsvK!BIC@Vi;{Xf9DPvqX9(2Q3>;O&qg4VQ zF|H+EO&um>1e$0<_IlK!YK#J`5optc;9pND;$gMg-D@*K#BDUyX>*D4Wjob1pa?yf zakM>3ajnUUio2HZpa1;BhqvGKW_a}SeOKQM4pIN1*{iBX&SjKoH15dQKP&dN~1TlF6!@a#Z!P*BCLZ-@Y00 zA_v86vUg{Uc))rN*8^s_1|YyIV;xS6kI2BG^v%p}u>NK_SPp}sID-mufh0FqUu|gu z;M=Y$pQGcU0Pk{aq+zRn%MrbOuKwtYzdkSDy?qg{?EU+fap#D6@Zvp#KbNnOgFpWH zv)gpxp*@zO9g9eD^`){U0r)#bNtggScO;~K9M5obgfLkH&2R5@GNvE_Xl?`xxmcPu z1~p6Cg&UJO5aP300L;+Vd`H*Wr`)|6d{#d>jz)P~+e>(F-5AS%S5}9VDMe9pArB_W zx-ZbH5cA|CC(%5+*_m5mouilu2#6>pl z=pMax&+Iw++Clg6&!63%b4L`0F7E`iC%F_7;8!E+}9bgV>e_wRieAO590!) zW^`PtFmwVwCQ(&?1A{A+5LYkXbhx1GKr#%5Laoy@z)5qd-R?O#u{x0ZONLj3??Ea1 zI8aP<5rkq|?rM$V3JifA4Ouq5&ow7iG6_%aU_Z_F?=C|deVp~fiR33j2hgRI+O5|E8EsbKEz7CuBpWfZpr#^cLJMTk zb%i2k1Nn-7c~3;AO6$-_CWcRot!_0X-+%k=P2~H#N9&_k?KgMZzxGwENdIyFjZ^OX zzxpSi-Hrn;Yf#QJ(2`#i=q%VlhUP?;(MdgLbku%- zp`h`!2~5M<*2a#~I=pxAnvO_bq`~$bO*!^RJ7d@N|3w%mBDDG#1s|E~T(j9)fsCYE zpXb{zU;pwV58obe4_>zKD#oE0(adAbhTkP7;Om4U4SYvnm(b$pJy?hIBwASYY^r>+O^ z0MsUOCh8u`vtn>#?JEvQe^F2cF^7%V<P3g^+P8%6AmRp3;O;rgK-3BtANn3+!m|uN;B*H7d)+=De)QqPFTbIdd-URcS8KUaa2uT_ z?7N$hX%{HTF~t*WAUd%1^u1=A5NF^mwfAgtF8C>awFA=ePEmotc}Cu;QMPs*dxmXo z7F7J;(y`gv2t7*)Nxr>VEv}v!fVlvFn86mPwra}2$cS|4t-5^aX7OA_LJv-p3nDQzRTYQEQj;>kubbOYXBzx-~%j>EC?u4SVj2Vu92*;>fd(U7N6CtLDG{Hu9AOmnrT$3rzBp0dL_=N+V{Qy|K@oVw%yi z`YJ(*qYH2<1gh)VbA_BhoGy6#i`8_}<}C?HlOiHsj)K(22q|c}_w0S(fV$_g`qu1=&L@~KZ6qC>Igbnstkruu46qrj4 zQ}2a#EkNn>fH>0%E<;E6w&rPE-ZBQ1+)j`);<#hnN}v*LXvwH~A!ubFkzw1$c}5sg zZj9B4#=x_~Zf$1B7hEELaM~l!A9YgP)%b+rWIE)=X)Ob3yFh>OvYOvv?kV#2&$cx&nZZu{39E z2CglWR+7@e^a=SP+Pv+ub2g-r(8D3Tt5F4j??98oae5mk%VvbJ1su$1qs;^BpkEaG zmOQUijz!pxf@jR+?&NzyC4W>?P0Sawn)j(H(K@S4nm+bK*i;r~c+*a0F=fMf69+j= z02hCA-ppTog$_V}*XBjNdnUm1(X078OOl&v@E{?(2~fW-UVNIZaAdeiE(?Z7{s<9p zSmciN8aV<9>3c>v`oX4bQOK@;$v%eA(pJ>>LFcGkw&#!} z5bf~=Ar2~0fNNhdp%UYw`X!2MYmiExu=6Ky_yCDnsG7Wi}u?y**( zo5@Pu&bXknxI8Y8R4?fVNROt>=#NjX!rXi;v;l@FWaBu>7Zi~Wg+Hj~v!N7r1RC`m zf)N#>NqBI7-4b&a)Z#4aa=r4Fcg24s8XwdexTWiO_2sHQc=u?{1FOCqgV$_*t_^}J z#I!zC!OeAKH?;0CuLG&tvKb_Fu_zc;Dn}^&Zs&IX@T0e1zI~e?@;Y7K-JL6sUc9?= zMG#){8|TW$KmYdUiV6bP$FvE$3Lu>T&7Il6k@2a2WYvMf>Z{@~93RpbS052Zh1d56 zrv*{-!CQ40Ehr+!QbXY0L6nOHqQ*DUfkbKa-9O4Eg3r^x_~{jTKdR4cIXd`#1kC6} ztu0)(vV79%6!;7!bLR+1Bb&!1ZbQCj&D!1|jw`g}DR-66nn3Ly59t4qk(V+ThifxL zJR=8x@2uI{(|_~R3j_>CGvY!cM=ynQ-p^(9GF0y8s)ds+k)>LoLU!**@%G)G-nQ2? zn{!H^K1HmkpFpw_?O{z4@!|~M+2SqE9VY5QYQUcGeEM&HdL_Vhz@l}*vf4LuuCr93 zX_{9Eo_T~VZ@NO!zH=O(dX-tNMmBi65OX|#xP*BkhhPlo@B@zCaW3rjC|ka$n-}k~ z$^|AP6OP2)Gi!AS+gNbf9zS8Xch+7PD7t z0TIu>l9`ctJ;6HM=*`FhRpnf4?CO2ivP|s@d$I5H^xxxC%oGa+z-OUnwGU={Cu;S7 zod-0?<3o+u2GFK@maDpObIg=>@ zquc1|eLwvV_!Q-<#fsrDAs{X!jnc!@woe8m`dkhh8(LBDb1t-^c(w!tH<7nTGhwH0 z2Ug{YmOX+O;V9(((T|U4IF5}@Na62)7&(qlK+SLUc@O?Lw>tNCFTZ$a^~^mBo%$@D zZS)JC1KvN{3A>lOap3?VmMYO!`1j_H-n5!tX-YI37%dYy&$+#gUIeN-LX8lfqoG7% z+d52}Z7s)xw&D;bDMQZJA&T_t_=Yg3wZ3PbVBx|XG6klUqyI3pTb~iaF)4xD+~k@INAC1KVI<_n4>ex zT0N&1IRcCeV|tz*0Ezb9Qxv}C1~*ij9IYc;iU6?MwqnVsS=L1nvOCJvWDFY#RpuPB z!*OYu!eC73xdtuO0tV^nfBH;+LNxF@C$t}Yw{vJJxX)m=4mBny0^5KnII1q24fk%l zaZ4-$@+Rq&8Qz6}J5Jdas(yU*%}u!L;5HXQ5S@Fj9kwTUR1PE0;HhO#|LMYuS2dVXFAJ3Bzrbz5uoMeJygYw`)XAw1y(=awolYll9vg5I3 zBqwtQt8K+sHEhBS4Puy$x(gJsck%O=fAc)P>CsE~jQ79Yc>h05C;8Dpt*8I_+n}Bw zB|I7Wbe)s}Jv$!vltjD{)O2!h7~O}vb_Ol>^u19^&Zs2GNoyT{RV4!OtxuW*nWRA4 z^WJ0jmcG<&ZC{#w_qw7Y`bE^agO( zASEP#HR;PwavmkJz1nUuJhu^)c)Ea;fSXmU5YcLITcoaqTYti5achbEH{#9f4~U*R zFW8fU)IIRDlLqKio1wr_S`do$h%NQ8$2Xk1s_Yn1KVrf2oOE8oddkO8(eHtCOS$f!Ydp`Xy-@^W% ziWIps5RKlq$I)@*$e?4#3$Fn}n@)#Hsb!B6JGB`}uyrwi_Yuvd3QGnAo5)DKKwoD= zY3vT6CN4!?cuoxGZA67^>YbihrZ~Ul-SuN<~&hVpp@TYd&6_UX4GHGi5vuryxsIQdDX{1e}aPX9CQPhitU4j$toP_nB&}hGa}r5|irz7r?en zSt#6*S{216BkamK9l#cW;-6iahZL%8PX&B>oxXZkR~o|7PPeE3_1lmhtR9d{lpuS; z^=L!1xxmo9cM@3}t&eGeE{Qg#RT!3WUx}E1fSyF*0WC0;E7~MvK?#66%38;PA0`Rv zCw}K=cVr+XZ?F^Z#=&`}PCOi_=vard2k-aMNRRMY4ehnE-ZK+eu~BREHPswZw|L4+ z0(MM;mt^(Y0}5)?V6b}E+$)0-CXF&peGkJ(Yeez#vu=IAKZ;jxUgwK<`Tp&j*YEFt z8|DvQyk||AbYsH&t;fMvfb53koF*c|8{7#?MCTsd%kzLzsXl2V7<1XCwvZ3PgVjQP zuiW~px_OieaTby_g~i4yR1tQfL!T^TAIN-X^ku+(jo}$j|J%3mR=O%Gmf=2{DZ0-N z74d+{e`)dI(J=Ddy&vR$?mn&}*R!{OXtG_U>163a4cdN$yDMyvRF1wlti+X&Aou9_ z{_%t$u!mYSzMU?9cYwQ(UbtuGMB`>o^a;>0IPsBI&8t8q^tGoE&n^pnXQo4l4km7k^^I4oolbw>aYqr!^pfw4smoldvXS(k0IUFgmkkL62a-zNI?Y58J7bx_io)Ae)j4@r0Ga$~WjVH}*Yj(&H zcsbk1u9pXNtm@OkSkDChQqUcLuf^abNGG$tq)Y6+PM=ujs9;y2cGh0uHRCoI?a#i_ z^y18a^Xi^Y_~_MprrK#YB%4pu9;-=*`Vq8Ts#4Ah0Qbt|(%`Fs=+wuU-s*Z8+9iz` zTb#yK4GqrPEzDIce9oSof}A&F+BRD)MA;!cZdxI*)>q9&Pyfe%x3Kpyi)?!V zO{grDtZcpsGAtIbgjVFxrf^m*Se%h^e)e8zkqP=L(e%}sNDb`C2^9Dkg?Sp=ZrBpu zTkCY#_c*dTch6|B*4&xJRuA<1U3b;?qt;Kg7}>8ri|?9_&N-&zQ(7)`3RneMG7Wuu z!dFmytWGT1I^cjsmQx{r;F(t&vC0bK*0ZJ9$27oZVK?;JxA3Mv`)Z_Q|sk6O8&pjG<+S6`H4Ix3O>}9T9l4a`}{r6u-H5+icvjdz)7>)b6&{ zr5*#+?#ONH13UoVXS1CK$7J`$KD2QTW#~#m7XtrO+Gt7@hSc6ssGFC0_S&*%mJQ6Y zO%G4P43T=D6pXSxcS1s>UeWLAp{2b(q?{|FI=U4p4vnmPufC#S=wd)!nIe|-yk9$QDzS19dQilOO$Y(NgUx7{v6ud z((wh5A>$gA+i+@t*OJzmg+Zw08E9@cV6~~DiMDn|?cOoC^=6bdZBF7d?lLt(7rTI= zoUBuZ^U*GckduxuJ0wE+I^*nCWoM-vv8Hy8A`7(Y)ZF2H)&T{SyvrC+1x?KueUIu8 zyhAX^TUSwk;mo3nm7VL>!u03w($0%FuV4N0Zz=R2y?np3Vn@!gR<>>LZKoG*URWN^ zMS#Nd{v4~6MO1Ip=hM z14gv;z3*TdkNr5ebpiH?`K$cZHo5N*gFb26`r0{vmqVPqrZA^Zy!cYiQAC?TCN-im zATIM>F`LSA+8Ba&r3tY}7mhF=0KScw>rxK3BP~Pvndcg+c)IeTGa!;%>pnVkd>b8N z*yAD8f@~9>sAC;HiUv{2o(z&#tiJG9nuUsXxenS(djT49B$$&*+O$Lue)?G#$!09T z@cV*)a=0-I9x3xI*##L5!+JB?9kgtY;{-iHL6zQnC~1dk%|0Fc=sjLw3U1V+=n#?ziX3_uhZ$_U>nQ zr^tgB?RSGJ!_QVm74U&NuS#BrB490>&d^^W#?*5 zQij^q)$x{gNyTPhEC`{;%G$KK?G4*M0=p+DVC7H$_qT9`?lpjM7!wWCfev;X^GKDE z6AZU7(4`-0ko{`Yj)3C^p#GZk=&m)-sTsJ%fTh(TW5$fpFw*FI>c+u}*-T5t_xUcC03K%sAlA-o)@` zAfoR2jwbL{4keAN-~xk3y-TTXl&NbcB!S~rQSig}zkL0{e(@sTy?b*vReki*JvGG$zxzBBVfn(kgSlNh?@@@%#)#I)J*xyhN?2y5nAb3jpZs5?!I)j2QUx5qq zz`J77GDpkQW(fK`@XQX5#=H9wF+o>zvF!Eq|9lG@pP}H?Nrtu*91X54);V=BMlz69+}mZ|9e@R3g%@3wTxge;=AAAZfT+3E#P8`KukDx!}r`(r+qf!>ZB*I4? z*}K^Y$YdHShv?t}Q>h*%};NGGvMHj*8@pSR)-+uGU*TJhTHjZPTcK8*_rHl&ip zFKih&1rmJH4Z~)16JiEMHd#6SoC$Y0{+ONw_({MrKEr#?OS<+>^O?u+R>~rq^o{V;nuu3xgusB8b&h*+h@Rx(y#cFh>P8nwoB+G5kX8CB; zcKD~vbpsAyjmV3kr-?Cq=5A&~7g;|LNr@KFhQO0S`ZUmgyW~x=x(v78%Z8)sbj?@` z@g}jG$?`|y%WGfGIlJIg7@R)GjNEEVCjOZGw5Mi@J1zt&70qFG># zHsyh}uv`~(>-%JzeYQC-GTeiZaU={03;H$$Ut!;)Pf{DTgvNZU7Z< zrYUrEIEd}UZ`iBS&MN&Y8Go-#X@Oc)kiVjbcV}Jy;tqNBw6BKjm z$L6B2*6A#v+!#(j{cHDL*peZo(+NT& z6fuEgMdX5EsULat_e}KkK`+;w=;u$fBL{+i-MBCS*#JFlut0LS03*|}_PXg6#<=wn zeFF%9O*;@CTfoXef3gsDsMO}}jFS|I#tkCh&{F{;-*X<`mv7$JXZ3q;epcT;Y%Q;R z^Ii<&X%AsMA7iBT+Vrkp8JO7f{bfV@4~O+8obRGdp!hpR;@(OTSkT6RgJhh(9ey5v zuP{zegIRmZY;#G+5&i@xFy0lE(>AeV*$*-F-vgn|ZGd394;YUJGbyp0#|pqyF(7qhZ%7n!fO^{J+EugZ zZqoo=Siv2sK~$n=r^+*b$7^5CBa`rdeSKAaWqWVmefGj*1)QO;+2eAir?sxDc~@&X zyrKKDZ30NXNV_vc*3jNU6Ry7cNiZH-W!s1*?o4OF`$-39v`Z3!b-@`zC-iXwWrsVf zEJ*nt%*pM?`s4Pu{mGyF`bVdbXY@B-%6 zm}9R!Pts0>J%k(SskIEo!~Z(Qa%uWBcTiT7-x1wx>h>ayJWG^v*=2jXriAqgcW#nB$~iGg5_sS z7~$gCj`!7@^Y)#8@x`-$UiE9=w_nvXr39J&tYM(Sw*|cc0*(9bY`vm4*|MX7M?$`q z9GlW6m=`B8wyo8V12xo7gKdyNiXX6I#KwM#yaO=xFo~dUu}(2gq$G};NRRXI8xYf| zFKE7Yge>b$ndW&CN&U+A?N{}E+temoYcLy}IZsOi^W`iC zXT0@8(dV)#l%~S7>y)~wFfB(LaLutq83vR{O&FKe(!F=|h$(v8XKl}BuxBM$`WUv4 zIp)rs&w`Zp)qbXbk-`K!Y)TDV15HAJCNZrY$Qxo3P{=3kBQOdyasv!V4!lP(NLtOB zg3ZVVv=D}w76%G@WIG?`>OvF{&!SvxMB{PP@*DMg-@JME0xjRa z)}RY-?J&OZo={=}2o6FJ4o%41F-$i$&Bj$W1jc|s8wyc>kx70$@m=GzK4_l__ciZ1 z4l16t(8w`DMD6LTgZr{Drt*#X_0zwJmW%knBMmUR0sTPKBk!K1hoge_8LE(en!pz( z9hz3rC@^avkA%CMg}EWn9)Z#)t3~%EWah1*syiKSpLT3;P8B3D&yFbpkEeg@laF6h zuj9mU_8^~s*O1XLfeBb!l(!3yTQMfD><0`}tY)x+qsgfUS*$lX%xMy+f_)taY%maI zxjEA}XP?fiHV2lbn8zk1`D z?_UV_dF>nb?BiQMre6RRfB5xBP!ONxlX))OK~so(rFE#`!Kjj<7$jS7eeE$e?G^~f z@g7%E23^!fd~**-1SfvDHjo%L&*BmHD_-b+4fIbPN&;A~PS-w(X~)yQ{mF%+1`b9$ z@riDK1@yn7>bNTbk#s^f9HGn_`rBQT$;%^((NWt3N1gdr3K2!?A_3W)`@`am>MFs z;Clsmd#-5^;6e>(q%wRc;>^|_9V5nVwniC$C%S^Mrf#r&K#tD|x#eRzuQX_t5wy$b zVc->{DGeY{A{aqBaG-FahX&Hgm4Qih1#3+Ktf-U3$Z1FKZzC{RMIW>km*@m3#ppR33 ztqJ}^2O@5*hDJ_ZaHMkUtMPDJQ0Ny>VpEZ+VLlGHE!}{tMZ+InG;0IE>ovh38J7~0 zI4LnkkL~H-y#PfCz9Qq=PC{Bly`!%r+q&?8Z5#a!1c9E5L)A(MfAn+Ax5*)LBQUgzoG` z|BMy!+BfZm&ru%SH1csq5AgpYk{QFZfNsAn6dmQqZfm%;K4MO^1Ea+P2L4nALM^r- ziYOQ`ZmVn!npbGLHRs-|VwBN;$|+1{7|Z3#4)?TCQCFQF_4Mz5@&i!%JpBjXOCf4- z&H!n;eJsO_H#8LC>cbaa>H{pXCL@rxF4oEwblyHEs3bm`sjliQHac24y%mb6tv&&F zr@duwS`CaGc)4?;cwa#AJbri@nbdgCAVd{oVV%H)FSpPGXrJuatFZxppbg!(;}D1Y zX0%|~P%%G{fG;GvZH2yzljR2K>>70E6d6=v?Bh}=sjz??KX%4SG=^lMCBlJz&4_OrHwdqLC%mv zi`xa8oi;$#NsxUi6LExyTcAqdj#iG|a|Fa1^k{yeVGU`L6G(_lh(KzMH6a9l;B*h( z+~8wP=j5#bIl!1y3;G>^S=X+8t3W$U7_%6d=PUvP?d3h(t+b&M+<*)t@%vn z`Zs*xyS}LWnMdk>&DURj@iv}+h_8JUU$oTmgQf0csG?t6*7!Jlf91=0Y}LJe_j$d4 z`^`(TXxWZz*oL-}GR@JtV*0=Vcp%Nb<{ALRKzz8!u%F+_@b;>76_g@4Je+e+_C4&8Q{|_H^_h>g0kJ5Y4w540H4n zoKjRN)PXsFbUC#<7NgS&Cta?q#~QsX9)+qk!31mNYjG~H6Y?N)ixOTiEKX(%t)ng& zMA&Kr6AN5$qfy61iD=F$6Lnba3<3@CRRac`b#Of061%lc63k}|qBbppjy*Epe)RR{ z{`I%dPSvk{(_S23@Wc4xV=Q9a6vALQX=$zC#o0%HpD^cE0Or-)aW8nE-V90}SsjLG zk29@#+sOwkPljUM4`Nq5JwyE z%eQfeLOvyWojeO!1z@EYC>3~X7Jx0=d5NwqeJqBdza2i+3C1k%H=FHZnoqAe@+_D@ z8=Pl#)8>HThS-< zfujfAJDFhb7TZGB#LSpNlG(*}JK1@V^cCm_4rnpW>85SNP5GGAlG;`~5vZnATu{Ja zDuRnUA|y?C1-XuNugOrYmXFR8(icKm9zlzLefZ+cKE?M4=sIda6ln;mBUk9jNst0sHG z%tZhWNiK}D+H5&7f8g1C3U_6T=9a#@FK-QdIKBuo<8bPpaw3dLK}xxF`us%^-(UHE ztA)gC;|>0pw(z~s7C!nGkzJuSHn5_}VHCVkwbVtGp+O$rEVc=iXZ~$J$#JQ1~Au;`rWE+rY-9PIJqpz4Sc`= z&4zP(t-YY^kDwa45Z|yDRhTY#vS*He%r$^PjL>}m{yJqH?aeV+5)mG~twnviX(0v( zh9jK&*3riU=b!lY{WII#Yu~Y#Y;(UL-}}+ee&dh6Ed)1UqxS6cI09$S0E-&0{{d6d zvUBN)r8rD!tGjg(&p7Mkm@|gy4p?42N1MRJ;%M*5^W6W603}dQ8v|%Yg{&lhC5MET zNuK_*n_D%GUt*ua{WH}u=(nY9EIe?Z;UYG3tgwwtVgen?HUOyFtDS@Fa^~f=4HFt< z=Ye?*dC;asL={O;5$9=Jqy;LCEsd8|+S7mjeRNngCM5r2;!E7XqU3_ZsWx!U<=R0j zMNK}?lvP`r+Y0gKmv+T6mV2K@BaH>V9Dh6$ ztzHYE5b0ysjYZu{WWxZ%>}!z$G7p}KqO#S>C7B3+8eOo;?XkQG)B(Na?9uj6@YR>h zaQ1U$9UGHtpgIUsM_M!pCN6pQ-Tj$&U;XsW`)}X9`O3ff{8^v%m2cgDFRdzrR|MF0 zSI58?Stp=0GbRqunU)}x zQ!)CvfbXegk$6l-d{jRD7vFEsGY3@E)%l8(;=6ldepc`Crhi2fWWmn zk~jzhnv*1^LQp2^M#iz6K4HekhHnrgbE#I;I#4G8x65p>j!Y$-(~s;X7a^Z*_ah4C z0;1-)Rw_o_E9bM=pr3a(KYx3kP4-^<*8Or&*xy4OcRyEuy3QJZ#j|^dxB?*vF~kr~ zgxH%45!zSW-+2>CynV3ez}F*_wXjeu;gzZa*x}9vu^#javro4cBjGOOHjm70Bs^`c z$ELa=(E<5gW7S?zpIIa2G(}|1Y<3_lQVbOF?;(F%t6?3gxp~2%v{>6QfJ=K}QX)Dv zyC9XAL)`#DQpEXxY-T{6K>tt>u1D}AQR+9(+b`;!|MZ3P?`z+<7hP=h;9~nIFjA{@ z>e$dcs?C+&Ct##txN>W!wMMXc^e9FoU!t!%1ZkdV_{c$6H6PmO=tN&Qr#k0YI{RSn z2f%}qqo&P%x@L%Zi*h{KQ&0cp4J+;99MV*f?gvIk+PJ!Z__mb1t;R4kwxCc>h@zYC zdy3u025|g<5rDDH2A?8O4o^D}4nZ%Ys)KydB*?i=b+g0SV%BD#o=^YPRaRO%>kLF# zBbL+JIt}LGX6hKAw#*86Y`k_9p0h1=K#9&x4ZUgbOWj*eAMMO+SSN?r*(lQJ<_c`x zGzmThu+`Onc(*MjbF8QT`jemh=%br97Kc&C(68`*6+Fn=1+4KCy~aLOaGlHve_*pS z%ThY`i6@LxcdoOPp)w}7A>fW7WRD}j>hC<*O<|K>9i1WCCVpwm=R8xAv?B*aN)|E#+Xlp2Hh|jpL3KUCiN{HP~P7IY9tVUk8}i z-V?d^*HntkII!ymKbl$py86AZ{9V4;?>&B}o&#E6`|iEC4vdF&;A3z?6d8-*+t4mD zq?2(!l^Ak@{H)#AI!%>3K4ddHka{`B^_AHX5OsE~$V37)76RkZ9bzik#~M3IRXfwQ zDJb868Eu=+)$yhCW5e{dFX!BM}`qS8K)E5L?ICMAo84 zB9rLgOs-C(t)cBr8EvrD9$5}9QEK^`kVl<0QV_Q6kQ$vijTQnIs%BpwW*~iuMvC%~ zo1t9~T@$dXCi#;MSrye#4$y$KM^}Vds zX@!%!0f)!bVsE5u9x8$tyI~~EH*5+Cz>GxP$-4bnX89{$&ZC*Ve(#%lmv6rQ+`stZ z%in$BxmrfHmXxzKZVH-iTLX0pP~9AgaAbvHA^L=o44z$simV(WC~p{=?vZ)~27SbT z;jXcPpKu0p9k{{f31wt2Fab|zFHFC*^Jw2SFJ1c{N>c^J2luvm!1%nhV#5$jH(Rwg zRcL6E1p!YmbL$O;R|{Dr%R~_K;Twbq8n6WS-cUJBue-wor5T=UH}YJyDQH$b{WqUn zA_uZ!>9E0gatx`%n5hAl-I+P~jOhV?PFtxkL3xnG3IAgq#TY8p!QD!Vb)+KO=qJ@qo zHX2<4j3^>lfY9KR3aH#z3tPKYWx9$&}a#dGEz@Wa}1v!@D{FM3q5^7&=Pm)UmWU zW9EeW4Y`gw5xju^rF%QWloyU?XM+0&y6nNdrKM}zigeA#GsA0N&f}Tk>v#TDzW2|* zeD~5~VN?mACpig=R{>Xt<-Mwih|7d7q>k5JgyZb%^o00_l@E+-POPCSDM zzVhWfPPu+gG@_+oj;-xjuTH3L3u29i4SQT@0V!gCi~6Hn=GV7B4~cv2 zTlVryh974#A4M)RM9BumT+nXO0_bcu2Qn{W;Y3fmVin4&j;=&UIGGbWp`m=`DKrN* z?^Jv_$Wsbht@>#fGcpknttVOu&#@Iq@qKBgQu6fQUK7gh0Ej?$zd$ir2(V&%BKFBQ z;&(fTEX;uv#T^qcEe2P&f1v!x#CsBS3Ssu$YYth9*q0RI$VU2#*)yY}2(gW3J_|1o zO>`;7hJ18C{dd=g=CEhe9tb&F1L$?AeOPeP;3l0m=-wltzQOGH3bO`;$lF0qqTOZN z4n;~@NSpYRF=?PpDvXS^J~`kNUbV{E7cbHVb5-ej`tLva0i4o)f8`I2O`AoC99XBK zjAx&ed-U)=PZg4xO5w@hWK`bTL2}=A1X!M_c9w0)Fg?>m*Iad+e2?S1#Ay58R;wp8 zotu2RlgnAvww$)cch!KqPHSD3%?b^?64n#)y3w54(d_do)5#K`?3H6j>+0#ye&!mK zbN1!~V#|Ge+EFA6f5Qq6VAHtIq_rAX+fGOw36hTB@1guy1HSgC!Ud7ECT?RO$p)V!P4l@s zP6*DB-@!7kebbs&Ywkg$8*OII@2VHZXv4ZF0^!;DpvvIxe~R6wp^voz`jOTqi5ka% z7Ok7ilu;llYtlvn{pWnxrKb*u}HvIJ~xrz>3_IdLs};*T3h%anNW~a9TomIB zQc#eN8IgIy@PVE?P8FKz zQrRakqEWE?@5H^{u;R@#T~_Ge7^TH21$)gd^WHU(e;0QY-`ZSxXs&()u1Hc~zMHH` z7ypW`KlLs&U|yH`Y@q#h{q%3SiH9h#AM>wX`PTh%B7i>rTyH{7Gir6@G?<&hQ zb(7vfjy=#LPZCQ7dX(V>u9MlG{---pgFDFK13U)C0pc8cT<=JxD}49hgbwlAY6Z?s z?i#!^7I=`{bsw$j*KLOg^b$x?j+X26Q|^Cv$53Ffc7 ze}Q7tbdu8o6ceY3uTRo58( z$VTFd3yXkYMq!caHSN-KU^beET0IsudXp4B`lu8U=(#!=l`4zoD0IoonW1q(r^j5% zYeUCKa9>Y!&xZ&20Y;4Q_<0t2?>TKvf9RuOTPAavYrs4{^eF8$PJ@N6k8tON1TfFz zMqbf;Amf(L+}P2|($-3aO2r32s1a_Pmc^Yv?*dcR_Uc84>v9en?&Ua`63H%NrkxhO z5VJ9Cui)dhtvBCiOt!Nncsk{?OqM_O)$e@vCf`2u9KQBld$y$ZhdsQ1B>WQue?gw2 z;5|{`7%46BQvnig#6F;&(1Gbrhn&O8mn`KKI+1W@Yj8QL`tSyysQJm|j&4OGKw{7k z?P$}(c{9NH!ml8kjy9kEm+wK8<_16A3iZ;tk9J_8M=^sTL$e?;m#h!M=|@} z4W!y*v{?e=hyL`xe)3^rU@eC(s2Aj%C0 z-DYXo6aXJc?a^3Whe6QA((MpM%0>rntzsbGV1!Bl4|W@K4v96I0JVKi>sT|^Fa$V& zs%Ljng}(b>QF$yRUi)$$?VR!Xm%sb&CEhn6m^veMf&8+8tkAX5exs}}nK*X%rw#rXHz zTuMv{qQQN&eNYbQ`H-(6%hK@ghtEQ)wj_#~spdS9Ik{Tl5Dgf|-VpPz3%@92NRMN3 z${9Qh4}3jy19h|+e*}Dyy@kT}GuX!~U(Unx{AQ>*cT}EE z(8_t;-fQDDm+yM0&1a4hRMWd{h_eP%CD=<2%fyBf2atQCe;Kf^QE*!o8-EO~F$l-n zm;zCKc9cW}1R@&1VLlJa*`=Vn)m)UIT7g<~q+uO@+|ge9avq0B7t8&^C%Qys**XA; zbkCi+_m-25W(Ux0UGxs;oYJf9ojqoZ4r1A9?&uE=ut`fdNy zh7QQYU~_k$+SwmvF0Xw#k204p-hcb%L!I=(GSQ?kaT^6HeS;Ag3JVm)n&1$e^LT;k-}ipf1MB)hWf1$M0#ruPei88T2e!-qMt28 zq!lx&GCCDdV-P2$c|sHI`XimF`&JD7)5LrQ61` zktiG8W`j$P`-w(tXzs}Bu09x3q*dA^JIc|;=DBBOKa!7Pm)E|WN5$jsKiTuew_kt$ zf6{YBi0?l(V|+}6i%rw@EiiS`9O{U2BH z*h7YJ=%C(gZKPxK9!mzHlXrS92HSxW%^UAa!4||w16}Q*N~=S&g*}E_?y1m`Ao_x7 z)(DjA00!svK?IOuM`hUD8ydsM^5V5G=W#UphZKyqxo9&wz1|v+w6oH|F$7D>e~L&Z zpo1D>I3C())h2VV-N4)mb?Et9*KDWKR3_vpYH)OMQY+s#H>f)p=^Z(FFc)>OUUZ+w zE@J!nXcY3Bwc3$j8q1K(U|5R);oydy)@b&rJLqb9YE4~;uLoa0Al1k|@Yw|#K3UPJ zr2u@ok+XA>=Sp}qVbea>;6i=te@51cp2yAowJ+!KRQJ>0$+z#ndTG=R^zI103RqMk zM-OdL3Md|ZaIS0O9Nc0fc?M0hjW+=E?NXOB4bhfZI-uC>Hf12%D*?^!z{5j)w-%i- z4kHT~i8OW+FyI#ito_3QV36}^h{gk=Kl5l{>yjbee@jGKDXkadGk^+{$Dt0 z!Wi0N&sJ25eyfVzwF(oj9I^y=JV&uHc+rjgI_%?s&4`?{!$36`Ln5L1*p+|n%X$1f z-@pCodp|EcPXLtlEJaXywke8%n}^PJ_IAwHkM<$w2vqV3fGrA(e?zOe59;`iHzql7 zh;QO{x*S&IZ1!fg0tr(-@lsNf88GYztX#`jEH5ZgK9pyKa~9H*J@$0!gJrrR1S#ic z=^F#!vZI}eT>#L8YNq#*0C{6Iym|%#G`ekF30&+gso)BS{I!f~2>WQ077Qa}q$_w? zZSd3o`5{H&#;YKpf2jkwfc4NA{AhSIyd4rl3$a+t#saB$L59}>*(y6>2fm4E;P~U{ z!5xIw4%`WJW{7rRaXQDK1MIW*2SEJ++&k#$|GHvAa4-%W7Cu|7fh5s>=7-ZOjb4Cm z(Sml+2AW|93Zij9tQYtkk+@R4K*hgWG@P0mR!poCf)1&If9`3pbkjySJHy2qvusVB zPyhG5iUM~6j*$h+$QV}WiEmcCySu|+yMUP>nV@wCx_?deLoGObOoBu`a7vU>XS5Y9 z0~i>+O>%SzNRUP+;C^)Bv&}UTAh1S%`j`IlPyVKlJ=hovd8}F0HVZ+ma)9eBh^7HQ zHdo%r@|k+RHYEAv9$erTqlZeH zV-K;%-X2Jx$iGB3=fO$4EtP@x+fvW5&N{8dodIv^W4d4@wyG}-cM+Qz9Ku`W@*UQe z&@-})g{eENti%hYT~mnu+}m;VI_Tyl^v7NO&%*Tdf93fOmBee`yBF;C;}=|yAAbE2 z;-N#Yq@ho!^RCYO%)J~VQOA%SSz9w&)=FCr?bBZEObUphG-XcO1spNZACf&{SS-Xr z5x9lD_Z=m~1spk1oZ3MBdgEGa*wg>>eWasr?l^D45hhs>!mb1p6UxJYtfeoET*ZO- zgIogOe=V^64A})J`uEyO&eZmV#{#@)&9cBcYNM?)eENb4#6e{&B-~6p`|@xf&5<^d2#c_DrOX|O8t2u=pu%f|*DIDSmP0y7m#?kX9QK{rPJ!8;$VP() zWOZ;%Z5DNOd={FiK437$k>l~rfBW^Dzq(gGe@m}@<$L!+Fnas3{X#H0e*H&(^N|`w z!x0KoG6v$zPV3j~cC^u4K(v9XK&ksQ#4z=f^$i)j`?PJpf8d3&YO2E3xM#v15xHT{=1p$rNTG8)u`TdS-!7m&_c z?$HD#8qJye&U^}m>BVRJJwS^4GQ?nx6L7i?guB*d_icd17D58&e*lnL#0NW%mLKPj~s9+l2b#$C`e+ylng#WbLxk8`N`T3rl?PnggWv!vw|g>Lr4tI`dB zckl}7vWLSb&Nd_V?tTz5*O0fxTevpO%qlzp=zDB-zg?s5}MroRQc)A5b=-( zhdsGZfC1v^|Gln(5yi7s?t(=12FlY?Fg<`VZdNWMGQrPl!8fjMAUIR9e-v$thKUx2 z(hwVNL%f7Kki}4?ofa`VUG~N)wFN!viIyW+=Gr};{=eJ!%?;vswu|X=8n?yOPg8*j z2vgB{YQqF7OfDq~w0L!3vU*;T zh2zH+^|deOQRe^6x9{H7e;053vwHW^uxM*v^Bg`)B(jhekZuB@hXkSyS7IiPo&z1s zzFnQ8DX{{sKoIukxyrlUfzUWd5PTtUDiUKEZCNsLQl5Lxg1d6|Av@=&I*-n1{aJU( z;C*Yb?_o`LrfN>$+;;*VK@dcC&J?$0$bDNf4~PpVP~dMG-HxB^f5_TFr3YyvABC9@ zF8h|=Hkh5EG>g-xYAfDIQ?NDKdHUNw{mE~9>=hjjA?X7h!051iwlici5`I8z9*{2P z(cL%!&DjE773Hi1qG@>-Ks9n^C-iU^25?J}CjmT_aVv$CYYoKB5UF?GHPBz!y3?Np zx*1Q1h|1O-w1=4H$bAg3WHP-6dviUE${Cw6G~JjB?R{oF{hgow0HT(j{w`bvBtCNl$m`5vzJao9 zJi)Szap>a9gk)>)2$H7U0Pecm8CNOSJM`OCnWSPUm+q&%m5;m3e`{aPW8EHKzWe&iFX|7H>!0s6&`kLtR}$`!N^B?Pj)QjZS45HNj4(+O zMU@a4t?91W!w}T7_LR|6-P3@ zvP$WiIYygzLLeRjgCZw-9*qZrT7f&=XMhlva!H#!e=}(y3T*;;sMI^ENSqc0lRoZ2 zn9%oX9az@^?eTVPrx?++1mI#q&H40q-#1KJjI~lm^m(W(d#%hqfI8f;IXRE0Bgo_m zMH*ZTfN$aMzt_ z&p8ICY+4`yL7=S&$gYW$1Zn>C_u?u7Dw#XR6aWKb;9!b&`2;nl?{%Ds)>w1xc70F{ zsGwO%+EG5G1D{wuS0@ZoM}f@)KvX7TI=wGHf8y{n)R{8&9ZC2^s$k1{`ulJdha9*9 z!1zxo#J7t2)o8(`tq=gMqRaQj*#N*=+9ewyEe!rGLEk(_pKTwc^KQu5*TTG9)|eR8 zVGpjxaKa`{K8p^ASe)pO1L)VjoJT3r=ihwu)z^Rc7e7FyjiiW%1Hlwv#*ny*h6xkb ze~jCD_c4v27tKO=$&ixd56< z*mwHq_2A@}3sIAXOrnV+SyPmj18nPUTTj9wq5B3iYfkc1G{6QU3n#g^ zf#r=EHaTV3#L-$=*w4aNIb{0Aut`7tfBm0c!&z8E*0I5@9kC~Ol*)S&Jl?A~;bfSH zKst0PJip{^)&M`zerf=DINCVUHGCa7C&ofhgGf84mfb*icW|YV98_y^$L2kBJpBXr zDvAYhni%TWQ3pp&vYf5#PP?wz608lr=SAMnaJ@ORVV<^*e@`vD z3Rwt>F(97`STWQBOA$?pfrFp@^bdaeLjb$~L!Vy0b*+>G8XSb}33fgs)R$>k&0&Ca zlk_~I!fWWLSs;hEdAf{^5VlD^7fPajb{6?)XrDVuwhgr8hI_VnA$qH(Dy*Q?!bsaV{*h0A0NFTC|0u4ae{v#Hxl%ib(dI~K)a7y*Q7TPk1qM1B(N-mA3IK9b z`@V$FN(b$!4kq_Bk&29e&Cdab1c*k&tE_{M3U4{2?$qZZM39YK`Sg$7odEeQ*4M=B zU;znZI4Y<_24QJMDRP7W%>oSGw^nAjFn6-uoe6RuJo8w$J0z&Q0?e=~K30R`{e z7*)KrHVe)362##q(bGSE_hxp)G^0_QEn;K4ZEc?zYP9DlhDOD0?v+xLY0AY9LQgmie zWc9O>2hnnqf)h#W64huQR^FAs(kTbE+tz0d6 zj(K3j0>ar8)ChbNxC7nsa<{VJX4Dr!Sg|k~MjKyfMd!AACsMu{e`KS^A*jfpBzXE~ zKK;p$KX$K#E-Jzn_@LB$a?qN)kA6pikppxdQtcJB&j%9IkUIv4MfS4fE` zL_fm~Ll7UxXs4R{8f}&a(qs>ir)&UQA>LtAat`#Fd95RKf4XT8MUi2h5}59fj-n13`NvmVBPzFvK*#$&OFgD5C+$;0#nYTdKBK_2|rv_?pCBjNbM1o^+Wa$KE_GC z@|}AT9MB)Ye*qsOOzO2Y`oFrC0ipY(JUYUA=y+cZSwF~`Sj~Gw?uHqhzH&E{Dj>Og z)xpw{5)Av~WY`3c&cimj8~7uRm1p40Ou*Y5gjiI&^Mz$cPT#xR;~H`$<{y6zv7Q~9 z-XKt_M~>K>NI{d_jFebv)NqJ#NML-x&UbE@WA=s*f4WZ+%6s~=CU7%Ch?Xtg5&m6O zdZWQ@HtM8na+_$}VM=Y!Vp@LiUbKgW4c=ovp_T}yT1tS~8R z!v?#Aqq+7q=H4NQWY>`x$mX()9RtYOMKDx#U=(|p$nLk#RYw_=KS}ubsn-hlb|U6- zV37^Ue}vm?JZ4({Fs(0-V&_-BXD=Y(evw}^J`%r(D3RN_7msyK;yFmOr3`@B^g|X^ zz|z%`c}C#rZ0M)-G!$qDOk_lL5p|b#d`yOB%8(Kd>OeEhvOvV6kmE3<;-;L^T=eYa zca=zFO~EEVAC zA;<_lhed|BelX=i_R_Kv=jjYyz~XUSL25c+xQVF}DC8j(x`CoGCMb4yJL5phd)8rm ze-&JP57ZQx*VM9(PydeUPriNk_HX{S-ux^(?im{DweQ|94TrYTx@$Mc zc?A_u)v--0$%ahugB;DE1r~>0C*W<@uH6cDE(jT=!2Ct*38WkFw9cWuk8>=|S*VLR zO3})VFCzUGVS?zb`Sj0z`tjd=-c`LDem)sy( zNrN&iHc@M3y{#=<@Wqdf*+1Q=hcO4ns$7T_#2~7sk&2ufIoNyiGaGV)U1ZfXIPNq7 z!PwF5d8F1WU(RF8XMcN6y?=Awe}DNBOEkvlyr##F16B{%U+uDYrBku1cAa`)^Tg=> zlrq@RVFLDI+jSG1khRy`kh8{?yG1uy3?2Y7f4FjBxNBULFo-q?OZGm!&F>o3H=u!h zmyXnu9;9d6-g_J*T6PYgYh_W}?LeV6Y?CKTAMm2jiOJnI-xK3P<}7!_e-K20QatWy z6E_dZQ?z|SU12@OQ3;F&pSi|g`Es5i@85l1@85p&;@Qdr;_%HT%s4n9##L-~r`8T; z3|q&nv>4KMV@u)0L{R&L-foKz0p4LK8oTE0lpzB0ELJ#4ZjS) z{u~7MfdlaBM6)Mv|8Snq8#qc(9e zin)Ea0ogH0fq*iKps!exTv6SRCHHI)9}RZM$>!W$BI)U${~iR!xfI-g%#7QxC<0h| z!FL6`V((X0L6bHTS>rIF_YxDKu_j|m5u!^VAw+UTPgto3Y_Df>e~7|Vw`t|p$)(A0 zCL%aFP#KrE$BzYKzY&O6$%;i&mgGo?L>PQIvH@8f zlT1YD=pyUvhJMLJ;f(p{JR8&9qrDdXSE`K}zCy?xR-MyCe=!0k=|_1q>)IyjL~xLF zF~@}4+}DOa>;*B~hxN1wz72+5y{&Cz8&Wv3i76b+l;_@|w2bgm}QPnX{x@DJw0|M|JMVwu6y>hnUiBJdpjf zA=(X~ERNPPKoT%3sFCBb+wj_#^DLV1^Y>qV``PFGQafrWZA5;~=o&{53FPKs0OvP$ zL-4{Hf3ktdHQ$5xLgNxnniC6PQY^=h(Fh$qW!~X-RR-~=H_l>6eA--5s@6!Z_=7u^E}UL z&GS6Aq;Bb58vi;;7P-&K5(J*CodkG6f*E-txMFSJYq^{K_I(Gva!eH7J_qidAG|$; ze?1=2Um-hvy9v4XoqMK2)o&_P{Y5HNdfal59gcvocNpwe$xDhEiQ8SHI6NSAc64+$ zVf>@_|mG4wLr;Ssud`pj@g72#~of5fAbg9)>-V1RhFIG(J-GFM6f0JFhct{PUa3( zGT01bD{r^8#)d3LJCsljkS4Yb6WeT0A8_Lvaj^WYPv-0J$z1jc8EO-W*@7?~ooa?k z(*_&?aoMe8R?Jv+86s5$4%eV;5s8WYp>|QTm*MTKDb<9fcJ964?1e`U@V9Izf8_6Q zOjSZJo5>IVz}GPh>;aVWYK6?LR6d?x7QUcF=7Bl3h1}=`V16r;gfvYy>Hx~+7$4>i~t5{OuG5BiZeG2n#f+FV&Bup40ypX1CzFB z?IpA3iWJWQDAF-t#tXBb>%f*h_L_3N1Yknn(@MuYD@R8$Wo(=CY!H6Nf5SicICYRM z10$4uu1iiRSs*-3&Ezc@Q9K!pQuL^nKKgE$w|op85w^i{(9Xc~#}ZUKTVe`-Asssc z#ig-xu!!t}PpD|qUWpn1+nUmyFXuM9@RJ|D&gW>&5$E_UZ?;7{N{9&<^MWGndIvf* zz>uIgq$ek{x1I|Lmb2S&f7-sVi)sBFNR<+Eap#0KQh=_I3RXH+%-GwyGe?BaE8Mjx zpS~pf*8!;s2LD?Tq;Q|!x(y_?6t1P2WsfB_ou(ssgIQO#1yGmBT?mfGIHO$#Y#Oz^ zCVC5c9%o0qIx;{gsNfq~;LzH3@6-vLjoY3}vxsi%^b$nq$0G}@f1OzR2N?cmmXq-6Gu(bm>yFAPG0uIZfWdy{$!(VA-lm`@hX4;~uBNqSFyvfa-Q z?>>Hf_3?fDGg8KKiB0T&<*T4{WGe09UH<2EV4P==#I_u&G zHujFG4(nlapM%&We+_GUVtN_dD?Nx6VdYFr2f_R-noVIQLSG;-cgjIIjA@RXyPJ$z zARLT`fB2j5Fn#z(zW?%mzS+7Ro(-T}>wC_N?h3#fK`27|%z3Cym%unfYmH)Q?L+L! zi@+OYuyotNa8>R$1RF)FbIsQjXs@8Sfljz*1fX053FS%ff90N({xGYHxw~yMuCF<` zA%Y2~0L=)Nf;ty7p~(p&jKwxTIMss{Ro+bw&Y6WY2+u*#n&I!3z&?%O#Ds6i%uNSO zG#`g|@R;Pc@yFjeKRp>w;wX2%XU{a{e>ILmFO_b)^Aq{uAI0~sO>~B$8sZ9TL)OlK z+JG90+QHP3e@IshN$?ib+#Cd9S$hxBD6ZKz2(dPdasGlNuu<;B&^UK=fV2z)mT)a- zC=1vcp!53f5C0gh!W&Mo_-5`UTLPT;jcqZQ@~0VjV!O97hph=V-=Ib4hX_VPtVCBQ z8`}qCJbKT06rMdIYC2uDt&<0*p2UzN%!s{f*TS8!eiF>pGjV@7+68$GUh>N}svG6i~YcZKxNN9HT%7XHd5EG|+E) zkYmtvvJ6U4X>_;40#M{vu|u4X(@7j^#>DBtz`a~5{Xm4_ZQ^T=jsntDtY^FI4I1WP zap=~De+LQrNDNkO(i#wVE=NQkkL(G_cJJn=xi)mNnzzvu-zdG6n%w(xZs}uh-+%t< z!xwL_gWR(%wR9PJc3|w#S#ttfoq=5W*}8cX5;Rvs1a{7lqYVZBqEU`5cCuRAf#&b3 zwX@R#2OqBECh*o(1VBYiIvCe}j0?Vz4n*l!f4R!=1&;|#i%Uj&N;E$FmH ziNa~L(Pie*Uc`WguAyyoSPQ|GIU5sytdOx~{Po#VuU>=QIN>P_XO@6olLFyrKu#d8}r)n`MEy?d+@CubzO zdYU(7D9Q_v%-b*OoiFD}U*h!--o~3(f9I#KpQ8j;bqx@)*m=uXha0VtG|;R7c?(12 zJEt;~FJu)pp&p(Z4RFd002yFg!c@?N+Xl5{#b^UhtJxAc;DfQp?%D_}u>wGhAR4r1 z6V}&MWvPRE6Exf3q#y z6q#L_mMI2EWM}y)y^Qy86M$g3NF)80mVEEax&5Ag{Pf}V`&Z}Pa~cYCNKYKbQBc=x zW2M(VRjXCo2#4WoiAu6#M+LfTJF1eGfIdN3?Odzrfa}_I!b9pQ3J*5x5>dYb7@3LD z5LET0bFw2_*q=x9eDAw2em2?If7XXwB%@78YLNhvHMRw02P(Z_saVM2j$B55h@-*V zIB*b4(UWp$={nN3HQo9{@~(XTX+se^@wESBJR3 zoWhGoupmEwTfO?dAHBYO15ZvTcfM=Swj%pYEAk~G!y6#10sleYSDLR4JH{QJ-73>) zyy4hD-yNhTcEm0CY@3)Sa+#v2xuJZpP?Kih5$cRHnaRR>6Q<|_*qTRcG6E&Yp!+>)4EuK*UUM(SG(QjpbN8s4Uon>#hWol7;}fMK}sy9nN6HnUrdQexj&t^r0I*b^)-W!&ys1Wji2DhdS!_e{tdf9h*FeZ_nd@ za6Z0@_3_h(csj9q?>qO@AO2at@rOVD!mq#brPE1S*;E~9J+dU4E%5#w*}WPy_+cX9 zL040=$KZfXuZ8;)AZuPEFTg>8mr;xZ7U!5UbK&^BqsJy~+-23sq5>joujmi|I8MaY z*zL@&3rBFci!_=|e{L&_BCqN|a508};3)CsN5PKAW^$lpime5il4DM7%cNj1=i6Rq zVLAbb*rPt0vLhM+UxcLt6)tHH|HLD3E4I$01})Yc4sI#px>yYp(_jSNjg+9tJ&;RP zK>r04GL?l}wOFS{c9PWrNdQqB;}Ch;Vk!8pb(QD_4=)ONf2=Kiao}N&{u(1~)v|k;^dMcc$&R zLE?eC2SoVOf5EA~&ia5r+a=^<1FMICkSjXNXw7laY7IF1WDv<9x@Vk46^p9n8C>Pg ztMzA;r}Od90pz_zHO4oiDuS$uYnXrMWSk5i{;7-Pe^v)A+=Y*_`sqB`z`gGWA6%mS zG*&}FgmU!^i9}gwP!>*c7j!gRA9Dw<2$=t&e4U00AZXE)D`C6=4c|A*X=xp z*TX-Js{kc%hfy1bkn6cPSDRv6!n%eLBb?#+sH0{b39M`6X%I4KSGSUmSnF7Od+q?m z(-tx$f1}2j$j;@BlME zu2?ZAm&qE^`gYvyShG)c=Z^SFs@r?me`1)rA$S{orXSG&Q({7xz6%qTFwpXr zxpa*fZu>$8xq)KuhTb)l!@l4N8T~w#fp9*&N;HrR`=L#3S{Eq}tSm+wnsrVj3kcrl_%_qhkExbn6h?2{;~Iw?9>pHO2Hw_ zfATPI#1959!MOZt`h*B|=gYZ$fS!+!6V%T|y1-B%iPk%Iy_ovJA*F*74)LxttvK0j z0ndO_t}*!h$fs@5V*#IG>!aI+imRbf9Z0_cv0m@SUBy-?gJA@f03IPG#LT{E+l}&M9xNMuC4;z@B-r*f6r_>LX>+77$~SxhtG@88jWNGkgVHt0d?Cd zMy=`i<6P(jBQT^WQ{ZnJv$KJ$J~lo4vsYBG@ufLp5uV&!q1#w%d9%|RS8hMWU`}sp z4TiNfE!Szz+1e;rkaQpgHq(R~LxyD&SncAGn4jzzK%Tszmlb5~x1?2EXi$Inf9J05 z0k%qT+dv~R6IFrM(j+l0=xg!ylAe$(plg^g+RW=~hY+i|<{rD90b-@_+6{@=t=+9p zy*~SP_I4v<((1d%Y;6&O=d(GDhkqVdvBsb_(G9aG?9+EDCc+9qlARNVuWS4Zo8*}) z%bfu^J6mlnOI;W##W2;FJasX4f9h(8!0p2(Ycd2YZPtPMwj*#mr&(fDJZ=vc_r9Fl zN!%ZtPp@9T{q*7W+mEmFxo|jxw3bUjCkJjG?|3=5$hjn=nib_qR5iU2zpCg3Fn@s( zi4-07G$ADL(^QRpoZDi)Y$*T-qfVZyF~Mj!T-9L%4h(bpld?AR!(P|HAcluCW~(=-C+u>kUpGESDfp#;QFy)`nFYqsoid#&ggcM#L6Q zl?0!C6pG+Y3{hzn_HsUaf38vN-Ot3v0XwA`n28*lak4+lvp@Wc*G{Es%&fwZ>^ho` zt0aBK>eH#kBQw7Z-oDPMu5%F~z-rp(;)z{8BGr2~@Ew;tKD0a`helJ4ONVywyw$oE zcUw`X%M~rC+cw?3FXv{7f9nVD-aoeoS7?_Kt#-~!5VfU&rVz6ge>&__3vHt)4Vfz<~X#bbubiQ5T8edA#%j1QGp;2gMrs65H=U4t+JsI{Z+;_f+rKz z*a7K$XbMWwd-fri0bbKZBy;O#;6f$e`vIobba`juEQOUvG{AWN<>#1F%mgAE%$ZyD#X>P%pui7)qhSt zeN83pl3tj(KdS^l`!i)N&kTTO(~`iH)kE9|Ibe%dqx;kz_#ND^hkE#zukTk1u5;-! zw9@0!I~st03n%mGbcQT2#F~2Np@*-iI77CXv~`AI#0)+1IXS1C?g9h4mrg{~mq@b- zLjgS@F&N z;a|D(RltQ$G;pjhq8<&bc*{V4!SB>+9rvI2VPv;93NmOwtA=prF^v?XYh@h0yL7{j zjk68X<@gRW&bD4k9W`(`aYi(hz5&^$diYnb1&+WK$aRQF^&ueO`|jxKgN-=>%)8-#Ftlz=+cy!{_F8ySZB(ab zL@g~;N!PLp#)YlQG2z)5c_qX;oriz@n#gQ8O?TQC5C$TX>4#z=s3f)wr5YP}n#dL; zvP1c@lQ}Hjmt=7@P{7ZBHrRf)6S$o%8vY*<<->Jb8fJ4JCz?YS1m*B%9(wpUuHpkX zn3#A&#D~tKryBq@m|E=fxN)b}^IU6Bc+RG<7oj+Mv~$5<(sjb2R@i_UgMQcrru*8E zAcUeoh$$Gzu~EN0J1|PygYDtpydJ-uyzTVU#sJu7cM=z*swoy-|)?Q@o5AmbckDtZ3@eTG_+Dbtzt48a&&O z)I`t(qY9Xw6JUU28cXw-VIhq(a8lmJ+>-jvLkGeh9jSb|BciZ<*Kv z2aY*C1(`P8h?g;c4|TVPfBQPk^dKGAj{l(0JqA86P4NK13nQ*`9mX3F*37F=HzkP04 zx8RvV_;LWbOiKc>G@r|B2^&gNB0<`bx;vZ&oDv3`>dRDr5(ZZW%6`0k&RW}P0^mEm z$`W|JO>Dbih!8T(p<{P^xxHEM&s09~WDwI|Lt6-PVI|_?S?BJx65aw}< zD8$`*=H{+r1n-X88IMQA6R-r5xcEjcxkV)sygdyajmCf?1Fd6e7$`)k{o&ui!s?Ly zAf__caZF-=@Fi|)5Q(gD;B$n>4>%-?J-WqJiX!Vch>hyus9zag1DKIY#A<~MMygI= z)(4b>3aEcK===`nz_}kphN_2u_hRykA+)wNqXvuZaV>@BItVfXr?KWH7zPo~|r30tHcjyuTN~-=HR4+5TH?>b)=LW_f@2 z-TI@GIHP`i4`k~zg9{Bismp#ladm+wN*f)Ox7ub-g#0othZlk>1!Y%o!LV>`X^>8W zCiIMkpq}kYfzc`KIv@Zf&r|fN*i8~S`Xj}0BD5$4b z3aP-Z7X@no8%BxdC@wld*2*!t;)DU!0lpW11WDPJ0E9PMYil1-5>p7inH7(@_N4AW zKmSnEgz)VcYi43JlCbL^Cr}L+V?fc;urEG|Os6?Qo(LOl-1XrJb%9}K2~Cv*;Q>O( z_Z4V{M*Z@=t^jBsEWf}G8p~OKKq#f@^{NKqsHQ_r7YOrOq^)N_kg0a>j95z zZbfrpV;8Z2H-xMLA-ZM>!GJ}3_z$js4V$BJUEXVSHKdMO;=N^)aMYE3;1|K%DNLyu z)KE{|+@N6WtvgC&x<!b>OS%_+_6v)wZCuKvm;9T~9DxhO_ zZJXkPbKD*SIx?PpuFDvSVb+KL@X-KAI2xJs!)G7J^p53#sxSAL@ciMN-znD!)0s1S zU(LYk%Y}jT<%H62V^q}lW;mtb*x*aN0DDZRCWOI2z%?X~X)a_+HW@$sN7r#e!NE^ny19R#-pu`Qe%LQWNe+8bVLN775C^)bA` z2PQP5Pe#wpscjTt=Ip{Y9{%I+KYAlrY)}jg=)mtys6Alx7bgia@6A8}Rqib%vLin+ zy$7Sc7;QQGpo7M{ox<4)wj+SaQn`q$@2ZU`_gIy}YdM$E?Q4iv}~=%>Jd3WQ3^yQ7wMl|mW@d>h-QW|%#WGr|_a%~suM4PGz< zH$Y;crds9&j7|y0wjch}Yo~)59bxOD?V8pbD|<=bdn;B|5hOxrk0uzX^8f{wDFzl$ zuw(cD>A$SB&<$a();x88?MrncrKte+zyU)VZGo6NF=WdZ-|yi+do)H?n+WlFL9H9q zF9GV}-Y)Od-a|c#J?Y>Gn$a;dE4ti81rHdSXx}$r0-CB!8HaltxT$I(ZHyADHF9Ee zo;VZ&Znmvl=fi*gSlOc1x>f?4ak<%2g+a#fjk5{dW(+>pUJj#wy7n^-7B^NH#Mn*8 zEC{gSPC1TMQeYFLP9}r@Gs+sS_wvN<<8^w|%gH;;9{!7~If59mRKmiy;9?p30*Wtm z-8!U4^Rz;g;i@&w4SM40PVAu|q_c{QoMqXE}BCUoR>pAQP2Q=8|Z(8&c?ESb?E1s2k0j0 z(K>#9Vozus%c0_lZnIdo!<7aAQX@)KC0m^(0Bd3H z1%SKdb5X$CC4@(CFe&)8^5LQ$(Sp;c?W75m81 z32zpR+q*QaSs-vY;3>%Q_OW4L8C1)WO3R)=i-5Z4i}?VXW-DPE8WFgciWb{aj{fjp zT`y~NdQb^}SG1fA=SGzQ|BQo5=Hm9^U|*tXd@du=@g@SY5;&hf4}4CI?x~wOmLK~#kCWb>mOmoA~&^1C3y64KqbaIQ$vJRF7PE9`SHY?)--fGuS>>Y_Z z@7%nv0Yaore>n;gk5034!}I|S;V42v1>O%zo5!`IuRF}K>70PJ_UV`^!tsXjl*9mM zF$=(vWJGOVJM-I4&>!ye<4^D2z4?e3)Tej(?#=BR=HB=3m)|ho#e!|0wa<*8*Z$+z z%y)k27k|xn4Hnx=3)%|I>PT$|H0&k<1Kmaf$Ncb>e;h*zz@%ZK#v#?k5t|{vGYop} zUUE$m1#5^Cpl&_KInxO8nrM#WXP>_3(a|txMY~7FYPU%|T4x8e;ttaQvfoOWSe+~3 z_hroWuenf(#q4T#94v(otg2KEu41LS0y#TOMCYlCaU-i4RIUPwOy8gdqp+>eCmg5C z{6==We*(Y#{=>T;d^pe9+3tJWo<-I24XXCnwzIwba!cZkArxI+!_rPrEjjLm>2AS8 zH=8LQFxYEq@o2C^i|lc_XHs!qs8^GQv$`P{JhE%;s+y=&17xO42o#3FD&zDsB75?a zbhTn{>m4Bo=vS{aZwGdoUmKaAiUE`jR7X)cMHLWiA0(hu(|~A{sl7w)Hf)KW-J9fu>CJJI%%zRg zf4x%lVs0IRQ*rBd<+B{YCi4IZBv2!%b331iKFZnyYJrXoAw;xP))ooSxQb0a7+#)a z2+O$HSw+-kwn=kNTo}*e&~I5FRNpqFo)N2^Y<(hMFV%X~R;uV{DF7@eOZGI-7`7bTB$AA7h78>3`f3ymTH*)M)`W{i^(3vz6Uj*Z^vj%{OIeM_t zzS4dZN0NbtGZ*3l5~p`L7l4$l83XCCGHHr7r-|rW13#M?6kVLHed_Ti9gaI+&d;64 zzw_y5@6X4dpZXs)7GHdN{pOi7MB_70J89aNAI8Al^^B!nLnk+E#0)&TxH2J*e+CV& zoxCvNh1yjj_}kESkhHPXn$;9BaW-hc{&q9z$2NIO%PN)%efHzA1ic|gvaz&%@jl3tHJ)RcHOkHX6-ta zJM3*h#x^`y)$sE}c!Sk&`+?s3e{!DvK)?INr+Q_tejIOJ@A!0{1uElYKD%|yO9Q&D zrG#oK*f`J*;V%O=4z|<1zEK*h-Pj~$0CbxmK{}de`X_|g^}gwNRO7&EfkBG=t{FypW#klXk)FdPdi{azC0hT_n18a)$%HAcn>&al3Kv%-~Aome)k@)?0EAR|I(ki z{kz}%+durfugBQm^_9QI{Op?K(`m0KJYPG(Q6Nr@G#tcQ zJFSRNZ#vhcptyEAe*zqp))@h&QLD6wIQ7_Gm%$bZ&jk1 z<+H7`TZ3nofaPzPRUuN^;-+0RPEr zb{0GKKEN1ic$Mp|4~8KTJm?hpOdL4-6mhkV<^<$nA-!ePH}=gl-jtnK5GZzRoS^=)0f4{`_^m`fxtJfA{v| zlSOy$oA)fkk8T)#zcz^Y#D+SiD|8(fVjG^0qCXmgTcFV@?cH_l?HN~8ytcqwlUUkf8-5eA(3-CLWT}mq$_HFMr@dC zFT#Ag4PA2`;<=A(UI%h%5d?)gquY@x2a|QA;0rPm!!8aOU2R_dYOJ?@umy#57~v@5 zqP7Rvjtghnx^0ns>wWy_-R)Al_bqz{Owm3g`V}z6^$Xv)#b#NIiPlX4D-5t{T>F^z zvk%78e|o`bX$^UViPPl!YwQ$&Meygw+HFmQKMBKJ%rtoI z0%;O~*i0UFs@2K@L7@UVT_(^h)*7=xX#@L*f883d{#JnbUcG-4pX%L*r)~5*-@9L4 zb${^K^kA(2mxLpiFP@9q1ZI;A4<#=riOIjPN+V#~)Akbsju5V0hVIrIw?Knp% zvf3LLB zT(?nzHacPyA<;p?sf3t5q$V<@UQ{&rZ0!Pw36qF}Ar%9TK(A2~R1)E>5XNsMwtNDEQ0Fx6v3bJ>zdITaC|~W+JPhPC zbw3FXQxGhJ!wxj^JUkpzmIroQu$wW=6)>L#x>_wKA<8Umuamm@yZ6m|X3>qCMK`{Qi*9X*7lJqzVm)L$rGPdLtI2Dma97|`+8%KhM)~<*lG;7< zu*O*AVIVWe6$}BeMRZ}bzqYSgR9C=hp+?&{JtwkdX(_EenJa@D0AxEmqQJy) zaLH?(vgr^1-Gx6I3a2NL>?Q&p9Z~Du6WdL+q#OOOdUOoFk+*5-y}qt=FYC;14f zr7PxcIguy=(sf!Qxhj|qcYG7xh14r#LOdG65bf0(g(*l?KqNEVbAmvLSA&GKZm|>XBaDab)<6`z%eFZNaV}8%MfsTpMOeWKE3|@y!+xwUG3iY?b(tp-IR1+ z!q<9lP0w$wK`(0!dU-Pg27L&C)$6H=nMhh*JrTs_5hwMmMLiu8$sJ=M2u?|W4cf0^ zR4}7JdK+4fQ!ZFqcvm@~UTP>JE_`=^od|H>CK3wh5?0FX%*!kf1C$YClvB|s6av}8 z*MA(S9L^(SGO@2QR$G)(!-30nr*(i8(%Ox)Iwq^e>NLR8wDLaEh7~sassn|v2pY#6 z##&`-y{+37@~uDmxSnWI?|sXDQ%4UjS>znnEp5XSon0MZeh?0-x(w}<^B{bEcAnj- z2yJGsHO@9#+@UQgT9l|68ljQgH>RnJDNI6p1`pG=;OP$@8iSMP|v;Z+cWEpZ$dr%jVzD$LReD=X#*L%8-FI? z1{9@(Id+J}hL54wSQk13L-%vnq0;IFf-Z;=EDq6A&}yi;_#mA zL;z)u?FtQ8^X@e#|ET#3!R@gWeGS`CIK`rOX*{oZTL z&&zlcS-kUIduFxuo7MJ>>^NRiPu*)|YdYr{K^TSt)X#e87~N7OFLc`?h5>POeBb(6 zv1f}}4PFGQDT7=tg+Rt>2!CmTc91d`~1agQ2+5H(jEXAi=2(h?A8WZR8PFOso(*Buzj z7S-08JaLcQ`EqU+$e&vuBG0Sy)A#ZAy6?|S1`+W&6p9`DyjqkLCTBDYSnfF$5eMgC zrQ@mt=Z?muepLECi+`6MwE@1`)dk53!b#YIB@cN}>tpJ`91kleg`&|*W6X7CUa&n3Haeydl=j+` zjqD^EXlUd+o!JPQV{qjZcS69Nh`4Rr?8r0F8Ph5L=_ad?+_kGWzM$VLSVL|O!9 z?=VNf<-1*P4}S(dl-!g?oGvnE^#eS>WaV~{Xvgf6T%v9#a@PG$^k1yjq?4e6+oz-lWV*Fc$bSbFY35p#SRf`t@!SYrITk-C#O9P< zs9uPxP9XQOV?*1pddEj&I0Pfb=8$*xCE(M!mz6&uk9_fV{r#`s_pc!N-TUS}b6^?2 zk_UhM=U@K|sJV9o#w=S=Hx$4u&Un0@62aLW$G$%KqI`x2@KYNaRzPbZW1UguG5j(; zB!5$jLs1Qywmi`~YW~tU!8>)1>M(-Teem-2@IPJjI>~-<$qJ+gFwi44G`*asct#aeqM&S4U@_PC78rJq^MoKQd_7z%C`gHQ0EG z@jh*5)q+sM8)YQM+wkdPMp6V6{|U*rP;&-6{8DZw@I?It+JAZ~ zCq|L42ra}G_W)Vhqu)+b=^0J1XMmtQ`?5f%5q$?BANuH{jIY|oYIZpkhbVee7&kDc z+AS(Jgk{L8jke0PhW2HnB5S%M&pX@fqb_0#^M~e^U2>nKmGLT&Fha(wh{Nf zZO`&Z`wfruC4A}*taofM7U4pwiGMMNef$Jw#X=fo%N_^56I7v`7&I14&f>{7$T-u1 zWE|FKAdE7{3cIG;VyBK*@n@SaWKyOn)OrHklns zZ~)jY6~^rgTw>%v=yzPnkISjv7w>kl2D7b#u)NurGHj4QNN%+HZPf11e|-1hQ9JPJ&3XHSPfuz<_r869 zI%Cq8Lvb~6XzS4+x7fP_C4aNH2_}A1j-6{1yeTuLez*lt^1gTVquFt2!OKApHs7rZ zajcGwbLH-C0}mkxkXM{upzO}B42Nl#*4xAX@--}e+3?aZ(uT5Kfi~UbtuI)BrwIsO z*&2hB9KCi8gbl@}(>Mo?3&*#d@SnulAiz+ivGzi=R(pXcW4r;(Z-3spAHjU{q240f zZK%Of8fuIbNaUfbiHjpXTD{eYiijGdH=L(WzUabZjw@!;>tIU&YjU-@4NVH{i5B} zFTR0Y?AEN|$dB2+s(naV7DJQ zZ;^Rv;wKEFtk6_cU$d1-1-H~olTCB*ld(nvBpy!83HOcZRY(GlDA(Z4aBp%U>iGY9DMC_Zs~1WlAmdv)kn9n2%>eg#>wvCuAK%jh z5UOUJFVNE zVBO;9WC9BiUGl7uF3}B7YlCxR$t|}MFswZ;gf>Qly7$e44ODIzdg>5XZJxf0X(mGM z&X7AqmQ4y;yMu(^f%*ZlbeG4DT?2K*LKDqmL+4GT4u3!{9hple#KQT+q4gIK9(ncg zQ>-`VOIO_MdQ!5!_dR@O_^I8@*}crRM`A6Xt$bn{Er}Qq#|C8xoWo}eD2YsUV1)sC zz>(4it&g>x%C^^@fb9FqjmUmiv~b!CUVGUZ6U80W@LX95l1ic8diB1B$;1EtHEeqp zAwfi`6@RU@jbY8Ku8zJbIH(eQEU6jM^%L1Bvm)x!W#Pyv_l- z)2*2hO%@*@rmG?n;*;6&oYi)F&^-h8w5cAX=EC4yrzK%vOpN{AMA#v78oHE+n!wvHz z%OI#*ml3g!VV&Yb>8Xxrbnc!6dR#ni{nXx+H8*}T-%PBWSk`j;n zjcoQY0sv1MMyJkoz=8@VWBY=d9-P>#TXuVHdjIa@>z`tke2DyXKD^2|@$ut%@_$sh z_g#E;f|zb5h`)h--|S(;Fc$G?6Z16cW9XDaHehh8jz|#1HAZN!p(Hcg+_7|SWH@x? z0hqN%T+N2^wg;*4+SqOY9!gur9)gVxlJ>0+OU#w&yhW@TT0;y8?8d<7m8>SUE^bsn z*0*&{3xlP%AxfE>)*47-uIO6T7Jti{E0vNV2r>L*S{tDU-nG#o`^Y&-9o5Dj-W`z_ zv{Lo9PWy+yV8FaOpTGX}>3n$7cDnQZ`%O&&?=~F6I6Kg%-(CpYuv5_v8V&O&K|Q)a zB;d^0*GDGVT5!!DczLc}4G8sh%-SHhQkH4s)7vCo#GB!^gyxMfw7U@%%YT;Uw+9EO zRp@msQR@Jf#yN%x-DarZhS!V&+?X3WY~BZQESXSu!UEuL z+Yr^Wc3IMdVd+NNMk^0X2_?Yn~<7w>t-Z$>6b}0>;OpHk3lj!-U-S~HCM=_Y zqCMaV%=9NP?w~D1jtOFnvoBD3E_;;#NZ@UQnhw%HwAukCeLpRcahwY!>%hhqpH4a6 zbzC_27-FSHHE8~a?O;H0~7jD zq+uZcgsn+s<`;5*0)KFFa^^<^vDcSRi;TPF+TE-xKqA>T7MC;@10l_-l_> z(fhLP!;O}f9ncdbAY*{*2$|5G=t=w9d2#X_yJ=sp5N2ZAUOSR;O5f3`tGgLx6A9=u z2&_Llwc>2uBklB&Xzd}3;ioxop;~F7#wb!Kz`6M zL!<(=J_v6(NF8VnN$_FN=gLFW0w)PHerKPUnaB{vtbY}1wB2!%0c=+v{;x|H2wCGa z802w+Qkz8$nZXAAPD2icHaH3t&e*W@ZgmuC*@A&xr(HC{eun8mEf3pJAamN$S?1Yb z+eM{#;#6X33+g^iY)aioM-jcSP^4{!c;c_Pwz>t_N^nbR`5bi_=+-Z0O0ny@*ZSC1;CC$ir=U(U0x zn19Fn`n0BW7WCbV(IXoGcpTlHP26lB9qheN&=EEO#7=k@pa>?sFqXu|G@AsqIvLpf z5HdipUrFHi_F94cTWmxYIs^xJEI+=!%J~=LIc5Pa3>^bYvyDWU^~VKx*2 zGo@^dW*S+ONqll}oj6j&VAZbERx8=76MqGqC^E;IyPC7iRs9MzDiJDY5qsL00Zs`< zgP?kOVsg0e<=g^U&&Q1SKkuGA_RQZu^TBrT{bh2&Mre|l^2OnQt5Fv<+b*z6HyA`F z=EU=q%K?jVMfSm4S9Q*gU=mJ(3Gn%vE^`;K`WuZ>%|azi^9Zv4)3FD@`hQw1lz&HO z43elYO?B|Y7z!(n1OrB>4vvy%?-MpBfTF9Pgob4zSPMKh!TJup&S}S59IJUCoH~LL zmP90B&MIQ2CD`xm(J&P?1;&G_TNcQ@FX!gd{oU6eU;X6cbH!ij4SP3!M6NFQFsBv3 zma8GH(YXYMx(GW7k`@f|SWu{&EPtdrS?8>ssM^ic4fVs|m9slsn6YRCEQc`VMDCP4 z&_gsp0Q$rhJcd%2vH|mAWH`S_r5}iD&)Buz^5H3dp z1^?}dWIykS-eRaS8tq61Oe^gUByDfN8rp!%vtuCl;s3=32>Bjy2fn4Z;eXS7uPba2 zJWnTN=O=oBy0Y0)jpL?Q>pFq*2fAfL0f4#9fCwYG(Z)C&##qd2cXMb!*TEQ7A4j1- zQ=HbOKB*bs`*Lnq)#pFjuRlEZl*l4GFuk9Qt1eUGSq(tQAf>;_-ka@OmKY zV|NQ^)uk@#KC;}+%-zhXH-FHD1XcsOJPmU*^UR};jHDtm$YKc)G*54&m(e`W^E}~S z5o9sL>?+Gpb<&kbAkKz|#PcITzM$`SJ1 z ze8Z5y=WW^R(I4mb`+WQS^%&zcRvm~LaHPxYAA&)zOzpG}r=&RFf>e~XjF zwoY3eV+WoM%Aq-1Uw?%Xe?L49O@PNitzEGgC2H@@8;Uoeog4rt6kVc`-~2xLqgCqD zp{9PiH87lqLyf2760Ln``xB$ja%|HCmsfmG+O6@~s0Ss)Zn+^MDpcv(nZ*~B(i2F{ zQ_>2*w+JmE?u?+S6J(-1OIc@$e}|UPgvK^2K`eq;%o=G?(~M&bCwN|odgEr;?cpZowu0J-+z8{ z>g}tqe*ETzZNY=D+>4P?xrvm12c6qv??uCp1B^8k9gt&89+1ir6y*DejMJg)rEH_m zHqeo|B2cXtTz^LlKAcg*nu6Iv>97OPLO$`PK-+VFsK!a)yGAc=D-NA+>m3D2FwPzq z4j)AnVzIVq;>ojlf<}f^LmLLj3&c00&)Hy?5OFaC*dn$V0cj_FMb9vpAbG`fcA0Hp zIWyFYdC=MFGaKrzax10yTR(jJ)tArj>ecg`^ZNPoFMsZ0{ExnT4-`IOVhsFkV&Jpc zt7l#|4mN2_vI*y>&ZytV#kyQ|7+=6KH2;A@?T2Cj{)|+LEkGgwOmQC~1=2((ZqTAb z6X?@UfggTSCsZ@HRN_Z}oEJB!zq4Pzul@Y?B|ND2t__dYT7#6aP3dAd_KXcc!s)rX z^?~^v`hQ$CkzJdFxtA^sF9+za=TO(yniez4QHGTCAfhFJ!OXu`U#O zfNOZ(bBhy(8_lLRZiuW5x#YtJP_Sn1T*D4hFbE!M#{rKXKgrgjcZc6{1f7|_g7A|{ z?^q>7%w|RDHZgAAxlk#Ve!ETi8}Hw~et-4#SFb)?zq@m{M_;^OS81SBHj=%Y)8K_Z z_&y}FUAjd%Ic9Ir)mKa00=urQysm@jHqJ;1l#A22Me}Cb(V|&x)SO@}7YWLiu<5}{ z)_fqR52Vb(I&s|YrGQEzgjfb&`&PtO#Zdw1Yc|J%SgkwiZj&;DX7_#RvEXTe;D1tp z=EO6?Fq~?NCs{wBro*H=actob`vR7DiV-koLn@U%h`J%kt#6+>c!8TS2h`MLmd7y+IlSEG(gzg4v-l ztnwh~mzDt02Aihi67b#zwJRly;8IGcf?IDx8cqYhVBaI6swk-=l`zoy+~<*KeP{eD$_|SpIe89o6f>*Y3q9O1pWY ze2R+EqkqD`d7}IpJyB4R+ZY{L);@cO%_#`)sbNqGE?MsF7h`49CX6&<#4=7Ygj8x{ z^)HY^w~j)@Y<<8|js>2~T7R5IDq^gees{>s^#wpXd+WpD7x%D3x6kdw|lU!zy8Uqk2;4Js(FvTcrRA-+D$d@J9yKvPBu(6x2Hoo3KGQ)ge1f zZP%LBFq1=6#gB(?cCo zpuX5=Tf>>W_kT0dww{9*S#;KH1a}ipm{y}}-PQk_$1o3shisPskXsls;}L`{u&7;t zl^Vpjhq5tT8(>u>$J(~w(o?1r@KkiLDJDa8K1CUsNJNTYt7t6*TDlI6>zKP*vwi!N z`+!V)_3nqSpW}Yt|LBYNEAy^A+HL;pqFR3;jQFzss#ov0#b1Q( zUbvJ*x!>H(06MWV5d^aZkd@K(P4@PQ|0aE{J|gRHZ=RTfaCoDA9ð&8_>^<*^_Er8OA zW34@VgJUrhX_=*<;>4){e|7g0_8O{TEB$29B-^nh^&}H>5q6!s~~@1b?rK35We4iZOZZ4;!A> zQkJc<$P|mcJhc#8?_vXqr+%&5nvWXOT2C{-4&f-xwVyjU5!^V@c|jU4qjo|YuE`U2 zWUJ|TMk?2(7+q=WoWgH#4Kzkr7EuFr3q{)282Jb|>XqH|2mS¨Nvxq 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⋘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 Em7 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%0AH zVBPtf@ANx0jnqMB6(;0DV4xfNUf>XDqV2$V3}F4@)6%$0N1%O&ZQ1FVI1M%>^+6tGBQcjKGSh$aKaqgrm#xkqbGea?^^p=Uq} zib8}A4jvtA964S7vav`$g4adVlb>^O09y;6J%k{zoB;j3qx$NS>54(xx8dX8H66e!aJInAxlYJ94W zA+uTf0%jxI!mG$TOccIyn`7>>x!VAoNoykz!$&3WGpo1KT{gr{*EcgpZZJuPZHyl?U`%EHntSoNJfC+-V%L~L5Mf>jx5|Wl6A+J z0MMg0Lw0{3Z6#~bmui7Gkc&~`tc@!9_7~sx5PG{;3tl-}*Q0JehO}YBJAiX)Cl?{S zh?9`EjwnKEOXewQ4E~EOgzT;h=XEhr)&@ypL9a>8^ww}v znre8mcbiS469pRTjcUFO`*^2XetxG&^?woNh>pfr413x79R#?7o$o zARG;gAu_rH$z5VeAA2D*Js2sApUWOb)_USbc9Me$|Pv?H`qG{ z2|gP;rbmXwl?AbHJSX7W8*y=&wagcKPUkpi^_wzC=Ee$9B!Kd9x#U(l6L7LRo_7uj zpZRsqlFIM-hCM&OGZD5hK)-)KnJgZLK%P0544K=`84=ziLbix4`G`^x{0yq>Kpr+(r zt>&`Ux9j2I%jcpZQ#;UlyUz(M6D>UTM#DgvKXq0|&Ju0xI{1F1iilV3+qdTB)TASo zA&|h}VlH4b%@#A#WP&KZWv&x{c-)(DZc9~LD6QJ8*_^1y1TGmS7Ac;Qn_7W#$PEy_ zFrY&_p#{9QCw64~+Xav0x8W*KEwe^O$iqYL;}0H zUjsvYSqq00__8#^|sD6T}4fS*Ra)?vKsjGVB5hNYrQHH zUiBb6?My4@Sb1l8og?>uZb&0AlR8sIYgB+mFPu_{2O?5S$N_Rbgvx_6=R$~>@7_V~ zqi){R0XLh0A=AvMl~Z}1YUxYTw=5!ja4s4$aFXcE&oqwTc=EWu{+X`JJ>RqEcU}65 zaYn6mP1jFD&e}lG`CP+m_s)iNj9$AiUmAL)r3v!fJQu_n8XH1?0@#p;yIlY*ydVvE z5{x8M2lpQ7J-x=>o_!y@q)7jnPbG)+vb;@lh(G`OyDo#ko{mw{X$q=ZXgZp}GR11cy1&X!k`O+tRv( zFnhN+)c`WjGku}Mtz_j#dq?ugHmoJ?&D-s-!)}ffc}$-f=sDteg6+-*WD?|>o`z+U zccL*_m}$sCG_e2=D~43R2tUT|W{9V-puq?%M@L}F*4;gS5YQ;SbURRYqJ+vjyxHyl zxa{UQi3&)P0Jw9Gu`9YvxoQJp^}Vuc)Lt1^8BZ+-j_m@NUy~wb3mA+*Bc&@~q1psI z*0{C@wn*;Ne0YO$W~3eP#xchobo-?*dk8|2zk#c08-V${nyqBp#C<^Hj45oYO79YMAad(a*E3Ok)hdNUzK( zh7Y)HGFrD^@rN)5|3Cd9EU16qAHu`(fBC0akNs-3_4;dH_at9`Twj0tfBbnP`hReD z+EreE76LLbEQ&P{ucE|YcthxMY9XNw!^Z_PrfzBsWJ$2lLbkjb9s=lN5C&J&WoaZM z>h&~6`b9gV_VB}#){40==jPm-H{0Flt&Vo4Sz2@+5#R{pq(BpNVy)vAaoT7xuJrMZ zE-&jHyUWJ{g35U~mh3Sn@6OKPAiFFgZ9YH66BM@fzmWY5pG{GD&I z_>pD#;n$w{t1rc?{^ZH^$9(;b$N8+b=bmrs3l6(1>y)C$OxmM$_ceh<9;#d6Z^f?LX5ke-Qk+$I9ZI`LH2;Ku za@bzhw;Xn#e&N#~-tvEY5W$k)_R$M%ZCJ9E+c@ZHZj@0r2cuiL7JgCE1H(siC`O2j zr!_0o9XYWFTVD;4L5EgH0{K`C#4kM^&+o#zEC_?_JE+NS6X#416j>wZ?W3=}$N+Nh zpVN1I^g)Cve&_Q`RH8$I5kIqDFNC3iWba!VH4lkAo|w~ZGFoE_nAb{SMgv8 zfq1f^0|;jZD<@+Gz~KHYUgAAX9LAn?iYNgWzf z7%miy56J>E=!FziQ2gcg_i;0t9~*-<(G^;uCy*JDc;}^I6w_Gypq3|pYiF^r4}b^J zk<~W&pp9}4wbfu0VshTMm>1QsloxXqU!(hQb z`xu&E&)sD|_rtH}lYHZ)diAxhd&XRO&-d?PZ>Mi_$iL_57v4R8BE3Uf$oE|b04yi>JN&~#u6QNdo4INtob%&gwq-s2d zdChDEtA60VPizo!1-if+Y18&9d~m9( zp9Cqd1?GAJ@w6s?A-m8GjfY?)lW6KLO;6~Htb{GO0Mvcp(@7dOvKy=U3w&*i|?zu8pF|c?Y=$KdrX3?hE z7Xox!$qu1JGM98Z1EEd}rU4m95tb7h_6SI^RzbJUaV#0muatR~L-7ePOZUqn!DA>< z%O;Dxp1X&9(bGNTlReD4JIQ_D#fQCFm4V-=0fzPA~+rh*VQtG z3{PBxJGSqBE-4D;vIaHQy!`^W&MYJ4L~C|58o@cG;-1NuQkuyQW$znH%GpuZ%oW9G ztk^i|doX~C3xhtwoOdn5vt5bV;&R&=Z0IAMCYQ>8nbv@z1EasAw{Lsp8UwSMORUKV z-kdpPGBW0Pw?4Sw6J{XZHwNGC8rQw(W3CP12Dj8JOB5g0F4WD1a9|!mjlDW1p49e5 zmFTn#(%N*#8IZT_+b=%cgW13Ju?MlKe)GrPiB0w2`Peh<&oPN35VX4}phUpOvcj#; zt6jZ+!jb*j&(Z8mYQdK%3@@Oib1B}v<7-ql2Pu|GapJ{U5^UZtcd+EHp zm%bzR)B9c#uDw*@5fXTNWwv3m=795-&e zt2c+1%+cV_y!N>TWo553%m$bXoqW+;IH(-rDXVTjd=>lmo^$=3*IsJ02GWIX5y=Ca?CEw7yukUBn-DO)Oy}lm%SEz1&87DX-JuGU>F0TL)%*-0vovE)A~8t zAp_vEuEBz%WjI`JKXToS*@uOn3P=qQT76U{0A{x>aUgS0v4&@MqN{V*FaA?dci#(c zCmZ`5K$W*5II@ZAY(pC83}G|f*gFh=y8s?p6T&`sXm8b#x9_@8FW&baP6se#!6-%y zo1<*U_<|d0T?9fXi1+bxTt*3Exp|kszUt9^!vayGL9cNx<1n;I!(=Aez@!m&pj8>$ z`ix|Be`=3?`|kHW*v<4uAI1swPrM^1)E|5HggUyORR_hJIY3+jyw;jJaP%2}i&?3r zSf>pioEsR}jNB*M82Cw#%MLbnKQgj6tqKsbbnDpcO~!7$O+|cj+3wZ1ui0TVT+Vkx zIbk?EM(BF12}2rn!a?(7jd4JJQx9g9HOe=9$I}@N_#uVZdOWCJgHQ5UZg3{UShp9# z$=Qh+ekkaBYp|b*J?8>@BOalD^o|bqbFQ2B67JnIhthk#ac|v7zxSbSr1Ubqv|oRG z-k)!6bAG{{zxcG+SYH_7aNn2q3lC%A`o(u-;rh$ZEL=8Y&9lJg0RB(%5|wpkQdYOz zp}G6q9eP^qhmhF1p(#2!*XhJHY|%V0`;t(&;WVpzlR|cRH1PKImg=y7ep-*=VH(!7 z=3N@*eK&cZdkXknPel-KyzU=*Qm?)K!D~?S(vvq{fBfM$`)zkuwfnxS&p#gA_bBPz zR@-kztL=Zh=Er$70(+h5Er^?wy6D?qxq;~r+93DWsg;d*d?~w*(N2dC56Pn(m3Ehc}!b zWzN!^nznwB-hO6RLZPR_K3i1*yh`a~)35zl+(={$1 z)~b1okOu(c3p~y~`y2@DN*IoZ3^q9?lCUJPxt8Y)A8Rabu$$7HwJ2EOeXz1vJ?`e3 z-S@ES1+(V2t)5?h{p9yP8|!huck%g)=Y3DW-(5U^GZxRk`LTz)c>b-2F;o28@5oH? z?>;kATqAVz?2#e4qGUy%UI1G{iJJ|6drEv*drWVA0AyN5$B_5ah%;IuB=sVh?Bp7xqTDe0+!>nsVYFW>ep7%Z7e(vJ=JD%x(CcId(bKm##p)aF)cNzWk z@y8J+I(?kbjx-HmYuRl9WwwrPhCSh$?X?aE&2D8hV=zAIRKWvMUP<#vdEExh=7LOkZ(;(WBOo z3*y@+Ojw40aOTs?C48GYj#;p1*|sSc>4lKUdw*#EzlX82{TuJdvEcVTb1VQ7X?0sI40$TOH}IENDmS1+rh0gQ zr4hT&G70t*z&H_l0DF`!?m-MH;a+{)62OCxRF^S-TW?%@)-kpjSjCrxa?Jsn*tdA;2A5=5Pwxj* zEMk0r97tQ7uDy-Dccip~21@5#P3z7Y8UyS*i?w*N644=#Oz-Z1K2^_RLdV)t!6OS5 z=#2-guo@1%z8+C++~$0{<+Ih1Kw7{y%5KlV%D(uGCog^Q z@%vx*H}a)77t&|OiuZj3pTBN)H*V$0TSxMLoC(`;8lhj4EsK$zCx*bYCOCCnd_%|@ zJ(i+<@4)Vd4t2J^Ip;z%n~2GK8-z~vF_VNRRZat~hpIz1?qk=rZqm#AavN`1H=lmt z9blK;H^}y{eZ{rmPs^wXQ?VVwJBhokP+4c`JdHu;A=Ct`=JbXgycO-UR4Ng!0rV+< z;o5kDQUuiR!Ga`b($3Aty6@G2NHhj#3O_Kb?Q!<)m%id50DrD5@EECw@!(378v*Ik zX(DwabE7?of`tZhofICMu{cA953o?*41Q?>9gkpT-2)8)S$JHxSen%l-O*znK|C@_ zD9pxfYNCXx_;yZ1iujZiYr)>OAap^&~7G=z%(%`OZid95MQ z4`A!MQravAHPwQ$^A!qs!2EMNW>dqL!9|L^1nME>x4-=2!@zwrs{Y`Qf5t<2TE6ec zKh=%wIV7kb`0=~@7|#SjiA~mMtw}QB3a1fhy(f=DTQNnjAGdI%Ult(TSZ5)B)Ron= zBb2hE(LN;I2eux3D{JJUK2abJ_Pu1~iDkfEP+}##yN})XgLr2j`=Yn(V^8w+uYFcL zf8Y1-p>JdD?l$&Ll>ci}uWmezx49w|0tITn&WGT?aRe0Dc2J)lIkcuD(UgHH9L?iQ zsC?7`#Yc=CjXkf(DgdQzQb+cGYmS)7LP)yu?41@!q-JvaE0=hlK+`@JpvgP?CG+OU zHae0?nG$?yOvZy_0{4)kwT=WEiY3{sMs%NeHfeU>^JEUMGl>deJldrdwS631ZUC)! zLuOMddrIE^>ciQ_cID0h@zwSoJ+-$=Uv-AG$u^qr>Np5RYgx!C67_w5@%-dOP)vx} zh1Xe!Mkvssyy(hsfIKTax6pDhg{CJhTA*)lRnpk3x8MKcpYcLR^L_6i-}*3ikZ*e@ zc98FUW(U#Lx^{ITJ8LfLGS-ldNba?;2s*3)03{zVQmiqP?QCf1E(AcKGCShjY(SI^ zW=cw0;6PntI!@G}&}yE4Nj}o9=}F0#OKg(PQvfJ$VQq zgE$e_?hBcecEP*xjLoh)F&G&qp`gL1*D`0;dl$ED4~#B3RyM$P(yLfqz$j6ypn;NkcB2$?_J} zLw#(k3XaNb8trVPG!sGj>P3*3$2gtTr?7?0aZJkvC0lHmBIYS4QOqY{z6QDMg2awA9S12{gN0d1&^t{fueU52Kwv#nF`k-y4Z3 zSk7F@WF0>OL(Eivz*)SVcKgxyy+|8A>7028KXIBQl8=^!5Z5{zTKj|B+V)}NjRfuu z^Mk0W9zt-!OhmR1h$0pslAbgKAHv>Bo^T_mvd#mrP~VAQh2|~CWMhrnH-6J+JcK*+ zP2cpXE>fTObdkDVwA(j-(=+Q+bqFaSa62BSc6HG~lR*i83q$`x+-BvFt1UcGOLXND zm8=G0Hu8Deq7g*q(KdcV3aGOeAx{TP=N&c?Az+z>7iZ-_5=Gq2Bfakf-<|d8bHDmY zyms=*2Oifmt?m21b1#_K-gD#V6SZx7Yo_0Oo_^ueptb$Ws4As7cd|2(jWN)5J&t*a z*Tzkrup^;=Xe}^7pd#24B=LDxx+4l+J{F-RZ5z8WET2Gt`bVpZT%=(N@V1j}xU zqm5dBMXh!vJitB?RITGyV@{TRv0ROP=l69QRxI_78i{Q=Z4lbX-=7%3&HFus`#K(`>@{SNav6|ZX z_LJ8~5({p>^rEo?zk651kdvU;3?QUMYWs$T7KeH2fTafi(^WV3-|djJ*BSo0qY<0LpJfXB-KM6{%ZKPORE0QR84` z_5tl+t+hwwIm;o92H2vpjzVZ_&9y|voHNcQ!Q+NgkyzodxHCF$PessuC!{bdb-De2 z&(|CZsUD%~$WJ;XI^Y)`GLaRSymBEAN%3J2q9LX&Oi%iPkJ=^rY6oe*-p_8LoWV6(Jm0r_04lT^dG{%M}`oUPe-~FV zwqcKo890k-r?tjH`Uo-=cxzoLbYpciV0uGxYo72#?1>dwrj(ZRaKL2Q5)Gns1oYHA zzNRqzraJ)H*TeX3jBWvgR6lzAU%ui25Y2CY9$j5WLJ+IiNQ`}u1%YF^EOPOGXdSN9 z27Kr?n`pC1%dMv}C@PWH>z%c&gXC}37Q0RlMa;N$jXk2XZRCaM1SJYE{)H1i=NX&! z?XSFY`Nvdv%q2%v7a`ksM`sqq$aL*hqo)Y+B6{_X0MR^{>d7Yci!D{l4xLrrup1t0 zh!)JfOBAiZnE2hs=7=2YdW}|pa3f5%_PqVohl8lOZ(`%^FTC;qm|wS_f8_x{Qf`0o zl?UK1zx`*gy!W4bLEoyGpwyQbcxRMo(nd>+EqUqKz|VG^@phuumIF$J!*eswLB!jz zJmgr>rCBjGZ?F@^xHO&)caQ9$r;JI@#iqc|nhgwVz5Us1kCTl-e5$p7BLlIplUBo2 z9%)Tzl43!U?7R{&ZmswXgG9%fv{BC`ea7@2LJeA&V`~u-(;QK0jGQ+juU1&uA=`n7 zq_5d%w{3F!=})w*Z!ba=3%1<>V)Zz)kJ>T8%&0`& zo`F}O<6)q5^7b`Ki>DE{#>=xzjzm|{-KY&`s(8+A9yKV^H=jpJpR!8 zUqWsM4wrXNnfHBvpMT1{@3Zfxdv3-rKL`QUpSyqvkSVM=buu!4zVXgftG%Fm+17QL zFn5zSJ5Or9I_>FI#@4D$U%Lks<18wMluT_{;q^=}q%{qMIcbGOtR)en*FcA6)Civ2 z^!6+7d$9iE|KwpHBmVq5f{gh2XOIy{TXX6&cpukRNIPpaG8zoJwGo+j+8&!$@JTC4 z1jbkQp$N@AiFC4mHn{*sNi>zDgac#hTv9yHeMs@KPUk^u#JFVNd$l=|?$TKAxmNx) zkrAKF&G;~u6+|L^z#o6;@rU03%uxKE@9KkI(uMDGzWLJweDg4t^gr}8ykl0a6O?8^ zs?LrcgDs!l2@!KMN1ugR?4*T&8B?rcE>#-^Kdkv|%UVN!lMCa&D2u@3fhO}woE~*| z@ZZAsRdkO|F|Y{w?GL~2vc0(F^gRP<(nzNf%aT6!a^vnu#?&zr_SPWDtM7Pp;uo!2W5ff#gouWBhBh)Np4QgJwW4Nd1& zM34-3=`zrN2G`g^HJJ9otJhLk5f@76$j!NRc!79-f%!7hvk}ahQQTx;CeT)FIvjU~ zPM`I)kKcHPo_622?D_L>Y*b}l!CofP`Vm8t)9IU+6Iy`;Dn)Aoau5zPF;`Y;Dj%uMJ!>HTrO@oeMIxJY$&p_dV(m|5wf<`VVCDIvz zin6D~*2TeW4a%N8DO=kdt=mzToyLq210-&LGghT(LjY9vX=1*-_ttJd^W_(VbO`l4 zc8bA|+WR=tR>Q{l{!J$SL5i8yj-??TWsOE=2Vat;K4 zPPSe?WbW)KANCmH=zR}B(YkL%>B*#vSE=ZkM-}%Z zjpityh)X_e6VK*=yWGC@@kO$U2~l}}>|;E6BzpAS(XShr1+5*6yawTA8n|NfHEkW) zbozAUIFl!!>*r8Ma(XkYB4Sn|%DqESaVq8tVs!g3rfash&I-DH+vBTFAB}2QZ1 z%m|^`M|STzKr30)VK|St7~IQwdaLc|T?e&7%-Jf+lp|(l(UiN)rr;`7R2JTUT~ST? zzI`{YLYA zOPp3T>jsk|>)4YCbB@S=h8#!kT*W(e-M$A`QOelkw5UNC7yAeYj)lS%%i$@?-AJ^v zc_eiWi$SaREqzy<h^DH_ZDKyF znsM^_|7&Goz|nIUTL0$rkkr0?FRr4WQ?1r^jBQ|ACxuLSv{sD*1<0P;QBphg`6!_lT^NZTEz)zJr05p?Fk z!HY`v)YY0ET~pdlD3NsDz7JOsNxJ4W<)YoOb@gVp=GN&sVs8vIk&4l0(P|4;)S%rv zj7O28(w&8K;GwWqm)6=^t6kTScwntNd4>JONT7j4f%T?;$;a2aegEV4{!`B>`5*n( zdXit8A9~}-?FSye_cLEq|9|e&`XA-i?FSz}`m9&;$&=d;J%03guRebN2i`zCB%VCE z{gKCyKI@4;d2;)sj~~6~$s1q)>PMd3{@CM3|Jaj{yx(7c^5pizj~~6~jePw{zJB|W z$G`fIUjNpAAAkJlw|(NzZ~Z5K^poFr{mXyi@uScG#Gl{%0ssEvM_=%XuRQ%ZfAW*x z^z_I57=HaXCm>JjaEw0iU!R>9Akq5eRt3r!MamM7OlNNs`|(+-4Su&H~qq+BzG8kyqU zkhn{z&$c--G0(=lW-V{6_4XTje7W~3?0@)@cMnnT9-^Lmh^XZ@l*U(=YsMZ}=N|kwVTT zJm1if0cVJGt$t`X-)GQa8ys$1I_&Mony64_Yn`k%#-cKlTa#vM=*b48E#l#zGR2Fz zYO7fjuH3%h@ZHn5R1z#Fwy_UfEXAm6C4#e{uTruDng7IJl{em#BGvYCN;nZ^7j?pa zU=nzn5s|4qA#6i#T{-n`P|K$o`xNSdceR->m^9AC;hh`7H-43CFgOB8qO#IKH?cIX zpc=gioVe@Q>B~lJljxx2usihT9hE;pAG?lMS1gg!rh092^Aj)$)9iLG85)kHjWHmC z4>jPnpL7`mFFH$^47lf-2^=|vOW*E)g_jo8PceZqbjvntVe8G=H;nAZPEJV{5lAvL z$3cCMyo(v61}(2O_%CQJb5fyBtgw^F9`joALKn!)B4wKfS)5!+ynqQ9V2KeIP6%Sw z7o}d62_2aUpUTMz>&@6%C`fJeF(rZ-roxyNJ`E;rL9Cz-pV1Y95E(F57%pLd>w!R^ z6x;qRIr~}rU?`0w7L_@* zz+23WxvylTBkT0tN|{|5m(W|NIm2I3T3WO$B6eBEXtk$t@&ySP?i9+_Xa@`gwFfHB zfPhhQkve28yJaH5t!Y^uRJ+=LgN)tb@tqr0v%xjgTyQGF8?pMbrfic@X<0)7g-$2XcdNkYeLlC0|z(+ z>t%5n3X(nGwQAfn^5_NFTnwMeSvWMrZu5*9vf=(gebBE;IglaOmc!qBbsbV{x0w^X z1mbCZx1j+>l}uY2D5M)3<@S)Hf|!E7PrE*dP1E2rIdFmP920P$@C;^h?&3L4q4GcY zD1~A>5$IJUJ<`UA)pQ@ojTrPjWN5keejpPkYc$r8v04vqAPz8uNbG75f=qkw=ltuR O`~L%fD)iAwR!IQ8=mHi1 delta 1444714 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

2RNLy9tj%wrLtt*mk}S+U~=| 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%0DGNkW9u~oJS%3Us5>E|Q9riA-#Z%ai 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 z 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

O^@_%VZu$XrtuBQx3Aic))fz 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Ð8i4pEZ{1{gMKVI!a21XTDAc~{ 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%0DQect;|+>=2S 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

*7ZyDmH8opo34tQ~Fq$Pv|R`1j7< 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±<_lb7&F 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%0DunEaF`~ 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

    `9)z7d|Mc^G`Ps{S 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
      8LZPm-)INwOG<}#To)IqQ0jS=UZ;&j}k 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 diff --git a/package.json b/package.json index 7186e4b8..48bf115b 100644 --- a/package.json +++ b/package.json @@ -111,7 +111,8 @@ "@jsdevtools/ono": "^7.1.3", "ajv": "^8.6.3", "ajv-draft-04": "^1.0.0", - "call-me-maybe": "^1.0.1" + "call-me-maybe": "^1.0.1", + "ts-migrate": "^0.1.35" }, "peerDependencies": { "openapi-types": ">=7" diff --git a/yarn.lock b/yarn.lock index 9af8d60c..c60fe216 100644 --- a/yarn.lock +++ b/yarn.lock @@ -93,6 +93,7 @@ __metadata: shx: "npm:^0.3.2" simplifyify: "npm:^7.0.7" sinon: "npm:^11.1.2" + ts-migrate: "npm:^0.1.35" typescript: "npm:^5.3.3" vitest: "npm:^1.3.1" peerDependencies: @@ -100,6 +101,15 @@ __metadata: languageName: unknown linkType: soft +"@babel/code-frame@npm:7.12.11": + version: 7.12.11 + resolution: "@babel/code-frame@npm:7.12.11" + dependencies: + "@babel/highlight": "npm:^7.10.4" + checksum: 10c0/836ffd155506768e991d6dd8c51db37cad5958ed1c8e0a2329ccd9527165d5c752e943d66a5c3c92ffd45f343419f0742e7636629a529f4fbd5303e3637746b9 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.23.5": version: 7.23.5 resolution: "@babel/code-frame@npm:7.23.5" @@ -110,14 +120,14 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5": +"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5": version: 7.23.5 resolution: "@babel/compat-data@npm:7.23.5" checksum: 10c0/081278ed46131a890ad566a59c61600a5f9557bd8ee5e535890c8548192532ea92590742fd74bd9db83d74c669ef8a04a7e1c85cdea27f960233e3b83c3a957c languageName: node linkType: hard -"@babel/core@npm:^7.17.10, @babel/core@npm:^7.7.5": +"@babel/core@npm:^7.1.6, @babel/core@npm:^7.13.16, @babel/core@npm:^7.17.10, @babel/core@npm:^7.7.5": version: 7.24.0 resolution: "@babel/core@npm:7.24.0" dependencies: @@ -170,7 +180,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6": +"@babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6": version: 7.23.6 resolution: "@babel/helper-compilation-targets@npm:7.23.6" dependencies: @@ -183,7 +193,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.22.15": +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.22.15, @babel/helper-create-class-features-plugin@npm:^7.23.6": version: 7.24.0 resolution: "@babel/helper-create-class-features-plugin@npm:7.24.0" dependencies: @@ -298,7 +308,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.24.0 resolution: "@babel/helper-plugin-utils@npm:7.24.0" checksum: 10c0/90f41bd1b4dfe7226b1d33a4bb745844c5c63e400f9e4e8bf9103a7ceddd7d425d65333b564d9daba3cebd105985764d51b4bd4c95822b97c2e3ac1201a8a5da @@ -340,7 +350,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0, @babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5" dependencies: @@ -372,7 +382,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.23.5": +"@babel/helper-validator-option@npm:^7.22.15, @babel/helper-validator-option@npm:^7.23.5": version: 7.23.5 resolution: "@babel/helper-validator-option@npm:7.23.5" checksum: 10c0/af45d5c0defb292ba6fd38979e8f13d7da63f9623d8ab9ededc394f67eb45857d2601278d151ae9affb6e03d5d608485806cd45af08b4468a0515cf506510e94 @@ -401,7 +411,7 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.23.4": +"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.23.4": version: 7.23.4 resolution: "@babel/highlight@npm:7.23.4" dependencies: @@ -412,7 +422,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.23.6, @babel/parser@npm:^7.24.0": +"@babel/parser@npm:^7.1.6, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.24.0": version: 7.24.0 resolution: "@babel/parser@npm:7.24.0" bin: @@ -457,6 +467,58 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-class-properties@npm:^7.1.0, @babel/plugin-proposal-class-properties@npm:^7.13.0": + version: 7.18.6 + resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d5172ac6c9948cdfc387e94f3493ad86cb04035cf7433f86b5d358270b1b9752dc25e176db0c5d65892a246aca7bdb4636672e15626d7a7de4bc0bd0040168d9 + languageName: node + linkType: hard + +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8": + version: 7.18.6 + resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f6629158196ee9f16295d16db75825092ef543f8b98f4dfdd516e642a0430c7b1d69319ee676d35485d9b86a53ade6de0b883490d44de6d4336d38cdeccbe0bf + languageName: node + linkType: hard + +"@babel/plugin-proposal-object-rest-spread@npm:^7.0.0": + version: 7.20.7 + resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.20.7" + dependencies: + "@babel/compat-data": "npm:^7.20.5" + "@babel/helper-compilation-targets": "npm:^7.20.7" + "@babel/helper-plugin-utils": "npm:^7.20.2" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-transform-parameters": "npm:^7.20.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b9818749bb49d8095df64c45db682448d04743d96722984cbfd375733b2585c26d807f84b4fdb28474f2d614be6a6ffe3d96ffb121840e9e5345b2ccc0438bd8 + languageName: node + linkType: hard + +"@babel/plugin-proposal-optional-chaining@npm:^7.13.12": + version: 7.21.0 + resolution: "@babel/plugin-proposal-optional-chaining@npm:7.21.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.20.0" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b524a61b1de3f3ad287cd1e98c2a7f662178d21cd02205b0d615512e475f0159fa1b569fa7e34c8ed67baef689c0136fa20ba7d1bf058d186d30736a581a723f + languageName: node + linkType: hard + "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": version: 7.21.0-placeholder-for-preset-env.2 resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" @@ -521,6 +583,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-flow@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-flow@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8a5e1e8b6a3728a2c8fe6d70c09a43642e737d9c0485e1b041cd3a6021ef05376ec3c9137be3b118c622ba09b5770d26fdc525473f8d06d4ab9e46de2783dd0a + languageName: node + linkType: hard + "@babel/plugin-syntax-import-assertions@npm:^7.23.3": version: 7.23.3 resolution: "@babel/plugin-syntax-import-assertions@npm:7.23.3" @@ -565,6 +638,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-jsx@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-jsx@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/563bb7599b868773f1c7c1d441ecc9bc53aeb7832775da36752c926fc402a1fa5421505b39e724f71eb217c13e4b93117e081cac39723b0e11dac4c897f33c3e + languageName: node + linkType: hard + "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" @@ -653,6 +737,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-typescript@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-typescript@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4d6e9cdb9d0bfb9bd9b220fc951d937fce2ca69135ec121153572cebe81d86abc9a489208d6b69ee5f10cadcaeffa10d0425340a5029e40e14a6025021b90948 + languageName: node + linkType: hard + "@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" @@ -850,6 +945,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-flow-strip-types@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-flow": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9ab627f9668fc1f95564b26bffd6706f86205960d9ccc168236752fbef65dbe10aa0ce74faae12f48bb3b72ec7f38ef2a78b4874c222c1e85754e981639f3b33 + languageName: node + linkType: hard + "@babel/plugin-transform-for-of@npm:^7.23.6": version: 7.23.6 resolution: "@babel/plugin-transform-for-of@npm:7.23.6" @@ -933,7 +1040,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.23.3": +"@babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.23.3": version: 7.23.3 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3" dependencies: @@ -1071,7 +1178,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.23.3": +"@babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.23.3": version: 7.23.3 resolution: "@babel/plugin-transform-parameters@npm:7.23.3" dependencies: @@ -1198,6 +1305,20 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-typescript@npm:^7.23.3": + version: 7.23.6 + resolution: "@babel/plugin-transform-typescript@npm:7.23.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-create-class-features-plugin": "npm:^7.23.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-typescript": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e08f7a981fe157e32031070b92cd77030018b002d063e4be3711ffb7ec04539478b240d8967a4748abb56eccc0ba376f094f30711ef6a028b2a89d15d6ddc01f + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-escapes@npm:^7.23.3": version: 7.23.3 resolution: "@babel/plugin-transform-unicode-escapes@npm:7.23.3" @@ -1255,7 +1376,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.17.10": +"@babel/preset-env@npm:^7.1.6, @babel/preset-env@npm:^7.17.10": version: 7.24.0 resolution: "@babel/preset-env@npm:7.24.0" dependencies: @@ -1345,6 +1466,19 @@ __metadata: languageName: node linkType: hard +"@babel/preset-flow@npm:^7.0.0, @babel/preset-flow@npm:^7.13.13": + version: 7.24.0 + resolution: "@babel/preset-flow@npm:7.24.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-validator-option": "npm:^7.23.5" + "@babel/plugin-transform-flow-strip-types": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8103b8273734298c15d497dcd44a0c9d5e12b3acc301178c4ec9098ead40c586f2fe13acfd855e30dffa0da42f76ee7a01df752e170af76207c90b40b32784c3 + languageName: node + linkType: hard + "@babel/preset-modules@npm:0.1.6-no-external-plugins": version: 0.1.6-no-external-plugins resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" @@ -1358,6 +1492,36 @@ __metadata: languageName: node linkType: hard +"@babel/preset-typescript@npm:^7.1.0, @babel/preset-typescript@npm:^7.13.0": + version: 7.23.3 + resolution: "@babel/preset-typescript@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-validator-option": "npm:^7.22.15" + "@babel/plugin-syntax-jsx": "npm:^7.23.3" + "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" + "@babel/plugin-transform-typescript": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e72b654c7f0f08b35d7e1c0e3a59c0c13037f295c425760b8b148aa7dde01e6ddd982efc525710f997a1494fafdd55cb525738c016609e7e4d703d02014152b7 + languageName: node + linkType: hard + +"@babel/register@npm:^7.0.0, @babel/register@npm:^7.13.16": + version: 7.23.7 + resolution: "@babel/register@npm:7.23.7" + dependencies: + clone-deep: "npm:^4.0.1" + find-cache-dir: "npm:^2.0.0" + make-dir: "npm:^2.1.0" + pirates: "npm:^4.0.6" + source-map-support: "npm:^0.5.16" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b2466e41a4394e725b57e139ba45c3f61b88546d3cb443e84ce46cb34071b60c6cdb706a14c58a1443db530691a54f51da1f0c97f6c1aecbb838a2fb7eb5dbb9 + languageName: node + linkType: hard + "@babel/regjsgen@npm:^0.8.0": version: 0.8.0 resolution: "@babel/regjsgen@npm:0.8.0" @@ -1607,6 +1771,23 @@ __metadata: languageName: node linkType: hard +"@eslint/eslintrc@npm:^0.4.3": + version: 0.4.3 + resolution: "@eslint/eslintrc@npm:0.4.3" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.1.1" + espree: "npm:^7.3.0" + globals: "npm:^13.9.0" + ignore: "npm:^4.0.6" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^3.13.1" + minimatch: "npm:^3.0.4" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/0eed93369f72ef044686d07824742121f9b95153ff34f4614e4e69d64332ee68c84eb70da851a9005bb76b3d1d64ad76c2e6293a808edc0f7dfb883689ca136d + languageName: node + linkType: hard + "@eslint/eslintrc@npm:^2.1.4": version: 2.1.4 resolution: "@eslint/eslintrc@npm:2.1.4" @@ -1649,6 +1830,17 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/config-array@npm:^0.5.0": + version: 0.5.0 + resolution: "@humanwhocodes/config-array@npm:0.5.0" + dependencies: + "@humanwhocodes/object-schema": "npm:^1.2.0" + debug: "npm:^4.1.1" + minimatch: "npm:^3.0.4" + checksum: 10c0/217fac9e03492361825a2bf761d4bb7ec6d10002a10f7314142245eb13ac9d123523d24d5619c3c4159af215c7b3e583ed386108e227014bef4efbf9caca8ccc + languageName: node + linkType: hard + "@humanwhocodes/module-importer@npm:^1.0.1": version: 1.0.1 resolution: "@humanwhocodes/module-importer@npm:1.0.1" @@ -1656,6 +1848,13 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/object-schema@npm:^1.2.0": + version: 1.2.1 + resolution: "@humanwhocodes/object-schema@npm:1.2.1" + checksum: 10c0/c3c35fdb70c04a569278351c75553e293ae339684ed75895edc79facc7276e351115786946658d78133130c0cca80e57e2203bc07f8fa7fe7980300e8deef7db + languageName: node + linkType: hard + "@humanwhocodes/object-schema@npm:^2.0.2": version: 2.0.2 resolution: "@humanwhocodes/object-schema@npm:2.0.2" @@ -2138,6 +2337,27 @@ __metadata: languageName: node linkType: hard +"@ts-morph/bootstrap@npm:^0.16.0": + version: 0.16.0 + resolution: "@ts-morph/bootstrap@npm:0.16.0" + dependencies: + "@ts-morph/common": "npm:~0.16.0" + checksum: 10c0/a13dfe2eb0e1d8f2899ab23da172c7fd60c31bbe8a23a3bc80edaa608a2da86d16070df6f4c077248862ee55f9d6ceef823a6a2cb2dc994e55fc2e771cde47eb + languageName: node + linkType: hard + +"@ts-morph/common@npm:~0.16.0": + version: 0.16.0 + resolution: "@ts-morph/common@npm:0.16.0" + dependencies: + fast-glob: "npm:^3.2.11" + minimatch: "npm:^5.1.0" + mkdirp: "npm:^1.0.4" + path-browserify: "npm:^1.0.1" + checksum: 10c0/a9f306dd5c0c022b805400a1e54f18ec3fd1d80cc62e41f5f6964755d4b2538c10584b2fd040f9184121269dfebbe20ac7ffeb9965e74c3d6cb5b8891e29e5cb + languageName: node + linkType: hard + "@types/cacheable-request@npm:^6.0.1": version: 6.0.3 resolution: "@types/cacheable-request@npm:6.0.3" @@ -2914,7 +3134,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.3.2": +"acorn-jsx@npm:^5.3.1, acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: @@ -2957,7 +3177,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.0.0": +"acorn@npm:^7.0.0, acorn@npm:^7.4.0": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -3049,7 +3269,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.1.0, ajv@npm:^6.10.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4": +"ajv@npm:^6.1.0, ajv@npm:^6.10.0, ajv@npm:^6.10.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -3061,7 +3281,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.6.3": +"ajv@npm:^8.0.1, ajv@npm:^8.6.3": version: 8.12.0 resolution: "ajv@npm:8.12.0" dependencies: @@ -3087,6 +3307,13 @@ __metadata: languageName: node linkType: hard +"ansi-colors@npm:^4.1.1": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 + languageName: node + linkType: hard + "ansi-escapes@npm:^1.1.0": version: 1.4.0 resolution: "ansi-escapes@npm:1.4.0" @@ -3094,6 +3321,13 @@ __metadata: languageName: node linkType: hard +"ansi-escapes@npm:^3.2.0": + version: 3.2.0 + resolution: "ansi-escapes@npm:3.2.0" + checksum: 10c0/084e1ce38139ad2406f18a8e7efe2b850ddd06ce3c00f633392d1ce67756dab44fe290e573d09ef3c9a0cb13c12881e0e35a8f77a017d39a0a4ab85ae2fae04f + languageName: node + linkType: hard + "ansi-escapes@npm:^4.2.1": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" @@ -3117,6 +3351,13 @@ __metadata: languageName: node linkType: hard +"ansi-regex@npm:^4.1.0": + version: 4.1.1 + resolution: "ansi-regex@npm:4.1.1" + checksum: 10c0/d36d34234d077e8770169d980fed7b2f3724bfa2a01da150ccd75ef9707c80e883d27cdf7a0eac2f145ac1d10a785a8a855cffd05b85f778629a0db62e7033da + languageName: node + linkType: hard + "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -3138,7 +3379,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.1": +"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -3535,6 +3776,29 @@ __metadata: languageName: node linkType: hard +"ast-types@npm:0.11.7": + version: 0.11.7 + resolution: "ast-types@npm:0.11.7" + checksum: 10c0/31c7aecd7eff9718bd263dc8709c410eb757d8df3dea6933ea569ad4fb4883f5b457ce8ad0631de56f0cacd0d145a81aa4a383b4479e4d3ff1d3b06adf52a137 + languageName: node + linkType: hard + +"ast-types@npm:0.14.2": + version: 0.14.2 + resolution: "ast-types@npm:0.14.2" + dependencies: + tslib: "npm:^2.0.1" + checksum: 10c0/5d66d89b6c07fe092087454b6042dbaf81f2882b176db93861e2b986aafe0bce49e1f1ff59aac775d451c1426ad1e967d250e9e3548f5166ea8a3475e66c169d + languageName: node + linkType: hard + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25 + languageName: node + linkType: hard + "async-each@npm:^1.0.1": version: 1.0.6 resolution: "async-each@npm:1.0.6" @@ -3613,6 +3877,15 @@ __metadata: languageName: node linkType: hard +"babel-core@npm:^7.0.0-bridge.0": + version: 7.0.0-bridge.0 + resolution: "babel-core@npm:7.0.0-bridge.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f57576e30267be4607d163b7288031d332cf9200ea35efe9fb33c97f834e304376774c28c1f9d6928d6733fcde7041e4010f1248a0519e7730c590d4b07b9608 + languageName: node + linkType: hard + "babel-generator@npm:^6.18.0": version: 6.26.1 resolution: "babel-generator@npm:6.26.1" @@ -4778,6 +5051,15 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:^2.1.0": + version: 2.1.0 + resolution: "cli-cursor@npm:2.1.0" + dependencies: + restore-cursor: "npm:^2.0.0" + checksum: 10c0/09ee6d8b5b818d840bf80ec9561eaf696672197d3a02a7daee2def96d5f52ce6e0bbe7afca754ccf14f04830b5a1b4556273e983507d5029f95bba3016618eda + languageName: node + linkType: hard + "cli-cursor@npm:^3.1.0": version: 3.1.0 resolution: "cli-cursor@npm:3.1.0" @@ -4932,7 +5214,7 @@ __metadata: languageName: node linkType: hard -"colors@npm:1.4.0": +"colors@npm:1.4.0, colors@npm:^1.1.2": version: 1.4.0 resolution: "colors@npm:1.4.0" checksum: 10c0/9af357c019da3c5a098a301cf64e3799d27549d8f185d86f79af23069e4f4303110d115da98483519331f6fb71c8568d5688fa1c6523600044fd4a54e97c4efb @@ -5292,6 +5574,19 @@ __metadata: languageName: node linkType: hard +"create-jest-runner@npm:^0.5.3": + version: 0.5.3 + resolution: "create-jest-runner@npm:0.5.3" + dependencies: + chalk: "npm:^2.4.2" + jest-worker: "npm:^24.0.0" + throat: "npm:^4.1.0" + bin: + create-jest-runner: ./generator/index.js + checksum: 10c0/97cf2859497fb90ec89eb3e80ffd10e0203cbc959c5649e532c9800ea2ddf4c9c53244acdf5822e50374324b4f4f095cff15fadb8aa08587033e89965bb122ac + languageName: node + linkType: hard + "cross-env@npm:^7.0.3": version: 7.0.3 resolution: "cross-env@npm:7.0.3" @@ -5480,7 +5775,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": +"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -6084,6 +6379,13 @@ __metadata: languageName: node linkType: hard +"emoji-regex@npm:^7.0.1": + version: 7.0.3 + resolution: "emoji-regex@npm:7.0.3" + checksum: 10c0/a8917d695c3a3384e4b7230a6a06fd2de6b3db3709116792e8b7b36ddbb3db4deb28ad3e983e70d4f2a1f9063b5dab9025e4e26e9ca08278da4fbb73e213743f + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -6166,6 +6468,16 @@ __metadata: languageName: node linkType: hard +"enquirer@npm:^2.3.5": + version: 2.4.1 + resolution: "enquirer@npm:2.4.1" + dependencies: + ansi-colors: "npm:^4.1.1" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 + languageName: node + linkType: hard + "ent@npm:~2.2.0": version: 2.2.0 resolution: "ent@npm:2.2.0" @@ -6594,7 +6906,7 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^5.0.0": +"eslint-scope@npm:^5.0.0, eslint-scope@npm:^5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" dependencies: @@ -6614,7 +6926,7 @@ __metadata: languageName: node linkType: hard -"eslint-utils@npm:^2.0.0": +"eslint-utils@npm:^2.0.0, eslint-utils@npm:^2.1.0": version: 2.1.0 resolution: "eslint-utils@npm:2.1.0" dependencies: @@ -6623,13 +6935,20 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^1.1.0": +"eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": version: 1.3.0 resolution: "eslint-visitor-keys@npm:1.3.0" checksum: 10c0/10c91fdbbe36810dd4308e57f9a8bc7177188b2a70247e54e3af1fa05ebc66414ae6fd4ce3c6c6821591f43a556e9037bc6b071122e099b5f8b7d2f76df553e3 languageName: node linkType: hard +"eslint-visitor-keys@npm:^2.0.0": + version: 2.1.0 + resolution: "eslint-visitor-keys@npm:2.1.0" + checksum: 10c0/9f0e3a2db751d84067d15977ac4b4472efd6b303e369e6ff241a99feac04da758f46d5add022c33d06b53596038dbae4b4aceb27c7e68b8dfc1055b35e495787 + languageName: node + linkType: hard + "eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" @@ -6637,6 +6956,56 @@ __metadata: languageName: node linkType: hard +"eslint@npm:^7.14.0": + version: 7.32.0 + resolution: "eslint@npm:7.32.0" + dependencies: + "@babel/code-frame": "npm:7.12.11" + "@eslint/eslintrc": "npm:^0.4.3" + "@humanwhocodes/config-array": "npm:^0.5.0" + ajv: "npm:^6.10.0" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.0.1" + doctrine: "npm:^3.0.0" + enquirer: "npm:^2.3.5" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^5.1.1" + eslint-utils: "npm:^2.1.0" + eslint-visitor-keys: "npm:^2.0.0" + espree: "npm:^7.3.1" + esquery: "npm:^1.4.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^6.0.1" + functional-red-black-tree: "npm:^1.0.1" + glob-parent: "npm:^5.1.2" + globals: "npm:^13.6.0" + ignore: "npm:^4.0.6" + import-fresh: "npm:^3.0.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + js-yaml: "npm:^3.13.1" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.4.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.0.4" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.1" + progress: "npm:^2.0.0" + regexpp: "npm:^3.1.0" + semver: "npm:^7.2.1" + strip-ansi: "npm:^6.0.0" + strip-json-comments: "npm:^3.1.0" + table: "npm:^6.0.9" + text-table: "npm:^0.2.0" + v8-compile-cache: "npm:^2.0.3" + bin: + eslint: bin/eslint.js + checksum: 10c0/84409f7767556179cb11529f1215f335c7dfccf90419df6147f949f14c347a960c7b569e80ed84011a0b6d10da1ef5046edbbb9b11c3e59aa6696d5217092e93 + languageName: node + linkType: hard + "eslint@npm:^8.57.0": version: 8.57.0 resolution: "eslint@npm:8.57.0" @@ -6685,6 +7054,17 @@ __metadata: languageName: node linkType: hard +"espree@npm:^7.3.0, espree@npm:^7.3.1": + version: 7.3.1 + resolution: "espree@npm:7.3.1" + dependencies: + acorn: "npm:^7.4.0" + acorn-jsx: "npm:^5.3.1" + eslint-visitor-keys: "npm:^1.3.0" + checksum: 10c0/f4e81b903f03eaf0e6925cea20571632da427deb6e14ca37e481f72c11f36d7bb4945fe8a2ff15ab22d078d3cd93ee65355fa94de9c27485c356481775f25d85 + languageName: node + linkType: hard + "espree@npm:^9.6.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" @@ -6696,7 +7076,7 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0": +"esprima@npm:^4.0.0, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -6706,7 +7086,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2": +"esquery@npm:^1.4.0, esquery@npm:^1.4.2": version: 1.5.0 resolution: "esquery@npm:1.5.0" dependencies: @@ -7009,7 +7389,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.9": +"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -7192,7 +7572,7 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^2.1.0": +"find-cache-dir@npm:^2.0.0, find-cache-dir@npm:^2.1.0": version: 2.1.0 resolution: "find-cache-dir@npm:2.1.0" dependencies: @@ -7288,6 +7668,13 @@ __metadata: languageName: node linkType: hard +"flow-parser@npm:0.*": + version: 0.230.0 + resolution: "flow-parser@npm:0.230.0" + checksum: 10c0/fcafe74bfc8820f067cb1d8271ee0a6fdcf0cff9a9ea86821eb2870191d2bac132bcf3f4de85c199053307cdfeb56d2e6fd2b8d10c0a01f04781ade67abc0f33 + languageName: node + linkType: hard + "flush-write-stream@npm:^1.0.0": version: 1.1.1 resolution: "flush-write-stream@npm:1.1.1" @@ -7881,7 +8268,7 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": +"globals@npm:^13.19.0, globals@npm:^13.6.0, globals@npm:^13.9.0": version: 13.24.0 resolution: "globals@npm:13.24.0" dependencies: @@ -8055,7 +8442,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -8531,6 +8918,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^4.0.6": + version: 4.0.6 + resolution: "ignore@npm:4.0.6" + checksum: 10c0/836ee7dc7fd9436096e2dba429359dbb9fa0e33d309e2b2d81692f375f6ca82024fc00567f798613d50c6b989e9cd2ad2b065acf116325cde177f02c86b7d4e0 + languageName: node + linkType: hard + "ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.3.1 resolution: "ignore@npm:5.3.1" @@ -8538,7 +8932,7 @@ __metadata: languageName: node linkType: hard -"import-fresh@npm:^3.2.1": +"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -9387,6 +9781,16 @@ __metadata: languageName: node linkType: hard +"jest-worker@npm:^24.0.0": + version: 24.9.0 + resolution: "jest-worker@npm:24.9.0" + dependencies: + merge-stream: "npm:^2.0.0" + supports-color: "npm:^6.1.0" + checksum: 10c0/ea9f4751976d08807d33598244e6c3a60ce5889cdabf1f4e6f3e57dddcf2190978e6284f0865326f64e93677cebac53220d71a52e57d1205c467c6f09efa8bc2 + languageName: node + linkType: hard + "js-base64@npm:^2.4.9": version: 2.6.4 resolution: "js-base64@npm:2.6.4" @@ -9463,6 +9867,65 @@ __metadata: languageName: node linkType: hard +"jscodeshift@npm:^0.13.0": + version: 0.13.1 + resolution: "jscodeshift@npm:0.13.1" + dependencies: + "@babel/core": "npm:^7.13.16" + "@babel/parser": "npm:^7.13.16" + "@babel/plugin-proposal-class-properties": "npm:^7.13.0" + "@babel/plugin-proposal-nullish-coalescing-operator": "npm:^7.13.8" + "@babel/plugin-proposal-optional-chaining": "npm:^7.13.12" + "@babel/plugin-transform-modules-commonjs": "npm:^7.13.8" + "@babel/preset-flow": "npm:^7.13.13" + "@babel/preset-typescript": "npm:^7.13.0" + "@babel/register": "npm:^7.13.16" + babel-core: "npm:^7.0.0-bridge.0" + chalk: "npm:^4.1.2" + flow-parser: "npm:0.*" + graceful-fs: "npm:^4.2.4" + micromatch: "npm:^3.1.10" + neo-async: "npm:^2.5.0" + node-dir: "npm:^0.1.17" + recast: "npm:^0.20.4" + temp: "npm:^0.8.4" + write-file-atomic: "npm:^2.3.0" + peerDependencies: + "@babel/preset-env": ^7.1.6 + bin: + jscodeshift: bin/jscodeshift.js + checksum: 10c0/0f85ff41855f489e92229ce99a1951b1c265c12847b1bcd84921c37345ea35c876b2d2d362851aa1ec6e50f9716df8d965213133af247eb4a3d13a2f7320c2a4 + languageName: node + linkType: hard + +"jscodeshift@npm:^0.6.3": + version: 0.6.4 + resolution: "jscodeshift@npm:0.6.4" + dependencies: + "@babel/core": "npm:^7.1.6" + "@babel/parser": "npm:^7.1.6" + "@babel/plugin-proposal-class-properties": "npm:^7.1.0" + "@babel/plugin-proposal-object-rest-spread": "npm:^7.0.0" + "@babel/preset-env": "npm:^7.1.6" + "@babel/preset-flow": "npm:^7.0.0" + "@babel/preset-typescript": "npm:^7.1.0" + "@babel/register": "npm:^7.0.0" + babel-core: "npm:^7.0.0-bridge.0" + colors: "npm:^1.1.2" + flow-parser: "npm:0.*" + graceful-fs: "npm:^4.1.11" + micromatch: "npm:^3.1.10" + neo-async: "npm:^2.5.0" + node-dir: "npm:^0.1.17" + recast: "npm:^0.16.1" + temp: "npm:^0.8.1" + write-file-atomic: "npm:^2.3.0" + bin: + jscodeshift: ./bin/jscodeshift.js + checksum: 10c0/6bbd3bbaeff93747e99eead95fa758c19efb773e4fa0b4eb3fb0ccae415d328589610bfefe3c312aef65a4fcd575b81c23990c6fa287bdb3fdaecbc272f87eab + languageName: node + linkType: hard + "jsdoctypeparser@npm:^9.0.0": version: 9.0.0 resolution: "jsdoctypeparser@npm:9.0.0" @@ -9575,7 +10038,7 @@ __metadata: languageName: node linkType: hard -"json-schema@npm:0.4.0": +"json-schema@npm:0.4.0, json-schema@npm:^0.4.0": version: 0.4.0 resolution: "json-schema@npm:0.4.0" checksum: 10c0/d4a637ec1d83544857c1c163232f3da46912e971d5bf054ba44fdb88f07d8d359a462b4aec46f2745efbc57053365608d88bc1d7b1729f7b4fc3369765639ed3 @@ -9605,6 +10068,15 @@ __metadata: languageName: node linkType: hard +"json5-writer@npm:^0.1.8": + version: 0.1.8 + resolution: "json5-writer@npm:0.1.8" + dependencies: + jscodeshift: "npm:^0.6.3" + checksum: 10c0/7866ed2d71349c1404e6b62d19eb5dc0d6773857414365b7e3b2a57f9625afb25d68e54ac9bc71f77e545892819e0f93f30234032c1d49c53de07dc9a7252384 + languageName: node + linkType: hard + "json5@npm:^1.0.1, json5@npm:^1.0.2": version: 1.0.2 resolution: "json5@npm:1.0.2" @@ -9616,7 +10088,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.2.3": +"json5@npm:^2.1.1, json5@npm:^2.1.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -10105,6 +10577,13 @@ __metadata: languageName: node linkType: hard +"lodash.truncate@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.truncate@npm:4.4.2" + checksum: 10c0/4e870d54e8a6c86c8687e057cec4069d2e941446ccab7f40b4d9555fa5872d917d0b6aa73bece7765500a3123f1723bcdba9ae881b679ef120bba9e1a0b0ed70 + languageName: node + linkType: hard + "lodash.union@npm:^4.6.0": version: 4.6.0 resolution: "lodash.union@npm:4.6.0" @@ -10152,6 +10631,17 @@ __metadata: languageName: node linkType: hard +"log-update@npm:^3.3.0": + version: 3.4.0 + resolution: "log-update@npm:3.4.0" + dependencies: + ansi-escapes: "npm:^3.2.0" + cli-cursor: "npm:^2.1.0" + wrap-ansi: "npm:^5.0.0" + checksum: 10c0/e2073836c34881e33950003283beb08d813a57c7f6a769e6cd7d606755869611a710051678ff725127b2912cec0a8bdf4c76f91bc07b99d9b459d8a11bb7d2c0 + languageName: node + linkType: hard + "log4js@npm:^6.4.1": version: 6.9.1 resolution: "log4js@npm:6.9.1" @@ -10566,6 +11056,13 @@ __metadata: languageName: node linkType: hard +"mimic-fn@npm:^1.0.0": + version: 1.2.0 + resolution: "mimic-fn@npm:1.2.0" + checksum: 10c0/ad55214aec6094c0af4c0beec1a13787556f8116ed88807cf3f05828500f21f93a9482326bcd5a077ae91e3e8795b4e76b5b4c8bb12237ff0e4043a365516cba + languageName: node + linkType: hard + "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -11111,6 +11608,15 @@ __metadata: languageName: node linkType: hard +"node-dir@npm:^0.1.17": + version: 0.1.17 + resolution: "node-dir@npm:0.1.17" + dependencies: + minimatch: "npm:^3.0.2" + checksum: 10c0/16222e871708c405079ff8122d4a7e1d522c5b90fc8f12b3112140af871cfc70128c376e845dcd0044c625db0d2efebd2d852414599d240564db61d53402b4c1 + languageName: node + linkType: hard + "node-emoji@npm:^1.0.3": version: 1.11.0 resolution: "node-emoji@npm:1.11.0" @@ -11618,6 +12124,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^2.0.0": + version: 2.0.1 + resolution: "onetime@npm:2.0.1" + dependencies: + mimic-fn: "npm:^1.0.0" + checksum: 10c0/b4e44a8c34e70e02251bfb578a6e26d6de6eedbed106cd78211d2fd64d28b6281d54924696554e4e966559644243753ac5df73c87f283b0927533d3315696215 + languageName: node + linkType: hard + "onetime@npm:^5.1.0": version: 5.1.2 resolution: "onetime@npm:5.1.2" @@ -11650,7 +12165,7 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.9.3": +"optionator@npm:^0.9.1, optionator@npm:^0.9.3": version: 0.9.3 resolution: "optionator@npm:0.9.3" dependencies: @@ -11962,6 +12477,13 @@ __metadata: languageName: node linkType: hard +"parse-ms@npm:^2.1.0": + version: 2.1.0 + resolution: "parse-ms@npm:2.1.0" + checksum: 10c0/9c5c0a95c6267c84085685556a6e102ee806c3147ec11cbb9b98e35998eb4a48a757bd6ea7bfd930062de65909a33d24985055b4394e70aa0b65ee40cef16911 + languageName: node + linkType: hard + "parse-passwd@npm:^1.0.0": version: 1.0.0 resolution: "parse-passwd@npm:1.0.0" @@ -12009,6 +12531,13 @@ __metadata: languageName: node linkType: hard +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 + languageName: node + linkType: hard + "path-case@npm:^3.0.4": version: 3.0.4 resolution: "path-case@npm:3.0.4" @@ -12214,6 +12743,13 @@ __metadata: languageName: node linkType: hard +"pirates@npm:^4.0.6": + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 + languageName: node + linkType: hard + "pkg-dir@npm:^3.0.0": version: 3.0.0 resolution: "pkg-dir@npm:3.0.0" @@ -12318,6 +12854,22 @@ __metadata: languageName: node linkType: hard +"pretty-ms@npm:^7.0.1": + version: 7.0.1 + resolution: "pretty-ms@npm:7.0.1" + dependencies: + parse-ms: "npm:^2.1.0" + checksum: 10c0/069aec9d939e7903846b3db53b020bed92e3dc5909e0fef09ec8ab104a0b7f9a846605a1633c60af900d288582fb333f6f30469e59d6487a2330301fad35a89c + languageName: node + linkType: hard + +"private@npm:~0.1.5": + version: 0.1.8 + resolution: "private@npm:0.1.8" + checksum: 10c0/829a23723e5fd3105c72b2dadeeb65743a430f7e6967a8a6f3e49392a1b3ea52975a255376d8c513b0c988bdf162f1a5edf9d9bac27d1ab11f8dba8cdb58880e + languageName: node + linkType: hard + "proc-log@npm:^3.0.0": version: 3.0.0 resolution: "proc-log@npm:3.0.0" @@ -12348,7 +12900,7 @@ __metadata: languageName: node linkType: hard -"progress@npm:^2.0.1": +"progress@npm:^2.0.0, progress@npm:^2.0.1": version: 2.0.3 resolution: "progress@npm:2.0.3" checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c @@ -12747,6 +13299,30 @@ __metadata: languageName: node linkType: hard +"recast@npm:^0.16.1": + version: 0.16.2 + resolution: "recast@npm:0.16.2" + dependencies: + ast-types: "npm:0.11.7" + esprima: "npm:~4.0.0" + private: "npm:~0.1.5" + source-map: "npm:~0.6.1" + checksum: 10c0/83739f88533e55f1fbaca7cfafdc52de930cb211005aeccec6b914f806776c4e9a5265594f420eb27bb3d65694ddccc52a06ac9fdefe445318a1dd9ec2d971f2 + languageName: node + linkType: hard + +"recast@npm:^0.20.4": + version: 0.20.5 + resolution: "recast@npm:0.20.5" + dependencies: + ast-types: "npm:0.14.2" + esprima: "npm:~4.0.0" + source-map: "npm:~0.6.1" + tslib: "npm:^2.0.1" + checksum: 10c0/7810216ff36c7376eddd66d3ce6b2df421305fdc983f2122711837911712177d52d804419655e1f29d4bb93016c178cffe442af410bdcf726050ca19af6fed32 + languageName: node + linkType: hard + "rechoir@npm:^0.6.2": version: 0.6.2 resolution: "rechoir@npm:0.6.2" @@ -12834,7 +13410,7 @@ __metadata: languageName: node linkType: hard -"regexpp@npm:^3.0.0": +"regexpp@npm:^3.0.0, regexpp@npm:^3.1.0": version: 3.2.0 resolution: "regexpp@npm:3.2.0" checksum: 10c0/d1da82385c8754a1681416b90b9cca0e21b4a2babef159099b88f640637d789c69011d0bc94705dacab85b81133e929d027d85210e8b8b03f8035164dbc14710 @@ -13096,6 +13672,16 @@ __metadata: languageName: node linkType: hard +"restore-cursor@npm:^2.0.0": + version: 2.0.0 + resolution: "restore-cursor@npm:2.0.0" + dependencies: + onetime: "npm:^2.0.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/f5b335bee06f440445e976a7031a3ef53691f9b7c4a9d42a469a0edaf8a5508158a0d561ff2b26a1f4f38783bcca2c0e5c3a44f927326f6694d5b44d7a4993e6 + languageName: node + linkType: hard + "restore-cursor@npm:^3.1.0": version: 3.1.0 resolution: "restore-cursor@npm:3.1.0" @@ -13507,7 +14093,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4": +"semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4": version: 7.6.0 resolution: "semver@npm:7.6.0" dependencies: @@ -13813,6 +14399,17 @@ __metadata: languageName: node linkType: hard +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + astral-regex: "npm:^2.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + checksum: 10c0/6c25678db1270d4793e0327620f1e0f9f5bea4630123f51e9e399191bc52c87d6e6de53ed33538609e5eacbd1fab769fae00f3705d08d029f02102a540648918 + languageName: node + linkType: hard + "slide@npm:^1.1.5": version: 1.1.6 resolution: "slide@npm:1.1.6" @@ -13994,7 +14591,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:~0.5.10, source-map-support@npm:~0.5.12": +"source-map-support@npm:^0.5.16, source-map-support@npm:~0.5.10, source-map-support@npm:~0.5.12": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -14336,6 +14933,17 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^3.0.0": + version: 3.1.0 + resolution: "string-width@npm:3.1.0" + dependencies: + emoji-regex: "npm:^7.0.1" + is-fullwidth-code-point: "npm:^2.0.0" + strip-ansi: "npm:^5.1.0" + checksum: 10c0/85fa0d4f106e7999bb68c1c640c76fa69fb8c069dab75b009e29c123914e2d3b532e6cfa4b9d1bd913176fc83dedd7a2d7bf40d21a81a8a1978432cedfb65b91 + languageName: node + linkType: hard + "string-width@npm:^5.0.1, string-width@npm:^5.1.2": version: 5.1.2 resolution: "string-width@npm:5.1.2" @@ -14425,6 +15033,15 @@ __metadata: languageName: node linkType: hard +"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0": + version: 5.2.0 + resolution: "strip-ansi@npm:5.2.0" + dependencies: + ansi-regex: "npm:^4.1.0" + checksum: 10c0/de4658c8a097ce3b15955bc6008f67c0790f85748bdc025b7bc8c52c7aee94bc4f9e50624516150ed173c3db72d851826cd57e7a85fe4e4bb6dbbebd5d297fdf + languageName: node + linkType: hard + "strip-ansi@npm:^7.0.1": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" @@ -14489,7 +15106,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.1": +"strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd @@ -14555,6 +15172,15 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^6.1.0": + version: 6.1.0 + resolution: "supports-color@npm:6.1.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/ebf2befe41b55932c6d77192b91775f1403c389440ce2dab6f72663cf32ee87a1d9dea3512131a18e45ccac91424a8873b266142828489d0206d65ee93d224b6 + languageName: node + linkType: hard + "supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -14597,6 +15223,19 @@ __metadata: languageName: node linkType: hard +"table@npm:^6.0.9": + version: 6.8.1 + resolution: "table@npm:6.8.1" + dependencies: + ajv: "npm:^8.0.1" + lodash.truncate: "npm:^4.4.2" + slice-ansi: "npm:^4.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/591ed84b2438b01c9bc02248e2238e21e8bfb73654bc5acca0d469053eb39be3db2f57d600dcf08ac983b6f50f80842c44612c03877567c2afee3aec4a033e5f + languageName: node + linkType: hard + "tapable@npm:^1.0.0, tapable@npm:^1.1.3": version: 1.1.3 resolution: "tapable@npm:1.1.3" @@ -14658,6 +15297,15 @@ __metadata: languageName: node linkType: hard +"temp@npm:^0.8.1, temp@npm:^0.8.4": + version: 0.8.4 + resolution: "temp@npm:0.8.4" + dependencies: + rimraf: "npm:~2.6.2" + checksum: 10c0/7f071c963031bfece37e13c5da11e9bb451e4ddfc4653e23e327a2f91594102dc826ef6a693648e09a6e0eb856f507967ec759ae55635e0878091eccf411db37 + languageName: node + linkType: hard + "temp@npm:^0.9.0": version: 0.9.4 resolution: "temp@npm:0.9.4" @@ -14731,6 +15379,13 @@ __metadata: languageName: node linkType: hard +"throat@npm:^4.1.0": + version: 4.1.0 + resolution: "throat@npm:4.1.0" + checksum: 10c0/2719e5adee890a437b68db58725086c4296091a613229b79602f34ff5016e7411e12299ff2a04032dac9e11e3781e8c7a06c58d472bf9abf17b034fe50434d64 + languageName: node + linkType: hard + "through2@npm:^2.0.0": version: 2.0.5 resolution: "through2@npm:2.0.5" @@ -14995,6 +15650,53 @@ __metadata: languageName: node linkType: hard +"ts-migrate-plugins@npm:^0.1.35": + version: 0.1.35 + resolution: "ts-migrate-plugins@npm:0.1.35" + dependencies: + eslint: "npm:^7.14.0" + jscodeshift: "npm:^0.13.0" + json-schema: "npm:^0.4.0" + ts-migrate-server: "npm:^0.1.33" + peerDependencies: + typescript: ">4.0" + checksum: 10c0/7233c413e655aa32fbb125ea1132693485c523aa2439ebb1e92f703e4a1ca705a428397860a69a528a68421d8e187441b3c14e6fd7fd220d5b2b24dc4570f686 + languageName: node + linkType: hard + +"ts-migrate-server@npm:^0.1.33": + version: 0.1.33 + resolution: "ts-migrate-server@npm:0.1.33" + dependencies: + "@ts-morph/bootstrap": "npm:^0.16.0" + pretty-ms: "npm:^7.0.1" + updatable-log: "npm:^0.2.0" + peerDependencies: + typescript: ">4.0" + checksum: 10c0/a395a1c2c00051d04bf658e9326b9090ea611ef59f2c5ad4422870dae37421101e801435c553645cd872dfb9297f9b259115bdff728e0b56c27fec18f97136ea + languageName: node + linkType: hard + +"ts-migrate@npm:^0.1.35": + version: 0.1.35 + resolution: "ts-migrate@npm:0.1.35" + dependencies: + create-jest-runner: "npm:^0.5.3" + json5: "npm:^2.1.1" + json5-writer: "npm:^0.1.8" + ts-migrate-plugins: "npm:^0.1.35" + ts-migrate-server: "npm:^0.1.33" + updatable-log: "npm:^0.2.0" + yargs: "npm:^15.0.2" + peerDependencies: + typescript: ">4.0" + bin: + ts-migrate: build/cli.js + ts-migrate-full: bin/ts-migrate-full.sh + checksum: 10c0/f45b6e99f3e488f4ae23b24cc9ce629d3ff432e1d204cd96c9f1bf697fd209c22af96e9533c9def4d6bcd027984d1a491666f978a7613defafd722f86cf6f806 + languageName: node + linkType: hard + "tsconfig-paths@npm:^3.15.0": version: 3.15.0 resolution: "tsconfig-paths@npm:3.15.0" @@ -15043,7 +15745,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.3, tslib@npm:^2.6.2": +"tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.6.2": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb @@ -15484,6 +16186,17 @@ __metadata: languageName: node linkType: hard +"updatable-log@npm:^0.2.0": + version: 0.2.0 + resolution: "updatable-log@npm:0.2.0" + dependencies: + chalk: "npm:^2.4.2" + figures: "npm:^3.0.0" + log-update: "npm:^3.3.0" + checksum: 10c0/cc8862a661479825f56d23853d1282b18a530443e0f55538b19afa7a9779737abd9483be3e3a8cbc6edfa5f3e6d3a9a7620a479980395c8b07b6bf9d879392e4 + languageName: node + linkType: hard + "update-browserslist-db@npm:^1.0.13": version: 1.0.13 resolution: "update-browserslist-db@npm:1.0.13" @@ -15656,6 +16369,13 @@ __metadata: languageName: node linkType: hard +"v8-compile-cache@npm:^2.0.3": + version: 2.4.0 + resolution: "v8-compile-cache@npm:2.4.0" + checksum: 10c0/387851192545e7f4d691ba674de90890bba76c0f08ee4909ab862377f556221e75b3a361466490e201203401d64d7795f889882bdabc98b6f3c0bf1038a535be + languageName: node + linkType: hard + "v8-to-istanbul@npm:^9.2.0": version: 9.2.0 resolution: "v8-to-istanbul@npm:9.2.0" @@ -16194,6 +16914,17 @@ __metadata: languageName: node linkType: hard +"wrap-ansi@npm:^5.0.0": + version: 5.1.0 + resolution: "wrap-ansi@npm:5.1.0" + dependencies: + ansi-styles: "npm:^3.2.0" + string-width: "npm:^3.0.0" + strip-ansi: "npm:^5.0.0" + checksum: 10c0/fcd0b39b7453df512f2fe8c714a1c1b147fe3e6a4b5a2e4de6cadc3af47212f335eceaffe588e98322d6345e72672137e2c0b834d8a662e73a32296c1c8216bb + languageName: node + linkType: hard + "wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" @@ -16234,6 +16965,17 @@ __metadata: languageName: node linkType: hard +"write-file-atomic@npm:^2.3.0": + version: 2.4.3 + resolution: "write-file-atomic@npm:2.4.3" + dependencies: + graceful-fs: "npm:^4.1.11" + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.2" + checksum: 10c0/8cb4bba0c1ab814a9b127844da0db4fb8c5e06ddbe6317b8b319377c73b283673036c8b9360120062898508b9428d81611cf7fa97584504a00bc179b2a580b92 + languageName: node + linkType: hard + "write-file-atomic@npm:^3.0.0": version: 3.0.3 resolution: "write-file-atomic@npm:3.0.3" From 8354a56fef30c8a0a16d1928c96928a9c86f6871 Mon Sep 17 00:00:00 2001 From: JonLuca DeCaro Date: Wed, 6 Mar 2024 12:53:36 -0800 Subject: [PATCH 3/6] [ts-migrate][.] Rename files from JS/JSX to TS/TSX Co-authored-by: ts-migrate <> --- test/fixtures/{mocha.js => mocha.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test/fixtures/{mocha.js => mocha.ts} (100%) diff --git a/test/fixtures/mocha.js b/test/fixtures/mocha.ts similarity index 100% rename from test/fixtures/mocha.js rename to test/fixtures/mocha.ts From 4645c4a106ac16b12786cc1e74c4f06cda93aa05 Mon Sep 17 00:00:00 2001 From: JonLuca DeCaro Date: Wed, 6 Mar 2024 12:54:00 -0800 Subject: [PATCH 4/6] [ts-migrate][.] Init tsconfig.json file Co-authored-by: ts-migrate <> --- test/fixtures/mocha.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/fixtures/mocha.ts b/test/fixtures/mocha.ts index f085c221..6f35aea6 100644 --- a/test/fixtures/mocha.ts +++ b/test/fixtures/mocha.ts @@ -1,16 +1,23 @@ "use strict"; +// @ts-expect-error TS(2580): Cannot find name 'require'. Do you need to install... Remove this comment to see the full error message const { host } = require("@jsdevtools/host-environment"); if (host.browser) { + // @ts-expect-error TS(2304): Cannot find name 'mocha'. mocha.setup("bdd"); + // @ts-expect-error TS(2304): Cannot find name 'mocha'. mocha.fullTrace(); + // @ts-expect-error TS(2304): Cannot find name 'mocha'. mocha.asyncOnly(); + // @ts-expect-error TS(2304): Cannot find name 'mocha'. mocha.checkLeaks(); + // @ts-expect-error TS(2304): Cannot find name 'mocha'. mocha.globals(["$0", "$1", "$2", "$3", "$4", "$5", "ga", "gaplugins", "gaGlobal", "gaData"]); } -beforeEach(function () { +// @ts-expect-error TS(2304): Cannot find name 'beforeEach'. +beforeEach(function(this: any) { // Most of our tests perform multiple AJAX requests, // so we need to increase the timeouts to allow for that this.currentTest.timeout(20000); From 891f102109e04385da243a61642bcbb206f7f839 Mon Sep 17 00:00:00 2001 From: JonLuca DeCaro Date: Wed, 6 Mar 2024 12:54:16 -0800 Subject: [PATCH 5/6] [ts-migrate][.] Rename files from JS/JSX to TS/TSX Co-authored-by: ts-migrate <> --- test/specs/{exports.spec.js => exports.spec.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test/specs/{exports.spec.js => exports.spec.ts} (100%) diff --git a/test/specs/exports.spec.js b/test/specs/exports.spec.ts similarity index 100% rename from test/specs/exports.spec.js rename to test/specs/exports.spec.ts From bab1769b94e302a29e43e0e9d33cacc7aa63ac16 Mon Sep 17 00:00:00 2001 From: JonLuca DeCaro Date: Wed, 6 Mar 2024 17:00:33 -0800 Subject: [PATCH 6/6] feat(rewrite): initial rewrite to typescript --- .github/workflows/CI-CD.yaml | 90 +- .gitignore | 1 + .yarn/install-state.gz | Bin 1649212 -> 823180 bytes lib/index.d.ts | 498 - lib/index.ts | 99 +- lib/normalize-args.ts | 62 - lib/options.ts | 17 +- lib/util.ts | 4 +- lib/validators/schema.ts | 6 +- lib/validators/spec.ts | 124 +- online/js/bundle.js | 2296 +-- online/js/bundle.min.js | 2534 +-- online/js/polyfills/promise.js | 2 +- online/js/polyfills/typedarray.js | 50 +- online/src/js/analytics.js | 2 +- online/src/js/dropdowns.js | 18 +- online/src/js/editors.js | 18 +- online/src/js/form.js | 4 +- online/src/js/parser.js | 12 +- online/src/js/querystring.js | 12 +- package.json | 36 +- test/fixtures/mocha.ts | 25 - test/fixtures/polyfill.js | 10 - .../{bundled.js => bundled.ts} | 4 +- .../callbacks-promises.spec.js | 102 - .../callbacks-promises.spec.ts | 104 + .../{dereferenced.js => dereferenced.ts} | 4 +- .../{parsed.js => parsed.ts} | 4 +- .../specs/circular/{bundled.js => bundled.ts} | 4 +- test/specs/circular/circular.spec.js | 88 - test/specs/circular/circular.spec.ts | 90 + .../{dereferenced.js => dereferenced.ts} | 18 +- test/specs/circular/{parsed.js => parsed.ts} | 4 +- .../circular/{validated.js => validated.ts} | 21 +- .../deep-circular/{bundled.js => bundled.ts} | 4 +- .../specs/deep-circular/deep-circular.spec.js | 80 - .../specs/deep-circular/deep-circular.spec.ts | 72 + .../{dereferenced.js => dereferenced.ts} | 11 +- .../deep-circular/{parsed.js => parsed.ts} | 4 +- test/specs/exports.spec.ts | 13 +- .../{invalid.spec.js => invalid.spec.ts} | 35 +- ...rs.spec.js => v3-relative-servers.spec.ts} | 51 +- .../object-source/{bundled.js => bundled.ts} | 2 +- .../{dereferenced.js => dereferenced.ts} | 2 +- ...t-source.spec.js => object-source.spec.ts} | 28 +- .../object-source/{parsed.js => parsed.ts} | 6 +- .../{fetch-api-list.js => fetch-api-list.ts} | 24 +- .../{known-errors.js => known-errors.ts} | 30 +- ...{real-world.spec.js => real-world.spec.ts} | 12 +- test/specs/typescript-definition.spec.ts | 169 - .../{dereferenced.js => dereferenced.ts} | 2 +- test/specs/unknown/{parsed.js => parsed.ts} | 2 +- .../{unknown.spec.js => unknown.spec.ts} | 46 +- ...schema.spec.js => validate-schema.spec.ts} | 28 +- ...ate-spec.spec.js => validate-spec.spec.ts} | 24 +- test/tsconfig.json | 27 + test/utils/{helper.js => helper.ts} | 57 +- test/utils/path.js | 130 - test/utils/path.ts | 144 + tsconfig.json | 5 +- vite.config.ts | 1 - yarn.lock | 12915 +++------------- 62 files changed, 5279 insertions(+), 15008 deletions(-) delete mode 100644 lib/index.d.ts delete mode 100644 lib/normalize-args.ts delete mode 100644 test/fixtures/mocha.ts delete mode 100644 test/fixtures/polyfill.js rename test/specs/callbacks-promises/{bundled.js => bundled.ts} (97%) delete mode 100644 test/specs/callbacks-promises/callbacks-promises.spec.js create mode 100644 test/specs/callbacks-promises/callbacks-promises.spec.ts rename test/specs/callbacks-promises/{dereferenced.js => dereferenced.ts} (98%) rename test/specs/callbacks-promises/{parsed.js => parsed.ts} (97%) rename test/specs/circular/{bundled.js => bundled.ts} (98%) delete mode 100644 test/specs/circular/circular.spec.js create mode 100644 test/specs/circular/circular.spec.ts rename test/specs/circular/{dereferenced.js => dereferenced.ts} (94%) rename test/specs/circular/{parsed.js => parsed.ts} (98%) rename test/specs/circular/{validated.js => validated.ts} (96%) rename test/specs/deep-circular/{bundled.js => bundled.ts} (99%) delete mode 100644 test/specs/deep-circular/deep-circular.spec.js create mode 100644 test/specs/deep-circular/deep-circular.spec.ts rename test/specs/deep-circular/{dereferenced.js => dereferenced.ts} (99%) rename test/specs/deep-circular/{parsed.js => parsed.ts} (99%) rename test/specs/invalid/{invalid.spec.js => invalid.spec.ts} (65%) rename test/specs/oas-relative-servers/{v3-relative-servers.spec.js => v3-relative-servers.spec.ts} (66%) rename test/specs/object-source/{bundled.js => bundled.ts} (98%) rename test/specs/object-source/{dereferenced.js => dereferenced.ts} (99%) rename test/specs/object-source/{object-source.spec.js => object-source.spec.ts} (85%) rename test/specs/object-source/{parsed.js => parsed.ts} (92%) rename test/specs/real-world/{fetch-api-list.js => fetch-api-list.ts} (74%) rename test/specs/real-world/{known-errors.js => known-errors.ts} (88%) rename test/specs/real-world/{real-world.spec.js => real-world.spec.ts} (90%) delete mode 100644 test/specs/typescript-definition.spec.ts rename test/specs/unknown/{dereferenced.js => dereferenced.ts} (99%) rename test/specs/unknown/{parsed.js => parsed.ts} (99%) rename test/specs/unknown/{unknown.spec.js => unknown.spec.ts} (73%) rename test/specs/validate-schema/{validate-schema.spec.js => validate-schema.spec.ts} (83%) rename test/specs/validate-spec/{validate-spec.spec.js => validate-spec.spec.ts} (91%) create mode 100644 test/tsconfig.json rename test/utils/{helper.js => helper.ts} (57%) delete mode 100644 test/utils/path.js create mode 100644 test/utils/path.ts diff --git a/.github/workflows/CI-CD.yaml b/.github/workflows/CI-CD.yaml index f320317f..412fad1a 100644 --- a/.github/workflows/CI-CD.yaml +++ b/.github/workflows/CI-CD.yaml @@ -22,34 +22,30 @@ jobs: - macos-latest - windows-latest node: - - 14 - - 16 - # - 18 TODO bring this back + - 18 + - lts/* + - current steps: - name: Checkout source - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install Node ${{ matrix.node }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - cache: 'npm' - name: Install dependencies - run: npm ci + run: yarn install --frozen-lockfile - name: Run linter - run: npm run lint - - - name: Run TypeScript tests - run: npm run test:typescript + run: yarn lint - name: Run Node tests - run: npm run coverage:node + run: yarn test:node - name: Send code coverage results to Coveralls - uses: coverallsapp/github-action@v1.1.0 + uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} parallel: true @@ -57,38 +53,31 @@ jobs: browser_tests: name: Browser Tests runs-on: ${{ matrix.os }} - timeout-minutes: 10 + timeout-minutes: 15 strategy: fail-fast: true matrix: os: - - ubuntu-latest # Chrome, Firefox, Safari (TODO) - # - windows-latest # Internet Explorer, Edge + - ubuntu-latest # Chrome, Firefox + - windows-latest # Internet Explorer steps: - name: Checkout source - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: 12 - cache: 'npm' + node-version: lts/* - name: Install dependencies - run: npm ci + run: yarn install --frozen-lockfile - name: Run tests - run: npm run coverage:browser - - - name: Combine code coverage data into a single file - shell: bash - run: | - ls -Rlh coverage/*/lcov.info - cat coverage/*/lcov.info > ./coverage/lcov.info + run: yarn test:browser - name: Send code coverage results to Coveralls - uses: coverallsapp/github-action@v1.1.0 + uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} parallel: true @@ -96,52 +85,39 @@ jobs: coverage: name: Code Coverage runs-on: ubuntu-latest - timeout-minutes: 10 + timeout-minutes: 5 needs: - node_tests - browser_tests steps: - name: Let Coveralls know that all tests have finished - uses: coverallsapp/github-action@v1.1.0 + uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} parallel-finished: true - deploy: - name: Publish to NPM + release: + name: Release if: github.ref == 'refs/heads/main' runs-on: ubuntu-latest timeout-minutes: 10 needs: - node_tests - browser_tests - steps: - - name: Checkout source - uses: actions/checkout@v3 - - - name: Install Node - uses: actions/setup-node@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: 12 - cache: 'npm' + node-version: lts/* - name: Install dependencies - run: npm ci - - - name: Publish to NPM - uses: JS-DevTools/npm-publish@v1 - with: - token: ${{ secrets.NPM_TOKEN }} + run: yarn install --frozen-lockfile - - name: Prepare the non-scoped packaged - run: | - cp LICENSE *.md dist - VERSION=$(node -e "console.log(require('./package.json').version)") - sed -i "s/X.X.X/${VERSION}/g" dist/package.json + - name: Prepare Unscoped Package + run: yarn build - - name: Publish the non-scoped package to NPM - uses: JS-DevTools/npm-publish@v1 - with: - token: ${{ secrets.NPM_TOKEN }} - package: dist/package.json + - name: Publish to NPM + run: npx semantic-release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.gitignore b/.gitignore index 93945580..abefc5c6 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ node_modules # Jekyll output _site .sass-cache +coverage diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index fb94055864e5a092904a253c897f5738aac655a6..8c684bf67c4f6a35edcdae2101af80837bf44880 100644 GIT binary patch delta 715120 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

      Xg~?`Oe*EK}qM?W&D! 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

      y82@P$QTyYRkX@1L&ut531YB)ZC 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

      4;(e{~ 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 z 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�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⋙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¬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 z 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≫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

ja$H4y&Vw#domCD{y>`WH~R8_!=vx*vmfF8 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�QxUx#K}8xqHxz${It?NySb0= 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

u*$Pf#j+l(u&{#G%1la_pcKi#YP& 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�!g~gLorUKl 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 E0BqOSegFUf literal 0 HcmV?d00001 diff --git a/.yarn/releases/yarn-4.1.1.cjs b/.yarn/releases/yarn-4.1.1.cjs new file mode 100755 index 00000000..233bb7a3 --- /dev/null +++ b/.yarn/releases/yarn-4.1.1.cjs @@ -0,0 +1,893 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var Z3e=Object.create;var NR=Object.defineProperty;var $3e=Object.getOwnPropertyDescriptor;var e_e=Object.getOwnPropertyNames;var t_e=Object.getPrototypeOf,r_e=Object.prototype.hasOwnProperty;var ve=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var Et=(t,e)=>()=>(t&&(e=t(t=0)),e);var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Vt=(t,e)=>{for(var r in e)NR(t,r,{get:e[r],enumerable:!0})},n_e=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of e_e(e))!r_e.call(t,a)&&a!==r&&NR(t,a,{get:()=>e[a],enumerable:!(o=$3e(e,a))||o.enumerable});return t};var $e=(t,e,r)=>(r=t!=null?Z3e(t_e(t)):{},n_e(e||!t||!t.__esModule?NR(r,"default",{value:t,enumerable:!0}):r,t));var vi={};Vt(vi,{SAFE_TIME:()=>x7,S_IFDIR:()=>wD,S_IFLNK:()=>ID,S_IFMT:()=>Ou,S_IFREG:()=>qw});var Ou,wD,qw,ID,x7,k7=Et(()=>{Ou=61440,wD=16384,qw=32768,ID=40960,x7=456789e3});var ar={};Vt(ar,{EBADF:()=>Io,EBUSY:()=>i_e,EEXIST:()=>u_e,EINVAL:()=>o_e,EISDIR:()=>c_e,ENOENT:()=>a_e,ENOSYS:()=>s_e,ENOTDIR:()=>l_e,ENOTEMPTY:()=>f_e,EOPNOTSUPP:()=>p_e,EROFS:()=>A_e,ERR_DIR_CLOSED:()=>LR});function Tl(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function i_e(t){return Tl("EBUSY",t)}function s_e(t,e){return Tl("ENOSYS",`${t}, ${e}`)}function o_e(t){return Tl("EINVAL",`invalid argument, ${t}`)}function Io(t){return Tl("EBADF",`bad file descriptor, ${t}`)}function a_e(t){return Tl("ENOENT",`no such file or directory, ${t}`)}function l_e(t){return Tl("ENOTDIR",`not a directory, ${t}`)}function c_e(t){return Tl("EISDIR",`illegal operation on a directory, ${t}`)}function u_e(t){return Tl("EEXIST",`file already exists, ${t}`)}function A_e(t){return Tl("EROFS",`read-only filesystem, ${t}`)}function f_e(t){return Tl("ENOTEMPTY",`directory not empty, ${t}`)}function p_e(t){return Tl("EOPNOTSUPP",`operation not supported, ${t}`)}function LR(){return Tl("ERR_DIR_CLOSED","Directory handle was closed")}var BD=Et(()=>{});var Ea={};Vt(Ea,{BigIntStatsEntry:()=>ty,DEFAULT_MODE:()=>UR,DirEntry:()=>OR,StatEntry:()=>ey,areStatsEqual:()=>_R,clearStats:()=>vD,convertToBigIntStats:()=>g_e,makeDefaultStats:()=>Q7,makeEmptyStats:()=>h_e});function Q7(){return new ey}function h_e(){return vD(Q7())}function vD(t){for(let e in t)if(Object.hasOwn(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):MR.types.isDate(r)&&(t[e]=new Date(0))}return t}function g_e(t){let e=new ty;for(let r in t)if(Object.hasOwn(t,r)){let o=t[r];typeof o=="number"?e[r]=BigInt(o):MR.types.isDate(o)&&(e[r]=new Date(o))}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 _R(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,o=e;return!(r.atimeNs!==o.atimeNs||r.mtimeNs!==o.mtimeNs||r.ctimeNs!==o.ctimeNs||r.birthtimeNs!==o.birthtimeNs)}var MR,UR,OR,ey,ty,HR=Et(()=>{MR=$e(ve("util")),UR=33188,OR=class{constructor(){this.name="";this.path="";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}},ey=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=UR;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}},ty=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(UR);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 C_e(t){let e,r;if(e=t.match(y_e))t=e[1];else if(r=t.match(E_e))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function w_e(t){t=t.replace(/\\/g,"/");let e,r;return(e=t.match(d_e))?t=`/${e[1]}`:(r=t.match(m_e))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function DD(t,e){return t===ue?R7(e):qR(e)}var jw,Bt,dr,ue,V,F7,d_e,m_e,y_e,E_e,qR,R7,Ca=Et(()=>{jw=$e(ve("path")),Bt={root:"/",dot:".",parent:".."},dr={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml",env:".env"},ue=Object.create(jw.default),V=Object.create(jw.default.posix);ue.cwd=()=>process.cwd();V.cwd=process.platform==="win32"?()=>qR(process.cwd()):process.cwd;process.platform==="win32"&&(V.resolve=(...t)=>t.length>0&&V.isAbsolute(t[0])?jw.default.posix.resolve(...t):jw.default.posix.resolve(V.cwd(),...t));F7=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};ue.contains=(t,e)=>F7(ue,t,e);V.contains=(t,e)=>F7(V,t,e);d_e=/^([a-zA-Z]:.*)$/,m_e=/^\/\/(\.\/)?(.*)$/,y_e=/^\/([a-zA-Z]:.*)$/,E_e=/^\/unc\/(\.dot\/)?(.*)$/;qR=process.platform==="win32"?w_e:t=>t,R7=process.platform==="win32"?C_e:t=>t;ue.fromPortablePath=R7;ue.toPortablePath=qR});async function SD(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let o=[];for(let a of r)for(let n of r)o.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(o),e.indexPath}async function T7(t,e,r,o,a){let n=t.pathUtils.normalize(e),u=r.pathUtils.normalize(o),A=[],p=[],{atime:h,mtime:E}=a.stableTime?{atime:Og,mtime:Og}:await r.lstatPromise(u);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,E]}),await jR(A,p,t,n,r,u,{...a,didParentExist:!0});for(let I of A)await I();await Promise.all(p.map(I=>I()))}async function jR(t,e,r,o,a,n,u){let A=u.didParentExist?await N7(r,o):null,p=await a.lstatPromise(n),{atime:h,mtime:E}=u.stableTime?{atime:Og,mtime:Og}:p,I;switch(!0){case p.isDirectory():I=await B_e(t,e,r,o,A,a,n,p,u);break;case p.isFile():I=await S_e(t,e,r,o,A,a,n,p,u);break;case p.isSymbolicLink():I=await P_e(t,e,r,o,A,a,n,p,u);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(u.linkStrategy?.type!=="HardlinkFromIndex"||!p.isFile())&&((I||A?.mtime?.getTime()!==E.getTime()||A?.atime?.getTime()!==h.getTime())&&(e.push(()=>r.lutimesPromise(o,h,E)),I=!0),(A===null||(A.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(o,p.mode&511)),I=!0)),I}async function N7(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function B_e(t,e,r,o,a,n,u,A,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(o,{mode:A.mode})}catch(v){if(v.code!=="EEXIST")throw v}}),h=!0);let E=await n.readdirPromise(u),I=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let v of E.sort())await jR(t,e,r,r.pathUtils.join(o,v),n,n.pathUtils.join(u,v),I)&&(h=!0);else(await Promise.all(E.map(async x=>{await jR(t,e,r,r.pathUtils.join(o,x),n,n.pathUtils.join(u,x),I)}))).some(x=>x)&&(h=!0);return h}async function v_e(t,e,r,o,a,n,u,A,p,h){let E=await n.checksumFilePromise(u,{algorithm:"sha1"}),I=420,v=A.mode&511,x=`${E}${v!==I?v.toString(8):""}`,C=r.pathUtils.join(h.indexPath,E.slice(0,2),`${x}.dat`),R;(ce=>(ce[ce.Lock=0]="Lock",ce[ce.Rename=1]="Rename"))(R||={});let L=1,U=await N7(r,C);if(a){let ae=U&&a.dev===U.dev&&a.ino===U.ino,fe=U?.mtimeMs!==I_e;if(ae&&fe&&h.autoRepair&&(L=0,U=null),!ae)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1}let J=!U&&L===1?`${C}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,te=!1;return t.push(async()=>{if(!U&&(L===0&&await r.lockPromise(C,async()=>{let ae=await n.readFilePromise(u);await r.writeFilePromise(C,ae)}),L===1&&J)){let ae=await n.readFilePromise(u);await r.writeFilePromise(J,ae);try{await r.linkPromise(J,C)}catch(fe){if(fe.code==="EEXIST")te=!0,await r.unlinkPromise(J);else throw fe}}a||await r.linkPromise(C,o)}),e.push(async()=>{U||(await r.lutimesPromise(C,Og,Og),v!==I&&await r.chmodPromise(C,v)),J&&!te&&await r.unlinkPromise(J)}),!1}async function D_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(u);await r.writeFilePromise(o,h)}),!0}async function S_e(t,e,r,o,a,n,u,A,p){return p.linkStrategy?.type==="HardlinkFromIndex"?v_e(t,e,r,o,a,n,u,A,p,p.linkStrategy):D_e(t,e,r,o,a,n,u,A,p)}async function P_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(DD(r.pathUtils,await n.readlinkPromise(u)),o)}),!0}var Og,I_e,GR=Et(()=>{Ca();Og=new Date(456789e3*1e3),I_e=Og.getTime()});function PD(t,e,r,o){let a=()=>{let n=r.shift();if(typeof n>"u")return null;let u=t.pathUtils.join(e,n);return Object.assign(t.statSync(u),{name:n,path:void 0})};return new Gw(e,a,o)}var Gw,L7=Et(()=>{BD();Gw=class{constructor(e,r,o={}){this.path=e;this.nextDirent=r;this.opts=o;this.closed=!1}throwIfClosed(){if(this.closed)throw LR()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){this.throwIfClosed(),this.opts.onClose?.(),this.closed=!0}}});function O7(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var M7,ry,U7=Et(()=>{M7=ve("events");HR();ry=class extends M7.EventEmitter{constructor(r,o,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=o,this.bigint=a,this.lastStats=this.stat()}static create(r,o,a){let n=new ry(r,o,a);return n.start(),n}start(){O7(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(){O7(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 o=this.bigint?new ty:new ey;return vD(o)}}makeInterval(r){let o=setInterval(()=>{let a=this.stat(),n=this.lastStats;_R(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?o:o.unref()}registerChangeListener(r,o){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(o))}unregisterChangeListener(r){this.removeListener("change",r);let o=this.changeListeners.get(r);typeof o<"u"&&clearInterval(o),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function ny(t,e,r,o){let a,n,u,A;switch(typeof r){case"function":a=!1,n=!0,u=5007,A=r;break;default:({bigint:a=!1,persistent:n=!0,interval:u=5007}=r),A=o;break}let p=bD.get(t);typeof p>"u"&&bD.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=ry.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(A,{persistent:n,interval:u}),h}function Mg(t,e,r){let o=bD.get(t);if(typeof o>"u")return;let a=o.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),o.delete(e)))}function Ug(t){let e=bD.get(t);if(!(typeof e>"u"))for(let r of e.keys())Mg(t,r)}var bD,YR=Et(()=>{U7();bD=new WeakMap});function b_e(t){let e=t.match(/\r?\n/g);if(e===null)return H7.EOL;let r=e.filter(a=>a===`\r +`).length,o=e.length-r;return r>o?`\r +`:` +`}function _g(t,e){return e.replace(/\r?\n/g,b_e(t))}var _7,H7,gf,Mu,Hg=Et(()=>{_7=ve("crypto"),H7=ve("os");GR();Ca();gf=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let o=[e];for(;o.length>0;){let a=o.shift();if((await this.lstatPromise(a)).isDirectory()){let u=await this.readdirPromise(a);if(r)for(let A of u.sort())o.push(this.pathUtils.join(a,A));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let o=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,_7.createHash)(r),A=0;for(;(A=await this.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await this.closePromise(o)}}async removePromise(e,{recursive:r=!0,maxRetries:o=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(u=>this.removePromise(this.pathUtils.resolve(e,u))))}for(let n=0;n<=o;n++)try{await this.rmdirPromise(e);break}catch(u){if(u.code!=="EBUSY"&&u.code!=="ENOTEMPTY")throw u;nsetTimeout(A,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let o;try{o=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&await this.chmodPromise(A,r),o!=null)await this.utimesPromise(A,o[0],o[1]);else{let p=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&this.chmodSync(A,r),o!=null)this.utimesSync(A,o[0],o[1]);else{let p=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:o=this,overwrite:a=!0,stableSort:n=!1,stableTime:u=!1,linkStrategy:A=null}={}){return await T7(this,e,o,r,{overwrite:a,stableSort:n,stableTime:u,linkStrategy:A})}copySync(e,r,{baseFs:o=this,overwrite:a=!0}={}){let n=o.lstatSync(r),u=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=o.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),o.pathUtils.join(r,h),{baseFs:o,overwrite:a})}else if(n.isFile()){if(!u||a){u&&this.removeSync(e);let p=o.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!u||a){u&&this.removeSync(e);let p=o.readlinkSync(r);this.symlinkSync(DD(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let A=n.mode&511;this.chmodSync(e,A)}async changeFilePromise(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,o):this.changeFileTextPromise(e,r,o)}async changeFileBufferPromise(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:o})}async changeFileTextPromise(e,r,{automaticNewlines:o,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let u=o?_g(n,r):r;n!==u&&await this.writeFilePromise(e,u,{mode:a})}changeFileSync(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,o):this.changeFileTextSync(e,r,o)}changeFileBufferSync(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:o})}changeFileTextSync(e,r,{automaticNewlines:o=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let u=o?_g(n,r):r;n!==u&&this.writeFileSync(e,u,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(o){if(o.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw o}}moveSync(e,r){try{this.renameSync(e,r)}catch(o){if(o.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw o}}async lockPromise(e,r){let o=`${e}.flock`,a=1e3/60,n=Date.now(),u=null,A=async()=>{let p;try{[p]=await this.readJsonPromise(o)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;u===null;)try{u=await this.openPromise(o,"wx")}catch(p){if(p.code==="EEXIST"){if(!await A())try{await this.unlinkPromise(o);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${o})`)}else throw p}await this.writePromise(u,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(u),await this.unlinkPromise(o)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}async writeJsonPromise(e,r,{compact:o=!1}={}){let a=o?0:2;return await this.writeFilePromise(e,`${JSON.stringify(r,null,a)} +`)}writeJsonSync(e,r,{compact:o=!1}={}){let a=o?0:2;return this.writeFileSync(e,`${JSON.stringify(r,null,a)} +`)}async preserveTimePromise(e,r){let o=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,o.atime,o.mtime)}async preserveTimeSync(e,r){let o=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,o.atime,o.mtime)}},Mu=class extends gf{constructor(){super(V)}}});var Ss,df=Et(()=>{Hg();Ss=class extends gf{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,r,o){return this.baseFs.openPromise(this.mapToBase(e),r,o)}openSync(e,r,o){return this.baseFs.openSync(this.mapToBase(e),r,o)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,o,a,n){return await this.baseFs.readPromise(e,r,o,a,n)}readSync(e,r,o,a,n){return this.baseFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,o):await this.baseFs.writePromise(e,r,o,a,n)}writeSync(e,r,o,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,o):this.baseFs.writeSync(e,r,o,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}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,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,o){return this.baseFs.fchownPromise(e,r,o)}fchownSync(e,r,o){return this.baseFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return this.baseFs.chownPromise(this.mapToBase(e),r,o)}chownSync(e,r,o){return this.baseFs.chownSync(this.mapToBase(e),r,o)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,o=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),o)}copyFileSync(e,r,o=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),o)}async appendFilePromise(e,r,o){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,o)}appendFileSync(e,r,o){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,o)}async writeFilePromise(e,r,o){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,o)}writeFileSync(e,r,o){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,o)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,o){return this.baseFs.utimesPromise(this.mapToBase(e),r,o)}utimesSync(e,r,o){return this.baseFs.utimesSync(this.mapToBase(e),r,o)}async lutimesPromise(e,r,o){return this.baseFs.lutimesPromise(this.mapToBase(e),r,o)}lutimesSync(e,r,o){return this.baseFs.lutimesSync(this.mapToBase(e),r,o)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(u,a,o)}symlinkSync(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(u,a,o)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}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,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,o){return this.baseFs.watch(this.mapToBase(e),r,o)}watchFile(e,r,o){return this.baseFs.watchFile(this.mapToBase(e),r,o)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var Uu,q7=Et(()=>{df();Uu=class extends Ss{constructor(r,{baseFs:o,pathUtils:a}){super(a);this.target=r,this.baseFs=o}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(r){return r}mapToBase(r){return r}}});function j7(t){let e=t;return typeof t.path=="string"&&(e.path=ue.toPortablePath(t.path)),e}var G7,Tn,qg=Et(()=>{G7=$e(ve("fs"));Hg();Ca();Tn=class extends Mu{constructor(r=G7.default){super();this.realFs=r}getExtractHint(){return!1}getRealPath(){return Bt.root}resolve(r){return V.resolve(r)}async openPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.open(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}openSync(r,o,a){return this.realFs.openSync(ue.fromPortablePath(r),o,a)}async opendirPromise(r,o){return await new Promise((a,n)=>{typeof o<"u"?this.realFs.opendir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.opendir(ue.fromPortablePath(r),this.makeCallback(a,n))}).then(a=>{let n=a;return Object.defineProperty(n,"path",{value:r,configurable:!0,writable:!0}),n})}opendirSync(r,o){let n=typeof o<"u"?this.realFs.opendirSync(ue.fromPortablePath(r),o):this.realFs.opendirSync(ue.fromPortablePath(r));return Object.defineProperty(n,"path",{value:r,configurable:!0,writable:!0}),n}async readPromise(r,o,a=0,n=0,u=-1){return await new Promise((A,p)=>{this.realFs.read(r,o,a,n,u,(h,E)=>{h?p(h):A(E)})})}readSync(r,o,a,n,u){return this.realFs.readSync(r,o,a,n,u)}async writePromise(r,o,a,n,u){return await new Promise((A,p)=>typeof o=="string"?this.realFs.write(r,o,a,this.makeCallback(A,p)):this.realFs.write(r,o,a,n,u,this.makeCallback(A,p)))}writeSync(r,o,a,n,u){return typeof o=="string"?this.realFs.writeSync(r,o,a):this.realFs.writeSync(r,o,a,n,u)}async closePromise(r){await new Promise((o,a)=>{this.realFs.close(r,this.makeCallback(o,a))})}closeSync(r){this.realFs.closeSync(r)}createReadStream(r,o){let a=r!==null?ue.fromPortablePath(r):r;return this.realFs.createReadStream(a,o)}createWriteStream(r,o){let a=r!==null?ue.fromPortablePath(r):r;return this.realFs.createWriteStream(a,o)}async realpathPromise(r){return await new Promise((o,a)=>{this.realFs.realpath(ue.fromPortablePath(r),{},this.makeCallback(o,a))}).then(o=>ue.toPortablePath(o))}realpathSync(r){return ue.toPortablePath(this.realFs.realpathSync(ue.fromPortablePath(r),{}))}async existsPromise(r){return await new Promise(o=>{this.realFs.exists(ue.fromPortablePath(r),o)})}accessSync(r,o){return this.realFs.accessSync(ue.fromPortablePath(r),o)}async accessPromise(r,o){return await new Promise((a,n)=>{this.realFs.access(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}existsSync(r){return this.realFs.existsSync(ue.fromPortablePath(r))}async statPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.stat(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.stat(ue.fromPortablePath(r),this.makeCallback(a,n))})}statSync(r,o){return o?this.realFs.statSync(ue.fromPortablePath(r),o):this.realFs.statSync(ue.fromPortablePath(r))}async fstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.fstat(r,o,this.makeCallback(a,n)):this.realFs.fstat(r,this.makeCallback(a,n))})}fstatSync(r,o){return o?this.realFs.fstatSync(r,o):this.realFs.fstatSync(r)}async lstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.lstat(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.lstat(ue.fromPortablePath(r),this.makeCallback(a,n))})}lstatSync(r,o){return o?this.realFs.lstatSync(ue.fromPortablePath(r),o):this.realFs.lstatSync(ue.fromPortablePath(r))}async fchmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.fchmod(r,o,this.makeCallback(a,n))})}fchmodSync(r,o){return this.realFs.fchmodSync(r,o)}async chmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.chmod(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}chmodSync(r,o){return this.realFs.chmodSync(ue.fromPortablePath(r),o)}async fchownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.fchown(r,o,a,this.makeCallback(n,u))})}fchownSync(r,o,a){return this.realFs.fchownSync(r,o,a)}async chownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.chown(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}chownSync(r,o,a){return this.realFs.chownSync(ue.fromPortablePath(r),o,a)}async renamePromise(r,o){return await new Promise((a,n)=>{this.realFs.rename(ue.fromPortablePath(r),ue.fromPortablePath(o),this.makeCallback(a,n))})}renameSync(r,o){return this.realFs.renameSync(ue.fromPortablePath(r),ue.fromPortablePath(o))}async copyFilePromise(r,o,a=0){return await new Promise((n,u)=>{this.realFs.copyFile(ue.fromPortablePath(r),ue.fromPortablePath(o),a,this.makeCallback(n,u))})}copyFileSync(r,o,a=0){return this.realFs.copyFileSync(ue.fromPortablePath(r),ue.fromPortablePath(o),a)}async appendFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.appendFile(A,o,a,this.makeCallback(n,u)):this.realFs.appendFile(A,o,this.makeCallback(n,u))})}appendFileSync(r,o,a){let n=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.appendFileSync(n,o,a):this.realFs.appendFileSync(n,o)}async writeFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.writeFile(A,o,a,this.makeCallback(n,u)):this.realFs.writeFile(A,o,this.makeCallback(n,u))})}writeFileSync(r,o,a){let n=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.writeFileSync(n,o,a):this.realFs.writeFileSync(n,o)}async unlinkPromise(r){return await new Promise((o,a)=>{this.realFs.unlink(ue.fromPortablePath(r),this.makeCallback(o,a))})}unlinkSync(r){return this.realFs.unlinkSync(ue.fromPortablePath(r))}async utimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.utimes(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}utimesSync(r,o,a){this.realFs.utimesSync(ue.fromPortablePath(r),o,a)}async lutimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.lutimes(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}lutimesSync(r,o,a){this.realFs.lutimesSync(ue.fromPortablePath(r),o,a)}async mkdirPromise(r,o){return await new Promise((a,n)=>{this.realFs.mkdir(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}mkdirSync(r,o){return this.realFs.mkdirSync(ue.fromPortablePath(r),o)}async rmdirPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.rmdir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.rmdir(ue.fromPortablePath(r),this.makeCallback(a,n))})}rmdirSync(r,o){return this.realFs.rmdirSync(ue.fromPortablePath(r),o)}async linkPromise(r,o){return await new Promise((a,n)=>{this.realFs.link(ue.fromPortablePath(r),ue.fromPortablePath(o),this.makeCallback(a,n))})}linkSync(r,o){return this.realFs.linkSync(ue.fromPortablePath(r),ue.fromPortablePath(o))}async symlinkPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.symlink(ue.fromPortablePath(r.replace(/\/+$/,"")),ue.fromPortablePath(o),a,this.makeCallback(n,u))})}symlinkSync(r,o,a){return this.realFs.symlinkSync(ue.fromPortablePath(r.replace(/\/+$/,"")),ue.fromPortablePath(o),a)}async readFilePromise(r,o){return await new Promise((a,n)=>{let u=typeof r=="string"?ue.fromPortablePath(r):r;this.realFs.readFile(u,o,this.makeCallback(a,n))})}readFileSync(r,o){let a=typeof r=="string"?ue.fromPortablePath(r):r;return this.realFs.readFileSync(a,o)}async readdirPromise(r,o){return await new Promise((a,n)=>{o?o.recursive&&process.platform==="win32"?o.withFileTypes?this.realFs.readdir(ue.fromPortablePath(r),o,this.makeCallback(u=>a(u.map(j7)),n)):this.realFs.readdir(ue.fromPortablePath(r),o,this.makeCallback(u=>a(u.map(ue.toPortablePath)),n)):this.realFs.readdir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.readdir(ue.fromPortablePath(r),this.makeCallback(a,n))})}readdirSync(r,o){return o?o.recursive&&process.platform==="win32"?o.withFileTypes?this.realFs.readdirSync(ue.fromPortablePath(r),o).map(j7):this.realFs.readdirSync(ue.fromPortablePath(r),o).map(ue.toPortablePath):this.realFs.readdirSync(ue.fromPortablePath(r),o):this.realFs.readdirSync(ue.fromPortablePath(r))}async readlinkPromise(r){return await new Promise((o,a)=>{this.realFs.readlink(ue.fromPortablePath(r),this.makeCallback(o,a))}).then(o=>ue.toPortablePath(o))}readlinkSync(r){return ue.toPortablePath(this.realFs.readlinkSync(ue.fromPortablePath(r)))}async truncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.truncate(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}truncateSync(r,o){return this.realFs.truncateSync(ue.fromPortablePath(r),o)}async ftruncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.ftruncate(r,o,this.makeCallback(a,n))})}ftruncateSync(r,o){return this.realFs.ftruncateSync(r,o)}watch(r,o,a){return this.realFs.watch(ue.fromPortablePath(r),o,a)}watchFile(r,o,a){return this.realFs.watchFile(ue.fromPortablePath(r),o,a)}unwatchFile(r,o){return this.realFs.unwatchFile(ue.fromPortablePath(r),o)}makeCallback(r,o){return(a,n)=>{a?o(a):r(n)}}}});var gn,Y7=Et(()=>{qg();df();Ca();gn=class extends Ss{constructor(r,{baseFs:o=new Tn}={}){super(V);this.target=this.pathUtils.normalize(r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(r){return this.pathUtils.isAbsolute(r)?V.normalize(r):this.baseFs.resolve(V.join(this.target,r))}mapFromBase(r){return r}mapToBase(r){return this.pathUtils.isAbsolute(r)?r:this.pathUtils.join(this.target,r)}}});var W7,_u,K7=Et(()=>{qg();df();Ca();W7=Bt.root,_u=class extends Ss{constructor(r,{baseFs:o=new Tn}={}){super(V);this.target=this.pathUtils.resolve(Bt.root,r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Bt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(r){let o=this.pathUtils.normalize(r);if(this.pathUtils.isAbsolute(r))return this.pathUtils.resolve(this.target,this.pathUtils.relative(W7,r));if(o.match(/^\.\.\/?/))throw new Error(`Resolving this path (${r}) would escape the jail`);return this.pathUtils.resolve(this.target,r)}mapFromBase(r){return this.pathUtils.resolve(W7,this.pathUtils.relative(this.target,r))}}});var iy,V7=Et(()=>{df();iy=class extends Ss{constructor(r,o){super(o);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var jg,wa,Hp,J7=Et(()=>{jg=ve("fs");Hg();qg();YR();BD();Ca();wa=4278190080,Hp=class extends Mu{constructor({baseFs:r=new Tn,filter:o=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:u=!0,maxAge:A=5e3,typeCheck:p=jg.constants.S_IFREG,getMountPoint:h,factoryPromise:E,factorySync:I}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=u?new Map:null,this.factoryPromise=E,this.factorySync=I,this.filter=o,this.getMountPoint=h,this.magic=a<<24,this.maxAge=A,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Ug(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.saveAndClose?.(),this.mountInstances.delete(r)}discardAndClose(){if(Ug(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.discardAndClose?.(),this.mountInstances.delete(r)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,o){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,o]),a}async openPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,o,a),async(n,{subPath:u})=>this.remapFd(n,await n.openPromise(u,o,a)))}openSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,o,a),(n,{subPath:u})=>this.remapFd(n,n.openSync(u,o,a)))}async opendirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,o),async(a,{subPath:n})=>await a.opendirPromise(n,o),{requireSubpath:!1})}opendirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,o),(a,{subPath:n})=>a.opendirSync(n,o),{requireSubpath:!1})}async readPromise(r,o,a,n,u){if((r&wa)!==this.magic)return await this.baseFs.readPromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Io("read");let[p,h]=A;return await p.readPromise(h,o,a,n,u)}readSync(r,o,a,n,u){if((r&wa)!==this.magic)return this.baseFs.readSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Io("readSync");let[p,h]=A;return p.readSync(h,o,a,n,u)}async writePromise(r,o,a,n,u){if((r&wa)!==this.magic)return typeof o=="string"?await this.baseFs.writePromise(r,o,a):await this.baseFs.writePromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Io("write");let[p,h]=A;return typeof o=="string"?await p.writePromise(h,o,a):await p.writePromise(h,o,a,n,u)}writeSync(r,o,a,n,u){if((r&wa)!==this.magic)return typeof o=="string"?this.baseFs.writeSync(r,o,a):this.baseFs.writeSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Io("writeSync");let[p,h]=A;return typeof o=="string"?p.writeSync(h,o,a):p.writeSync(h,o,a,n,u)}async closePromise(r){if((r&wa)!==this.magic)return await this.baseFs.closePromise(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Io("close");this.fdMap.delete(r);let[a,n]=o;return await a.closePromise(n)}closeSync(r){if((r&wa)!==this.magic)return this.baseFs.closeSync(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Io("closeSync");this.fdMap.delete(r);let[a,n]=o;return a.closeSync(n)}createReadStream(r,o){return r===null?this.baseFs.createReadStream(r,o):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,o),(a,{archivePath:n,subPath:u})=>{let A=a.createReadStream(u,o);return A.path=ue.fromPortablePath(this.pathUtils.join(n,u)),A})}createWriteStream(r,o){return r===null?this.baseFs.createWriteStream(r,o):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,o),(a,{subPath:n})=>a.createWriteStream(n,o))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=await this.baseFs.realpathPromise(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,await o.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=this.baseFs.realpathSync(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,o.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(o,{subPath:a})=>await o.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(o,{subPath:a})=>o.existsSync(a))}async accessPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,o),async(a,{subPath:n})=>await a.accessPromise(n,o))}accessSync(r,o){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,o),(a,{subPath:n})=>a.accessSync(n,o))}async statPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,o),async(a,{subPath:n})=>await a.statPromise(n,o))}statSync(r,o){return this.makeCallSync(r,()=>this.baseFs.statSync(r,o),(a,{subPath:n})=>a.statSync(n,o))}async fstatPromise(r,o){if((r&wa)!==this.magic)return this.baseFs.fstatPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("fstat");let[n,u]=a;return n.fstatPromise(u,o)}fstatSync(r,o){if((r&wa)!==this.magic)return this.baseFs.fstatSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("fstatSync");let[n,u]=a;return n.fstatSync(u,o)}async lstatPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,o),async(a,{subPath:n})=>await a.lstatPromise(n,o))}lstatSync(r,o){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,o),(a,{subPath:n})=>a.lstatSync(n,o))}async fchmodPromise(r,o){if((r&wa)!==this.magic)return this.baseFs.fchmodPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("fchmod");let[n,u]=a;return n.fchmodPromise(u,o)}fchmodSync(r,o){if((r&wa)!==this.magic)return this.baseFs.fchmodSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("fchmodSync");let[n,u]=a;return n.fchmodSync(u,o)}async chmodPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,o),async(a,{subPath:n})=>await a.chmodPromise(n,o))}chmodSync(r,o){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,o),(a,{subPath:n})=>a.chmodSync(n,o))}async fchownPromise(r,o,a){if((r&wa)!==this.magic)return this.baseFs.fchownPromise(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Io("fchown");let[u,A]=n;return u.fchownPromise(A,o,a)}fchownSync(r,o,a){if((r&wa)!==this.magic)return this.baseFs.fchownSync(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Io("fchownSync");let[u,A]=n;return u.fchownSync(A,o,a)}async chownPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,o,a),async(n,{subPath:u})=>await n.chownPromise(u,o,a))}chownSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,o,a),(n,{subPath:u})=>n.chownSync(u,o,a))}async renamePromise(r,o){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.renamePromise(r,o),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(o,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,A)}))}renameSync(r,o){return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.renameSync(r,o),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(o,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,A)}))}async copyFilePromise(r,o,a=0){let n=async(u,A,p,h)=>{if((a&jg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&jg.constants.COPYFILE_EXCL&&await this.existsPromise(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=await u.readFilePromise(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,E)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.copyFilePromise(r,o,a),async(u,{subPath:A})=>await n(this.baseFs,r,u,A)),async(u,{subPath:A})=>await this.makeCallPromise(o,async()=>await n(u,A,this.baseFs,o),async(p,{subPath:h})=>u!==p?await n(u,A,p,h):await u.copyFilePromise(A,h,a)))}copyFileSync(r,o,a=0){let n=(u,A,p,h)=>{if((a&jg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&jg.constants.COPYFILE_EXCL&&this.existsSync(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=u.readFileSync(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,E)};return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.copyFileSync(r,o,a),(u,{subPath:A})=>n(this.baseFs,r,u,A)),(u,{subPath:A})=>this.makeCallSync(o,()=>n(u,A,this.baseFs,o),(p,{subPath:h})=>u!==p?n(u,A,p,h):u.copyFileSync(A,h,a)))}async appendFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,o,a),async(n,{subPath:u})=>await n.appendFilePromise(u,o,a))}appendFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,o,a),(n,{subPath:u})=>n.appendFileSync(u,o,a))}async writeFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,o,a),async(n,{subPath:u})=>await n.writeFilePromise(u,o,a))}writeFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,o,a),(n,{subPath:u})=>n.writeFileSync(u,o,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(o,{subPath:a})=>await o.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(o,{subPath:a})=>o.unlinkSync(a))}async utimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,o,a),async(n,{subPath:u})=>await n.utimesPromise(u,o,a))}utimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,o,a),(n,{subPath:u})=>n.utimesSync(u,o,a))}async lutimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,o,a),async(n,{subPath:u})=>await n.lutimesPromise(u,o,a))}lutimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,o,a),(n,{subPath:u})=>n.lutimesSync(u,o,a))}async mkdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,o),async(a,{subPath:n})=>await a.mkdirPromise(n,o))}mkdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,o),(a,{subPath:n})=>a.mkdirSync(n,o))}async rmdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,o),async(a,{subPath:n})=>await a.rmdirPromise(n,o))}rmdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,o),(a,{subPath:n})=>a.rmdirSync(n,o))}async linkPromise(r,o){return await this.makeCallPromise(o,async()=>await this.baseFs.linkPromise(r,o),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,o){return this.makeCallSync(o,()=>this.baseFs.linkSync(r,o),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,o,a){return await this.makeCallPromise(o,async()=>await this.baseFs.symlinkPromise(r,o,a),async(n,{subPath:u})=>await n.symlinkPromise(r,u))}symlinkSync(r,o,a){return this.makeCallSync(o,()=>this.baseFs.symlinkSync(r,o,a),(n,{subPath:u})=>n.symlinkSync(r,u))}async readFilePromise(r,o){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,o),async(a,{subPath:n})=>await a.readFilePromise(n,o))}readFileSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,o),(a,{subPath:n})=>a.readFileSync(n,o))}async readdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,o),async(a,{subPath:n})=>await a.readdirPromise(n,o),{requireSubpath:!1})}readdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,o),(a,{subPath:n})=>a.readdirSync(n,o),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(o,{subPath:a})=>await o.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(o,{subPath:a})=>o.readlinkSync(a))}async truncatePromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,o),async(a,{subPath:n})=>await a.truncatePromise(n,o))}truncateSync(r,o){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,o),(a,{subPath:n})=>a.truncateSync(n,o))}async ftruncatePromise(r,o){if((r&wa)!==this.magic)return this.baseFs.ftruncatePromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("ftruncate");let[n,u]=a;return n.ftruncatePromise(u,o)}ftruncateSync(r,o){if((r&wa)!==this.magic)return this.baseFs.ftruncateSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Io("ftruncateSync");let[n,u]=a;return n.ftruncateSync(u,o)}watch(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,o,a),(n,{subPath:u})=>n.watch(u,o,a))}watchFile(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,o,a),()=>ny(this,r,o,a))}unwatchFile(r,o){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,o),()=>Mg(this,r,o))}async makeCallPromise(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await o();let u=this.resolve(r),A=this.findMount(u);return A?n&&A.subPath==="/"?await o():await this.getMountPromise(A.archivePath,async p=>await a(p,A)):await o()}makeCallSync(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return o();let u=this.resolve(r),A=this.findMount(u);return!A||n&&A.subPath==="/"?o():this.getMountSync(A.archivePath,p=>a(p,A))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let o="";for(;;){let a=r.substring(o.length),n=this.getMountPoint(a,o);if(!n)return null;if(o=this.pathUtils.join(o,n),!this.isMount.has(o)){if(this.notMount.has(o))continue;try{if(this.typeCheck!==null&&(this.baseFs.lstatSync(o).mode&jg.constants.S_IFMT)!==this.typeCheck){this.notMount.add(o);continue}}catch{return null}this.isMount.add(o)}return{archivePath:o,subPath:this.pathUtils.join(Bt.root,r.substring(o.length))}}}limitOpenFiles(r){if(this.mountInstances===null)return;let o=Date.now(),a=o+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[u,{childFs:A,expiresAt:p,refCount:h}]of this.mountInstances.entries())if(!(h!==0||A.hasOpenFileHandles?.())){if(o>=p){A.saveAndClose?.(),this.mountInstances.delete(u),n-=1;continue}else if(r===null||n<=0){a=p;break}A.saveAndClose?.(),this.mountInstances.delete(u),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-o).unref())}async getMountPromise(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);if(!a){let n=await this.factoryPromise(this.baseFs,r);a=this.mountInstances.get(r),a||(a={childFs:n(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,a.refCount+=1;try{return await o(a.childFs)}finally{a.refCount-=1}}else{let a=(await this.factoryPromise(this.baseFs,r))();try{return await o(a)}finally{a.saveAndClose?.()}}}getMountSync(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);return a||(a={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,o(a.childFs)}else{let a=this.factorySync(this.baseFs,r);try{return o(a)}finally{a.saveAndClose?.()}}}}});var Zt,WR,Yw,z7=Et(()=>{Hg();Ca();Zt=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),WR=class extends gf{constructor(){super(V)}getExtractHint(){throw Zt()}getRealPath(){throw Zt()}resolve(){throw Zt()}async openPromise(){throw Zt()}openSync(){throw Zt()}async opendirPromise(){throw Zt()}opendirSync(){throw Zt()}async readPromise(){throw Zt()}readSync(){throw Zt()}async writePromise(){throw Zt()}writeSync(){throw Zt()}async closePromise(){throw Zt()}closeSync(){throw Zt()}createWriteStream(){throw Zt()}createReadStream(){throw Zt()}async realpathPromise(){throw Zt()}realpathSync(){throw Zt()}async readdirPromise(){throw Zt()}readdirSync(){throw Zt()}async existsPromise(e){throw Zt()}existsSync(e){throw Zt()}async accessPromise(){throw Zt()}accessSync(){throw Zt()}async statPromise(){throw Zt()}statSync(){throw Zt()}async fstatPromise(e){throw Zt()}fstatSync(e){throw Zt()}async lstatPromise(e){throw Zt()}lstatSync(e){throw Zt()}async fchmodPromise(){throw Zt()}fchmodSync(){throw Zt()}async chmodPromise(){throw Zt()}chmodSync(){throw Zt()}async fchownPromise(){throw Zt()}fchownSync(){throw Zt()}async chownPromise(){throw Zt()}chownSync(){throw Zt()}async mkdirPromise(){throw Zt()}mkdirSync(){throw Zt()}async rmdirPromise(){throw Zt()}rmdirSync(){throw Zt()}async linkPromise(){throw Zt()}linkSync(){throw Zt()}async symlinkPromise(){throw Zt()}symlinkSync(){throw Zt()}async renamePromise(){throw Zt()}renameSync(){throw Zt()}async copyFilePromise(){throw Zt()}copyFileSync(){throw Zt()}async appendFilePromise(){throw Zt()}appendFileSync(){throw Zt()}async writeFilePromise(){throw Zt()}writeFileSync(){throw Zt()}async unlinkPromise(){throw Zt()}unlinkSync(){throw Zt()}async utimesPromise(){throw Zt()}utimesSync(){throw Zt()}async lutimesPromise(){throw Zt()}lutimesSync(){throw Zt()}async readFilePromise(){throw Zt()}readFileSync(){throw Zt()}async readlinkPromise(){throw Zt()}readlinkSync(){throw Zt()}async truncatePromise(){throw Zt()}truncateSync(){throw Zt()}async ftruncatePromise(e,r){throw Zt()}ftruncateSync(e,r){throw Zt()}watch(){throw Zt()}watchFile(){throw Zt()}unwatchFile(){throw Zt()}},Yw=WR;Yw.instance=new WR});var qp,X7=Et(()=>{df();Ca();qp=class extends Ss{constructor(r){super(ue);this.baseFs=r}mapFromBase(r){return ue.fromPortablePath(r)}mapToBase(r){return ue.toPortablePath(r)}}});var x_e,KR,k_e,mi,Z7=Et(()=>{qg();df();Ca();x_e=/^[0-9]+$/,KR=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,k_e=/^([^/]+-)?[a-f0-9]+$/,mi=class extends Ss{constructor({baseFs:r=new Tn}={}){super(V);this.baseFs=r}static makeVirtualPath(r,o,a){if(V.basename(r)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!V.basename(o).match(k_e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let u=V.relative(V.dirname(r),a).split("/"),A=0;for(;A{VR=$e(ve("buffer")),$7=ve("url"),eY=ve("util");df();Ca();xD=class extends Ss{constructor(r){super(ue);this.baseFs=r}mapFromBase(r){return r}mapToBase(r){if(typeof r=="string")return r;if(r instanceof URL)return(0,$7.fileURLToPath)(r);if(Buffer.isBuffer(r)){let o=r.toString();if(!Q_e(r,o))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 o}throw new Error(`Unsupported path type: ${(0,eY.inspect)(r)}`)}}});var rY,Bo,mf,jp,kD,QD,sy,Tc,Nc,F_e,R_e,T_e,N_e,Ww,nY=Et(()=>{rY=ve("readline"),Bo=Symbol("kBaseFs"),mf=Symbol("kFd"),jp=Symbol("kClosePromise"),kD=Symbol("kCloseResolve"),QD=Symbol("kCloseReject"),sy=Symbol("kRefs"),Tc=Symbol("kRef"),Nc=Symbol("kUnref"),Ww=class{constructor(e,r){this[F_e]=1;this[R_e]=void 0;this[T_e]=void 0;this[N_e]=void 0;this[Bo]=r,this[mf]=e}get fd(){return this[mf]}async appendFile(e,r){try{this[Tc](this.appendFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;return await this[Bo].appendFilePromise(this.fd,e,o?{encoding:o}:void 0)}finally{this[Nc]()}}async chown(e,r){try{return this[Tc](this.chown),await this[Bo].fchownPromise(this.fd,e,r)}finally{this[Nc]()}}async chmod(e){try{return this[Tc](this.chmod),await this[Bo].fchmodPromise(this.fd,e)}finally{this[Nc]()}}createReadStream(e){return this[Bo].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Bo].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,o,a){try{this[Tc](this.read);let n;return Buffer.isBuffer(e)?n=e:(e??={},n=e.buffer??Buffer.alloc(16384),r=e.offset||0,o=e.length??n.byteLength,a=e.position??null),r??=0,o??=0,o===0?{bytesRead:o,buffer:n}:{bytesRead:await this[Bo].readPromise(this.fd,n,r,o,a),buffer:n}}finally{this[Nc]()}}async readFile(e){try{this[Tc](this.readFile);let r=(typeof e=="string"?e:e?.encoding)??void 0;return await this[Bo].readFilePromise(this.fd,r)}finally{this[Nc]()}}readLines(e){return(0,rY.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Tc](this.stat),await this[Bo].fstatPromise(this.fd,e)}finally{this[Nc]()}}async truncate(e){try{return this[Tc](this.truncate),await this[Bo].ftruncatePromise(this.fd,e)}finally{this[Nc]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[Tc](this.writeFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;await this[Bo].writeFilePromise(this.fd,e,o)}finally{this[Nc]()}}async write(...e){try{if(this[Tc](this.write),ArrayBuffer.isView(e[0])){let[r,o,a,n]=e;return{bytesWritten:await this[Bo].writePromise(this.fd,r,o??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,o,a]=e;return{bytesWritten:await this[Bo].writePromise(this.fd,r,o,a),buffer:r}}}finally{this[Nc]()}}async writev(e,r){try{this[Tc](this.writev);let o=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);o+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);o+=n.bytesWritten}return{buffers:e,bytesWritten:o}}finally{this[Nc]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[mf]===-1)return Promise.resolve();if(this[jp])return this[jp];if(this[sy]--,this[sy]===0){let e=this[mf];this[mf]=-1,this[jp]=this[Bo].closePromise(e).finally(()=>{this[jp]=void 0})}else this[jp]=new Promise((e,r)=>{this[kD]=e,this[QD]=r}).finally(()=>{this[jp]=void 0,this[QD]=void 0,this[kD]=void 0});return this[jp]}[(Bo,mf,F_e=sy,R_e=jp,T_e=kD,N_e=QD,Tc)](e){if(this[mf]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[sy]++}[Nc](){if(this[sy]--,this[sy]===0){let e=this[mf];this[mf]=-1,this[Bo].closePromise(e).then(this[kD],this[QD])}}}});function Kw(t,e){e=new xD(e);let r=(o,a,n)=>{let u=o[a];o[a]=n,typeof u?.[oy.promisify.custom]<"u"&&(n[oy.promisify.custom]=u[oy.promisify.custom])};{r(t,"exists",(o,...a)=>{let u=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(o).then(A=>{u(A)},()=>{u(!1)})})}),r(t,"read",(...o)=>{let[a,n,u,A,p,h]=o;if(o.length<=3){let E={};o.length<3?h=o[1]:(E=o[1],h=o[2]),{buffer:n=Buffer.alloc(16384),offset:u=0,length:A=n.byteLength,position:p}=E}if(u==null&&(u=0),A|=0,A===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,u,A,p).then(E=>{h(null,E,n)},E=>{h(E,0,n)})})});for(let o of iY){let a=o.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[o];if(typeof n>"u")continue;r(t,a,(...A)=>{let h=typeof A[A.length-1]=="function"?A.pop():()=>{};process.nextTick(()=>{n.apply(e,A).then(E=>{h(null,E)},E=>{h(E)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",o=>{try{return e.existsSync(o)}catch{return!1}}),r(t,"readSync",(...o)=>{let[a,n,u,A,p]=o;return o.length<=3&&({offset:u=0,length:A=n.byteLength,position:p}=o[2]||{}),u==null&&(u=0),A|=0,A===0?0:(p==null&&(p=-1),e.readSync(a,n,u,A,p))});for(let o of L_e){let a=o;if(typeof t[a]>"u")continue;let n=e[o];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let o=t.promises;for(let a of iY){let n=a.replace(/Promise$/,"");if(typeof o[n]>"u")continue;let u=e[a];typeof u>"u"||a!=="open"&&r(o,n,(A,...p)=>A instanceof Ww?A[n].apply(A,p):u.call(e,A,...p))}r(o,"open",async(...a)=>{let n=await e.openPromise(...a);return new Ww(n,e)})}t.read[oy.promisify.custom]=async(o,a,...n)=>({bytesRead:await e.readPromise(o,a,...n),buffer:a}),t.write[oy.promisify.custom]=async(o,a,...n)=>({bytesWritten:await e.writePromise(o,a,...n),buffer:a})}function FD(t,e){let r=Object.create(t);return Kw(r,e),r}var oy,L_e,iY,sY=Et(()=>{oy=ve("util");tY();nY();L_e=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"]),iY=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 oY(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function aY(){if(JR)return JR;let t=ue.toPortablePath(lY.default.tmpdir()),e=oe.realpathSync(t);return process.once("exit",()=>{oe.rmtempSync()}),JR={tmpdir:t,realTmpdir:e}}var lY,Lc,JR,oe,cY=Et(()=>{lY=$e(ve("os"));qg();Ca();Lc=new Set,JR=null;oe=Object.assign(new Tn,{detachTemp(t){Lc.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=aY();for(;;){let o=oY("xfs-");try{this.mkdirSync(V.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=V.join(r,o);if(Lc.add(a),typeof t>"u")return a;try{return t(a)}finally{if(Lc.has(a)){Lc.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=aY();for(;;){let o=oY("xfs-");try{await this.mkdirPromise(V.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=V.join(r,o);if(Lc.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(Lc.has(a)){Lc.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Lc.values()).map(async t=>{try{await oe.removePromise(t,{maxRetries:0}),Lc.delete(t)}catch{}}))},rmtempSync(){for(let t of Lc)try{oe.removeSync(t),Lc.delete(t)}catch{}}})});var Vw={};Vt(Vw,{AliasFS:()=>Uu,BasePortableFakeFS:()=>Mu,CustomDir:()=>Gw,CwdFS:()=>gn,FakeFS:()=>gf,Filename:()=>dr,JailFS:()=>_u,LazyFS:()=>iy,MountFS:()=>Hp,NoFS:()=>Yw,NodeFS:()=>Tn,PortablePath:()=>Bt,PosixFS:()=>qp,ProxiedFS:()=>Ss,VirtualFS:()=>mi,constants:()=>vi,errors:()=>ar,extendFs:()=>FD,normalizeLineEndings:()=>_g,npath:()=>ue,opendir:()=>PD,patchFs:()=>Kw,ppath:()=>V,setupCopyIndex:()=>SD,statUtils:()=>Ea,unwatchAllFiles:()=>Ug,unwatchFile:()=>Mg,watchFile:()=>ny,xfs:()=>oe});var St=Et(()=>{k7();BD();HR();GR();L7();YR();Hg();Ca();Ca();q7();Hg();Y7();K7();V7();J7();z7();qg();X7();df();Z7();sY();cY()});var hY=_((obt,pY)=>{pY.exports=fY;fY.sync=M_e;var uY=ve("fs");function O_e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o{yY.exports=dY;dY.sync=U_e;var gY=ve("fs");function dY(t,e,r){gY.stat(t,function(o,a){r(o,o?!1:mY(a,e))})}function U_e(t,e){return mY(gY.statSync(t),e)}function mY(t,e){return t.isFile()&&__e(t,e)}function __e(t,e){var r=t.mode,o=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),u=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),A=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),E=A|p,I=r&h||r&p&&a===u||r&A&&o===n||r&E&&n===0;return I}});var wY=_((cbt,CY)=>{var lbt=ve("fs"),RD;process.platform==="win32"||global.TESTING_WINDOWS?RD=hY():RD=EY();CY.exports=zR;zR.sync=H_e;function zR(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){zR(t,e||{},function(n,u){n?a(n):o(u)})})}RD(t,e||{},function(o,a){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,a=!1),r(o,a)})}function H_e(t,e){try{return RD.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var bY=_((ubt,PY)=>{var ay=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",IY=ve("path"),q_e=ay?";":":",BY=wY(),vY=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),DY=(t,e)=>{let r=e.colon||q_e,o=t.match(/\//)||ay&&t.match(/\\/)?[""]:[...ay?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=ay?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=ay?a.split(r):[""];return ay&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:a}},SY=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:a,pathExtExe:n}=DY(t,e),u=[],A=h=>new Promise((E,I)=>{if(h===o.length)return e.all&&u.length?E(u):I(vY(t));let v=o[h],x=/^".*"$/.test(v)?v.slice(1,-1):v,C=IY.join(x,t),R=!x&&/^\.[\\\/]/.test(t)?t.slice(0,2)+C:C;E(p(R,h,0))}),p=(h,E,I)=>new Promise((v,x)=>{if(I===a.length)return v(A(E+1));let C=a[I];BY(h+C,{pathExt:n},(R,L)=>{if(!R&&L)if(e.all)u.push(h+C);else return v(h+C);return v(p(h,E,I+1))})});return r?A(0).then(h=>r(null,h),r):A(0)},j_e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:a}=DY(t,e),n=[];for(let u=0;u{"use strict";var xY=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};XR.exports=xY;XR.exports.default=xY});var TY=_((fbt,RY)=>{"use strict";var QY=ve("path"),G_e=bY(),Y_e=kY();function FY(t,e){let r=t.options.env||process.env,o=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let u;try{u=G_e.sync(t.command,{path:r[Y_e({env:r})],pathExt:e?QY.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return u&&(u=QY.resolve(a?t.options.cwd:"",u)),u}function W_e(t){return FY(t)||FY(t,!0)}RY.exports=W_e});var NY=_((pbt,$R)=>{"use strict";var ZR=/([()\][%!^"`<>&|;, *?])/g;function K_e(t){return t=t.replace(ZR,"^$1"),t}function V_e(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(ZR,"^$1"),e&&(t=t.replace(ZR,"^$1")),t}$R.exports.command=K_e;$R.exports.argument=V_e});var OY=_((hbt,LY)=>{"use strict";LY.exports=/^#!(.*)/});var UY=_((gbt,MY)=>{"use strict";var J_e=OY();MY.exports=(t="")=>{let e=t.match(J_e);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a}});var HY=_((dbt,_Y)=>{"use strict";var eT=ve("fs"),z_e=UY();function X_e(t){let r=Buffer.alloc(150),o;try{o=eT.openSync(t,"r"),eT.readSync(o,r,0,150,0),eT.closeSync(o)}catch{}return z_e(r.toString())}_Y.exports=X_e});var YY=_((mbt,GY)=>{"use strict";var Z_e=ve("path"),qY=TY(),jY=NY(),$_e=HY(),e8e=process.platform==="win32",t8e=/\.(?:com|exe)$/i,r8e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function n8e(t){t.file=qY(t);let e=t.file&&$_e(t.file);return e?(t.args.unshift(t.file),t.command=e,qY(t)):t.file}function i8e(t){if(!e8e)return t;let e=n8e(t),r=!t8e.test(e);if(t.options.forceShell||r){let o=r8e.test(e);t.command=Z_e.normalize(t.command),t.command=jY.command(t.command),t.args=t.args.map(n=>jY.argument(n,o));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function s8e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:i8e(o)}GY.exports=s8e});var VY=_((ybt,KY)=>{"use strict";var tT=process.platform==="win32";function rT(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function o8e(t,e){if(!tT)return;let r=t.emit;t.emit=function(o,a){if(o==="exit"){let n=WY(a,e,"spawn");if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function WY(t,e){return tT&&t===1&&!e.file?rT(e.original,"spawn"):null}function a8e(t,e){return tT&&t===1&&!e.file?rT(e.original,"spawnSync"):null}KY.exports={hookChildProcess:o8e,verifyENOENT:WY,verifyENOENTSync:a8e,notFoundError:rT}});var sT=_((Ebt,ly)=>{"use strict";var JY=ve("child_process"),nT=YY(),iT=VY();function zY(t,e,r){let o=nT(t,e,r),a=JY.spawn(o.command,o.args,o.options);return iT.hookChildProcess(a,o),a}function l8e(t,e,r){let o=nT(t,e,r),a=JY.spawnSync(o.command,o.args,o.options);return a.error=a.error||iT.verifyENOENTSync(a.status,o),a}ly.exports=zY;ly.exports.spawn=zY;ly.exports.sync=l8e;ly.exports._parse=nT;ly.exports._enoent=iT});var ZY=_((Cbt,XY)=>{"use strict";function c8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Gg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Gg)}c8e(Gg,Error);Gg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;I>",P=Br(">>",!1),y=">&",F=Br(">&",!1),z=">",X=Br(">",!1),Z="<<<",ie=Br("<<<",!1),Pe="<&",Ne=Br("<&",!1),ot="<",dt=Br("<",!1),jt=function(N){return{type:"argument",segments:[].concat(...N)}},$t=function(N){return N},bt="$'",an=Br("$'",!1),Qr="'",mr=Br("'",!1),br=function(N){return[{type:"text",text:N}]},Wr='""',Kn=Br('""',!1),Ns=function(){return{type:"text",text:""}},Ti='"',ps=Br('"',!1),io=function(N){return N},Pi=function(N){return{type:"arithmetic",arithmetic:N,quoted:!0}},Ls=function(N){return{type:"shell",shell:N,quoted:!0}},so=function(N){return{type:"variable",...N,quoted:!0}},cc=function(N){return{type:"text",text:N}},cu=function(N){return{type:"arithmetic",arithmetic:N,quoted:!1}},lp=function(N){return{type:"shell",shell:N,quoted:!1}},cp=function(N){return{type:"variable",...N,quoted:!1}},Os=function(N){return{type:"glob",pattern:N}},Dn=/^[^']/,oo=Cs(["'"],!0,!1),Ms=function(N){return N.join("")},ml=/^[^$"]/,yl=Cs(["$",'"'],!0,!1),ao=`\\ +`,Vn=Br(`\\ +`,!1),On=function(){return""},Ni="\\",Mn=Br("\\",!1),_i=/^[\\$"`]/,tr=Cs(["\\","$",'"',"`"],!1,!1),Oe=function(N){return N},ii="\\a",Ma=Br("\\a",!1),hr=function(){return"a"},uc="\\b",uu=Br("\\b",!1),Ac=function(){return"\b"},El=/^[Ee]/,DA=Cs(["E","e"],!1,!1),Au=function(){return"\x1B"},Ce="\\f",Rt=Br("\\f",!1),fc=function(){return"\f"},Hi="\\n",fu=Br("\\n",!1),Yt=function(){return` +`},Cl="\\r",SA=Br("\\r",!1),up=function(){return"\r"},pc="\\t",PA=Br("\\t",!1),Qn=function(){return" "},hi="\\v",hc=Br("\\v",!1),bA=function(){return"\v"},sa=/^[\\'"?]/,Li=Cs(["\\","'",'"',"?"],!1,!1),_o=function(N){return String.fromCharCode(parseInt(N,16))},Ze="\\x",lo=Br("\\x",!1),gc="\\u",pu=Br("\\u",!1),qi="\\U",hu=Br("\\U",!1),xA=function(N){return String.fromCodePoint(parseInt(N,16))},Ua=/^[0-7]/,dc=Cs([["0","7"]],!1,!1),hs=/^[0-9a-fA-f]/,_t=Cs([["0","9"],["a","f"],["A","f"]],!1,!1),Fn=ug(),Ci="{}",oa=Br("{}",!1),co=function(){return"{}"},Us="-",aa=Br("-",!1),la="+",Ho=Br("+",!1),wi=".",gs=Br(".",!1),ds=function(N,K,re){return{type:"number",value:(N==="-"?-1:1)*parseFloat(K.join("")+"."+re.join(""))}},ms=function(N,K){return{type:"number",value:(N==="-"?-1:1)*parseInt(K.join(""))}},_s=function(N){return{type:"variable",...N}},Un=function(N){return{type:"variable",name:N}},Sn=function(N){return N},ys="*",We=Br("*",!1),tt="/",It=Br("/",!1),nr=function(N,K,re){return{type:K==="*"?"multiplication":"division",right:re}},$=function(N,K){return K.reduce((re,pe)=>({left:re,...pe}),N)},ye=function(N,K,re){return{type:K==="+"?"addition":"subtraction",right:re}},Le="$((",pt=Br("$((",!1),ht="))",Tt=Br("))",!1),er=function(N){return N},$r="$(",ji=Br("$(",!1),es=function(N){return N},bi="${",qo=Br("${",!1),kA=":-",QA=Br(":-",!1),Ap=function(N,K){return{name:N,defaultValue:K}},ig=":-}",gu=Br(":-}",!1),sg=function(N){return{name:N,defaultValue:[]}},du=":+",uo=Br(":+",!1),FA=function(N,K){return{name:N,alternativeValue:K}},mc=":+}",ca=Br(":+}",!1),og=function(N){return{name:N,alternativeValue:[]}},yc=function(N){return{name:N}},Pm="$",ag=Br("$",!1),$n=function(N){return e.isGlobPattern(N)},fp=function(N){return N},lg=/^[a-zA-Z0-9_]/,RA=Cs([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Hs=function(){return cg()},mu=/^[$@*?#a-zA-Z0-9_\-]/,Ha=Cs(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Gi=/^[()}<>$|&; \t"']/,ua=Cs(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),yu=/^[<>&; \t"']/,Es=Cs(["<",">","&",";"," "," ",'"',"'"],!1,!1),Ec=/^[ \t]/,Cc=Cs([" "," "],!1,!1),G=0,Dt=0,wl=[{line:1,column:1}],xi=0,wc=[],ct=0,Eu;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function cg(){return t.substring(Dt,G)}function yw(){return Ic(Dt,G)}function TA(N,K){throw K=K!==void 0?K:Ic(Dt,G),pg([fg(N)],t.substring(Dt,G),K)}function pp(N,K){throw K=K!==void 0?K:Ic(Dt,G),bm(N,K)}function Br(N,K){return{type:"literal",text:N,ignoreCase:K}}function Cs(N,K,re){return{type:"class",parts:N,inverted:K,ignoreCase:re}}function ug(){return{type:"any"}}function Ag(){return{type:"end"}}function fg(N){return{type:"other",description:N}}function hp(N){var K=wl[N],re;if(K)return K;for(re=N-1;!wl[re];)re--;for(K=wl[re],K={line:K.line,column:K.column};rexi&&(xi=G,wc=[]),wc.push(N))}function bm(N,K){return new Gg(N,null,null,K)}function pg(N,K,re){return new Gg(Gg.buildMessage(N,K),N,K,re)}function hg(){var N,K,re;for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();return K!==r?(re=Cu(),re===r&&(re=null),re!==r?(Dt=N,K=n(re),N=K):(G=N,N=r)):(G=N,N=r),N}function Cu(){var N,K,re,pe,ze;if(N=G,K=wu(),K!==r){for(re=[],pe=Qt();pe!==r;)re.push(pe),pe=Qt();re!==r?(pe=gg(),pe!==r?(ze=xm(),ze===r&&(ze=null),ze!==r?(Dt=N,K=u(K,pe,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;if(N===r)if(N=G,K=wu(),K!==r){for(re=[],pe=Qt();pe!==r;)re.push(pe),pe=Qt();re!==r?(pe=gg(),pe===r&&(pe=null),pe!==r?(Dt=N,K=A(K,pe),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;return N}function xm(){var N,K,re,pe,ze;for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(re=Cu(),re!==r){for(pe=[],ze=Qt();ze!==r;)pe.push(ze),ze=Qt();pe!==r?(Dt=N,K=p(re),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;return N}function gg(){var N;return t.charCodeAt(G)===59?(N=h,G++):(N=r,ct===0&&Ct(E)),N===r&&(t.charCodeAt(G)===38?(N=I,G++):(N=r,ct===0&&Ct(v))),N}function wu(){var N,K,re;return N=G,K=Aa(),K!==r?(re=Ew(),re===r&&(re=null),re!==r?(Dt=N,K=x(K,re),N=K):(G=N,N=r)):(G=N,N=r),N}function Ew(){var N,K,re,pe,ze,mt,fr;for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(re=km(),re!==r){for(pe=[],ze=Qt();ze!==r;)pe.push(ze),ze=Qt();if(pe!==r)if(ze=wu(),ze!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();mt!==r?(Dt=N,K=C(re,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;return N}function km(){var N;return t.substr(G,2)===R?(N=R,G+=2):(N=r,ct===0&&Ct(L)),N===r&&(t.substr(G,2)===U?(N=U,G+=2):(N=r,ct===0&&Ct(J))),N}function Aa(){var N,K,re;return N=G,K=dg(),K!==r?(re=Bc(),re===r&&(re=null),re!==r?(Dt=N,K=te(K,re),N=K):(G=N,N=r)):(G=N,N=r),N}function Bc(){var N,K,re,pe,ze,mt,fr;for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(re=Il(),re!==r){for(pe=[],ze=Qt();ze!==r;)pe.push(ze),ze=Qt();if(pe!==r)if(ze=Aa(),ze!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();mt!==r?(Dt=N,K=ae(re,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;return N}function Il(){var N;return t.substr(G,2)===fe?(N=fe,G+=2):(N=r,ct===0&&Ct(ce)),N===r&&(t.charCodeAt(G)===124?(N=me,G++):(N=r,ct===0&&Ct(he))),N}function Iu(){var N,K,re,pe,ze,mt;if(N=G,K=Cg(),K!==r)if(t.charCodeAt(G)===61?(re=Be,G++):(re=r,ct===0&&Ct(we)),re!==r)if(pe=jo(),pe!==r){for(ze=[],mt=Qt();mt!==r;)ze.push(mt),mt=Qt();ze!==r?(Dt=N,K=g(K,pe),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;else G=N,N=r;if(N===r)if(N=G,K=Cg(),K!==r)if(t.charCodeAt(G)===61?(re=Be,G++):(re=r,ct===0&&Ct(we)),re!==r){for(pe=[],ze=Qt();ze!==r;)pe.push(ze),ze=Qt();pe!==r?(Dt=N,K=Ee(K),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;return N}function dg(){var N,K,re,pe,ze,mt,fr,Cr,yn,oi,Oi;for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(t.charCodeAt(G)===40?(re=Se,G++):(re=r,ct===0&&Ct(le)),re!==r){for(pe=[],ze=Qt();ze!==r;)pe.push(ze),ze=Qt();if(pe!==r)if(ze=Cu(),ze!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();if(mt!==r)if(t.charCodeAt(G)===41?(fr=ne,G++):(fr=r,ct===0&&Ct(ee)),fr!==r){for(Cr=[],yn=Qt();yn!==r;)Cr.push(yn),yn=Qt();if(Cr!==r){for(yn=[],oi=qa();oi!==r;)yn.push(oi),oi=qa();if(yn!==r){for(oi=[],Oi=Qt();Oi!==r;)oi.push(Oi),Oi=Qt();oi!==r?(Dt=N,K=Ie(ze,yn),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;if(N===r){for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(t.charCodeAt(G)===123?(re=Fe,G++):(re=r,ct===0&&Ct(At)),re!==r){for(pe=[],ze=Qt();ze!==r;)pe.push(ze),ze=Qt();if(pe!==r)if(ze=Cu(),ze!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();if(mt!==r)if(t.charCodeAt(G)===125?(fr=H,G++):(fr=r,ct===0&&Ct(at)),fr!==r){for(Cr=[],yn=Qt();yn!==r;)Cr.push(yn),yn=Qt();if(Cr!==r){for(yn=[],oi=qa();oi!==r;)yn.push(oi),oi=qa();if(yn!==r){for(oi=[],Oi=Qt();Oi!==r;)oi.push(Oi),Oi=Qt();oi!==r?(Dt=N,K=Re(ze,yn),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;if(N===r){for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r){for(re=[],pe=Iu();pe!==r;)re.push(pe),pe=Iu();if(re!==r){for(pe=[],ze=Qt();ze!==r;)pe.push(ze),ze=Qt();if(pe!==r){if(ze=[],mt=gp(),mt!==r)for(;mt!==r;)ze.push(mt),mt=gp();else ze=r;if(ze!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();mt!==r?(Dt=N,K=ke(re,ze),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r}else G=N,N=r;if(N===r){for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r){if(re=[],pe=Iu(),pe!==r)for(;pe!==r;)re.push(pe),pe=Iu();else re=r;if(re!==r){for(pe=[],ze=Qt();ze!==r;)pe.push(ze),ze=Qt();pe!==r?(Dt=N,K=xe(re),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}}}return N}function NA(){var N,K,re,pe,ze;for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r){if(re=[],pe=dp(),pe!==r)for(;pe!==r;)re.push(pe),pe=dp();else re=r;if(re!==r){for(pe=[],ze=Qt();ze!==r;)pe.push(ze),ze=Qt();pe!==r?(Dt=N,K=He(re),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r;return N}function gp(){var N,K,re;for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r?(re=qa(),re!==r?(Dt=N,K=Te(re),N=K):(G=N,N=r)):(G=N,N=r),N===r){for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();K!==r?(re=dp(),re!==r?(Dt=N,K=Te(re),N=K):(G=N,N=r)):(G=N,N=r)}return N}function qa(){var N,K,re,pe,ze;for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();return K!==r?(Je.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(qe)),re===r&&(re=null),re!==r?(pe=mg(),pe!==r?(ze=dp(),ze!==r?(Dt=N,K=b(re,pe,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function mg(){var N;return t.substr(G,2)===w?(N=w,G+=2):(N=r,ct===0&&Ct(P)),N===r&&(t.substr(G,2)===y?(N=y,G+=2):(N=r,ct===0&&Ct(F)),N===r&&(t.charCodeAt(G)===62?(N=z,G++):(N=r,ct===0&&Ct(X)),N===r&&(t.substr(G,3)===Z?(N=Z,G+=3):(N=r,ct===0&&Ct(ie)),N===r&&(t.substr(G,2)===Pe?(N=Pe,G+=2):(N=r,ct===0&&Ct(Ne)),N===r&&(t.charCodeAt(G)===60?(N=ot,G++):(N=r,ct===0&&Ct(dt))))))),N}function dp(){var N,K,re;for(N=G,K=[],re=Qt();re!==r;)K.push(re),re=Qt();return K!==r?(re=jo(),re!==r?(Dt=N,K=Te(re),N=K):(G=N,N=r)):(G=N,N=r),N}function jo(){var N,K,re;if(N=G,K=[],re=ws(),re!==r)for(;re!==r;)K.push(re),re=ws();else K=r;return K!==r&&(Dt=N,K=jt(K)),N=K,N}function ws(){var N,K;return N=G,K=Ii(),K!==r&&(Dt=N,K=$t(K)),N=K,N===r&&(N=G,K=Qm(),K!==r&&(Dt=N,K=$t(K)),N=K,N===r&&(N=G,K=Fm(),K!==r&&(Dt=N,K=$t(K)),N=K,N===r&&(N=G,K=Go(),K!==r&&(Dt=N,K=$t(K)),N=K))),N}function Ii(){var N,K,re,pe;return N=G,t.substr(G,2)===bt?(K=bt,G+=2):(K=r,ct===0&&Ct(an)),K!==r?(re=ln(),re!==r?(t.charCodeAt(G)===39?(pe=Qr,G++):(pe=r,ct===0&&Ct(mr)),pe!==r?(Dt=N,K=br(re),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function Qm(){var N,K,re,pe;return N=G,t.charCodeAt(G)===39?(K=Qr,G++):(K=r,ct===0&&Ct(mr)),K!==r?(re=yp(),re!==r?(t.charCodeAt(G)===39?(pe=Qr,G++):(pe=r,ct===0&&Ct(mr)),pe!==r?(Dt=N,K=br(re),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function Fm(){var N,K,re,pe;if(N=G,t.substr(G,2)===Wr?(K=Wr,G+=2):(K=r,ct===0&&Ct(Kn)),K!==r&&(Dt=N,K=Ns()),N=K,N===r)if(N=G,t.charCodeAt(G)===34?(K=Ti,G++):(K=r,ct===0&&Ct(ps)),K!==r){for(re=[],pe=LA();pe!==r;)re.push(pe),pe=LA();re!==r?(t.charCodeAt(G)===34?(pe=Ti,G++):(pe=r,ct===0&&Ct(ps)),pe!==r?(Dt=N,K=io(re),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;return N}function Go(){var N,K,re;if(N=G,K=[],re=mp(),re!==r)for(;re!==r;)K.push(re),re=mp();else K=r;return K!==r&&(Dt=N,K=io(K)),N=K,N}function LA(){var N,K;return N=G,K=Gr(),K!==r&&(Dt=N,K=Pi(K)),N=K,N===r&&(N=G,K=Ep(),K!==r&&(Dt=N,K=Ls(K)),N=K,N===r&&(N=G,K=Dc(),K!==r&&(Dt=N,K=so(K)),N=K,N===r&&(N=G,K=yg(),K!==r&&(Dt=N,K=cc(K)),N=K))),N}function mp(){var N,K;return N=G,K=Gr(),K!==r&&(Dt=N,K=cu(K)),N=K,N===r&&(N=G,K=Ep(),K!==r&&(Dt=N,K=lp(K)),N=K,N===r&&(N=G,K=Dc(),K!==r&&(Dt=N,K=cp(K)),N=K,N===r&&(N=G,K=Cw(),K!==r&&(Dt=N,K=Os(K)),N=K,N===r&&(N=G,K=pa(),K!==r&&(Dt=N,K=cc(K)),N=K)))),N}function yp(){var N,K,re;for(N=G,K=[],Dn.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(oo));re!==r;)K.push(re),Dn.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(oo));return K!==r&&(Dt=N,K=Ms(K)),N=K,N}function yg(){var N,K,re;if(N=G,K=[],re=fa(),re===r&&(ml.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(yl))),re!==r)for(;re!==r;)K.push(re),re=fa(),re===r&&(ml.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(yl)));else K=r;return K!==r&&(Dt=N,K=Ms(K)),N=K,N}function fa(){var N,K,re;return N=G,t.substr(G,2)===ao?(K=ao,G+=2):(K=r,ct===0&&Ct(Vn)),K!==r&&(Dt=N,K=On()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Ni,G++):(K=r,ct===0&&Ct(Mn)),K!==r?(_i.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(tr)),re!==r?(Dt=N,K=Oe(re),N=K):(G=N,N=r)):(G=N,N=r)),N}function ln(){var N,K,re;for(N=G,K=[],re=Ao(),re===r&&(Dn.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(oo)));re!==r;)K.push(re),re=Ao(),re===r&&(Dn.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(oo)));return K!==r&&(Dt=N,K=Ms(K)),N=K,N}function Ao(){var N,K,re;return N=G,t.substr(G,2)===ii?(K=ii,G+=2):(K=r,ct===0&&Ct(Ma)),K!==r&&(Dt=N,K=hr()),N=K,N===r&&(N=G,t.substr(G,2)===uc?(K=uc,G+=2):(K=r,ct===0&&Ct(uu)),K!==r&&(Dt=N,K=Ac()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Ni,G++):(K=r,ct===0&&Ct(Mn)),K!==r?(El.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(DA)),re!==r?(Dt=N,K=Au(),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===Ce?(K=Ce,G+=2):(K=r,ct===0&&Ct(Rt)),K!==r&&(Dt=N,K=fc()),N=K,N===r&&(N=G,t.substr(G,2)===Hi?(K=Hi,G+=2):(K=r,ct===0&&Ct(fu)),K!==r&&(Dt=N,K=Yt()),N=K,N===r&&(N=G,t.substr(G,2)===Cl?(K=Cl,G+=2):(K=r,ct===0&&Ct(SA)),K!==r&&(Dt=N,K=up()),N=K,N===r&&(N=G,t.substr(G,2)===pc?(K=pc,G+=2):(K=r,ct===0&&Ct(PA)),K!==r&&(Dt=N,K=Qn()),N=K,N===r&&(N=G,t.substr(G,2)===hi?(K=hi,G+=2):(K=r,ct===0&&Ct(hc)),K!==r&&(Dt=N,K=bA()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Ni,G++):(K=r,ct===0&&Ct(Mn)),K!==r?(sa.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(Li)),re!==r?(Dt=N,K=Oe(re),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=OA()))))))))),N}function OA(){var N,K,re,pe,ze,mt,fr,Cr,yn,oi,Oi,Ig;return N=G,t.charCodeAt(G)===92?(K=Ni,G++):(K=r,ct===0&&Ct(Mn)),K!==r?(re=ja(),re!==r?(Dt=N,K=_o(re),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===Ze?(K=Ze,G+=2):(K=r,ct===0&&Ct(lo)),K!==r?(re=G,pe=G,ze=ja(),ze!==r?(mt=si(),mt!==r?(ze=[ze,mt],pe=ze):(G=pe,pe=r)):(G=pe,pe=r),pe===r&&(pe=ja()),pe!==r?re=t.substring(re,G):re=pe,re!==r?(Dt=N,K=_o(re),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===gc?(K=gc,G+=2):(K=r,ct===0&&Ct(pu)),K!==r?(re=G,pe=G,ze=si(),ze!==r?(mt=si(),mt!==r?(fr=si(),fr!==r?(Cr=si(),Cr!==r?(ze=[ze,mt,fr,Cr],pe=ze):(G=pe,pe=r)):(G=pe,pe=r)):(G=pe,pe=r)):(G=pe,pe=r),pe!==r?re=t.substring(re,G):re=pe,re!==r?(Dt=N,K=_o(re),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===qi?(K=qi,G+=2):(K=r,ct===0&&Ct(hu)),K!==r?(re=G,pe=G,ze=si(),ze!==r?(mt=si(),mt!==r?(fr=si(),fr!==r?(Cr=si(),Cr!==r?(yn=si(),yn!==r?(oi=si(),oi!==r?(Oi=si(),Oi!==r?(Ig=si(),Ig!==r?(ze=[ze,mt,fr,Cr,yn,oi,Oi,Ig],pe=ze):(G=pe,pe=r)):(G=pe,pe=r)):(G=pe,pe=r)):(G=pe,pe=r)):(G=pe,pe=r)):(G=pe,pe=r)):(G=pe,pe=r)):(G=pe,pe=r),pe!==r?re=t.substring(re,G):re=pe,re!==r?(Dt=N,K=xA(re),N=K):(G=N,N=r)):(G=N,N=r)))),N}function ja(){var N;return Ua.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,ct===0&&Ct(dc)),N}function si(){var N;return hs.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,ct===0&&Ct(_t)),N}function pa(){var N,K,re,pe,ze;if(N=G,K=[],re=G,t.charCodeAt(G)===92?(pe=Ni,G++):(pe=r,ct===0&&Ct(Mn)),pe!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,ct===0&&Ct(Fn)),ze!==r?(Dt=re,pe=Oe(ze),re=pe):(G=re,re=r)):(G=re,re=r),re===r&&(re=G,t.substr(G,2)===Ci?(pe=Ci,G+=2):(pe=r,ct===0&&Ct(oa)),pe!==r&&(Dt=re,pe=co()),re=pe,re===r&&(re=G,pe=G,ct++,ze=Rm(),ct--,ze===r?pe=void 0:(G=pe,pe=r),pe!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,ct===0&&Ct(Fn)),ze!==r?(Dt=re,pe=Oe(ze),re=pe):(G=re,re=r)):(G=re,re=r))),re!==r)for(;re!==r;)K.push(re),re=G,t.charCodeAt(G)===92?(pe=Ni,G++):(pe=r,ct===0&&Ct(Mn)),pe!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,ct===0&&Ct(Fn)),ze!==r?(Dt=re,pe=Oe(ze),re=pe):(G=re,re=r)):(G=re,re=r),re===r&&(re=G,t.substr(G,2)===Ci?(pe=Ci,G+=2):(pe=r,ct===0&&Ct(oa)),pe!==r&&(Dt=re,pe=co()),re=pe,re===r&&(re=G,pe=G,ct++,ze=Rm(),ct--,ze===r?pe=void 0:(G=pe,pe=r),pe!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,ct===0&&Ct(Fn)),ze!==r?(Dt=re,pe=Oe(ze),re=pe):(G=re,re=r)):(G=re,re=r)));else K=r;return K!==r&&(Dt=N,K=Ms(K)),N=K,N}function vc(){var N,K,re,pe,ze,mt;if(N=G,t.charCodeAt(G)===45?(K=Us,G++):(K=r,ct===0&&Ct(aa)),K===r&&(t.charCodeAt(G)===43?(K=la,G++):(K=r,ct===0&&Ct(Ho))),K===r&&(K=null),K!==r){if(re=[],Je.test(t.charAt(G))?(pe=t.charAt(G),G++):(pe=r,ct===0&&Ct(qe)),pe!==r)for(;pe!==r;)re.push(pe),Je.test(t.charAt(G))?(pe=t.charAt(G),G++):(pe=r,ct===0&&Ct(qe));else re=r;if(re!==r)if(t.charCodeAt(G)===46?(pe=wi,G++):(pe=r,ct===0&&Ct(gs)),pe!==r){if(ze=[],Je.test(t.charAt(G))?(mt=t.charAt(G),G++):(mt=r,ct===0&&Ct(qe)),mt!==r)for(;mt!==r;)ze.push(mt),Je.test(t.charAt(G))?(mt=t.charAt(G),G++):(mt=r,ct===0&&Ct(qe));else ze=r;ze!==r?(Dt=N,K=ds(K,re,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;if(N===r){if(N=G,t.charCodeAt(G)===45?(K=Us,G++):(K=r,ct===0&&Ct(aa)),K===r&&(t.charCodeAt(G)===43?(K=la,G++):(K=r,ct===0&&Ct(Ho))),K===r&&(K=null),K!==r){if(re=[],Je.test(t.charAt(G))?(pe=t.charAt(G),G++):(pe=r,ct===0&&Ct(qe)),pe!==r)for(;pe!==r;)re.push(pe),Je.test(t.charAt(G))?(pe=t.charAt(G),G++):(pe=r,ct===0&&Ct(qe));else re=r;re!==r?(Dt=N,K=ms(K,re),N=K):(G=N,N=r)}else G=N,N=r;if(N===r&&(N=G,K=Dc(),K!==r&&(Dt=N,K=_s(K)),N=K,N===r&&(N=G,K=Ga(),K!==r&&(Dt=N,K=Un(K)),N=K,N===r)))if(N=G,t.charCodeAt(G)===40?(K=Se,G++):(K=r,ct===0&&Ct(le)),K!==r){for(re=[],pe=Qt();pe!==r;)re.push(pe),pe=Qt();if(re!==r)if(pe=ts(),pe!==r){for(ze=[],mt=Qt();mt!==r;)ze.push(mt),mt=Qt();ze!==r?(t.charCodeAt(G)===41?(mt=ne,G++):(mt=r,ct===0&&Ct(ee)),mt!==r?(Dt=N,K=Sn(pe),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r}return N}function Bl(){var N,K,re,pe,ze,mt,fr,Cr;if(N=G,K=vc(),K!==r){for(re=[],pe=G,ze=[],mt=Qt();mt!==r;)ze.push(mt),mt=Qt();if(ze!==r)if(t.charCodeAt(G)===42?(mt=ys,G++):(mt=r,ct===0&&Ct(We)),mt===r&&(t.charCodeAt(G)===47?(mt=tt,G++):(mt=r,ct===0&&Ct(It))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=vc(),Cr!==r?(Dt=pe,ze=nr(K,mt,Cr),pe=ze):(G=pe,pe=r)):(G=pe,pe=r)}else G=pe,pe=r;else G=pe,pe=r;for(;pe!==r;){for(re.push(pe),pe=G,ze=[],mt=Qt();mt!==r;)ze.push(mt),mt=Qt();if(ze!==r)if(t.charCodeAt(G)===42?(mt=ys,G++):(mt=r,ct===0&&Ct(We)),mt===r&&(t.charCodeAt(G)===47?(mt=tt,G++):(mt=r,ct===0&&Ct(It))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=vc(),Cr!==r?(Dt=pe,ze=nr(K,mt,Cr),pe=ze):(G=pe,pe=r)):(G=pe,pe=r)}else G=pe,pe=r;else G=pe,pe=r}re!==r?(Dt=N,K=$(K,re),N=K):(G=N,N=r)}else G=N,N=r;return N}function ts(){var N,K,re,pe,ze,mt,fr,Cr;if(N=G,K=Bl(),K!==r){for(re=[],pe=G,ze=[],mt=Qt();mt!==r;)ze.push(mt),mt=Qt();if(ze!==r)if(t.charCodeAt(G)===43?(mt=la,G++):(mt=r,ct===0&&Ct(Ho)),mt===r&&(t.charCodeAt(G)===45?(mt=Us,G++):(mt=r,ct===0&&Ct(aa))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=Bl(),Cr!==r?(Dt=pe,ze=ye(K,mt,Cr),pe=ze):(G=pe,pe=r)):(G=pe,pe=r)}else G=pe,pe=r;else G=pe,pe=r;for(;pe!==r;){for(re.push(pe),pe=G,ze=[],mt=Qt();mt!==r;)ze.push(mt),mt=Qt();if(ze!==r)if(t.charCodeAt(G)===43?(mt=la,G++):(mt=r,ct===0&&Ct(Ho)),mt===r&&(t.charCodeAt(G)===45?(mt=Us,G++):(mt=r,ct===0&&Ct(aa))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=Bl(),Cr!==r?(Dt=pe,ze=ye(K,mt,Cr),pe=ze):(G=pe,pe=r)):(G=pe,pe=r)}else G=pe,pe=r;else G=pe,pe=r}re!==r?(Dt=N,K=$(K,re),N=K):(G=N,N=r)}else G=N,N=r;return N}function Gr(){var N,K,re,pe,ze,mt;if(N=G,t.substr(G,3)===Le?(K=Le,G+=3):(K=r,ct===0&&Ct(pt)),K!==r){for(re=[],pe=Qt();pe!==r;)re.push(pe),pe=Qt();if(re!==r)if(pe=ts(),pe!==r){for(ze=[],mt=Qt();mt!==r;)ze.push(mt),mt=Qt();ze!==r?(t.substr(G,2)===ht?(mt=ht,G+=2):(mt=r,ct===0&&Ct(Tt)),mt!==r?(Dt=N,K=er(pe),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;return N}function Ep(){var N,K,re,pe;return N=G,t.substr(G,2)===$r?(K=$r,G+=2):(K=r,ct===0&&Ct(ji)),K!==r?(re=Cu(),re!==r?(t.charCodeAt(G)===41?(pe=ne,G++):(pe=r,ct===0&&Ct(ee)),pe!==r?(Dt=N,K=es(re),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function Dc(){var N,K,re,pe,ze,mt;return N=G,t.substr(G,2)===bi?(K=bi,G+=2):(K=r,ct===0&&Ct(qo)),K!==r?(re=Ga(),re!==r?(t.substr(G,2)===kA?(pe=kA,G+=2):(pe=r,ct===0&&Ct(QA)),pe!==r?(ze=NA(),ze!==r?(t.charCodeAt(G)===125?(mt=H,G++):(mt=r,ct===0&&Ct(at)),mt!==r?(Dt=N,K=Ap(re,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===bi?(K=bi,G+=2):(K=r,ct===0&&Ct(qo)),K!==r?(re=Ga(),re!==r?(t.substr(G,3)===ig?(pe=ig,G+=3):(pe=r,ct===0&&Ct(gu)),pe!==r?(Dt=N,K=sg(re),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===bi?(K=bi,G+=2):(K=r,ct===0&&Ct(qo)),K!==r?(re=Ga(),re!==r?(t.substr(G,2)===du?(pe=du,G+=2):(pe=r,ct===0&&Ct(uo)),pe!==r?(ze=NA(),ze!==r?(t.charCodeAt(G)===125?(mt=H,G++):(mt=r,ct===0&&Ct(at)),mt!==r?(Dt=N,K=FA(re,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===bi?(K=bi,G+=2):(K=r,ct===0&&Ct(qo)),K!==r?(re=Ga(),re!==r?(t.substr(G,3)===mc?(pe=mc,G+=3):(pe=r,ct===0&&Ct(ca)),pe!==r?(Dt=N,K=og(re),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===bi?(K=bi,G+=2):(K=r,ct===0&&Ct(qo)),K!==r?(re=Ga(),re!==r?(t.charCodeAt(G)===125?(pe=H,G++):(pe=r,ct===0&&Ct(at)),pe!==r?(Dt=N,K=yc(re),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.charCodeAt(G)===36?(K=Pm,G++):(K=r,ct===0&&Ct(ag)),K!==r?(re=Ga(),re!==r?(Dt=N,K=yc(re),N=K):(G=N,N=r)):(G=N,N=r)))))),N}function Cw(){var N,K,re;return N=G,K=Eg(),K!==r?(Dt=G,re=$n(K),re?re=void 0:re=r,re!==r?(Dt=N,K=fp(K),N=K):(G=N,N=r)):(G=N,N=r),N}function Eg(){var N,K,re,pe,ze;if(N=G,K=[],re=G,pe=G,ct++,ze=wg(),ct--,ze===r?pe=void 0:(G=pe,pe=r),pe!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,ct===0&&Ct(Fn)),ze!==r?(Dt=re,pe=Oe(ze),re=pe):(G=re,re=r)):(G=re,re=r),re!==r)for(;re!==r;)K.push(re),re=G,pe=G,ct++,ze=wg(),ct--,ze===r?pe=void 0:(G=pe,pe=r),pe!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,ct===0&&Ct(Fn)),ze!==r?(Dt=re,pe=Oe(ze),re=pe):(G=re,re=r)):(G=re,re=r);else K=r;return K!==r&&(Dt=N,K=Ms(K)),N=K,N}function Cg(){var N,K,re;if(N=G,K=[],lg.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(RA)),re!==r)for(;re!==r;)K.push(re),lg.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(RA));else K=r;return K!==r&&(Dt=N,K=Hs()),N=K,N}function Ga(){var N,K,re;if(N=G,K=[],mu.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(Ha)),re!==r)for(;re!==r;)K.push(re),mu.test(t.charAt(G))?(re=t.charAt(G),G++):(re=r,ct===0&&Ct(Ha));else K=r;return K!==r&&(Dt=N,K=Hs()),N=K,N}function Rm(){var N;return Gi.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,ct===0&&Ct(ua)),N}function wg(){var N;return yu.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,ct===0&&Ct(Es)),N}function Qt(){var N,K;if(N=[],Ec.test(t.charAt(G))?(K=t.charAt(G),G++):(K=r,ct===0&&Ct(Cc)),K!==r)for(;K!==r;)N.push(K),Ec.test(t.charAt(G))?(K=t.charAt(G),G++):(K=r,ct===0&&Ct(Cc));else N=r;return N}if(Eu=a(),Eu!==r&&G===t.length)return Eu;throw Eu!==r&&G!1}){try{return(0,$Y.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function cy(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:o},a)=>`${LD(r)}${o===";"?a!==t.length-1||e?";":"":" &"}`).join(" ")}function LD(t){return`${uy(t.chain)}${t.then?` ${oT(t.then)}`:""}`}function oT(t){return`${t.type} ${LD(t.line)}`}function uy(t){return`${lT(t)}${t.then?` ${aT(t.then)}`:""}`}function aT(t){return`${t.type} ${uy(t.chain)}`}function lT(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>TD(e)).join(" ")} `:""}${t.args.map(e=>cT(e)).join(" ")}`;case"subshell":return`(${cy(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Jw(e)).join(" ")}`:""}`;case"group":return`{ ${cy(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Jw(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>TD(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function TD(t){return`${t.name}=${t.args[0]?Yg(t.args[0]):""}`}function cT(t){switch(t.type){case"redirection":return Jw(t);case"argument":return Yg(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Jw(t){return`${t.subtype} ${t.args.map(e=>Yg(e)).join(" ")}`}function Yg(t){return t.segments.map(e=>uT(e)).join("")}function uT(t){let e=(o,a)=>a?`"${o}"`:o,r=o=>o===""?"''":o.match(/[()}<>$|&;"'\n\t ]/)?o.match(/['\t\p{C}]/u)?o.match(/'/)?`"${o.replace(/["$\t\p{C}]/u,f8e)}"`:`$'${o.replace(/[\t\p{C}]/u,tW)}'`:`'${o}'`:o;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${cy(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue>"u"?typeof t.alternativeValue>"u"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(o=>Yg(o)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(o=>Yg(o)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${OD(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function OD(t){let e=a=>{switch(a){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 "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,o=a=>r(OD(a),!["number","variable"].includes(a.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${o(t.left)} ${e(t.type)} ${o(t.right)}`}}var $Y,eW,A8e,tW,f8e,rW=Et(()=>{$Y=$e(ZY());eW=new Map([["\f","\\f"],[` +`,"\\n"],["\r","\\r"],[" ","\\t"],["\v","\\v"],["\0","\\0"]]),A8e=new Map([["\\","\\\\"],["$","\\$"],['"','\\"'],...Array.from(eW,([t,e])=>[t,`"$'${e}'"`])]),tW=t=>eW.get(t)??`\\x${t.charCodeAt(0).toString(16).padStart(2,"0")}`,f8e=t=>A8e.get(t)??`"$'${tW(t)}'"`});var iW=_((Tbt,nW)=>{"use strict";function p8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Wg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Wg)}p8e(Wg,Error);Wg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;Ife&&(fe=J,ce=[]),ce.push(qe))}function at(qe,b){return new Wg(qe,null,null,b)}function Re(qe,b,w){return new Wg(Wg.buildMessage(qe,b),qe,b,w)}function ke(){var qe,b,w,P;return qe=J,b=xe(),b!==r?(t.charCodeAt(J)===47?(w=n,J++):(w=r,me===0&&H(u)),w!==r?(P=xe(),P!==r?(te=qe,b=A(b,P),qe=b):(J=qe,qe=r)):(J=qe,qe=r)):(J=qe,qe=r),qe===r&&(qe=J,b=xe(),b!==r&&(te=qe,b=p(b)),qe=b),qe}function xe(){var qe,b,w,P;return qe=J,b=He(),b!==r?(t.charCodeAt(J)===64?(w=h,J++):(w=r,me===0&&H(E)),w!==r?(P=Je(),P!==r?(te=qe,b=I(b,P),qe=b):(J=qe,qe=r)):(J=qe,qe=r)):(J=qe,qe=r),qe===r&&(qe=J,b=He(),b!==r&&(te=qe,b=v(b)),qe=b),qe}function He(){var qe,b,w,P,y;return qe=J,t.charCodeAt(J)===64?(b=h,J++):(b=r,me===0&&H(E)),b!==r?(w=Te(),w!==r?(t.charCodeAt(J)===47?(P=n,J++):(P=r,me===0&&H(u)),P!==r?(y=Te(),y!==r?(te=qe,b=x(),qe=b):(J=qe,qe=r)):(J=qe,qe=r)):(J=qe,qe=r)):(J=qe,qe=r),qe===r&&(qe=J,b=Te(),b!==r&&(te=qe,b=x()),qe=b),qe}function Te(){var qe,b,w;if(qe=J,b=[],C.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,me===0&&H(R)),w!==r)for(;w!==r;)b.push(w),C.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,me===0&&H(R));else b=r;return b!==r&&(te=qe,b=x()),qe=b,qe}function Je(){var qe,b,w;if(qe=J,b=[],L.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,me===0&&H(U)),w!==r)for(;w!==r;)b.push(w),L.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,me===0&&H(U));else b=r;return b!==r&&(te=qe,b=x()),qe=b,qe}if(he=a(),he!==r&&J===t.length)return he;throw he!==r&&J{sW=$e(iW())});var Vg=_((Lbt,Kg)=>{"use strict";function aW(t){return typeof t>"u"||t===null}function g8e(t){return typeof t=="object"&&t!==null}function d8e(t){return Array.isArray(t)?t:aW(t)?[]:[t]}function m8e(t,e){var r,o,a,n;if(e)for(n=Object.keys(e),r=0,o=n.length;r{"use strict";function zw(t,e){Error.call(this),this.name="YAMLException",this.reason=t,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||""}zw.prototype=Object.create(Error.prototype);zw.prototype.constructor=zw;zw.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};lW.exports=zw});var AW=_((Mbt,uW)=>{"use strict";var cW=Vg();function AT(t,e,r,o,a){this.name=t,this.buffer=e,this.position=r,this.line=o,this.column=a}AT.prototype.getSnippet=function(e,r){var o,a,n,u,A;if(!this.buffer)return null;for(e=e||4,r=r||75,o="",a=this.position;a>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){o=" ... ",a+=5;break}for(n="",u=this.position;ur/2-1){n=" ... ",u-=5;break}return A=this.buffer.slice(a,u),cW.repeat(" ",e)+o+A+n+` +`+cW.repeat(" ",e+this.position-a+o.length)+"^"};AT.prototype.toString=function(e){var r,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(o+=`: +`+r)),o};uW.exports=AT});var os=_((Ubt,pW)=>{"use strict";var fW=Ay(),C8e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],w8e=["scalar","sequence","mapping"];function I8e(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(o){e[String(o)]=r})}),e}function B8e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(C8e.indexOf(r)===-1)throw new fW('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=I8e(e.styleAliases||null),w8e.indexOf(this.kind)===-1)throw new fW('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}pW.exports=B8e});var Jg=_((_bt,gW)=>{"use strict";var hW=Vg(),_D=Ay(),v8e=os();function fT(t,e,r){var o=[];return t.include.forEach(function(a){r=fT(a,e,r)}),t[e].forEach(function(a){r.forEach(function(n,u){n.tag===a.tag&&n.kind===a.kind&&o.push(u)}),r.push(a)}),r.filter(function(a,n){return o.indexOf(n)===-1})}function D8e(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function o(a){t[a.kind][a.tag]=t.fallback[a.tag]=a}for(e=0,r=arguments.length;e{"use strict";var S8e=os();dW.exports=new S8e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var EW=_((qbt,yW)=>{"use strict";var P8e=os();yW.exports=new P8e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var wW=_((jbt,CW)=>{"use strict";var b8e=os();CW.exports=new b8e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var HD=_((Gbt,IW)=>{"use strict";var x8e=Jg();IW.exports=new x8e({explicit:[mW(),EW(),wW()]})});var vW=_((Ybt,BW)=>{"use strict";var k8e=os();function Q8e(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function F8e(){return null}function R8e(t){return t===null}BW.exports=new k8e("tag:yaml.org,2002:null",{kind:"scalar",resolve:Q8e,construct:F8e,predicate:R8e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var SW=_((Wbt,DW)=>{"use strict";var T8e=os();function N8e(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function L8e(t){return t==="true"||t==="True"||t==="TRUE"}function O8e(t){return Object.prototype.toString.call(t)==="[object Boolean]"}DW.exports=new T8e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:N8e,construct:L8e,predicate:O8e,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var bW=_((Kbt,PW)=>{"use strict";var M8e=Vg(),U8e=os();function _8e(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function H8e(t){return 48<=t&&t<=55}function q8e(t){return 48<=t&&t<=57}function j8e(t){if(t===null)return!1;var e=t.length,r=0,o=!1,a;if(!e)return!1;if(a=t[r],(a==="-"||a==="+")&&(a=t[++r]),a==="0"){if(r+1===e)return!0;if(a=t[++r],a==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var QW=_((Vbt,kW)=>{"use strict";var xW=Vg(),W8e=os(),K8e=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 V8e(t){return!(t===null||!K8e.test(t)||t[t.length-1]==="_")}function J8e(t){var e,r,o,a;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,a=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),e=0,o=1,a.forEach(function(n){e+=n*o,o*=60}),r*e):r*parseFloat(e,10)}var z8e=/^[-+]?[0-9]+e/;function X8e(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(xW.isNegativeZero(t))return"-0.0";return r=t.toString(10),z8e.test(r)?r.replace("e",".e"):r}function Z8e(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||xW.isNegativeZero(t))}kW.exports=new W8e("tag:yaml.org,2002:float",{kind:"scalar",resolve:V8e,construct:J8e,predicate:Z8e,represent:X8e,defaultStyle:"lowercase"})});var pT=_((Jbt,FW)=>{"use strict";var $8e=Jg();FW.exports=new $8e({include:[HD()],implicit:[vW(),SW(),bW(),QW()]})});var hT=_((zbt,RW)=>{"use strict";var eHe=Jg();RW.exports=new eHe({include:[pT()]})});var OW=_((Xbt,LW)=>{"use strict";var tHe=os(),TW=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),NW=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 rHe(t){return t===null?!1:TW.exec(t)!==null||NW.exec(t)!==null}function nHe(t){var e,r,o,a,n,u,A,p=0,h=null,E,I,v;if(e=TW.exec(t),e===null&&(e=NW.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],o=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(r,o,a));if(n=+e[4],u=+e[5],A=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+="0";p=+p}return e[9]&&(E=+e[10],I=+(e[11]||0),h=(E*60+I)*6e4,e[9]==="-"&&(h=-h)),v=new Date(Date.UTC(r,o,a,n,u,A,p)),h&&v.setTime(v.getTime()-h),v}function iHe(t){return t.toISOString()}LW.exports=new tHe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:rHe,construct:nHe,instanceOf:Date,represent:iHe})});var UW=_((Zbt,MW)=>{"use strict";var sHe=os();function oHe(t){return t==="<<"||t===null}MW.exports=new sHe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:oHe})});var qW=_(($bt,HW)=>{"use strict";var zg;try{_W=ve,zg=_W("buffer").Buffer}catch{}var _W,aHe=os(),gT=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function lHe(t){if(t===null)return!1;var e,r,o=0,a=t.length,n=gT;for(r=0;r64)){if(e<0)return!1;o+=6}return o%8===0}function cHe(t){var e,r,o=t.replace(/[\r\n=]/g,""),a=o.length,n=gT,u=0,A=[];for(e=0;e>16&255),A.push(u>>8&255),A.push(u&255)),u=u<<6|n.indexOf(o.charAt(e));return r=a%4*6,r===0?(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)):r===18?(A.push(u>>10&255),A.push(u>>2&255)):r===12&&A.push(u>>4&255),zg?zg.from?zg.from(A):new zg(A):A}function uHe(t){var e="",r=0,o,a,n=t.length,u=gT;for(o=0;o>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]),r=(r<<8)+t[o];return a=n%3,a===0?(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]):a===2?(e+=u[r>>10&63],e+=u[r>>4&63],e+=u[r<<2&63],e+=u[64]):a===1&&(e+=u[r>>2&63],e+=u[r<<4&63],e+=u[64],e+=u[64]),e}function AHe(t){return zg&&zg.isBuffer(t)}HW.exports=new aHe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:lHe,construct:cHe,predicate:AHe,represent:uHe})});var GW=_((txt,jW)=>{"use strict";var fHe=os(),pHe=Object.prototype.hasOwnProperty,hHe=Object.prototype.toString;function gHe(t){if(t===null)return!0;var e=[],r,o,a,n,u,A=t;for(r=0,o=A.length;r{"use strict";var mHe=os(),yHe=Object.prototype.toString;function EHe(t){if(t===null)return!0;var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e{"use strict";var wHe=os(),IHe=Object.prototype.hasOwnProperty;function BHe(t){if(t===null)return!0;var e,r=t;for(e in r)if(IHe.call(r,e)&&r[e]!==null)return!1;return!0}function vHe(t){return t!==null?t:{}}KW.exports=new wHe("tag:yaml.org,2002:set",{kind:"mapping",resolve:BHe,construct:vHe})});var py=_((ixt,JW)=>{"use strict";var DHe=Jg();JW.exports=new DHe({include:[hT()],implicit:[OW(),UW()],explicit:[qW(),GW(),WW(),VW()]})});var XW=_((sxt,zW)=>{"use strict";var SHe=os();function PHe(){return!0}function bHe(){}function xHe(){return""}function kHe(t){return typeof t>"u"}zW.exports=new SHe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:PHe,construct:bHe,predicate:kHe,represent:xHe})});var $W=_((oxt,ZW)=>{"use strict";var QHe=os();function FHe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),o="";return!(e[0]==="/"&&(r&&(o=r[1]),o.length>3||e[e.length-o.length-1]!=="/"))}function RHe(t){var e=t,r=/\/([gim]*)$/.exec(t),o="";return e[0]==="/"&&(r&&(o=r[1]),e=e.slice(1,e.length-o.length-1)),new RegExp(e,o)}function THe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function NHe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}ZW.exports=new QHe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:FHe,construct:RHe,predicate:NHe,represent:THe})});var rK=_((axt,tK)=>{"use strict";var qD;try{eK=ve,qD=eK("esprima")}catch{typeof window<"u"&&(qD=window.esprima)}var eK,LHe=os();function OHe(t){if(t===null)return!1;try{var e="("+t+")",r=qD.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function MHe(t){var e="("+t+")",r=qD.parse(e,{range:!0}),o=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){o.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(o,e.slice(a[0]+1,a[1]-1)):new Function(o,"return "+e.slice(a[0],a[1]))}function UHe(t){return t.toString()}function _He(t){return Object.prototype.toString.call(t)==="[object Function]"}tK.exports=new LHe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:OHe,construct:MHe,predicate:_He,represent:UHe})});var Xw=_((cxt,iK)=>{"use strict";var nK=Jg();iK.exports=nK.DEFAULT=new nK({include:[py()],explicit:[XW(),$W(),rK()]})});var BK=_((uxt,Zw)=>{"use strict";var yf=Vg(),AK=Ay(),HHe=AW(),fK=py(),qHe=Xw(),Yp=Object.prototype.hasOwnProperty,jD=1,pK=2,hK=3,GD=4,dT=1,jHe=2,sK=3,GHe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,YHe=/[\x85\u2028\u2029]/,WHe=/[,\[\]\{\}]/,gK=/^(?:!|!!|![a-z\-]+!)$/i,dK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function oK(t){return Object.prototype.toString.call(t)}function Hu(t){return t===10||t===13}function Zg(t){return t===9||t===32}function Ia(t){return t===9||t===32||t===10||t===13}function hy(t){return t===44||t===91||t===93||t===123||t===125}function KHe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function VHe(t){return t===120?2:t===117?4:t===85?8:0}function JHe(t){return 48<=t&&t<=57?t-48:-1}function aK(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function zHe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var mK=new Array(256),yK=new Array(256);for(Xg=0;Xg<256;Xg++)mK[Xg]=aK(Xg)?1:0,yK[Xg]=aK(Xg);var Xg;function XHe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||qHe,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=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function EK(t,e){return new AK(e,new HHe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function Pr(t,e){throw EK(t,e)}function YD(t,e){t.onWarning&&t.onWarning.call(null,EK(t,e))}var lK={YAML:function(e,r,o){var a,n,u;e.version!==null&&Pr(e,"duplication of %YAML directive"),o.length!==1&&Pr(e,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(o[0]),a===null&&Pr(e,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),u=parseInt(a[2],10),n!==1&&Pr(e,"unacceptable YAML version of the document"),e.version=o[0],e.checkLineBreaks=u<2,u!==1&&u!==2&&YD(e,"unsupported YAML version of the document")},TAG:function(e,r,o){var a,n;o.length!==2&&Pr(e,"TAG directive accepts exactly two arguments"),a=o[0],n=o[1],gK.test(a)||Pr(e,"ill-formed tag handle (first argument) of the TAG directive"),Yp.call(e.tagMap,a)&&Pr(e,'there is a previously declared suffix for "'+a+'" tag handle'),dK.test(n)||Pr(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[a]=n}};function Gp(t,e,r,o){var a,n,u,A;if(e1&&(t.result+=yf.repeat(` +`,e-1))}function ZHe(t,e,r){var o,a,n,u,A,p,h,E,I=t.kind,v=t.result,x;if(x=t.input.charCodeAt(t.position),Ia(x)||hy(x)||x===35||x===38||x===42||x===33||x===124||x===62||x===39||x===34||x===37||x===64||x===96||(x===63||x===45)&&(a=t.input.charCodeAt(t.position+1),Ia(a)||r&&hy(a)))return!1;for(t.kind="scalar",t.result="",n=u=t.position,A=!1;x!==0;){if(x===58){if(a=t.input.charCodeAt(t.position+1),Ia(a)||r&&hy(a))break}else if(x===35){if(o=t.input.charCodeAt(t.position-1),Ia(o))break}else{if(t.position===t.lineStart&&WD(t)||r&&hy(x))break;if(Hu(x))if(p=t.line,h=t.lineStart,E=t.lineIndent,Wi(t,!1,-1),t.lineIndent>=e){A=!0,x=t.input.charCodeAt(t.position);continue}else{t.position=u,t.line=p,t.lineStart=h,t.lineIndent=E;break}}A&&(Gp(t,n,u,!1),yT(t,t.line-p),n=u=t.position,A=!1),Zg(x)||(u=t.position+1),x=t.input.charCodeAt(++t.position)}return Gp(t,n,u,!1),t.result?!0:(t.kind=I,t.result=v,!1)}function $He(t,e){var r,o,a;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,o=a=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Gp(t,o,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)o=t.position,t.position++,a=t.position;else return!0;else Hu(r)?(Gp(t,o,a,!0),yT(t,Wi(t,!1,e)),o=a=t.position):t.position===t.lineStart&&WD(t)?Pr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);Pr(t,"unexpected end of the stream within a single quoted scalar")}function e6e(t,e){var r,o,a,n,u,A;if(A=t.input.charCodeAt(t.position),A!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=o=t.position;(A=t.input.charCodeAt(t.position))!==0;){if(A===34)return Gp(t,r,t.position,!0),t.position++,!0;if(A===92){if(Gp(t,r,t.position,!0),A=t.input.charCodeAt(++t.position),Hu(A))Wi(t,!1,e);else if(A<256&&mK[A])t.result+=yK[A],t.position++;else if((u=VHe(A))>0){for(a=u,n=0;a>0;a--)A=t.input.charCodeAt(++t.position),(u=KHe(A))>=0?n=(n<<4)+u:Pr(t,"expected hexadecimal character");t.result+=zHe(n),t.position++}else Pr(t,"unknown escape sequence");r=o=t.position}else Hu(A)?(Gp(t,r,o,!0),yT(t,Wi(t,!1,e)),r=o=t.position):t.position===t.lineStart&&WD(t)?Pr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,o=t.position)}Pr(t,"unexpected end of the stream within a double quoted scalar")}function t6e(t,e){var r=!0,o,a=t.tag,n,u=t.anchor,A,p,h,E,I,v={},x,C,R,L;if(L=t.input.charCodeAt(t.position),L===91)p=93,I=!1,n=[];else if(L===123)p=125,I=!0,n={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),L=t.input.charCodeAt(++t.position);L!==0;){if(Wi(t,!0,e),L=t.input.charCodeAt(t.position),L===p)return t.position++,t.tag=a,t.anchor=u,t.kind=I?"mapping":"sequence",t.result=n,!0;r||Pr(t,"missed comma between flow collection entries"),C=x=R=null,h=E=!1,L===63&&(A=t.input.charCodeAt(t.position+1),Ia(A)&&(h=E=!0,t.position++,Wi(t,!0,e))),o=t.line,dy(t,e,jD,!1,!0),C=t.tag,x=t.result,Wi(t,!0,e),L=t.input.charCodeAt(t.position),(E||t.line===o)&&L===58&&(h=!0,L=t.input.charCodeAt(++t.position),Wi(t,!0,e),dy(t,e,jD,!1,!0),R=t.result),I?gy(t,n,v,C,x,R):h?n.push(gy(t,null,v,C,x,R)):n.push(x),Wi(t,!0,e),L=t.input.charCodeAt(t.position),L===44?(r=!0,L=t.input.charCodeAt(++t.position)):r=!1}Pr(t,"unexpected end of the stream within a flow collection")}function r6e(t,e){var r,o,a=dT,n=!1,u=!1,A=e,p=0,h=!1,E,I;if(I=t.input.charCodeAt(t.position),I===124)o=!1;else if(I===62)o=!0;else return!1;for(t.kind="scalar",t.result="";I!==0;)if(I=t.input.charCodeAt(++t.position),I===43||I===45)dT===a?a=I===43?sK:jHe:Pr(t,"repeat of a chomping mode identifier");else if((E=JHe(I))>=0)E===0?Pr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?Pr(t,"repeat of an indentation width identifier"):(A=e+E-1,u=!0);else break;if(Zg(I)){do I=t.input.charCodeAt(++t.position);while(Zg(I));if(I===35)do I=t.input.charCodeAt(++t.position);while(!Hu(I)&&I!==0)}for(;I!==0;){for(mT(t),t.lineIndent=0,I=t.input.charCodeAt(t.position);(!u||t.lineIndentA&&(A=t.lineIndent),Hu(I)){p++;continue}if(t.lineIndente)&&p!==0)Pr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(dy(t,e,GD,!0,a)&&(C?v=t.result:x=t.result),C||(gy(t,h,E,I,v,x,n,u),I=v=x=null),Wi(t,!0,-1),L=t.input.charCodeAt(t.position)),t.lineIndent>e&&L!==0)Pr(t,"bad indentation of a mapping entry");else if(t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),I=0,v=t.implicitTypes.length;I tag; it should be "'+x.kind+'", not "'+t.kind+'"'),x.resolve(t.result)?(t.result=x.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Pr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):Pr(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||E}function a6e(t){var e=t.position,r,o,a,n=!1,u;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(u=t.input.charCodeAt(t.position))!==0&&(Wi(t,!0,-1),u=t.input.charCodeAt(t.position),!(t.lineIndent>0||u!==37));){for(n=!0,u=t.input.charCodeAt(++t.position),r=t.position;u!==0&&!Ia(u);)u=t.input.charCodeAt(++t.position);for(o=t.input.slice(r,t.position),a=[],o.length<1&&Pr(t,"directive name must not be less than one character in length");u!==0;){for(;Zg(u);)u=t.input.charCodeAt(++t.position);if(u===35){do u=t.input.charCodeAt(++t.position);while(u!==0&&!Hu(u));break}if(Hu(u))break;for(r=t.position;u!==0&&!Ia(u);)u=t.input.charCodeAt(++t.position);a.push(t.input.slice(r,t.position))}u!==0&&mT(t),Yp.call(lK,o)?lK[o](t,o,a):YD(t,'unknown document directive "'+o+'"')}if(Wi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Wi(t,!0,-1)):n&&Pr(t,"directives end mark is expected"),dy(t,t.lineIndent-1,GD,!1,!0),Wi(t,!0,-1),t.checkLineBreaks&&YHe.test(t.input.slice(e,t.position))&&YD(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&WD(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Wi(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var o=CK(t,r);if(typeof e!="function")return o;for(var a=0,n=o.length;a"u"&&(r=e,e=null),wK(t,e,yf.extend({schema:fK},r))}function c6e(t,e){return IK(t,yf.extend({schema:fK},e))}Zw.exports.loadAll=wK;Zw.exports.load=IK;Zw.exports.safeLoadAll=l6e;Zw.exports.safeLoad=c6e});var WK=_((Axt,IT)=>{"use strict";var eI=Vg(),tI=Ay(),u6e=Xw(),A6e=py(),QK=Object.prototype.toString,FK=Object.prototype.hasOwnProperty,f6e=9,$w=10,p6e=13,h6e=32,g6e=33,d6e=34,RK=35,m6e=37,y6e=38,E6e=39,C6e=42,TK=44,w6e=45,NK=58,I6e=61,B6e=62,v6e=63,D6e=64,LK=91,OK=93,S6e=96,MK=123,P6e=124,UK=125,vo={};vo[0]="\\0";vo[7]="\\a";vo[8]="\\b";vo[9]="\\t";vo[10]="\\n";vo[11]="\\v";vo[12]="\\f";vo[13]="\\r";vo[27]="\\e";vo[34]='\\"';vo[92]="\\\\";vo[133]="\\N";vo[160]="\\_";vo[8232]="\\L";vo[8233]="\\P";var b6e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function x6e(t,e){var r,o,a,n,u,A,p;if(e===null)return{};for(r={},o=Object.keys(e),a=0,n=o.length;a0?t.charCodeAt(n-1):null,v=v&&SK(u,A)}else{for(n=0;no&&t[I+1]!==" ",I=n);else if(!my(u))return KD;A=n>0?t.charCodeAt(n-1):null,v=v&&SK(u,A)}h=h||E&&n-I-1>o&&t[I+1]!==" "}return!p&&!h?v&&!a(t)?HK:qK:r>9&&_K(t)?KD:h?GK:jK}function N6e(t,e,r,o){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&b6e.indexOf(e)!==-1)return"'"+e+"'";var a=t.indent*Math.max(1,r),n=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),u=o||t.flowLevel>-1&&r>=t.flowLevel;function A(p){return Q6e(t,p)}switch(T6e(e,u,t.indent,n,A)){case HK:return e;case qK:return"'"+e.replace(/'/g,"''")+"'";case jK:return"|"+PK(e,t.indent)+bK(DK(e,a));case GK:return">"+PK(e,t.indent)+bK(DK(L6e(e,n),a));case KD:return'"'+O6e(e,n)+'"';default:throw new tI("impossible error: invalid scalar style")}}()}function PK(t,e){var r=_K(t)?String(e):"",o=t[t.length-1]===` +`,a=o&&(t[t.length-2]===` +`||t===` +`),n=a?"+":o?"":"-";return r+n+` +`}function bK(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function L6e(t,e){for(var r=/(\n+)([^\n]*)/g,o=function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,xK(t.slice(0,h),e)}(),a=t[0]===` +`||t[0]===" ",n,u;u=r.exec(t);){var A=u[1],p=u[2];n=p[0]===" ",o+=A+(!a&&!n&&p!==""?` +`:"")+xK(p,e),a=n}return o}function xK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,o,a=0,n,u=0,A=0,p="";o=r.exec(t);)A=o.index,A-a>e&&(n=u>a?u:A,p+=` +`+t.slice(a,n),a=n+1),u=A;return p+=` +`,t.length-a>e&&u>a?p+=t.slice(a,u)+` +`+t.slice(u+1):p+=t.slice(a),p.slice(1)}function O6e(t){for(var e="",r,o,a,n=0;n=55296&&r<=56319&&(o=t.charCodeAt(n+1),o>=56320&&o<=57343)){e+=vK((r-55296)*1024+o-56320+65536),n++;continue}a=vo[r],e+=!a&&my(r)?t[n]:a||vK(r)}return e}function M6e(t,e,r){var o="",a=t.tag,n,u;for(n=0,u=r.length;n1024&&(E+="? "),E+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),$g(t,e,h,!1,!1)&&(E+=t.dump,o+=E));t.tag=a,t.dump="{"+o+"}"}function H6e(t,e,r,o){var a="",n=t.tag,u=Object.keys(r),A,p,h,E,I,v;if(t.sortKeys===!0)u.sort();else if(typeof t.sortKeys=="function")u.sort(t.sortKeys);else if(t.sortKeys)throw new tI("sortKeys must be a boolean or a function");for(A=0,p=u.length;A1024,I&&(t.dump&&$w===t.dump.charCodeAt(0)?v+="?":v+="? "),v+=t.dump,I&&(v+=ET(t,e)),$g(t,e+1,E,!0,I)&&(t.dump&&$w===t.dump.charCodeAt(0)?v+=":":v+=": ",v+=t.dump,a+=v));t.tag=n,t.dump=a||"{}"}function kK(t,e,r){var o,a,n,u,A,p;for(a=r?t.explicitTypes:t.implicitTypes,n=0,u=a.length;n tag resolver accepts not "'+p+'" style');t.dump=o}return!0}return!1}function $g(t,e,r,o,a,n){t.tag=null,t.dump=r,kK(t,r,!1)||kK(t,r,!0);var u=QK.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>e);var A=u==="[object Object]"||u==="[object Array]",p,h;if(A&&(p=t.duplicates.indexOf(r),h=p!==-1),(t.tag!==null&&t.tag!=="?"||h||t.indent!==2&&e>0)&&(a=!1),h&&t.usedDuplicates[p])t.dump="*ref_"+p;else{if(A&&h&&!t.usedDuplicates[p]&&(t.usedDuplicates[p]=!0),u==="[object Object]")o&&Object.keys(t.dump).length!==0?(H6e(t,e,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(_6e(t,e,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump));else if(u==="[object Array]"){var E=t.noArrayIndent&&e>0?e-1:e;o&&t.dump.length!==0?(U6e(t,E,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(M6e(t,E,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump))}else if(u==="[object String]")t.tag!=="?"&&N6e(t,t.dump,e,n);else{if(t.skipInvalid)return!1;throw new tI("unacceptable kind of an object to dump "+u)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function q6e(t,e){var r=[],o=[],a,n;for(CT(t,r,o),a=0,n=o.length;a{"use strict";var VD=BK(),KK=WK();function JD(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}ki.exports.Type=os();ki.exports.Schema=Jg();ki.exports.FAILSAFE_SCHEMA=HD();ki.exports.JSON_SCHEMA=pT();ki.exports.CORE_SCHEMA=hT();ki.exports.DEFAULT_SAFE_SCHEMA=py();ki.exports.DEFAULT_FULL_SCHEMA=Xw();ki.exports.load=VD.load;ki.exports.loadAll=VD.loadAll;ki.exports.safeLoad=VD.safeLoad;ki.exports.safeLoadAll=VD.safeLoadAll;ki.exports.dump=KK.dump;ki.exports.safeDump=KK.safeDump;ki.exports.YAMLException=Ay();ki.exports.MINIMAL_SCHEMA=HD();ki.exports.SAFE_SCHEMA=py();ki.exports.DEFAULT_SCHEMA=Xw();ki.exports.scan=JD("scan");ki.exports.parse=JD("parse");ki.exports.compose=JD("compose");ki.exports.addConstructor=JD("addConstructor")});var zK=_((pxt,JK)=>{"use strict";var G6e=VK();JK.exports=G6e});var ZK=_((hxt,XK)=>{"use strict";function Y6e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function ed(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ed)}Y6e(ed,Error);ed.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;I({[pt]:Le})))},fe=function($){return $},ce=function($){return $},me=sa("correct indentation"),he=" ",Be=Qn(" ",!1),we=function($){return $.length===nr*It},g=function($){return $.length===(nr+1)*It},Ee=function(){return nr++,!0},Se=function(){return nr--,!0},le=function(){return SA()},ne=sa("pseudostring"),ee=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,Ie=hi(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Fe=/^[^\r\n\t ,\][{}:#"']/,At=hi(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),H=function(){return SA().replace(/^ *| *$/g,"")},at="--",Re=Qn("--",!1),ke=/^[a-zA-Z\/0-9]/,xe=hi([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),He=/^[^\r\n\t :,]/,Te=hi(["\r",` +`," "," ",":",","],!0,!1),Je="null",qe=Qn("null",!1),b=function(){return null},w="true",P=Qn("true",!1),y=function(){return!0},F="false",z=Qn("false",!1),X=function(){return!1},Z=sa("string"),ie='"',Pe=Qn('"',!1),Ne=function(){return""},ot=function($){return $},dt=function($){return $.join("")},jt=/^[^"\\\0-\x1F\x7F]/,$t=hi(['"',"\\",["\0",""],"\x7F"],!0,!1),bt='\\"',an=Qn('\\"',!1),Qr=function(){return'"'},mr="\\\\",br=Qn("\\\\",!1),Wr=function(){return"\\"},Kn="\\/",Ns=Qn("\\/",!1),Ti=function(){return"/"},ps="\\b",io=Qn("\\b",!1),Pi=function(){return"\b"},Ls="\\f",so=Qn("\\f",!1),cc=function(){return"\f"},cu="\\n",lp=Qn("\\n",!1),cp=function(){return` +`},Os="\\r",Dn=Qn("\\r",!1),oo=function(){return"\r"},Ms="\\t",ml=Qn("\\t",!1),yl=function(){return" "},ao="\\u",Vn=Qn("\\u",!1),On=function($,ye,Le,pt){return String.fromCharCode(parseInt(`0x${$}${ye}${Le}${pt}`))},Ni=/^[0-9a-fA-F]/,Mn=hi([["0","9"],["a","f"],["A","F"]],!1,!1),_i=sa("blank space"),tr=/^[ \t]/,Oe=hi([" "," "],!1,!1),ii=sa("white space"),Ma=/^[ \t\n\r]/,hr=hi([" "," ",` +`,"\r"],!1,!1),uc=`\r +`,uu=Qn(`\r +`,!1),Ac=` +`,El=Qn(` +`,!1),DA="\r",Au=Qn("\r",!1),Ce=0,Rt=0,fc=[{line:1,column:1}],Hi=0,fu=[],Yt=0,Cl;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function SA(){return t.substring(Rt,Ce)}function up(){return _o(Rt,Ce)}function pc($,ye){throw ye=ye!==void 0?ye:_o(Rt,Ce),gc([sa($)],t.substring(Rt,Ce),ye)}function PA($,ye){throw ye=ye!==void 0?ye:_o(Rt,Ce),lo($,ye)}function Qn($,ye){return{type:"literal",text:$,ignoreCase:ye}}function hi($,ye,Le){return{type:"class",parts:$,inverted:ye,ignoreCase:Le}}function hc(){return{type:"any"}}function bA(){return{type:"end"}}function sa($){return{type:"other",description:$}}function Li($){var ye=fc[$],Le;if(ye)return ye;for(Le=$-1;!fc[Le];)Le--;for(ye=fc[Le],ye={line:ye.line,column:ye.column};Le<$;)t.charCodeAt(Le)===10?(ye.line++,ye.column=1):ye.column++,Le++;return fc[$]=ye,ye}function _o($,ye){var Le=Li($),pt=Li(ye);return{start:{offset:$,line:Le.line,column:Le.column},end:{offset:ye,line:pt.line,column:pt.column}}}function Ze($){CeHi&&(Hi=Ce,fu=[]),fu.push($))}function lo($,ye){return new ed($,null,null,ye)}function gc($,ye,Le){return new ed(ed.buildMessage($,ye),$,ye,Le)}function pu(){var $;return $=xA(),$}function qi(){var $,ye,Le;for($=Ce,ye=[],Le=hu();Le!==r;)ye.push(Le),Le=hu();return ye!==r&&(Rt=$,ye=n(ye)),$=ye,$}function hu(){var $,ye,Le,pt,ht;return $=Ce,ye=hs(),ye!==r?(t.charCodeAt(Ce)===45?(Le=u,Ce++):(Le=r,Yt===0&&Ze(A)),Le!==r?(pt=Sn(),pt!==r?(ht=dc(),ht!==r?(Rt=$,ye=p(ht),$=ye):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r),$}function xA(){var $,ye,Le;for($=Ce,ye=[],Le=Ua();Le!==r;)ye.push(Le),Le=Ua();return ye!==r&&(Rt=$,ye=h(ye)),$=ye,$}function Ua(){var $,ye,Le,pt,ht,Tt,er,$r,ji;if($=Ce,ye=Sn(),ye===r&&(ye=null),ye!==r){if(Le=Ce,t.charCodeAt(Ce)===35?(pt=E,Ce++):(pt=r,Yt===0&&Ze(I)),pt!==r){if(ht=[],Tt=Ce,er=Ce,Yt++,$r=tt(),Yt--,$r===r?er=void 0:(Ce=er,er=r),er!==r?(t.length>Ce?($r=t.charAt(Ce),Ce++):($r=r,Yt===0&&Ze(v)),$r!==r?(er=[er,$r],Tt=er):(Ce=Tt,Tt=r)):(Ce=Tt,Tt=r),Tt!==r)for(;Tt!==r;)ht.push(Tt),Tt=Ce,er=Ce,Yt++,$r=tt(),Yt--,$r===r?er=void 0:(Ce=er,er=r),er!==r?(t.length>Ce?($r=t.charAt(Ce),Ce++):($r=r,Yt===0&&Ze(v)),$r!==r?(er=[er,$r],Tt=er):(Ce=Tt,Tt=r)):(Ce=Tt,Tt=r);else ht=r;ht!==r?(pt=[pt,ht],Le=pt):(Ce=Le,Le=r)}else Ce=Le,Le=r;if(Le===r&&(Le=null),Le!==r){if(pt=[],ht=We(),ht!==r)for(;ht!==r;)pt.push(ht),ht=We();else pt=r;pt!==r?(Rt=$,ye=x(),$=ye):(Ce=$,$=r)}else Ce=$,$=r}else Ce=$,$=r;if($===r&&($=Ce,ye=hs(),ye!==r?(Le=oa(),Le!==r?(pt=Sn(),pt===r&&(pt=null),pt!==r?(t.charCodeAt(Ce)===58?(ht=C,Ce++):(ht=r,Yt===0&&Ze(R)),ht!==r?(Tt=Sn(),Tt===r&&(Tt=null),Tt!==r?(er=dc(),er!==r?(Rt=$,ye=L(Le,er),$=ye):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r),$===r&&($=Ce,ye=hs(),ye!==r?(Le=co(),Le!==r?(pt=Sn(),pt===r&&(pt=null),pt!==r?(t.charCodeAt(Ce)===58?(ht=C,Ce++):(ht=r,Yt===0&&Ze(R)),ht!==r?(Tt=Sn(),Tt===r&&(Tt=null),Tt!==r?(er=dc(),er!==r?(Rt=$,ye=L(Le,er),$=ye):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r),$===r))){if($=Ce,ye=hs(),ye!==r)if(Le=co(),Le!==r)if(pt=Sn(),pt!==r)if(ht=aa(),ht!==r){if(Tt=[],er=We(),er!==r)for(;er!==r;)Tt.push(er),er=We();else Tt=r;Tt!==r?(Rt=$,ye=L(Le,ht),$=ye):(Ce=$,$=r)}else Ce=$,$=r;else Ce=$,$=r;else Ce=$,$=r;else Ce=$,$=r;if($===r)if($=Ce,ye=hs(),ye!==r)if(Le=co(),Le!==r){if(pt=[],ht=Ce,Tt=Sn(),Tt===r&&(Tt=null),Tt!==r?(t.charCodeAt(Ce)===44?(er=U,Ce++):(er=r,Yt===0&&Ze(J)),er!==r?($r=Sn(),$r===r&&($r=null),$r!==r?(ji=co(),ji!==r?(Rt=ht,Tt=te(Le,ji),ht=Tt):(Ce=ht,ht=r)):(Ce=ht,ht=r)):(Ce=ht,ht=r)):(Ce=ht,ht=r),ht!==r)for(;ht!==r;)pt.push(ht),ht=Ce,Tt=Sn(),Tt===r&&(Tt=null),Tt!==r?(t.charCodeAt(Ce)===44?(er=U,Ce++):(er=r,Yt===0&&Ze(J)),er!==r?($r=Sn(),$r===r&&($r=null),$r!==r?(ji=co(),ji!==r?(Rt=ht,Tt=te(Le,ji),ht=Tt):(Ce=ht,ht=r)):(Ce=ht,ht=r)):(Ce=ht,ht=r)):(Ce=ht,ht=r);else pt=r;pt!==r?(ht=Sn(),ht===r&&(ht=null),ht!==r?(t.charCodeAt(Ce)===58?(Tt=C,Ce++):(Tt=r,Yt===0&&Ze(R)),Tt!==r?(er=Sn(),er===r&&(er=null),er!==r?($r=dc(),$r!==r?(Rt=$,ye=ae(Le,pt,$r),$=ye):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)}else Ce=$,$=r;else Ce=$,$=r}return $}function dc(){var $,ye,Le,pt,ht,Tt,er;if($=Ce,ye=Ce,Yt++,Le=Ce,pt=tt(),pt!==r?(ht=_t(),ht!==r?(t.charCodeAt(Ce)===45?(Tt=u,Ce++):(Tt=r,Yt===0&&Ze(A)),Tt!==r?(er=Sn(),er!==r?(pt=[pt,ht,Tt,er],Le=pt):(Ce=Le,Le=r)):(Ce=Le,Le=r)):(Ce=Le,Le=r)):(Ce=Le,Le=r),Yt--,Le!==r?(Ce=ye,ye=void 0):ye=r,ye!==r?(Le=We(),Le!==r?(pt=Fn(),pt!==r?(ht=qi(),ht!==r?(Tt=Ci(),Tt!==r?(Rt=$,ye=fe(ht),$=ye):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r),$===r&&($=Ce,ye=tt(),ye!==r?(Le=Fn(),Le!==r?(pt=xA(),pt!==r?(ht=Ci(),ht!==r?(Rt=$,ye=fe(pt),$=ye):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r),$===r))if($=Ce,ye=Us(),ye!==r){if(Le=[],pt=We(),pt!==r)for(;pt!==r;)Le.push(pt),pt=We();else Le=r;Le!==r?(Rt=$,ye=ce(ye),$=ye):(Ce=$,$=r)}else Ce=$,$=r;return $}function hs(){var $,ye,Le;for(Yt++,$=Ce,ye=[],t.charCodeAt(Ce)===32?(Le=he,Ce++):(Le=r,Yt===0&&Ze(Be));Le!==r;)ye.push(Le),t.charCodeAt(Ce)===32?(Le=he,Ce++):(Le=r,Yt===0&&Ze(Be));return ye!==r?(Rt=Ce,Le=we(ye),Le?Le=void 0:Le=r,Le!==r?(ye=[ye,Le],$=ye):(Ce=$,$=r)):(Ce=$,$=r),Yt--,$===r&&(ye=r,Yt===0&&Ze(me)),$}function _t(){var $,ye,Le;for($=Ce,ye=[],t.charCodeAt(Ce)===32?(Le=he,Ce++):(Le=r,Yt===0&&Ze(Be));Le!==r;)ye.push(Le),t.charCodeAt(Ce)===32?(Le=he,Ce++):(Le=r,Yt===0&&Ze(Be));return ye!==r?(Rt=Ce,Le=g(ye),Le?Le=void 0:Le=r,Le!==r?(ye=[ye,Le],$=ye):(Ce=$,$=r)):(Ce=$,$=r),$}function Fn(){var $;return Rt=Ce,$=Ee(),$?$=void 0:$=r,$}function Ci(){var $;return Rt=Ce,$=Se(),$?$=void 0:$=r,$}function oa(){var $;return $=ds(),$===r&&($=la()),$}function co(){var $,ye,Le;if($=ds(),$===r){if($=Ce,ye=[],Le=Ho(),Le!==r)for(;Le!==r;)ye.push(Le),Le=Ho();else ye=r;ye!==r&&(Rt=$,ye=le()),$=ye}return $}function Us(){var $;return $=wi(),$===r&&($=gs(),$===r&&($=ds(),$===r&&($=la()))),$}function aa(){var $;return $=wi(),$===r&&($=ds(),$===r&&($=Ho())),$}function la(){var $,ye,Le,pt,ht,Tt;if(Yt++,$=Ce,ee.test(t.charAt(Ce))?(ye=t.charAt(Ce),Ce++):(ye=r,Yt===0&&Ze(Ie)),ye!==r){for(Le=[],pt=Ce,ht=Sn(),ht===r&&(ht=null),ht!==r?(Fe.test(t.charAt(Ce))?(Tt=t.charAt(Ce),Ce++):(Tt=r,Yt===0&&Ze(At)),Tt!==r?(ht=[ht,Tt],pt=ht):(Ce=pt,pt=r)):(Ce=pt,pt=r);pt!==r;)Le.push(pt),pt=Ce,ht=Sn(),ht===r&&(ht=null),ht!==r?(Fe.test(t.charAt(Ce))?(Tt=t.charAt(Ce),Ce++):(Tt=r,Yt===0&&Ze(At)),Tt!==r?(ht=[ht,Tt],pt=ht):(Ce=pt,pt=r)):(Ce=pt,pt=r);Le!==r?(Rt=$,ye=H(),$=ye):(Ce=$,$=r)}else Ce=$,$=r;return Yt--,$===r&&(ye=r,Yt===0&&Ze(ne)),$}function Ho(){var $,ye,Le,pt,ht;if($=Ce,t.substr(Ce,2)===at?(ye=at,Ce+=2):(ye=r,Yt===0&&Ze(Re)),ye===r&&(ye=null),ye!==r)if(ke.test(t.charAt(Ce))?(Le=t.charAt(Ce),Ce++):(Le=r,Yt===0&&Ze(xe)),Le!==r){for(pt=[],He.test(t.charAt(Ce))?(ht=t.charAt(Ce),Ce++):(ht=r,Yt===0&&Ze(Te));ht!==r;)pt.push(ht),He.test(t.charAt(Ce))?(ht=t.charAt(Ce),Ce++):(ht=r,Yt===0&&Ze(Te));pt!==r?(Rt=$,ye=H(),$=ye):(Ce=$,$=r)}else Ce=$,$=r;else Ce=$,$=r;return $}function wi(){var $,ye;return $=Ce,t.substr(Ce,4)===Je?(ye=Je,Ce+=4):(ye=r,Yt===0&&Ze(qe)),ye!==r&&(Rt=$,ye=b()),$=ye,$}function gs(){var $,ye;return $=Ce,t.substr(Ce,4)===w?(ye=w,Ce+=4):(ye=r,Yt===0&&Ze(P)),ye!==r&&(Rt=$,ye=y()),$=ye,$===r&&($=Ce,t.substr(Ce,5)===F?(ye=F,Ce+=5):(ye=r,Yt===0&&Ze(z)),ye!==r&&(Rt=$,ye=X()),$=ye),$}function ds(){var $,ye,Le,pt;return Yt++,$=Ce,t.charCodeAt(Ce)===34?(ye=ie,Ce++):(ye=r,Yt===0&&Ze(Pe)),ye!==r?(t.charCodeAt(Ce)===34?(Le=ie,Ce++):(Le=r,Yt===0&&Ze(Pe)),Le!==r?(Rt=$,ye=Ne(),$=ye):(Ce=$,$=r)):(Ce=$,$=r),$===r&&($=Ce,t.charCodeAt(Ce)===34?(ye=ie,Ce++):(ye=r,Yt===0&&Ze(Pe)),ye!==r?(Le=ms(),Le!==r?(t.charCodeAt(Ce)===34?(pt=ie,Ce++):(pt=r,Yt===0&&Ze(Pe)),pt!==r?(Rt=$,ye=ot(Le),$=ye):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)),Yt--,$===r&&(ye=r,Yt===0&&Ze(Z)),$}function ms(){var $,ye,Le;if($=Ce,ye=[],Le=_s(),Le!==r)for(;Le!==r;)ye.push(Le),Le=_s();else ye=r;return ye!==r&&(Rt=$,ye=dt(ye)),$=ye,$}function _s(){var $,ye,Le,pt,ht,Tt;return jt.test(t.charAt(Ce))?($=t.charAt(Ce),Ce++):($=r,Yt===0&&Ze($t)),$===r&&($=Ce,t.substr(Ce,2)===bt?(ye=bt,Ce+=2):(ye=r,Yt===0&&Ze(an)),ye!==r&&(Rt=$,ye=Qr()),$=ye,$===r&&($=Ce,t.substr(Ce,2)===mr?(ye=mr,Ce+=2):(ye=r,Yt===0&&Ze(br)),ye!==r&&(Rt=$,ye=Wr()),$=ye,$===r&&($=Ce,t.substr(Ce,2)===Kn?(ye=Kn,Ce+=2):(ye=r,Yt===0&&Ze(Ns)),ye!==r&&(Rt=$,ye=Ti()),$=ye,$===r&&($=Ce,t.substr(Ce,2)===ps?(ye=ps,Ce+=2):(ye=r,Yt===0&&Ze(io)),ye!==r&&(Rt=$,ye=Pi()),$=ye,$===r&&($=Ce,t.substr(Ce,2)===Ls?(ye=Ls,Ce+=2):(ye=r,Yt===0&&Ze(so)),ye!==r&&(Rt=$,ye=cc()),$=ye,$===r&&($=Ce,t.substr(Ce,2)===cu?(ye=cu,Ce+=2):(ye=r,Yt===0&&Ze(lp)),ye!==r&&(Rt=$,ye=cp()),$=ye,$===r&&($=Ce,t.substr(Ce,2)===Os?(ye=Os,Ce+=2):(ye=r,Yt===0&&Ze(Dn)),ye!==r&&(Rt=$,ye=oo()),$=ye,$===r&&($=Ce,t.substr(Ce,2)===Ms?(ye=Ms,Ce+=2):(ye=r,Yt===0&&Ze(ml)),ye!==r&&(Rt=$,ye=yl()),$=ye,$===r&&($=Ce,t.substr(Ce,2)===ao?(ye=ao,Ce+=2):(ye=r,Yt===0&&Ze(Vn)),ye!==r?(Le=Un(),Le!==r?(pt=Un(),pt!==r?(ht=Un(),ht!==r?(Tt=Un(),Tt!==r?(Rt=$,ye=On(Le,pt,ht,Tt),$=ye):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)):(Ce=$,$=r)))))))))),$}function Un(){var $;return Ni.test(t.charAt(Ce))?($=t.charAt(Ce),Ce++):($=r,Yt===0&&Ze(Mn)),$}function Sn(){var $,ye;if(Yt++,$=[],tr.test(t.charAt(Ce))?(ye=t.charAt(Ce),Ce++):(ye=r,Yt===0&&Ze(Oe)),ye!==r)for(;ye!==r;)$.push(ye),tr.test(t.charAt(Ce))?(ye=t.charAt(Ce),Ce++):(ye=r,Yt===0&&Ze(Oe));else $=r;return Yt--,$===r&&(ye=r,Yt===0&&Ze(_i)),$}function ys(){var $,ye;if(Yt++,$=[],Ma.test(t.charAt(Ce))?(ye=t.charAt(Ce),Ce++):(ye=r,Yt===0&&Ze(hr)),ye!==r)for(;ye!==r;)$.push(ye),Ma.test(t.charAt(Ce))?(ye=t.charAt(Ce),Ce++):(ye=r,Yt===0&&Ze(hr));else $=r;return Yt--,$===r&&(ye=r,Yt===0&&Ze(ii)),$}function We(){var $,ye,Le,pt,ht,Tt;if($=Ce,ye=tt(),ye!==r){for(Le=[],pt=Ce,ht=Sn(),ht===r&&(ht=null),ht!==r?(Tt=tt(),Tt!==r?(ht=[ht,Tt],pt=ht):(Ce=pt,pt=r)):(Ce=pt,pt=r);pt!==r;)Le.push(pt),pt=Ce,ht=Sn(),ht===r&&(ht=null),ht!==r?(Tt=tt(),Tt!==r?(ht=[ht,Tt],pt=ht):(Ce=pt,pt=r)):(Ce=pt,pt=r);Le!==r?(ye=[ye,Le],$=ye):(Ce=$,$=r)}else Ce=$,$=r;return $}function tt(){var $;return t.substr(Ce,2)===uc?($=uc,Ce+=2):($=r,Yt===0&&Ze(uu)),$===r&&(t.charCodeAt(Ce)===10?($=Ac,Ce++):($=r,Yt===0&&Ze(El)),$===r&&(t.charCodeAt(Ce)===13?($=DA,Ce++):($=r,Yt===0&&Ze(Au)))),$}let It=2,nr=0;if(Cl=a(),Cl!==r&&Ce===t.length)return Cl;throw Cl!==r&&Ce"u"?!0:typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.keys(t).every(e=>rV(t[e])):!1}function BT(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${eV(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let o=" ".repeat(e);return` +${t.map(n=>`${o}- ${BT(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[o,a]=t instanceof zD?[t.data,!1]:[t,!0],n=" ".repeat(e),u=Object.keys(o);a&&u.sort((p,h)=>{let E=$K.indexOf(p),I=$K.indexOf(h);return E===-1&&I===-1?ph?1:0:E!==-1&&I===-1?-1:E===-1&&I!==-1?1:E-I});let A=u.filter(p=>!rV(o[p])).map((p,h)=>{let E=o[p],I=eV(p),v=BT(E,e+1,!0),x=h>0||r?n:"",C=I.length>1024?`? ${I} +${x}:`:`${I}:`,R=v.startsWith(` +`)?v:` ${v}`;return`${x}${C}${R}`}).join(e===0?` +`:"")||` +`;return r?` +${A}`:`${A}`}throw new Error(`Unsupported value type (${t})`)}function Ba(t){try{let e=BT(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function V6e(t){return t.endsWith(` +`)||(t+=` +`),(0,tV.parse)(t)}function z6e(t){if(J6e.test(t))return V6e(t);let e=(0,XD.safeLoad)(t,{schema:XD.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 Ki(t){return z6e(t)}var XD,tV,K6e,$K,zD,J6e,nV=Et(()=>{XD=$e(zK()),tV=$e(ZK()),K6e=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,$K=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],zD=class{constructor(e){this.data=e}};Ba.PreserveOrdering=zD;J6e=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var rI={};Vt(rI,{parseResolution:()=>MD,parseShell:()=>ND,parseSyml:()=>Ki,stringifyArgument:()=>cT,stringifyArgumentSegment:()=>uT,stringifyArithmeticExpression:()=>OD,stringifyCommand:()=>lT,stringifyCommandChain:()=>uy,stringifyCommandChainThen:()=>aT,stringifyCommandLine:()=>LD,stringifyCommandLineThen:()=>oT,stringifyEnvSegment:()=>TD,stringifyRedirectArgument:()=>Jw,stringifyResolution:()=>UD,stringifyShell:()=>cy,stringifyShellLine:()=>cy,stringifySyml:()=>Ba,stringifyValueArgument:()=>Yg});var Nl=Et(()=>{rW();oW();nV()});var sV=_((Ext,vT)=>{"use strict";var X6e=t=>{let e=!1,r=!1,o=!1;for(let a=0;a{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=X6e(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};vT.exports=iV;vT.exports.default=iV});var oV=_((Cxt,Z6e)=>{Z6e.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 td=_(Xa=>{"use strict";var lV=oV(),qu=process.env;Object.defineProperty(Xa,"_vendors",{value:lV.map(function(t){return t.constant})});Xa.name=null;Xa.isPR=null;lV.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(o){return aV(o)});if(Xa[t.constant]=r,r)switch(Xa.name=t.name,typeof t.pr){case"string":Xa.isPR=!!qu[t.pr];break;case"object":"env"in t.pr?Xa.isPR=t.pr.env in qu&&qu[t.pr.env]!==t.pr.ne:"any"in t.pr?Xa.isPR=t.pr.any.some(function(o){return!!qu[o]}):Xa.isPR=aV(t.pr);break;default:Xa.isPR=null}});Xa.isCI=!!(qu.CI||qu.CONTINUOUS_INTEGRATION||qu.BUILD_NUMBER||qu.RUN_ID||Xa.name);function aV(t){return typeof t=="string"?!!qu[t]:Object.keys(t).every(function(e){return qu[e]===t[e]})}});var Hn,cn,rd,DT,ZD,cV,ST,PT,$D=Et(()=>{(function(t){t.StartOfInput="\0",t.EndOfInput="",t.EndOfPartialInput=""})(Hn||(Hn={}));(function(t){t[t.InitialNode=0]="InitialNode",t[t.SuccessNode=1]="SuccessNode",t[t.ErrorNode=2]="ErrorNode",t[t.CustomNode=3]="CustomNode"})(cn||(cn={}));rd=-1,DT=/^(-h|--help)(?:=([0-9]+))?$/,ZD=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,cV=/^-[a-zA-Z]{2,}$/,ST=/^([^=]+)=([\s\S]*)$/,PT=process.env.DEBUG_CLI==="1"});var it,yy,eS,bT,tS=Et(()=>{$D();it=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},yy=class extends Error{constructor(e,r){if(super(),this.input=e,this.candidates=r,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(o=>o.reason!==null&&o.reason===r[0].reason)){let[{reason:o}]=this.candidates;this.message=`${o} + +${this.candidates.map(({usage:a})=>`$ ${a}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:o}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${o} +${bT(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:o},a)=>`${`${a}.`.padStart(4)} ${o}`).join(` +`)} + +${bT(e)}`}},eS=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((o,a)=>`${`${a}.`.padStart(4)} ${o}`).join(` +`)} + +${bT(e)}`}},bT=t=>`While running ${t.filter(e=>e!==Hn.EndOfInput&&e!==Hn.EndOfPartialInput).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function $6e(t){let e=t.split(` +`),r=e.filter(a=>a.match(/\S/)),o=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(o).trimRight()).join(` +`)}function Do(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=$6e(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,(o,a)=>a||" "),r&&(t=t.split(/\n/).map(o=>{let a=o.match(/^\s*[*-][\t ]+(.*)/);if(!a)return o.match(/(.{1,80})(?: |$)/g).join(` +`);let n=o.length-o.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((u,A)=>" ".repeat(n)+(A===0?"- ":" ")+u).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(o,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(o,a,n)=>e.bold(a+n+a)),t?`${t} +`:""}var xT,uV,AV,kT=Et(()=>{xT=Array(80).fill("\u2501");for(let t=0;t<=24;++t)xT[xT.length-t]=`\x1B[38;5;${232+t}m\u2501`;uV={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<80-5?` ${xT.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},AV={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function Ko(t){return{...t,[nI]:!0}}function ju(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function rS(t,{mergeName:e=!1}={}){let r=t.match(/^([^:]+): (.*)$/m);if(!r)return"validation failed";let[,o,a]=r;return e&&(a=a[0].toLowerCase()+a.slice(1)),a=o!=="."||!e?`${o.replace(/^\.(\[|$)/,"$1")}: ${a}`:`: ${a}`,a}function iI(t,e){return e.length===1?new it(`${t}${rS(e[0],{mergeName:!0})}`):new it(`${t}: +${e.map(r=>` +- ${rS(r)}`).join("")}`)}function nd(t,e,r){if(typeof r>"u")return e;let o=[],a=[],n=A=>{let p=e;return e=A,n.bind(null,p)};if(!r(e,{errors:o,coercions:a,coercion:n}))throw iI(`Invalid value for ${t}`,o);for(let[,A]of a)A();return e}var nI,Ef=Et(()=>{tS();nI=Symbol("clipanion/isOption")});var Vo={};Vt(Vo,{KeyRelationship:()=>Gu,TypeAssertionError:()=>Kp,applyCascade:()=>aI,as:()=>yqe,assert:()=>gqe,assertWithErrors:()=>dqe,cascade:()=>oS,fn:()=>Eqe,hasAtLeastOneKey:()=>OT,hasExactLength:()=>dV,hasForbiddenKeys:()=>Mqe,hasKeyRelationship:()=>cI,hasMaxLength:()=>wqe,hasMinLength:()=>Cqe,hasMutuallyExclusiveKeys:()=>Uqe,hasRequiredKeys:()=>Oqe,hasUniqueItems:()=>Iqe,isArray:()=>nS,isAtLeast:()=>NT,isAtMost:()=>Dqe,isBase64:()=>Rqe,isBoolean:()=>aqe,isDate:()=>cqe,isDict:()=>fqe,isEnum:()=>Ks,isHexColor:()=>Fqe,isISO8601:()=>Qqe,isInExclusiveRange:()=>Pqe,isInInclusiveRange:()=>Sqe,isInstanceOf:()=>hqe,isInteger:()=>LT,isJSON:()=>Tqe,isLiteral:()=>pV,isLowerCase:()=>bqe,isMap:()=>Aqe,isNegative:()=>Bqe,isNullable:()=>Lqe,isNumber:()=>RT,isObject:()=>hV,isOneOf:()=>TT,isOptional:()=>Nqe,isPartial:()=>pqe,isPayload:()=>lqe,isPositive:()=>vqe,isRecord:()=>sS,isSet:()=>uqe,isString:()=>Cy,isTuple:()=>iS,isUUID4:()=>kqe,isUnknown:()=>FT,isUpperCase:()=>xqe,makeTrait:()=>gV,makeValidator:()=>Hr,matchesRegExp:()=>oI,softAssert:()=>mqe});function qn(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":typeof t=="symbol"?`<${t.toString()}>`:Array.isArray(t)?"an array":JSON.stringify(t)}function Ey(t,e){if(t.length===0)return"nothing";if(t.length===1)return qn(t[0]);let r=t.slice(0,-1),o=t[t.length-1],a=t.length>2?`, ${e} `:` ${e} `;return`${r.map(n=>qn(n)).join(", ")}${a}${qn(o)}`}function Wp(t,e){var r,o,a;return typeof e=="number"?`${(r=t?.p)!==null&&r!==void 0?r:"."}[${e}]`:eqe.test(e)?`${(o=t?.p)!==null&&o!==void 0?o:""}.${e}`:`${(a=t?.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function QT(t,e,r){return t===1?e:r}function pr({errors:t,p:e}={},r){return t?.push(`${e??"."}: ${r}`),!1}function sqe(t,e){return r=>{t[e]=r}}function Yu(t,e){return r=>{let o=t[e];return t[e]=r,Yu(t,e).bind(null,o)}}function sI(t,e,r){let o=()=>(t(r()),a),a=()=>(t(e),o);return o}function FT(){return Hr({test:(t,e)=>!0})}function pV(t){return Hr({test:(e,r)=>e!==t?pr(r,`Expected ${qn(t)} (got ${qn(e)})`):!0})}function Cy(){return Hr({test:(t,e)=>typeof t!="string"?pr(e,`Expected a string (got ${qn(t)})`):!0})}function Ks(t){let e=Array.isArray(t)?t:Object.values(t),r=e.every(a=>typeof a=="string"||typeof a=="number"),o=new Set(e);return o.size===1?pV([...o][0]):Hr({test:(a,n)=>o.has(a)?!0:r?pr(n,`Expected one of ${Ey(e,"or")} (got ${qn(a)})`):pr(n,`Expected a valid enumeration value (got ${qn(a)})`)})}function aqe(){return Hr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return pr(e,"Unbound coercion result");let o=oqe.get(t);if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return pr(e,`Expected a boolean (got ${qn(t)})`)}return!0}})}function RT(){return Hr({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return pr(e,"Unbound coercion result");let o;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)o=a;else return pr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return pr(e,`Expected a number (got ${qn(t)})`)}return!0}})}function lqe(t){return Hr({test:(e,r)=>{var o;if(typeof r?.coercions>"u")return pr(r,"The isPayload predicate can only be used with coercion enabled");if(typeof r.coercion>"u")return pr(r,"Unbound coercion result");if(typeof e!="string")return pr(r,`Expected a string (got ${qn(e)})`);let a;try{a=JSON.parse(e)}catch{return pr(r,`Expected a JSON string (got ${qn(e)})`)}let n={value:a};return t(a,Object.assign(Object.assign({},r),{coercion:Yu(n,"value")}))?(r.coercions.push([(o=r.p)!==null&&o!==void 0?o:".",r.coercion.bind(null,n.value)]),!0):!1}})}function cqe(){return Hr({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return pr(e,"Unbound coercion result");let o;if(typeof t=="string"&&fV.test(t))o=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))o=new Date(a*1e3);else return pr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return pr(e,`Expected a date (got ${qn(t)})`)}return!0}})}function nS(t,{delimiter:e}={}){return Hr({test:(r,o)=>{var a;let n=r;if(typeof r=="string"&&typeof e<"u"&&typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return pr(o,"Unbound coercion result");r=r.split(e)}if(!Array.isArray(r))return pr(o,`Expected an array (got ${qn(r)})`);let u=!0;for(let A=0,p=r.length;A{var n,u;if(Object.getPrototypeOf(o).toString()==="[object Set]")if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");let A=[...o],p=[...o];if(!r(p,Object.assign(Object.assign({},a),{coercion:void 0})))return!1;let h=()=>p.some((E,I)=>E!==A[I])?new Set(p):o;return a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",sI(a.coercion,o,h)]),!0}else{let A=!0;for(let p of o)if(A=t(p,Object.assign({},a))&&A,!A&&a?.errors==null)break;return A}if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");let A={value:o};return r(o,Object.assign(Object.assign({},a),{coercion:Yu(A,"value")}))?(a.coercions.push([(u=a.p)!==null&&u!==void 0?u:".",sI(a.coercion,o,()=>new Set(A.value))]),!0):!1}return pr(a,`Expected a set (got ${qn(o)})`)}})}function Aqe(t,e){let r=nS(iS([t,e])),o=sS(e,{keys:t});return Hr({test:(a,n)=>{var u,A,p;if(Object.getPrototypeOf(a).toString()==="[object Map]")if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return pr(n,"Unbound coercion result");let h=[...a],E=[...a];if(!r(E,Object.assign(Object.assign({},n),{coercion:void 0})))return!1;let I=()=>E.some((v,x)=>v[0]!==h[x][0]||v[1]!==h[x][1])?new Map(E):a;return n.coercions.push([(u=n.p)!==null&&u!==void 0?u:".",sI(n.coercion,a,I)]),!0}else{let h=!0;for(let[E,I]of a)if(h=t(E,Object.assign({},n))&&h,!h&&n?.errors==null||(h=e(I,Object.assign(Object.assign({},n),{p:Wp(n,E)}))&&h,!h&&n?.errors==null))break;return h}if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return pr(n,"Unbound coercion result");let h={value:a};return Array.isArray(a)?r(a,Object.assign(Object.assign({},n),{coercion:void 0}))?(n.coercions.push([(A=n.p)!==null&&A!==void 0?A:".",sI(n.coercion,a,()=>new Map(h.value))]),!0):!1:o(a,Object.assign(Object.assign({},n),{coercion:Yu(h,"value")}))?(n.coercions.push([(p=n.p)!==null&&p!==void 0?p:".",sI(n.coercion,a,()=>new Map(Object.entries(h.value)))]),!0):!1}return pr(n,`Expected a map (got ${qn(a)})`)}})}function iS(t,{delimiter:e}={}){let r=dV(t.length);return Hr({test:(o,a)=>{var n;if(typeof o=="string"&&typeof e<"u"&&typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");o=o.split(e),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)])}if(!Array.isArray(o))return pr(a,`Expected a tuple (got ${qn(o)})`);let u=r(o,Object.assign({},a));for(let A=0,p=o.length;A{var n;if(Array.isArray(o)&&typeof a?.coercions<"u")return typeof a?.coercion>"u"?pr(a,"Unbound coercion result"):r(o,Object.assign(Object.assign({},a),{coercion:void 0}))?(o=Object.fromEntries(o),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)]),!0):!1;if(typeof o!="object"||o===null)return pr(a,`Expected an object (got ${qn(o)})`);let u=Object.keys(o),A=!0;for(let p=0,h=u.length;p{if(typeof a!="object"||a===null)return pr(n,`Expected an object (got ${qn(a)})`);let u=new Set([...r,...Object.keys(a)]),A={},p=!0;for(let h of u){if(h==="constructor"||h==="__proto__")p=pr(Object.assign(Object.assign({},n),{p:Wp(n,h)}),"Unsafe property name");else{let E=Object.prototype.hasOwnProperty.call(t,h)?t[h]:void 0,I=Object.prototype.hasOwnProperty.call(a,h)?a[h]:void 0;typeof E<"u"?p=E(I,Object.assign(Object.assign({},n),{p:Wp(n,h),coercion:Yu(a,h)}))&&p:e===null?p=pr(Object.assign(Object.assign({},n),{p:Wp(n,h)}),`Extraneous property (got ${qn(I)})`):Object.defineProperty(A,h,{enumerable:!0,get:()=>I,set:sqe(a,h)})}if(!p&&n?.errors==null)break}return e!==null&&(p||n?.errors!=null)&&(p=e(A,n)&&p),p}});return Object.assign(o,{properties:t})}function pqe(t){return hV(t,{extra:sS(FT())})}function gV(t){return()=>t}function Hr({test:t}){return gV(t)()}function gqe(t,e){if(!e(t))throw new Kp}function dqe(t,e){let r=[];if(!e(t,{errors:r}))throw new Kp({errors:r})}function mqe(t,e){}function yqe(t,e,{coerce:r=!1,errors:o,throw:a}={}){let n=o?[]:void 0;if(!r){if(e(t,{errors:n}))return a?t:{value:t,errors:void 0};if(a)throw new Kp({errors:n});return{value:void 0,errors:n??!0}}let u={value:t},A=Yu(u,"value"),p=[];if(!e(t,{errors:n,coercion:A,coercions:p})){if(a)throw new Kp({errors:n});return{value:void 0,errors:n??!0}}for(let[,h]of p)h();return a?u.value:{value:u.value,errors:void 0}}function Eqe(t,e){let r=iS(t);return(...o)=>{if(!r(o))throw new Kp;return e(...o)}}function Cqe(t){return Hr({test:(e,r)=>e.length>=t?!0:pr(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)})}function wqe(t){return Hr({test:(e,r)=>e.length<=t?!0:pr(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)})}function dV(t){return Hr({test:(e,r)=>e.length!==t?pr(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0})}function Iqe({map:t}={}){return Hr({test:(e,r)=>{let o=new Set,a=new Set;for(let n=0,u=e.length;nt<=0?!0:pr(e,`Expected to be negative (got ${t})`)})}function vqe(){return Hr({test:(t,e)=>t>=0?!0:pr(e,`Expected to be positive (got ${t})`)})}function NT(t){return Hr({test:(e,r)=>e>=t?!0:pr(r,`Expected to be at least ${t} (got ${e})`)})}function Dqe(t){return Hr({test:(e,r)=>e<=t?!0:pr(r,`Expected to be at most ${t} (got ${e})`)})}function Sqe(t,e){return Hr({test:(r,o)=>r>=t&&r<=e?!0:pr(o,`Expected to be in the [${t}; ${e}] range (got ${r})`)})}function Pqe(t,e){return Hr({test:(r,o)=>r>=t&&re!==Math.round(e)?pr(r,`Expected to be an integer (got ${e})`):!t&&!Number.isSafeInteger(e)?pr(r,`Expected to be a safe integer (got ${e})`):!0})}function oI(t){return Hr({test:(e,r)=>t.test(e)?!0:pr(r,`Expected to match the pattern ${t.toString()} (got ${qn(e)})`)})}function bqe(){return Hr({test:(t,e)=>t!==t.toLowerCase()?pr(e,`Expected to be all-lowercase (got ${t})`):!0})}function xqe(){return Hr({test:(t,e)=>t!==t.toUpperCase()?pr(e,`Expected to be all-uppercase (got ${t})`):!0})}function kqe(){return Hr({test:(t,e)=>iqe.test(t)?!0:pr(e,`Expected to be a valid UUID v4 (got ${qn(t)})`)})}function Qqe(){return Hr({test:(t,e)=>fV.test(t)?!0:pr(e,`Expected to be a valid ISO 8601 date string (got ${qn(t)})`)})}function Fqe({alpha:t=!1}){return Hr({test:(e,r)=>(t?tqe.test(e):rqe.test(e))?!0:pr(r,`Expected to be a valid hexadecimal color string (got ${qn(e)})`)})}function Rqe(){return Hr({test:(t,e)=>nqe.test(t)?!0:pr(e,`Expected to be a valid base 64 string (got ${qn(t)})`)})}function Tqe(t=FT()){return Hr({test:(e,r)=>{let o;try{o=JSON.parse(e)}catch{return pr(r,`Expected to be a valid JSON string (got ${qn(e)})`)}return t(o,r)}})}function oS(t,...e){let r=Array.isArray(e[0])?e[0]:e;return Hr({test:(o,a)=>{var n,u;let A={value:o},p=typeof a?.coercions<"u"?Yu(A,"value"):void 0,h=typeof a?.coercions<"u"?[]:void 0;if(!t(o,Object.assign(Object.assign({},a),{coercion:p,coercions:h})))return!1;let E=[];if(typeof h<"u")for(let[,I]of h)E.push(I());try{if(typeof a?.coercions<"u"){if(A.value!==o){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,A.value)])}(u=a?.coercions)===null||u===void 0||u.push(...h)}return r.every(I=>I(A.value,a))}finally{for(let I of E)I()}}})}function aI(t,...e){let r=Array.isArray(e[0])?e[0]:e;return oS(t,r)}function Nqe(t){return Hr({test:(e,r)=>typeof e>"u"?!0:t(e,r)})}function Lqe(t){return Hr({test:(e,r)=>e===null?!0:t(e,r)})}function Oqe(t,e){var r;let o=new Set(t),a=lI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)||p.push(h);return p.length>0?pr(u,`Missing required ${QT(p.length,"property","properties")} ${Ey(p,"and")}`):!0}})}function OT(t,e){var r;let o=new Set(t),a=lI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>Object.keys(n).some(h=>a(o,h,n))?!0:pr(u,`Missing at least one property from ${Ey(Array.from(o),"or")}`)})}function Mqe(t,e){var r;let o=new Set(t),a=lI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>0?pr(u,`Forbidden ${QT(p.length,"property","properties")} ${Ey(p,"and")}`):!0}})}function Uqe(t,e){var r;let o=new Set(t),a=lI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>1?pr(u,`Mutually exclusive properties ${Ey(p,"and")}`):!0}})}function cI(t,e,r,o){var a,n;let u=new Set((a=o?.ignore)!==null&&a!==void 0?a:[]),A=lI[(n=o?.missingIf)!==null&&n!==void 0?n:"missing"],p=new Set(r),h=_qe[e],E=e===Gu.Forbids?"or":"and";return Hr({test:(I,v)=>{let x=new Set(Object.keys(I));if(!A(x,t,I)||u.has(I[t]))return!0;let C=[];for(let R of p)(A(x,R,I)&&!u.has(I[R]))!==h.expect&&C.push(R);return C.length>=1?pr(v,`Property "${t}" ${h.message} ${QT(C.length,"property","properties")} ${Ey(C,E)}`):!0}})}var eqe,tqe,rqe,nqe,iqe,fV,oqe,hqe,TT,Kp,lI,Gu,_qe,Za=Et(()=>{eqe=/^[a-zA-Z_][a-zA-Z0-9_]*$/;tqe=/^#[0-9a-f]{6}$/i,rqe=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,nqe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,iqe=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,fV=/^(?:[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)?)$/;oqe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]);hqe=t=>Hr({test:(e,r)=>e instanceof t?!0:pr(r,`Expected an instance of ${t.name} (got ${qn(e)})`)}),TT=(t,{exclusive:e=!1}={})=>Hr({test:(r,o)=>{var a,n,u;let A=[],p=typeof o?.errors<"u"?[]:void 0;for(let h=0,E=t.length;h1?pr(o,`Expected to match exactly a single predicate (matched ${A.join(", ")})`):(u=o?.errors)===null||u===void 0||u.push(...p),!1}});Kp=class extends Error{constructor({errors:e}={}){let r="Type mismatch";if(e&&e.length>0){r+=` +`;for(let o of e)r+=` +- ${o}`}super(r)}};lI={missing:(t,e)=>t.has(e),undefined:(t,e,r)=>t.has(e)&&typeof r[e]<"u",nil:(t,e,r)=>t.has(e)&&r[e]!=null,falsy:(t,e,r)=>t.has(e)&&!!r[e]};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Gu||(Gu={}));_qe={[Gu.Forbids]:{expect:!1,message:"forbids using"},[Gu.Requires]:{expect:!0,message:"requires using"}}});var nt,Vp=Et(()=>{Ef();nt=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:u}=await Promise.resolve().then(()=>(Za(),Vo)),A=u(a(n()),r),p=[],h=[];if(!A(this,{errors:p,coercions:h}))throw iI("Invalid option schema",p);for(let[,I]of h)I()}else if(r!=null)throw new Error("Invalid command schema");let o=await this.execute();return typeof o<"u"?o:0}};nt.isOption=nI;nt.Default=[]});function va(t){PT&&console.log(t)}function yV(){let t={nodes:[]};for(let e=0;e{if(e.has(o))return;e.add(o);let a=t.nodes[o];for(let u of Object.values(a.statics))for(let{to:A}of u)r(A);for(let[,{to:u}]of a.dynamics)r(u);for(let{to:u}of a.shortcuts)r(u);let n=new Set(a.shortcuts.map(({to:u})=>u));for(;a.shortcuts.length>0;){let{to:u}=a.shortcuts.shift(),A=t.nodes[u];for(let[p,h]of Object.entries(A.statics)){let E=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let I of h)E.some(({to:v})=>I.to===v)||E.push(I)}for(let[p,h]of A.dynamics)a.dynamics.some(([E,{to:I}])=>p===E&&h.to===I)||a.dynamics.push([p,h]);for(let p of A.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(cn.InitialNode)}function jqe(t,{prefix:e=""}={}){if(PT){va(`${e}Nodes are:`);for(let r=0;rE!==cn.ErrorNode).map(({state:E})=>({usage:E.candidateUsage,reason:null})));if(h.every(({node:E})=>E===cn.ErrorNode))throw new yy(e,h.map(({state:E})=>({usage:E.candidateUsage,reason:E.errorMessage})));o=Wqe(h)}if(o.length>0){va(" Results:");for(let n of o)va(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else va(" No results");return o}function Yqe(t,e,{endToken:r=Hn.EndOfInput}={}){let o=Gqe(t,[...e,r]);return Kqe(e,o.map(({state:a})=>a))}function Wqe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function Kqe(t,e){let r=e.filter(v=>v.selectedIndex!==null),o=r.filter(v=>!v.partial);if(o.length>0&&(r=o),r.length===0)throw new Error;let a=r.filter(v=>v.selectedIndex===rd||v.requiredOptions.every(x=>x.some(C=>v.options.find(R=>R.name===C))));if(a.length===0)throw new yy(t,r.map(v=>({usage:v.candidateUsage,reason:null})));let n=0;for(let v of a)v.path.length>n&&(n=v.path.length);let u=a.filter(v=>v.path.length===n),A=v=>v.positionals.filter(({extra:x})=>!x).length+v.options.length,p=u.map(v=>({state:v,positionalCount:A(v)})),h=0;for(let{positionalCount:v}of p)v>h&&(h=v);let E=p.filter(({positionalCount:v})=>v===h).map(({state:v})=>v),I=Vqe(E);if(I.length>1)throw new eS(t,I.map(v=>v.candidateUsage));return I[0]}function Vqe(t){let e=[],r=[];for(let o of t)o.selectedIndex===rd?r.push(o):e.push(o);return r.length>0&&e.push({...mV,path:EV(...r.map(o=>o.path)),options:r.reduce((o,a)=>o.concat(a.options),[])}),e}function EV(t,e,...r){return e===void 0?Array.from(t):EV(t.filter((o,a)=>o===e[a]),...r)}function $a(){return{dynamics:[],shortcuts:[],statics:{}}}function CV(t){return t===cn.SuccessNode||t===cn.ErrorNode}function MT(t,e=0){return{to:CV(t.to)?t.to:t.to>=cn.CustomNode?t.to+e-cn.CustomNode+1:t.to+e,reducer:t.reducer}}function Jqe(t,e=0){let r=$a();for(let[o,a]of t.dynamics)r.dynamics.push([o,MT(a,e)]);for(let o of t.shortcuts)r.shortcuts.push(MT(o,e));for(let[o,a]of Object.entries(t.statics))r.statics[o]=a.map(n=>MT(n,e));return r}function Ps(t,e,r,o,a){t.nodes[e].dynamics.push([r,{to:o,reducer:a}])}function wy(t,e,r,o){t.nodes[e].shortcuts.push({to:r,reducer:o})}function Jo(t,e,r,o,a){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:o,reducer:a})}function aS(t,e,r,o,a){if(Array.isArray(e)){let[n,...u]=e;return t[n](r,o,a,...u)}else return t[e](r,o,a)}var mV,zqe,UT,el,_T,Iy,lS=Et(()=>{$D();tS();mV={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:rd,partial:!1,tokens:[]};zqe={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,o)=>!t.ignoreOptions&&e===o,isBatchOption:(t,e,r,o)=>!t.ignoreOptions&&cV.test(e)&&[...e.slice(1)].every(a=>o.has(`-${a}`)),isBoundOption:(t,e,r,o,a)=>{let n=e.match(ST);return!t.ignoreOptions&&!!n&&ZD.test(n[1])&&o.has(n[1])&&a.filter(u=>u.nameSet.includes(n[1])).every(u=>u.allowBinding)},isNegatedOption:(t,e,r,o)=>!t.ignoreOptions&&e===`--no-${o.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&DT.test(e),isUnsupportedOption:(t,e,r,o)=>!t.ignoreOptions&&e.startsWith("-")&&ZD.test(e)&&!o.has(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!ZD.test(e)},UT={setCandidateState:(t,e,r,o)=>({...t,...o}),setSelectedIndex:(t,e,r,o)=>({...t,selectedIndex:o}),setPartialIndex:(t,e,r,o)=>({...t,selectedIndex:o,partial:!0}),pushBatch:(t,e,r,o)=>{let a=t.options.slice(),n=t.tokens.slice();for(let u=1;u{let[,o,a]=e.match(ST),n=t.options.concat({name:o,value:a}),u=t.tokens.concat([{segmentIndex:r,type:"option",slice:[0,o.length],option:o},{segmentIndex:r,type:"assign",slice:[o.length,o.length+1]},{segmentIndex:r,type:"value",slice:[o.length+1,o.length+a.length+1]}]);return{...t,options:n,tokens:u}},pushPath:(t,e,r)=>{let o=t.path.concat(e),a=t.tokens.concat({segmentIndex:r,type:"path"});return{...t,path:o,tokens:a}},pushPositional:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:!1}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushExtra:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:!0}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushExtraNoLimits:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:el}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushTrue:(t,e,r,o)=>{let a=t.options.concat({name:o,value:!0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:o});return{...t,options:a,tokens:n}},pushFalse:(t,e,r,o)=>{let a=t.options.concat({name:o,value:!1}),n=t.tokens.concat({segmentIndex:r,type:"option",option:o});return{...t,options:a,tokens:n}},pushUndefined:(t,e,r,o)=>{let a=t.options.concat({name:e,value:void 0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:e});return{...t,options:a,tokens:n}},pushStringValue:(t,e,r)=>{var o;let a=t.options[t.options.length-1],n=t.options.slice(),u=t.tokens.concat({segmentIndex:r,type:"value"});return a.value=((o=a.value)!==null&&o!==void 0?o:[]).concat([e]),{...t,options:n,tokens:u}},setStringValue:(t,e,r)=>{let o=t.options[t.options.length-1],a=t.options.slice(),n=t.tokens.concat({segmentIndex:r,type:"value"});return o.value=e,{...t,options:a,tokens:n}},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r,o)=>{let[,,a]=e.match(DT);return typeof a<"u"?{...t,options:[{name:"-c",value:String(o)},{name:"-i",value:a}]}:{...t,options:[{name:"-c",value:String(o)}]}},setError:(t,e,r,o)=>e===Hn.EndOfInput||e===Hn.EndOfPartialInput?{...t,errorMessage:`${o}.`}:{...t,errorMessage:`${o} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},el=Symbol(),_T=class{constructor(e,r){this.allOptionNames=new Map,this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:o=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:o,proxy:a})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===el)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==el?this.arity.extra.push(e):this.arity.extra!==el&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===el)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 o=0;o1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(o))throw new Error(`The arity must be an integer, got ${o}`);if(o<0)throw new Error(`The arity must be positive, got ${o}`);let A=e.reduce((p,h)=>h.length>p.length?h:p,"");for(let p of e)this.allOptionNames.set(p,A);this.options.push({preferredName:A,nameSet:e,description:r,arity:o,hidden:a,required:n,allowBinding:u})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let o=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&o.push(...this.paths[0]),e){for(let{preferredName:u,nameSet:A,arity:p,hidden:h,description:E,required:I}of this.options){if(h)continue;let v=[];for(let C=0;C`:`[${x}]`)}o.push(...this.arity.leading.map(u=>`<${u}>`)),this.arity.extra===el?o.push("..."):o.push(...this.arity.extra.map(u=>`[${u}]`)),o.push(...this.arity.trailing.map(u=>`<${u}>`))}return{usage:o.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=yV(),r=cn.InitialNode,o=this.usage().usage,a=this.options.filter(A=>A.required).map(A=>A.nameSet);r=Oc(e,$a()),Jo(e,cn.InitialNode,Hn.StartOfInput,r,["setCandidateState",{candidateUsage:o,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",u=this.paths.length>0?this.paths:[[]];for(let A of u){let p=r;if(A.length>0){let v=Oc(e,$a());wy(e,p,v),this.registerOptions(e,v),p=v}for(let v=0;v0||!this.arity.proxy){let v=Oc(e,$a());Ps(e,p,"isHelp",v,["useHelp",this.cliIndex]),Ps(e,v,"always",v,"pushExtra"),Jo(e,v,Hn.EndOfInput,cn.SuccessNode,["setSelectedIndex",rd]),this.registerOptions(e,p)}this.arity.leading.length>0&&(Jo(e,p,Hn.EndOfInput,cn.ErrorNode,["setError","Not enough positional arguments"]),Jo(e,p,Hn.EndOfPartialInput,cn.SuccessNode,["setPartialIndex",this.cliIndex]));let h=p;for(let v=0;v0||v+1!==this.arity.leading.length)&&(Jo(e,x,Hn.EndOfInput,cn.ErrorNode,["setError","Not enough positional arguments"]),Jo(e,x,Hn.EndOfPartialInput,cn.SuccessNode,["setPartialIndex",this.cliIndex])),Ps(e,h,"isNotOptionLike",x,"pushPositional"),h=x}let E=h;if(this.arity.extra===el||this.arity.extra.length>0){let v=Oc(e,$a());if(wy(e,h,v),this.arity.extra===el){let x=Oc(e,$a());this.arity.proxy||this.registerOptions(e,x),Ps(e,h,n,x,"pushExtraNoLimits"),Ps(e,x,n,x,"pushExtraNoLimits"),wy(e,x,v)}else for(let x=0;x0)&&this.registerOptions(e,C),Ps(e,E,n,C,"pushExtra"),wy(e,C,v),E=C}E=v}this.arity.trailing.length>0&&(Jo(e,E,Hn.EndOfInput,cn.ErrorNode,["setError","Not enough positional arguments"]),Jo(e,E,Hn.EndOfPartialInput,cn.SuccessNode,["setPartialIndex",this.cliIndex]));let I=E;for(let v=0;v=0&&e{let u=n?Hn.EndOfPartialInput:Hn.EndOfInput;return Yqe(o,a,{endToken:u})}}}}});function IV(){return cS.default&&"getColorDepth"in cS.default.WriteStream.prototype?cS.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function BV(t){let e=wV;if(typeof e>"u"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=ve("async_hooks");e=wV=new r;let o=process.stdout._write;process.stdout._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?o.call(this,n,u,A):p.stdout.write(n,u,A)};let a=process.stderr._write;process.stderr._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?a.call(this,n,u,A):p.stderr.write(n,u,A)}}return r=>e.run(t,r)}var cS,wV,vV=Et(()=>{cS=$e(ve("tty"),1)});var By,DV=Et(()=>{Vp();By=class extends nt{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,r){let o=new By(r);o.path=e.path;for(let a of e.options)switch(a.name){case"-c":o.commands.push(Number(a.value));break;case"-i":o.index=Number(a.value);break}return o}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let o of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[o].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}}});async function bV(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=kV(t);return as.from(r,e).runExit(o,a)}async function xV(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=kV(t);return as.from(r,e).run(o,a)}function kV(t){let e,r,o,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(o=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof nt||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?o=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],o=t[2]):t[0]&&t[0].prototype instanceof nt||Array.isArray(t[0])?(r=t[0],o=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],o=t[2],a=t[3];break}if(typeof o>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}}function PV(t){return t()}var SV,as,QV=Et(()=>{$D();lS();kT();vV();Vp();DV();SV=Symbol("clipanion/errorCommand");as=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:o,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new Iy({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=o,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let o=new as(r),a=Array.isArray(e)?e:[e];for(let n of a)o.register(n);return o}register(e){var r;let o=new Map,a=new e;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[nt.isOption]&&o.set(p,h)}let n=this.builder.command(),u=n.cliIndex,A=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof A<"u")for(let p of A)n.addPath(p);this.registrations.set(e,{specs:o,builder:n,index:u});for(let[p,{definition:h}]of o.entries())h(n,p);n.setContext({commandClass:e})}process(e,r){let{input:o,context:a,partial:n}=typeof e=="object"&&Array.isArray(e)?{input:e,context:r}:e,{contexts:u,process:A}=this.builder.compile(),p=A(o,{partial:n}),h={...as.defaultContext,...a};switch(p.selectedIndex){case rd:{let E=By.from(p,u);return E.context=h,E.tokens=p.tokens,E}default:{let{commandClass:E}=u[p.selectedIndex],I=this.registrations.get(E);if(typeof I>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let v=new E;v.context=h,v.tokens=p.tokens,v.path=p.path;try{for(let[x,{transformer:C}]of I.specs.entries())v[x]=C(I.builder,x,p,h);return v}catch(x){throw x[SV]=v,x}}break}}async run(e,r){var o,a;let n,u={...as.defaultContext,...r},A=(o=this.enableColors)!==null&&o!==void 0?o:u.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,u)}catch(E){return u.stdout.write(this.error(E,{colored:A})),1}if(n.help)return u.stdout.write(this.usage(n,{colored:A,detailed:!0})),0;n.context=u,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),definition:E=>this.definition(E),error:(E,I)=>this.error(E,I),format:E=>this.format(E),process:(E,I)=>this.process(E,{...u,...I}),run:(E,I)=>this.run(E,{...u,...I}),usage:(E,I)=>this.usage(E,I)};let p=this.enableCapture&&(a=BV(u))!==null&&a!==void 0?a:PV,h;try{h=await p(()=>n.validateAndExecute().catch(E=>n.catch(E).then(()=>0)))}catch(E){return u.stdout.write(this.error(E,{colored:A,command:n})),1}return h}async runExit(e,r){process.exitCode=await this.run(e,r)}definition(e,{colored:r=!1}={}){if(!e.usage)return null;let{usage:o}=this.getUsageByRegistration(e,{detailed:!1}),{usage:a,options:n}=this.getUsageByRegistration(e,{detailed:!0,inlineOptions:!1}),u=typeof e.usage.category<"u"?Do(e.usage.category,{format:this.format(r),paragraphs:!1}):void 0,A=typeof e.usage.description<"u"?Do(e.usage.description,{format:this.format(r),paragraphs:!1}):void 0,p=typeof e.usage.details<"u"?Do(e.usage.details,{format:this.format(r),paragraphs:!0}):void 0,h=typeof e.usage.examples<"u"?e.usage.examples.map(([E,I])=>[Do(E,{format:this.format(r),paragraphs:!1}),I.replace(/\$0/g,this.binaryName)]):void 0;return{path:o,usage:a,category:u,description:A,details:p,examples:h,options:n}}definitions({colored:e=!1}={}){let r=[];for(let o of this.registrations.keys()){let a=this.definition(o,{colored:e});!a||r.push(a)}return r}usage(e=null,{colored:r,detailed:o=!1,prefix:a="$ "}={}){var n;if(e===null){for(let p of this.registrations.keys()){let h=p.paths,E=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h?.some(x=>x.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=p;else if(E){e=null;continue}}e&&(o=!0)}let u=e!==null&&e instanceof nt?e.constructor:e,A="";if(u)if(o){let{description:p="",details:h="",examples:E=[]}=u.usage||{};p!==""&&(A+=Do(p,{format:this.format(r),paragraphs:!1}).replace(/^./,x=>x.toUpperCase()),A+=` +`),(h!==""||E.length>0)&&(A+=`${this.format(r).header("Usage")} +`,A+=` +`);let{usage:I,options:v}=this.getUsageByRegistration(u,{inlineOptions:!1});if(A+=`${this.format(r).bold(a)}${I} +`,v.length>0){A+=` +`,A+=`${this.format(r).header("Options")} +`;let x=v.reduce((C,R)=>Math.max(C,R.definition.length),0);A+=` +`;for(let{definition:C,description:R}of v)A+=` ${this.format(r).bold(C.padEnd(x))} ${Do(R,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(A+=` +`,A+=`${this.format(r).header("Details")} +`,A+=` +`,A+=Do(h,{format:this.format(r),paragraphs:!0})),E.length>0){A+=` +`,A+=`${this.format(r).header("Examples")} +`;for(let[x,C]of E)A+=` +`,A+=Do(x,{format:this.format(r),paragraphs:!1}),A+=`${C.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:p}=this.getUsageByRegistration(u);A+=`${this.format(r).bold(a)}${p} +`}else{let p=new Map;for(let[v,{index:x}]of this.registrations.entries()){if(typeof v.usage>"u")continue;let C=typeof v.usage.category<"u"?Do(v.usage.category,{format:this.format(r),paragraphs:!1}):null,R=p.get(C);typeof R>"u"&&p.set(C,R=[]);let{usage:L}=this.getUsageByIndex(x);R.push({commandClass:v,usage:L})}let h=Array.from(p.keys()).sort((v,x)=>v===null?-1:x===null?1:v.localeCompare(x,"en",{usage:"sort",caseFirst:"upper"})),E=typeof this.binaryLabel<"u",I=typeof this.binaryVersion<"u";E||I?(E&&I?A+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:E?A+=`${this.format(r).header(`${this.binaryLabel}`)} +`:A+=`${this.format(r).header(`${this.binaryVersion}`)} +`,A+=` ${this.format(r).bold(a)}${this.binaryName} +`):A+=`${this.format(r).bold(a)}${this.binaryName} +`;for(let v of h){let x=p.get(v).slice().sort((R,L)=>R.usage.localeCompare(L.usage,"en",{usage:"sort",caseFirst:"upper"})),C=v!==null?v.trim():"General commands";A+=` +`,A+=`${this.format(r).header(`${C}`)} +`;for(let{commandClass:R,usage:L}of x){let U=R.usage.description||"undocumented";A+=` +`,A+=` ${this.format(r).bold(L)} +`,A+=` ${Do(U,{format:this.format(r),paragraphs:!1})}`}}A+=` +`,A+=Do("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(r),paragraphs:!0})}return A}error(e,r){var o,{colored:a,command:n=(o=e[SV])!==null&&o!==void 0?o:null}=r===void 0?{}:r;(!e||typeof e!="object"||!("stack"in e))&&(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let u="",A=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");A==="Error"&&(A="Internal Error"),u+=`${this.format(a).error(A)}: ${e.message} +`;let p=e.clipanion;return typeof p<"u"?p.type==="usage"&&(u+=` +`,u+=this.usage(n)):e.stack&&(u+=`${e.stack.replace(/^.*\n/,"")} +`),u}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:as.defaultContext.colorDepth>1)?uV:AV}getUsageByRegistration(e,r){let o=this.registrations.get(e);if(typeof o>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(o.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};as.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:IV()}});var uI,FV=Et(()=>{Vp();uI=class extends nt{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};uI.paths=[["--clipanion=definitions"]]});var AI,RV=Et(()=>{Vp();AI=class extends nt{async execute(){this.context.stdout.write(this.cli.usage())}};AI.paths=[["-h"],["--help"]]});function uS(t={}){return Ko({definition(e,r){var o;e.addProxy({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){return o.positionals.map(({value:a})=>a)}})}var HT=Et(()=>{Ef()});var fI,TV=Et(()=>{Vp();HT();fI=class extends nt{constructor(){super(...arguments),this.args=uS()}async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.process(this.args).tokens,null,2)} +`)}};fI.paths=[["--clipanion=tokens"]]});var pI,NV=Et(()=>{Vp();pI=class extends nt{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};pI.paths=[["-v"],["--version"]]});var qT={};Vt(qT,{DefinitionsCommand:()=>uI,HelpCommand:()=>AI,TokensCommand:()=>fI,VersionCommand:()=>pI});var LV=Et(()=>{FV();RV();TV();NV()});function OV(t,e,r){let[o,a]=ju(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Ko({definition(p){p.addOption({names:u,arity:n,hidden:a?.hidden,description:a?.description,required:a.required})},transformer(p,h,E){let I,v=typeof o<"u"?[...o]:void 0;for(let{name:x,value:C}of E.options)!A.has(x)||(I=x,v=v??[],v.push(C));return typeof v<"u"?nd(I??h,v,a.validator):v}})}var MV=Et(()=>{Ef()});function UV(t,e,r){let[o,a]=ju(e,r??{}),n=t.split(","),u=new Set(n);return Ko({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:I,value:v}of h.options)!u.has(I)||(E=v);return E}})}var _V=Et(()=>{Ef()});function HV(t,e,r){let[o,a]=ju(e,r??{}),n=t.split(","),u=new Set(n);return Ko({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:I,value:v}of h.options)!u.has(I)||(E??(E=0),v?E+=1:E=0);return E}})}var qV=Et(()=>{Ef()});function jV(t={}){return Ko({definition(e,r){var o;e.addRest({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){let a=u=>{let A=o.positionals[u];return A.extra===el||A.extra===!1&&uu)}})}var GV=Et(()=>{lS();Ef()});function Xqe(t,e,r){let[o,a]=ju(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Ko({definition(p){p.addOption({names:u,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,E,I){let v,x=o;typeof a.env<"u"&&I.env[a.env]&&(v=a.env,x=I.env[a.env]);for(let{name:C,value:R}of E.options)!A.has(C)||(v=C,x=R);return typeof x=="string"?nd(v??h,x,a.validator):x}})}function Zqe(t={}){let{required:e=!0}=t;return Ko({definition(r,o){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:o,required:t.required})},transformer(r,o,a){var n;for(let u=0;u{lS();Ef()});var ge={};Vt(ge,{Array:()=>OV,Boolean:()=>UV,Counter:()=>HV,Proxy:()=>uS,Rest:()=>jV,String:()=>YV,applyValidator:()=>nd,cleanValidationError:()=>rS,formatError:()=>iI,isOptionSymbol:()=>nI,makeCommandOption:()=>Ko,rerouteArguments:()=>ju});var KV=Et(()=>{Ef();HT();MV();_V();qV();GV();WV()});var hI={};Vt(hI,{Builtins:()=>qT,Cli:()=>as,Command:()=>nt,Option:()=>ge,UsageError:()=>it,formatMarkdownish:()=>Do,run:()=>xV,runExit:()=>bV});var qt=Et(()=>{tS();kT();Vp();QV();LV();KV()});var VV=_((Pkt,$qe)=>{$qe.exports={name:"dotenv",version:"16.3.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var ZV=_((bkt,Cf)=>{var JV=ve("fs"),GT=ve("path"),eje=ve("os"),tje=ve("crypto"),rje=VV(),YT=rje.version,nje=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function ije(t){let e={},r=t.toString();r=r.replace(/\r\n?/mg,` +`);let o;for(;(o=nje.exec(r))!=null;){let a=o[1],n=o[2]||"";n=n.trim();let u=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),u==='"'&&(n=n.replace(/\\n/g,` +`),n=n.replace(/\\r/g,"\r")),e[a]=n}return e}function sje(t){let e=XV(t),r=bs.configDotenv({path:e});if(!r.parsed)throw new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);let o=zV(t).split(","),a=o.length,n;for(let u=0;u=a)throw A}return bs.parse(n)}function oje(t){console.log(`[dotenv@${YT}][INFO] ${t}`)}function aje(t){console.log(`[dotenv@${YT}][WARN] ${t}`)}function jT(t){console.log(`[dotenv@${YT}][DEBUG] ${t}`)}function zV(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function lje(t,e){let r;try{r=new URL(e)}catch(A){throw A.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):A}let o=r.password;if(!o)throw new Error("INVALID_DOTENV_KEY: Missing key part");let a=r.searchParams.get("environment");if(!a)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let n=`DOTENV_VAULT_${a.toUpperCase()}`,u=t.parsed[n];if(!u)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);return{ciphertext:u,key:o}}function XV(t){let e=GT.resolve(process.cwd(),".env");return t&&t.path&&t.path.length>0&&(e=t.path),e.endsWith(".vault")?e:`${e}.vault`}function cje(t){return t[0]==="~"?GT.join(eje.homedir(),t.slice(1)):t}function uje(t){oje("Loading env from encrypted .env.vault");let e=bs._parseVault(t),r=process.env;return t&&t.processEnv!=null&&(r=t.processEnv),bs.populate(r,e,t),{parsed:e}}function Aje(t){let e=GT.resolve(process.cwd(),".env"),r="utf8",o=Boolean(t&&t.debug);t&&(t.path!=null&&(e=cje(t.path)),t.encoding!=null&&(r=t.encoding));try{let a=bs.parse(JV.readFileSync(e,{encoding:r})),n=process.env;return t&&t.processEnv!=null&&(n=t.processEnv),bs.populate(n,a,t),{parsed:a}}catch(a){return o&&jT(`Failed to load ${e} ${a.message}`),{error:a}}}function fje(t){let e=XV(t);return zV(t).length===0?bs.configDotenv(t):JV.existsSync(e)?bs._configVault(t):(aje(`You set DOTENV_KEY but you are missing a .env.vault file at ${e}. Did you forget to build it?`),bs.configDotenv(t))}function pje(t,e){let r=Buffer.from(e.slice(-64),"hex"),o=Buffer.from(t,"base64"),a=o.slice(0,12),n=o.slice(-16);o=o.slice(12,-16);try{let u=tje.createDecipheriv("aes-256-gcm",r,a);return u.setAuthTag(n),`${u.update(o)}${u.final()}`}catch(u){let A=u instanceof RangeError,p=u.message==="Invalid key length",h=u.message==="Unsupported state or unable to authenticate data";if(A||p){let E="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(E)}else if(h){let E="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(E)}else throw console.error("Error: ",u.code),console.error("Error: ",u.message),u}}function hje(t,e,r={}){let o=Boolean(r&&r.debug),a=Boolean(r&&r.override);if(typeof e!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let n of Object.keys(e))Object.prototype.hasOwnProperty.call(t,n)?(a===!0&&(t[n]=e[n]),o&&jT(a===!0?`"${n}" is already defined and WAS overwritten`:`"${n}" is already defined and was NOT overwritten`)):t[n]=e[n]}var bs={configDotenv:Aje,_configVault:uje,_parseVault:sje,config:fje,decrypt:pje,parse:ije,populate:hje};Cf.exports.configDotenv=bs.configDotenv;Cf.exports._configVault=bs._configVault;Cf.exports._parseVault=bs._parseVault;Cf.exports.config=bs.config;Cf.exports.decrypt=bs.decrypt;Cf.exports.parse=bs.parse;Cf.exports.populate=bs.populate;Cf.exports=bs});var eJ=_((xkt,$V)=>{"use strict";$V.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var id=_((kkt,WT)=>{"use strict";var gje=eJ(),tJ=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,o=()=>{r--,e.length>0&&e.shift()()},a=(A,p,...h)=>{r++;let E=gje(A,...h);p(E),E.then(o,o)},n=(A,p,...h)=>{rnew Promise(h=>n(A,h,...p));return Object.defineProperties(u,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),u};WT.exports=tJ;WT.exports.default=tJ});function Wu(t){return`YN${t.toString(10).padStart(4,"0")}`}function AS(t){let e=Number(t.slice(2));if(typeof wr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var wr,fS=Et(()=>{wr=(Oe=>(Oe[Oe.UNNAMED=0]="UNNAMED",Oe[Oe.EXCEPTION=1]="EXCEPTION",Oe[Oe.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",Oe[Oe.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",Oe[Oe.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",Oe[Oe.BUILD_DISABLED=5]="BUILD_DISABLED",Oe[Oe.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",Oe[Oe.MUST_BUILD=7]="MUST_BUILD",Oe[Oe.MUST_REBUILD=8]="MUST_REBUILD",Oe[Oe.BUILD_FAILED=9]="BUILD_FAILED",Oe[Oe.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",Oe[Oe.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",Oe[Oe.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",Oe[Oe.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",Oe[Oe.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",Oe[Oe.REMOTE_INVALID=15]="REMOTE_INVALID",Oe[Oe.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",Oe[Oe.RESOLUTION_PACK=17]="RESOLUTION_PACK",Oe[Oe.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",Oe[Oe.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",Oe[Oe.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",Oe[Oe.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",Oe[Oe.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",Oe[Oe.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",Oe[Oe.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",Oe[Oe.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",Oe[Oe.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",Oe[Oe.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",Oe[Oe.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",Oe[Oe.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",Oe[Oe.FETCH_FAILED=30]="FETCH_FAILED",Oe[Oe.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",Oe[Oe.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",Oe[Oe.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",Oe[Oe.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",Oe[Oe.NETWORK_ERROR=35]="NETWORK_ERROR",Oe[Oe.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",Oe[Oe.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",Oe[Oe.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",Oe[Oe.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",Oe[Oe.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",Oe[Oe.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",Oe[Oe.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",Oe[Oe.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",Oe[Oe.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",Oe[Oe.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",Oe[Oe.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",Oe[Oe.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",Oe[Oe.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",Oe[Oe.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",Oe[Oe.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",Oe[Oe.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",Oe[Oe.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",Oe[Oe.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",Oe[Oe.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",Oe[Oe.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",Oe[Oe.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",Oe[Oe.INVALID_MANIFEST=57]="INVALID_MANIFEST",Oe[Oe.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",Oe[Oe.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",Oe[Oe.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",Oe[Oe.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",Oe[Oe.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",Oe[Oe.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",Oe[Oe.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",Oe[Oe.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",Oe[Oe.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",Oe[Oe.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",Oe[Oe.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",Oe[Oe.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",Oe[Oe.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",Oe[Oe.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",Oe[Oe.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",Oe[Oe.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",Oe[Oe.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",Oe[Oe.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",Oe[Oe.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",Oe[Oe.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",Oe[Oe.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",Oe[Oe.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",Oe[Oe.NETWORK_DISABLED=80]="NETWORK_DISABLED",Oe[Oe.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",Oe[Oe.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",Oe[Oe.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",Oe[Oe.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",Oe[Oe.UPDATED_RESOLUTION_RECORD=85]="UPDATED_RESOLUTION_RECORD",Oe[Oe.EXPLAIN_PEER_DEPENDENCIES_CTA=86]="EXPLAIN_PEER_DEPENDENCIES_CTA",Oe[Oe.MIGRATION_SUCCESS=87]="MIGRATION_SUCCESS",Oe[Oe.VERSION_NOTICE=88]="VERSION_NOTICE",Oe[Oe.TIPS_NOTICE=89]="TIPS_NOTICE",Oe[Oe.OFFLINE_MODE_ENABLED=90]="OFFLINE_MODE_ENABLED",Oe))(wr||{})});var gI=_((Fkt,rJ)=>{var dje="2.0.0",mje=Number.MAX_SAFE_INTEGER||9007199254740991,yje=16,Eje=256-6,Cje=["major","premajor","minor","preminor","patch","prepatch","prerelease"];rJ.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:yje,MAX_SAFE_BUILD_LENGTH:Eje,MAX_SAFE_INTEGER:mje,RELEASE_TYPES:Cje,SEMVER_SPEC_VERSION:dje,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var dI=_((Rkt,nJ)=>{var wje=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};nJ.exports=wje});var vy=_((wf,iJ)=>{var{MAX_SAFE_COMPONENT_LENGTH:KT,MAX_SAFE_BUILD_LENGTH:Ije,MAX_LENGTH:Bje}=gI(),vje=dI();wf=iJ.exports={};var Dje=wf.re=[],Sje=wf.safeRe=[],lr=wf.src=[],cr=wf.t={},Pje=0,VT="[a-zA-Z0-9-]",bje=[["\\s",1],["\\d",Bje],[VT,Ije]],xje=t=>{for(let[e,r]of bje)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},Jr=(t,e,r)=>{let o=xje(e),a=Pje++;vje(t,a,e),cr[t]=a,lr[a]=e,Dje[a]=new RegExp(e,r?"g":void 0),Sje[a]=new RegExp(o,r?"g":void 0)};Jr("NUMERICIDENTIFIER","0|[1-9]\\d*");Jr("NUMERICIDENTIFIERLOOSE","\\d+");Jr("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${VT}*`);Jr("MAINVERSION",`(${lr[cr.NUMERICIDENTIFIER]})\\.(${lr[cr.NUMERICIDENTIFIER]})\\.(${lr[cr.NUMERICIDENTIFIER]})`);Jr("MAINVERSIONLOOSE",`(${lr[cr.NUMERICIDENTIFIERLOOSE]})\\.(${lr[cr.NUMERICIDENTIFIERLOOSE]})\\.(${lr[cr.NUMERICIDENTIFIERLOOSE]})`);Jr("PRERELEASEIDENTIFIER",`(?:${lr[cr.NUMERICIDENTIFIER]}|${lr[cr.NONNUMERICIDENTIFIER]})`);Jr("PRERELEASEIDENTIFIERLOOSE",`(?:${lr[cr.NUMERICIDENTIFIERLOOSE]}|${lr[cr.NONNUMERICIDENTIFIER]})`);Jr("PRERELEASE",`(?:-(${lr[cr.PRERELEASEIDENTIFIER]}(?:\\.${lr[cr.PRERELEASEIDENTIFIER]})*))`);Jr("PRERELEASELOOSE",`(?:-?(${lr[cr.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${lr[cr.PRERELEASEIDENTIFIERLOOSE]})*))`);Jr("BUILDIDENTIFIER",`${VT}+`);Jr("BUILD",`(?:\\+(${lr[cr.BUILDIDENTIFIER]}(?:\\.${lr[cr.BUILDIDENTIFIER]})*))`);Jr("FULLPLAIN",`v?${lr[cr.MAINVERSION]}${lr[cr.PRERELEASE]}?${lr[cr.BUILD]}?`);Jr("FULL",`^${lr[cr.FULLPLAIN]}$`);Jr("LOOSEPLAIN",`[v=\\s]*${lr[cr.MAINVERSIONLOOSE]}${lr[cr.PRERELEASELOOSE]}?${lr[cr.BUILD]}?`);Jr("LOOSE",`^${lr[cr.LOOSEPLAIN]}$`);Jr("GTLT","((?:<|>)?=?)");Jr("XRANGEIDENTIFIERLOOSE",`${lr[cr.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Jr("XRANGEIDENTIFIER",`${lr[cr.NUMERICIDENTIFIER]}|x|X|\\*`);Jr("XRANGEPLAIN",`[v=\\s]*(${lr[cr.XRANGEIDENTIFIER]})(?:\\.(${lr[cr.XRANGEIDENTIFIER]})(?:\\.(${lr[cr.XRANGEIDENTIFIER]})(?:${lr[cr.PRERELEASE]})?${lr[cr.BUILD]}?)?)?`);Jr("XRANGEPLAINLOOSE",`[v=\\s]*(${lr[cr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${lr[cr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${lr[cr.XRANGEIDENTIFIERLOOSE]})(?:${lr[cr.PRERELEASELOOSE]})?${lr[cr.BUILD]}?)?)?`);Jr("XRANGE",`^${lr[cr.GTLT]}\\s*${lr[cr.XRANGEPLAIN]}$`);Jr("XRANGELOOSE",`^${lr[cr.GTLT]}\\s*${lr[cr.XRANGEPLAINLOOSE]}$`);Jr("COERCE",`(^|[^\\d])(\\d{1,${KT}})(?:\\.(\\d{1,${KT}}))?(?:\\.(\\d{1,${KT}}))?(?:$|[^\\d])`);Jr("COERCERTL",lr[cr.COERCE],!0);Jr("LONETILDE","(?:~>?)");Jr("TILDETRIM",`(\\s*)${lr[cr.LONETILDE]}\\s+`,!0);wf.tildeTrimReplace="$1~";Jr("TILDE",`^${lr[cr.LONETILDE]}${lr[cr.XRANGEPLAIN]}$`);Jr("TILDELOOSE",`^${lr[cr.LONETILDE]}${lr[cr.XRANGEPLAINLOOSE]}$`);Jr("LONECARET","(?:\\^)");Jr("CARETTRIM",`(\\s*)${lr[cr.LONECARET]}\\s+`,!0);wf.caretTrimReplace="$1^";Jr("CARET",`^${lr[cr.LONECARET]}${lr[cr.XRANGEPLAIN]}$`);Jr("CARETLOOSE",`^${lr[cr.LONECARET]}${lr[cr.XRANGEPLAINLOOSE]}$`);Jr("COMPARATORLOOSE",`^${lr[cr.GTLT]}\\s*(${lr[cr.LOOSEPLAIN]})$|^$`);Jr("COMPARATOR",`^${lr[cr.GTLT]}\\s*(${lr[cr.FULLPLAIN]})$|^$`);Jr("COMPARATORTRIM",`(\\s*)${lr[cr.GTLT]}\\s*(${lr[cr.LOOSEPLAIN]}|${lr[cr.XRANGEPLAIN]})`,!0);wf.comparatorTrimReplace="$1$2$3";Jr("HYPHENRANGE",`^\\s*(${lr[cr.XRANGEPLAIN]})\\s+-\\s+(${lr[cr.XRANGEPLAIN]})\\s*$`);Jr("HYPHENRANGELOOSE",`^\\s*(${lr[cr.XRANGEPLAINLOOSE]})\\s+-\\s+(${lr[cr.XRANGEPLAINLOOSE]})\\s*$`);Jr("STAR","(<|>)?=?\\s*\\*");Jr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Jr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var pS=_((Tkt,sJ)=>{var kje=Object.freeze({loose:!0}),Qje=Object.freeze({}),Fje=t=>t?typeof t!="object"?kje:t:Qje;sJ.exports=Fje});var JT=_((Nkt,lJ)=>{var oJ=/^[0-9]+$/,aJ=(t,e)=>{let r=oJ.test(t),o=oJ.test(e);return r&&o&&(t=+t,e=+e),t===e?0:r&&!o?-1:o&&!r?1:taJ(e,t);lJ.exports={compareIdentifiers:aJ,rcompareIdentifiers:Rje}});var So=_((Lkt,fJ)=>{var hS=dI(),{MAX_LENGTH:cJ,MAX_SAFE_INTEGER:gS}=gI(),{safeRe:uJ,t:AJ}=vy(),Tje=pS(),{compareIdentifiers:Dy}=JT(),tl=class{constructor(e,r){if(r=Tje(r),e instanceof tl){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>cJ)throw new TypeError(`version is longer than ${cJ} characters`);hS("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let o=e.trim().match(r.loose?uJ[AJ.LOOSE]:uJ[AJ.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>gS||this.major<0)throw new TypeError("Invalid major version");if(this.minor>gS||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>gS||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);if(n===-1){if(r===this.prerelease.join(".")&&o===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(r){let n=[r,a];o===!1&&(n=[r]),Dy(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};fJ.exports=tl});var sd=_((Okt,hJ)=>{var pJ=So(),Nje=(t,e,r=!1)=>{if(t instanceof pJ)return t;try{return new pJ(t,e)}catch(o){if(!r)return null;throw o}};hJ.exports=Nje});var dJ=_((Mkt,gJ)=>{var Lje=sd(),Oje=(t,e)=>{let r=Lje(t,e);return r?r.version:null};gJ.exports=Oje});var yJ=_((Ukt,mJ)=>{var Mje=sd(),Uje=(t,e)=>{let r=Mje(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};mJ.exports=Uje});var wJ=_((_kt,CJ)=>{var EJ=So(),_je=(t,e,r,o,a)=>{typeof r=="string"&&(a=o,o=r,r=void 0);try{return new EJ(t instanceof EJ?t.version:t,r).inc(e,o,a).version}catch{return null}};CJ.exports=_je});var vJ=_((Hkt,BJ)=>{var IJ=sd(),Hje=(t,e)=>{let r=IJ(t,null,!0),o=IJ(e,null,!0),a=r.compare(o);if(a===0)return null;let n=a>0,u=n?r:o,A=n?o:r,p=!!u.prerelease.length;if(!!A.prerelease.length&&!p)return!A.patch&&!A.minor?"major":u.patch?"patch":u.minor?"minor":"major";let E=p?"pre":"";return r.major!==o.major?E+"major":r.minor!==o.minor?E+"minor":r.patch!==o.patch?E+"patch":"prerelease"};BJ.exports=Hje});var SJ=_((qkt,DJ)=>{var qje=So(),jje=(t,e)=>new qje(t,e).major;DJ.exports=jje});var bJ=_((jkt,PJ)=>{var Gje=So(),Yje=(t,e)=>new Gje(t,e).minor;PJ.exports=Yje});var kJ=_((Gkt,xJ)=>{var Wje=So(),Kje=(t,e)=>new Wje(t,e).patch;xJ.exports=Kje});var FJ=_((Ykt,QJ)=>{var Vje=sd(),Jje=(t,e)=>{let r=Vje(t,e);return r&&r.prerelease.length?r.prerelease:null};QJ.exports=Jje});var Ll=_((Wkt,TJ)=>{var RJ=So(),zje=(t,e,r)=>new RJ(t,r).compare(new RJ(e,r));TJ.exports=zje});var LJ=_((Kkt,NJ)=>{var Xje=Ll(),Zje=(t,e,r)=>Xje(e,t,r);NJ.exports=Zje});var MJ=_((Vkt,OJ)=>{var $je=Ll(),eGe=(t,e)=>$je(t,e,!0);OJ.exports=eGe});var dS=_((Jkt,_J)=>{var UJ=So(),tGe=(t,e,r)=>{let o=new UJ(t,r),a=new UJ(e,r);return o.compare(a)||o.compareBuild(a)};_J.exports=tGe});var qJ=_((zkt,HJ)=>{var rGe=dS(),nGe=(t,e)=>t.sort((r,o)=>rGe(r,o,e));HJ.exports=nGe});var GJ=_((Xkt,jJ)=>{var iGe=dS(),sGe=(t,e)=>t.sort((r,o)=>iGe(o,r,e));jJ.exports=sGe});var mI=_((Zkt,YJ)=>{var oGe=Ll(),aGe=(t,e,r)=>oGe(t,e,r)>0;YJ.exports=aGe});var mS=_(($kt,WJ)=>{var lGe=Ll(),cGe=(t,e,r)=>lGe(t,e,r)<0;WJ.exports=cGe});var zT=_((eQt,KJ)=>{var uGe=Ll(),AGe=(t,e,r)=>uGe(t,e,r)===0;KJ.exports=AGe});var XT=_((tQt,VJ)=>{var fGe=Ll(),pGe=(t,e,r)=>fGe(t,e,r)!==0;VJ.exports=pGe});var yS=_((rQt,JJ)=>{var hGe=Ll(),gGe=(t,e,r)=>hGe(t,e,r)>=0;JJ.exports=gGe});var ES=_((nQt,zJ)=>{var dGe=Ll(),mGe=(t,e,r)=>dGe(t,e,r)<=0;zJ.exports=mGe});var ZT=_((iQt,XJ)=>{var yGe=zT(),EGe=XT(),CGe=mI(),wGe=yS(),IGe=mS(),BGe=ES(),vGe=(t,e,r,o)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return yGe(t,r,o);case"!=":return EGe(t,r,o);case">":return CGe(t,r,o);case">=":return wGe(t,r,o);case"<":return IGe(t,r,o);case"<=":return BGe(t,r,o);default:throw new TypeError(`Invalid operator: ${e}`)}};XJ.exports=vGe});var $J=_((sQt,ZJ)=>{var DGe=So(),SGe=sd(),{safeRe:CS,t:wS}=vy(),PGe=(t,e)=>{if(t instanceof DGe)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(CS[wS.COERCE]);else{let o;for(;(o=CS[wS.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||o.index+o[0].length!==r.index+r[0].length)&&(r=o),CS[wS.COERCERTL].lastIndex=o.index+o[1].length+o[2].length;CS[wS.COERCERTL].lastIndex=-1}return r===null?null:SGe(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};ZJ.exports=PGe});var tz=_((oQt,ez)=>{"use strict";ez.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var IS=_((aQt,rz)=>{"use strict";rz.exports=Cn;Cn.Node=od;Cn.create=Cn;function Cn(t){var e=this;if(e instanceof Cn||(e=new Cn),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,o=arguments.length;r1)r=e;else if(this.head)o=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;o!==null;a++)r=t(r,o.value,a),o=o.next;return r};Cn.prototype.reduceReverse=function(t,e){var r,o=this.tail;if(arguments.length>1)r=e;else if(this.tail)o=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;o!==null;a--)r=t(r,o.value,a),o=o.prev;return r};Cn.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Cn.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Cn.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Cn;if(ethis.length&&(e=this.length);for(var o=0,a=this.head;a!==null&&othis.length&&(e=this.length);for(var o=this.length,a=this.tail;a!==null&&o>e;o--)a=a.prev;for(;a!==null&&o>t;o--,a=a.prev)r.push(a.value);return r};Cn.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var o=0,a=this.head;a!==null&&o{"use strict";var QGe=IS(),ad=Symbol("max"),Bf=Symbol("length"),Sy=Symbol("lengthCalculator"),EI=Symbol("allowStale"),ld=Symbol("maxAge"),If=Symbol("dispose"),nz=Symbol("noDisposeOnSet"),xs=Symbol("lruList"),Mc=Symbol("cache"),sz=Symbol("updateAgeOnGet"),$T=()=>1,tN=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 r=this[ad]=e.max||1/0,o=e.length||$T;if(this[Sy]=typeof o!="function"?$T:o,this[EI]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[ld]=e.maxAge||0,this[If]=e.dispose,this[nz]=e.noDisposeOnSet||!1,this[sz]=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[ad]=e||1/0,yI(this)}get max(){return this[ad]}set allowStale(e){this[EI]=!!e}get allowStale(){return this[EI]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[ld]=e,yI(this)}get maxAge(){return this[ld]}set lengthCalculator(e){typeof e!="function"&&(e=$T),e!==this[Sy]&&(this[Sy]=e,this[Bf]=0,this[xs].forEach(r=>{r.length=this[Sy](r.value,r.key),this[Bf]+=r.length})),yI(this)}get lengthCalculator(){return this[Sy]}get length(){return this[Bf]}get itemCount(){return this[xs].length}rforEach(e,r){r=r||this;for(let o=this[xs].tail;o!==null;){let a=o.prev;iz(this,e,o,r),o=a}}forEach(e,r){r=r||this;for(let o=this[xs].head;o!==null;){let a=o.next;iz(this,e,o,r),o=a}}keys(){return this[xs].toArray().map(e=>e.key)}values(){return this[xs].toArray().map(e=>e.value)}reset(){this[If]&&this[xs]&&this[xs].length&&this[xs].forEach(e=>this[If](e.key,e.value)),this[Mc]=new Map,this[xs]=new QGe,this[Bf]=0}dump(){return this[xs].map(e=>BS(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[xs]}set(e,r,o){if(o=o||this[ld],o&&typeof o!="number")throw new TypeError("maxAge must be a number");let a=o?Date.now():0,n=this[Sy](r,e);if(this[Mc].has(e)){if(n>this[ad])return Py(this,this[Mc].get(e)),!1;let p=this[Mc].get(e).value;return this[If]&&(this[nz]||this[If](e,p.value)),p.now=a,p.maxAge=o,p.value=r,this[Bf]+=n-p.length,p.length=n,this.get(e),yI(this),!0}let u=new rN(e,r,n,a,o);return u.length>this[ad]?(this[If]&&this[If](e,r),!1):(this[Bf]+=u.length,this[xs].unshift(u),this[Mc].set(e,this[xs].head),yI(this),!0)}has(e){if(!this[Mc].has(e))return!1;let r=this[Mc].get(e).value;return!BS(this,r)}get(e){return eN(this,e,!0)}peek(e){return eN(this,e,!1)}pop(){let e=this[xs].tail;return e?(Py(this,e),e.value):null}del(e){Py(this,this[Mc].get(e))}load(e){this.reset();let r=Date.now();for(let o=e.length-1;o>=0;o--){let a=e[o],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let u=n-r;u>0&&this.set(a.k,a.v,u)}}}prune(){this[Mc].forEach((e,r)=>eN(this,r,!1))}},eN=(t,e,r)=>{let o=t[Mc].get(e);if(o){let a=o.value;if(BS(t,a)){if(Py(t,o),!t[EI])return}else r&&(t[sz]&&(o.value.now=Date.now()),t[xs].unshiftNode(o));return a.value}},BS=(t,e)=>{if(!e||!e.maxAge&&!t[ld])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[ld]&&r>t[ld]},yI=t=>{if(t[Bf]>t[ad])for(let e=t[xs].tail;t[Bf]>t[ad]&&e!==null;){let r=e.prev;Py(t,e),e=r}},Py=(t,e)=>{if(e){let r=e.value;t[If]&&t[If](r.key,r.value),t[Bf]-=r.length,t[Mc].delete(r.key),t[xs].removeNode(e)}},rN=class{constructor(e,r,o,a,n){this.key=e,this.value=r,this.length=o,this.now=a,this.maxAge=n||0}},iz=(t,e,r,o)=>{let a=r.value;BS(t,a)&&(Py(t,r),t[EI]||(a=void 0)),a&&e.call(o,a.value,a.key,t)};oz.exports=tN});var Ol=_((cQt,Az)=>{var cd=class{constructor(e,r){if(r=RGe(r),e instanceof cd)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new cd(e.raw,r);if(e instanceof nN)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(a=>!cz(a[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&_Ge(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){let o=((this.options.includePrerelease&&MGe)|(this.options.loose&&UGe))+":"+e,a=lz.get(o);if(a)return a;let n=this.options.loose,u=n?Da[zo.HYPHENRANGELOOSE]:Da[zo.HYPHENRANGE];e=e.replace(u,zGe(this.options.includePrerelease)),ci("hyphen replace",e),e=e.replace(Da[zo.COMPARATORTRIM],NGe),ci("comparator trim",e),e=e.replace(Da[zo.TILDETRIM],LGe),ci("tilde trim",e),e=e.replace(Da[zo.CARETTRIM],OGe),ci("caret trim",e);let A=e.split(" ").map(I=>HGe(I,this.options)).join(" ").split(/\s+/).map(I=>JGe(I,this.options));n&&(A=A.filter(I=>(ci("loose invalid filter",I,this.options),!!I.match(Da[zo.COMPARATORLOOSE])))),ci("range list",A);let p=new Map,h=A.map(I=>new nN(I,this.options));for(let I of h){if(cz(I))return[I];p.set(I.value,I)}p.size>1&&p.has("")&&p.delete("");let E=[...p.values()];return lz.set(o,E),E}intersects(e,r){if(!(e instanceof cd))throw new TypeError("a Range is required");return this.set.some(o=>uz(o,r)&&e.set.some(a=>uz(a,r)&&o.every(n=>a.every(u=>n.intersects(u,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new TGe(e,this.options)}catch{return!1}for(let r=0;rt.value==="<0.0.0-0",_Ge=t=>t.value==="",uz=(t,e)=>{let r=!0,o=t.slice(),a=o.pop();for(;r&&o.length;)r=o.every(n=>a.intersects(n,e)),a=o.pop();return r},HGe=(t,e)=>(ci("comp",t,e),t=GGe(t,e),ci("caret",t),t=qGe(t,e),ci("tildes",t),t=WGe(t,e),ci("xrange",t),t=VGe(t,e),ci("stars",t),t),Xo=t=>!t||t.toLowerCase()==="x"||t==="*",qGe=(t,e)=>t.trim().split(/\s+/).map(r=>jGe(r,e)).join(" "),jGe=(t,e)=>{let r=e.loose?Da[zo.TILDELOOSE]:Da[zo.TILDE];return t.replace(r,(o,a,n,u,A)=>{ci("tilde",t,o,a,n,u,A);let p;return Xo(a)?p="":Xo(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:Xo(u)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:A?(ci("replaceTilde pr",A),p=`>=${a}.${n}.${u}-${A} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${u} <${a}.${+n+1}.0-0`,ci("tilde return",p),p})},GGe=(t,e)=>t.trim().split(/\s+/).map(r=>YGe(r,e)).join(" "),YGe=(t,e)=>{ci("caret",t,e);let r=e.loose?Da[zo.CARETLOOSE]:Da[zo.CARET],o=e.includePrerelease?"-0":"";return t.replace(r,(a,n,u,A,p)=>{ci("caret",t,a,n,u,A,p);let h;return Xo(n)?h="":Xo(u)?h=`>=${n}.0.0${o} <${+n+1}.0.0-0`:Xo(A)?n==="0"?h=`>=${n}.${u}.0${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.0${o} <${+n+1}.0.0-0`:p?(ci("replaceCaret pr",p),n==="0"?u==="0"?h=`>=${n}.${u}.${A}-${p} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}-${p} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A}-${p} <${+n+1}.0.0-0`):(ci("no pr"),n==="0"?u==="0"?h=`>=${n}.${u}.${A}${o} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A} <${+n+1}.0.0-0`),ci("caret return",h),h})},WGe=(t,e)=>(ci("replaceXRanges",t,e),t.split(/\s+/).map(r=>KGe(r,e)).join(" ")),KGe=(t,e)=>{t=t.trim();let r=e.loose?Da[zo.XRANGELOOSE]:Da[zo.XRANGE];return t.replace(r,(o,a,n,u,A,p)=>{ci("xRange",t,o,a,n,u,A,p);let h=Xo(n),E=h||Xo(u),I=E||Xo(A),v=I;return a==="="&&v&&(a=""),p=e.includePrerelease?"-0":"",h?a===">"||a==="<"?o="<0.0.0-0":o="*":a&&v?(E&&(u=0),A=0,a===">"?(a=">=",E?(n=+n+1,u=0,A=0):(u=+u+1,A=0)):a==="<="&&(a="<",E?n=+n+1:u=+u+1),a==="<"&&(p="-0"),o=`${a+n}.${u}.${A}${p}`):E?o=`>=${n}.0.0${p} <${+n+1}.0.0-0`:I&&(o=`>=${n}.${u}.0${p} <${n}.${+u+1}.0-0`),ci("xRange return",o),o})},VGe=(t,e)=>(ci("replaceStars",t,e),t.trim().replace(Da[zo.STAR],"")),JGe=(t,e)=>(ci("replaceGTE0",t,e),t.trim().replace(Da[e.includePrerelease?zo.GTE0PRE:zo.GTE0],"")),zGe=t=>(e,r,o,a,n,u,A,p,h,E,I,v,x)=>(Xo(o)?r="":Xo(a)?r=`>=${o}.0.0${t?"-0":""}`:Xo(n)?r=`>=${o}.${a}.0${t?"-0":""}`:u?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Xo(h)?p="":Xo(E)?p=`<${+h+1}.0.0-0`:Xo(I)?p=`<${h}.${+E+1}.0-0`:v?p=`<=${h}.${E}.${I}-${v}`:t?p=`<${h}.${E}.${+I+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),XGe=(t,e,r)=>{for(let o=0;o0){let a=t[o].semver;if(a.major===e.major&&a.minor===e.minor&&a.patch===e.patch)return!0}return!1}return!0}});var CI=_((uQt,mz)=>{var wI=Symbol("SemVer ANY"),by=class{static get ANY(){return wI}constructor(e,r){if(r=fz(r),e instanceof by){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),sN("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===wI?this.value="":this.value=this.operator+this.semver.version,sN("comp",this)}parse(e){let r=this.options.loose?pz[hz.COMPARATORLOOSE]:pz[hz.COMPARATOR],o=e.match(r);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new gz(o[2],this.options.loose):this.semver=wI}toString(){return this.value}test(e){if(sN("Comparator.test",e,this.options.loose),this.semver===wI||e===wI)return!0;if(typeof e=="string")try{e=new gz(e,this.options)}catch{return!1}return iN(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof by))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new dz(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new dz(this.value,r).test(e.semver):(r=fz(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||iN(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||iN(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};mz.exports=by;var fz=pS(),{safeRe:pz,t:hz}=vy(),iN=ZT(),sN=dI(),gz=So(),dz=Ol()});var II=_((AQt,yz)=>{var ZGe=Ol(),$Ge=(t,e,r)=>{try{e=new ZGe(e,r)}catch{return!1}return e.test(t)};yz.exports=$Ge});var Cz=_((fQt,Ez)=>{var e5e=Ol(),t5e=(t,e)=>new e5e(t,e).set.map(r=>r.map(o=>o.value).join(" ").trim().split(" "));Ez.exports=t5e});var Iz=_((pQt,wz)=>{var r5e=So(),n5e=Ol(),i5e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new n5e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===-1)&&(o=u,a=new r5e(o,r))}),o};wz.exports=i5e});var vz=_((hQt,Bz)=>{var s5e=So(),o5e=Ol(),a5e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new o5e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===1)&&(o=u,a=new s5e(o,r))}),o};Bz.exports=a5e});var Pz=_((gQt,Sz)=>{var oN=So(),l5e=Ol(),Dz=mI(),c5e=(t,e)=>{t=new l5e(t,e);let r=new oN("0.0.0");if(t.test(r)||(r=new oN("0.0.0-0"),t.test(r)))return r;r=null;for(let o=0;o{let A=new oN(u.semver.version);switch(u.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!n||Dz(A,n))&&(n=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),n&&(!r||Dz(r,n))&&(r=n)}return r&&t.test(r)?r:null};Sz.exports=c5e});var xz=_((dQt,bz)=>{var u5e=Ol(),A5e=(t,e)=>{try{return new u5e(t,e).range||"*"}catch{return null}};bz.exports=A5e});var vS=_((mQt,Rz)=>{var f5e=So(),Fz=CI(),{ANY:p5e}=Fz,h5e=Ol(),g5e=II(),kz=mI(),Qz=mS(),d5e=ES(),m5e=yS(),y5e=(t,e,r,o)=>{t=new f5e(t,o),e=new h5e(e,o);let a,n,u,A,p;switch(r){case">":a=kz,n=d5e,u=Qz,A=">",p=">=";break;case"<":a=Qz,n=m5e,u=kz,A="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(g5e(t,e,o))return!1;for(let h=0;h{x.semver===p5e&&(x=new Fz(">=0.0.0")),I=I||x,v=v||x,a(x.semver,I.semver,o)?I=x:u(x.semver,v.semver,o)&&(v=x)}),I.operator===A||I.operator===p||(!v.operator||v.operator===A)&&n(t,v.semver))return!1;if(v.operator===p&&u(t,v.semver))return!1}return!0};Rz.exports=y5e});var Nz=_((yQt,Tz)=>{var E5e=vS(),C5e=(t,e,r)=>E5e(t,e,">",r);Tz.exports=C5e});var Oz=_((EQt,Lz)=>{var w5e=vS(),I5e=(t,e,r)=>w5e(t,e,"<",r);Lz.exports=I5e});var _z=_((CQt,Uz)=>{var Mz=Ol(),B5e=(t,e,r)=>(t=new Mz(t,r),e=new Mz(e,r),t.intersects(e,r));Uz.exports=B5e});var qz=_((wQt,Hz)=>{var v5e=II(),D5e=Ll();Hz.exports=(t,e,r)=>{let o=[],a=null,n=null,u=t.sort((E,I)=>D5e(E,I,r));for(let E of u)v5e(E,e,r)?(n=E,a||(a=E)):(n&&o.push([a,n]),n=null,a=null);a&&o.push([a,null]);let A=[];for(let[E,I]of o)E===I?A.push(E):!I&&E===u[0]?A.push("*"):I?E===u[0]?A.push(`<=${I}`):A.push(`${E} - ${I}`):A.push(`>=${E}`);let p=A.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return p.length{var jz=Ol(),lN=CI(),{ANY:aN}=lN,BI=II(),cN=Ll(),S5e=(t,e,r={})=>{if(t===e)return!0;t=new jz(t,r),e=new jz(e,r);let o=!1;e:for(let a of t.set){for(let n of e.set){let u=b5e(a,n,r);if(o=o||u!==null,u)continue e}if(o)return!1}return!0},P5e=[new lN(">=0.0.0-0")],Gz=[new lN(">=0.0.0")],b5e=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===aN){if(e.length===1&&e[0].semver===aN)return!0;r.includePrerelease?t=P5e:t=Gz}if(e.length===1&&e[0].semver===aN){if(r.includePrerelease)return!0;e=Gz}let o=new Set,a,n;for(let x of t)x.operator===">"||x.operator===">="?a=Yz(a,x,r):x.operator==="<"||x.operator==="<="?n=Wz(n,x,r):o.add(x.semver);if(o.size>1)return null;let u;if(a&&n){if(u=cN(a.semver,n.semver,r),u>0)return null;if(u===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let x of o){if(a&&!BI(x,String(a),r)||n&&!BI(x,String(n),r))return null;for(let C of e)if(!BI(x,String(C),r))return!1;return!0}let A,p,h,E,I=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,v=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;I&&I.prerelease.length===1&&n.operator==="<"&&I.prerelease[0]===0&&(I=!1);for(let x of e){if(E=E||x.operator===">"||x.operator===">=",h=h||x.operator==="<"||x.operator==="<=",a){if(v&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===v.major&&x.semver.minor===v.minor&&x.semver.patch===v.patch&&(v=!1),x.operator===">"||x.operator===">="){if(A=Yz(a,x,r),A===x&&A!==a)return!1}else if(a.operator===">="&&!BI(a.semver,String(x),r))return!1}if(n){if(I&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===I.major&&x.semver.minor===I.minor&&x.semver.patch===I.patch&&(I=!1),x.operator==="<"||x.operator==="<="){if(p=Wz(n,x,r),p===x&&p!==n)return!1}else if(n.operator==="<="&&!BI(n.semver,String(x),r))return!1}if(!x.operator&&(n||a)&&u!==0)return!1}return!(a&&h&&!n&&u!==0||n&&E&&!a&&u!==0||v||I)},Yz=(t,e,r)=>{if(!t)return e;let o=cN(t.semver,e.semver,r);return o>0?t:o<0||e.operator===">"&&t.operator===">="?e:t},Wz=(t,e,r)=>{if(!t)return e;let o=cN(t.semver,e.semver,r);return o<0?t:o>0||e.operator==="<"&&t.operator==="<="?e:t};Kz.exports=S5e});var zn=_((BQt,Xz)=>{var uN=vy(),Jz=gI(),x5e=So(),zz=JT(),k5e=sd(),Q5e=dJ(),F5e=yJ(),R5e=wJ(),T5e=vJ(),N5e=SJ(),L5e=bJ(),O5e=kJ(),M5e=FJ(),U5e=Ll(),_5e=LJ(),H5e=MJ(),q5e=dS(),j5e=qJ(),G5e=GJ(),Y5e=mI(),W5e=mS(),K5e=zT(),V5e=XT(),J5e=yS(),z5e=ES(),X5e=ZT(),Z5e=$J(),$5e=CI(),e9e=Ol(),t9e=II(),r9e=Cz(),n9e=Iz(),i9e=vz(),s9e=Pz(),o9e=xz(),a9e=vS(),l9e=Nz(),c9e=Oz(),u9e=_z(),A9e=qz(),f9e=Vz();Xz.exports={parse:k5e,valid:Q5e,clean:F5e,inc:R5e,diff:T5e,major:N5e,minor:L5e,patch:O5e,prerelease:M5e,compare:U5e,rcompare:_5e,compareLoose:H5e,compareBuild:q5e,sort:j5e,rsort:G5e,gt:Y5e,lt:W5e,eq:K5e,neq:V5e,gte:J5e,lte:z5e,cmp:X5e,coerce:Z5e,Comparator:$5e,Range:e9e,satisfies:t9e,toComparators:r9e,maxSatisfying:n9e,minSatisfying:i9e,minVersion:s9e,validRange:o9e,outside:a9e,gtr:l9e,ltr:c9e,intersects:u9e,simplifyRange:A9e,subset:f9e,SemVer:x5e,re:uN.re,src:uN.src,tokens:uN.t,SEMVER_SPEC_VERSION:Jz.SEMVER_SPEC_VERSION,RELEASE_TYPES:Jz.RELEASE_TYPES,compareIdentifiers:zz.compareIdentifiers,rcompareIdentifiers:zz.rcompareIdentifiers}});var $z=_((vQt,Zz)=>{"use strict";function p9e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function ud(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ud)}p9e(ud,Error);ud.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;I{switch(Ne[1]){case"|":return Pe|Ne[3];case"&":return Pe&Ne[3];case"^":return Pe^Ne[3]}},Z)},v="!",x=Re("!",!1),C=function(Z){return!Z},R="(",L=Re("(",!1),U=")",J=Re(")",!1),te=function(Z){return Z},ae=/^[^ \t\n\r()!|&\^]/,fe=ke([" "," ",` +`,"\r","(",")","!","|","&","^"],!0,!1),ce=function(Z){return e.queryPattern.test(Z)},me=function(Z){return e.checkFn(Z)},he=Te("whitespace"),Be=/^[ \t\n\r]/,we=ke([" "," ",` +`,"\r"],!1,!1),g=0,Ee=0,Se=[{line:1,column:1}],le=0,ne=[],ee=0,Ie;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function Fe(){return t.substring(Ee,g)}function At(){return qe(Ee,g)}function H(Z,ie){throw ie=ie!==void 0?ie:qe(Ee,g),P([Te(Z)],t.substring(Ee,g),ie)}function at(Z,ie){throw ie=ie!==void 0?ie:qe(Ee,g),w(Z,ie)}function Re(Z,ie){return{type:"literal",text:Z,ignoreCase:ie}}function ke(Z,ie,Pe){return{type:"class",parts:Z,inverted:ie,ignoreCase:Pe}}function xe(){return{type:"any"}}function He(){return{type:"end"}}function Te(Z){return{type:"other",description:Z}}function Je(Z){var ie=Se[Z],Pe;if(ie)return ie;for(Pe=Z-1;!Se[Pe];)Pe--;for(ie=Se[Pe],ie={line:ie.line,column:ie.column};Pele&&(le=g,ne=[]),ne.push(Z))}function w(Z,ie){return new ud(Z,null,null,ie)}function P(Z,ie,Pe){return new ud(ud.buildMessage(Z,ie),Z,ie,Pe)}function y(){var Z,ie,Pe,Ne,ot,dt,jt,$t;if(Z=g,ie=F(),ie!==r){for(Pe=[],Ne=g,ot=X(),ot!==r?(t.charCodeAt(g)===124?(dt=n,g++):(dt=r,ee===0&&b(u)),dt===r&&(t.charCodeAt(g)===38?(dt=A,g++):(dt=r,ee===0&&b(p)),dt===r&&(t.charCodeAt(g)===94?(dt=h,g++):(dt=r,ee===0&&b(E)))),dt!==r?(jt=X(),jt!==r?($t=F(),$t!==r?(ot=[ot,dt,jt,$t],Ne=ot):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r);Ne!==r;)Pe.push(Ne),Ne=g,ot=X(),ot!==r?(t.charCodeAt(g)===124?(dt=n,g++):(dt=r,ee===0&&b(u)),dt===r&&(t.charCodeAt(g)===38?(dt=A,g++):(dt=r,ee===0&&b(p)),dt===r&&(t.charCodeAt(g)===94?(dt=h,g++):(dt=r,ee===0&&b(E)))),dt!==r?(jt=X(),jt!==r?($t=F(),$t!==r?(ot=[ot,dt,jt,$t],Ne=ot):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r);Pe!==r?(Ee=Z,ie=I(ie,Pe),Z=ie):(g=Z,Z=r)}else g=Z,Z=r;return Z}function F(){var Z,ie,Pe,Ne,ot,dt;return Z=g,t.charCodeAt(g)===33?(ie=v,g++):(ie=r,ee===0&&b(x)),ie!==r?(Pe=F(),Pe!==r?(Ee=Z,ie=C(Pe),Z=ie):(g=Z,Z=r)):(g=Z,Z=r),Z===r&&(Z=g,t.charCodeAt(g)===40?(ie=R,g++):(ie=r,ee===0&&b(L)),ie!==r?(Pe=X(),Pe!==r?(Ne=y(),Ne!==r?(ot=X(),ot!==r?(t.charCodeAt(g)===41?(dt=U,g++):(dt=r,ee===0&&b(J)),dt!==r?(Ee=Z,ie=te(Ne),Z=ie):(g=Z,Z=r)):(g=Z,Z=r)):(g=Z,Z=r)):(g=Z,Z=r)):(g=Z,Z=r),Z===r&&(Z=z())),Z}function z(){var Z,ie,Pe,Ne,ot;if(Z=g,ie=X(),ie!==r){if(Pe=g,Ne=[],ae.test(t.charAt(g))?(ot=t.charAt(g),g++):(ot=r,ee===0&&b(fe)),ot!==r)for(;ot!==r;)Ne.push(ot),ae.test(t.charAt(g))?(ot=t.charAt(g),g++):(ot=r,ee===0&&b(fe));else Ne=r;Ne!==r?Pe=t.substring(Pe,g):Pe=Ne,Pe!==r?(Ee=g,Ne=ce(Pe),Ne?Ne=void 0:Ne=r,Ne!==r?(Ee=Z,ie=me(Pe),Z=ie):(g=Z,Z=r)):(g=Z,Z=r)}else g=Z,Z=r;return Z}function X(){var Z,ie;for(ee++,Z=[],Be.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,ee===0&&b(we));ie!==r;)Z.push(ie),Be.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,ee===0&&b(we));return ee--,Z===r&&(ie=r,ee===0&&b(he)),Z}if(Ie=a(),Ie!==r&&g===t.length)return Ie;throw Ie!==r&&g{var{parse:g9e}=$z();DS.makeParser=(t=/[a-z]+/)=>(e,r)=>g9e(e,{queryPattern:t,checkFn:r});DS.parse=DS.makeParser()});var rX=_((SQt,tX)=>{"use strict";tX.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 AN=_((PQt,iX)=>{var vI=rX(),nX={};for(let t of Object.keys(vI))nX[vI[t]]=t;var Ar={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"]}};iX.exports=Ar;for(let t of Object.keys(Ar)){if(!("channels"in Ar[t]))throw new Error("missing channels property: "+t);if(!("labels"in Ar[t]))throw new Error("missing channel labels property: "+t);if(Ar[t].labels.length!==Ar[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Ar[t];delete Ar[t].channels,delete Ar[t].labels,Object.defineProperty(Ar[t],"channels",{value:e}),Object.defineProperty(Ar[t],"labels",{value:r})}Ar.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(e,r,o),n=Math.max(e,r,o),u=n-a,A,p;n===a?A=0:e===n?A=(r-o)/u:r===n?A=2+(o-e)/u:o===n&&(A=4+(e-r)/u),A=Math.min(A*60,360),A<0&&(A+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=u/(n+a):p=u/(2-n-a),[A,p*100,h*100]};Ar.rgb.hsv=function(t){let e,r,o,a,n,u=t[0]/255,A=t[1]/255,p=t[2]/255,h=Math.max(u,A,p),E=h-Math.min(u,A,p),I=function(v){return(h-v)/6/E+1/2};return E===0?(a=0,n=0):(n=E/h,e=I(u),r=I(A),o=I(p),u===h?a=o-r:A===h?a=1/3+e-o:p===h&&(a=2/3+r-e),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};Ar.rgb.hwb=function(t){let e=t[0],r=t[1],o=t[2],a=Ar.rgb.hsl(t)[0],n=1/255*Math.min(e,Math.min(r,o));return o=1-1/255*Math.max(e,Math.max(r,o)),[a,n*100,o*100]};Ar.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(1-e,1-r,1-o),n=(1-e-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,A=(1-o-a)/(1-a)||0;return[n*100,u*100,A*100,a*100]};function d9e(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Ar.rgb.keyword=function(t){let e=nX[t];if(e)return e;let r=1/0,o;for(let a of Object.keys(vI)){let n=vI[a],u=d9e(t,n);u.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=e*.4124+r*.3576+o*.1805,n=e*.2126+r*.7152+o*.0722,u=e*.0193+r*.1192+o*.9505;return[a*100,n*100,u*100]};Ar.rgb.lab=function(t){let e=Ar.rgb.xyz(t),r=e[0],o=e[1],a=e[2];r/=95.047,o/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*o-16,u=500*(r-o),A=200*(o-a);return[n,u,A]};Ar.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a,n,u;if(r===0)return u=o*255,[u,u,u];o<.5?a=o*(1+r):a=o+r-o*r;let A=2*o-a,p=[0,0,0];for(let h=0;h<3;h++)n=e+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?u=A+(a-A)*6*n:2*n<1?u=a:3*n<2?u=A+(a-A)*(2/3-n)*6:u=A,p[h]=u*255;return p};Ar.hsl.hsv=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=r,n=Math.max(o,.01);o*=2,r*=o<=1?o:2-o,a*=n<=1?n:2-n;let u=(o+r)/2,A=o===0?2*a/(n+a):2*r/(o+r);return[e,A*100,u*100]};Ar.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,o=t[2]/100,a=Math.floor(e)%6,n=e-Math.floor(e),u=255*o*(1-r),A=255*o*(1-r*n),p=255*o*(1-r*(1-n));switch(o*=255,a){case 0:return[o,p,u];case 1:return[A,o,u];case 2:return[u,o,p];case 3:return[u,A,o];case 4:return[p,u,o];case 5:return[o,u,A]}};Ar.hsv.hsl=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=Math.max(o,.01),n,u;u=(2-r)*o;let A=(2-r)*a;return n=r*a,n/=A<=1?A:2-A,n=n||0,u/=2,[e,n*100,u*100]};Ar.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a=r+o,n;a>1&&(r/=a,o/=a);let u=Math.floor(6*e),A=1-o;n=6*e-u,(u&1)!==0&&(n=1-n);let p=r+n*(A-r),h,E,I;switch(u){default:case 6:case 0:h=A,E=p,I=r;break;case 1:h=p,E=A,I=r;break;case 2:h=r,E=A,I=p;break;case 3:h=r,E=p,I=A;break;case 4:h=p,E=r,I=A;break;case 5:h=A,E=r,I=p;break}return[h*255,E*255,I*255]};Ar.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a=t[3]/100,n=1-Math.min(1,e*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),A=1-Math.min(1,o*(1-a)+a);return[n*255,u*255,A*255]};Ar.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a,n,u;return a=e*3.2406+r*-1.5372+o*-.4986,n=e*-.9689+r*1.8758+o*.0415,u=e*.0557+r*-.204+o*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),u=Math.min(Math.max(0,u),1),[a*255,n*255,u*255]};Ar.xyz.lab=function(t){let e=t[0],r=t[1],o=t[2];e/=95.047,r/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let a=116*r-16,n=500*(e-r),u=200*(r-o);return[a,n,u]};Ar.lab.xyz=function(t){let e=t[0],r=t[1],o=t[2],a,n,u;n=(e+16)/116,a=r/500+n,u=n-o/200;let A=n**3,p=a**3,h=u**3;return n=A>.008856?A:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,u=h>.008856?h:(u-16/116)/7.787,a*=95.047,n*=100,u*=108.883,[a,n,u]};Ar.lab.lch=function(t){let e=t[0],r=t[1],o=t[2],a;a=Math.atan2(o,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+o*o);return[e,u,a]};Ar.lch.lab=function(t){let e=t[0],r=t[1],a=t[2]/360*2*Math.PI,n=r*Math.cos(a),u=r*Math.sin(a);return[e,n,u]};Ar.rgb.ansi16=function(t,e=null){let[r,o,a]=t,n=e===null?Ar.rgb.hsv(t)[2]:e;if(n=Math.round(n/50),n===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(o/255)<<1|Math.round(r/255));return n===2&&(u+=60),u};Ar.hsv.ansi16=function(t){return Ar.rgb.ansi16(Ar.hsv.rgb(t),t[2])};Ar.rgb.ansi256=function(t){let e=t[0],r=t[1],o=t[2];return e===r&&r===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)};Ar.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,o=(e&1)*r*255,a=(e>>1&1)*r*255,n=(e>>2&1)*r*255;return[o,a,n]};Ar.ansi256.rgb=function(t){if(t>=232){let n=(t-232)*10+8;return[n,n,n]}t-=16;let e,r=Math.floor(t/36)/5*255,o=Math.floor((e=t%36)/6)/5*255,a=e%6/5*255;return[r,o,a]};Ar.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};Ar.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(A=>A+A).join(""));let o=parseInt(r,16),a=o>>16&255,n=o>>8&255,u=o&255;return[a,n,u]};Ar.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.max(Math.max(e,r),o),n=Math.min(Math.min(e,r),o),u=a-n,A,p;return u<1?A=n/(1-u):A=0,u<=0?p=0:a===e?p=(r-o)/u%6:a===r?p=2+(o-e)/u:p=4+(e-r)/u,p/=6,p%=1,[p*360,u*100,A*100]};Ar.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=r<.5?2*e*r:2*e*(1-r),a=0;return o<1&&(a=(r-.5*o)/(1-o)),[t[0],o*100,a*100]};Ar.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=e*r,a=0;return o<1&&(a=(r-o)/(1-o)),[t[0],o*100,a*100]};Ar.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100;if(r===0)return[o*255,o*255,o*255];let a=[0,0,0],n=e%1*6,u=n%1,A=1-u,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=A,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=A,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=A}return p=(1-r)*o,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};Ar.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e),a=0;return o>0&&(a=e/o),[t[0],a*100,o*100]};Ar.hcg.hsl=function(t){let e=t[1]/100,o=t[2]/100*(1-e)+.5*e,a=0;return o>0&&o<.5?a=e/(2*o):o>=.5&&o<1&&(a=e/(2*(1-o))),[t[0],a*100,o*100]};Ar.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e);return[t[0],(o-e)*100,(1-o)*100]};Ar.hwb.hcg=function(t){let e=t[1]/100,o=1-t[2]/100,a=o-e,n=0;return a<1&&(n=(o-a)/(1-a)),[t[0],a*100,n*100]};Ar.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Ar.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Ar.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Ar.gray.hsl=function(t){return[0,0,t[0]]};Ar.gray.hsv=Ar.gray.hsl;Ar.gray.hwb=function(t){return[0,100,t[0]]};Ar.gray.cmyk=function(t){return[0,0,0,t[0]]};Ar.gray.lab=function(t){return[t[0],0,0]};Ar.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,o=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(o.length)+o};Ar.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var oX=_((bQt,sX)=>{var SS=AN();function m9e(){let t={},e=Object.keys(SS);for(let r=e.length,o=0;o{var fN=AN(),w9e=oX(),xy={},I9e=Object.keys(fN);function B9e(t){let e=function(...r){let o=r[0];return o==null?o:(o.length>1&&(r=o),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function v9e(t){let e=function(...r){let o=r[0];if(o==null)return o;o.length>1&&(r=o);let a=t(r);if(typeof a=="object")for(let n=a.length,u=0;u{xy[t]={},Object.defineProperty(xy[t],"channels",{value:fN[t].channels}),Object.defineProperty(xy[t],"labels",{value:fN[t].labels});let e=w9e(t);Object.keys(e).forEach(o=>{let a=e[o];xy[t][o]=v9e(a),xy[t][o].raw=B9e(a)})});aX.exports=xy});var DI=_((kQt,pX)=>{"use strict";var cX=(t,e)=>(...r)=>`\x1B[${t(...r)+e}m`,uX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};5;${o}m`},AX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};2;${o[0]};${o[1]};${o[2]}m`},PS=t=>t,fX=(t,e,r)=>[t,e,r],ky=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let o=r();return Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0}),o},enumerable:!0,configurable:!0})},pN,Qy=(t,e,r,o)=>{pN===void 0&&(pN=lX());let a=o?10:0,n={};for(let[u,A]of Object.entries(pN)){let p=u==="ansi16"?"ansi":u;u===e?n[p]=t(r,a):typeof A=="object"&&(n[p]=t(A[e],a))}return n};function D9e(){let t=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[r,o]of Object.entries(e)){for(let[a,n]of Object.entries(o))e[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[a]=e[a],t.set(n[0],n[1]);Object.defineProperty(e,r,{value:o,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",ky(e.color,"ansi",()=>Qy(cX,"ansi16",PS,!1)),ky(e.color,"ansi256",()=>Qy(uX,"ansi256",PS,!1)),ky(e.color,"ansi16m",()=>Qy(AX,"rgb",fX,!1)),ky(e.bgColor,"ansi",()=>Qy(cX,"ansi16",PS,!0)),ky(e.bgColor,"ansi256",()=>Qy(uX,"ansi256",PS,!0)),ky(e.bgColor,"ansi16m",()=>Qy(AX,"rgb",fX,!0)),e}Object.defineProperty(pX,"exports",{enumerable:!0,get:D9e})});var gX=_((QQt,hX)=>{"use strict";hX.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),a=e.indexOf("--");return o!==-1&&(a===-1||o{"use strict";var S9e=ve("os"),dX=ve("tty"),Ml=gX(),{env:ls}=process,Jp;Ml("no-color")||Ml("no-colors")||Ml("color=false")||Ml("color=never")?Jp=0:(Ml("color")||Ml("colors")||Ml("color=true")||Ml("color=always"))&&(Jp=1);"FORCE_COLOR"in ls&&(ls.FORCE_COLOR==="true"?Jp=1:ls.FORCE_COLOR==="false"?Jp=0:Jp=ls.FORCE_COLOR.length===0?1:Math.min(parseInt(ls.FORCE_COLOR,10),3));function hN(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function gN(t,e){if(Jp===0)return 0;if(Ml("color=16m")||Ml("color=full")||Ml("color=truecolor"))return 3;if(Ml("color=256"))return 2;if(t&&!e&&Jp===void 0)return 0;let r=Jp||0;if(ls.TERM==="dumb")return r;if(process.platform==="win32"){let o=S9e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in ls)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(o=>o in ls)||ls.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in ls)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ls.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ls)return 1;if(ls.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ls){let o=parseInt((ls.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ls.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ls.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ls.TERM)||"COLORTERM"in ls?1:r}function P9e(t){let e=gN(t,t&&t.isTTY);return hN(e)}mX.exports={supportsColor:P9e,stdout:hN(gN(!0,dX.isatty(1))),stderr:hN(gN(!0,dX.isatty(2)))}});var EX=_((RQt,yX)=>{"use strict";var b9e=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},x9e=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r +`:` +`)+r,a=o+1,o=t.indexOf(` +`,a)}while(o!==-1);return n+=t.substr(a),n};yX.exports={stringReplaceAll:b9e,stringEncaseCRLFWithFirstIndex:x9e}});var vX=_((TQt,BX)=>{"use strict";var k9e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,CX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Q9e=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,F9e=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,R9e=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function IX(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):R9e.get(t)||t}function T9e(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(Q9e))r.push(a[2].replace(F9e,(A,p,h)=>p?IX(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function N9e(t){CX.lastIndex=0;let e=[],r;for(;(r=CX.exec(t))!==null;){let o=r[1];if(r[2]){let a=T9e(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function wX(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}BX.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(k9e,(n,u,A,p,h,E)=>{if(u)a.push(IX(u));else if(p){let I=a.join("");a=[],o.push(r.length===0?I:wX(t,r)(I)),r.push({inverse:A,styles:N9e(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(wX(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var IN=_((NQt,bX)=>{"use strict";var SI=DI(),{stdout:yN,stderr:EN}=dN(),{stringReplaceAll:L9e,stringEncaseCRLFWithFirstIndex:O9e}=EX(),DX=["ansi","ansi","ansi256","ansi16m"],Fy=Object.create(null),M9e=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=yN?yN.level:0;t.level=e.level===void 0?r:e.level},CN=class{constructor(e){return SX(e)}},SX=t=>{let e={};return M9e(e,t),e.template=(...r)=>H9e(e.template,...r),Object.setPrototypeOf(e,bS.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=CN,e.template};function bS(t){return SX(t)}for(let[t,e]of Object.entries(SI))Fy[t]={get(){let r=xS(this,wN(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Fy.visible={get(){let t=xS(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var PX=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of PX)Fy[t]={get(){let{level:e}=this;return function(...r){let o=wN(SI.color[DX[e]][t](...r),SI.color.close,this._styler);return xS(this,o,this._isEmpty)}}};for(let t of PX){let e="bg"+t[0].toUpperCase()+t.slice(1);Fy[e]={get(){let{level:r}=this;return function(...o){let a=wN(SI.bgColor[DX[r]][t](...o),SI.bgColor.close,this._styler);return xS(this,a,this._isEmpty)}}}}var U9e=Object.defineProperties(()=>{},{...Fy,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),wN=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},xS=(t,e,r)=>{let o=(...a)=>_9e(o,a.length===1?""+a[0]:a.join(" "));return o.__proto__=U9e,o._generator=t,o._styler=e,o._isEmpty=r,o},_9e=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=L9e(e,r.close,r.open),r=r.parent;let n=e.indexOf(` +`);return n!==-1&&(e=O9e(e,a,o,n)),o+e+a},mN,H9e=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";Ul.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Ul.find=(t,e)=>t.nodes.find(r=>r.type===e);Ul.exceedsLimit=(t,e,r=1,o)=>o===!1||!Ul.isInteger(t)||!Ul.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=o;Ul.escapeNode=(t,e=0,r)=>{let o=t.nodes[e];!o||(r&&o.type===r||o.type==="open"||o.type==="close")&&o.escaped!==!0&&(o.value="\\"+o.value,o.escaped=!0)};Ul.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;Ul.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Ul.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Ul.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);Ul.flatten=(...t)=>{let e=[],r=o=>{for(let a=0;a{"use strict";var xX=kS();kX.exports=(t,e={})=>{let r=(o,a={})=>{let n=e.escapeInvalid&&xX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A="";if(o.value)return(n||u)&&xX.isOpenOrClose(o)?"\\"+o.value:o.value;if(o.value)return o.value;if(o.nodes)for(let p of o.nodes)A+=r(p);return A};return r(t)}});var FX=_((MQt,QX)=>{"use strict";QX.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var HX=_((UQt,_X)=>{"use strict";var RX=FX(),Ad=(t,e,r)=>{if(RX(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(RX(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};typeof o.strictZeros=="boolean"&&(o.relaxZeros=o.strictZeros===!1);let a=String(o.relaxZeros),n=String(o.shorthand),u=String(o.capture),A=String(o.wrap),p=t+":"+e+"="+a+n+u+A;if(Ad.cache.hasOwnProperty(p))return Ad.cache[p].result;let h=Math.min(t,e),E=Math.max(t,e);if(Math.abs(h-E)===1){let R=t+"|"+e;return o.capture?`(${R})`:o.wrap===!1?R:`(?:${R})`}let I=UX(t)||UX(e),v={min:t,max:e,a:h,b:E},x=[],C=[];if(I&&(v.isPadded=I,v.maxLen=String(v.max).length),h<0){let R=E<0?Math.abs(E):1;C=TX(R,Math.abs(h),v,o),h=v.a=0}return E>=0&&(x=TX(h,E,v,o)),v.negatives=C,v.positives=x,v.result=q9e(C,x,o),o.capture===!0?v.result=`(${v.result})`:o.wrap!==!1&&x.length+C.length>1&&(v.result=`(?:${v.result})`),Ad.cache[p]=v,v.result};function q9e(t,e,r){let o=BN(t,e,"-",!1,r)||[],a=BN(e,t,"",!1,r)||[],n=BN(t,e,"-?",!0,r)||[];return o.concat(n).concat(a).join("|")}function j9e(t,e){let r=1,o=1,a=LX(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=LX(t,r);for(a=OX(e+1,o)-1;t1&&A.count.pop(),A.count.push(E.count[0]),A.string=A.pattern+MX(A.count),u=h+1;continue}r.isPadded&&(I=V9e(h,r,o)),E.string=I+E.pattern+MX(E.count),n.push(E),u=h+1,A=E}return n}function BN(t,e,r,o,a){let n=[];for(let u of t){let{string:A}=u;!o&&!NX(e,"string",A)&&n.push(r+A),o&&NX(e,"string",A)&&n.push(r+A)}return n}function Y9e(t,e){let r=[];for(let o=0;oe?1:e>t?-1:0}function NX(t,e,r){return t.some(o=>o[e]===r)}function LX(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function OX(t,e){return t-t%Math.pow(10,e)}function MX(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function K9e(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function UX(t){return/^-?(0+)\d/.test(t)}function V9e(t,e,r){if(!e.isPadded)return t;let o=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${o}}`:`0{${o}}`}}Ad.cache={};Ad.clearCache=()=>Ad.cache={};_X.exports=Ad});var SN=_((_Qt,JX)=>{"use strict";var J9e=ve("util"),GX=HX(),qX=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),z9e=t=>e=>t===!0?Number(e):String(e),vN=t=>typeof t=="number"||typeof t=="string"&&t!=="",bI=t=>Number.isInteger(+t),DN=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},X9e=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,Z9e=(t,e,r)=>{if(e>0){let o=t[0]==="-"?"-":"";o&&(t=t.slice(1)),t=o+t.padStart(o?e-1:e,"0")}return r===!1?String(t):t},jX=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((u,A)=>uA?1:0),t.positives.sort((u,A)=>uA?1:0);let r=e.capture?"":"?:",o="",a="",n;return t.positives.length&&(o=t.positives.join("|")),t.negatives.length&&(a=`-(${r}${t.negatives.join("|")})`),o&&a?n=`${o}|${a}`:n=o||a,e.wrap?`(${r}${n})`:n},YX=(t,e,r,o)=>{if(r)return GX(t,e,{wrap:!1,...o});let a=String.fromCharCode(t);if(t===e)return a;let n=String.fromCharCode(e);return`[${a}-${n}]`},WX=(t,e,r)=>{if(Array.isArray(t)){let o=r.wrap===!0,a=r.capture?"":"?:";return o?`(${a}${t.join("|")})`:t.join("|")}return GX(t,e,r)},KX=(...t)=>new RangeError("Invalid range arguments: "+J9e.inspect(...t)),VX=(t,e,r)=>{if(r.strictRanges===!0)throw KX([t,e]);return[]},e7e=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},t7e=(t,e,r=1,o={})=>{let a=Number(t),n=Number(e);if(!Number.isInteger(a)||!Number.isInteger(n)){if(o.strictRanges===!0)throw KX([t,e]);return[]}a===0&&(a=0),n===0&&(n=0);let u=a>n,A=String(t),p=String(e),h=String(r);r=Math.max(Math.abs(r),1);let E=DN(A)||DN(p)||DN(h),I=E?Math.max(A.length,p.length,h.length):0,v=E===!1&&X9e(t,e,o)===!1,x=o.transform||z9e(v);if(o.toRegex&&r===1)return YX(jX(t,I),jX(e,I),!0,o);let C={negatives:[],positives:[]},R=J=>C[J<0?"negatives":"positives"].push(Math.abs(J)),L=[],U=0;for(;u?a>=n:a<=n;)o.toRegex===!0&&r>1?R(a):L.push(Z9e(x(a,U),I,v)),a=u?a-r:a+r,U++;return o.toRegex===!0?r>1?$9e(C,o):WX(L,null,{wrap:!1,...o}):L},r7e=(t,e,r=1,o={})=>{if(!bI(t)&&t.length>1||!bI(e)&&e.length>1)return VX(t,e,o);let a=o.transform||(v=>String.fromCharCode(v)),n=`${t}`.charCodeAt(0),u=`${e}`.charCodeAt(0),A=n>u,p=Math.min(n,u),h=Math.max(n,u);if(o.toRegex&&r===1)return YX(p,h,!1,o);let E=[],I=0;for(;A?n>=u:n<=u;)E.push(a(n,I)),n=A?n-r:n+r,I++;return o.toRegex===!0?WX(E,null,{wrap:!1,options:o}):E},RS=(t,e,r,o={})=>{if(e==null&&vN(t))return[t];if(!vN(t)||!vN(e))return VX(t,e,o);if(typeof r=="function")return RS(t,e,1,{transform:r});if(qX(r))return RS(t,e,0,r);let a={...o};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,bI(r)?bI(t)&&bI(e)?t7e(t,e,r,a):r7e(t,e,Math.max(Math.abs(r),1),a):r!=null&&!qX(r)?e7e(r,a):RS(t,e,1,r)};JX.exports=RS});var ZX=_((HQt,XX)=>{"use strict";var n7e=SN(),zX=kS(),i7e=(t,e={})=>{let r=(o,a={})=>{let n=zX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A=n===!0||u===!0,p=e.escapeInvalid===!0?"\\":"",h="";if(o.isOpen===!0||o.isClose===!0)return p+o.value;if(o.type==="open")return A?p+o.value:"(";if(o.type==="close")return A?p+o.value:")";if(o.type==="comma")return o.prev.type==="comma"?"":A?o.value:"|";if(o.value)return o.value;if(o.nodes&&o.ranges>0){let E=zX.reduce(o.nodes),I=n7e(...E,{...e,wrap:!1,toRegex:!0});if(I.length!==0)return E.length>1&&I.length>1?`(${I})`:I}if(o.nodes)for(let E of o.nodes)h+=r(E,o);return h};return r(t)};XX.exports=i7e});var tZ=_((qQt,eZ)=>{"use strict";var s7e=SN(),$X=QS(),Ry=kS(),fd=(t="",e="",r=!1)=>{let o=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Ry.flatten(e).map(a=>`{${a}}`):e;for(let a of t)if(Array.isArray(a))for(let n of a)o.push(fd(n,e,r));else for(let n of e)r===!0&&typeof n=="string"&&(n=`{${n}}`),o.push(Array.isArray(n)?fd(a,n,r):a+n);return Ry.flatten(o)},o7e=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,o=(a,n={})=>{a.queue=[];let u=n,A=n.queue;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,A=u.queue;if(a.invalid||a.dollar){A.push(fd(A.pop(),$X(a,e)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){A.push(fd(A.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let I=Ry.reduce(a.nodes);if(Ry.exceedsLimit(...I,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let v=s7e(...I,e);v.length===0&&(v=$X(a,e)),A.push(fd(A.pop(),v)),a.nodes=[];return}let p=Ry.encloseBrace(a),h=a.queue,E=a;for(;E.type!=="brace"&&E.type!=="root"&&E.parent;)E=E.parent,h=E.queue;for(let I=0;I{"use strict";rZ.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:` +`,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:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var lZ=_((GQt,aZ)=>{"use strict";var a7e=QS(),{MAX_LENGTH:iZ,CHAR_BACKSLASH:PN,CHAR_BACKTICK:l7e,CHAR_COMMA:c7e,CHAR_DOT:u7e,CHAR_LEFT_PARENTHESES:A7e,CHAR_RIGHT_PARENTHESES:f7e,CHAR_LEFT_CURLY_BRACE:p7e,CHAR_RIGHT_CURLY_BRACE:h7e,CHAR_LEFT_SQUARE_BRACKET:sZ,CHAR_RIGHT_SQUARE_BRACKET:oZ,CHAR_DOUBLE_QUOTE:g7e,CHAR_SINGLE_QUOTE:d7e,CHAR_NO_BREAK_SPACE:m7e,CHAR_ZERO_WIDTH_NOBREAK_SPACE:y7e}=nZ(),E7e=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},o=typeof r.maxLength=="number"?Math.min(iZ,r.maxLength):iZ;if(t.length>o)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${o})`);let a={type:"root",input:t,nodes:[]},n=[a],u=a,A=a,p=0,h=t.length,E=0,I=0,v,x={},C=()=>t[E++],R=L=>{if(L.type==="text"&&A.type==="dot"&&(A.type="text"),A&&A.type==="text"&&L.type==="text"){A.value+=L.value;return}return u.nodes.push(L),L.parent=u,L.prev=A,A=L,L};for(R({type:"bos"});E0){if(u.ranges>0){u.ranges=0;let L=u.nodes.shift();u.nodes=[L,{type:"text",value:a7e(u)}]}R({type:"comma",value:v}),u.commas++;continue}if(v===u7e&&I>0&&u.commas===0){let L=u.nodes;if(I===0||L.length===0){R({type:"text",value:v});continue}if(A.type==="dot"){if(u.range=[],A.value+=v,A.type="range",u.nodes.length!==3&&u.nodes.length!==5){u.invalid=!0,u.ranges=0,A.type="text";continue}u.ranges++,u.args=[];continue}if(A.type==="range"){L.pop();let U=L[L.length-1];U.value+=A.value+v,A=U,u.ranges--;continue}R({type:"dot",value:v});continue}R({type:"text",value:v})}do if(u=n.pop(),u.type!=="root"){u.nodes.forEach(J=>{J.nodes||(J.type==="open"&&(J.isOpen=!0),J.type==="close"&&(J.isClose=!0),J.nodes||(J.type="text"),J.invalid=!0)});let L=n[n.length-1],U=L.nodes.indexOf(u);L.nodes.splice(U,1,...u.nodes)}while(n.length>0);return R({type:"eos"}),a};aZ.exports=E7e});var AZ=_((YQt,uZ)=>{"use strict";var cZ=QS(),C7e=ZX(),w7e=tZ(),I7e=lZ(),rl=(t,e={})=>{let r=[];if(Array.isArray(t))for(let o of t){let a=rl.create(o,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(rl.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};rl.parse=(t,e={})=>I7e(t,e);rl.stringify=(t,e={})=>cZ(typeof t=="string"?rl.parse(t,e):t,e);rl.compile=(t,e={})=>(typeof t=="string"&&(t=rl.parse(t,e)),C7e(t,e));rl.expand=(t,e={})=>{typeof t=="string"&&(t=rl.parse(t,e));let r=w7e(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};rl.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?rl.compile(t,e):rl.expand(t,e);uZ.exports=rl});var xI=_((WQt,dZ)=>{"use strict";var B7e=ve("path"),Ku="\\\\/",fZ=`[^${Ku}]`,vf="\\.",v7e="\\+",D7e="\\?",TS="\\/",S7e="(?=.)",pZ="[^/]",bN=`(?:${TS}|$)`,hZ=`(?:^|${TS})`,xN=`${vf}{1,2}${bN}`,P7e=`(?!${vf})`,b7e=`(?!${hZ}${xN})`,x7e=`(?!${vf}{0,1}${bN})`,k7e=`(?!${xN})`,Q7e=`[^.${TS}]`,F7e=`${pZ}*?`,gZ={DOT_LITERAL:vf,PLUS_LITERAL:v7e,QMARK_LITERAL:D7e,SLASH_LITERAL:TS,ONE_CHAR:S7e,QMARK:pZ,END_ANCHOR:bN,DOTS_SLASH:xN,NO_DOT:P7e,NO_DOTS:b7e,NO_DOT_SLASH:x7e,NO_DOTS_SLASH:k7e,QMARK_NO_DOT:Q7e,STAR:F7e,START_ANCHOR:hZ},R7e={...gZ,SLASH_LITERAL:`[${Ku}]`,QMARK:fZ,STAR:`${fZ}*?`,DOTS_SLASH:`${vf}{1,2}(?:[${Ku}]|$)`,NO_DOT:`(?!${vf})`,NO_DOTS:`(?!(?:^|[${Ku}])${vf}{1,2}(?:[${Ku}]|$))`,NO_DOT_SLASH:`(?!${vf}{0,1}(?:[${Ku}]|$))`,NO_DOTS_SLASH:`(?!${vf}{1,2}(?:[${Ku}]|$))`,QMARK_NO_DOT:`[^.${Ku}]`,START_ANCHOR:`(?:^|[${Ku}])`,END_ANCHOR:`(?:[${Ku}]|$)`},T7e={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"};dZ.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:T7e,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:B7e.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?R7e:gZ}}});var kI=_(Sa=>{"use strict";var N7e=ve("path"),L7e=process.platform==="win32",{REGEX_BACKSLASH:O7e,REGEX_REMOVE_BACKSLASH:M7e,REGEX_SPECIAL_CHARS:U7e,REGEX_SPECIAL_CHARS_GLOBAL:_7e}=xI();Sa.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Sa.hasRegexChars=t=>U7e.test(t);Sa.isRegexChar=t=>t.length===1&&Sa.hasRegexChars(t);Sa.escapeRegex=t=>t.replace(_7e,"\\$1");Sa.toPosixSlashes=t=>t.replace(O7e,"/");Sa.removeBackslashes=t=>t.replace(M7e,e=>e==="\\"?"":e);Sa.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Sa.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:L7e===!0||N7e.sep==="\\";Sa.escapeLast=(t,e,r)=>{let o=t.lastIndexOf(e,r);return o===-1?t:t[o-1]==="\\"?Sa.escapeLast(t,e,o-1):`${t.slice(0,o)}\\${t.slice(o)}`};Sa.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Sa.wrapOutput=(t,e={},r={})=>{let o=r.contains?"":"^",a=r.contains?"":"$",n=`${o}(?:${t})${a}`;return e.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var vZ=_((VQt,BZ)=>{"use strict";var mZ=kI(),{CHAR_ASTERISK:kN,CHAR_AT:H7e,CHAR_BACKWARD_SLASH:QI,CHAR_COMMA:q7e,CHAR_DOT:QN,CHAR_EXCLAMATION_MARK:FN,CHAR_FORWARD_SLASH:IZ,CHAR_LEFT_CURLY_BRACE:RN,CHAR_LEFT_PARENTHESES:TN,CHAR_LEFT_SQUARE_BRACKET:j7e,CHAR_PLUS:G7e,CHAR_QUESTION_MARK:yZ,CHAR_RIGHT_CURLY_BRACE:Y7e,CHAR_RIGHT_PARENTHESES:EZ,CHAR_RIGHT_SQUARE_BRACKET:W7e}=xI(),CZ=t=>t===IZ||t===QI,wZ=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},K7e=(t,e)=>{let r=e||{},o=t.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],u=[],A=[],p=t,h=-1,E=0,I=0,v=!1,x=!1,C=!1,R=!1,L=!1,U=!1,J=!1,te=!1,ae=!1,fe=!1,ce=0,me,he,Be={value:"",depth:0,isGlob:!1},we=()=>h>=o,g=()=>p.charCodeAt(h+1),Ee=()=>(me=he,p.charCodeAt(++h));for(;h0&&(le=p.slice(0,E),p=p.slice(E),I-=E),Se&&C===!0&&I>0?(Se=p.slice(0,I),ne=p.slice(I)):C===!0?(Se="",ne=p):Se=p,Se&&Se!==""&&Se!=="/"&&Se!==p&&CZ(Se.charCodeAt(Se.length-1))&&(Se=Se.slice(0,-1)),r.unescape===!0&&(ne&&(ne=mZ.removeBackslashes(ne)),Se&&J===!0&&(Se=mZ.removeBackslashes(Se)));let ee={prefix:le,input:t,start:E,base:Se,glob:ne,isBrace:v,isBracket:x,isGlob:C,isExtglob:R,isGlobstar:L,negated:te,negatedExtglob:ae};if(r.tokens===!0&&(ee.maxDepth=0,CZ(he)||u.push(Be),ee.tokens=u),r.parts===!0||r.tokens===!0){let Ie;for(let Fe=0;Fe{"use strict";var NS=xI(),nl=kI(),{MAX_LENGTH:LS,POSIX_REGEX_SOURCE:V7e,REGEX_NON_SPECIAL_CHARS:J7e,REGEX_SPECIAL_CHARS_BACKREF:z7e,REPLACEMENTS:DZ}=NS,X7e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(a=>nl.escapeRegex(a)).join("..")}return r},Ty=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,NN=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=DZ[t]||t;let r={...e},o=typeof r.maxLength=="number"?Math.min(LS,r.maxLength):LS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);let n={type:"bos",value:"",output:r.prepend||""},u=[n],A=r.capture?"":"?:",p=nl.isWindows(e),h=NS.globChars(p),E=NS.extglobChars(h),{DOT_LITERAL:I,PLUS_LITERAL:v,SLASH_LITERAL:x,ONE_CHAR:C,DOTS_SLASH:R,NO_DOT:L,NO_DOT_SLASH:U,NO_DOTS_SLASH:J,QMARK:te,QMARK_NO_DOT:ae,STAR:fe,START_ANCHOR:ce}=h,me=b=>`(${A}(?:(?!${ce}${b.dot?R:I}).)*?)`,he=r.dot?"":L,Be=r.dot?te:ae,we=r.bash===!0?me(r):fe;r.capture&&(we=`(${we})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};t=nl.removePrefix(t,g),a=t.length;let Ee=[],Se=[],le=[],ne=n,ee,Ie=()=>g.index===a-1,Fe=g.peek=(b=1)=>t[g.index+b],At=g.advance=()=>t[++g.index]||"",H=()=>t.slice(g.index+1),at=(b="",w=0)=>{g.consumed+=b,g.index+=w},Re=b=>{g.output+=b.output!=null?b.output:b.value,at(b.value)},ke=()=>{let b=1;for(;Fe()==="!"&&(Fe(2)!=="("||Fe(3)==="?");)At(),g.start++,b++;return b%2===0?!1:(g.negated=!0,g.start++,!0)},xe=b=>{g[b]++,le.push(b)},He=b=>{g[b]--,le.pop()},Te=b=>{if(ne.type==="globstar"){let w=g.braces>0&&(b.type==="comma"||b.type==="brace"),P=b.extglob===!0||Ee.length&&(b.type==="pipe"||b.type==="paren");b.type!=="slash"&&b.type!=="paren"&&!w&&!P&&(g.output=g.output.slice(0,-ne.output.length),ne.type="star",ne.value="*",ne.output=we,g.output+=ne.output)}if(Ee.length&&b.type!=="paren"&&(Ee[Ee.length-1].inner+=b.value),(b.value||b.output)&&Re(b),ne&&ne.type==="text"&&b.type==="text"){ne.value+=b.value,ne.output=(ne.output||"")+b.value;return}b.prev=ne,u.push(b),ne=b},Je=(b,w)=>{let P={...E[w],conditions:1,inner:""};P.prev=ne,P.parens=g.parens,P.output=g.output;let y=(r.capture?"(":"")+P.open;xe("parens"),Te({type:b,value:w,output:g.output?"":C}),Te({type:"paren",extglob:!0,value:At(),output:y}),Ee.push(P)},qe=b=>{let w=b.close+(r.capture?")":""),P;if(b.type==="negate"){let y=we;if(b.inner&&b.inner.length>1&&b.inner.includes("/")&&(y=me(r)),(y!==we||Ie()||/^\)+$/.test(H()))&&(w=b.close=`)$))${y}`),b.inner.includes("*")&&(P=H())&&/^\.[^\\/.]+$/.test(P)){let F=NN(P,{...e,fastpaths:!1}).output;w=b.close=`)${F})${y})`}b.prev.type==="bos"&&(g.negatedExtglob=!0)}Te({type:"paren",extglob:!0,value:ee,output:w}),He("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let b=!1,w=t.replace(z7e,(P,y,F,z,X,Z)=>z==="\\"?(b=!0,P):z==="?"?y?y+z+(X?te.repeat(X.length):""):Z===0?Be+(X?te.repeat(X.length):""):te.repeat(F.length):z==="."?I.repeat(F.length):z==="*"?y?y+z+(X?we:""):we:y?P:`\\${P}`);return b===!0&&(r.unescape===!0?w=w.replace(/\\/g,""):w=w.replace(/\\+/g,P=>P.length%2===0?"\\\\":P?"\\":"")),w===t&&r.contains===!0?(g.output=t,g):(g.output=nl.wrapOutput(w,g,e),g)}for(;!Ie();){if(ee=At(),ee==="\0")continue;if(ee==="\\"){let P=Fe();if(P==="/"&&r.bash!==!0||P==="."||P===";")continue;if(!P){ee+="\\",Te({type:"text",value:ee});continue}let y=/^\\+/.exec(H()),F=0;if(y&&y[0].length>2&&(F=y[0].length,g.index+=F,F%2!==0&&(ee+="\\")),r.unescape===!0?ee=At():ee+=At(),g.brackets===0){Te({type:"text",value:ee});continue}}if(g.brackets>0&&(ee!=="]"||ne.value==="["||ne.value==="[^")){if(r.posix!==!1&&ee===":"){let P=ne.value.slice(1);if(P.includes("[")&&(ne.posix=!0,P.includes(":"))){let y=ne.value.lastIndexOf("["),F=ne.value.slice(0,y),z=ne.value.slice(y+2),X=V7e[z];if(X){ne.value=F+X,g.backtrack=!0,At(),!n.output&&u.indexOf(ne)===1&&(n.output=C);continue}}}(ee==="["&&Fe()!==":"||ee==="-"&&Fe()==="]")&&(ee=`\\${ee}`),ee==="]"&&(ne.value==="["||ne.value==="[^")&&(ee=`\\${ee}`),r.posix===!0&&ee==="!"&&ne.value==="["&&(ee="^"),ne.value+=ee,Re({value:ee});continue}if(g.quotes===1&&ee!=='"'){ee=nl.escapeRegex(ee),ne.value+=ee,Re({value:ee});continue}if(ee==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&Te({type:"text",value:ee});continue}if(ee==="("){xe("parens"),Te({type:"paren",value:ee});continue}if(ee===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Ty("opening","("));let P=Ee[Ee.length-1];if(P&&g.parens===P.parens+1){qe(Ee.pop());continue}Te({type:"paren",value:ee,output:g.parens?")":"\\)"}),He("parens");continue}if(ee==="["){if(r.nobracket===!0||!H().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Ty("closing","]"));ee=`\\${ee}`}else xe("brackets");Te({type:"bracket",value:ee});continue}if(ee==="]"){if(r.nobracket===!0||ne&&ne.type==="bracket"&&ne.value.length===1){Te({type:"text",value:ee,output:`\\${ee}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Ty("opening","["));Te({type:"text",value:ee,output:`\\${ee}`});continue}He("brackets");let P=ne.value.slice(1);if(ne.posix!==!0&&P[0]==="^"&&!P.includes("/")&&(ee=`/${ee}`),ne.value+=ee,Re({value:ee}),r.literalBrackets===!1||nl.hasRegexChars(P))continue;let y=nl.escapeRegex(ne.value);if(g.output=g.output.slice(0,-ne.value.length),r.literalBrackets===!0){g.output+=y,ne.value=y;continue}ne.value=`(${A}${y}|${ne.value})`,g.output+=ne.value;continue}if(ee==="{"&&r.nobrace!==!0){xe("braces");let P={type:"brace",value:ee,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Se.push(P),Te(P);continue}if(ee==="}"){let P=Se[Se.length-1];if(r.nobrace===!0||!P){Te({type:"text",value:ee,output:ee});continue}let y=")";if(P.dots===!0){let F=u.slice(),z=[];for(let X=F.length-1;X>=0&&(u.pop(),F[X].type!=="brace");X--)F[X].type!=="dots"&&z.unshift(F[X].value);y=X7e(z,r),g.backtrack=!0}if(P.comma!==!0&&P.dots!==!0){let F=g.output.slice(0,P.outputIndex),z=g.tokens.slice(P.tokensIndex);P.value=P.output="\\{",ee=y="\\}",g.output=F;for(let X of z)g.output+=X.output||X.value}Te({type:"brace",value:ee,output:y}),He("braces"),Se.pop();continue}if(ee==="|"){Ee.length>0&&Ee[Ee.length-1].conditions++,Te({type:"text",value:ee});continue}if(ee===","){let P=ee,y=Se[Se.length-1];y&&le[le.length-1]==="braces"&&(y.comma=!0,P="|"),Te({type:"comma",value:ee,output:P});continue}if(ee==="/"){if(ne.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",u.pop(),ne=n;continue}Te({type:"slash",value:ee,output:x});continue}if(ee==="."){if(g.braces>0&&ne.type==="dot"){ne.value==="."&&(ne.output=I);let P=Se[Se.length-1];ne.type="dots",ne.output+=ee,ne.value+=ee,P.dots=!0;continue}if(g.braces+g.parens===0&&ne.type!=="bos"&&ne.type!=="slash"){Te({type:"text",value:ee,output:I});continue}Te({type:"dot",value:ee,output:I});continue}if(ee==="?"){if(!(ne&&ne.value==="(")&&r.noextglob!==!0&&Fe()==="("&&Fe(2)!=="?"){Je("qmark",ee);continue}if(ne&&ne.type==="paren"){let y=Fe(),F=ee;if(y==="<"&&!nl.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ne.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(H()))&&(F=`\\${ee}`),Te({type:"text",value:ee,output:F});continue}if(r.dot!==!0&&(ne.type==="slash"||ne.type==="bos")){Te({type:"qmark",value:ee,output:ae});continue}Te({type:"qmark",value:ee,output:te});continue}if(ee==="!"){if(r.noextglob!==!0&&Fe()==="("&&(Fe(2)!=="?"||!/[!=<:]/.test(Fe(3)))){Je("negate",ee);continue}if(r.nonegate!==!0&&g.index===0){ke();continue}}if(ee==="+"){if(r.noextglob!==!0&&Fe()==="("&&Fe(2)!=="?"){Je("plus",ee);continue}if(ne&&ne.value==="("||r.regex===!1){Te({type:"plus",value:ee,output:v});continue}if(ne&&(ne.type==="bracket"||ne.type==="paren"||ne.type==="brace")||g.parens>0){Te({type:"plus",value:ee});continue}Te({type:"plus",value:v});continue}if(ee==="@"){if(r.noextglob!==!0&&Fe()==="("&&Fe(2)!=="?"){Te({type:"at",extglob:!0,value:ee,output:""});continue}Te({type:"text",value:ee});continue}if(ee!=="*"){(ee==="$"||ee==="^")&&(ee=`\\${ee}`);let P=J7e.exec(H());P&&(ee+=P[0],g.index+=P[0].length),Te({type:"text",value:ee});continue}if(ne&&(ne.type==="globstar"||ne.star===!0)){ne.type="star",ne.star=!0,ne.value+=ee,ne.output=we,g.backtrack=!0,g.globstar=!0,at(ee);continue}let b=H();if(r.noextglob!==!0&&/^\([^?]/.test(b)){Je("star",ee);continue}if(ne.type==="star"){if(r.noglobstar===!0){at(ee);continue}let P=ne.prev,y=P.prev,F=P.type==="slash"||P.type==="bos",z=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!F||b[0]&&b[0]!=="/")){Te({type:"star",value:ee,output:""});continue}let X=g.braces>0&&(P.type==="comma"||P.type==="brace"),Z=Ee.length&&(P.type==="pipe"||P.type==="paren");if(!F&&P.type!=="paren"&&!X&&!Z){Te({type:"star",value:ee,output:""});continue}for(;b.slice(0,3)==="/**";){let ie=t[g.index+4];if(ie&&ie!=="/")break;b=b.slice(3),at("/**",3)}if(P.type==="bos"&&Ie()){ne.type="globstar",ne.value+=ee,ne.output=me(r),g.output=ne.output,g.globstar=!0,at(ee);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&!z&&Ie()){g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=me(r)+(r.strictSlashes?")":"|$)"),ne.value+=ee,g.globstar=!0,g.output+=P.output+ne.output,at(ee);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&b[0]==="/"){let ie=b[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=`${me(r)}${x}|${x}${ie})`,ne.value+=ee,g.output+=P.output+ne.output,g.globstar=!0,at(ee+At()),Te({type:"slash",value:"/",output:""});continue}if(P.type==="bos"&&b[0]==="/"){ne.type="globstar",ne.value+=ee,ne.output=`(?:^|${x}|${me(r)}${x})`,g.output=ne.output,g.globstar=!0,at(ee+At()),Te({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ne.output.length),ne.type="globstar",ne.output=me(r),ne.value+=ee,g.output+=ne.output,g.globstar=!0,at(ee);continue}let w={type:"star",value:ee,output:we};if(r.bash===!0){w.output=".*?",(ne.type==="bos"||ne.type==="slash")&&(w.output=he+w.output),Te(w);continue}if(ne&&(ne.type==="bracket"||ne.type==="paren")&&r.regex===!0){w.output=ee,Te(w);continue}(g.index===g.start||ne.type==="slash"||ne.type==="dot")&&(ne.type==="dot"?(g.output+=U,ne.output+=U):r.dot===!0?(g.output+=J,ne.output+=J):(g.output+=he,ne.output+=he),Fe()!=="*"&&(g.output+=C,ne.output+=C)),Te(w)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ty("closing","]"));g.output=nl.escapeLast(g.output,"["),He("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ty("closing",")"));g.output=nl.escapeLast(g.output,"("),He("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ty("closing","}"));g.output=nl.escapeLast(g.output,"{"),He("braces")}if(r.strictSlashes!==!0&&(ne.type==="star"||ne.type==="bracket")&&Te({type:"maybe_slash",value:"",output:`${x}?`}),g.backtrack===!0){g.output="";for(let b of g.tokens)g.output+=b.output!=null?b.output:b.value,b.suffix&&(g.output+=b.suffix)}return g};NN.fastpaths=(t,e)=>{let r={...e},o=typeof r.maxLength=="number"?Math.min(LS,r.maxLength):LS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);t=DZ[t]||t;let n=nl.isWindows(e),{DOT_LITERAL:u,SLASH_LITERAL:A,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:E,NO_DOTS:I,NO_DOTS_SLASH:v,STAR:x,START_ANCHOR:C}=NS.globChars(n),R=r.dot?I:E,L=r.dot?v:E,U=r.capture?"":"?:",J={negated:!1,prefix:""},te=r.bash===!0?".*?":x;r.capture&&(te=`(${te})`);let ae=he=>he.noglobstar===!0?te:`(${U}(?:(?!${C}${he.dot?h:u}).)*?)`,fe=he=>{switch(he){case"*":return`${R}${p}${te}`;case".*":return`${u}${p}${te}`;case"*.*":return`${R}${te}${u}${p}${te}`;case"*/*":return`${R}${te}${A}${p}${L}${te}`;case"**":return R+ae(r);case"**/*":return`(?:${R}${ae(r)}${A})?${L}${p}${te}`;case"**/*.*":return`(?:${R}${ae(r)}${A})?${L}${te}${u}${p}${te}`;case"**/.*":return`(?:${R}${ae(r)}${A})?${u}${p}${te}`;default:{let Be=/^(.*?)\.(\w+)$/.exec(he);if(!Be)return;let we=fe(Be[1]);return we?we+u+Be[2]:void 0}}},ce=nl.removePrefix(t,J),me=fe(ce);return me&&r.strictSlashes!==!0&&(me+=`${A}?`),me};SZ.exports=NN});var xZ=_((zQt,bZ)=>{"use strict";var Z7e=ve("path"),$7e=vZ(),LN=PZ(),ON=kI(),eYe=xI(),tYe=t=>t&&typeof t=="object"&&!Array.isArray(t),Mi=(t,e,r=!1)=>{if(Array.isArray(t)){let E=t.map(v=>Mi(v,e,r));return v=>{for(let x of E){let C=x(v);if(C)return C}return!1}}let o=tYe(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let a=e||{},n=ON.isWindows(e),u=o?Mi.compileRe(t,e):Mi.makeRe(t,e,!1,!0),A=u.state;delete u.state;let p=()=>!1;if(a.ignore){let E={...e,ignore:null,onMatch:null,onResult:null};p=Mi(a.ignore,E,r)}let h=(E,I=!1)=>{let{isMatch:v,match:x,output:C}=Mi.test(E,u,e,{glob:t,posix:n}),R={glob:t,state:A,regex:u,posix:n,input:E,output:C,match:x,isMatch:v};return typeof a.onResult=="function"&&a.onResult(R),v===!1?(R.isMatch=!1,I?R:!1):p(E)?(typeof a.onIgnore=="function"&&a.onIgnore(R),R.isMatch=!1,I?R:!1):(typeof a.onMatch=="function"&&a.onMatch(R),I?R:!0)};return r&&(h.state=A),h};Mi.test=(t,e,r,{glob:o,posix:a}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let n=r||{},u=n.format||(a?ON.toPosixSlashes:null),A=t===o,p=A&&u?u(t):t;return A===!1&&(p=u?u(t):t,A=p===o),(A===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?A=Mi.matchBase(t,e,r,a):A=e.exec(p)),{isMatch:Boolean(A),match:A,output:p}};Mi.matchBase=(t,e,r,o=ON.isWindows(r))=>(e instanceof RegExp?e:Mi.makeRe(e,r)).test(Z7e.basename(t));Mi.isMatch=(t,e,r)=>Mi(e,r)(t);Mi.parse=(t,e)=>Array.isArray(t)?t.map(r=>Mi.parse(r,e)):LN(t,{...e,fastpaths:!1});Mi.scan=(t,e)=>$7e(t,e);Mi.compileRe=(t,e,r=!1,o=!1)=>{if(r===!0)return t.output;let a=e||{},n=a.contains?"":"^",u=a.contains?"":"$",A=`${n}(?:${t.output})${u}`;t&&t.negated===!0&&(A=`^(?!${A}).*$`);let p=Mi.toRegex(A,e);return o===!0&&(p.state=t),p};Mi.makeRe=(t,e={},r=!1,o=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a.output=LN.fastpaths(t,e)),a.output||(a=LN(t,e)),Mi.compileRe(a,e,r,o)};Mi.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Mi.constants=eYe;bZ.exports=Mi});var QZ=_((XQt,kZ)=>{"use strict";kZ.exports=xZ()});var Zo=_((ZQt,NZ)=>{"use strict";var RZ=ve("util"),TZ=AZ(),Vu=QZ(),MN=kI(),FZ=t=>t===""||t==="./",yi=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let o=new Set,a=new Set,n=new Set,u=0,A=E=>{n.add(E.output),r&&r.onResult&&r.onResult(E)};for(let E=0;E!o.has(E));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(E=>E.replace(/\\/g,"")):e}return h};yi.match=yi;yi.matcher=(t,e)=>Vu(t,e);yi.isMatch=(t,e,r)=>Vu(e,r)(t);yi.any=yi.isMatch;yi.not=(t,e,r={})=>{e=[].concat(e).map(String);let o=new Set,a=[],n=A=>{r.onResult&&r.onResult(A),a.push(A.output)},u=new Set(yi(t,e,{...r,onResult:n}));for(let A of a)u.has(A)||o.add(A);return[...o]};yi.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${RZ.inspect(t)}"`);if(Array.isArray(e))return e.some(o=>yi.contains(t,o,r));if(typeof e=="string"){if(FZ(t)||FZ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return yi.isMatch(t,e,{...r,contains:!0})};yi.matchKeys=(t,e,r)=>{if(!MN.isObject(t))throw new TypeError("Expected the first argument to be an object");let o=yi(Object.keys(t),e,r),a={};for(let n of o)a[n]=t[n];return a};yi.some=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Vu(String(a),r);if(o.some(u=>n(u)))return!0}return!1};yi.every=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Vu(String(a),r);if(!o.every(u=>n(u)))return!1}return!0};yi.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${RZ.inspect(t)}"`);return[].concat(e).every(o=>Vu(o,r)(t))};yi.capture=(t,e,r)=>{let o=MN.isWindows(r),n=Vu.makeRe(String(t),{...r,capture:!0}).exec(o?MN.toPosixSlashes(e):e);if(n)return n.slice(1).map(u=>u===void 0?"":u)};yi.makeRe=(...t)=>Vu.makeRe(...t);yi.scan=(...t)=>Vu.scan(...t);yi.parse=(t,e)=>{let r=[];for(let o of[].concat(t||[]))for(let a of TZ(String(o),e))r.push(Vu.parse(a,e));return r};yi.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:TZ(t,e)};yi.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return yi.braces(t,{...e,expand:!0})};NZ.exports=yi});var OZ=_(($Qt,LZ)=>{"use strict";LZ.exports=({onlyFirst:t=!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,t?void 0:"g")}});var OS=_((eFt,MZ)=>{"use strict";var rYe=OZ();MZ.exports=t=>typeof t=="string"?t.replace(rYe(),""):t});var _Z=_((tFt,UZ)=>{function nYe(){this.__data__=[],this.size=0}UZ.exports=nYe});var Ny=_((rFt,HZ)=>{function iYe(t,e){return t===e||t!==t&&e!==e}HZ.exports=iYe});var FI=_((nFt,qZ)=>{var sYe=Ny();function oYe(t,e){for(var r=t.length;r--;)if(sYe(t[r][0],e))return r;return-1}qZ.exports=oYe});var GZ=_((iFt,jZ)=>{var aYe=FI(),lYe=Array.prototype,cYe=lYe.splice;function uYe(t){var e=this.__data__,r=aYe(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():cYe.call(e,r,1),--this.size,!0}jZ.exports=uYe});var WZ=_((sFt,YZ)=>{var AYe=FI();function fYe(t){var e=this.__data__,r=AYe(e,t);return r<0?void 0:e[r][1]}YZ.exports=fYe});var VZ=_((oFt,KZ)=>{var pYe=FI();function hYe(t){return pYe(this.__data__,t)>-1}KZ.exports=hYe});var zZ=_((aFt,JZ)=>{var gYe=FI();function dYe(t,e){var r=this.__data__,o=gYe(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}JZ.exports=dYe});var RI=_((lFt,XZ)=>{var mYe=_Z(),yYe=GZ(),EYe=WZ(),CYe=VZ(),wYe=zZ();function Ly(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var IYe=RI();function BYe(){this.__data__=new IYe,this.size=0}ZZ.exports=BYe});var t$=_((uFt,e$)=>{function vYe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}e$.exports=vYe});var n$=_((AFt,r$)=>{function DYe(t){return this.__data__.get(t)}r$.exports=DYe});var s$=_((fFt,i$)=>{function SYe(t){return this.__data__.has(t)}i$.exports=SYe});var UN=_((pFt,o$)=>{var PYe=typeof global=="object"&&global&&global.Object===Object&&global;o$.exports=PYe});var _l=_((hFt,a$)=>{var bYe=UN(),xYe=typeof self=="object"&&self&&self.Object===Object&&self,kYe=bYe||xYe||Function("return this")();a$.exports=kYe});var pd=_((gFt,l$)=>{var QYe=_l(),FYe=QYe.Symbol;l$.exports=FYe});var f$=_((dFt,A$)=>{var c$=pd(),u$=Object.prototype,RYe=u$.hasOwnProperty,TYe=u$.toString,TI=c$?c$.toStringTag:void 0;function NYe(t){var e=RYe.call(t,TI),r=t[TI];try{t[TI]=void 0;var o=!0}catch{}var a=TYe.call(t);return o&&(e?t[TI]=r:delete t[TI]),a}A$.exports=NYe});var h$=_((mFt,p$)=>{var LYe=Object.prototype,OYe=LYe.toString;function MYe(t){return OYe.call(t)}p$.exports=MYe});var hd=_((yFt,m$)=>{var g$=pd(),UYe=f$(),_Ye=h$(),HYe="[object Null]",qYe="[object Undefined]",d$=g$?g$.toStringTag:void 0;function jYe(t){return t==null?t===void 0?qYe:HYe:d$&&d$ in Object(t)?UYe(t):_Ye(t)}m$.exports=jYe});var il=_((EFt,y$)=>{function GYe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}y$.exports=GYe});var MS=_((CFt,E$)=>{var YYe=hd(),WYe=il(),KYe="[object AsyncFunction]",VYe="[object Function]",JYe="[object GeneratorFunction]",zYe="[object Proxy]";function XYe(t){if(!WYe(t))return!1;var e=YYe(t);return e==VYe||e==JYe||e==KYe||e==zYe}E$.exports=XYe});var w$=_((wFt,C$)=>{var ZYe=_l(),$Ye=ZYe["__core-js_shared__"];C$.exports=$Ye});var v$=_((IFt,B$)=>{var _N=w$(),I$=function(){var t=/[^.]+$/.exec(_N&&_N.keys&&_N.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function eWe(t){return!!I$&&I$ in t}B$.exports=eWe});var HN=_((BFt,D$)=>{var tWe=Function.prototype,rWe=tWe.toString;function nWe(t){if(t!=null){try{return rWe.call(t)}catch{}try{return t+""}catch{}}return""}D$.exports=nWe});var P$=_((vFt,S$)=>{var iWe=MS(),sWe=v$(),oWe=il(),aWe=HN(),lWe=/[\\^$.*+?()[\]{}|]/g,cWe=/^\[object .+?Constructor\]$/,uWe=Function.prototype,AWe=Object.prototype,fWe=uWe.toString,pWe=AWe.hasOwnProperty,hWe=RegExp("^"+fWe.call(pWe).replace(lWe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gWe(t){if(!oWe(t)||sWe(t))return!1;var e=iWe(t)?hWe:cWe;return e.test(aWe(t))}S$.exports=gWe});var x$=_((DFt,b$)=>{function dWe(t,e){return t?.[e]}b$.exports=dWe});var zp=_((SFt,k$)=>{var mWe=P$(),yWe=x$();function EWe(t,e){var r=yWe(t,e);return mWe(r)?r:void 0}k$.exports=EWe});var US=_((PFt,Q$)=>{var CWe=zp(),wWe=_l(),IWe=CWe(wWe,"Map");Q$.exports=IWe});var NI=_((bFt,F$)=>{var BWe=zp(),vWe=BWe(Object,"create");F$.exports=vWe});var N$=_((xFt,T$)=>{var R$=NI();function DWe(){this.__data__=R$?R$(null):{},this.size=0}T$.exports=DWe});var O$=_((kFt,L$)=>{function SWe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}L$.exports=SWe});var U$=_((QFt,M$)=>{var PWe=NI(),bWe="__lodash_hash_undefined__",xWe=Object.prototype,kWe=xWe.hasOwnProperty;function QWe(t){var e=this.__data__;if(PWe){var r=e[t];return r===bWe?void 0:r}return kWe.call(e,t)?e[t]:void 0}M$.exports=QWe});var H$=_((FFt,_$)=>{var FWe=NI(),RWe=Object.prototype,TWe=RWe.hasOwnProperty;function NWe(t){var e=this.__data__;return FWe?e[t]!==void 0:TWe.call(e,t)}_$.exports=NWe});var j$=_((RFt,q$)=>{var LWe=NI(),OWe="__lodash_hash_undefined__";function MWe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=LWe&&e===void 0?OWe:e,this}q$.exports=MWe});var Y$=_((TFt,G$)=>{var UWe=N$(),_We=O$(),HWe=U$(),qWe=H$(),jWe=j$();function Oy(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var W$=Y$(),GWe=RI(),YWe=US();function WWe(){this.size=0,this.__data__={hash:new W$,map:new(YWe||GWe),string:new W$}}K$.exports=WWe});var z$=_((LFt,J$)=>{function KWe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}J$.exports=KWe});var LI=_((OFt,X$)=>{var VWe=z$();function JWe(t,e){var r=t.__data__;return VWe(e)?r[typeof e=="string"?"string":"hash"]:r.map}X$.exports=JWe});var $$=_((MFt,Z$)=>{var zWe=LI();function XWe(t){var e=zWe(this,t).delete(t);return this.size-=e?1:0,e}Z$.exports=XWe});var tee=_((UFt,eee)=>{var ZWe=LI();function $We(t){return ZWe(this,t).get(t)}eee.exports=$We});var nee=_((_Ft,ree)=>{var eKe=LI();function tKe(t){return eKe(this,t).has(t)}ree.exports=tKe});var see=_((HFt,iee)=>{var rKe=LI();function nKe(t,e){var r=rKe(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}iee.exports=nKe});var _S=_((qFt,oee)=>{var iKe=V$(),sKe=$$(),oKe=tee(),aKe=nee(),lKe=see();function My(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var cKe=RI(),uKe=US(),AKe=_S(),fKe=200;function pKe(t,e){var r=this.__data__;if(r instanceof cKe){var o=r.__data__;if(!uKe||o.length{var hKe=RI(),gKe=$Z(),dKe=t$(),mKe=n$(),yKe=s$(),EKe=lee();function Uy(t){var e=this.__data__=new hKe(t);this.size=e.size}Uy.prototype.clear=gKe;Uy.prototype.delete=dKe;Uy.prototype.get=mKe;Uy.prototype.has=yKe;Uy.prototype.set=EKe;cee.exports=Uy});var Aee=_((YFt,uee)=>{var CKe="__lodash_hash_undefined__";function wKe(t){return this.__data__.set(t,CKe),this}uee.exports=wKe});var pee=_((WFt,fee)=>{function IKe(t){return this.__data__.has(t)}fee.exports=IKe});var gee=_((KFt,hee)=>{var BKe=_S(),vKe=Aee(),DKe=pee();function qS(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new BKe;++e{function SKe(t,e){for(var r=-1,o=t==null?0:t.length;++r{function PKe(t,e){return t.has(e)}yee.exports=PKe});var qN=_((zFt,Cee)=>{var bKe=gee(),xKe=mee(),kKe=Eee(),QKe=1,FKe=2;function RKe(t,e,r,o,a,n){var u=r&QKe,A=t.length,p=e.length;if(A!=p&&!(u&&p>A))return!1;var h=n.get(t),E=n.get(e);if(h&&E)return h==e&&E==t;var I=-1,v=!0,x=r&FKe?new bKe:void 0;for(n.set(t,e),n.set(e,t);++I{var TKe=_l(),NKe=TKe.Uint8Array;wee.exports=NKe});var Bee=_((ZFt,Iee)=>{function LKe(t){var e=-1,r=Array(t.size);return t.forEach(function(o,a){r[++e]=[a,o]}),r}Iee.exports=LKe});var Dee=_(($Ft,vee)=>{function OKe(t){var e=-1,r=Array(t.size);return t.forEach(function(o){r[++e]=o}),r}vee.exports=OKe});var kee=_((eRt,xee)=>{var See=pd(),Pee=jN(),MKe=Ny(),UKe=qN(),_Ke=Bee(),HKe=Dee(),qKe=1,jKe=2,GKe="[object Boolean]",YKe="[object Date]",WKe="[object Error]",KKe="[object Map]",VKe="[object Number]",JKe="[object RegExp]",zKe="[object Set]",XKe="[object String]",ZKe="[object Symbol]",$Ke="[object ArrayBuffer]",eVe="[object DataView]",bee=See?See.prototype:void 0,GN=bee?bee.valueOf:void 0;function tVe(t,e,r,o,a,n,u){switch(r){case eVe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case $Ke:return!(t.byteLength!=e.byteLength||!n(new Pee(t),new Pee(e)));case GKe:case YKe:case VKe:return MKe(+t,+e);case WKe:return t.name==e.name&&t.message==e.message;case JKe:case XKe:return t==e+"";case KKe:var A=_Ke;case zKe:var p=o&qKe;if(A||(A=HKe),t.size!=e.size&&!p)return!1;var h=u.get(t);if(h)return h==e;o|=jKe,u.set(t,e);var E=UKe(A(t),A(e),o,a,n,u);return u.delete(t),E;case ZKe:if(GN)return GN.call(t)==GN.call(e)}return!1}xee.exports=tVe});var jS=_((tRt,Qee)=>{function rVe(t,e){for(var r=-1,o=e.length,a=t.length;++r{var nVe=Array.isArray;Fee.exports=nVe});var YN=_((nRt,Ree)=>{var iVe=jS(),sVe=Hl();function oVe(t,e,r){var o=e(t);return sVe(t)?o:iVe(o,r(t))}Ree.exports=oVe});var Nee=_((iRt,Tee)=>{function aVe(t,e){for(var r=-1,o=t==null?0:t.length,a=0,n=[];++r{function lVe(){return[]}Lee.exports=lVe});var GS=_((oRt,Mee)=>{var cVe=Nee(),uVe=WN(),AVe=Object.prototype,fVe=AVe.propertyIsEnumerable,Oee=Object.getOwnPropertySymbols,pVe=Oee?function(t){return t==null?[]:(t=Object(t),cVe(Oee(t),function(e){return fVe.call(t,e)}))}:uVe;Mee.exports=pVe});var _ee=_((aRt,Uee)=>{function hVe(t,e){for(var r=-1,o=Array(t);++r{function gVe(t){return t!=null&&typeof t=="object"}Hee.exports=gVe});var jee=_((cRt,qee)=>{var dVe=hd(),mVe=Ju(),yVe="[object Arguments]";function EVe(t){return mVe(t)&&dVe(t)==yVe}qee.exports=EVe});var OI=_((uRt,Wee)=>{var Gee=jee(),CVe=Ju(),Yee=Object.prototype,wVe=Yee.hasOwnProperty,IVe=Yee.propertyIsEnumerable,BVe=Gee(function(){return arguments}())?Gee:function(t){return CVe(t)&&wVe.call(t,"callee")&&!IVe.call(t,"callee")};Wee.exports=BVe});var Vee=_((ARt,Kee)=>{function vVe(){return!1}Kee.exports=vVe});var UI=_((MI,_y)=>{var DVe=_l(),SVe=Vee(),Xee=typeof MI=="object"&&MI&&!MI.nodeType&&MI,Jee=Xee&&typeof _y=="object"&&_y&&!_y.nodeType&&_y,PVe=Jee&&Jee.exports===Xee,zee=PVe?DVe.Buffer:void 0,bVe=zee?zee.isBuffer:void 0,xVe=bVe||SVe;_y.exports=xVe});var _I=_((fRt,Zee)=>{var kVe=9007199254740991,QVe=/^(?:0|[1-9]\d*)$/;function FVe(t,e){var r=typeof t;return e=e??kVe,!!e&&(r=="number"||r!="symbol"&&QVe.test(t))&&t>-1&&t%1==0&&t{var RVe=9007199254740991;function TVe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=RVe}$ee.exports=TVe});var tte=_((hRt,ete)=>{var NVe=hd(),LVe=YS(),OVe=Ju(),MVe="[object Arguments]",UVe="[object Array]",_Ve="[object Boolean]",HVe="[object Date]",qVe="[object Error]",jVe="[object Function]",GVe="[object Map]",YVe="[object Number]",WVe="[object Object]",KVe="[object RegExp]",VVe="[object Set]",JVe="[object String]",zVe="[object WeakMap]",XVe="[object ArrayBuffer]",ZVe="[object DataView]",$Ve="[object Float32Array]",eJe="[object Float64Array]",tJe="[object Int8Array]",rJe="[object Int16Array]",nJe="[object Int32Array]",iJe="[object Uint8Array]",sJe="[object Uint8ClampedArray]",oJe="[object Uint16Array]",aJe="[object Uint32Array]",ui={};ui[$Ve]=ui[eJe]=ui[tJe]=ui[rJe]=ui[nJe]=ui[iJe]=ui[sJe]=ui[oJe]=ui[aJe]=!0;ui[MVe]=ui[UVe]=ui[XVe]=ui[_Ve]=ui[ZVe]=ui[HVe]=ui[qVe]=ui[jVe]=ui[GVe]=ui[YVe]=ui[WVe]=ui[KVe]=ui[VVe]=ui[JVe]=ui[zVe]=!1;function lJe(t){return OVe(t)&&LVe(t.length)&&!!ui[NVe(t)]}ete.exports=lJe});var WS=_((gRt,rte)=>{function cJe(t){return function(e){return t(e)}}rte.exports=cJe});var KS=_((HI,Hy)=>{var uJe=UN(),nte=typeof HI=="object"&&HI&&!HI.nodeType&&HI,qI=nte&&typeof Hy=="object"&&Hy&&!Hy.nodeType&&Hy,AJe=qI&&qI.exports===nte,KN=AJe&&uJe.process,fJe=function(){try{var t=qI&&qI.require&&qI.require("util").types;return t||KN&&KN.binding&&KN.binding("util")}catch{}}();Hy.exports=fJe});var VS=_((dRt,ote)=>{var pJe=tte(),hJe=WS(),ite=KS(),ste=ite&&ite.isTypedArray,gJe=ste?hJe(ste):pJe;ote.exports=gJe});var VN=_((mRt,ate)=>{var dJe=_ee(),mJe=OI(),yJe=Hl(),EJe=UI(),CJe=_I(),wJe=VS(),IJe=Object.prototype,BJe=IJe.hasOwnProperty;function vJe(t,e){var r=yJe(t),o=!r&&mJe(t),a=!r&&!o&&EJe(t),n=!r&&!o&&!a&&wJe(t),u=r||o||a||n,A=u?dJe(t.length,String):[],p=A.length;for(var h in t)(e||BJe.call(t,h))&&!(u&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||CJe(h,p)))&&A.push(h);return A}ate.exports=vJe});var JS=_((yRt,lte)=>{var DJe=Object.prototype;function SJe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||DJe;return t===r}lte.exports=SJe});var JN=_((ERt,cte)=>{function PJe(t,e){return function(r){return t(e(r))}}cte.exports=PJe});var Ate=_((CRt,ute)=>{var bJe=JN(),xJe=bJe(Object.keys,Object);ute.exports=xJe});var pte=_((wRt,fte)=>{var kJe=JS(),QJe=Ate(),FJe=Object.prototype,RJe=FJe.hasOwnProperty;function TJe(t){if(!kJe(t))return QJe(t);var e=[];for(var r in Object(t))RJe.call(t,r)&&r!="constructor"&&e.push(r);return e}fte.exports=TJe});var jI=_((IRt,hte)=>{var NJe=MS(),LJe=YS();function OJe(t){return t!=null&&LJe(t.length)&&!NJe(t)}hte.exports=OJe});var zS=_((BRt,gte)=>{var MJe=VN(),UJe=pte(),_Je=jI();function HJe(t){return _Je(t)?MJe(t):UJe(t)}gte.exports=HJe});var zN=_((vRt,dte)=>{var qJe=YN(),jJe=GS(),GJe=zS();function YJe(t){return qJe(t,GJe,jJe)}dte.exports=YJe});var Ete=_((DRt,yte)=>{var mte=zN(),WJe=1,KJe=Object.prototype,VJe=KJe.hasOwnProperty;function JJe(t,e,r,o,a,n){var u=r&WJe,A=mte(t),p=A.length,h=mte(e),E=h.length;if(p!=E&&!u)return!1;for(var I=p;I--;){var v=A[I];if(!(u?v in e:VJe.call(e,v)))return!1}var x=n.get(t),C=n.get(e);if(x&&C)return x==e&&C==t;var R=!0;n.set(t,e),n.set(e,t);for(var L=u;++I{var zJe=zp(),XJe=_l(),ZJe=zJe(XJe,"DataView");Cte.exports=ZJe});var Bte=_((PRt,Ite)=>{var $Je=zp(),eze=_l(),tze=$Je(eze,"Promise");Ite.exports=tze});var Dte=_((bRt,vte)=>{var rze=zp(),nze=_l(),ize=rze(nze,"Set");vte.exports=ize});var Pte=_((xRt,Ste)=>{var sze=zp(),oze=_l(),aze=sze(oze,"WeakMap");Ste.exports=aze});var GI=_((kRt,Tte)=>{var XN=wte(),ZN=US(),$N=Bte(),eL=Dte(),tL=Pte(),Rte=hd(),qy=HN(),bte="[object Map]",lze="[object Object]",xte="[object Promise]",kte="[object Set]",Qte="[object WeakMap]",Fte="[object DataView]",cze=qy(XN),uze=qy(ZN),Aze=qy($N),fze=qy(eL),pze=qy(tL),gd=Rte;(XN&&gd(new XN(new ArrayBuffer(1)))!=Fte||ZN&&gd(new ZN)!=bte||$N&&gd($N.resolve())!=xte||eL&&gd(new eL)!=kte||tL&&gd(new tL)!=Qte)&&(gd=function(t){var e=Rte(t),r=e==lze?t.constructor:void 0,o=r?qy(r):"";if(o)switch(o){case cze:return Fte;case uze:return bte;case Aze:return xte;case fze:return kte;case pze:return Qte}return e});Tte.exports=gd});var qte=_((QRt,Hte)=>{var rL=HS(),hze=qN(),gze=kee(),dze=Ete(),Nte=GI(),Lte=Hl(),Ote=UI(),mze=VS(),yze=1,Mte="[object Arguments]",Ute="[object Array]",XS="[object Object]",Eze=Object.prototype,_te=Eze.hasOwnProperty;function Cze(t,e,r,o,a,n){var u=Lte(t),A=Lte(e),p=u?Ute:Nte(t),h=A?Ute:Nte(e);p=p==Mte?XS:p,h=h==Mte?XS:h;var E=p==XS,I=h==XS,v=p==h;if(v&&Ote(t)){if(!Ote(e))return!1;u=!0,E=!1}if(v&&!E)return n||(n=new rL),u||mze(t)?hze(t,e,r,o,a,n):gze(t,e,p,r,o,a,n);if(!(r&yze)){var x=E&&_te.call(t,"__wrapped__"),C=I&&_te.call(e,"__wrapped__");if(x||C){var R=x?t.value():t,L=C?e.value():e;return n||(n=new rL),a(R,L,r,o,n)}}return v?(n||(n=new rL),dze(t,e,r,o,a,n)):!1}Hte.exports=Cze});var Wte=_((FRt,Yte)=>{var wze=qte(),jte=Ju();function Gte(t,e,r,o,a){return t===e?!0:t==null||e==null||!jte(t)&&!jte(e)?t!==t&&e!==e:wze(t,e,r,o,Gte,a)}Yte.exports=Gte});var Vte=_((RRt,Kte)=>{var Ize=Wte();function Bze(t,e){return Ize(t,e)}Kte.exports=Bze});var nL=_((TRt,Jte)=>{var vze=zp(),Dze=function(){try{var t=vze(Object,"defineProperty");return t({},"",{}),t}catch{}}();Jte.exports=Dze});var ZS=_((NRt,Xte)=>{var zte=nL();function Sze(t,e,r){e=="__proto__"&&zte?zte(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}Xte.exports=Sze});var iL=_((LRt,Zte)=>{var Pze=ZS(),bze=Ny();function xze(t,e,r){(r!==void 0&&!bze(t[e],r)||r===void 0&&!(e in t))&&Pze(t,e,r)}Zte.exports=xze});var ere=_((ORt,$te)=>{function kze(t){return function(e,r,o){for(var a=-1,n=Object(e),u=o(e),A=u.length;A--;){var p=u[t?A:++a];if(r(n[p],p,n)===!1)break}return e}}$te.exports=kze});var rre=_((MRt,tre)=>{var Qze=ere(),Fze=Qze();tre.exports=Fze});var sL=_((YI,jy)=>{var Rze=_l(),ore=typeof YI=="object"&&YI&&!YI.nodeType&&YI,nre=ore&&typeof jy=="object"&&jy&&!jy.nodeType&&jy,Tze=nre&&nre.exports===ore,ire=Tze?Rze.Buffer:void 0,sre=ire?ire.allocUnsafe:void 0;function Nze(t,e){if(e)return t.slice();var r=t.length,o=sre?sre(r):new t.constructor(r);return t.copy(o),o}jy.exports=Nze});var $S=_((URt,lre)=>{var are=jN();function Lze(t){var e=new t.constructor(t.byteLength);return new are(e).set(new are(t)),e}lre.exports=Lze});var oL=_((_Rt,cre)=>{var Oze=$S();function Mze(t,e){var r=e?Oze(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}cre.exports=Mze});var eP=_((HRt,ure)=>{function Uze(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r{var _ze=il(),Are=Object.create,Hze=function(){function t(){}return function(e){if(!_ze(e))return{};if(Are)return Are(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();fre.exports=Hze});var tP=_((jRt,hre)=>{var qze=JN(),jze=qze(Object.getPrototypeOf,Object);hre.exports=jze});var aL=_((GRt,gre)=>{var Gze=pre(),Yze=tP(),Wze=JS();function Kze(t){return typeof t.constructor=="function"&&!Wze(t)?Gze(Yze(t)):{}}gre.exports=Kze});var mre=_((YRt,dre)=>{var Vze=jI(),Jze=Ju();function zze(t){return Jze(t)&&Vze(t)}dre.exports=zze});var lL=_((WRt,Ere)=>{var Xze=hd(),Zze=tP(),$ze=Ju(),eXe="[object Object]",tXe=Function.prototype,rXe=Object.prototype,yre=tXe.toString,nXe=rXe.hasOwnProperty,iXe=yre.call(Object);function sXe(t){if(!$ze(t)||Xze(t)!=eXe)return!1;var e=Zze(t);if(e===null)return!0;var r=nXe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&yre.call(r)==iXe}Ere.exports=sXe});var cL=_((KRt,Cre)=>{function oXe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}Cre.exports=oXe});var rP=_((VRt,wre)=>{var aXe=ZS(),lXe=Ny(),cXe=Object.prototype,uXe=cXe.hasOwnProperty;function AXe(t,e,r){var o=t[e];(!(uXe.call(t,e)&&lXe(o,r))||r===void 0&&!(e in t))&&aXe(t,e,r)}wre.exports=AXe});var dd=_((JRt,Ire)=>{var fXe=rP(),pXe=ZS();function hXe(t,e,r,o){var a=!r;r||(r={});for(var n=-1,u=e.length;++n{function gXe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}Bre.exports=gXe});var Sre=_((XRt,Dre)=>{var dXe=il(),mXe=JS(),yXe=vre(),EXe=Object.prototype,CXe=EXe.hasOwnProperty;function wXe(t){if(!dXe(t))return yXe(t);var e=mXe(t),r=[];for(var o in t)o=="constructor"&&(e||!CXe.call(t,o))||r.push(o);return r}Dre.exports=wXe});var Gy=_((ZRt,Pre)=>{var IXe=VN(),BXe=Sre(),vXe=jI();function DXe(t){return vXe(t)?IXe(t,!0):BXe(t)}Pre.exports=DXe});var xre=_(($Rt,bre)=>{var SXe=dd(),PXe=Gy();function bXe(t){return SXe(t,PXe(t))}bre.exports=bXe});var Nre=_((eTt,Tre)=>{var kre=iL(),xXe=sL(),kXe=oL(),QXe=eP(),FXe=aL(),Qre=OI(),Fre=Hl(),RXe=mre(),TXe=UI(),NXe=MS(),LXe=il(),OXe=lL(),MXe=VS(),Rre=cL(),UXe=xre();function _Xe(t,e,r,o,a,n,u){var A=Rre(t,r),p=Rre(e,r),h=u.get(p);if(h){kre(t,r,h);return}var E=n?n(A,p,r+"",t,e,u):void 0,I=E===void 0;if(I){var v=Fre(p),x=!v&&TXe(p),C=!v&&!x&&MXe(p);E=p,v||x||C?Fre(A)?E=A:RXe(A)?E=QXe(A):x?(I=!1,E=xXe(p,!0)):C?(I=!1,E=kXe(p,!0)):E=[]:OXe(p)||Qre(p)?(E=A,Qre(A)?E=UXe(A):(!LXe(A)||NXe(A))&&(E=FXe(p))):I=!1}I&&(u.set(p,E),a(E,p,o,n,u),u.delete(p)),kre(t,r,E)}Tre.exports=_Xe});var Mre=_((tTt,Ore)=>{var HXe=HS(),qXe=iL(),jXe=rre(),GXe=Nre(),YXe=il(),WXe=Gy(),KXe=cL();function Lre(t,e,r,o,a){t!==e&&jXe(e,function(n,u){if(a||(a=new HXe),YXe(n))GXe(t,e,u,r,Lre,o,a);else{var A=o?o(KXe(t,u),n,u+"",t,e,a):void 0;A===void 0&&(A=n),qXe(t,u,A)}},WXe)}Ore.exports=Lre});var uL=_((rTt,Ure)=>{function VXe(t){return t}Ure.exports=VXe});var Hre=_((nTt,_re)=>{function JXe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}_re.exports=JXe});var AL=_((iTt,jre)=>{var zXe=Hre(),qre=Math.max;function XXe(t,e,r){return e=qre(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,n=qre(o.length-e,0),u=Array(n);++a{function ZXe(t){return function(){return t}}Gre.exports=ZXe});var Vre=_((oTt,Kre)=>{var $Xe=Yre(),Wre=nL(),eZe=uL(),tZe=Wre?function(t,e){return Wre(t,"toString",{configurable:!0,enumerable:!1,value:$Xe(e),writable:!0})}:eZe;Kre.exports=tZe});var zre=_((aTt,Jre)=>{var rZe=800,nZe=16,iZe=Date.now;function sZe(t){var e=0,r=0;return function(){var o=iZe(),a=nZe-(o-r);if(r=o,a>0){if(++e>=rZe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}Jre.exports=sZe});var fL=_((lTt,Xre)=>{var oZe=Vre(),aZe=zre(),lZe=aZe(oZe);Xre.exports=lZe});var $re=_((cTt,Zre)=>{var cZe=uL(),uZe=AL(),AZe=fL();function fZe(t,e){return AZe(uZe(t,e,cZe),t+"")}Zre.exports=fZe});var tne=_((uTt,ene)=>{var pZe=Ny(),hZe=jI(),gZe=_I(),dZe=il();function mZe(t,e,r){if(!dZe(r))return!1;var o=typeof e;return(o=="number"?hZe(r)&&gZe(e,r.length):o=="string"&&e in r)?pZe(r[e],t):!1}ene.exports=mZe});var nne=_((ATt,rne)=>{var yZe=$re(),EZe=tne();function CZe(t){return yZe(function(e,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(n=t.length>3&&typeof n=="function"?(a--,n):void 0,u&&EZe(r[0],r[1],u)&&(n=a<3?void 0:n,a=1),e=Object(e);++o{var wZe=Mre(),IZe=nne(),BZe=IZe(function(t,e,r,o){wZe(t,e,r,o)});ine.exports=BZe});var _e={};Vt(_e,{AsyncActions:()=>gL,BufferStream:()=>hL,CachingStrategy:()=>mne,DefaultStream:()=>dL,allSettledSafe:()=>Uc,assertNever:()=>yL,bufferStream:()=>Vy,buildIgnorePattern:()=>kZe,convertMapsToIndexableObjects:()=>iP,dynamicRequire:()=>Df,escapeRegExp:()=>DZe,getArrayWithDefault:()=>Yy,getFactoryWithDefault:()=>ol,getMapWithDefault:()=>Wy,getSetWithDefault:()=>md,groupBy:()=>wL,isIndexableObject:()=>pL,isPathLike:()=>QZe,isTaggedYarnVersion:()=>vZe,makeDeferred:()=>hne,mapAndFilter:()=>sl,mapAndFind:()=>KI,mergeIntoTarget:()=>Ene,overrideType:()=>SZe,parseBoolean:()=>VI,parseInt:()=>Jy,parseOptionalBoolean:()=>yne,plural:()=>nP,prettifyAsyncErrors:()=>Ky,prettifySyncErrors:()=>EL,releaseAfterUseAsync:()=>bZe,replaceEnvVariables:()=>sP,sortMap:()=>ks,toMerged:()=>FZe,tryParseOptionalBoolean:()=>CL,validateEnum:()=>PZe});function vZe(t){return!!(Ane.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function nP(t,{one:e,more:r,zero:o=r}){return t===0?o:t===1?e:r}function DZe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function SZe(t){}function yL(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function PZe(t,e){let r=Object.values(t);if(!r.includes(e))throw new it(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(o=>JSON.stringify(o)).join(", ")})`);return e}function sl(t,e){let r=[];for(let o of t){let a=e(o);a!==fne&&r.push(a)}return r}function KI(t,e){for(let r of t){let o=e(r);if(o!==pne)return o}}function pL(t){return typeof t=="object"&&t!==null}async function Uc(t){let e=await Promise.allSettled(t),r=[];for(let o of e){if(o.status==="rejected")throw o.reason;r.push(o.value)}return r}function iP(t){if(t instanceof Map&&(t=Object.fromEntries(t)),pL(t))for(let e of Object.keys(t)){let r=t[e];pL(r)&&(t[e]=iP(r))}return t}function ol(t,e,r){let o=t.get(e);return typeof o>"u"&&t.set(e,o=r()),o}function Yy(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}function md(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}function Wy(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}async function bZe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Ky(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function EL(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Vy(t){return await new Promise((e,r)=>{let o=[];t.on("error",a=>{r(a)}),t.on("data",a=>{o.push(a)}),t.on("end",()=>{e(Buffer.concat(o))})})}function hne(){let t,e;return{promise:new Promise((o,a)=>{t=o,e=a}),resolve:t,reject:e}}function gne(t){return WI(ue.fromPortablePath(t))}function dne(path){let physicalPath=ue.fromPortablePath(path),currentCacheEntry=WI.cache[physicalPath];delete WI.cache[physicalPath];let result;try{result=gne(physicalPath);let freshCacheEntry=WI.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{WI.cache[physicalPath]=currentCacheEntry}return result}function xZe(t){let e=one.get(t),r=oe.statSync(t);if(e?.mtime===r.mtimeMs)return e.instance;let o=dne(t);return one.set(t,{mtime:r.mtimeMs,instance:o}),o}function Df(t,{cachingStrategy:e=2}={}){switch(e){case 0:return dne(t);case 1:return xZe(t);case 2:return gne(t);default:throw new Error("Unsupported caching strategy")}}function ks(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function kZe(t){return t.length===0?null:t.map(e=>`(${cne.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function sP(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...o)=>{let{variableName:a,colon:n,fallback:u}=o[o.length-1],A=Object.hasOwn(e,a),p=e[a];if(p||A&&!n)return p;if(u!=null)return u;throw new it(`Environment variable not found (${a})`)})}function VI(t){switch(t){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 "${t}" as a boolean`)}}function yne(t){return typeof t>"u"?t:VI(t)}function CL(t){try{return yne(t)}catch{return null}}function QZe(t){return!!(ue.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}function Ene(t,...e){let r=u=>({value:u}),o=r(t),a=e.map(u=>r(u)),{value:n}=(0,lne.default)(o,...a,(u,A)=>{if(Array.isArray(u)&&Array.isArray(A)){for(let p of A)u.find(h=>(0,ane.default)(h,p))||u.push(p);return u}});return n}function FZe(...t){return Ene({},...t)}function wL(t,e){let r=Object.create(null);for(let o of t){let a=o[e];r[a]??=[],r[a].push(o)}return r}function Jy(t){return typeof t=="string"?Number.parseInt(t,10):t}var ane,lne,cne,une,Ane,mL,fne,pne,hL,gL,dL,WI,one,mne,ql=Et(()=>{St();qt();ane=$e(Vte()),lne=$e(sne()),cne=$e(Zo()),une=$e(id()),Ane=$e(zn()),mL=ve("stream");fne=Symbol();sl.skip=fne;pne=Symbol();KI.skip=pne;hL=class extends mL.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};gL=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,une.default)(e)}set(e,r){let o=this.deferred.get(e);typeof o>"u"&&this.deferred.set(e,o=hne());let a=this.limit(()=>r());return this.promises.set(e,a),a.then(()=>{this.promises.get(e)===a&&o.resolve()},n=>{this.promises.get(e)===a&&o.reject(n)}),o.promise}reduce(e,r){let o=this.promises.get(e)??Promise.resolve();this.set(e,()=>r(o))}async wait(){await Promise.all(this.promises.values())}},dL=class extends mL.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},WI=eval("require");one=new Map;mne=(o=>(o[o.NoCache=0]="NoCache",o[o.FsTime=1]="FsTime",o[o.Node=2]="Node",o))(mne||{})});var zy,IL,BL,Cne=Et(()=>{zy=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(zy||{}),IL=(o=>(o.Dependency="Dependency",o.PeerDependency="PeerDependency",o.PeerDependencyMeta="PeerDependencyMeta",o))(IL||{}),BL=(o=>(o.Inactive="inactive",o.Redundant="redundant",o.Active="active",o))(BL||{})});var de={};Vt(de,{LogLevel:()=>uP,Style:()=>aP,Type:()=>yt,addLogFilterSupport:()=>XI,applyColor:()=>Vs,applyHyperlink:()=>Zy,applyStyle:()=>yd,json:()=>Ed,jsonOrPretty:()=>NZe,mark:()=>bL,pretty:()=>Mt,prettyField:()=>zu,prettyList:()=>PL,prettyTruncatedLocatorList:()=>cP,stripAnsi:()=>Xy.default,supportsColor:()=>lP,supportsHyperlinks:()=>SL,tuple:()=>_c});function wne(t){let e=["KiB","MiB","GiB","TiB"],r=e.length;for(;r>1&&t<1024**r;)r-=1;let o=1024**r;return`${Math.floor(t*100/o)/100} ${e[r-1]}`}function _c(t,e){return[e,t]}function yd(t,e,r){return t.get("enableColors")&&r&2&&(e=zI.default.bold(e)),e}function Vs(t,e,r){if(!t.get("enableColors"))return e;let o=RZe.get(r);if(o===null)return e;let a=typeof o>"u"?r:DL.level>=3?o[0]:o[1],n=typeof a=="number"?vL.ansi256(a):a.startsWith("#")?vL.hex(a):vL[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(e)}function Zy(t,e,r){return t.get("enableHyperlinks")?TZe?`\x1B]8;;${r}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${e}\x1B]8;;\x07`:e}function Mt(t,e,r){if(e===null)return Vs(t,"null",yt.NULL);if(Object.hasOwn(oP,r))return oP[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Vs(t,e,r)}function PL(t,e,r,{separator:o=", "}={}){return[...e].map(a=>Mt(t,a,r)).join(o)}function Ed(t,e){if(t===null)return null;if(Object.hasOwn(oP,e))return oP[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function NZe(t,e,[r,o]){return t?Ed(r,o):Mt(e,r,o)}function bL(t){return{Check:Vs(t,"\u2713","green"),Cross:Vs(t,"\u2718","red"),Question:Vs(t,"?","cyan")}}function zu(t,{label:e,value:[r,o]}){return`${Mt(t,e,yt.CODE)}: ${Mt(t,r,o)}`}function cP(t,e,r){let o=[],a=[...e],n=r;for(;a.length>0;){let h=a[0],E=`${qr(t,h)}, `,I=xL(h).length+2;if(o.length>0&&nh).join("").slice(0,-2);let u="X".repeat(a.length.toString().length),A=`and ${u} more.`,p=a.length;for(;o.length>1&&nh).join(""),A.replace(u,Mt(t,p,yt.NUMBER))].join("")}function XI(t,{configuration:e}){let r=e.get("logFilters"),o=new Map,a=new Map,n=[];for(let I of r){let v=I.get("level");if(typeof v>"u")continue;let x=I.get("code");typeof x<"u"&&o.set(x,v);let C=I.get("text");typeof C<"u"&&a.set(C,v);let R=I.get("pattern");typeof R<"u"&&n.push([Ine.default.matcher(R,{contains:!0}),v])}n.reverse();let u=(I,v,x)=>{if(I===null||I===0)return x;let C=a.size>0||n.length>0?(0,Xy.default)(v):v;if(a.size>0){let R=a.get(C);if(typeof R<"u")return R??x}if(n.length>0){for(let[R,L]of n)if(R(C))return L??x}if(o.size>0){let R=o.get(Wu(I));if(typeof R<"u")return R??x}return x},A=t.reportInfo,p=t.reportWarning,h=t.reportError,E=function(I,v,x,C){switch(u(v,x,C)){case"info":A.call(I,v,x);break;case"warning":p.call(I,v??0,x);break;case"error":h.call(I,v??0,x);break}};t.reportInfo=function(...I){return E(this,...I,"info")},t.reportWarning=function(...I){return E(this,...I,"warning")},t.reportError=function(...I){return E(this,...I,"error")}}var zI,JI,Ine,Xy,Bne,yt,aP,DL,lP,SL,vL,RZe,Po,oP,TZe,uP,jl=Et(()=>{St();zI=$e(IN()),JI=$e(td());qt();Ine=$e(Zo()),Xy=$e(OS()),Bne=ve("util");fS();bo();yt={NO_HINT:"NO_HINT",ID:"ID",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",SIZE_DIFF:"SIZE_DIFF",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN",MARKDOWN_INLINE:"MARKDOWN_INLINE"},aP=(e=>(e[e.BOLD=2]="BOLD",e))(aP||{}),DL=JI.default.GITHUB_ACTIONS?{level:2}:zI.default.supportsColor?{level:zI.default.supportsColor.level}:{level:0},lP=DL.level!==0,SL=lP&&!JI.default.GITHUB_ACTIONS&&!JI.default.CIRCLE&&!JI.default.GITLAB,vL=new zI.default.Instance(DL),RZe=new Map([[yt.NO_HINT,null],[yt.NULL,["#a853b5",129]],[yt.SCOPE,["#d75f00",166]],[yt.NAME,["#d7875f",173]],[yt.RANGE,["#00afaf",37]],[yt.REFERENCE,["#87afff",111]],[yt.NUMBER,["#ffd700",220]],[yt.PATH,["#d75fd7",170]],[yt.URL,["#d75fd7",170]],[yt.ADDED,["#5faf00",70]],[yt.REMOVED,["#ff3131",160]],[yt.CODE,["#87afff",111]],[yt.SIZE,["#ffd700",220]]]),Po=t=>t;oP={[yt.ID]:Po({pretty:(t,e)=>typeof e=="number"?Vs(t,`${e}`,yt.NUMBER):Vs(t,e,yt.CODE),json:t=>t}),[yt.INSPECT]:Po({pretty:(t,e)=>(0,Bne.inspect)(e,{depth:1/0,colors:t.get("enableColors"),compact:!0,breakLength:1/0}),json:t=>t}),[yt.NUMBER]:Po({pretty:(t,e)=>Vs(t,`${e}`,yt.NUMBER),json:t=>t}),[yt.IDENT]:Po({pretty:(t,e)=>cs(t,e),json:t=>fn(t)}),[yt.LOCATOR]:Po({pretty:(t,e)=>qr(t,e),json:t=>ba(t)}),[yt.DESCRIPTOR]:Po({pretty:(t,e)=>jn(t,e),json:t=>Pa(t)}),[yt.RESOLUTION]:Po({pretty:(t,{descriptor:e,locator:r})=>ZI(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:Pa(t),locator:e!==null?ba(e):null})}),[yt.DEPENDENT]:Po({pretty:(t,{locator:e,descriptor:r})=>kL(t,e,r),json:({locator:t,descriptor:e})=>({locator:ba(t),descriptor:Pa(e)})}),[yt.PACKAGE_EXTENSION]:Po({pretty:(t,e)=>{switch(e.type){case"Dependency":return`${cs(t,e.parentDescriptor)} \u27A4 ${Vs(t,"dependencies",yt.CODE)} \u27A4 ${cs(t,e.descriptor)}`;case"PeerDependency":return`${cs(t,e.parentDescriptor)} \u27A4 ${Vs(t,"peerDependencies",yt.CODE)} \u27A4 ${cs(t,e.descriptor)}`;case"PeerDependencyMeta":return`${cs(t,e.parentDescriptor)} \u27A4 ${Vs(t,"peerDependenciesMeta",yt.CODE)} \u27A4 ${cs(t,Js(e.selector))} \u27A4 ${Vs(t,e.key,yt.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case"Dependency":return`${fn(t.parentDescriptor)} > ${fn(t.descriptor)}`;case"PeerDependency":return`${fn(t.parentDescriptor)} >> ${fn(t.descriptor)}`;case"PeerDependencyMeta":return`${fn(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[yt.SETTING]:Po({pretty:(t,e)=>(t.get(e),Zy(t,Vs(t,e,yt.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[yt.DURATION]:Po({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),o=Math.ceil((e-r*60*1e3)/1e3);return o===0?`${r}m`:`${r}m ${o}s`}else{let r=Math.floor(e/1e3),o=e-r*1e3;return o===0?`${r}s`:`${r}s ${o}ms`}},json:t=>t}),[yt.SIZE]:Po({pretty:(t,e)=>Vs(t,wne(e),yt.NUMBER),json:t=>t}),[yt.SIZE_DIFF]:Po({pretty:(t,e)=>{let r=e>=0?"+":"-",o=r==="+"?yt.REMOVED:yt.ADDED;return Vs(t,`${r} ${wne(Math.max(Math.abs(e),1))}`,o)},json:t=>t}),[yt.PATH]:Po({pretty:(t,e)=>Vs(t,ue.fromPortablePath(e),yt.PATH),json:t=>ue.fromPortablePath(t)}),[yt.MARKDOWN]:Po({pretty:(t,{text:e,format:r,paragraphs:o})=>Do(e,{format:r,paragraphs:o}),json:({text:t})=>t}),[yt.MARKDOWN_INLINE]:Po({pretty:(t,e)=>(e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(r,o,a)=>Mt(t,o+a+o,yt.CODE)),e=e.replace(/(\*\*)((?:.|[\n])*?)\1/g,(r,o,a)=>yd(t,a,2)),e),json:t=>t})};TZe=!!process.env.KONSOLE_VERSION;uP=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(uP||{})});var vne=_($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.splitWhen=$y.flatten=void 0;function LZe(t){return t.reduce((e,r)=>[].concat(e,r),[])}$y.flatten=LZe;function OZe(t,e){let r=[[]],o=0;for(let a of t)e(a)?(o++,r[o]=[]):r[o].push(a);return r}$y.splitWhen=OZe});var Dne=_(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});AP.isEnoentCodeError=void 0;function MZe(t){return t.code==="ENOENT"}AP.isEnoentCodeError=MZe});var Sne=_(fP=>{"use strict";Object.defineProperty(fP,"__esModule",{value:!0});fP.createDirentFromStats=void 0;var QL=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function UZe(t,e){return new QL(t,e)}fP.createDirentFromStats=UZe});var Pne=_(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.removeLeadingDotSegment=Xu.escape=Xu.makeAbsolute=Xu.unixify=void 0;var _Ze=ve("path"),HZe=2,qZe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function jZe(t){return t.replace(/\\/g,"/")}Xu.unixify=jZe;function GZe(t,e){return _Ze.resolve(t,e)}Xu.makeAbsolute=GZe;function YZe(t){return t.replace(qZe,"\\$2")}Xu.escape=YZe;function WZe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(HZe)}return t}Xu.removeLeadingDotSegment=WZe});var xne=_((PTt,bne)=>{bne.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Fne=_((bTt,Qne)=>{var KZe=xne(),kne={"{":"}","(":")","[":"]"},VZe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,o=-2,a=-2,n=-2,u=-2;ee&&(u===-1||u>o||(u=t.indexOf("\\",e),u===-1||u>o)))||a!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(a=t.indexOf("}",e),a>e&&(u=t.indexOf("\\",e),u===-1||u>a))||n!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(n=t.indexOf(")",e),n>e&&(u=t.indexOf("\\",e),u===-1||u>n))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(rr&&(u=t.indexOf("\\",r),u===-1||u>n))))return!0;if(t[e]==="\\"){var A=t[e+1];e+=2;var p=kne[A];if(p){var h=t.indexOf(p,e);h!==-1&&(e=h+1)}if(t[e]==="!")return!0}else e++}return!1},JZe=function(t){if(t[0]==="!")return!0;for(var e=0;e{"use strict";var zZe=Fne(),XZe=ve("path").posix.dirname,ZZe=ve("os").platform()==="win32",FL="/",$Ze=/\\/g,e$e=/[\{\[].*[\}\]]$/,t$e=/(^|[^\\])([\{\[]|\([^\)]+$)/,r$e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;Rne.exports=function(e,r){var o=Object.assign({flipBackslashes:!0},r);o.flipBackslashes&&ZZe&&e.indexOf(FL)<0&&(e=e.replace($Ze,FL)),e$e.test(e)&&(e+=FL),e+="a";do e=XZe(e);while(zZe(e)||t$e.test(e));return e.replace(r$e,"$1")}});var qne=_(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.matchAny=jr.convertPatternsToRe=jr.makeRe=jr.getPatternParts=jr.expandBraceExpansion=jr.expandPatternsWithBraceExpansion=jr.isAffectDepthOfReadingPattern=jr.endsWithSlashGlobStar=jr.hasGlobStar=jr.getBaseDirectory=jr.isPatternRelatedToParentDirectory=jr.getPatternsOutsideCurrentDirectory=jr.getPatternsInsideCurrentDirectory=jr.getPositivePatterns=jr.getNegativePatterns=jr.isPositivePattern=jr.isNegativePattern=jr.convertToNegativePattern=jr.convertToPositivePattern=jr.isDynamicPattern=jr.isStaticPattern=void 0;var n$e=ve("path"),i$e=Tne(),RL=Zo(),Nne="**",s$e="\\",o$e=/[*?]|^!/,a$e=/\[[^[]*]/,l$e=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,c$e=/[!*+?@]\([^(]*\)/,u$e=/,|\.\./;function Lne(t,e={}){return!One(t,e)}jr.isStaticPattern=Lne;function One(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.includes(s$e)||o$e.test(t)||a$e.test(t)||l$e.test(t)||e.extglob!==!1&&c$e.test(t)||e.braceExpansion!==!1&&A$e(t))}jr.isDynamicPattern=One;function A$e(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf("}",e+1);if(r===-1)return!1;let o=t.slice(e,r);return u$e.test(o)}function f$e(t){return pP(t)?t.slice(1):t}jr.convertToPositivePattern=f$e;function p$e(t){return"!"+t}jr.convertToNegativePattern=p$e;function pP(t){return t.startsWith("!")&&t[1]!=="("}jr.isNegativePattern=pP;function Mne(t){return!pP(t)}jr.isPositivePattern=Mne;function h$e(t){return t.filter(pP)}jr.getNegativePatterns=h$e;function g$e(t){return t.filter(Mne)}jr.getPositivePatterns=g$e;function d$e(t){return t.filter(e=>!TL(e))}jr.getPatternsInsideCurrentDirectory=d$e;function m$e(t){return t.filter(TL)}jr.getPatternsOutsideCurrentDirectory=m$e;function TL(t){return t.startsWith("..")||t.startsWith("./..")}jr.isPatternRelatedToParentDirectory=TL;function y$e(t){return i$e(t,{flipBackslashes:!1})}jr.getBaseDirectory=y$e;function E$e(t){return t.includes(Nne)}jr.hasGlobStar=E$e;function Une(t){return t.endsWith("/"+Nne)}jr.endsWithSlashGlobStar=Une;function C$e(t){let e=n$e.basename(t);return Une(t)||Lne(e)}jr.isAffectDepthOfReadingPattern=C$e;function w$e(t){return t.reduce((e,r)=>e.concat(_ne(r)),[])}jr.expandPatternsWithBraceExpansion=w$e;function _ne(t){return RL.braces(t,{expand:!0,nodupes:!0})}jr.expandBraceExpansion=_ne;function I$e(t,e){let{parts:r}=RL.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.length===0&&(r=[t]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}jr.getPatternParts=I$e;function Hne(t,e){return RL.makeRe(t,e)}jr.makeRe=Hne;function B$e(t,e){return t.map(r=>Hne(r,e))}jr.convertPatternsToRe=B$e;function v$e(t,e){return e.some(r=>r.test(t))}jr.matchAny=v$e});var Wne=_((QTt,Yne)=>{"use strict";var D$e=ve("stream"),jne=D$e.PassThrough,S$e=Array.prototype.slice;Yne.exports=P$e;function P$e(){let t=[],e=S$e.call(arguments),r=!1,o=e[e.length-1];o&&!Array.isArray(o)&&o.pipe==null?e.pop():o={};let a=o.end!==!1,n=o.pipeError===!0;o.objectMode==null&&(o.objectMode=!0),o.highWaterMark==null&&(o.highWaterMark=64*1024);let u=jne(o);function A(){for(let E=0,I=arguments.length;E0||(r=!1,p())}function x(C){function R(){C.removeListener("merge2UnpipeEnd",R),C.removeListener("end",R),n&&C.removeListener("error",L),v()}function L(U){u.emit("error",U)}if(C._readableState.endEmitted)return v();C.on("merge2UnpipeEnd",R),C.on("end",R),n&&C.on("error",L),C.pipe(u,{end:!1}),C.resume()}for(let C=0;C{"use strict";Object.defineProperty(hP,"__esModule",{value:!0});hP.merge=void 0;var b$e=Wne();function x$e(t){let e=b$e(t);return t.forEach(r=>{r.once("error",o=>e.emit("error",o))}),e.once("close",()=>Kne(t)),e.once("end",()=>Kne(t)),e}hP.merge=x$e;function Kne(t){t.forEach(e=>e.emit("close"))}});var Jne=_(eE=>{"use strict";Object.defineProperty(eE,"__esModule",{value:!0});eE.isEmpty=eE.isString=void 0;function k$e(t){return typeof t=="string"}eE.isString=k$e;function Q$e(t){return t===""}eE.isEmpty=Q$e});var Sf=_(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.string=xo.stream=xo.pattern=xo.path=xo.fs=xo.errno=xo.array=void 0;var F$e=vne();xo.array=F$e;var R$e=Dne();xo.errno=R$e;var T$e=Sne();xo.fs=T$e;var N$e=Pne();xo.path=N$e;var L$e=qne();xo.pattern=L$e;var O$e=Vne();xo.stream=O$e;var M$e=Jne();xo.string=M$e});var Zne=_(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.convertPatternGroupToTask=ko.convertPatternGroupsToTasks=ko.groupPatternsByBaseDirectory=ko.getNegativePatternsAsPositive=ko.getPositivePatterns=ko.convertPatternsToTasks=ko.generate=void 0;var Pf=Sf();function U$e(t,e){let r=zne(t),o=Xne(t,e.ignore),a=r.filter(p=>Pf.pattern.isStaticPattern(p,e)),n=r.filter(p=>Pf.pattern.isDynamicPattern(p,e)),u=NL(a,o,!1),A=NL(n,o,!0);return u.concat(A)}ko.generate=U$e;function NL(t,e,r){let o=[],a=Pf.pattern.getPatternsOutsideCurrentDirectory(t),n=Pf.pattern.getPatternsInsideCurrentDirectory(t),u=LL(a),A=LL(n);return o.push(...OL(u,e,r)),"."in A?o.push(ML(".",n,e,r)):o.push(...OL(A,e,r)),o}ko.convertPatternsToTasks=NL;function zne(t){return Pf.pattern.getPositivePatterns(t)}ko.getPositivePatterns=zne;function Xne(t,e){return Pf.pattern.getNegativePatterns(t).concat(e).map(Pf.pattern.convertToPositivePattern)}ko.getNegativePatternsAsPositive=Xne;function LL(t){let e={};return t.reduce((r,o)=>{let a=Pf.pattern.getBaseDirectory(o);return a in r?r[a].push(o):r[a]=[o],r},e)}ko.groupPatternsByBaseDirectory=LL;function OL(t,e,r){return Object.keys(t).map(o=>ML(o,t[o],e,r))}ko.convertPatternGroupsToTasks=OL;function ML(t,e,r,o){return{dynamic:o,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Pf.pattern.convertToNegativePattern))}}ko.convertPatternGroupToTask=ML});var eie=_(tE=>{"use strict";Object.defineProperty(tE,"__esModule",{value:!0});tE.removeDuplicateSlashes=tE.transform=void 0;var _$e=/(?!^)\/{2,}/g;function H$e(t){return t.map(e=>$ne(e))}tE.transform=H$e;function $ne(t){return t.replace(_$e,"/")}tE.removeDuplicateSlashes=$ne});var rie=_(gP=>{"use strict";Object.defineProperty(gP,"__esModule",{value:!0});gP.read=void 0;function q$e(t,e,r){e.fs.lstat(t,(o,a)=>{if(o!==null){tie(r,o);return}if(!a.isSymbolicLink()||!e.followSymbolicLink){UL(r,a);return}e.fs.stat(t,(n,u)=>{if(n!==null){if(e.throwErrorOnBrokenSymbolicLink){tie(r,n);return}UL(r,a);return}e.markSymbolicLink&&(u.isSymbolicLink=()=>!0),UL(r,u)})})}gP.read=q$e;function tie(t,e){t(e)}function UL(t,e){t(null,e)}});var nie=_(dP=>{"use strict";Object.defineProperty(dP,"__esModule",{value:!0});dP.read=void 0;function j$e(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let o=e.fs.statSync(t);return e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o}catch(o){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw o}}dP.read=j$e});var iie=_(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.createFileSystemAdapter=Xp.FILE_SYSTEM_ADAPTER=void 0;var mP=ve("fs");Xp.FILE_SYSTEM_ADAPTER={lstat:mP.lstat,stat:mP.stat,lstatSync:mP.lstatSync,statSync:mP.statSync};function G$e(t){return t===void 0?Xp.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Xp.FILE_SYSTEM_ADAPTER),t)}Xp.createFileSystemAdapter=G$e});var sie=_(HL=>{"use strict";Object.defineProperty(HL,"__esModule",{value:!0});var Y$e=iie(),_L=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=Y$e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e??r}};HL.default=_L});var Cd=_(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.statSync=Zp.stat=Zp.Settings=void 0;var oie=rie(),W$e=nie(),qL=sie();Zp.Settings=qL.default;function K$e(t,e,r){if(typeof e=="function"){oie.read(t,jL(),e);return}oie.read(t,jL(e),r)}Zp.stat=K$e;function V$e(t,e){let r=jL(e);return W$e.read(t,r)}Zp.statSync=V$e;function jL(t={}){return t instanceof qL.default?t:new qL.default(t)}});var lie=_((qTt,aie)=>{aie.exports=J$e;function J$e(t,e){var r,o,a,n=!0;Array.isArray(t)?(r=[],o=t.length):(a=Object.keys(t),r={},o=a.length);function u(p){function h(){e&&e(p,r),e=null}n?process.nextTick(h):h()}function A(p,h,E){r[p]=E,(--o===0||h)&&u(h)}o?a?a.forEach(function(p){t[p](function(h,E){A(p,h,E)})}):t.forEach(function(p,h){p(function(E,I){A(h,E,I)})}):u(null),n=!1}});var YL=_(EP=>{"use strict";Object.defineProperty(EP,"__esModule",{value:!0});EP.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var yP=process.versions.node.split(".");if(yP[0]===void 0||yP[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var cie=Number.parseInt(yP[0],10),z$e=Number.parseInt(yP[1],10),uie=10,X$e=10,Z$e=cie>uie,$$e=cie===uie&&z$e>=X$e;EP.IS_SUPPORT_READDIR_WITH_FILE_TYPES=Z$e||$$e});var Aie=_(CP=>{"use strict";Object.defineProperty(CP,"__esModule",{value:!0});CP.createDirentFromStats=void 0;var WL=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function eet(t,e){return new WL(t,e)}CP.createDirentFromStats=eet});var KL=_(wP=>{"use strict";Object.defineProperty(wP,"__esModule",{value:!0});wP.fs=void 0;var tet=Aie();wP.fs=tet});var VL=_(IP=>{"use strict";Object.defineProperty(IP,"__esModule",{value:!0});IP.joinPathSegments=void 0;function ret(t,e,r){return t.endsWith(r)?t+e:t+r+e}IP.joinPathSegments=ret});var mie=_($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.readdir=$p.readdirWithFileTypes=$p.read=void 0;var net=Cd(),fie=lie(),iet=YL(),pie=KL(),hie=VL();function set(t,e,r){if(!e.stats&&iet.IS_SUPPORT_READDIR_WITH_FILE_TYPES){gie(t,e,r);return}die(t,e,r)}$p.read=set;function gie(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(o,a)=>{if(o!==null){BP(r,o);return}let n=a.map(A=>({dirent:A,name:A.name,path:hie.joinPathSegments(t,A.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){JL(r,n);return}let u=n.map(A=>oet(A,e));fie(u,(A,p)=>{if(A!==null){BP(r,A);return}JL(r,p)})})}$p.readdirWithFileTypes=gie;function oet(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(o,a)=>{if(o!==null){if(e.throwErrorOnBrokenSymbolicLink){r(o);return}r(null,t);return}t.dirent=pie.fs.createDirentFromStats(t.name,a),r(null,t)})}}function die(t,e,r){e.fs.readdir(t,(o,a)=>{if(o!==null){BP(r,o);return}let n=a.map(u=>{let A=hie.joinPathSegments(t,u,e.pathSegmentSeparator);return p=>{net.stat(A,e.fsStatSettings,(h,E)=>{if(h!==null){p(h);return}let I={name:u,path:A,dirent:pie.fs.createDirentFromStats(u,E)};e.stats&&(I.stats=E),p(null,I)})}});fie(n,(u,A)=>{if(u!==null){BP(r,u);return}JL(r,A)})})}$p.readdir=die;function BP(t,e){t(e)}function JL(t,e){t(null,e)}});var Iie=_(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.readdir=eh.readdirWithFileTypes=eh.read=void 0;var aet=Cd(),cet=YL(),yie=KL(),Eie=VL();function uet(t,e){return!e.stats&&cet.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Cie(t,e):wie(t,e)}eh.read=uet;function Cie(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(o=>{let a={dirent:o,name:o.name,path:Eie.joinPathSegments(t,o.name,e.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let n=e.fs.statSync(a.path);a.dirent=yie.fs.createDirentFromStats(a.name,n)}catch(n){if(e.throwErrorOnBrokenSymbolicLink)throw n}return a})}eh.readdirWithFileTypes=Cie;function wie(t,e){return e.fs.readdirSync(t).map(o=>{let a=Eie.joinPathSegments(t,o,e.pathSegmentSeparator),n=aet.statSync(a,e.fsStatSettings),u={name:o,path:a,dirent:yie.fs.createDirentFromStats(o,n)};return e.stats&&(u.stats=n),u})}eh.readdir=wie});var Bie=_(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.createFileSystemAdapter=th.FILE_SYSTEM_ADAPTER=void 0;var rE=ve("fs");th.FILE_SYSTEM_ADAPTER={lstat:rE.lstat,stat:rE.stat,lstatSync:rE.lstatSync,statSync:rE.statSync,readdir:rE.readdir,readdirSync:rE.readdirSync};function Aet(t){return t===void 0?th.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},th.FILE_SYSTEM_ADAPTER),t)}th.createFileSystemAdapter=Aet});var vie=_(XL=>{"use strict";Object.defineProperty(XL,"__esModule",{value:!0});var fet=ve("path"),pet=Cd(),het=Bie(),zL=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=het.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,fet.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new pet.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};XL.default=zL});var vP=_(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});rh.Settings=rh.scandirSync=rh.scandir=void 0;var Die=mie(),get=Iie(),ZL=vie();rh.Settings=ZL.default;function det(t,e,r){if(typeof e=="function"){Die.read(t,$L(),e);return}Die.read(t,$L(e),r)}rh.scandir=det;function met(t,e){let r=$L(e);return get.read(t,r)}rh.scandirSync=met;function $L(t={}){return t instanceof ZL.default?t:new ZL.default(t)}});var Pie=_((ZTt,Sie)=>{"use strict";function yet(t){var e=new t,r=e;function o(){var n=e;return n.next?e=n.next:(e=new t,r=e),n.next=null,n}function a(n){r.next=n,r=n}return{get:o,release:a}}Sie.exports=yet});var xie=_(($Tt,eO)=>{"use strict";var Eet=Pie();function bie(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var o=Eet(Cet),a=null,n=null,u=0,A=null,p={push:R,drain:Gl,saturated:Gl,pause:E,paused:!1,concurrency:r,running:h,resume:x,idle:C,length:I,getQueue:v,unshift:L,empty:Gl,kill:J,killAndDrain:te,error:ae};return p;function h(){return u}function E(){p.paused=!0}function I(){for(var fe=a,ce=0;fe;)fe=fe.next,ce++;return ce}function v(){for(var fe=a,ce=[];fe;)ce.push(fe.value),fe=fe.next;return ce}function x(){if(!!p.paused){p.paused=!1;for(var fe=0;fe{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.joinPathSegments=Zu.replacePathSegmentSeparator=Zu.isAppliedFilter=Zu.isFatalError=void 0;function Iet(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}Zu.isFatalError=Iet;function Bet(t,e){return t===null||t(e)}Zu.isAppliedFilter=Bet;function vet(t,e){return t.split(/[/\\]/).join(e)}Zu.replacePathSegmentSeparator=vet;function Det(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}Zu.joinPathSegments=Det});var nO=_(rO=>{"use strict";Object.defineProperty(rO,"__esModule",{value:!0});var Pet=DP(),tO=class{constructor(e,r){this._root=e,this._settings=r,this._root=Pet.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};rO.default=tO});var oO=_(sO=>{"use strict";Object.defineProperty(sO,"__esModule",{value:!0});var bet=ve("events"),xet=vP(),ket=xie(),SP=DP(),Qet=nO(),iO=class extends Qet.default{constructor(e,r){super(e,r),this._settings=r,this._scandir=xet.scandir,this._emitter=new bet.EventEmitter,this._queue=ket(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,r){let o={directory:e,base:r};this._queue.push(o,a=>{a!==null&&this._handleError(a)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(o,a)=>{if(o!==null){r(o,void 0);return}for(let n of a)this._handleEntry(n,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!SP.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let o=e.path;r!==void 0&&(e.path=SP.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),SP.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&SP.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,r===void 0?void 0:e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};sO.default=iO});var kie=_(lO=>{"use strict";Object.defineProperty(lO,"__esModule",{value:!0});var Fet=oO(),aO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Fet.default(this._root,this._settings),this._storage=[]}read(e){this._reader.onError(r=>{Ret(e,r)}),this._reader.onEntry(r=>{this._storage.push(r)}),this._reader.onEnd(()=>{Tet(e,this._storage)}),this._reader.read()}};lO.default=aO;function Ret(t,e){t(e)}function Tet(t,e){t(null,e)}});var Qie=_(uO=>{"use strict";Object.defineProperty(uO,"__esModule",{value:!0});var Net=ve("stream"),Let=oO(),cO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Let.default(this._root,this._settings),this._stream=new Net.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}};uO.default=cO});var Fie=_(fO=>{"use strict";Object.defineProperty(fO,"__esModule",{value:!0});var Oet=vP(),PP=DP(),Met=nO(),AO=class extends Met.default{constructor(){super(...arguments),this._scandir=Oet.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let o=this._scandir(e,this._settings.fsScandirSettings);for(let a of o)this._handleEntry(a,r)}catch(o){this._handleError(o)}}_handleError(e){if(!!PP.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let o=e.path;r!==void 0&&(e.path=PP.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),PP.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&PP.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,r===void 0?void 0:e.path)}_pushToStorage(e){this._storage.push(e)}};fO.default=AO});var Rie=_(hO=>{"use strict";Object.defineProperty(hO,"__esModule",{value:!0});var Uet=Fie(),pO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Uet.default(this._root,this._settings)}read(){return this._reader.read()}};hO.default=pO});var Tie=_(dO=>{"use strict";Object.defineProperty(dO,"__esModule",{value:!0});var _et=ve("path"),Het=vP(),gO=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,_et.sep),this.fsScandirSettings=new Het.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};dO.default=gO});var xP=_($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.Settings=$u.walkStream=$u.walkSync=$u.walk=void 0;var Nie=kie(),qet=Qie(),jet=Rie(),mO=Tie();$u.Settings=mO.default;function Get(t,e,r){if(typeof e=="function"){new Nie.default(t,bP()).read(e);return}new Nie.default(t,bP(e)).read(r)}$u.walk=Get;function Yet(t,e){let r=bP(e);return new jet.default(t,r).read()}$u.walkSync=Yet;function Wet(t,e){let r=bP(e);return new qet.default(t,r).read()}$u.walkStream=Wet;function bP(t={}){return t instanceof mO.default?t:new mO.default(t)}});var kP=_(EO=>{"use strict";Object.defineProperty(EO,"__esModule",{value:!0});var Ket=ve("path"),Vet=Cd(),Lie=Sf(),yO=class{constructor(e){this._settings=e,this._fsStatSettings=new Vet.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Ket.resolve(this._settings.cwd,e)}_makeEntry(e,r){let o={name:r,path:r,dirent:Lie.fs.createDirentFromStats(r,e)};return this._settings.stats&&(o.stats=e),o}_isFatalError(e){return!Lie.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};EO.default=yO});var IO=_(wO=>{"use strict";Object.defineProperty(wO,"__esModule",{value:!0});var Jet=ve("stream"),zet=Cd(),Xet=xP(),Zet=kP(),CO=class extends Zet.default{constructor(){super(...arguments),this._walkStream=Xet.walkStream,this._stat=zet.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let o=e.map(this._getFullEntryPath,this),a=new Jet.PassThrough({objectMode:!0});a._write=(n,u,A)=>this._getEntry(o[n],e[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===o.length-1&&a.end(),A()}).catch(A);for(let n=0;nthis._makeEntry(a,r)).catch(a=>{if(o.errorFilter(a))return null;throw a})}_getStat(e){return new Promise((r,o)=>{this._stat(e,this._fsStatSettings,(a,n)=>a===null?r(n):o(a))})}};wO.default=CO});var Oie=_(vO=>{"use strict";Object.defineProperty(vO,"__esModule",{value:!0});var $et=xP(),ett=kP(),ttt=IO(),BO=class extends ett.default{constructor(){super(...arguments),this._walkAsync=$et.walk,this._readerStream=new ttt.default(this._settings)}dynamic(e,r){return new Promise((o,a)=>{this._walkAsync(e,r,(n,u)=>{n===null?o(u):a(n)})})}async static(e,r){let o=[],a=this._readerStream.static(e,r);return new Promise((n,u)=>{a.once("error",u),a.on("data",A=>o.push(A)),a.once("end",()=>n(o))})}};vO.default=BO});var Mie=_(SO=>{"use strict";Object.defineProperty(SO,"__esModule",{value:!0});var nE=Sf(),DO=class{constructor(e,r,o){this._patterns=e,this._settings=r,this._micromatchOptions=o,this._storage=[],this._fillStorage()}_fillStorage(){let e=nE.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let o=this._getPatternSegments(r),a=this._splitSegmentsIntoSections(o);this._storage.push({complete:a.length<=1,pattern:r,segments:o,sections:a})}}_getPatternSegments(e){return nE.pattern.getPatternParts(e,this._micromatchOptions).map(o=>nE.pattern.isDynamicPattern(o,this._settings)?{dynamic:!0,pattern:o,patternRe:nE.pattern.makeRe(o,this._micromatchOptions)}:{dynamic:!1,pattern:o})}_splitSegmentsIntoSections(e){return nE.array.splitWhen(e,r=>r.dynamic&&nE.pattern.hasGlobStar(r.pattern))}};SO.default=DO});var Uie=_(bO=>{"use strict";Object.defineProperty(bO,"__esModule",{value:!0});var rtt=Mie(),PO=class extends rtt.default{match(e){let r=e.split("/"),o=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>o);for(let n of a){let u=n.sections[0];if(!n.complete&&o>u.length||r.every((p,h)=>{let E=n.segments[h];return!!(E.dynamic&&E.patternRe.test(p)||!E.dynamic&&E.pattern===p)}))return!0}return!1}};bO.default=PO});var _ie=_(kO=>{"use strict";Object.defineProperty(kO,"__esModule",{value:!0});var QP=Sf(),ntt=Uie(),xO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,o){let a=this._getMatcher(r),n=this._getNegativePatternsRe(o);return u=>this._filter(e,u,a,n)}_getMatcher(e){return new ntt.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(QP.pattern.isAffectDepthOfReadingPattern);return QP.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,o,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=QP.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,o)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntryLevel(e,r)>=this._settings.deep}_getEntryLevel(e,r){let o=r.split("/").length;if(e==="")return o;let a=e.split("/").length;return o-a}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!QP.pattern.matchAny(e,r)}};kO.default=xO});var Hie=_(FO=>{"use strict";Object.defineProperty(FO,"__esModule",{value:!0});var wd=Sf(),QO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let o=wd.pattern.convertPatternsToRe(e,this._micromatchOptions),a=wd.pattern.convertPatternsToRe(r,this._micromatchOptions);return n=>this._filter(n,o,a)}_filter(e,r,o){if(this._settings.unique&&this._isDuplicateEntry(e)||this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e.path,o))return!1;let a=this._settings.baseNameMatch?e.name:e.path,n=e.dirent.isDirectory(),u=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(e.path,o,n);return this._settings.unique&&u&&this._createIndexRecord(e),u}_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,r){if(!this._settings.absolute)return!1;let o=wd.path.makeAbsolute(this._settings.cwd,e);return wd.pattern.matchAny(o,r)}_isMatchToPatterns(e,r,o){let a=wd.path.removeLeadingDotSegment(e),n=wd.pattern.matchAny(a,r);return!n&&o?wd.pattern.matchAny(a+"/",r):n}};FO.default=QO});var qie=_(TO=>{"use strict";Object.defineProperty(TO,"__esModule",{value:!0});var itt=Sf(),RO=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return itt.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};TO.default=RO});var Gie=_(LO=>{"use strict";Object.defineProperty(LO,"__esModule",{value:!0});var jie=Sf(),NO=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=jie.path.makeAbsolute(this._settings.cwd,r),r=jie.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};LO.default=NO});var FP=_(MO=>{"use strict";Object.defineProperty(MO,"__esModule",{value:!0});var stt=ve("path"),ott=_ie(),att=Hie(),ltt=qie(),ctt=Gie(),OO=class{constructor(e){this._settings=e,this.errorFilter=new ltt.default(this._settings),this.entryFilter=new att.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new ott.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new ctt.default(this._settings)}_getRootDirectory(e){return stt.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,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}}};MO.default=OO});var Yie=_(_O=>{"use strict";Object.defineProperty(_O,"__esModule",{value:!0});var utt=Oie(),Att=FP(),UO=class extends Att.default{constructor(){super(...arguments),this._reader=new utt.default(this._settings)}async read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return(await this.api(r,e,o)).map(n=>o.transform(n))}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};_O.default=UO});var Wie=_(qO=>{"use strict";Object.defineProperty(qO,"__esModule",{value:!0});var ftt=ve("stream"),ptt=IO(),htt=FP(),HO=class extends htt.default{constructor(){super(...arguments),this._reader=new ptt.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e),a=this.api(r,e,o),n=new ftt.Readable({objectMode:!0,read:()=>{}});return a.once("error",u=>n.emit("error",u)).on("data",u=>n.emit("data",o.transform(u))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};qO.default=HO});var Kie=_(GO=>{"use strict";Object.defineProperty(GO,"__esModule",{value:!0});var gtt=Cd(),dtt=xP(),mtt=kP(),jO=class extends mtt.default{constructor(){super(...arguments),this._walkSync=dtt.walkSync,this._statSync=gtt.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let o=[];for(let a of e){let n=this._getFullEntryPath(a),u=this._getEntry(n,a,r);u===null||!r.entryFilter(u)||o.push(u)}return o}_getEntry(e,r,o){try{let a=this._getStat(e);return this._makeEntry(a,r)}catch(a){if(o.errorFilter(a))return null;throw a}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};GO.default=jO});var Vie=_(WO=>{"use strict";Object.defineProperty(WO,"__esModule",{value:!0});var ytt=Kie(),Ett=FP(),YO=class extends Ett.default{constructor(){super(...arguments),this._reader=new ytt.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return this.api(r,e,o).map(o.transform)}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};WO.default=YO});var Jie=_(sE=>{"use strict";Object.defineProperty(sE,"__esModule",{value:!0});sE.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var iE=ve("fs"),Ctt=ve("os"),wtt=Math.max(Ctt.cpus().length,1);sE.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:iE.lstat,lstatSync:iE.lstatSync,stat:iE.stat,statSync:iE.statSync,readdir:iE.readdir,readdirSync:iE.readdirSync};var KO=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,wtt),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,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},sE.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};sE.default=KO});var RP=_((vNt,Zie)=>{"use strict";var zie=Zne(),Xie=eie(),Itt=Yie(),Btt=Wie(),vtt=Vie(),VO=Jie(),Id=Sf();async function JO(t,e){oE(t);let r=zO(t,Itt.default,e),o=await Promise.all(r);return Id.array.flatten(o)}(function(t){function e(u,A){oE(u);let p=zO(u,vtt.default,A);return Id.array.flatten(p)}t.sync=e;function r(u,A){oE(u);let p=zO(u,Btt.default,A);return Id.stream.merge(p)}t.stream=r;function o(u,A){oE(u);let p=Xie.transform([].concat(u)),h=new VO.default(A);return zie.generate(p,h)}t.generateTasks=o;function a(u,A){oE(u);let p=new VO.default(A);return Id.pattern.isDynamicPattern(u,p)}t.isDynamicPattern=a;function n(u){return oE(u),Id.path.escape(u)}t.escapePath=n})(JO||(JO={}));function zO(t,e,r){let o=Xie.transform([].concat(t)),a=new VO.default(r),n=zie.generate(o,a),u=new e(a);return n.map(u.read,u)}function oE(t){if(![].concat(t).every(o=>Id.string.isString(o)&&!Id.string.isEmpty(o)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}Zie.exports=JO});var wn={};Vt(wn,{checksumFile:()=>NP,checksumPattern:()=>LP,makeHash:()=>zs});function zs(...t){let e=(0,TP.createHash)("sha512"),r="";for(let o of t)typeof o=="string"?r+=o:o&&(r&&(e.update(r),r=""),e.update(o));return r&&e.update(r),e.digest("hex")}async function NP(t,{baseFs:e,algorithm:r}={baseFs:oe,algorithm:"sha512"}){let o=await e.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,TP.createHash)(r),A=0;for(;(A=await e.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await e.closePromise(o)}}async function LP(t,{cwd:e}){let o=(await(0,XO.default)(t,{cwd:ue.fromPortablePath(e),onlyDirectories:!0})).map(A=>`${A}/**/*`),a=await(0,XO.default)([t,...o],{cwd:ue.fromPortablePath(e),onlyFiles:!1});a.sort();let n=await Promise.all(a.map(async A=>{let p=[Buffer.from(A)],h=ue.toPortablePath(A),E=await oe.lstatPromise(h);return E.isSymbolicLink()?p.push(Buffer.from(await oe.readlinkPromise(h))):E.isFile()&&p.push(await oe.readFilePromise(h)),p.join("\0")})),u=(0,TP.createHash)("sha512");for(let A of n)u.update(A);return u.digest("hex")}var TP,XO,nh=Et(()=>{St();TP=ve("crypto"),XO=$e(RP())});var W={};Vt(W,{areDescriptorsEqual:()=>nse,areIdentsEqual:()=>n1,areLocatorsEqual:()=>i1,areVirtualPackagesEquivalent:()=>Rtt,bindDescriptor:()=>Qtt,bindLocator:()=>Ftt,convertDescriptorToLocator:()=>OP,convertLocatorToDescriptor:()=>$O,convertPackageToLocator:()=>btt,convertToIdent:()=>Ptt,convertToManifestRange:()=>jtt,copyPackage:()=>e1,devirtualizeDescriptor:()=>t1,devirtualizeLocator:()=>r1,ensureDevirtualizedDescriptor:()=>xtt,ensureDevirtualizedLocator:()=>ktt,getIdentVendorPath:()=>nM,isPackageCompatible:()=>qP,isVirtualDescriptor:()=>bf,isVirtualLocator:()=>Hc,makeDescriptor:()=>In,makeIdent:()=>eA,makeLocator:()=>Qs,makeRange:()=>_P,parseDescriptor:()=>ih,parseFileStyleRange:()=>Htt,parseIdent:()=>Js,parseLocator:()=>xf,parseRange:()=>Bd,prettyDependent:()=>kL,prettyDescriptor:()=>jn,prettyIdent:()=>cs,prettyLocator:()=>qr,prettyLocatorNoColors:()=>xL,prettyRange:()=>cE,prettyReference:()=>o1,prettyResolution:()=>ZI,prettyWorkspace:()=>a1,renamePackage:()=>eM,slugifyIdent:()=>ZO,slugifyLocator:()=>lE,sortDescriptors:()=>uE,stringifyDescriptor:()=>Pa,stringifyIdent:()=>fn,stringifyLocator:()=>ba,tryParseDescriptor:()=>s1,tryParseIdent:()=>ise,tryParseLocator:()=>UP,tryParseRange:()=>_tt,virtualizeDescriptor:()=>tM,virtualizePackage:()=>rM});function eA(t,e){if(t?.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:zs(t,e),scope:t,name:e}}function In(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:zs(t.identHash,e),range:e}}function Qs(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:zs(t.identHash,e),reference:e}}function Ptt(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function OP(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function $O(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function btt(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function eM(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function e1(t){return eM(t,t)}function tM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return In(t,`virtual:${e}#${t.range}`)}function rM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return eM(t,Qs(t,`virtual:${e}#${t.reference}`))}function bf(t){return t.range.startsWith($I)}function Hc(t){return t.reference.startsWith($I)}function t1(t){if(!bf(t))throw new Error("Not a virtual descriptor");return In(t,t.range.replace(MP,""))}function r1(t){if(!Hc(t))throw new Error("Not a virtual descriptor");return Qs(t,t.reference.replace(MP,""))}function xtt(t){return bf(t)?In(t,t.range.replace(MP,"")):t}function ktt(t){return Hc(t)?Qs(t,t.reference.replace(MP,"")):t}function Qtt(t,e){return t.range.includes("::")?t:In(t,`${t.range}::${aE.default.stringify(e)}`)}function Ftt(t,e){return t.reference.includes("::")?t:Qs(t,`${t.reference}::${aE.default.stringify(e)}`)}function n1(t,e){return t.identHash===e.identHash}function nse(t,e){return t.descriptorHash===e.descriptorHash}function i1(t,e){return t.locatorHash===e.locatorHash}function Rtt(t,e){if(!Hc(t))throw new Error("Invalid package type");if(!Hc(e))throw new Error("Invalid package type");if(!n1(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let o=e.dependencies.get(r.identHash);if(!o||!nse(r,o))return!1}return!0}function Js(t){let e=ise(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function ise(t){let e=t.match(Ttt);if(!e)return null;let[,r,o]=e;return eA(typeof r<"u"?r:null,o)}function ih(t,e=!1){let r=s1(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function s1(t,e=!1){let r=e?t.match(Ntt):t.match(Ltt);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return In(eA(u,a),A)}function xf(t,e=!1){let r=UP(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function UP(t,e=!1){let r=e?t.match(Ott):t.match(Mtt);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return Qs(eA(u,a),A)}function Bd(t,e){let r=t.match(Utt);if(r===null)throw new Error(`Invalid range (${t})`);let o=typeof r[1]<"u"?r[1]:null;if(typeof e?.requireProtocol=="string"&&o!==e.requireProtocol)throw new Error(`Invalid protocol (${o})`);if(e?.requireProtocol&&o===null)throw new Error(`Missing protocol (${o})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if(e?.requireSource&&a===null)throw new Error(`Missing source (${t})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),u=e?.parseSelector?aE.default.parse(n):n,A=typeof r[4]<"u"?aE.default.parse(r[4]):null;return{protocol:o,source:a,selector:u,params:A}}function _tt(t,e){try{return Bd(t,e)}catch{return null}}function Htt(t,{protocol:e}){let{selector:r,params:o}=Bd(t,{requireProtocol:e,requireBindings:!0});if(typeof o.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:xf(o.locator,!0),path:r}}function $ie(t){return t=t.replaceAll("%","%25"),t=t.replaceAll(":","%3A"),t=t.replaceAll("#","%23"),t}function qtt(t){return t===null?!1:Object.entries(t).length>0}function _P({protocol:t,source:e,selector:r,params:o}){let a="";return t!==null&&(a+=`${t}`),e!==null&&(a+=`${$ie(e)}#`),a+=$ie(r),qtt(o)&&(a+=`::${aE.default.stringify(o)}`),a}function jtt(t){let{params:e,protocol:r,source:o,selector:a}=Bd(t);for(let n in e)n.startsWith("__")&&delete e[n];return _P({protocol:r,source:o,params:e,selector:a})}function fn(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function Pa(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function ba(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function ZO(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function lE(t){let{protocol:e,selector:r}=Bd(t.reference),o=e!==null?e.replace(Gtt,""):"exotic",a=ese.default.valid(r),n=a!==null?`${o}-${a}`:`${o}`,u=10;return t.scope?`${ZO(t)}-${n}-${t.locatorHash.slice(0,u)}`:`${ZO(t)}-${n}-${t.locatorHash.slice(0,u)}`}function cs(t,e){return e.scope?`${Mt(t,`@${e.scope}/`,yt.SCOPE)}${Mt(t,e.name,yt.NAME)}`:`${Mt(t,e.name,yt.NAME)}`}function HP(t){if(t.startsWith($I)){let e=HP(t.substring(t.indexOf("#")+1)),r=t.substring($I.length,$I.length+Dtt);return`${e} [${r}]`}else return t.replace(Ytt,"?[...]")}function cE(t,e){return`${Mt(t,HP(e),yt.RANGE)}`}function jn(t,e){return`${cs(t,e)}${Mt(t,"@",yt.RANGE)}${cE(t,e.range)}`}function o1(t,e){return`${Mt(t,HP(e),yt.REFERENCE)}`}function qr(t,e){return`${cs(t,e)}${Mt(t,"@",yt.REFERENCE)}${o1(t,e.reference)}`}function xL(t){return`${fn(t)}@${HP(t.reference)}`}function uE(t){return ks(t,[e=>fn(e),e=>e.range])}function a1(t,e){return cs(t,e.anchoredLocator)}function ZI(t,e,r){let o=bf(e)?t1(e):e;return r===null?`${jn(t,o)} \u2192 ${bL(t).Cross}`:o.identHash===r.identHash?`${jn(t,o)} \u2192 ${o1(t,r.reference)}`:`${jn(t,o)} \u2192 ${qr(t,r)}`}function kL(t,e,r){return r===null?`${qr(t,e)}`:`${qr(t,e)} (via ${cE(t,r.range)})`}function nM(t){return`node_modules/${fn(t)}`}function qP(t,e){return t.conditions?Stt(t.conditions,r=>{let[,o,a]=r.match(rse),n=e[o];return n?n.includes(a):!0}):!0}var aE,ese,tse,$I,Dtt,rse,Stt,MP,Ttt,Ntt,Ltt,Ott,Mtt,Utt,Gtt,Ytt,bo=Et(()=>{aE=$e(ve("querystring")),ese=$e(zn()),tse=$e(eX());jl();nh();ql();bo();$I="virtual:",Dtt=5,rse=/(os|cpu|libc)=([a-z0-9_-]+)/,Stt=(0,tse.makeParser)(rse);MP=/^[^#]*#/;Ttt=/^(?:@([^/]+?)\/)?([^@/]+)$/;Ntt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,Ltt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;Ott=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,Mtt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;Utt=/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/;Gtt=/:$/;Ytt=/\?.*/});var sse,ose=Et(()=>{bo();sse={hooks:{reduceDependency:(t,e,r,o,{resolver:a,resolveOptions:n})=>{for(let{pattern:u,reference:A}of e.topLevelWorkspace.manifest.resolutions){if(u.from&&(u.from.fullName!==fn(r)||e.configuration.normalizeLocator(Qs(Js(u.from.fullName),u.from.description??r.reference)).locatorHash!==r.locatorHash)||u.descriptor.fullName!==fn(t)||e.configuration.normalizeDependency(In(xf(u.descriptor.fullName),u.descriptor.description??t.range)).descriptorHash!==t.descriptorHash)continue;return a.bindDescriptor(e.configuration.normalizeDependency(In(t,A)),e.topLevelWorkspace.anchoredLocator,n)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let o=a1(t.configuration,r);await t.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>e.reportWarning(a,`${o}: ${n}`),reportError:(a,n)=>e.reportError(a,`${o}: ${n}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let o of r.errors)e.reportWarning(57,o.message)}}}});var l1,Xn,vd=Et(()=>{l1=class{supportsDescriptor(e,r){return!!(e.range.startsWith(l1.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(l1.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[o.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.getWorkspaceByCwd(e.reference.slice(l1.protocol.length));return{...e,version:o.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...o.manifest.dependencies,...o.manifest.devDependencies])),peerDependencies:new Map([...o.manifest.peerDependencies]),dependenciesMeta:o.manifest.dependenciesMeta,peerDependenciesMeta:o.manifest.peerDependenciesMeta,bin:o.manifest.bin}}},Xn=l1;Xn.protocol="workspace:"});var kr={};Vt(kr,{SemVer:()=>Ase.SemVer,clean:()=>Ktt,getComparator:()=>cse,mergeComparators:()=>iM,satisfiesWithPrereleases:()=>kf,simplifyRanges:()=>sM,stringifyComparator:()=>use,validRange:()=>xa});function kf(t,e,r=!1){if(!t)return!1;let o=`${e}${r}`,a=ase.get(o);if(typeof a>"u")try{a=new sh.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{ase.set(o,a||null)}else if(a===null)return!1;let n;try{n=new sh.default.SemVer(t,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(u=>{for(let A of u)A.semver.prerelease&&(A.semver.prerelease=[]);return u.every(A=>A.test(n))}))}function xa(t){if(t.indexOf(":")!==-1)return null;let e=lse.get(t);if(typeof e<"u")return e;try{e=new sh.default.Range(t)}catch{e=null}return lse.set(t,e),e}function Ktt(t){let e=Wtt.exec(t);return e?e[1]:null}function cse(t){if(t.semver===sh.default.Comparator.ANY)return{gt:null,lt:null};switch(t.operator){case"":return{gt:[">=",t.semver],lt:["<=",t.semver]};case">":case">=":return{gt:[t.operator,t.semver],lt:null};case"<":case"<=":return{gt:null,lt:[t.operator,t.semver]};default:throw new Error(`Assertion failed: Unexpected comparator operator (${t.operator})`)}}function iM(t){if(t.length===0)return null;let e=null,r=null;for(let o of t){if(o.gt){let a=e!==null?sh.default.compare(o.gt[1],e[1]):null;(a===null||a>0||a===0&&o.gt[0]===">")&&(e=o.gt)}if(o.lt){let a=r!==null?sh.default.compare(o.lt[1],r[1]):null;(a===null||a<0||a===0&&o.lt[0]==="<")&&(r=o.lt)}}if(e&&r){let o=sh.default.compare(e[1],r[1]);if(o===0&&(e[0]===">"||r[0]==="<")||o>0)return null}return{gt:e,lt:r}}function use(t){if(t.gt&&t.lt){if(t.gt[0]===">="&&t.lt[0]==="<="&&t.gt[1].version===t.lt[1].version)return t.gt[1].version;if(t.gt[0]===">="&&t.lt[0]==="<"){if(t.lt[1].version===`${t.gt[1].major+1}.0.0-0`)return`^${t.gt[1].version}`;if(t.lt[1].version===`${t.gt[1].major}.${t.gt[1].minor+1}.0-0`)return`~${t.gt[1].version}`}}let e=[];return t.gt&&e.push(t.gt[0]+t.gt[1].version),t.lt&&e.push(t.lt[0]+t.lt[1].version),e.length?e.join(" "):"*"}function sM(t){let e=t.map(o=>xa(o).set.map(a=>a.map(n=>cse(n)))),r=e.shift().map(o=>iM(o)).filter(o=>o!==null);for(let o of e){let a=[];for(let n of r)for(let u of o){let A=iM([n,...u]);A!==null&&a.push(A)}r=a}return r.length===0?null:r.map(o=>use(o)).join(" || ")}var sh,Ase,ase,lse,Wtt,Qf=Et(()=>{sh=$e(zn()),Ase=$e(zn()),ase=new Map;lse=new Map;Wtt=/^(?:[\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 fse(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function pse(t){return t.charCodeAt(0)===65279?t.slice(1):t}function $o(t){return t.replace(/\\/g,"/")}function jP(t,{yamlCompatibilityMode:e}){return e?CL(t):typeof t>"u"||typeof t=="boolean"?t:null}function hse(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let o=r%2===0?"":"!",a=e.slice(r);return`${o}${t}=${a}`}function oM(t,e){return e.length===1?hse(t,e[0]):`(${e.map(r=>hse(t,r)).join(" | ")})`}var gse,AE,Ot,fE=Et(()=>{St();Nl();gse=$e(zn());vd();ql();Qf();bo();AE=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:r=new Tn}={}){let o=V.join(e,"package.json");try{return await AE.fromFile(o,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(e,{baseFs:r}={}){let o=await AE.tryFind(e,{baseFs:r});if(o===null)throw new Error("Manifest not found");return o}static async fromFile(e,{baseFs:r=new Tn}={}){let o=new AE;return await o.loadFile(e,{baseFs:r}),o}static fromText(e){let r=new AE;return r.loadFromText(e),r}loadFromText(e){let r;try{r=JSON.parse(pse(e)||"{}")}catch(o){throw o.message+=` (when parsing ${e})`,o}this.load(r),this.indent=fse(e)}async loadFile(e,{baseFs:r=new Tn}){let o=await r.readFilePromise(e,"utf8"),a;try{a=JSON.parse(pse(o)||"{}")}catch(n){throw n.message+=` (when parsing ${e})`,n}this.load(a),this.indent=fse(o)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let o=[];if(this.name=null,typeof e.name=="string")try{this.name=Js(e.name)}catch{o.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 n=[];this.os=n;for(let u of e.os)typeof u!="string"?o.push(new Error("Parsing failed for the 'os' field")):n.push(u)}else this.os=null;if(Array.isArray(e.cpu)){let n=[];this.cpu=n;for(let u of e.cpu)typeof u!="string"?o.push(new Error("Parsing failed for the 'cpu' field")):n.push(u)}else this.cpu=null;if(Array.isArray(e.libc)){let n=[];this.libc=n;for(let u of e.libc)typeof u!="string"?o.push(new Error("Parsing failed for the 'libc' field")):n.push(u)}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=$o(e.main):this.main=null,typeof e.module=="string"?this.module=$o(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=$o(e.browser);else{this.browser=new Map;for(let[n,u]of Object.entries(e.browser))this.browser.set($o(n),typeof u=="string"?$o(u):u)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")e.bin.trim()===""?o.push(new Error("Invalid bin field")):this.name!==null?this.bin.set(this.name.name,$o(e.bin)):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[n,u]of Object.entries(e.bin)){if(typeof u!="string"||u.trim()===""){o.push(new Error(`Invalid bin definition for '${n}'`));continue}let A=Js(n);this.bin.set(A.name,$o(u))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[n,u]of Object.entries(e.scripts)){if(typeof u!="string"){o.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,u)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[n,u]of Object.entries(e.dependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Js(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=In(A,u);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[n,u]of Object.entries(e.devDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Js(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=In(A,u);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[n,u]of Object.entries(e.peerDependencies)){let A;try{A=Js(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof u!="string"||!u.startsWith(Xn.protocol)&&!xa(u))&&(o.push(new Error(`Invalid dependency range for '${n}'`)),u="*");let p=In(A,u);this.peerDependencies.set(p.identHash,p)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&o.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=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 n of a){if(typeof n!="string"){o.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[n,u]of Object.entries(e.dependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}`));continue}let A=ih(n),p=this.ensureDependencyMeta(A),h=jP(u.built,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid built meta field for '${n}'`));continue}let E=jP(u.optional,{yamlCompatibilityMode:r});if(E===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}let I=jP(u.unplugged,{yamlCompatibilityMode:r});if(I===null){o.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:E,unplugged:I})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[n,u]of Object.entries(e.peerDependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}'`));continue}let A=ih(n),p=this.ensurePeerDependencyMeta(A),h=jP(u.optional,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[n,u]of Object.entries(e.resolutions)){if(typeof u!="string"){o.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:MD(n),reference:u})}catch(A){o.push(A);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let n of e.files){if(typeof n!="string"){o.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}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=$o(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=$o(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=$o(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,u]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set($o(n),typeof u=="string"?$o(u):u)}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,$o(e.publishConfig.bin)]]):o.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[n,u]of Object.entries(e.publishConfig.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,$o(u))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of e.publishConfig.executableFiles){if(typeof n!="string"){o.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add($o(n))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let n of Object.keys(e.installConfig))n==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:o.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:o.push(new Error("Invalid selfReferences definition, must be a boolean value")):o.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[n,u]of Object.entries(e.optionalDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Js(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=In(A,u);this.dependencies.set(p.identHash,p);let h=In(A,"unknown"),E=this.ensureDependencyMeta(h);Object.assign(E,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=o}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(oM("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(oM("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(oM("libc",this.libc)),e.length>0?e.join(" & "):null}ensureDependencyMeta(e){if(e.range!=="unknown"&&!gse.default.valid(e.range))throw new Error(`Invalid meta field range for '${Pa(e)}'`);let r=fn(e),o=e.range!=="unknown"?e.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(o);return n||a.set(o,n={}),n}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Pa(e)}'`);let r=fn(e),o=this.peerDependenciesMeta.get(r);return o||this.peerDependenciesMeta.set(r,o={}),o}setRawField(e,r,{after:o=[]}={}){let a=new Set(o.filter(n=>Object.hasOwn(this.raw,n)));if(a.size===0||Object.hasOwn(this.raw,e))this.raw[e]=r;else{let n=this.raw,u=this.raw={},A=!1;for(let p of Object.keys(n))u[p]=n[p],A||(a.delete(p),a.size===0&&(u[e]=r,A=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=fn(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 n=this.browser;typeof n=="string"?e.browser=n:n instanceof Map&&(e.browser=Object.assign({},...Array.from(n.keys()).sort().map(u=>({[u]:n.get(u)}))))}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(n=>({[n]:this.bin.get(n)}))):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:n})=>n)}:e.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let o=[],a=[];for(let n of this.dependencies.values()){let u=this.dependenciesMeta.get(fn(n)),A=!1;if(r&&u){let p=u.get(null);p&&p.optional&&(A=!0)}A?a.push(n):o.push(n)}o.length>0?e.dependencies=Object.assign({},...uE(o).map(n=>({[fn(n)]:n.range}))):delete e.dependencies,a.length>0?e.optionalDependencies=Object.assign({},...uE(a).map(n=>({[fn(n)]:n.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...uE(this.devDependencies.values()).map(n=>({[fn(n)]:n.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...uE(this.peerDependencies.values()).map(n=>({[fn(n)]:n.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[n,u]of ks(this.dependenciesMeta.entries(),([A,p])=>A))for(let[A,p]of ks(u.entries(),([h,E])=>h!==null?`0${h}`:"1")){let h=A!==null?Pa(In(Js(n),A)):n,E={...p};r&&A===null&&delete E.optional,Object.keys(E).length!==0&&(e.dependenciesMeta[h]=E)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...ks(this.peerDependenciesMeta.entries(),([n,u])=>n).map(([n,u])=>({[n]:u}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:u})=>({[UD(n)]:u}))):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){e.scripts??={};for(let n of Object.keys(e.scripts))this.scripts.has(n)||delete e.scripts[n];for(let[n,u]of this.scripts.entries())e.scripts[n]=u}else delete e.scripts;return e}},Ot=AE;Ot.fileName="package.json",Ot.allDependencies=["dependencies","devDependencies","peerDependencies"],Ot.hardDependencies=["dependencies","devDependencies"]});var mse=_((UNt,dse)=>{var Vtt=_l(),Jtt=function(){return Vtt.Date.now()};dse.exports=Jtt});var Ese=_((_Nt,yse)=>{var ztt=/\s/;function Xtt(t){for(var e=t.length;e--&&ztt.test(t.charAt(e)););return e}yse.exports=Xtt});var wse=_((HNt,Cse)=>{var Ztt=Ese(),$tt=/^\s+/;function ert(t){return t&&t.slice(0,Ztt(t)+1).replace($tt,"")}Cse.exports=ert});var pE=_((qNt,Ise)=>{var trt=hd(),rrt=Ju(),nrt="[object Symbol]";function irt(t){return typeof t=="symbol"||rrt(t)&&trt(t)==nrt}Ise.exports=irt});var Sse=_((jNt,Dse)=>{var srt=wse(),Bse=il(),ort=pE(),vse=0/0,art=/^[-+]0x[0-9a-f]+$/i,lrt=/^0b[01]+$/i,crt=/^0o[0-7]+$/i,urt=parseInt;function Art(t){if(typeof t=="number")return t;if(ort(t))return vse;if(Bse(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Bse(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=srt(t);var r=lrt.test(t);return r||crt.test(t)?urt(t.slice(2),r?2:8):art.test(t)?vse:+t}Dse.exports=Art});var xse=_((GNt,bse)=>{var frt=il(),aM=mse(),Pse=Sse(),prt="Expected a function",hrt=Math.max,grt=Math.min;function drt(t,e,r){var o,a,n,u,A,p,h=0,E=!1,I=!1,v=!0;if(typeof t!="function")throw new TypeError(prt);e=Pse(e)||0,frt(r)&&(E=!!r.leading,I="maxWait"in r,n=I?hrt(Pse(r.maxWait)||0,e):n,v="trailing"in r?!!r.trailing:v);function x(ce){var me=o,he=a;return o=a=void 0,h=ce,u=t.apply(he,me),u}function C(ce){return h=ce,A=setTimeout(U,e),E?x(ce):u}function R(ce){var me=ce-p,he=ce-h,Be=e-me;return I?grt(Be,n-he):Be}function L(ce){var me=ce-p,he=ce-h;return p===void 0||me>=e||me<0||I&&he>=n}function U(){var ce=aM();if(L(ce))return J(ce);A=setTimeout(U,R(ce))}function J(ce){return A=void 0,v&&o?x(ce):(o=a=void 0,u)}function te(){A!==void 0&&clearTimeout(A),h=0,o=p=a=A=void 0}function ae(){return A===void 0?u:J(aM())}function fe(){var ce=aM(),me=L(ce);if(o=arguments,a=this,p=ce,me){if(A===void 0)return C(p);if(I)return clearTimeout(A),A=setTimeout(U,e),x(p)}return A===void 0&&(A=setTimeout(U,e)),u}return fe.cancel=te,fe.flush=ae,fe}bse.exports=drt});var lM=_((YNt,kse)=>{var mrt=xse(),yrt=il(),Ert="Expected a function";function Crt(t,e,r){var o=!0,a=!0;if(typeof t!="function")throw new TypeError(Ert);return yrt(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),mrt(t,e,{leading:o,maxWait:e,trailing:a})}kse.exports=Crt});function Irt(t){return typeof t.reportCode<"u"}var Qse,Fse,Rse,wrt,zt,Xs,Yl=Et(()=>{Qse=$e(lM()),Fse=ve("stream"),Rse=ve("string_decoder"),wrt=15,zt=class extends Error{constructor(r,o,a){super(o);this.reportExtra=a;this.reportCode=r}};Xs=class{constructor(){this.cacheHits=new Set;this.cacheMisses=new Set;this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}getRecommendedLength(){return 180}reportCacheHit(e){this.cacheHits.add(e.locatorHash)}reportCacheMiss(e,r){this.cacheMisses.add(e.locatorHash)}static progressViaCounter(e){let r=0,o,a=new Promise(p=>{o=p}),n=p=>{let h=o;a=new Promise(E=>{o=E}),r=p,h()},u=(p=0)=>{n(r+1)},A=async function*(){for(;r{r=u}),a=(0,Qse.default)(u=>{let A=r;o=new Promise(p=>{r=p}),e=u,A()},1e3/wrt),n=async function*(){for(;;)await o,yield{title:e}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(e,r){let o=this.reportProgress(e);try{return await r(e)}finally{o.stop()}}startProgressSync(e,r){let o=this.reportProgress(e);try{return r(e)}finally{o.stop()}}reportInfoOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(e,r),o?.reportExtra?.(this))}reportWarningOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(e,r),o?.reportExtra?.(this))}reportErrorOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(e,r),o?.reportExtra?.(this))}reportExceptionOnce(e){Irt(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 r=new Fse.PassThrough,o=new Rse.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` +`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",e!==null?this.reportInfo(null,`${e} ${p}`):this.reportInfo(null,p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var hE,cM=Et(()=>{Yl();bo();hE=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));return o||null}getFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));if(!o)throw new zt(11,`${qr(r.project.configuration,e)} isn't supported by any available fetcher`);return o}}});var Dd,uM=Et(()=>{bo();Dd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.getResolverByDescriptor(e,o).bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,o){return await this.getResolverByDescriptor(e,o).getCandidates(e,r,o)}async getSatisfying(e,r,o,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,o,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));return o||null}getResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!o)throw new Error(`${jn(r.project.configuration,e)} isn't supported by any available resolver`);return o}tryResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));return o||null}getResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));if(!o)throw new Error(`${qr(r.project.configuration,e)} isn't supported by any available resolver`);return o}}});var gE,AM=Et(()=>{St();bo();gE=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=Qs(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=Qs(e,a),u=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,u,r)}getLocatorFilename(e){return lE(e)}async ensureVirtualLink(e,r,o){let a=r.packageFs.getRealPath(),n=o.project.configuration.get("virtualFolder"),u=this.getLocatorFilename(e),A=mi.makeVirtualPath(n,u,a),p=new Uu(A,{baseFs:r.packageFs,pathUtils:V});return{...r,packageFs:p}}}});var dE,c1,Tse=Et(()=>{dE=class{static isVirtualDescriptor(e){return!!e.range.startsWith(dE.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(dE.protocol)}supportsDescriptor(e,r){return dE.isVirtualDescriptor(e)}supportsLocator(e,r){return dE.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,o){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,o,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},c1=dE;c1.protocol="virtual:"});var mE,fM=Et(()=>{St();vd();mE=class{supports(e){return!!e.reference.startsWith(Xn.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let o=this.getWorkspace(e,r).cwd;return{packageFs:new gn(o),prefixPath:Bt.dot,localPath:o}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Xn.protocol.length))}}});function u1(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Nse(t){return typeof t>"u"?3:u1(t)?0:Array.isArray(t)?1:2}function gM(t,e){return Object.hasOwn(t,e)}function vrt(t){return u1(t)&&gM(t,"onConflict")&&typeof t.onConflict=="string"}function Drt(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!vrt(t))return{onConflict:"default",value:t};if(gM(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function Lse(t,e){let r=u1(t)&&gM(t,e)?t[e]:void 0;return Drt(r)}function yE(t,e){return[t,e,Ose]}function dM(t){return Array.isArray(t)?t[2]===Ose:!1}function pM(t,e){if(u1(t)){let r={};for(let o of Object.keys(t))r[o]=pM(t[o],e);return yE(e,r)}return Array.isArray(t)?yE(e,t.map(r=>pM(r,e))):yE(e,t)}function hM(t,e,r,o,a){let n,u=[],A=a,p=0;for(let E=a-1;E>=o;--E){let[I,v]=t[E],{onConflict:x,value:C}=Lse(v,r),R=Nse(C);if(R!==3){if(n??=R,R!==n||x==="hardReset"){p=A;break}if(R===2)return yE(I,C);if(u.unshift([I,C]),x==="reset"){p=E;break}x==="extend"&&E===o&&(o=0),A=E}}if(typeof n>"u")return null;let h=u.map(([E])=>E).join(", ");switch(n){case 1:return yE(h,new Array().concat(...u.map(([E,I])=>I.map(v=>pM(v,E)))));case 0:{let E=Object.assign({},...u.map(([,R])=>R)),I=Object.keys(E),v={},x=t.map(([R,L])=>[R,Lse(L,r).value]),C=Brt(x,([R,L])=>{let U=Nse(L);return U!==0&&U!==3});if(C!==-1){let R=x.slice(C+1);for(let L of I)v[L]=hM(R,e,L,0,R.length)}else for(let R of I)v[R]=hM(x,e,R,p,x.length);return yE(h,v)}default:throw new Error("Assertion failed: Non-extendable value type")}}function Mse(t){return hM(t.map(([e,r])=>[e,{["."]:r}]),[],".",0,t.length)}function A1(t){return dM(t)?t[1]:t}function GP(t){let e=dM(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>GP(r));if(u1(e)){let r={};for(let[o,a]of Object.entries(e))r[o]=GP(a);return r}return e}function mM(t){return dM(t)?t[0]:null}var Brt,Ose,Use=Et(()=>{Brt=(t,e,r)=>{let o=[...t];return o.reverse(),o.findIndex(e,r)};Ose=Symbol()});var YP={};Vt(YP,{getDefaultGlobalFolder:()=>EM,getHomeFolder:()=>EE,isFolderInside:()=>CM});function EM(){if(process.platform==="win32"){let t=ue.toPortablePath(process.env.LOCALAPPDATA||ue.join((0,yM.homedir)(),"AppData","Local"));return V.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=ue.toPortablePath(process.env.XDG_DATA_HOME);return V.resolve(t,"yarn/berry")}return V.resolve(EE(),".yarn/berry")}function EE(){return ue.toPortablePath((0,yM.homedir)()||"/usr/local/share")}function CM(t,e){let r=V.relative(e,t);return r&&!r.startsWith("..")&&!V.isAbsolute(r)}var yM,WP=Et(()=>{St();yM=ve("os")});var jse=_(CE=>{"use strict";var iLt=ve("net"),Prt=ve("tls"),wM=ve("http"),_se=ve("https"),brt=ve("events"),sLt=ve("assert"),xrt=ve("util");CE.httpOverHttp=krt;CE.httpsOverHttp=Qrt;CE.httpOverHttps=Frt;CE.httpsOverHttps=Rrt;function krt(t){var e=new Ff(t);return e.request=wM.request,e}function Qrt(t){var e=new Ff(t);return e.request=wM.request,e.createSocket=Hse,e.defaultPort=443,e}function Frt(t){var e=new Ff(t);return e.request=_se.request,e}function Rrt(t){var e=new Ff(t);return e.request=_se.request,e.createSocket=Hse,e.defaultPort=443,e}function Ff(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||wM.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(o,a,n,u){for(var A=qse(a,n,u),p=0,h=e.requests.length;p=this.maxSockets){n.requests.push(u);return}n.createSocket(u,function(A){A.on("free",p),A.on("close",h),A.on("agentRemove",h),e.onSocket(A);function p(){n.emit("free",A,u)}function h(E){n.removeSocket(A),A.removeListener("free",p),A.removeListener("close",h),A.removeListener("agentRemove",h)}})};Ff.prototype.createSocket=function(e,r){var o=this,a={};o.sockets.push(a);var n=IM({},o.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),oh("making CONNECT request");var u=o.request(n);u.useChunkedEncodingByDefault=!1,u.once("response",A),u.once("upgrade",p),u.once("connect",h),u.once("error",E),u.end();function A(I){I.upgrade=!0}function p(I,v,x){process.nextTick(function(){h(I,v,x)})}function h(I,v,x){if(u.removeAllListeners(),v.removeAllListeners(),I.statusCode!==200){oh("tunneling socket could not be established, statusCode=%d",I.statusCode),v.destroy();var C=new Error("tunneling socket could not be established, statusCode="+I.statusCode);C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}if(x.length>0){oh("got illegal response body from proxy"),v.destroy();var C=new Error("got illegal response body from proxy");C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}return oh("tunneling connection has established"),o.sockets[o.sockets.indexOf(a)]=v,r(v)}function E(I){u.removeAllListeners(),oh(`tunneling socket could not be established, cause=%s +`,I.message,I.stack);var v=new Error("tunneling socket could not be established, cause="+I.message);v.code="ECONNRESET",e.request.emit("error",v),o.removeSocket(a)}};Ff.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var o=this.requests.shift();o&&this.createSocket(o,function(a){o.request.onSocket(a)})}};function Hse(t,e){var r=this;Ff.prototype.createSocket.call(r,t,function(o){var a=t.request.getHeader("host"),n=IM({},r.options,{socket:o,servername:a?a.replace(/:.*$/,""):t.host}),u=Prt.connect(0,n);r.sockets[r.sockets.indexOf(o)]=u,e(u)})}function qse(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function IM(t){for(var e=1,r=arguments.length;e{Gse.exports=jse()});var Tf=_((Rf,KP)=>{"use strict";Object.defineProperty(Rf,"__esModule",{value:!0});var Wse=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Trt(t){return Wse.includes(t)}var Nrt=["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",...Wse];function Lrt(t){return Nrt.includes(t)}var Ort=["null","undefined","string","number","bigint","boolean","symbol"];function Mrt(t){return Ort.includes(t)}function wE(t){return e=>typeof e===t}var{toString:Kse}=Object.prototype,f1=t=>{let e=Kse.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&be.domElement(t))return"HTMLElement";if(Lrt(e))return e},ei=t=>e=>f1(e)===t;function be(t){if(t===null)return"null";switch(typeof t){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(be.observable(t))return"Observable";if(be.array(t))return"Array";if(be.buffer(t))return"Buffer";let e=f1(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}be.undefined=wE("undefined");be.string=wE("string");var Urt=wE("number");be.number=t=>Urt(t)&&!be.nan(t);be.bigint=wE("bigint");be.function_=wE("function");be.null_=t=>t===null;be.class_=t=>be.function_(t)&&t.toString().startsWith("class ");be.boolean=t=>t===!0||t===!1;be.symbol=wE("symbol");be.numericString=t=>be.string(t)&&!be.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));be.array=(t,e)=>Array.isArray(t)?be.function_(e)?t.every(e):!0:!1;be.buffer=t=>{var e,r,o,a;return(a=(o=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||o===void 0?void 0:o.call(r,t))!==null&&a!==void 0?a:!1};be.nullOrUndefined=t=>be.null_(t)||be.undefined(t);be.object=t=>!be.null_(t)&&(typeof t=="object"||be.function_(t));be.iterable=t=>{var e;return be.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};be.asyncIterable=t=>{var e;return be.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};be.generator=t=>be.iterable(t)&&be.function_(t.next)&&be.function_(t.throw);be.asyncGenerator=t=>be.asyncIterable(t)&&be.function_(t.next)&&be.function_(t.throw);be.nativePromise=t=>ei("Promise")(t);var _rt=t=>{var e,r;return be.function_((e=t)===null||e===void 0?void 0:e.then)&&be.function_((r=t)===null||r===void 0?void 0:r.catch)};be.promise=t=>be.nativePromise(t)||_rt(t);be.generatorFunction=ei("GeneratorFunction");be.asyncGeneratorFunction=t=>f1(t)==="AsyncGeneratorFunction";be.asyncFunction=t=>f1(t)==="AsyncFunction";be.boundFunction=t=>be.function_(t)&&!t.hasOwnProperty("prototype");be.regExp=ei("RegExp");be.date=ei("Date");be.error=ei("Error");be.map=t=>ei("Map")(t);be.set=t=>ei("Set")(t);be.weakMap=t=>ei("WeakMap")(t);be.weakSet=t=>ei("WeakSet")(t);be.int8Array=ei("Int8Array");be.uint8Array=ei("Uint8Array");be.uint8ClampedArray=ei("Uint8ClampedArray");be.int16Array=ei("Int16Array");be.uint16Array=ei("Uint16Array");be.int32Array=ei("Int32Array");be.uint32Array=ei("Uint32Array");be.float32Array=ei("Float32Array");be.float64Array=ei("Float64Array");be.bigInt64Array=ei("BigInt64Array");be.bigUint64Array=ei("BigUint64Array");be.arrayBuffer=ei("ArrayBuffer");be.sharedArrayBuffer=ei("SharedArrayBuffer");be.dataView=ei("DataView");be.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;be.urlInstance=t=>ei("URL")(t);be.urlString=t=>{if(!be.string(t))return!1;try{return new URL(t),!0}catch{return!1}};be.truthy=t=>Boolean(t);be.falsy=t=>!t;be.nan=t=>Number.isNaN(t);be.primitive=t=>be.null_(t)||Mrt(typeof t);be.integer=t=>Number.isInteger(t);be.safeInteger=t=>Number.isSafeInteger(t);be.plainObject=t=>{if(Kse.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};be.typedArray=t=>Trt(f1(t));var Hrt=t=>be.safeInteger(t)&&t>=0;be.arrayLike=t=>!be.nullOrUndefined(t)&&!be.function_(t)&&Hrt(t.length);be.inRange=(t,e)=>{if(be.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(be.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var qrt=1,jrt=["innerHTML","ownerDocument","style","attributes","nodeValue"];be.domElement=t=>be.object(t)&&t.nodeType===qrt&&be.string(t.nodeName)&&!be.plainObject(t)&&jrt.every(e=>e in t);be.observable=t=>{var e,r,o,a;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((a=(o=t)["@@observable"])===null||a===void 0?void 0:a.call(o)):!1};be.nodeStream=t=>be.object(t)&&be.function_(t.pipe)&&!be.observable(t);be.infinite=t=>t===1/0||t===-1/0;var Vse=t=>e=>be.integer(e)&&Math.abs(e%2)===t;be.evenInteger=Vse(0);be.oddInteger=Vse(1);be.emptyArray=t=>be.array(t)&&t.length===0;be.nonEmptyArray=t=>be.array(t)&&t.length>0;be.emptyString=t=>be.string(t)&&t.length===0;be.nonEmptyString=t=>be.string(t)&&t.length>0;var Grt=t=>be.string(t)&&!/\S/.test(t);be.emptyStringOrWhitespace=t=>be.emptyString(t)||Grt(t);be.emptyObject=t=>be.object(t)&&!be.map(t)&&!be.set(t)&&Object.keys(t).length===0;be.nonEmptyObject=t=>be.object(t)&&!be.map(t)&&!be.set(t)&&Object.keys(t).length>0;be.emptySet=t=>be.set(t)&&t.size===0;be.nonEmptySet=t=>be.set(t)&&t.size>0;be.emptyMap=t=>be.map(t)&&t.size===0;be.nonEmptyMap=t=>be.map(t)&&t.size>0;be.propertyKey=t=>be.any([be.string,be.number,be.symbol],t);be.formData=t=>ei("FormData")(t);be.urlSearchParams=t=>ei("URLSearchParams")(t);var Jse=(t,e,r)=>{if(!be.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};be.any=(t,...e)=>(be.array(t)?t:[t]).some(o=>Jse(Array.prototype.some,o,e));be.all=(t,...e)=>Jse(Array.prototype.every,t,e);var Ht=(t,e,r,o={})=>{if(!t){let{multipleValues:a}=o,n=a?`received values of types ${[...new Set(r.map(u=>`\`${be(u)}\``))].join(", ")}`:`received value of type \`${be(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${n}.`)}};Rf.assert={undefined:t=>Ht(be.undefined(t),"undefined",t),string:t=>Ht(be.string(t),"string",t),number:t=>Ht(be.number(t),"number",t),bigint:t=>Ht(be.bigint(t),"bigint",t),function_:t=>Ht(be.function_(t),"Function",t),null_:t=>Ht(be.null_(t),"null",t),class_:t=>Ht(be.class_(t),"Class",t),boolean:t=>Ht(be.boolean(t),"boolean",t),symbol:t=>Ht(be.symbol(t),"symbol",t),numericString:t=>Ht(be.numericString(t),"string with a number",t),array:(t,e)=>{Ht(be.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Ht(be.buffer(t),"Buffer",t),nullOrUndefined:t=>Ht(be.nullOrUndefined(t),"null or undefined",t),object:t=>Ht(be.object(t),"Object",t),iterable:t=>Ht(be.iterable(t),"Iterable",t),asyncIterable:t=>Ht(be.asyncIterable(t),"AsyncIterable",t),generator:t=>Ht(be.generator(t),"Generator",t),asyncGenerator:t=>Ht(be.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Ht(be.nativePromise(t),"native Promise",t),promise:t=>Ht(be.promise(t),"Promise",t),generatorFunction:t=>Ht(be.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Ht(be.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Ht(be.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Ht(be.boundFunction(t),"Function",t),regExp:t=>Ht(be.regExp(t),"RegExp",t),date:t=>Ht(be.date(t),"Date",t),error:t=>Ht(be.error(t),"Error",t),map:t=>Ht(be.map(t),"Map",t),set:t=>Ht(be.set(t),"Set",t),weakMap:t=>Ht(be.weakMap(t),"WeakMap",t),weakSet:t=>Ht(be.weakSet(t),"WeakSet",t),int8Array:t=>Ht(be.int8Array(t),"Int8Array",t),uint8Array:t=>Ht(be.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Ht(be.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Ht(be.int16Array(t),"Int16Array",t),uint16Array:t=>Ht(be.uint16Array(t),"Uint16Array",t),int32Array:t=>Ht(be.int32Array(t),"Int32Array",t),uint32Array:t=>Ht(be.uint32Array(t),"Uint32Array",t),float32Array:t=>Ht(be.float32Array(t),"Float32Array",t),float64Array:t=>Ht(be.float64Array(t),"Float64Array",t),bigInt64Array:t=>Ht(be.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Ht(be.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Ht(be.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Ht(be.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Ht(be.dataView(t),"DataView",t),urlInstance:t=>Ht(be.urlInstance(t),"URL",t),urlString:t=>Ht(be.urlString(t),"string with a URL",t),truthy:t=>Ht(be.truthy(t),"truthy",t),falsy:t=>Ht(be.falsy(t),"falsy",t),nan:t=>Ht(be.nan(t),"NaN",t),primitive:t=>Ht(be.primitive(t),"primitive",t),integer:t=>Ht(be.integer(t),"integer",t),safeInteger:t=>Ht(be.safeInteger(t),"integer",t),plainObject:t=>Ht(be.plainObject(t),"plain object",t),typedArray:t=>Ht(be.typedArray(t),"TypedArray",t),arrayLike:t=>Ht(be.arrayLike(t),"array-like",t),domElement:t=>Ht(be.domElement(t),"HTMLElement",t),observable:t=>Ht(be.observable(t),"Observable",t),nodeStream:t=>Ht(be.nodeStream(t),"Node.js Stream",t),infinite:t=>Ht(be.infinite(t),"infinite number",t),emptyArray:t=>Ht(be.emptyArray(t),"empty array",t),nonEmptyArray:t=>Ht(be.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Ht(be.emptyString(t),"empty string",t),nonEmptyString:t=>Ht(be.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Ht(be.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Ht(be.emptyObject(t),"empty object",t),nonEmptyObject:t=>Ht(be.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Ht(be.emptySet(t),"empty set",t),nonEmptySet:t=>Ht(be.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Ht(be.emptyMap(t),"empty map",t),nonEmptyMap:t=>Ht(be.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Ht(be.propertyKey(t),"PropertyKey",t),formData:t=>Ht(be.formData(t),"FormData",t),urlSearchParams:t=>Ht(be.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Ht(be.evenInteger(t),"even integer",t),oddInteger:t=>Ht(be.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Ht(be.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Ht(be.inRange(t,e),"in range",t),any:(t,...e)=>Ht(be.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Ht(be.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(be,{class:{value:be.class_},function:{value:be.function_},null:{value:be.null_}});Object.defineProperties(Rf.assert,{class:{value:Rf.assert.class_},function:{value:Rf.assert.function_},null:{value:Rf.assert.null_}});Rf.default=be;KP.exports=be;KP.exports.default=be;KP.exports.assert=Rf.assert});var zse=_((lLt,BM)=>{"use strict";var VP=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},IE=class{static fn(e){return(...r)=>new IE((o,a,n)=>{r.push(n),e(...r).then(o,a)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,o)=>{this._reject=o;let a=A=>{this._isPending=!1,r(A)},n=A=>{this._isPending=!1,o(A)},u=A=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(A)};return Object.defineProperties(u,{shouldReject:{get:()=>this._rejectOnCancel,set:A=>{this._rejectOnCancel=A}}}),e(a,n,u)})}then(e,r){return this._promise.then(e,r)}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 r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new VP(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(IE.prototype,Promise.prototype);BM.exports=IE;BM.exports.CancelError=VP});var Xse=_((DM,SM)=>{"use strict";Object.defineProperty(DM,"__esModule",{value:!0});var Yrt=ve("tls"),vM=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let o=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",u=()=>{o&&r.connect(),t instanceof Yrt.TLSSocket&&a&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),n&&t.once("close",r.close)};t.writable&&!t.connecting?u():t.connecting?t.once("connect",u):t.destroyed&&n&&r.close(t._hadError)};DM.default=vM;SM.exports=vM;SM.exports.default=vM});var Zse=_((bM,xM)=>{"use strict";Object.defineProperty(bM,"__esModule",{value:!0});var Wrt=Xse(),Krt=Number(process.versions.node.split(".")[0]),PM=t=>{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}};t.timings=e;let r=u=>{let A=u.emit.bind(u);u.emit=(p,...h)=>(p==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,u.emit=A),A(p,...h))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Krt>=13)&&(e.phases.total=Date.now()-e.start)});let o=u=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let A=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};u.prependOnceListener("lookup",A),Wrt.default(u,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(u.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}})};t.socket?o(t.socket):t.prependOnceListener("socket",o);let a=()=>{var u;e.upload=Date.now(),e.phases.request=e.upload-(u=e.secureConnect,u??e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?a():t.prependOnceListener("finish",a),t.prependOnceListener("response",u=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,u.timings=e,r(u),u.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};bM.default=PM;xM.exports=PM;xM.exports.default=PM});var soe=_((cLt,FM)=>{"use strict";var{V4MAPPED:Vrt,ADDRCONFIG:Jrt,ALL:ioe,promises:{Resolver:$se},lookup:zrt}=ve("dns"),{promisify:kM}=ve("util"),Xrt=ve("os"),BE=Symbol("cacheableLookupCreateConnection"),QM=Symbol("cacheableLookupInstance"),eoe=Symbol("expires"),Zrt=typeof ioe=="number",toe=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},$rt=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},roe=()=>{let t=!1,e=!1;for(let r of Object.values(Xrt.networkInterfaces()))for(let o of r)if(!o.internal&&(o.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},ent=t=>Symbol.iterator in t,noe={ttl:!0},tnt={all:!0},JP=class{constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:o=3600,errorTtl:a=.15,resolver:n=new $se,lookup:u=zrt}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=e,this._resolver=n,this._dnsLookup=kM(u),this._resolver instanceof $se?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=kM(this._resolver.resolve4.bind(this._resolver)),this._resolve6=kM(this._resolver.resolve6.bind(this._resolver))),this._iface=roe(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,o<1)this._fallback=!1;else{this._fallback=!0;let A=setInterval(()=>{this._hostnamesToFallback.clear()},o*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,r,o){if(typeof r=="function"?(o=r,r={}):typeof r=="number"&&(r={family:r}),!o)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(a=>{r.all?o(null,a):o(null,a.address,a.family,a.expires,a.ttl)},o)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let o=await this.query(e);if(r.family===6){let a=o.filter(n=>n.family===6);r.hints&Vrt&&(Zrt&&r.hints&ioe||a.length===0)?$rt(o):o=a}else r.family===4&&(o=o.filter(a=>a.family===4));if(r.hints&Jrt){let{_iface:a}=this;o=o.filter(n=>n.family===6?a.has6:a.has4)}if(o.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${e}`);throw a.code="ENOTFOUND",a.hostname=e,a}return r.all?o:o[0]}async query(e){let r=await this._cache.get(e);if(!r){let o=this._pending[e];if(o)r=await o;else{let a=this.queryAndCache(e);this._pending[e]=a,r=await a}}return r=r.map(o=>({...o})),r}async _resolve(e){let r=async h=>{try{return await h}catch(E){if(E.code==="ENODATA"||E.code==="ENOTFOUND")return[];throw E}},[o,a]=await Promise.all([this._resolve4(e,noe),this._resolve6(e,noe)].map(h=>r(h))),n=0,u=0,A=0,p=Date.now();for(let h of o)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,u=Math.max(u,h.ttl);return o.length>0?a.length>0?A=Math.min(n,u):A=n:A=u,{entries:[...o,...a],cacheTtl:A}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,r,o){if(this.maxTtl>0&&o>0){o=Math.min(o,this.maxTtl)*1e3,r[eoe]=Date.now()+o;try{await this._cache.set(e,r,o)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}ent(this._cache)&&this._tick(o)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,tnt);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let o=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,o),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let o=1/0,a=Date.now();for(let[n,u]of this._cache){let A=u[eoe];a>=A?this._cache.delete(n):A("lookup"in r||(r.lookup=this.lookup),e[BE](r,o))}uninstall(e){if(toe(e),e[BE]){if(e[QM]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[BE],delete e[BE],delete e[QM]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=roe(),(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()}};FM.exports=JP;FM.exports.default=JP});var loe=_((uLt,RM)=>{"use strict";var rnt=typeof URL>"u"?ve("url").URL:URL,nnt="text/plain",int="us-ascii",ooe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),snt=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let o=r[1].split(";"),a=r[2],n=e?"":r[3],u=!1;o[o.length-1]==="base64"&&(o.pop(),u=!0);let A=(o.shift()||"").toLowerCase(),h=[...o.map(E=>{let[I,v=""]=E.split("=").map(x=>x.trim());return I==="charset"&&(v=v.toLowerCase(),v===int)?"":`${I}${v?`=${v}`:""}`}).filter(Boolean)];return u&&h.push("base64"),(h.length!==0||A&&A!==nnt)&&h.unshift(A),`data:${h.join(";")},${u?a.trim():a}${n?`#${n}`:""}`},aoe=(t,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(t=t.trim(),/^data:/i.test(t))return snt(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new rnt(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,u)=>/^(?!\/)/g.test(u)?`${u}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),u=n[n.length-1];ooe(u,e.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let n of[...a.searchParams.keys()])ooe(n,e.removeQueryParameters)&&a.searchParams.delete(n);return e.sortQueryParameters&&a.searchParams.sort(),e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),t=a.toString(),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};RM.exports=aoe;RM.exports.default=aoe});var Aoe=_((ALt,uoe)=>{uoe.exports=coe;function coe(t,e){if(t&&e)return coe(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(o){r[o]=t[o]}),r;function r(){for(var o=new Array(arguments.length),a=0;a{var foe=Aoe();TM.exports=foe(zP);TM.exports.strict=foe(poe);zP.proto=zP(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return zP(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return poe(this)},configurable:!0})});function zP(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function poe(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var LM=_((pLt,goe)=>{var ont=NM(),ant=function(){},lnt=function(t){return t.setHeader&&typeof t.abort=="function"},cnt=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},hoe=function(t,e,r){if(typeof e=="function")return hoe(t,null,e);e||(e={}),r=ont(r||ant);var o=t._writableState,a=t._readableState,n=e.readable||e.readable!==!1&&t.readable,u=e.writable||e.writable!==!1&&t.writable,A=function(){t.writable||p()},p=function(){u=!1,n||r.call(t)},h=function(){n=!1,u||r.call(t)},E=function(C){r.call(t,C?new Error("exited with error code: "+C):null)},I=function(C){r.call(t,C)},v=function(){if(n&&!(a&&a.ended))return r.call(t,new Error("premature close"));if(u&&!(o&&o.ended))return r.call(t,new Error("premature close"))},x=function(){t.req.on("finish",p)};return lnt(t)?(t.on("complete",p),t.on("abort",v),t.req?x():t.on("request",x)):u&&!o&&(t.on("end",A),t.on("close",A)),cnt(t)&&t.on("exit",E),t.on("end",h),t.on("finish",p),e.error!==!1&&t.on("error",I),t.on("close",v),function(){t.removeListener("complete",p),t.removeListener("abort",v),t.removeListener("request",x),t.req&&t.req.removeListener("finish",p),t.removeListener("end",A),t.removeListener("close",A),t.removeListener("finish",p),t.removeListener("exit",E),t.removeListener("end",h),t.removeListener("error",I),t.removeListener("close",v)}};goe.exports=hoe});var yoe=_((hLt,moe)=>{var unt=NM(),Ant=LM(),OM=ve("fs"),p1=function(){},fnt=/^v?\.0/.test(process.version),XP=function(t){return typeof t=="function"},pnt=function(t){return!fnt||!OM?!1:(t instanceof(OM.ReadStream||p1)||t instanceof(OM.WriteStream||p1))&&XP(t.close)},hnt=function(t){return t.setHeader&&XP(t.abort)},gnt=function(t,e,r,o){o=unt(o);var a=!1;t.on("close",function(){a=!0}),Ant(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,pnt(t))return t.close(p1);if(hnt(t))return t.abort();if(XP(t.destroy))return t.destroy();o(u||new Error("stream was destroyed"))}}},doe=function(t){t()},dnt=function(t,e){return t.pipe(e)},mnt=function(){var t=Array.prototype.slice.call(arguments),e=XP(t[t.length-1]||p1)&&t.pop()||p1;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,o=t.map(function(a,n){var u=n0;return gnt(a,u,A,function(p){r||(r=p),p&&o.forEach(doe),!u&&(o.forEach(doe),e(r))})});return t.reduce(dnt)};moe.exports=mnt});var Coe=_((gLt,Eoe)=>{"use strict";var{PassThrough:ynt}=ve("stream");Eoe.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,o=r==="buffer",a=!1;e?a=!(r||o):r=r||"utf8",o&&(r=null);let n=new ynt({objectMode:a});r&&n.setEncoding(r);let u=0,A=[];return n.on("data",p=>{A.push(p),a?u=A.length:u+=p.length}),n.getBufferedValue=()=>e?A:o?Buffer.concat(A,u):A.join(""),n.getBufferedLength=()=>u,n}});var woe=_((dLt,vE)=>{"use strict";var Ent=yoe(),Cnt=Coe(),ZP=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function $P(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,o;return await new Promise((a,n)=>{let u=A=>{A&&(A.bufferedData=o.getBufferedValue()),n(A)};o=Ent(t,Cnt(e),A=>{if(A){u(A);return}a()}),o.on("data",()=>{o.getBufferedLength()>r&&u(new ZP)})}),o.getBufferedValue()}vE.exports=$P;vE.exports.default=$P;vE.exports.buffer=(t,e)=>$P(t,{...e,encoding:"buffer"});vE.exports.array=(t,e)=>$P(t,{...e,array:!0});vE.exports.MaxBufferError=ZP});var Boe=_((yLt,Ioe)=>{"use strict";var wnt=new Set([200,203,204,206,300,301,404,405,410,414,501]),Int=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Bnt=new Set([500,502,503,504]),vnt={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Dnt={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Sd(t){let e=parseInt(t,10);return isFinite(e)?e:0}function Snt(t){return t?Bnt.has(t.status):!0}function MM(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let o of r){let[a,n]=o.split(/\s*=\s*/,2);e[a]=n===void 0?!0:n.replace(/^"|"$/g,"")}return e}function Pnt(t){let e=[];for(let r in t){let o=t[r];e.push(o===!0?r:r+"="+o)}if(!!e.length)return e.join(", ")}Ioe.exports=class{constructor(e,r,{shared:o,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:u,_fromObject:A}={}){if(A){this._fromObject(A);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=o!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=MM(r.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=r.headers.vary?e.headers:null,this._reqcc=MM(e.headers["cache-control"]),u&&"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":Pnt(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.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())&&Int.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||wnt.has(this._status)))}_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 r=MM(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&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 r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let o of r)if(e.headers[o]!==this._reqHeaders[o])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let o in e)vnt[o]||(r[o]=e[o]);if(e.connection){let o=e.connection.trim().split(/\s*,\s*/);for(let a of o)delete r[a]}if(r.warning){let o=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));o.length?r.warning=o.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){return Sd(this._resHeaders.age)}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 Sd(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Sd(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let o=Date.parse(this._resHeaders.expires);return Number.isNaN(o)||oo)return Math.max(e,(r-o)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),r=e+Sd(this._rescc["stale-if-error"]),o=e+Sd(this._rescc["stale-while-revalidate"]);return Math.max(0,e,r,o)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Sd(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Sd(this._rescc["stale-while-revalidate"])>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 r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&Snt(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let o=!1;if(r.status!==void 0&&r.status!=304?o=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?o=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?o=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?o=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(o=!0),!o)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let a={};for(let u in this._resHeaders)a[u]=u in r.headers&&!Dnt[u]?r.headers[u]:this._resHeaders[u];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(e,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var eb=_((ELt,voe)=>{"use strict";voe.exports=t=>{let e={};for(let[r,o]of Object.entries(t))e[r.toLowerCase()]=o;return e}});var Soe=_((CLt,Doe)=>{"use strict";var bnt=ve("stream").Readable,xnt=eb(),UM=class extends bnt{constructor(e,r,o,a){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(o instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=xnt(r),this.body=o,this.url=a}_read(){this.push(this.body),this.push(null)}};Doe.exports=UM});var boe=_((wLt,Poe)=>{"use strict";var knt=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Poe.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(knt));for(let o of r)o in e||(e[o]=typeof t[o]=="function"?t[o].bind(t):t[o])}});var koe=_((ILt,xoe)=>{"use strict";var Qnt=ve("stream").PassThrough,Fnt=boe(),Rnt=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Qnt;return Fnt(t,e),t.pipe(e)};xoe.exports=Rnt});var Qoe=_(_M=>{_M.stringify=function t(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 r="",o=Array.isArray(e);r=o?"[":"{";var a=!0;for(var n in e){var u=typeof e[n]=="function"||!o&&typeof e[n]>"u";Object.hasOwnProperty.call(e,n)&&!u&&(a||(r+=","),a=!1,o?e[n]==null?r+="null":r+=t(e[n]):e[n]!==void 0&&(r+=t(n)+":"+t(e[n])))}return r+=o?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};_M.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Toe=_((vLt,Roe)=>{"use strict";var Tnt=ve("events"),Foe=Qoe(),Nnt=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(ve(e[r]))(t)}return new Map},HM=class extends Tnt{constructor(e,r){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:Foe.stringify,deserialize:Foe.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let o=Object.assign({},this.opts);this.opts.store=Nnt(o)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",o=>this.emit("error",o)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:o}=this.opts;return Promise.resolve().then(()=>o.get(e)).then(a=>typeof a=="string"?this.opts.deserialize(a):a).then(a=>{if(a!==void 0){if(typeof a.expires=="number"&&Date.now()>a.expires){this.delete(e);return}return r&&r.raw?a:a.value}})}set(e,r,o){e=this._getKeyPrefix(e),typeof o>"u"&&(o=this.opts.ttl),o===0&&(o=void 0);let{store:a}=this.opts;return Promise.resolve().then(()=>{let n=typeof o=="number"?Date.now()+o:null;return r={value:r,expires:n},this.opts.serialize(r)}).then(n=>a.set(e,n,o)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};Roe.exports=HM});var Ooe=_((SLt,Loe)=>{"use strict";var Lnt=ve("events"),tb=ve("url"),Ont=loe(),Mnt=woe(),qM=Boe(),Noe=Soe(),Unt=eb(),_nt=koe(),Hnt=Toe(),qc=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Hnt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,o)=>{let a;if(typeof r=="string")a=jM(tb.parse(r)),r={};else if(r instanceof tb.URL)a=jM(tb.parse(r.toString())),r={};else{let[I,...v]=(r.path||"").split("?"),x=v.length>0?`?${v.join("?")}`:"";a=jM({...r,pathname:I,search:x})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...qnt(a)},r.headers=Unt(r.headers);let n=new Lnt,u=Ont(tb.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),A=`${r.method}:${u}`,p=!1,h=!1,E=I=>{h=!0;let v=!1,x,C=new Promise(L=>{x=()=>{v||(v=!0,L())}}),R=L=>{if(p&&!I.forceRefresh){L.status=L.statusCode;let J=qM.fromObject(p.cachePolicy).revalidatedPolicy(I,L);if(!J.modified){let te=J.policy.responseHeaders();L=new Noe(p.statusCode,te,p.body,p.url),L.cachePolicy=J.policy,L.fromCache=!0}}L.fromCache||(L.cachePolicy=new qM(I,L,I),L.fromCache=!1);let U;I.cache&&L.cachePolicy.storable()?(U=_nt(L),(async()=>{try{let J=Mnt.buffer(L);if(await Promise.race([C,new Promise(ce=>L.once("end",ce))]),v)return;let te=await J,ae={cachePolicy:L.cachePolicy.toObject(),url:L.url,statusCode:L.fromCache?p.statusCode:L.statusCode,body:te},fe=I.strictTtl?L.cachePolicy.timeToLive():void 0;I.maxTtl&&(fe=fe?Math.min(fe,I.maxTtl):I.maxTtl),await this.cache.set(A,ae,fe)}catch(J){n.emit("error",new qc.CacheError(J))}})()):I.cache&&p&&(async()=>{try{await this.cache.delete(A)}catch(J){n.emit("error",new qc.CacheError(J))}})(),n.emit("response",U||L),typeof o=="function"&&o(U||L)};try{let L=e(I,R);L.once("error",x),L.once("abort",x),n.emit("request",L)}catch(L){n.emit("error",new qc.RequestError(L))}};return(async()=>{let I=async x=>{await Promise.resolve();let C=x.cache?await this.cache.get(A):void 0;if(typeof C>"u")return E(x);let R=qM.fromObject(C.cachePolicy);if(R.satisfiesWithoutRevalidation(x)&&!x.forceRefresh){let L=R.responseHeaders(),U=new Noe(C.statusCode,L,C.body,C.url);U.cachePolicy=R,U.fromCache=!0,n.emit("response",U),typeof o=="function"&&o(U)}else p=C,x.headers=R.revalidationHeaders(x),E(x)},v=x=>n.emit("error",new qc.CacheError(x));this.cache.once("error",v),n.on("response",()=>this.cache.removeListener("error",v));try{await I(r)}catch(x){r.automaticFailover&&!h&&E(r),n.emit("error",new qc.CacheError(x))}})(),n}}};function qnt(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function jM(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}qc.RequestError=class extends Error{constructor(t){super(t.message),this.name="RequestError",Object.assign(this,t)}};qc.CacheError=class extends Error{constructor(t){super(t.message),this.name="CacheError",Object.assign(this,t)}};Loe.exports=qc});var Uoe=_((xLt,Moe)=>{"use strict";var jnt=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];Moe.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(jnt)),o={};for(let a of r)a in e||(o[a]={get(){let n=t[a];return typeof n=="function"?n.bind(t):n},set(n){t[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(e,o),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var Hoe=_((kLt,_oe)=>{"use strict";var{Transform:Gnt,PassThrough:Ynt}=ve("stream"),GM=ve("zlib"),Wnt=Uoe();_oe.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof GM.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let o=!0,a=new Gnt({transform(A,p,h){o=!1,h(null,A)},flush(A){A()}}),n=new Ynt({autoDestroy:!1,destroy(A,p){t.destroy(),p(A)}}),u=r?GM.createBrotliDecompress():GM.createUnzip();return u.once("error",A=>{if(o&&!t.readable){n.end();return}n.destroy(A)}),Wnt(t,n),t.pipe(a).pipe(u).pipe(n),n}});var WM=_((QLt,qoe)=>{"use strict";var YM=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,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[o,a]of this.oldCache.entries())this.onEviction(o,a);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 r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),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 r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}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[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};qoe.exports=YM});var VM=_((FLt,Woe)=>{"use strict";var Knt=ve("events"),Vnt=ve("tls"),Jnt=ve("http2"),znt=WM(),ea=Symbol("currentStreamsCount"),joe=Symbol("request"),Wl=Symbol("cachedOriginSet"),DE=Symbol("gracefullyClosing"),Xnt=["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"],Znt=(t,e,r)=>{let o=0,a=t.length;for(;o>>1;r(t[n],e)?o=n+1:a=n}return o},$nt=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,KM=(t,e)=>{for(let r of t)r[Wl].lengthe[Wl].includes(o))&&r[ea]+e[ea]<=e.remoteSettings.maxConcurrentStreams&&Yoe(r)},eit=(t,e)=>{for(let r of t)e[Wl].lengthr[Wl].includes(o))&&e[ea]+r[ea]<=r.remoteSettings.maxConcurrentStreams&&Yoe(e)},Goe=({agent:t,isFree:e})=>{let r={};for(let o in t.sessions){let n=t.sessions[o].filter(u=>{let A=u[tA.kCurrentStreamsCount]{t[DE]=!0,t[ea]===0&&t.close()},tA=class extends Knt{constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:o=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=o,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new znt({maxSize:a})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let o of Xnt)e[o]&&(r+=`:${e[o]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let o=this.queue[e][r];this._sessionsCount{Array.isArray(o)?(o=[...o],a()):o=[{resolve:a,reject:n}];let u=this.normalizeOptions(r),A=tA.normalizeOrigin(e,r&&r.servername);if(A===void 0){for(let{reject:E}of o)E(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(u in this.sessions){let E=this.sessions[u],I=-1,v=-1,x;for(let C of E){let R=C.remoteSettings.maxConcurrentStreams;if(R=R||C[DE]||C.destroyed)continue;x||(I=R),L>v&&(x=C,v=L)}}if(x){if(o.length!==1){for(let{reject:C}of o){let R=new Error(`Expected the length of listeners to be 1, got ${o.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);C(R)}return}o[0].resolve(x);return}}if(u in this.queue){if(A in this.queue[u]){this.queue[u][A].listeners.push(...o),this._tryToCreateNewSession(u,A);return}}else this.queue[u]={};let p=()=>{u in this.queue&&this.queue[u][A]===h&&(delete this.queue[u][A],Object.keys(this.queue[u]).length===0&&delete this.queue[u])},h=()=>{let E=`${A}:${u}`,I=!1;try{let v=Jnt.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(E),...r});v[ea]=0,v[DE]=!1;let x=()=>v[ea]{this.tlsSessionCache.set(E,L)}),v.once("error",L=>{for(let{reject:U}of o)U(L);this.tlsSessionCache.delete(E)}),v.setTimeout(this.timeout,()=>{v.destroy()}),v.once("close",()=>{if(I){C&&this._freeSessionsCount--,this._sessionsCount--;let L=this.sessions[u];L.splice(L.indexOf(v),1),L.length===0&&delete this.sessions[u]}else{let L=new Error("Session closed without receiving a SETTINGS frame");L.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:U}of o)U(L);p()}this._tryToCreateNewSession(u,A)});let R=()=>{if(!(!(u in this.queue)||!x())){for(let L of v[Wl])if(L in this.queue[u]){let{listeners:U}=this.queue[u][L];for(;U.length!==0&&x();)U.shift().resolve(v);let J=this.queue[u];if(J[L].listeners.length===0&&(delete J[L],Object.keys(J).length===0)){delete this.queue[u];break}if(!x())break}}};v.on("origin",()=>{v[Wl]=v.originSet,x()&&(R(),KM(this.sessions[u],v))}),v.once("remoteSettings",()=>{if(v.ref(),v.unref(),this._sessionsCount++,h.destroyed){let L=new Error("Agent has been destroyed");for(let U of o)U.reject(L);v.destroy();return}v[Wl]=v.originSet;{let L=this.sessions;if(u in L){let U=L[u];U.splice(Znt(U,v,$nt),0,v)}else L[u]=[v]}this._freeSessionsCount+=1,I=!0,this.emit("session",v),R(),p(),v[ea]===0&&this._freeSessionsCount>this.maxFreeSessions&&v.close(),o.length!==0&&(this.getSession(A,r,o),o.length=0),v.on("remoteSettings",()=>{R(),KM(this.sessions[u],v)})}),v[joe]=v.request,v.request=(L,U)=>{if(v[DE])throw new Error("The session is gracefully closing. No new streams are allowed.");let J=v[joe](L,U);return v.ref(),++v[ea],v[ea]===v.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,J.once("close",()=>{if(C=x(),--v[ea],!v.destroyed&&!v.closed&&(eit(this.sessions[u],v),x()&&!v.closed)){C||(this._freeSessionsCount++,C=!0);let te=v[ea]===0;te&&v.unref(),te&&(this._freeSessionsCount>this.maxFreeSessions||v[DE])?v.close():(KM(this.sessions[u],v),R())}}),J}}catch(v){for(let x of o)x.reject(v);p()}};h.listeners=o,h.completed=!1,h.destroyed=!1,this.queue[u][A]=h,this._tryToCreateNewSession(u,A)})}request(e,r,o,a){return new Promise((n,u)=>{this.getSession(e,r,[{reject:u,resolve:A=>{try{n(A.request(o,a))}catch(p){u(p)}}}])})}createConnection(e,r){return tA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let o=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),Vnt.connect(o,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[ea]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let o of r)o.destroy(e);for(let r of Object.values(this.queue))for(let o of Object.values(r))o.destroyed=!0;this.queue={}}get freeSessions(){return Goe({agent:this,isFree:!0})}get busySessions(){return Goe({agent:this,isFree:!1})}};tA.kCurrentStreamsCount=ea;tA.kGracefullyClosing=DE;Woe.exports={Agent:tA,globalAgent:new tA}});var zM=_((RLt,Koe)=>{"use strict";var{Readable:tit}=ve("stream"),JM=class extends tit{constructor(e,r){super({highWaterMark:r,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,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};Koe.exports=JM});var XM=_((TLt,Voe)=>{"use strict";Voe.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var zoe=_((NLt,Joe)=>{"use strict";Joe.exports=(t,e,r)=>{for(let o of r)t.on(o,(...a)=>e.emit(o,...a))}});var Zoe=_((LLt,Xoe)=>{"use strict";Xoe.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var eae=_((MLt,$oe)=>{"use strict";var SE=(t,e,r)=>{$oe.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${e}]`,this.code=e}}};SE(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],o=Array.isArray(r);return o&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${o?"one of":"of"} type ${r}. Received ${typeof t[2]}`});SE(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);SE(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);SE(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);SE(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);SE(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var r4=_((ULt,aae)=>{"use strict";var rit=ve("http2"),{Writable:nit}=ve("stream"),{Agent:tae,globalAgent:iit}=VM(),sit=zM(),oit=XM(),ait=zoe(),lit=Zoe(),{ERR_INVALID_ARG_TYPE:ZM,ERR_INVALID_PROTOCOL:cit,ERR_HTTP_HEADERS_SENT:rae,ERR_INVALID_HTTP_TOKEN:uit,ERR_HTTP_INVALID_HEADER_VALUE:Ait,ERR_INVALID_CHAR:fit}=eae(),{HTTP2_HEADER_STATUS:nae,HTTP2_HEADER_METHOD:iae,HTTP2_HEADER_PATH:sae,HTTP2_METHOD_CONNECT:pit}=rit.constants,Qo=Symbol("headers"),$M=Symbol("origin"),e4=Symbol("session"),oae=Symbol("options"),rb=Symbol("flushedHeaders"),h1=Symbol("jobs"),hit=/^[\^`\-\w!#$%&*+.|~]+$/,git=/[^\t\u0020-\u007E\u0080-\u00FF]/,t4=class extends nit{constructor(e,r,o){super({autoDestroy:!1});let a=typeof e=="string"||e instanceof URL;if(a&&(e=oit(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(o=r,r=a?e:{...e}):r={...e,...r},r.h2session)this[e4]=r.h2session;else if(r.agent===!1)this.agent=new tae({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new tae({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=iit;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new ZM("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new cit(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,u=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:A}=r;if(r.timeout=void 0,this[Qo]=Object.create(null),this[h1]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[Qo])&&(this[Qo].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[oae]=r,n===443?(this[$M]=`https://${u}`,":authority"in this[Qo]||(this[Qo][":authority"]=u)):(this[$M]=`https://${u}:${n}`,":authority"in this[Qo]||(this[Qo][":authority"]=`${u}:${n}`)),A&&this.setTimeout(A),o&&this.once("response",o),this[rb]=!1}get method(){return this[Qo][iae]}set method(e){e&&(this[Qo][iae]=e.toUpperCase())}get path(){return this[Qo][sae]}set path(e){e&&(this[Qo][sae]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,o){if(this._mustNotHaveABody){o(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(e,r,o);this._request?a():this[h1].push(a)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[h1].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[rb]||this.destroyed)return;this[rb]=!0;let e=this.method===pit,r=o=>{if(this._request=o,this.destroyed){o.destroy();return}e||ait(o,this,["timeout","continue","close","error"]);let a=u=>(...A)=>{!this.writable&&!this.destroyed?u(...A):this.once("finish",()=>{u(...A)})};o.once("response",a((u,A,p)=>{let h=new sit(this.socket,o.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=u[nae],h.headers=u,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),e?(h.upgrade=!0,this.emit("connect",h,o,Buffer.alloc(0))?this.emit("close"):o.destroy()):(o.on("data",E=>{!h._dumped&&!h.push(E)&&o.pause()}),o.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),o.once("headers",a(u=>this.emit("information",{statusCode:u[nae]}))),o.once("trailers",a((u,A,p)=>{let{res:h}=this;h.trailers=u,h.rawTrailers=p}));let{socket:n}=o.session;this.socket=n,this.connection=n;for(let u of this[h1])u();this.emit("socket",this.socket)};if(this[e4])try{r(this[e4].request(this[Qo]))}catch(o){this.emit("error",o)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[$M],this[oae],this[Qo]))}catch(o){this.emit("error",o)}}}getHeader(e){if(typeof e!="string")throw new ZM("name","string",e);return this[Qo][e.toLowerCase()]}get headersSent(){return this[rb]}removeHeader(e){if(typeof e!="string")throw new ZM("name","string",e);if(this.headersSent)throw new rae("remove");delete this[Qo][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new rae("set");if(typeof e!="string"||!hit.test(e)&&!lit(e))throw new uit("Header name",e);if(typeof r>"u")throw new Ait(r,e);if(git.test(r))throw new fit("header content",e);this[Qo][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let o=()=>this._request.setTimeout(e,r);return this._request?o():this[h1].push(o),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};aae.exports=t4});var cae=_((_Lt,lae)=>{"use strict";var dit=ve("tls");lae.exports=(t={})=>new Promise((e,r)=>{let o=dit.connect(t,()=>{t.resolveSocket?(o.off("error",r),e({alpnProtocol:o.alpnProtocol,socket:o})):(o.destroy(),e({alpnProtocol:o.alpnProtocol}))});o.on("error",r)})});var Aae=_((HLt,uae)=>{"use strict";var mit=ve("net");uae.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),mit.isIP(e)?"":e}});var hae=_((qLt,i4)=>{"use strict";var fae=ve("http"),n4=ve("https"),yit=cae(),Eit=WM(),Cit=r4(),wit=Aae(),Iit=XM(),nb=new Eit({maxSize:100}),g1=new Map,pae=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let o=()=>{t.emit("free",e,r)};e.on("free",o);let a=()=>{t.removeSocket(e,r)};e.on("close",a);let n=()=>{t.removeSocket(e,r),e.off("close",a),e.off("free",o),e.off("agentRemove",n)};e.on("agentRemove",n),t.emit("free",e,r)},Bit=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!nb.has(e)){if(g1.has(e))return(await g1.get(e)).alpnProtocol;let{path:r,agent:o}=t;t.path=t.socketPath;let a=yit(t);g1.set(e,a);try{let{socket:n,alpnProtocol:u}=await a;if(nb.set(e,u),t.path=r,u==="h2")n.destroy();else{let{globalAgent:A}=n4,p=n4.Agent.prototype.createConnection;o?o.createConnection===p?pae(o,n,t):n.destroy():A.createConnection===p?pae(A,n,t):n.destroy()}return g1.delete(e),u}catch(n){throw g1.delete(e),n}}return nb.get(e)};i4.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=Iit(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...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 o=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||wit(e),e.port=e.port||(o?443:80),e._defaultAgent=o?n4.globalAgent:fae.globalAgent;let a=e.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=a[o?"https":"http"]}return o&&await Bit(e)==="h2"?(a&&(e.agent=a.http2),new Cit(e,r)):fae.request(e,r)};i4.exports.protocolCache=nb});var dae=_((jLt,gae)=>{"use strict";var vit=ve("http2"),Dit=VM(),s4=r4(),Sit=zM(),Pit=hae(),bit=(t,e,r)=>new s4(t,e,r),xit=(t,e,r)=>{let o=new s4(t,e,r);return o.end(),o};gae.exports={...vit,ClientRequest:s4,IncomingMessage:Sit,...Dit,request:bit,get:xit,auto:Pit}});var a4=_(o4=>{"use strict";Object.defineProperty(o4,"__esModule",{value:!0});var mae=Tf();o4.default=t=>mae.default.nodeStream(t)&&mae.default.function_(t.getBoundary)});var wae=_(l4=>{"use strict";Object.defineProperty(l4,"__esModule",{value:!0});var Eae=ve("fs"),Cae=ve("util"),yae=Tf(),kit=a4(),Qit=Cae.promisify(Eae.stat);l4.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(yae.default.string(t))return Buffer.byteLength(t);if(yae.default.buffer(t))return t.length;if(kit.default(t))return Cae.promisify(t.getLength.bind(t))();if(t instanceof Eae.ReadStream){let{size:r}=await Qit(t.path);return r===0?void 0:r}}});var u4=_(c4=>{"use strict";Object.defineProperty(c4,"__esModule",{value:!0});function Fit(t,e,r){let o={};for(let a of r)o[a]=(...n)=>{e.emit(a,...n)},t.on(a,o[a]);return()=>{for(let a of r)t.off(a,o[a])}}c4.default=Fit});var Iae=_(A4=>{"use strict";Object.defineProperty(A4,"__esModule",{value:!0});A4.default=()=>{let t=[];return{once(e,r,o){e.once(r,o),t.push({origin:e,event:r,fn:o})},unhandleAll(){for(let e of t){let{origin:r,event:o,fn:a}=e;r.removeListener(o,a)}t.length=0}}}});var vae=_(d1=>{"use strict";Object.defineProperty(d1,"__esModule",{value:!0});d1.TimeoutError=void 0;var Rit=ve("net"),Tit=Iae(),Bae=Symbol("reentry"),Nit=()=>{},ib=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};d1.TimeoutError=ib;d1.default=(t,e,r)=>{if(Bae in t)return Nit;t[Bae]=!0;let o=[],{once:a,unhandleAll:n}=Tit.default(),u=(I,v,x)=>{var C;let R=setTimeout(v,I,I,x);(C=R.unref)===null||C===void 0||C.call(R);let L=()=>{clearTimeout(R)};return o.push(L),L},{host:A,hostname:p}=r,h=(I,v)=>{t.destroy(new ib(I,v))},E=()=>{for(let I of o)I();n()};if(t.once("error",I=>{if(E(),t.listenerCount("error")===0)throw I}),t.once("close",E),a(t,"response",I=>{a(I,"end",E)}),typeof e.request<"u"&&u(e.request,h,"request"),typeof e.socket<"u"){let I=()=>{h(e.socket,"socket")};t.setTimeout(e.socket,I),o.push(()=>{t.removeListener("timeout",I)})}return a(t,"socket",I=>{var v;let{socketPath:x}=t;if(I.connecting){let C=Boolean(x??Rit.isIP((v=p??A)!==null&&v!==void 0?v:"")!==0);if(typeof e.lookup<"u"&&!C&&typeof I.address().address>"u"){let R=u(e.lookup,h,"lookup");a(I,"lookup",R)}if(typeof e.connect<"u"){let R=()=>u(e.connect,h,"connect");C?a(I,"connect",R()):a(I,"lookup",L=>{L===null&&a(I,"connect",R())})}typeof e.secureConnect<"u"&&r.protocol==="https:"&&a(I,"connect",()=>{let R=u(e.secureConnect,h,"secureConnect");a(I,"secureConnect",R)})}if(typeof e.send<"u"){let C=()=>u(e.send,h,"send");I.connecting?a(I,"connect",()=>{a(t,"upload-complete",C())}):a(t,"upload-complete",C())}}),typeof e.response<"u"&&a(t,"upload-complete",()=>{let I=u(e.response,h,"response");a(t,"response",I)}),E}});var Sae=_(f4=>{"use strict";Object.defineProperty(f4,"__esModule",{value:!0});var Dae=Tf();f4.default=t=>{t=t;let e={protocol:t.protocol,hostname:Dae.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return Dae.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var Pae=_(p4=>{"use strict";Object.defineProperty(p4,"__esModule",{value:!0});var Lit=ve("url"),Oit=["protocol","host","hostname","port","pathname","search"];p4.default=(t,e)=>{var r,o;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(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(o=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&o!==void 0?o:""}`}let a=new Lit.URL(t);if(e.path){let n=e.path.indexOf("?");n===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,n),e.search=e.path.slice(n+1)),delete e.path}for(let n of Oit)e[n]&&(a[n]=e[n].toString());return a}});var bae=_(g4=>{"use strict";Object.defineProperty(g4,"__esModule",{value:!0});var h4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}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)}};g4.default=h4});var m4=_(d4=>{"use strict";Object.defineProperty(d4,"__esModule",{value:!0});var Mit=async t=>{let e=[],r=0;for await(let o of t)e.push(o),r+=Buffer.byteLength(o);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};d4.default=Mit});var kae=_(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});Pd.dnsLookupIpVersionToFamily=Pd.isDnsLookupIpVersion=void 0;var xae={auto:0,ipv4:4,ipv6:6};Pd.isDnsLookupIpVersion=t=>t in xae;Pd.dnsLookupIpVersionToFamily=t=>{if(Pd.isDnsLookupIpVersion(t))return xae[t];throw new Error("Invalid DNS lookup IP version")}});var y4=_(sb=>{"use strict";Object.defineProperty(sb,"__esModule",{value:!0});sb.isResponseOk=void 0;sb.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var Fae=_(E4=>{"use strict";Object.defineProperty(E4,"__esModule",{value:!0});var Qae=new Set;E4.default=t=>{Qae.has(t)||(Qae.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var Rae=_(C4=>{"use strict";Object.defineProperty(C4,"__esModule",{value:!0});var Ai=Tf(),Uit=(t,e)=>{if(Ai.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ai.assert.any([Ai.default.string,Ai.default.undefined],t.encoding),Ai.assert.any([Ai.default.boolean,Ai.default.undefined],t.resolveBodyOnly),Ai.assert.any([Ai.default.boolean,Ai.default.undefined],t.methodRewriting),Ai.assert.any([Ai.default.boolean,Ai.default.undefined],t.isStream),Ai.assert.any([Ai.default.string,Ai.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:o=>o.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ai.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(o=>o.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Ai.default.number(r)&&(t.retry.limit=r),Ai.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Ai.default.number))),Ai.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:o}=t;if(!Ai.default.function_(o.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ai.default.function_(o.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ai.default.function_(o.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ai.default.function_(o.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};C4.default=Uit});var Tae=_(m1=>{"use strict";Object.defineProperty(m1,"__esModule",{value:!0});m1.retryAfterStatusCodes=void 0;m1.retryAfterStatusCodes=new Set([413,429,503]);var _it=({attemptCount:t,retryOptions:e,error:r,retryAfter:o})=>{if(t>e.limit)return 0;let a=e.methods.includes(r.options.method),n=e.errorCodes.includes(r.code),u=r.response&&e.statusCodes.includes(r.response.statusCode);if(!a||!n&&!u)return 0;if(r.response){if(o)return e.maxRetryAfter===void 0||o>e.maxRetryAfter?0:o;if(r.response.statusCode===413)return 0}let A=Math.random()*100;return 2**(t-1)*1e3+A};m1.default=_it});var C1=_(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.UnsupportedProtocolError=Bn.ReadError=Bn.TimeoutError=Bn.UploadError=Bn.CacheError=Bn.HTTPError=Bn.MaxRedirectsError=Bn.RequestError=Bn.setNonEnumerableProperties=Bn.knownHookEvents=Bn.withoutBody=Bn.kIsNormalizedAlready=void 0;var Nae=ve("util"),Lae=ve("stream"),Hit=ve("fs"),ah=ve("url"),Oae=ve("http"),w4=ve("http"),qit=ve("https"),jit=Zse(),Git=soe(),Mae=Ooe(),Yit=Hoe(),Wit=dae(),Kit=eb(),st=Tf(),Vit=wae(),Uae=a4(),Jit=u4(),_ae=vae(),zit=Sae(),Hae=Pae(),Xit=bae(),Zit=m4(),qae=kae(),$it=y4(),lh=Fae(),est=Rae(),tst=Tae(),I4,Zs=Symbol("request"),lb=Symbol("response"),PE=Symbol("responseSize"),bE=Symbol("downloadedSize"),xE=Symbol("bodySize"),kE=Symbol("uploadedSize"),ob=Symbol("serverResponsesPiped"),jae=Symbol("unproxyEvents"),Gae=Symbol("isFromCache"),B4=Symbol("cancelTimeouts"),Yae=Symbol("startedReading"),QE=Symbol("stopReading"),ab=Symbol("triggerRead"),ch=Symbol("body"),y1=Symbol("jobs"),Wae=Symbol("originalResponse"),Kae=Symbol("retryTimeout");Bn.kIsNormalizedAlready=Symbol("isNormalizedAlready");var rst=st.default.string(process.versions.brotli);Bn.withoutBody=new Set(["GET","HEAD"]);Bn.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function nst(t){for(let e in t){let r=t[e];if(!st.default.string(r)&&!st.default.number(r)&&!st.default.boolean(r)&&!st.default.null_(r)&&!st.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function ist(t){return st.default.object(t)&&!("statusCode"in t)}var v4=new Xit.default,sst=async t=>new Promise((e,r)=>{let o=a=>{r(a)};t.pending||e(),t.once("error",o),t.once("ready",()=>{t.off("error",o),e()})}),ost=new Set([300,301,302,303,304,307,308]),ast=["context","body","json","form"];Bn.setNonEnumerableProperties=(t,e)=>{let r={};for(let o of t)if(!!o)for(let a of ast)a in o&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:o[a]});Object.defineProperties(e,r)};var Vi=class extends Error{constructor(e,r,o){var a;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,o instanceof db?(Object.defineProperty(this,"request",{enumerable:!1,value:o}),Object.defineProperty(this,"response",{enumerable:!1,value:o[lb]}),Object.defineProperty(this,"options",{enumerable:!1,value:o.options})):Object.defineProperty(this,"options",{enumerable:!1,value:o}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,st.default.string(r.stack)&&st.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,u=this.stack.slice(n).split(` +`).reverse(),A=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;A.length!==0&&A[0]===u[0];)u.shift();this.stack=`${this.stack.slice(0,n)}${u.reverse().join(` +`)}${A.reverse().join(` +`)}`}}};Bn.RequestError=Vi;var ub=class extends Vi{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Bn.MaxRedirectsError=ub;var Ab=class extends Vi{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Bn.HTTPError=Ab;var fb=class extends Vi{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};Bn.CacheError=fb;var pb=class extends Vi{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};Bn.UploadError=pb;var hb=class extends Vi{constructor(e,r,o){super(e.message,e,o),this.name="TimeoutError",this.event=e.event,this.timings=r}};Bn.TimeoutError=hb;var E1=class extends Vi{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};Bn.ReadError=E1;var gb=class extends Vi{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Bn.UnsupportedProtocolError=gb;var lst=["socket","connect","continue","information","upgrade","timeout"],db=class extends Lae.Duplex{constructor(e,r={},o){super({autoDestroy:!1,highWaterMark:0}),this[bE]=0,this[kE]=0,this.requestInitialized=!1,this[ob]=new Set,this.redirects=[],this[QE]=!1,this[ab]=!1,this[y1]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof w4.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:u,body:A,form:p}=r;if((u||A||p)&&this._lockWrite(),Bn.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,o)}catch(h){st.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof Hit.ReadStream&&await sst(this.options.body);let{url:E}=this.options;if(!E)throw new TypeError("Missing `url` property");if(this.requestUrl=E.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[Zs])===null||h===void 0||h.destroy();return}for(let I of this[y1])I();this[y1].length=0,this.requestInitialized=!0}catch(E){if(E instanceof Vi){this._beforeError(E);return}this.destroyed||this.destroy(E)}})()}static normalizeArguments(e,r,o){var a,n,u,A,p;let h=r;if(st.default.object(e)&&!st.default.urlInstance(e))r={...o,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...o,...r},e!==void 0&&(r.url=e),st.default.urlInstance(r.url)&&(r.url=new ah.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),st.assert.any([st.default.string,st.default.undefined],r.method),st.assert.any([st.default.object,st.default.undefined],r.headers),st.assert.any([st.default.string,st.default.urlInstance,st.default.undefined],r.prefixUrl),st.assert.any([st.default.object,st.default.undefined],r.cookieJar),st.assert.any([st.default.object,st.default.string,st.default.undefined],r.searchParams),st.assert.any([st.default.object,st.default.string,st.default.undefined],r.cache),st.assert.any([st.default.object,st.default.number,st.default.undefined],r.timeout),st.assert.any([st.default.object,st.default.undefined],r.context),st.assert.any([st.default.object,st.default.undefined],r.hooks),st.assert.any([st.default.boolean,st.default.undefined],r.decompress),st.assert.any([st.default.boolean,st.default.undefined],r.ignoreInvalidCookies),st.assert.any([st.default.boolean,st.default.undefined],r.followRedirect),st.assert.any([st.default.number,st.default.undefined],r.maxRedirects),st.assert.any([st.default.boolean,st.default.undefined],r.throwHttpErrors),st.assert.any([st.default.boolean,st.default.undefined],r.http2),st.assert.any([st.default.boolean,st.default.undefined],r.allowGetBody),st.assert.any([st.default.string,st.default.undefined],r.localAddress),st.assert.any([qae.isDnsLookupIpVersion,st.default.undefined],r.dnsLookupIpVersion),st.assert.any([st.default.object,st.default.undefined],r.https),st.assert.any([st.default.boolean,st.default.undefined],r.rejectUnauthorized),r.https&&(st.assert.any([st.default.boolean,st.default.undefined],r.https.rejectUnauthorized),st.assert.any([st.default.function_,st.default.undefined],r.https.checkServerIdentity),st.assert.any([st.default.string,st.default.object,st.default.array,st.default.undefined],r.https.certificateAuthority),st.assert.any([st.default.string,st.default.object,st.default.array,st.default.undefined],r.https.key),st.assert.any([st.default.string,st.default.object,st.default.array,st.default.undefined],r.https.certificate),st.assert.any([st.default.string,st.default.undefined],r.https.passphrase),st.assert.any([st.default.string,st.default.buffer,st.default.array,st.default.undefined],r.https.pfx)),st.assert.any([st.default.object,st.default.undefined],r.cacheOptions),st.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===o?.headers?r.headers={...r.headers}:r.headers=Kit({...o?.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==o?.searchParams){let x;if(st.default.string(r.searchParams)||r.searchParams instanceof ah.URLSearchParams)x=new ah.URLSearchParams(r.searchParams);else{nst(r.searchParams),x=new ah.URLSearchParams;for(let C in r.searchParams){let R=r.searchParams[C];R===null?x.append(C,""):R!==void 0&&x.append(C,R)}}(a=o?.searchParams)===null||a===void 0||a.forEach((C,R)=>{x.has(R)||x.append(R,C)}),r.searchParams=x}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(u=r.password)!==null&&u!==void 0?u:"",st.default.undefined(r.prefixUrl)?r.prefixUrl=(A=o?.prefixUrl)!==null&&A!==void 0?A:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),st.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=Hae.default(r.prefixUrl+r.url,r)}else(st.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=Hae.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:x}=r;Object.defineProperty(r,"prefixUrl",{set:R=>{let L=r.url;if(!L.href.startsWith(R))throw new Error(`Cannot change \`prefixUrl\` from ${x} to ${R}: ${L.href}`);r.url=new ah.URL(R+L.href.slice(x.length)),x=R},get:()=>x});let{protocol:C}=r.url;if(C==="unix:"&&(C="http:",r.url=new ah.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),C!=="http:"&&C!=="https:")throw new gb(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:E}=r;if(E){let{setCookie:x,getCookieString:C}=E;st.assert.function_(x),st.assert.function_(C),x.length===4&&C.length===0&&(x=Nae.promisify(x.bind(r.cookieJar)),C=Nae.promisify(C.bind(r.cookieJar)),r.cookieJar={setCookie:x,getCookieString:C})}let{cache:I}=r;if(I&&(v4.has(I)||v4.set(I,new Mae((x,C)=>{let R=x[Zs](x,C);return st.default.promise(R)&&(R.once=(L,U)=>{if(L==="error")R.catch(U);else if(L==="abort")(async()=>{try{(await R).once("abort",U)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${L}`);return R}),R},I))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)I4||(I4=new Git.default),r.dnsCache=I4;else if(!st.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${st.default(r.dnsCache)}`);st.default.number(r.timeout)?r.timeout={request:r.timeout}:o&&r.timeout!==o.timeout?r.timeout={...o.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let v=r.hooks===o?.hooks;r.hooks={...r.hooks};for(let x of Bn.knownHookEvents)if(x in r.hooks)if(st.default.array(r.hooks[x]))r.hooks[x]=[...r.hooks[x]];else throw new TypeError(`Parameter \`${x}\` must be an Array, got ${st.default(r.hooks[x])}`);else r.hooks[x]=[];if(o&&!v)for(let x of Bn.knownHookEvents)o.hooks[x].length>0&&(r.hooks[x]=[...o.hooks[x],...r.hooks[x]]);if("family"in r&&lh.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),o?.https&&(r.https={...o.https,...r.https}),"rejectUnauthorized"in r&&lh.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&lh.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&lh.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&lh.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&lh.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&lh.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&lh.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let x in r.agent)if(x!=="http"&&x!=="https"&&x!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${x}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,Bn.setNonEnumerableProperties([o,h],r),est.default(r,o)}_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:r}=e,o=!st.default.undefined(e.form),a=!st.default.undefined(e.json),n=!st.default.undefined(e.body),u=o||a||n,A=Bn.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=A,u){if(A)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([n,o,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(e.body instanceof Lae.Readable)&&!st.default.string(e.body)&&!st.default.buffer(e.body)&&!Uae.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(o&&!st.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let p=!st.default.string(r["content-type"]);n?(Uae.default(e.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[ch]=e.body):o?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[ch]=new ah.URLSearchParams(e.form).toString()):(p&&(r["content-type"]="application/json"),this[ch]=e.stringifyJson(e.json));let h=await Vit.default(this[ch],e.headers);st.default.undefined(r["content-length"])&&st.default.undefined(r["transfer-encoding"])&&!A&&!st.default.undefined(h)&&(r["content-length"]=String(h))}}else A?this._lockWrite():this._unlockWrite();this[xE]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:o}=r;this[Wae]=e,r.decompress&&(e=Yit(e));let a=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:Oae.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[Gae]=n.isFromCache,this[PE]=Number(e.headers["content-length"])||void 0,this[lb]=e,e.once("end",()=>{this[PE]=this[bE],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",A=>{e.destroy(),this._beforeError(new E1(A,this))}),e.once("aborted",()=>{this._beforeError(new E1({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let u=e.headers["set-cookie"];if(st.default.object(r.cookieJar)&&u){let A=u.map(async p=>r.cookieJar.setCookie(p,o.toString()));r.ignoreInvalidCookies&&(A=A.map(async p=>p.catch(()=>{})));try{await Promise.all(A)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&e.headers.location&&ost.has(a)){if(e.resume(),this[Zs]&&(this[B4](),delete this[Zs],this[jae]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[ch]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new ub(this));return}try{let p=Buffer.from(e.headers.location,"binary").toString(),h=new ah.URL(p,o),E=h.toString();decodeURI(E),h.hostname!==o.hostname||h.port!==o.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(E),r.url=h;for(let I of r.hooks.beforeRedirect)await I(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!$it.isResponseOk(n)){this._beforeError(new Ab(n));return}e.on("readable",()=>{this[ab]&&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[ob])if(!A.headersSent){for(let p in e.headers){let h=r.decompress?p!=="content-encoding":!0,E=e.headers[p];h&&A.setHeader(p,E)}A.statusCode=a}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:o,url:a}=r;jit.default(e),this[B4]=_ae.default(e,o,a);let n=r.cache?"cacheableResponse":"response";e.once(n,p=>{this._onResponse(p)}),e.once("error",p=>{var h;e.destroy(),(h=e.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof _ae.TimeoutError?new hb(p,this.timings,this):new Vi(p.message,p,this),this._beforeError(p)}),this[jae]=Jit.default(e,this,lst),this[Zs]=e,this.emit("uploadProgress",this.uploadProgress);let u=this[ch],A=this.redirects.length===0?this:e;st.default.nodeStream(u)?(u.pipe(A),u.once("error",p=>{this._beforeError(new pb(p,this))})):(this._unlockWrite(),st.default.undefined(u)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(u,void 0,()=>{}),A.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((o,a)=>{Object.assign(r,zit.default(e)),delete r.url;let n,u=v4.get(r.cache)(r,async A=>{A._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",A),o(A)});r.url=e,u.once("error",a),u.once("request",async A=>{n=A,o(n)})})}async _makeRequest(){var e,r,o,a,n;let{options:u}=this,{headers:A}=u;for(let U in A)if(st.default.undefined(A[U]))delete A[U];else if(st.default.null_(A[U]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${U}\` header`);if(u.decompress&&st.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=rst?"gzip, deflate, br":"gzip, deflate"),u.cookieJar){let U=await u.cookieJar.getCookieString(u.url.toString());st.default.nonEmptyString(U)&&(u.headers.cookie=U)}for(let U of u.hooks.beforeRequest){let J=await U(u);if(!st.default.undefined(J)){u.request=()=>J;break}}u.body&&this[ch]!==u.body&&(this[ch]=u.body);let{agent:p,request:h,timeout:E,url:I}=u;if(u.dnsCache&&!("lookup"in u)&&(u.lookup=u.dnsCache.lookup),I.hostname==="unix"){let U=/(?.+?):(?.+)/.exec(`${I.pathname}${I.search}`);if(U?.groups){let{socketPath:J,path:te}=U.groups;Object.assign(u,{socketPath:J,path:te,host:""})}}let v=I.protocol==="https:",x;u.http2?x=Wit.auto:x=v?qit.request:Oae.request;let C=(e=u.request)!==null&&e!==void 0?e:x,R=u.cache?this._createCacheableRequest:C;p&&!u.http2&&(u.agent=p[v?"https":"http"]),u[Zs]=C,delete u.request,delete u.timeout;let L=u;if(L.shared=(r=u.cacheOptions)===null||r===void 0?void 0:r.shared,L.cacheHeuristic=(o=u.cacheOptions)===null||o===void 0?void 0:o.cacheHeuristic,L.immutableMinTimeToLive=(a=u.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,L.ignoreCargoCult=(n=u.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,u.dnsLookupIpVersion!==void 0)try{L.family=qae.dnsLookupIpVersionToFamily(u.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}u.https&&("rejectUnauthorized"in u.https&&(L.rejectUnauthorized=u.https.rejectUnauthorized),u.https.checkServerIdentity&&(L.checkServerIdentity=u.https.checkServerIdentity),u.https.certificateAuthority&&(L.ca=u.https.certificateAuthority),u.https.certificate&&(L.cert=u.https.certificate),u.https.key&&(L.key=u.https.key),u.https.passphrase&&(L.passphrase=u.https.passphrase),u.https.pfx&&(L.pfx=u.https.pfx));try{let U=await R(I,L);st.default.undefined(U)&&(U=x(I,L)),u.request=h,u.timeout=E,u.agent=p,u.https&&("rejectUnauthorized"in u.https&&delete L.rejectUnauthorized,u.https.checkServerIdentity&&delete L.checkServerIdentity,u.https.certificateAuthority&&delete L.ca,u.https.certificate&&delete L.cert,u.https.key&&delete L.key,u.https.passphrase&&delete L.passphrase,u.https.pfx&&delete L.pfx),ist(U)?this._onRequest(U):this.writable?(this.once("finish",()=>{this._onResponse(U)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(U)}catch(U){throw U instanceof Mae.CacheError?new fb(U,this):new Vi(U.message,U,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Vi(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[QE])return;let{options:r}=this,o=this.retryCount+1;this[QE]=!0,e instanceof Vi||(e=new Vi(e.message,e,this));let a=e,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await Zit.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let u;try{let A;n&&"retry-after"in n.headers&&(A=Number(n.headers["retry-after"]),Number.isNaN(A)?(A=Date.parse(n.headers["retry-after"])-Date.now(),A<=0&&(A=1)):A*=1e3),u=await r.retry.calculateDelay({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:tst.default({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:0})})}catch(A){this._error(new Vi(A.message,A,this));return}if(u){let A=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,o)}catch(p){this._error(new Vi(p.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",o,e))};this[Kae]=setTimeout(A,u);return}}this._error(a)})()}_read(){this[ab]=!0;let e=this[lb];if(e&&!this[QE]){e.readableLength&&(this[ab]=!1);let r;for(;(r=e.read())!==null;){this[bE]+=r.length,this[Yae]=!0;let o=this.downloadProgress;o.percent<1&&this.emit("downloadProgress",o),this.push(r)}}}_write(e,r,o){let a=()=>{this._writeRequest(e,r,o)};this.requestInitialized?a():this[y1].push(a)}_writeRequest(e,r,o){this[Zs].destroyed||(this._progressCallbacks.push(()=>{this[kE]+=Buffer.byteLength(e,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[Zs].write(e,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),o(a)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Zs in this)){e();return}if(this[Zs].destroyed){e();return}this[Zs].end(o=>{o||(this[xE]=this[kE],this.emit("uploadProgress",this.uploadProgress),this[Zs].emit("upload-complete")),e(o)})};this.requestInitialized?r():this[y1].push(r)}_destroy(e,r){var o;this[QE]=!0,clearTimeout(this[Kae]),Zs in this&&(this[B4](),!((o=this[lb])===null||o===void 0)&&o.complete||this[Zs].destroy()),e!==null&&!st.default.undefined(e)&&!(e instanceof Vi)&&(e=new Vi(e.message,e,this)),r(e)}get _isAboutToError(){return this[QE]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,o;return((r=(e=this[Zs])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((o=this[Wae])===null||o===void 0)&&o.complete)}get socket(){var e,r;return(r=(e=this[Zs])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[PE]?e=this[bE]/this[PE]:this[PE]===this[bE]?e=1:e=0,{percent:e,transferred:this[bE],total:this[PE]}}get uploadProgress(){let e;return this[xE]?e=this[kE]/this[xE]:this[xE]===this[kE]?e=1:e=0,{percent:e,transferred:this[kE],total:this[xE]}}get timings(){var e;return(e=this[Zs])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[Gae]}pipe(e,r){if(this[Yae])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof w4.ServerResponse&&this[ob].add(e),super.pipe(e,r)}unpipe(e){return e instanceof w4.ServerResponse&&this[ob].delete(e),super.unpipe(e),this}};Bn.default=db});var w1=_(jc=>{"use strict";var cst=jc&&jc.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),ust=jc&&jc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&cst(e,t,r)};Object.defineProperty(jc,"__esModule",{value:!0});jc.CancelError=jc.ParseError=void 0;var Vae=C1(),D4=class extends Vae.RequestError{constructor(e,r){let{options:o}=r.request;super(`${e.message} in "${o.url.toString()}"`,e,r.request),this.name="ParseError"}};jc.ParseError=D4;var S4=class extends Vae.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};jc.CancelError=S4;ust(C1(),jc)});var zae=_(P4=>{"use strict";Object.defineProperty(P4,"__esModule",{value:!0});var Jae=w1(),Ast=(t,e,r,o)=>{let{rawBody:a}=t;try{if(e==="text")return a.toString(o);if(e==="json")return a.length===0?"":r(a.toString());if(e==="buffer")return a;throw new Jae.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(n){throw new Jae.ParseError(n,t)}};P4.default=Ast});var b4=_(uh=>{"use strict";var fst=uh&&uh.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),pst=uh&&uh.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&fst(e,t,r)};Object.defineProperty(uh,"__esModule",{value:!0});var hst=ve("events"),gst=Tf(),dst=zse(),mb=w1(),Xae=zae(),Zae=C1(),mst=u4(),yst=m4(),$ae=y4(),Est=["request","response","redirect","uploadProgress","downloadProgress"];function ele(t){let e,r,o=new hst.EventEmitter,a=new dst((u,A,p)=>{let h=E=>{let I=new Zae.default(void 0,t);I.retryCount=E,I._noPipe=!0,p(()=>I.destroy()),p.shouldReject=!1,p(()=>A(new mb.CancelError(I))),e=I,I.once("response",async C=>{var R;if(C.retryCount=E,C.request.aborted)return;let L;try{L=await yst.default(I),C.rawBody=L}catch{return}if(I._isAboutToError)return;let U=((R=C.headers["content-encoding"])!==null&&R!==void 0?R:"").toLowerCase(),J=["gzip","deflate","br"].includes(U),{options:te}=I;if(J&&!te.decompress)C.body=L;else try{C.body=Xae.default(C,te.responseType,te.parseJson,te.encoding)}catch(ae){if(C.body=L.toString(),$ae.isResponseOk(C)){I._beforeError(ae);return}}try{for(let[ae,fe]of te.hooks.afterResponse.entries())C=await fe(C,async ce=>{let me=Zae.default.normalizeArguments(void 0,{...ce,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},te);me.hooks.afterResponse=me.hooks.afterResponse.slice(0,ae);for(let Be of me.hooks.beforeRetry)await Be(me);let he=ele(me);return p(()=>{he.catch(()=>{}),he.cancel()}),he})}catch(ae){I._beforeError(new mb.RequestError(ae.message,ae,I));return}if(!$ae.isResponseOk(C)){I._beforeError(new mb.HTTPError(C));return}r=C,u(I.options.resolveBodyOnly?C.body:C)});let v=C=>{if(a.isCanceled)return;let{options:R}=I;if(C instanceof mb.HTTPError&&!R.throwHttpErrors){let{response:L}=C;u(I.options.resolveBodyOnly?L.body:L);return}A(C)};I.once("error",v);let x=I.options.body;I.once("retry",(C,R)=>{var L,U;if(x===((L=R.request)===null||L===void 0?void 0:L.options.body)&&gst.default.nodeStream((U=R.request)===null||U===void 0?void 0:U.options.body)){v(R);return}h(C)}),mst.default(I,o,Est)};h(0)});a.on=(u,A)=>(o.on(u,A),a);let n=u=>{let A=(async()=>{await a;let{options:p}=r.request;return Xae.default(r,u,p.parseJson,p.encoding)})();return Object.defineProperties(A,Object.getOwnPropertyDescriptors(a)),A};return a.json=()=>{let{headers:u}=e.options;return!e.writableFinished&&u.accept===void 0&&(u.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}uh.default=ele;pst(w1(),uh)});var tle=_(x4=>{"use strict";Object.defineProperty(x4,"__esModule",{value:!0});var Cst=w1();function wst(t,...e){let r=(async()=>{if(t instanceof Cst.RequestError)try{for(let a of e)if(a)for(let n of a)t=await n(t)}catch(a){t=a}throw t})(),o=()=>r;return r.json=o,r.text=o,r.buffer=o,r.on=o,r}x4.default=wst});var ile=_(k4=>{"use strict";Object.defineProperty(k4,"__esModule",{value:!0});var rle=Tf();function nle(t){for(let e of Object.values(t))(rle.default.plainObject(e)||rle.default.array(e))&&nle(e);return Object.freeze(t)}k4.default=nle});var ole=_(sle=>{"use strict";Object.defineProperty(sle,"__esModule",{value:!0})});var Q4=_(Vl=>{"use strict";var Ist=Vl&&Vl.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Bst=Vl&&Vl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ist(e,t,r)};Object.defineProperty(Vl,"__esModule",{value:!0});Vl.defaultHandler=void 0;var ale=Tf(),Kl=b4(),vst=tle(),Eb=C1(),Dst=ile(),Sst={RequestError:Kl.RequestError,CacheError:Kl.CacheError,ReadError:Kl.ReadError,HTTPError:Kl.HTTPError,MaxRedirectsError:Kl.MaxRedirectsError,TimeoutError:Kl.TimeoutError,ParseError:Kl.ParseError,CancelError:Kl.CancelError,UnsupportedProtocolError:Kl.UnsupportedProtocolError,UploadError:Kl.UploadError},Pst=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:yb}=Eb.default,lle=(...t)=>{let e;for(let r of t)e=yb(void 0,r,e);return e},bst=t=>t.isStream?new Eb.default(void 0,t):Kl.default(t),xst=t=>"defaults"in t&&"options"in t.defaults,kst=["get","post","put","patch","head","delete"];Vl.defaultHandler=(t,e)=>e(t);var cle=(t,e)=>{if(t)for(let r of t)r(e)},ule=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(o=>(a,n)=>{let u,A=o(a,p=>(u=n(p),u));if(A!==u&&!a.isStream&&u){let p=A,{then:h,catch:E,finally:I}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(u)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(u)),p.then=h,p.catch=E,p.finally=I}return A});let e=(o,a={},n)=>{var u,A;let p=0,h=E=>t.handlers[p++](E,p===t.handlers.length?bst:h);if(ale.default.plainObject(o)){let E={...o,...a};Eb.setNonEnumerableProperties([o,a],E),a=E,o=void 0}try{let E;try{cle(t.options.hooks.init,a),cle((u=a.hooks)===null||u===void 0?void 0:u.init,a)}catch(v){E=v}let I=yb(o,a,n??t.options);if(I[Eb.kIsNormalizedAlready]=!0,E)throw new Kl.RequestError(E.message,E,I);return h(I)}catch(E){if(a.isStream)throw E;return vst.default(E,t.options.hooks.beforeError,(A=a.hooks)===null||A===void 0?void 0:A.beforeError)}};e.extend=(...o)=>{let a=[t.options],n=[...t._rawHandlers],u;for(let A of o)xst(A)?(a.push(A.defaults.options),n.push(...A.defaults._rawHandlers),u=A.defaults.mutableDefaults):(a.push(A),"handlers"in A&&n.push(...A.handlers),u=A.mutableDefaults);return n=n.filter(A=>A!==Vl.defaultHandler),n.length===0&&n.push(Vl.defaultHandler),ule({options:lle(...a),handlers:n,mutableDefaults:Boolean(u)})};let r=async function*(o,a){let n=yb(o,a,t.options);n.resolveBodyOnly=!1;let u=n.pagination;if(!ale.default.object(u))throw new TypeError("`options.pagination` must be implemented");let A=[],{countLimit:p}=u,h=0;for(;h{let n=[];for await(let u of r(o,a))n.push(u);return n},e.paginate.each=r,e.stream=(o,a)=>e(o,{...a,isStream:!0});for(let o of kst)e[o]=(a,n)=>e(a,{...n,method:o}),e.stream[o]=(a,n)=>e(a,{...n,method:o,isStream:!0});return Object.assign(e,Sst),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:Dst.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=lle,e};Vl.default=ule;Bst(ole(),Vl)});var ple=_((Nf,Cb)=>{"use strict";var Qst=Nf&&Nf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Ale=Nf&&Nf.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Qst(e,t,r)};Object.defineProperty(Nf,"__esModule",{value:!0});var Fst=ve("url"),fle=Q4(),Rst={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:t})=>t},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:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let o of e){let a=o.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new Fst.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[fle.defaultHandler],mutableDefaults:!1},F4=fle.default(Rst);Nf.default=F4;Cb.exports=F4;Cb.exports.default=F4;Cb.exports.__esModule=!0;Ale(Q4(),Nf);Ale(b4(),Nf)});var nn={};Vt(nn,{Method:()=>Cle,del:()=>Mst,get:()=>L4,getNetworkSettings:()=>Ele,post:()=>O4,put:()=>Ost,request:()=>I1});function dle(t){let e=new URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),e.username&&e.password&&(r.proxyAuth=`${e.username}:${e.password}`),{proxy:r}}async function R4(t){return ol(gle,t,()=>oe.readFilePromise(t).then(e=>(gle.set(t,e),e)))}function Lst({statusCode:t,statusMessage:e},r){let o=Mt(r,t,yt.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Zy(r,`${o}${e?` (${e})`:""}`,a)}async function wb(t,{configuration:e,customErrorMessage:r}){try{return await t}catch(o){if(o.name!=="HTTPError")throw o;let a=r?.(o,e)??o.response.body?.error;a==null&&(o.message.startsWith("Response code")?a="The remote server failed to provide the requested resource":a=o.message),o.code==="ETIMEDOUT"&&o.event==="socket"&&(a+=`(can be increased via ${Mt(e,"httpTimeout",yt.SETTING)})`);let n=new zt(35,a,u=>{o.response&&u.reportError(35,` ${zu(e,{label:"Response Code",value:_c(yt.NO_HINT,Lst(o.response,e))})}`),o.request&&(u.reportError(35,` ${zu(e,{label:"Request Method",value:_c(yt.NO_HINT,o.request.options.method)})}`),u.reportError(35,` ${zu(e,{label:"Request URL",value:_c(yt.URL,o.request.requestUrl)})}`)),o.request.redirects.length>0&&u.reportError(35,` ${zu(e,{label:"Request Redirects",value:_c(yt.NO_HINT,PL(e,o.request.redirects,yt.URL))})}`),o.request.retryCount===o.request.options.retry.limit&&u.reportError(35,` ${zu(e,{label:"Request Retry Count",value:_c(yt.NO_HINT,`${Mt(e,o.request.retryCount,yt.NUMBER)} (can be increased via ${Mt(e,"httpRetry",yt.SETTING)})`)})}`)});throw n.originalError=o,n}}function Ele(t,e){let r=[...e.configuration.get("networkSettings")].sort(([u],[A])=>A.length-u.length),o={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(o),n=typeof t=="string"?new URL(t):t;for(let[u,A]of r)if(N4.default.isMatch(n.hostname,u))for(let p of a){let h=A.get(p);h!==null&&typeof o[p]>"u"&&(o[p]=h)}for(let u of a)typeof o[u]>"u"&&(o[u]=e.configuration.get(u));return o}async function I1(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET",wrapNetworkRequest:A}){let p={target:t,body:e,configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u},h=async()=>await Ust(t,e,p),E=typeof A<"u"?await A(h,p):h;return await(await r.reduceHook(v=>v.wrapNetworkRequest,E,p))()}async function L4(t,{configuration:e,jsonResponse:r,customErrorMessage:o,wrapNetworkRequest:a,...n}){let u=()=>wb(I1(t,null,{configuration:e,wrapNetworkRequest:a,...n}),{configuration:e,customErrorMessage:o}).then(p=>p.body),A=await(typeof a<"u"?u():ol(hle,t,()=>u().then(p=>(hle.set(t,p),p))));return r?JSON.parse(A.toString()):A}async function Ost(t,e,{customErrorMessage:r,...o}){return(await wb(I1(t,e,{...o,method:"PUT"}),{customErrorMessage:r,configuration:o.configuration})).body}async function O4(t,e,{customErrorMessage:r,...o}){return(await wb(I1(t,e,{...o,method:"POST"}),{customErrorMessage:r,configuration:o.configuration})).body}async function Mst(t,{customErrorMessage:e,...r}){return(await wb(I1(t,null,{...r,method:"DELETE"}),{customErrorMessage:e,configuration:r.configuration})).body}async function Ust(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=typeof t=="string"?new URL(t):t,p=Ele(A,{configuration:r});if(p.enableNetwork===!1)throw new zt(80,`Request to '${A.href}' has been blocked because of your configuration settings`);if(A.protocol==="http:"&&!N4.default.isMatch(A.hostname,r.get("unsafeHttpWhitelist")))throw new zt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${A.hostname})`);let E={agent:{http:p.httpProxy?T4.default.httpOverHttp(dle(p.httpProxy)):Tst,https:p.httpsProxy?T4.default.httpsOverHttp(dle(p.httpsProxy)):Nst},headers:o,method:u};E.responseType=n?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!a&&typeof e=="string"?E.body=e:E.json=e);let I=r.get("httpTimeout"),v=r.get("httpRetry"),x=r.get("enableStrictSsl"),C=p.httpsCaFilePath,R=p.httpsCertFilePath,L=p.httpsKeyFilePath,{default:U}=await Promise.resolve().then(()=>$e(ple())),J=C?await R4(C):void 0,te=R?await R4(R):void 0,ae=L?await R4(L):void 0,fe=U.extend({timeout:{socket:I},retry:v,https:{rejectUnauthorized:x,certificateAuthority:J,certificate:te,key:ae},...E});return r.getLimit("networkConcurrency")(()=>fe(A))}var mle,yle,N4,T4,hle,gle,Tst,Nst,Cle,Ib=Et(()=>{St();mle=ve("https"),yle=ve("http"),N4=$e(Zo()),T4=$e(Yse());Yl();jl();ql();hle=new Map,gle=new Map,Tst=new yle.Agent({keepAlive:!0}),Nst=new mle.Agent({keepAlive:!0});Cle=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(Cle||{})});var Ji={};Vt(Ji,{availableParallelism:()=>U4,getArchitecture:()=>B1,getArchitectureName:()=>Gst,getArchitectureSet:()=>M4,getCaller:()=>Vst,major:()=>_st,openUrl:()=>Hst});function jst(){if(process.platform==="darwin"||process.platform==="win32")return null;let t;try{t=oe.readFileSync(qst)}catch{}if(typeof t<"u"){if(t&&t.includes("GLIBC"))return"glibc";if(t&&t.includes("musl"))return"musl"}let r=(process.report?.getReport()??{}).sharedObjects??[],o=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return KI(r,a=>{let n=a.match(o);if(!n)return KI.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function B1(){return Ile=Ile??{os:process.platform,cpu:process.arch,libc:jst()}}function Gst(t=B1()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function M4(){let t=B1();return Ble=Ble??{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}function Kst(t){let e=Yst.exec(t);if(!e)return null;let r=e[2]&&e[2].indexOf("native")===0,o=e[2]&&e[2].indexOf("eval")===0,a=Wst.exec(e[2]);return o&&a!=null&&(e[2]=a[1],e[3]=a[2],e[4]=a[3]),{file:r?null:e[2],methodName:e[1]||"",arguments:r?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}function Vst(){let e=new Error().stack.split(` +`)[3];return Kst(e)}function U4(){return typeof Bb.default.availableParallelism<"u"?Bb.default.availableParallelism():Math.max(1,Bb.default.cpus().length)}var Bb,_st,wle,Hst,qst,Ile,Ble,Yst,Wst,vb=Et(()=>{St();Bb=$e(ve("os"));Db();ql();_st=Number(process.versions.node.split(".")[0]),wle=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),Hst=typeof wle<"u"?async t=>{try{return await _4(wle,[t],{cwd:V.cwd()}),!0}catch{return!1}}:void 0,qst="/usr/bin/ldd";Yst=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Wst=/\((\S*)(?::(\d+))(?::(\d+))\)/});function Y4(t,e,r,o,a){let n=A1(r);if(o.isArray||o.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((u,A)=>H4(t,`${e}[${A}]`,u,o,a)):String(n).split(/,/).map(u=>H4(t,e,u,o,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return H4(t,e,r,o,a)}function H4(t,e,r,o,a){let n=A1(r);switch(o.type){case"ANY":return GP(n);case"SHAPE":return Zst(t,e,r,o,a);case"MAP":return $st(t,e,r,o,a)}if(n===null&&!o.isNullable&&o.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if(o.values?.includes(n))return n;let A=(()=>{if(o.type==="BOOLEAN"&&typeof n!="string")return VI(n);if(typeof n!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof n}`);let p=sP(n,{env:t.env});switch(o.type){case"ABSOLUTE_PATH":{let h=a,E=mM(r);return E&&E[0]!=="<"&&(h=V.dirname(E)),V.resolve(h,ue.toPortablePath(p))}case"LOCATOR_LOOSE":return xf(p,!1);case"NUMBER":return parseInt(p);case"LOCATOR":return xf(p);case"BOOLEAN":return VI(p);default:return p}})();if(o.values&&!o.values.includes(A))throw new Error(`Invalid value, expected one of ${o.values.join(", ")}`);return A}function Zst(t,e,r,o,a){let n=A1(r);if(typeof n!="object"||Array.isArray(n))throw new it(`Object configuration settings "${e}" must be an object`);let u=W4(t,o,{ignoreArrays:!0});if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=`${e}.${A}`;if(!o.properties[A])throw new it(`Unrecognized configuration settings found: ${e}.${A} - run "yarn config -v" to see the list of settings supported in Yarn`);u.set(A,Y4(t,h,p,o.properties[A],a))}return u}function $st(t,e,r,o,a){let n=A1(r),u=new Map;if(typeof n!="object"||Array.isArray(n))throw new it(`Map configuration settings "${e}" must be an object`);if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=o.normalizeKeys?o.normalizeKeys(A):A,E=`${e}['${h}']`,I=o.valueDefinition;u.set(h,Y4(t,E,p,I,a))}return u}function W4(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let o=new Map;for(let[a,n]of Object.entries(e.properties))o.set(a,W4(t,n));return o}case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?Array.isArray(e.default)?e.default.map(o=>V.normalize(o)):V.isAbsolute(e.default)?V.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(o=>V.resolve(t.projectCwd,o)):V.resolve(t.projectCwd,e.default);default:return e.default}}function Pb(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return Xst;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return ue.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let o=[];for(let a of t)o.push(Pb(a,e,r));return o}if(e.type==="MAP"&&t instanceof Map){if(t.size===0)return;let o=new Map;for(let[a,n]of t.entries()){let u=Pb(n,e.valueDefinition,r);typeof u<"u"&&o.set(a,u)}return o}if(e.type==="SHAPE"&&t instanceof Map){if(t.size===0)return;let o=new Map;for(let[a,n]of t.entries()){let u=e.properties[a],A=Pb(n,u,r);typeof A<"u"&&o.set(a,A)}return o}return t}function eot(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(bb)&&(e=(0,Dle.default)(e.slice(bb.length)),t[e]=r);return t}function j4(){let t=`${bb}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return G4}async function vle(t){try{return await oe.readFilePromise(t)}catch{return Buffer.of()}}async function tot(t,e){return Buffer.compare(...await Promise.all([vle(t),vle(e)]))===0}async function rot(t,e){let[r,o]=await Promise.all([oe.statPromise(t),oe.statPromise(e)]);return r.dev===o.dev&&r.ino===o.ino}async function iot({configuration:t,selfPath:e}){let r=t.get("yarnPath");return t.get("ignorePath")||r===null||r===e||await not(r,e)?null:r}var Dle,Lf,Sle,Ple,ble,q4,Jst,v1,zst,FE,bb,G4,Xst,D1,xle,xb,Sb,not,rA,Ke,S1=Et(()=>{St();Nl();Dle=$e(sV()),Lf=$e(td());qt();Sle=$e(ZV()),Ple=ve("module"),ble=$e(id()),q4=ve("stream");ose();fE();cM();uM();AM();Tse();fM();vd();Use();WP();jl();nh();Ib();ql();vb();Qf();bo();Jst=function(){if(!Lf.GITHUB_ACTIONS||!process.env.GITHUB_EVENT_PATH)return!1;let t=ue.toPortablePath(process.env.GITHUB_EVENT_PATH),e;try{e=oe.readJsonSync(t)}catch{return!1}return!(!("repository"in e)||!e.repository||(e.repository.private??!0))}(),v1=new Set(["@yarnpkg/plugin-constraints","@yarnpkg/plugin-exec","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]),zst=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","zipDataEpilogue","cacheCheckpointOverride","cacheVersionOverride","lockfileVersionOverride","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry","ignoreCwd"]),FE=/^(?!v)[a-z0-9._-]+$/i,bb="yarn_",G4=".yarnrc.yml",Xst="********",D1=(E=>(E.ANY="ANY",E.BOOLEAN="BOOLEAN",E.ABSOLUTE_PATH="ABSOLUTE_PATH",E.LOCATOR="LOCATOR",E.LOCATOR_LOOSE="LOCATOR_LOOSE",E.NUMBER="NUMBER",E.STRING="STRING",E.SECRET="SECRET",E.SHAPE="SHAPE",E.MAP="MAP",E))(D1||{}),xle=yt,xb=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(xb||{}),Sb={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},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:EM()},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:0},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__"},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:j4()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},cacheMigrationMode:{description:"Defines the conditions under which Yarn upgrades should cause the cache archives to be regenerated.",type:"STRING",values:["always","match-spec","required-only"],default:"always"},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:lP,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:SL,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Lf.isCI,defaultText:""},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:!Lf.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},enableTips:{description:"If true, installs will print a helpful message every day of the week",type:"BOOLEAN",default:!Lf.isCI,defaultText:""},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:""},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, Yarn will refuse to use the network if required to",type:"BOOLEAN",default:!0},enableOfflineMode:{description:"If true, Yarn will attempt to retrieve files and metadata from the global cache rather than the network",type:"BOOLEAN",default:!1},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},taskPoolConcurrency:{description:"Maximal amount of concurrent heavy task processing",type:"NUMBER",default:U4()},taskPoolMode:{description:"Execution strategy for heavy tasks",type:"STRING",values:["async","workers"],default:"workers"},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{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}}}},httpsCaFilePath:{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(uP),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},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:Lf.isPR&&Jst,defaultText:""},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"},injectEnvironmentFiles:{description:"List of all the environment files that Yarn should inject inside the process when it starts",type:"ABSOLUTE_PATH",default:[".env.yarn?"],isArray:!0},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}}}}}}}};not=process.platform==="win32"?tot:rot;rA=class{constructor(e){this.isCI=Lf.isCI;this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.env={};this.limits=new Map;this.packageExtensions=null;this.startingCwd=e}static create(e,r,o){let a=new rA(e);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(Sb);let n=typeof o<"u"?o:r instanceof Map?r:new Map;for(let[u,A]of n)a.activatePlugin(u,A);return a}static async find(e,r,{strict:o=!0,usePathCheck:a=null,useRc:n=!0}={}){let u=eot();delete u.rcFilename;let A=new rA(e),p=await rA.findRcFiles(e),h=await rA.findFolderRcFile(EE());h&&(p.find(me=>me.path===h.path)||p.unshift(h));let E=Mse(p.map(ce=>[ce.path,ce.data])),I=Bt.dot,v=new Set(Object.keys(Sb)),x=({yarnPath:ce,ignorePath:me,injectEnvironmentFiles:he})=>({yarnPath:ce,ignorePath:me,injectEnvironmentFiles:he}),C=({yarnPath:ce,ignorePath:me,injectEnvironmentFiles:he,...Be})=>{let we={};for(let[g,Ee]of Object.entries(Be))v.has(g)&&(we[g]=Ee);return we},R=({yarnPath:ce,ignorePath:me,...he})=>{let Be={};for(let[we,g]of Object.entries(he))v.has(we)||(Be[we]=g);return Be};if(A.importSettings(x(Sb)),A.useWithSource("",x(u),e,{strict:!1}),E){let[ce,me]=E;A.useWithSource(ce,x(me),I,{strict:!1})}if(a){if(await iot({configuration:A,selfPath:a})!==null)return A;A.useWithSource("",{ignorePath:!0},e,{strict:!1,overwrite:!0})}let L=await rA.findProjectCwd(e);A.startingCwd=e,A.projectCwd=L;let U=Object.assign(Object.create(null),process.env);A.env=U;let J=await Promise.all(A.get("injectEnvironmentFiles").map(async ce=>{let me=ce.endsWith("?")?await oe.readFilePromise(ce.slice(0,-1),"utf8").catch(()=>""):await oe.readFilePromise(ce,"utf8");return(0,Sle.parse)(me)}));for(let ce of J)for(let[me,he]of Object.entries(ce))A.env[me]=sP(he,{env:U});if(A.importSettings(C(Sb)),A.useWithSource("",C(u),e,{strict:o}),E){let[ce,me]=E;A.useWithSource(ce,C(me),I,{strict:o})}let te=ce=>"default"in ce?ce.default:ce,ae=new Map([["@@core",sse]]);if(r!==null)for(let ce of r.plugins.keys())ae.set(ce,te(r.modules.get(ce)));for(let[ce,me]of ae)A.activatePlugin(ce,me);let fe=new Map([]);if(r!==null){let ce=new Map;for(let Be of Ple.builtinModules)ce.set(Be,()=>Df(Be));for(let[Be,we]of r.modules)ce.set(Be,()=>we);let me=new Set,he=async(Be,we)=>{let{factory:g,name:Ee}=Df(Be);if(!g||me.has(Ee))return;let Se=new Map(ce),le=ee=>{if(Se.has(ee))return Se.get(ee)();throw new it(`This plugin cannot access the package referenced via ${ee} which is neither a builtin, nor an exposed entry`)},ne=await Ky(async()=>te(await g(le)),ee=>`${ee} (when initializing ${Ee}, defined in ${we})`);ce.set(Ee,()=>ne),me.add(Ee),fe.set(Ee,ne)};if(u.plugins)for(let Be of u.plugins.split(";")){let we=V.resolve(e,ue.toPortablePath(Be));await he(we,"")}for(let{path:Be,cwd:we,data:g}of p)if(!!n&&!!Array.isArray(g.plugins))for(let Ee of g.plugins){let Se=typeof Ee!="string"?Ee.path:Ee,le=Ee?.spec??"",ne=Ee?.checksum??"";if(v1.has(le))continue;let ee=V.resolve(we,ue.toPortablePath(Se));if(!await oe.existsPromise(ee)){if(!le){let At=Mt(A,V.basename(ee,".cjs"),yt.NAME),H=Mt(A,".gitignore",yt.NAME),at=Mt(A,A.values.get("rcFilename"),yt.NAME),Re=Mt(A,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",yt.URL);throw new it(`Missing source for the ${At} plugin - please try to remove the plugin from ${at} then reinstall it manually. This error usually occurs because ${H} is incorrect, check ${Re} to make sure your plugin folder isn't gitignored.`)}if(!le.match(/^https?:/)){let At=Mt(A,V.basename(ee,".cjs"),yt.NAME),H=Mt(A,A.values.get("rcFilename"),yt.NAME);throw new it(`Failed to recognize the source for the ${At} plugin - please try to delete the plugin from ${H} then reinstall it manually.`)}let Ie=await L4(le,{configuration:A}),Fe=zs(Ie);if(ne&&ne!==Fe){let At=Mt(A,V.basename(ee,".cjs"),yt.NAME),H=Mt(A,A.values.get("rcFilename"),yt.NAME),at=Mt(A,`yarn plugin import ${le}`,yt.CODE);throw new it(`Failed to fetch the ${At} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${H} then run ${at} to reimport it.`)}await oe.mkdirPromise(V.dirname(ee),{recursive:!0}),await oe.writeFilePromise(ee,Ie)}await he(ee,Be)}}for(let[ce,me]of fe)A.activatePlugin(ce,me);if(A.useWithSource("",R(u),e,{strict:o}),E){let[ce,me]=E;A.useWithSource(ce,R(me),I,{strict:o})}return A.get("enableGlobalCache")&&(A.values.set("cacheFolder",`${A.get("globalFolder")}/cache`),A.sources.set("cacheFolder","")),A}static async findRcFiles(e){let r=j4(),o=[],a=e,n=null;for(;a!==n;){n=a;let u=V.join(n,r);if(oe.existsSync(u)){let A=await oe.readFilePromise(u,"utf8"),p;try{p=Ki(A)}catch{let E="";throw A.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(E=" (in particular, make sure you list the colons after each key name)"),new it(`Parse error when loading ${u}; please check it's proper Yaml${E}`)}o.unshift({path:u,cwd:n,data:p})}a=V.dirname(n)}return o}static async findFolderRcFile(e){let r=V.join(e,dr.rc),o;try{o=await oe.readFilePromise(r,"utf8")}catch(n){if(n.code==="ENOENT")return null;throw n}let a=Ki(o);return{path:r,cwd:e,data:a}}static async findProjectCwd(e){let r=null,o=e,a=null;for(;o!==a;){if(a=o,oe.existsSync(V.join(a,dr.lockfile)))return a;oe.existsSync(V.join(a,dr.manifest))&&(r=a),o=V.dirname(a)}return r}static async updateConfiguration(e,r,o={}){let a=j4(),n=V.join(e,a),u=oe.existsSync(n)?Ki(await oe.readFilePromise(n,"utf8")):{},A=!1,p;if(typeof r=="function"){try{p=r(u)}catch{p=r({})}if(p===u)return!1}else{p=u;for(let h of Object.keys(r)){let E=u[h],I=r[h],v;if(typeof I=="function")try{v=I(E)}catch{v=I(void 0)}else v=I;E!==v&&(v===rA.deleteProperty?delete p[h]:p[h]=v,A=!0)}if(!A)return!1}return await oe.changeFilePromise(n,Ba(p),{automaticNewlines:!0}),!0}static async addPlugin(e,r){r.length!==0&&await rA.updateConfiguration(e,o=>{let a=o.plugins??[];if(a.length===0)return{...o,plugins:r};let n=[],u=[...r];for(let A of a){let p=typeof A!="string"?A.path:A,h=u.find(E=>E.path===p);h?(n.push(h),u=u.filter(E=>E!==h)):n.push(A)}return n.push(...u),{...o,plugins:n}})}static async updateHomeConfiguration(e){let r=EE();return await rA.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,o]of Object.entries(e))if(o!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,o),this.values.set(r,W4(this,o))}}useWithSource(e,r,o,a){try{this.use(e,r,o,a)}catch(n){throw n.message+=` (in ${Mt(this,e,yt.PATH)})`,n}}use(e,r,o,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let u of["enableStrictSettings",...Object.keys(r)]){let A=r[u],p=mM(A);if(p&&(e=p),typeof A>"u"||u==="plugins"||e===""&&zst.has(u))continue;if(u==="rcFilename")throw new it(`The rcFilename settings can only be set via ${`${bb}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(u);if(!h){let I=EE(),v=e[0]!=="<"?V.dirname(e):null;if(a&&!(v!==null?I===v:!1))throw new it(`Unrecognized or legacy configuration settings found: ${u} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(u,e);continue}if(this.sources.has(u)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let E;try{E=Y4(this,u,A,h,o)}catch(I){throw I.message+=` in ${Mt(this,e,yt.PATH)}`,I}if(u==="enableStrictSettings"&&e!==""){a=E;continue}if(h.type==="MAP"){let I=this.values.get(u);this.values.set(u,new Map(n?[...I,...E]:[...E,...I])),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else if(h.isArray&&h.concatenateValues){let I=this.values.get(u);this.values.set(u,n?[...I,...E]:[...E,...I]),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else this.values.set(u,E),this.sources.set(u,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:o=!1}){let a=this.get(e),n=this.settings.get(e);if(typeof n>"u")throw new it(`Couldn't find a configuration settings named "${e}"`);return Pb(a,n,{hideSecrets:r,getNativePaths:o})}getSubprocessStreams(e,{header:r,prefix:o,report:a}){let n,u,A=oe.createWriteStream(e);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${o} ${Mt(this,"STDOUT","green")}`),h=a.createStreamReporter(`${o} ${Mt(this,"STDERR","red")}`);n=new q4.PassThrough,n.pipe(p),n.pipe(A),u=new q4.PassThrough,u.pipe(h),u.pipe(A)}else n=A,u=A,typeof r<"u"&&n.write(`${r} +`);return{stdout:n,stderr:u}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let o of r.resolvers||[])e.push(new o);return new Dd([new c1,new Xn,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let o of r.fetchers||[])e.push(new o);return new hE([new gE,new mE,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let o of r.linkers||[])e.push(new o);return e}getSupportedArchitectures(){let e=B1(),r=this.get("supportedArchitectures"),o=r.get("os");o!==null&&(o=o.map(u=>u==="current"?e.os:u));let a=r.get("cpu");a!==null&&(a=a.map(u=>u==="current"?e.cpu:u));let n=r.get("libc");return n!==null&&(n=sl(n,u=>u==="current"?e.libc??sl.skip:u)),{os:o,cpu:a,libc:n}}async getPackageExtensions(){if(this.packageExtensions!==null)return this.packageExtensions;this.packageExtensions=new Map;let e=this.packageExtensions,r=(o,a,{userProvided:n=!1}={})=>{if(!xa(o.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let u=new Ot;u.load(a,{yamlCompatibilityMode:!0});let A=Yy(e,o.identHash),p=[];A.push([o.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:o};for(let E of u.dependencies.values())p.push({...h,type:"Dependency",descriptor:E});for(let E of u.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:E});for(let[E,I]of u.peerDependenciesMeta)for(let[v,x]of Object.entries(I))p.push({...h,type:"PeerDependencyMeta",selector:E,key:v,value:x})};await this.triggerHook(o=>o.registerPackageExtensions,this,r);for(let[o,a]of this.get("packageExtensions"))r(ih(o,!0),iP(a),{userProvided:!0});return e}normalizeLocator(e){return xa(e.reference)?Qs(e,`${this.get("defaultProtocol")}${e.reference}`):FE.test(e.reference)?Qs(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return xa(e.range)?In(e,`${this.get("defaultProtocol")}${e.range}`):FE.test(e.range)?In(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,o])=>[r,this.normalizeDependency(o)]))}normalizePackage(e,{packageExtensions:r}){let o=e1(e),a=r.get(e.identHash);if(typeof a<"u"){let u=e.version;if(u!==null){for(let[A,p]of a)if(!!kf(u,A))for(let h of p)switch(h.status==="inactive"&&(h.status="redundant"),h.type){case"Dependency":typeof o.dependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",o.dependencies.set(h.descriptor.identHash,this.normalizeDependency(h.descriptor)));break;case"PeerDependency":typeof o.peerDependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",o.peerDependencies.set(h.descriptor.identHash,h.descriptor));break;case"PeerDependencyMeta":{let E=o.peerDependenciesMeta.get(h.selector);(typeof E>"u"||!Object.hasOwn(E,h.key)||E[h.key]!==h.value)&&(h.status="active",ol(o.peerDependenciesMeta,h.selector,()=>({}))[h.key]=h.value)}break;default:yL(h)}}}let n=u=>u.scope?`${u.scope}__${u.name}`:`${u.name}`;for(let u of o.peerDependenciesMeta.keys()){let A=Js(u);o.peerDependencies.has(A.identHash)||o.peerDependencies.set(A.identHash,In(A,"*"))}for(let u of o.peerDependencies.values()){if(u.scope==="types")continue;let A=n(u),p=eA("types",A),h=fn(p);o.peerDependencies.has(p.identHash)||o.peerDependenciesMeta.has(h)||(o.peerDependencies.set(p.identHash,In(p,"*")),o.peerDependenciesMeta.set(h,{optional:!0}))}return o.dependencies=new Map(ks(o.dependencies,([,u])=>Pa(u))),o.peerDependencies=new Map(ks(o.peerDependencies,([,u])=>Pa(u))),o}getLimit(e){return ol(this.limits,e,()=>(0,ble.default)(this.get(e)))}async triggerHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);!n||await n(...r)}}async triggerMultipleHooks(e,r){for(let o of r)await this.triggerHook(e,...o)}async reduceHook(e,r,...o){let a=r;for(let n of this.plugins.values()){let u=n.hooks;if(!u)continue;let A=e(u);!A||(a=await A(a,...o))}return a}async firstHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);if(!n)continue;let u=await n(...r);if(typeof u<"u")return u}return null}},Ke=rA;Ke.deleteProperty=Symbol(),Ke.telemetry=null});var Ur={};Vt(Ur,{EndStrategy:()=>z4,ExecError:()=>kb,PipeError:()=>P1,execvp:()=>_4,pipevp:()=>Gc});function bd(t){return t!==null&&typeof t.fd=="number"}function K4(){}function V4(){for(let t of xd)t.kill()}async function Gc(t,e,{cwd:r,env:o=process.env,strict:a=!1,stdin:n=null,stdout:u,stderr:A,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":bd(n)&&(h[0]=n),bd(u)&&(h[1]=u),bd(A)&&(h[2]=A);let E=(0,J4.default)(t,e,{cwd:ue.fromPortablePath(r),env:{...o,PWD:ue.fromPortablePath(r)},stdio:h});xd.add(E),xd.size===1&&(process.on("SIGINT",K4),process.on("SIGTERM",V4)),!bd(n)&&n!==null&&n.pipe(E.stdin),bd(u)||E.stdout.pipe(u,{end:!1}),bd(A)||E.stderr.pipe(A,{end:!1});let I=()=>{for(let v of new Set([u,A]))bd(v)||v.end()};return new Promise((v,x)=>{E.on("error",C=>{xd.delete(E),xd.size===0&&(process.off("SIGINT",K4),process.off("SIGTERM",V4)),(p===2||p===1)&&I(),x(C)}),E.on("close",(C,R)=>{xd.delete(E),xd.size===0&&(process.off("SIGINT",K4),process.off("SIGTERM",V4)),(p===2||p===1&&C!==0)&&I(),C===0||!a?v({code:X4(C,R)}):x(new P1({fileName:t,code:C,signal:R}))})})}async function _4(t,e,{cwd:r,env:o=process.env,encoding:a="utf8",strict:n=!1}){let u=["ignore","pipe","pipe"],A=[],p=[],h=ue.fromPortablePath(r);typeof o.PWD<"u"&&(o={...o,PWD:h});let E=(0,J4.default)(t,e,{cwd:h,env:o,stdio:u});return E.stdout.on("data",I=>{A.push(I)}),E.stderr.on("data",I=>{p.push(I)}),await new Promise((I,v)=>{E.on("error",x=>{let C=Ke.create(r),R=Mt(C,t,yt.PATH);v(new zt(1,`Process ${R} failed to spawn`,L=>{L.reportError(1,` ${zu(C,{label:"Thrown Error",value:_c(yt.NO_HINT,x.message)})}`)}))}),E.on("close",(x,C)=>{let R=a==="buffer"?Buffer.concat(A):Buffer.concat(A).toString(a),L=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);x===0||!n?I({code:X4(x,C),stdout:R,stderr:L}):v(new kb({fileName:t,code:x,signal:C,stdout:R,stderr:L}))})})}function X4(t,e){let r=sot.get(e);return typeof r<"u"?128+r:t??1}function oot(t,e,{configuration:r,report:o}){o.reportError(1,` ${zu(r,t!==null?{label:"Exit Code",value:_c(yt.NUMBER,t)}:{label:"Exit Signal",value:_c(yt.CODE,e)})}`)}var J4,z4,P1,kb,xd,sot,Db=Et(()=>{St();J4=$e(sT());S1();Yl();jl();z4=(o=>(o[o.Never=0]="Never",o[o.ErrorCode=1]="ErrorCode",o[o.Always=2]="Always",o))(z4||{}),P1=class extends zt{constructor({fileName:r,code:o,signal:a}){let n=Ke.create(V.cwd()),u=Mt(n,r,yt.PATH);super(1,`Child ${u} reported an error`,A=>{oot(o,a,{configuration:n,report:A})});this.code=X4(o,a)}},kb=class extends P1{constructor({fileName:r,code:o,signal:a,stdout:n,stderr:u}){super({fileName:r,code:o,signal:a});this.stdout=n,this.stderr=u}};xd=new Set;sot=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});function Qle(t){kle=t}function b1(){return typeof Z4>"u"&&(Z4=kle()),Z4}var Z4,kle,$4=Et(()=>{kle=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var Fle=_((Qb,tU)=>{var aot=Object.assign({},ve("fs")),eU=function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),function(e){e=e||{};var r=typeof e<"u"?e:{},o,a;r.ready=new Promise(function(We,tt){o=We,a=tt});var n={},u;for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u]);var A=[],p="./this.program",h=function(We,tt){throw tt},E=!1,I=!0,v="";function x(We){return r.locateFile?r.locateFile(We,v):v+We}var C,R,L,U;I&&(E?v=ve("path").dirname(v)+"/":v=__dirname+"/",C=function(tt,It){var nr=ii(tt);return nr?It?nr:nr.toString():(L||(L=aot),U||(U=ve("path")),tt=U.normalize(tt),L.readFileSync(tt,It?null:"utf8"))},R=function(tt){var It=C(tt,!0);return It.buffer||(It=new Uint8Array(It)),Ee(It.buffer),It},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),A=process.argv.slice(2),h=function(We){process.exit(We)},r.inspect=function(){return"[Emscripten Module object]"});var J=r.print||console.log.bind(console),te=r.printErr||console.warn.bind(console);for(u in n)n.hasOwnProperty(u)&&(r[u]=n[u]);n=null,r.arguments&&(A=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var ae=0,fe=function(We){ae=We},ce;r.wasmBinary&&(ce=r.wasmBinary);var me=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Ti("no native wasm support detected");function he(We,tt,It){switch(tt=tt||"i8",tt.charAt(tt.length-1)==="*"&&(tt="i32"),tt){case"i1":return He[We>>0];case"i8":return He[We>>0];case"i16":return cp((We>>1)*2);case"i32":return Os((We>>2)*4);case"i64":return Os((We>>2)*4);case"float":return cu((We>>2)*4);case"double":return lp((We>>3)*8);default:Ti("invalid type for getValue: "+tt)}return null}var Be,we=!1,g;function Ee(We,tt){We||Ti("Assertion failed: "+tt)}function Se(We){var tt=r["_"+We];return Ee(tt,"Cannot call unknown function "+We+", make sure it is exported"),tt}function le(We,tt,It,nr,$){var ye={string:function(es){var bi=0;if(es!=null&&es!==0){var qo=(es.length<<2)+1;bi=Un(qo),At(es,bi,qo)}return bi},array:function(es){var bi=Un(es.length);return Re(es,bi),bi}};function Le(es){return tt==="string"?Ie(es):tt==="boolean"?Boolean(es):es}var pt=Se(We),ht=[],Tt=0;if(nr)for(var er=0;er=It)&&Te[nr];)++nr;return ee.decode(Te.subarray(We,nr))}function Fe(We,tt,It,nr){if(!(nr>0))return 0;for(var $=It,ye=It+nr-1,Le=0;Le=55296&&pt<=57343){var ht=We.charCodeAt(++Le);pt=65536+((pt&1023)<<10)|ht&1023}if(pt<=127){if(It>=ye)break;tt[It++]=pt}else if(pt<=2047){if(It+1>=ye)break;tt[It++]=192|pt>>6,tt[It++]=128|pt&63}else if(pt<=65535){if(It+2>=ye)break;tt[It++]=224|pt>>12,tt[It++]=128|pt>>6&63,tt[It++]=128|pt&63}else{if(It+3>=ye)break;tt[It++]=240|pt>>18,tt[It++]=128|pt>>12&63,tt[It++]=128|pt>>6&63,tt[It++]=128|pt&63}}return tt[It]=0,It-$}function At(We,tt,It){return Fe(We,Te,tt,It)}function H(We){for(var tt=0,It=0;It=55296&&nr<=57343&&(nr=65536+((nr&1023)<<10)|We.charCodeAt(++It)&1023),nr<=127?++tt:nr<=2047?tt+=2:nr<=65535?tt+=3:tt+=4}return tt}function at(We){var tt=H(We)+1,It=Li(tt);return It&&Fe(We,He,It,tt),It}function Re(We,tt){He.set(We,tt)}function ke(We,tt){return We%tt>0&&(We+=tt-We%tt),We}var xe,He,Te,Je,qe,b,w,P,y,F;function z(We){xe=We,r.HEAP_DATA_VIEW=F=new DataView(We),r.HEAP8=He=new Int8Array(We),r.HEAP16=Je=new Int16Array(We),r.HEAP32=b=new Int32Array(We),r.HEAPU8=Te=new Uint8Array(We),r.HEAPU16=qe=new Uint16Array(We),r.HEAPU32=w=new Uint32Array(We),r.HEAPF32=P=new Float32Array(We),r.HEAPF64=y=new Float64Array(We)}var X=r.INITIAL_MEMORY||16777216,Z,ie=[],Pe=[],Ne=[],ot=!1;function dt(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)bt(r.preRun.shift());oo(ie)}function jt(){ot=!0,oo(Pe)}function $t(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Qr(r.postRun.shift());oo(Ne)}function bt(We){ie.unshift(We)}function an(We){Pe.unshift(We)}function Qr(We){Ne.unshift(We)}var mr=0,br=null,Wr=null;function Kn(We){mr++,r.monitorRunDependencies&&r.monitorRunDependencies(mr)}function Ns(We){if(mr--,r.monitorRunDependencies&&r.monitorRunDependencies(mr),mr==0&&(br!==null&&(clearInterval(br),br=null),Wr)){var tt=Wr;Wr=null,tt()}}r.preloadedImages={},r.preloadedAudios={};function Ti(We){r.onAbort&&r.onAbort(We),We+="",te(We),we=!0,g=1,We="abort("+We+"). Build with -s ASSERTIONS=1 for more info.";var tt=new WebAssembly.RuntimeError(We);throw a(tt),tt}var ps="data:application/octet-stream;base64,";function io(We){return We.startsWith(ps)}var Pi="data:application/octet-stream;base64,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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAQUUAKG51bGwpADogAFBLBgcAUEsGBgBQSwUGAFBLAwQAUEsBAgAAAAA/BQAAwAcAAJMIAAB4CAAAbwUAAJEFAAB6BQAAsgUAAFYIAAAbBwAA1gQAAAsHAADqBgAAnAUAAMgGAACyCAAAHggAACgHAABHBAAAoAYAAGAFAAAuBAAAPgcAAD8IAAD+BwAAjgYAAMkIAADeCAAA5gcAALIGAABVBQAAqAcAACAAQcgTCxEBAAAAAQAAAAEAAAABAAAAAQBB7BMLCQEAAAABAAAAAgBBmBQLAQEAQbgUCwEBAEHSFAukLDomOyZlJmYmYyZgJiIg2CXLJdklQiZAJmomayY8JrolxCWVITwgtgCnAKwlqCGRIZMhkiGQIR8ilCGyJbwlIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AAIjxwD8AOkA4gDkAOAA5QDnAOoA6wDoAO8A7gDsAMQAxQDJAOYAxgD0APYA8gD7APkA/wDWANwAogCjAKUApyCSAeEA7QDzAPoA8QDRAKoAugC/ABAjrAC9ALwAoQCrALsAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlsQPfAJMDwAOjA8MDtQDEA6YDmAOpA7QDHiLGA7UDKSJhIrEAZSJkIiAjISP3AEgisAAZIrcAGiJ/ILIAoCWgAAAAAACWMAd3LGEO7rpRCZkZxG0Hj/RqcDWlY+mjlWSeMojbDqS43Hke6dXgiNnSlytMtgm9fLF+By2455Edv5BkELcd8iCwakhxufPeQb6EfdTaGuvk3W1RtdT0x4XTg1aYbBPAqGtkevli/ezJZYpPXAEU2WwGY2M9D/r1DQiNyCBuO14QaUzkQWDVcnFnotHkAzxH1ARL/YUN0mu1CqX6qLU1bJiyQtbJu9tA+bys42zYMnVc30XPDdbcWT3Rq6ww2SY6AN5RgFHXyBZh0L+19LQhI8SzVpmVus8Ppb24nrgCKAiIBV+y2QzGJOkLsYd8by8RTGhYqx1hwT0tZraQQdx2BnHbAbwg0pgqENXviYWxcR+1tgal5L+fM9S46KLJB3g0+QAPjqgJlhiYDuG7DWp/LT1tCJdsZJEBXGPm9FFra2JhbBzYMGWFTgBi8u2VBmx7pQEbwfQIglfED/XG2bBlUOm3Euq4vot8iLn83x3dYkkt2hXzfNOMZUzU+1hhsk3OUbU6dAC8o+Iwu9RBpd9K15XYPW3E0aT79NbTaulpQ/zZbjRGiGet0Lhg2nMtBETlHQMzX0wKqsl8Dd08cQVQqkECJxAQC76GIAzJJbVoV7OFbyAJ1Ga5n+Rhzg753l6YydkpIpjQsLSo18cXPbNZgQ20LjtcvbetbLrAIIO47bazv5oM4rYDmtKxdDlH1eqvd9KdFSbbBIMW3HMSC2PjhDtklD5qbQ2oWmp6C88O5J3/CZMnrgAKsZ4HfUSTD/DSowiHaPIBHv7CBmldV2L3y2dlgHE2bBnnBmtudhvU/uAr04laetoQzErdZ2/fufn5776OQ763F9WOsGDoo9bWfpPRocTC2DhS8t9P8We70WdXvKbdBrU/SzaySNorDdhMGwqv9koDNmB6BEHD72DfVd9nqO+ObjF5vmlGjLNhyxqDZryg0m8lNuJoUpV3DMwDRwu7uRYCIi8mBVW+O7rFKAu9spJatCsEarNcp//XwjHP0LWLntksHa7eW7DCZJsm8mPsnKNqdQqTbQKpBgmcPzYO64VnB3ITVwAFgkq/lRR6uOKuK7F7OBu2DJuO0pINvtXlt+/cfCHf2wvU0tOGQuLU8fiz3Whug9ofzRa+gVsmufbhd7Bvd0e3GOZaCIhwag//yjsGZlwLARH/nmWPaa5i+NP/a2FFz2wWeOIKoO7SDddUgwROwrMDOWEmZ6f3FmDQTUdpSdt3bj5KatGu3FrW2WYL30DwO9g3U668qcWeu95/z7JH6f+1MBzyvb2KwrrKMJOzU6ajtCQFNtC6kwbXzSlX3lS/Z9kjLnpms7hKYcQCG2hdlCtvKje+C7ShjgzDG98FWo3vAi0AAAAARjtnZYx2zsrKTamvWevtTh/QiivVnSOEk6ZE4bLW25307bz4PqAVV3ibcjLrPTbTrQZRtmdL+BkhcJ98JavG4GOQoYWp3Qgq7+ZvT3xAK646e0zL8DblZLYNggGXfR190UZ6GBsL07ddMLTSzpbwM4itl1ZC4D75BNtZnAtQ/BpNa5t/hyYy0MEdVbVSuxFUFIB2Md7N356Y9rj7uYYnh/+9QOI18OlNc8uOKOBtysmmVq2sbBsEAyogY2Yu+zr6aMBdn6KN9DDktpNVdxDXtDErsNH7Zhl+vV1+G5wt4WfaFoYCEFsvrVZgSMjFxgwpg/1rTEmwwuMPi6WGFqD4NVCbn1Ca1jb/3O1Rmk9LFXsJcHIewz3bsYUGvNSkdiOo4k1EzSgA7WJuO4oH/Z3O5rumqYNx6wAsN9BnSTMLPtV1MFmwv33wH/lGl3pq4NObLNu0/uaWHVGgrXo0gd3lSMfmgi0NqyuCS5BM59g2CAaeDW9jVEDGzBJ7oakd8AQvW8tjSpGGyuXXva2ARBvpYQIgjgTIbSerjlZAzq8m37LpHbjXI1AReGVrdh32zTL8sPZVmXq7/DY8gJtTOFvCz35gpaq0LQwF8hZrYGGwL4Eni0jk7cbhS6v9hi6KjRlSzLZ+Nwb715hAwLD902b0HJVdk3lfEDrWGStdsyxA8Wtqe5YOoDY/oeYNWMR1qxwlM5B7QPnd0u+/5rWKnpYq9titTZMS4OQ8VNuDWcd9x7iBRqDdSwsJcg0wbhcJ6zeLT9BQ7oWd+UHDpp4kUADaxRY7vaDcdhQPmk1zars97Bb9BotzN0si3HFwRbni1gFYpO1mPW6gz5Iom6j3JxANcWErahSrZsO77V2k3n774D84wIda8o0u9bS2SZCVxtbs0/2xiRmwGCZfi39DzC07oooWXMdAW/VoBmCSDQK7y5FEgKz0js0FW8j2Yj5bUCbfHWtButcm6BWRHY9wsG0QDPZWd2k8G97GeiC5o+mG/UKvvZonZfAziCPLVO064AlefNtuO7aWx5TwraDxYwvkECUwg3XvfSraqUZNv4g20sPODbWmBEAcCUJ7e2zR3T+Nl+ZY6F2r8UcbkJYiH0vPvllwqNuTPQF01QZmEUagIvAAm0WVytbsOozti1+tnRQj66ZzRiHr2uln0L2M9Hb5bbJNngh4ADenPjtQwjGw9UR3i5IhvcY7jvv9XOtoWxgKLmB/b+Qt1sCiFrGlg2Yu2cVdSbwPEOATSSuHdtqNw5ectqTyVvsNXRDAajgUGzOkUiBUwZht/W7eVpoLTfDe6gvLuY/BhhAgh713RabN6Dng9o9cKrsm82yAQZb/JgV3uR1iEnNQy701a6zYAAAAAFiA4tfxBrR0qYZWo+INaOm6jYo+EwvcnUuLPkqFHaEJ3Z1D3nQbFX0sm/eqZxDJ4D+QKzeWFn2UzpafQwo7QhNSu6DE+z32Z6O9FLDoNir6sLbILRkwno5BsHxZjybjGtemAc1+IFduJqC1uW0ri/M1q2kknC0/h8St3VAUdoQmTPZm8eVwMFK98NKF9nvsz677DhgHfVi7X/26bJFrJS/J68f4YG2RWzjtc4xzZk3GK+avEYJg+bLa4BtlHk3GNUbNJOLvS3JBt8uQlvxArtykwEwLDUYaqFXG+H+bUGc8w9CF62pW00gy1jGfeV0P1SHd7QKIW7uh0NtZdijsCE1wbOqa2eq8OYFqXu7K4WCkkmGCczvn1NBjZzYHrfGpRPVxS5Nc9x0wBHf/50/8wa0XfCN6vvp12eZ6lw4i10peeleoidPR/iqLURz9wNoit5hawGAx3JbDaVx0FKfK61f/SgmAVsxfIw5MvfRFx4O+HUdhabTBN8rsQdUdPJqMa2QabrzNnDgflRzayN6X5IKGFwZVL5FQ9ncRsiG5hy1i4QfPtUiBmRYQAXvBW4pFiwMKp1yqjPH/8gwTKDahznhuISyvx6d6DJ8nmNvUrKaRjCxERiWqEuV9KvAys7xvces8jaZCutsFGjo50lGxB5gJMeVPoLez7Pg3UTtQ2BGaCFjzTaHepe75Xkc5stV5c+pVm6RD080HG1Mv0NXFsJONRVJEJMME53xD5jA3yNh6b0g6rcbObA6eTo7ZWuNTiQJjsV6r5ef982UFKrjuO2Dgbtm3SeiPFBFobcPf/vKAh34QVy74RvR2eKQjPfOaaWVzeL7M9S4dlHXMykSulbwcLndrtaghyO0owx+mo/1V/iMfglelSSEPJav2wbM0tZkz1mIwtYDBaDViFiO+XFx7Pr6L0rjoKIo4Cv9OldevFhU1eL+TY9vnE4EMrJi/RvQYXZFdngsyBR7p5cuIdqaTCJRxOo7C0mIOIAUphR5PcQX8mNiDqjuAA0jseDQZ1yC0+wCJMq2j0bJPdJo5cT7CuZPpaz/FSjO/J539KbjepalaCQwvDKpUr+59HyTQN0ekMuDuImRDtqKGlHIPW8Qqj7kTgwnvsNuJDWeQAjMtyILR+mEEh1k5hGWO9xL6za+SGBoGFE65XpSsbhUfkiRNn3Dz5BkmULyZxIdsQp3xNMJ/Jp1EKYXFxMtSjk/1GNbPF89/SUFsJ8mju+lfPPix394vGFmIjEDZalsLUlQRU9K2xvpU4GWi1AKyZnnf4j75PTWXf2uWz/+JQYR0twvc9FXcdXIDfy3y4ajjZH7ru+ScPBJiyp9K4ihIAWkWAlnp9NXwb6J2qO9AoQAAAADhtlLvg2vUBWLdhuoG16gL52H65IW8fA5kCi7hDK5RF+0YA/iPxYUSbnPX/Qp5+Rzrz6vziRItGWikf/YYXKMu+erxwZs3dyt6gSXEHosLJf89Wcqd4N8gfFaNzxTy8jn1RKDWl5kmPHYvdNMSJVoy85MI3ZFOjjdw+NzYMLhGXdEOFLKz05JYUmXAtzZv7lbX2by5tQQ6U1SyaLw8FhdK3aBFpb99w09ey5GgOsG/Qdt37a65qmtEWBw5qyjk5XPJUrecq48xdko5Y5kuM014z4Ufl61YmX1M7suSJEq0ZMX85ounIWBhRpcyjiKdHG/DK06AofbIakBAmoVgcI26gcbfVeMbWb8CrQtQZqclsYcRd17lzPG0BHqjW2ze3K2NaI5C77UIqA4DWkdqCXSmi78mSelioKMI1PJMeCwulJmafHv7R/qRGvGofn77hp+fTdRw/ZBSmhwmAHV0gn+DlTQtbPfpq4YWX/lpclXXiJPjhWfxPgONEIhRYlDIy+exfpkI06Mf4jIVTQ1WH2Pst6kxA9V0t+k0wuUGXGaa8L3QyB/fDU71PrscGlqxMvu7B2AU2drm/jhstBFIlGjJqSI6Jsv/vMwqSe4jTkPAwq/1ki3NKBTHLJ5GKEQ6Od6ljGsxx1Ht2ybnvzRC7ZHVo1vDOsGGRdAgMBc/geZrrmBQOUECjb+r4zvtRIcxw6Vmh5FKBFoXoOXsRU+NSDq5bP5oVg4j7rzvlbxTi5+SsmopwF0I9Ea36UIUWJm6yIB4DJpvGtEchftnTmqfbWCLftsyZBwGtI79sOZhlRSZl3Siy3gWf02S98kffZPDMZxydWNzEKjlmfEet3axXi3zUOh/HDI1+fbTg6sZt4mF+FY/1xc04lH91VQDEr3wfORcRi4LPpuo4d8t+g67J9TvWpGGADhMAOrZ+lIFqQKO3Ui03DIqaVrYy98IN6/VJtZOY3Q5LL7y080IoDylrN/KRBqNJSbHC8/HcVkgo3t3wULNJS4gEKPEwabxK+GW5hQAILT7Yv0yEYNLYP7nQU4fBvcc8GQqmhqFnMj17Ti3AwyO5exuU2MGj+Ux6evvHwgKWU3naITLDYkymeL5ykU6GHwX1XqhkT+bF8PQ/x3tMR6rv958djk0ncBr2/VkFC0U0kbCdg/AKJe5ksfzs7wmEgXuyXDYaCORbjrM0S6gSTCY8qZSRXRMs/Mmo9f5CEI2T1qtVJLcR7UkjqjdgPFePDajsV7rJVu/XXe021dZVTrhC7pYPI1QuYrfv8lyA2coxFGIShnXYquvhY3PpatsLhP5g0zOf2mteC2GxdxScCRqAJ9Gt4Z1pwHUmsML+nsivaiUQGAufqHWfJEAAAAAQ8umh8eQPNSEW5pTzycIc4zsrvQItzSnS3ySIJ5PEObdhLZhWd8sMhoUirVRaBiVEqO+Epb4JEHVM4LGfZlRFz5S95C6CW3D+cLLRLK+WWTxdf/jdS5lsDblwzfj1kHxoB3ndiRGfSVnjduiLPFJgm867wXrYXVWqKrT0foyoy65+QWpPaKf+n5pOX01Fatddt4N2vKFl4mxTjEOZH2zyCe2FU+j7Y8c4CYpm6tau7vokR08bMqHby8BIeiHq/I5xGBUvkA7zu0D8GhqSIz6SgtHXM2PHMaezNdgGRnk4t9aL0RY3nTeC52/eIzWw+qslQhMKxFT1nhSmHD/9GVGXbeu4Noz9XqJcD7cDjtCTi54ieip/NJy+r8Z1H1qKla7KeHwPK26am/ucczopQ1eyObG+E9inWIcIVbEm4n8F0rKN7HNTmwrng2njRlG2x85BRC5voFLI+3CgIVqF7MHrFR4oSvQIzt4k+id/9iUD9+bX6lYHwQzC1zPlYwOV+VzTZxD9MnH2aeKDH8gwXDtAIK7S4cG4NHURSt3U5AY9ZXT01MSV4jJQRRDb8ZfP/3mHPRbYZivwTLbZGe1c860ZDAFEuO0Xoiw95UuN7zpvBf/IhqQe3mAwziyJkTtgaSCrkoCBSoRmFZp2j7RIqas8WFtCnblNpAlpv02oujLjLqrACo9L1uwbmyQFukn7ITJZCciTuB8uB2jtx6adoScXDVPOtuxFKCI8t8GD7mjlC/6aDKofjOo+z34DnyVUt2t1pl7KlLC4XkRCUf+WnXV3hm+c1md5ekK3i5PjQsdzUtI1mvMzI3xn49GVxjEOsU4h/FjvwOq+exAYV9rEvkvlFEyiRPVaRNAlqK1x93eJ+eeFYFgGk4bM1mFvbSMtj9yz32Z9UsmA6YI7aUhQ5E3AQBakYaEAQvVx8qtUm9gfoMsq9gEqPBCV+s75NCgR3bw44zQd2fXSiQkHOyj8S9uZbLkyOI2v1KxdXT0Nj4IZhZ9w8CR+ZhawrpT/EUcrsrnX2VsYNs+9jOY9VC004nClJBCZBMUGf5AV9JYx4Lh2gHBKnyGRXHm1Qa6QFJNxtJyDg109YpW7qbJnUghYTeb8CL8PXemp6ck5WwBo64Qk4Pt2zUEaYCvVypLCdD/eIsWvLMtkTjot8J7IxFFMF+DZXOUJeL3z7+xtAQZNuacacmlV89OIQxVHWLH85opu2G6anDHPe4rXW6t4PvpeNN5LzsY36i/Q0X7/IjjfLf0cVz0P9fbcGRNiDOv6w+bBTje2M6eWVyVBAofXqKNVCIwrRfpliqTsgx50Hmq/gVKKDhGgY6/wtoU7IERsmvKbSBLiaaGzA39HJ9ONroYFAQAAJ0HAAAsCQAAhgUAAEgFAACnBQAAAAQAADIFAAC8BQAALAkAQYDBAAv3CQwACACMAAgATAAIAMwACAAsAAgArAAIAGwACADsAAgAHAAIAJwACABcAAgA3AAIADwACAC8AAgAfAAIAPwACAACAAgAggAIAEIACADCAAgAIgAIAKIACABiAAgA4gAIABIACACSAAgAUgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w==";io(Pi)||(Pi=x(Pi));function Ls(We){try{if(We==Pi&&ce)return new Uint8Array(ce);var tt=ii(We);if(tt)return tt;if(R)return R(We);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(It){Ti(It)}}function so(We,tt){var It,nr,$;try{$=Ls(We),nr=new WebAssembly.Module($),It=new WebAssembly.Instance(nr,tt)}catch(Le){var ye=Le.toString();throw te("failed to compile wasm module: "+ye),(ye.includes("imported Memory")||ye.includes("memory import"))&&te("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)."),Le}return[It,nr]}function cc(){var We={a:Ma};function tt($,ye){var Le=$.exports;r.asm=Le,Be=r.asm.g,z(Be.buffer),Z=r.asm.W,an(r.asm.h),Ns("wasm-instantiate")}if(Kn("wasm-instantiate"),r.instantiateWasm)try{var It=r.instantiateWasm(We,tt);return It}catch($){return te("Module.instantiateWasm callback failed with error: "+$),!1}var nr=so(Pi,We);return tt(nr[0]),r.asm}function cu(We){return F.getFloat32(We,!0)}function lp(We){return F.getFloat64(We,!0)}function cp(We){return F.getInt16(We,!0)}function Os(We){return F.getInt32(We,!0)}function Dn(We,tt){F.setInt32(We,tt,!0)}function oo(We){for(;We.length>0;){var tt=We.shift();if(typeof tt=="function"){tt(r);continue}var It=tt.func;typeof It=="number"?tt.arg===void 0?Z.get(It)():Z.get(It)(tt.arg):It(tt.arg===void 0?null:tt.arg)}}function Ms(We,tt){var It=new Date(Os((We>>2)*4)*1e3);Dn((tt>>2)*4,It.getUTCSeconds()),Dn((tt+4>>2)*4,It.getUTCMinutes()),Dn((tt+8>>2)*4,It.getUTCHours()),Dn((tt+12>>2)*4,It.getUTCDate()),Dn((tt+16>>2)*4,It.getUTCMonth()),Dn((tt+20>>2)*4,It.getUTCFullYear()-1900),Dn((tt+24>>2)*4,It.getUTCDay()),Dn((tt+36>>2)*4,0),Dn((tt+32>>2)*4,0);var nr=Date.UTC(It.getUTCFullYear(),0,1,0,0,0,0),$=(It.getTime()-nr)/(1e3*60*60*24)|0;return Dn((tt+28>>2)*4,$),Ms.GMTString||(Ms.GMTString=at("GMT")),Dn((tt+40>>2)*4,Ms.GMTString),tt}function ml(We,tt){return Ms(We,tt)}function yl(We,tt,It){Te.copyWithin(We,tt,tt+It)}function ao(We){try{return Be.grow(We-xe.byteLength+65535>>>16),z(Be.buffer),1}catch{}}function Vn(We){var tt=Te.length;We=We>>>0;var It=2147483648;if(We>It)return!1;for(var nr=1;nr<=4;nr*=2){var $=tt*(1+.2/nr);$=Math.min($,We+100663296);var ye=Math.min(It,ke(Math.max(We,$),65536)),Le=ao(ye);if(Le)return!0}return!1}function On(We){fe(We)}function Ni(We){var tt=Date.now()/1e3|0;return We&&Dn((We>>2)*4,tt),tt}function Mn(){if(Mn.called)return;Mn.called=!0;var We=new Date().getFullYear(),tt=new Date(We,0,1),It=new Date(We,6,1),nr=tt.getTimezoneOffset(),$=It.getTimezoneOffset(),ye=Math.max(nr,$);Dn((ds()>>2)*4,ye*60),Dn((gs()>>2)*4,Number(nr!=$));function Le($r){var ji=$r.toTimeString().match(/\(([A-Za-z ]+)\)$/);return ji?ji[1]:"GMT"}var pt=Le(tt),ht=Le(It),Tt=at(pt),er=at(ht);$>2)*4,Tt),Dn((wi()+4>>2)*4,er)):(Dn((wi()>>2)*4,er),Dn((wi()+4>>2)*4,Tt))}function _i(We){Mn();var tt=Date.UTC(Os((We+20>>2)*4)+1900,Os((We+16>>2)*4),Os((We+12>>2)*4),Os((We+8>>2)*4),Os((We+4>>2)*4),Os((We>>2)*4),0),It=new Date(tt);Dn((We+24>>2)*4,It.getUTCDay());var nr=Date.UTC(It.getUTCFullYear(),0,1,0,0,0,0),$=(It.getTime()-nr)/(1e3*60*60*24)|0;return Dn((We+28>>2)*4,$),It.getTime()/1e3|0}var tr=typeof atob=="function"?atob:function(We){var tt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",It="",nr,$,ye,Le,pt,ht,Tt,er=0;We=We.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Le=tt.indexOf(We.charAt(er++)),pt=tt.indexOf(We.charAt(er++)),ht=tt.indexOf(We.charAt(er++)),Tt=tt.indexOf(We.charAt(er++)),nr=Le<<2|pt>>4,$=(pt&15)<<4|ht>>2,ye=(ht&3)<<6|Tt,It=It+String.fromCharCode(nr),ht!==64&&(It=It+String.fromCharCode($)),Tt!==64&&(It=It+String.fromCharCode(ye));while(er0||(dt(),mr>0))return;function tt(){Sn||(Sn=!0,r.calledRun=!0,!we&&(jt(),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),$t()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),tt()},1)):tt()}if(r.run=ys,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return ys(),e}}();typeof Qb=="object"&&typeof tU=="object"?tU.exports=eU:typeof define=="function"&&define.amd?define([],function(){return eU}):typeof Qb=="object"&&(Qb.createModule=eU)});var Of,Rle,Tle,Nle=Et(()=>{Of=["number","number"],Rle=(ee=>(ee[ee.ZIP_ER_OK=0]="ZIP_ER_OK",ee[ee.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",ee[ee.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",ee[ee.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",ee[ee.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",ee[ee.ZIP_ER_READ=5]="ZIP_ER_READ",ee[ee.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",ee[ee.ZIP_ER_CRC=7]="ZIP_ER_CRC",ee[ee.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",ee[ee.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",ee[ee.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",ee[ee.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",ee[ee.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",ee[ee.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",ee[ee.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",ee[ee.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",ee[ee.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",ee[ee.ZIP_ER_EOF=17]="ZIP_ER_EOF",ee[ee.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",ee[ee.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",ee[ee.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",ee[ee.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",ee[ee.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",ee[ee.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",ee[ee.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",ee[ee.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",ee[ee.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",ee[ee.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",ee[ee.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",ee[ee.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",ee[ee.ZIP_ER_TELL=30]="ZIP_ER_TELL",ee[ee.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",ee))(Rle||{}),Tle=t=>({get HEAPU8(){return t.HEAPU8},errors:Rle,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,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:t._malloc(1),uint32S:t._malloc(4),malloc:t._malloc,free:t._free,getValue:t.getValue,openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...Of,"number","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...Of,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...Of,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...Of,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...Of,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...Of,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number",...Of,"number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...Of,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...Of,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"])},struct:{statS:t.cwrap("zipstruct_statS","number",[]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}})});function rU(t,e){let r=t.indexOf(e);if(r<=0)return null;let o=r;for(;r>=0&&(o=r+e.length,t[o]!==V.sep);){if(t[r-1]===V.sep)return null;r=t.indexOf(e,o)}return t.length>o&&t[o]!==V.sep?null:t.slice(0,o)}var Jl,Lle=Et(()=>{St();St();nA();Jl=class extends Hp{static async openPromise(e,r){let o=new Jl(r);try{return await e(o)}finally{o.saveAndClose()}}constructor(e={}){let r=e.fileExtensions,o=e.readOnlyArchives,a=typeof r>"u"?A=>rU(A,".zip"):A=>{for(let p of r){let h=rU(A,p);if(h)return h}return null},n=(A,p)=>new zi(p,{baseFs:A,readOnly:o,stats:A.statSync(p)}),u=async(A,p)=>{let h={baseFs:A,readOnly:o,stats:await A.statPromise(p)};return()=>new zi(p,h)};super({...e,factorySync:n,factoryPromise:u,getMountPoint:a})}}});function lot(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof t=="number"&&Number.isFinite(t))return t<0?Date.now()/1e3:t;if(Ole.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function Fb(){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 ta,nU,Ole,iU,Mle,Rb,zi,sU=Et(()=>{St();St();St();St();St();St();ta=ve("fs"),nU=ve("stream"),Ole=ve("util"),iU=$e(ve("zlib"));$4();Mle="mixed";Rb=class extends Error{constructor(r,o){super(r);this.name="Libzip Error",this.code=o}},zi=class extends Mu{constructor(r,o={}){super();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;let a=o;if(this.level=typeof a.level<"u"?a.level:Mle,r??=Fb(),typeof r=="string"){let{baseFs:A=new Tn}=a;this.baseFs=A,this.path=r}else this.path=null,this.baseFs=null;if(o.stats)this.stats=o.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(A){if(A.code==="ENOENT"&&a.create)this.stats=Ea.makeDefaultStats();else throw A}else this.stats=Ea.makeDefaultStats();this.libzip=b1();let n=this.libzip.malloc(4);try{let A=0;o.readOnly&&(A|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof r=="string"&&(r=a.create?Fb():this.baseFs.readFileSync(r));let p=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(p,A,n),this.lzSource=p}catch(h){throw this.libzip.source.free(p),h}if(this.zip===0){let h=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(h,this.libzip.getValue(n,"i32")),this.makeLibzipError(h)}}finally{this.libzip.free(n)}this.listings.set(Bt.root,new Set);let u=this.libzip.getNumEntries(this.zip,0);for(let A=0;Ar)throw new Error("Overread");let n=Buffer.from(this.libzip.HEAPU8.subarray(o,o+r));return process.env.YARN_IS_TEST_ENV&&process.env.YARN_ZIP_DATA_EPILOGUE&&(n=Buffer.concat([n,Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)])),n}finally{this.libzip.free(o)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.readOnly){this.discardAndClose();return}let r=this.baseFs.existsSync(this.path)||this.stats.mode===Ea.DEFAULT_MODE?void 0:this.stats.mode;this.baseFs.writeFileSync(this.path,this.getBufferAndClose(),{mode:r}),this.ready=!1}resolve(r){return V.resolve(Bt.root,r)}async openPromise(r,o,a){return this.openSync(r,o,a)}openSync(r,o,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(r,o){return this.opendirSync(r,o)}opendirSync(r,o={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw ar.ENOENT(`opendir '${r}'`);let n=this.listings.get(a);if(!n)throw ar.ENOTDIR(`opendir '${r}'`);let u=[...n],A=this.openSync(a,"r");return PD(this,a,u,{onClose:()=>{this.closeSync(A)}})}async readPromise(r,o,a,n,u){return this.readSync(r,o,a,n,u)}readSync(r,o,a=0,n=o.byteLength,u=-1){let A=this.fds.get(r);if(typeof A>"u")throw ar.EBADF("read");let p=u===-1||u===null?A.cursor:u,h=this.readFileSync(A.p);h.copy(o,a,p,p+n);let E=Math.max(0,Math.min(h.length-p,n));return(u===-1||u===null)&&(A.cursor+=E),E}async writePromise(r,o,a,n,u){return typeof o=="string"?this.writeSync(r,o,u):this.writeSync(r,o,a,n,u)}writeSync(r,o,a,n,u){throw typeof this.fds.get(r)>"u"?ar.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw ar.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:o}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new nU.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(A,p)=>{clearImmediate(u),this.closeSync(a),p(A)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),u=setImmediate(async()=>{try{let A=await this.readFilePromise(r,o);n.bytesRead=A.length,n.end(A)}catch(A){n.destroy(A)}});return n}createWriteStream(r,{encoding:o}={}){if(this.readOnly)throw ar.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),u=Object.assign(new nU.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(A,p)=>{try{A?p(A):(this.writeFileSync(r,Buffer.concat(a),o),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){u.destroy()},bytesWritten:0,path:r,pending:!1});return u.on("data",A=>{let p=Buffer.from(A);u.bytesWritten+=p.length,a.push(p)}),u}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let o=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(o)&&!this.listings.has(o))throw ar.ENOENT(`lstat '${r}'`);return o}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw ar.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=V.resolve(Bt.root,r);return this.entries.has(a)||this.listings.has(a)}let o;try{o=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return o===void 0?!1:this.entries.has(o)||this.listings.has(o)}async accessPromise(r,o){return this.accessSync(r,o)}accessSync(r,o=ta.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw ar.ENOENT(`access '${r}'`);if(this.readOnly&&o&ta.constants.W_OK)throw ar.EROFS(`access '${r}'`)}async statPromise(r,o={bigint:!1}){return o.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw ar.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw ar.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,o)}}async fstatPromise(r,o){return this.fstatSync(r,o)}fstatSync(r,o){let a=this.fds.get(r);if(typeof a>"u")throw ar.EBADF("fstatSync");let{p:n}=a,u=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(u)&&!this.listings.has(u))throw ar.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(u))throw ar.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,u,o)}async lstatPromise(r,o={bigint:!1}){return o.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw ar.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw ar.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,o)}}statImpl(r,o,a={}){let n=this.entries.get(o);if(typeof n<"u"){let u=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,u)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let p=this.stats.uid,h=this.stats.gid,E=this.libzip.struct.statSize(u)>>>0,I=512,v=Math.ceil(E/I),x=(this.libzip.struct.statMtime(u)>>>0)*1e3,C=x,R=x,L=x,U=new Date(C),J=new Date(R),te=new Date(L),ae=new Date(x),fe=this.listings.has(o)?ta.constants.S_IFDIR:this.isSymbolicLink(n)?ta.constants.S_IFLNK:ta.constants.S_IFREG,ce=fe===ta.constants.S_IFDIR?493:420,me=fe|this.getUnixMode(n,ce)&511,he=this.libzip.struct.statCrc(u),Be=Object.assign(new Ea.StatEntry,{uid:p,gid:h,size:E,blksize:I,blocks:v,atime:U,birthtime:J,ctime:te,mtime:ae,atimeMs:C,birthtimeMs:R,ctimeMs:L,mtimeMs:x,mode:me,crc:he});return a.bigint===!0?Ea.convertToBigIntStats(Be):Be}if(this.listings.has(o)){let u=this.stats.uid,A=this.stats.gid,p=0,h=512,E=0,I=this.stats.mtimeMs,v=this.stats.mtimeMs,x=this.stats.mtimeMs,C=this.stats.mtimeMs,R=new Date(I),L=new Date(v),U=new Date(x),J=new Date(C),te=ta.constants.S_IFDIR|493,ae=0,fe=Object.assign(new Ea.StatEntry,{uid:u,gid:A,size:p,blksize:h,blocks:E,atime:R,birthtime:L,ctime:U,mtime:J,atimeMs:I,birthtimeMs:v,ctimeMs:x,mtimeMs:C,mode:te,crc:ae});return a.bigint===!0?Ea.convertToBigIntStats(fe):fe}throw new Error("Unreachable")}getUnixMode(r,o){if(this.libzip.file.getExternalAttributes(this.zip,r,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?o:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(r){let o=this.listings.get(r);if(o)return o;this.registerListing(V.dirname(r)).add(V.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,o){this.registerListing(V.dirname(r)).add(V.basename(r)),this.entries.set(r,o)}unregisterListing(r){this.listings.delete(r),this.listings.get(V.dirname(r))?.delete(V.basename(r))}unregisterEntry(r){this.unregisterListing(r);let o=this.entries.get(r);this.entries.delete(r),!(typeof o>"u")&&(this.fileSources.delete(o),this.isSymbolicLink(o)&&this.symlinkCount--)}deleteEntry(r,o){if(this.unregisterEntry(r),this.libzip.delete(this.zip,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(r,o,a=!0,n=!0){if(!this.ready)throw ar.EBUSY(`archive closed, ${r}`);let u=V.resolve(Bt.root,o);if(u==="/")return Bt.root;let A=this.entries.get(u);if(a&&A!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(A)){let p=this.getFileSource(A).toString();return this.resolveFilename(r,V.resolve(V.dirname(u),p),!0,n)}else return u;for(;;){let p=this.resolveFilename(r,V.dirname(u),!0,n);if(p===void 0)return p;let h=this.listings.has(p),E=this.entries.has(p);if(!h&&!E){if(n===!1)return;throw ar.ENOENT(r)}if(!h)throw ar.ENOTDIR(r);if(u=V.resolve(p,V.basename(u)),!a||this.symlinkCount===0)break;let I=this.libzip.name.locate(this.zip,u.slice(1),0);if(I===-1)break;if(this.isSymbolicLink(I)){let v=this.getFileSource(I).toString();u=V.resolve(V.dirname(u),v)}else break}return u}allocateBuffer(r){Buffer.isBuffer(r)||(r=Buffer.from(r));let o=this.libzip.malloc(r.byteLength);if(!o)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,o,r.byteLength).set(r),{buffer:o,byteLength:r.byteLength}}allocateUnattachedSource(r){let o=this.libzip.struct.errorS(),{buffer:a,byteLength:n}=this.allocateBuffer(r),u=this.libzip.source.fromUnattachedBuffer(a,n,0,1,o);if(u===0)throw this.libzip.free(o),this.makeLibzipError(o);return u}allocateSource(r){let{buffer:o,byteLength:a}=this.allocateBuffer(r),n=this.libzip.source.fromBuffer(this.zip,o,a,0,1);if(n===0)throw this.libzip.free(o),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(r,o){let a=Buffer.isBuffer(o)?o:Buffer.from(o),n=V.relative(Bt.root,r),u=this.allocateSource(o);try{let A=this.libzip.file.add(this.zip,n,u,this.libzip.ZIP_FL_OVERWRITE);if(A===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let p=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,A,0,p,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(A,a),A}catch(A){throw this.libzip.source.free(u),A}}isSymbolicLink(r){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,r,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&ta.constants.S_IFMT)===ta.constants.S_IFLNK}getFileSource(r,o={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,r,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let A=this.libzip.struct.statCompSize(n),p=this.libzip.struct.statCompMethod(n),h=this.libzip.malloc(A);try{let E=this.libzip.fopenIndex(this.zip,r,0,this.libzip.ZIP_FL_COMPRESSED);if(E===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let I=this.libzip.fread(E,h,A,0);if(I===-1)throw this.makeLibzipError(this.libzip.file.getError(E));if(IA)throw new Error("Overread");let v=this.libzip.HEAPU8.subarray(h,h+A),x=Buffer.from(v);if(p===0)return this.fileSources.set(r,x),x;if(o.asyncDecompress)return new Promise((C,R)=>{iU.default.inflateRaw(x,(L,U)=>{L?R(L):(this.fileSources.set(r,U),C(U))})});{let C=iU.default.inflateRawSync(x);return this.fileSources.set(r,C),C}}finally{this.libzip.fclose(E)}}finally{this.libzip.free(h)}}async fchmodPromise(r,o){return this.chmodPromise(this.fdToPath(r,"fchmod"),o)}fchmodSync(r,o){return this.chmodSync(this.fdToPath(r,"fchmodSync"),o)}async chmodPromise(r,o){return this.chmodSync(r,o)}chmodSync(r,o){if(this.readOnly)throw ar.EROFS(`chmod '${r}'`);o&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let A=this.getUnixMode(n,ta.constants.S_IFREG|0)&-512|o;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(r,o,a){return this.chownPromise(this.fdToPath(r,"fchown"),o,a)}fchownSync(r,o,a){return this.chownSync(this.fdToPath(r,"fchownSync"),o,a)}async chownPromise(r,o,a){return this.chownSync(r,o,a)}chownSync(r,o,a){throw new Error("Unimplemented")}async renamePromise(r,o){return this.renameSync(r,o)}renameSync(r,o){throw new Error("Unimplemented")}async copyFilePromise(r,o,a){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}copyFileSync(r,o,a=0){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=this.getFileSource(n),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}prepareCopyFile(r,o,a=0){if(this.readOnly)throw ar.EROFS(`copyfile '${r} -> '${o}'`);if((a&ta.constants.COPYFILE_FICLONE_FORCE)!==0)throw ar.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${o}'`);let n=this.resolveFilename(`copyfile '${r} -> ${o}'`,r),u=this.entries.get(n);if(typeof u>"u")throw ar.EINVAL(`copyfile '${r}' -> '${o}'`);let A=this.resolveFilename(`copyfile '${r}' -> ${o}'`,o),p=this.entries.get(A);if((a&(ta.constants.COPYFILE_EXCL|ta.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof p<"u")throw ar.EEXIST(`copyfile '${r}' -> '${o}'`);return{indexSource:u,resolvedDestP:A,indexDest:p}}async appendFilePromise(r,o,a){if(this.readOnly)throw ar.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,o,a)}appendFileSync(r,o,a={}){if(this.readOnly)throw ar.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,o,a)}fdToPath(r,o){let a=this.fds.get(r)?.p;if(typeof a>"u")throw ar.EBADF(o);return a}async writeFilePromise(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([await this.getFileSource(A,{asyncDecompress:!0}),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&await this.chmodPromise(p,u)}writeFileSync(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([this.getFileSource(A),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&this.chmodSync(p,u)}prepareWriteFile(r,o){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw ar.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw ar.EISDIR(`open '${r}'`);let n=null,u=null;typeof o=="string"?n=o:typeof o=="object"&&({encoding:n=null,mode:u=null}=o);let A=this.entries.get(a);return{encoding:n,mode:u,resolvedP:a,index:A}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw ar.EROFS(`unlink '${r}'`);let o=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(o))throw ar.EISDIR(`unlink '${r}'`);let a=this.entries.get(o);if(typeof a>"u")throw ar.EINVAL(`unlink '${r}'`);this.deleteEntry(o,a)}async utimesPromise(r,o,a){return this.utimesSync(r,o,a)}utimesSync(r,o,a){if(this.readOnly)throw ar.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,o,a){return this.lutimesSync(r,o,a)}lutimesSync(r,o,a){if(this.readOnly)throw ar.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,o){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,a,0,lot(o),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(r,o){return this.mkdirSync(r,o)}mkdirSync(r,{mode:o=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:o});if(this.readOnly)throw ar.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw ar.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,o)}async rmdirPromise(r,o){return this.rmdirSync(r,o)}rmdirSync(r,{recursive:o=!1}={}){if(this.readOnly)throw ar.EROFS(`rmdir '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw ar.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw ar.ENOTEMPTY(`rmdir '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw ar.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,u)}hydrateDirectory(r){let o=this.libzip.dir.add(this.zip,V.relative(Bt.root,r));if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(r),this.registerEntry(r,o),o}async linkPromise(r,o){return this.linkSync(r,o)}linkSync(r,o){throw ar.EOPNOTSUPP(`link '${r}' -> '${o}'`)}async symlinkPromise(r,o){return this.symlinkSync(r,o)}symlinkSync(r,o){if(this.readOnly)throw ar.EROFS(`symlink '${r}' -> '${o}'`);let a=this.resolveFilename(`symlink '${r}' -> '${o}'`,o);if(this.listings.has(a))throw ar.EISDIR(`symlink '${r}' -> '${o}'`);if(this.entries.has(a))throw ar.EEXIST(`symlink '${r}' -> '${o}'`);let n=this.setFileSource(a,r);if(this.registerEntry(a,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(ta.constants.S_IFLNK|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return o?a.toString(o):a}readFileSync(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=this.readFileBuffer(r);return o?a.toString(o):a}readFileBuffer(r,o={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw ar.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw ar.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw ar.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,o)}async readdirPromise(r,o){return this.readdirSync(r,o)}readdirSync(r,o){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw ar.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw ar.ENOTDIR(`scandir '${r}'`);if(o?.recursive)if(o?.withFileTypes){let u=Array.from(n,A=>Object.assign(this.statImpl("lstat",V.join(r,A)),{name:A,path:Bt.dot}));for(let A of u){if(!A.isDirectory())continue;let p=V.join(A.path,A.name),h=this.listings.get(V.join(a,p));for(let E of h)u.push(Object.assign(this.statImpl("lstat",V.join(r,p,E)),{name:E,path:p}))}return u}else{let u=[...n];for(let A of u){let p=this.listings.get(V.join(a,A));if(!(typeof p>"u"))for(let h of p)u.push(V.join(A,h))}return u}else return o?.withFileTypes?Array.from(n,u=>Object.assign(this.statImpl("lstat",V.join(r,u)),{name:u,path:void 0})):[...n]}async readlinkPromise(r){let o=this.prepareReadlink(r);return(await this.getFileSource(o,{asyncDecompress:!0})).toString()}readlinkSync(r){let o=this.prepareReadlink(r);return this.getFileSource(o).toString()}prepareReadlink(r){let o=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(o)&&!this.listings.has(o))throw ar.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(o))throw ar.ENOTDIR(`open '${r}'`);if(this.listings.has(o))throw ar.EINVAL(`readlink '${r}'`);let a=this.entries.get(o);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw ar.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw ar.EINVAL(`open '${r}'`);let u=await this.getFileSource(n,{asyncDecompress:!0}),A=Buffer.alloc(o,0);return u.copy(A),await this.writeFilePromise(r,A)}truncateSync(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw ar.EINVAL(`open '${r}'`);let u=this.getFileSource(n),A=Buffer.alloc(o,0);return u.copy(A),this.writeFileSync(r,A)}async ftruncatePromise(r,o){return this.truncatePromise(this.fdToPath(r,"ftruncate"),o)}ftruncateSync(r,o){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),o)}watch(r,o,a){let n;switch(typeof o){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=o);break}if(!n)return{on:()=>{},close:()=>{}};let u=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(u)}}}watchFile(r,o,a){let n=V.resolve(Bt.root,r);return ny(this,n,o,a)}unwatchFile(r,o){let a=V.resolve(Bt.root,r);return Mg(this,a,o)}}});function _le(t,e,r=Buffer.alloc(0),o){let a=new zi(r),n=I=>I===e||I.startsWith(`${e}/`)?I.slice(0,e.length):null,u=async(I,v)=>()=>a,A=(I,v)=>a,p={...t},h=new Tn(p),E=new Hp({baseFs:h,getMountPoint:n,factoryPromise:u,factorySync:A,magicByte:21,maxAge:1/0,typeCheck:o?.typeCheck});return Kw(Ule.default,new qp(E)),a}var Ule,Hle=Et(()=>{St();Ule=$e(ve("fs"));sU()});var qle=Et(()=>{Lle();sU();Hle()});var x1={};Vt(x1,{DEFAULT_COMPRESSION_LEVEL:()=>Mle,LibzipError:()=>Rb,ZipFS:()=>zi,ZipOpenFS:()=>Jl,getArchivePart:()=>rU,getLibzipPromise:()=>uot,getLibzipSync:()=>cot,makeEmptyArchive:()=>Fb,mountMemoryDrive:()=>_le});function cot(){return b1()}async function uot(){return b1()}var jle,nA=Et(()=>{$4();jle=$e(Fle());Nle();qle();Qle(()=>{let t=(0,jle.default)();return Tle(t)})});var RE,Gle=Et(()=>{St();qt();k1();RE=class extends nt{constructor(){super(...arguments);this.cwd=ge.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await TE(r,[],{cwd:ue.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}};RE.usage={description:"run a command using yarn's portable shell",details:` + This command will run a command using Yarn's portable shell. + + Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. + + Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell. + + Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. + + For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. + `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}});var al,Yle=Et(()=>{al=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var Lb={};Vt(Lb,{fastGlobOptions:()=>Vle,isBraceExpansion:()=>oU,isGlobPattern:()=>Aot,match:()=>fot,micromatchOptions:()=>Nb});function Aot(t){if(!Tb.default.scan(t,Nb).isGlob)return!1;try{Tb.default.parse(t,Nb)}catch{return!1}return!0}function fot(t,{cwd:e,baseFs:r}){return(0,Wle.default)(t,{...Vle,cwd:ue.fromPortablePath(e),fs:FD(Kle.default,new qp(r))})}function oU(t){return Tb.default.scan(t,Nb).isBrace}var Wle,Kle,Tb,Nb,Vle,Jle=Et(()=>{St();Wle=$e(RP()),Kle=$e(ve("fs")),Tb=$e(Zo()),Nb={strictBrackets:!0},Vle={onlyDirectories:!1,onlyFiles:!1}});function aU(){}function lU(){for(let t of kd)t.kill()}function $le(t,e,r,o){return a=>{let n=a[0]instanceof iA.Transform?"pipe":a[0],u=a[1]instanceof iA.Transform?"pipe":a[1],A=a[2]instanceof iA.Transform?"pipe":a[2],p=(0,Xle.default)(t,e,{...o,stdio:[n,u,A]});return kd.add(p),kd.size===1&&(process.on("SIGINT",aU),process.on("SIGTERM",lU)),a[0]instanceof iA.Transform&&a[0].pipe(p.stdin),a[1]instanceof iA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof iA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",E=>{switch(kd.delete(p),kd.size===0&&(process.off("SIGINT",aU),process.off("SIGTERM",lU)),E.code){case"ENOENT":a[2].write(`command not found: ${t} +`),h(127);break;case"EACCES":a[2].write(`permission denied: ${t} +`),h(128);break;default:a[2].write(`uncaught error: ${E.message} +`),h(1);break}}),p.on("close",E=>{kd.delete(p),kd.size===0&&(process.off("SIGINT",aU),process.off("SIGTERM",lU)),h(E!==null?E:129)})})}}}function ece(t){return e=>{let r=e[0]==="pipe"?new iA.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function Ob(t,e){return NE.start(t,e)}function zle(t,e=null){let r=new iA.PassThrough,o=new Zle.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` +`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",t(e!==null?`${e} ${p}`:p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function tce(t,{prefix:e}){return{stdout:zle(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:zle(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var Xle,iA,Zle,kd,zl,cU,NE,uU=Et(()=>{Xle=$e(sT()),iA=ve("stream"),Zle=ve("string_decoder"),kd=new Set;zl=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},cU=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}},NE=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:o,stderr:a}){let n=new NE(null,e);return n.stdin=r,n.stdout=o,n.stderr=a,n}pipeTo(e,r=1){let o=new NE(this,e),a=new cU;return o.pipe=a,o.stdout=this.stdout,o.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),o}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 r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let o;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");o=this.stderr,e[2]=o.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),o.close(),n))}async run(){let e=[];for(let o=this;o;o=o.ancestor)e.push(o.exec());return(await Promise.all(e))[0]}}});var T1={};Vt(T1,{EntryCommand:()=>RE,ShellError:()=>al,execute:()=>TE,globUtils:()=>Lb});function rce(t,e,r){let o=new ll.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(o,{end:!1}),(e&2)===2&&r.stdin instanceof ll.Writable&&o.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stderr,{end:!1});break;default:throw new al(`Bad file descriptor: "${t}"`)}return o}function Ub(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function hot(t,e,r){let o=[],a=new ll.PassThrough;return a.on("data",n=>o.push(n)),await _b(t,e,Ub(r,{stdout:a})),Buffer.concat(o).toString().replace(/[\r\n]+$/,"")}async function nce(t,e,r){let o=t.map(async n=>{let u=await Qd(n.args,e,r);return{name:n.name,value:u.join(" ")}});return(await Promise.all(o)).reduce((n,u)=>(n[u.name]=u.value,n),{})}function Mb(t){return t.match(/[^ \r\n\t]+/g)||[]}async function cce(t,e,r,o,a=o){switch(t.name){case"$":o(String(process.pid));break;case"#":o(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let u=Mb(n);for(let A=0;A=0&&n"u"&&(t.defaultValue?u=(await Qd(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(u="")),typeof u>"u")throw A?new al(`Unbound argument #${n}`):new al(`Unbound variable "${t.name}"`);if(t.quoted)o(u);else{let p=Mb(u);for(let E=0;Eo.push(n));let a=Number(o.join(" "));return Number.isNaN(a)?Q1({type:"variable",name:o.join(" ")},e,r):Q1({type:"number",value:a},e,r)}else return got[t.type](await Q1(t.left,e,r),await Q1(t.right,e,r))}async function Qd(t,e,r){let o=new Map,a=[],n=[],u=E=>{n.push(E)},A=()=>{n.length>0&&a.push(n.join("")),n=[]},p=E=>{u(E),A()},h=(E,I,v)=>{let x=JSON.stringify({type:E,fd:I}),C=o.get(x);typeof C>"u"&&o.set(x,C=[]),C.push(v)};for(let E of t){let I=!1;switch(E.type){case"redirection":{let v=await Qd(E.args,e,r);for(let x of v)h(E.subtype,E.fd,x)}break;case"argument":for(let v of E.segments)switch(v.type){case"text":u(v.text);break;case"glob":u(v.pattern),I=!0;break;case"shell":{let x=await hot(v.shell,e,r);if(v.quoted)u(x);else{let C=Mb(x);for(let R=0;R"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let x=await e.glob.match(v,{cwd:r.cwd,baseFs:e.baseFs});if(x.length===0){let C=oU(v)?". 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 al(`No matches found: "${v}"${C}`)}for(let C of x.sort())p(C)}}if(o.size>0){let E=[];for(let[I,v]of o.entries())E.splice(E.length,0,I,String(v.length),...v);a.splice(0,0,"__ysh_set_redirects",...E,"--")}return a}function F1(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let o=ue.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:o});let[n,...u]=t;if(n==="command")return $le(u[0],u.slice(1),e,{cwd:o,env:a});let A=e.builtins.get(n);if(typeof A>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return ece(async({stdin:p,stdout:h,stderr:E})=>{let{stdin:I,stdout:v,stderr:x}=r;r.stdin=p,r.stdout=h,r.stderr=E;try{return await A(u,e,r)}finally{r.stdin=I,r.stdout=v,r.stderr=x}})}function dot(t,e,r){return o=>{let a=new ll.PassThrough,n=_b(t,e,Ub(r,{stdin:a}));return{stdin:a,promise:n}}}function mot(t,e,r){return o=>{let a=new ll.PassThrough,n=_b(t,e,r);return{stdin:a,promise:n}}}function ice(t,e,r,o){if(e.length===0)return t;{let a;do a=String(Math.random());while(Object.hasOwn(o.procedures,a));return o.procedures={...o.procedures},o.procedures[a]=t,F1([...e,"__ysh_run_procedure",a],r,o)}}async function sce(t,e,r){let o=t,a=null,n=null;for(;o;){let u=o.then?{...r}:r,A;switch(o.type){case"command":{let p=await Qd(o.args,e,r),h=await nce(o.envs,e,r);A=o.envs.length?F1(p,e,Ub(u,{environment:h})):F1(p,e,u)}break;case"subshell":{let p=await Qd(o.args,e,r),h=dot(o.subshell,e,u);A=ice(h,p,e,u)}break;case"group":{let p=await Qd(o.args,e,r),h=mot(o.group,e,u);A=ice(h,p,e,u)}break;case"envs":{let p=await nce(o.envs,e,r);u.environment={...u.environment,...p},A=F1(["true"],e,u)}break}if(typeof A>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=Ob(A,{stdin:new zl(u.stdin),stdout:new zl(u.stdout),stderr:new zl(u.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(A,1);break;case"|&":n=n.pipeTo(A,3);break}}o.then?(a=o.then.type,o=o.then.chain):o=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function yot(t,e,r,{background:o=!1}={}){function a(n){let u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[n%u.length];return oce.default.hex(A)}if(o){let n=r.nextBackgroundJobIndex++,u=a(n),A=`[${n}]`,p=u(A),{stdout:h,stderr:E}=tce(r,{prefix:p});return r.backgroundJobs.push(sce(t,e,Ub(r,{stdout:h,stderr:E})).catch(I=>E.write(`${I.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${u(uy(t))}' has ended +`)})),0}return await sce(t,e,r)}async function Eot(t,e,r,{background:o=!1}={}){let a,n=A=>{a=A,r.variables["?"]=String(A)},u=async A=>{try{return await yot(A.chain,e,r,{background:o&&typeof A.then>"u"})}catch(p){if(!(p instanceof al))throw p;return r.stderr.write(`${p.message} +`),1}};for(n(await u(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await u(t.then.line));break;case"||":a!==0&&n(await u(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function _b(t,e,r){let o=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:u}of t){if(a=await Eot(n,e,r,{background:u==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=o,a}function uce(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>R1(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>R1(e));case"arithmetic":return AU(t.arithmetic);case"shell":return fU(t.shell);default:return!1}}function R1(t){switch(t.type){case"redirection":return t.args.some(e=>R1(e));case"argument":return t.segments.some(e=>uce(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function AU(t){switch(t.type){case"variable":return uce(t);case"number":return!1;default:return AU(t.left)||AU(t.right)}}function fU(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let o;switch(r.type){case"subshell":o=fU(r.subshell);break;case"command":o=r.envs.some(a=>a.args.some(n=>R1(n)))||r.args.some(a=>R1(a));break}if(o)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function TE(t,e=[],{baseFs:r=new Tn,builtins:o={},cwd:a=ue.toPortablePath(process.cwd()),env:n=process.env,stdin:u=process.stdin,stdout:A=process.stdout,stderr:p=process.stderr,variables:h={},glob:E=Lb}={}){let I={};for(let[C,R]of Object.entries(n))typeof R<"u"&&(I[C]=R);let v=new Map(pot);for(let[C,R]of Object.entries(o))v.set(C,R);u===null&&(u=new ll.PassThrough,u.end());let x=ND(t,E);if(!fU(x)&&x.length>0&&e.length>0){let{command:C}=x[x.length-1];for(;C.then;)C=C.then.line;let R=C.chain;for(;R.then;)R=R.then.chain;R.type==="command"&&(R.args=R.args.concat(e.map(L=>({type:"argument",segments:[{type:"text",text:L}]}))))}return await _b(x,{args:e,baseFs:r,builtins:v,initialStdin:u,initialStdout:A,initialStderr:p,glob:E},{cwd:a,environment:I,exitCode:null,procedures:{},stdin:u,stdout:A,stderr:p,variables:Object.assign({},h,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var oce,ace,ll,lce,pot,got,k1=Et(()=>{St();Nl();oce=$e(IN()),ace=ve("os"),ll=ve("stream"),lce=ve("timers/promises");Gle();Yle();Jle();uU();uU();pot=new Map([["cd",async([t=(0,ace.homedir)(),...e],r,o)=>{let a=V.resolve(o.cwd,ue.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(u=>{throw u.code==="ENOENT"?new al(`cd: no such file or directory: ${t}`):u})).isDirectory())throw new al(`cd: not a directory: ${t}`);return o.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${ue.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,o)=>o.exitCode=parseInt(t??o.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new al("sleep: missing operand");let o=Number(t);if(Number.isNaN(o))throw new al(`sleep: invalid time interval '${t}'`);return await(0,lce.setTimeout)(1e3*o,0)}],["__ysh_run_procedure",async(t,e,r)=>{let o=r.procedures[t[0]];return await Ob(o,{stdin:new zl(r.stdin),stdout:new zl(r.stdout),stderr:new zl(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let o=r.stdin,a=r.stdout,n=r.stderr,u=[],A=[],p=[],h=0;for(;t[h]!=="--";){let I=t[h++],{type:v,fd:x}=JSON.parse(I),C=J=>{switch(x){case null:case 0:u.push(J);break;default:throw new Error(`Unsupported file descriptor: "${x}"`)}},R=J=>{switch(x){case null:case 1:A.push(J);break;case 2:p.push(J);break;default:throw new Error(`Unsupported file descriptor: "${x}"`)}},L=Number(t[h++]),U=h+L;for(let J=h;Je.baseFs.createReadStream(V.resolve(r.cwd,ue.toPortablePath(t[J]))));break;case"<<<":C(()=>{let te=new ll.PassThrough;return process.nextTick(()=>{te.write(`${t[J]} +`),te.end()}),te});break;case"<&":C(()=>rce(Number(t[J]),1,r));break;case">":case">>":{let te=V.resolve(r.cwd,ue.toPortablePath(t[J]));R(te==="/dev/null"?new ll.Writable({autoDestroy:!0,emitClose:!0,write(ae,fe,ce){setImmediate(ce)}}):e.baseFs.createWriteStream(te,v===">>"?{flags:"a"}:void 0))}break;case">&":R(rce(Number(t[J]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${v}"`)}}if(u.length>0){let I=new ll.PassThrough;o=I;let v=x=>{if(x===u.length)I.end();else{let C=u[x]();C.pipe(I,{end:!1}),C.on("end",()=>{v(x+1)})}};v(0)}if(A.length>0){let I=new ll.PassThrough;a=I;for(let v of A)I.pipe(v)}if(p.length>0){let I=new ll.PassThrough;n=I;for(let v of p)I.pipe(v)}let E=await Ob(F1(t.slice(h+1),e,r),{stdin:new zl(o),stdout:new zl(a),stderr:new zl(n)}).run();return await Promise.all(A.map(I=>new Promise((v,x)=>{I.on("error",C=>{x(C)}),I.on("close",()=>{v()}),I.end()}))),await Promise.all(p.map(I=>new Promise((v,x)=>{I.on("error",C=>{x(C)}),I.on("close",()=>{v()}),I.end()}))),E}]]);got={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var Hb=_((r4t,Ace)=>{function Cot(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r{var fce=pd(),wot=Hb(),Iot=Hl(),Bot=pE(),vot=1/0,pce=fce?fce.prototype:void 0,hce=pce?pce.toString:void 0;function gce(t){if(typeof t=="string")return t;if(Iot(t))return wot(t,gce)+"";if(Bot(t))return hce?hce.call(t):"";var e=t+"";return e=="0"&&1/t==-vot?"-0":e}dce.exports=gce});var N1=_((i4t,yce)=>{var Dot=mce();function Sot(t){return t==null?"":Dot(t)}yce.exports=Sot});var pU=_((s4t,Ece)=>{function Pot(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++o{var bot=pU();function xot(t,e,r){var o=t.length;return r=r===void 0?o:r,!e&&r>=o?t:bot(t,e,r)}Cce.exports=xot});var hU=_((a4t,Ice)=>{var kot="\\ud800-\\udfff",Qot="\\u0300-\\u036f",Fot="\\ufe20-\\ufe2f",Rot="\\u20d0-\\u20ff",Tot=Qot+Fot+Rot,Not="\\ufe0e\\ufe0f",Lot="\\u200d",Oot=RegExp("["+Lot+kot+Tot+Not+"]");function Mot(t){return Oot.test(t)}Ice.exports=Mot});var vce=_((l4t,Bce)=>{function Uot(t){return t.split("")}Bce.exports=Uot});var Fce=_((c4t,Qce)=>{var Dce="\\ud800-\\udfff",_ot="\\u0300-\\u036f",Hot="\\ufe20-\\ufe2f",qot="\\u20d0-\\u20ff",jot=_ot+Hot+qot,Got="\\ufe0e\\ufe0f",Yot="["+Dce+"]",gU="["+jot+"]",dU="\\ud83c[\\udffb-\\udfff]",Wot="(?:"+gU+"|"+dU+")",Sce="[^"+Dce+"]",Pce="(?:\\ud83c[\\udde6-\\uddff]){2}",bce="[\\ud800-\\udbff][\\udc00-\\udfff]",Kot="\\u200d",xce=Wot+"?",kce="["+Got+"]?",Vot="(?:"+Kot+"(?:"+[Sce,Pce,bce].join("|")+")"+kce+xce+")*",Jot=kce+xce+Vot,zot="(?:"+[Sce+gU+"?",gU,Pce,bce,Yot].join("|")+")",Xot=RegExp(dU+"(?="+dU+")|"+zot+Jot,"g");function Zot(t){return t.match(Xot)||[]}Qce.exports=Zot});var Tce=_((u4t,Rce)=>{var $ot=vce(),eat=hU(),tat=Fce();function rat(t){return eat(t)?tat(t):$ot(t)}Rce.exports=rat});var Lce=_((A4t,Nce)=>{var nat=wce(),iat=hU(),sat=Tce(),oat=N1();function aat(t){return function(e){e=oat(e);var r=iat(e)?sat(e):void 0,o=r?r[0]:e.charAt(0),a=r?nat(r,1).join(""):e.slice(1);return o[t]()+a}}Nce.exports=aat});var Mce=_((f4t,Oce)=>{var lat=Lce(),cat=lat("toUpperCase");Oce.exports=cat});var mU=_((p4t,Uce)=>{var uat=N1(),Aat=Mce();function fat(t){return Aat(uat(t).toLowerCase())}Uce.exports=fat});var _ce=_((h4t,qb)=>{function pat(){var t=0,e=1,r=2,o=3,a=4,n=5,u=6,A=7,p=8,h=9,E=10,I=11,v=12,x=13,C=14,R=15,L=16,U=17,J=0,te=1,ae=2,fe=3,ce=4;function me(g,Ee){return 55296<=g.charCodeAt(Ee)&&g.charCodeAt(Ee)<=56319&&56320<=g.charCodeAt(Ee+1)&&g.charCodeAt(Ee+1)<=57343}function he(g,Ee){Ee===void 0&&(Ee=0);var Se=g.charCodeAt(Ee);if(55296<=Se&&Se<=56319&&Ee=1){var le=g.charCodeAt(Ee-1),ne=Se;return 55296<=le&&le<=56319?(le-55296)*1024+(ne-56320)+65536:ne}return Se}function Be(g,Ee,Se){var le=[g].concat(Ee).concat([Se]),ne=le[le.length-2],ee=Se,Ie=le.lastIndexOf(C);if(Ie>1&&le.slice(1,Ie).every(function(H){return H==o})&&[o,x,U].indexOf(g)==-1)return ae;var Fe=le.lastIndexOf(a);if(Fe>0&&le.slice(1,Fe).every(function(H){return H==a})&&[v,a].indexOf(ne)==-1)return le.filter(function(H){return H==a}).length%2==1?fe:ce;if(ne==t&&ee==e)return J;if(ne==r||ne==t||ne==e)return ee==C&&Ee.every(function(H){return H==o})?ae:te;if(ee==r||ee==t||ee==e)return te;if(ne==u&&(ee==u||ee==A||ee==h||ee==E))return J;if((ne==h||ne==A)&&(ee==A||ee==p))return J;if((ne==E||ne==p)&&ee==p)return J;if(ee==o||ee==R)return J;if(ee==n)return J;if(ne==v)return J;var At=le.indexOf(o)!=-1?le.lastIndexOf(o)-1:le.length-2;return[x,U].indexOf(le[At])!=-1&&le.slice(At+1,-1).every(function(H){return H==o})&&ee==C||ne==R&&[L,U].indexOf(ee)!=-1?J:Ee.indexOf(a)!=-1?ae:ne==a&&ee==a?J:te}this.nextBreak=function(g,Ee){if(Ee===void 0&&(Ee=0),Ee<0)return 0;if(Ee>=g.length-1)return g.length;for(var Se=we(he(g,Ee)),le=[],ne=Ee+1;ne{var hat=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,jb;function gat(){if(jb)return jb;if(typeof Intl.Segmenter<"u"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return jb=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=_ce(),e=new t;return jb=r=>e.splitGraphemes(r)}}Hce.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let o=r-e,a="",n=0,u=0;for(;t.length>0;){let A=t.match(hat)||[t,t,void 0],p=gat()(A[1]),h=Math.min(e-n,p.length);p=p.slice(h);let E=Math.min(o-u,p.length);a+=p.slice(0,E).join(""),n+=h,u+=E,typeof A[2]<"u"&&(a+=A[2]),t=t.slice(A[0].length)}return a}});var rn,L1=Et(()=>{rn=process.env.YARN_IS_TEST_ENV?"0.0.0":"4.1.1"});function Vce(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let a=Wu(t===null?0:t);return!r&&t===null?Mt(e,a,"grey"):a}function yU(t,{configuration:e,json:r}){let o=Vce(t,{configuration:e,json:r});if(!o||t===null||t===0)return o;let a=wr[t],n=`https://yarnpkg.com/advanced/error-codes#${o}---${a}`.toLowerCase();return Zy(e,o,n)}async function LE({configuration:t,stdout:e,forceError:r},o){let a=await Nt.start({configuration:t,stdout:e,includeFooter:!1},async n=>{let u=!1,A=!1;for(let p of o)typeof p.option<"u"&&(p.error||r?(A=!0,n.reportError(50,p.message)):(u=!0,n.reportWarning(50,p.message)),p.callback?.());u&&!A&&n.reportSeparator()});return a.hasErrors()?a.exitCode():null}var Wce,Gb,dat,jce,Gce,Ah,Kce,Yce,mat,yat,Yb,Eat,Nt,O1=Et(()=>{Wce=$e(qce()),Gb=$e(td());fS();Yl();L1();jl();dat="\xB7",jce=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Gce=80,Ah=Gb.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:Gb.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:Gb.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,Kce=Ah!==null,Yce=new Date,mat=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,yat=t=>t,Yb=yat({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}}),Eat=mat&&Object.keys(Yb).find(t=>{let e=Yb[t];return!(e.date&&(e.date[0]!==Yce.getDate()||e.date[1]!==Yce.getMonth()+1))})||"default";Nt=class extends Xs{constructor({configuration:r,stdout:o,json:a=!1,forceSectionAlignment:n=!1,includeNames:u=!0,includePrefix:A=!0,includeFooter:p=!0,includeLogs:h=!a,includeInfos:E=h,includeWarnings:I=h}){super();this.uncommitted=new Set;this.warningCount=0;this.errorCount=0;this.timerFooter=[];this.startTime=Date.now();this.indent=0;this.level=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;if(XI(this,{configuration:r}),this.configuration=r,this.forceSectionAlignment=n,this.includeNames=u,this.includePrefix=A,this.includeFooter=p,this.includeInfos=E,this.includeWarnings=I,this.json=a,this.stdout=o,r.get("enableProgressBars")&&!a&&o.isTTY&&o.columns>22){let v=r.get("progressBarStyle")||Eat;if(!Object.hasOwn(Yb,v))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Yb[v];let x=Math.min(this.getRecommendedLength(),80);this.progressMaxScaledSize=Math.floor(this.progressStyle.size*x/80)}}static async start(r,o){let a=new this(r),n=process.emitWarning;process.emitWarning=(u,A)=>{if(typeof u!="string"){let h=u;u=h.message,A=A??h.name}let p=typeof A<"u"?`${A}: ${u}`:u;a.reportWarning(0,p)},r.includeVersion&&a.reportInfo(0,yd(r.configuration,`Yarn ${rn}`,2));try{await o(a)}catch(u){a.reportExceptionOnce(u)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}getRecommendedLength(){let o=this.progressStyle!==null?this.stdout.columns-1:super.getRecommendedLength();return Math.max(40,o-12-this.indent*2)}startSectionSync({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}async startSectionPromise({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}startTimerImpl(r,o,a){return{cb:typeof o=="function"?o:a,reportHeader:()=>{this.level+=1,this.reportInfo(null,`\u250C ${r}`),this.indent+=1,Ah!==null&&!this.json&&this.includeInfos&&this.stdout.write(Ah.start(r))},reportFooter:A=>{if(this.indent-=1,Ah!==null&&!this.json&&this.includeInfos){this.stdout.write(Ah.end(r));for(let p of this.timerFooter)p()}this.configuration.get("enableTimers")&&A>200?this.reportInfo(null,`\u2514 Completed in ${Mt(this.configuration,A,yt.DURATION)}`):this.reportInfo(null,"\u2514 Completed"),this.level-=1},skipIfEmpty:(typeof o=="function"?{}:o).skipIfEmpty}}startTimerSync(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionSync(u,n)}async startTimerPromise(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionPromise(u,n)}reportSeparator(){this.indent===0?this.writeLine(""):this.reportInfo(null,"")}reportInfo(r,o){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",u=`${this.formatPrefix(n,"blueBright")}${o}`;this.json?this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(u)}reportWarning(r,o){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"yellowBright")}${o}`)}reportError(r,o){this.errorCount+=1,this.timerFooter.push(()=>this.reportErrorImpl(r,o)),this.reportErrorImpl(r,o)}reportErrorImpl(r,o){this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"redBright")}${o}`,{truncate:!1})}reportFold(r,o){if(!Ah)return;let a=`${Ah.start(r)}${o}${Ah.end(r)}`;this.timerFooter.push(()=>this.stdout.write(a))}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let o=!1,a=Promise.resolve().then(async()=>{let u={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:u,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:A,title:p}of r)o||u.progress===A&&u.title===p||(u.progress=A,u.title=p,this.refreshProgress());n()}),n=()=>{o||(o=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLine(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let o=Mt(this.configuration,Date.now()-this.startTime,yt.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${o}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:o}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:o})} +`),this.writeProgress()}writeLines(r,{truncate:o}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:o})} +`);this.writeProgress()}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let o of r)o.committed=!0,o.action()}clearProgress({delta:r=0,clear:o=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||o)&&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 r=Date.now();r-this.progressTime>Gce&&(this.progressFrame=(this.progressFrame+1)%jce.length,this.progressTime=r);let o=jce[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),E=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${E}`}let u=this.formatName(null),A=u?`${u}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${Mt(this.configuration,"\u27A4","blueBright")} ${A}${o}${n}${p} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},Gce)}refreshProgress({delta:r=0,force:o=!1}={}){let a=!1,n=!1;if(o||this.progress.size===0)a=!0;else for(let u of this.progress.values()){let A=typeof u.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*u.definition.progress):void 0,p=u.lastScaledSize;u.lastScaledSize=A;let h=u.lastTitle;if(u.lastTitle=u.definition.title,A!==p||(n=h!==u.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:o}={}){return this.progressStyle===null&&(o=!1),typeof o>"u"&&(o=this.configuration.get("preferTruncatedLines")),o&&(r=(0,Wce.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?Vce(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,o){return this.includePrefix?`${Mt(this.configuration,"\u27A4",o)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?yU(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return this.level>0||!this.forceSectionAlignment?"\u2502 ".repeat(this.indent):`${dat} `}}});var un={};Vt(un,{PackageManager:()=>Xce,detectPackageManager:()=>Zce,executePackageAccessibleBinary:()=>nue,executePackageScript:()=>Wb,executePackageShellcode:()=>EU,executeWorkspaceAccessibleBinary:()=>Sat,executeWorkspaceLifecycleScript:()=>tue,executeWorkspaceScript:()=>eue,getPackageAccessibleBinaries:()=>Kb,getWorkspaceAccessibleBinaries:()=>rue,hasPackageScript:()=>Bat,hasWorkspaceScript:()=>CU,isNodeScript:()=>wU,makeScriptEnv:()=>M1,maybeExecuteWorkspaceLifecycleScript:()=>Dat,prepareExternalProject:()=>Iat});async function fh(t,e,r,o=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${o.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await oe.writeFilePromise(V.format({dir:t,name:e,ext:".cmd"}),a)}await oe.writeFilePromise(V.join(t,e),`#!/bin/sh +exec "${r}" ${o.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function Zce(t){let e=await Ot.tryFind(t);if(e?.packageManager){let o=UP(e.packageManager);if(o?.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=o.reference.split(".");switch(o.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await oe.readFilePromise(V.join(t,dr.lockfile),"utf8")}catch{}return r!==void 0?r.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'}:oe.existsSync(V.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:oe.existsSync(V.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function M1({project:t,locator:e,binFolder:r,ignoreCorepack:o,lifecycleScript:a,baseEnv:n=t?.configuration.env??process.env}){let u={};for(let[E,I]of Object.entries(n))typeof I<"u"&&(u[E.toLowerCase()!=="path"?E:"PATH"]=I);let A=ue.fromPortablePath(r);u.BERRY_BIN_FOLDER=ue.fromPortablePath(A);let p=process.env.COREPACK_ROOT&&!o?ue.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([fh(r,"node",process.execPath),...rn!==null?[fh(r,"run",process.execPath,[p,"run"]),fh(r,"yarn",process.execPath,[p]),fh(r,"yarnpkg",process.execPath,[p]),fh(r,"node-gyp",process.execPath,[p,"run","--top-level","node-gyp"])]:[]]),t&&(u.INIT_CWD=ue.fromPortablePath(t.configuration.startingCwd),u.PROJECT_CWD=ue.fromPortablePath(t.cwd)),u.PATH=u.PATH?`${A}${ue.delimiter}${u.PATH}`:`${A}`,u.npm_execpath=`${A}${ue.sep}yarn`,u.npm_node_execpath=`${A}${ue.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let E=t.tryWorkspaceByLocator(e),I=E?E.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";u.npm_package_name=fn(e),u.npm_package_version=I;let v;if(E)v=E.cwd;else{let x=t.storedPackages.get(e.locatorHash);if(!x)throw new Error(`Package for ${qr(t.configuration,e)} not found in the project`);let C=t.configuration.getLinkers(),R={project:t,report:new Nt({stdout:new ph.PassThrough,configuration:t.configuration})},L=C.find(U=>U.supportsPackage(x,R));if(!L)throw new Error(`The package ${qr(t.configuration,x)} isn't supported by any of the available linkers`);v=await L.findPackageLocation(x,R)}u.npm_package_json=ue.fromPortablePath(V.join(v,dr.manifest))}let h=rn!==null?`yarn/${rn}`:`yarn/${Df("@yarnpkg/core").version}-core`;return u.npm_config_user_agent=`${h} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(u.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(E=>E.setupScriptEnvironment,t,u,async(E,I,v)=>await fh(r,E,I,v)),u}async function Iat(t,e,{configuration:r,report:o,workspace:a=null,locator:n=null}){await wat(async()=>{await oe.mktempPromise(async u=>{let A=V.join(u,"pack.log"),p=null,{stdout:h,stderr:E}=r.getSubprocessStreams(A,{prefix:ue.fromPortablePath(t),report:o}),I=n&&Hc(n)?r1(n):n,v=I?ba(I):"an external project";h.write(`Packing ${v} from sources +`);let x=await Zce(t),C;x!==null?(h.write(`Using ${x.packageManager} for bootstrap. Reason: ${x.reason} + +`),C=x.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn + +`),C="Yarn");let R=C==="Yarn"&&!x?.packageManagerField;await oe.mktempPromise(async L=>{let U=await M1({binFolder:L,ignoreCorepack:R}),te=new Map([["Yarn Classic",async()=>{let fe=a!==null?["workspace",a]:[],ce=V.join(t,dr.manifest),me=await oe.readFilePromise(ce),he=await Gc(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(he.code!==0)return he.code;await oe.writeFilePromise(ce,me),await oe.appendFilePromise(V.join(t,".npmignore"),`/.yarn +`),h.write(` +`),delete U.NODE_ENV;let Be=await Gc("yarn",["install"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(Be.code!==0)return Be.code;h.write(` +`);let we=await Gc("yarn",[...fe,"pack","--filename",ue.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return we.code!==0?we.code:0}],["Yarn",async()=>{let fe=a!==null?["workspace",a]:[];U.YARN_ENABLE_INLINE_BUILDS="1";let ce=V.join(t,dr.lockfile);await oe.existsPromise(ce)||await oe.writeFilePromise(ce,"");let me=await Gc("yarn",[...fe,"pack","--install-if-needed","--filename",ue.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return me.code!==0?me.code:0}],["npm",async()=>{if(a!==null){let Ee=new ph.PassThrough,Se=Vy(Ee);Ee.pipe(h,{end:!1});let le=await Gc("npm",["--version"],{cwd:t,env:U,stdin:p,stdout:Ee,stderr:E,end:0});if(Ee.end(),le.code!==0)return h.end(),E.end(),le.code;let ne=(await Se).toString().trim();if(!kf(ne,">=7.x")){let ee=eA(null,"npm"),Ie=In(ee,ne),Fe=In(ee,">=7.x");throw new Error(`Workspaces aren't supported by ${jn(r,Ie)}; please upgrade to ${jn(r,Fe)} (npm has been detected as the primary package manager for ${Mt(r,t,yt.PATH)})`)}}let fe=a!==null?["--workspace",a]:[];delete U.npm_config_user_agent,delete U.npm_config_production,delete U.NPM_CONFIG_PRODUCTION,delete U.NODE_ENV;let ce=await Gc("npm",["install","--legacy-peer-deps"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(ce.code!==0)return ce.code;let me=new ph.PassThrough,he=Vy(me);me.pipe(h);let Be=await Gc("npm",["pack","--silent",...fe],{cwd:t,env:U,stdin:p,stdout:me,stderr:E});if(Be.code!==0)return Be.code;let we=(await he).toString().trim().replace(/^.*\n/s,""),g=V.resolve(t,ue.toPortablePath(we));return await oe.renamePromise(g,e),0}]]).get(C);if(typeof te>"u")throw new Error("Assertion failed: Unsupported workflow");let ae=await te();if(!(ae===0||typeof ae>"u"))throw oe.detachTemp(u),new zt(58,`Packing the package failed (exit code ${ae}, logs can be found here: ${Mt(r,A,yt.PATH)})`)})})})}async function Bat(t,e,{project:r}){let o=r.tryWorkspaceByLocator(t);if(o!==null)return CU(o,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${qr(r.configuration,t)} not found in the project`);return await Jl.openPromise(async n=>{let u=r.configuration,A=r.configuration.getLinkers(),p={project:r,report:new Nt({stdout:new ph.PassThrough,configuration:u})},h=A.find(x=>x.supportsPackage(a,p));if(!h)throw new Error(`The package ${qr(r.configuration,a)} isn't supported by any of the available linkers`);let E=await h.findPackageLocation(a,p),I=new gn(E,{baseFs:n});return(await Ot.find(Bt.dot,{baseFs:I})).scripts.has(e)})}async function Wb(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await oe.mktempPromise(async p=>{let{manifest:h,env:E,cwd:I}=await $ce(t,{project:a,binFolder:p,cwd:o,lifecycleScript:e}),v=h.scripts.get(e);if(typeof v>"u")return 1;let x=async()=>await TE(v,r,{cwd:I,env:E,stdin:n,stdout:u,stderr:A});return await(await a.configuration.reduceHook(R=>R.wrapScriptExecution,x,a,t,e,{script:v,args:r,cwd:I,env:E,stdin:n,stdout:u,stderr:A}))()})}async function EU(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await oe.mktempPromise(async p=>{let{env:h,cwd:E}=await $ce(t,{project:a,binFolder:p,cwd:o});return await TE(e,r,{cwd:E,env:h,stdin:n,stdout:u,stderr:A})})}async function vat(t,{binFolder:e,cwd:r,lifecycleScript:o}){let a=await M1({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:o});return await IU(e,await rue(t)),typeof r>"u"&&(r=V.dirname(await oe.realpathPromise(V.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function $ce(t,{project:e,binFolder:r,cwd:o,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return vat(n,{binFolder:r,cwd:o,lifecycleScript:a});let u=e.storedPackages.get(t.locatorHash);if(!u)throw new Error(`Package for ${qr(e.configuration,t)} not found in the project`);return await Jl.openPromise(async A=>{let p=e.configuration,h=e.configuration.getLinkers(),E={project:e,report:new Nt({stdout:new ph.PassThrough,configuration:p})},I=h.find(L=>L.supportsPackage(u,E));if(!I)throw new Error(`The package ${qr(e.configuration,u)} isn't supported by any of the available linkers`);let v=await M1({project:e,locator:t,binFolder:r,lifecycleScript:a});await IU(r,await Kb(t,{project:e}));let x=await I.findPackageLocation(u,E),C=new gn(x,{baseFs:A}),R=await Ot.find(Bt.dot,{baseFs:C});return typeof o>"u"&&(o=x),{manifest:R,binFolder:r,env:v,cwd:o}})}async function eue(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u}){return await Wb(t.anchoredLocator,e,r,{cwd:o,project:t.project,stdin:a,stdout:n,stderr:u})}function CU(t,e){return t.manifest.scripts.has(e)}async function tue(t,e,{cwd:r,report:o}){let{configuration:a}=t.project,n=null;await oe.mktempPromise(async u=>{let A=V.join(u,`${e}.log`),p=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${ue.fromPortablePath(t.cwd)}") +`,{stdout:h,stderr:E}=a.getSubprocessStreams(A,{report:o,prefix:qr(a,t.anchoredLocator),header:p});o.reportInfo(36,`Calling the "${e}" lifecycle script`);let I=await eue(t,e,[],{cwd:r,stdin:n,stdout:h,stderr:E});if(h.end(),E.end(),I!==0)throw oe.detachTemp(u),new zt(36,`${(0,Jce.default)(e)} script failed (exit code ${Mt(a,I,yt.NUMBER)}, logs can be found here: ${Mt(a,A,yt.PATH)}); run ${Mt(a,`yarn ${e}`,yt.CODE)} to investigate`)})}async function Dat(t,e,r){CU(t,e)&&await tue(t,e,r)}function wU(t){let e=V.extname(t);if(e.match(/\.[cm]?[jt]sx?$/))return!0;if(e===".exe"||e===".bin")return!1;let r=Buffer.alloc(4),o;try{o=oe.openSync(t,"r")}catch{return!0}try{oe.readSync(o,r,0,r.length,0)}finally{oe.closeSync(o)}let a=r.readUint32BE();return!(a===3405691582||a===3489328638||a===2135247942||(a&4294901760)===1297743872)}async function Kb(t,{project:e}){let r=e.configuration,o=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${qr(r,t)} not found in the project`);let n=new ph.Writable,u=r.getLinkers(),A={project:e,report:new Nt({configuration:r,stdout:n})},p=new Set([t.locatorHash]);for(let E of a.dependencies.values()){let I=e.storedResolutions.get(E.descriptorHash);if(!I)throw new Error(`Assertion failed: The resolution (${jn(r,E)}) should have been registered`);p.add(I)}let h=await Promise.all(Array.from(p,async E=>{let I=e.storedPackages.get(E);if(!I)throw new Error(`Assertion failed: The package (${E}) should have been registered`);if(I.bin.size===0)return sl.skip;let v=u.find(C=>C.supportsPackage(I,A));if(!v)return sl.skip;let x=null;try{x=await v.findPackageLocation(I,A)}catch(C){if(C.code==="LOCATOR_NOT_INSTALLED")return sl.skip;throw C}return{dependency:I,packageLocation:x}}));for(let E of h){if(E===sl.skip)continue;let{dependency:I,packageLocation:v}=E;for(let[x,C]of I.bin){let R=V.resolve(v,C);o.set(x,[I,ue.fromPortablePath(R),wU(R)])}}return o}async function rue(t){return await Kb(t.anchoredLocator,{project:t.project})}async function IU(t,e){await Promise.all(Array.from(e,([r,[,o,a]])=>a?fh(t,r,process.execPath,[o]):fh(t,r,o,[])))}async function nue(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A,nodeArgs:p=[],packageAccessibleBinaries:h}){h??=await Kb(t,{project:a});let E=h.get(e);if(!E)throw new Error(`Binary not found (${e}) for ${qr(a.configuration,t)}`);return await oe.mktempPromise(async I=>{let[,v]=E,x=await M1({project:a,locator:t,binFolder:I});await IU(x.BERRY_BIN_FOLDER,h);let C=wU(ue.toPortablePath(v))?Gc(process.execPath,[...p,v,...r],{cwd:o,env:x,stdin:n,stdout:u,stderr:A}):Gc(v,r,{cwd:o,env:x,stdin:n,stdout:u,stderr:A}),R;try{R=await C}finally{await oe.removePromise(x.BERRY_BIN_FOLDER)}return R.code})}async function Sat(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A}){return await nue(t.anchoredLocator,e,r,{project:t.project,cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A})}var Jce,zce,ph,Xce,Cat,wat,BU=Et(()=>{St();St();nA();k1();Jce=$e(mU()),zce=$e(id()),ph=ve("stream");fE();Yl();O1();L1();Db();jl();ql();Qf();bo();Xce=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(Xce||{});Cat=2,wat=(0,zce.default)(Cat)});var OE=_((L4t,sue)=>{"use strict";var iue=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"]]);sue.exports=t=>t?Object.keys(t).map(e=>[iue.has(e)?iue.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var UE=_((O4t,hue)=>{"use strict";var oue=typeof process=="object"&&process?process:{stdout:null,stderr:null},Pat=ve("events"),aue=ve("stream"),lue=ve("string_decoder").StringDecoder,Mf=Symbol("EOF"),Uf=Symbol("maybeEmitEnd"),hh=Symbol("emittedEnd"),Vb=Symbol("emittingEnd"),U1=Symbol("emittedError"),Jb=Symbol("closed"),cue=Symbol("read"),zb=Symbol("flush"),uue=Symbol("flushChunk"),ka=Symbol("encoding"),_f=Symbol("decoder"),Xb=Symbol("flowing"),_1=Symbol("paused"),ME=Symbol("resume"),Fs=Symbol("bufferLength"),vU=Symbol("bufferPush"),DU=Symbol("bufferShift"),Fo=Symbol("objectMode"),Ro=Symbol("destroyed"),SU=Symbol("emitData"),Aue=Symbol("emitEnd"),PU=Symbol("emitEnd2"),Hf=Symbol("async"),H1=t=>Promise.resolve().then(t),fue=global._MP_NO_ITERATOR_SYMBOLS_!=="1",bat=fue&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),xat=fue&&Symbol.iterator||Symbol("iterator not implemented"),kat=t=>t==="end"||t==="finish"||t==="prefinish",Qat=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,Fat=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),Zb=class{constructor(e,r,o){this.src=e,this.dest=r,this.opts=o,this.ondrain=()=>e[ME](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},bU=class extends Zb{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,o){super(e,r,o),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}};hue.exports=class pue extends aue{constructor(e){super(),this[Xb]=!1,this[_1]=!1,this.pipes=[],this.buffer=[],this[Fo]=e&&e.objectMode||!1,this[Fo]?this[ka]=null:this[ka]=e&&e.encoding||null,this[ka]==="buffer"&&(this[ka]=null),this[Hf]=e&&!!e.async||!1,this[_f]=this[ka]?new lue(this[ka]):null,this[Mf]=!1,this[hh]=!1,this[Vb]=!1,this[Jb]=!1,this[U1]=null,this.writable=!0,this.readable=!0,this[Fs]=0,this[Ro]=!1}get bufferLength(){return this[Fs]}get encoding(){return this[ka]}set encoding(e){if(this[Fo])throw new Error("cannot set encoding in objectMode");if(this[ka]&&e!==this[ka]&&(this[_f]&&this[_f].lastNeed||this[Fs]))throw new Error("cannot change encoding");this[ka]!==e&&(this[_f]=e?new lue(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[_f].write(r)))),this[ka]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Fo]}set objectMode(e){this[Fo]=this[Fo]||!!e}get async(){return this[Hf]}set async(e){this[Hf]=this[Hf]||!!e}write(e,r,o){if(this[Mf])throw new Error("write after end");if(this[Ro])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(o=r,r="utf8"),r||(r="utf8");let a=this[Hf]?H1:n=>n();return!this[Fo]&&!Buffer.isBuffer(e)&&(Fat(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Qat(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[Fo]?(this.flowing&&this[Fs]!==0&&this[zb](!0),this.flowing?this.emit("data",e):this[vU](e),this[Fs]!==0&&this.emit("readable"),o&&a(o),this.flowing):e.length?(typeof e=="string"&&!(r===this[ka]&&!this[_f].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[ka]&&(e=this[_f].write(e)),this.flowing&&this[Fs]!==0&&this[zb](!0),this.flowing?this.emit("data",e):this[vU](e),this[Fs]!==0&&this.emit("readable"),o&&a(o),this.flowing):(this[Fs]!==0&&this.emit("readable"),o&&a(o),this.flowing)}read(e){if(this[Ro])return null;if(this[Fs]===0||e===0||e>this[Fs])return this[Uf](),null;this[Fo]&&(e=null),this.buffer.length>1&&!this[Fo]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Fs])]);let r=this[cue](e||null,this.buffer[0]);return this[Uf](),r}[cue](e,r){return e===r.length||e===null?this[DU]():(this.buffer[0]=r.slice(e),r=r.slice(0,e),this[Fs]-=e),this.emit("data",r),!this.buffer.length&&!this[Mf]&&this.emit("drain"),r}end(e,r,o){return typeof e=="function"&&(o=e,e=null),typeof r=="function"&&(o=r,r="utf8"),e&&this.write(e,r),o&&this.once("end",o),this[Mf]=!0,this.writable=!1,(this.flowing||!this[_1])&&this[Uf](),this}[ME](){this[Ro]||(this[_1]=!1,this[Xb]=!0,this.emit("resume"),this.buffer.length?this[zb]():this[Mf]?this[Uf]():this.emit("drain"))}resume(){return this[ME]()}pause(){this[Xb]=!1,this[_1]=!0}get destroyed(){return this[Ro]}get flowing(){return this[Xb]}get paused(){return this[_1]}[vU](e){this[Fo]?this[Fs]+=1:this[Fs]+=e.length,this.buffer.push(e)}[DU](){return this.buffer.length&&(this[Fo]?this[Fs]-=1:this[Fs]-=this.buffer[0].length),this.buffer.shift()}[zb](e){do;while(this[uue](this[DU]()));!e&&!this.buffer.length&&!this[Mf]&&this.emit("drain")}[uue](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Ro])return;let o=this[hh];return r=r||{},e===oue.stdout||e===oue.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,o?r.end&&e.end():(this.pipes.push(r.proxyErrors?new bU(this,e,r):new Zb(this,e,r)),this[Hf]?H1(()=>this[ME]()):this[ME]()),e}unpipe(e){let r=this.pipes.find(o=>o.dest===e);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let o=super.on(e,r);return e==="data"&&!this.pipes.length&&!this.flowing?this[ME]():e==="readable"&&this[Fs]!==0?super.emit("readable"):kat(e)&&this[hh]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[U1]&&(this[Hf]?H1(()=>r.call(this,this[U1])):r.call(this,this[U1])),o}get emittedEnd(){return this[hh]}[Uf](){!this[Vb]&&!this[hh]&&!this[Ro]&&this.buffer.length===0&&this[Mf]&&(this[Vb]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Jb]&&this.emit("close"),this[Vb]=!1)}emit(e,r,...o){if(e!=="error"&&e!=="close"&&e!==Ro&&this[Ro])return;if(e==="data")return r?this[Hf]?H1(()=>this[SU](r)):this[SU](r):!1;if(e==="end")return this[Aue]();if(e==="close"){if(this[Jb]=!0,!this[hh]&&!this[Ro])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[U1]=r;let n=super.emit("error",r);return this[Uf](),n}else if(e==="resume"){let n=super.emit("resume");return this[Uf](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,r,...o);return this[Uf](),a}[SU](e){for(let o of this.pipes)o.dest.write(e)===!1&&this.pause();let r=super.emit("data",e);return this[Uf](),r}[Aue](){this[hh]||(this[hh]=!0,this.readable=!1,this[Hf]?H1(()=>this[PU]()):this[PU]())}[PU](){if(this[_f]){let r=this[_f].end();if(r){for(let o of this.pipes)o.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[Fo]||(e.dataLength=0);let r=this.promise();return this.on("data",o=>{e.push(o),this[Fo]||(e.dataLength+=o.length)}),r.then(()=>e)}concat(){return this[Fo]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Fo]?Promise.reject(new Error("cannot concat in objectMode")):this[ka]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Ro,()=>r(new Error("stream destroyed"))),this.on("error",o=>r(o)),this.on("end",()=>e())})}[bat](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Mf])return Promise.resolve({done:!0});let o=null,a=null,n=h=>{this.removeListener("data",u),this.removeListener("end",A),a(h)},u=h=>{this.removeListener("error",n),this.removeListener("end",A),this.pause(),o({value:h,done:!!this[Mf]})},A=()=>{this.removeListener("error",n),this.removeListener("data",u),o({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,E)=>{a=E,o=h,this.once(Ro,p),this.once("error",n),this.once("end",A),this.once("data",u)})}}}[xat](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Ro]?(e?this.emit("error",e):this.emit(Ro),this):(this[Ro]=!0,this.buffer.length=0,this[Fs]=0,typeof this.close=="function"&&!this[Jb]&&this.close(),e?this.emit("error",e):this.emit(Ro),this)}static isStream(e){return!!e&&(e instanceof pue||e instanceof aue||e instanceof Pat&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var due=_((M4t,gue)=>{var Rat=ve("zlib").constants||{ZLIB_VERNUM:4736};gue.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},Rat))});var GU=_(cl=>{"use strict";var RU=ve("assert"),gh=ve("buffer").Buffer,Eue=ve("zlib"),Fd=cl.constants=due(),Tat=UE(),mue=gh.concat,Rd=Symbol("_superWrite"),HE=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"}},Nat=Symbol("opts"),q1=Symbol("flushFlag"),yue=Symbol("finishFlushFlag"),jU=Symbol("fullFlushFlag"),ti=Symbol("handle"),$b=Symbol("onError"),_E=Symbol("sawError"),xU=Symbol("level"),kU=Symbol("strategy"),QU=Symbol("ended"),U4t=Symbol("_defaultFullFlush"),ex=class extends Tat{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[_E]=!1,this[QU]=!1,this[Nat]=e,this[q1]=e.flush,this[yue]=e.finishFlush;try{this[ti]=new Eue[r](e)}catch(o){throw new HE(o)}this[$b]=o=>{this[_E]||(this[_E]=!0,this.close(),this.emit("error",o))},this[ti].on("error",o=>this[$b](new HE(o))),this.once("end",()=>this.close)}close(){this[ti]&&(this[ti].close(),this[ti]=null,this.emit("close"))}reset(){if(!this[_E])return RU(this[ti],"zlib binding closed"),this[ti].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[jU]),this.write(Object.assign(gh.alloc(0),{[q1]:e})))}end(e,r,o){return e&&this.write(e,r),this.flush(this[yue]),this[QU]=!0,super.end(null,null,o)}get ended(){return this[QU]}write(e,r,o){if(typeof r=="function"&&(o=r,r="utf8"),typeof e=="string"&&(e=gh.from(e,r)),this[_E])return;RU(this[ti],"zlib binding closed");let a=this[ti]._handle,n=a.close;a.close=()=>{};let u=this[ti].close;this[ti].close=()=>{},gh.concat=h=>h;let A;try{let h=typeof e[q1]=="number"?e[q1]:this[q1];A=this[ti]._processChunk(e,h),gh.concat=mue}catch(h){gh.concat=mue,this[$b](new HE(h))}finally{this[ti]&&(this[ti]._handle=a,a.close=n,this[ti].close=u,this[ti].removeAllListeners("error"))}this[ti]&&this[ti].on("error",h=>this[$b](new HE(h)));let p;if(A)if(Array.isArray(A)&&A.length>0){p=this[Rd](gh.from(A[0]));for(let h=1;h{this.flush(a),n()};try{this[ti].params(e,r)}finally{this[ti].flush=o}this[ti]&&(this[xU]=e,this[kU]=r)}}}},TU=class extends qf{constructor(e){super(e,"Deflate")}},NU=class extends qf{constructor(e){super(e,"Inflate")}},FU=Symbol("_portable"),LU=class extends qf{constructor(e){super(e,"Gzip"),this[FU]=e&&!!e.portable}[Rd](e){return this[FU]?(this[FU]=!1,e[9]=255,super[Rd](e)):super[Rd](e)}},OU=class extends qf{constructor(e){super(e,"Gunzip")}},MU=class extends qf{constructor(e){super(e,"DeflateRaw")}},UU=class extends qf{constructor(e){super(e,"InflateRaw")}},_U=class extends qf{constructor(e){super(e,"Unzip")}},tx=class extends ex{constructor(e,r){e=e||{},e.flush=e.flush||Fd.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Fd.BROTLI_OPERATION_FINISH,super(e,r),this[jU]=Fd.BROTLI_OPERATION_FLUSH}},HU=class extends tx{constructor(e){super(e,"BrotliCompress")}},qU=class extends tx{constructor(e){super(e,"BrotliDecompress")}};cl.Deflate=TU;cl.Inflate=NU;cl.Gzip=LU;cl.Gunzip=OU;cl.DeflateRaw=MU;cl.InflateRaw=UU;cl.Unzip=_U;typeof Eue.BrotliCompress=="function"?(cl.BrotliCompress=HU,cl.BrotliDecompress=qU):cl.BrotliCompress=cl.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var qE=_((q4t,Cue)=>{var Lat=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;Cue.exports=Lat!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/")});var rx=_((G4t,wue)=>{"use strict";var Oat=UE(),YU=qE(),WU=Symbol("slurp");wue.exports=class extends Oat{constructor(e,r,o){switch(super(),this.pause(),this.extended=r,this.globalExtended=o,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=YU(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=YU(e.linkpath),this.uname=e.uname,this.gname=e.gname,r&&this[WU](r),o&&this[WU](o,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let o=this.remain,a=this.blockRemain;return this.remain=Math.max(0,o-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:o>=r?super.write(e):super.write(e.slice(0,o))}[WU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=o==="path"||o==="linkpath"?YU(e[o]):e[o])}}});var KU=_(nx=>{"use strict";nx.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"]]);nx.code=new Map(Array.from(nx.name).map(t=>[t[1],t[0]]))});var Due=_((W4t,vue)=>{"use strict";var Mat=(t,e)=>{if(Number.isSafeInteger(t))t<0?_at(t,e):Uat(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Uat=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},_at=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var o=e.length;o>1;o--){var a=t&255;t=Math.floor(t/256),r?e[o-1]=Iue(a):a===0?e[o-1]=0:(r=!0,e[o-1]=Bue(a))}},Hat=t=>{let e=t[0],r=e===128?jat(t.slice(1,t.length)):e===255?qat(t):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},qat=t=>{for(var e=t.length,r=0,o=!1,a=e-1;a>-1;a--){var n=t[a],u;o?u=Iue(n):n===0?u=n:(o=!0,u=Bue(n)),u!==0&&(r-=u*Math.pow(256,e-a-1))}return r},jat=t=>{for(var e=t.length,r=0,o=e-1;o>-1;o--){var a=t[o];a!==0&&(r+=a*Math.pow(256,e-o-1))}return r},Iue=t=>(255^t)&255,Bue=t=>(255^t)+1&255;vue.exports={encode:Mat,parse:Hat}});var GE=_((K4t,Pue)=>{"use strict";var VU=KU(),jE=ve("path").posix,Sue=Due(),JU=Symbol("slurp"),ul=Symbol("type"),ZU=class{constructor(e,r,o,a){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[ul]="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,r||0,o,a):e&&this.set(e)}decode(e,r,o,a){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Td(e,r,100),this.mode=dh(e,r+100,8),this.uid=dh(e,r+108,8),this.gid=dh(e,r+116,8),this.size=dh(e,r+124,12),this.mtime=zU(e,r+136,12),this.cksum=dh(e,r+148,12),this[JU](o),this[JU](a,!0),this[ul]=Td(e,r+156,1),this[ul]===""&&(this[ul]="0"),this[ul]==="0"&&this.path.substr(-1)==="/"&&(this[ul]="5"),this[ul]==="5"&&(this.size=0),this.linkpath=Td(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Td(e,r+265,32),this.gname=Td(e,r+297,32),this.devmaj=dh(e,r+329,8),this.devmin=dh(e,r+337,8),e[r+475]!==0){let u=Td(e,r+345,155);this.path=u+"/"+this.path}else{let u=Td(e,r+345,130);u&&(this.path=u+"/"+this.path),this.atime=zU(e,r+476,12),this.ctime=zU(e,r+488,12)}let n=8*32;for(let u=r;u=r+512))throw new Error("need 512 bytes for header");let o=this.ctime||this.atime?130:155,a=Gat(this.path||"",o),n=a[0],u=a[1];this.needPax=a[2],this.needPax=Nd(e,r,100,n)||this.needPax,this.needPax=mh(e,r+100,8,this.mode)||this.needPax,this.needPax=mh(e,r+108,8,this.uid)||this.needPax,this.needPax=mh(e,r+116,8,this.gid)||this.needPax,this.needPax=mh(e,r+124,12,this.size)||this.needPax,this.needPax=XU(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[ul].charCodeAt(0),this.needPax=Nd(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Nd(e,r+265,32,this.uname)||this.needPax,this.needPax=Nd(e,r+297,32,this.gname)||this.needPax,this.needPax=mh(e,r+329,8,this.devmaj)||this.needPax,this.needPax=mh(e,r+337,8,this.devmin)||this.needPax,this.needPax=Nd(e,r+345,o,u)||this.needPax,e[r+475]!==0?this.needPax=Nd(e,r+345,155,u)||this.needPax:(this.needPax=Nd(e,r+345,130,u)||this.needPax,this.needPax=XU(e,r+476,12,this.atime)||this.needPax,this.needPax=XU(e,r+488,12,this.ctime)||this.needPax);let A=8*32;for(let p=r;p{let o=t,a="",n,u=jE.parse(t).root||".";if(Buffer.byteLength(o)<100)n=[o,a,!1];else{a=jE.dirname(o),o=jE.basename(o);do Buffer.byteLength(o)<=100&&Buffer.byteLength(a)<=e?n=[o,a,!1]:Buffer.byteLength(o)>100&&Buffer.byteLength(a)<=e?n=[o.substr(0,100-1),a,!0]:(o=jE.join(jE.basename(a),o),a=jE.dirname(a));while(a!==u&&!n);n||(n=[t.substr(0,100-1),"",!0])}return n},Td=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),zU=(t,e,r)=>Yat(dh(t,e,r)),Yat=t=>t===null?null:new Date(t*1e3),dh=(t,e,r)=>t[e]&128?Sue.parse(t.slice(e,e+r)):Kat(t,e,r),Wat=t=>isNaN(t)?null:t,Kat=(t,e,r)=>Wat(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),Vat={12:8589934591,8:2097151},mh=(t,e,r,o)=>o===null?!1:o>Vat[r]||o<0?(Sue.encode(o,t.slice(e,e+r)),!0):(Jat(t,e,r,o),!1),Jat=(t,e,r,o)=>t.write(zat(o,r),e,r,"ascii"),zat=(t,e)=>Xat(Math.floor(t).toString(8),e),Xat=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",XU=(t,e,r,o)=>o===null?!1:mh(t,e,r,o.getTime()/1e3),Zat=new Array(156).join("\0"),Nd=(t,e,r,o)=>o===null?!1:(t.write(o+Zat,e,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);Pue.exports=ZU});var ix=_((V4t,bue)=>{"use strict";var $at=GE(),elt=ve("path"),j1=class{constructor(e,r){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=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),o=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(o);for(let n=0;n<512;n++)a[n]=0;new $at({path:("PaxHeader/"+elt.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,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(a),a.write(e,512,r,"utf8");for(let n=r+512;n=Math.pow(10,n)&&(n+=1),n+a+o}};j1.parse=(t,e,r)=>new j1(tlt(rlt(t),e),r);var tlt=(t,e)=>e?Object.keys(t).reduce((r,o)=>(r[o]=t[o],r),e):t,rlt=t=>t.replace(/\n$/,"").split(` +`).reduce(nlt,Object.create(null)),nlt=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let o=e.split("="),a=o.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return t;let n=o.join("=");return t[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,t};bue.exports=j1});var YE=_((J4t,xue)=>{xue.exports=t=>{let e=t.length-1,r=-1;for(;e>-1&&t.charAt(e)==="/";)r=e,e--;return r===-1?t:t.slice(0,r)}});var sx=_((z4t,kue)=>{"use strict";kue.exports=t=>class extends t{warn(e,r,o={}){this.file&&(o.file=this.file),this.cwd&&(o.cwd=this.cwd),o.code=r instanceof Error&&r.code||e,o.tarCode=e,!this.strict&&o.recoverable!==!1?(r instanceof Error&&(o=Object.assign(r,o),r=r.message),this.emit("warn",o.tarCode,r,o)):r instanceof Error?this.emit("error",Object.assign(r,o)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),o))}}});var e3=_((Z4t,Que)=>{"use strict";var ox=["|","<",">","?",":"],$U=ox.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),ilt=new Map(ox.map((t,e)=>[t,$U[e]])),slt=new Map($U.map((t,e)=>[t,ox[e]]));Que.exports={encode:t=>ox.reduce((e,r)=>e.split(r).join(ilt.get(r)),t),decode:t=>$U.reduce((e,r)=>e.split(r).join(slt.get(r)),t)}});var t3=_(($4t,Rue)=>{var{isAbsolute:olt,parse:Fue}=ve("path").win32;Rue.exports=t=>{let e="",r=Fue(t);for(;olt(t)||r.root;){let o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.substr(o.length),e+=o,r=Fue(t)}return[e,t]}});var Nue=_((eUt,Tue)=>{"use strict";Tue.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var A3=_((nUt,Jue)=>{"use strict";var que=UE(),jue=ix(),Gue=GE(),oA=ve("fs"),Lue=ve("path"),sA=qE(),alt=YE(),Yue=(t,e)=>e?(t=sA(t).replace(/^\.(\/|$)/,""),alt(e)+"/"+t):sA(t),llt=16*1024*1024,Oue=Symbol("process"),Mue=Symbol("file"),Uue=Symbol("directory"),n3=Symbol("symlink"),_ue=Symbol("hardlink"),G1=Symbol("header"),ax=Symbol("read"),i3=Symbol("lstat"),lx=Symbol("onlstat"),s3=Symbol("onread"),o3=Symbol("onreadlink"),a3=Symbol("openfile"),l3=Symbol("onopenfile"),yh=Symbol("close"),cx=Symbol("mode"),c3=Symbol("awaitDrain"),r3=Symbol("ondrain"),aA=Symbol("prefix"),Hue=Symbol("hadError"),Wue=sx(),clt=e3(),Kue=t3(),Vue=Nue(),ux=Wue(class extends que{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=sA(e),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||llt,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=sA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?sA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=Kue(this.path);a&&(this.path=n,o=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=clt.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=sA(r.absolute||Lue.resolve(this.cwd,e)),this.path===""&&(this.path="./"),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.statCache.has(this.absolute)?this[lx](this.statCache.get(this.absolute)):this[i3]()}emit(e,...r){return e==="error"&&(this[Hue]=!0),super.emit(e,...r)}[i3](){oA.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[lx](r)})}[lx](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=Alt(e),this.emit("stat",e),this[Oue]()}[Oue](){switch(this.type){case"File":return this[Mue]();case"Directory":return this[Uue]();case"SymbolicLink":return this[n3]();default:return this.end()}}[cx](e){return Vue(e,this.type==="Directory",this.portable)}[aA](e){return Yue(e,this.prefix)}[G1](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new Gue({path:this[aA](this.path),linkpath:this.type==="Link"?this[aA](this.linkpath):this.linkpath,mode:this[cx](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&&super.write(new jue({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[aA](this.path),linkpath:this.type==="Link"?this[aA](this.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()),super.write(this.header.block)}[Uue](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[G1](),this.end()}[n3](){oA.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[o3](r)})}[o3](e){this.linkpath=sA(e),this[G1](),this.end()}[_ue](e){this.type="Link",this.linkpath=sA(Lue.relative(this.cwd,e)),this.stat.size=0,this[G1](),this.end()}[Mue](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[_ue](r)}this.linkCache.set(e,this.absolute)}if(this[G1](),this.stat.size===0)return this.end();this[a3]()}[a3](){oA.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[l3](r)})}[l3](e){if(this.fd=e,this[Hue])return this[yh]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[ax]()}[ax](){let{fd:e,buf:r,offset:o,length:a,pos:n}=this;oA.read(e,r,o,a,n,(u,A)=>{if(u)return this[yh](()=>this.emit("error",u));this[s3](A)})}[yh](e){oA.close(this.fd,e)}[s3](e){if(e<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[yh](()=>this.emit("error",a))}if(e>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[yh](()=>this.emit("error",a))}if(e===this.remain)for(let a=e;athis[r3]())}[c3](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[ax]()}}),u3=class extends ux{[i3](){this[lx](oA.lstatSync(this.absolute))}[n3](){this[o3](oA.readlinkSync(this.absolute))}[a3](){this[l3](oA.openSync(this.absolute,"r"))}[ax](){let e=!0;try{let{fd:r,buf:o,offset:a,length:n,pos:u}=this,A=oA.readSync(r,o,a,n,u);this[s3](A),e=!1}finally{if(e)try{this[yh](()=>{})}catch{}}}[c3](e){e()}[yh](e){oA.closeSync(this.fd),e()}},ult=Wue(class extends que{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=sA(e.path),this.mode=this[cx](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:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=sA(e.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=Kue(this.path);a&&(this.path=n,o=a)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new Gue({path:this[aA](this.path),linkpath:this.type==="Link"?this[aA](this.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}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new jue({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[aA](this.path),linkpath:this.type==="Link"?this[aA](this.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)}[aA](e){return Yue(e,this.prefix)}[cx](e){return Vue(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});ux.Sync=u3;ux.Tar=ult;var Alt=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";Jue.exports=ux});var Ex=_((sUt,rAe)=>{"use strict";var mx=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},flt=UE(),plt=GU(),hlt=rx(),C3=A3(),glt=C3.Sync,dlt=C3.Tar,mlt=IS(),zue=Buffer.alloc(1024),px=Symbol("onStat"),Ax=Symbol("ended"),lA=Symbol("queue"),WE=Symbol("current"),Ld=Symbol("process"),fx=Symbol("processing"),Xue=Symbol("processJob"),cA=Symbol("jobs"),f3=Symbol("jobDone"),hx=Symbol("addFSEntry"),Zue=Symbol("addTarEntry"),d3=Symbol("stat"),m3=Symbol("readdir"),gx=Symbol("onreaddir"),dx=Symbol("pipe"),$ue=Symbol("entry"),p3=Symbol("entryOpt"),y3=Symbol("writeEntryClass"),tAe=Symbol("write"),h3=Symbol("ondrain"),yx=ve("fs"),eAe=ve("path"),ylt=sx(),g3=qE(),w3=ylt(class extends flt{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=g3(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[y3]=C3,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 plt.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[h3]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[h3]),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:r=>!0,this[lA]=new mlt,this[cA]=0,this.jobs=+e.jobs||4,this[fx]=!1,this[Ax]=!1}[tAe](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[Ax]=!0,this[Ld](),this}write(e){if(this[Ax])throw new Error("write after end");return e instanceof hlt?this[Zue](e):this[hx](e),this.flowing}[Zue](e){let r=g3(eAe.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let o=new mx(e.path,r,!1);o.entry=new dlt(e,this[p3](o)),o.entry.on("end",a=>this[f3](o)),this[cA]+=1,this[lA].push(o)}this[Ld]()}[hx](e){let r=g3(eAe.resolve(this.cwd,e));this[lA].push(new mx(e,r)),this[Ld]()}[d3](e){e.pending=!0,this[cA]+=1;let r=this.follow?"stat":"lstat";yx[r](e.absolute,(o,a)=>{e.pending=!1,this[cA]-=1,o?this.emit("error",o):this[px](e,a)})}[px](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[Ld]()}[m3](e){e.pending=!0,this[cA]+=1,yx.readdir(e.absolute,(r,o)=>{if(e.pending=!1,this[cA]-=1,r)return this.emit("error",r);this[gx](e,o)})}[gx](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[Ld]()}[Ld](){if(!this[fx]){this[fx]=!0;for(let e=this[lA].head;e!==null&&this[cA]this.warn(r,o,a),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,prefix:this.prefix}}[$ue](e){this[cA]+=1;try{return new this[y3](e.path,this[p3](e)).on("end",()=>this[f3](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[h3](){this[WE]&&this[WE].entry&&this[WE].entry.resume()}[dx](e){e.piped=!0,e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[hx](u+a)});let r=e.entry,o=this.zip;o?r.on("data",a=>{o.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),E3=class extends w3{constructor(e){super(e),this[y3]=glt}pause(){}resume(){}[d3](e){let r=this.follow?"statSync":"lstatSync";this[px](e,yx[r](e.absolute))}[m3](e,r){this[gx](e,yx.readdirSync(e.absolute))}[dx](e){let r=e.entry,o=this.zip;e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[hx](u+a)}),o?r.on("data",a=>{o.write(a)}):r.on("data",a=>{super[tAe](a)})}};w3.Sync=E3;rAe.exports=w3});var eC=_(W1=>{"use strict";var Elt=UE(),Clt=ve("events").EventEmitter,Qa=ve("fs"),v3=Qa.writev;if(!v3){let t=process.binding("fs"),e=t.FSReqWrap||t.FSReqCallback;v3=(r,o,a,n)=>{let u=(p,h)=>n(p,h,o),A=new e;A.oncomplete=u,t.writeBuffers(r,o,a,A)}}var ZE=Symbol("_autoClose"),Yc=Symbol("_close"),Y1=Symbol("_ended"),Gn=Symbol("_fd"),nAe=Symbol("_finished"),Ch=Symbol("_flags"),I3=Symbol("_flush"),D3=Symbol("_handleChunk"),S3=Symbol("_makeBuf"),vx=Symbol("_mode"),Cx=Symbol("_needDrain"),zE=Symbol("_onerror"),$E=Symbol("_onopen"),B3=Symbol("_onread"),VE=Symbol("_onwrite"),wh=Symbol("_open"),jf=Symbol("_path"),Od=Symbol("_pos"),uA=Symbol("_queue"),JE=Symbol("_read"),iAe=Symbol("_readSize"),Eh=Symbol("_reading"),wx=Symbol("_remain"),sAe=Symbol("_size"),Ix=Symbol("_write"),KE=Symbol("_writing"),Bx=Symbol("_defaultFlag"),XE=Symbol("_errored"),Dx=class extends Elt{constructor(e,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[XE]=!1,this[Gn]=typeof r.fd=="number"?r.fd:null,this[jf]=e,this[iAe]=r.readSize||16*1024*1024,this[Eh]=!1,this[sAe]=typeof r.size=="number"?r.size:1/0,this[wx]=this[sAe],this[ZE]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Gn]=="number"?this[JE]():this[wh]()}get fd(){return this[Gn]}get path(){return this[jf]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[wh](){Qa.open(this[jf],"r",(e,r)=>this[$E](e,r))}[$E](e,r){e?this[zE](e):(this[Gn]=r,this.emit("open",r),this[JE]())}[S3](){return Buffer.allocUnsafe(Math.min(this[iAe],this[wx]))}[JE](){if(!this[Eh]){this[Eh]=!0;let e=this[S3]();if(e.length===0)return process.nextTick(()=>this[B3](null,0,e));Qa.read(this[Gn],e,0,e.length,null,(r,o,a)=>this[B3](r,o,a))}}[B3](e,r,o){this[Eh]=!1,e?this[zE](e):this[D3](r,o)&&this[JE]()}[Yc](){if(this[ZE]&&typeof this[Gn]=="number"){let e=this[Gn];this[Gn]=null,Qa.close(e,r=>r?this.emit("error",r):this.emit("close"))}}[zE](e){this[Eh]=!0,this[Yc](),this.emit("error",e)}[D3](e,r){let o=!1;return this[wx]-=e,e>0&&(o=super.write(ethis[$E](e,r))}[$E](e,r){this[Bx]&&this[Ch]==="r+"&&e&&e.code==="ENOENT"?(this[Ch]="w",this[wh]()):e?this[zE](e):(this[Gn]=r,this.emit("open",r),this[I3]())}end(e,r){return e&&this.write(e,r),this[Y1]=!0,!this[KE]&&!this[uA].length&&typeof this[Gn]=="number"&&this[VE](null,0),this}write(e,r){return typeof e=="string"&&(e=Buffer.from(e,r)),this[Y1]?(this.emit("error",new Error("write() after end()")),!1):this[Gn]===null||this[KE]||this[uA].length?(this[uA].push(e),this[Cx]=!0,!1):(this[KE]=!0,this[Ix](e),!0)}[Ix](e){Qa.write(this[Gn],e,0,e.length,this[Od],(r,o)=>this[VE](r,o))}[VE](e,r){e?this[zE](e):(this[Od]!==null&&(this[Od]+=r),this[uA].length?this[I3]():(this[KE]=!1,this[Y1]&&!this[nAe]?(this[nAe]=!0,this[Yc](),this.emit("finish")):this[Cx]&&(this[Cx]=!1,this.emit("drain"))))}[I3](){if(this[uA].length===0)this[Y1]&&this[VE](null,0);else if(this[uA].length===1)this[Ix](this[uA].pop());else{let e=this[uA];this[uA]=[],v3(this[Gn],e,this[Od],(r,o)=>this[VE](r,o))}}[Yc](){if(this[ZE]&&typeof this[Gn]=="number"){let e=this[Gn];this[Gn]=null,Qa.close(e,r=>r?this.emit("error",r):this.emit("close"))}}},b3=class extends Sx{[wh](){let e;if(this[Bx]&&this[Ch]==="r+")try{e=Qa.openSync(this[jf],this[Ch],this[vx])}catch(r){if(r.code==="ENOENT")return this[Ch]="w",this[wh]();throw r}else e=Qa.openSync(this[jf],this[Ch],this[vx]);this[$E](null,e)}[Yc](){if(this[ZE]&&typeof this[Gn]=="number"){let e=this[Gn];this[Gn]=null,Qa.closeSync(e),this.emit("close")}}[Ix](e){let r=!0;try{this[VE](null,Qa.writeSync(this[Gn],e,0,e.length,this[Od])),r=!1}finally{if(r)try{this[Yc]()}catch{}}}};W1.ReadStream=Dx;W1.ReadStreamSync=P3;W1.WriteStream=Sx;W1.WriteStreamSync=b3});var Rx=_((lUt,fAe)=>{"use strict";var wlt=sx(),Ilt=GE(),Blt=ve("events"),vlt=IS(),Dlt=1024*1024,Slt=rx(),oAe=ix(),Plt=GU(),x3=Buffer.from([31,139]),Xl=Symbol("state"),Md=Symbol("writeEntry"),Gf=Symbol("readEntry"),k3=Symbol("nextEntry"),aAe=Symbol("processEntry"),Zl=Symbol("extendedHeader"),K1=Symbol("globalExtendedHeader"),Ih=Symbol("meta"),lAe=Symbol("emitMeta"),fi=Symbol("buffer"),Yf=Symbol("queue"),Ud=Symbol("ended"),cAe=Symbol("emittedEnd"),_d=Symbol("emit"),Fa=Symbol("unzip"),Px=Symbol("consumeChunk"),bx=Symbol("consumeChunkSub"),Q3=Symbol("consumeBody"),uAe=Symbol("consumeMeta"),AAe=Symbol("consumeHeader"),xx=Symbol("consuming"),F3=Symbol("bufferConcat"),R3=Symbol("maybeEnd"),V1=Symbol("writing"),Bh=Symbol("aborted"),kx=Symbol("onDone"),Hd=Symbol("sawValidEntry"),Qx=Symbol("sawNullBlock"),Fx=Symbol("sawEOF"),blt=t=>!0;fAe.exports=wlt(class extends Blt{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Hd]=null,this.on(kx,r=>{(this[Xl]==="begin"||this[Hd]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(kx,e.ondone):this.on(kx,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Dlt,this.filter=typeof e.filter=="function"?e.filter:blt,this.writable=!0,this.readable=!1,this[Yf]=new vlt,this[fi]=null,this[Gf]=null,this[Md]=null,this[Xl]="begin",this[Ih]="",this[Zl]=null,this[K1]=null,this[Ud]=!1,this[Fa]=null,this[Bh]=!1,this[Qx]=!1,this[Fx]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[AAe](e,r){this[Hd]===null&&(this[Hd]=!1);let o;try{o=new Ilt(e,r,this[Zl],this[K1])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(o.nullBlock)this[Qx]?(this[Fx]=!0,this[Xl]==="begin"&&(this[Xl]="header"),this[_d]("eof")):(this[Qx]=!0,this[_d]("nullBlock"));else if(this[Qx]=!1,!o.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:o});else if(!o.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:o});else{let a=o.type;if(/^(Symbolic)?Link$/.test(a)&&!o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:o});else if(!/^(Symbolic)?Link$/.test(a)&&o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:o});else{let n=this[Md]=new Slt(o,this[Zl],this[K1]);if(!this[Hd])if(n.remain){let u=()=>{n.invalid||(this[Hd]=!0)};n.on("end",u)}else this[Hd]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[_d]("ignoredEntry",n),this[Xl]="ignore",n.resume()):n.size>0&&(this[Ih]="",n.on("data",u=>this[Ih]+=u),this[Xl]="meta"):(this[Zl]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[_d]("ignoredEntry",n),this[Xl]=n.remain?"ignore":"header",n.resume()):(n.remain?this[Xl]="body":(this[Xl]="header",n.end()),this[Gf]?this[Yf].push(n):(this[Yf].push(n),this[k3]())))}}}[aAe](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[Gf]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",o=>this[k3]()),r=!1)):(this[Gf]=null,r=!1),r}[k3](){do;while(this[aAe](this[Yf].shift()));if(!this[Yf].length){let e=this[Gf];!e||e.flowing||e.size===e.remain?this[V1]||this.emit("drain"):e.once("drain",o=>this.emit("drain"))}}[Q3](e,r){let o=this[Md],a=o.blockRemain,n=a>=e.length&&r===0?e:e.slice(r,r+a);return o.write(n),o.blockRemain||(this[Xl]="header",this[Md]=null,o.end()),n.length}[uAe](e,r){let o=this[Md],a=this[Q3](e,r);return this[Md]||this[lAe](o),a}[_d](e,r,o){!this[Yf].length&&!this[Gf]?this.emit(e,r,o):this[Yf].push([e,r,o])}[lAe](e){switch(this[_d]("meta",this[Ih]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Zl]=oAe.parse(this[Ih],this[Zl],!1);break;case"GlobalExtendedHeader":this[K1]=oAe.parse(this[Ih],this[K1],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Zl]=this[Zl]||Object.create(null),this[Zl].path=this[Ih].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Zl]=this[Zl]||Object.create(null),this[Zl].linkpath=this[Ih].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[Bh]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[Bh])return;if(this[Fa]===null&&e){if(this[fi]&&(e=Buffer.concat([this[fi],e]),this[fi]=null),e.lengththis[Px](n)),this[Fa].on("error",n=>this.abort(n)),this[Fa].on("end",n=>{this[Ud]=!0,this[Px]()}),this[V1]=!0;let a=this[Fa][o?"end":"write"](e);return this[V1]=!1,a}}this[V1]=!0,this[Fa]?this[Fa].write(e):this[Px](e),this[V1]=!1;let r=this[Yf].length?!1:this[Gf]?this[Gf].flowing:!0;return!r&&!this[Yf].length&&this[Gf].once("drain",o=>this.emit("drain")),r}[F3](e){e&&!this[Bh]&&(this[fi]=this[fi]?Buffer.concat([this[fi],e]):e)}[R3](){if(this[Ud]&&!this[cAe]&&!this[Bh]&&!this[xx]){this[cAe]=!0;let e=this[Md];if(e&&e.blockRemain){let r=this[fi]?this[fi].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[fi]&&e.write(this[fi]),e.end()}this[_d](kx)}}[Px](e){if(this[xx])this[F3](e);else if(!e&&!this[fi])this[R3]();else{if(this[xx]=!0,this[fi]){this[F3](e);let r=this[fi];this[fi]=null,this[bx](r)}else this[bx](e);for(;this[fi]&&this[fi].length>=512&&!this[Bh]&&!this[Fx];){let r=this[fi];this[fi]=null,this[bx](r)}this[xx]=!1}(!this[fi]||this[Ud])&&this[R3]()}[bx](e){let r=0,o=e.length;for(;r+512<=o&&!this[Bh]&&!this[Fx];)switch(this[Xl]){case"begin":case"header":this[AAe](e,r),r+=512;break;case"ignore":case"body":r+=this[Q3](e,r);break;case"meta":r+=this[uAe](e,r);break;default:throw new Error("invalid state: "+this[Xl])}r{"use strict";var xlt=OE(),hAe=Rx(),tC=ve("fs"),klt=eC(),pAe=ve("path"),T3=YE();dAe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=xlt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Flt(o,e),o.noResume||Qlt(o),o.file&&o.sync?Rlt(o):o.file?Tlt(o,r):gAe(o)};var Qlt=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},Flt=(t,e)=>{let r=new Map(e.map(n=>[T3(n),!0])),o=t.filter,a=(n,u)=>{let A=u||pAe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(pAe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(T3(n)):n=>a(T3(n))},Rlt=t=>{let e=gAe(t),r=t.file,o=!0,a;try{let n=tC.statSync(r),u=t.maxReadSize||16*1024*1024;if(n.size{let r=new hAe(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("end",u),tC.stat(a,(p,h)=>{if(p)A(p);else{let E=new klt.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},gAe=t=>new hAe(t)});var IAe=_((uUt,wAe)=>{"use strict";var Nlt=OE(),Nx=Ex(),mAe=eC(),yAe=Tx(),EAe=ve("path");wAe.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let o=Nlt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return o.file&&o.sync?Llt(o,e):o.file?Olt(o,e,r):o.sync?Mlt(o,e):Ult(o,e)};var Llt=(t,e)=>{let r=new Nx.Sync(t),o=new mAe.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o),CAe(r,e)},Olt=(t,e,r)=>{let o=new Nx(t),a=new mAe.WriteStream(t.file,{mode:t.mode||438});o.pipe(a);let n=new Promise((u,A)=>{a.on("error",A),a.on("close",u),o.on("error",A)});return N3(o,e),r?n.then(r,r):n},CAe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?yAe({file:EAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},N3=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return yAe({file:EAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>N3(t,e));t.add(r)}t.end()},Mlt=(t,e)=>{let r=new Nx.Sync(t);return CAe(r,e),r},Ult=(t,e)=>{let r=new Nx(t);return N3(r,e),r}});var L3=_((AUt,xAe)=>{"use strict";var _lt=OE(),BAe=Ex(),Al=ve("fs"),vAe=eC(),DAe=Tx(),SAe=ve("path"),PAe=GE();xAe.exports=(t,e,r)=>{let o=_lt(t);if(!o.file)throw new TypeError("file is required");if(o.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),o.sync?Hlt(o,e):jlt(o,e,r)};var Hlt=(t,e)=>{let r=new BAe.Sync(t),o=!0,a,n;try{try{a=Al.openSync(t.file,"r+")}catch(p){if(p.code==="ENOENT")a=Al.openSync(t.file,"w+");else throw p}let u=Al.fstatSync(a),A=Buffer.alloc(512);e:for(n=0;nu.size)break;n+=h,t.mtimeCache&&t.mtimeCache.set(p.path,p.mtime)}o=!1,qlt(t,r,n,a,e)}finally{if(o)try{Al.closeSync(a)}catch{}}},qlt=(t,e,r,o,a)=>{let n=new vAe.WriteStreamSync(t.file,{fd:o,start:r});e.pipe(n),Glt(e,a)},jlt=(t,e,r)=>{e=Array.from(e);let o=new BAe(t),a=(u,A,p)=>{let h=(C,R)=>{C?Al.close(u,L=>p(C)):p(null,R)},E=0;if(A===0)return h(null,0);let I=0,v=Buffer.alloc(512),x=(C,R)=>{if(C)return h(C);if(I+=R,I<512&&R)return Al.read(u,v,I,v.length-I,E+I,x);if(E===0&&v[0]===31&&v[1]===139)return h(new Error("cannot append to compressed archives"));if(I<512)return h(null,E);let L=new PAe(v);if(!L.cksumValid)return h(null,E);let U=512*Math.ceil(L.size/512);if(E+U+512>A||(E+=U+512,E>=A))return h(null,E);t.mtimeCache&&t.mtimeCache.set(L.path,L.mtime),I=0,Al.read(u,v,0,512,E,x)};Al.read(u,v,0,512,E,x)},n=new Promise((u,A)=>{o.on("error",A);let p="r+",h=(E,I)=>{if(E&&E.code==="ENOENT"&&p==="r+")return p="w+",Al.open(t.file,p,h);if(E)return A(E);Al.fstat(I,(v,x)=>{if(v)return Al.close(I,()=>A(v));a(I,x.size,(C,R)=>{if(C)return A(C);let L=new vAe.WriteStream(t.file,{fd:I,start:R});o.pipe(L),L.on("error",A),L.on("close",u),bAe(o,e)})})};Al.open(t.file,p,h)});return r?n.then(r,r):n},Glt=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?DAe({file:SAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},bAe=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return DAe({file:SAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>bAe(t,e));t.add(r)}t.end()}});var QAe=_((fUt,kAe)=>{"use strict";var Ylt=OE(),Wlt=L3();kAe.exports=(t,e,r)=>{let o=Ylt(t);if(!o.file)throw new TypeError("file is required");if(o.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),Klt(o),Wlt(o,e,r)};var Klt=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,o)=>e(r,o)&&!(t.mtimeCache.get(r)>o.mtime):(r,o)=>!(t.mtimeCache.get(r)>o.mtime)}});var TAe=_((pUt,RAe)=>{var{promisify:FAe}=ve("util"),vh=ve("fs"),Vlt=t=>{if(!t)t={mode:511,fs:vh};else if(typeof t=="object")t={mode:511,fs:vh,...t};else if(typeof t=="number")t={mode:t,fs:vh};else if(typeof t=="string")t={mode:parseInt(t,8),fs:vh};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||vh.mkdir,t.mkdirAsync=FAe(t.mkdir),t.stat=t.stat||t.fs.stat||vh.stat,t.statAsync=FAe(t.stat),t.statSync=t.statSync||t.fs.statSync||vh.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||vh.mkdirSync,t};RAe.exports=Vlt});var LAe=_((hUt,NAe)=>{var Jlt=process.platform,{resolve:zlt,parse:Xlt}=ve("path"),Zlt=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=zlt(t),Jlt==="win32"){let e=/[*|"<>?:]/,{root:r}=Xlt(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};NAe.exports=Zlt});var HAe=_((gUt,_Ae)=>{var{dirname:OAe}=ve("path"),MAe=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(o=>o.isDirectory()?r:void 0,o=>o.code==="ENOENT"?MAe(t,OAe(e),e):void 0),UAe=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(o){return o.code==="ENOENT"?UAe(t,OAe(e),e):void 0}};_Ae.exports={findMade:MAe,findMadeSync:UAe}});var U3=_((dUt,jAe)=>{var{dirname:qAe}=ve("path"),O3=(t,e,r)=>{e.recursive=!1;let o=qAe(t);return o===t?e.mkdirAsync(t,e).catch(a=>{if(a.code!=="EISDIR")throw a}):e.mkdirAsync(t,e).then(()=>r||t,a=>{if(a.code==="ENOENT")return O3(o,e).then(n=>O3(t,e,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return e.statAsync(t).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},M3=(t,e,r)=>{let o=qAe(t);if(e.recursive=!1,o===t)try{return e.mkdirSync(t,e)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return e.mkdirSync(t,e),r||t}catch(a){if(a.code==="ENOENT")return M3(t,e,M3(o,e,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!e.statSync(t).isDirectory())throw a}catch{throw a}}};jAe.exports={mkdirpManual:O3,mkdirpManualSync:M3}});var WAe=_((mUt,YAe)=>{var{dirname:GAe}=ve("path"),{findMade:$lt,findMadeSync:ect}=HAe(),{mkdirpManual:tct,mkdirpManualSync:rct}=U3(),nct=(t,e)=>(e.recursive=!0,GAe(t)===t?e.mkdirAsync(t,e):$lt(e,t).then(o=>e.mkdirAsync(t,e).then(()=>o).catch(a=>{if(a.code==="ENOENT")return tct(t,e);throw a}))),ict=(t,e)=>{if(e.recursive=!0,GAe(t)===t)return e.mkdirSync(t,e);let o=ect(e,t);try{return e.mkdirSync(t,e),o}catch(a){if(a.code==="ENOENT")return rct(t,e);throw a}};YAe.exports={mkdirpNative:nct,mkdirpNativeSync:ict}});var zAe=_((yUt,JAe)=>{var KAe=ve("fs"),sct=process.version,_3=sct.replace(/^v/,"").split("."),VAe=+_3[0]>10||+_3[0]==10&&+_3[1]>=12,oct=VAe?t=>t.mkdir===KAe.mkdir:()=>!1,act=VAe?t=>t.mkdirSync===KAe.mkdirSync:()=>!1;JAe.exports={useNative:oct,useNativeSync:act}});var rfe=_((EUt,tfe)=>{var rC=TAe(),nC=LAe(),{mkdirpNative:XAe,mkdirpNativeSync:ZAe}=WAe(),{mkdirpManual:$Ae,mkdirpManualSync:efe}=U3(),{useNative:lct,useNativeSync:cct}=zAe(),iC=(t,e)=>(t=nC(t),e=rC(e),lct(e)?XAe(t,e):$Ae(t,e)),uct=(t,e)=>(t=nC(t),e=rC(e),cct(e)?ZAe(t,e):efe(t,e));iC.sync=uct;iC.native=(t,e)=>XAe(nC(t),rC(e));iC.manual=(t,e)=>$Ae(nC(t),rC(e));iC.nativeSync=(t,e)=>ZAe(nC(t),rC(e));iC.manualSync=(t,e)=>efe(nC(t),rC(e));tfe.exports=iC});var cfe=_((CUt,lfe)=>{"use strict";var $l=ve("fs"),qd=ve("path"),Act=$l.lchown?"lchown":"chown",fct=$l.lchownSync?"lchownSync":"chownSync",ife=$l.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),nfe=(t,e,r)=>{try{return $l[fct](t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},pct=(t,e,r)=>{try{return $l.chownSync(t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},hct=ife?(t,e,r,o)=>a=>{!a||a.code!=="EISDIR"?o(a):$l.chown(t,e,r,o)}:(t,e,r,o)=>o,H3=ife?(t,e,r)=>{try{return nfe(t,e,r)}catch(o){if(o.code!=="EISDIR")throw o;pct(t,e,r)}}:(t,e,r)=>nfe(t,e,r),gct=process.version,sfe=(t,e,r)=>$l.readdir(t,e,r),dct=(t,e)=>$l.readdirSync(t,e);/^v4\./.test(gct)&&(sfe=(t,e,r)=>$l.readdir(t,r));var Lx=(t,e,r,o)=>{$l[Act](t,e,r,hct(t,e,r,a=>{o(a&&a.code!=="ENOENT"?a:null)}))},ofe=(t,e,r,o,a)=>{if(typeof e=="string")return $l.lstat(qd.resolve(t,e),(n,u)=>{if(n)return a(n.code!=="ENOENT"?n:null);u.name=e,ofe(t,u,r,o,a)});if(e.isDirectory())q3(qd.resolve(t,e.name),r,o,n=>{if(n)return a(n);let u=qd.resolve(t,e.name);Lx(u,r,o,a)});else{let n=qd.resolve(t,e.name);Lx(n,r,o,a)}},q3=(t,e,r,o)=>{sfe(t,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return o();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!n.length)return Lx(t,e,r,o);let u=n.length,A=null,p=h=>{if(!A){if(h)return o(A=h);if(--u===0)return Lx(t,e,r,o)}};n.forEach(h=>ofe(t,h,e,r,p))})},mct=(t,e,r,o)=>{if(typeof e=="string")try{let a=$l.lstatSync(qd.resolve(t,e));a.name=e,e=a}catch(a){if(a.code==="ENOENT")return;throw a}e.isDirectory()&&afe(qd.resolve(t,e.name),r,o),H3(qd.resolve(t,e.name),r,o)},afe=(t,e,r)=>{let o;try{o=dct(t,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return H3(t,e,r);throw a}return o&&o.length&&o.forEach(a=>mct(t,a,e,r)),H3(t,e,r)};lfe.exports=q3;q3.sync=afe});var pfe=_((wUt,j3)=>{"use strict";var ufe=rfe(),ec=ve("fs"),Ox=ve("path"),Afe=cfe(),Wc=qE(),Mx=class extends Error{constructor(e,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=e}get name(){return"SylinkError"}},Ux=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'"),this.path=e,this.code=r}get name(){return"CwdError"}},_x=(t,e)=>t.get(Wc(e)),J1=(t,e,r)=>t.set(Wc(e),r),yct=(t,e)=>{ec.stat(t,(r,o)=>{(r||!o.isDirectory())&&(r=new Ux(t,r&&r.code||"ENOTDIR")),e(r)})};j3.exports=(t,e,r)=>{t=Wc(t);let o=e.umask,a=e.mode|448,n=(a&o)!==0,u=e.uid,A=e.gid,p=typeof u=="number"&&typeof A=="number"&&(u!==e.processUid||A!==e.processGid),h=e.preserve,E=e.unlink,I=e.cache,v=Wc(e.cwd),x=(L,U)=>{L?r(L):(J1(I,t,!0),U&&p?Afe(U,u,A,J=>x(J)):n?ec.chmod(t,a,r):r())};if(I&&_x(I,t)===!0)return x();if(t===v)return yct(t,x);if(h)return ufe(t,{mode:a}).then(L=>x(null,L),x);let R=Wc(Ox.relative(v,t)).split("/");Hx(v,R,a,I,E,v,null,x)};var Hx=(t,e,r,o,a,n,u,A)=>{if(!e.length)return A(null,u);let p=e.shift(),h=Wc(Ox.resolve(t+"/"+p));if(_x(o,h))return Hx(h,e,r,o,a,n,u,A);ec.mkdir(h,r,ffe(h,e,r,o,a,n,u,A))},ffe=(t,e,r,o,a,n,u,A)=>p=>{p?ec.lstat(t,(h,E)=>{if(h)h.path=h.path&&Wc(h.path),A(h);else if(E.isDirectory())Hx(t,e,r,o,a,n,u,A);else if(a)ec.unlink(t,I=>{if(I)return A(I);ec.mkdir(t,r,ffe(t,e,r,o,a,n,u,A))});else{if(E.isSymbolicLink())return A(new Mx(t,t+"/"+e.join("/")));A(p)}}):(u=u||t,Hx(t,e,r,o,a,n,u,A))},Ect=t=>{let e=!1,r="ENOTDIR";try{e=ec.statSync(t).isDirectory()}catch(o){r=o.code}finally{if(!e)throw new Ux(t,r)}};j3.exports.sync=(t,e)=>{t=Wc(t);let r=e.umask,o=e.mode|448,a=(o&r)!==0,n=e.uid,u=e.gid,A=typeof n=="number"&&typeof u=="number"&&(n!==e.processUid||u!==e.processGid),p=e.preserve,h=e.unlink,E=e.cache,I=Wc(e.cwd),v=L=>{J1(E,t,!0),L&&A&&Afe.sync(L,n,u),a&&ec.chmodSync(t,o)};if(E&&_x(E,t)===!0)return v();if(t===I)return Ect(I),v();if(p)return v(ufe.sync(t,o));let C=Wc(Ox.relative(I,t)).split("/"),R=null;for(let L=C.shift(),U=I;L&&(U+="/"+L);L=C.shift())if(U=Wc(Ox.resolve(U)),!_x(E,U))try{ec.mkdirSync(U,o),R=R||U,J1(E,U,!0)}catch{let te=ec.lstatSync(U);if(te.isDirectory()){J1(E,U,!0);continue}else if(h){ec.unlinkSync(U),ec.mkdirSync(U,o),R=R||U,J1(E,U,!0);continue}else if(te.isSymbolicLink())return new Mx(U,U+"/"+C.join("/"))}return v(R)}});var Y3=_((IUt,hfe)=>{var G3=Object.create(null),{hasOwnProperty:Cct}=Object.prototype;hfe.exports=t=>(Cct.call(G3,t)||(G3[t]=t.normalize("NFKD")),G3[t])});var yfe=_((BUt,mfe)=>{var gfe=ve("assert"),wct=Y3(),Ict=YE(),{join:dfe}=ve("path"),Bct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,vct=Bct==="win32";mfe.exports=()=>{let t=new Map,e=new Map,r=h=>h.split("/").slice(0,-1).reduce((I,v)=>(I.length&&(v=dfe(I[I.length-1],v)),I.push(v||"/"),I),[]),o=new Set,a=h=>{let E=e.get(h);if(!E)throw new Error("function does not have any path reservations");return{paths:E.paths.map(I=>t.get(I)),dirs:[...E.dirs].map(I=>t.get(I))}},n=h=>{let{paths:E,dirs:I}=a(h);return E.every(v=>v[0]===h)&&I.every(v=>v[0]instanceof Set&&v[0].has(h))},u=h=>o.has(h)||!n(h)?!1:(o.add(h),h(()=>A(h)),!0),A=h=>{if(!o.has(h))return!1;let{paths:E,dirs:I}=e.get(h),v=new Set;return E.forEach(x=>{let C=t.get(x);gfe.equal(C[0],h),C.length===1?t.delete(x):(C.shift(),typeof C[0]=="function"?v.add(C[0]):C[0].forEach(R=>v.add(R)))}),I.forEach(x=>{let C=t.get(x);gfe(C[0]instanceof Set),C[0].size===1&&C.length===1?t.delete(x):C[0].size===1?(C.shift(),v.add(C[0])):C[0].delete(h)}),o.delete(h),v.forEach(x=>u(x)),!0};return{check:n,reserve:(h,E)=>{h=vct?["win32 parallelization disabled"]:h.map(v=>wct(Ict(dfe(v))).toLowerCase());let I=new Set(h.map(v=>r(v)).reduce((v,x)=>v.concat(x)));return e.set(E,{dirs:I,paths:h}),h.forEach(v=>{let x=t.get(v);x?x.push(E):t.set(v,[E])}),I.forEach(v=>{let x=t.get(v);x?x[x.length-1]instanceof Set?x[x.length-1].add(E):x.push(new Set([E])):t.set(v,[new Set([E])])}),u(E)}}}});var wfe=_((vUt,Cfe)=>{var Dct=process.platform,Sct=Dct==="win32",Pct=global.__FAKE_TESTING_FS__||ve("fs"),{O_CREAT:bct,O_TRUNC:xct,O_WRONLY:kct,UV_FS_O_FILEMAP:Efe=0}=Pct.constants,Qct=Sct&&!!Efe,Fct=512*1024,Rct=Efe|xct|bct|kct;Cfe.exports=Qct?t=>t"w"});var e_=_((DUt,Nfe)=>{"use strict";var Tct=ve("assert"),Nct=Rx(),vn=ve("fs"),Lct=eC(),Wf=ve("path"),Ffe=pfe(),Ife=e3(),Oct=yfe(),Mct=t3(),fl=qE(),Uct=YE(),_ct=Y3(),Bfe=Symbol("onEntry"),V3=Symbol("checkFs"),vfe=Symbol("checkFs2"),Gx=Symbol("pruneCache"),J3=Symbol("isReusable"),tc=Symbol("makeFs"),z3=Symbol("file"),X3=Symbol("directory"),Yx=Symbol("link"),Dfe=Symbol("symlink"),Sfe=Symbol("hardlink"),Pfe=Symbol("unsupported"),bfe=Symbol("checkPath"),Dh=Symbol("mkdir"),To=Symbol("onError"),qx=Symbol("pending"),xfe=Symbol("pend"),sC=Symbol("unpend"),W3=Symbol("ended"),K3=Symbol("maybeClose"),Z3=Symbol("skip"),z1=Symbol("doChown"),X1=Symbol("uid"),Z1=Symbol("gid"),$1=Symbol("checkedCwd"),Rfe=ve("crypto"),Tfe=wfe(),Hct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,e2=Hct==="win32",qct=(t,e)=>{if(!e2)return vn.unlink(t,e);let r=t+".DELETE."+Rfe.randomBytes(16).toString("hex");vn.rename(t,r,o=>{if(o)return e(o);vn.unlink(r,e)})},jct=t=>{if(!e2)return vn.unlinkSync(t);let e=t+".DELETE."+Rfe.randomBytes(16).toString("hex");vn.renameSync(t,e),vn.unlinkSync(e)},kfe=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,Qfe=t=>_ct(Uct(fl(t))).toLowerCase(),Gct=(t,e)=>{e=Qfe(e);for(let r of t.keys()){let o=Qfe(r);(o===e||o.indexOf(e+"/")===0)&&t.delete(r)}},Yct=t=>{for(let e of t.keys())t.delete(e)},t2=class extends Nct{constructor(e){if(e||(e={}),e.ondone=r=>{this[W3]=!0,this[K3]()},super(e),this[$1]=!1,this.reservations=Oct(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[qx]=0,this[W3]=!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||e2,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=fl(Wf.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0: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",r=>this[Bfe](r))}warn(e,r,o={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(o.recoverable=!1),super.warn(e,r,o)}[K3](){this[W3]&&this[qx]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[bfe](e){if(this.strip){let r=fl(e.path).split("/");if(r.length=this.strip)e.linkpath=o.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=fl(e.path),o=r.split("/");if(o.includes("..")||e2&&/^[a-z]:\.\.$/i.test(o[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;let[a,n]=Mct(r);a&&(e.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:e,path:r}))}if(Wf.isAbsolute(e.path)?e.absolute=fl(Wf.resolve(e.path)):e.absolute=fl(Wf.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:fl(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=Wf.win32.parse(e.absolute);e.absolute=r+Ife.encode(e.absolute.substr(r.length));let{root:o}=Wf.win32.parse(e.path);e.path=o+Ife.encode(e.path.substr(o.length))}return!0}[Bfe](e){if(!this[bfe](e))return e.resume();switch(Tct.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[V3](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[Pfe](e)}}[To](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[sC](),r.resume())}[Dh](e,r,o){Ffe(fl(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:r,noChmod:this.noChmod},o)}[z1](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}[X1](e){return kfe(this.uid,e.uid,this.processUid)}[Z1](e){return kfe(this.gid,e.gid,this.processGid)}[z3](e,r){let o=e.mode&4095||this.fmode,a=new Lct.WriteStream(e.absolute,{flags:Tfe(e.size),mode:o,autoClose:!1});a.on("error",p=>{a.fd&&vn.close(a.fd,()=>{}),a.write=()=>!0,this[To](p,e),r()});let n=1,u=p=>{if(p){a.fd&&vn.close(a.fd,()=>{}),this[To](p,e),r();return}--n===0&&vn.close(a.fd,h=>{h?this[To](h,e):this[sC](),r()})};a.on("finish",p=>{let h=e.absolute,E=a.fd;if(e.mtime&&!this.noMtime){n++;let I=e.atime||new Date,v=e.mtime;vn.futimes(E,I,v,x=>x?vn.utimes(h,I,v,C=>u(C&&x)):u())}if(this[z1](e)){n++;let I=this[X1](e),v=this[Z1](e);vn.fchown(E,I,v,x=>x?vn.chown(h,I,v,C=>u(C&&x)):u())}u()});let A=this.transform&&this.transform(e)||e;A!==e&&(A.on("error",p=>{this[To](p,e),r()}),e.pipe(A)),A.pipe(a)}[X3](e,r){let o=e.mode&4095||this.dmode;this[Dh](e.absolute,o,a=>{if(a){this[To](a,e),r();return}let n=1,u=A=>{--n===0&&(r(),this[sC](),e.resume())};e.mtime&&!this.noMtime&&(n++,vn.utimes(e.absolute,e.atime||new Date,e.mtime,u)),this[z1](e)&&(n++,vn.chown(e.absolute,this[X1](e),this[Z1](e),u)),u()})}[Pfe](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[Dfe](e,r){this[Yx](e,e.linkpath,"symlink",r)}[Sfe](e,r){let o=fl(Wf.resolve(this.cwd,e.linkpath));this[Yx](e,o,"link",r)}[xfe](){this[qx]++}[sC](){this[qx]--,this[K3]()}[Z3](e){this[sC](),e.resume()}[J3](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!e2}[V3](e){this[xfe]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,o=>this[vfe](e,o))}[Gx](e){e.type==="SymbolicLink"?Yct(this.dirCache):e.type!=="Directory"&&Gct(this.dirCache,e.absolute)}[vfe](e,r){this[Gx](e);let o=A=>{this[Gx](e),r(A)},a=()=>{this[Dh](this.cwd,this.dmode,A=>{if(A){this[To](A,e),o();return}this[$1]=!0,n()})},n=()=>{if(e.absolute!==this.cwd){let A=fl(Wf.dirname(e.absolute));if(A!==this.cwd)return this[Dh](A,this.dmode,p=>{if(p){this[To](p,e),o();return}u()})}u()},u=()=>{vn.lstat(e.absolute,(A,p)=>{if(p&&(this.keep||this.newer&&p.mtime>e.mtime)){this[Z3](e),o();return}if(A||this[J3](e,p))return this[tc](null,e,o);if(p.isDirectory()){if(e.type==="Directory"){let h=!this.noChmod&&e.mode&&(p.mode&4095)!==e.mode,E=I=>this[tc](I,e,o);return h?vn.chmod(e.absolute,e.mode,E):E()}if(e.absolute!==this.cwd)return vn.rmdir(e.absolute,h=>this[tc](h,e,o))}if(e.absolute===this.cwd)return this[tc](null,e,o);qct(e.absolute,h=>this[tc](h,e,o))})};this[$1]?n():a()}[tc](e,r,o){if(e){this[To](e,r),o();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[z3](r,o);case"Link":return this[Sfe](r,o);case"SymbolicLink":return this[Dfe](r,o);case"Directory":case"GNUDumpDir":return this[X3](r,o)}}[Yx](e,r,o,a){vn[o](r,e.absolute,n=>{n?this[To](n,e):(this[sC](),e.resume()),a()})}},jx=t=>{try{return[null,t()]}catch(e){return[e,null]}},$3=class extends t2{[tc](e,r){return super[tc](e,r,()=>{})}[V3](e){if(this[Gx](e),!this[$1]){let n=this[Dh](this.cwd,this.dmode);if(n)return this[To](n,e);this[$1]=!0}if(e.absolute!==this.cwd){let n=fl(Wf.dirname(e.absolute));if(n!==this.cwd){let u=this[Dh](n,this.dmode);if(u)return this[To](u,e)}}let[r,o]=jx(()=>vn.lstatSync(e.absolute));if(o&&(this.keep||this.newer&&o.mtime>e.mtime))return this[Z3](e);if(r||this[J3](e,o))return this[tc](null,e);if(o.isDirectory()){if(e.type==="Directory"){let u=!this.noChmod&&e.mode&&(o.mode&4095)!==e.mode,[A]=u?jx(()=>{vn.chmodSync(e.absolute,e.mode)}):[];return this[tc](A,e)}let[n]=jx(()=>vn.rmdirSync(e.absolute));this[tc](n,e)}let[a]=e.absolute===this.cwd?[]:jx(()=>jct(e.absolute));this[tc](a,e)}[z3](e,r){let o=e.mode&4095||this.fmode,a=A=>{let p;try{vn.closeSync(n)}catch(h){p=h}(A||p)&&this[To](A||p,e),r()},n;try{n=vn.openSync(e.absolute,Tfe(e.size),o)}catch(A){return a(A)}let u=this.transform&&this.transform(e)||e;u!==e&&(u.on("error",A=>this[To](A,e)),e.pipe(u)),u.on("data",A=>{try{vn.writeSync(n,A,0,A.length)}catch(p){a(p)}}),u.on("end",A=>{let p=null;if(e.mtime&&!this.noMtime){let h=e.atime||new Date,E=e.mtime;try{vn.futimesSync(n,h,E)}catch(I){try{vn.utimesSync(e.absolute,h,E)}catch{p=I}}}if(this[z1](e)){let h=this[X1](e),E=this[Z1](e);try{vn.fchownSync(n,h,E)}catch(I){try{vn.chownSync(e.absolute,h,E)}catch{p=p||I}}}a(p)})}[X3](e,r){let o=e.mode&4095||this.dmode,a=this[Dh](e.absolute,o);if(a){this[To](a,e),r();return}if(e.mtime&&!this.noMtime)try{vn.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[z1](e))try{vn.chownSync(e.absolute,this[X1](e),this[Z1](e))}catch{}r(),e.resume()}[Dh](e,r){try{return Ffe.sync(fl(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:r})}catch(o){return o}}[Yx](e,r,o,a){try{vn[o+"Sync"](r,e.absolute),a(),e.resume()}catch(n){return this[To](n,e)}}};t2.Sync=$3;Nfe.exports=t2});var _fe=_((SUt,Ufe)=>{"use strict";var Wct=OE(),Wx=e_(),Ofe=ve("fs"),Mfe=eC(),Lfe=ve("path"),t_=YE();Ufe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=Wct(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Kct(o,e),o.file&&o.sync?Vct(o):o.file?Jct(o,r):o.sync?zct(o):Xct(o)};var Kct=(t,e)=>{let r=new Map(e.map(n=>[t_(n),!0])),o=t.filter,a=(n,u)=>{let A=u||Lfe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(Lfe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(t_(n)):n=>a(t_(n))},Vct=t=>{let e=new Wx.Sync(t),r=t.file,o=Ofe.statSync(r),a=t.maxReadSize||16*1024*1024;new Mfe.ReadStreamSync(r,{readSize:a,size:o.size}).pipe(e)},Jct=(t,e)=>{let r=new Wx(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("close",u),Ofe.stat(a,(p,h)=>{if(p)A(p);else{let E=new Mfe.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},zct=t=>new Wx.Sync(t),Xct=t=>new Wx(t)});var Hfe=_(us=>{"use strict";us.c=us.create=IAe();us.r=us.replace=L3();us.t=us.list=Tx();us.u=us.update=QAe();us.x=us.extract=_fe();us.Pack=Ex();us.Unpack=e_();us.Parse=Rx();us.ReadEntry=rx();us.WriteEntry=A3();us.Header=GE();us.Pax=ix();us.types=KU()});var r_,qfe,Sh,r2,n2,jfe=Et(()=>{r_=$e(id()),qfe=ve("worker_threads"),Sh=Symbol("kTaskInfo"),r2=class{constructor(e,r){this.fn=e;this.limit=(0,r_.default)(r.poolSize)}run(e){return this.limit(()=>this.fn(e))}},n2=class{constructor(e,r){this.source=e;this.workers=[];this.limit=(0,r_.default)(r.poolSize),this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let o=this.workers.pop();o?o.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new qfe.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[Sh])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[Sh].resolve(r),e[Sh]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{e[Sh]?.reject(r),e[Sh]=null}),e.on("exit",r=>{r!==0&&e[Sh]?.reject(new Error(`Worker exited with code ${r}`)),e[Sh]=null}),e}run(e){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((o,a)=>{r[Sh]={resolve:o,reject:a},r.postMessage(e)})})}}});var Yfe=_((kUt,Gfe)=>{var n_;Gfe.exports.getContent=()=>(typeof n_>"u"&&(n_=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),n_)});var Xi={};Vt(Xi,{convertToZip:()=>tut,convertToZipWorker:()=>o_,extractArchiveTo:()=>zfe,getDefaultTaskPool:()=>Vfe,getTaskPoolForConfiguration:()=>Jfe,makeArchiveFromDirectory:()=>eut});function Zct(t,e){switch(t){case"async":return new r2(o_,{poolSize:e});case"workers":return new n2((0,s_.getContent)(),{poolSize:e});default:throw new Error(`Assertion failed: Unknown value ${t} for taskPoolMode`)}}function Vfe(){return typeof i_>"u"&&(i_=Zct("workers",Ji.availableParallelism())),i_}function Jfe(t){return typeof t>"u"?Vfe():ol($ct,t,()=>{let e=t.get("taskPoolMode"),r=t.get("taskPoolConcurrency");switch(e){case"async":return new r2(o_,{poolSize:r});case"workers":return new n2((0,s_.getContent)(),{poolSize:r});default:throw new Error(`Assertion failed: Unknown value ${e} for taskPoolMode`)}})}async function o_(t){let{tmpFile:e,tgz:r,compressionLevel:o,extractBufferOpts:a}=t,n=new zi(e,{create:!0,level:o,stats:Ea.makeDefaultStats()}),u=Buffer.from(r.buffer,r.byteOffset,r.byteLength);return await zfe(u,n,a),n.saveAndClose(),e}async function eut(t,{baseFs:e=new Tn,prefixPath:r=Bt.root,compressionLevel:o,inMemory:a=!1}={}){let n;if(a)n=new zi(null,{level:o});else{let A=await oe.mktempPromise(),p=V.join(A,"archive.zip");n=new zi(p,{create:!0,level:o})}let u=V.resolve(Bt.root,r);return await n.copyPromise(u,t,{baseFs:e,stableTime:!0,stableSort:!0}),n}async function tut(t,e={}){let r=await oe.mktempPromise(),o=V.join(r,"archive.zip"),a=e.compressionLevel??e.configuration?.get("compressionLevel")??"mixed",n={prefixPath:e.prefixPath,stripComponents:e.stripComponents};return await(e.taskPool??Jfe(e.configuration)).run({tmpFile:o,tgz:t,compressionLevel:a,extractBufferOpts:n}),new zi(o,{level:e.compressionLevel})}async function*rut(t){let e=new Kfe.default.Parse,r=new Wfe.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",o=>{r.write(o)}),e.on("error",o=>{r.destroy(o)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let o of r){let a=o;yield a,a.resume()}}async function zfe(t,e,{stripComponents:r=0,prefixPath:o=Bt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let u=n.path.split(/\//g);return!!(u.some(A=>A==="..")||u.length<=r)}for await(let n of rut(t)){if(a(n))continue;let u=V.normalize(ue.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(u.length<=r)continue;let A=u.slice(r).join("/"),p=V.join(o,A),h=420;switch((n.type==="Directory"||((n.mode??0)&73)!==0)&&(h|=73),n.type){case"Directory":e.mkdirpSync(V.dirname(p),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),e.mkdirSync(p,{mode:h}),e.utimesSync(p,vi.SAFE_TIME,vi.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(V.dirname(p),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),e.writeFileSync(p,await Vy(n),{mode:h}),e.utimesSync(p,vi.SAFE_TIME,vi.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(V.dirname(p),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),e.symlinkSync(n.linkpath,p),e.lutimesSync(p,vi.SAFE_TIME,vi.SAFE_TIME);break}}return e}var Wfe,Kfe,s_,i_,$ct,Xfe=Et(()=>{Ye();St();nA();Wfe=ve("stream"),Kfe=$e(Hfe());jfe();ql();s_=$e(Yfe());$ct=new WeakMap});var $fe=_((a_,Zfe)=>{(function(t,e){typeof a_=="object"?Zfe.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(a_,function(){function t(a,n){var u=n?"\u2514":"\u251C";return a?u+="\u2500 ":u+="\u2500\u2500\u2510",u}function e(a,n){var u=[];for(var A in a)!a.hasOwnProperty(A)||n&&typeof a[A]=="function"||u.push(A);return u}function r(a,n,u,A,p,h,E){var I="",v=0,x,C,R=A.slice(0);if(R.push([n,u])&&A.length>0&&(A.forEach(function(U,J){J>0&&(I+=(U[1]?" ":"\u2502")+" "),!C&&U[0]===n&&(C=!0)}),I+=t(a,u)+a,p&&(typeof n!="object"||n instanceof Date)&&(I+=": "+n),C&&(I+=" (circular ref.)"),E(I)),!C&&typeof n=="object"){var L=e(n,h);L.forEach(function(U){x=++v===L.length,r(U,n[U],x,R,p,h,E)})}}var o={};return o.asLines=function(a,n,u,A){var p=typeof u!="function"?u:!1;r(".",a,!1,[],n,p,A||u)},o.asTree=function(a,n,u){var A="";return r(".",a,!1,[],n,u,function(p){A+=p+` +`}),A},o})});var $s={};Vt($s,{emitList:()=>nut,emitTree:()=>npe,treeNodeToJson:()=>rpe,treeNodeToTreeify:()=>tpe});function tpe(t,{configuration:e}){let r={},o=0,a=(n,u)=>{let A=Array.isArray(n)?n.entries():Object.entries(n);for(let[p,h]of A){if(!h)continue;let{label:E,value:I,children:v}=h,x=[];typeof E<"u"&&x.push(yd(e,E,2)),typeof I<"u"&&x.push(Mt(e,I[0],I[1])),x.length===0&&x.push(yd(e,`${p}`,2));let C=x.join(": ").trim(),R=`\0${o++}\0`,L=u[`${R}${C}`]={};typeof v<"u"&&a(v,L)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return a(t.children,r),r}function rpe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Ed(r.value[0],r.value[1])}let o=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,u]of o)u&&(a[iut(n)]=e(u));return typeof r.value>"u"?a:{value:Ed(r.value[0],r.value[1]),children:a}};return e(t)}function nut(t,{configuration:e,stdout:r,json:o}){let a=t.map(n=>({value:n}));npe({children:a},{configuration:e,stdout:r,json:o})}function npe(t,{configuration:e,stdout:r,json:o,separators:a=0}){if(o){let u=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let A of u)A&&r.write(`${JSON.stringify(rpe(A))} +`);return}let n=(0,epe.asTree)(tpe(t,{configuration:e}),!1,!1);if(n=n.replace(/\0[0-9]+\0/g,""),a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),a>=2)for(let u=0;u<2;++u)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}function iut(t){return typeof t=="string"?t.replace(/^\0[0-9]+\0/,""):t}var epe,ipe=Et(()=>{epe=$e($fe());jl()});function i2(t){let e=t.match(sut);if(!e?.groups)throw new Error("Assertion failed: Expected the checksum to match the requested pattern");let r=e.groups.cacheVersion?parseInt(e.groups.cacheVersion):null;return{cacheKey:e.groups.cacheKey??null,cacheVersion:r,cacheSpec:e.groups.cacheSpec??null,hash:e.groups.hash}}var spe,l_,c_,Kx,Lr,sut,u_=Et(()=>{Ye();St();St();nA();spe=ve("crypto"),l_=$e(ve("fs"));Yl();nh();ql();bo();c_=Jy(process.env.YARN_CACHE_CHECKPOINT_OVERRIDE??process.env.YARN_CACHE_VERSION_OVERRIDE??9),Kx=Jy(process.env.YARN_CACHE_VERSION_OVERRIDE??10),Lr=class{constructor(e,{configuration:r,immutable:o=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,spe.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=o,this.check=a;let{cacheSpec:n,cacheKey:u}=Lr.getCacheKey(r);this.cacheSpec=n,this.cacheKey=u}static async find(e,{immutable:r,check:o}={}){let a=new Lr(e.get("cacheFolder"),{configuration:e,immutable:r,check:o});return await a.setup(),a}static getCacheKey(e){let r=e.get("compressionLevel"),o=r!=="mixed"?`c${r}`:"";return{cacheKey:[Kx,o].join(""),cacheSpec:o}}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`${lE(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=i2(r).hash.slice(0,10);return`${lE(e)}-${a}.zip`}isChecksumCompatible(e){if(e===null)return!1;let{cacheVersion:r,cacheSpec:o}=i2(e);if(r===null||r{let he=new zi,Be=V.join(Bt.root,nM(e));return he.mkdirSync(Be,{recursive:!0}),he.writeJsonSync(V.join(Be,dr.manifest),{name:fn(e),mocked:!0}),he},E=async(he,{isColdHit:Be,controlPath:we=null})=>{if(we===null&&u.unstablePackages?.has(e.locatorHash))return{isValid:!0,hash:null};let g=r&&!Be?i2(r).cacheKey:this.cacheKey,Ee=!u.skipIntegrityCheck||!r?`${g}/${await NP(he)}`:r;if(we!==null){let le=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await NP(we)}`:r;if(Ee!==le)throw new zt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}let Se=null;switch(r!==null&&Ee!==r&&(this.check?Se="throw":i2(r).cacheKey!==i2(Ee).cacheKey?Se="update":Se=this.configuration.get("checksumBehavior")),Se){case null:case"update":return{isValid:!0,hash:Ee};case"ignore":return{isValid:!0,hash:r};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new zt(18,"The remote archive doesn't match the expected checksum")}},I=async he=>{if(!n)throw new Error(`Cache check required but no loader configured for ${qr(this.configuration,e)}`);let Be=await n(),we=Be.getRealPath();Be.saveAndClose(),await oe.chmodPromise(we,420);let g=await E(he,{controlPath:we,isColdHit:!1});if(!g.isValid)throw new Error("Assertion failed: Expected a valid checksum");return g.hash},v=async()=>{if(A===null||!await oe.existsPromise(A)){let he=await n(),Be=he.getRealPath();return he.saveAndClose(),{source:"loader",path:Be}}return{source:"mirror",path:A}},x=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${qr(this.configuration,e)}`);if(this.immutable)throw new zt(56,`Cache entry required but missing for ${qr(this.configuration,e)}`);let{path:he,source:Be}=await v(),{hash:we}=await E(he,{isColdHit:!0}),g=this.getLocatorPath(e,we),Ee=[];Be!=="mirror"&&A!==null&&Ee.push(async()=>{let le=`${A}${this.cacheId}`;await oe.copyFilePromise(he,le,l_.default.constants.COPYFILE_FICLONE),await oe.chmodPromise(le,420),await oe.renamePromise(le,A)}),(!u.mirrorWriteOnly||A===null)&&Ee.push(async()=>{let le=`${g}${this.cacheId}`;await oe.copyFilePromise(he,le,l_.default.constants.COPYFILE_FICLONE),await oe.chmodPromise(le,420),await oe.renamePromise(le,g)});let Se=u.mirrorWriteOnly?A??g:g;return await Promise.all(Ee.map(le=>le())),[!1,Se,we]},C=async()=>{let Be=(async()=>{let we=u.unstablePackages?.has(e.locatorHash),g=we||!r||this.isChecksumCompatible(r)?this.getLocatorPath(e,r):null,Ee=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,Se=!!u.mockedPackages?.has(e.locatorHash)&&(!this.check||!Ee),le=Se||Ee,ne=le?o:a;if(ne&&ne(),le){let ee=null,Ie=g;if(!Se)if(this.check)ee=await I(Ie);else{let Fe=await E(Ie,{isColdHit:!1});if(Fe.isValid)ee=Fe.hash;else return x()}return[Se,Ie,ee]}else{if(this.immutable&&we)throw new zt(56,`Cache entry required but missing for ${qr(this.configuration,e)}; consider defining ${de.pretty(this.configuration,"supportedArchitectures",de.Type.CODE)} to cache packages for multiple systems`);return x()}})();this.mutexes.set(e.locatorHash,Be);try{return await Be}finally{this.mutexes.delete(e.locatorHash)}};for(let he;he=this.mutexes.get(e.locatorHash);)await he;let[R,L,U]=await C();R||this.markedFiles.add(L);let J,te=R?()=>h():()=>new zi(L,{baseFs:p,readOnly:!0}),ae=new iy(()=>EL(()=>J=te(),he=>`Failed to open the cache entry for ${qr(this.configuration,e)}: ${he}`),V),fe=new Uu(L,{baseFs:ae,pathUtils:V}),ce=()=>{J?.discardAndClose()},me=u.unstablePackages?.has(e.locatorHash)?null:U;return[fe,ce,me]}},sut=/^(?:(?(?[0-9]+)(?.*))\/)?(?.*)$/});var Vx,ope=Et(()=>{Vx=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(Vx||{})});var out,oC,A_=Et(()=>{St();Nl();Qf();bo();out=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,o)=>`${r}#commit=${o}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>_P({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],oC=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let o=V.join(e.cwd,dr.lockfile);if(!oe.existsSync(o))return;let a=await oe.readFilePromise(o,"utf8"),n=Ki(a);if(Object.hasOwn(n,"__metadata"))return;let u=this.resolutions=new Map;for(let A of Object.keys(n)){let p=s1(A);if(!p){r.reportWarning(14,`Failed to parse the string "${A}" into a proper descriptor`);continue}let h=xa(p.range)?In(p,`npm:${p.range}`):p,{version:E,resolved:I}=n[A];if(!I)continue;let v;for(let[C,R]of out){let L=I.match(C);if(L){v=R(E,...L);break}}if(!v){r.reportWarning(14,`${jn(e.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${I}")`);continue}let x=h;try{let C=Bd(h.range),R=s1(C.selector,!0);R&&(x=R)}catch{}u.set(h.descriptorHash,Qs(x,v))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(e.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=$O(a),u=o.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(u,r,o)}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var AA,ape=Et(()=>{Yl();O1();jl();AA=class extends Xs{constructor({configuration:r,stdout:o,suggestInstall:a=!0}){super();this.errorCount=0;XI(this,{configuration:r}),this.configuration=r,this.stdout=o,this.suggestInstall=a}static async start(r,o){let a=new this(r);try{await o(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,o){return o()}async startSectionPromise(r,o){return await o()}startTimerSync(r,o,a){return(typeof o=="function"?o:a)()}async startTimerPromise(r,o,a){return await(typeof o=="function"?o:a)()}reportSeparator(){}reportInfo(r,o){}reportWarning(r,o){}reportError(r,o){this.errorCount+=1,this.stdout.write(`${Mt(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${o} +`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}reportFold(r,o){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${Mt(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${Mt(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(r){return yU(r,{configuration:this.configuration,json:!1})}}});var aC,f_=Et(()=>{bo();aC=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(OP(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){let a=o.project.storedResolutions.get(e.descriptorHash);if(a){let u=o.project.originalPackages.get(a);if(u)return[u]}let n=o.project.originalPackages.get(OP(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.originalPackages.get(e.locatorHash);if(!o)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return o}}});function Kf(){}function aut(t,e,r,o,a){for(var n=0,u=e.length,A=0,p=0;nx.length?R:x}),h.value=t.join(E)}else h.value=t.join(r.slice(A,A+h.count));A+=h.count,h.added||(p+=h.count)}}var v=e[u-1];return u>1&&typeof v.value=="string"&&(v.added||v.removed)&&t.equals("",v.value)&&(e[u-2].value+=v.value,e.pop()),e}function lut(t){return{newPos:t.newPos,components:t.components.slice(0)}}function cut(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function upe(t,e,r){return r=cut(r,{ignoreWhitespace:!0}),m_.diff(t,e,r)}function uut(t,e,r){return y_.diff(t,e,r)}function Jx(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Jx=function(e){return typeof e}:Jx=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Jx(t)}function p_(t){return put(t)||hut(t)||gut(t)||dut()}function put(t){if(Array.isArray(t))return h_(t)}function hut(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function gut(t,e){if(!!t){if(typeof t=="string")return h_(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return h_(t,e)}}function h_(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r"u"&&(u.context=4);var A=uut(r,o,u);if(!A)return;A.push({value:"",lines:[]});function p(U){return U.map(function(J){return" "+J})}for(var h=[],E=0,I=0,v=[],x=1,C=1,R=function(J){var te=A[J],ae=te.lines||te.value.replace(/\n$/,"").split(` +`);if(te.lines=ae,te.added||te.removed){var fe;if(!E){var ce=A[J-1];E=x,I=C,ce&&(v=u.context>0?p(ce.lines.slice(-u.context)):[],E-=v.length,I-=v.length)}(fe=v).push.apply(fe,p_(ae.map(function(le){return(te.added?"+":"-")+le}))),te.added?C+=ae.length:x+=ae.length}else{if(E)if(ae.length<=u.context*2&&J=A.length-2&&ae.length<=u.context){var g=/\n$/.test(r),Ee=/\n$/.test(o),Se=ae.length==0&&v.length>we.oldLines;!g&&Se&&r.length>0&&v.splice(we.oldLines,0,"\\ No newline at end of file"),(!g&&!Se||!Ee)&&v.push("\\ No newline at end of file")}h.push(we),E=0,I=0,v=[]}x+=ae.length,C+=ae.length}},L=0;L{Kf.prototype={diff:function(e,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.callback;typeof o=="function"&&(a=o,o={}),this.options=o;var n=this;function u(R){return a?(setTimeout(function(){a(void 0,R)},0),!0):R}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var A=r.length,p=e.length,h=1,E=A+p;o.maxEditLength&&(E=Math.min(E,o.maxEditLength));var I=[{newPos:-1,components:[]}],v=this.extractCommon(I[0],r,e,0);if(I[0].newPos+1>=A&&v+1>=p)return u([{value:this.join(r),count:r.length}]);function x(){for(var R=-1*h;R<=h;R+=2){var L=void 0,U=I[R-1],J=I[R+1],te=(J?J.newPos:0)-R;U&&(I[R-1]=void 0);var ae=U&&U.newPos+1=A&&te+1>=p)return u(aut(n,L.components,r,e,n.useLongestToken));I[R]=L}h++}if(a)(function R(){setTimeout(function(){if(h>E)return a();x()||R()},0)})();else for(;h<=E;){var C=x();if(C)return C}},pushComponent:function(e,r,o){var a=e[e.length-1];a&&a.added===r&&a.removed===o?e[e.length-1]={count:a.count+1,added:r,removed:o}:e.push({count:1,added:r,removed:o})},extractCommon:function(e,r,o,a){for(var n=r.length,u=o.length,A=e.newPos,p=A-a,h=0;A+1"u"?r:u}:o;return typeof t=="string"?t:JSON.stringify(g_(t,null,null,a),a," ")};s2.equals=function(t,e){return Kf.prototype.equals.call(s2,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};d_=new Kf;d_.tokenize=function(t){return t.slice()};d_.join=d_.removeEmpty=function(t){return t}});var ppe=_((s3t,fpe)=>{var yut=Hl(),Eut=pE(),Cut=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wut=/^\w*$/;function Iut(t,e){if(yut(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Eut(t)?!0:wut.test(t)||!Cut.test(t)||e!=null&&t in Object(e)}fpe.exports=Iut});var dpe=_((o3t,gpe)=>{var hpe=_S(),But="Expected a function";function C_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(But);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var u=t.apply(this,o);return r.cache=n.set(a,u)||n,u};return r.cache=new(C_.Cache||hpe),r}C_.Cache=hpe;gpe.exports=C_});var ype=_((a3t,mpe)=>{var vut=dpe(),Dut=500;function Sut(t){var e=vut(t,function(o){return r.size===Dut&&r.clear(),o}),r=e.cache;return e}mpe.exports=Sut});var w_=_((l3t,Epe)=>{var Put=ype(),but=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xut=/\\(\\)?/g,kut=Put(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(but,function(r,o,a,n){e.push(a?n.replace(xut,"$1"):o||r)}),e});Epe.exports=kut});var jd=_((c3t,Cpe)=>{var Qut=Hl(),Fut=ppe(),Rut=w_(),Tut=N1();function Nut(t,e){return Qut(t)?t:Fut(t,e)?[t]:Rut(Tut(t))}Cpe.exports=Nut});var lC=_((u3t,wpe)=>{var Lut=pE(),Out=1/0;function Mut(t){if(typeof t=="string"||Lut(t))return t;var e=t+"";return e=="0"&&1/t==-Out?"-0":e}wpe.exports=Mut});var zx=_((A3t,Ipe)=>{var Uut=jd(),_ut=lC();function Hut(t,e){e=Uut(e,t);for(var r=0,o=e.length;t!=null&&r{var qut=rP(),jut=jd(),Gut=_I(),Bpe=il(),Yut=lC();function Wut(t,e,r,o){if(!Bpe(t))return t;e=jut(e,t);for(var a=-1,n=e.length,u=n-1,A=t;A!=null&&++a{var Kut=zx(),Vut=I_(),Jut=jd();function zut(t,e,r){for(var o=-1,a=e.length,n={};++o{function Xut(t,e){return t!=null&&e in Object(t)}Ppe.exports=Xut});var B_=_((g3t,xpe)=>{var Zut=jd(),$ut=OI(),eAt=Hl(),tAt=_I(),rAt=YS(),nAt=lC();function iAt(t,e,r){e=Zut(e,t);for(var o=-1,a=e.length,n=!1;++o{var sAt=bpe(),oAt=B_();function aAt(t,e){return t!=null&&oAt(t,e,sAt)}kpe.exports=aAt});var Rpe=_((m3t,Fpe)=>{var lAt=Spe(),cAt=Qpe();function uAt(t,e){return lAt(t,e,function(r,o){return cAt(t,o)})}Fpe.exports=uAt});var Ope=_((y3t,Lpe)=>{var Tpe=pd(),AAt=OI(),fAt=Hl(),Npe=Tpe?Tpe.isConcatSpreadable:void 0;function pAt(t){return fAt(t)||AAt(t)||!!(Npe&&t&&t[Npe])}Lpe.exports=pAt});var _pe=_((E3t,Upe)=>{var hAt=jS(),gAt=Ope();function Mpe(t,e,r,o,a){var n=-1,u=t.length;for(r||(r=gAt),a||(a=[]);++n0&&r(A)?e>1?Mpe(A,e-1,r,o,a):hAt(a,A):o||(a[a.length]=A)}return a}Upe.exports=Mpe});var qpe=_((C3t,Hpe)=>{var dAt=_pe();function mAt(t){var e=t==null?0:t.length;return e?dAt(t,1):[]}Hpe.exports=mAt});var v_=_((w3t,jpe)=>{var yAt=qpe(),EAt=AL(),CAt=fL();function wAt(t){return CAt(EAt(t,void 0,yAt),t+"")}jpe.exports=wAt});var D_=_((I3t,Gpe)=>{var IAt=Rpe(),BAt=v_(),vAt=BAt(function(t,e){return t==null?{}:IAt(t,e)});Gpe.exports=vAt});var Xx,Ype=Et(()=>{Yl();Xx=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.resolver.bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){throw new zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,o,a){throw new zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var Qi,S_=Et(()=>{Yl();Qi=class extends Xs{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,o){return(typeof r=="function"?r:o)()}async startTimerPromise(e,r,o){return await(typeof r=="function"?r:o)()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}reportFold(e,r){}async finalize(){}}});var Wpe,cC,P_=Et(()=>{St();Wpe=$e(RP());fE();vd();jl();nh();Qf();bo();cC=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=e}async setup(){this.manifest=await Ot.tryFind(this.cwd)??new Ot,this.relativeCwd=V.relative(this.project.cwd,this.cwd)||Bt.dot;let e=this.manifest.name?this.manifest.name:eA(null,`${this.computeCandidateName()}-${zs(this.relativeCwd).substring(0,6)}`);this.anchoredDescriptor=In(e,`${Xn.protocol}${this.relativeCwd}`),this.anchoredLocator=Qs(e,`${Xn.protocol}${this.relativeCwd}`);let r=this.manifest.workspaceDefinitions.map(({pattern:a})=>a);if(r.length===0)return;let o=await(0,Wpe.default)(r,{cwd:ue.fromPortablePath(this.cwd),onlyDirectories:!0,ignore:["**/node_modules","**/.git","**/.yarn"]});o.sort(),await o.reduce(async(a,n)=>{let u=V.resolve(this.cwd,ue.toPortablePath(n)),A=await oe.existsPromise(V.join(u,"package.json"));await a,A&&this.workspacesCwds.add(u)},Promise.resolve())}get anchoredPackage(){let e=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!e)throw new Error(`Assertion failed: Expected workspace ${a1(this.project.configuration,this)} (${Mt(this.project.configuration,V.join(this.cwd,dr.manifest),yt.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return e}accepts(e){let r=e.indexOf(":"),o=r!==-1?e.slice(0,r+1):null,a=r!==-1?e.slice(r+1):e;if(o===Xn.protocol&&V.normalize(a)===this.relativeCwd||o===Xn.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=xa(a);return n?o===Xn.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${V.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Ot.hardDependencies}={}){let r=new Set,o=a=>{for(let n of e)for(let u of a.manifest[n].values()){let A=this.project.tryWorkspaceByDescriptor(u);A===null||r.has(A)||(r.add(A),o(A))}};return o(this),r}getRecursiveWorkspaceDependents({dependencies:e=Ot.hardDependencies}={}){let r=new Set,o=a=>{for(let n of this.project.workspaces)e.some(A=>[...n.manifest[A].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&i1(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),o(n))};return o(this),r}getRecursiveWorkspaceChildren(){let e=new Set([this]);for(let r of e)for(let o of r.workspacesCwds){let a=this.project.workspacesByCwd.get(o);a&&e.add(a)}return e.delete(this),Array.from(e)}async persistManifest(){let e={};this.manifest.exportTo(e);let r=V.join(this.cwd,Ot.fileName),o=`${JSON.stringify(e,null,this.manifest.indent)} +`;await oe.changeFilePromise(r,o,{automaticNewlines:!0}),this.manifest.raw=e}}});function kAt({project:t,allDescriptors:e,allResolutions:r,allPackages:o,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:u=new Map,peerWarnings:A=[],volatileDescriptors:p=new Set}){let h=new Map,E=[],I=new Map,v=new Map,x=new Map,C=new Map,R=new Map,L=new Map(t.workspaces.map(ce=>{let me=ce.anchoredLocator.locatorHash,he=o.get(me);if(typeof he>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[me,e1(he)]})),U=()=>{let ce=oe.mktempSync(),me=V.join(ce,"stacktrace.log"),he=String(E.length+1).length,Be=E.map((we,g)=>`${`${g+1}.`.padStart(he," ")} ${ba(we)} +`).join("");throw oe.writeFileSync(me,Be),oe.detachTemp(ce),new zt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${ue.fromPortablePath(me)}`)},J=ce=>{let me=r.get(ce.descriptorHash);if(typeof me>"u")throw new Error("Assertion failed: The resolution should have been registered");let he=o.get(me);if(!he)throw new Error("Assertion failed: The package could not be found");return he},te=(ce,me,he,{top:Be,optional:we})=>{E.length>1e3&&U(),E.push(me);let g=ae(ce,me,he,{top:Be,optional:we});return E.pop(),g},ae=(ce,me,he,{top:Be,optional:we})=>{if(we||n.delete(me.locatorHash),a.has(me.locatorHash))return;a.add(me.locatorHash);let g=o.get(me.locatorHash);if(!g)throw new Error(`Assertion failed: The package (${qr(t.configuration,me)}) should have been registered`);let Ee=[],Se=[],le=[],ne=[],ee=[];for(let Fe of Array.from(g.dependencies.values())){if(g.peerDependencies.has(Fe.identHash)&&g.locatorHash!==Be)continue;if(bf(Fe))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");p.delete(Fe.descriptorHash);let At=we;if(!At){let Te=g.dependenciesMeta.get(fn(Fe));if(typeof Te<"u"){let Je=Te.get(null);typeof Je<"u"&&Je.optional&&(At=!0)}}let H=r.get(Fe.descriptorHash);if(!H)throw new Error(`Assertion failed: The resolution (${jn(t.configuration,Fe)}) should have been registered`);let at=L.get(H)||o.get(H);if(!at)throw new Error(`Assertion failed: The package (${H}, resolved from ${jn(t.configuration,Fe)}) should have been registered`);if(at.peerDependencies.size===0){te(Fe,at,new Map,{top:Be,optional:At});continue}let Re,ke,xe=new Set,He;Se.push(()=>{Re=tM(Fe,me.locatorHash),ke=rM(at,me.locatorHash),g.dependencies.delete(Fe.identHash),g.dependencies.set(Re.identHash,Re),r.set(Re.descriptorHash,ke.locatorHash),e.set(Re.descriptorHash,Re),o.set(ke.locatorHash,ke),Ee.push([at,Re,ke])}),le.push(()=>{He=new Map;for(let Te of ke.peerDependencies.values()){let Je=g.dependencies.get(Te.identHash);if(!Je&&n1(me,Te)&&(ce.identHash===me.identHash?Je=ce:(Je=In(me,ce.range),e.set(Je.descriptorHash,Je),r.set(Je.descriptorHash,me.locatorHash),p.delete(Je.descriptorHash))),(!Je||Je.range==="missing:")&&ke.dependencies.has(Te.identHash)){ke.peerDependencies.delete(Te.identHash);continue}Je||(Je=In(Te,"missing:")),ke.dependencies.set(Je.identHash,Je),bf(Je)&&md(x,Je.descriptorHash).add(ke.locatorHash),I.set(Je.identHash,Je),Je.range==="missing:"&&xe.add(Je.identHash),He.set(Te.identHash,he.get(Te.identHash)??ke.locatorHash)}ke.dependencies=new Map(ks(ke.dependencies,([Te,Je])=>fn(Je)))}),ne.push(()=>{if(!o.has(ke.locatorHash))return;let Te=h.get(at.locatorHash);typeof Te=="number"&&Te>=2&&U();let Je=h.get(at.locatorHash),qe=typeof Je<"u"?Je+1:1;h.set(at.locatorHash,qe),te(Re,ke,He,{top:Be,optional:At}),h.set(at.locatorHash,qe-1)}),ee.push(()=>{let Te=g.dependencies.get(Fe.identHash);if(typeof Te>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let Je=r.get(Te.descriptorHash);if(typeof Je>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(md(R,Je).add(me.locatorHash),!!o.has(ke.locatorHash)){for(let qe of ke.peerDependencies.values()){let b=He.get(qe.identHash);if(typeof b>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Yy(Wy(C,b),fn(qe)).push(ke.locatorHash)}for(let qe of xe)ke.dependencies.delete(qe)}})}for(let Fe of[...Se,...le])Fe();let Ie;do{Ie=!0;for(let[Fe,At,H]of Ee){let at=Wy(v,Fe.locatorHash),Re=zs(...[...H.dependencies.values()].map(Te=>{let Je=Te.range!=="missing:"?r.get(Te.descriptorHash):"missing:";if(typeof Je>"u")throw new Error(`Assertion failed: Expected the resolution for ${jn(t.configuration,Te)} to have been registered`);return Je===Be?`${Je} (top)`:Je}),At.identHash),ke=at.get(Re);if(typeof ke>"u"){at.set(Re,At);continue}if(ke===At)continue;o.delete(H.locatorHash),e.delete(At.descriptorHash),r.delete(At.descriptorHash),a.delete(H.locatorHash);let xe=x.get(At.descriptorHash)||[],He=[g.locatorHash,...xe];x.delete(At.descriptorHash);for(let Te of He){let Je=o.get(Te);typeof Je>"u"||(Je.dependencies.get(At.identHash).descriptorHash!==ke.descriptorHash&&(Ie=!1),Je.dependencies.set(At.identHash,ke))}}}while(!Ie);for(let Fe of[...ne,...ee])Fe()};for(let ce of t.workspaces){let me=ce.anchoredLocator;p.delete(ce.anchoredDescriptor.descriptorHash),te(ce.anchoredDescriptor,me,new Map,{top:me.locatorHash,optional:!1})}let fe=new Map;for(let[ce,me]of R){let he=o.get(ce);if(typeof he>"u")throw new Error("Assertion failed: Expected the root to be registered");let Be=C.get(ce);if(!(typeof Be>"u"))for(let we of me){let g=o.get(we);if(!(typeof g>"u")&&!!t.tryWorkspaceByLocator(g))for(let[Ee,Se]of Be){let le=Js(Ee);if(g.peerDependencies.has(le.identHash))continue;let ne=`p${zs(we,Ee,ce).slice(0,5)}`;u.set(ne,{subject:we,requested:le,rootRequester:ce,allRequesters:Se});let ee=he.dependencies.get(le.identHash);if(typeof ee<"u"){let Ie=J(ee),Fe=Ie.version??"0.0.0",At=new Set;for(let at of Se){let Re=o.get(at);if(typeof Re>"u")throw new Error("Assertion failed: Expected the link to be registered");let ke=Re.peerDependencies.get(le.identHash);if(typeof ke>"u")throw new Error("Assertion failed: Expected the ident to be registered");At.add(ke.range)}if(![...At].every(at=>{if(at.startsWith(Xn.protocol)){if(!t.tryWorkspaceByLocator(Ie))return!1;at=at.slice(Xn.protocol.length),(at==="^"||at==="~")&&(at="*")}return kf(Fe,at)})){let at=ol(fe,Ie.locatorHash,()=>({type:2,requested:le,subject:Ie,dependents:new Map,requesters:new Map,links:new Map,version:Fe,hash:`p${Ie.locatorHash.slice(0,5)}`}));at.dependents.set(g.locatorHash,g),at.requesters.set(he.locatorHash,he);for(let Re of Se)at.links.set(Re,o.get(Re));A.push({type:1,subject:g,requested:le,requester:he,version:Fe,hash:ne,requirementCount:Se.length})}}else he.peerDependenciesMeta.get(Ee)?.optional||A.push({type:0,subject:g,requested:le,requester:he,hash:ne})}}}A.push(...fe.values())}function QAt(t,e){let r=wL(t.peerWarnings,"type"),o=r[2]?.map(n=>{let u=Array.from(n.links.values(),E=>{let I=t.storedPackages.get(E.locatorHash);if(typeof I>"u")throw new Error("Assertion failed: Expected the package to be registered");let v=I.peerDependencies.get(n.requested.identHash);if(typeof v>"u")throw new Error("Assertion failed: Expected the ident to be registered");return v.range}),A=n.links.size>1?"and other dependencies request":"requests",p=sM(u),h=p?cE(t.configuration,p):Mt(t.configuration,"but they have non-overlapping ranges!","redBright");return`${cs(t.configuration,n.requested)} is listed by your project with version ${o1(t.configuration,n.version)}, which doesn't satisfy what ${cs(t.configuration,n.requesters.values().next().value)} (${Mt(t.configuration,n.hash,yt.CODE)}) ${A} (${h}).`})??[],a=r[0]?.map(n=>`${qr(t.configuration,n.subject)} doesn't provide ${cs(t.configuration,n.requested)} (${Mt(t.configuration,n.hash,yt.CODE)}), requested by ${cs(t.configuration,n.requester)}.`)??[];e.startSectionSync({reportFooter:()=>{e.reportWarning(86,`Some peer dependencies are incorrectly met; run ${Mt(t.configuration,"yarn explain peer-requirements ",yt.CODE)} for details, where ${Mt(t.configuration,"",yt.CODE)} is the six-letter p-prefixed code.`)},skipIfEmpty:!0},()=>{for(let n of ks(o,u=>Xy.default(u)))e.reportWarning(60,n);for(let n of ks(a,u=>Xy.default(u)))e.reportWarning(2,n)})}var Zx,$x,ek,Jpe,k_,x_,Q_,tk,DAt,SAt,Kpe,PAt,bAt,xAt,pl,b_,rk,Vpe,Pt,zpe=Et(()=>{St();St();Nl();qt();Zx=ve("crypto");E_();$x=$e(D_()),ek=$e(id()),Jpe=$e(zn()),k_=ve("util"),x_=$e(ve("v8")),Q_=$e(ve("zlib"));u_();S1();A_();f_();fE();uM();Yl();Ype();O1();S_();vd();P_();WP();jl();nh();ql();vb();BU();Qf();bo();tk=Jy(process.env.YARN_LOCKFILE_VERSION_OVERRIDE??8),DAt=3,SAt=/ *, */g,Kpe=/\/$/,PAt=32,bAt=(0,k_.promisify)(Q_.default.gzip),xAt=(0,k_.promisify)(Q_.default.gunzip),pl=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(pl||{}),b_={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["skippedBuilds","storedBuildState"]},rk=(o=>(o[o.NotProvided=0]="NotProvided",o[o.NotCompatible=1]="NotCompatible",o[o.NotCompatibleAggregate=2]="NotCompatibleAggregate",o))(rk||{}),Vpe=t=>zs(`${DAt}`,t),Pt=class{constructor(e,{configuration:r}){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.skippedBuilds=new Set;this.lockfileLastVersion=null;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.peerWarnings=[];this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){if(!e.projectCwd)throw new it(`No project found in ${r}`);let o=e.projectCwd,a=r,n=null;for(;n!==e.projectCwd;){if(n=a,oe.existsSync(V.join(n,dr.manifest))){o=n;break}a=V.dirname(n)}let u=new Pt(e.projectCwd,{configuration:e});Ke.telemetry?.reportProject(u.cwd),await u.setupResolutions(),await u.setupWorkspaces(),Ke.telemetry?.reportWorkspaceCount(u.workspaces.length),Ke.telemetry?.reportDependencyCount(u.workspaces.reduce((C,R)=>C+R.manifest.dependencies.size+R.manifest.devDependencies.size,0));let A=u.tryWorkspaceByCwd(o);if(A)return{project:u,workspace:A,locator:A.anchoredLocator};let p=await u.findLocatorForLocation(`${o}/`,{strict:!0});if(p)return{project:u,locator:p,workspace:null};let h=Mt(e,u.cwd,yt.PATH),E=Mt(e,V.relative(u.cwd,o),yt.PATH),I=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,v=`- If ${h} is intended to be a project, it might be that you forgot to list ${E} in its workspace configuration.`,x=`- Finally, if ${h} is fine and you intend ${E} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new it(`The nearest package directory (${Mt(e,o,yt.PATH)}) doesn't seem to be part of the project declared in ${Mt(e,u.cwd,yt.PATH)}. + +${[I,v,x].join(` +`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=V.join(this.cwd,dr.lockfile),r=this.configuration.get("defaultLanguageName");if(oe.existsSync(e)){let o=await oe.readFilePromise(e,"utf8");this.lockFileChecksum=Vpe(o);let a=Ki(o);if(a.__metadata){let n=a.__metadata.version,u=a.__metadata.cacheKey;this.lockfileLastVersion=n,this.lockfileNeedsRefresh=n"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);let h=xf(p.resolution,!0),E=new Ot;E.load(p,{yamlCompatibilityMode:!0});let I=E.version,v=E.languageName||r,x=p.linkType.toUpperCase(),C=p.conditions??null,R=E.dependencies,L=E.peerDependencies,U=E.dependenciesMeta,J=E.peerDependenciesMeta,te=E.bin;if(p.checksum!=null){let fe=typeof u<"u"&&!p.checksum.includes("/")?`${u}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,fe)}let ae={...h,version:I,languageName:v,linkType:x,conditions:C,dependencies:R,peerDependencies:L,dependenciesMeta:U,peerDependenciesMeta:J,bin:te};this.originalPackages.set(ae.locatorHash,ae);for(let fe of A.split(SAt)){let ce=ih(fe);n<=6&&(ce=this.configuration.normalizeDependency(ce),ce=In(ce,ce.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(ce.descriptorHash,ce),this.storedResolutions.set(ce.descriptorHash,h.locatorHash)}}}else o.includes("yarn lockfile v1")&&(this.lockfileLastVersion=-1)}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,r=(0,ek.default)(4),o=async(a,n)=>{if(e.has(n))return a;e.add(n);let u=new cC(n,{project:this});await r(()=>u.setup());let A=a.then(()=>{this.addWorkspace(u)});return Array.from(u.workspacesCwds).reduce(o,A)};await o(Promise.resolve(),this.cwd)}addWorkspace(e){let r=this.workspacesByIdent.get(e.anchoredLocator.identHash);if(typeof r<"u")throw new Error(`Duplicate workspace name ${cs(this.configuration,e.anchoredLocator)}: ${ue.fromPortablePath(e.cwd)} conflicts with ${ue.fromPortablePath(r.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.anchoredLocator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){V.isAbsolute(e)||(e=V.resolve(this.cwd,e)),e=V.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let o of this.workspaces)V.relative(o.cwd,e).startsWith("../")||r&&r.cwd.length>=o.cwd.length||(r=o);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${cs(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){if(e.range.startsWith(Xn.protocol)){let o=e.range.slice(Xn.protocol.length);if(o!=="^"&&o!=="~"&&o!=="*"&&!xa(o))return this.tryWorkspaceByCwd(o)}let r=this.tryWorkspaceByIdent(e);return r===null||(bf(e)&&(e=t1(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${jn(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Hc(e)&&(e=r1(e)),r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${qr(this.configuration,e)})`);return r}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let r=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let o=new Set(this.storedResolutions.values());typeof r<"u"&&!o.has(r)&&this.deleteLocator(r)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[r,o]of this.storedResolutions)o===e.locatorHash&&this.deleteDescriptor(r)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),r=new Map;for(let[o,a]of this.storedResolutions.entries()){let n=r.get(a);n||r.set(a,n=new Set),n.add(o)}for(let o of this.originalPackages.values()){let a;try{a=e.shouldPersistResolution(o,{project:this,resolver:e})}catch{a=!1}if(!a){this.deleteLocator(o.locatorHash);let n=r.get(o.locatorHash);if(n){r.delete(o.locatorHash);for(let u of n)this.deleteDescriptor(u)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,o]of e.dependencies)bf(o)&&e.dependencies.set(r,t1(o))}getDependencyMeta(e,r){let o={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(fn(e));if(!n)return o;let u=n.get(null);if(u&&Object.assign(o,u),r===null||!Jpe.default.valid(r))return o;for(let[A,p]of n)A!==null&&A===r&&Object.assign(o,p);return o}async findLocatorForLocation(e,{strict:r=!1}={}){let o=new Qi,a=this.configuration.getLinkers(),n={project:this,report:o};for(let u of a){let A=await u.findPackageLocator(e,n);if(A){if(r&&(await u.findPackageLocation(A,n)).replace(Kpe,"")!==e.replace(Kpe,""))continue;return A}}return null}async loadUserConfig(){let e=V.join(this.cwd,".pnp.cjs");await oe.existsPromise(e)&&Df(e).setup();let r=V.join(this.cwd,"yarn.config.cjs");return await oe.existsPromise(r)?Df(r):null}async preparePackage(e,{resolver:r,resolveOptions:o}){let a=await this.configuration.getPackageExtensions(),n=this.configuration.normalizePackage(e,{packageExtensions:a});for(let[u,A]of n.dependencies){let p=await this.configuration.reduceHook(E=>E.reduceDependency,A,this,n,A,{resolver:r,resolveOptions:o});if(!n1(A,p))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let h=r.bindDescriptor(p,n,o);n.dependencies.set(u,h)}return n}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions();let r=new Map(this.originalPackages),o=[];e.lockfileOnly||this.forgetTransientResolutions();let a=e.resolver||this.configuration.makeResolver(),n=new oC(a);await n.setup(this,{report:e.report});let u=e.lockfileOnly?[new Xx(a)]:[n,a],A=new Dd([new aC(a),...u]),p=new Dd([...u]),h=this.configuration.makeFetcher(),E=e.lockfileOnly?{project:this,report:e.report,resolver:A}:{project:this,report:e.report,resolver:A,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:h,cacheOptions:{mirrorWriteOnly:!0}}},I=new Map,v=new Map,x=new Map,C=new Map,R=new Map,L=new Map,U=this.topLevelWorkspace.anchoredLocator,J=new Set,te=[],ae=M4(),fe=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Xs.progressViaTitle(),async le=>{let ne=async H=>{let at=await Ky(async()=>await A.resolve(H,E),He=>`${qr(this.configuration,H)}: ${He}`);if(!i1(H,at))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${qr(this.configuration,H)} to ${qr(this.configuration,at)})`);C.set(at.locatorHash,at),!r.delete(at.locatorHash)&&!this.tryWorkspaceByLocator(at)&&o.push(at);let ke=await this.preparePackage(at,{resolver:A,resolveOptions:E}),xe=Uc([...ke.dependencies.values()].map(He=>At(He)));return te.push(xe),xe.catch(()=>{}),v.set(ke.locatorHash,ke),ke},ee=async H=>{let at=R.get(H.locatorHash);if(typeof at<"u")return at;let Re=Promise.resolve().then(()=>ne(H));return R.set(H.locatorHash,Re),Re},Ie=async(H,at)=>{let Re=await At(at);return I.set(H.descriptorHash,H),x.set(H.descriptorHash,Re.locatorHash),Re},Fe=async H=>{le.setTitle(jn(this.configuration,H));let at=this.resolutionAliases.get(H.descriptorHash);if(typeof at<"u")return Ie(H,this.storedDescriptors.get(at));let Re=A.getResolutionDependencies(H,E),ke=Object.fromEntries(await Uc(Object.entries(Re).map(async([Te,Je])=>{let qe=A.bindDescriptor(Je,U,E),b=await At(qe);return J.add(b.locatorHash),[Te,b]}))),He=(await Ky(async()=>await A.getCandidates(H,ke,E),Te=>`${jn(this.configuration,H)}: ${Te}`))[0];if(typeof He>"u")throw new zt(82,`${jn(this.configuration,H)}: No candidates found`);if(e.checkResolutions){let{locators:Te}=await p.getSatisfying(H,ke,[He],{...E,resolver:p});if(!Te.find(Je=>Je.locatorHash===He.locatorHash))throw new zt(78,`Invalid resolution ${ZI(this.configuration,H,He)}`)}return I.set(H.descriptorHash,H),x.set(H.descriptorHash,He.locatorHash),ee(He)},At=H=>{let at=L.get(H.descriptorHash);if(typeof at<"u")return at;I.set(H.descriptorHash,H);let Re=Promise.resolve().then(()=>Fe(H));return L.set(H.descriptorHash,Re),Re};for(let H of this.workspaces){let at=H.anchoredDescriptor;te.push(At(at))}for(;te.length>0;){let H=[...te];te.length=0,await Uc(H)}});let ce=sl(r.values(),le=>this.tryWorkspaceByLocator(le)?sl.skip:le);if(o.length>0||ce.length>0){let le=new Set(this.workspaces.flatMap(H=>{let at=v.get(H.anchoredLocator.locatorHash);if(!at)throw new Error("Assertion failed: The workspace should have been resolved");return Array.from(at.dependencies.values(),Re=>{let ke=x.get(Re.descriptorHash);if(!ke)throw new Error("Assertion failed: The resolution should have been registered");return ke})})),ne=H=>le.has(H.locatorHash)?"0":"1",ee=H=>ba(H),Ie=ks(o,[ne,ee]),Fe=ks(ce,[ne,ee]),At=e.report.getRecommendedLength();Ie.length>0&&e.report.reportInfo(85,`${Mt(this.configuration,"+",yt.ADDED)} ${cP(this.configuration,Ie,At)}`),Fe.length>0&&e.report.reportInfo(85,`${Mt(this.configuration,"-",yt.REMOVED)} ${cP(this.configuration,Fe,At)}`)}let me=new Set(this.resolutionAliases.values()),he=new Set(v.keys()),Be=new Set,we=new Map,g=[];kAt({project:this,accessibleLocators:Be,volatileDescriptors:me,optionalBuilds:he,peerRequirements:we,peerWarnings:g,allDescriptors:I,allResolutions:x,allPackages:v});for(let le of J)he.delete(le);for(let le of me)I.delete(le),x.delete(le);let Ee=new Set,Se=new Set;for(let le of v.values())le.conditions!=null&&(!he.has(le.locatorHash)||(qP(le,fe)||(qP(le,ae)&&e.report.reportWarningOnce(77,`${qr(this.configuration,le)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Mt(this.configuration,"supportedArchitectures",yt.SETTING)} setting`),Se.add(le.locatorHash)),Ee.add(le.locatorHash)));this.storedResolutions=x,this.storedDescriptors=I,this.storedPackages=v,this.accessibleLocators=Be,this.conditionalLocators=Ee,this.disabledLocators=Se,this.originalPackages=C,this.optionalBuilds=he,this.peerRequirements=we,this.peerWarnings=g}async fetchEverything({cache:e,report:r,fetcher:o,mode:a,persistProject:n=!0}){let u={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},A=o||this.configuration.makeFetcher(),p={checksums:this.storedChecksums,project:this,cache:e,fetcher:A,report:r,cacheOptions:u},h=Array.from(new Set(ks(this.storedResolutions.values(),[C=>{let R=this.storedPackages.get(C);if(!R)throw new Error("Assertion failed: The locator should have been registered");return ba(R)}])));a==="update-lockfile"&&(h=h.filter(C=>!this.storedChecksums.has(C)));let E=!1,I=Xs.progressViaCounter(h.length);await r.reportProgress(I);let v=(0,ek.default)(PAt);if(await Uc(h.map(C=>v(async()=>{let R=this.storedPackages.get(C);if(!R)throw new Error("Assertion failed: The locator should have been registered");if(Hc(R))return;let L;try{L=await A.fetch(R,p)}catch(U){U.message=`${qr(this.configuration,R)}: ${U.message}`,r.reportExceptionOnce(U),E=U;return}L.checksum!=null?this.storedChecksums.set(R.locatorHash,L.checksum):this.storedChecksums.delete(R.locatorHash),L.releaseFs&&L.releaseFs()}).finally(()=>{I.tick()}))),E)throw E;let x=n&&a!=="update-lockfile"?await this.cacheCleanup({cache:e,report:r}):null;if(r.cacheMisses.size>0||x){let R=(await Promise.all([...r.cacheMisses].map(async ce=>{let me=this.storedPackages.get(ce),he=this.storedChecksums.get(ce)??null,Be=e.getLocatorPath(me,he);return(await oe.statPromise(Be)).size}))).reduce((ce,me)=>ce+me,0)-(x?.size??0),L=r.cacheMisses.size,U=x?.count??0,J=`${nP(L,{zero:"No new packages",one:"A package was",more:`${Mt(this.configuration,L,yt.NUMBER)} packages were`})} added to the project`,te=`${nP(U,{zero:"none were",one:"one was",more:`${Mt(this.configuration,U,yt.NUMBER)} were`})} removed`,ae=R!==0?` (${Mt(this.configuration,R,yt.SIZE_DIFF)})`:"",fe=U>0?L>0?`${J}, and ${te}${ae}.`:`${J}, but ${te}${ae}.`:`${J}${ae}.`;r.reportInfo(13,fe)}}async linkEverything({cache:e,report:r,fetcher:o,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},E=new Map(p.map(le=>{let ne=le.makeInstaller(h),ee=le.getCustomDataKey(),Ie=this.linkersCustomData.get(ee);return typeof Ie<"u"&&ne.attachCustomData(Ie),[le,ne]})),I=new Map,v=new Map,x=new Map,C=new Map(await Uc([...this.accessibleLocators].map(async le=>{let ne=this.storedPackages.get(le);if(!ne)throw new Error("Assertion failed: The locator should have been registered");return[le,await u.fetch(ne,A)]}))),R=[],L=new Set,U=[];for(let le of this.accessibleLocators){let ne=this.storedPackages.get(le);if(typeof ne>"u")throw new Error("Assertion failed: The locator should have been registered");let ee=C.get(ne.locatorHash);if(typeof ee>"u")throw new Error("Assertion failed: The fetch result should have been registered");let Ie=[],Fe=H=>{Ie.push(H)},At=this.tryWorkspaceByLocator(ne);if(At!==null){let H=[],{scripts:at}=At.manifest;for(let ke of["preinstall","install","postinstall"])at.has(ke)&&H.push({type:0,script:ke});try{for(let[ke,xe]of E)if(ke.supportsPackage(ne,h)&&(await xe.installPackage(ne,ee,{holdFetchResult:Fe})).buildRequest!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{Ie.length===0?ee.releaseFs?.():R.push(Uc(Ie).catch(()=>{}).then(()=>{ee.releaseFs?.()}))}let Re=V.join(ee.packageFs.getRealPath(),ee.prefixPath);v.set(ne.locatorHash,Re),!Hc(ne)&&H.length>0&&x.set(ne.locatorHash,{buildDirectives:H,buildLocations:[Re]})}else{let H=p.find(ke=>ke.supportsPackage(ne,h));if(!H)throw new zt(12,`${qr(this.configuration,ne)} isn't supported by any available linker`);let at=E.get(H);if(!at)throw new Error("Assertion failed: The installer should have been registered");let Re;try{Re=await at.installPackage(ne,ee,{holdFetchResult:Fe})}finally{Ie.length===0?ee.releaseFs?.():R.push(Uc(Ie).then(()=>{}).then(()=>{ee.releaseFs?.()}))}I.set(ne.locatorHash,H),v.set(ne.locatorHash,Re.packageLocation),Re.buildRequest&&Re.packageLocation&&(Re.buildRequest.skipped?(L.add(ne.locatorHash),this.skippedBuilds.has(ne.locatorHash)||U.push([ne,Re.buildRequest.explain])):x.set(ne.locatorHash,{buildDirectives:Re.buildRequest.directives,buildLocations:[Re.packageLocation]}))}}let J=new Map;for(let le of this.accessibleLocators){let ne=this.storedPackages.get(le);if(!ne)throw new Error("Assertion failed: The locator should have been registered");let ee=this.tryWorkspaceByLocator(ne)!==null,Ie=async(Fe,At)=>{let H=v.get(ne.locatorHash);if(typeof H>"u")throw new Error(`Assertion failed: The package (${qr(this.configuration,ne)}) should have been registered`);let at=[];for(let Re of ne.dependencies.values()){let ke=this.storedResolutions.get(Re.descriptorHash);if(typeof ke>"u")throw new Error(`Assertion failed: The resolution (${jn(this.configuration,Re)}, from ${qr(this.configuration,ne)})should have been registered`);let xe=this.storedPackages.get(ke);if(typeof xe>"u")throw new Error(`Assertion failed: The package (${ke}, resolved from ${jn(this.configuration,Re)}) should have been registered`);let He=this.tryWorkspaceByLocator(xe)===null?I.get(ke):null;if(typeof He>"u")throw new Error(`Assertion failed: The package (${ke}, resolved from ${jn(this.configuration,Re)}) should have been registered`);He===Fe||He===null?v.get(xe.locatorHash)!==null&&at.push([Re,xe]):!ee&&H!==null&&Yy(J,ke).push(H)}H!==null&&await At.attachInternalDependencies(ne,at)};if(ee)for(let[Fe,At]of E)Fe.supportsPackage(ne,h)&&await Ie(Fe,At);else{let Fe=I.get(ne.locatorHash);if(!Fe)throw new Error("Assertion failed: The linker should have been found");let At=E.get(Fe);if(!At)throw new Error("Assertion failed: The installer should have been registered");await Ie(Fe,At)}}for(let[le,ne]of J){let ee=this.storedPackages.get(le);if(!ee)throw new Error("Assertion failed: The package should have been registered");let Ie=I.get(ee.locatorHash);if(!Ie)throw new Error("Assertion failed: The linker should have been found");let Fe=E.get(Ie);if(!Fe)throw new Error("Assertion failed: The installer should have been registered");await Fe.attachExternalDependents(ee,ne)}let te=new Map;for(let[le,ne]of E){let ee=await ne.finalizeInstall();for(let Ie of ee?.records??[])Ie.buildRequest.skipped?(L.add(Ie.locator.locatorHash),this.skippedBuilds.has(Ie.locator.locatorHash)||U.push([Ie.locator,Ie.buildRequest.explain])):x.set(Ie.locator.locatorHash,{buildDirectives:Ie.buildRequest.directives,buildLocations:Ie.buildLocations});typeof ee?.customData<"u"&&te.set(le.getCustomDataKey(),ee.customData)}if(this.linkersCustomData=te,await Uc(R),a==="skip-build")return;for(let[,le]of ks(U,([ne])=>ba(ne)))le(r);let ae=new Set(this.storedPackages.keys()),fe=new Set(x.keys());for(let le of fe)ae.delete(le);let ce=(0,Zx.createHash)("sha512");ce.update(process.versions.node),await this.configuration.triggerHook(le=>le.globalHashGeneration,this,le=>{ce.update("\0"),ce.update(le)});let me=ce.digest("hex"),he=new Map,Be=le=>{let ne=he.get(le.locatorHash);if(typeof ne<"u")return ne;let ee=this.storedPackages.get(le.locatorHash);if(typeof ee>"u")throw new Error("Assertion failed: The package should have been registered");let Ie=(0,Zx.createHash)("sha512");Ie.update(le.locatorHash),he.set(le.locatorHash,"");for(let Fe of ee.dependencies.values()){let At=this.storedResolutions.get(Fe.descriptorHash);if(typeof At>"u")throw new Error(`Assertion failed: The resolution (${jn(this.configuration,Fe)}) should have been registered`);let H=this.storedPackages.get(At);if(typeof H>"u")throw new Error("Assertion failed: The package should have been registered");Ie.update(Be(H))}return ne=Ie.digest("hex"),he.set(le.locatorHash,ne),ne},we=(le,ne)=>{let ee=(0,Zx.createHash)("sha512");ee.update(me),ee.update(Be(le));for(let Ie of ne)ee.update(Ie);return ee.digest("hex")},g=new Map,Ee=!1,Se=le=>{let ne=new Set([le.locatorHash]);for(let ee of ne){let Ie=this.storedPackages.get(ee);if(!Ie)throw new Error("Assertion failed: The package should have been registered");for(let Fe of Ie.dependencies.values()){let At=this.storedResolutions.get(Fe.descriptorHash);if(!At)throw new Error(`Assertion failed: The resolution (${jn(this.configuration,Fe)}) should have been registered`);if(At!==le.locatorHash&&fe.has(At))return!1;let H=this.storedPackages.get(At);if(!H)throw new Error("Assertion failed: The package should have been registered");let at=this.tryWorkspaceByLocator(H);if(at){if(at.anchoredLocator.locatorHash!==le.locatorHash&&fe.has(at.anchoredLocator.locatorHash))return!1;ne.add(at.anchoredLocator.locatorHash)}ne.add(At)}}return!0};for(;fe.size>0;){let le=fe.size,ne=[];for(let ee of fe){let Ie=this.storedPackages.get(ee);if(!Ie)throw new Error("Assertion failed: The package should have been registered");if(!Se(Ie))continue;let Fe=x.get(Ie.locatorHash);if(!Fe)throw new Error("Assertion failed: The build directive should have been registered");let At=we(Ie,Fe.buildLocations);if(this.storedBuildState.get(Ie.locatorHash)===At){g.set(Ie.locatorHash,At),fe.delete(ee);continue}Ee||(await this.persistInstallStateFile(),Ee=!0),this.storedBuildState.has(Ie.locatorHash)?r.reportInfo(8,`${qr(this.configuration,Ie)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${qr(this.configuration,Ie)} must be built because it never has been before or the last one failed`);let H=Fe.buildLocations.map(async at=>{if(!V.isAbsolute(at))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${at})`);for(let Re of Fe.buildDirectives){let ke=`# This file contains the result of Yarn building a package (${ba(Ie)}) +`;switch(Re.type){case 0:ke+=`# Script name: ${Re.script} +`;break;case 1:ke+=`# Script code: ${Re.script} +`;break}let xe=null;if(!await oe.mktempPromise(async Te=>{let Je=V.join(Te,"build.log"),{stdout:qe,stderr:b}=this.configuration.getSubprocessStreams(Je,{header:ke,prefix:qr(this.configuration,Ie),report:r}),w;try{switch(Re.type){case 0:w=await Wb(Ie,Re.script,[],{cwd:at,project:this,stdin:xe,stdout:qe,stderr:b});break;case 1:w=await EU(Ie,Re.script,[],{cwd:at,project:this,stdin:xe,stdout:qe,stderr:b});break}}catch(F){b.write(F.stack),w=1}if(qe.end(),b.end(),w===0)return!0;oe.detachTemp(Te);let P=`${qr(this.configuration,Ie)} couldn't be built successfully (exit code ${Mt(this.configuration,w,yt.NUMBER)}, logs can be found here: ${Mt(this.configuration,Je,yt.PATH)})`,y=this.optionalBuilds.has(Ie.locatorHash);return y?r.reportInfo(9,P):r.reportError(9,P),Kce&&r.reportFold(ue.fromPortablePath(Je),oe.readFileSync(Je,"utf8")),y}))return!1}return!0});ne.push(...H,Promise.allSettled(H).then(at=>{fe.delete(ee),at.every(Re=>Re.status==="fulfilled"&&Re.value===!0)&&g.set(Ie.locatorHash,At)}))}if(await Uc(ne),le===fe.size){let ee=Array.from(fe).map(Ie=>{let Fe=this.storedPackages.get(Ie);if(!Fe)throw new Error("Assertion failed: The package should have been registered");return qr(this.configuration,Fe)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ee})`);break}}this.storedBuildState=g,this.skippedBuilds=L}async installWithNewReport(e,r){return(await Nt.start({configuration:this.configuration,json:e.json,stdout:e.stdout,forceSectionAlignment:!0,includeLogs:!e.json&&!e.quiet,includeVersion:!0},async a=>{await this.install({...r,report:a})})).exitCode()}async install(e){let r=this.configuration.get("nodeLinker");Ke.telemetry?.reportInstall(r);let o=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{this.configuration.get("enableOfflineMode")&&e.report.reportWarning(90,"Offline work is enabled; Yarn won't fetch packages from the remote registry if it can avoid it"),await this.configuration.triggerHook(E=>E.validateProject,this,{reportWarning:(E,I)=>{e.report.reportWarning(E,I)},reportError:(E,I)=>{e.report.reportError(E,I),o=!0}})}),o)return;let a=await this.configuration.getPackageExtensions();for(let E of a.values())for(let[,I]of E)for(let v of I)v.status="inactive";let n=V.join(this.cwd,dr.lockfile),u=null;if(e.immutable)try{u=await oe.readFilePromise(n,"utf8")}catch(E){throw E.code==="ENOENT"?new zt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):E}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{QAt(this,e.report);for(let[,E]of a)for(let[,I]of E)for(let v of I)if(v.userProvided){let x=Mt(this.configuration,v,yt.PACKAGE_EXTENSION);switch(v.status){case"inactive":e.report.reportWarning(68,`${x}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${x}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(u!==null){let E=_g(u,this.generateLockfile());if(E!==u){let I=Ape(n,n,u,E,void 0,void 0,{maxEditLength:100});if(I){e.report.reportSeparator();for(let v of I.hunks){e.report.reportInfo(null,`@@ -${v.oldStart},${v.oldLines} +${v.newStart},${v.newLines} @@`);for(let x of v.lines)x.startsWith("+")?e.report.reportError(28,Mt(this.configuration,x,yt.ADDED)):x.startsWith("-")?e.report.reportError(28,Mt(this.configuration,x,yt.REMOVED)):e.report.reportInfo(null,Mt(this.configuration,x,"grey"))}e.report.reportSeparator()}throw new zt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let E of a.values())for(let[,I]of E)for(let v of I)v.userProvided&&v.status==="active"&&Ke.telemetry?.reportPackageExtension(Ed(v,yt.PACKAGE_EXTENSION));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e)});let A=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],p=await Promise.all(A.map(async E=>LP(E,{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 ${Mt(this.configuration,"mode=update-lockfile",yt.CODE)}`);return}await this.linkEverything(e);let E=await Promise.all(A.map(async I=>LP(I,{cwd:this.cwd})));for(let I=0;I{await this.configuration.triggerHook(E=>E.validateProjectAfterInstall,this,{reportWarning:(E,I)=>{e.report.reportWarning(E,I)},reportError:(E,I)=>{e.report.reportError(E,I),h=!0}})}),!h&&await this.configuration.triggerHook(E=>E.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,u]of this.storedResolutions.entries()){let A=e.get(u);A||e.set(u,A=new Set),A.add(n)}let r={},{cacheKey:o}=Lr.getCacheKey(this.configuration);r.__metadata={version:tk,cacheKey:o};for(let[n,u]of e.entries()){let A=this.originalPackages.get(n);if(!A)continue;let p=[];for(let I of u){let v=this.storedDescriptors.get(I);if(!v)throw new Error("Assertion failed: The descriptor should have been registered");p.push(v)}let h=p.map(I=>Pa(I)).sort().join(", "),E=new Ot;E.version=A.linkType==="HARD"?A.version:"0.0.0-use.local",E.languageName=A.languageName,E.dependencies=new Map(A.dependencies),E.peerDependencies=new Map(A.peerDependencies),E.dependenciesMeta=new Map(A.dependenciesMeta),E.peerDependenciesMeta=new Map(A.peerDependenciesMeta),E.bin=new Map(A.bin),r[h]={...E.exportTo({},{compatibilityMode:!1}),linkType:A.linkType.toLowerCase(),resolution:ba(A),checksum:this.storedChecksums.get(A.locatorHash),conditions:A.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Ba(r)}async persistLockfile(){let e=V.join(this.cwd,dr.lockfile),r="";try{r=await oe.readFilePromise(e,"utf8")}catch{}let o=this.generateLockfile(),a=_g(r,o);a!==r&&(await oe.writeFilePromise(e,a),this.lockFileChecksum=Vpe(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let u of Object.values(b_))e.push(...u);let r=(0,$x.default)(this,e),o=x_.default.serialize(r),a=zs(o);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await oe.mkdirPromise(V.dirname(n),{recursive:!0}),await oe.writeFilePromise(n,await bAt(o)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:o=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let u=await xAt(await oe.readFilePromise(a));n=x_.default.deserialize(u),this.installStateChecksum=zs(u)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),o&&Object.assign(this,(0,$x.default)(n,b_.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,$x.default)(n,b_.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Qi}),await this.persistInstallStateFile()}async persist(){let e=(0,ek.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(r=>e(()=>r.persistManifest()))])}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return null;let o=new Set([".gitignore"]);if(!CM(e.cwd,this.cwd)||!await oe.existsPromise(e.cwd))return null;let a=[];for(let u of await oe.readdirPromise(e.cwd)){if(o.has(u))continue;let A=V.resolve(e.cwd,u);e.markedFiles.has(A)||(e.immutable?r.reportError(56,`${Mt(this.configuration,V.basename(A),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):a.push(oe.lstatPromise(A).then(async p=>(await oe.removePromise(A),p.size))))}if(a.length===0)return null;let n=await Promise.all(a);return{count:a.length,size:n.reduce((u,A)=>u+A,0)}}}});function FAt(t){let o=Math.floor(t.timeNow/864e5),a=t.updateInterval*864e5,n=t.state.lastUpdate??t.timeNow+a+Math.floor(a*t.randomInitialInterval),u=n+a,A=t.state.lastTips??o*864e5,p=A+864e5+8*36e5-t.timeZone,h=u<=t.timeNow,E=p<=t.timeNow,I=null;return(h||E||!t.state.lastUpdate||!t.state.lastTips)&&(I={},I.lastUpdate=h?t.timeNow:n,I.lastTips=A,I.blocks=h?{}:t.state.blocks,I.displayedTips=t.state.displayedTips),{nextState:I,triggerUpdate:h,triggerTips:E,nextTips:E?o*864e5:A}}var uC,Xpe=Et(()=>{St();L1();nh();Ib();ql();Qf();uC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.nextTips=0;this.displayedTips=[];this.shouldCommitTips=!1;this.configuration=e;let o=this.getRegistryPath();this.isNew=!oe.existsSync(o),this.shouldShowTips=!1,this.sendReport(r),this.startBuffer()}commitTips(){this.shouldShowTips&&(this.shouldCommitTips=!0)}selectTip(e){let r=new Set(this.displayedTips),o=A=>A&&rn?kf(rn,A):!1,a=e.map((A,p)=>p).filter(A=>e[A]&&o(e[A]?.selector));if(a.length===0)return null;let n=a.filter(A=>!r.has(A));if(n.length===0){let A=Math.floor(a.length*.2);this.displayedTips=A>0?this.displayedTips.slice(-A):[],n=a.filter(p=>!r.has(p))}let u=n[Math.floor(Math.random()*n.length)];return this.displayedTips.push(u),this.commitTips(),e[u]}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}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,r){md(this.values,e).add(r)}reportEnumerator(e,r){md(this.enumerators,e).add(zs(r))}reportHit(e,r="*"){let o=Wy(this.hits,e),a=ol(o,r,()=>0);o.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return V.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),o;try{o=oe.readJsonSync(r)}catch{o={}}let{nextState:a,triggerUpdate:n,triggerTips:u,nextTips:A}=FAt({state:o,timeNow:Date.now(),timeZone:new Date().getTimezoneOffset()*60*1e3,randomInitialInterval:Math.random(),updateInterval:this.configuration.get("telemetryInterval")});if(this.nextTips=A,this.displayedTips=o.displayedTips??[],a!==null)try{oe.mkdirSync(V.dirname(r),{recursive:!0}),oe.writeJsonSync(r,a)}catch{return!1}if(u&&this.configuration.get("enableTips")&&(this.shouldShowTips=!0),n){let p=o.blocks??{};if(Object.keys(p).length===0){let h=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,E=I=>O4(h,I,{configuration:this.configuration}).catch(()=>{});for(let[I,v]of Object.entries(o.blocks??{})){if(Object.keys(v).length===0)continue;let x=v;x.userId=I,x.reportType="primary";for(let L of Object.keys(x.enumerators??{}))x.enumerators[L]=x.enumerators[L].length;E(x);let C=new Map,R=20;for(let[L,U]of Object.entries(x.values))U.length>0&&C.set(L,U.slice(0,R));for(;C.size>0;){let L={};L.userId=I,L.reportType="secondary",L.metrics={};for(let[U,J]of C)L.metrics[U]=J.shift(),J.length===0&&C.delete(U);E(L)}}}}return!0}applyChanges(){let e=this.getRegistryPath(),r;try{r=oe.readJsonSync(e)}catch{r={}}let o=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[o]=a[o]??{};for(let u of this.hits.keys()){let A=n.hits=n.hits??{},p=A[u]=A[u]??{};for(let[h,E]of this.hits.get(u))p[h]=(p[h]??0)+E}for(let u of["values","enumerators"])for(let A of this[u].keys()){let p=n[u]=n[u]??{};p[A]=[...new Set([...p[A]??[],...this[u].get(A)??[]])]}this.shouldCommitTips&&(r.lastTips=this.nextTips,r.displayedTips=this.displayedTips),oe.mkdirSync(V.dirname(e),{recursive:!0}),oe.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var o2={};Vt(o2,{BuildDirectiveType:()=>Vx,CACHE_CHECKPOINT:()=>c_,CACHE_VERSION:()=>Kx,Cache:()=>Lr,Configuration:()=>Ke,DEFAULT_RC_FILENAME:()=>G4,FormatType:()=>xle,InstallMode:()=>pl,LEGACY_PLUGINS:()=>v1,LOCKFILE_VERSION:()=>tk,LegacyMigrationResolver:()=>oC,LightReport:()=>AA,LinkType:()=>zy,LockfileResolver:()=>aC,Manifest:()=>Ot,MessageName:()=>wr,MultiFetcher:()=>hE,PackageExtensionStatus:()=>BL,PackageExtensionType:()=>IL,PeerWarningType:()=>rk,Project:()=>Pt,Report:()=>Xs,ReportError:()=>zt,SettingsType:()=>D1,StreamReport:()=>Nt,TAG_REGEXP:()=>FE,TelemetryManager:()=>uC,ThrowReport:()=>Qi,VirtualFetcher:()=>gE,WindowsLinkType:()=>xb,Workspace:()=>cC,WorkspaceFetcher:()=>mE,WorkspaceResolver:()=>Xn,YarnVersion:()=>rn,execUtils:()=>Ur,folderUtils:()=>YP,formatUtils:()=>de,hashUtils:()=>wn,httpUtils:()=>nn,miscUtils:()=>_e,nodeUtils:()=>Ji,parseMessageName:()=>AS,reportOptionDeprecations:()=>LE,scriptUtils:()=>un,semverUtils:()=>kr,stringifyMessageName:()=>Wu,structUtils:()=>W,tgzUtils:()=>Xi,treeUtils:()=>$s});var Ye=Et(()=>{Db();WP();jl();nh();Ib();ql();vb();BU();Qf();bo();Xfe();ipe();u_();S1();S1();ope();A_();ape();f_();fE();fS();cM();zpe();Yl();O1();Xpe();S_();AM();fM();vd();P_();L1();Cne()});var nhe=_((K_t,l2)=>{"use strict";var TAt=process.env.TERM_PROGRAM==="Hyper",NAt=process.platform==="win32",ehe=process.platform==="linux",F_={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"},the=Object.assign({},F_,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),rhe=Object.assign({},F_,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:ehe?"\u25B8":"\u276F",pointerSmall:ehe?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});l2.exports=NAt&&!TAt?the:rhe;Reflect.defineProperty(l2.exports,"common",{enumerable:!1,value:F_});Reflect.defineProperty(l2.exports,"windows",{enumerable:!1,value:the});Reflect.defineProperty(l2.exports,"other",{enumerable:!1,value:rhe})});var Kc=_((V_t,R_)=>{"use strict";var LAt=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),OAt=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,ihe=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=n=>{let u=n.open=`\x1B[${n.codes[0]}m`,A=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,E)=>{h.includes(A)&&(h=h.replace(p,A+u));let I=u+h+A;return E?I.replace(/\r*\n/g,`${A}$&${u}`):I},n},r=(n,u,A)=>typeof n=="function"?n(u):n.wrap(u,A),o=(n,u)=>{if(n===""||n==null)return"";if(t.enabled===!1)return n;if(t.visible===!1)return"";let A=""+n,p=A.includes(` +`),h=u.length;for(h>0&&u.includes("unstyle")&&(u=[...new Set(["unstyle",...u])].reverse());h-- >0;)A=r(t.styles[u[h]],A,p);return A},a=(n,u,A)=>{t.styles[n]=e({name:n,codes:u}),(t.keys[A]||(t.keys[A]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=E=>o(E,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=OAt,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,u)=>{let A=typeof u=="string"?t[u]:u;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:n}),t.styles[n]=A,A.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(p){t.alias(n,p)},get(){let p=h=>o(h,p.stack);return Reflect.setPrototypeOf(p,t),p.stack=this.stack?this.stack.concat(A.stack):A.stack,p}})},t.theme=n=>{if(!LAt(n))throw new TypeError("Expected theme to be an object");for(let u of Object.keys(n))t.alias(u,n[u]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=nhe(),t.define=a,t};R_.exports=ihe();R_.exports.create=ihe});var No=_(sn=>{"use strict";var MAt=Object.prototype.toString,rc=Kc(),she=!1,T_=[],ohe={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};sn.longest=(t,e)=>t.reduce((r,o)=>Math.max(r,e?o[e].length:o.length),0);sn.hasColor=t=>!!t&&rc.hasColor(t);var ik=sn.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);sn.nativeType=t=>MAt.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");sn.isAsyncFn=t=>sn.nativeType(t)==="asyncfunction";sn.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";sn.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;sn.scrollDown=(t=[])=>[...t.slice(1),t[0]];sn.scrollUp=(t=[])=>[t.pop(),...t];sn.reorder=(t=[])=>{let e=t.slice();return e.sort((r,o)=>r.index>o.index?1:r.index{let o=t.length,a=r===o?0:r<0?o-1:r,n=t[e];t[e]=t[a],t[a]=n};sn.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};sn.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};sn.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:o=` +`+r,width:a=80}=e,n=(o+r).match(/[^\S\n]/g)||[];a-=n.length;let u=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,A=t.trim(),p=new RegExp(u,"g"),h=A.match(p)||[];return h=h.map(E=>E.replace(/\n$/,"")),e.padEnd&&(h=h.map(E=>E.padEnd(a," "))),e.padStart&&(h=h.map(E=>E.padStart(a," "))),r+h.join(o)};sn.unmute=t=>{let e=t.stack.find(o=>rc.keys.color.includes(o));return e?rc[e]:t.stack.find(o=>o.slice(2)==="bg")?rc[e.slice(2)]:o=>o};sn.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";sn.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>rc.keys.color.includes(o));if(e){let o=rc["bg"+sn.pascal(e)];return o?o.black:t}let r=t.stack.find(o=>o.slice(0,2)==="bg");return r?rc[r.slice(2).toLowerCase()]||t:rc.none};sn.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>rc.keys.color.includes(o)),r=t.stack.find(o=>o.slice(0,2)==="bg");if(e&&!r)return rc[ohe[e]||e];if(r){let o=r.slice(2).toLowerCase(),a=ohe[o];return a&&rc["bg"+sn.pascal(a)]||t}return rc.none};sn.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),o=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+o};sn.set=(t={},e="",r)=>e.split(".").reduce((o,a,n,u)=>{let A=u.length-1>n?o[a]||{}:r;return!sn.isObject(A)&&n{let o=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return o??r};sn.mixin=(t,e)=>{if(!ik(t))return e;if(!ik(e))return t;for(let r of Object.keys(e)){let o=Object.getOwnPropertyDescriptor(e,r);if(o.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&ik(o.value)){let a=Object.getOwnPropertyDescriptor(t,r);ik(a.value)?t[r]=sn.merge({},t[r],e[r]):Reflect.defineProperty(t,r,o)}else Reflect.defineProperty(t,r,o);else Reflect.defineProperty(t,r,o)}return t};sn.merge=(...t)=>{let e={};for(let r of t)sn.mixin(e,r);return e};sn.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let o of Object.keys(r)){let a=r[o];typeof a=="function"?sn.define(t,o,a.bind(e)):sn.define(t,o,a)}};sn.onExit=t=>{let e=(r,o)=>{she||(she=!0,T_.forEach(a=>a()),r===!0&&process.exit(128+o))};T_.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),T_.push(t)};sn.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};sn.defineExport=(t,e,r)=>{let o;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){o=a},get(){return o?o():r()}})}});var ahe=_(hC=>{"use strict";hC.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"};hC.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};hC.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};hC.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};hC.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 uhe=_((X_t,che)=>{"use strict";var lhe=ve("readline"),UAt=ahe(),_At=/^(?:\x1b)([a-zA-Z0-9])$/,HAt=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,qAt={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 jAt(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function GAt(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var sk=(t="",e={})=>{let r,o={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=o.sequence||""),o.sequence=o.sequence||t||o.name,t==="\r")o.raw=void 0,o.name="return";else if(t===` +`)o.name="enter";else if(t===" ")o.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")o.name="backspace",o.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")o.name="escape",o.meta=t.length===2;else if(t===" "||t==="\x1B ")o.name="space",o.meta=t.length===2;else if(t<="")o.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),o.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")o.name="number";else if(t.length===1&&t>="a"&&t<="z")o.name=t;else if(t.length===1&&t>="A"&&t<="Z")o.name=t.toLowerCase(),o.shift=!0;else if(r=_At.exec(t))o.meta=!0,o.shift=/^[A-Z]$/.test(r[1]);else if(r=HAt.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=(r[3]||r[5]||1)-1;o.ctrl=!!(u&4),o.meta=!!(u&10),o.shift=!!(u&1),o.code=n,o.name=qAt[n],o.shift=jAt(n)||o.shift,o.ctrl=GAt(n)||o.ctrl}return o};sk.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let o=lhe.createInterface({terminal:!0,input:r});lhe.emitKeypressEvents(r,o);let a=(A,p)=>e(A,sk(A,p),o),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),o.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),o.pause(),o.close()}};sk.action=(t,e,r)=>{let o={...UAt,...r};return e.ctrl?(e.action=o.ctrl[e.name],e):e.option&&o.option?(e.action=o.option[e.name],e):e.shift?(e.action=o.shift[e.name],e):(e.action=o.keys[e.name],e)};che.exports=sk});var fhe=_((Z_t,Ahe)=>{"use strict";Ahe.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let o=e[r];typeof o=="number"&&(o={interval:o}),YAt(t,r,o)}};function YAt(t,e,r={}){let o=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;o.frames=r.frames||[],o.loading=!0;let n=setInterval(()=>{o.ms=Date.now()-o.start,o.tick++,t.render()},a);return o.stop=()=>{o.loading=!1,clearInterval(n)},Reflect.defineProperty(o,"interval",{value:n}),t.once("close",()=>o.stop()),o.stop}});var hhe=_(($_t,phe)=>{"use strict";var{define:WAt,width:KAt}=No(),N_=class{constructor(e){let r=e.options;WAt(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=KAt(r.stdout||process.stdout),Object.assign(this,r),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 r=this._color||e[this.status];return typeof r=="function"?r: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"}};phe.exports=N_});var dhe=_((e8t,ghe)=>{"use strict";var L_=No(),eo=Kc(),O_={default:eo.noop,noop:eo.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||L_.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||L_.complement(this.primary)},primary:eo.cyan,success:eo.green,danger:eo.magenta,strong:eo.bold,warning:eo.yellow,muted:eo.dim,disabled:eo.gray,dark:eo.dim.gray,underline:eo.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};O_.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(eo.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(eo.visible=t.styles.visible);let e=L_.merge({},O_,t.styles);delete e.merge;for(let r of Object.keys(eo))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>eo[r]});for(let r of Object.keys(eo.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>eo[r]});return e};ghe.exports=O_});var yhe=_((t8t,mhe)=>{"use strict";var M_=process.platform==="win32",Vf=Kc(),VAt=No(),U_={...Vf.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Vf.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:Vf.symbols.question,submitted:Vf.symbols.check,cancelled:Vf.symbols.cross},separator:{pending:Vf.symbols.pointerSmall,submitted:Vf.symbols.middot,cancelled:Vf.symbols.middot},radio:{off:M_?"( )":"\u25EF",on:M_?"(*)":"\u25C9",disabled:M_?"(|)":"\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"]};U_.merge=t=>{let e=VAt.merge({},Vf.symbols,U_,t.symbols);return delete e.merge,e};mhe.exports=U_});var Che=_((r8t,Ehe)=>{"use strict";var JAt=dhe(),zAt=yhe(),XAt=No();Ehe.exports=t=>{t.options=XAt.merge({},t.options.theme,t.options),t.symbols=zAt.merge(t.options),t.styles=JAt.merge(t.options)}});var Dhe=_((Bhe,vhe)=>{"use strict";var whe=process.env.TERM_PROGRAM==="Apple_Terminal",ZAt=Kc(),__=No(),Vc=vhe.exports=Bhe,Di="\x1B[",Ihe="\x07",H_=!1,Ph=Vc.code={bell:Ihe,beep:Ihe,beginning:`${Di}G`,down:`${Di}J`,esc:Di,getPosition:`${Di}6n`,hide:`${Di}?25l`,line:`${Di}2K`,lineEnd:`${Di}K`,lineStart:`${Di}1K`,restorePosition:Di+(whe?"8":"u"),savePosition:Di+(whe?"7":"s"),screen:`${Di}2J`,show:`${Di}?25h`,up:`${Di}1J`},Gd=Vc.cursor={get hidden(){return H_},hide(){return H_=!0,Ph.hide},show(){return H_=!1,Ph.show},forward:(t=1)=>`${Di}${t}C`,backward:(t=1)=>`${Di}${t}D`,nextLine:(t=1)=>`${Di}E`.repeat(t),prevLine:(t=1)=>`${Di}F`.repeat(t),up:(t=1)=>t?`${Di}${t}A`:"",down:(t=1)=>t?`${Di}${t}B`:"",right:(t=1)=>t?`${Di}${t}C`:"",left:(t=1)=>t?`${Di}${t}D`:"",to(t,e){return e?`${Di}${e+1};${t+1}H`:`${Di}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Gd.left(-t):t>0?Gd.right(t):"",r+=e<0?Gd.up(-e):e>0?Gd.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:o,input:a,prompt:n,size:u,value:A}=t;if(o=__.isPrimitive(o)?String(o):"",a=__.isPrimitive(a)?String(a):"",A=__.isPrimitive(A)?String(A):"",u){let p=Vc.cursor.up(u)+Vc.cursor.to(n.length),h=a.length-r;return h>0&&(p+=Vc.cursor.left(h)),p}if(A||e){let p=!a&&!!o?-o.length:-a.length+r;return e&&(p-=e.length),a===""&&o&&!n.includes(o)&&(p+=o.length),Vc.cursor.move(p)}}},q_=Vc.erase={screen:Ph.screen,up:Ph.up,down:Ph.down,line:Ph.line,lineEnd:Ph.lineEnd,lineStart:Ph.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return q_.line+Gd.to(0);let r=n=>[...ZAt.unstyle(n)].length,o=t.split(/\r?\n/),a=0;for(let n of o)a+=1+Math.floor(Math.max(r(n)-1,0)/e);return(q_.line+Gd.prevLine()).repeat(a-1)+q_.line+Gd.to(0)}});var gC=_((n8t,Phe)=>{"use strict";var $At=ve("events"),She=Kc(),j_=uhe(),eft=fhe(),tft=hhe(),rft=Che(),Ra=No(),Yd=Dhe(),c2=class extends $At{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,rft(this),eft(this),this.state=new tft(this),this.initial=[e.initial,e.default].find(r=>r!=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=ift(this.options.margin),this.setMaxListeners(0),nft(this)}async keypress(e,r={}){this.keypressed=!0;let o=j_.action(e,j_(e,r),this.options.actions);this.state.keypress=o,this.emit("keypress",e,o),this.emit("state",this.state.clone());let a=this.options[o.action]||this[o.action]||this.dispatch;if(typeof a=="function")return await a.call(this,e,o);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Yd.code.beep)}cursorHide(){this.stdout.write(Yd.cursor.hide()),Ra.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Yd.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Yd.cursor.down(e)+Yd.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:o}=this.sections(),{cursor:a,initial:n="",input:u="",value:A=""}=this,p=this.state.size=o.length,h={after:r,cursor:a,initial:n,input:u,prompt:e,size:p,value:A},E=Yd.cursor.restore(h);E&&this.stdout.write(E)}sections(){let{buffer:e,input:r,prompt:o}=this.state;o=She.unstyle(o);let a=She.unstyle(e),n=a.indexOf(o),u=a.slice(0,n),p=a.slice(n).split(` +`),h=p[0],E=p[p.length-1],v=(o+(r?" "+r:"")).length,x=ve.call(this,this.value),this.result=()=>o.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,o){let{options:a,state:n,symbols:u,timers:A}=this,p=A&&A[e];n.timer=p;let h=a[e]||n[e]||u[e],E=r&&r[e]!=null?r[e]:await h;if(E==="")return E;let I=await this.resolve(E,n,r,o);return!I&&r&&r[e]?this.resolve(h,n,r,o):I}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,o=this.state;return o.timer=r,Ra.isObject(e)&&(e=e[o.status]||e.pending),Ra.hasColor(e)?e:(this.styles[o.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Ra.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,o=this.state;o.timer=r;let a=e[o.status]||e.pending||o.separator,n=await this.resolve(a,o);return Ra.isObject(n)&&(n=n[o.status]||n.pending),Ra.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let o=await this.element("pointer",e,r);if(typeof o=="string"&&Ra.hasColor(o))return o;if(o){let a=this.styles,n=this.index===r,u=n?a.primary:h=>h,A=await this.resolve(o[n?"on":"off"]||o,this.state),p=Ra.hasColor(A)?A:u(A);return n?p:" ".repeat(A.length)}}async indicator(e,r){let o=await this.element("indicator",e,r);if(typeof o=="string"&&Ra.hasColor(o))return o;if(o){let a=this.styles,n=e.enabled===!0,u=n?a.success:a.dark,A=o[n?"on":"off"]||o;return Ra.hasColor(A)?A:u(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 Ra.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,...r){return Ra.resolve(this,e,...r)}get base(){return c2.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Ra.height(this.stdout,25)}get width(){return this.options.columns||Ra.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:r}=this.state,o=[r,e].find(this.isValue.bind(this));return this.isValue(o)?o:this.initial}static get prompt(){return e=>new this(e).run()}};function nft(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],o=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?o.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function ift(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?` +`:" ",o=[];for(let a=0;a<4;a++){let n=r(a);e[a]?o.push(n.repeat(e[a])):o.push("")}return o}Phe.exports=c2});var khe=_((i8t,xhe)=>{"use strict";var sft=No(),bhe={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return bhe.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};xhe.exports=(t,e={})=>{let r=sft.merge({},bhe,e.roles);return r[t]||r.default}});var u2=_((s8t,Rhe)=>{"use strict";var oft=Kc(),aft=gC(),lft=khe(),ok=No(),{reorder:G_,scrollUp:cft,scrollDown:uft,isObject:Qhe,swap:Aft}=ok,Y_=class extends aft{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:r,autofocus:o,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Qhe(r)&&(r=Object.keys(r)),Array.isArray(r)?(o!=null&&(this.index=this.findIndex(o)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(o!=null&&(r=o),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let o=[],a=0,n=async(u,A)=>{typeof u=="function"&&(u=await u.call(this)),u instanceof Promise&&(u=await u);for(let p=0;p(this.state.loadingChoices=!1,u))}async toChoice(e,r,o){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 a=e.value;if(e=lft(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=r,e.cursor=0,ok.define(e,"parent",o),e.level=o?o.level+1:1,e.indent==null&&(e.indent=o?o.indent+" ":e.indent||""),e.path=o?o.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,oft.unstyle(e.message).length));let u={...e};return e.reset=(A=u.input,p=u.value)=>{for(let h of Object.keys(u))e[h]=u[h];e.input=A,e.value=p},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,o){let a=await this.toChoice(e,r,o);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,o){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,o);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.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(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(a=>this.toggle(a,r));let o=e.parent;for(;o;){let a=o.choices.filter(n=>this.isDisabled(n));o.enabled=a.every(n=>n.enabled===!0),o=o.parent}return Fhe(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 r=o=>{let a=Number(o);if(a>this.choices.length-1)return this.alert();let n=this.focused,u=this.choices.find(A=>a===A.index);if(!u.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(u)===-1){let A=G_(this.choices),p=A.indexOf(u);if(n.index>p){let h=A.slice(p,p+this.limit),E=A.filter(I=>!h.includes(I));this.choices=h.concat(E)}else{let h=p-this.limit+1;this.choices=A.slice(h).concat(A.slice(0,h))}}return this.index=this.choices.indexOf(u),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(o=>{let a=this.choices.length,n=this.num,u=(A=!1,p)=>{clearTimeout(this.numberTimeout),A&&(p=r(n)),this.num="",o(p)};if(n==="0"||n.length===1&&Number(n+"0")>a)return u(!0);if(Number(n)>a)return u(!1,this.alert());this.numberTimeout=setTimeout(()=>u(!0),this.delay)})}home(){return this.choices=G_(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=G_(this.choices);return this.choices=r.slice(e).concat(r.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,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===0?this.alert():e>r&&o===0?this.scrollUp():(this.index=(o-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===r-1?this.alert():e>r&&o===r-1?this.scrollDown():(this.index=(o+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=cft(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=uft(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){Aft(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(o=>e[o]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(o=>!this.isDisabled(o));return e.enabled&&r.every(o=>this.isEnabled(o))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((o,a)=>(o[a]=this.find(a,r),o),{})}filter(e,r){let a=typeof e=="function"?e:(A,p)=>[A.name,p].includes(e),u=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?u.map(A=>A[r]):u}find(e,r){if(Qhe(e))return r?e[r]:e;let a=typeof e=="function"?e:(u,A)=>[u.name,A].includes(e),n=this.choices.find(a);if(n)return r?n[r]:n}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(u=>u.newChoice))return this.alert();let{reorder:r,sort:o}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&o!==!0&&(n=ok.reorder(n)),this.value=a?n.map(u=>u.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(o=>o.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let o=this.find(r);o&&(this.initial=o.index,this.focus(o,!0))}}}get choices(){return Fhe(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:r,choices:o}=this,a=e.limit||this._limit||r.limit||o.length;return Math.min(a,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 Fhe(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(ok.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let o=r.choices.filter(a=>!t.isDisabled(a));r.enabled=o.every(a=>a.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}Rhe.exports=Y_});var bh=_((o8t,The)=>{"use strict";var fft=u2(),W_=No(),K_=class extends fft{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);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,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let o=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!W_.hasColor(o)&&(o=this.styles.strong(o)),this.resolve(o,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await this.indicator(e,r)+(e.pad||""),u=await this.resolve(e.hint,this.state,e,r);u&&!W_.hasColor(u)&&(u=this.styles.muted(u));let A=this.indent(e),p=await this.choiceMessage(e,r),h=()=>[this.margin[3],A+a+n,p,this.margin[1],u].filter(Boolean).join(" ");return e.role==="heading"?h():e.disabled?(W_.hasColor(p)||(p=this.styles.disabled(p)),h()):(o&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(n,u)=>await this.renderChoice(n,u)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let o=this.margin[0]+r.join(` +`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,o].filter(Boolean).join(` +`)}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:r}=this.state,o="",a=await this.header(),n=await this.prefix(),u=await this.separator(),A=await this.message();this.options.promptLine!==!1&&(o=[n,A,u,""].join(" "),this.state.prompt=o);let p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),I=await this.footer();p&&(o+=p),h&&!o.includes(h)&&(o+=" "+h),e&&!p&&!E.trim()&&this.multiple&&this.emptyError!=null&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,o,E,I].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};The.exports=K_});var Lhe=_((a8t,Nhe)=>{"use strict";var pft=bh(),hft=(t,e)=>{let r=t.toLowerCase();return o=>{let n=o.toLowerCase().indexOf(r),u=e(o.slice(n,n+r.length));return n>=0?o.slice(0,n)+u+o.slice(n+r.length):o}},V_=class extends pft{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:r,input:o}=this.state;return this.input=o.slice(0,r)+e+o.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.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,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let o=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(o))}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,r=hft(this.input,e),o=this.choices;this.choices=o.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=o}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Nhe.exports=V_});var z_=_((l8t,Ohe)=>{"use strict";var J_=No();Ohe.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:o="",pos:a,showCursor:n=!0,color:u}=e,A=u||t.styles.placeholder,p=J_.inverse(t.styles.primary),h=R=>p(t.styles.black(R)),E=r,I=" ",v=h(I);if(t.blink&&t.blink.off===!0&&(h=R=>R,v=""),n&&a===0&&o===""&&r==="")return h(I);if(n&&a===0&&(r===o||r===""))return h(o[0])+A(o.slice(1));o=J_.isPrimitive(o)?`${o}`:"",r=J_.isPrimitive(r)?`${r}`:"";let x=o&&o.startsWith(r)&&o!==r,C=x?h(o[r.length]):v;if(a!==r.length&&n===!0&&(E=r.slice(0,a)+h(r[a])+r.slice(a+1),C=""),n===!1&&(C=""),x){let R=t.styles.unstyle(E+C);return E+C+A(o.slice(R.length))}return E+C}});var ak=_((c8t,Mhe)=>{"use strict";var gft=Kc(),dft=bh(),mft=z_(),X_=class extends dft{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=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(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:o,input:a}=r;return r.value=r.input=a.slice(0,o)+e+a.slice(o),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:o}=e;return e.value=e.input=o.slice(0,r-1)+o.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:o}=e;if(o[r]===void 0)return this.alert();let a=`${o}`.slice(0,r)+`${o}`.slice(r+1);return e.value=e.input=a,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,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:o}=e;return r&&r.startsWith(o)&&o!==r?(e.value=e.input=r,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,r){let o=await this.resolve(e.separator,this.state,e,r)||":";return o?" "+this.styles.disabled(o):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:o,styles:a}=this,{cursor:n,initial:u="",name:A,hint:p,input:h=""}=e,{muted:E,submitted:I,primary:v,danger:x}=a,C=p,R=this.index===r,L=e.validate||(()=>!0),U=await this.choiceSeparator(e,r),J=e.message;this.align==="right"&&(J=J.padStart(this.longest+1," ")),this.align==="left"&&(J=J.padEnd(this.longest+1," "));let te=this.values[A]=h||u,ae=h?"success":"dark";await L.call(e,te,this.state)!==!0&&(ae="danger");let fe=a[ae],ce=fe(await this.indicator(e,r))+(e.pad||""),me=this.indent(e),he=()=>[me,ce,J+U,h,C].filter(Boolean).join(" ");if(o.submitted)return J=gft.unstyle(J),h=I(h),C="",he();if(e.format)h=await e.format.call(this,h,e,r);else{let Be=this.styles.muted;h=mft(this,{input:h,initial:u,pos:n,showCursor:R,color:Be})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[A]=await e.result.call(this,te,e,r)),R&&(J=v(J)),e.error?h+=(h?" ":"")+x(e.error.trim()):e.hint&&(h+=(h?" ":"")+E(e.hint.trim())),he()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Mhe.exports=X_});var Z_=_((u8t,_he)=>{"use strict";var yft=ak(),Eft=()=>{throw new Error("expected prompt to have a custom authenticate method")},Uhe=(t=Eft)=>{class e extends yft{constructor(o){super(o)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(o){return Uhe(o)}}return e};_he.exports=Uhe()});var jhe=_((A8t,qhe)=>{"use strict";var Cft=Z_();function wft(t,e){return t.username===this.options.username&&t.password===this.options.password}var Hhe=(t=wft)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(o){return this.options.showPassword?o:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(o.length))}}];class r extends Cft.create(t){constructor(a){super({...a,choices:e})}static create(a){return Hhe(a)}}return r};qhe.exports=Hhe()});var lk=_((f8t,Ghe)=>{"use strict";var Ift=gC(),{isPrimitive:Bft,hasColor:vft}=No(),$_=class extends Ift{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:r,state:o}=this;return o.submitted?r.success(e):r.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 Bft(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return vft(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=this.styles.muted(this.default),A=[o,n,u,a].filter(Boolean).join(" ");this.state.prompt=A;let p=await this.header(),h=this.value=this.cast(e),E=await this.format(h),I=await this.error()||await this.hint(),v=await this.footer();I&&!A.includes(I)&&(E+=" "+I),A+=" "+E,this.clear(r),this.write([p,A,v].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Ghe.exports=$_});var Whe=_((p8t,Yhe)=>{"use strict";var Dft=lk(),e8=class extends Dft{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};Yhe.exports=e8});var Vhe=_((h8t,Khe)=>{"use strict";var Sft=bh(),Pft=ak(),dC=Pft.prototype,t8=class extends Sft{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let o=this.focused,a=o.parent||{};return!o.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():dC.dispatch.call(this,e,r)}append(e,r){return dC.append.call(this,e,r)}delete(e,r){return dC.delete.call(this,e,r)}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?dC.next.call(this):super.next()}prev(){return this.focused.editable?dC.prev.call(this):super.prev()}async indicator(e,r){let o=e.indicator||"",a=e.editable?o:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?dC.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let o=r.parent?this.value[r.parent.name]:this.value;if(r.editable?o=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(o=r.enabled===!0),e=await r.validate(o,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 r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};Khe.exports=t8});var Wd=_((g8t,Jhe)=>{"use strict";var bft=gC(),xft=z_(),{isPrimitive:kft}=No(),r8=class extends bft{constructor(e){super(e),this.initial=kft(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let o=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!o||o.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:o}=this.state;this.input=`${o}`.slice(0,r)+e+`${o}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.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 r=this.input.slice(0,e),o=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=o,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 r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):xft(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),o=await this.separator(),a=await this.message(),n=[r,a,o].filter(Boolean).join(" ");this.state.prompt=n;let u=await this.header(),A=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!A.includes(p)&&(A+=" "+p),n+=" "+A,this.clear(e),this.write([u,n,h].filter(Boolean).join(` +`)),this.restore()}};Jhe.exports=r8});var Xhe=_((d8t,zhe)=>{"use strict";var Qft=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),ck=t=>Qft(t).filter(Boolean);zhe.exports=(t,e={},r="")=>{let{past:o=[],present:a=""}=e,n,u;switch(t){case"prev":case"undo":return n=o.slice(0,o.length-1),u=o[o.length-1]||"",{past:ck([r,...n]),present:u};case"next":case"redo":return n=o.slice(1),u=o[0]||"",{past:ck([...n,r]),present:u};case"save":return{past:ck([...o,r]),present:""};case"remove":return u=ck(o.filter(A=>A!==r)),a="",u.length&&(a=u.pop()),{past:u,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var i8=_((m8t,$he)=>{"use strict";var Fft=Wd(),Zhe=Xhe(),n8=class extends Fft{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let o=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:o},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Zhe(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=Zhe("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};$he.exports=n8});var t0e=_((y8t,e0e)=>{"use strict";var Rft=Wd(),s8=class extends Rft{format(){return""}};e0e.exports=s8});var n0e=_((E8t,r0e)=>{"use strict";var Tft=Wd(),o8=class extends Tft{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:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};r0e.exports=o8});var s0e=_((C8t,i0e)=>{"use strict";var Nft=bh(),a8=class extends Nft{constructor(e){super({...e,multiple:!0})}};i0e.exports=a8});var c8=_((w8t,o0e)=>{"use strict";var Lft=Wd(),l8=class extends Lft{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 r=e||this.minor,o=this.toNumber(this.input);return o>this.max+r?this.alert():(this.input=`${o+r}`,this.render())}down(e){let r=e||this.minor,o=this.toNumber(this.input);return othis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};o0e.exports=l8});var l0e=_((I8t,a0e)=>{a0e.exports=c8()});var u0e=_((B8t,c0e)=>{"use strict";var Oft=Wd(),u8=class extends Oft{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)):""}};c0e.exports=u8});var p0e=_((v8t,f0e)=>{"use strict";var Mft=Kc(),Uft=u2(),A0e=No(),A8=class extends Uft{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||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((o,a)=>({name:a+r})))}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 r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let o=0;o=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(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(o=>` ${o.name} - ${o.message}`)].map(o=>this.styles.muted(o)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let o=this.scaleLength-r.join("").length,a=Math.round(o/(r.length-1)),u=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),A=" ".repeat(this.widths[0]);return this.margin[3]+A+this.margin[1]+u}scaleIndicator(e,r,o){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,o);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let o=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return o.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!A0e.hasColor(n)&&(n=this.styles.muted(n));let u=C=>this.margin[3]+C.replace(/\s+$/,"").padEnd(this.widths[0]," "),A=this.newline,p=this.indent(e),h=await this.resolve(e.message,this.state,e,r),E=await this.renderScale(e,r),I=this.margin[1]+this.margin[3];this.scaleLength=Mft.unstyle(E).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-I.length);let x=A0e.wordWrap(h,{width:this.widths[0],newline:A}).split(` +`).map(C=>u(C)+this.margin[1]);return o&&(E=this.styles.info(E),x=x.map(C=>this.styles.info(C))),x[0]+=E,this.linebreak&&x.push(""),[p+a,x.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),o=await this.renderScaleHeading();return this.margin[0]+[o,...r.map(a=>a.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u="";this.options.promptLine!==!1&&(u=[o,n,a,""].join(" "),this.state.prompt=u);let A=await this.header(),p=await this.format(),h=await this.renderScaleKey(),E=await this.error()||await this.hint(),I=await this.renderChoices(),v=await this.footer(),x=this.emptyError;p&&(u+=p),E&&!u.includes(E)&&(u+=" "+E),e&&!p&&!I.trim()&&this.multiple&&x!=null&&(u+=this.styles.danger(x)),this.clear(r),this.write([A,u,h,I,v].filter(Boolean).join(` +`)),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)}};f0e.exports=A8});var d0e=_((D8t,g0e)=>{"use strict";var h0e=Kc(),_ft=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",p8=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=_ft(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},Hft=async(t={},e={},r=o=>o)=>{let o=new Set,a=t.fields||[],n=t.template,u=[],A=[],p=[],h=1;typeof n=="function"&&(n=await n());let E=-1,I=()=>n[++E],v=()=>n[E+1],x=C=>{C.line=h,u.push(C)};for(x({type:"bos",value:""});Eae.name===U.key);U.field=a.find(ae=>ae.name===U.key),te||(te=new p8(U),A.push(te)),te.lines.push(U.line-1);continue}let R=u[u.length-1];R.type==="text"&&R.line===h?R.value+=C:x({type:"text",value:C})}return x({type:"eos",value:""}),{input:n,tabstops:u,unique:o,keys:p,items:A}};g0e.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),o={...e.values,...e.initial},{tabstops:a,items:n,keys:u}=await Hft(e,o),A=f8("result",t,e),p=f8("format",t,e),h=f8("validate",t,e,!0),E=t.isValue.bind(t);return async(I={},v=!1)=>{let x=0;I.required=r,I.items=n,I.keys=u,I.output="";let C=async(J,te,ae,fe)=>{let ce=await h(J,te,ae,fe);return ce===!1?"Invalid field "+ae.name:ce};for(let J of a){let te=J.value,ae=J.key;if(J.type!=="template"){te&&(I.output+=te);continue}if(J.type==="template"){let fe=n.find(we=>we.name===ae);e.required===!0&&I.required.add(fe.name);let ce=[fe.input,I.values[fe.value],fe.value,te].find(E),he=(fe.field||{}).message||J.inner;if(v){let we=await C(I.values[ae],I,fe,x);if(we&&typeof we=="string"||we===!1){I.invalid.set(ae,we);continue}I.invalid.delete(ae);let g=await A(I.values[ae],I,fe,x);I.output+=h0e.unstyle(g);continue}fe.placeholder=!1;let Be=te;te=await p(te,I,fe,x),ce!==te?(I.values[ae]=ce,te=t.styles.typing(ce),I.missing.delete(he)):(I.values[ae]=void 0,ce=`<${he}>`,te=t.styles.primary(ce),fe.placeholder=!0,I.required.has(ae)&&I.missing.add(he)),I.missing.has(he)&&I.validating&&(te=t.styles.warning(ce)),I.invalid.has(ae)&&I.validating&&(te=t.styles.danger(ce)),x===I.index&&(Be!==te?te=t.styles.underline(te):te=t.styles.heading(h0e.unstyle(te))),x++}te&&(I.output+=te)}let R=I.output.split(` +`).map(J=>" "+J),L=n.length,U=0;for(let J of n)I.invalid.has(J.name)&&J.lines.forEach(te=>{R[te][0]===" "&&(R[te]=I.styles.danger(I.symbols.bullet)+R[te].slice(1))}),t.isValue(I.values[J.name])&&U++;return I.completed=(U/L*100).toFixed(0),I.output=R.join(` +`),I.output}};function f8(t,e,r,o){return(a,n,u,A)=>typeof u.field[t]=="function"?u.field[t].call(e,a,n,u,A):[o,a].find(p=>e.isValue(p))}});var y0e=_((S8t,m0e)=>{"use strict";var qft=Kc(),jft=d0e(),Gft=gC(),h8=class extends Gft{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await jft(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 r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let o=this.getItem(),a=o.input.slice(0,this.cursor),n=o.input.slice(this.cursor);this.input=o.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),o=e.input.slice(0,this.cursor-1);this.input=e.input=`${o}${r}`,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 r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:o,size:a}=this.state,n=[this.options.newline,` +`].find(J=>J!=null),u=await this.prefix(),A=await this.separator(),p=await this.message(),h=[u,p,A].filter(Boolean).join(" ");this.state.prompt=h;let E=await this.header(),I=await this.error()||"",v=await this.hint()||"",x=o?"":await this.interpolate(this.state),C=this.state.key=r[e]||"",R=await this.format(C),L=await this.footer();R&&(h+=" "+R),v&&!R&&this.state.completed===0&&(h+=" "+v),this.clear(a);let U=[E,h,x,L,I.trim()];this.write(U.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:o,index:a}=this.state,n=r.find(u=>u.name===o[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:o,values:a}=this.state;if(e.size){let A="";for(let[p,h]of e)A+=`Invalid ${p}: ${h} +`;return this.state.error=A,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let u=qft.unstyle(o).split(` +`).map(A=>A.slice(1)).join(` +`);return this.value={values:a,result:u},super.submit()}};m0e.exports=h8});var C0e=_((P8t,E0e)=>{"use strict";var Yft="(Use + to sort)",Wft=bh(),g8=class extends Wft{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,Yft].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let o=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+o:n+o}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};E0e.exports=g8});var I0e=_((b8t,w0e)=>{"use strict";var Kft=u2(),d8=class extends Kft{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(o=>this.styles.muted(o)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let o of r)o.scale=Vft(5,this.options),o.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],o=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!o,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,r){await this.onChoice(e,r);let o=this.index===r,a=this.term==="Hyper",n=a?9:8,u=a?"":" ",A=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=te=>(te?this.styles.success("\u25C9"):"\u25EF")+u,E=r+1+".",I=o?this.styles.heading:this.styles.noop,v=await this.resolve(e.message,this.state,e,r),x=this.indent(e),C=x+e.scale.map((te,ae)=>h(ae===e.scaleIdx)).join(A),R=te=>te===e.scaleIdx?I(te):te,L=x+e.scale.map((te,ae)=>R(ae)).join(p),U=()=>[E,v].filter(Boolean).join(" "),J=()=>[U(),C,L," "].filter(Boolean).join(` +`);return o&&(C=this.styles.cyan(C),L=this.styles.cyan(L)),J()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(o,a)=>await this.renderChoice(o,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=[o,n,a].filter(Boolean).join(" ");this.state.prompt=u;let A=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),I=await this.footer();(p||!h)&&(u+=" "+p),h&&!u.includes(h)&&(u+=" "+h),e&&!p&&!E&&this.multiple&&this.type!=="form"&&(u+=this.styles.danger(this.emptyError)),this.clear(r),this.write([u,A,E,I].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function Vft(t,e={}){if(Array.isArray(e.scale))return e.scale.map(o=>({...o}));let r=[];for(let o=1;o{B0e.exports=i8()});var S0e=_((k8t,D0e)=>{"use strict";var Jft=lk(),m8=class extends Jft{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="",r){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=o=>this.styles.primary.underline(o);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,r=await this.header(),o=await this.prefix(),a=await this.separator(),n=await this.message(),u=await this.format(),A=await this.error()||await this.hint(),p=await this.footer(),h=[o,n,a,u].join(" ");this.state.prompt=h,A&&!h.includes(A)&&(h+=" "+A),this.clear(e),this.write([r,h,p].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};D0e.exports=m8});var b0e=_((Q8t,P0e)=>{"use strict";var zft=bh(),y8=class extends zft{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,r){let o=await super.toChoices(e,r);if(o.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>o.length)throw new Error("Please specify the index of the correct answer from the list of choices");return o}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)}}};P0e.exports=y8});var k0e=_(E8=>{"use strict";var x0e=No(),As=(t,e)=>{x0e.defineExport(E8,t,e),x0e.defineExport(E8,t.toLowerCase(),e)};As("AutoComplete",()=>Lhe());As("BasicAuth",()=>jhe());As("Confirm",()=>Whe());As("Editable",()=>Vhe());As("Form",()=>ak());As("Input",()=>i8());As("Invisible",()=>t0e());As("List",()=>n0e());As("MultiSelect",()=>s0e());As("Numeral",()=>l0e());As("Password",()=>u0e());As("Scale",()=>p0e());As("Select",()=>bh());As("Snippet",()=>y0e());As("Sort",()=>C0e());As("Survey",()=>I0e());As("Text",()=>v0e());As("Toggle",()=>S0e());As("Quiz",()=>b0e())});var F0e=_((R8t,Q0e)=>{Q0e.exports={ArrayPrompt:u2(),AuthPrompt:Z_(),BooleanPrompt:lk(),NumberPrompt:c8(),StringPrompt:Wd()}});var f2=_((T8t,T0e)=>{"use strict";var R0e=ve("assert"),w8=ve("events"),xh=No(),Jc=class extends w8{constructor(e,r){super(),this.options=xh.merge({},e),this.answers={...r}}register(e,r){if(xh.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}R0e.equal(typeof r,"function","expected a function");let o=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[o]=r:this.prompts[o]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(xh.merge({},this.options,r))}catch(o){return Promise.reject(o)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=xh.merge({},this.options,e),{type:o,name:a}=e,{set:n,get:u}=xh;if(typeof o=="function"&&(o=await o.call(this,e,this.answers)),!o)return this.answers[a];R0e(this.prompts[o],`Prompt "${o}" is not registered`);let A=new this.prompts[o](r),p=u(this.answers,a);A.state.answers=this.answers,A.enquirer=this,a&&A.on("submit",E=>{this.emit("answer",a,E,A),n(this.answers,a,E)});let h=A.emit.bind(A);return A.emit=(...E)=>(this.emit.call(this,...E),h(...E)),this.emit("prompt",A,this),r.autofill&&p!=null?(A.value=A.input=p,r.autofill==="show"&&await A.submit()):p=A.value=await A.run(),p}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||gC()}static get prompts(){return k0e()}static get types(){return F0e()}static get prompt(){let e=(r,...o)=>{let a=new this(...o),n=a.emit.bind(a);return a.emit=(...u)=>(e.emit(...u),n(...u)),a.prompt(r)};return xh.mixinEmitter(e,new w8),e}};xh.mixinEmitter(Jc,new w8);var C8=Jc.prompts;for(let t of Object.keys(C8)){let e=t.toLowerCase(),r=o=>new C8[t](o).run();Jc.prompt[e]=r,Jc[e]=r,Jc[t]||Reflect.defineProperty(Jc,t,{get:()=>C8[t]})}var A2=t=>{xh.defineExport(Jc,t,()=>Jc.types[t])};A2("ArrayPrompt");A2("AuthPrompt");A2("BooleanPrompt");A2("NumberPrompt");A2("StringPrompt");T0e.exports=Jc});var d2=_((dHt,H0e)=>{var rpt=zx();function npt(t,e,r){var o=t==null?void 0:rpt(t,e);return o===void 0?r:o}H0e.exports=npt});var G0e=_((IHt,j0e)=>{function ipt(t,e){for(var r=-1,o=t==null?0:t.length;++r{var spt=dd(),opt=zS();function apt(t,e){return t&&spt(e,opt(e),t)}Y0e.exports=apt});var V0e=_((vHt,K0e)=>{var lpt=dd(),cpt=Gy();function upt(t,e){return t&&lpt(e,cpt(e),t)}K0e.exports=upt});var z0e=_((DHt,J0e)=>{var Apt=dd(),fpt=GS();function ppt(t,e){return Apt(t,fpt(t),e)}J0e.exports=ppt});var P8=_((SHt,X0e)=>{var hpt=jS(),gpt=tP(),dpt=GS(),mpt=WN(),ypt=Object.getOwnPropertySymbols,Ept=ypt?function(t){for(var e=[];t;)hpt(e,dpt(t)),t=gpt(t);return e}:mpt;X0e.exports=Ept});var $0e=_((PHt,Z0e)=>{var Cpt=dd(),wpt=P8();function Ipt(t,e){return Cpt(t,wpt(t),e)}Z0e.exports=Ipt});var b8=_((bHt,ege)=>{var Bpt=YN(),vpt=P8(),Dpt=Gy();function Spt(t){return Bpt(t,Dpt,vpt)}ege.exports=Spt});var rge=_((xHt,tge)=>{var Ppt=Object.prototype,bpt=Ppt.hasOwnProperty;function xpt(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&bpt.call(t,"index")&&(r.index=t.index,r.input=t.input),r}tge.exports=xpt});var ige=_((kHt,nge)=>{var kpt=$S();function Qpt(t,e){var r=e?kpt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}nge.exports=Qpt});var oge=_((QHt,sge)=>{var Fpt=/\w*$/;function Rpt(t){var e=new t.constructor(t.source,Fpt.exec(t));return e.lastIndex=t.lastIndex,e}sge.exports=Rpt});var Age=_((FHt,uge)=>{var age=pd(),lge=age?age.prototype:void 0,cge=lge?lge.valueOf:void 0;function Tpt(t){return cge?Object(cge.call(t)):{}}uge.exports=Tpt});var pge=_((RHt,fge)=>{var Npt=$S(),Lpt=ige(),Opt=oge(),Mpt=Age(),Upt=oL(),_pt="[object Boolean]",Hpt="[object Date]",qpt="[object Map]",jpt="[object Number]",Gpt="[object RegExp]",Ypt="[object Set]",Wpt="[object String]",Kpt="[object Symbol]",Vpt="[object ArrayBuffer]",Jpt="[object DataView]",zpt="[object Float32Array]",Xpt="[object Float64Array]",Zpt="[object Int8Array]",$pt="[object Int16Array]",eht="[object Int32Array]",tht="[object Uint8Array]",rht="[object Uint8ClampedArray]",nht="[object Uint16Array]",iht="[object Uint32Array]";function sht(t,e,r){var o=t.constructor;switch(e){case Vpt:return Npt(t);case _pt:case Hpt:return new o(+t);case Jpt:return Lpt(t,r);case zpt:case Xpt:case Zpt:case $pt:case eht:case tht:case rht:case nht:case iht:return Upt(t,r);case qpt:return new o;case jpt:case Wpt:return new o(t);case Gpt:return Opt(t);case Ypt:return new o;case Kpt:return Mpt(t)}}fge.exports=sht});var gge=_((THt,hge)=>{var oht=GI(),aht=Ju(),lht="[object Map]";function cht(t){return aht(t)&&oht(t)==lht}hge.exports=cht});var Ege=_((NHt,yge)=>{var uht=gge(),Aht=WS(),dge=KS(),mge=dge&&dge.isMap,fht=mge?Aht(mge):uht;yge.exports=fht});var wge=_((LHt,Cge)=>{var pht=GI(),hht=Ju(),ght="[object Set]";function dht(t){return hht(t)&&pht(t)==ght}Cge.exports=dht});var Dge=_((OHt,vge)=>{var mht=wge(),yht=WS(),Ige=KS(),Bge=Ige&&Ige.isSet,Eht=Bge?yht(Bge):mht;vge.exports=Eht});var x8=_((MHt,xge)=>{var Cht=HS(),wht=G0e(),Iht=rP(),Bht=W0e(),vht=V0e(),Dht=sL(),Sht=eP(),Pht=z0e(),bht=$0e(),xht=zN(),kht=b8(),Qht=GI(),Fht=rge(),Rht=pge(),Tht=aL(),Nht=Hl(),Lht=UI(),Oht=Ege(),Mht=il(),Uht=Dge(),_ht=zS(),Hht=Gy(),qht=1,jht=2,Ght=4,Sge="[object Arguments]",Yht="[object Array]",Wht="[object Boolean]",Kht="[object Date]",Vht="[object Error]",Pge="[object Function]",Jht="[object GeneratorFunction]",zht="[object Map]",Xht="[object Number]",bge="[object Object]",Zht="[object RegExp]",$ht="[object Set]",e0t="[object String]",t0t="[object Symbol]",r0t="[object WeakMap]",n0t="[object ArrayBuffer]",i0t="[object DataView]",s0t="[object Float32Array]",o0t="[object Float64Array]",a0t="[object Int8Array]",l0t="[object Int16Array]",c0t="[object Int32Array]",u0t="[object Uint8Array]",A0t="[object Uint8ClampedArray]",f0t="[object Uint16Array]",p0t="[object Uint32Array]",ri={};ri[Sge]=ri[Yht]=ri[n0t]=ri[i0t]=ri[Wht]=ri[Kht]=ri[s0t]=ri[o0t]=ri[a0t]=ri[l0t]=ri[c0t]=ri[zht]=ri[Xht]=ri[bge]=ri[Zht]=ri[$ht]=ri[e0t]=ri[t0t]=ri[u0t]=ri[A0t]=ri[f0t]=ri[p0t]=!0;ri[Vht]=ri[Pge]=ri[r0t]=!1;function Ak(t,e,r,o,a,n){var u,A=e&qht,p=e&jht,h=e&Ght;if(r&&(u=a?r(t,o,a,n):r(t)),u!==void 0)return u;if(!Mht(t))return t;var E=Nht(t);if(E){if(u=Fht(t),!A)return Sht(t,u)}else{var I=Qht(t),v=I==Pge||I==Jht;if(Lht(t))return Dht(t,A);if(I==bge||I==Sge||v&&!a){if(u=p||v?{}:Tht(t),!A)return p?bht(t,vht(u,t)):Pht(t,Bht(u,t))}else{if(!ri[I])return a?t:{};u=Rht(t,I,A)}}n||(n=new Cht);var x=n.get(t);if(x)return x;n.set(t,u),Uht(t)?t.forEach(function(L){u.add(Ak(L,e,r,L,t,n))}):Oht(t)&&t.forEach(function(L,U){u.set(U,Ak(L,e,r,U,t,n))});var C=h?p?kht:xht:p?Hht:_ht,R=E?void 0:C(t);return wht(R||t,function(L,U){R&&(U=L,L=t[U]),Iht(u,U,Ak(L,e,r,U,t,n))}),u}xge.exports=Ak});var k8=_((UHt,kge)=>{var h0t=x8(),g0t=1,d0t=4;function m0t(t){return h0t(t,g0t|d0t)}kge.exports=m0t});var Q8=_((_Ht,Qge)=>{var y0t=I_();function E0t(t,e,r){return t==null?t:y0t(t,e,r)}Qge.exports=E0t});var Lge=_((WHt,Nge)=>{var C0t=Object.prototype,w0t=C0t.hasOwnProperty;function I0t(t,e){return t!=null&&w0t.call(t,e)}Nge.exports=I0t});var Mge=_((KHt,Oge)=>{var B0t=Lge(),v0t=B_();function D0t(t,e){return t!=null&&v0t(t,e,B0t)}Oge.exports=D0t});var _ge=_((VHt,Uge)=>{function S0t(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}Uge.exports=S0t});var qge=_((JHt,Hge)=>{var P0t=zx(),b0t=pU();function x0t(t,e){return e.length<2?t:P0t(t,b0t(e,0,-1))}Hge.exports=x0t});var R8=_((zHt,jge)=>{var k0t=jd(),Q0t=_ge(),F0t=qge(),R0t=lC();function T0t(t,e){return e=k0t(e,t),t=F0t(t,e),t==null||delete t[R0t(Q0t(e))]}jge.exports=T0t});var T8=_((XHt,Gge)=>{var N0t=R8();function L0t(t,e){return t==null?!0:N0t(t,e)}Gge.exports=L0t});var Jge=_((S6t,U0t)=>{U0t.exports={name:"@yarnpkg/cli",version:"4.1.1",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"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/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^3.2.0",clipanion:"^4.0.0-rc.2",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.14.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^"},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",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@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","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=18.12.0"}}});var j8=_((n5t,ade)=>{"use strict";ade.exports=function(e,r){r===!0&&(r=0);var o="";if(typeof e=="string")try{o=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(o=e.protocol);var a=o.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var cde=_((i5t,lde)=>{"use strict";var igt=j8();function sgt(t){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:t,query:{},parse_failed:!1};try{var r=new URL(t);e.protocols=igt(r),e.protocol=e.protocols[0],e.port=r.port,e.resource=r.hostname,e.host=r.host,e.user=r.username||"",e.password=r.password||"",e.pathname=r.pathname,e.hash=r.hash.slice(1),e.search=r.search.slice(1),e.href=r.href,e.query=Object.fromEntries(r.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=t,e.query={},e.parse_failed=!0}return e}lde.exports=sgt});var fde=_((s5t,Ade)=>{"use strict";var ogt=cde();function agt(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var lgt=agt(ogt),cgt="text/plain",ugt="us-ascii",ude=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Agt=(t,{stripHash:e})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:o,data:a,hash:n}=r.groups,u=o.split(";");n=e?"":n;let A=!1;u[u.length-1]==="base64"&&(u.pop(),A=!0);let p=(u.shift()||"").toLowerCase(),E=[...u.map(I=>{let[v,x=""]=I.split("=").map(C=>C.trim());return v==="charset"&&(x=x.toLowerCase(),x===ugt)?"":`${v}${x?`=${x}`:""}`}).filter(Boolean)];return A&&E.push("base64"),(E.length>0||p&&p!==cgt)&&E.unshift(p),`data:${E.join(";")},${A?a.trim():a}${n?`#${n}`:""}`};function fgt(t,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},t=t.trim(),/^data:/i.test(t))return Agt(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash?a.hash="":e.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let u=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,A=0,p="";for(;;){let E=u.exec(a.pathname);if(!E)break;let I=E[0],v=E.index,x=a.pathname.slice(A,v);p+=x.replace(/\/{2,}/g,"/"),p+=I,A=v+I.length}let h=a.pathname.slice(A,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let u=a.pathname.split("/"),A=u[u.length-1];ude(A,e.removeDirectoryIndex)&&(u=u.slice(0,-1),a.pathname=u.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let u of[...a.searchParams.keys()])ude(u,e.removeQueryParameters)&&a.searchParams.delete(u);if(e.removeQueryParameters===!0&&(a.search=""),e.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=t;return t=a.toString(),!e.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}var G8=(t,e=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=n=>{let u=new Error(n);throw u.subject_url=t,u};(typeof t!="string"||!t.trim())&&o("Invalid url."),t.length>G8.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),t=fgt(t,e));let a=lgt.default(t);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):o("URL parsing failed.")}return a};G8.MAX_INPUT_LENGTH=2048;Ade.exports=G8});var gde=_((o5t,hde)=>{"use strict";var pgt=j8();function pde(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=pgt(t);if(t=t.substring(t.indexOf("://")+3),pde(e))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(r)&&t.indexOf("@"){"use strict";var hgt=fde(),dde=gde();function ggt(t){var e=hgt(t);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),dde(e.protocols)||e.protocols.length===0&&dde(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}mde.exports=ggt});var Cde=_((l5t,Ede)=>{"use strict";var dgt=yde();function Y8(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(t)&&(t="https://github.com/"+t);var r=dgt(t),o=r.resource.split("."),a=null;switch(r.toString=function(L){return Y8.stringify(this,L)},r.source=o.length>2?o.slice(1-o.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=o[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var u=a.indexOf("-",2),A=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),E=a.indexOf("src",2),I=a.indexOf("raw",2),v=a.indexOf("edit",2);n=u>0?u-1:A>0?A-1:p>0?p-1:h>0?h-1:E>0?E-1:I>0?I-1:v>0?v-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var x=a.length>n&&a[n+1]==="-"?n+1:n;a.length>x+2&&["raw","src","blob","tree","edit"].indexOf(a[x+1])>=0&&(r.filepathtype=a[x+1],r.ref=a[x+2],a.length>x+3&&(r.filepath=a.slice(x+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var C=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,R=C.exec(r.pathname);return R!=null&&(r.source="bitbucket-server",R[1]==="users"?r.owner="~"+R[2]:r.owner=R[2],r.organization=r.owner,r.name=R[3],a=R[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}Y8.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",o=t.user||"git",a=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+o+"@"+t.resource+r+"/"+t.full_name+a:o+"@"+t.resource+":"+t.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+o+"@"+t.resource+r+"/"+t.full_name+a;case"http":case"https":var n=t.token?mgt(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+n+t.resource+r+"/"+ygt(t)+a;default:return t.href}};function mgt(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}function ygt(t){switch(t.source){case"bitbucket-server":return"scm/"+t.full_name;default:return""+t.full_name}}Ede.exports=Y8});var Lde=_((H9t,Nde)=>{var xgt=Hb(),kgt=eP(),Qgt=Hl(),Fgt=pE(),Rgt=w_(),Tgt=lC(),Ngt=N1();function Lgt(t){return Qgt(t)?xgt(t,Tgt):Fgt(t)?[t]:kgt(Rgt(Ngt(t)))}Nde.exports=Lgt});function _gt(t,e){return e===1&&Ugt.has(t[0])}function B2(t){let e=Array.isArray(t)?t:(0,Ude.default)(t);return e.map((o,a)=>Ogt.test(o)?`[${o}]`:Mgt.test(o)&&!_gt(e,a)?`.${o}`:`[${JSON.stringify(o)}]`).join("").replace(/^\./,"")}function Hgt(t,e){let r=[];if(e.methodName!==null&&r.push(de.pretty(t,e.methodName,de.Type.CODE)),e.file!==null){let o=[];o.push(de.pretty(t,e.file,de.Type.PATH)),e.line!==null&&(o.push(de.pretty(t,e.line,de.Type.NUMBER)),e.column!==null&&o.push(de.pretty(t,e.column,de.Type.NUMBER))),r.push(`(${o.join(de.pretty(t,":","grey"))})`)}return r.join(" ")}function gk(t,{manifestUpdates:e,reportedErrors:r},{fix:o}={}){let a=new Map,n=new Map,u=[...r.keys()].map(A=>[A,new Map]);for(let[A,p]of[...u,...e]){let h=r.get(A)?.map(x=>({text:x,fixable:!1}))??[],E=!1,I=t.getWorkspaceByCwd(A),v=I.manifest.exportTo({});for(let[x,C]of p){if(C.size>1){let R=[...C].map(([L,U])=>{let J=de.pretty(t.configuration,L,de.Type.INSPECT),te=U.size>0?Hgt(t.configuration,U.values().next().value):null;return te!==null?` +${J} at ${te}`:` +${J}`}).join("");h.push({text:`Conflict detected in constraint targeting ${de.pretty(t.configuration,x,de.Type.CODE)}; conflicting values are:${R}`,fixable:!1})}else{let[[R]]=C,L=(0,Ode.default)(v,x);if(JSON.stringify(L)===JSON.stringify(R))continue;if(!o){let U=typeof L>"u"?`Missing field ${de.pretty(t.configuration,x,de.Type.CODE)}; expected ${de.pretty(t.configuration,R,de.Type.INSPECT)}`:typeof R>"u"?`Extraneous field ${de.pretty(t.configuration,x,de.Type.CODE)} currently set to ${de.pretty(t.configuration,L,de.Type.INSPECT)}`:`Invalid field ${de.pretty(t.configuration,x,de.Type.CODE)}; expected ${de.pretty(t.configuration,R,de.Type.INSPECT)}, found ${de.pretty(t.configuration,L,de.Type.INSPECT)}`;h.push({text:U,fixable:!0});continue}typeof R>"u"?(0,_de.default)(v,x):(0,Mde.default)(v,x,R),E=!0}E&&a.set(I,v)}h.length>0&&n.set(I,h)}return{changedWorkspaces:a,remainingErrors:n}}function Hde(t,{configuration:e}){let r={children:[]};for(let[o,a]of t){let n=[];for(let A of a){let p=A.text.split(/\n/);A.fixable&&(p[0]=`${de.pretty(e,"\u2699","gray")} ${p[0]}`),n.push({value:de.tuple(de.Type.NO_HINT,p[0]),children:p.slice(1).map(h=>({value:de.tuple(de.Type.NO_HINT,h)}))})}let u={value:de.tuple(de.Type.LOCATOR,o.anchoredLocator),children:_e.sortMap(n,A=>A.value[1])};r.children.push(u)}return r.children=_e.sortMap(r.children,o=>o.value[1]),r}var Ode,Mde,Ude,_de,wC,Ogt,Mgt,Ugt,v2=Et(()=>{Ye();Ode=$e(d2()),Mde=$e(Q8()),Ude=$e(Lde()),_de=$e(T8()),wC=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let o=Object.hasOwn(e,r)?e[r]:void 0;if(typeof o>"u")continue;_e.getArrayWithDefault(this.indexes[r],o).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let o=[],a;for(let[u,A]of r){let p=u,h=Object.hasOwn(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){o.push([p,A]);continue}let E=new Set(h.get(A)??[]);if(E.size===0)return[];if(typeof a>"u")a=E;else for(let I of a)E.has(I)||a.delete(I);if(a.size===0)break}let n=[...a??[]];return o.length>0&&(n=n.filter(u=>{for(let[A,p]of o)if(!(typeof p<"u"?Object.hasOwn(u,A)&&u[A]===p:Object.hasOwn(u,A)===!1))return!1;return!0})),n}},Ogt=/^[0-9]+$/,Mgt=/^[a-zA-Z0-9_]+$/,Ugt=new Set(["scripts",...Ot.allDependencies])});var qde=_(($9t,sH)=>{var qgt;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs")])]))],"maplist/5":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds")])]))],"maplist/6":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es")])]))],"maplist/7":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs")])]))],"maplist/8":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")]),new t.type.Term(".",[new t.type.Var("G"),new t.type.Var("Gs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F"),new t.type.Var("G")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs"),new t.type.Var("Gs")])]))],"include/3":[new t.type.Rule(new t.type.Term("include",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("include",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("A")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("A"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("F"),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("F")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("L"),new t.type.Var("S")])]),new t.type.Term("include",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("S")])])])])]))],"exclude/3":[new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("E")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("Q")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("R"),new t.type.Var("Q")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("!",[]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("E")])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("E")])])])])])])]))],"foldl/4":[new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Var("I"),new t.type.Var("I")]),null),new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("I"),new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("I"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])])])]),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P2"),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P2")]),new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("R")])])])])]))],"select/3":[new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Xs")]),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term("select",[new t.type.Var("E"),new t.type.Var("Xs"),new t.type.Var("Ys")]))],"sum_list/2":[new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term("[]",[]),new t.type.Num(0,!1)]),null),new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("sum_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("+",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"max_list/2":[new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("max_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"min_list/2":[new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("min_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("=<",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"prod_list/2":[new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term("[]",[]),new t.type.Num(1,!1)]),null),new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("prod_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("*",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"last/2":[new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")]),new t.type.Var("X")]),new t.type.Term("last",[new t.type.Var("Xs"),new t.type.Var("X")]))],"prefix/2":[new t.type.Rule(new t.type.Term("prefix",[new t.type.Var("Part"),new t.type.Var("Whole")]),new t.type.Term("append",[new t.type.Var("Part"),new t.type.Var("_"),new t.type.Var("Whole")]))],"nth0/3":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth1/3":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth0/4":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth1/4":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth/5":[new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("N"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("X"),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("O"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("Y"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term(",",[new t.type.Term("is",[new t.type.Var("M"),new t.type.Term("+",[new t.type.Var("N"),new t.type.Num(1,!1)])]),new t.type.Term("nth",[new t.type.Var("M"),new t.type.Var("O"),new t.type.Var("Xs"),new t.type.Var("Y"),new t.type.Var("Ys")])]))],"length/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(!t.type.is_variable(A)&&!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(t.type.is_integer(A)&&A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else{var p=new t.type.Term("length",[u,new t.type.Num(0,!1),A]);t.type.is_integer(A)&&(p=new t.type.Term(",",[p,new t.type.Term("!",[])])),o.prepend([new t.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new t.type.Rule(new t.type.Term("length",[new t.type.Term("[]",[]),new t.type.Var("N"),new t.type.Var("N")]),null),new t.type.Rule(new t.type.Term("length",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("X")]),new t.type.Var("A"),new t.type.Var("N")]),new t.type.Term(",",[new t.type.Term("succ",[new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("length",[new t.type.Var("X"),new t.type.Var("B"),new t.type.Var("N")])]))],"replicate/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=new t.type.Term("[]"),E=0;E0;I--)E[I].equals(E[I-1])&&E.splice(I,1);for(var v=new t.type.Term("[]"),I=E.length-1;I>=0;I--)v=new t.type.Term(".",[E[I],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"msort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=p.sort(t.compare),I=new t.type.Term("[]"),v=E.length-1;v>=0;v--)I=new t.type.Term(".",[E[v],I]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[I,A])),a.substitution,a)])}}},"keysort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h,E=u;E.indicator==="./2";){if(h=E.args[0],t.type.is_variable(h)){o.throw_error(t.error.instantiation(n.indicator));return}else if(!t.type.is_term(h)||h.indicator!=="-/2"){o.throw_error(t.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),E=E.args[1]}if(t.type.is_variable(E))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(E))o.throw_error(t.error.type("list",u,n.indicator));else{for(var I=p.sort(t.compare),v=new t.type.Term("[]"),x=I.length-1;x>=0;x--)v=new t.type.Term(".",[new t.type.Term("-",[I[x],I[x].pair]),v]),delete I[x].pair;o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"take/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],I=A;h>0&&I.indicator==="./2";)E.push(I.args[0]),I=I.args[1],h--;if(h===0){for(var v=new t.type.Term("[]"),h=E.length-1;h>=0;h--)v=new t.type.Term(".",[E[h],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,p])),a.substitution,a)])}}},"drop/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],I=A;h>0&&I.indicator==="./2";)E.push(I.args[0]),I=I.args[1],h--;h===0&&o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[I,p])),a.substitution,a)])}},"reverse/2":function(o,a,n){var u=n.args[0],A=n.args[1],p=t.type.is_instantiated_list(u),h=t.type.is_instantiated_list(A);if(t.type.is_variable(u)&&t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(u)&&!t.type.is_fully_list(u))o.throw_error(t.error.type("list",u,n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!p&&!h)o.throw_error(t.error.instantiation(n.indicator));else{for(var E=p?u:A,I=new t.type.Term("[]",[]);E.indicator==="./2";)I=new t.type.Term(".",[E.args[0],I]),E=E.args[1];o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[I,p?A:u])),a.substitution,a)])}},"list_to_set/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else{for(var p=u,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(t.type.is_variable(p))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_term(p)||p.indicator!=="[]/0")o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=[],I=new t.type.Term("[]",[]),v,x=0;x=0;x--)I=new t.type.Term(".",[E[x],I]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[A,I])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof sH<"u"?sH.exports=function(o){t=o,new t.type.Module("lists",e(),r)}:new t.type.Module("lists",e(),r)})(qgt)});var nme=_(Yr=>{"use strict";var $d=process.platform==="win32",oH="aes-256-cbc",jgt="sha256",Yde="The current environment doesn't support interactive reading from TTY.",Yn=ve("fs"),jde=process.binding("tty_wrap").TTY,lH=ve("child_process"),c0=ve("path"),cH={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},zf="none",Xc,BC,Gde=!1,l0,mk,aH,Ggt=0,hH="",Zd=[],yk,Wde=!1,uH=!1,D2=!1;function Kde(t){function e(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(o){return"#"+o.charCodeAt(0)+";"})}return mk.concat(function(r){var o=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?t[a]&&o.push("--"+a):r[a]==="string"&&t[a]&&o.push("--"+a,e(t[a]))}),o}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function Ygt(t,e){function r(U){var J,te="",ae;for(aH=aH||ve("os").tmpdir();;){J=c0.join(aH,U+te);try{ae=Yn.openSync(J,"wx")}catch(fe){if(fe.code==="EEXIST"){te++;continue}else throw fe}Yn.closeSync(ae);break}return J}var o,a,n,u={},A,p,h=r("readline-sync.stdout"),E=r("readline-sync.stderr"),I=r("readline-sync.exit"),v=r("readline-sync.done"),x=ve("crypto"),C,R,L;C=x.createHash(jgt),C.update(""+process.pid+Ggt+++Math.random()),L=C.digest("hex"),R=x.createDecipher(oH,L),o=Kde(t),$d?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+l0+"%Q%"+o.map(function(U){return" %Q%"+U+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+I+"%Q%%Q%) 2>%Q%"+E+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+oH+"%Q% %Q%"+L+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+v+"%Q%"]):(a="/bin/sh",n=["-c",'("'+l0+'"'+o.map(function(U){return" '"+U.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+I+'") 2>"'+E+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+oH+'" "'+L+'" >"'+h+'"; echo 1 >"'+v+'"']),D2&&D2("_execFileSync",o);try{lH.spawn(a,n,e)}catch(U){u.error=new Error(U.message),u.error.method="_execFileSync - spawn",u.error.program=a,u.error.args=n}for(;Yn.readFileSync(v,{encoding:t.encoding}).trim()!=="1";);return(A=Yn.readFileSync(I,{encoding:t.encoding}).trim())==="0"?u.input=R.update(Yn.readFileSync(h,{encoding:"binary"}),"hex",t.encoding)+R.final(t.encoding):(p=Yn.readFileSync(E,{encoding:t.encoding}).trim(),u.error=new Error(Yde+(p?` +`+p:"")),u.error.method="_execFileSync",u.error.program=a,u.error.args=n,u.error.extMessage=p,u.error.exitCode=+A),Yn.unlinkSync(h),Yn.unlinkSync(E),Yn.unlinkSync(I),Yn.unlinkSync(v),u}function Wgt(t){var e,r={},o,a={env:process.env,encoding:t.encoding};if(l0||($d?process.env.PSModulePath?(l0="powershell.exe",mk=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(l0="cscript.exe",mk=["//nologo",__dirname+"\\read.cs.js"]):(l0="/bin/sh",mk=[__dirname+"/read.sh"])),$d&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),lH.execFileSync){e=Kde(t),D2&&D2("execFileSync",e);try{r.input=lH.execFileSync(l0,e,a)}catch(n){o=n.stderr?(n.stderr+"").trim():"",r.error=new Error(Yde+(o?` +`+o:"")),r.error.method="execFileSync",r.error.program=l0,r.error.args=e,r.error.extMessage=o,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=Ygt(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function AH(t){var e="",r=t.display,o=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=Wgt(t);if(n.error)throw n.error;return n.input}return uH&&uH(t),function(){var n,u,A;function p(){return n||(n=process.binding("fs"),u=process.binding("constants")),n}if(typeof zf=="string")if(zf=null,$d){if(A=function(h){var E=h.replace(/^\D+/,"").split("."),I=0;return(E[0]=+E[0])&&(I+=E[0]*1e4),(E[1]=+E[1])&&(I+=E[1]*100),(E[2]=+E[2])&&(I+=E[2]),I}(process.version),!(A>=20302&&A<40204||A>=5e4&&A<50100||A>=50600&&A<60200)&&process.stdin.isTTY)process.stdin.pause(),zf=process.stdin.fd,BC=process.stdin._handle;else try{zf=p().open("CONIN$",u.O_RDWR,parseInt("0666",8)),BC=new jde(zf,!0)}catch{}if(process.stdout.isTTY)Xc=process.stdout.fd;else{try{Xc=Yn.openSync("\\\\.\\CON","w")}catch{}if(typeof Xc!="number")try{Xc=p().open("CONOUT$",u.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{zf=Yn.openSync("/dev/tty","r"),BC=process.stdin._handle}catch{}}else try{zf=Yn.openSync("/dev/tty","r"),BC=new jde(zf,!1)}catch{}if(process.stdout.isTTY)Xc=process.stdout.fd;else try{Xc=Yn.openSync("/dev/tty","w")}catch{}}}(),function(){var n,u,A=!t.hideEchoBack&&!t.keyIn,p,h,E,I,v;yk="";function x(C){return C===Gde?!0:BC.setRawMode(C)!==0?!1:(Gde=C,!0)}if(Wde||!BC||typeof Xc!="number"&&(t.display||!A)){e=a();return}if(t.display&&(Yn.writeSync(Xc,t.display),t.display=""),!t.displayOnly){if(!x(!A)){e=a();return}for(h=t.keyIn?1:t.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),t.keyIn&&t.limit&&(u=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){E=0;try{E=Yn.readSync(zf,p,0,h)}catch(C){if(C.code!=="EOF"){x(!1),e+=a();return}}if(E>0?(I=p.toString(t.encoding,0,E),yk+=I):(I=` +`,yk+=String.fromCharCode(0)),I&&typeof(v=(I.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(I=v,n=!0),I&&(I=I.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),I&&u&&(I=I.replace(u,"")),I&&(A||(t.hideEchoBack?t.mask&&Yn.writeSync(Xc,new Array(I.length+1).join(t.mask)):Yn.writeSync(Xc,I)),e+=I),!t.keyIn&&n||t.keyIn&&e.length>=h)break}!A&&!o&&Yn.writeSync(Xc,` +`),x(!1)}}(),t.print&&!o&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+` +`),t.encoding),t.displayOnly?"":hH=t.keepWhitespace||t.keyIn?e:e.trim()}function Kgt(t,e){var r=[];function o(a){a!=null&&(Array.isArray(a)?a.forEach(o):(!e||e(a))&&r.push(a))}return o(t),r}function gH(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function Rs(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(cH),t.unshift(cH))),t.reduce(function(o,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var u;if(!!a.hasOwnProperty(n))switch(u=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":u=u!=null?u+"":"",u&&n!=="limitMessage"&&(u=u.replace(/[\r\n]/g,"")),o[n]=u;break;case"bufferSize":!isNaN(u=parseInt(u,10))&&typeof u=="number"&&(o[n]=u);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":o[n]=!!u;break;case"limit":case"trueValue":case"falseValue":o[n]=Kgt(u,function(A){var p=typeof A;return p==="string"||p==="number"||p==="function"||A instanceof RegExp}).map(function(A){return typeof A=="string"?A.replace(/[\r\n]/g,""):A});break;case"print":case"phContent":case"preCheck":o[n]=typeof u=="function"?u:void 0;break;case"prompt":case"display":o[n]=u??"";break}})),o},{})}function fH(t,e,r){return e.some(function(o){var a=typeof o;return a==="string"?r?t===o:t.toLowerCase()===o.toLowerCase():a==="number"?parseFloat(t)===o:a==="function"?o(t):o instanceof RegExp?o.test(t):!1})}function dH(t,e){var r=c0.normalize($d?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=c0.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+gH(r)+"(?=\\/|\\\\|$)",$d?"i":""),"~")}function vC(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",o=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(u,A,p,h,E,I){var v;return A||typeof(v=e(E))!="string"?p:v?(h||"")+v+(I||""):""}return t.replace(o,n).replace(a,n)}function Vde(t,e,r){var o,a=[],n=-1,u=0,A="",p;function h(E,I){return I.length>3?(E.push(I[0]+"..."+I[I.length-1]),p=!0):I.length&&(E=E.concat(I)),E}return o=t.reduce(function(E,I){return E.concat((I+"").split(""))},[]).reduce(function(E,I){var v,x;return e||(I=I.toLowerCase()),v=/^\d$/.test(I)?1:/^[A-Z]$/.test(I)?2:/^[a-z]$/.test(I)?3:0,r&&v===0?A+=I:(x=I.charCodeAt(0),v&&v===n&&x===u+1?a.push(I):(E=h(E,a),a=[I],n=v),u=x),E},[]),o=h(o,a),A&&(o.push(A),p=!0),{values:o,suppressed:p}}function Jde(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function zde(t,e){var r,o,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":o=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=Vde(o,e.caseSensitive),o=a.values):o=o.filter(function(u){var A=typeof u;return A==="string"||A==="number"}),r=Jde(o,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=hH;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=c0.basename(r):t==="cwdHome"&&(r=dH(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(u){return u.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=Zd[Zd.length-n]||"")}return r}function Xde(t){var e=/^(.)-(.)$/.exec(t),r="",o,a,n,u;if(!e)return null;for(o=e[1].charCodeAt(0),a=e[2].charCodeAt(0),u=o +And the length must be: $`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(x){return x==="charlist"?r.text:x==="length"?o+"..."+a:null}}),u,A,p,h,E,I,v;for(e=e||{},u=vC(e.charlist?e.charlist+"":"$",Xde),(isNaN(o=parseInt(e.min,10))||typeof o!="number")&&(o=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+gH(u)+"]{"+o+","+a+"}$"),r=Vde([u],n.caseSensitive,!0),r.text=Jde(r.values,r.suppressed),A=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",p=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),E=n.limitMessage;!v;)n.limit=h,n.limitMessage=E,I=Yr.question(t,n),n.limit=[I,""],n.limitMessage=p,v=Yr.question(A,n);return I};function eme(t,e,r){var o;function a(n){return o=r(n),!isNaN(o)&&typeof o=="number"}return Yr.question(t,Rs({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),o}Yr.questionInt=function(t,e){return eme(t,e,function(r){return parseInt(r,10)})};Yr.questionFloat=function(t,e){return eme(t,e,parseFloat)};Yr.questionPath=function(t,e){var r,o="",a=Rs({hideEchoBack:!1,limitMessage:`$Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var u,A,p;n=dH(n,!0),o="";function h(E){E.split(/\/|\\/).reduce(function(I,v){var x=c0.resolve(I+=v+c0.sep);if(!Yn.existsSync(x))Yn.mkdirSync(x);else if(!Yn.statSync(x).isDirectory())throw new Error("Non directory already exists: "+x);return I},"")}try{if(u=Yn.existsSync(n),r=u?Yn.realpathSync(n):c0.resolve(n),!e.hasOwnProperty("exists")&&!u||typeof e.exists=="boolean"&&e.exists!==u)return o=(u?"Already exists":"No such file or directory")+": "+r,!1;if(!u&&e.create&&(e.isDirectory?h(r):(h(c0.dirname(r)),Yn.closeSync(Yn.openSync(r,"w"))),r=Yn.realpathSync(r)),u&&(e.min||e.max||e.isFile||e.isDirectory)){if(A=Yn.statSync(r),e.isFile&&!A.isFile())return o="Not file: "+r,!1;if(e.isDirectory&&!A.isDirectory())return o="Not directory: "+r,!1;if(e.min&&A.size<+e.min||e.max&&A.size>+e.max)return o="Size "+A.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(p=e.validate(r))!==!0)return typeof p=="string"&&(o=p),!1}catch(E){return o=E+"",!1}return!0},phContent:function(n){return n==="error"?o:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),Yr.question(t,a),r};function tme(t,e){var r={},o={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(o[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=pH(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&o.hasOwnProperty(n)?o[n].apply(a,r.args.slice(1)):o.hasOwnProperty("_")?o._.apply(a,r.args):null,{res:a,forceNext:!1}},o.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),o.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=pH(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}Yr.promptCL=function(t,e){var r=Rs({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=tme(t,r);return r.limit=o.limit,r.preCheck=o.preCheck,Yr.prompt(r),o.args};Yr.promptLoop=function(t,e){for(var r=Rs({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t(Yr.prompt(r)););};Yr.promptCLLoop=function(t,e){var r=Rs({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=tme(t,r);for(r.limit=o.limit,r.preCheck=o.preCheck;Yr.prompt(r),!o.hRes;);};Yr.promptSimShell=function(t){return Yr.prompt(Rs({hideEchoBack:!1,history:!0},t,{prompt:function(){return $d?"$>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$$ "}()}))};function rme(t,e,r){var o;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),o=Yr.keyIn(t,Rs(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof o=="boolean"?o:""}Yr.keyInYN=function(t,e){return rme(t,e)};Yr.keyInYNStrict=function(t,e){return rme(t,e,"yn")};Yr.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),Yr.keyIn(t,Rs({limit:null},e,{hideEchoBack:!0,mask:""}))};Yr.keyInSelect=function(t,e,r){var o=Rs({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?t.length+"":p==="firstItem"?(t[0]+"").trim():p==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},u=49,A=` +`;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(p,h){var E=String.fromCharCode(u);a+=E,n[E]=h,A+="["+E+"] "+(p+"").trim()+` +`,u=u===57?97:u+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,A+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` +`),o.limit=a,A+=` +`,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$]: "),A+=e),n[Yr.keyIn(A,o).toLowerCase()]};Yr.getRawInput=function(){return yk};function S2(t,e){var r;return e.length&&(r={},r[t]=e[0]),Yr.setDefaultOptions(r)[t]}Yr.setPrint=function(){return S2("print",arguments)};Yr.setPrompt=function(){return S2("prompt",arguments)};Yr.setEncoding=function(){return S2("encoding",arguments)};Yr.setMask=function(){return S2("mask",arguments)};Yr.setBufferSize=function(){return S2("bufferSize",arguments)}});var mH=_((t7t,hl)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(w,P,y){var F=tau_file_system.files[w];if(!F){if(y==="read")return null;F={path:w,text:"",type:P,get:function(z,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+z)},put:function(z,X){return X==="end_of_file"?(this.text+=z,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+z+this.text.substring(X+z.length),!0)},get_byte:function(z){if(z==="end_of_stream")return-1;var X=Math.floor(z/2);if(this.text.length<=X)return-1;var Z=n(this.text[Math.floor(z/2)],0);return z%2===0?Z&255:Z/256>>>0},put_byte:function(z,X){var Z=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length>>0,ie=(ie&255)<<8|z&255):(ie=ie&255,ie=(z&255)<<8|ie&255),this.text.length===Z?this.text+=u(ie):this.text=this.text.substring(0,Z)+u(ie)+this.text.substring(Z+1),!0},flush:function(){return!0},close:function(){var z=tau_file_system.files[this.path];return z?!0:null}},tau_file_system.files[w]=F}return y==="write"&&(F.text=""),F}},tau_user_input={buffer:"",get:function(w,P){for(var y;tau_user_input.buffer.length\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function L(w,P){return w.get_flag("char_conversion").id==="on"?P.replace(/./g,function(y){return w.get_char_conversion(y)}):P}function U(w){this.thread=w,this.text="",this.tokens=[]}U.prototype.set_last_tokens=function(w){return this.tokens=w},U.prototype.new_text=function(w){this.text=w,this.tokens=[]},U.prototype.get_tokens=function(w){var P,y=0,F=0,z=0,X=[],Z=!1;if(w){var ie=this.tokens[w-1];y=ie.len,P=L(this.thread,this.text.substr(ie.len)),F=ie.line,z=ie.start}else P=this.text;if(/^\s*$/.test(P))return null;for(;P!=="";){var Pe=[],Ne=!1;if(/^\n/.exec(P)!==null){F++,z=0,y++,P=P.replace(/\n/,""),Z=!0;continue}for(var ot in R)if(R.hasOwnProperty(ot)){var dt=R[ot].exec(P);dt&&Pe.push({value:dt[0],name:ot,matches:dt})}if(!Pe.length)return this.set_last_tokens([{value:P,matches:[],name:"lexical",line:F,start:z}]);var ie=r(Pe,function(Qr,mr){return Qr.value.length>=mr.value.length?Qr:mr});switch(ie.start=z,ie.line=F,P=P.replace(ie.value,""),z+=ie.value.length,y+=ie.value.length,ie.name){case"atom":ie.raw=ie.value,ie.value.charAt(0)==="'"&&(ie.value=v(ie.value.substr(1,ie.value.length-2),"'"),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence"));break;case"number":ie.float=ie.value.substring(0,2)!=="0x"&&ie.value.match(/[.eE]/)!==null&&ie.value!=="0'.",ie.value=C(ie.value),ie.blank=Ne;break;case"string":var jt=ie.value.charAt(0);ie.value=v(ie.value.substr(1,ie.value.length-2),jt),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence");break;case"whitespace":var $t=X[X.length-1];$t&&($t.space=!0),Ne=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(ie=X.pop(),ie.name="atom",ie.value="{}",ie.raw="{}",ie.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(ie=X.pop(),ie.name="atom",ie.value="[]",ie.raw="[]",ie.space=!1);break}ie.len=y,X.push(ie),Ne=!1}var bt=this.set_last_tokens(X);return bt.length===0?null:bt};function J(w,P,y,F,z){if(!P[y])return{type:A,value:b.error.syntax(P[y-1],"expression expected",!0)};var X;if(F==="0"){var Z=P[y];switch(Z.name){case"number":return{type:p,len:y+1,value:new b.type.Num(Z.value,Z.float)};case"variable":return{type:p,len:y+1,value:new b.type.Var(Z.value)};case"string":var ie;switch(w.get_flag("double_quotes").id){case"atom":ie=new H(Z.value,[]);break;case"codes":ie=new H("[]",[]);for(var Pe=Z.value.length-1;Pe>=0;Pe--)ie=new H(".",[new b.type.Num(n(Z.value,Pe),!1),ie]);break;case"chars":ie=new H("[]",[]);for(var Pe=Z.value.length-1;Pe>=0;Pe--)ie=new H(".",[new b.type.Term(Z.value.charAt(Pe),[]),ie]);break}return{type:p,len:y+1,value:ie};case"l_paren":var bt=J(w,P,y+1,w.__get_max_priority(),!0);return bt.type!==p?bt:P[bt.len]&&P[bt.len].name==="r_paren"?(bt.len++,bt):{type:A,derived:!0,value:b.error.syntax(P[bt.len]?P[bt.len]:P[bt.len-1],") or operator expected",!P[bt.len])};case"l_bracket":var bt=J(w,P,y+1,w.__get_max_priority(),!0);return bt.type!==p?bt:P[bt.len]&&P[bt.len].name==="r_bracket"?(bt.len++,bt.value=new H("{}",[bt.value]),bt):{type:A,derived:!0,value:b.error.syntax(P[bt.len]?P[bt.len]:P[bt.len-1],"} or operator expected",!P[bt.len])}}var Ne=te(w,P,y,z);return Ne.type===p||Ne.derived||(Ne=ae(w,P,y),Ne.type===p||Ne.derived)?Ne:{type:A,derived:!1,value:b.error.syntax(P[y],"unexpected token")}}var ot=w.__get_max_priority(),dt=w.__get_next_priority(F),jt=y;if(P[y].name==="atom"&&P[y+1]&&(P[y].space||P[y+1].name!=="l_paren")){var Z=P[y++],$t=w.__lookup_operator_classes(F,Z.value);if($t&&$t.indexOf("fy")>-1){var bt=J(w,P,y,F,z);if(bt.type!==A)return Z.value==="-"&&!Z.space&&b.type.is_number(bt.value)?{value:new b.type.Num(-bt.value.value,bt.value.is_float),len:bt.len,type:p}:{value:new b.type.Term(Z.value,[bt.value]),len:bt.len,type:p};X=bt}else if($t&&$t.indexOf("fx")>-1){var bt=J(w,P,y,dt,z);if(bt.type!==A)return{value:new b.type.Term(Z.value,[bt.value]),len:bt.len,type:p};X=bt}}y=jt;var bt=J(w,P,y,dt,z);if(bt.type===p){y=bt.len;var Z=P[y];if(P[y]&&(P[y].name==="atom"&&w.__lookup_operator_classes(F,Z.value)||P[y].name==="bar"&&w.__lookup_operator_classes(F,"|"))){var an=dt,Qr=F,$t=w.__lookup_operator_classes(F,Z.value);if($t.indexOf("xf")>-1)return{value:new b.type.Term(Z.value,[bt.value]),len:++bt.len,type:p};if($t.indexOf("xfx")>-1){var mr=J(w,P,y+1,an,z);return mr.type===p?{value:new b.type.Term(Z.value,[bt.value,mr.value]),len:mr.len,type:p}:(mr.derived=!0,mr)}else if($t.indexOf("xfy")>-1){var mr=J(w,P,y+1,Qr,z);return mr.type===p?{value:new b.type.Term(Z.value,[bt.value,mr.value]),len:mr.len,type:p}:(mr.derived=!0,mr)}else if(bt.type!==A)for(;;){y=bt.len;var Z=P[y];if(Z&&Z.name==="atom"&&w.__lookup_operator_classes(F,Z.value)){var $t=w.__lookup_operator_classes(F,Z.value);if($t.indexOf("yf")>-1)bt={value:new b.type.Term(Z.value,[bt.value]),len:++y,type:p};else if($t.indexOf("yfx")>-1){var mr=J(w,P,++y,an,z);if(mr.type===A)return mr.derived=!0,mr;y=mr.len,bt={value:new b.type.Term(Z.value,[bt.value,mr.value]),len:y,type:p}}else break}else break}}else X={type:A,value:b.error.syntax(P[bt.len-1],"operator expected")};return bt}return bt}function te(w,P,y,F){if(!P[y]||P[y].name==="atom"&&P[y].raw==="."&&!F&&(P[y].space||!P[y+1]||P[y+1].name!=="l_paren"))return{type:A,derived:!1,value:b.error.syntax(P[y-1],"unfounded token")};var z=P[y],X=[];if(P[y].name==="atom"&&P[y].raw!==","){if(y++,P[y-1].space)return{type:p,len:y,value:new b.type.Term(z.value,X)};if(P[y]&&P[y].name==="l_paren"){if(P[y+1]&&P[y+1].name==="r_paren")return{type:A,derived:!0,value:b.error.syntax(P[y+1],"argument expected")};var Z=J(w,P,++y,"999",!0);if(Z.type===A)return Z.derived?Z:{type:A,derived:!0,value:b.error.syntax(P[y]?P[y]:P[y-1],"argument expected",!P[y])};for(X.push(Z.value),y=Z.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if(Z=J(w,P,y+1,"999",!0),Z.type===A)return Z.derived?Z:{type:A,derived:!0,value:b.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X.push(Z.value),y=Z.len}if(P[y]&&P[y].name==="r_paren")y++;else return{type:A,derived:!0,value:b.error.syntax(P[y]?P[y]:P[y-1],", or ) expected",!P[y])}}return{type:p,len:y,value:new b.type.Term(z.value,X)}}return{type:A,derived:!1,value:b.error.syntax(P[y],"term expected")}}function ae(w,P,y){if(!P[y])return{type:A,derived:!1,value:b.error.syntax(P[y-1],"[ expected")};if(P[y]&&P[y].name==="l_brace"){var F=J(w,P,++y,"999",!0),z=[F.value],X=void 0;if(F.type===A)return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:new b.type.Term("[]",[])}:{type:A,derived:!0,value:b.error.syntax(P[y],"] expected")};for(y=F.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if(F=J(w,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:b.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};z.push(F.value),y=F.len}var Z=!1;if(P[y]&&P[y].name==="bar"){if(Z=!0,F=J(w,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:b.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X=F.value,y=F.len}return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:g(z,X)}:{type:A,derived:!0,value:b.error.syntax(P[y]?P[y]:P[y-1],Z?"] expected":", or | or ] expected",!P[y])}}return{type:A,derived:!1,value:b.error.syntax(P[y],"list expected")}}function fe(w,P,y){var F=P[y].line,z=J(w,P,y,w.__get_max_priority(),!1),X=null,Z;if(z.type!==A)if(y=z.len,P[y]&&P[y].name==="atom"&&P[y].raw===".")if(y++,b.type.is_term(z.value)){if(z.value.indicator===":-/2"?(X=new b.type.Rule(z.value.args[0],we(z.value.args[1])),Z={value:X,len:y,type:p}):z.value.indicator==="-->/2"?(X=he(new b.type.Rule(z.value.args[0],z.value.args[1]),w),X.body=we(X.body),Z={value:X,len:y,type:b.type.is_rule(X)?p:A}):(X=new b.type.Rule(z.value,null),Z={value:X,len:y,type:p}),X){var ie=X.singleton_variables();ie.length>0&&w.throw_warning(b.warning.singleton(ie,X.head.indicator,F))}return Z}else return{type:A,value:b.error.syntax(P[y],"callable expected")};else return{type:A,value:b.error.syntax(P[y]?P[y]:P[y-1],". or operator expected")};return z}function ce(w,P,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var F=new U(w),z={},X;F.new_text(P);var Z=0,ie=F.get_tokens(Z);do{if(ie===null||!ie[Z])break;var Pe=fe(w,ie,Z);if(Pe.type===A)return new H("throw",[Pe.value]);if(Pe.value.body===null&&Pe.value.head.indicator==="?-/1"){var Ne=new Je(w.session);Ne.add_goal(Pe.value.head.args[0]),Ne.answer(function(dt){b.type.is_error(dt)?w.throw_warning(dt.args[0]):(dt===!1||dt===null)&&w.throw_warning(b.warning.failed_goal(Pe.value.head.args[0],Pe.len))}),Z=Pe.len;var ot=!0}else if(Pe.value.body===null&&Pe.value.head.indicator===":-/1"){var ot=w.run_directive(Pe.value.head.args[0]);Z=Pe.len,Pe.value.head.args[0].indicator==="char_conversion/2"&&(ie=F.get_tokens(Z),Z=0)}else{X=Pe.value.head.indicator,y.reconsult!==!1&&z[X]!==!0&&!w.is_multifile_predicate(X)&&(w.session.rules[X]=a(w.session.rules[X]||[],function(jt){return jt.dynamic}),z[X]=!0);var ot=w.add_rule(Pe.value,y);Z=Pe.len}if(!ot)return ot}while(!0);return!0}function me(w,P){var y=new U(w);y.new_text(P);var F=0;do{var z=y.get_tokens(F);if(z===null)break;var X=J(w,z,0,w.__get_max_priority(),!1);if(X.type!==A){var Z=X.len,ie=Z;if(z[Z]&&z[Z].name==="atom"&&z[Z].raw===".")w.add_goal(we(X.value));else{var Pe=z[Z];return new H("throw",[b.error.syntax(Pe||z[Z-1],". or operator expected",!Pe)])}F=X.len+1}else return new H("throw",[X.value])}while(!0);return!0}function he(w,P){w=w.rename(P);var y=P.next_free_variable(),F=Be(w.body,y,P);return F.error?F.value:(w.body=F.value,w.head.args=w.head.args.concat([y,F.variable]),w.head=new H(w.head.id,w.head.args),w)}function Be(w,P,y){var F;if(b.type.is_term(w)&&w.indicator==="!/0")return{value:w,variable:P,error:!1};if(b.type.is_term(w)&&w.indicator===",/2"){var z=Be(w.args[0],P,y);if(z.error)return z;var X=Be(w.args[1],z.variable,y);return X.error?X:{value:new H(",",[z.value,X.value]),variable:X.variable,error:!1}}else{if(b.type.is_term(w)&&w.indicator==="{}/1")return{value:w.args[0],variable:P,error:!1};if(b.type.is_empty_list(w))return{value:new H("true",[]),variable:P,error:!1};if(b.type.is_list(w)){F=y.next_free_variable();for(var Z=w,ie;Z.indicator==="./2";)ie=Z,Z=Z.args[1];return b.type.is_variable(Z)?{value:b.error.instantiation("DCG"),variable:P,error:!0}:b.type.is_empty_list(Z)?(ie.args[1]=F,{value:new H("=",[P,w]),variable:F,error:!1}):{value:b.error.type("list",w,"DCG"),variable:P,error:!0}}else return b.type.is_callable(w)?(F=y.next_free_variable(),w.args=w.args.concat([P,F]),w=new H(w.id,w.args),{value:w,variable:F,error:!1}):{value:b.error.type("callable",w,"DCG"),variable:P,error:!0}}}function we(w){return b.type.is_variable(w)?new H("call",[w]):b.type.is_term(w)&&[",/2",";/2","->/2"].indexOf(w.indicator)!==-1?new H(w.id,[we(w.args[0]),we(w.args[1])]):w}function g(w,P){for(var y=P||new b.type.Term("[]",[]),F=w.length-1;F>=0;F--)y=new b.type.Term(".",[w[F],y]);return y}function Ee(w,P){for(var y=w.length-1;y>=0;y--)w[y]===P&&w.splice(y,1)}function Se(w){for(var P={},y=[],F=0;F=0;P--)if(w.charAt(P)==="/")return new H("/",[new H(w.substring(0,P)),new Fe(parseInt(w.substring(P+1)),!1)])}function Ie(w){this.id=w}function Fe(w,P){this.is_float=P!==void 0?P:parseInt(w)!==w,this.value=this.is_float?w:parseInt(w)}var At=0;function H(w,P,y){this.ref=y||++At,this.id=w,this.args=P||[],this.indicator=w+"/"+this.args.length}var at=0;function Re(w,P,y,F,z,X){this.id=at++,this.stream=w,this.mode=P,this.alias=y,this.type=F!==void 0?F:"text",this.reposition=z!==void 0?z:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function ke(w){w=w||{},this.links=w}function xe(w,P,y){P=P||new ke,y=y||null,this.goal=w,this.substitution=P,this.parent=y}function He(w,P,y){this.head=w,this.body=P,this.dynamic=y||!1}function Te(w){w=w===void 0||w<=0?1e3:w,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new Je(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=w,this.streams={user_input:new Re(typeof hl<"u"&&hl.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Re(typeof hl<"u"&&hl.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof hl<"u"&&hl.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(P){return P.substitution},this.format_error=function(P){return P.goal},this.flag={bounded:b.flag.bounded.value,max_integer:b.flag.max_integer.value,min_integer:b.flag.min_integer.value,integer_rounding_function:b.flag.integer_rounding_function.value,char_conversion:b.flag.char_conversion.value,debug:b.flag.debug.value,max_arity:b.flag.max_arity.value,unknown:b.flag.unknown.value,double_quotes:b.flag.double_quotes.value,occurs_check:b.flag.occurs_check.value,dialect:b.flag.dialect.value,version_data:b.flag.version_data.value,nodejs:b.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function Je(w){this.epoch=Date.now(),this.session=w,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function qe(w,P,y){this.id=w,this.rules=P,this.exports=y,b.module[w]=this}qe.prototype.exports_predicate=function(w){return this.exports.indexOf(w)!==-1},Ie.prototype.unify=function(w,P){if(P&&e(w.variables(),this.id)!==-1&&!b.type.is_variable(w))return null;var y={};return y[this.id]=w,new ke(y)},Fe.prototype.unify=function(w,P){return b.type.is_number(w)&&this.value===w.value&&this.is_float===w.is_float?new ke:null},H.prototype.unify=function(w,P){if(b.type.is_term(w)&&this.indicator===w.indicator){for(var y=new ke,F=0;F=0){var F=this.args[0].value,z=Math.floor(F/26),X=F%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(z!==0?z:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(w)+"}";case"./2":for(var Z="["+this.args[0].toString(w),ie=this.args[1];ie.indicator==="./2";)Z+=", "+ie.args[0].toString(w),ie=ie.args[1];return ie.indicator!=="[]/0"&&(Z+="|"+ie.toString(w)),Z+="]",Z;case",/2":return"("+this.args[0].toString(w)+", "+this.args[1].toString(w)+")";default:var Pe=this.id,Ne=w.session?w.session.lookup_operator(this.id,this.args.length):null;if(w.session===void 0||w.ignore_ops||Ne===null)return w.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(Pe)&&Pe!=="{}"&&Pe!=="[]"&&(Pe="'"+x(Pe)+"'"),Pe+(this.args.length?"("+o(this.args,function($t){return $t.toString(w)}).join(", ")+")":"");var ot=Ne.priority>P.priority||Ne.priority===P.priority&&(Ne.class==="xfy"&&this.indicator!==P.indicator||Ne.class==="yfx"&&this.indicator!==P.indicator||this.indicator===P.indicator&&Ne.class==="yfx"&&y==="right"||this.indicator===P.indicator&&Ne.class==="xfy"&&y==="left");Ne.indicator=this.indicator;var dt=ot?"(":"",jt=ot?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Ne.class)!==-1?dt+Pe+" "+this.args[0].toString(w,Ne)+jt:["yf","xf"].indexOf(Ne.class)!==-1?dt+this.args[0].toString(w,Ne)+" "+Pe+jt:dt+this.args[0].toString(w,Ne,"left")+" "+this.id+" "+this.args[1].toString(w,Ne,"right")+jt}},Re.prototype.toString=function(w){return"("+this.id+")"},ke.prototype.toString=function(w){var P="{";for(var y in this.links)!this.links.hasOwnProperty(y)||(P!=="{"&&(P+=", "),P+=y+"/"+this.links[y].toString(w));return P+="}",P},xe.prototype.toString=function(w){return this.goal===null?"<"+this.substitution.toString(w)+">":"<"+this.goal.toString(w)+", "+this.substitution.toString(w)+">"},He.prototype.toString=function(w){return this.body?this.head.toString(w)+" :- "+this.body.toString(w)+".":this.head.toString(w)+"."},Te.prototype.toString=function(w){for(var P="",y=0;y=0;z--)F=new H(".",[P[z],F]);return F}return new H(this.id,o(this.args,function(X){return X.apply(w)}),this.ref)},Re.prototype.apply=function(w){return this},He.prototype.apply=function(w){return new He(this.head.apply(w),this.body!==null?this.body.apply(w):null)},ke.prototype.apply=function(w){var P,y={};for(P in this.links)!this.links.hasOwnProperty(P)||(y[P]=this.links[P].apply(w));return new ke(y)},H.prototype.select=function(){for(var w=this;w.indicator===",/2";)w=w.args[0];return w},H.prototype.replace=function(w){return this.indicator===",/2"?this.args[0].indicator===",/2"?new H(",",[this.args[0].replace(w),this.args[1]]):w===null?this.args[1]:new H(",",[w,this.args[1]]):w},H.prototype.search=function(w){if(b.type.is_term(w)&&w.ref!==void 0&&this.ref===w.ref)return!0;for(var P=0;PP&&F0&&(P=this.head_point().substitution.domain());e(P,b.format_variable(this.session.rename))!==-1;)this.session.rename++;if(w.id==="_")return new Ie(b.format_variable(this.session.rename));this.session.renamed_variables[w.id]=b.format_variable(this.session.rename)}return new Ie(this.session.renamed_variables[w.id])},Te.prototype.next_free_variable=function(){return this.thread.next_free_variable()},Je.prototype.next_free_variable=function(){this.session.rename++;var w=[];for(this.points.length>0&&(w=this.head_point().substitution.domain());e(w,b.format_variable(this.session.rename))!==-1;)this.session.rename++;return new Ie(b.format_variable(this.session.rename))},Te.prototype.is_public_predicate=function(w){return!this.public_predicates.hasOwnProperty(w)||this.public_predicates[w]===!0},Je.prototype.is_public_predicate=function(w){return this.session.is_public_predicate(w)},Te.prototype.is_multifile_predicate=function(w){return this.multifile_predicates.hasOwnProperty(w)&&this.multifile_predicates[w]===!0},Je.prototype.is_multifile_predicate=function(w){return this.session.is_multifile_predicate(w)},Te.prototype.prepend=function(w){return this.thread.prepend(w)},Je.prototype.prepend=function(w){for(var P=w.length-1;P>=0;P--)this.points.push(w[P])},Te.prototype.success=function(w,P){return this.thread.success(w,P)},Je.prototype.success=function(w,y){var y=typeof y>"u"?w:y;this.prepend([new xe(w.goal.replace(null),w.substitution,y)])},Te.prototype.throw_error=function(w){return this.thread.throw_error(w)},Je.prototype.throw_error=function(w){this.prepend([new xe(new H("throw",[w]),new ke,null,null)])},Te.prototype.step_rule=function(w,P){return this.thread.step_rule(w,P)},Je.prototype.step_rule=function(w,P){var y=P.indicator;if(w==="user"&&(w=null),w===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var F=w===null?this.session.modules:e(this.session.modules,w)===-1?[]:[w],z=0;z1)&&this.again()},Te.prototype.answers=function(w,P,y){return this.thread.answers(w,P,y)},Je.prototype.answers=function(w,P,y){var F=P||1e3,z=this;if(P<=0){y&&y();return}this.answer(function(X){w(X),X!==!1?setTimeout(function(){z.answers(w,P-1,y)},1):y&&y()})},Te.prototype.again=function(w){return this.thread.again(w)},Je.prototype.again=function(w){for(var P,y=Date.now();this.__calls.length>0;){for(this.warnings=[],w!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!b.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var F=Date.now();this.cpu_time_last=F-y,this.cpu_time+=this.cpu_time_last;var z=this.__calls.shift();this.current_limit<=0?z(null):this.points.length===0?z(!1):b.type.is_error(this.head_point().goal)?(P=this.session.format_error(this.points.pop()),this.points=[],z(P)):(this.debugger&&this.debugger_states.push(this.head_point()),P=this.session.format_success(this.points.pop()),z(P))}},Te.prototype.unfold=function(w){if(w.body===null)return!1;var P=w.head,y=w.body,F=y.select(),z=new Je(this),X=[];z.add_goal(F),z.step();for(var Z=z.points.length-1;Z>=0;Z--){var ie=z.points[Z],Pe=P.apply(ie.substitution),Ne=y.replace(ie.goal);Ne!==null&&(Ne=Ne.apply(ie.substitution)),X.push(new He(Pe,Ne))}var ot=this.rules[P.indicator],dt=e(ot,w);return X.length>0&&dt!==-1?(ot.splice.apply(ot,[dt,1].concat(X)),!0):!1},Je.prototype.unfold=function(w){return this.session.unfold(w)},Ie.prototype.interpret=function(w){return b.error.instantiation(w.level)},Fe.prototype.interpret=function(w){return this},H.prototype.interpret=function(w){return b.type.is_unitary_list(this)?this.args[0].interpret(w):b.operate(w,this)},Ie.prototype.compare=function(w){return this.idw.id?1:0},Fe.prototype.compare=function(w){if(this.value===w.value&&this.is_float===w.is_float)return 0;if(this.valuew.value)return 1},H.prototype.compare=function(w){if(this.args.lengthw.args.length||this.args.length===w.args.length&&this.id>w.id)return 1;for(var P=0;PF)return 1;if(w.constructor===Fe){if(w.is_float&&P.is_float)return 0;if(w.is_float)return-1;if(P.is_float)return 1}return 0},is_substitution:function(w){return w instanceof ke},is_state:function(w){return w instanceof xe},is_rule:function(w){return w instanceof He},is_variable:function(w){return w instanceof Ie},is_stream:function(w){return w instanceof Re},is_anonymous_var:function(w){return w instanceof Ie&&w.id==="_"},is_callable:function(w){return w instanceof H},is_number:function(w){return w instanceof Fe},is_integer:function(w){return w instanceof Fe&&!w.is_float},is_float:function(w){return w instanceof Fe&&w.is_float},is_term:function(w){return w instanceof H},is_atom:function(w){return w instanceof H&&w.args.length===0},is_ground:function(w){if(w instanceof Ie)return!1;if(w instanceof H){for(var P=0;P0},is_list:function(w){return w instanceof H&&(w.indicator==="[]/0"||w.indicator==="./2")},is_empty_list:function(w){return w instanceof H&&w.indicator==="[]/0"},is_non_empty_list:function(w){return w instanceof H&&w.indicator==="./2"},is_fully_list:function(w){for(;w instanceof H&&w.indicator==="./2";)w=w.args[1];return w instanceof Ie||w instanceof H&&w.indicator==="[]/0"},is_instantiated_list:function(w){for(;w instanceof H&&w.indicator==="./2";)w=w.args[1];return w instanceof H&&w.indicator==="[]/0"},is_unitary_list:function(w){return w instanceof H&&w.indicator==="./2"&&w.args[1]instanceof H&&w.args[1].indicator==="[]/0"},is_character:function(w){return w instanceof H&&(w.id.length===1||w.id.length>0&&w.id.length<=2&&n(w.id,0)>=65536)},is_character_code:function(w){return w instanceof Fe&&!w.is_float&&w.value>=0&&w.value<=1114111},is_byte:function(w){return w instanceof Fe&&!w.is_float&&w.value>=0&&w.value<=255},is_operator:function(w){return w instanceof H&&b.arithmetic.evaluation[w.indicator]},is_directive:function(w){return w instanceof H&&b.directive[w.indicator]!==void 0},is_builtin:function(w){return w instanceof H&&b.predicate[w.indicator]!==void 0},is_error:function(w){return w instanceof H&&w.indicator==="throw/1"},is_predicate_indicator:function(w){return w instanceof H&&w.indicator==="//2"&&w.args[0]instanceof H&&w.args[0].args.length===0&&w.args[1]instanceof Fe&&w.args[1].is_float===!1},is_flag:function(w){return w instanceof H&&w.args.length===0&&b.flag[w.id]!==void 0},is_value_flag:function(w,P){if(!b.type.is_flag(w))return!1;for(var y in b.flag[w.id].allowed)if(!!b.flag[w.id].allowed.hasOwnProperty(y)&&b.flag[w.id].allowed[y].equals(P))return!0;return!1},is_io_mode:function(w){return b.type.is_atom(w)&&["read","write","append"].indexOf(w.id)!==-1},is_stream_option:function(w){return b.type.is_term(w)&&(w.indicator==="alias/1"&&b.type.is_atom(w.args[0])||w.indicator==="reposition/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="type/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="text"||w.args[0].id==="binary")||w.indicator==="eof_action/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="error"||w.args[0].id==="eof_code"||w.args[0].id==="reset"))},is_stream_position:function(w){return b.type.is_integer(w)&&w.value>=0||b.type.is_atom(w)&&(w.id==="end_of_stream"||w.id==="past_end_of_stream")},is_stream_property:function(w){return b.type.is_term(w)&&(w.indicator==="input/0"||w.indicator==="output/0"||w.indicator==="alias/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0]))||w.indicator==="file_name/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0]))||w.indicator==="position/1"&&(b.type.is_variable(w.args[0])||b.type.is_stream_position(w.args[0]))||w.indicator==="reposition/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false"))||w.indicator==="type/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="text"||w.args[0].id==="binary"))||w.indicator==="mode/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="read"||w.args[0].id==="write"||w.args[0].id==="append"))||w.indicator==="eof_action/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="error"||w.args[0].id==="eof_code"||w.args[0].id==="reset"))||w.indicator==="end_of_stream/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="at"||w.args[0].id==="past"||w.args[0].id==="not")))},is_streamable:function(w){return w.__proto__.stream!==void 0},is_read_option:function(w){return b.type.is_term(w)&&["variables/1","variable_names/1","singletons/1"].indexOf(w.indicator)!==-1},is_write_option:function(w){return b.type.is_term(w)&&(w.indicator==="quoted/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="ignore_ops/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="numbervars/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false"))},is_close_option:function(w){return b.type.is_term(w)&&w.indicator==="force/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")},is_modifiable_flag:function(w){return b.type.is_flag(w)&&b.flag[w.id].changeable},is_module:function(w){return w instanceof H&&w.indicator==="library/1"&&w.args[0]instanceof H&&w.args[0].args.length===0&&b.module[w.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(w){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(w){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(w){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(w){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(w,P){return w}},"-/1":{type_args:null,type_result:null,fn:function(w,P){return-w}},"\\/1":{type_args:!1,type_result:!1,fn:function(w,P){return~w}},"abs/1":{type_args:null,type_result:null,fn:function(w,P){return Math.abs(w)}},"sign/1":{type_args:null,type_result:null,fn:function(w,P){return Math.sign(w)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(w,P){return parseInt(w)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(w,P){return w-parseInt(w)}},"float/1":{type_args:null,type_result:!0,fn:function(w,P){return parseFloat(w)}},"floor/1":{type_args:!0,type_result:!1,fn:function(w,P){return Math.floor(w)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(w,P){return parseInt(w)}},"round/1":{type_args:!0,type_result:!1,fn:function(w,P){return Math.round(w)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(w,P){return Math.ceil(w)}},"sin/1":{type_args:null,type_result:!0,fn:function(w,P){return Math.sin(w)}},"cos/1":{type_args:null,type_result:!0,fn:function(w,P){return Math.cos(w)}},"tan/1":{type_args:null,type_result:!0,fn:function(w,P){return Math.tan(w)}},"asin/1":{type_args:null,type_result:!0,fn:function(w,P){return Math.asin(w)}},"acos/1":{type_args:null,type_result:!0,fn:function(w,P){return Math.acos(w)}},"atan/1":{type_args:null,type_result:!0,fn:function(w,P){return Math.atan(w)}},"atan2/2":{type_args:null,type_result:!0,fn:function(w,P,y){return Math.atan2(w,P)}},"exp/1":{type_args:null,type_result:!0,fn:function(w,P){return Math.exp(w)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(w,P){return Math.sqrt(w)}},"log/1":{type_args:null,type_result:!0,fn:function(w,P){return w>0?Math.log(w):b.error.evaluation("undefined",P.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(w,P,y){return w+P}},"-/2":{type_args:null,type_result:null,fn:function(w,P,y){return w-P}},"*/2":{type_args:null,type_result:null,fn:function(w,P,y){return w*P}},"//2":{type_args:null,type_result:!0,fn:function(w,P,y){return P?w/P:b.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(w,P,y){return P?parseInt(w/P):b.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(w,P,y){return Math.pow(w,P)}},"^/2":{type_args:null,type_result:null,fn:function(w,P,y){return Math.pow(w,P)}},"<>/2":{type_args:!1,type_result:!1,fn:function(w,P,y){return w>>P}},"/\\/2":{type_args:!1,type_result:!1,fn:function(w,P,y){return w&P}},"\\//2":{type_args:!1,type_result:!1,fn:function(w,P,y){return w|P}},"xor/2":{type_args:!1,type_result:!1,fn:function(w,P,y){return w^P}},"rem/2":{type_args:!1,type_result:!1,fn:function(w,P,y){return P?w%P:b.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(w,P,y){return P?w-parseInt(w/P)*P:b.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(w,P,y){return Math.max(w,P)}},"min/2":{type_args:null,type_result:null,fn:function(w,P,y){return Math.min(w,P)}}}},directive:{"dynamic/1":function(w,P){var y=P.args[0];if(b.type.is_variable(y))w.throw_error(b.error.instantiation(P.indicator));else if(!b.type.is_compound(y)||y.indicator!=="//2")w.throw_error(b.error.type("predicate_indicator",y,P.indicator));else if(b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1]))w.throw_error(b.error.instantiation(P.indicator));else if(!b.type.is_atom(y.args[0]))w.throw_error(b.error.type("atom",y.args[0],P.indicator));else if(!b.type.is_integer(y.args[1]))w.throw_error(b.error.type("integer",y.args[1],P.indicator));else{var F=P.args[0].args[0].id+"/"+P.args[0].args[1].value;w.session.public_predicates[F]=!0,w.session.rules[F]||(w.session.rules[F]=[])}},"multifile/1":function(w,P){var y=P.args[0];b.type.is_variable(y)?w.throw_error(b.error.instantiation(P.indicator)):!b.type.is_compound(y)||y.indicator!=="//2"?w.throw_error(b.error.type("predicate_indicator",y,P.indicator)):b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1])?w.throw_error(b.error.instantiation(P.indicator)):b.type.is_atom(y.args[0])?b.type.is_integer(y.args[1])?w.session.multifile_predicates[P.args[0].args[0].id+"/"+P.args[0].args[1].value]=!0:w.throw_error(b.error.type("integer",y.args[1],P.indicator)):w.throw_error(b.error.type("atom",y.args[0],P.indicator))},"set_prolog_flag/2":function(w,P){var y=P.args[0],F=P.args[1];b.type.is_variable(y)||b.type.is_variable(F)?w.throw_error(b.error.instantiation(P.indicator)):b.type.is_atom(y)?b.type.is_flag(y)?b.type.is_value_flag(y,F)?b.type.is_modifiable_flag(y)?w.session.flag[y.id]=F:w.throw_error(b.error.permission("modify","flag",y)):w.throw_error(b.error.domain("flag_value",new H("+",[y,F]),P.indicator)):w.throw_error(b.error.domain("prolog_flag",y,P.indicator)):w.throw_error(b.error.type("atom",y,P.indicator))},"use_module/1":function(w,P){var y=P.args[0];if(b.type.is_variable(y))w.throw_error(b.error.instantiation(P.indicator));else if(!b.type.is_term(y))w.throw_error(b.error.type("term",y,P.indicator));else if(b.type.is_module(y)){var F=y.args[0].id;e(w.session.modules,F)===-1&&w.session.modules.push(F)}},"char_conversion/2":function(w,P){var y=P.args[0],F=P.args[1];b.type.is_variable(y)||b.type.is_variable(F)?w.throw_error(b.error.instantiation(P.indicator)):b.type.is_character(y)?b.type.is_character(F)?y.id===F.id?delete w.session.__char_conversion[y.id]:w.session.__char_conversion[y.id]=F.id:w.throw_error(b.error.type("character",F,P.indicator)):w.throw_error(b.error.type("character",y,P.indicator))},"op/3":function(w,P){var y=P.args[0],F=P.args[1],z=P.args[2];if(b.type.is_variable(y)||b.type.is_variable(F)||b.type.is_variable(z))w.throw_error(b.error.instantiation(P.indicator));else if(!b.type.is_integer(y))w.throw_error(b.error.type("integer",y,P.indicator));else if(!b.type.is_atom(F))w.throw_error(b.error.type("atom",F,P.indicator));else if(!b.type.is_atom(z))w.throw_error(b.error.type("atom",z,P.indicator));else if(y.value<0||y.value>1200)w.throw_error(b.error.domain("operator_priority",y,P.indicator));else if(z.id===",")w.throw_error(b.error.permission("modify","operator",z,P.indicator));else if(z.id==="|"&&(y.value<1001||F.id.length!==3))w.throw_error(b.error.permission("modify","operator",z,P.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(F.id)===-1)w.throw_error(b.error.domain("operator_specifier",F,P.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var Z in w.session.__operators)if(!!w.session.__operators.hasOwnProperty(Z)){var ie=w.session.__operators[Z][z.id];ie&&(e(ie,"fx")!==-1&&(X.prefix={priority:Z,type:"fx"}),e(ie,"fy")!==-1&&(X.prefix={priority:Z,type:"fy"}),e(ie,"xf")!==-1&&(X.postfix={priority:Z,type:"xf"}),e(ie,"yf")!==-1&&(X.postfix={priority:Z,type:"yf"}),e(ie,"xfx")!==-1&&(X.infix={priority:Z,type:"xfx"}),e(ie,"xfy")!==-1&&(X.infix={priority:Z,type:"xfy"}),e(ie,"yfx")!==-1&&(X.infix={priority:Z,type:"yfx"}))}var Pe;switch(F.id){case"fy":case"fx":Pe="prefix";break;case"yf":case"xf":Pe="postfix";break;default:Pe="infix";break}if(((X.prefix&&Pe==="prefix"||X.postfix&&Pe==="postfix"||X.infix&&Pe==="infix")&&X[Pe].type!==F.id||X.infix&&Pe==="postfix"||X.postfix&&Pe==="infix")&&y.value!==0)w.throw_error(b.error.permission("create","operator",z,P.indicator));else return X[Pe]&&(Ee(w.session.__operators[X[Pe].priority][z.id],F.id),w.session.__operators[X[Pe].priority][z.id].length===0&&delete w.session.__operators[X[Pe].priority][z.id]),y.value>0&&(w.session.__operators[y.value]||(w.session.__operators[y.value.toString()]={}),w.session.__operators[y.value][z.id]||(w.session.__operators[y.value][z.id]=[]),w.session.__operators[y.value][z.id].push(F.id)),!0}}},predicate:{"op/3":function(w,P,y){b.directive["op/3"](w,y)&&w.success(P)},"current_op/3":function(w,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],Z=[];for(var ie in w.session.__operators)for(var Pe in w.session.__operators[ie])for(var Ne=0;Ne/2"){var F=w.points,z=w.session.format_success,X=w.session.format_error;w.session.format_success=function(Ne){return Ne.substitution},w.session.format_error=function(Ne){return Ne.goal},w.points=[new xe(y.args[0].args[0],P.substitution,P)];var Z=function(Ne){w.points=F,w.session.format_success=z,w.session.format_error=X,Ne===!1?w.prepend([new xe(P.goal.replace(y.args[1]),P.substitution,P)]):b.type.is_error(Ne)?w.throw_error(Ne.args[0]):Ne===null?(w.prepend([P]),w.__calls.shift()(null)):w.prepend([new xe(P.goal.replace(y.args[0].args[1]).apply(Ne),P.substitution.apply(Ne),P)])};w.__calls.unshift(Z)}else{var ie=new xe(P.goal.replace(y.args[0]),P.substitution,P),Pe=new xe(P.goal.replace(y.args[1]),P.substitution,P);w.prepend([ie,Pe])}},"!/0":function(w,P,y){var F,z,X=[];for(F=P,z=null;F.parent!==null&&F.parent.goal.search(y);)if(z=F,F=F.parent,F.goal!==null){var Z=F.goal.select();if(Z&&Z.id==="call"&&Z.search(y)){F=z;break}}for(var ie=w.points.length-1;ie>=0;ie--){for(var Pe=w.points[ie],Ne=Pe.parent;Ne!==null&&Ne!==F.parent;)Ne=Ne.parent;Ne===null&&Ne!==F.parent&&X.push(Pe)}w.points=X.reverse(),w.success(P)},"\\+/1":function(w,P,y){var F=y.args[0];b.type.is_variable(F)?w.throw_error(b.error.instantiation(w.level)):b.type.is_callable(F)?w.prepend([new xe(P.goal.replace(new H(",",[new H(",",[new H("call",[F]),new H("!",[])]),new H("fail",[])])),P.substitution,P),new xe(P.goal.replace(null),P.substitution,P)]):w.throw_error(b.error.type("callable",F,w.level))},"->/2":function(w,P,y){var F=P.goal.replace(new H(",",[y.args[0],new H(",",[new H("!"),y.args[1]])]));w.prepend([new xe(F,P.substitution,P)])},"fail/0":function(w,P,y){},"false/0":function(w,P,y){},"true/0":function(w,P,y){w.success(P)},"call/1":ne(1),"call/2":ne(2),"call/3":ne(3),"call/4":ne(4),"call/5":ne(5),"call/6":ne(6),"call/7":ne(7),"call/8":ne(8),"once/1":function(w,P,y){var F=y.args[0];w.prepend([new xe(P.goal.replace(new H(",",[new H("call",[F]),new H("!",[])])),P.substitution,P)])},"forall/2":function(w,P,y){var F=y.args[0],z=y.args[1];w.prepend([new xe(P.goal.replace(new H("\\+",[new H(",",[new H("call",[F]),new H("\\+",[new H("call",[z])])])])),P.substitution,P)])},"repeat/0":function(w,P,y){w.prepend([new xe(P.goal.replace(null),P.substitution,P),P])},"throw/1":function(w,P,y){b.type.is_variable(y.args[0])?w.throw_error(b.error.instantiation(w.level)):w.throw_error(y.args[0])},"catch/3":function(w,P,y){var F=w.points;w.points=[],w.prepend([new xe(y.args[0],P.substitution,P)]);var z=w.session.format_success,X=w.session.format_error;w.session.format_success=function(ie){return ie.substitution},w.session.format_error=function(ie){return ie.goal};var Z=function(ie){var Pe=w.points;if(w.points=F,w.session.format_success=z,w.session.format_error=X,b.type.is_error(ie)){for(var Ne=[],ot=w.points.length-1;ot>=0;ot--){for(var $t=w.points[ot],dt=$t.parent;dt!==null&&dt!==P.parent;)dt=dt.parent;dt===null&&dt!==P.parent&&Ne.push($t)}w.points=Ne;var jt=w.get_flag("occurs_check").indicator==="true/0",$t=new xe,bt=b.unify(ie.args[0],y.args[1],jt);bt!==null?($t.substitution=P.substitution.apply(bt),$t.goal=P.goal.replace(y.args[2]).apply(bt),$t.parent=P,w.prepend([$t])):w.throw_error(ie.args[0])}else if(ie!==!1){for(var an=ie===null?[]:[new xe(P.goal.apply(ie).replace(null),P.substitution.apply(ie),P)],Qr=[],ot=Pe.length-1;ot>=0;ot--){Qr.push(Pe[ot]);var mr=Pe[ot].goal!==null?Pe[ot].goal.select():null;if(b.type.is_term(mr)&&mr.indicator==="!/0")break}var br=o(Qr,function(Wr){return Wr.goal===null&&(Wr.goal=new H("true",[])),Wr=new xe(P.goal.replace(new H("catch",[Wr.goal,y.args[1],y.args[2]])),P.substitution.apply(Wr.substitution),Wr.parent),Wr.exclude=y.args[0].variables(),Wr}).reverse();w.prepend(br),w.prepend(an),ie===null&&(this.current_limit=0,w.__calls.shift()(null))}};w.__calls.unshift(Z)},"=/2":function(w,P,y){var F=w.get_flag("occurs_check").indicator==="true/0",z=new xe,X=b.unify(y.args[0],y.args[1],F);X!==null&&(z.goal=P.goal.apply(X).replace(null),z.substitution=P.substitution.apply(X),z.parent=P,w.prepend([z]))},"unify_with_occurs_check/2":function(w,P,y){var F=new xe,z=b.unify(y.args[0],y.args[1],!0);z!==null&&(F.goal=P.goal.apply(z).replace(null),F.substitution=P.substitution.apply(z),F.parent=P,w.prepend([F]))},"\\=/2":function(w,P,y){var F=w.get_flag("occurs_check").indicator==="true/0",z=b.unify(y.args[0],y.args[1],F);z===null&&w.success(P)},"subsumes_term/2":function(w,P,y){var F=w.get_flag("occurs_check").indicator==="true/0",z=b.unify(y.args[1],y.args[0],F);z!==null&&y.args[1].apply(z).equals(y.args[1])&&w.success(P)},"findall/3":function(w,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(b.type.is_variable(z))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(z))w.throw_error(b.error.type("callable",z,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else{var Z=w.next_free_variable(),ie=new H(",",[z,new H("=",[Z,F])]),Pe=w.points,Ne=w.session.limit,ot=w.session.format_success;w.session.format_success=function($t){return $t.substitution},w.add_goal(ie,!0,P);var dt=[],jt=function($t){if($t!==!1&&$t!==null&&!b.type.is_error($t))w.__calls.unshift(jt),dt.push($t.links[Z.id]),w.session.limit=w.current_limit;else if(w.points=Pe,w.session.limit=Ne,w.session.format_success=ot,b.type.is_error($t))w.throw_error($t.args[0]);else if(w.current_limit>0){for(var bt=new H("[]"),an=dt.length-1;an>=0;an--)bt=new H(".",[dt[an],bt]);w.prepend([new xe(P.goal.replace(new H("=",[X,bt])),P.substitution,P)])}};w.__calls.unshift(jt)}},"bagof/3":function(w,P,y){var F,z=y.args[0],X=y.args[1],Z=y.args[2];if(b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(X))w.throw_error(b.error.type("callable",X,y.indicator));else if(!b.type.is_variable(Z)&&!b.type.is_list(Z))w.throw_error(b.error.type("list",Z,y.indicator));else{var ie=w.next_free_variable(),Pe;X.indicator==="^/2"?(Pe=X.args[0].variables(),X=X.args[1]):Pe=[],Pe=Pe.concat(z.variables());for(var Ne=X.variables().filter(function(br){return e(Pe,br)===-1}),ot=new H("[]"),dt=Ne.length-1;dt>=0;dt--)ot=new H(".",[new Ie(Ne[dt]),ot]);var jt=new H(",",[X,new H("=",[ie,new H(",",[ot,z])])]),$t=w.points,bt=w.session.limit,an=w.session.format_success;w.session.format_success=function(br){return br.substitution},w.add_goal(jt,!0,P);var Qr=[],mr=function(br){if(br!==!1&&br!==null&&!b.type.is_error(br)){w.__calls.unshift(mr);var Wr=!1,Kn=br.links[ie.id].args[0],Ns=br.links[ie.id].args[1];for(var Ti in Qr)if(!!Qr.hasOwnProperty(Ti)){var ps=Qr[Ti];if(ps.variables.equals(Kn)){ps.answers.push(Ns),Wr=!0;break}}Wr||Qr.push({variables:Kn,answers:[Ns]}),w.session.limit=w.current_limit}else if(w.points=$t,w.session.limit=bt,w.session.format_success=an,b.type.is_error(br))w.throw_error(br.args[0]);else if(w.current_limit>0){for(var io=[],Pi=0;Pi=0;so--)Ls=new H(".",[br[so],Ls]);io.push(new xe(P.goal.replace(new H(",",[new H("=",[ot,Qr[Pi].variables]),new H("=",[Z,Ls])])),P.substitution,P))}w.prepend(io)}};w.__calls.unshift(mr)}},"setof/3":function(w,P,y){var F,z=y.args[0],X=y.args[1],Z=y.args[2];if(b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(X))w.throw_error(b.error.type("callable",X,y.indicator));else if(!b.type.is_variable(Z)&&!b.type.is_list(Z))w.throw_error(b.error.type("list",Z,y.indicator));else{var ie=w.next_free_variable(),Pe;X.indicator==="^/2"?(Pe=X.args[0].variables(),X=X.args[1]):Pe=[],Pe=Pe.concat(z.variables());for(var Ne=X.variables().filter(function(br){return e(Pe,br)===-1}),ot=new H("[]"),dt=Ne.length-1;dt>=0;dt--)ot=new H(".",[new Ie(Ne[dt]),ot]);var jt=new H(",",[X,new H("=",[ie,new H(",",[ot,z])])]),$t=w.points,bt=w.session.limit,an=w.session.format_success;w.session.format_success=function(br){return br.substitution},w.add_goal(jt,!0,P);var Qr=[],mr=function(br){if(br!==!1&&br!==null&&!b.type.is_error(br)){w.__calls.unshift(mr);var Wr=!1,Kn=br.links[ie.id].args[0],Ns=br.links[ie.id].args[1];for(var Ti in Qr)if(!!Qr.hasOwnProperty(Ti)){var ps=Qr[Ti];if(ps.variables.equals(Kn)){ps.answers.push(Ns),Wr=!0;break}}Wr||Qr.push({variables:Kn,answers:[Ns]}),w.session.limit=w.current_limit}else if(w.points=$t,w.session.limit=bt,w.session.format_success=an,b.type.is_error(br))w.throw_error(br.args[0]);else if(w.current_limit>0){for(var io=[],Pi=0;Pi=0;so--)Ls=new H(".",[br[so],Ls]);io.push(new xe(P.goal.replace(new H(",",[new H("=",[ot,Qr[Pi].variables]),new H("=",[Z,Ls])])),P.substitution,P))}w.prepend(io)}};w.__calls.unshift(mr)}},"functor/3":function(w,P,y){var F,z=y.args[0],X=y.args[1],Z=y.args[2];if(b.type.is_variable(z)&&(b.type.is_variable(X)||b.type.is_variable(Z)))w.throw_error(b.error.instantiation("functor/3"));else if(!b.type.is_variable(Z)&&!b.type.is_integer(Z))w.throw_error(b.error.type("integer",y.args[2],"functor/3"));else if(!b.type.is_variable(X)&&!b.type.is_atomic(X))w.throw_error(b.error.type("atomic",y.args[1],"functor/3"));else if(b.type.is_integer(X)&&b.type.is_integer(Z)&&Z.value!==0)w.throw_error(b.error.type("atom",y.args[1],"functor/3"));else if(b.type.is_variable(z)){if(y.args[2].value>=0){for(var ie=[],Pe=0;Pe0&&F<=y.args[1].args.length){var z=new H("=",[y.args[1].args[F-1],y.args[2]]);w.prepend([new xe(P.goal.replace(z),P.substitution,P)])}}},"=../2":function(w,P,y){var F;if(b.type.is_variable(y.args[0])&&(b.type.is_variable(y.args[1])||b.type.is_non_empty_list(y.args[1])&&b.type.is_variable(y.args[1].args[0])))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_fully_list(y.args[1]))w.throw_error(b.error.type("list",y.args[1],y.indicator));else if(b.type.is_variable(y.args[0])){if(!b.type.is_variable(y.args[1])){var X=[];for(F=y.args[1].args[1];F.indicator==="./2";)X.push(F.args[0]),F=F.args[1];b.type.is_variable(y.args[0])&&b.type.is_variable(F)?w.throw_error(b.error.instantiation(y.indicator)):X.length===0&&b.type.is_compound(y.args[1].args[0])?w.throw_error(b.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(b.type.is_compound(y.args[1].args[0])||b.type.is_number(y.args[1].args[0]))?w.throw_error(b.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?w.prepend([new xe(P.goal.replace(new H("=",[y.args[1].args[0],y.args[0]],P)),P.substitution,P)]):w.prepend([new xe(P.goal.replace(new H("=",[new H(y.args[1].args[0].id,X),y.args[0]])),P.substitution,P)])}}else{if(b.type.is_atomic(y.args[0]))F=new H(".",[y.args[0],new H("[]")]);else{F=new H("[]");for(var z=y.args[0].args.length-1;z>=0;z--)F=new H(".",[y.args[0].args[z],F]);F=new H(".",[new H(y.args[0].id),F])}w.prepend([new xe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"copy_term/2":function(w,P,y){var F=y.args[0].rename(w);w.prepend([new xe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P.parent)])},"term_variables/2":function(w,P,y){var F=y.args[0],z=y.args[1];if(!b.type.is_fully_list(z))w.throw_error(b.error.type("list",z,y.indicator));else{var X=g(o(Se(F.variables()),function(Z){return new Ie(Z)}));w.prepend([new xe(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"clause/2":function(w,P,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else if(!b.type.is_variable(y.args[1])&&!b.type.is_callable(y.args[1]))w.throw_error(b.error.type("callable",y.args[1],y.indicator));else if(w.session.rules[y.args[0].indicator]!==void 0)if(w.is_public_predicate(y.args[0].indicator)){var F=[];for(var z in w.session.rules[y.args[0].indicator])if(!!w.session.rules[y.args[0].indicator].hasOwnProperty(z)){var X=w.session.rules[y.args[0].indicator][z];w.session.renamed_variables={},X=X.rename(w),X.body===null&&(X.body=new H("true"));var Z=new H(",",[new H("=",[X.head,y.args[0]]),new H("=",[X.body,y.args[1]])]);F.push(new xe(P.goal.replace(Z),P.substitution,P))}w.prepend(F)}else w.throw_error(b.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(w,P,y){var F=y.args[0];if(!b.type.is_variable(F)&&(!b.type.is_compound(F)||F.indicator!=="//2"))w.throw_error(b.error.type("predicate_indicator",F,y.indicator));else if(!b.type.is_variable(F)&&!b.type.is_variable(F.args[0])&&!b.type.is_atom(F.args[0]))w.throw_error(b.error.type("atom",F.args[0],y.indicator));else if(!b.type.is_variable(F)&&!b.type.is_variable(F.args[1])&&!b.type.is_integer(F.args[1]))w.throw_error(b.error.type("integer",F.args[1],y.indicator));else{var z=[];for(var X in w.session.rules)if(!!w.session.rules.hasOwnProperty(X)){var Z=X.lastIndexOf("/"),ie=X.substr(0,Z),Pe=parseInt(X.substr(Z+1,X.length-(Z+1))),Ne=new H("/",[new H(ie),new Fe(Pe,!1)]),ot=new H("=",[Ne,F]);z.push(new xe(P.goal.replace(ot),P.substitution,P))}w.prepend(z)}},"asserta/1":function(w,P,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=we(y.args[0].args[1])):(F=y.args[0],z=null),b.type.is_callable(F)?z!==null&&!b.type.is_callable(z)?w.throw_error(b.error.type("callable",z,y.indicator)):w.is_public_predicate(F.indicator)?(w.session.rules[F.indicator]===void 0&&(w.session.rules[F.indicator]=[]),w.session.public_predicates[F.indicator]=!0,w.session.rules[F.indicator]=[new He(F,z,!0)].concat(w.session.rules[F.indicator]),w.success(P)):w.throw_error(b.error.permission("modify","static_procedure",F.indicator,y.indicator)):w.throw_error(b.error.type("callable",F,y.indicator))}},"assertz/1":function(w,P,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=we(y.args[0].args[1])):(F=y.args[0],z=null),b.type.is_callable(F)?z!==null&&!b.type.is_callable(z)?w.throw_error(b.error.type("callable",z,y.indicator)):w.is_public_predicate(F.indicator)?(w.session.rules[F.indicator]===void 0&&(w.session.rules[F.indicator]=[]),w.session.public_predicates[F.indicator]=!0,w.session.rules[F.indicator].push(new He(F,z,!0)),w.success(P)):w.throw_error(b.error.permission("modify","static_procedure",F.indicator,y.indicator)):w.throw_error(b.error.type("callable",F,y.indicator))}},"retract/1":function(w,P,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var F,z;if(y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=y.args[0].args[1]):(F=y.args[0],z=new H("true")),typeof P.retract>"u")if(w.is_public_predicate(F.indicator)){if(w.session.rules[F.indicator]!==void 0){for(var X=[],Z=0;Zw.get_flag("max_arity").value)w.throw_error(b.error.representation("max_arity",y.indicator));else{var F=y.args[0].args[0].id+"/"+y.args[0].args[1].value;w.is_public_predicate(F)?(delete w.session.rules[F],w.success(P)):w.throw_error(b.error.permission("modify","static_procedure",F,y.indicator))}},"atom_length/2":function(w,P,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_atom(y.args[0]))w.throw_error(b.error.type("atom",y.args[0],y.indicator));else if(!b.type.is_variable(y.args[1])&&!b.type.is_integer(y.args[1]))w.throw_error(b.error.type("integer",y.args[1],y.indicator));else if(b.type.is_integer(y.args[1])&&y.args[1].value<0)w.throw_error(b.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var F=new Fe(y.args[0].id.length,!1);w.prepend([new xe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"atom_concat/3":function(w,P,y){var F,z,X=y.args[0],Z=y.args[1],ie=y.args[2];if(b.type.is_variable(ie)&&(b.type.is_variable(X)||b.type.is_variable(Z)))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_atom(X))w.throw_error(b.error.type("atom",X,y.indicator));else if(!b.type.is_variable(Z)&&!b.type.is_atom(Z))w.throw_error(b.error.type("atom",Z,y.indicator));else if(!b.type.is_variable(ie)&&!b.type.is_atom(ie))w.throw_error(b.error.type("atom",ie,y.indicator));else{var Pe=b.type.is_variable(X),Ne=b.type.is_variable(Z);if(!Pe&&!Ne)z=new H("=",[ie,new H(X.id+Z.id)]),w.prepend([new xe(P.goal.replace(z),P.substitution,P)]);else if(Pe&&!Ne)F=ie.id.substr(0,ie.id.length-Z.id.length),F+Z.id===ie.id&&(z=new H("=",[X,new H(F)]),w.prepend([new xe(P.goal.replace(z),P.substitution,P)]));else if(Ne&&!Pe)F=ie.id.substr(X.id.length),X.id+F===ie.id&&(z=new H("=",[Z,new H(F)]),w.prepend([new xe(P.goal.replace(z),P.substitution,P)]));else{for(var ot=[],dt=0;dt<=ie.id.length;dt++){var jt=new H(ie.id.substr(0,dt)),$t=new H(ie.id.substr(dt));z=new H(",",[new H("=",[jt,X]),new H("=",[$t,Z])]),ot.push(new xe(P.goal.replace(z),P.substitution,P))}w.prepend(ot)}}},"sub_atom/5":function(w,P,y){var F,z=y.args[0],X=y.args[1],Z=y.args[2],ie=y.args[3],Pe=y.args[4];if(b.type.is_variable(z))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_integer(X))w.throw_error(b.error.type("integer",X,y.indicator));else if(!b.type.is_variable(Z)&&!b.type.is_integer(Z))w.throw_error(b.error.type("integer",Z,y.indicator));else if(!b.type.is_variable(ie)&&!b.type.is_integer(ie))w.throw_error(b.error.type("integer",ie,y.indicator));else if(b.type.is_integer(X)&&X.value<0)w.throw_error(b.error.domain("not_less_than_zero",X,y.indicator));else if(b.type.is_integer(Z)&&Z.value<0)w.throw_error(b.error.domain("not_less_than_zero",Z,y.indicator));else if(b.type.is_integer(ie)&&ie.value<0)w.throw_error(b.error.domain("not_less_than_zero",ie,y.indicator));else{var Ne=[],ot=[],dt=[];if(b.type.is_variable(X))for(F=0;F<=z.id.length;F++)Ne.push(F);else Ne.push(X.value);if(b.type.is_variable(Z))for(F=0;F<=z.id.length;F++)ot.push(F);else ot.push(Z.value);if(b.type.is_variable(ie))for(F=0;F<=z.id.length;F++)dt.push(F);else dt.push(ie.value);var jt=[];for(var $t in Ne)if(!!Ne.hasOwnProperty($t)){F=Ne[$t];for(var bt in ot)if(!!ot.hasOwnProperty(bt)){var an=ot[bt],Qr=z.id.length-F-an;if(e(dt,Qr)!==-1&&F+an+Qr===z.id.length){var mr=z.id.substr(F,an);if(z.id===z.id.substr(0,F)+mr+z.id.substr(F+an,Qr)){var br=new H("=",[new H(mr),Pe]),Wr=new H("=",[X,new Fe(F)]),Kn=new H("=",[Z,new Fe(an)]),Ns=new H("=",[ie,new Fe(Qr)]),Ti=new H(",",[new H(",",[new H(",",[Wr,Kn]),Ns]),br]);jt.push(new xe(P.goal.replace(Ti),P.substitution,P))}}}}w.prepend(jt)}},"atom_chars/2":function(w,P,y){var F=y.args[0],z=y.args[1];if(b.type.is_variable(F)&&b.type.is_variable(z))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(F)&&!b.type.is_atom(F))w.throw_error(b.error.type("atom",F,y.indicator));else if(b.type.is_variable(F)){for(var ie=z,Pe=b.type.is_variable(F),Ne="";ie.indicator==="./2";){if(b.type.is_character(ie.args[0]))Ne+=ie.args[0].id;else if(b.type.is_variable(ie.args[0])&&Pe){w.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}b.type.is_variable(ie)&&Pe?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)?w.throw_error(b.error.type("list",z,y.indicator)):w.prepend([new xe(P.goal.replace(new H("=",[new H(Ne),F])),P.substitution,P)])}else{for(var X=new H("[]"),Z=F.id.length-1;Z>=0;Z--)X=new H(".",[new H(F.id.charAt(Z)),X]);w.prepend([new xe(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"atom_codes/2":function(w,P,y){var F=y.args[0],z=y.args[1];if(b.type.is_variable(F)&&b.type.is_variable(z))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(F)&&!b.type.is_atom(F))w.throw_error(b.error.type("atom",F,y.indicator));else if(b.type.is_variable(F)){for(var ie=z,Pe=b.type.is_variable(F),Ne="";ie.indicator==="./2";){if(b.type.is_character_code(ie.args[0]))Ne+=u(ie.args[0].value);else if(b.type.is_variable(ie.args[0])&&Pe){w.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.representation("character_code",y.indicator));return}ie=ie.args[1]}b.type.is_variable(ie)&&Pe?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)?w.throw_error(b.error.type("list",z,y.indicator)):w.prepend([new xe(P.goal.replace(new H("=",[new H(Ne),F])),P.substitution,P)])}else{for(var X=new H("[]"),Z=F.id.length-1;Z>=0;Z--)X=new H(".",[new Fe(n(F.id,Z),!1),X]);w.prepend([new xe(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"char_code/2":function(w,P,y){var F=y.args[0],z=y.args[1];if(b.type.is_variable(F)&&b.type.is_variable(z))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(F)&&!b.type.is_character(F))w.throw_error(b.error.type("character",F,y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_integer(z))w.throw_error(b.error.type("integer",z,y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_character_code(z))w.throw_error(b.error.representation("character_code",y.indicator));else if(b.type.is_variable(z)){var X=new Fe(n(F.id,0),!1);w.prepend([new xe(P.goal.replace(new H("=",[X,z])),P.substitution,P)])}else{var Z=new H(u(z.value));w.prepend([new xe(P.goal.replace(new H("=",[Z,F])),P.substitution,P)])}},"number_chars/2":function(w,P,y){var F,z=y.args[0],X=y.args[1];if(b.type.is_variable(z)&&b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_number(z))w.throw_error(b.error.type("number",z,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else{var Z=b.type.is_variable(z);if(!b.type.is_variable(X)){var ie=X,Pe=!0;for(F="";ie.indicator==="./2";){if(b.type.is_character(ie.args[0]))F+=ie.args[0].id;else if(b.type.is_variable(ie.args[0]))Pe=!1;else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}if(Pe=Pe&&b.type.is_empty_list(ie),!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)){w.throw_error(b.error.type("list",X,y.indicator));return}if(!Pe&&Z){w.throw_error(b.error.instantiation(y.indicator));return}else if(Pe)if(b.type.is_variable(ie)&&Z){w.throw_error(b.error.instantiation(y.indicator));return}else{var Ne=w.parse(F),ot=Ne.value;!b.type.is_number(ot)||Ne.tokens[Ne.tokens.length-1].space?w.throw_error(b.error.syntax_by_predicate("parseable_number",y.indicator)):w.prepend([new xe(P.goal.replace(new H("=",[z,ot])),P.substitution,P)]);return}}if(!Z){F=z.toString();for(var dt=new H("[]"),jt=F.length-1;jt>=0;jt--)dt=new H(".",[new H(F.charAt(jt)),dt]);w.prepend([new xe(P.goal.replace(new H("=",[X,dt])),P.substitution,P)])}}},"number_codes/2":function(w,P,y){var F,z=y.args[0],X=y.args[1];if(b.type.is_variable(z)&&b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(z)&&!b.type.is_number(z))w.throw_error(b.error.type("number",z,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else{var Z=b.type.is_variable(z);if(!b.type.is_variable(X)){var ie=X,Pe=!0;for(F="";ie.indicator==="./2";){if(b.type.is_character_code(ie.args[0]))F+=u(ie.args[0].value);else if(b.type.is_variable(ie.args[0]))Pe=!1;else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.type("character_code",ie.args[0],y.indicator));return}ie=ie.args[1]}if(Pe=Pe&&b.type.is_empty_list(ie),!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)){w.throw_error(b.error.type("list",X,y.indicator));return}if(!Pe&&Z){w.throw_error(b.error.instantiation(y.indicator));return}else if(Pe)if(b.type.is_variable(ie)&&Z){w.throw_error(b.error.instantiation(y.indicator));return}else{var Ne=w.parse(F),ot=Ne.value;!b.type.is_number(ot)||Ne.tokens[Ne.tokens.length-1].space?w.throw_error(b.error.syntax_by_predicate("parseable_number",y.indicator)):w.prepend([new xe(P.goal.replace(new H("=",[z,ot])),P.substitution,P)]);return}}if(!Z){F=z.toString();for(var dt=new H("[]"),jt=F.length-1;jt>=0;jt--)dt=new H(".",[new Fe(n(F,jt),!1),dt]);w.prepend([new xe(P.goal.replace(new H("=",[X,dt])),P.substitution,P)])}}},"upcase_atom/2":function(w,P,y){var F=y.args[0],z=y.args[1];b.type.is_variable(F)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(F)?!b.type.is_variable(z)&&!b.type.is_atom(z)?w.throw_error(b.error.type("atom",z,y.indicator)):w.prepend([new xe(P.goal.replace(new H("=",[z,new H(F.id.toUpperCase(),[])])),P.substitution,P)]):w.throw_error(b.error.type("atom",F,y.indicator))},"downcase_atom/2":function(w,P,y){var F=y.args[0],z=y.args[1];b.type.is_variable(F)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(F)?!b.type.is_variable(z)&&!b.type.is_atom(z)?w.throw_error(b.error.type("atom",z,y.indicator)):w.prepend([new xe(P.goal.replace(new H("=",[z,new H(F.id.toLowerCase(),[])])),P.substitution,P)]):w.throw_error(b.error.type("atom",F,y.indicator))},"atomic_list_concat/2":function(w,P,y){var F=y.args[0],z=y.args[1];w.prepend([new xe(P.goal.replace(new H("atomic_list_concat",[F,new H("",[]),z])),P.substitution,P)])},"atomic_list_concat/3":function(w,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(b.type.is_variable(z)||b.type.is_variable(F)&&b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(F)&&!b.type.is_list(F))w.throw_error(b.error.type("list",F,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_atom(X))w.throw_error(b.error.type("atom",X,y.indicator));else if(b.type.is_variable(X)){for(var ie="",Pe=F;b.type.is_term(Pe)&&Pe.indicator==="./2";){if(!b.type.is_atom(Pe.args[0])&&!b.type.is_number(Pe.args[0])){w.throw_error(b.error.type("atomic",Pe.args[0],y.indicator));return}ie!==""&&(ie+=z.id),b.type.is_atom(Pe.args[0])?ie+=Pe.args[0].id:ie+=""+Pe.args[0].value,Pe=Pe.args[1]}ie=new H(ie,[]),b.type.is_variable(Pe)?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_term(Pe)||Pe.indicator!=="[]/0"?w.throw_error(b.error.type("list",F,y.indicator)):w.prepend([new xe(P.goal.replace(new H("=",[ie,X])),P.substitution,P)])}else{var Z=g(o(X.id.split(z.id),function(Ne){return new H(Ne,[])}));w.prepend([new xe(P.goal.replace(new H("=",[Z,F])),P.substitution,P)])}},"@=/2":function(w,P,y){b.compare(y.args[0],y.args[1])>0&&w.success(P)},"@>=/2":function(w,P,y){b.compare(y.args[0],y.args[1])>=0&&w.success(P)},"compare/3":function(w,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(!b.type.is_variable(F)&&!b.type.is_atom(F))w.throw_error(b.error.type("atom",F,y.indicator));else if(b.type.is_atom(F)&&["<",">","="].indexOf(F.id)===-1)w.throw_error(b.type.domain("order",F,y.indicator));else{var Z=b.compare(z,X);Z=Z===0?"=":Z===-1?"<":">",w.prepend([new xe(P.goal.replace(new H("=",[F,new H(Z,[])])),P.substitution,P)])}},"is/2":function(w,P,y){var F=y.args[1].interpret(w);b.type.is_number(F)?w.prepend([new xe(P.goal.replace(new H("=",[y.args[0],F],w.level)),P.substitution,P)]):w.throw_error(F)},"between/3":function(w,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(b.type.is_variable(F)||b.type.is_variable(z))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_integer(F))w.throw_error(b.error.type("integer",F,y.indicator));else if(!b.type.is_integer(z))w.throw_error(b.error.type("integer",z,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_integer(X))w.throw_error(b.error.type("integer",X,y.indicator));else if(b.type.is_variable(X)){var Z=[new xe(P.goal.replace(new H("=",[X,F])),P.substitution,P)];F.value=X.value&&w.success(P)},"succ/2":function(w,P,y){var F=y.args[0],z=y.args[1];b.type.is_variable(F)&&b.type.is_variable(z)?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_variable(F)&&!b.type.is_integer(F)?w.throw_error(b.error.type("integer",F,y.indicator)):!b.type.is_variable(z)&&!b.type.is_integer(z)?w.throw_error(b.error.type("integer",z,y.indicator)):!b.type.is_variable(F)&&F.value<0?w.throw_error(b.error.domain("not_less_than_zero",F,y.indicator)):!b.type.is_variable(z)&&z.value<0?w.throw_error(b.error.domain("not_less_than_zero",z,y.indicator)):(b.type.is_variable(z)||z.value>0)&&(b.type.is_variable(F)?w.prepend([new xe(P.goal.replace(new H("=",[F,new Fe(z.value-1,!1)])),P.substitution,P)]):w.prepend([new xe(P.goal.replace(new H("=",[z,new Fe(F.value+1,!1)])),P.substitution,P)]))},"=:=/2":function(w,P,y){var F=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(F)?w.throw_error(F):F===0&&w.success(P)},"=\\=/2":function(w,P,y){var F=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(F)?w.throw_error(F):F!==0&&w.success(P)},"/2":function(w,P,y){var F=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(F)?w.throw_error(F):F>0&&w.success(P)},">=/2":function(w,P,y){var F=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(F)?w.throw_error(F):F>=0&&w.success(P)},"var/1":function(w,P,y){b.type.is_variable(y.args[0])&&w.success(P)},"atom/1":function(w,P,y){b.type.is_atom(y.args[0])&&w.success(P)},"atomic/1":function(w,P,y){b.type.is_atomic(y.args[0])&&w.success(P)},"compound/1":function(w,P,y){b.type.is_compound(y.args[0])&&w.success(P)},"integer/1":function(w,P,y){b.type.is_integer(y.args[0])&&w.success(P)},"float/1":function(w,P,y){b.type.is_float(y.args[0])&&w.success(P)},"number/1":function(w,P,y){b.type.is_number(y.args[0])&&w.success(P)},"nonvar/1":function(w,P,y){b.type.is_variable(y.args[0])||w.success(P)},"ground/1":function(w,P,y){y.variables().length===0&&w.success(P)},"acyclic_term/1":function(w,P,y){for(var F=P.substitution.apply(P.substitution),z=y.args[0].variables(),X=0;X0?bt[bt.length-1]:null,bt!==null&&(jt=J(w,bt,0,w.__get_max_priority(),!1))}if(jt.type===p&&jt.len===bt.length-1&&an.value==="."){jt=jt.value.rename(w);var Qr=new H("=",[z,jt]);if(ie.variables){var mr=g(o(Se(jt.variables()),function(br){return new Ie(br)}));Qr=new H(",",[Qr,new H("=",[ie.variables,mr])])}if(ie.variable_names){var mr=g(o(Se(jt.variables()),function(Wr){var Kn;for(Kn in w.session.renamed_variables)if(w.session.renamed_variables.hasOwnProperty(Kn)&&w.session.renamed_variables[Kn]===Wr)break;return new H("=",[new H(Kn,[]),new Ie(Wr)])}));Qr=new H(",",[Qr,new H("=",[ie.variable_names,mr])])}if(ie.singletons){var mr=g(o(new He(jt,null).singleton_variables(),function(Wr){var Kn;for(Kn in w.session.renamed_variables)if(w.session.renamed_variables.hasOwnProperty(Kn)&&w.session.renamed_variables[Kn]===Wr)break;return new H("=",[new H(Kn,[]),new Ie(Wr)])}));Qr=new H(",",[Qr,new H("=",[ie.singletons,mr])])}w.prepend([new xe(P.goal.replace(Qr),P.substitution,P)])}else jt.type===p?w.throw_error(b.error.syntax(bt[jt.len],"unexpected token",!1)):w.throw_error(jt.value)}}},"write/1":function(w,P,y){var F=y.args[0];w.prepend([new xe(P.goal.replace(new H(",",[new H("current_output",[new Ie("S")]),new H("write",[new Ie("S"),F])])),P.substitution,P)])},"write/2":function(w,P,y){var F=y.args[0],z=y.args[1];w.prepend([new xe(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("false",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"writeq/1":function(w,P,y){var F=y.args[0];w.prepend([new xe(P.goal.replace(new H(",",[new H("current_output",[new Ie("S")]),new H("writeq",[new Ie("S"),F])])),P.substitution,P)])},"writeq/2":function(w,P,y){var F=y.args[0],z=y.args[1];w.prepend([new xe(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"write_canonical/1":function(w,P,y){var F=y.args[0];w.prepend([new xe(P.goal.replace(new H(",",[new H("current_output",[new Ie("S")]),new H("write_canonical",[new Ie("S"),F])])),P.substitution,P)])},"write_canonical/2":function(w,P,y){var F=y.args[0],z=y.args[1];w.prepend([new xe(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("true")]),new H(".",[new H("numbervars",[new H("false")]),new H("[]",[])])])])])),P.substitution,P)])},"write_term/2":function(w,P,y){var F=y.args[0],z=y.args[1];w.prepend([new xe(P.goal.replace(new H(",",[new H("current_output",[new Ie("S")]),new H("write_term",[new Ie("S"),F,z])])),P.substitution,P)])},"write_term/3":function(w,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],Z=b.type.is_stream(F)?F:w.get_stream_by_alias(F.id);if(b.type.is_variable(F)||b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else if(!b.type.is_stream(F)&&!b.type.is_atom(F))w.throw_error(b.error.domain("stream_or_alias",F,y.indicator));else if(!b.type.is_stream(Z)||Z.stream===null)w.throw_error(b.error.existence("stream",F,y.indicator));else if(Z.input)w.throw_error(b.error.permission("output","stream",F,y.indicator));else if(Z.type==="binary")w.throw_error(b.error.permission("output","binary_stream",F,y.indicator));else if(Z.position==="past_end_of_stream"&&Z.eof_action==="error")w.throw_error(b.error.permission("output","past_end_of_stream",F,y.indicator));else{for(var ie={},Pe=X,Ne;b.type.is_term(Pe)&&Pe.indicator==="./2";){if(Ne=Pe.args[0],b.type.is_variable(Ne)){w.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_write_option(Ne)){w.throw_error(b.error.domain("write_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0].id==="true",Pe=Pe.args[1]}if(Pe.indicator!=="[]/0"){b.type.is_variable(Pe)?w.throw_error(b.error.instantiation(y.indicator)):w.throw_error(b.error.type("list",X,y.indicator));return}else{ie.session=w.session;var ot=z.toString(ie);Z.stream.put(ot,Z.position),typeof Z.position=="number"&&(Z.position+=ot.length),w.success(P)}}},"halt/0":function(w,P,y){w.points=[]},"halt/1":function(w,P,y){var F=y.args[0];b.type.is_variable(F)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_integer(F)?w.points=[]:w.throw_error(b.error.type("integer",F,y.indicator))},"current_prolog_flag/2":function(w,P,y){var F=y.args[0],z=y.args[1];if(!b.type.is_variable(F)&&!b.type.is_atom(F))w.throw_error(b.error.type("atom",F,y.indicator));else if(!b.type.is_variable(F)&&!b.type.is_flag(F))w.throw_error(b.error.domain("prolog_flag",F,y.indicator));else{var X=[];for(var Z in b.flag)if(!!b.flag.hasOwnProperty(Z)){var ie=new H(",",[new H("=",[new H(Z),F]),new H("=",[w.get_flag(Z),z])]);X.push(new xe(P.goal.replace(ie),P.substitution,P))}w.prepend(X)}},"set_prolog_flag/2":function(w,P,y){var F=y.args[0],z=y.args[1];b.type.is_variable(F)||b.type.is_variable(z)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(F)?b.type.is_flag(F)?b.type.is_value_flag(F,z)?b.type.is_modifiable_flag(F)?(w.session.flag[F.id]=z,w.success(P)):w.throw_error(b.error.permission("modify","flag",F)):w.throw_error(b.error.domain("flag_value",new H("+",[F,z]),y.indicator)):w.throw_error(b.error.domain("prolog_flag",F,y.indicator)):w.throw_error(b.error.type("atom",F,y.indicator))}},flag:{bounded:{allowed:[new H("true"),new H("false")],value:new H("true"),changeable:!1},max_integer:{allowed:[new Fe(Number.MAX_SAFE_INTEGER)],value:new Fe(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new Fe(Number.MIN_SAFE_INTEGER)],value:new Fe(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new H("down"),new H("toward_zero")],value:new H("toward_zero"),changeable:!1},char_conversion:{allowed:[new H("on"),new H("off")],value:new H("on"),changeable:!0},debug:{allowed:[new H("on"),new H("off")],value:new H("off"),changeable:!0},max_arity:{allowed:[new H("unbounded")],value:new H("unbounded"),changeable:!1},unknown:{allowed:[new H("error"),new H("fail"),new H("warning")],value:new H("error"),changeable:!0},double_quotes:{allowed:[new H("chars"),new H("codes"),new H("atom")],value:new H("codes"),changeable:!0},occurs_check:{allowed:[new H("false"),new H("true")],value:new H("false"),changeable:!0},dialect:{allowed:[new H("tau")],value:new H("tau"),changeable:!1},version_data:{allowed:[new H("tau",[new Fe(t.major,!1),new Fe(t.minor,!1),new Fe(t.patch,!1),new H(t.status)])],value:new H("tau",[new Fe(t.major,!1),new Fe(t.minor,!1),new Fe(t.patch,!1),new H(t.status)]),changeable:!1},nodejs:{allowed:[new H("yes"),new H("no")],value:new H(typeof hl<"u"&&hl.exports?"yes":"no"),changeable:!1}},unify:function(w,P,y){y=y===void 0?!1:y;for(var F=[{left:w,right:P}],z={};F.length!==0;){var X=F.pop();if(w=X.left,P=X.right,b.type.is_term(w)&&b.type.is_term(P)){if(w.indicator!==P.indicator)return null;for(var Z=0;Zz.value?1:0:z}else return F},operate:function(w,P){if(b.type.is_operator(P)){for(var y=b.type.is_operator(P),F=[],z,X=!1,Z=0;Zw.get_flag("max_integer").value||z0?w.start+w.matches[0].length:w.start,z=y?new H("token_not_found"):new H("found",[new H(w.value.toString())]),X=new H(".",[new H("line",[new Fe(w.line+1)]),new H(".",[new H("column",[new Fe(F+1)]),new H(".",[z,new H("[]",[])])])]);return new H("error",[new H("syntax_error",[new H(P)]),X])},syntax_by_predicate:function(w,P){return new H("error",[new H("syntax_error",[new H(w)]),ee(P)])}},warning:{singleton:function(w,P,y){for(var F=new H("[]"),z=w.length-1;z>=0;z--)F=new H(".",[new Ie(w[z]),F]);return new H("warning",[new H("singleton_variables",[F,ee(P)]),new H(".",[new H("line",[new Fe(y,!1)]),new H("[]")])])},failed_goal:function(w,P){return new H("warning",[new H("failed_goal",[w]),new H(".",[new H("line",[new Fe(P,!1)]),new H("[]")])])}},format_variable:function(w){return"_"+w},format_answer:function(w,P,F){P instanceof Te&&(P=P.thread);var F=F||{};if(F.session=P?P.session:void 0,b.type.is_error(w))return"uncaught exception: "+w.args[0].toString();if(w===!1)return"false.";if(w===null)return"limit exceeded ;";var z=0,X="";if(b.type.is_substitution(w)){var Z=w.domain(!0);w=w.filter(function(Ne,ot){return!b.type.is_variable(ot)||Z.indexOf(ot.id)!==-1&&Ne!==ot.id})}for(var ie in w.links)!w.links.hasOwnProperty(ie)||(z++,X!==""&&(X+=", "),X+=ie.toString(F)+" = "+w.links[ie].toString(F));var Pe=typeof P>"u"||P.points.length>0?" ;":".";return z===0?"true"+Pe:X+Pe},flatten_error:function(w){if(!b.type.is_error(w))return null;w=w.args[0];var P={};return P.type=w.args[0].id,P.thrown=P.type==="syntax_error"?null:w.args[1].id,P.expected=null,P.found=null,P.representation=null,P.existence=null,P.existence_type=null,P.line=null,P.column=null,P.permission_operation=null,P.permission_type=null,P.evaluation_type=null,P.type==="type_error"||P.type==="domain_error"?(P.expected=w.args[0].args[0].id,P.found=w.args[0].args[1].toString()):P.type==="syntax_error"?w.args[1].indicator==="./2"?(P.expected=w.args[0].args[0].id,P.found=w.args[1].args[1].args[1].args[0],P.found=P.found.id==="token_not_found"?P.found.id:P.found.args[0].id,P.line=w.args[1].args[0].args[0].value,P.column=w.args[1].args[1].args[0].args[0].value):P.thrown=w.args[1].id:P.type==="permission_error"?(P.found=w.args[0].args[2].toString(),P.permission_operation=w.args[0].args[0].id,P.permission_type=w.args[0].args[1].id):P.type==="evaluation_error"?P.evaluation_type=w.args[0].args[0].id:P.type==="representation_error"?P.representation=w.args[0].args[0].id:P.type==="existence_error"&&(P.existence=w.args[0].args[1].toString(),P.existence_type=w.args[0].args[0].id),P},create:function(w){return new b.type.Session(w)}};typeof hl<"u"?hl.exports=b:window.pl=b})()});function ime(t,e,r){t.prepend(r.map(o=>new Ta.default.type.State(e.goal.replace(o),e.substitution,e)))}function yH(t){let e=ome.get(t.session);if(e==null)throw new Error("Assertion failed: A project should have been registered for the active session");return e}function ame(t,e){ome.set(t,e),t.consult(`:- use_module(library(${zgt.id})).`)}var EH,Ta,sme,u0,Vgt,Jgt,ome,zgt,lme=Et(()=>{Ye();EH=$e(d2()),Ta=$e(mH()),sme=$e(ve("vm")),{is_atom:u0,is_variable:Vgt,is_instantiated_list:Jgt}=Ta.default.type;ome=new WeakMap;zgt=new Ta.default.type.Module("constraints",{["project_workspaces_by_descriptor/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!u0(o)||!u0(a)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let u=W.parseIdent(o.id),A=W.makeDescriptor(u,a.id),h=yH(t).tryWorkspaceByDescriptor(A);Vgt(n)&&h!==null&&ime(t,e,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(String(h.relativeCwd))])]),u0(n)&&h!==null&&h.relativeCwd===n.id&&t.success(e)},["workspace_field/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!u0(o)||!u0(a)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let A=yH(t).tryWorkspaceByCwd(o.id);if(A==null)return;let p=(0,EH.default)(A.manifest.raw,a.id);typeof p>"u"||ime(t,e,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},["workspace_field_test/3"]:(t,e,r)=>{let[o,a,n]=r.args;t.prepend([new Ta.default.type.State(e.goal.replace(new Ta.default.type.Term("workspace_field_test",[o,a,n,new Ta.default.type.Term("[]",[])])),e.substitution,e)])},["workspace_field_test/4"]:(t,e,r)=>{let[o,a,n,u]=r.args;if(!u0(o)||!u0(a)||!u0(n)||!Jgt(u)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let p=yH(t).tryWorkspaceByCwd(o.id);if(p==null)return;let h=(0,EH.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let E={$$:h};for(let[v,x]of u.toJavaScript().entries())E[`$${v}`]=x;sme.default.runInNewContext(n.id,E)&&t.success(e)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var b2={};Vt(b2,{Constraints:()=>P2,DependencyType:()=>fme});function to(t){if(t instanceof DC.default.type.Num)return t.value;if(t instanceof DC.default.type.Term)switch(t.indicator){case"throw/1":return to(t.args[0]);case"error/1":return to(t.args[0]);case"error/2":if(t.args[0]instanceof DC.default.type.Term&&t.args[0].indicator==="syntax_error/1")return Object.assign(to(t.args[0]),...to(t.args[1]));{let e=to(t.args[0]);return e.message+=` (in ${to(t.args[1])})`,e}case"syntax_error/1":return new zt(43,`Syntax error: ${to(t.args[0])}`);case"existence_error/2":return new zt(44,`Existence error: ${to(t.args[0])} ${to(t.args[1])} not found`);case"instantiation_error/0":return new zt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:to(t.args[0])};case"column/1":return{column:to(t.args[0])};case"found/1":return{found:to(t.args[0])};case"./2":return[to(t.args[0])].concat(to(t.args[1]));case"//2":return`${to(t.args[0])}/${to(t.args[1])}`;default:return t.id}throw`couldn't pretty print because of unsupported node ${t}`}function ume(t){let e;try{e=to(t)}catch(r){throw typeof r=="string"?new zt(42,`Unknown error: ${t} (note: ${r})`):r}return typeof e.line<"u"&&typeof e.column<"u"&&(e.message+=` at line ${e.line}, column ${e.column}`),e}function em(t){return t.id==="null"?null:`${t.toJavaScript()}`}function Xgt(t){if(t.id==="null")return null;{let e=t.toJavaScript();if(typeof e!="string")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return JSON.stringify(e)}}}function A0(t){return typeof t=="string"?`'${t}'`:"[]"}var Ame,DC,fme,cme,CH,P2,x2=Et(()=>{Ye();Ye();St();Ame=$e(qde()),DC=$e(mH());v2();lme();(0,Ame.default)(DC.default);fme=(o=>(o.Dependencies="dependencies",o.DevDependencies="devDependencies",o.PeerDependencies="peerDependencies",o))(fme||{}),cme=["dependencies","devDependencies","peerDependencies"];CH=class{constructor(e,r){let o=1e3*e.workspaces.length;this.session=DC.default.create(o),ame(this.session,e),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(e=>{this.session.answer(r=>{e(r)})})}async*makeQuery(e){let r=this.session.query(e);if(r!==!0)throw ume(r);for(;;){let o=await this.fetchNextAnswer();if(o===null)throw new zt(79,"Resolution limit exceeded");if(!o)break;if(o.id==="throw")throw ume(o);yield o}}};P2=class{constructor(e){this.source="";this.project=e;let r=e.configuration.get("constraintsPath");oe.existsSync(r)&&(this.source=oe.readFileSync(r,"utf8"))}static async find(e){return new P2(e)}getProjectDatabase(){let e="";for(let r of cme)e+=`dependency_type(${r}). +`;for(let r of this.project.workspacesByCwd.values()){let o=r.relativeCwd;e+=`workspace(${A0(o)}). +`,e+=`workspace_ident(${A0(o)}, ${A0(W.stringifyIdent(r.anchoredLocator))}). +`,e+=`workspace_version(${A0(o)}, ${A0(r.manifest.version)}). +`;for(let a of cme)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${A0(o)}, ${A0(W.stringifyIdent(n))}, ${A0(n.range)}, ${a}). +`}return e+=`workspace(_) :- false. +`,e+=`workspace_ident(_, _) :- false. +`,e+=`workspace_version(_, _) :- false. +`,e+=`workspace_has_dependency(_, _, _, _) :- false. +`,e}getDeclarations(){let e="";return e+=`gen_enforced_dependency(_, _, _, _) :- false. +`,e+=`gen_enforced_field(_, _, _) :- false. +`,e}get fullSource(){return`${this.getProjectDatabase()} +${this.source} +${this.getDeclarations()}`}createSession(){return new CH(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),o=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:u,dependencyType:A}of e){let p=B2([A,W.stringifyIdent(n)]),h=_e.getMapWithDefault(o,a.cwd);_e.getMapWithDefault(h,p).set(u??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:u}of r){let A=B2(n),p=_e.getMapWithDefault(o,a.cwd);_e.getMapWithDefault(p,A).set(JSON.parse(u)??void 0,new Set)}return{manifestUpdates:o,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=V.resolve(this.project.cwd,em(o.links.WorkspaceCwd)),n=em(o.links.DependencyIdent),u=em(o.links.DependencyRange),A=em(o.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=W.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:u,dependencyType:A})}return _e.sortMap(r,[({dependencyRange:o})=>o!==null?"0":"1",({workspace:o})=>W.stringifyIdent(o.anchoredLocator),({dependencyIdent:o})=>W.stringifyIdent(o)])}async genEnforcedFields(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=V.resolve(this.project.cwd,em(o.links.WorkspaceCwd)),n=em(o.links.FieldPath),u=Xgt(o.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let A=this.project.getWorkspaceByCwd(a);r.push({workspace:A,fieldPath:n,fieldValue:u})}return _e.sortMap(r,[({workspace:o})=>W.stringifyIdent(o.anchoredLocator),({fieldPath:o})=>o])}async*query(e){let r=this.createSession();for await(let o of r.makeQuery(e)){let a={};for(let[n,u]of Object.entries(o.links))n!=="_"&&(a[n]=em(u));yield a}}}});var wme=_(Ik=>{"use strict";Object.defineProperty(Ik,"__esModule",{value:!0});function G2(t){let e=[...t.caches],r=e.shift();return r===void 0?Cme():{get(o,a,n={miss:()=>Promise.resolve()}){return r.get(o,a,n).catch(()=>G2({caches:e}).get(o,a,n))},set(o,a){return r.set(o,a).catch(()=>G2({caches:e}).set(o,a))},delete(o){return r.delete(o).catch(()=>G2({caches:e}).delete(o))},clear(){return r.clear().catch(()=>G2({caches:e}).clear())}}}function Cme(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}Ik.createFallbackableCache=G2;Ik.createNullCache=Cme});var Bme=_((QWt,Ime)=>{Ime.exports=wme()});var vme=_(TH=>{"use strict";Object.defineProperty(TH,"__esModule",{value:!0});function ddt(t={serializable:!0}){let e={};return{get(r,o,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let u=o(),A=a&&a.miss||(()=>Promise.resolve());return u.then(p=>A(p)).then(()=>u)},set(r,o){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}TH.createInMemoryCache=ddt});var Sme=_((RWt,Dme)=>{Dme.exports=vme()});var bme=_(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});function mdt(t,e,r){let o={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===NH.WithinHeaders?o:{}},queryParameters(){return t===NH.WithinQueryParameters?o:{}}}}function ydt(t){let e=0,r=()=>(e++,new Promise(o=>{setTimeout(()=>{o(t(r))},Math.min(100*e,1e3))}));return t(r)}function Pme(t,e=(r,o)=>Promise.resolve()){return Object.assign(t,{wait(r){return Pme(t.then(o=>Promise.all([e(o,r),o])).then(o=>o[1]))}})}function Edt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),o=t[e];t[e]=t[r],t[r]=o}return t}function Cdt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function wdt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var Idt="4.14.2",Bdt=t=>()=>t.transporter.requester.destroy(),NH={WithinQueryParameters:0,WithinHeaders:1};Zc.AuthMode=NH;Zc.addMethods=Cdt;Zc.createAuth=mdt;Zc.createRetryablePromise=ydt;Zc.createWaitablePromise=Pme;Zc.destroy=Bdt;Zc.encode=wdt;Zc.shuffle=Edt;Zc.version=Idt});var Y2=_((NWt,xme)=>{xme.exports=bme()});var kme=_(LH=>{"use strict";Object.defineProperty(LH,"__esModule",{value:!0});var vdt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};LH.MethodEnum=vdt});var W2=_((OWt,Qme)=>{Qme.exports=kme()});var Wme=_(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});var Rme=W2();function OH(t,e){let r=t||{},o=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(o[a]=r[a])}),{data:Object.entries(o).length>0?o:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var K2={Read:1,Write:2,Any:3},xC={Up:1,Down:2,Timeouted:3},Tme=2*60*1e3;function UH(t,e=xC.Up){return{...t,status:e,lastUpdate:Date.now()}}function Nme(t){return t.status===xC.Up||Date.now()-t.lastUpdate>Tme}function Lme(t){return t.status===xC.Timeouted&&Date.now()-t.lastUpdate<=Tme}function _H(t){return typeof t=="string"?{protocol:"https",url:t,accept:K2.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||K2.Any}}function Ddt(t,e){return Promise.all(e.map(r=>t.get(r,()=>Promise.resolve(UH(r))))).then(r=>{let o=r.filter(A=>Nme(A)),a=r.filter(A=>Lme(A)),n=[...o,...a],u=n.length>0?n.map(A=>_H(A)):e;return{getTimeout(A,p){return(a.length===0&&A===0?1:a.length+3+A)*p},statelessHosts:u}})}var Sdt=({isTimedOut:t,status:e})=>!t&&~~e===0,Pdt=t=>{let e=t.status;return t.isTimedOut||Sdt(t)||~~(e/100)!==2&&~~(e/100)!==4},bdt=({status:t})=>~~(t/100)===2,xdt=(t,e)=>Pdt(t)?e.onRetry(t):bdt(t)?e.onSuccess(t):e.onFail(t);function Fme(t,e,r,o){let a=[],n=Hme(r,o),u=qme(t,o),A=r.method,p=r.method!==Rme.MethodEnum.Get?{}:{...r.data,...o.data},h={"x-algolia-agent":t.userAgent.value,...t.queryParameters,...p,...o.queryParameters},E=0,I=(v,x)=>{let C=v.pop();if(C===void 0)throw Yme(MH(a));let R={data:n,headers:u,method:A,url:Ume(C,r.path,h),connectTimeout:x(E,t.timeouts.connect),responseTimeout:x(E,o.timeout)},L=J=>{let te={request:R,response:J,host:C,triesLeft:v.length};return a.push(te),te},U={onSuccess:J=>Ome(J),onRetry(J){let te=L(J);return J.isTimedOut&&E++,Promise.all([t.logger.info("Retryable failure",HH(te)),t.hostsCache.set(C,UH(C,J.isTimedOut?xC.Timeouted:xC.Down))]).then(()=>I(v,x))},onFail(J){throw L(J),Mme(J,MH(a))}};return t.requester.send(R).then(J=>xdt(J,U))};return Ddt(t.hostsCache,e).then(v=>I([...v.statelessHosts].reverse(),v.getTimeout))}function kdt(t){let{hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,hosts:p,queryParameters:h,headers:E}=t,I={hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,headers:E,queryParameters:h,hosts:p.map(v=>_H(v)),read(v,x){let C=OH(x,I.timeouts.read),R=()=>Fme(I,I.hosts.filter(J=>(J.accept&K2.Read)!==0),v,C);if((C.cacheable!==void 0?C.cacheable:v.cacheable)!==!0)return R();let U={request:v,mappedRequestOptions:C,transporter:{queryParameters:I.queryParameters,headers:I.headers}};return I.responsesCache.get(U,()=>I.requestsCache.get(U,()=>I.requestsCache.set(U,R()).then(J=>Promise.all([I.requestsCache.delete(U),J]),J=>Promise.all([I.requestsCache.delete(U),Promise.reject(J)])).then(([J,te])=>te)),{miss:J=>I.responsesCache.set(U,J)})},write(v,x){return Fme(I,I.hosts.filter(C=>(C.accept&K2.Write)!==0),v,OH(x,I.timeouts.write))}};return I}function Qdt(t){let e={value:`Algolia for JavaScript (${t})`,add(r){let o=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return e.value.indexOf(o)===-1&&(e.value=`${e.value}${o}`),e}};return e}function Ome(t){try{return JSON.parse(t.content)}catch(e){throw Gme(e.message,t)}}function Mme({content:t,status:e},r){let o=t;try{o=JSON.parse(t).message}catch{}return jme(o,e,r)}function Fdt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}function Ume(t,e,r){let o=_me(r),a=`${t.protocol}://${t.url}/${e.charAt(0)==="/"?e.substr(1):e}`;return o.length&&(a+=`?${o}`),a}function _me(t){let e=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(t).map(r=>Fdt("%s=%s",r,e(t[r])?JSON.stringify(t[r]):t[r])).join("&")}function Hme(t,e){if(t.method===Rme.MethodEnum.Get||t.data===void 0&&e.data===void 0)return;let r=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(r)}function qme(t,e){let r={...t.headers,...e.headers},o={};return Object.keys(r).forEach(a=>{let n=r[a];o[a.toLowerCase()]=n}),o}function MH(t){return t.map(e=>HH(e))}function HH(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function jme(t,e,r){return{name:"ApiError",message:t,status:e,transporterStackTrace:r}}function Gme(t,e){return{name:"DeserializationError",message:t,response:e}}function Yme(t){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:t}}Fi.CallEnum=K2;Fi.HostStatusEnum=xC;Fi.createApiError=jme;Fi.createDeserializationError=Gme;Fi.createMappedRequestOptions=OH;Fi.createRetryError=Yme;Fi.createStatefulHost=UH;Fi.createStatelessHost=_H;Fi.createTransporter=kdt;Fi.createUserAgent=Qdt;Fi.deserializeFailure=Mme;Fi.deserializeSuccess=Ome;Fi.isStatefulHostTimeouted=Lme;Fi.isStatefulHostUp=Nme;Fi.serializeData=Hme;Fi.serializeHeaders=qme;Fi.serializeQueryParameters=_me;Fi.serializeUrl=Ume;Fi.stackFrameWithoutCredentials=HH;Fi.stackTraceWithoutCredentials=MH});var V2=_((UWt,Kme)=>{Kme.exports=Wme()});var Vme=_(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});var kC=Y2(),Rdt=V2(),J2=W2(),Tdt=t=>{let e=t.region||"us",r=kC.createAuth(kC.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Rdt.createTransporter({hosts:[{url:`analytics.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a=t.appId;return kC.addMethods({appId:a,transporter:o},t.methods)},Ndt=t=>(e,r)=>t.transporter.write({method:J2.MethodEnum.Post,path:"2/abtests",data:e},r),Ldt=t=>(e,r)=>t.transporter.write({method:J2.MethodEnum.Delete,path:kC.encode("2/abtests/%s",e)},r),Odt=t=>(e,r)=>t.transporter.read({method:J2.MethodEnum.Get,path:kC.encode("2/abtests/%s",e)},r),Mdt=t=>e=>t.transporter.read({method:J2.MethodEnum.Get,path:"2/abtests"},e),Udt=t=>(e,r)=>t.transporter.write({method:J2.MethodEnum.Post,path:kC.encode("2/abtests/%s/stop",e)},r);m0.addABTest=Ndt;m0.createAnalyticsClient=Tdt;m0.deleteABTest=Ldt;m0.getABTest=Odt;m0.getABTests=Mdt;m0.stopABTest=Udt});var zme=_((HWt,Jme)=>{Jme.exports=Vme()});var Zme=_(z2=>{"use strict";Object.defineProperty(z2,"__esModule",{value:!0});var qH=Y2(),_dt=V2(),Xme=W2(),Hdt=t=>{let e=t.region||"us",r=qH.createAuth(qH.AuthMode.WithinHeaders,t.appId,t.apiKey),o=_dt.createTransporter({hosts:[{url:`personalization.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}});return qH.addMethods({appId:t.appId,transporter:o},t.methods)},qdt=t=>e=>t.transporter.read({method:Xme.MethodEnum.Get,path:"1/strategies/personalization"},e),jdt=t=>(e,r)=>t.transporter.write({method:Xme.MethodEnum.Post,path:"1/strategies/personalization",data:e},r);z2.createPersonalizationClient=Hdt;z2.getPersonalizationStrategy=qdt;z2.setPersonalizationStrategy=jdt});var eye=_((jWt,$me)=>{$me.exports=Zme()});var hye=_(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var Gt=Y2(),Na=V2(),Ir=W2(),Gdt=ve("crypto");function Bk(t){let e=r=>t.request(r).then(o=>{if(t.batch!==void 0&&t.batch(o.hits),!t.shouldStop(o))return o.cursor?e({cursor:o.cursor}):e({page:(r.page||0)+1})});return e({})}var Ydt=t=>{let e=t.appId,r=Gt.createAuth(t.authMode!==void 0?t.authMode:Gt.AuthMode.WithinHeaders,e,t.apiKey),o=Na.createTransporter({hosts:[{url:`${e}-dsn.algolia.net`,accept:Na.CallEnum.Read},{url:`${e}.algolia.net`,accept:Na.CallEnum.Write}].concat(Gt.shuffle([{url:`${e}-1.algolianet.com`},{url:`${e}-2.algolianet.com`},{url:`${e}-3.algolianet.com`}])),...t,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a={transporter:o,appId:e,addAlgoliaAgent(n,u){o.userAgent.add({segment:n,version:u})},clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})}};return Gt.addMethods(a,t.methods)};function tye(){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 rye(){return{name:"ObjectNotFoundError",message:"Object not found."}}function nye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Wdt=t=>(e,r)=>{let{queryParameters:o,...a}=r||{},n={acl:e,...o!==void 0?{queryParameters:o}:{}},u=(A,p)=>Gt.createRetryablePromise(h=>X2(t)(A.key,p).catch(E=>{if(E.status!==404)throw E;return h()}));return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:"1/keys",data:n},a),u)},Kdt=t=>(e,r,o)=>{let a=Na.createMappedRequestOptions(o);return a.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:Ir.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},Vdt=t=>(e,r,o)=>t.transporter.write({method:Ir.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:e,cluster:r}},o),Jdt=t=>(e,r)=>Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(o,a)=>QC(t)(o.taskID,a)),vk=t=>(e,r,o)=>{let a=(n,u)=>Z2(t)(e,{methods:{waitTask:Zi}}).waitTask(n.taskID,u);return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/operation",e),data:{operation:"copy",destination:r}},o),a)},zdt=t=>(e,r,o)=>vk(t)(e,r,{...o,scope:[Sk.Rules]}),Xdt=t=>(e,r,o)=>vk(t)(e,r,{...o,scope:[Sk.Settings]}),Zdt=t=>(e,r,o)=>vk(t)(e,r,{...o,scope:[Sk.Synonyms]}),$dt=t=>(e,r)=>e.method===Ir.MethodEnum.Get?t.transporter.read(e,r):t.transporter.write(e,r),emt=t=>(e,r)=>{let o=(a,n)=>Gt.createRetryablePromise(u=>X2(t)(e,n).then(u).catch(A=>{if(A.status!==404)throw A}));return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:Gt.encode("1/keys/%s",e)},r),o)},tmt=t=>(e,r,o)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>QC(t)(n.taskID,u))},rmt=()=>(t,e)=>{let r=Na.serializeQueryParameters(e),o=Gdt.createHmac("sha256",t).update(r).digest("hex");return Buffer.from(o+r).toString("base64")},X2=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:Gt.encode("1/keys/%s",e)},r),iye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:Gt.encode("1/task/%s",e.toString())},r),nmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"/1/dictionaries/*/settings"},e),imt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/logs"},e),smt=()=>t=>{let e=Buffer.from(t,"base64").toString("ascii"),r=/validUntil=(\d+)/,o=e.match(r);if(o===null)throw nye();return parseInt(o[1],10)-Math.round(new Date().getTime()/1e3)},omt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters/mapping/top"},e),amt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:Gt.encode("1/clusters/mapping/%s",e)},r),lmt=t=>e=>{let{retrieveMappings:r,...o}=e||{};return r===!0&&(o.getClusters=!0),t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters/mapping/pending"},o)},Z2=t=>(e,r={})=>{let o={transporter:t.transporter,appId:t.appId,indexName:e};return Gt.addMethods(o,r.methods)},cmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/keys"},e),umt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters"},e),Amt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/indexes"},e),fmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters/mapping"},e),pmt=t=>(e,r,o)=>{let a=(n,u)=>Z2(t)(e,{methods:{waitTask:Zi}}).waitTask(n.taskID,u);return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/operation",e),data:{operation:"move",destination:r}},o),a)},hmt=t=>(e,r)=>{let o=(a,n)=>Promise.all(Object.keys(a.taskID).map(u=>Z2(t)(u,{methods:{waitTask:Zi}}).waitTask(a.taskID[u],n)));return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:e}},r),o)},gmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:e}},r),dmt=t=>(e,r)=>{let o=e.map(a=>({...a,params:Na.serializeQueryParameters(a.params||{})}));return t.transporter.read({method:Ir.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},r)},mmt=t=>(e,r)=>Promise.all(e.map(o=>{let{facetName:a,facetQuery:n,...u}=o.params;return Z2(t)(o.indexName,{methods:{searchForFacetValues:Aye}}).searchForFacetValues(a,n,{...r,...u})})),ymt=t=>(e,r)=>{let o=Na.createMappedRequestOptions(r);return o.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:Ir.MethodEnum.Delete,path:"1/clusters/mapping"},o)},Emt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:a}},o),(n,u)=>QC(t)(n.taskID,u))},Cmt=t=>(e,r)=>{let o=(a,n)=>Gt.createRetryablePromise(u=>X2(t)(e,n).catch(A=>{if(A.status!==404)throw A;return u()}));return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/keys/%s/restore",e)},r),o)},wmt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>QC(t)(n.taskID,u))},Imt=t=>(e,r,o)=>t.transporter.read({method:Ir.MethodEnum.Post,path:Gt.encode("/1/dictionaries/%s/search",e),data:{query:r},cacheable:!0},o),Bmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:e}},r),vmt=t=>(e,r)=>Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:e},r),(o,a)=>QC(t)(o.taskID,a)),Dmt=t=>(e,r)=>{let o=Object.assign({},r),{queryParameters:a,...n}=r||{},u=a?{queryParameters:a}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=E=>Object.keys(o).filter(I=>A.indexOf(I)!==-1).every(I=>E[I]===o[I]),h=(E,I)=>Gt.createRetryablePromise(v=>X2(t)(e,I).then(x=>p(x)?Promise.resolve():v()));return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Put,path:Gt.encode("1/keys/%s",e),data:u},n),h)},QC=t=>(e,r)=>Gt.createRetryablePromise(o=>iye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),sye=t=>(e,r)=>{let o=(a,n)=>Zi(t)(a.taskID,n);return Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/batch",t.indexName),data:{requests:e}},r),o)},Smt=t=>e=>Bk({shouldStop:r=>r.cursor===void 0,...e,request:r=>t.transporter.read({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/browse",t.indexName),data:r},e)}),Pmt=t=>e=>{let r={hitsPerPage:1e3,...e};return Bk({shouldStop:o=>o.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},bmt=t=>e=>{let r={hitsPerPage:1e3,...e};return Bk({shouldStop:o=>o.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Dk=t=>(e,r,o)=>{let{batchSize:a,...n}=o||{},u={taskIDs:[],objectIDs:[]},A=(p=0)=>{let h=[],E;for(E=p;E({action:r,body:I})),n).then(I=>(u.objectIDs=u.objectIDs.concat(I.objectIDs),u.taskIDs.push(I.taskID),E++,A(E)))};return Gt.createWaitablePromise(A(),(p,h)=>Promise.all(p.taskIDs.map(E=>Zi(t)(E,h))))},xmt=t=>e=>Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/clear",t.indexName)},e),(r,o)=>Zi(t)(r.taskID,o)),kmt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Na.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/rules/clear",t.indexName)},a),(n,u)=>Zi(t)(n.taskID,u))},Qmt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Na.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/synonyms/clear",t.indexName)},a),(n,u)=>Zi(t)(n.taskID,u))},Fmt=t=>(e,r)=>Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/deleteByQuery",t.indexName),data:e},r),(o,a)=>Zi(t)(o.taskID,a)),Rmt=t=>e=>Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:Gt.encode("1/indexes/%s",t.indexName)},e),(r,o)=>Zi(t)(r.taskID,o)),Tmt=t=>(e,r)=>Gt.createWaitablePromise(oye(t)([e],r).then(o=>({taskID:o.taskIDs[0]})),(o,a)=>Zi(t)(o.taskID,a)),oye=t=>(e,r)=>{let o=e.map(a=>({objectID:a}));return Dk(t)(o,nm.DeleteObject,r)},Nmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:Gt.encode("1/indexes/%s/rules/%s",t.indexName,e)},n),(u,A)=>Zi(t)(u.taskID,A))},Lmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:Gt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},n),(u,A)=>Zi(t)(u.taskID,A))},Omt=t=>e=>aye(t)(e).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),Mmt=t=>(e,r,o)=>t.transporter.read({method:Ir.MethodEnum.Post,path:Gt.encode("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},o),Umt=t=>(e,r)=>{let{query:o,paginate:a,...n}=r||{},u=0,A=()=>uye(t)(o||"",{...n,page:u}).then(p=>{for(let[h,E]of Object.entries(p.hits))if(e(E))return{object:E,position:parseInt(h,10),page:u};if(u++,a===!1||u>=p.nbPages)throw rye();return A()});return A()},_mt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:Gt.encode("1/indexes/%s/%s",t.indexName,e)},r),Hmt=()=>(t,e)=>{for(let[r,o]of Object.entries(t.hits))if(o.objectID===e)return parseInt(r,10);return-1},qmt=t=>(e,r)=>{let{attributesToRetrieve:o,...a}=r||{},n=e.map(u=>({indexName:t.indexName,objectID:u,...o?{attributesToRetrieve:o}:{}}));return t.transporter.read({method:Ir.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},jmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:Gt.encode("1/indexes/%s/rules/%s",t.indexName,e)},r),aye=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:Gt.encode("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},e),Gmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:Gt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},r),lye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:Gt.encode("1/indexes/%s/task/%s",t.indexName,e.toString())},r),Ymt=t=>(e,r)=>Gt.createWaitablePromise(cye(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>Zi(t)(o.taskID,a)),cye=t=>(e,r)=>{let{createIfNotExists:o,...a}=r||{},n=o?nm.PartialUpdateObject:nm.PartialUpdateObjectNoCreate;return Dk(t)(e,n,a)},Wmt=t=>(e,r)=>{let{safe:o,autoGenerateObjectIDIfNotExist:a,batchSize:n,...u}=r||{},A=(C,R,L,U)=>Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/operation",C),data:{operation:L,destination:R}},U),(J,te)=>Zi(t)(J.taskID,te)),p=Math.random().toString(36).substring(7),h=`${t.indexName}_tmp_${p}`,E=jH({appId:t.appId,transporter:t.transporter,indexName:h}),I=[],v=A(t.indexName,h,"copy",{...u,scope:["settings","synonyms","rules"]});I.push(v);let x=(o?v.wait(u):v).then(()=>{let C=E(e,{...u,autoGenerateObjectIDIfNotExist:a,batchSize:n});return I.push(C),o?C.wait(u):C}).then(()=>{let C=A(h,t.indexName,"move",u);return I.push(C),o?C.wait(u):C}).then(()=>Promise.all(I)).then(([C,R,L])=>({objectIDs:R.objectIDs,taskIDs:[C.taskID,...R.taskIDs,L.taskID]}));return Gt.createWaitablePromise(x,(C,R)=>Promise.all(I.map(L=>L.wait(R))))},Kmt=t=>(e,r)=>GH(t)(e,{...r,clearExistingRules:!0}),Vmt=t=>(e,r)=>YH(t)(e,{...r,clearExistingSynonyms:!0}),Jmt=t=>(e,r)=>Gt.createWaitablePromise(jH(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>Zi(t)(o.taskID,a)),jH=t=>(e,r)=>{let{autoGenerateObjectIDIfNotExist:o,...a}=r||{},n=o?nm.AddObject:nm.UpdateObject;if(n===nm.UpdateObject){for(let u of e)if(u.objectID===void 0)return Gt.createWaitablePromise(Promise.reject(tye()))}return Dk(t)(e,n,a)},zmt=t=>(e,r)=>GH(t)([e],r),GH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingRules:a,...n}=r||{},u=Na.createMappedRequestOptions(n);return o&&(u.queryParameters.forwardToReplicas=1),a&&(u.queryParameters.clearExistingRules=1),Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/rules/batch",t.indexName),data:e},u),(A,p)=>Zi(t)(A.taskID,p))},Xmt=t=>(e,r)=>YH(t)([e],r),YH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingSynonyms:a,replaceExistingSynonyms:n,...u}=r||{},A=Na.createMappedRequestOptions(u);return o&&(A.queryParameters.forwardToReplicas=1),(n||a)&&(A.queryParameters.replaceExistingSynonyms=1),Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/synonyms/batch",t.indexName),data:e},A),(p,h)=>Zi(t)(p.taskID,h))},uye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r),Aye=t=>(e,r,o)=>t.transporter.read({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},o),fye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/rules/search",t.indexName),data:{query:e}},r),pye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:Gt.encode("1/indexes/%s/synonyms/search",t.indexName),data:{query:e}},r),Zmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Gt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Put,path:Gt.encode("1/indexes/%s/settings",t.indexName),data:e},n),(u,A)=>Zi(t)(u.taskID,A))},Zi=t=>(e,r)=>Gt.createRetryablePromise(o=>lye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),$mt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},nm={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},Sk={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},eyt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},tyt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Ft.ApiKeyACLEnum=$mt;Ft.BatchActionEnum=nm;Ft.ScopeEnum=Sk;Ft.StrategyEnum=eyt;Ft.SynonymEnum=tyt;Ft.addApiKey=Wdt;Ft.assignUserID=Kdt;Ft.assignUserIDs=Vdt;Ft.batch=sye;Ft.browseObjects=Smt;Ft.browseRules=Pmt;Ft.browseSynonyms=bmt;Ft.chunkedBatch=Dk;Ft.clearDictionaryEntries=Jdt;Ft.clearObjects=xmt;Ft.clearRules=kmt;Ft.clearSynonyms=Qmt;Ft.copyIndex=vk;Ft.copyRules=zdt;Ft.copySettings=Xdt;Ft.copySynonyms=Zdt;Ft.createBrowsablePromise=Bk;Ft.createMissingObjectIDError=tye;Ft.createObjectNotFoundError=rye;Ft.createSearchClient=Ydt;Ft.createValidUntilNotFoundError=nye;Ft.customRequest=$dt;Ft.deleteApiKey=emt;Ft.deleteBy=Fmt;Ft.deleteDictionaryEntries=tmt;Ft.deleteIndex=Rmt;Ft.deleteObject=Tmt;Ft.deleteObjects=oye;Ft.deleteRule=Nmt;Ft.deleteSynonym=Lmt;Ft.exists=Omt;Ft.findAnswers=Mmt;Ft.findObject=Umt;Ft.generateSecuredApiKey=rmt;Ft.getApiKey=X2;Ft.getAppTask=iye;Ft.getDictionarySettings=nmt;Ft.getLogs=imt;Ft.getObject=_mt;Ft.getObjectPosition=Hmt;Ft.getObjects=qmt;Ft.getRule=jmt;Ft.getSecuredApiKeyRemainingValidity=smt;Ft.getSettings=aye;Ft.getSynonym=Gmt;Ft.getTask=lye;Ft.getTopUserIDs=omt;Ft.getUserID=amt;Ft.hasPendingMappings=lmt;Ft.initIndex=Z2;Ft.listApiKeys=cmt;Ft.listClusters=umt;Ft.listIndices=Amt;Ft.listUserIDs=fmt;Ft.moveIndex=pmt;Ft.multipleBatch=hmt;Ft.multipleGetObjects=gmt;Ft.multipleQueries=dmt;Ft.multipleSearchForFacetValues=mmt;Ft.partialUpdateObject=Ymt;Ft.partialUpdateObjects=cye;Ft.removeUserID=ymt;Ft.replaceAllObjects=Wmt;Ft.replaceAllRules=Kmt;Ft.replaceAllSynonyms=Vmt;Ft.replaceDictionaryEntries=Emt;Ft.restoreApiKey=Cmt;Ft.saveDictionaryEntries=wmt;Ft.saveObject=Jmt;Ft.saveObjects=jH;Ft.saveRule=zmt;Ft.saveRules=GH;Ft.saveSynonym=Xmt;Ft.saveSynonyms=YH;Ft.search=uye;Ft.searchDictionaryEntries=Imt;Ft.searchForFacetValues=Aye;Ft.searchRules=fye;Ft.searchSynonyms=pye;Ft.searchUserIDs=Bmt;Ft.setDictionarySettings=vmt;Ft.setSettings=Zmt;Ft.updateApiKey=Dmt;Ft.waitAppTask=QC;Ft.waitTask=Zi});var dye=_((YWt,gye)=>{gye.exports=hye()});var mye=_(Pk=>{"use strict";Object.defineProperty(Pk,"__esModule",{value:!0});function ryt(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var nyt={Debug:1,Info:2,Error:3};Pk.LogLevelEnum=nyt;Pk.createNullLogger=ryt});var Eye=_((KWt,yye)=>{yye.exports=mye()});var Bye=_(WH=>{"use strict";Object.defineProperty(WH,"__esModule",{value:!0});var Cye=ve("http"),wye=ve("https"),iyt=ve("url"),Iye={keepAlive:!0},syt=new Cye.Agent(Iye),oyt=new wye.Agent(Iye);function ayt({agent:t,httpAgent:e,httpsAgent:r,requesterOptions:o={}}={}){let a=e||t||syt,n=r||t||oyt;return{send(u){return new Promise(A=>{let p=iyt.parse(u.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,E={...o,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:u.method,headers:{...o&&o.headers?o.headers:{},...u.headers},...p.port!==void 0?{port:p.port||""}:{}},I=(p.protocol==="https:"?wye:Cye).request(E,R=>{let L=[];R.on("data",U=>{L=L.concat(U)}),R.on("end",()=>{clearTimeout(x),clearTimeout(C),A({status:R.statusCode||0,content:Buffer.concat(L).toString(),isTimedOut:!1})})}),v=(R,L)=>setTimeout(()=>{I.abort(),A({status:0,content:L,isTimedOut:!0})},R*1e3),x=v(u.connectTimeout,"Connection timeout"),C;I.on("error",R=>{clearTimeout(x),clearTimeout(C),A({status:0,content:R.message,isTimedOut:!1})}),I.once("response",()=>{clearTimeout(x),C=v(u.responseTimeout,"Socket timeout")}),u.data!==void 0&&I.write(u.data),I.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}WH.createNodeHttpRequester=ayt});var Dye=_((JWt,vye)=>{vye.exports=Bye()});var xye=_((zWt,bye)=>{"use strict";var Sye=Bme(),lyt=Sme(),FC=zme(),VH=Y2(),KH=eye(),Ut=dye(),cyt=Eye(),uyt=Dye(),Ayt=V2();function Pye(t,e,r){let o={appId:t,apiKey:e,timeouts:{connect:2,read:5,write:30},requester:uyt.createNodeHttpRequester(),logger:cyt.createNullLogger(),responsesCache:Sye.createNullCache(),requestsCache:Sye.createNullCache(),hostsCache:lyt.createInMemoryCache(),userAgent:Ayt.createUserAgent(VH.version).add({segment:"Node.js",version:process.versions.node})},a={...o,...r},n=()=>u=>KH.createPersonalizationClient({...o,...u,methods:{getPersonalizationStrategy:KH.getPersonalizationStrategy,setPersonalizationStrategy:KH.setPersonalizationStrategy}});return Ut.createSearchClient({...a,methods:{search:Ut.multipleQueries,searchForFacetValues:Ut.multipleSearchForFacetValues,multipleBatch:Ut.multipleBatch,multipleGetObjects:Ut.multipleGetObjects,multipleQueries:Ut.multipleQueries,copyIndex:Ut.copyIndex,copySettings:Ut.copySettings,copyRules:Ut.copyRules,copySynonyms:Ut.copySynonyms,moveIndex:Ut.moveIndex,listIndices:Ut.listIndices,getLogs:Ut.getLogs,listClusters:Ut.listClusters,multipleSearchForFacetValues:Ut.multipleSearchForFacetValues,getApiKey:Ut.getApiKey,addApiKey:Ut.addApiKey,listApiKeys:Ut.listApiKeys,updateApiKey:Ut.updateApiKey,deleteApiKey:Ut.deleteApiKey,restoreApiKey:Ut.restoreApiKey,assignUserID:Ut.assignUserID,assignUserIDs:Ut.assignUserIDs,getUserID:Ut.getUserID,searchUserIDs:Ut.searchUserIDs,listUserIDs:Ut.listUserIDs,getTopUserIDs:Ut.getTopUserIDs,removeUserID:Ut.removeUserID,hasPendingMappings:Ut.hasPendingMappings,generateSecuredApiKey:Ut.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Ut.getSecuredApiKeyRemainingValidity,destroy:VH.destroy,clearDictionaryEntries:Ut.clearDictionaryEntries,deleteDictionaryEntries:Ut.deleteDictionaryEntries,getDictionarySettings:Ut.getDictionarySettings,getAppTask:Ut.getAppTask,replaceDictionaryEntries:Ut.replaceDictionaryEntries,saveDictionaryEntries:Ut.saveDictionaryEntries,searchDictionaryEntries:Ut.searchDictionaryEntries,setDictionarySettings:Ut.setDictionarySettings,waitAppTask:Ut.waitAppTask,customRequest:Ut.customRequest,initIndex:u=>A=>Ut.initIndex(u)(A,{methods:{batch:Ut.batch,delete:Ut.deleteIndex,findAnswers:Ut.findAnswers,getObject:Ut.getObject,getObjects:Ut.getObjects,saveObject:Ut.saveObject,saveObjects:Ut.saveObjects,search:Ut.search,searchForFacetValues:Ut.searchForFacetValues,waitTask:Ut.waitTask,setSettings:Ut.setSettings,getSettings:Ut.getSettings,partialUpdateObject:Ut.partialUpdateObject,partialUpdateObjects:Ut.partialUpdateObjects,deleteObject:Ut.deleteObject,deleteObjects:Ut.deleteObjects,deleteBy:Ut.deleteBy,clearObjects:Ut.clearObjects,browseObjects:Ut.browseObjects,getObjectPosition:Ut.getObjectPosition,findObject:Ut.findObject,exists:Ut.exists,saveSynonym:Ut.saveSynonym,saveSynonyms:Ut.saveSynonyms,getSynonym:Ut.getSynonym,searchSynonyms:Ut.searchSynonyms,browseSynonyms:Ut.browseSynonyms,deleteSynonym:Ut.deleteSynonym,clearSynonyms:Ut.clearSynonyms,replaceAllObjects:Ut.replaceAllObjects,replaceAllSynonyms:Ut.replaceAllSynonyms,searchRules:Ut.searchRules,getRule:Ut.getRule,deleteRule:Ut.deleteRule,saveRule:Ut.saveRule,saveRules:Ut.saveRules,replaceAllRules:Ut.replaceAllRules,browseRules:Ut.browseRules,clearRules:Ut.clearRules}}),initAnalytics:()=>u=>FC.createAnalyticsClient({...o,...u,methods:{addABTest:FC.addABTest,getABTest:FC.getABTest,getABTests:FC.getABTests,stopABTest:FC.stopABTest,deleteABTest:FC.deleteABTest}}),initPersonalization:n,initRecommendation:()=>u=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(u))}})}Pye.version=VH.version;bye.exports=Pye});var zH=_((XWt,JH)=>{var kye=xye();JH.exports=kye;JH.exports.default=kye});var $H=_(($Wt,Rye)=>{"use strict";var Fye=Object.getOwnPropertySymbols,pyt=Object.prototype.hasOwnProperty,hyt=Object.prototype.propertyIsEnumerable;function gyt(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function dyt(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(e).map(function(n){return e[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Rye.exports=dyt()?Object.assign:function(t,e){for(var r,o=gyt(t),a,n=1;n{"use strict";var i6=$H(),$c=typeof Symbol=="function"&&Symbol.for,$2=$c?Symbol.for("react.element"):60103,myt=$c?Symbol.for("react.portal"):60106,yyt=$c?Symbol.for("react.fragment"):60107,Eyt=$c?Symbol.for("react.strict_mode"):60108,Cyt=$c?Symbol.for("react.profiler"):60114,wyt=$c?Symbol.for("react.provider"):60109,Iyt=$c?Symbol.for("react.context"):60110,Byt=$c?Symbol.for("react.forward_ref"):60112,vyt=$c?Symbol.for("react.suspense"):60113,Dyt=$c?Symbol.for("react.memo"):60115,Syt=$c?Symbol.for("react.lazy"):60116,Tye=typeof Symbol=="function"&&Symbol.iterator;function eB(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;rbk.length&&bk.push(t)}function t6(t,e,r,o){var a=typeof t;(a==="undefined"||a==="boolean")&&(t=null);var n=!1;if(t===null)n=!0;else switch(a){case"string":case"number":n=!0;break;case"object":switch(t.$$typeof){case $2:case myt:n=!0}}if(n)return r(o,t,e===""?"."+e6(t,0):e),1;if(n=0,e=e===""?".":e+":",Array.isArray(t))for(var u=0;u{"use strict";Wye.exports=Yye()});var u6=_((rKt,c6)=>{"use strict";var An=c6.exports;c6.exports.default=An;var Ln="\x1B[",tB="\x1B]",TC="\x07",xk=";",Kye=process.env.TERM_PROGRAM==="Apple_Terminal";An.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?Ln+(t+1)+"G":Ln+(e+1)+";"+(t+1)+"H"};An.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=Ln+-t+"D":t>0&&(r+=Ln+t+"C"),e<0?r+=Ln+-e+"A":e>0&&(r+=Ln+e+"B"),r};An.cursorUp=(t=1)=>Ln+t+"A";An.cursorDown=(t=1)=>Ln+t+"B";An.cursorForward=(t=1)=>Ln+t+"C";An.cursorBackward=(t=1)=>Ln+t+"D";An.cursorLeft=Ln+"G";An.cursorSavePosition=Kye?"\x1B7":Ln+"s";An.cursorRestorePosition=Kye?"\x1B8":Ln+"u";An.cursorGetPosition=Ln+"6n";An.cursorNextLine=Ln+"E";An.cursorPrevLine=Ln+"F";An.cursorHide=Ln+"?25l";An.cursorShow=Ln+"?25h";An.eraseLines=t=>{let e="";for(let r=0;r[tB,"8",xk,xk,e,TC,t,tB,"8",xk,xk,TC].join("");An.image=(t,e={})=>{let r=`${tB}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+TC};An.iTerm={setCwd:(t=process.cwd())=>`${tB}50;CurrentDir=${t}${TC}`,annotation:(t,e={})=>{let r=`${tB}1337;`,o=typeof e.x<"u",a=typeof e.y<"u";if((o||a)&&!(o&&a&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+TC}}});var Jye=_((nKt,A6)=>{"use strict";var Vye=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};A6.exports=Vye;A6.exports.default=Vye});var Xye=_((iKt,Qk)=>{"use strict";var Fyt=Jye(),kk=new WeakMap,zye=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,o=0,a=t.displayName||t.name||"",n=function(...u){if(kk.set(n,++o),o===1)r=t.apply(this,u),t=null;else if(e.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return Fyt(n,t),kk.set(n,o),n};Qk.exports=zye;Qk.exports.default=zye;Qk.exports.callCount=t=>{if(!kk.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return kk.get(t)}});var Zye=_((sKt,Fk)=>{Fk.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&Fk.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Fk.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var h6=_((oKt,OC)=>{var Ei=global.process,im=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};im(Ei)?($ye=ve("assert"),NC=Zye(),eEe=/^win/i.test(Ei.platform),rB=ve("events"),typeof rB!="function"&&(rB=rB.EventEmitter),Ei.__signal_exit_emitter__?Ts=Ei.__signal_exit_emitter__:(Ts=Ei.__signal_exit_emitter__=new rB,Ts.count=0,Ts.emitted={}),Ts.infinite||(Ts.setMaxListeners(1/0),Ts.infinite=!0),OC.exports=function(t,e){if(!im(global.process))return function(){};$ye.equal(typeof t,"function","a callback must be provided for exit handler"),LC===!1&&f6();var r="exit";e&&e.alwaysLast&&(r="afterexit");var o=function(){Ts.removeListener(r,t),Ts.listeners("exit").length===0&&Ts.listeners("afterexit").length===0&&Rk()};return Ts.on(r,t),o},Rk=function(){!LC||!im(global.process)||(LC=!1,NC.forEach(function(e){try{Ei.removeListener(e,Tk[e])}catch{}}),Ei.emit=Nk,Ei.reallyExit=p6,Ts.count-=1)},OC.exports.unload=Rk,sm=function(e,r,o){Ts.emitted[e]||(Ts.emitted[e]=!0,Ts.emit(e,r,o))},Tk={},NC.forEach(function(t){Tk[t]=function(){if(!!im(global.process)){var r=Ei.listeners(t);r.length===Ts.count&&(Rk(),sm("exit",null,t),sm("afterexit",null,t),eEe&&t==="SIGHUP"&&(t="SIGINT"),Ei.kill(Ei.pid,t))}}}),OC.exports.signals=function(){return NC},LC=!1,f6=function(){LC||!im(global.process)||(LC=!0,Ts.count+=1,NC=NC.filter(function(e){try{return Ei.on(e,Tk[e]),!0}catch{return!1}}),Ei.emit=rEe,Ei.reallyExit=tEe)},OC.exports.load=f6,p6=Ei.reallyExit,tEe=function(e){!im(global.process)||(Ei.exitCode=e||0,sm("exit",Ei.exitCode,null),sm("afterexit",Ei.exitCode,null),p6.call(Ei,Ei.exitCode))},Nk=Ei.emit,rEe=function(e,r){if(e==="exit"&&im(global.process)){r!==void 0&&(Ei.exitCode=r);var o=Nk.apply(this,arguments);return sm("exit",Ei.exitCode,null),sm("afterexit",Ei.exitCode,null),o}else return Nk.apply(this,arguments)}):OC.exports=function(){return function(){}};var $ye,NC,eEe,rB,Ts,Rk,sm,Tk,LC,f6,p6,tEe,Nk,rEe});var iEe=_((aKt,nEe)=>{"use strict";var Ryt=Xye(),Tyt=h6();nEe.exports=Ryt(()=>{Tyt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var g6=_(MC=>{"use strict";var Nyt=iEe(),Lk=!1;MC.show=(t=process.stderr)=>{!t.isTTY||(Lk=!1,t.write("\x1B[?25h"))};MC.hide=(t=process.stderr)=>{!t.isTTY||(Nyt(),Lk=!0,t.write("\x1B[?25l"))};MC.toggle=(t,e)=>{t!==void 0&&(Lk=t),Lk?MC.show(e):MC.hide(e)}});var lEe=_(nB=>{"use strict";var aEe=nB&&nB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(nB,"__esModule",{value:!0});var sEe=aEe(u6()),oEe=aEe(g6()),Lyt=(t,{showCursor:e=!1}={})=>{let r=0,o="",a=!1,n=u=>{!e&&!a&&(oEe.default.hide(),a=!0);let A=u+` +`;A!==o&&(o=A,t.write(sEe.default.eraseLines(r)+A),r=A.split(` +`).length)};return n.clear=()=>{t.write(sEe.default.eraseLines(r)),o="",r=0},n.done=()=>{o="",r=0,e||(oEe.default.show(),a=!1)},n};nB.default={create:Lyt}});var cEe=_((uKt,Oyt)=>{Oyt.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 fEe=_(gl=>{"use strict";var AEe=cEe(),pA=process.env;Object.defineProperty(gl,"_vendors",{value:AEe.map(function(t){return t.constant})});gl.name=null;gl.isPR=null;AEe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(o){return uEe(o)});if(gl[t.constant]=r,r)switch(gl.name=t.name,typeof t.pr){case"string":gl.isPR=!!pA[t.pr];break;case"object":"env"in t.pr?gl.isPR=t.pr.env in pA&&pA[t.pr.env]!==t.pr.ne:"any"in t.pr?gl.isPR=t.pr.any.some(function(o){return!!pA[o]}):gl.isPR=uEe(t.pr);break;default:gl.isPR=null}});gl.isCI=!!(pA.CI||pA.CONTINUOUS_INTEGRATION||pA.BUILD_NUMBER||pA.RUN_ID||gl.name);function uEe(t){return typeof t=="string"?!!pA[t]:Object.keys(t).every(function(e){return pA[e]===t[e]})}});var hEe=_((fKt,pEe)=>{"use strict";pEe.exports=fEe().isCI});var dEe=_((pKt,gEe)=>{"use strict";var Myt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};gEe.exports=(t,{include:e,exclude:r}={})=>{let o=a=>{let n=u=>typeof u=="string"?a===u:u.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of Myt(t.constructor.prototype)){if(n==="constructor"||!o(n))continue;let u=Reflect.getOwnPropertyDescriptor(a,n);u&&typeof u.value=="function"&&(t[n]=t[n].bind(t))}return t}});var BEe=_(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});var _C,oB,Hk,qk,I6;typeof window>"u"||typeof MessageChannel!="function"?(UC=null,d6=null,m6=function(){if(UC!==null)try{var t=kn.unstable_now();UC(!0,t),UC=null}catch(e){throw setTimeout(m6,0),e}},mEe=Date.now(),kn.unstable_now=function(){return Date.now()-mEe},_C=function(t){UC!==null?setTimeout(_C,0,t):(UC=t,setTimeout(m6,0))},oB=function(t,e){d6=setTimeout(t,e)},Hk=function(){clearTimeout(d6)},qk=function(){return!1},I6=kn.unstable_forceFrameRate=function(){}):(Ok=window.performance,y6=window.Date,yEe=window.setTimeout,EEe=window.clearTimeout,typeof console<"u"&&(CEe=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 CEe!="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 Ok=="object"&&typeof Ok.now=="function"?kn.unstable_now=function(){return Ok.now()}:(wEe=y6.now(),kn.unstable_now=function(){return y6.now()-wEe}),iB=!1,sB=null,Mk=-1,E6=5,C6=0,qk=function(){return kn.unstable_now()>=C6},I6=function(){},kn.unstable_forceFrameRate=function(t){0>t||125_k(u,r))p!==void 0&&0>_k(p,u)?(t[o]=p,t[A]=r,o=A):(t[o]=u,t[n]=r,o=n);else if(p!==void 0&&0>_k(p,r))t[o]=p,t[A]=r,o=A;else break e}}return e}return null}function _k(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}var eu=[],y0=[],Uyt=1,na=null,Lo=3,Gk=!1,om=!1,aB=!1;function Yk(t){for(var e=nc(y0);e!==null;){if(e.callback===null)jk(y0);else if(e.startTime<=t)jk(y0),e.sortIndex=e.expirationTime,B6(eu,e);else break;e=nc(y0)}}function v6(t){if(aB=!1,Yk(t),!om)if(nc(eu)!==null)om=!0,_C(D6);else{var e=nc(y0);e!==null&&oB(v6,e.startTime-t)}}function D6(t,e){om=!1,aB&&(aB=!1,Hk()),Gk=!0;var r=Lo;try{for(Yk(e),na=nc(eu);na!==null&&(!(na.expirationTime>e)||t&&!qk());){var o=na.callback;if(o!==null){na.callback=null,Lo=na.priorityLevel;var a=o(na.expirationTime<=e);e=kn.unstable_now(),typeof a=="function"?na.callback=a:na===nc(eu)&&jk(eu),Yk(e)}else jk(eu);na=nc(eu)}if(na!==null)var n=!0;else{var u=nc(y0);u!==null&&oB(v6,u.startTime-e),n=!1}return n}finally{na=null,Lo=r,Gk=!1}}function IEe(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var _yt=I6;kn.unstable_ImmediatePriority=1;kn.unstable_UserBlockingPriority=2;kn.unstable_NormalPriority=3;kn.unstable_IdlePriority=5;kn.unstable_LowPriority=4;kn.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=Lo;Lo=t;try{return e()}finally{Lo=r}};kn.unstable_next=function(t){switch(Lo){case 1:case 2:case 3:var e=3;break;default:e=Lo}var r=Lo;Lo=e;try{return t()}finally{Lo=r}};kn.unstable_scheduleCallback=function(t,e,r){var o=kn.unstable_now();if(typeof r=="object"&&r!==null){var a=r.delay;a=typeof a=="number"&&0o?(t.sortIndex=a,B6(y0,t),nc(eu)===null&&t===nc(y0)&&(aB?Hk():aB=!0,oB(v6,a-o))):(t.sortIndex=r,B6(eu,t),om||Gk||(om=!0,_C(D6))),t};kn.unstable_cancelCallback=function(t){t.callback=null};kn.unstable_wrapCallback=function(t){var e=Lo;return function(){var r=Lo;Lo=e;try{return t.apply(this,arguments)}finally{Lo=r}}};kn.unstable_getCurrentPriorityLevel=function(){return Lo};kn.unstable_shouldYield=function(){var t=kn.unstable_now();Yk(t);var e=nc(eu);return e!==na&&na!==null&&e!==null&&e.callback!==null&&e.startTime<=t&&e.expirationTime{"use strict";vEe.exports=BEe()});var DEe=_((dKt,lB)=>{lB.exports=function t(e){"use strict";var r=$H(),o=on(),a=S6();function n(S){for(var D="https://reactjs.org/docs/error-decoder.html?invariant="+S,T=1;Tao||(S.current=yl[ao],yl[ao]=null,ao--)}function On(S,D){ao++,yl[ao]=S.current,S.current=D}var Ni={},Mn={current:Ni},_i={current:!1},tr=Ni;function Oe(S,D){var T=S.type.contextTypes;if(!T)return Ni;var q=S.stateNode;if(q&&q.__reactInternalMemoizedUnmaskedChildContext===D)return q.__reactInternalMemoizedMaskedChildContext;var Y={},Ae;for(Ae in T)Y[Ae]=D[Ae];return q&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=D,S.__reactInternalMemoizedMaskedChildContext=Y),Y}function ii(S){return S=S.childContextTypes,S!=null}function Ma(S){Vn(_i,S),Vn(Mn,S)}function hr(S){Vn(_i,S),Vn(Mn,S)}function uc(S,D,T){if(Mn.current!==Ni)throw Error(n(168));On(Mn,D,S),On(_i,T,S)}function uu(S,D,T){var q=S.stateNode;if(S=D.childContextTypes,typeof q.getChildContext!="function")return T;q=q.getChildContext();for(var Y in q)if(!(Y in S))throw Error(n(108,he(D)||"Unknown",Y));return r({},T,{},q)}function Ac(S){var D=S.stateNode;return D=D&&D.__reactInternalMemoizedMergedChildContext||Ni,tr=Mn.current,On(Mn,D,S),On(_i,_i.current,S),!0}function El(S,D,T){var q=S.stateNode;if(!q)throw Error(n(169));T?(D=uu(S,D,tr),q.__reactInternalMemoizedMergedChildContext=D,Vn(_i,S),Vn(Mn,S),On(Mn,D,S)):Vn(_i,S),On(_i,T,S)}var DA=a.unstable_runWithPriority,Au=a.unstable_scheduleCallback,Ce=a.unstable_cancelCallback,Rt=a.unstable_shouldYield,fc=a.unstable_requestPaint,Hi=a.unstable_now,fu=a.unstable_getCurrentPriorityLevel,Yt=a.unstable_ImmediatePriority,Cl=a.unstable_UserBlockingPriority,SA=a.unstable_NormalPriority,up=a.unstable_LowPriority,pc=a.unstable_IdlePriority,PA={},Qn=fc!==void 0?fc:function(){},hi=null,hc=null,bA=!1,sa=Hi(),Li=1e4>sa?Hi:function(){return Hi()-sa};function _o(){switch(fu()){case Yt:return 99;case Cl:return 98;case SA:return 97;case up:return 96;case pc:return 95;default:throw Error(n(332))}}function Ze(S){switch(S){case 99:return Yt;case 98:return Cl;case 97:return SA;case 96:return up;case 95:return pc;default:throw Error(n(332))}}function lo(S,D){return S=Ze(S),DA(S,D)}function gc(S,D,T){return S=Ze(S),Au(S,D,T)}function pu(S){return hi===null?(hi=[S],hc=Au(Yt,hu)):hi.push(S),PA}function qi(){if(hc!==null){var S=hc;hc=null,Ce(S)}hu()}function hu(){if(!bA&&hi!==null){bA=!0;var S=0;try{var D=hi;lo(99,function(){for(;S=D&&(jo=!0),S.firstContext=null)}function ms(S,D){if(aa!==S&&D!==!1&&D!==0)if((typeof D!="number"||D===1073741823)&&(aa=S,D=1073741823),D={context:S,observedBits:D,next:null},Us===null){if(co===null)throw Error(n(308));Us=D,co.dependencies={expirationTime:0,firstContext:D,responders:null}}else Us=Us.next=D;return b?S._currentValue:S._currentValue2}var _s=!1;function Un(S){return{baseState:S,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Sn(S){return{baseState:S.baseState,firstUpdate:S.firstUpdate,lastUpdate:S.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function ys(S,D){return{expirationTime:S,suspenseConfig:D,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function We(S,D){S.lastUpdate===null?S.firstUpdate=S.lastUpdate=D:(S.lastUpdate.next=D,S.lastUpdate=D)}function tt(S,D){var T=S.alternate;if(T===null){var q=S.updateQueue,Y=null;q===null&&(q=S.updateQueue=Un(S.memoizedState))}else q=S.updateQueue,Y=T.updateQueue,q===null?Y===null?(q=S.updateQueue=Un(S.memoizedState),Y=T.updateQueue=Un(T.memoizedState)):q=S.updateQueue=Sn(Y):Y===null&&(Y=T.updateQueue=Sn(q));Y===null||q===Y?We(q,D):q.lastUpdate===null||Y.lastUpdate===null?(We(q,D),We(Y,D)):(We(q,D),Y.lastUpdate=D)}function It(S,D){var T=S.updateQueue;T=T===null?S.updateQueue=Un(S.memoizedState):nr(S,T),T.lastCapturedUpdate===null?T.firstCapturedUpdate=T.lastCapturedUpdate=D:(T.lastCapturedUpdate.next=D,T.lastCapturedUpdate=D)}function nr(S,D){var T=S.alternate;return T!==null&&D===T.updateQueue&&(D=S.updateQueue=Sn(D)),D}function $(S,D,T,q,Y,Ae){switch(T.tag){case 1:return S=T.payload,typeof S=="function"?S.call(Ae,q,Y):S;case 3:S.effectTag=S.effectTag&-4097|64;case 0:if(S=T.payload,Y=typeof S=="function"?S.call(Ae,q,Y):S,Y==null)break;return r({},q,Y);case 2:_s=!0}return q}function ye(S,D,T,q,Y){_s=!1,D=nr(S,D);for(var Ae=D.baseState,De=null,vt=0,wt=D.firstUpdate,xt=Ae;wt!==null;){var _r=wt.expirationTime;_rbn?(ai=Fr,Fr=null):ai=Fr.sibling;var tn=di(rt,Fr,ft[bn],Wt);if(tn===null){Fr===null&&(Fr=ai);break}S&&Fr&&tn.alternate===null&&D(rt,Fr),Ve=Ae(tn,Ve,bn),Pn===null?vr=tn:Pn.sibling=tn,Pn=tn,Fr=ai}if(bn===ft.length)return T(rt,Fr),vr;if(Fr===null){for(;bnbn?(ai=Fr,Fr=null):ai=Fr.sibling;var ho=di(rt,Fr,tn.value,Wt);if(ho===null){Fr===null&&(Fr=ai);break}S&&Fr&&ho.alternate===null&&D(rt,Fr),Ve=Ae(ho,Ve,bn),Pn===null?vr=ho:Pn.sibling=ho,Pn=ho,Fr=ai}if(tn.done)return T(rt,Fr),vr;if(Fr===null){for(;!tn.done;bn++,tn=ft.next())tn=is(rt,tn.value,Wt),tn!==null&&(Ve=Ae(tn,Ve,bn),Pn===null?vr=tn:Pn.sibling=tn,Pn=tn);return vr}for(Fr=q(rt,Fr);!tn.done;bn++,tn=ft.next())tn=po(Fr,rt,bn,tn.value,Wt),tn!==null&&(S&&tn.alternate!==null&&Fr.delete(tn.key===null?bn:tn.key),Ve=Ae(tn,Ve,bn),Pn===null?vr=tn:Pn.sibling=tn,Pn=tn);return S&&Fr.forEach(function(vF){return D(rt,vF)}),vr}return function(rt,Ve,ft,Wt){var vr=typeof ft=="object"&&ft!==null&&ft.type===E&&ft.key===null;vr&&(ft=ft.props.children);var Pn=typeof ft=="object"&&ft!==null;if(Pn)switch(ft.$$typeof){case p:e:{for(Pn=ft.key,vr=Ve;vr!==null;){if(vr.key===Pn)if(vr.tag===7?ft.type===E:vr.elementType===ft.type){T(rt,vr.sibling),Ve=Y(vr,ft.type===E?ft.props.children:ft.props,Wt),Ve.ref=QA(rt,vr,ft),Ve.return=rt,rt=Ve;break e}else{T(rt,vr);break}else D(rt,vr);vr=vr.sibling}ft.type===E?(Ve=bu(ft.props.children,rt.mode,Wt,ft.key),Ve.return=rt,rt=Ve):(Wt=qm(ft.type,ft.key,ft.props,null,rt.mode,Wt),Wt.ref=QA(rt,Ve,ft),Wt.return=rt,rt=Wt)}return De(rt);case h:e:{for(vr=ft.key;Ve!==null;){if(Ve.key===vr)if(Ve.tag===4&&Ve.stateNode.containerInfo===ft.containerInfo&&Ve.stateNode.implementation===ft.implementation){T(rt,Ve.sibling),Ve=Y(Ve,ft.children||[],Wt),Ve.return=rt,rt=Ve;break e}else{T(rt,Ve);break}else D(rt,Ve);Ve=Ve.sibling}Ve=Rw(ft,rt.mode,Wt),Ve.return=rt,rt=Ve}return De(rt)}if(typeof ft=="string"||typeof ft=="number")return ft=""+ft,Ve!==null&&Ve.tag===6?(T(rt,Ve.sibling),Ve=Y(Ve,ft,Wt),Ve.return=rt,rt=Ve):(T(rt,Ve),Ve=Fw(ft,rt.mode,Wt),Ve.return=rt,rt=Ve),De(rt);if(kA(ft))return VA(rt,Ve,ft,Wt);if(ce(ft))return Yo(rt,Ve,ft,Wt);if(Pn&&Ap(rt,ft),typeof ft>"u"&&!vr)switch(rt.tag){case 1:case 0:throw rt=rt.type,Error(n(152,rt.displayName||rt.name||"Component"))}return T(rt,Ve)}}var gu=ig(!0),sg=ig(!1),du={},uo={current:du},FA={current:du},mc={current:du};function ca(S){if(S===du)throw Error(n(174));return S}function og(S,D){On(mc,D,S),On(FA,S,S),On(uo,du,S),D=ne(D),Vn(uo,S),On(uo,D,S)}function yc(S){Vn(uo,S),Vn(FA,S),Vn(mc,S)}function Pm(S){var D=ca(mc.current),T=ca(uo.current);D=ee(T,S.type,D),T!==D&&(On(FA,S,S),On(uo,D,S))}function ag(S){FA.current===S&&(Vn(uo,S),Vn(FA,S))}var $n={current:0};function fp(S){for(var D=S;D!==null;){if(D.tag===13){var T=D.memoizedState;if(T!==null&&(T=T.dehydrated,T===null||Ls(T)||so(T)))return D}else if(D.tag===19&&D.memoizedProps.revealOrder!==void 0){if((D.effectTag&64)!==0)return D}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break;for(;D.sibling===null;){if(D.return===null||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}return null}function lg(S,D){return{responder:S,props:D}}var RA=u.ReactCurrentDispatcher,Hs=u.ReactCurrentBatchConfig,mu=0,Ha=null,Gi=null,ua=null,yu=null,Es=null,Ec=null,Cc=0,G=null,Dt=0,wl=!1,xi=null,wc=0;function ct(){throw Error(n(321))}function Eu(S,D){if(D===null)return!1;for(var T=0;TCc&&(Cc=_r,Hm(Cc))):(Pw(_r,wt.suspenseConfig),Ae=wt.eagerReducer===S?wt.eagerState:S(Ae,wt.action)),De=wt,wt=wt.next}while(wt!==null&&wt!==q);xt||(vt=De,Y=Ae),hs(Ae,D.memoizedState)||(jo=!0),D.memoizedState=Ae,D.baseUpdate=vt,D.baseState=Y,T.lastRenderedState=Ae}return[D.memoizedState,T.dispatch]}function ug(S){var D=TA();return typeof S=="function"&&(S=S()),D.memoizedState=D.baseState=S,S=D.queue={last:null,dispatch:null,lastRenderedReducer:Br,lastRenderedState:S},S=S.dispatch=gg.bind(null,Ha,S),[D.memoizedState,S]}function Ag(S){return Cs(Br,S)}function fg(S,D,T,q){return S={tag:S,create:D,destroy:T,deps:q,next:null},G===null?(G={lastEffect:null},G.lastEffect=S.next=S):(D=G.lastEffect,D===null?G.lastEffect=S.next=S:(T=D.next,D.next=S,S.next=T,G.lastEffect=S)),S}function hp(S,D,T,q){var Y=TA();Dt|=S,Y.memoizedState=fg(D,T,void 0,q===void 0?null:q)}function Ic(S,D,T,q){var Y=pp();q=q===void 0?null:q;var Ae=void 0;if(Gi!==null){var De=Gi.memoizedState;if(Ae=De.destroy,q!==null&&Eu(q,De.deps)){fg(0,T,Ae,q);return}}Dt|=S,Y.memoizedState=fg(D,T,Ae,q)}function Ct(S,D){return hp(516,192,S,D)}function bm(S,D){return Ic(516,192,S,D)}function pg(S,D){if(typeof D=="function")return S=S(),D(S),function(){D(null)};if(D!=null)return S=S(),D.current=S,function(){D.current=null}}function hg(){}function Cu(S,D){return TA().memoizedState=[S,D===void 0?null:D],S}function xm(S,D){var T=pp();D=D===void 0?null:D;var q=T.memoizedState;return q!==null&&D!==null&&Eu(D,q[1])?q[0]:(T.memoizedState=[S,D],S)}function gg(S,D,T){if(!(25>wc))throw Error(n(301));var q=S.alternate;if(S===Ha||q!==null&&q===Ha)if(wl=!0,S={expirationTime:mu,suspenseConfig:null,action:T,eagerReducer:null,eagerState:null,next:null},xi===null&&(xi=new Map),T=xi.get(D),T===void 0)xi.set(D,S);else{for(D=T;D.next!==null;)D=D.next;D.next=S}else{var Y=ga(),Ae=ht.suspense;Y=qA(Y,S,Ae),Ae={expirationTime:Y,suspenseConfig:Ae,action:T,eagerReducer:null,eagerState:null,next:null};var De=D.last;if(De===null)Ae.next=Ae;else{var vt=De.next;vt!==null&&(Ae.next=vt),De.next=Ae}if(D.last=Ae,S.expirationTime===0&&(q===null||q.expirationTime===0)&&(q=D.lastRenderedReducer,q!==null))try{var wt=D.lastRenderedState,xt=q(wt,T);if(Ae.eagerReducer=q,Ae.eagerState=xt,hs(xt,wt))return}catch{}finally{}Pc(S,Y)}}var wu={readContext:ms,useCallback:ct,useContext:ct,useEffect:ct,useImperativeHandle:ct,useLayoutEffect:ct,useMemo:ct,useReducer:ct,useRef:ct,useState:ct,useDebugValue:ct,useResponder:ct,useDeferredValue:ct,useTransition:ct},Ew={readContext:ms,useCallback:Cu,useContext:ms,useEffect:Ct,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,hp(4,36,pg.bind(null,D,S),T)},useLayoutEffect:function(S,D){return hp(4,36,S,D)},useMemo:function(S,D){var T=TA();return D=D===void 0?null:D,S=S(),T.memoizedState=[S,D],S},useReducer:function(S,D,T){var q=TA();return D=T!==void 0?T(D):D,q.memoizedState=q.baseState=D,S=q.queue={last:null,dispatch:null,lastRenderedReducer:S,lastRenderedState:D},S=S.dispatch=gg.bind(null,Ha,S),[q.memoizedState,S]},useRef:function(S){var D=TA();return S={current:S},D.memoizedState=S},useState:ug,useDebugValue:hg,useResponder:lg,useDeferredValue:function(S,D){var T=ug(S),q=T[0],Y=T[1];return Ct(function(){a.unstable_next(function(){var Ae=Hs.suspense;Hs.suspense=D===void 0?null:D;try{Y(S)}finally{Hs.suspense=Ae}})},[S,D]),q},useTransition:function(S){var D=ug(!1),T=D[0],q=D[1];return[Cu(function(Y){q(!0),a.unstable_next(function(){var Ae=Hs.suspense;Hs.suspense=S===void 0?null:S;try{q(!1),Y()}finally{Hs.suspense=Ae}})},[S,T]),T]}},km={readContext:ms,useCallback:xm,useContext:ms,useEffect:bm,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,Ic(4,36,pg.bind(null,D,S),T)},useLayoutEffect:function(S,D){return Ic(4,36,S,D)},useMemo:function(S,D){var T=pp();D=D===void 0?null:D;var q=T.memoizedState;return q!==null&&D!==null&&Eu(D,q[1])?q[0]:(S=S(),T.memoizedState=[S,D],S)},useReducer:Cs,useRef:function(){return pp().memoizedState},useState:Ag,useDebugValue:hg,useResponder:lg,useDeferredValue:function(S,D){var T=Ag(S),q=T[0],Y=T[1];return bm(function(){a.unstable_next(function(){var Ae=Hs.suspense;Hs.suspense=D===void 0?null:D;try{Y(S)}finally{Hs.suspense=Ae}})},[S,D]),q},useTransition:function(S){var D=Ag(!1),T=D[0],q=D[1];return[xm(function(Y){q(!0),a.unstable_next(function(){var Ae=Hs.suspense;Hs.suspense=S===void 0?null:S;try{q(!1),Y()}finally{Hs.suspense=Ae}})},[S,T]),T]}},Aa=null,Bc=null,Il=!1;function Iu(S,D){var T=Dl(5,null,null,0);T.elementType="DELETED",T.type="DELETED",T.stateNode=D,T.return=S,T.effectTag=8,S.lastEffect!==null?(S.lastEffect.nextEffect=T,S.lastEffect=T):S.firstEffect=S.lastEffect=T}function dg(S,D){switch(S.tag){case 5:return D=io(D,S.type,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 6:return D=Pi(D,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 13:return!1;default:return!1}}function NA(S){if(Il){var D=Bc;if(D){var T=D;if(!dg(S,D)){if(D=cc(T),!D||!dg(S,D)){S.effectTag=S.effectTag&-1025|2,Il=!1,Aa=S;return}Iu(Aa,T)}Aa=S,Bc=cu(D)}else S.effectTag=S.effectTag&-1025|2,Il=!1,Aa=S}}function gp(S){for(S=S.return;S!==null&&S.tag!==5&&S.tag!==3&&S.tag!==13;)S=S.return;Aa=S}function qa(S){if(!y||S!==Aa)return!1;if(!Il)return gp(S),Il=!0,!1;var D=S.type;if(S.tag!==5||D!=="head"&&D!=="body"&&!ke(D,S.memoizedProps))for(D=Bc;D;)Iu(S,D),D=cc(D);if(gp(S),S.tag===13){if(!y)throw Error(n(316));if(S=S.memoizedState,S=S!==null?S.dehydrated:null,!S)throw Error(n(317));Bc=Os(S)}else Bc=Aa?cc(S.stateNode):null;return!0}function mg(){y&&(Bc=Aa=null,Il=!1)}var dp=u.ReactCurrentOwner,jo=!1;function ws(S,D,T,q){D.child=S===null?sg(D,null,T,q):gu(D,S.child,T,q)}function Ii(S,D,T,q,Y){T=T.render;var Ae=D.ref;return ds(D,Y),q=cg(S,D,T,q,Ae,Y),S!==null&&!jo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=Y&&(S.expirationTime=0),si(S,D,Y)):(D.effectTag|=1,ws(S,D,q,Y),D.child)}function Qm(S,D,T,q,Y,Ae){if(S===null){var De=T.type;return typeof De=="function"&&!Qw(De)&&De.defaultProps===void 0&&T.compare===null&&T.defaultProps===void 0?(D.tag=15,D.type=De,Fm(S,D,De,q,Y,Ae)):(S=qm(T.type,null,q,null,D.mode,Ae),S.ref=D.ref,S.return=D,D.child=S)}return De=S.child,YD)&&HA.set(S,D)))}}function Dg(S,D){S.expirationTimeS?D:S)}function fo(S){if(S.lastExpiredTime!==0)S.callbackExpirationTime=1073741823,S.callbackPriority=99,S.callbackNode=pu(Sw.bind(null,S));else{var D=_m(S),T=S.callbackNode;if(D===0)T!==null&&(S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90);else{var q=ga();if(D===1073741823?q=99:D===1||D===2?q=95:(q=10*(1073741821-D)-10*(1073741821-q),q=0>=q?99:250>=q?98:5250>=q?97:95),T!==null){var Y=S.callbackPriority;if(S.callbackExpirationTime===D&&Y>=q)return;T!==PA&&Ce(T)}S.callbackExpirationTime=D,S.callbackPriority=q,D=D===1073741823?pu(Sw.bind(null,S)):gc(q,Wv.bind(null,S),{timeout:10*(1073741821-D)-Li()}),S.callbackNode=D}}}function Wv(S,D){if(Um=0,D)return D=ga(),jm(S,D),fo(S),null;var T=_m(S);if(T!==0){if(D=S.callbackNode,(yr&(rs|qs))!==En)throw Error(n(327));if(Bp(),S===gi&&T===ns||Su(S,T),Or!==null){var q=yr;yr|=rs;var Y=GA(S);do try{pF();break}catch(vt){jA(S,vt)}while(1);if(la(),yr=q,Cp.current=Y,Yi===Nm)throw D=Lm,Su(S,T),KA(S,T),fo(S),D;if(Or===null)switch(Y=S.finishedWork=S.current.alternate,S.finishedExpirationTime=T,q=Yi,gi=null,q){case Bu:case Nm:throw Error(n(345));case Bi:jm(S,2=T){S.lastPingedTime=T,Su(S,T);break}}if(Ae=_m(S),Ae!==0&&Ae!==T)break;if(q!==0&&q!==T){S.lastPingedTime=q;break}S.timeoutHandle=Te(Pu.bind(null,S),Y);break}Pu(S);break;case vl:if(KA(S,T),q=S.lastSuspendedTime,T===q&&(S.nextKnownPendingLevel=bw(Y)),UA&&(Y=S.lastPingedTime,Y===0||Y>=T)){S.lastPingedTime=T,Su(S,T);break}if(Y=_m(S),Y!==0&&Y!==T)break;if(q!==0&&q!==T){S.lastPingedTime=q;break}if(MA!==1073741823?q=10*(1073741821-MA)-Li():Ya===1073741823?q=0:(q=10*(1073741821-Ya)-5e3,Y=Li(),T=10*(1073741821-T)-Y,q=Y-q,0>q&&(q=0),q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*ww(q/1960))-q,T=q?q=0:(Y=De.busyDelayMs|0,Ae=Li()-(10*(1073741821-Ae)-(De.timeoutMs|0||5e3)),q=Ae<=Y?0:Y+q-Ae),10 component higher in the tree to provide a loading indicator or placeholder to display.`+ml(Y))}Yi!==Sc&&(Yi=Bi),Ae=Eg(Ae,Y),wt=q;do{switch(wt.tag){case 3:De=Ae,wt.effectTag|=4096,wt.expirationTime=D;var Ve=Gv(wt,De,D);It(wt,Ve);break e;case 1:De=Ae;var ft=wt.type,Wt=wt.stateNode;if((wt.effectTag&64)===0&&(typeof ft.getDerivedStateFromError=="function"||Wt!==null&&typeof Wt.componentDidCatch=="function"&&(Du===null||!Du.has(Wt)))){wt.effectTag|=4096,wt.expirationTime=D;var vr=Yv(wt,De,D);It(wt,vr);break e}}wt=wt.return}while(wt!==null)}Or=zv(Or)}catch(Pn){D=Pn;continue}break}while(1)}function GA(){var S=Cp.current;return Cp.current=wu,S===null?wu:S}function Pw(S,D){Swp&&(wp=S)}function fF(){for(;Or!==null;)Or=Jv(Or)}function pF(){for(;Or!==null&&!Rt();)Or=Jv(Or)}function Jv(S){var D=Zv(S.alternate,S,ns);return S.memoizedProps=S.pendingProps,D===null&&(D=zv(S)),Iw.current=null,D}function zv(S){Or=S;do{var D=Or.alternate;if(S=Or.return,(Or.effectTag&2048)===0){e:{var T=D;D=Or;var q=ns,Y=D.pendingProps;switch(D.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:ii(D.type)&&Ma(D);break;case 3:yc(D),hr(D),Y=D.stateNode,Y.pendingContext&&(Y.context=Y.pendingContext,Y.pendingContext=null),(T===null||T.child===null)&&qa(D)&&pa(D),Bl(D);break;case 5:ag(D);var Ae=ca(mc.current);if(q=D.type,T!==null&&D.stateNode!=null)ts(T,D,q,Y,Ae),T.ref!==D.ref&&(D.effectTag|=128);else if(Y){if(T=ca(uo.current),qa(D)){if(Y=D,!y)throw Error(n(175));T=lp(Y.stateNode,Y.type,Y.memoizedProps,Ae,T,Y),Y.updateQueue=T,T=T!==null,T&&pa(D)}else{var De=At(q,Y,Ae,T,D);vc(De,D,!1,!1),D.stateNode=De,at(De,q,Y,Ae,T)&&pa(D)}D.ref!==null&&(D.effectTag|=128)}else if(D.stateNode===null)throw Error(n(166));break;case 6:if(T&&D.stateNode!=null)Gr(T,D,T.memoizedProps,Y);else{if(typeof Y!="string"&&D.stateNode===null)throw Error(n(166));if(T=ca(mc.current),Ae=ca(uo.current),qa(D)){if(T=D,!y)throw Error(n(176));(T=cp(T.stateNode,T.memoizedProps,T))&&pa(D)}else D.stateNode=He(Y,T,Ae,D)}break;case 11:break;case 13:if(Vn($n,D),Y=D.memoizedState,(D.effectTag&64)!==0){D.expirationTime=q;break e}Y=Y!==null,Ae=!1,T===null?D.memoizedProps.fallback!==void 0&&qa(D):(q=T.memoizedState,Ae=q!==null,Y||q===null||(q=T.child.sibling,q!==null&&(De=D.firstEffect,De!==null?(D.firstEffect=q,q.nextEffect=De):(D.firstEffect=D.lastEffect=q,q.nextEffect=null),q.effectTag=8))),Y&&!Ae&&(D.mode&2)!==0&&(T===null&&D.memoizedProps.unstable_avoidThisFallback!==!0||($n.current&1)!==0?Yi===Bu&&(Yi=ha):((Yi===Bu||Yi===ha)&&(Yi=vl),wp!==0&&gi!==null&&(KA(gi,ns),eD(gi,wp)))),P&&Y&&(D.effectTag|=4),w&&(Y||Ae)&&(D.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:yc(D),Bl(D);break;case 10:wi(D);break;case 9:break;case 14:break;case 17:ii(D.type)&&Ma(D);break;case 19:if(Vn($n,D),Y=D.memoizedState,Y===null)break;if(Ae=(D.effectTag&64)!==0,De=Y.rendering,De===null){if(Ae)Dc(Y,!1);else if(Yi!==Bu||T!==null&&(T.effectTag&64)!==0)for(T=D.child;T!==null;){if(De=fp(T),De!==null){for(D.effectTag|=64,Dc(Y,!1),T=De.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),Y.lastEffect===null&&(D.firstEffect=null),D.lastEffect=Y.lastEffect,T=q,Y=D.child;Y!==null;)Ae=Y,q=T,Ae.effectTag&=2,Ae.nextEffect=null,Ae.firstEffect=null,Ae.lastEffect=null,De=Ae.alternate,De===null?(Ae.childExpirationTime=0,Ae.expirationTime=q,Ae.child=null,Ae.memoizedProps=null,Ae.memoizedState=null,Ae.updateQueue=null,Ae.dependencies=null):(Ae.childExpirationTime=De.childExpirationTime,Ae.expirationTime=De.expirationTime,Ae.child=De.child,Ae.memoizedProps=De.memoizedProps,Ae.memoizedState=De.memoizedState,Ae.updateQueue=De.updateQueue,q=De.dependencies,Ae.dependencies=q===null?null:{expirationTime:q.expirationTime,firstContext:q.firstContext,responders:q.responders}),Y=Y.sibling;On($n,$n.current&1|2,D),D=D.child;break e}T=T.sibling}}else{if(!Ae)if(T=fp(De),T!==null){if(D.effectTag|=64,Ae=!0,T=T.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),Dc(Y,!0),Y.tail===null&&Y.tailMode==="hidden"&&!De.alternate){D=D.lastEffect=Y.lastEffect,D!==null&&(D.nextEffect=null);break}}else Li()>Y.tailExpiration&&1Y&&(Y=q),De>Y&&(Y=De),Ae=Ae.sibling;T.childExpirationTime=Y}if(D!==null)return D;S!==null&&(S.effectTag&2048)===0&&(S.firstEffect===null&&(S.firstEffect=Or.firstEffect),Or.lastEffect!==null&&(S.lastEffect!==null&&(S.lastEffect.nextEffect=Or.firstEffect),S.lastEffect=Or.lastEffect),1S?D:S}function Pu(S){var D=_o();return lo(99,hF.bind(null,S,D)),null}function hF(S,D){do Bp();while(Bg!==null);if((yr&(rs|qs))!==En)throw Error(n(327));var T=S.finishedWork,q=S.finishedExpirationTime;if(T===null)return null;if(S.finishedWork=null,S.finishedExpirationTime=0,T===S.current)throw Error(n(177));S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90,S.nextKnownPendingLevel=0;var Y=bw(T);if(S.firstPendingTime=Y,q<=S.lastSuspendedTime?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:q<=S.firstSuspendedTime&&(S.firstSuspendedTime=q-1),q<=S.lastPingedTime&&(S.lastPingedTime=0),q<=S.lastExpiredTime&&(S.lastExpiredTime=0),S===gi&&(Or=gi=null,ns=0),1=T?ln(S,D,T):(On($n,$n.current&1,D),D=si(S,D,T),D!==null?D.sibling:null);On($n,$n.current&1,D);break;case 19:if(q=D.childExpirationTime>=T,(S.effectTag&64)!==0){if(q)return ja(S,D,T);D.effectTag|=64}if(Y=D.memoizedState,Y!==null&&(Y.rendering=null,Y.tail=null),On($n,$n.current,D),!q)return null}return si(S,D,T)}jo=!1}}else jo=!1;switch(D.expirationTime=0,D.tag){case 2:if(q=D.type,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,Y=Oe(D,Mn.current),ds(D,T),Y=cg(null,D,q,S,Y,T),D.effectTag|=1,typeof Y=="object"&&Y!==null&&typeof Y.render=="function"&&Y.$$typeof===void 0){if(D.tag=1,yw(),ii(q)){var Ae=!0;Ac(D)}else Ae=!1;D.memoizedState=Y.state!==null&&Y.state!==void 0?Y.state:null;var De=q.getDerivedStateFromProps;typeof De=="function"&&er(D,q,De,S),Y.updater=$r,D.stateNode=Y,Y._reactInternalFiber=D,qo(D,q,S,T),D=yp(null,D,q,!0,Ae,T)}else D.tag=0,ws(null,D,Y,T),D=D.child;return D;case 16:if(Y=D.elementType,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,me(Y),Y._status!==1)throw Y._result;switch(Y=Y._result,D.type=Y,Ae=D.tag=wF(Y),S=Ci(Y,S),Ae){case 0:D=LA(null,D,Y,S,T);break;case 1:D=mp(null,D,Y,S,T);break;case 11:D=Ii(null,D,Y,S,T);break;case 14:D=Qm(null,D,Y,Ci(Y.type,S),q,T);break;default:throw Error(n(306,Y,""))}return D;case 0:return q=D.type,Y=D.pendingProps,Y=D.elementType===q?Y:Ci(q,Y),LA(S,D,q,Y,T);case 1:return q=D.type,Y=D.pendingProps,Y=D.elementType===q?Y:Ci(q,Y),mp(S,D,q,Y,T);case 3:if(yg(D),q=D.updateQueue,q===null)throw Error(n(282));if(Y=D.memoizedState,Y=Y!==null?Y.element:null,ye(D,q,D.pendingProps,null,T),q=D.memoizedState.element,q===Y)mg(),D=si(S,D,T);else{if((Y=D.stateNode.hydrate)&&(y?(Bc=cu(D.stateNode.containerInfo),Aa=D,Y=Il=!0):Y=!1),Y)for(T=sg(D,null,q,T),D.child=T;T;)T.effectTag=T.effectTag&-3|1024,T=T.sibling;else ws(S,D,q,T),mg();D=D.child}return D;case 5:return Pm(D),S===null&&NA(D),q=D.type,Y=D.pendingProps,Ae=S!==null?S.memoizedProps:null,De=Y.children,ke(q,Y)?De=null:Ae!==null&&ke(q,Ae)&&(D.effectTag|=16),Go(S,D),D.mode&4&&T!==1&&xe(q,Y)?(D.expirationTime=D.childExpirationTime=1,D=null):(ws(S,D,De,T),D=D.child),D;case 6:return S===null&&NA(D),null;case 13:return ln(S,D,T);case 4:return og(D,D.stateNode.containerInfo),q=D.pendingProps,S===null?D.child=gu(D,null,q,T):ws(S,D,q,T),D.child;case 11:return q=D.type,Y=D.pendingProps,Y=D.elementType===q?Y:Ci(q,Y),Ii(S,D,q,Y,T);case 7:return ws(S,D,D.pendingProps,T),D.child;case 8:return ws(S,D,D.pendingProps.children,T),D.child;case 12:return ws(S,D,D.pendingProps.children,T),D.child;case 10:e:{if(q=D.type._context,Y=D.pendingProps,De=D.memoizedProps,Ae=Y.value,Ho(D,Ae),De!==null){var vt=De.value;if(Ae=hs(vt,Ae)?0:(typeof q._calculateChangedBits=="function"?q._calculateChangedBits(vt,Ae):1073741823)|0,Ae===0){if(De.children===Y.children&&!_i.current){D=si(S,D,T);break e}}else for(vt=D.child,vt!==null&&(vt.return=D);vt!==null;){var wt=vt.dependencies;if(wt!==null){De=vt.child;for(var xt=wt.firstContext;xt!==null;){if(xt.context===q&&(xt.observedBits&Ae)!==0){vt.tag===1&&(xt=ys(T,null),xt.tag=2,tt(vt,xt)),vt.expirationTime"u")return!1;var D=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(D.isDisabled||!D.supportsFiber)return!0;try{var T=D.inject(S);xw=function(q){try{D.onCommitFiberRoot(T,q,void 0,(q.current.effectTag&64)===64)}catch{}},kw=function(q){try{D.onCommitFiberUnmount(T,q)}catch{}}}catch{}return!0}function CF(S,D,T,q){this.tag=S,this.key=T,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=D,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Dl(S,D,T,q){return new CF(S,D,T,q)}function Qw(S){return S=S.prototype,!(!S||!S.isReactComponent)}function wF(S){if(typeof S=="function")return Qw(S)?1:0;if(S!=null){if(S=S.$$typeof,S===L)return 11;if(S===te)return 14}return 2}function WA(S,D){var T=S.alternate;return T===null?(T=Dl(S.tag,D,S.key,S.mode),T.elementType=S.elementType,T.type=S.type,T.stateNode=S.stateNode,T.alternate=S,S.alternate=T):(T.pendingProps=D,T.effectTag=0,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null),T.childExpirationTime=S.childExpirationTime,T.expirationTime=S.expirationTime,T.child=S.child,T.memoizedProps=S.memoizedProps,T.memoizedState=S.memoizedState,T.updateQueue=S.updateQueue,D=S.dependencies,T.dependencies=D===null?null:{expirationTime:D.expirationTime,firstContext:D.firstContext,responders:D.responders},T.sibling=S.sibling,T.index=S.index,T.ref=S.ref,T}function qm(S,D,T,q,Y,Ae){var De=2;if(q=S,typeof S=="function")Qw(S)&&(De=1);else if(typeof S=="string")De=5;else e:switch(S){case E:return bu(T.children,Y,Ae,D);case R:De=8,Y|=7;break;case I:De=8,Y|=1;break;case v:return S=Dl(12,T,D,Y|8),S.elementType=v,S.type=v,S.expirationTime=Ae,S;case U:return S=Dl(13,T,D,Y),S.type=U,S.elementType=U,S.expirationTime=Ae,S;case J:return S=Dl(19,T,D,Y),S.elementType=J,S.expirationTime=Ae,S;default:if(typeof S=="object"&&S!==null)switch(S.$$typeof){case x:De=10;break e;case C:De=9;break e;case L:De=11;break e;case te:De=14;break e;case ae:De=16,q=null;break e}throw Error(n(130,S==null?S:typeof S,""))}return D=Dl(De,T,D,Y),D.elementType=S,D.type=q,D.expirationTime=Ae,D}function bu(S,D,T,q){return S=Dl(7,S,q,D),S.expirationTime=T,S}function Fw(S,D,T){return S=Dl(6,S,null,D),S.expirationTime=T,S}function Rw(S,D,T){return D=Dl(4,S.children!==null?S.children:[],S.key,D),D.expirationTime=T,D.stateNode={containerInfo:S.containerInfo,pendingChildren:null,implementation:S.implementation},D}function IF(S,D,T){this.tag=D,this.current=null,this.containerInfo=S,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=qe,this.pendingContext=this.context=null,this.hydrate=T,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function $v(S,D){var T=S.firstSuspendedTime;return S=S.lastSuspendedTime,T!==0&&T>=D&&S<=D}function KA(S,D){var T=S.firstSuspendedTime,q=S.lastSuspendedTime;TD||T===0)&&(S.lastSuspendedTime=D),D<=S.lastPingedTime&&(S.lastPingedTime=0),D<=S.lastExpiredTime&&(S.lastExpiredTime=0)}function eD(S,D){D>S.firstPendingTime&&(S.firstPendingTime=D);var T=S.firstSuspendedTime;T!==0&&(D>=T?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:D>=S.lastSuspendedTime&&(S.lastSuspendedTime=D+1),D>S.nextKnownPendingLevel&&(S.nextKnownPendingLevel=D))}function jm(S,D){var T=S.lastExpiredTime;(T===0||T>D)&&(S.lastExpiredTime=D)}function tD(S){var D=S._reactInternalFiber;if(D===void 0)throw typeof S.render=="function"?Error(n(188)):Error(n(268,Object.keys(S)));return S=Ee(D),S===null?null:S.stateNode}function rD(S,D){S=S.memoizedState,S!==null&&S.dehydrated!==null&&S.retryTime{"use strict";SEe.exports=DEe()});var xEe=_((yKt,bEe)=>{"use strict";var Hyt={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};bEe.exports=Hyt});var REe=_((EKt,FEe)=>{"use strict";var qyt=Object.assign||function(t){for(var e=1;e"}}]),t}(),kEe=function(){Wk(t,null,[{key:"fromJS",value:function(r){var o=r.width,a=r.height;return new t(o,a)}}]);function t(e,r){b6(this,t),this.width=e,this.height=r}return Wk(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return""}}]),t}(),QEe=function(){function t(e,r){b6(this,t),this.unit=e,this.value=r}return Wk(t,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case tu.UNIT_POINT:return String(this.value);case tu.UNIT_PERCENT:return this.value+"%";case tu.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),t}();FEe.exports=function(t,e){function r(u,A,p){var h=u[A];u[A]=function(){for(var E=arguments.length,I=Array(E),v=0;v1?I-1:0),x=1;x1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:tu.DIRECTION_LTR;return u.call(this,A,p,h)}),qyt({Config:e.Config,Node:e.Node,Layout:t("Layout",jyt),Size:t("Size",kEe),Value:t("Value",QEe),getInstanceCount:function(){return e.getInstanceCount.apply(e,arguments)}},tu)}});var TEe=_((exports,module)=>{(function(t,e){typeof define=="function"&&define.amd?define([],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:(t.nbind=t.nbind||{}).init=e})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(t,e){return function(){t&&t.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){e(r);return}e(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<"u"?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 ve=="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(e,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var o=nodeFS.readFileSync(e);return r?o:o.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},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<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(t,e){quit(t)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,o){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):o()},a.onerror=o,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(t){dump(t)}:function(t){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(t){document.title=t})}else throw"Unknown runtime environment. Where are we?";function globalEval(t){eval.call(null,t)}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),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(t,e){throw e}),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(t){return tempRet0=t,t},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(t){STACKTOP=t},getNativeTypeSize:function(t){switch(t){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(t[t.length-1]==="*")return Runtime.QUANTUM_SIZE;if(t[0]==="i"){var e=parseInt(t.substr(1));return assert(e%8===0),e/8}else return 0}}},getNativeFieldSize:function(t){return Math.max(Runtime.getNativeTypeSize(t),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(t,e){return e==="double"||e==="i64"?t&7&&(assert((t&7)===4),t+=4):assert((t&3)===0),t},getAlignSize:function(t,e,r){return!r&&(t=="i64"||t=="double")?8:t?Math.min(e||(t?Runtime.getNativeFieldSize(t):0),Runtime.QUANTUM_SIZE):Math.min(e,8)},dynCall:function(t,e,r){return r&&r.length?Module["dynCall_"+t].apply(null,[e].concat(r)):Module["dynCall_"+t].call(null,e)},functionPointers:[],addFunction:function(t){for(var e=0;e>2],r=(e+t+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var o=enlargeMemory();if(!o)return HEAP32[DYNAMICTOP_PTR>>2]=e,0}return e},alignMemory:function(t,e){var r=t=Math.ceil(t/(e||16))*(e||16);return r},makeBigInt:function(t,e,r){var o=r?+(t>>>0)+ +(e>>>0)*4294967296:+(t>>>0)+ +(e|0)*4294967296;return o},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(t,e){t||abort("Assertion failed: "+e)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(t){}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(t){var e=Runtime.stackAlloc(t.length);return writeArrayToMemory(t,e),e},stringToC:function(t){var e=0;if(t!=null&&t!==0){var r=(t.length<<2)+1;e=Runtime.stackAlloc(r),stringToUTF8(t,e,r)}return e}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,o,a,n){var u=getCFunc(e),A=[],p=0;if(a)for(var h=0;h>0]=e;break;case"i8":HEAP8[t>>0]=e;break;case"i16":HEAP16[t>>1]=e;break;case"i32":HEAP32[t>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t>>2]=tempI64[0],HEAP32[t+4>>2]=tempI64[1];break;case"float":HEAPF32[t>>2]=e;break;case"double":HEAPF64[t>>3]=e;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return HEAP8[t>>0];case"i8":return HEAP8[t>>0];case"i16":return HEAP16[t>>1];case"i32":return HEAP32[t>>2];case"i64":return HEAP32[t>>2];case"float":return HEAPF32[t>>2];case"double":return HEAPF64[t>>3];default:abort("invalid type for setValue: "+e)}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(t,e,r,o){var a,n;typeof t=="number"?(a=!0,n=t):(a=!1,n=t.length);var u=typeof e=="string"?e:null,A;if(r==ALLOC_NONE?A=o:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,u?1:e.length)),a){var o=A,p;for(assert((A&3)==0),p=A+(n&-4);o>2]=0;for(p=A+n;o>0]=0;return A}if(u==="i8")return t.subarray||t.slice?HEAPU8.set(t,A):HEAPU8.set(new Uint8Array(t),A),A;for(var h=0,E,I,v;h>0],r|=o,!(o==0&&!e||(a++,e&&a==e)););e||(e=a);var n="";if(r<128){for(var u=1024,A;e>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(t,t+Math.min(e,u))),n=n?n+A:A,t+=u,e-=u;return n}return Module.UTF8ToString(t)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(t){for(var e="";;){var r=HEAP8[t++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(t,e){return writeAsciiToMemory(t,e,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(t,e){for(var r=e;t[r];)++r;if(r-e>16&&t.subarray&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var o,a,n,u,A,p,h="";;){if(o=t[e++],!o)return h;if(!(o&128)){h+=String.fromCharCode(o);continue}if(a=t[e++]&63,(o&224)==192){h+=String.fromCharCode((o&31)<<6|a);continue}if(n=t[e++]&63,(o&240)==224?o=(o&15)<<12|a<<6|n:(u=t[e++]&63,(o&248)==240?o=(o&7)<<18|a<<12|n<<6|u:(A=t[e++]&63,(o&252)==248?o=(o&3)<<24|a<<18|n<<12|u<<6|A:(p=t[e++]&63,o=(o&1)<<30|a<<24|n<<18|u<<12|A<<6|p))),o<65536)h+=String.fromCharCode(o);else{var E=o-65536;h+=String.fromCharCode(55296|E>>10,56320|E&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(t){return UTF8ArrayToString(HEAPU8,t)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(t,e,r,o){if(!(o>0))return 0;for(var a=r,n=r+o-1,u=0;u=55296&&A<=57343&&(A=65536+((A&1023)<<10)|t.charCodeAt(++u)&1023),A<=127){if(r>=n)break;e[r++]=A}else if(A<=2047){if(r+1>=n)break;e[r++]=192|A>>6,e[r++]=128|A&63}else if(A<=65535){if(r+2>=n)break;e[r++]=224|A>>12,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=2097151){if(r+3>=n)break;e[r++]=240|A>>18,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=67108863){if(r+4>=n)break;e[r++]=248|A>>24,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else{if(r+5>=n)break;e[r++]=252|A>>30,e[r++]=128|A>>24&63,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}}return e[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(t,e,r){return stringToUTF8Array(t,HEAPU8,e,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(t){for(var e=0,r=0;r=55296&&o<=57343&&(o=65536+((o&1023)<<10)|t.charCodeAt(++r)&1023),o<=127?++e:o<=2047?e+=2:o<=65535?e+=3:o<=2097151?e+=4:o<=67108863?e+=5:e+=6}return e}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(t){var e=Module.___cxa_demangle||Module.__cxa_demangle;if(e){try{var r=t.substr(1),o=lengthBytesUTF8(r)+1,a=_malloc(o);stringToUTF8(r,a,o);var n=_malloc(4),u=e(a,0,0,n);if(getValue(n,"i32")===0&&u)return Pointer_stringify(u)}catch{}finally{a&&_free(a),n&&_free(n),u&&_free(u)}return t}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t}function demangleAll(t){var e=/__Z[\w\d_]+/g;return t.replace(e,function(r){var o=demangle(r);return r===o?r:r+" ["+o+"]"})}function jsStackTrace(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function stackTrace(){var t=jsStackTrace();return Module.extraStackTrace&&(t+=` +`+Module.extraStackTrace()),demangleAll(t)}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_MEMORY0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.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(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var o=r>0?r:lengthBytesUTF8(t)+1,a=new Array(o),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r255&&(o&=255),e.push(String.fromCharCode(o))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var o,a;r&&(a=e+lengthBytesUTF8(t),o=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=o)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var o=0;o>0]=t.charCodeAt(o);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var o=e>>>16,a=e&65535,n=r>>>16,u=r&65535;return a*u+(o*u+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),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(t){return t}function addRunDependency(t){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(t){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(t,e,r,o,a,n,u,A){return _nbind.callbackSignatureList[t].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(t,e,r,o,a,n,u,A){return ASM_CONSTS[t](e,r,o,a,n,u,A)}function _emscripten_asm_const_iiiii(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiidddddd(t,e,r,o,a,n,u,A,p){return ASM_CONSTS[t](e,r,o,a,n,u,A,p)}function _emscripten_asm_const_iiididi(t,e,r,o,a,n,u){return ASM_CONSTS[t](e,r,o,a,n,u)}function _emscripten_asm_const_iiii(t,e,r,o){return ASM_CONSTS[t](e,r,o)}function _emscripten_asm_const_iiiid(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiiiii(t,e,r,o,a,n){return ASM_CONSTS[t](e,r,o,a,n)}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(t,e){__ATEXIT__.unshift({func:t,arg:e})}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(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var A=t.length-1;A>=0;A--)(u=t[A])&&(n=(a<3?u(n):a>3?u(e,r,n):u(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n}function _defineHidden(t){return function(e,r){Object.defineProperty(e,r,{configurable:!1,enumerable:!1,value:t,writable:!0})}}var _nbind={};function __nbind_free_external(t){_nbind.externalList[t].dereference(t)}function __nbind_reference_external(t){_nbind.externalList[t].reference()}function _llvm_stackrestore(t){var e=_llvm_stacksave,r=e.LLVM_SAVEDSTACKS[t];e.LLVM_SAVEDSTACKS.splice(t,1),Runtime.stackRestore(r)}function __nbind_register_pool(t,e,r,o){_nbind.Pool.pageSize=t,_nbind.Pool.usedPtr=e/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=o/4,HEAP32[e/4]=16909060,HEAP8[e]==1&&(_nbind.bigEndian=!0),HEAP32[e/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_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 a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(t,e){if(Browser.mainLoop.timingMode=t,Browser.mainLoop.timingValue=e,!Browser.mainLoop.func)return 1;if(t==0)Browser.mainLoop.scheduler=function(){var u=Math.max(0,Browser.mainLoop.tickStartTime+e-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,u)},Browser.mainLoop.method="timeout";else if(t==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(t==2){if(!window.setImmediate){let n=function(u){u.source===window&&u.data===o&&(u.stopPropagation(),r.shift()())};var a=n,r=[],o="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(A){r.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:o})):window.postMessage(o,"*")}}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(t,e,r,o,a){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=t,Browser.mainLoop.arg=o;var n;typeof o<"u"?n=function(){Module.dynCall_vi(t,o)}:n=function(){Module.dynCall_v(t)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var E=Browser.mainLoop.remainingBlockers,I=E%1==0?E-1:Math.floor(E);h.counted?Browser.mainLoop.remainingBlockers=I:(I=I+.5,Browser.mainLoop.remainingBlockers=(8*E+I)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),u1&&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(n),!(u0?_emscripten_set_main_loop_timing(0,1e3/e):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)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 t=Browser.mainLoop.timingMode,e=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(t,e),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var t=Module.statusMessage||"Please wait...",e=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;e?e"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var t={};t.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},t.handle=function(n,u,A,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(u)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(u)}))}catch(x){Runtime.warnOnce("Blob constructor present but fails: "+x+"; falling back to blob builder")}if(!h){var E=new Browser.BlobBuilder;E.append(new Uint8Array(n).buffer),h=E.getBlob()}var I=Browser.URLObject.createObjectURL(h),v=new Image;v.onload=function(){assert(v.complete,"Image "+u+" could not be decoded");var C=document.createElement("canvas");C.width=v.width,C.height=v.height;var R=C.getContext("2d");R.drawImage(v,0,0),Module.preloadedImages[u]=C,Browser.URLObject.revokeObjectURL(I),A&&A(n)},v.onerror=function(C){console.log("Image "+I+" could not be decoded"),p&&p()},v.src=I},Module.preloadPlugins.push(t);var e={};e.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},e.handle=function(n,u,A,p){var h=!1;function E(R){h||(h=!0,Module.preloadedAudios[u]=R,A&&A(n))}function I(){h||(h=!0,Module.preloadedAudios[u]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var v=new Blob([n],{type:Browser.getMimetype(u)})}catch{return I()}var x=Browser.URLObject.createObjectURL(v),C=new Audio;C.addEventListener("canplaythrough",function(){E(C)},!1),C.onerror=function(L){if(h)return;console.log("warning: browser could not fully decode audio "+u+", trying slower base64 approach");function U(J){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ae="=",fe="",ce=0,me=0,he=0;he=6;){var Be=ce>>me-6&63;me-=6,fe+=te[Be]}return me==2?(fe+=te[(ce&3)<<4],fe+=ae+ae):me==4&&(fe+=te[(ce&15)<<2],fe+=ae),fe}C.src="data:audio/x-"+u.substr(-3)+";base64,"+U(n),E(C)},C.src=x,Browser.safeSetTimeout(function(){E(C)},1e4)}else return I()},Module.preloadPlugins.push(e);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var o=Module.canvas;o&&(o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock||o.msRequestPointerLock||function(){},o.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},o.exitPointerLock=o.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&o.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(t,e,r,o){if(e&&Module.ctx&&t==Module.canvas)return Module.ctx;var a,n;if(e){var u={antialias:!1,alpha:!1};if(o)for(var A in o)u[A]=o[A];n=GL.createContext(t,u),n&&(a=GL.getContext(n).GLctx)}else a=t.getContext("2d");return a?(r&&(e||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,e&&GL.makeContextCurrent(n),Module.useWebGL=e,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(t,e,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(t,e,r){Browser.lockPointer=t,Browser.resizeCanvas=e,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var o=Module.canvas;function a(){Browser.isFullscreen=!1;var u=o.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===u?(o.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},o.exitFullscreen=o.exitFullscreen.bind(document),Browser.lockPointer&&o.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(u.parentNode.insertBefore(o,u),u.parentNode.removeChild(u),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(o)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");o.parentNode.insertBefore(n,o),n.appendChild(o),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(t,e,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(o,a,n){return Browser.requestFullscreen(o,a,n)},Browser.requestFullscreen(t,e,r)},nextRAF:0,fakeRequestAnimationFrame:function(t){var e=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=e+1e3/60;else for(;e+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-e,0);setTimeout(t,r)},requestAnimationFrame:function t(e){typeof window>"u"?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(t){return function(){if(!ABORT)return t.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var t=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],t.forEach(function(e){e()})}},safeRequestAnimationFrame:function(t){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))})},safeSetTimeout:function(t,e){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))},e)},safeSetInterval:function(t,e){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&t()},e)},getMimetype:function(t){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[t.substr(t.lastIndexOf(".")+1)]},getUserMedia:function(t){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(t)},getMovementX:function(t){return t.movementX||t.mozMovementX||t.webkitMovementX||0},getMovementY:function(t){return t.movementY||t.mozMovementY||t.webkitMovementY||0},getMouseWheelDelta:function(t){var e=0;switch(t.type){case"DOMMouseScroll":e=t.detail;break;case"mousewheel":e=t.wheelDelta;break;case"wheel":e=t.deltaY;break;default:throw"unrecognized mouse wheel event: "+t.type}return e},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(t){if(Browser.pointerLock)t.type!="mousemove"&&"mozMovementX"in t?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(t),Browser.mouseMovementY=Browser.getMovementY(t)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var e=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,o=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(t.type==="touchstart"||t.type==="touchend"||t.type==="touchmove"){var u=t.touch;if(u===void 0)return;var A=u.pageX-(a+e.left),p=u.pageY-(n+e.top);A=A*(r/e.width),p=p*(o/e.height);var h={x:A,y:p};if(t.type==="touchstart")Browser.lastTouches[u.identifier]=h,Browser.touches[u.identifier]=h;else if(t.type==="touchend"||t.type==="touchmove"){var E=Browser.touches[u.identifier];E||(E=h),Browser.lastTouches[u.identifier]=E,Browser.touches[u.identifier]=h}return}var I=t.pageX-(a+e.left),v=t.pageY-(n+e.top);I=I*(r/e.width),v=v*(o/e.height),Browser.mouseMovementX=I-Browser.mouseX,Browser.mouseMovementY=v-Browser.mouseY,Browser.mouseX=I,Browser.mouseY=v}},asyncLoad:function(t,e,r,o){var a=o?"":"al "+t;Module.readAsync(t,function(n){assert(n,'Loading data file "'+t+'" failed (no arrayBuffer).'),e(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+t+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var t=Module.canvas;Browser.resizeListeners.forEach(function(e){e(t.width,t.height)})},setCanvasSize:function(t,e,r){var o=Module.canvas;Browser.updateCanvasDimensions(o,t,e),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},updateCanvasDimensions:function(t,e,r){e&&r?(t.widthNative=e,t.heightNative=r):(e=t.widthNative,r=t.heightNative);var o=e,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(o/a>2];return e},getStr:function(){var t=Pointer_stringify(SYSCALLS.get());return t},get64:function(){var t=SYSCALLS.get(),e=SYSCALLS.get();return t>=0?assert(e===0):assert(e===-1),t},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(o){return(typeof FS>"u"||!(o instanceof FS.ErrnoError))&&abort(o),-o.errno}}function ___syscall54(t,e){SYSCALLS.varargs=e;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(t){var e=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function r(p,h,E,I,v,x){if(h==1){var C=I&896;(C==128||C==256||C==384)&&(p="X const")}var R;return x?R=E.replace("X",p).replace("Y",v):R=p.replace("X",E).replace("Y",v),R.replace(/([*&]) (?=[*&])/g,"$1")}function o(p,h,E,I,v){throw new Error(p+" type "+E.replace("X",h+"?")+(I?" with flag "+I:"")+" in "+v)}function a(p,h,E,I,v,x,C,R){x===void 0&&(x="X"),R===void 0&&(R=1);var L=E(p);if(L)return L;var U=I(p),J=U.placeholderFlag,te=e[J];C&&te&&(x=r(C[2],C[0],x,te[0],"?",!0));var ae;J==0&&(ae="Unbound"),J>=10&&(ae="Corrupt"),R>20&&(ae="Deeply nested"),ae&&o(ae,p,x,J,v||"?");var fe=U.paramList[0],ce=a(fe,h,E,I,v,x,te,R+1),me,he={flags:te[0],id:p,name:"",paramList:[ce]},Be=[],we="?";switch(U.placeholderFlag){case 1:me=ce.spec;break;case 2:if((ce.flags&15360)==1024&&ce.spec.ptrSize==1){he.flags=7168;break}case 3:case 6:case 5:me=ce.spec,ce.flags&15360;break;case 8:we=""+U.paramList[1],he.paramList.push(U.paramList[1]);break;case 9:for(var g=0,Ee=U.paramList[1];g>2]=t),t}function _llvm_stacksave(){var t=_llvm_stacksave;return t.LLVM_SAVEDSTACKS||(t.LLVM_SAVEDSTACKS=[]),t.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),t.LLVM_SAVEDSTACKS.length-1}function ___syscall140(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),u=SYSCALLS.get(),A=a;return FS.llseek(r,A,u),HEAP32[n>>2]=r.position,r.getdents&&A===0&&u===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.get(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(E,I){var v=___syscall146.buffers[E];assert(v),I===0||I===10?((E===1?Module.print:Module.printErr)(UTF8ArrayToString(v,0)),v.length=0):v.push(I)});for(var u=0;u>2],p=HEAP32[o+(u*8+4)>>2],h=0;h"u"||!(E instanceof FS.ErrnoError))&&abort(E),-E.errno}}function __nbind_finish(){for(var t=0,e=_nbind.BindClass.list;tt.pageSize/2||e>t.pageSize-r){var o=_nbind.typeNameTbl.NBind.proto;return o.lalloc(e)}else return HEAPU32[t.usedPtr]=r+e,t.rootPtr+r},t.lreset=function(e,r){var o=HEAPU32[t.pagePtr];if(o){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(e,r)}else HEAPU32[t.usedPtr]=e},t}();_nbind.Pool=Pool;function constructType(t,e){var r=t==10240?_nbind.makeTypeNameTbl[e.name]||_nbind.BindType:_nbind.makeTypeKindTbl[t],o=new r(e);return typeIdTbl[e.id]=o,_nbind.typeNameTbl[e.name]=o,o}_nbind.constructType=constructType;function getType(t){return typeIdTbl[t]}_nbind.getType=getType;function queryType(t){var e=HEAPU8[t],r=_nbind.structureList[e][1];t/=4,r<0&&(++t,r=HEAPU32[t]+1);var o=Array.prototype.slice.call(HEAPU32.subarray(t+1,t+1+r));return e==9&&(o=[o[0],o.slice(1)]),{paramList:o,placeholderFlag:e}}_nbind.queryType=queryType;function getTypes(t,e){return t.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,e):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(t,e){return Array.prototype.slice.call(HEAPU32,t/4,t/4+e)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(t){for(var e=t;HEAPU8[e++];);return String.fromCharCode.apply("",HEAPU8.subarray(t,e-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(t){var e={};if(t)for(;;){var r=HEAPU32[t/4];if(!r)break;e[readAsciiString(r)]=!0,t+=4}return e}_nbind.readPolicyList=readPolicyList;function getDynCall(t,e){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},o=t.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+o];if(!a)throw new Error("dynCall_"+o+" not found for "+e+"("+t.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(t,e,r,o){var a=t[e];t.hasOwnProperty(e)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),t[e]=a),a.addMethod(r,o)):(r.arity=o,t[e]=r)}_nbind.addMethod=addMethod;function throwError(t){throw new Error(t)}_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(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return e.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},e.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},e}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return o.heap=a[r.ptrSize*8],o.ptrSize=r.ptrSize,o}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},e}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(t,e){if(t==null){if(e&&e.Nullable)return 0;throw new Error("Type mismatch")}if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t)+1,o=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(t,HEAPU8,o,r),o}_nbind.pushCString=pushCString;function popCString(t){return t===0?null:Module.Pointer_stringify(t)}_nbind.popCString=popCString;var CStringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushCString(a,o)}},e}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=function(o){return!!o},r}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireRead=function(r){return"!!("+r+")"},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},e}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function t(){}return t.prototype.persist=function(){this.__nbindState|=1},t}();_nbind.Wrapper=Wrapper;function makeBound(t,e){var r=function(o){__extends(a,o);function a(n,u,A,p){var h=o.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var E=u,I=A,v=p;if(n!==_nbind.ptrMarker){var x=h.__nbindConstructor.apply(h,arguments);E=4608,v=HEAPU32[x/4],I=HEAPU32[x/4+1]}var C={configurable:!0,enumerable:!1,value:null,writable:!1},R={__nbindFlags:E,__nbindPtr:I};v&&(R.__nbindShared=v,_nbind.mark(h));for(var L=0,U=Object.keys(R);L>=1;var r=_nbind.valueList[t];return _nbind.valueList[t]=firstFreeValue,firstFreeValue=t,r}else{if(e)return _nbind.popShared(t,e);throw new Error("Invalid value slot "+t)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(t){return typeof t=="number"?t:pushValue(t)*4096+valueBase}function pop64(t){return t=3?u=Buffer.from(n):u=new Buffer(n),u.copy(o)}else getBuffer(o).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var t=0,e=dirtyList;t>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(t,e,r,o,a,n){try{Module.dynCall_viiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_vif(t,e,r){try{Module.dynCall_vif(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_vid(t,e,r){try{Module.dynCall_vid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_fiff(t,e,r,o){try{return Module.dynCall_fiff(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(t,e){try{Module.dynCall_vi(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(t,e,r){try{Module.dynCall_vii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_ii(t,e){try{return Module.dynCall_ii(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(t,e,r,o,a){try{Module.dynCall_viddi(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(t,e,r,o){try{Module.dynCall_vidd(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(t,e,r,o){try{return Module.dynCall_iiii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(t,e,r,o){try{return Module.dynCall_diii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(t,e){try{return Module.dynCall_di(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(t,e,r){try{return Module.dynCall_iid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iii(t,e,r){try{return Module.dynCall_iii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiddi(t,e,r,o,a,n){try{Module.dynCall_viiddi(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiiiii(t,e,r,o,a,n,u){try{Module.dynCall_viiiiii(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(t,e,r){try{return Module.dynCall_dii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_i(t){try{return Module.dynCall_i(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_iiiiii(t,e,r,o,a,n){try{return Module.dynCall_iiiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiid(t,e,r,o,a){try{Module.dynCall_viiid(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(t,e,r,o,a,n,u){try{Module.dynCall_viififi(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(t,e,r,o){try{Module.dynCall_viii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(t){try{Module.dynCall_v(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_viid(t,e,r,o){try{Module.dynCall_viid(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(t,e,r){try{return Module.dynCall_idd(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiii(t,e,r,o,a){try{Module.dynCall_viiii(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},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(t,e,r){var o=new t.Int8Array(r),a=new t.Int16Array(r),n=new t.Int32Array(r),u=new t.Uint8Array(r),A=new t.Uint16Array(r),p=new t.Uint32Array(r),h=new t.Float32Array(r),E=new t.Float64Array(r),I=e.DYNAMICTOP_PTR|0,v=e.tempDoublePtr|0,x=e.ABORT|0,C=e.STACKTOP|0,R=e.STACK_MAX|0,L=e.cttz_i8|0,U=e.___dso_handle|0,J=0,te=0,ae=0,fe=0,ce=t.NaN,me=t.Infinity,he=0,Be=0,we=0,g=0,Ee=0,Se=0,le=t.Math.floor,ne=t.Math.abs,ee=t.Math.sqrt,Ie=t.Math.pow,Fe=t.Math.cos,At=t.Math.sin,H=t.Math.tan,at=t.Math.acos,Re=t.Math.asin,ke=t.Math.atan,xe=t.Math.atan2,He=t.Math.exp,Te=t.Math.log,Je=t.Math.ceil,qe=t.Math.imul,b=t.Math.min,w=t.Math.max,P=t.Math.clz32,y=t.Math.fround,F=e.abort,z=e.assert,X=e.enlargeMemory,Z=e.getTotalMemory,ie=e.abortOnCannotGrowMemory,Pe=e.invoke_viiiii,Ne=e.invoke_vif,ot=e.invoke_vid,dt=e.invoke_fiff,jt=e.invoke_vi,$t=e.invoke_vii,bt=e.invoke_ii,an=e.invoke_viddi,Qr=e.invoke_vidd,mr=e.invoke_iiii,br=e.invoke_diii,Wr=e.invoke_di,Kn=e.invoke_iid,Ns=e.invoke_iii,Ti=e.invoke_viiddi,ps=e.invoke_viiiiii,io=e.invoke_dii,Pi=e.invoke_i,Ls=e.invoke_iiiiii,so=e.invoke_viiid,cc=e.invoke_viififi,cu=e.invoke_viii,lp=e.invoke_v,cp=e.invoke_viid,Os=e.invoke_idd,Dn=e.invoke_viiii,oo=e._emscripten_asm_const_iiiii,Ms=e._emscripten_asm_const_iiidddddd,ml=e._emscripten_asm_const_iiiid,yl=e.__nbind_reference_external,ao=e._emscripten_asm_const_iiiiiiii,Vn=e._removeAccessorPrefix,On=e._typeModule,Ni=e.__nbind_register_pool,Mn=e.__decorate,_i=e._llvm_stackrestore,tr=e.___cxa_atexit,Oe=e.__extends,ii=e.__nbind_get_value_object,Ma=e.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,hr=e._emscripten_set_main_loop_timing,uc=e.__nbind_register_primitive,uu=e.__nbind_register_type,Ac=e._emscripten_memcpy_big,El=e.__nbind_register_function,DA=e.___setErrNo,Au=e.__nbind_register_class,Ce=e.__nbind_finish,Rt=e._abort,fc=e._nbind_value,Hi=e._llvm_stacksave,fu=e.___syscall54,Yt=e._defineHidden,Cl=e._emscripten_set_main_loop,SA=e._emscripten_get_now,up=e.__nbind_register_callback_signature,pc=e._emscripten_asm_const_iiiiii,PA=e.__nbind_free_external,Qn=e._emscripten_asm_const_iiii,hi=e._emscripten_asm_const_iiididi,hc=e.___syscall6,bA=e._atexit,sa=e.___syscall140,Li=e.___syscall146,_o=y(0);let Ze=y(0);function lo(s){s=s|0;var l=0;return l=C,C=C+s|0,C=C+15&-16,l|0}function gc(){return C|0}function pu(s){s=s|0,C=s}function qi(s,l){s=s|0,l=l|0,C=s,R=l}function hu(s,l){s=s|0,l=l|0,J||(J=s,te=l)}function xA(s){s=s|0,Se=s}function Ua(){return Se|0}function dc(){var s=0,l=0;Dr(8104,8,400)|0,Dr(8504,408,540)|0,s=9044,l=s+44|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o[9088]=0,o[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,tr(17,8104,U|0)|0}function hs(s){s=s|0,pt(s+948|0)}function _t(s){return s=y(s),((Du(s)|0)&2147483647)>>>0>2139095040|0}function Fn(s,l,c){s=s|0,l=l|0,c=c|0;e:do if(n[s+(l<<3)+4>>2]|0)s=s+(l<<3)|0;else{if((l|2|0)==3&&n[s+60>>2]|0){s=s+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[s+52>>2]|0){s=s+48|0;break e}break}default:}if(n[s+68>>2]|0){s=s+64|0;break}else{s=(l|1|0)==5?948:c;break}}while(0);return s|0}function Ci(s){s=s|0;var l=0;return l=pD(1e3)|0,oa(s,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,Dr(l|0,8104,1e3)|0,o[s+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=s,l|0}function oa(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,Eg(s,5,3197,f)),C=d}function co(){return Ci(956)|0}function Us(s){s=s|0;var l=0;return l=Kt(1e3)|0,aa(l,s),oa(n[s+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function aa(s,l){s=s|0,l=l|0;var c=0;Dr(s|0,l|0,948)|0,Rm(s+948|0,l+948|0),c=s+960|0,s=l+960|0,l=c+40|0;do n[c>>2]=n[s>>2],c=c+4|0,s=s+4|0;while((c|0)<(l|0))}function la(s){s=s|0;var l=0,c=0,f=0,d=0;if(l=s+944|0,c=n[l>>2]|0,c|0&&(Ho(c+948|0,s)|0,n[l>>2]=0),c=wi(s)|0,c|0){l=0;do n[(gs(s,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(c|0))}c=s+948|0,f=n[c>>2]|0,d=s+952|0,l=n[d>>2]|0,(l|0)!=(f|0)&&(n[d>>2]=l+(~((l+-4-f|0)>>>2)<<2)),ds(c),hD(s),n[2276]=(n[2276]|0)+-1}function Ho(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0;f=n[s>>2]|0,k=s+4|0,c=n[k>>2]|0,m=c;e:do if((f|0)==(c|0))d=f,B=4;else for(s=f;;){if((n[s>>2]|0)==(l|0)){d=s,B=4;break e}if(s=s+4|0,(s|0)==(c|0)){s=0;break}}while(0);return(B|0)==4&&((d|0)!=(c|0)?(f=d+4|0,s=m-f|0,l=s>>2,l&&(Mw(d|0,f|0,s|0)|0,c=n[k>>2]|0),s=d+(l<<2)|0,(c|0)==(s|0)||(n[k>>2]=c+(~((c+-4-s|0)>>>2)<<2)),s=1):s=0),s|0}function wi(s){return s=s|0,(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2|0}function gs(s,l){s=s|0,l=l|0;var c=0;return c=n[s+948>>2]|0,(n[s+952>>2]|0)-c>>2>>>0>l>>>0?s=n[c+(l<<2)>>2]|0:s=0,s|0}function ds(s){s=s|0;var l=0,c=0,f=0,d=0;f=C,C=C+32|0,l=f,d=n[s>>2]|0,c=(n[s+4>>2]|0)-d|0,((n[s+8>>2]|0)-d|0)>>>0>c>>>0&&(d=c>>2,Ip(l,d,d,s+8|0),Bg(s,l),_A(l)),C=f}function ms(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;M=wi(s)|0;do if(M|0){if((n[(gs(s,0)|0)+944>>2]|0)==(s|0)){if(!(Ho(s+948|0,l)|0))break;Dr(l+400|0,8504,540)|0,n[l+944>>2]=0,Le(s);break}B=n[(n[s+976>>2]|0)+12>>2]|0,k=s+948|0,Q=(B|0)==0,c=0,m=0;do f=n[(n[k>>2]|0)+(m<<2)>>2]|0,(f|0)==(l|0)?Le(s):(d=Us(f)|0,n[(n[k>>2]|0)+(c<<2)>>2]=d,n[d+944>>2]=s,Q||TR[B&15](f,d,s,c),c=c+1|0),m=m+1|0;while((m|0)!=(M|0));if(c>>>0>>0){Q=s+948|0,k=s+952|0,B=c,c=n[k>>2]|0;do m=(n[Q>>2]|0)+(B<<2)|0,f=m+4|0,d=c-f|0,l=d>>2,l&&(Mw(m|0,f|0,d|0)|0,c=n[k>>2]|0),d=c,f=m+(l<<2)|0,(d|0)!=(f|0)&&(c=d+(~((d+-4-f|0)>>>2)<<2)|0,n[k>>2]=c),B=B+1|0;while((B|0)!=(M|0))}}while(0)}function _s(s){s=s|0;var l=0,c=0,f=0,d=0;Un(s,(wi(s)|0)==0,2491),Un(s,(n[s+944>>2]|0)==0,2545),l=s+948|0,c=n[l>>2]|0,f=s+952|0,d=n[f>>2]|0,(d|0)!=(c|0)&&(n[f>>2]=d+(~((d+-4-c|0)>>>2)<<2)),ds(l),l=s+976|0,c=n[l>>2]|0,Dr(s|0,8104,1e3)|0,o[c+2>>0]|0&&(n[s+4>>2]=2,n[s+12>>2]=4),n[l>>2]=c}function Un(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,Ao(s,5,3197,f)),C=d}function Sn(){return n[2276]|0}function ys(){var s=0;return s=pD(20)|0,We((s|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[s>>2]=n[239],n[s+4>>2]=n[240],n[s+8>>2]=n[241],n[s+12>>2]=n[242],n[s+16>>2]=n[243],s|0}function We(s,l){s=s|0,l=l|0;var c=0,f=0;f=C,C=C+16|0,c=f,s||(n[c>>2]=l,Ao(0,5,3197,c)),C=f}function tt(s){s=s|0,hD(s),n[2277]=(n[2277]|0)+-1}function It(s,l){s=s|0,l=l|0;var c=0;l?(Un(s,(wi(s)|0)==0,2629),c=1):(c=0,l=0),n[s+964>>2]=l,n[s+988>>2]=c}function nr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+8|0,d=f+4|0,B=f,n[d>>2]=l,Un(s,(n[l+944>>2]|0)==0,2709),Un(s,(n[s+964>>2]|0)==0,2763),$(s),l=s+948|0,n[B>>2]=(n[l>>2]|0)+(c<<2),n[m>>2]=n[B>>2],ye(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=s,Le(s),C=f}function $(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;if(c=wi(s)|0,c|0&&(n[(gs(s,0)|0)+944>>2]|0)!=(s|0)){f=n[(n[s+976>>2]|0)+12>>2]|0,d=s+948|0,m=(f|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,k=Us(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=k,n[k+944>>2]=s,m||TR[f&15](B,k,s,l),l=l+1|0;while((l|0)!=(c|0))}}function ye(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0,Me=0,Qe=0,et=0,Xe=0;et=C,C=C+64|0,j=et+52|0,k=et+48|0,se=et+28|0,Ge=et+24|0,Me=et+20|0,Qe=et,f=n[s>>2]|0,m=f,l=f+((n[l>>2]|0)-m>>2<<2)|0,f=s+4|0,d=n[f>>2]|0,B=s+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[c>>2],n[f>>2]=(n[f>>2]|0)+4;break}HA(s,l,d,l+4|0),l>>>0<=c>>>0&&(c=(n[f>>2]|0)>>>0>c>>>0?c+4|0:c),n[l>>2]=n[c>>2]}else{f=(d-m>>2)+1|0,d=N(s)|0,d>>>0>>0&&zr(s),O=n[s>>2]|0,M=(n[B>>2]|0)-O|0,m=M>>1,Ip(Qe,M>>2>>>0>>1>>>0?m>>>0>>0?f:m:d,l-O>>2,s+8|0),O=Qe+8|0,f=n[O>>2]|0,m=Qe+12|0,M=n[m>>2]|0,B=M,Q=f;do if((f|0)==(M|0)){if(M=Qe+4|0,f=n[M>>2]|0,Xe=n[Qe>>2]|0,d=Xe,f>>>0<=Xe>>>0){f=B-d>>1,f=(f|0)==0?1:f,Ip(se,f,f>>>2,n[Qe+16>>2]|0),n[Ge>>2]=n[M>>2],n[Me>>2]=n[O>>2],n[k>>2]=n[Ge>>2],n[j>>2]=n[Me>>2],Dw(se,k,j),f=n[Qe>>2]|0,n[Qe>>2]=n[se>>2],n[se>>2]=f,f=se+4|0,Xe=n[M>>2]|0,n[M>>2]=n[f>>2],n[f>>2]=Xe,f=se+8|0,Xe=n[O>>2]|0,n[O>>2]=n[f>>2],n[f>>2]=Xe,f=se+12|0,Xe=n[m>>2]|0,n[m>>2]=n[f>>2],n[f>>2]=Xe,_A(se),f=n[O>>2]|0;break}m=f,B=((m-d>>2)+1|0)/-2|0,k=f+(B<<2)|0,d=Q-m|0,m=d>>2,m&&(Mw(k|0,f|0,d|0)|0,f=n[M>>2]|0),Xe=k+(m<<2)|0,n[O>>2]=Xe,n[M>>2]=f+(B<<2),f=Xe}while(0);n[f>>2]=n[c>>2],n[O>>2]=(n[O>>2]|0)+4,l=vg(s,Qe,l)|0,_A(Qe)}while(0);return C=et,l|0}function Le(s){s=s|0;var l=0;do{if(l=s+984|0,o[l>>0]|0)break;o[l>>0]=1,h[s+504>>2]=y(ce),s=n[s+944>>2]|0}while((s|0)!=0)}function pt(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),gt(c))}function ht(s){return s=s|0,n[s+944>>2]|0}function Tt(s){s=s|0,Un(s,(n[s+964>>2]|0)!=0,2832),Le(s)}function er(s){return s=s|0,(o[s+984>>0]|0)!=0|0}function $r(s,l){s=s|0,l=l|0,QUe(s,l,400)|0&&(Dr(s|0,l|0,400)|0,Le(s))}function ji(s){s=s|0;var l=Ze;return l=y(h[s+44>>2]),s=_t(l)|0,y(s?y(0):l)}function es(s){s=s|0;var l=Ze;return l=y(h[s+48>>2]),_t(l)|0&&(l=o[(n[s+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function bi(s,l){s=s|0,l=l|0,n[s+980>>2]=l}function qo(s){return s=s|0,n[s+980>>2]|0}function kA(s,l){s=s|0,l=l|0;var c=0;c=s+4|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function QA(s){return s=s|0,n[s+4>>2]|0}function Ap(s,l){s=s|0,l=l|0;var c=0;c=s+8|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function ig(s){return s=s|0,n[s+8>>2]|0}function gu(s,l){s=s|0,l=l|0;var c=0;c=s+12|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function sg(s){return s=s|0,n[s+12>>2]|0}function du(s,l){s=s|0,l=l|0;var c=0;c=s+16|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function uo(s){return s=s|0,n[s+16>>2]|0}function FA(s,l){s=s|0,l=l|0;var c=0;c=s+20|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function mc(s){return s=s|0,n[s+20>>2]|0}function ca(s,l){s=s|0,l=l|0;var c=0;c=s+24|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function og(s){return s=s|0,n[s+24>>2]|0}function yc(s,l){s=s|0,l=l|0;var c=0;c=s+28|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function Pm(s){return s=s|0,n[s+28>>2]|0}function ag(s,l){s=s|0,l=l|0;var c=0;c=s+32|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function $n(s){return s=s|0,n[s+32>>2]|0}function fp(s,l){s=s|0,l=l|0;var c=0;c=s+36|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function lg(s){return s=s|0,n[s+36>>2]|0}function RA(s,l){s=s|0,l=y(l);var c=0;c=s+40|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function Hs(s,l){s=s|0,l=y(l);var c=0;c=s+44|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function mu(s,l){s=s|0,l=y(l);var c=0;c=s+48|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function Ha(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=(m^1)&1,f=s+52|0,d=s+56|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function Gi(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+52|0,c=s+56|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=_t(l)|0,n[c>>2]=f?3:2,Le(s))}function ua(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+52|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function yu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=_t(c)|0,f=(m^1)&1,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function Es(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=_t(c)|0,f=m?0:2,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function Ec(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+132+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Cc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=_t(c)|0,f=(m^1)&1,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function G(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=_t(c)|0,f=m?0:2,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function Dt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+60+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function wl(s,l){s=s|0,l=l|0;var c=0;c=s+60+(l<<3)+4|0,(n[c>>2]|0)!=3&&(h[s+60+(l<<3)>>2]=y(ce),n[c>>2]=3,Le(s))}function xi(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=_t(c)|0,f=(m^1)&1,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function wc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=_t(c)|0,f=m?0:2,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function ct(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+204+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Eu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=_t(c)|0,f=(m^1)&1,d=s+276+(l<<3)|0,l=s+276+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function cg(s,l){return s=s|0,l=l|0,y(h[s+276+(l<<3)>>2])}function yw(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=(m^1)&1,f=s+348|0,d=s+352|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function TA(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+348|0,c=s+352|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=_t(l)|0,n[c>>2]=f?3:2,Le(s))}function pp(s){s=s|0;var l=0;l=s+352|0,(n[l>>2]|0)!=3&&(h[s+348>>2]=y(ce),n[l>>2]=3,Le(s))}function Br(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+348|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Cs(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=(m^1)&1,f=s+356|0,d=s+360|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function ug(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+356|0,c=s+360|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=_t(l)|0,n[c>>2]=f?3:2,Le(s))}function Ag(s){s=s|0;var l=0;l=s+360|0,(n[l>>2]|0)!=3&&(h[s+356>>2]=y(ce),n[l>>2]=3,Le(s))}function fg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+356|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function hp(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=(m^1)&1,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function Ic(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=m?0:2,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function Ct(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+364|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function bm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=(m^1)&1,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function pg(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=m?0:2,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function hg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+372|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Cu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=(m^1)&1,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function xm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=m?0:2,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function gg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+380|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function wu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=(m^1)&1,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function Ew(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=_t(l)|0,c=m?0:2,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function km(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+388|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Aa(s,l){s=s|0,l=y(l);var c=0;c=s+396|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function Bc(s){return s=s|0,y(h[s+396>>2])}function Il(s){return s=s|0,y(h[s+400>>2])}function Iu(s){return s=s|0,y(h[s+404>>2])}function dg(s){return s=s|0,y(h[s+408>>2])}function NA(s){return s=s|0,y(h[s+412>>2])}function gp(s){return s=s|0,y(h[s+416>>2])}function qa(s){return s=s|0,y(h[s+420>>2])}function mg(s,l){switch(s=s|0,l=l|0,Un(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+424+(l<<2)>>2])}function dp(s,l){switch(s=s|0,l=l|0,Un(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+448+(l<<2)>>2])}function jo(s,l){switch(s=s|0,l=l|0,Un(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+472+(l<<2)>>2])}function ws(s,l){s=s|0,l=l|0;var c=0,f=Ze;return c=n[s+4>>2]|0,(c|0)==(n[l+4>>2]|0)?c?(f=y(h[s>>2]),s=y(ne(y(f-y(h[l>>2]))))>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,Ma(f|0,s|0,l|0,0),Ao(s,3,(o[f+11>>0]|0)<0?n[f>>2]|0:f,c),e3e(f),C=c}function Go(s,l,c,f){s=y(s),l=y(l),c=c|0,f=f|0;var d=Ze;s=y(s*l),d=y(bR(s,y(1)));do if(Ii(d,y(0))|0)s=y(s-d);else{if(s=y(s-d),Ii(d,y(1))|0){s=y(s+y(1));break}if(c){s=y(s+y(1));break}f||(d>y(.5)?d=y(1):(f=Ii(d,y(.5))|0,d=y(f?1:0)),s=y(s+d))}while(0);return y(s/l)}function LA(s,l,c,f,d,m,B,k,Q,M,O,j,se){s=s|0,l=y(l),c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,k=y(k),Q=y(Q),M=y(M),O=y(O),j=y(j),se=se|0;var Ge=0,Me=Ze,Qe=Ze,et=Ze,Xe=Ze,lt=Ze,Ue=Ze;return Q>2]),Me!=y(0))?(et=y(Go(l,Me,0,0)),Xe=y(Go(f,Me,0,0)),Qe=y(Go(m,Me,0,0)),Me=y(Go(k,Me,0,0))):(Qe=m,et=l,Me=k,Xe=f),(d|0)==(s|0)?Ge=Ii(Qe,et)|0:Ge=0,(B|0)==(c|0)?se=Ii(Me,Xe)|0:se=0,!Ge&&(lt=y(l-O),!(mp(s,lt,Q)|0))&&!(yp(s,lt,d,Q)|0)?Ge=yg(s,lt,d,m,Q)|0:Ge=1,!se&&(Ue=y(f-j),!(mp(c,Ue,M)|0))&&!(yp(c,Ue,B,M)|0)?se=yg(c,Ue,B,k,M)|0:se=1,se=Ge&se),se|0}function mp(s,l,c){return s=s|0,l=y(l),c=y(c),(s|0)==1?s=Ii(l,c)|0:s=0,s|0}function yp(s,l,c,f){return s=s|0,l=y(l),c=c|0,f=y(f),(s|0)==2&(c|0)==0?l>=f?s=1:s=Ii(l,f)|0:s=0,s|0}function yg(s,l,c,f,d){return s=s|0,l=y(l),c=c|0,f=y(f),d=y(d),(s|0)==2&(c|0)==2&f>l?d<=l?s=1:s=Ii(l,d)|0:s=0,s|0}function fa(s,l,c,f,d,m,B,k,Q,M,O){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),k=y(k),Q=Q|0,M=M|0,O=O|0;var j=0,se=0,Ge=0,Me=0,Qe=Ze,et=Ze,Xe=0,lt=0,Ue=0,je=0,Lt=0,Mr=0,or=0,Xt=0,Sr=0,Nr=0,ir=0,xn=Ze,go=Ze,mo=Ze,yo=0,ya=0;ir=C,C=C+160|0,Xt=ir+152|0,or=ir+120|0,Mr=ir+104|0,Ue=ir+72|0,Me=ir+56|0,Lt=ir+8|0,lt=ir,je=(n[2279]|0)+1|0,n[2279]=je,Sr=s+984|0,(o[Sr>>0]|0)!=0&&(n[s+512>>2]|0)!=(n[2278]|0)?Xe=4:(n[s+516>>2]|0)==(f|0)?Nr=0:Xe=4,(Xe|0)==4&&(n[s+520>>2]=0,n[s+924>>2]=-1,n[s+928>>2]=-1,h[s+932>>2]=y(-1),h[s+936>>2]=y(-1),Nr=1);e:do if(n[s+964>>2]|0)if(Qe=y(ln(s,2,B)),et=y(ln(s,0,B)),j=s+916|0,mo=y(h[j>>2]),go=y(h[s+920>>2]),xn=y(h[s+932>>2]),LA(d,l,m,c,n[s+924>>2]|0,mo,n[s+928>>2]|0,go,xn,y(h[s+936>>2]),Qe,et,O)|0)Xe=22;else if(Ge=n[s+520>>2]|0,!Ge)Xe=21;else for(se=0;;){if(j=s+524+(se*24|0)|0,xn=y(h[j>>2]),go=y(h[s+524+(se*24|0)+4>>2]),mo=y(h[s+524+(se*24|0)+16>>2]),LA(d,l,m,c,n[s+524+(se*24|0)+8>>2]|0,xn,n[s+524+(se*24|0)+12>>2]|0,go,mo,y(h[s+524+(se*24|0)+20>>2]),Qe,et,O)|0){Xe=22;break e}if(se=se+1|0,se>>>0>=Ge>>>0){Xe=21;break}}else{if(Q){if(j=s+916|0,!(Ii(y(h[j>>2]),l)|0)){Xe=21;break}if(!(Ii(y(h[s+920>>2]),c)|0)){Xe=21;break}if((n[s+924>>2]|0)!=(d|0)){Xe=21;break}j=(n[s+928>>2]|0)==(m|0)?j:0,Xe=22;break}if(Ge=n[s+520>>2]|0,!Ge)Xe=21;else for(se=0;;){if(j=s+524+(se*24|0)|0,Ii(y(h[j>>2]),l)|0&&Ii(y(h[s+524+(se*24|0)+4>>2]),c)|0&&(n[s+524+(se*24|0)+8>>2]|0)==(d|0)&&(n[s+524+(se*24|0)+12>>2]|0)==(m|0)){Xe=22;break e}if(se=se+1|0,se>>>0>=Ge>>>0){Xe=21;break}}}while(0);do if((Xe|0)==21)o[11697]|0?(j=0,Xe=28):(j=0,Xe=31);else if((Xe|0)==22){if(se=(o[11697]|0)!=0,!((j|0)!=0&(Nr^1)))if(se){Xe=28;break}else{Xe=31;break}Me=j+16|0,n[s+908>>2]=n[Me>>2],Ge=j+20|0,n[s+912>>2]=n[Ge>>2],(o[11698]|0)==0|se^1||(n[lt>>2]=OA(je)|0,n[lt+4>>2]=je,Ao(s,4,2972,lt),se=n[s+972>>2]|0,se|0&&tf[se&127](s),d=ja(d,Q)|0,m=ja(m,Q)|0,ya=+y(h[Me>>2]),yo=+y(h[Ge>>2]),n[Lt>>2]=d,n[Lt+4>>2]=m,E[Lt+8>>3]=+l,E[Lt+16>>3]=+c,E[Lt+24>>3]=ya,E[Lt+32>>3]=yo,n[Lt+40>>2]=M,Ao(s,4,2989,Lt))}while(0);return(Xe|0)==28&&(se=OA(je)|0,n[Me>>2]=se,n[Me+4>>2]=je,n[Me+8>>2]=Nr?3047:11699,Ao(s,4,3038,Me),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Lt=ja(d,Q)|0,Xe=ja(m,Q)|0,n[Ue>>2]=Lt,n[Ue+4>>2]=Xe,E[Ue+8>>3]=+l,E[Ue+16>>3]=+c,n[Ue+24>>2]=M,Ao(s,4,3049,Ue),Xe=31),(Xe|0)==31&&(si(s,l,c,f,d,m,B,k,Q,O),o[11697]|0&&(se=n[2279]|0,Lt=OA(se)|0,n[Mr>>2]=Lt,n[Mr+4>>2]=se,n[Mr+8>>2]=Nr?3047:11699,Ao(s,4,3083,Mr),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Lt=ja(d,Q)|0,Mr=ja(m,Q)|0,yo=+y(h[s+908>>2]),ya=+y(h[s+912>>2]),n[or>>2]=Lt,n[or+4>>2]=Mr,E[or+8>>3]=yo,E[or+16>>3]=ya,n[or+24>>2]=M,Ao(s,4,3092,or)),n[s+516>>2]=f,j||(se=s+520|0,j=n[se>>2]|0,(j|0)==16&&(o[11697]|0&&Ao(s,4,3124,Xt),n[se>>2]=0,j=0),Q?j=s+916|0:(n[se>>2]=j+1,j=s+524+(j*24|0)|0),h[j>>2]=l,h[j+4>>2]=c,n[j+8>>2]=d,n[j+12>>2]=m,n[j+16>>2]=n[s+908>>2],n[j+20>>2]=n[s+912>>2],j=0)),Q&&(n[s+416>>2]=n[s+908>>2],n[s+420>>2]=n[s+912>>2],o[s+985>>0]=1,o[Sr>>0]=0),n[2279]=(n[2279]|0)+-1,n[s+512>>2]=n[2278],C=ir,Nr|(j|0)==0|0}function ln(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(K(s,l,c)),y(f+y(re(s,l,c)))}function Ao(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=C,C=C+16|0,d=m,n[d>>2]=f,s?f=n[s+976>>2]|0:f=0,Cg(f,s,l,c,d),C=m}function OA(s){return s=s|0,(s>>>0>60?3201:3201+(60-s)|0)|0}function ja(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+32|0,c=d+12|0,f=d,n[c>>2]=n[254],n[c+4>>2]=n[255],n[c+8>>2]=n[256],n[f>>2]=n[257],n[f+4>>2]=n[258],n[f+8>>2]=n[259],(s|0)>2?s=11699:s=n[(l?f:c)+(s<<2)>>2]|0,C=d,s|0}function si(s,l,c,f,d,m,B,k,Q,M){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),k=y(k),Q=Q|0,M=M|0;var O=0,j=0,se=0,Ge=0,Me=Ze,Qe=Ze,et=Ze,Xe=Ze,lt=Ze,Ue=Ze,je=Ze,Lt=0,Mr=0,or=0,Xt=Ze,Sr=Ze,Nr=0,ir=Ze,xn=0,go=0,mo=0,yo=0,ya=0,Fp=0,Rp=0,bl=0,Tp=0,Fu=0,Ru=0,Np=0,Lp=0,Op=0,Xr=0,xl=0,Mp=0,xc=0,Up=Ze,_p=Ze,Tu=Ze,Nu=Ze,kc=Ze,js=0,za=0,Wo=0,kl=0,nf=0,sf=Ze,Lu=Ze,of=Ze,af=Ze,Gs=Ze,vs=Ze,Ql=0,Rn=Ze,lf=Ze,Eo=Ze,Qc=Ze,Co=Ze,Fc=Ze,cf=0,uf=0,Rc=Ze,Ys=Ze,Fl=0,Af=0,ff=0,pf=0,xr=Ze,Jn=0,Ds=0,wo=0,Ws=0,Rr=0,ur=0,Rl=0,Jt=Ze,hf=0,li=0;Rl=C,C=C+16|0,js=Rl+12|0,za=Rl+8|0,Wo=Rl+4|0,kl=Rl,Un(s,(d|0)==0|(_t(l)|0)^1,3326),Un(s,(m|0)==0|(_t(c)|0)^1,3406),Ds=mt(s,f)|0,n[s+496>>2]=Ds,Rr=fr(2,Ds)|0,ur=fr(0,Ds)|0,h[s+440>>2]=y(K(s,Rr,B)),h[s+444>>2]=y(re(s,Rr,B)),h[s+428>>2]=y(K(s,ur,B)),h[s+436>>2]=y(re(s,ur,B)),h[s+464>>2]=y(Cr(s,Rr)),h[s+468>>2]=y(yn(s,Rr)),h[s+452>>2]=y(Cr(s,ur)),h[s+460>>2]=y(yn(s,ur)),h[s+488>>2]=y(oi(s,Rr,B)),h[s+492>>2]=y(Oi(s,Rr,B)),h[s+476>>2]=y(oi(s,ur,B)),h[s+484>>2]=y(Oi(s,ur,B));do if(n[s+964>>2]|0)Ig(s,l,c,d,m,B,k);else{if(wo=s+948|0,Ws=(n[s+952>>2]|0)-(n[wo>>2]|0)>>2,!Ws){Gv(s,l,c,d,m,B,k);break}if(!Q&&Yv(s,l,c,d,m,B,k)|0)break;$(s),xl=s+508|0,o[xl>>0]=0,Rr=fr(n[s+4>>2]|0,Ds)|0,ur=ww(Rr,Ds)|0,Jn=pe(Rr)|0,Mp=n[s+8>>2]|0,Af=s+28|0,xc=(n[Af>>2]|0)!=0,Co=Jn?B:k,Rc=Jn?k:B,Up=y(Cp(s,Rr,B)),_p=y(Iw(s,Rr,B)),Me=y(Cp(s,ur,B)),Fc=y(En(s,Rr,B)),Ys=y(En(s,ur,B)),or=Jn?d:m,Fl=Jn?m:d,xr=Jn?Fc:Ys,lt=Jn?Ys:Fc,Qc=y(ln(s,2,B)),Xe=y(ln(s,0,B)),Qe=y(y(Gr(s+364|0,B))-xr),et=y(y(Gr(s+380|0,B))-xr),Ue=y(y(Gr(s+372|0,k))-lt),je=y(y(Gr(s+388|0,k))-lt),Tu=Jn?Qe:Ue,Nu=Jn?et:je,Qc=y(l-Qc),l=y(Qc-xr),_t(l)|0?xr=l:xr=y(_n(y(Tg(l,et)),Qe)),lf=y(c-Xe),l=y(lf-lt),_t(l)|0?Eo=l:Eo=y(_n(y(Tg(l,je)),Ue)),Qe=Jn?xr:Eo,Rn=Jn?Eo:xr;e:do if((or|0)==1)for(f=0,j=0;;){if(O=gs(s,j)|0,!f)y(rs(O))>y(0)&&y(qs(O))>y(0)?f=O:f=0;else if(Tm(O)|0){Ge=0;break e}if(j=j+1|0,j>>>0>=Ws>>>0){Ge=f;break}}else Ge=0;while(0);Lt=Ge+500|0,Mr=Ge+504|0,f=0,O=0,l=y(0),se=0;do{if(j=n[(n[wo>>2]|0)+(se<<2)>>2]|0,(n[j+36>>2]|0)==1)Bu(j),o[j+985>>0]=1,o[j+984>>0]=0;else{Bl(j),Q&&Ep(j,mt(j,Ds)|0,Qe,Rn,xr);do if((n[j+24>>2]|0)!=1)if((j|0)==(Ge|0)){n[Lt>>2]=n[2278],h[Mr>>2]=y(0);break}else{Nm(s,j,xr,d,Eo,xr,Eo,m,Ds,M);break}else O|0&&(n[O+960>>2]=j),n[j+960>>2]=0,O=j,f=(f|0)==0?j:f;while(0);vs=y(h[j+504>>2]),l=y(l+y(vs+y(ln(j,Rr,xr))))}se=se+1|0}while((se|0)!=(Ws|0));for(mo=l>Qe,Ql=xc&((or|0)==2&mo)?1:or,xn=(Fl|0)==1,ya=xn&(Q^1),Fp=(Ql|0)==1,Rp=(Ql|0)==2,bl=976+(Rr<<2)|0,Tp=(Fl|2|0)==2,Op=xn&(xc^1),Fu=1040+(ur<<2)|0,Ru=1040+(Rr<<2)|0,Np=976+(ur<<2)|0,Lp=(Fl|0)!=1,mo=xc&((or|0)!=0&mo),go=s+976|0,xn=xn^1,l=Qe,Nr=0,yo=0,vs=y(0),kc=y(0);;){e:do if(Nr>>>0>>0)for(Mr=n[wo>>2]|0,se=0,je=y(0),Ue=y(0),et=y(0),Qe=y(0),j=0,O=0,Ge=Nr;;){if(Lt=n[Mr+(Ge<<2)>>2]|0,(n[Lt+36>>2]|0)!=1&&(n[Lt+940>>2]=yo,(n[Lt+24>>2]|0)!=1)){if(Xe=y(ln(Lt,Rr,xr)),Xr=n[bl>>2]|0,c=y(Gr(Lt+380+(Xr<<3)|0,Co)),lt=y(h[Lt+504>>2]),c=y(Tg(c,lt)),c=y(_n(y(Gr(Lt+364+(Xr<<3)|0,Co)),c)),xc&(se|0)!=0&y(Xe+y(Ue+c))>l){m=se,Xe=je,or=Ge;break e}Xe=y(Xe+c),c=y(Ue+Xe),Xe=y(je+Xe),Tm(Lt)|0&&(et=y(et+y(rs(Lt))),Qe=y(Qe-y(lt*y(qs(Lt))))),O|0&&(n[O+960>>2]=Lt),n[Lt+960>>2]=0,se=se+1|0,O=Lt,j=(j|0)==0?Lt:j}else Xe=je,c=Ue;if(Ge=Ge+1|0,Ge>>>0>>0)je=Xe,Ue=c;else{m=se,or=Ge;break}}else m=0,Xe=y(0),et=y(0),Qe=y(0),j=0,or=Nr;while(0);Xr=et>y(0)&ety(0)&QeNu&((_t(Nu)|0)^1))l=Nu,Xr=51;else if(o[(n[go>>2]|0)+3>>0]|0)Xr=51;else{if(Xt!=y(0)&&y(rs(s))!=y(0)){Xr=53;break}l=Xe,Xr=53}while(0);if((Xr|0)==51&&(Xr=0,_t(l)|0?Xr=53:(Sr=y(l-Xe),ir=l)),(Xr|0)==53&&(Xr=0,Xe>2]|0,Ge=Sry(0),Ue=y(Sr/Xt),et=y(0),Xe=y(0),l=y(0),O=j;do c=y(Gr(O+380+(se<<3)|0,Co)),Qe=y(Gr(O+364+(se<<3)|0,Co)),Qe=y(Tg(c,y(_n(Qe,y(h[O+504>>2]))))),Ge?(c=y(Qe*y(qs(O))),c!=y(-0)&&(Jt=y(Qe-y(lt*c)),sf=y(Bi(O,Rr,Jt,ir,xr)),Jt!=sf)&&(et=y(et-y(sf-Qe)),l=y(l+c))):Lt&&(Lu=y(rs(O)),Lu!=y(0))&&(Jt=y(Qe+y(Ue*Lu)),of=y(Bi(O,Rr,Jt,ir,xr)),Jt!=of)&&(et=y(et-y(of-Qe)),Xe=y(Xe-Lu)),O=n[O+960>>2]|0;while((O|0)!=0);if(l=y(je+l),Qe=y(Sr+et),nf)l=y(0);else{lt=y(Xt+Xe),Ge=n[bl>>2]|0,Lt=Qey(0),lt=y(Qe/lt),l=y(0);do{Jt=y(Gr(j+380+(Ge<<3)|0,Co)),et=y(Gr(j+364+(Ge<<3)|0,Co)),et=y(Tg(Jt,y(_n(et,y(h[j+504>>2]))))),Lt?(Jt=y(et*y(qs(j))),Qe=y(-Jt),Jt!=y(-0)?(Jt=y(Ue*Qe),Qe=y(Bi(j,Rr,y(et+(Mr?Qe:Jt)),ir,xr))):Qe=et):se&&(af=y(rs(j)),af!=y(0))?Qe=y(Bi(j,Rr,y(et+y(lt*af)),ir,xr)):Qe=et,l=y(l-y(Qe-et)),Xe=y(ln(j,Rr,xr)),c=y(ln(j,ur,xr)),Qe=y(Qe+Xe),h[za>>2]=Qe,n[kl>>2]=1,et=y(h[j+396>>2]);e:do if(_t(et)|0){O=_t(Rn)|0;do if(!O){if(mo|(ts(j,ur,Rn)|0|xn)||(ha(s,j)|0)!=4||(n[(vl(j,ur)|0)+4>>2]|0)==3||(n[(Sc(j,ur)|0)+4>>2]|0)==3)break;h[js>>2]=Rn,n[Wo>>2]=1;break e}while(0);if(ts(j,ur,Rn)|0){O=n[j+992+(n[Np>>2]<<2)>>2]|0,Jt=y(c+y(Gr(O,Rn))),h[js>>2]=Jt,O=Lp&(n[O+4>>2]|0)==2,n[Wo>>2]=((_t(Jt)|0|O)^1)&1;break}else{h[js>>2]=Rn,n[Wo>>2]=O?0:2;break}}else Jt=y(Qe-Xe),Xt=y(Jt/et),Jt=y(et*Jt),n[Wo>>2]=1,h[js>>2]=y(c+(Jn?Xt:Jt));while(0);yr(j,Rr,ir,xr,kl,za),yr(j,ur,Rn,xr,Wo,js);do if(!(ts(j,ur,Rn)|0)&&(ha(s,j)|0)==4){if((n[(vl(j,ur)|0)+4>>2]|0)==3){O=0;break}O=(n[(Sc(j,ur)|0)+4>>2]|0)!=3}else O=0;while(0);Jt=y(h[za>>2]),Xt=y(h[js>>2]),hf=n[kl>>2]|0,li=n[Wo>>2]|0,fa(j,Jn?Jt:Xt,Jn?Xt:Jt,Ds,Jn?hf:li,Jn?li:hf,xr,Eo,Q&(O^1),3488,M)|0,o[xl>>0]=o[xl>>0]|o[j+508>>0],j=n[j+960>>2]|0}while((j|0)!=0)}}else l=y(0);if(l=y(Sr+l),li=l>0]=li|u[xl>>0],Rp&l>y(0)?(O=n[bl>>2]|0,(n[s+364+(O<<3)+4>>2]|0)!=0&&(Gs=y(Gr(s+364+(O<<3)|0,Co)),Gs>=y(0))?Qe=y(_n(y(0),y(Gs-y(ir-l)))):Qe=y(0)):Qe=l,Lt=Nr>>>0>>0,Lt){Ge=n[wo>>2]|0,se=Nr,O=0;do j=n[Ge+(se<<2)>>2]|0,n[j+24>>2]|0||(O=((n[(vl(j,Rr)|0)+4>>2]|0)==3&1)+O|0,O=O+((n[(Sc(j,Rr)|0)+4>>2]|0)==3&1)|0),se=se+1|0;while((se|0)!=(or|0));O?(Xe=y(0),c=y(0)):Xr=101}else Xr=101;e:do if((Xr|0)==101)switch(Xr=0,Mp|0){case 1:{O=0,Xe=y(Qe*y(.5)),c=y(0);break e}case 2:{O=0,Xe=Qe,c=y(0);break e}case 3:{if(m>>>0<=1){O=0,Xe=y(0),c=y(0);break e}c=y((m+-1|0)>>>0),O=0,Xe=y(0),c=y(y(_n(Qe,y(0)))/c);break e}case 5:{c=y(Qe/y((m+1|0)>>>0)),O=0,Xe=c;break e}case 4:{c=y(Qe/y(m>>>0)),O=0,Xe=y(c*y(.5));break e}default:{O=0,Xe=y(0),c=y(0);break e}}while(0);if(l=y(Up+Xe),Lt){et=y(Qe/y(O|0)),se=n[wo>>2]|0,j=Nr,Qe=y(0);do{O=n[se+(j<<2)>>2]|0;e:do if((n[O+36>>2]|0)!=1){switch(n[O+24>>2]|0){case 1:{if(gi(O,Rr)|0){if(!Q)break e;Jt=y(Or(O,Rr,ir)),Jt=y(Jt+y(Cr(s,Rr))),Jt=y(Jt+y(K(O,Rr,xr))),h[O+400+(n[Ru>>2]<<2)>>2]=Jt;break e}break}case 0:if(li=(n[(vl(O,Rr)|0)+4>>2]|0)==3,Jt=y(et+l),l=li?Jt:l,Q&&(li=O+400+(n[Ru>>2]<<2)|0,h[li>>2]=y(l+y(h[li>>2]))),li=(n[(Sc(O,Rr)|0)+4>>2]|0)==3,Jt=y(et+l),l=li?Jt:l,ya){Jt=y(c+y(ln(O,Rr,xr))),Qe=Rn,l=y(l+y(Jt+y(h[O+504>>2])));break e}else{l=y(l+y(c+y(ns(O,Rr,xr)))),Qe=y(_n(Qe,y(ns(O,ur,xr))));break e}default:}Q&&(Jt=y(Xe+y(Cr(s,Rr))),li=O+400+(n[Ru>>2]<<2)|0,h[li>>2]=y(Jt+y(h[li>>2])))}while(0);j=j+1|0}while((j|0)!=(or|0))}else Qe=y(0);if(c=y(_p+l),Tp?Xe=y(y(Bi(s,ur,y(Ys+Qe),Rc,B))-Ys):Xe=Rn,et=y(y(Bi(s,ur,y(Ys+(Op?Rn:Qe)),Rc,B))-Ys),Lt&Q){j=Nr;do{se=n[(n[wo>>2]|0)+(j<<2)>>2]|0;do if((n[se+36>>2]|0)!=1){if((n[se+24>>2]|0)==1){if(gi(se,ur)|0){if(Jt=y(Or(se,ur,Rn)),Jt=y(Jt+y(Cr(s,ur))),Jt=y(Jt+y(K(se,ur,xr))),O=n[Fu>>2]|0,h[se+400+(O<<2)>>2]=Jt,!(_t(Jt)|0))break}else O=n[Fu>>2]|0;Jt=y(Cr(s,ur)),h[se+400+(O<<2)>>2]=y(Jt+y(K(se,ur,xr)));break}O=ha(s,se)|0;do if((O|0)==4){if((n[(vl(se,ur)|0)+4>>2]|0)==3){Xr=139;break}if((n[(Sc(se,ur)|0)+4>>2]|0)==3){Xr=139;break}if(ts(se,ur,Rn)|0){l=Me;break}hf=n[se+908+(n[bl>>2]<<2)>>2]|0,n[js>>2]=hf,l=y(h[se+396>>2]),li=_t(l)|0,Qe=(n[v>>2]=hf,y(h[v>>2])),li?l=et:(Sr=y(ln(se,ur,xr)),Jt=y(Qe/l),l=y(l*Qe),l=y(Sr+(Jn?Jt:l))),h[za>>2]=l,h[js>>2]=y(y(ln(se,Rr,xr))+Qe),n[Wo>>2]=1,n[kl>>2]=1,yr(se,Rr,ir,xr,Wo,js),yr(se,ur,Rn,xr,kl,za),l=y(h[js>>2]),Sr=y(h[za>>2]),Jt=Jn?l:Sr,l=Jn?Sr:l,li=((_t(Jt)|0)^1)&1,fa(se,Jt,l,Ds,li,((_t(l)|0)^1)&1,xr,Eo,1,3493,M)|0,l=Me}else Xr=139;while(0);e:do if((Xr|0)==139){Xr=0,l=y(Xe-y(ns(se,ur,xr)));do if((n[(vl(se,ur)|0)+4>>2]|0)==3){if((n[(Sc(se,ur)|0)+4>>2]|0)!=3)break;l=y(Me+y(_n(y(0),y(l*y(.5)))));break e}while(0);if((n[(Sc(se,ur)|0)+4>>2]|0)==3){l=Me;break}if((n[(vl(se,ur)|0)+4>>2]|0)==3){l=y(Me+y(_n(y(0),l)));break}switch(O|0){case 1:{l=Me;break e}case 2:{l=y(Me+y(l*y(.5)));break e}default:{l=y(Me+l);break e}}}while(0);Jt=y(vs+l),li=se+400+(n[Fu>>2]<<2)|0,h[li>>2]=y(Jt+y(h[li>>2]))}while(0);j=j+1|0}while((j|0)!=(or|0))}if(vs=y(vs+et),kc=y(_n(kc,c)),m=yo+1|0,or>>>0>=Ws>>>0)break;l=ir,Nr=or,yo=m}do if(Q){if(O=m>>>0>1,!O&&!(Yi(s)|0))break;if(!(_t(Rn)|0)){l=y(Rn-vs);e:do switch(n[s+12>>2]|0){case 3:{Me=y(Me+l),Ue=y(0);break}case 2:{Me=y(Me+y(l*y(.5))),Ue=y(0);break}case 4:{Rn>vs?Ue=y(l/y(m>>>0)):Ue=y(0);break}case 7:if(Rn>vs){Me=y(Me+y(l/y(m<<1>>>0))),Ue=y(l/y(m>>>0)),Ue=O?Ue:y(0);break e}else{Me=y(Me+y(l*y(.5))),Ue=y(0);break e}case 6:{Ue=y(l/y(yo>>>0)),Ue=Rn>vs&O?Ue:y(0);break}default:Ue=y(0)}while(0);if(m|0)for(Lt=1040+(ur<<2)|0,Mr=976+(ur<<2)|0,Ge=0,j=0;;){e:do if(j>>>0>>0)for(Qe=y(0),et=y(0),l=y(0),se=j;;){O=n[(n[wo>>2]|0)+(se<<2)>>2]|0;do if((n[O+36>>2]|0)!=1&&(n[O+24>>2]|0)==0){if((n[O+940>>2]|0)!=(Ge|0))break e;if(Lm(O,ur)|0&&(Jt=y(h[O+908+(n[Mr>>2]<<2)>>2]),l=y(_n(l,y(Jt+y(ln(O,ur,xr)))))),(ha(s,O)|0)!=5)break;Gs=y(Ya(O)),Gs=y(Gs+y(K(O,0,xr))),Jt=y(h[O+912>>2]),Jt=y(y(Jt+y(ln(O,0,xr)))-Gs),Gs=y(_n(et,Gs)),Jt=y(_n(Qe,Jt)),Qe=Jt,et=Gs,l=y(_n(l,y(Gs+Jt)))}while(0);if(O=se+1|0,O>>>0>>0)se=O;else{se=O;break}}else et=y(0),l=y(0),se=j;while(0);if(lt=y(Ue+l),c=Me,Me=y(Me+lt),j>>>0>>0){Xe=y(c+et),O=j;do{j=n[(n[wo>>2]|0)+(O<<2)>>2]|0;e:do if((n[j+36>>2]|0)!=1&&(n[j+24>>2]|0)==0)switch(ha(s,j)|0){case 1:{Jt=y(c+y(K(j,ur,xr))),h[j+400+(n[Lt>>2]<<2)>>2]=Jt;break e}case 3:{Jt=y(y(Me-y(re(j,ur,xr)))-y(h[j+908+(n[Mr>>2]<<2)>>2])),h[j+400+(n[Lt>>2]<<2)>>2]=Jt;break e}case 2:{Jt=y(c+y(y(lt-y(h[j+908+(n[Mr>>2]<<2)>>2]))*y(.5))),h[j+400+(n[Lt>>2]<<2)>>2]=Jt;break e}case 4:{if(Jt=y(c+y(K(j,ur,xr))),h[j+400+(n[Lt>>2]<<2)>>2]=Jt,ts(j,ur,Rn)|0||(Jn?(Qe=y(h[j+908>>2]),l=y(Qe+y(ln(j,Rr,xr))),et=lt):(et=y(h[j+912>>2]),et=y(et+y(ln(j,ur,xr))),l=lt,Qe=y(h[j+908>>2])),Ii(l,Qe)|0&&Ii(et,y(h[j+912>>2]))|0))break e;fa(j,l,et,Ds,1,1,xr,Eo,1,3501,M)|0;break e}case 5:{h[j+404>>2]=y(y(Xe-y(Ya(j)))+y(Or(j,0,Rn)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(se|0))}if(Ge=Ge+1|0,(Ge|0)==(m|0))break;j=se}}}while(0);if(h[s+908>>2]=y(Bi(s,2,Qc,B,B)),h[s+912>>2]=y(Bi(s,0,lf,k,B)),(Ql|0)!=0&&(cf=n[s+32>>2]|0,uf=(Ql|0)==2,!(uf&(cf|0)!=2))?uf&(cf|0)==2&&(l=y(Fc+ir),l=y(_n(y(Tg(l,y(MA(s,Rr,kc,Co)))),Fc)),Xr=198):(l=y(Bi(s,Rr,kc,Co,B)),Xr=198),(Xr|0)==198&&(h[s+908+(n[976+(Rr<<2)>>2]<<2)>>2]=l),(Fl|0)!=0&&(ff=n[s+32>>2]|0,pf=(Fl|0)==2,!(pf&(ff|0)!=2))?pf&(ff|0)==2&&(l=y(Ys+Rn),l=y(_n(y(Tg(l,y(MA(s,ur,y(Ys+vs),Rc)))),Ys)),Xr=204):(l=y(Bi(s,ur,y(Ys+vs),Rc,B)),Xr=204),(Xr|0)==204&&(h[s+908+(n[976+(ur<<2)>>2]<<2)>>2]=l),Q){if((n[Af>>2]|0)==2){j=976+(ur<<2)|0,se=1040+(ur<<2)|0,O=0;do Ge=gs(s,O)|0,n[Ge+24>>2]|0||(hf=n[j>>2]|0,Jt=y(h[s+908+(hf<<2)>>2]),li=Ge+400+(n[se>>2]<<2)|0,Jt=y(Jt-y(h[li>>2])),h[li>>2]=y(Jt-y(h[Ge+908+(hf<<2)>>2]))),O=O+1|0;while((O|0)!=(Ws|0))}if(f|0){O=Jn?Ql:d;do Om(s,f,xr,O,Eo,Ds,M),f=n[f+960>>2]|0;while((f|0)!=0)}if(O=(Rr|2|0)==3,j=(ur|2|0)==3,O|j){f=0;do se=n[(n[wo>>2]|0)+(f<<2)>>2]|0,(n[se+36>>2]|0)!=1&&(O&&wp(s,se,Rr),j&&wp(s,se,ur)),f=f+1|0;while((f|0)!=(Ws|0))}}}while(0);C=Rl}function pa(s,l){s=s|0,l=y(l);var c=0;oa(s,l>=y(0),3147),c=l==y(0),h[s+4>>2]=c?y(0):l}function vc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=f|0;var d=Ze,m=Ze,B=0,k=0,Q=0;n[2278]=(n[2278]|0)+1,Bl(s),ts(s,2,l)|0?(d=y(Gr(n[s+992>>2]|0,l)),Q=1,d=y(d+y(ln(s,2,l)))):(d=y(Gr(s+380|0,l)),d>=y(0)?Q=2:(Q=((_t(l)|0)^1)&1,d=l)),ts(s,0,c)|0?(m=y(Gr(n[s+996>>2]|0,c)),k=1,m=y(m+y(ln(s,0,l)))):(m=y(Gr(s+388|0,c)),m>=y(0)?k=2:(k=((_t(c)|0)^1)&1,m=c)),B=s+976|0,fa(s,d,m,f,Q,k,l,c,1,3189,n[B>>2]|0)|0&&(Ep(s,n[s+496>>2]|0,l,c,l),Dc(s,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),o[11696]|0)&&Qm(s,7)}function Bl(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;k=C,C=C+32|0,B=k+24|0,m=k+16|0,f=k+8|0,d=k,c=0;do l=s+380+(c<<3)|0,(n[s+380+(c<<3)+4>>2]|0)!=0&&(Q=l,M=n[Q+4>>2]|0,O=f,n[O>>2]=n[Q>>2],n[O+4>>2]=M,O=s+364+(c<<3)|0,M=n[O+4>>2]|0,Q=d,n[Q>>2]=n[O>>2],n[Q+4>>2]=M,n[m>>2]=n[f>>2],n[m+4>>2]=n[f+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],ws(m,B)|0)||(l=s+348+(c<<3)|0),n[s+992+(c<<2)>>2]=l,c=c+1|0;while((c|0)!=2);C=k}function ts(s,l,c){s=s|0,l=l|0,c=y(c);var f=0;switch(s=n[s+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[s+4>>2]|0){case 0:case 3:{s=0;break}case 1:{y(h[s>>2])>2])>2]|0){case 2:{l=y(y(y(h[s>>2])*l)/y(100));break}case 1:{l=y(h[s>>2]);break}default:l=y(ce)}return y(l)}function Ep(s,l,c,f,d){s=s|0,l=l|0,c=y(c),f=y(f),d=y(d);var m=0,B=Ze;l=n[s+944>>2]|0?l:1,m=fr(n[s+4>>2]|0,l)|0,l=ww(m,l)|0,c=y(Mm(s,m,c)),f=y(Mm(s,l,f)),B=y(c+y(K(s,m,d))),h[s+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,c=y(c+y(re(s,m,d))),h[s+400+(n[1e3+(m<<2)>>2]<<2)>>2]=c,c=y(f+y(K(s,l,d))),h[s+400+(n[1040+(l<<2)>>2]<<2)>>2]=c,d=y(f+y(re(s,l,d))),h[s+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function Dc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=y(f);var d=0,m=0,B=Ze,k=Ze,Q=0,M=0,O=Ze,j=0,se=Ze,Ge=Ze,Me=Ze,Qe=Ze;if(l!=y(0)&&(d=s+400|0,Qe=y(h[d>>2]),m=s+404|0,Me=y(h[m>>2]),j=s+416|0,Ge=y(h[j>>2]),M=s+420|0,B=y(h[M>>2]),se=y(Qe+c),O=y(Me+f),f=y(se+Ge),k=y(O+B),Q=(n[s+988>>2]|0)==1,h[d>>2]=y(Go(Qe,l,0,Q)),h[m>>2]=y(Go(Me,l,0,Q)),c=y(bR(y(Ge*l),y(1))),Ii(c,y(0))|0?m=0:m=(Ii(c,y(1))|0)^1,c=y(bR(y(B*l),y(1))),Ii(c,y(0))|0?d=0:d=(Ii(c,y(1))|0)^1,Qe=y(Go(f,l,Q&m,Q&(m^1))),h[j>>2]=y(Qe-y(Go(se,l,0,Q))),Qe=y(Go(k,l,Q&d,Q&(d^1))),h[M>>2]=y(Qe-y(Go(O,l,0,Q))),m=(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2,m|0)){d=0;do Dc(gs(s,d)|0,l,se,O),d=d+1|0;while((d|0)!=(m|0))}}function Cw(s,l,c,f,d){switch(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,c|0){case 5:case 0:{s=i7(n[489]|0,f,d)|0;break}default:s=zUe(f,d)|0}return s|0}function Eg(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;d=C,C=C+16|0,m=d,n[m>>2]=f,Cg(s,0,l,c,m),C=d}function Cg(s,l,c,f,d){if(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,s=s|0?s:956,D7[n[s+8>>2]&1](s,l,c,f,d)|0,(c|0)==5)Rt();else return}function Ga(s,l,c){s=s|0,l=l|0,c=c|0,o[s+l>>0]=c&1}function Rm(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(wg(s,f),Qt(s,n[l>>2]|0,n[c>>2]|0,f))}function wg(s,l){s=s|0,l=l|0;var c=0;if((N(s)|0)>>>0>>0&&zr(s),l>>>0>1073741823)Rt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function Qt(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Dr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function N(s){return s=s|0,1073741823}function K(s,l,c){return s=s|0,l=l|0,c=y(c),pe(l)|0&&(n[s+96>>2]|0)!=0?s=s+92|0:s=Fn(s+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function re(s,l,c){return s=s|0,l=l|0,c=y(c),pe(l)|0&&(n[s+104>>2]|0)!=0?s=s+100|0:s=Fn(s+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function pe(s){return s=s|0,(s|1|0)==3|0}function ze(s,l){return s=s|0,l=y(l),(n[s+4>>2]|0)==3?l=y(0):l=y(Gr(s,l)),y(l)}function mt(s,l){return s=s|0,l=l|0,s=n[s>>2]|0,((s|0)==0?(l|0)>1?l:1:s)|0}function fr(s,l){s=s|0,l=l|0;var c=0;e:do if((l|0)==2){switch(s|0){case 2:{s=3;break e}case 3:break;default:{c=4;break e}}s=2}else c=4;while(0);return s|0}function Cr(s,l){s=s|0,l=l|0;var c=Ze;return pe(l)|0&&(n[s+312>>2]|0)!=0&&(c=y(h[s+308>>2]),c>=y(0))||(c=y(_n(y(h[(Fn(s+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function yn(s,l){s=s|0,l=l|0;var c=Ze;return pe(l)|0&&(n[s+320>>2]|0)!=0&&(c=y(h[s+316>>2]),c>=y(0))||(c=y(_n(y(h[(Fn(s+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function oi(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return pe(l)|0&&(n[s+240>>2]|0)!=0&&(f=y(Gr(s+236|0,c)),f>=y(0))||(f=y(_n(y(Gr(Fn(s+204|0,n[1040+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Oi(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return pe(l)|0&&(n[s+248>>2]|0)!=0&&(f=y(Gr(s+244|0,c)),f>=y(0))||(f=y(_n(y(Gr(Fn(s+204|0,n[1e3+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Ig(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=Ze,Q=Ze,M=Ze,O=Ze,j=Ze,se=Ze,Ge=0,Me=0,Qe=0;Qe=C,C=C+16|0,Ge=Qe,Me=s+964|0,Un(s,(n[Me>>2]|0)!=0,3519),k=y(En(s,2,l)),Q=y(En(s,0,l)),M=y(ln(s,2,l)),O=y(ln(s,0,l)),_t(l)|0?j=l:j=y(_n(y(0),y(y(l-M)-k))),_t(c)|0?se=c:se=y(_n(y(0),y(y(c-O)-Q))),(f|0)==1&(d|0)==1?(h[s+908>>2]=y(Bi(s,2,y(l-M),m,m)),l=y(Bi(s,0,y(c-O),B,m))):(S7[n[Me>>2]&1](Ge,s,j,f,se,d),j=y(k+y(h[Ge>>2])),se=y(l-M),h[s+908>>2]=y(Bi(s,2,(f|2|0)==2?j:se,m,m)),se=y(Q+y(h[Ge+4>>2])),l=y(c-O),l=y(Bi(s,0,(d|2|0)==2?se:l,B,m))),h[s+912>>2]=l,C=Qe}function Gv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=Ze,Q=Ze,M=Ze,O=Ze;M=y(En(s,2,m)),k=y(En(s,0,m)),O=y(ln(s,2,m)),Q=y(ln(s,0,m)),l=y(l-O),h[s+908>>2]=y(Bi(s,2,(f|2|0)==2?M:l,m,m)),c=y(c-Q),h[s+912>>2]=y(Bi(s,0,(d|2|0)==2?k:c,B,m))}function Yv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=0,Q=Ze,M=Ze;return k=(f|0)==2,!(l<=y(0)&k)&&!(c<=y(0)&(d|0)==2)&&!((f|0)==1&(d|0)==1)?s=0:(Q=y(ln(s,0,m)),M=y(ln(s,2,m)),k=l>2]=y(Bi(s,2,k?y(0):l,m,m)),l=y(c-Q),k=c>2]=y(Bi(s,0,k?y(0):l,B,m)),s=1),s|0}function ww(s,l){return s=s|0,l=l|0,UA(s)|0?s=fr(2,l)|0:s=0,s|0}function Cp(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(oi(s,l,c)),y(c+y(Cr(s,l)))}function Iw(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(Oi(s,l,c)),y(c+y(yn(s,l)))}function En(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(Cp(s,l,c)),y(f+y(Iw(s,l,c)))}function Tm(s){return s=s|0,n[s+24>>2]|0?s=0:y(rs(s))!=y(0)?s=1:s=y(qs(s))!=y(0),s|0}function rs(s){s=s|0;var l=Ze;if(n[s+944>>2]|0){if(l=y(h[s+44>>2]),_t(l)|0)return l=y(h[s+40>>2]),s=l>y(0)&((_t(l)|0)^1),y(s?l:y(0))}else l=y(0);return y(l)}function qs(s){s=s|0;var l=Ze,c=0,f=Ze;do if(n[s+944>>2]|0){if(l=y(h[s+48>>2]),_t(l)|0){if(c=o[(n[s+976>>2]|0)+2>>0]|0,c<<24>>24==0&&(f=y(h[s+40>>2]),f>24?y(1):y(0)}}else l=y(0);while(0);return y(l)}function Bu(s){s=s|0;var l=0,c=0;if(Xm(s+400|0,0,540)|0,o[s+985>>0]=1,$(s),c=wi(s)|0,c|0){l=s+948|0,s=0;do Bu(n[(n[l>>2]|0)+(s<<2)>>2]|0),s=s+1|0;while((s|0)!=(c|0))}}function Nm(s,l,c,f,d,m,B,k,Q,M){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=y(m),B=y(B),k=k|0,Q=Q|0,M=M|0;var O=0,j=Ze,se=0,Ge=0,Me=Ze,Qe=Ze,et=0,Xe=Ze,lt=0,Ue=Ze,je=0,Lt=0,Mr=0,or=0,Xt=0,Sr=0,Nr=0,ir=0,xn=0,go=0;xn=C,C=C+16|0,Mr=xn+12|0,or=xn+8|0,Xt=xn+4|0,Sr=xn,ir=fr(n[s+4>>2]|0,Q)|0,je=pe(ir)|0,j=y(Gr(Bw(l)|0,je?m:B)),Lt=ts(l,2,m)|0,Nr=ts(l,0,B)|0;do if(!(_t(j)|0)&&!(_t(je?c:d)|0)){if(O=l+504|0,!(_t(y(h[O>>2]))|0)&&(!(vw(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[O>>2]=y(_n(j,y(En(l,ir,m))))}else se=7;while(0);do if((se|0)==7){if(lt=je^1,!(lt|Lt^1)){B=y(Gr(n[l+992>>2]|0,m)),h[l+504>>2]=y(_n(B,y(En(l,2,m))));break}if(!(je|Nr^1)){B=y(Gr(n[l+996>>2]|0,B)),h[l+504>>2]=y(_n(B,y(En(l,0,m))));break}h[Mr>>2]=y(ce),h[or>>2]=y(ce),n[Xt>>2]=0,n[Sr>>2]=0,Xe=y(ln(l,2,m)),Ue=y(ln(l,0,m)),Lt?(Me=y(Xe+y(Gr(n[l+992>>2]|0,m))),h[Mr>>2]=Me,n[Xt>>2]=1,Ge=1):(Ge=0,Me=y(ce)),Nr?(j=y(Ue+y(Gr(n[l+996>>2]|0,B))),h[or>>2]=j,n[Sr>>2]=1,O=1):(O=0,j=y(ce)),se=n[s+32>>2]|0,je&(se|0)==2?se=2:_t(Me)|0&&!(_t(c)|0)&&(h[Mr>>2]=c,n[Xt>>2]=2,Ge=2,Me=c),!((se|0)==2<)&&_t(j)|0&&!(_t(d)|0)&&(h[or>>2]=d,n[Sr>>2]=2,O=2,j=d),Qe=y(h[l+396>>2]),et=_t(Qe)|0;do if(et)se=Ge;else{if((Ge|0)==1<){h[or>>2]=y(y(Me-Xe)/Qe),n[Sr>>2]=1,O=1,se=1;break}je&(O|0)==1?(h[Mr>>2]=y(Qe*y(j-Ue)),n[Xt>>2]=1,O=1,se=1):se=Ge}while(0);go=_t(c)|0,Ge=(ha(s,l)|0)!=4,!(je|Lt|((f|0)!=1|go)|(Ge|(se|0)==1))&&(h[Mr>>2]=c,n[Xt>>2]=1,!et)&&(h[or>>2]=y(y(c-Xe)/Qe),n[Sr>>2]=1,O=1),!(Nr|lt|((k|0)!=1|(_t(d)|0))|(Ge|(O|0)==1))&&(h[or>>2]=d,n[Sr>>2]=1,!et)&&(h[Mr>>2]=y(Qe*y(d-Ue)),n[Xt>>2]=1),yr(l,2,m,m,Xt,Mr),yr(l,0,B,m,Sr,or),c=y(h[Mr>>2]),d=y(h[or>>2]),fa(l,c,d,Q,n[Xt>>2]|0,n[Sr>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(ir<<2)>>2]<<2)>>2]),h[l+504>>2]=y(_n(B,y(En(l,ir,m))))}while(0);n[l+500>>2]=n[2278],C=xn}function Bi(s,l,c,f,d){return s=s|0,l=l|0,c=y(c),f=y(f),d=y(d),f=y(MA(s,l,c,f)),y(_n(f,y(En(s,l,d))))}function ha(s,l){return s=s|0,l=l|0,l=l+20|0,l=n[((n[l>>2]|0)==0?s+16|0:l)>>2]|0,(l|0)==5&&UA(n[s+4>>2]|0)|0&&(l=1),l|0}function vl(s,l){return s=s|0,l=l|0,pe(l)|0&&(n[s+96>>2]|0)!=0?l=4:l=n[1040+(l<<2)>>2]|0,s+60+(l<<3)|0}function Sc(s,l){return s=s|0,l=l|0,pe(l)|0&&(n[s+104>>2]|0)!=0?l=5:l=n[1e3+(l<<2)>>2]|0,s+60+(l<<3)|0}function yr(s,l,c,f,d,m){switch(s=s|0,l=l|0,c=y(c),f=y(f),d=d|0,m=m|0,c=y(Gr(s+380+(n[976+(l<<2)>>2]<<3)|0,c)),c=y(c+y(ln(s,l,f))),n[d>>2]|0){case 2:case 1:{d=_t(c)|0,f=y(h[m>>2]),h[m>>2]=d|f>2]=2,h[m>>2]=c);break}default:}}function gi(s,l){return s=s|0,l=l|0,s=s+132|0,pe(l)|0&&(n[(Fn(s,4,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Fn(s,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Or(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,pe(l)|0&&(f=Fn(s,4,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Fn(s,n[1040+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Gr(f,c))),y(c)}function ns(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),f=y(f+y(K(s,l,c))),y(f+y(re(s,l,c)))}function Yi(s){s=s|0;var l=0,c=0,f=0;e:do if(UA(n[s+4>>2]|0)|0)l=0;else if((n[s+16>>2]|0)!=5)if(c=wi(s)|0,!c)l=0;else for(l=0;;){if(f=gs(s,l)|0,(n[f+24>>2]|0)==0&&(n[f+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=c>>>0){l=0;break}}else l=1;while(0);return l|0}function Lm(s,l){s=s|0,l=l|0;var c=Ze;return c=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),c>=y(0)&((_t(c)|0)^1)|0}function Ya(s){s=s|0;var l=Ze,c=0,f=0,d=0,m=0,B=0,k=0,Q=Ze;if(c=n[s+968>>2]|0,c)Q=y(h[s+908>>2]),l=y(h[s+912>>2]),l=y(w7[c&0](s,Q,l)),Un(s,(_t(l)|0)^1,3573);else{m=wi(s)|0;do if(m|0){for(c=0,d=0;;){if(f=gs(s,d)|0,n[f+940>>2]|0){B=8;break}if((n[f+24>>2]|0)!=1)if(k=(ha(s,f)|0)==5,k){c=f;break}else c=(c|0)==0?f:c;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!c)break;return l=y(Ya(c)),y(l+y(h[c+404>>2]))}while(0);l=y(h[s+912>>2])}return y(l)}function MA(s,l,c,f){s=s|0,l=l|0,c=y(c),f=y(f);var d=Ze,m=0;return UA(l)|0?(l=1,m=3):pe(l)|0?(l=0,m=3):(f=y(ce),d=y(ce)),(m|0)==3&&(d=y(Gr(s+364+(l<<3)|0,f)),f=y(Gr(s+380+(l<<3)|0,f))),m=f=y(0)&((_t(f)|0)^1)),c=m?f:c,m=d>=y(0)&((_t(d)|0)^1)&c>2]|0,m)|0,Me=ww(et,m)|0,Qe=pe(et)|0,j=y(ln(l,2,c)),se=y(ln(l,0,c)),ts(l,2,c)|0?k=y(j+y(Gr(n[l+992>>2]|0,c))):gi(l,2)|0&&sr(l,2)|0?(k=y(h[s+908>>2]),Q=y(Cr(s,2)),Q=y(k-y(Q+y(yn(s,2)))),k=y(Or(l,2,c)),k=y(Bi(l,2,y(Q-y(k+y(vu(l,2,c)))),c,c))):k=y(ce),ts(l,0,d)|0?Q=y(se+y(Gr(n[l+996>>2]|0,d))):gi(l,0)|0&&sr(l,0)|0?(Q=y(h[s+912>>2]),lt=y(Cr(s,0)),lt=y(Q-y(lt+y(yn(s,0)))),Q=y(Or(l,0,d)),Q=y(Bi(l,0,y(lt-y(Q+y(vu(l,0,d)))),d,c))):Q=y(ce),M=_t(k)|0,O=_t(Q)|0;do if(M^O&&(Ge=y(h[l+396>>2]),!(_t(Ge)|0)))if(M){k=y(j+y(y(Q-se)*Ge));break}else{lt=y(se+y(y(k-j)/Ge)),Q=O?lt:Q;break}while(0);O=_t(k)|0,M=_t(Q)|0,O|M&&(Ue=(O^1)&1,f=c>y(0)&((f|0)!=0&O),k=Qe?k:f?c:k,fa(l,k,Q,m,Qe?Ue:f?2:Ue,O&(M^1)&1,k,Q,0,3623,B)|0,k=y(h[l+908>>2]),k=y(k+y(ln(l,2,c))),Q=y(h[l+912>>2]),Q=y(Q+y(ln(l,0,c)))),fa(l,k,Q,m,1,1,k,Q,1,3635,B)|0,sr(l,et)|0&&!(gi(l,et)|0)?(Ue=n[976+(et<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(lt-y(h[l+908+(Ue<<2)>>2])),lt=y(lt-y(yn(s,et))),lt=y(lt-y(re(l,et,c))),lt=y(lt-y(vu(l,et,Qe?c:d))),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=lt):Xe=21;do if((Xe|0)==21){if(!(gi(l,et)|0)&&(n[s+8>>2]|0)==1){Ue=n[976+(et<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(y(lt-y(h[l+908+(Ue<<2)>>2]))*y(.5)),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=lt;break}!(gi(l,et)|0)&&(n[s+8>>2]|0)==2&&(Ue=n[976+(et<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(lt-y(h[l+908+(Ue<<2)>>2])),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=lt)}while(0);sr(l,Me)|0&&!(gi(l,Me)|0)?(Ue=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(lt-y(h[l+908+(Ue<<2)>>2])),lt=y(lt-y(yn(s,Me))),lt=y(lt-y(re(l,Me,c))),lt=y(lt-y(vu(l,Me,Qe?d:c))),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt):Xe=30;do if((Xe|0)==30&&!(gi(l,Me)|0)){if((ha(s,l)|0)==2){Ue=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(y(lt-y(h[l+908+(Ue<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt;break}Ue=(ha(s,l)|0)==3,Ue^(n[s+28>>2]|0)==2&&(Ue=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(Ue<<2)>>2]),lt=y(lt-y(h[l+908+(Ue<<2)>>2])),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt)}while(0)}function wp(s,l,c){s=s|0,l=l|0,c=c|0;var f=Ze,d=0;d=n[976+(c<<2)>>2]|0,f=y(h[l+908+(d<<2)>>2]),f=y(y(h[s+908+(d<<2)>>2])-f),f=y(f-y(h[l+400+(n[1040+(c<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(c<<2)>>2]<<2)>>2]=f}function UA(s){return s=s|0,(s|1|0)==1|0}function Bw(s){s=s|0;var l=Ze;switch(n[s+56>>2]|0){case 0:case 3:{l=y(h[s+40>>2]),l>y(0)&((_t(l)|0)^1)?s=o[(n[s+976>>2]|0)+2>>0]|0?1056:992:s=1056;break}default:s=s+52|0}return s|0}function vw(s,l){return s=s|0,l=l|0,(o[s+l>>0]|0)!=0|0}function sr(s,l){return s=s|0,l=l|0,s=s+132|0,pe(l)|0&&(n[(Fn(s,5,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Fn(s,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function vu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,pe(l)|0&&(f=Fn(s,5,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Fn(s,n[1e3+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Gr(f,c))),y(c)}function Mm(s,l,c){return s=s|0,l=l|0,c=y(c),gi(s,l)|0?c=y(Or(s,l,c)):c=y(-y(vu(s,l,c))),y(c)}function Du(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Ip(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function Bg(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _A(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&>(s)}function HA(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;if(B=s+4|0,k=n[B>>2]|0,d=k-f|0,m=d>>2,s=l+(m<<2)|0,s>>>0>>0){f=k;do n[f>>2]=n[s>>2],s=s+4|0,f=(n[B>>2]|0)+4|0,n[B>>2]=f;while(s>>>0>>0)}m|0&&Mw(k+(0-m<<2)|0,l|0,d|0)|0}function vg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0;return k=l+4|0,Q=n[k>>2]|0,d=n[s>>2]|0,B=c,m=B-d|0,f=Q+(0-(m>>2)<<2)|0,n[k>>2]=f,(m|0)>0&&Dr(f|0,d|0,m|0)|0,d=s+4|0,m=l+8|0,f=(n[d>>2]|0)-B|0,(f|0)>0&&(Dr(n[m>>2]|0,c|0,f|0)|0,n[m>>2]=(n[m>>2]|0)+(f>>>2<<2)),B=n[s>>2]|0,n[s>>2]=n[k>>2],n[k>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=s+8|0,c=l+12|0,s=n[B>>2]|0,n[B>>2]=n[c>>2],n[c>>2]=s,n[l>>2]=n[k>>2],Q|0}function Dw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[c>>2]|0,(B|0)!=(m|0)){d=s+8|0,c=((m+-4-B|0)>>>2)+1|0,s=B,f=n[d>>2]|0;do n[f>>2]=n[s>>2],f=(n[d>>2]|0)+4|0,n[d>>2]=f,s=s+4|0;while((s|0)!=(m|0));n[l>>2]=B+(c<<2)}}function Um(){dc()}function ga(){var s=0;return s=Kt(4)|0,qA(s),s|0}function qA(s){s=s|0,n[s>>2]=ys()|0}function Pc(s){s=s|0,s|0&&(Dg(s),gt(s))}function Dg(s){s=s|0,tt(n[s>>2]|0)}function _m(s,l,c){s=s|0,l=l|0,c=c|0,Ga(n[s>>2]|0,l,c)}function fo(s,l){s=s|0,l=y(l),pa(n[s>>2]|0,l)}function Wv(s,l){return s=s|0,l=l|0,vw(n[s>>2]|0,l)|0}function Sw(){var s=0;return s=Kt(8)|0,Kv(s,0),s|0}function Kv(s,l){s=s|0,l=l|0,l?l=Ci(n[l>>2]|0)|0:l=co()|0,n[s>>2]=l,n[s+4>>2]=0,bi(l,s)}function AF(s){s=s|0;var l=0;return l=Kt(8)|0,Kv(l,s),l|0}function Vv(s){s=s|0,s|0&&(Su(s),gt(s))}function Su(s){s=s|0;var l=0;la(n[s>>2]|0),l=s+4|0,s=n[l>>2]|0,n[l>>2]=0,s|0&&(jA(s),gt(s))}function jA(s){s=s|0,GA(s)}function GA(s){s=s|0,s=n[s>>2]|0,s|0&&PA(s|0)}function Pw(s){return s=s|0,qo(s)|0}function Hm(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(jA(l),gt(l)),_s(n[s>>2]|0)}function fF(s,l){s=s|0,l=l|0,$r(n[s>>2]|0,n[l>>2]|0)}function pF(s,l){s=s|0,l=l|0,ca(n[s>>2]|0,l)}function Jv(s,l,c){s=s|0,l=l|0,c=+c,yu(n[s>>2]|0,l,y(c))}function zv(s,l,c){s=s|0,l=l|0,c=+c,Es(n[s>>2]|0,l,y(c))}function bw(s,l){s=s|0,l=l|0,gu(n[s>>2]|0,l)}function Pu(s,l){s=s|0,l=l|0,du(n[s>>2]|0,l)}function hF(s,l){s=s|0,l=l|0,FA(n[s>>2]|0,l)}function gF(s,l){s=s|0,l=l|0,kA(n[s>>2]|0,l)}function Bp(s,l){s=s|0,l=l|0,yc(n[s>>2]|0,l)}function dF(s,l){s=s|0,l=l|0,Ap(n[s>>2]|0,l)}function Xv(s,l,c){s=s|0,l=l|0,c=+c,Cc(n[s>>2]|0,l,y(c))}function YA(s,l,c){s=s|0,l=l|0,c=+c,G(n[s>>2]|0,l,y(c))}function mF(s,l){s=s|0,l=l|0,wl(n[s>>2]|0,l)}function yF(s,l){s=s|0,l=l|0,ag(n[s>>2]|0,l)}function Zv(s,l){s=s|0,l=l|0,fp(n[s>>2]|0,l)}function xw(s,l){s=s|0,l=+l,RA(n[s>>2]|0,y(l))}function kw(s,l){s=s|0,l=+l,Ha(n[s>>2]|0,y(l))}function EF(s,l){s=s|0,l=+l,Gi(n[s>>2]|0,y(l))}function CF(s,l){s=s|0,l=+l,Hs(n[s>>2]|0,y(l))}function Dl(s,l){s=s|0,l=+l,mu(n[s>>2]|0,y(l))}function Qw(s,l){s=s|0,l=+l,yw(n[s>>2]|0,y(l))}function wF(s,l){s=s|0,l=+l,TA(n[s>>2]|0,y(l))}function WA(s){s=s|0,pp(n[s>>2]|0)}function qm(s,l){s=s|0,l=+l,Cs(n[s>>2]|0,y(l))}function bu(s,l){s=s|0,l=+l,ug(n[s>>2]|0,y(l))}function Fw(s){s=s|0,Ag(n[s>>2]|0)}function Rw(s,l){s=s|0,l=+l,hp(n[s>>2]|0,y(l))}function IF(s,l){s=s|0,l=+l,Ic(n[s>>2]|0,y(l))}function $v(s,l){s=s|0,l=+l,bm(n[s>>2]|0,y(l))}function KA(s,l){s=s|0,l=+l,pg(n[s>>2]|0,y(l))}function eD(s,l){s=s|0,l=+l,Cu(n[s>>2]|0,y(l))}function jm(s,l){s=s|0,l=+l,xm(n[s>>2]|0,y(l))}function tD(s,l){s=s|0,l=+l,wu(n[s>>2]|0,y(l))}function rD(s,l){s=s|0,l=+l,Ew(n[s>>2]|0,y(l))}function Gm(s,l){s=s|0,l=+l,Aa(n[s>>2]|0,y(l))}function nD(s,l,c){s=s|0,l=l|0,c=+c,Eu(n[s>>2]|0,l,y(c))}function BF(s,l,c){s=s|0,l=l|0,c=+c,xi(n[s>>2]|0,l,y(c))}function S(s,l,c){s=s|0,l=l|0,c=+c,wc(n[s>>2]|0,l,y(c))}function D(s){return s=s|0,og(n[s>>2]|0)|0}function T(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,Ec(d,n[l>>2]|0,c),q(s,d),C=f}function q(s,l){s=s|0,l=l|0,Y(s,n[l+4>>2]|0,+y(h[l>>2]))}function Y(s,l,c){s=s|0,l=l|0,c=+c,n[s>>2]=l,E[s+8>>3]=c}function Ae(s){return s=s|0,sg(n[s>>2]|0)|0}function De(s){return s=s|0,uo(n[s>>2]|0)|0}function vt(s){return s=s|0,mc(n[s>>2]|0)|0}function wt(s){return s=s|0,QA(n[s>>2]|0)|0}function xt(s){return s=s|0,Pm(n[s>>2]|0)|0}function _r(s){return s=s|0,ig(n[s>>2]|0)|0}function is(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,Dt(d,n[l>>2]|0,c),q(s,d),C=f}function di(s){return s=s|0,$n(n[s>>2]|0)|0}function po(s){return s=s|0,lg(n[s>>2]|0)|0}function VA(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,ua(f,n[l>>2]|0),q(s,f),C=c}function Yo(s){return s=s|0,+ +y(ji(n[s>>2]|0))}function rt(s){return s=s|0,+ +y(es(n[s>>2]|0))}function Ve(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Br(f,n[l>>2]|0),q(s,f),C=c}function ft(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,fg(f,n[l>>2]|0),q(s,f),C=c}function Wt(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Ct(f,n[l>>2]|0),q(s,f),C=c}function vr(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,hg(f,n[l>>2]|0),q(s,f),C=c}function Pn(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,gg(f,n[l>>2]|0),q(s,f),C=c}function Fr(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,km(f,n[l>>2]|0),q(s,f),C=c}function bn(s){return s=s|0,+ +y(Bc(n[s>>2]|0))}function ai(s,l){return s=s|0,l=l|0,+ +y(cg(n[s>>2]|0,l))}function tn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,ct(d,n[l>>2]|0,c),q(s,d),C=f}function ho(s,l,c){s=s|0,l=l|0,c=c|0,nr(n[s>>2]|0,n[l>>2]|0,c)}function vF(s,l){s=s|0,l=l|0,ms(n[s>>2]|0,n[l>>2]|0)}function eve(s){return s=s|0,wi(n[s>>2]|0)|0}function tve(s){return s=s|0,s=ht(n[s>>2]|0)|0,s?s=Pw(s)|0:s=0,s|0}function rve(s,l){return s=s|0,l=l|0,s=gs(n[s>>2]|0,l)|0,s?s=Pw(s)|0:s=0,s|0}function nve(s,l){s=s|0,l=l|0;var c=0,f=0;f=Kt(4)|0,zG(f,l),c=s+4|0,l=n[c>>2]|0,n[c>>2]=f,l|0&&(jA(l),gt(l)),It(n[s>>2]|0,1)}function zG(s,l){s=s|0,l=l|0,gve(s,l)}function ive(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0;var B=0,k=0;B=C,C=C+16|0,k=B,sve(k,qo(l)|0,+c,f,+d,m),h[s>>2]=y(+E[k>>3]),h[s+4>>2]=y(+E[k+8>>3]),C=B}function sve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0,k=0,Q=0,M=0,O=0;B=C,C=C+32|0,O=B+8|0,M=B+20|0,Q=B,k=B+16|0,E[O>>3]=c,n[M>>2]=f,E[Q>>3]=d,n[k>>2]=m,ove(s,n[l+4>>2]|0,O,M,Q,k),C=B}function ove(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0;B=C,C=C+16|0,k=B,Ka(k),l=da(l)|0,ave(s,l,+E[c>>3],n[f>>2]|0,+E[d>>3],n[m>>2]|0),Va(k),C=B}function da(s){return s=s|0,n[s>>2]|0}function ave(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0;B=Sl(lve()|0)|0,c=+JA(c),f=DF(f)|0,d=+JA(d),cve(s,hi(0,B|0,l|0,+c,f|0,+d,DF(m)|0)|0)}function lve(){var s=0;return o[7608]|0||(pve(9120),s=7608,n[s>>2]=1,n[s+4>>2]=0),9120}function Sl(s){return s=s|0,n[s+8>>2]|0}function JA(s){return s=+s,+ +SF(s)}function DF(s){return s=s|0,ZG(s)|0}function cve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=l,f&1?(uve(c,0),ii(f|0,c|0)|0,Ave(s,c),fve(c)):(n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]),C=d}function uve(s,l){s=s|0,l=l|0,XG(s,l),n[s+8>>2]=0,o[s+24>>0]=0}function Ave(s,l){s=s|0,l=l|0,l=l+8|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]}function fve(s){s=s|0,o[s+24>>0]=0}function XG(s,l){s=s|0,l=l|0,n[s>>2]=l}function ZG(s){return s=s|0,s|0}function SF(s){return s=+s,+s}function pve(s){s=s|0,Pl(s,hve()|0,4)}function hve(){return 1064}function Pl(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=up(l|0,c+1|0)|0}function gve(s,l){s=s|0,l=l|0,l=n[l>>2]|0,n[s>>2]=l,yl(l|0)}function dve(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(jA(l),gt(l)),It(n[s>>2]|0,0)}function mve(s){s=s|0,Tt(n[s>>2]|0)}function yve(s){return s=s|0,er(n[s>>2]|0)|0}function Eve(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,vc(n[s>>2]|0,y(l),y(c),f)}function Cve(s){return s=s|0,+ +y(Il(n[s>>2]|0))}function wve(s){return s=s|0,+ +y(dg(n[s>>2]|0))}function Ive(s){return s=s|0,+ +y(Iu(n[s>>2]|0))}function Bve(s){return s=s|0,+ +y(NA(n[s>>2]|0))}function vve(s){return s=s|0,+ +y(gp(n[s>>2]|0))}function Dve(s){return s=s|0,+ +y(qa(n[s>>2]|0))}function Sve(s,l){s=s|0,l=l|0,E[s>>3]=+y(Il(n[l>>2]|0)),E[s+8>>3]=+y(dg(n[l>>2]|0)),E[s+16>>3]=+y(Iu(n[l>>2]|0)),E[s+24>>3]=+y(NA(n[l>>2]|0)),E[s+32>>3]=+y(gp(n[l>>2]|0)),E[s+40>>3]=+y(qa(n[l>>2]|0))}function Pve(s,l){return s=s|0,l=l|0,+ +y(mg(n[s>>2]|0,l))}function bve(s,l){return s=s|0,l=l|0,+ +y(dp(n[s>>2]|0,l))}function xve(s,l){return s=s|0,l=l|0,+ +y(jo(n[s>>2]|0,l))}function kve(){return Sn()|0}function Qve(){Fve(),Rve(),Tve(),Nve(),Lve(),Ove()}function Fve(){LNe(11713,4938,1)}function Rve(){tNe(10448)}function Tve(){LTe(10408)}function Nve(){sTe(10324)}function Lve(){pFe(10096)}function Ove(){Mve(9132)}function Mve(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0,Me=0,Qe=0,et=0,Xe=0,lt=0,Ue=0,je=0,Lt=0,Mr=0,or=0,Xt=0,Sr=0,Nr=0,ir=0,xn=0,go=0,mo=0,yo=0,ya=0,Fp=0,Rp=0,bl=0,Tp=0,Fu=0,Ru=0,Np=0,Lp=0,Op=0,Xr=0,xl=0,Mp=0,xc=0,Up=0,_p=0,Tu=0,Nu=0,kc=0,js=0,za=0,Wo=0,kl=0,nf=0,sf=0,Lu=0,of=0,af=0,Gs=0,vs=0,Ql=0,Rn=0,lf=0,Eo=0,Qc=0,Co=0,Fc=0,cf=0,uf=0,Rc=0,Ys=0,Fl=0,Af=0,ff=0,pf=0,xr=0,Jn=0,Ds=0,wo=0,Ws=0,Rr=0,ur=0,Rl=0;l=C,C=C+672|0,c=l+656|0,Rl=l+648|0,ur=l+640|0,Rr=l+632|0,Ws=l+624|0,wo=l+616|0,Ds=l+608|0,Jn=l+600|0,xr=l+592|0,pf=l+584|0,ff=l+576|0,Af=l+568|0,Fl=l+560|0,Ys=l+552|0,Rc=l+544|0,uf=l+536|0,cf=l+528|0,Fc=l+520|0,Co=l+512|0,Qc=l+504|0,Eo=l+496|0,lf=l+488|0,Rn=l+480|0,Ql=l+472|0,vs=l+464|0,Gs=l+456|0,af=l+448|0,of=l+440|0,Lu=l+432|0,sf=l+424|0,nf=l+416|0,kl=l+408|0,Wo=l+400|0,za=l+392|0,js=l+384|0,kc=l+376|0,Nu=l+368|0,Tu=l+360|0,_p=l+352|0,Up=l+344|0,xc=l+336|0,Mp=l+328|0,xl=l+320|0,Xr=l+312|0,Op=l+304|0,Lp=l+296|0,Np=l+288|0,Ru=l+280|0,Fu=l+272|0,Tp=l+264|0,bl=l+256|0,Rp=l+248|0,Fp=l+240|0,ya=l+232|0,yo=l+224|0,mo=l+216|0,go=l+208|0,xn=l+200|0,ir=l+192|0,Nr=l+184|0,Sr=l+176|0,Xt=l+168|0,or=l+160|0,Mr=l+152|0,Lt=l+144|0,je=l+136|0,Ue=l+128|0,lt=l+120|0,Xe=l+112|0,et=l+104|0,Qe=l+96|0,Me=l+88|0,Ge=l+80|0,se=l+72|0,j=l+64|0,O=l+56|0,M=l+48|0,Q=l+40|0,k=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,f=l,Uve(s,3646),_ve(s,3651,2)|0,Hve(s,3665,2)|0,qve(s,3682,18)|0,n[Rl>>2]=19,n[Rl+4>>2]=0,n[c>>2]=n[Rl>>2],n[c+4>>2]=n[Rl+4>>2],Tw(s,3690,c)|0,n[ur>>2]=1,n[ur+4>>2]=0,n[c>>2]=n[ur>>2],n[c+4>>2]=n[ur+4>>2],jve(s,3696,c)|0,n[Rr>>2]=2,n[Rr+4>>2]=0,n[c>>2]=n[Rr>>2],n[c+4>>2]=n[Rr+4>>2],xu(s,3706,c)|0,n[Ws>>2]=1,n[Ws+4>>2]=0,n[c>>2]=n[Ws>>2],n[c+4>>2]=n[Ws+4>>2],Sg(s,3722,c)|0,n[wo>>2]=2,n[wo+4>>2]=0,n[c>>2]=n[wo>>2],n[c+4>>2]=n[wo+4>>2],Sg(s,3734,c)|0,n[Ds>>2]=3,n[Ds+4>>2]=0,n[c>>2]=n[Ds>>2],n[c+4>>2]=n[Ds+4>>2],xu(s,3753,c)|0,n[Jn>>2]=4,n[Jn+4>>2]=0,n[c>>2]=n[Jn>>2],n[c+4>>2]=n[Jn+4>>2],xu(s,3769,c)|0,n[xr>>2]=5,n[xr+4>>2]=0,n[c>>2]=n[xr>>2],n[c+4>>2]=n[xr+4>>2],xu(s,3783,c)|0,n[pf>>2]=6,n[pf+4>>2]=0,n[c>>2]=n[pf>>2],n[c+4>>2]=n[pf+4>>2],xu(s,3796,c)|0,n[ff>>2]=7,n[ff+4>>2]=0,n[c>>2]=n[ff>>2],n[c+4>>2]=n[ff+4>>2],xu(s,3813,c)|0,n[Af>>2]=8,n[Af+4>>2]=0,n[c>>2]=n[Af>>2],n[c+4>>2]=n[Af+4>>2],xu(s,3825,c)|0,n[Fl>>2]=3,n[Fl+4>>2]=0,n[c>>2]=n[Fl>>2],n[c+4>>2]=n[Fl+4>>2],Sg(s,3843,c)|0,n[Ys>>2]=4,n[Ys+4>>2]=0,n[c>>2]=n[Ys>>2],n[c+4>>2]=n[Ys+4>>2],Sg(s,3853,c)|0,n[Rc>>2]=9,n[Rc+4>>2]=0,n[c>>2]=n[Rc>>2],n[c+4>>2]=n[Rc+4>>2],xu(s,3870,c)|0,n[uf>>2]=10,n[uf+4>>2]=0,n[c>>2]=n[uf>>2],n[c+4>>2]=n[uf+4>>2],xu(s,3884,c)|0,n[cf>>2]=11,n[cf+4>>2]=0,n[c>>2]=n[cf>>2],n[c+4>>2]=n[cf+4>>2],xu(s,3896,c)|0,n[Fc>>2]=1,n[Fc+4>>2]=0,n[c>>2]=n[Fc>>2],n[c+4>>2]=n[Fc+4>>2],Is(s,3907,c)|0,n[Co>>2]=2,n[Co+4>>2]=0,n[c>>2]=n[Co>>2],n[c+4>>2]=n[Co+4>>2],Is(s,3915,c)|0,n[Qc>>2]=3,n[Qc+4>>2]=0,n[c>>2]=n[Qc>>2],n[c+4>>2]=n[Qc+4>>2],Is(s,3928,c)|0,n[Eo>>2]=4,n[Eo+4>>2]=0,n[c>>2]=n[Eo>>2],n[c+4>>2]=n[Eo+4>>2],Is(s,3948,c)|0,n[lf>>2]=5,n[lf+4>>2]=0,n[c>>2]=n[lf>>2],n[c+4>>2]=n[lf+4>>2],Is(s,3960,c)|0,n[Rn>>2]=6,n[Rn+4>>2]=0,n[c>>2]=n[Rn>>2],n[c+4>>2]=n[Rn+4>>2],Is(s,3974,c)|0,n[Ql>>2]=7,n[Ql+4>>2]=0,n[c>>2]=n[Ql>>2],n[c+4>>2]=n[Ql+4>>2],Is(s,3983,c)|0,n[vs>>2]=20,n[vs+4>>2]=0,n[c>>2]=n[vs>>2],n[c+4>>2]=n[vs+4>>2],Tw(s,3999,c)|0,n[Gs>>2]=8,n[Gs+4>>2]=0,n[c>>2]=n[Gs>>2],n[c+4>>2]=n[Gs+4>>2],Is(s,4012,c)|0,n[af>>2]=9,n[af+4>>2]=0,n[c>>2]=n[af>>2],n[c+4>>2]=n[af+4>>2],Is(s,4022,c)|0,n[of>>2]=21,n[of+4>>2]=0,n[c>>2]=n[of>>2],n[c+4>>2]=n[of+4>>2],Tw(s,4039,c)|0,n[Lu>>2]=10,n[Lu+4>>2]=0,n[c>>2]=n[Lu>>2],n[c+4>>2]=n[Lu+4>>2],Is(s,4053,c)|0,n[sf>>2]=11,n[sf+4>>2]=0,n[c>>2]=n[sf>>2],n[c+4>>2]=n[sf+4>>2],Is(s,4065,c)|0,n[nf>>2]=12,n[nf+4>>2]=0,n[c>>2]=n[nf>>2],n[c+4>>2]=n[nf+4>>2],Is(s,4084,c)|0,n[kl>>2]=13,n[kl+4>>2]=0,n[c>>2]=n[kl>>2],n[c+4>>2]=n[kl+4>>2],Is(s,4097,c)|0,n[Wo>>2]=14,n[Wo+4>>2]=0,n[c>>2]=n[Wo>>2],n[c+4>>2]=n[Wo+4>>2],Is(s,4117,c)|0,n[za>>2]=15,n[za+4>>2]=0,n[c>>2]=n[za>>2],n[c+4>>2]=n[za+4>>2],Is(s,4129,c)|0,n[js>>2]=16,n[js+4>>2]=0,n[c>>2]=n[js>>2],n[c+4>>2]=n[js+4>>2],Is(s,4148,c)|0,n[kc>>2]=17,n[kc+4>>2]=0,n[c>>2]=n[kc>>2],n[c+4>>2]=n[kc+4>>2],Is(s,4161,c)|0,n[Nu>>2]=18,n[Nu+4>>2]=0,n[c>>2]=n[Nu>>2],n[c+4>>2]=n[Nu+4>>2],Is(s,4181,c)|0,n[Tu>>2]=5,n[Tu+4>>2]=0,n[c>>2]=n[Tu>>2],n[c+4>>2]=n[Tu+4>>2],Sg(s,4196,c)|0,n[_p>>2]=6,n[_p+4>>2]=0,n[c>>2]=n[_p>>2],n[c+4>>2]=n[_p+4>>2],Sg(s,4206,c)|0,n[Up>>2]=7,n[Up+4>>2]=0,n[c>>2]=n[Up>>2],n[c+4>>2]=n[Up+4>>2],Sg(s,4217,c)|0,n[xc>>2]=3,n[xc+4>>2]=0,n[c>>2]=n[xc>>2],n[c+4>>2]=n[xc+4>>2],zA(s,4235,c)|0,n[Mp>>2]=1,n[Mp+4>>2]=0,n[c>>2]=n[Mp>>2],n[c+4>>2]=n[Mp+4>>2],PF(s,4251,c)|0,n[xl>>2]=4,n[xl+4>>2]=0,n[c>>2]=n[xl>>2],n[c+4>>2]=n[xl+4>>2],zA(s,4263,c)|0,n[Xr>>2]=5,n[Xr+4>>2]=0,n[c>>2]=n[Xr>>2],n[c+4>>2]=n[Xr+4>>2],zA(s,4279,c)|0,n[Op>>2]=6,n[Op+4>>2]=0,n[c>>2]=n[Op>>2],n[c+4>>2]=n[Op+4>>2],zA(s,4293,c)|0,n[Lp>>2]=7,n[Lp+4>>2]=0,n[c>>2]=n[Lp>>2],n[c+4>>2]=n[Lp+4>>2],zA(s,4306,c)|0,n[Np>>2]=8,n[Np+4>>2]=0,n[c>>2]=n[Np>>2],n[c+4>>2]=n[Np+4>>2],zA(s,4323,c)|0,n[Ru>>2]=9,n[Ru+4>>2]=0,n[c>>2]=n[Ru>>2],n[c+4>>2]=n[Ru+4>>2],zA(s,4335,c)|0,n[Fu>>2]=2,n[Fu+4>>2]=0,n[c>>2]=n[Fu>>2],n[c+4>>2]=n[Fu+4>>2],PF(s,4353,c)|0,n[Tp>>2]=12,n[Tp+4>>2]=0,n[c>>2]=n[Tp>>2],n[c+4>>2]=n[Tp+4>>2],Pg(s,4363,c)|0,n[bl>>2]=1,n[bl+4>>2]=0,n[c>>2]=n[bl>>2],n[c+4>>2]=n[bl+4>>2],XA(s,4376,c)|0,n[Rp>>2]=2,n[Rp+4>>2]=0,n[c>>2]=n[Rp>>2],n[c+4>>2]=n[Rp+4>>2],XA(s,4388,c)|0,n[Fp>>2]=13,n[Fp+4>>2]=0,n[c>>2]=n[Fp>>2],n[c+4>>2]=n[Fp+4>>2],Pg(s,4402,c)|0,n[ya>>2]=14,n[ya+4>>2]=0,n[c>>2]=n[ya>>2],n[c+4>>2]=n[ya+4>>2],Pg(s,4411,c)|0,n[yo>>2]=15,n[yo+4>>2]=0,n[c>>2]=n[yo>>2],n[c+4>>2]=n[yo+4>>2],Pg(s,4421,c)|0,n[mo>>2]=16,n[mo+4>>2]=0,n[c>>2]=n[mo>>2],n[c+4>>2]=n[mo+4>>2],Pg(s,4433,c)|0,n[go>>2]=17,n[go+4>>2]=0,n[c>>2]=n[go>>2],n[c+4>>2]=n[go+4>>2],Pg(s,4446,c)|0,n[xn>>2]=18,n[xn+4>>2]=0,n[c>>2]=n[xn>>2],n[c+4>>2]=n[xn+4>>2],Pg(s,4458,c)|0,n[ir>>2]=3,n[ir+4>>2]=0,n[c>>2]=n[ir>>2],n[c+4>>2]=n[ir+4>>2],XA(s,4471,c)|0,n[Nr>>2]=1,n[Nr+4>>2]=0,n[c>>2]=n[Nr>>2],n[c+4>>2]=n[Nr+4>>2],iD(s,4486,c)|0,n[Sr>>2]=10,n[Sr+4>>2]=0,n[c>>2]=n[Sr>>2],n[c+4>>2]=n[Sr+4>>2],zA(s,4496,c)|0,n[Xt>>2]=11,n[Xt+4>>2]=0,n[c>>2]=n[Xt>>2],n[c+4>>2]=n[Xt+4>>2],zA(s,4508,c)|0,n[or>>2]=3,n[or+4>>2]=0,n[c>>2]=n[or>>2],n[c+4>>2]=n[or+4>>2],PF(s,4519,c)|0,n[Mr>>2]=4,n[Mr+4>>2]=0,n[c>>2]=n[Mr>>2],n[c+4>>2]=n[Mr+4>>2],Gve(s,4530,c)|0,n[Lt>>2]=19,n[Lt+4>>2]=0,n[c>>2]=n[Lt>>2],n[c+4>>2]=n[Lt+4>>2],Yve(s,4542,c)|0,n[je>>2]=12,n[je+4>>2]=0,n[c>>2]=n[je>>2],n[c+4>>2]=n[je+4>>2],Wve(s,4554,c)|0,n[Ue>>2]=13,n[Ue+4>>2]=0,n[c>>2]=n[Ue>>2],n[c+4>>2]=n[Ue+4>>2],Kve(s,4568,c)|0,n[lt>>2]=2,n[lt+4>>2]=0,n[c>>2]=n[lt>>2],n[c+4>>2]=n[lt+4>>2],Vve(s,4578,c)|0,n[Xe>>2]=20,n[Xe+4>>2]=0,n[c>>2]=n[Xe>>2],n[c+4>>2]=n[Xe+4>>2],Jve(s,4587,c)|0,n[et>>2]=22,n[et+4>>2]=0,n[c>>2]=n[et>>2],n[c+4>>2]=n[et+4>>2],Tw(s,4602,c)|0,n[Qe>>2]=23,n[Qe+4>>2]=0,n[c>>2]=n[Qe>>2],n[c+4>>2]=n[Qe+4>>2],Tw(s,4619,c)|0,n[Me>>2]=14,n[Me+4>>2]=0,n[c>>2]=n[Me>>2],n[c+4>>2]=n[Me+4>>2],zve(s,4629,c)|0,n[Ge>>2]=1,n[Ge+4>>2]=0,n[c>>2]=n[Ge>>2],n[c+4>>2]=n[Ge+4>>2],Xve(s,4637,c)|0,n[se>>2]=4,n[se+4>>2]=0,n[c>>2]=n[se>>2],n[c+4>>2]=n[se+4>>2],XA(s,4653,c)|0,n[j>>2]=5,n[j+4>>2]=0,n[c>>2]=n[j>>2],n[c+4>>2]=n[j+4>>2],XA(s,4669,c)|0,n[O>>2]=6,n[O+4>>2]=0,n[c>>2]=n[O>>2],n[c+4>>2]=n[O+4>>2],XA(s,4686,c)|0,n[M>>2]=7,n[M+4>>2]=0,n[c>>2]=n[M>>2],n[c+4>>2]=n[M+4>>2],XA(s,4701,c)|0,n[Q>>2]=8,n[Q+4>>2]=0,n[c>>2]=n[Q>>2],n[c+4>>2]=n[Q+4>>2],XA(s,4719,c)|0,n[k>>2]=9,n[k+4>>2]=0,n[c>>2]=n[k>>2],n[c+4>>2]=n[k+4>>2],XA(s,4736,c)|0,n[B>>2]=21,n[B+4>>2]=0,n[c>>2]=n[B>>2],n[c+4>>2]=n[B+4>>2],Zve(s,4754,c)|0,n[m>>2]=2,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],iD(s,4772,c)|0,n[d>>2]=3,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],iD(s,4790,c)|0,n[f>>2]=4,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],iD(s,4808,c)|0,C=l}function Uve(s,l){s=s|0,l=l|0;var c=0;c=iFe()|0,n[s>>2]=c,sFe(c,l),xp(n[s>>2]|0)}function _ve(s,l,c){return s=s|0,l=l|0,c=c|0,GQe(s,pn(l)|0,c,0),s|0}function Hve(s,l,c){return s=s|0,l=l|0,c=c|0,bQe(s,pn(l)|0,c,0),s|0}function qve(s,l,c){return s=s|0,l=l|0,c=c|0,hQe(s,pn(l)|0,c,0),s|0}function Tw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Zke(s,l,d),C=f,s|0}function jve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Rke(s,l,d),C=f,s|0}function xu(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],mke(s,l,d),C=f,s|0}function Sg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tke(s,l,d),C=f,s|0}function Is(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Uxe(s,l,d),C=f,s|0}function zA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Bxe(s,l,d),C=f,s|0}function PF(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],axe(s,l,d),C=f,s|0}function Pg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Rbe(s,l,d),C=f,s|0}function XA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],mbe(s,l,d),C=f,s|0}function iD(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tbe(s,l,d),C=f,s|0}function Gve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],UPe(s,l,d),C=f,s|0}function Yve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],BPe(s,l,d),C=f,s|0}function Wve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lPe(s,l,d),C=f,s|0}function Kve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],KSe(s,l,d),C=f,s|0}function Vve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],kSe(s,l,d),C=f,s|0}function Jve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],pSe(s,l,d),C=f,s|0}function zve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],XDe(s,l,d),C=f,s|0}function Xve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],RDe(s,l,d),C=f,s|0}function Zve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$ve(s,l,d),C=f,s|0}function $ve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eDe(s,c,d,1),C=f}function pn(s){return s=s|0,s|0}function eDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=bF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=tDe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,rDe(m,f)|0,f),C=d}function bF(){var s=0,l=0;if(o[7616]|0||(t5(9136),tr(24,9136,U|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9136)|0)){s=9136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));t5(9136)}return 9136}function tDe(s){return s=s|0,0}function rDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=bF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],e5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(sDe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function hn(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0;B=C,C=C+32|0,se=B+24|0,j=B+20|0,Q=B+16|0,O=B+12|0,M=B+8|0,k=B+4|0,Ge=B,n[j>>2]=l,n[Q>>2]=c,n[O>>2]=f,n[M>>2]=d,n[k>>2]=m,m=s+28|0,n[Ge>>2]=n[m>>2],n[se>>2]=n[Ge>>2],nDe(s+24|0,se,j,O,M,Q,k)|0,n[m>>2]=n[n[m>>2]>>2],C=B}function nDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s=iDe(l)|0,l=Kt(24)|0,$G(l+4|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[s>>2],n[s>>2]=l,l|0}function iDe(s){return s=s|0,n[s>>2]|0}function $G(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function gr(s,l){return s=s|0,l=l|0,l|s|0}function e5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function sDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=oDe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,aDe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],e5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,lDe(s,k),cDe(k),C=M;return}}function oDe(s){return s=s|0,357913941}function aDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function lDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function cDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function t5(s){s=s|0,fDe(s)}function uDe(s){s=s|0,ADe(s+24|0)}function Tr(s){return s=s|0,n[s>>2]|0}function ADe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function fDe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,3,l,pDe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Kr(){return 9228}function pDe(){return 1140}function hDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=gDe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=dDe(l,f)|0,C=c,l|0}function Vr(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function gDe(s){return s=s|0,(n[(bF()|0)+24>>2]|0)+(s*12|0)|0}function dDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+48|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=mDe(f)|0,C=d,f|0}function mDe(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=xF(r5()|0)|0,f?(kF(l,f),QF(c,l),yDe(s,c),s=FF(l)|0):s=EDe(s)|0,C=d,s|0}function r5(){var s=0;return o[7632]|0||(xDe(9184),tr(25,9184,U|0)|0,s=7632,n[s>>2]=1,n[s+4>>2]=0),9184}function xF(s){return s=s|0,n[s+36>>2]|0}function kF(s,l){s=s|0,l=l|0,n[s>>2]=l,n[s+4>>2]=s,n[s+8>>2]=0}function QF(s,l){s=s|0,l=l|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=0}function yDe(s,l){s=s|0,l=l|0,BDe(l,s,s+8|0,s+16|0,s+24|0,s+32|0,s+40|0)|0}function FF(s){return s=s|0,n[(n[s+4>>2]|0)+8>>2]|0}function EDe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0;Q=C,C=C+16|0,c=Q+4|0,f=Q,d=Wa(8)|0,m=d,B=Kt(48)|0,k=B,l=k+48|0;do n[k>>2]=n[s>>2],k=k+4|0,s=s+4|0;while((k|0)<(l|0));return l=m+4|0,n[l>>2]=B,k=Kt(8)|0,B=n[l>>2]|0,n[f>>2]=0,n[c>>2]=n[f>>2],n5(k,B,c),n[d>>2]=k,C=Q,m|0}function n5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1092,n[c+12>>2]=l,n[s+4>>2]=c}function CDe(s){s=s|0,zm(s),gt(s)}function wDe(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function IDe(s){s=s|0,gt(s)}function BDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,m=vDe(n[s>>2]|0,l,c,f,d,m,B)|0,B=s+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function vDe(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0;var k=0,Q=0;return k=C,C=C+16|0,Q=k,Ka(Q),s=da(s)|0,B=DDe(s,+E[l>>3],+E[c>>3],+E[f>>3],+E[d>>3],+E[m>>3],+E[B>>3])|0,Va(Q),C=k,B|0}function DDe(s,l,c,f,d,m,B){s=s|0,l=+l,c=+c,f=+f,d=+d,m=+m,B=+B;var k=0;return k=Sl(SDe()|0)|0,l=+JA(l),c=+JA(c),f=+JA(f),d=+JA(d),m=+JA(m),Ms(0,k|0,s|0,+l,+c,+f,+d,+m,+ +JA(B))|0}function SDe(){var s=0;return o[7624]|0||(PDe(9172),s=7624,n[s>>2]=1,n[s+4>>2]=0),9172}function PDe(s){s=s|0,Pl(s,bDe()|0,6)}function bDe(){return 1112}function xDe(s){s=s|0,vp(s)}function kDe(s){s=s|0,i5(s+24|0),s5(s+16|0)}function i5(s){s=s|0,FDe(s)}function s5(s){s=s|0,QDe(s)}function QDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,gt(c);while((l|0)!=0);n[s>>2]=0}function FDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,gt(c);while((l|0)!=0);n[s>>2]=0}function vp(s){s=s|0;var l=0;n[s+16>>2]=0,n[s+20>>2]=0,l=s+24|0,n[l>>2]=0,n[s+28>>2]=l,n[s+36>>2]=0,o[s+40>>0]=0,o[s+41>>0]=0}function RDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],TDe(s,c,d,0),C=f}function TDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=RF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=NDe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,LDe(m,f)|0,f),C=d}function RF(){var s=0,l=0;if(o[7640]|0||(a5(9232),tr(26,9232,U|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9232)|0)){s=9232,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));a5(9232)}return 9232}function NDe(s){return s=s|0,0}function LDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=RF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],o5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ODe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function o5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ODe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=MDe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,UDe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],o5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,_De(s,k),HDe(k),C=M;return}}function MDe(s){return s=s|0,357913941}function UDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function _De(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function HDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function a5(s){s=s|0,GDe(s)}function qDe(s){s=s|0,jDe(s+24|0)}function jDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function GDe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,1,l,YDe()|0,3),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function YDe(){return 1144}function WDe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,k=0,Q=0;m=C,C=C+16|0,B=m+8|0,k=m,Q=KDe(s)|0,s=n[Q+4>>2]|0,n[k>>2]=n[Q>>2],n[k+4>>2]=s,n[B>>2]=n[k>>2],n[B+4>>2]=n[k+4>>2],VDe(l,B,c,f,d),C=m}function KDe(s){return s=s|0,(n[(RF()|0)+24>>2]|0)+(s*12|0)|0}function VDe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,k=0,Q=0,M=0;M=C,C=C+16|0,B=M+2|0,k=M+1|0,Q=M,m=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(m=n[(n[s>>2]|0)+m>>2]|0),ku(B,c),c=+Qu(B,c),ku(k,f),f=+Qu(k,f),ZA(Q,d),Q=$A(Q,d)|0,I7[m&1](s,c,f,Q),C=M}function ku(s,l){s=s|0,l=+l}function Qu(s,l){return s=s|0,l=+l,+ +zDe(l)}function ZA(s,l){s=s|0,l=l|0}function $A(s,l){return s=s|0,l=l|0,JDe(l)|0}function JDe(s){return s=s|0,s|0}function zDe(s){return s=+s,+s}function XDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ZDe(s,c,d,1),C=f}function ZDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=TF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=$De(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,eSe(m,f)|0,f),C=d}function TF(){var s=0,l=0;if(o[7648]|0||(c5(9268),tr(27,9268,U|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9268)|0)){s=9268,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));c5(9268)}return 9268}function $De(s){return s=s|0,0}function eSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=TF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],l5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(tSe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function l5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function tSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=rSe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,nSe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],l5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,iSe(s,k),sSe(k),C=M;return}}function rSe(s){return s=s|0,357913941}function nSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function iSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function sSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function c5(s){s=s|0,lSe(s)}function oSe(s){s=s|0,aSe(s+24|0)}function aSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function lSe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,4,l,cSe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function cSe(){return 1160}function uSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=ASe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=fSe(l,f)|0,C=c,l|0}function ASe(s){return s=s|0,(n[(TF()|0)+24>>2]|0)+(s*12|0)|0}function fSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),u5(Lg[c&31](s)|0)|0}function u5(s){return s=s|0,s&1|0}function pSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hSe(s,c,d,0),C=f}function hSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=NF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=gSe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,dSe(m,f)|0,f),C=d}function NF(){var s=0,l=0;if(o[7656]|0||(f5(9304),tr(28,9304,U|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9304)|0)){s=9304,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));f5(9304)}return 9304}function gSe(s){return s=s|0,0}function dSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=NF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],A5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(mSe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function A5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function mSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=ySe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,ESe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],A5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,CSe(s,k),wSe(k),C=M;return}}function ySe(s){return s=s|0,357913941}function ESe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function CSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function wSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function f5(s){s=s|0,vSe(s)}function ISe(s){s=s|0,BSe(s+24|0)}function BSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function vSe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,5,l,DSe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function DSe(){return 1164}function SSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=PSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],bSe(l,d,c),C=f}function PSe(s){return s=s|0,(n[(NF()|0)+24>>2]|0)+(s*12|0)|0}function bSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Dp(d,c),c=Sp(d,c)|0,rf[f&31](s,c),Pp(d),C=m}function Dp(s,l){s=s|0,l=l|0,xSe(s,l)}function Sp(s,l){return s=s|0,l=l|0,s|0}function Pp(s){s=s|0,jA(s)}function xSe(s,l){s=s|0,l=l|0,LF(s,l)}function LF(s,l){s=s|0,l=l|0,n[s>>2]=l}function kSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QSe(s,c,d,0),C=f}function QSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=OF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=FSe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,RSe(m,f)|0,f),C=d}function OF(){var s=0,l=0;if(o[7664]|0||(h5(9340),tr(29,9340,U|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9340)|0)){s=9340,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));h5(9340)}return 9340}function FSe(s){return s=s|0,0}function RSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=OF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],p5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(TSe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function p5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function TSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=NSe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,LSe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],p5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,OSe(s,k),MSe(k),C=M;return}}function NSe(s){return s=s|0,357913941}function LSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function OSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function MSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function h5(s){s=s|0,HSe(s)}function USe(s){s=s|0,_Se(s+24|0)}function _Se(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function HSe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,4,l,qSe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function qSe(){return 1180}function jSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=GSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=YSe(l,d,c)|0,C=f,c|0}function GSe(s){return s=s|0,(n[(OF()|0)+24>>2]|0)+(s*12|0)|0}function YSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),bg(d,c),d=xg(d,c)|0,d=sD(RR[f&15](s,d)|0)|0,C=m,d|0}function bg(s,l){s=s|0,l=l|0}function xg(s,l){return s=s|0,l=l|0,WSe(l)|0}function sD(s){return s=s|0,s|0}function WSe(s){return s=s|0,s|0}function KSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],VSe(s,c,d,0),C=f}function VSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=MF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=JSe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,zSe(m,f)|0,f),C=d}function MF(){var s=0,l=0;if(o[7672]|0||(d5(9376),tr(30,9376,U|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9376)|0)){s=9376,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));d5(9376)}return 9376}function JSe(s){return s=s|0,0}function zSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=MF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],g5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(XSe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function g5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function XSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=ZSe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,$Se(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],g5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,ePe(s,k),tPe(k),C=M;return}}function ZSe(s){return s=s|0,357913941}function $Se(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function ePe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function tPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function d5(s){s=s|0,iPe(s)}function rPe(s){s=s|0,nPe(s+24|0)}function nPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function iPe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,5,l,m5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function m5(){return 1196}function sPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=oPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=aPe(l,f)|0,C=c,l|0}function oPe(s){return s=s|0,(n[(MF()|0)+24>>2]|0)+(s*12|0)|0}function aPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),sD(Lg[c&31](s)|0)|0}function lPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cPe(s,c,d,1),C=f}function cPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=UF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=uPe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,APe(m,f)|0,f),C=d}function UF(){var s=0,l=0;if(o[7680]|0||(E5(9412),tr(31,9412,U|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9412)|0)){s=9412,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));E5(9412)}return 9412}function uPe(s){return s=s|0,0}function APe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=UF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],y5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(fPe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function y5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function fPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=pPe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,hPe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],y5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,gPe(s,k),dPe(k),C=M;return}}function pPe(s){return s=s|0,357913941}function hPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function gPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function dPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function E5(s){s=s|0,EPe(s)}function mPe(s){s=s|0,yPe(s+24|0)}function yPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function EPe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,6,l,C5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function C5(){return 1200}function CPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=wPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=IPe(l,f)|0,C=c,l|0}function wPe(s){return s=s|0,(n[(UF()|0)+24>>2]|0)+(s*12|0)|0}function IPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),oD(Lg[c&31](s)|0)|0}function oD(s){return s=s|0,s|0}function BPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vPe(s,c,d,0),C=f}function vPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=_F()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=DPe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,SPe(m,f)|0,f),C=d}function _F(){var s=0,l=0;if(o[7688]|0||(I5(9448),tr(32,9448,U|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9448)|0)){s=9448,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));I5(9448)}return 9448}function DPe(s){return s=s|0,0}function SPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=_F()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],w5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(PPe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function w5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function PPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=bPe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,xPe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],w5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,kPe(s,k),QPe(k),C=M;return}}function bPe(s){return s=s|0,357913941}function xPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function kPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function QPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function I5(s){s=s|0,TPe(s)}function FPe(s){s=s|0,RPe(s+24|0)}function RPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function TPe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,6,l,B5()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function B5(){return 1204}function NPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=LPe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],OPe(l,d,c),C=f}function LPe(s){return s=s|0,(n[(_F()|0)+24>>2]|0)+(s*12|0)|0}function OPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),HF(d,c),d=qF(d,c)|0,rf[f&31](s,d),C=m}function HF(s,l){s=s|0,l=l|0}function qF(s,l){return s=s|0,l=l|0,MPe(l)|0}function MPe(s){return s=s|0,s|0}function UPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],_Pe(s,c,d,0),C=f}function _Pe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=jF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=HPe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,qPe(m,f)|0,f),C=d}function jF(){var s=0,l=0;if(o[7696]|0||(D5(9484),tr(33,9484,U|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9484)|0)){s=9484,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));D5(9484)}return 9484}function HPe(s){return s=s|0,0}function qPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=jF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],v5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(jPe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function v5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function jPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=GPe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,YPe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],v5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,WPe(s,k),KPe(k),C=M;return}}function GPe(s){return s=s|0,357913941}function YPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function WPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function KPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function D5(s){s=s|0,zPe(s)}function VPe(s){s=s|0,JPe(s+24|0)}function JPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function zPe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,1,l,XPe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function XPe(){return 1212}function ZPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=$Pe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],ebe(l,m,c,f),C=d}function $Pe(s){return s=s|0,(n[(jF()|0)+24>>2]|0)+(s*12|0)|0}function ebe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),HF(m,c),m=qF(m,c)|0,bg(B,f),B=xg(B,f)|0,Hw[d&15](s,m,B),C=k}function tbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rbe(s,c,d,1),C=f}function rbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=GF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=nbe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,ibe(m,f)|0,f),C=d}function GF(){var s=0,l=0;if(o[7704]|0||(P5(9520),tr(34,9520,U|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9520)|0)){s=9520,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));P5(9520)}return 9520}function nbe(s){return s=s|0,0}function ibe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=GF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],S5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(sbe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function S5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function sbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=obe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,abe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],S5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,lbe(s,k),cbe(k),C=M;return}}function obe(s){return s=s|0,357913941}function abe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function lbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function cbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function P5(s){s=s|0,fbe(s)}function ube(s){s=s|0,Abe(s+24|0)}function Abe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function fbe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,1,l,pbe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function pbe(){return 1224}function hbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;return d=C,C=C+16|0,m=d+8|0,B=d,k=gbe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],f=+dbe(l,m,c),C=d,+f}function gbe(s){return s=s|0,(n[(GF()|0)+24>>2]|0)+(s*12|0)|0}function dbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,B=+SF(+v7[f&7](s,d)),C=m,+B}function mbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ybe(s,c,d,1),C=f}function ybe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=YF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Ebe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Cbe(m,f)|0,f),C=d}function YF(){var s=0,l=0;if(o[7712]|0||(x5(9556),tr(35,9556,U|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9556)|0)){s=9556,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));x5(9556)}return 9556}function Ebe(s){return s=s|0,0}function Cbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=YF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],b5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(wbe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function b5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function wbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Ibe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Bbe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],b5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,vbe(s,k),Dbe(k),C=M;return}}function Ibe(s){return s=s|0,357913941}function Bbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function vbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Dbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function x5(s){s=s|0,bbe(s)}function Sbe(s){s=s|0,Pbe(s+24|0)}function Pbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function bbe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,5,l,xbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function xbe(){return 1232}function kbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=Qbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=+Fbe(l,d),C=f,+c}function Qbe(s){return s=s|0,(n[(YF()|0)+24>>2]|0)+(s*12|0)|0}function Fbe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),+ +SF(+B7[c&15](s))}function Rbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Tbe(s,c,d,1),C=f}function Tbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=WF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Nbe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Lbe(m,f)|0,f),C=d}function WF(){var s=0,l=0;if(o[7720]|0||(Q5(9592),tr(36,9592,U|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9592)|0)){s=9592,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Q5(9592)}return 9592}function Nbe(s){return s=s|0,0}function Lbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=WF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],k5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Obe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function k5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Obe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Mbe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Ube(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],k5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,_be(s,k),Hbe(k),C=M;return}}function Mbe(s){return s=s|0,357913941}function Ube(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function _be(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Hbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function Q5(s){s=s|0,Gbe(s)}function qbe(s){s=s|0,jbe(s+24|0)}function jbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Gbe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,7,l,Ybe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Ybe(){return 1276}function Wbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=Kbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Vbe(l,f)|0,C=c,l|0}function Kbe(s){return s=s|0,(n[(WF()|0)+24>>2]|0)+(s*12|0)|0}function Vbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+16|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=F5(f)|0,C=d,f|0}function F5(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=xF(R5()|0)|0,f?(kF(l,f),QF(c,l),Jbe(s,c),s=FF(l)|0):s=zbe(s)|0,C=d,s|0}function R5(){var s=0;return o[7736]|0||(oxe(9640),tr(25,9640,U|0)|0,s=7736,n[s>>2]=1,n[s+4>>2]=0),9640}function Jbe(s,l){s=s|0,l=l|0,exe(l,s,s+8|0)|0}function zbe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Wa(8)|0,l=f,k=Kt(16)|0,n[k>>2]=n[s>>2],n[k+4>>2]=n[s+4>>2],n[k+8>>2]=n[s+8>>2],n[k+12>>2]=n[s+12>>2],m=l+4|0,n[m>>2]=k,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],KF(s,m,d),n[f>>2]=s,C=c,l|0}function KF(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1244,n[c+12>>2]=l,n[s+4>>2]=c}function Xbe(s){s=s|0,zm(s),gt(s)}function Zbe(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function $be(s){s=s|0,gt(s)}function exe(s,l,c){return s=s|0,l=l|0,c=c|0,l=txe(n[s>>2]|0,l,c)|0,c=s+4|0,n[(n[c>>2]|0)+8>>2]=l,n[(n[c>>2]|0)+8>>2]|0}function txe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return f=C,C=C+16|0,d=f,Ka(d),s=da(s)|0,c=rxe(s,n[l>>2]|0,+E[c>>3])|0,Va(d),C=f,c|0}function rxe(s,l,c){s=s|0,l=l|0,c=+c;var f=0;return f=Sl(nxe()|0)|0,l=DF(l)|0,ml(0,f|0,s|0,l|0,+ +JA(c))|0}function nxe(){var s=0;return o[7728]|0||(ixe(9628),s=7728,n[s>>2]=1,n[s+4>>2]=0),9628}function ixe(s){s=s|0,Pl(s,sxe()|0,2)}function sxe(){return 1264}function oxe(s){s=s|0,vp(s)}function axe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lxe(s,c,d,1),C=f}function lxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=VF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=cxe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,uxe(m,f)|0,f),C=d}function VF(){var s=0,l=0;if(o[7744]|0||(N5(9684),tr(37,9684,U|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9684)|0)){s=9684,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));N5(9684)}return 9684}function cxe(s){return s=s|0,0}function uxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=VF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],T5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Axe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function T5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Axe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=fxe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,pxe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],T5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,hxe(s,k),gxe(k),C=M;return}}function fxe(s){return s=s|0,357913941}function pxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function hxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function gxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function N5(s){s=s|0,yxe(s)}function dxe(s){s=s|0,mxe(s+24|0)}function mxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function yxe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,5,l,Exe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Exe(){return 1280}function Cxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=wxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=Ixe(l,d,c)|0,C=f,c|0}function wxe(s){return s=s|0,(n[(VF()|0)+24>>2]|0)+(s*12|0)|0}function Ixe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return B=C,C=C+32|0,d=B,m=B+16|0,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(m,c),m=$A(m,c)|0,Hw[f&15](d,s,m),m=F5(d)|0,C=B,m|0}function Bxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vxe(s,c,d,1),C=f}function vxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=JF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Dxe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Sxe(m,f)|0,f),C=d}function JF(){var s=0,l=0;if(o[7752]|0||(O5(9720),tr(38,9720,U|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9720)|0)){s=9720,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));O5(9720)}return 9720}function Dxe(s){return s=s|0,0}function Sxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=JF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],L5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Pxe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function L5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Pxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=bxe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,xxe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],L5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,kxe(s,k),Qxe(k),C=M;return}}function bxe(s){return s=s|0,357913941}function xxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function kxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Qxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function O5(s){s=s|0,Txe(s)}function Fxe(s){s=s|0,Rxe(s+24|0)}function Rxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Txe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,8,l,Nxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Nxe(){return 1288}function Lxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=Oxe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Mxe(l,f)|0,C=c,l|0}function Oxe(s){return s=s|0,(n[(JF()|0)+24>>2]|0)+(s*12|0)|0}function Mxe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),ZG(Lg[c&31](s)|0)|0}function Uxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],_xe(s,c,d,0),C=f}function _xe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=zF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Hxe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,qxe(m,f)|0,f),C=d}function zF(){var s=0,l=0;if(o[7760]|0||(U5(9756),tr(39,9756,U|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9756)|0)){s=9756,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));U5(9756)}return 9756}function Hxe(s){return s=s|0,0}function qxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=zF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],M5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(jxe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function M5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function jxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Gxe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Yxe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],M5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Wxe(s,k),Kxe(k),C=M;return}}function Gxe(s){return s=s|0,357913941}function Yxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Wxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Kxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function U5(s){s=s|0,zxe(s)}function Vxe(s){s=s|0,Jxe(s+24|0)}function Jxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function zxe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,8,l,Xxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Xxe(){return 1292}function Zxe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=$xe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eke(l,d,c),C=f}function $xe(s){return s=s|0,(n[(zF()|0)+24>>2]|0)+(s*12|0)|0}function eke(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ku(d,c),c=+Qu(d,c),C7[f&31](s,c),C=m}function tke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rke(s,c,d,0),C=f}function rke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=XF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=nke(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,ike(m,f)|0,f),C=d}function XF(){var s=0,l=0;if(o[7768]|0||(H5(9792),tr(40,9792,U|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9792)|0)){s=9792,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));H5(9792)}return 9792}function nke(s){return s=s|0,0}function ike(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=XF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],_5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ske(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function _5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ske(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=oke(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,ake(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],_5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,lke(s,k),cke(k),C=M;return}}function oke(s){return s=s|0,357913941}function ake(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function lke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function cke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function H5(s){s=s|0,fke(s)}function uke(s){s=s|0,Ake(s+24|0)}function Ake(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function fke(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,1,l,pke()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function pke(){return 1300}function hke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=gke(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],dke(l,m,c,f),C=d}function gke(s){return s=s|0,(n[(XF()|0)+24>>2]|0)+(s*12|0)|0}function dke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,ku(B,f),f=+Qu(B,f),b7[d&15](s,m,f),C=k}function mke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],yke(s,c,d,0),C=f}function yke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=ZF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Eke(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Cke(m,f)|0,f),C=d}function ZF(){var s=0,l=0;if(o[7776]|0||(j5(9828),tr(41,9828,U|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9828)|0)){s=9828,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));j5(9828)}return 9828}function Eke(s){return s=s|0,0}function Cke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=ZF()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],q5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(wke(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function q5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function wke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Ike(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Bke(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],q5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,vke(s,k),Dke(k),C=M;return}}function Ike(s){return s=s|0,357913941}function Bke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function vke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Dke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function j5(s){s=s|0,bke(s)}function Ske(s){s=s|0,Pke(s+24|0)}function Pke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function bke(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,7,l,xke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function xke(){return 1312}function kke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=Qke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Fke(l,d,c),C=f}function Qke(s){return s=s|0,(n[(ZF()|0)+24>>2]|0)+(s*12|0)|0}function Fke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,rf[f&31](s,d),C=m}function Rke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Tke(s,c,d,0),C=f}function Tke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=$F()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Nke(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Lke(m,f)|0,f),C=d}function $F(){var s=0,l=0;if(o[7784]|0||(Y5(9864),tr(42,9864,U|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9864)|0)){s=9864,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Y5(9864)}return 9864}function Nke(s){return s=s|0,0}function Lke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=$F()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],G5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Oke(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function G5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Oke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Mke(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Uke(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],G5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,_ke(s,k),Hke(k),C=M;return}}function Mke(s){return s=s|0,357913941}function Uke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function _ke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Hke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function Y5(s){s=s|0,Gke(s)}function qke(s){s=s|0,jke(s+24|0)}function jke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Gke(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,8,l,Yke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Yke(){return 1320}function Wke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=Kke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Vke(l,d,c),C=f}function Kke(s){return s=s|0,(n[($F()|0)+24>>2]|0)+(s*12|0)|0}function Vke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Jke(d,c),d=zke(d,c)|0,rf[f&31](s,d),C=m}function Jke(s,l){s=s|0,l=l|0}function zke(s,l){return s=s|0,l=l|0,Xke(l)|0}function Xke(s){return s=s|0,s|0}function Zke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$ke(s,c,d,0),C=f}function $ke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=eR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=eQe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,tQe(m,f)|0,f),C=d}function eR(){var s=0,l=0;if(o[7792]|0||(K5(9900),tr(43,9900,U|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9900)|0)){s=9900,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));K5(9900)}return 9900}function eQe(s){return s=s|0,0}function tQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=eR()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],W5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(rQe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function W5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function rQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=nQe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,iQe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],W5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,sQe(s,k),oQe(k),C=M;return}}function nQe(s){return s=s|0,357913941}function iQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function sQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function oQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function K5(s){s=s|0,cQe(s)}function aQe(s){s=s|0,lQe(s+24|0)}function lQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function cQe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,22,l,uQe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function uQe(){return 1344}function AQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;c=C,C=C+16|0,f=c+8|0,d=c,m=fQe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],pQe(l,f),C=c}function fQe(s){return s=s|0,(n[(eR()|0)+24>>2]|0)+(s*12|0)|0}function pQe(s,l){s=s|0,l=l|0;var c=0;c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),tf[c&127](s)}function hQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=tR()|0,s=gQe(c)|0,hn(m,l,d,s,dQe(c,f)|0,f)}function tR(){var s=0,l=0;if(o[7800]|0||(J5(9936),tr(44,9936,U|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9936)|0)){s=9936,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));J5(9936)}return 9936}function gQe(s){return s=s|0,s|0}function dQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=tR()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(V5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(mQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function V5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function mQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=yQe(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,EQe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,V5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,CQe(s,d),wQe(d),C=k;return}}function yQe(s){return s=s|0,536870911}function EQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function CQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function wQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function J5(s){s=s|0,vQe(s)}function IQe(s){s=s|0,BQe(s+24|0)}function BQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function vQe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,23,l,B5()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function DQe(s,l){s=s|0,l=l|0,PQe(n[(SQe(s)|0)>>2]|0,l)}function SQe(s){return s=s|0,(n[(tR()|0)+24>>2]|0)+(s<<3)|0}function PQe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,HF(f,l),l=qF(f,l)|0,tf[s&127](l),C=c}function bQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=rR()|0,s=xQe(c)|0,hn(m,l,d,s,kQe(c,f)|0,f)}function rR(){var s=0,l=0;if(o[7808]|0||(X5(9972),tr(45,9972,U|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(Tr(9972)|0)){s=9972,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));X5(9972)}return 9972}function xQe(s){return s=s|0,s|0}function kQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=rR()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(z5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(QQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function z5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function QQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=FQe(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,RQe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,z5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,TQe(s,d),NQe(d),C=k;return}}function FQe(s){return s=s|0,536870911}function RQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function TQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function NQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function X5(s){s=s|0,MQe(s)}function LQe(s){s=s|0,OQe(s+24|0)}function OQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function MQe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,9,l,UQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function UQe(){return 1348}function _Qe(s,l){return s=s|0,l=l|0,qQe(n[(HQe(s)|0)>>2]|0,l)|0}function HQe(s){return s=s|0,(n[(rR()|0)+24>>2]|0)+(s<<3)|0}function qQe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,Z5(f,l),l=$5(f,l)|0,l=sD(Lg[s&31](l)|0)|0,C=c,l|0}function Z5(s,l){s=s|0,l=l|0}function $5(s,l){return s=s|0,l=l|0,jQe(l)|0}function jQe(s){return s=s|0,s|0}function GQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=nR()|0,s=YQe(c)|0,hn(m,l,d,s,WQe(c,f)|0,f)}function nR(){var s=0,l=0;if(o[7816]|0||(t9(10008),tr(46,10008,U|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10008)|0)){s=10008,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));t9(10008)}return 10008}function YQe(s){return s=s|0,s|0}function WQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=nR()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(e9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(KQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function e9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function KQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=VQe(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,JQe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,e9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,zQe(s,d),XQe(d),C=k;return}}function VQe(s){return s=s|0,536870911}function JQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function zQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function XQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function t9(s){s=s|0,eFe(s)}function ZQe(s){s=s|0,$Qe(s+24|0)}function $Qe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function eFe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,15,l,m5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function tFe(s){return s=s|0,nFe(n[(rFe(s)|0)>>2]|0)|0}function rFe(s){return s=s|0,(n[(nR()|0)+24>>2]|0)+(s<<3)|0}function nFe(s){return s=s|0,sD(CD[s&7]()|0)|0}function iFe(){var s=0;return o[7832]|0||(fFe(10052),tr(25,10052,U|0)|0,s=7832,n[s>>2]=1,n[s+4>>2]=0),10052}function sFe(s,l){s=s|0,l=l|0,n[s>>2]=oFe()|0,n[s+4>>2]=aFe()|0,n[s+12>>2]=l,n[s+8>>2]=lFe()|0,n[s+32>>2]=2}function oFe(){return 11709}function aFe(){return 1188}function lFe(){return aD()|0}function cFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(bp(f,896)|0)==512?c|0&&(uFe(c),gt(c)):l|0&&(Su(l),gt(l))}function bp(s,l){return s=s|0,l=l|0,l&s|0}function uFe(s){s=s|0,s=n[s+4>>2]|0,s|0&&kp(s)}function aD(){var s=0;return o[7824]|0||(n[2511]=AFe()|0,n[2512]=0,s=7824,n[s>>2]=1,n[s+4>>2]=0),10044}function AFe(){return 0}function fFe(s){s=s|0,vp(s)}function pFe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0;l=C,C=C+32|0,c=l+24|0,m=l+16|0,d=l+8|0,f=l,hFe(s,4827),gFe(s,4834,3)|0,dFe(s,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],mFe(s,4841,c)|0,n[d>>2]=1,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],yFe(s,4871,c)|0,n[f>>2]=10,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],EFe(s,4891,c)|0,C=l}function hFe(s,l){s=s|0,l=l|0;var c=0;c=XRe()|0,n[s>>2]=c,ZRe(c,l),xp(n[s>>2]|0)}function gFe(s,l,c){return s=s|0,l=l|0,c=c|0,NRe(s,pn(l)|0,c,0),s|0}function dFe(s,l,c){return s=s|0,l=l|0,c=c|0,CRe(s,pn(l)|0,c,0),s|0}function mFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tRe(s,l,d),C=f,s|0}function yFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],LFe(s,l,d),C=f,s|0}function EFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],CFe(s,l,d),C=f,s|0}function CFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wFe(s,c,d,1),C=f}function wFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=iR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=IFe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,BFe(m,f)|0,f),C=d}function iR(){var s=0,l=0;if(o[7840]|0||(n9(10100),tr(48,10100,U|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10100)|0)){s=10100,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));n9(10100)}return 10100}function IFe(s){return s=s|0,0}function BFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=iR()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],r9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(vFe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function r9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function vFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=DFe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,SFe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],r9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,PFe(s,k),bFe(k),C=M;return}}function DFe(s){return s=s|0,357913941}function SFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function PFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function bFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function n9(s){s=s|0,QFe(s)}function xFe(s){s=s|0,kFe(s+24|0)}function kFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function QFe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,6,l,FFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function FFe(){return 1364}function RFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=TFe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=NFe(l,d,c)|0,C=f,c|0}function TFe(s){return s=s|0,(n[(iR()|0)+24>>2]|0)+(s*12|0)|0}function NFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,d=u5(RR[f&15](s,d)|0)|0,C=m,d|0}function LFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],OFe(s,c,d,0),C=f}function OFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=sR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=MFe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,UFe(m,f)|0,f),C=d}function sR(){var s=0,l=0;if(o[7848]|0||(s9(10136),tr(49,10136,U|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10136)|0)){s=10136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));s9(10136)}return 10136}function MFe(s){return s=s|0,0}function UFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=sR()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],i9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(_Fe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function i9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function _Fe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=HFe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,qFe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],i9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,jFe(s,k),GFe(k),C=M;return}}function HFe(s){return s=s|0,357913941}function qFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function jFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function GFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function s9(s){s=s|0,KFe(s)}function YFe(s){s=s|0,WFe(s+24|0)}function WFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function KFe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,9,l,VFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function VFe(){return 1372}function JFe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=zFe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],XFe(l,d,c),C=f}function zFe(s){return s=s|0,(n[(sR()|0)+24>>2]|0)+(s*12|0)|0}function XFe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=Ze;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZFe(d,c),B=y($Fe(d,c)),E7[f&1](s,B),C=m}function ZFe(s,l){s=s|0,l=+l}function $Fe(s,l){return s=s|0,l=+l,y(eRe(l))}function eRe(s){return s=+s,y(s)}function tRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rRe(s,c,d,0),C=f}function rRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=oR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=nRe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,iRe(m,f)|0,f),C=d}function oR(){var s=0,l=0;if(o[7856]|0||(a9(10172),tr(50,10172,U|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10172)|0)){s=10172,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));a9(10172)}return 10172}function nRe(s){return s=s|0,0}function iRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,j=oR()|0,M=j+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],o9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(sRe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function o9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function sRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=oRe(s)|0,m>>>0>>0)zr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,aRe(k,se>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],o9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,lRe(s,k),cRe(k),C=M;return}}function oRe(s){return s=s|0,357913941}function aRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function lRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function cRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function a9(s){s=s|0,fRe(s)}function uRe(s){s=s|0,ARe(s+24|0)}function ARe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function fRe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,2,3,l,pRe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function pRe(){return 1380}function hRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=gRe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],dRe(l,m,c,f),C=d}function gRe(s){return s=s|0,(n[(oR()|0)+24>>2]|0)+(s*12|0)|0}function dRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,mRe(B,f),B=yRe(B,f)|0,Hw[d&15](s,m,B),C=k}function mRe(s,l){s=s|0,l=l|0}function yRe(s,l){return s=s|0,l=l|0,ERe(l)|0}function ERe(s){return s=s|0,(s|0)!=0|0}function CRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=aR()|0,s=wRe(c)|0,hn(m,l,d,s,IRe(c,f)|0,f)}function aR(){var s=0,l=0;if(o[7864]|0||(c9(10208),tr(51,10208,U|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10208)|0)){s=10208,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));c9(10208)}return 10208}function wRe(s){return s=s|0,s|0}function IRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=aR()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(l9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(BRe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function l9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function BRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=vRe(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,DRe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,l9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,SRe(s,d),PRe(d),C=k;return}}function vRe(s){return s=s|0,536870911}function DRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function SRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function PRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function c9(s){s=s|0,kRe(s)}function bRe(s){s=s|0,xRe(s+24|0)}function xRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function kRe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,24,l,QRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function QRe(){return 1392}function FRe(s,l){s=s|0,l=l|0,TRe(n[(RRe(s)|0)>>2]|0,l)}function RRe(s){return s=s|0,(n[(aR()|0)+24>>2]|0)+(s<<3)|0}function TRe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Z5(f,l),l=$5(f,l)|0,tf[s&127](l),C=c}function NRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=lR()|0,s=LRe(c)|0,hn(m,l,d,s,ORe(c,f)|0,f)}function lR(){var s=0,l=0;if(o[7872]|0||(A9(10244),tr(52,10244,U|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10244)|0)){s=10244,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));A9(10244)}return 10244}function LRe(s){return s=s|0,s|0}function ORe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=lR()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(u9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(MRe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function u9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function MRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=URe(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,_Re(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,u9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,HRe(s,d),qRe(d),C=k;return}}function URe(s){return s=s|0,536870911}function _Re(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function HRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function A9(s){s=s|0,YRe(s)}function jRe(s){s=s|0,GRe(s+24|0)}function GRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function YRe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,16,l,WRe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function WRe(){return 1400}function KRe(s){return s=s|0,JRe(n[(VRe(s)|0)>>2]|0)|0}function VRe(s){return s=s|0,(n[(lR()|0)+24>>2]|0)+(s<<3)|0}function JRe(s){return s=s|0,zRe(CD[s&7]()|0)|0}function zRe(s){return s=s|0,s|0}function XRe(){var s=0;return o[7880]|0||(iTe(10280),tr(25,10280,U|0)|0,s=7880,n[s>>2]=1,n[s+4>>2]=0),10280}function ZRe(s,l){s=s|0,l=l|0,n[s>>2]=$Re()|0,n[s+4>>2]=eTe()|0,n[s+12>>2]=l,n[s+8>>2]=tTe()|0,n[s+32>>2]=4}function $Re(){return 11711}function eTe(){return 1356}function tTe(){return aD()|0}function rTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(bp(f,896)|0)==512?c|0&&(nTe(c),gt(c)):l|0&&(Dg(l),gt(l))}function nTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&kp(s)}function iTe(s){s=s|0,vp(s)}function sTe(s){s=s|0,oTe(s,4920),aTe(s)|0,lTe(s)|0}function oTe(s,l){s=s|0,l=l|0;var c=0;c=R5()|0,n[s>>2]=c,xTe(c,l),xp(n[s>>2]|0)}function aTe(s){s=s|0;var l=0;return l=n[s>>2]|0,kg(l,ETe()|0),s|0}function lTe(s){s=s|0;var l=0;return l=n[s>>2]|0,kg(l,cTe()|0),s|0}function cTe(){var s=0;return o[7888]|0||(f9(10328),tr(53,10328,U|0)|0,s=7888,n[s>>2]=1,n[s+4>>2]=0),Tr(10328)|0||f9(10328),10328}function kg(s,l){s=s|0,l=l|0,hn(s,0,l,0,0,0)}function f9(s){s=s|0,fTe(s),Qg(s,10)}function uTe(s){s=s|0,ATe(s+24|0)}function ATe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function fTe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,5,1,l,dTe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function pTe(s,l,c){s=s|0,l=l|0,c=+c,hTe(s,l,c)}function Qg(s,l){s=s|0,l=l|0,n[s+20>>2]=l}function hTe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,m=f+8|0,k=f+13|0,d=f,B=f+12|0,ZA(k,l),n[m>>2]=$A(k,l)|0,ku(B,c),E[d>>3]=+Qu(B,c),gTe(s,m,d),C=f}function gTe(s,l,c){s=s|0,l=l|0,c=c|0,Y(s+8|0,n[l>>2]|0,+E[c>>3]),o[s+24>>0]=1}function dTe(){return 1404}function mTe(s,l){return s=s|0,l=+l,yTe(s,l)|0}function yTe(s,l){s=s|0,l=+l;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return f=C,C=C+16|0,m=f+4|0,B=f+8|0,k=f,d=Wa(8)|0,c=d,Q=Kt(16)|0,ZA(m,s),s=$A(m,s)|0,ku(B,l),Y(Q,s,+Qu(B,l)),B=c+4|0,n[B>>2]=Q,s=Kt(8)|0,B=n[B>>2]|0,n[k>>2]=0,n[m>>2]=n[k>>2],KF(s,B,m),n[d>>2]=s,C=f,c|0}function ETe(){var s=0;return o[7896]|0||(p9(10364),tr(54,10364,U|0)|0,s=7896,n[s>>2]=1,n[s+4>>2]=0),Tr(10364)|0||p9(10364),10364}function p9(s){s=s|0,ITe(s),Qg(s,55)}function CTe(s){s=s|0,wTe(s+24|0)}function wTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function ITe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,5,4,l,STe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function BTe(s){s=s|0,vTe(s)}function vTe(s){s=s|0,DTe(s)}function DTe(s){s=s|0,h9(s+8|0),o[s+24>>0]=1}function h9(s){s=s|0,n[s>>2]=0,E[s+8>>3]=0}function STe(){return 1424}function PTe(){return bTe()|0}function bTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Wa(8)|0,s=c,f=Kt(16)|0,h9(f),m=s+4|0,n[m>>2]=f,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],KF(f,m,d),n[c>>2]=f,C=l,s|0}function xTe(s,l){s=s|0,l=l|0,n[s>>2]=kTe()|0,n[s+4>>2]=QTe()|0,n[s+12>>2]=l,n[s+8>>2]=FTe()|0,n[s+32>>2]=5}function kTe(){return 11710}function QTe(){return 1416}function FTe(){return lD()|0}function RTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(bp(f,896)|0)==512?c|0&&(TTe(c),gt(c)):l|0&>(l)}function TTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&kp(s)}function lD(){var s=0;return o[7904]|0||(n[2600]=NTe()|0,n[2601]=0,s=7904,n[s>>2]=1,n[s+4>>2]=0),10400}function NTe(){return n[357]|0}function LTe(s){s=s|0,OTe(s,4926),MTe(s)|0}function OTe(s,l){s=s|0,l=l|0;var c=0;c=r5()|0,n[s>>2]=c,JTe(c,l),xp(n[s>>2]|0)}function MTe(s){s=s|0;var l=0;return l=n[s>>2]|0,kg(l,UTe()|0),s|0}function UTe(){var s=0;return o[7912]|0||(g9(10412),tr(56,10412,U|0)|0,s=7912,n[s>>2]=1,n[s+4>>2]=0),Tr(10412)|0||g9(10412),10412}function g9(s){s=s|0,qTe(s),Qg(s,57)}function _Te(s){s=s|0,HTe(s+24|0)}function HTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function qTe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,5,5,l,WTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function jTe(s){s=s|0,GTe(s)}function GTe(s){s=s|0,YTe(s)}function YTe(s){s=s|0;var l=0,c=0;l=s+8|0,c=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(c|0));o[s+56>>0]=1}function WTe(){return 1432}function KTe(){return VTe()|0}function VTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,k=0;B=C,C=C+16|0,s=B+4|0,l=B,c=Wa(8)|0,f=c,d=Kt(48)|0,m=d,k=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(k|0));return m=f+4|0,n[m>>2]=d,k=Kt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[s>>2]=n[l>>2],n5(k,m,s),n[c>>2]=k,C=B,f|0}function JTe(s,l){s=s|0,l=l|0,n[s>>2]=zTe()|0,n[s+4>>2]=XTe()|0,n[s+12>>2]=l,n[s+8>>2]=ZTe()|0,n[s+32>>2]=6}function zTe(){return 11704}function XTe(){return 1436}function ZTe(){return lD()|0}function $Te(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(bp(f,896)|0)==512?c|0&&(eNe(c),gt(c)):l|0&>(l)}function eNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&kp(s)}function tNe(s){s=s|0,rNe(s,4933),nNe(s)|0,iNe(s)|0}function rNe(s,l){s=s|0,l=l|0;var c=0;c=bNe()|0,n[s>>2]=c,xNe(c,l),xp(n[s>>2]|0)}function nNe(s){s=s|0;var l=0;return l=n[s>>2]|0,kg(l,yNe()|0),s|0}function iNe(s){s=s|0;var l=0;return l=n[s>>2]|0,kg(l,sNe()|0),s|0}function sNe(){var s=0;return o[7920]|0||(d9(10452),tr(58,10452,U|0)|0,s=7920,n[s>>2]=1,n[s+4>>2]=0),Tr(10452)|0||d9(10452),10452}function d9(s){s=s|0,lNe(s),Qg(s,1)}function oNe(s){s=s|0,aNe(s+24|0)}function aNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function lNe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,5,1,l,fNe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function cNe(s,l,c){s=s|0,l=+l,c=+c,uNe(s,l,c)}function uNe(s,l,c){s=s|0,l=+l,c=+c;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,m=f+8|0,k=f+17|0,d=f,B=f+16|0,ku(k,l),E[m>>3]=+Qu(k,l),ku(B,c),E[d>>3]=+Qu(B,c),ANe(s,m,d),C=f}function ANe(s,l,c){s=s|0,l=l|0,c=c|0,m9(s+8|0,+E[l>>3],+E[c>>3]),o[s+24>>0]=1}function m9(s,l,c){s=s|0,l=+l,c=+c,E[s>>3]=l,E[s+8>>3]=c}function fNe(){return 1472}function pNe(s,l){return s=+s,l=+l,hNe(s,l)|0}function hNe(s,l){s=+s,l=+l;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return f=C,C=C+16|0,B=f+4|0,k=f+8|0,Q=f,d=Wa(8)|0,c=d,m=Kt(16)|0,ku(B,s),s=+Qu(B,s),ku(k,l),m9(m,s,+Qu(k,l)),k=c+4|0,n[k>>2]=m,m=Kt(8)|0,k=n[k>>2]|0,n[Q>>2]=0,n[B>>2]=n[Q>>2],y9(m,k,B),n[d>>2]=m,C=f,c|0}function y9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1452,n[c+12>>2]=l,n[s+4>>2]=c}function gNe(s){s=s|0,zm(s),gt(s)}function dNe(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function mNe(s){s=s|0,gt(s)}function yNe(){var s=0;return o[7928]|0||(E9(10488),tr(59,10488,U|0)|0,s=7928,n[s>>2]=1,n[s+4>>2]=0),Tr(10488)|0||E9(10488),10488}function E9(s){s=s|0,wNe(s),Qg(s,60)}function ENe(s){s=s|0,CNe(s+24|0)}function CNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function wNe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,5,6,l,DNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function INe(s){s=s|0,BNe(s)}function BNe(s){s=s|0,vNe(s)}function vNe(s){s=s|0,C9(s+8|0),o[s+24>>0]=1}function C9(s){s=s|0,n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0}function DNe(){return 1492}function SNe(){return PNe()|0}function PNe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Wa(8)|0,s=c,f=Kt(16)|0,C9(f),m=s+4|0,n[m>>2]=f,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],y9(f,m,d),n[c>>2]=f,C=l,s|0}function bNe(){var s=0;return o[7936]|0||(NNe(10524),tr(25,10524,U|0)|0,s=7936,n[s>>2]=1,n[s+4>>2]=0),10524}function xNe(s,l){s=s|0,l=l|0,n[s>>2]=kNe()|0,n[s+4>>2]=QNe()|0,n[s+12>>2]=l,n[s+8>>2]=FNe()|0,n[s+32>>2]=7}function kNe(){return 11700}function QNe(){return 1484}function FNe(){return lD()|0}function RNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(bp(f,896)|0)==512?c|0&&(TNe(c),gt(c)):l|0&>(l)}function TNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&kp(s)}function NNe(s){s=s|0,vp(s)}function LNe(s,l,c){s=s|0,l=l|0,c=c|0,s=pn(l)|0,l=ONe(c)|0,c=MNe(c,0)|0,hLe(s,l,c,cR()|0,0)}function ONe(s){return s=s|0,s|0}function MNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=cR()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(I9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(YNe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function cR(){var s=0,l=0;if(o[7944]|0||(w9(10568),tr(61,10568,U|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10568)|0)){s=10568,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));w9(10568)}return 10568}function w9(s){s=s|0,HNe(s)}function UNe(s){s=s|0,_Ne(s+24|0)}function _Ne(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function HNe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,17,l,C5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function qNe(s){return s=s|0,GNe(n[(jNe(s)|0)>>2]|0)|0}function jNe(s){return s=s|0,(n[(cR()|0)+24>>2]|0)+(s<<3)|0}function GNe(s){return s=s|0,oD(CD[s&7]()|0)|0}function I9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function YNe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=WNe(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,KNe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,I9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,VNe(s,d),JNe(d),C=k;return}}function WNe(s){return s=s|0,536870911}function KNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function VNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function JNe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function zNe(){XNe()}function XNe(){ZNe(10604)}function ZNe(s){s=s|0,$Ne(s,4955)}function $Ne(s,l){s=s|0,l=l|0;var c=0;c=eLe()|0,n[s>>2]=c,tLe(c,l),xp(n[s>>2]|0)}function eLe(){var s=0;return o[7952]|0||(uLe(10612),tr(25,10612,U|0)|0,s=7952,n[s>>2]=1,n[s+4>>2]=0),10612}function tLe(s,l){s=s|0,l=l|0,n[s>>2]=sLe()|0,n[s+4>>2]=oLe()|0,n[s+12>>2]=l,n[s+8>>2]=aLe()|0,n[s+32>>2]=8}function xp(s){s=s|0;var l=0,c=0;l=C,C=C+16|0,c=l,Ym()|0,n[c>>2]=s,rLe(10608,c),C=l}function Ym(){return o[11714]|0||(n[2652]=0,tr(62,10608,U|0)|0,o[11714]=1),10608}function rLe(s,l){s=s|0,l=l|0;var c=0;c=Kt(8)|0,n[c+4>>2]=n[l>>2],n[c>>2]=n[s>>2],n[s>>2]=c}function nLe(s){s=s|0,iLe(s)}function iLe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,gt(c);while((l|0)!=0);n[s>>2]=0}function sLe(){return 11715}function oLe(){return 1496}function aLe(){return aD()|0}function lLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(bp(f,896)|0)==512?c|0&&(cLe(c),gt(c)):l|0&>(l)}function cLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&kp(s)}function uLe(s){s=s|0,vp(s)}function ALe(s,l){s=s|0,l=l|0;var c=0,f=0;Ym()|0,c=n[2652]|0;e:do if(c|0){for(;f=n[c+4>>2]|0,!(f|0&&(n7(uR(f)|0,s)|0)==0);)if(c=n[c>>2]|0,!c)break e;fLe(f,l)}while(0)}function uR(s){return s=s|0,n[s+12>>2]|0}function fLe(s,l){s=s|0,l=l|0;var c=0;s=s+36|0,c=n[s>>2]|0,c|0&&(jA(c),gt(c)),c=Kt(4)|0,zG(c,l),n[s>>2]=c}function AR(){return o[11716]|0||(n[2664]=0,tr(63,10656,U|0)|0,o[11716]=1),10656}function B9(){var s=0;return o[11717]|0?s=n[2665]|0:(pLe(),n[2665]=1504,o[11717]=1,s=1504),s|0}function pLe(){o[11740]|0||(o[11718]=gr(gr(8,0)|0,0)|0,o[11719]=gr(gr(0,0)|0,0)|0,o[11720]=gr(gr(0,16)|0,0)|0,o[11721]=gr(gr(8,0)|0,0)|0,o[11722]=gr(gr(0,0)|0,0)|0,o[11723]=gr(gr(8,0)|0,0)|0,o[11724]=gr(gr(0,0)|0,0)|0,o[11725]=gr(gr(8,0)|0,0)|0,o[11726]=gr(gr(0,0)|0,0)|0,o[11727]=gr(gr(8,0)|0,0)|0,o[11728]=gr(gr(0,0)|0,0)|0,o[11729]=gr(gr(0,0)|0,32)|0,o[11730]=gr(gr(0,0)|0,32)|0,o[11740]=1)}function v9(){return 1572}function hLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0;m=C,C=C+32|0,O=m+16|0,M=m+12|0,Q=m+8|0,k=m+4|0,B=m,n[O>>2]=s,n[M>>2]=l,n[Q>>2]=c,n[k>>2]=f,n[B>>2]=d,AR()|0,gLe(10656,O,M,Q,k,B),C=m}function gLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0;B=Kt(24)|0,$G(B+4|0,n[l>>2]|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[s>>2],n[s>>2]=B}function D9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0,Me=0,Qe=0,et=0,Xe=0,lt=0;if(lt=C,C=C+32|0,Me=lt+20|0,Qe=lt+8|0,et=lt+4|0,Xe=lt,l=n[l>>2]|0,l|0){Ge=Me+4|0,Q=Me+8|0,M=Qe+4|0,O=Qe+8|0,j=Qe+8|0,se=Me+8|0;do{if(B=l+4|0,k=fR(B)|0,k|0){if(d=Nw(k)|0,n[Me>>2]=0,n[Ge>>2]=0,n[Q>>2]=0,f=(Lw(k)|0)+1|0,dLe(Me,f),f|0)for(;f=f+-1|0,bc(Qe,n[d>>2]|0),m=n[Ge>>2]|0,m>>>0<(n[se>>2]|0)>>>0?(n[m>>2]=n[Qe>>2],n[Ge>>2]=(n[Ge>>2]|0)+4):pR(Me,Qe),f;)d=d+4|0;f=Ow(k)|0,n[Qe>>2]=0,n[M>>2]=0,n[O>>2]=0;e:do if(n[f>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?mLe(Qe,f):(n[d>>2]=n[f>>2],n[M>>2]=(n[M>>2]|0)+4),f=f+4|0,!(n[f>>2]|0))break e;d=n[M>>2]|0,m=n[j>>2]|0}while(0);n[et>>2]=cD(B)|0,n[Xe>>2]=Tr(k)|0,yLe(c,s,et,Xe,Me,Qe),hR(Qe),ef(Me)}l=n[l>>2]|0}while((l|0)!=0)}C=lt}function fR(s){return s=s|0,n[s+12>>2]|0}function Nw(s){return s=s|0,n[s+12>>2]|0}function Lw(s){return s=s|0,n[s+16>>2]|0}function dLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=n[s>>2]|0,(n[s+8>>2]|0)-f>>2>>>0>>0&&(R9(c,l,(n[s+4>>2]|0)-f>>2,s+8|0),T9(s,c),N9(c)),C=d}function pR(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=F9(s)|0,m>>>0>>0)zr(s);else{k=n[s>>2]|0,M=(n[s+8>>2]|0)-k|0,Q=M>>1,R9(c,M>>2>>>0>>1>>>0?Q>>>0>>0?d:Q:m,(n[f>>2]|0)-k>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,T9(s,c),N9(c),C=B;return}}function Ow(s){return s=s|0,n[s+8>>2]|0}function mLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=Q9(s)|0,m>>>0>>0)zr(s);else{k=n[s>>2]|0,M=(n[s+8>>2]|0)-k|0,Q=M>>1,OLe(c,M>>2>>>0>>1>>>0?Q>>>0>>0?d:Q:m,(n[f>>2]|0)-k>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,MLe(s,c),ULe(c),C=B;return}}function cD(s){return s=s|0,n[s>>2]|0}function yLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,ELe(s,l,c,f,d,m)}function hR(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),gt(c))}function ef(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),gt(c))}function ELe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,j=0;B=C,C=C+48|0,O=B+40|0,k=B+32|0,j=B+24|0,Q=B+12|0,M=B,Ka(k),s=da(s)|0,n[j>>2]=n[l>>2],c=n[c>>2]|0,f=n[f>>2]|0,gR(Q,d),CLe(M,m),n[O>>2]=n[j>>2],wLe(s,O,c,f,Q,M),hR(M),ef(Q),Va(k),C=B}function gR(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(NLe(s,f),LLe(s,n[l>>2]|0,n[c>>2]|0,f))}function CLe(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(RLe(s,f),TLe(s,n[l>>2]|0,n[c>>2]|0,f))}function wLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,j=0;B=C,C=C+32|0,O=B+28|0,j=B+24|0,k=B+12|0,Q=B,M=Sl(ILe()|0)|0,n[j>>2]=n[l>>2],n[O>>2]=n[j>>2],l=Fg(O)|0,c=S9(c)|0,f=dR(f)|0,n[k>>2]=n[d>>2],O=d+4|0,n[k+4>>2]=n[O>>2],j=d+8|0,n[k+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[d>>2]=0,d=mR(k)|0,n[Q>>2]=n[m>>2],O=m+4|0,n[Q+4>>2]=n[O>>2],j=m+8|0,n[Q+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[m>>2]=0,ao(0,M|0,s|0,l|0,c|0,f|0,d|0,BLe(Q)|0)|0,hR(Q),ef(k),C=B}function ILe(){var s=0;return o[7968]|0||(QLe(10708),s=7968,n[s>>2]=1,n[s+4>>2]=0),10708}function Fg(s){return s=s|0,b9(s)|0}function S9(s){return s=s|0,P9(s)|0}function dR(s){return s=s|0,oD(s)|0}function mR(s){return s=s|0,DLe(s)|0}function BLe(s){return s=s|0,vLe(s)|0}function vLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Wa(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=P9(n[(n[s>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function P9(s){return s=s|0,s|0}function DLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Wa(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=b9((n[s>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function b9(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=xF(x9()|0)|0,f?(kF(l,f),QF(c,l),aUe(s,c),s=FF(l)|0):s=SLe(s)|0,C=d,s|0}function x9(){var s=0;return o[7960]|0||(kLe(10664),tr(25,10664,U|0)|0,s=7960,n[s>>2]=1,n[s+4>>2]=0),10664}function SLe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Wa(8)|0,l=f,k=Kt(4)|0,n[k>>2]=n[s>>2],m=l+4|0,n[m>>2]=k,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],k9(s,m,d),n[f>>2]=s,C=c,l|0}function k9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1656,n[c+12>>2]=l,n[s+4>>2]=c}function PLe(s){s=s|0,zm(s),gt(s)}function bLe(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function xLe(s){s=s|0,gt(s)}function kLe(s){s=s|0,vp(s)}function QLe(s){s=s|0,Pl(s,FLe()|0,5)}function FLe(){return 1676}function RLe(s,l){s=s|0,l=l|0;var c=0;if((Q9(s)|0)>>>0>>0&&zr(s),l>>>0>1073741823)Rt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function TLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Dr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function Q9(s){return s=s|0,1073741823}function NLe(s,l){s=s|0,l=l|0;var c=0;if((F9(s)|0)>>>0>>0&&zr(s),l>>>0>1073741823)Rt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function LLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Dr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function F9(s){return s=s|0,1073741823}function OLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function MLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ULe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&>(s)}function R9(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function T9(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function N9(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&>(s)}function _Le(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0,Me=0,Qe=0;if(Qe=C,C=C+32|0,O=Qe+20|0,j=Qe+12|0,M=Qe+16|0,se=Qe+4|0,Ge=Qe,Me=Qe+8|0,k=B9()|0,m=n[k>>2]|0,B=n[m>>2]|0,B|0)for(Q=n[k+8>>2]|0,k=n[k+4>>2]|0;bc(O,B),HLe(s,O,k,Q),m=m+4|0,B=n[m>>2]|0,B;)Q=Q+1|0,k=k+1|0;if(m=v9()|0,B=n[m>>2]|0,B|0)do bc(O,B),n[j>>2]=n[m+4>>2],qLe(l,O,j),m=m+8|0,B=n[m>>2]|0;while((B|0)!=0);if(m=n[(Ym()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,bc(O,n[(Wm(l)|0)>>2]|0),n[j>>2]=uR(l)|0,jLe(c,O,j),m=n[m>>2]|0;while((m|0)!=0);if(bc(M,0),m=AR()|0,n[O>>2]=n[M>>2],D9(O,m,d),m=n[(Ym()|0)>>2]|0,m|0){s=O+4|0,l=O+8|0,c=O+8|0;do{if(Q=n[m+4>>2]|0,bc(j,n[(Wm(Q)|0)>>2]|0),GLe(se,L9(Q)|0),B=n[se>>2]|0,B|0){n[O>>2]=0,n[s>>2]=0,n[l>>2]=0;do bc(Ge,n[(Wm(n[B+4>>2]|0)|0)>>2]|0),k=n[s>>2]|0,k>>>0<(n[c>>2]|0)>>>0?(n[k>>2]=n[Ge>>2],n[s>>2]=(n[s>>2]|0)+4):pR(O,Ge),B=n[B>>2]|0;while((B|0)!=0);YLe(f,j,O),ef(O)}n[Me>>2]=n[j>>2],M=O9(Q)|0,n[O>>2]=n[Me>>2],D9(O,M,d),s5(se),m=n[m>>2]|0}while((m|0)!=0)}C=Qe}function HLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,nOe(s,l,c,f)}function qLe(s,l,c){s=s|0,l=l|0,c=c|0,rOe(s,l,c)}function Wm(s){return s=s|0,s|0}function jLe(s,l,c){s=s|0,l=l|0,c=c|0,ZLe(s,l,c)}function L9(s){return s=s|0,s+16|0}function GLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;if(m=C,C=C+16|0,d=m+8|0,c=m,n[s>>2]=0,f=n[l>>2]|0,n[d>>2]=f,n[c>>2]=s,c=XLe(c)|0,f|0){if(f=Kt(12)|0,B=(M9(d)|0)+4|0,s=n[B+4>>2]|0,l=f+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=s,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)s=f;else for(l=f;s=Kt(12)|0,Q=(M9(d)|0)+4|0,k=n[Q+4>>2]|0,B=s+4|0,n[B>>2]=n[Q>>2],n[B+4>>2]=k,n[l>>2]=s,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=s;n[s>>2]=n[c>>2],n[c>>2]=f}C=m}function YLe(s,l,c){s=s|0,l=l|0,c=c|0,WLe(s,l,c)}function O9(s){return s=s|0,s+24|0}function WLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,B=f+24|0,d=f+16|0,k=f+12|0,m=f,Ka(d),s=da(s)|0,n[k>>2]=n[l>>2],gR(m,c),n[B>>2]=n[k>>2],KLe(s,B,m),ef(m),Va(d),C=f}function KLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,B=f+16|0,k=f+12|0,d=f,m=Sl(VLe()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=Fg(B)|0,n[d>>2]=n[c>>2],B=c+4|0,n[d+4>>2]=n[B>>2],k=c+8|0,n[d+8>>2]=n[k>>2],n[k>>2]=0,n[B>>2]=0,n[c>>2]=0,oo(0,m|0,s|0,l|0,mR(d)|0)|0,ef(d),C=f}function VLe(){var s=0;return o[7976]|0||(JLe(10720),s=7976,n[s>>2]=1,n[s+4>>2]=0),10720}function JLe(s){s=s|0,Pl(s,zLe()|0,2)}function zLe(){return 1732}function XLe(s){return s=s|0,n[s>>2]|0}function M9(s){return s=s|0,n[s>>2]|0}function ZLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,Ka(d),s=da(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],U9(s,m,c),Va(d),C=f}function U9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+4|0,B=f,d=Sl($Le()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=Fg(m)|0,oo(0,d|0,s|0,l|0,S9(c)|0)|0,C=f}function $Le(){var s=0;return o[7984]|0||(eOe(10732),s=7984,n[s>>2]=1,n[s+4>>2]=0),10732}function eOe(s){s=s|0,Pl(s,tOe()|0,2)}function tOe(){return 1744}function rOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,Ka(d),s=da(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],U9(s,m,c),Va(d),C=f}function nOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,k=d,Ka(m),s=da(s)|0,n[k>>2]=n[l>>2],c=o[c>>0]|0,f=o[f>>0]|0,n[B>>2]=n[k>>2],iOe(s,B,c,f),Va(m),C=d}function iOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,B=d+4|0,k=d,m=Sl(sOe()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=Fg(B)|0,c=Km(c)|0,pc(0,m|0,s|0,l|0,c|0,Km(f)|0)|0,C=d}function sOe(){var s=0;return o[7992]|0||(aOe(10744),s=7992,n[s>>2]=1,n[s+4>>2]=0),10744}function Km(s){return s=s|0,oOe(s)|0}function oOe(s){return s=s|0,s&255|0}function aOe(s){s=s|0,Pl(s,lOe()|0,3)}function lOe(){return 1756}function cOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;switch(se=C,C=C+32|0,k=se+8|0,Q=se+4|0,M=se+20|0,O=se,LF(s,0),f=oUe(l)|0,n[k>>2]=0,j=k+4|0,n[j>>2]=0,n[k+8>>2]=0,f<<24>>24){case 0:{o[M>>0]=0,uOe(Q,c,M),uD(s,Q)|0,GA(Q);break}case 8:{j=BR(l)|0,o[M>>0]=8,bc(O,n[j+4>>2]|0),AOe(Q,c,M,O,j+8|0),uD(s,Q)|0,GA(Q);break}case 9:{if(m=BR(l)|0,l=n[m+4>>2]|0,l|0)for(B=k+8|0,d=m+12|0;l=l+-1|0,bc(Q,n[d>>2]|0),f=n[j>>2]|0,f>>>0<(n[B>>2]|0)>>>0?(n[f>>2]=n[Q>>2],n[j>>2]=(n[j>>2]|0)+4):pR(k,Q),l;)d=d+4|0;o[M>>0]=9,bc(O,n[m+8>>2]|0),fOe(Q,c,M,O,k),uD(s,Q)|0,GA(Q);break}default:j=BR(l)|0,o[M>>0]=f,bc(O,n[j+4>>2]|0),pOe(Q,c,M,O),uD(s,Q)|0,GA(Q)}ef(k),C=se}function uOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,Ka(d),l=da(l)|0,SOe(s,l,o[c>>0]|0),Va(d),C=f}function uD(s,l){s=s|0,l=l|0;var c=0;return c=n[s>>2]|0,c|0&&PA(c|0),n[s>>2]=n[l>>2],n[l>>2]=0,s|0}function AOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0;m=C,C=C+32|0,k=m+16|0,B=m+8|0,Q=m,Ka(B),l=da(l)|0,c=o[c>>0]|0,n[Q>>2]=n[f>>2],d=n[d>>2]|0,n[k>>2]=n[Q>>2],IOe(s,l,c,k,d),Va(B),C=m}function fOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0;m=C,C=C+32|0,Q=m+24|0,B=m+16|0,M=m+12|0,k=m,Ka(B),l=da(l)|0,c=o[c>>0]|0,n[M>>2]=n[f>>2],gR(k,d),n[Q>>2]=n[M>>2],yOe(s,l,c,Q,k),ef(k),Va(B),C=m}function pOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,k=d,Ka(m),l=da(l)|0,c=o[c>>0]|0,n[k>>2]=n[f>>2],n[B>>2]=n[k>>2],hOe(s,l,c,B),Va(m),C=d}function hOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+4|0,k=d,B=Sl(gOe()|0)|0,c=Km(c)|0,n[k>>2]=n[f>>2],n[m>>2]=n[k>>2],AD(s,oo(0,B|0,l|0,c|0,Fg(m)|0)|0),C=d}function gOe(){var s=0;return o[8e3]|0||(dOe(10756),s=8e3,n[s>>2]=1,n[s+4>>2]=0),10756}function AD(s,l){s=s|0,l=l|0,LF(s,l)}function dOe(s){s=s|0,Pl(s,mOe()|0,2)}function mOe(){return 1772}function yOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0;m=C,C=C+32|0,Q=m+16|0,M=m+12|0,B=m,k=Sl(EOe()|0)|0,c=Km(c)|0,n[M>>2]=n[f>>2],n[Q>>2]=n[M>>2],f=Fg(Q)|0,n[B>>2]=n[d>>2],Q=d+4|0,n[B+4>>2]=n[Q>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[Q>>2]=0,n[d>>2]=0,AD(s,pc(0,k|0,l|0,c|0,f|0,mR(B)|0)|0),ef(B),C=m}function EOe(){var s=0;return o[8008]|0||(COe(10768),s=8008,n[s>>2]=1,n[s+4>>2]=0),10768}function COe(s){s=s|0,Pl(s,wOe()|0,3)}function wOe(){return 1784}function IOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0;m=C,C=C+16|0,k=m+4|0,Q=m,B=Sl(BOe()|0)|0,c=Km(c)|0,n[Q>>2]=n[f>>2],n[k>>2]=n[Q>>2],f=Fg(k)|0,AD(s,pc(0,B|0,l|0,c|0,f|0,dR(d)|0)|0),C=m}function BOe(){var s=0;return o[8016]|0||(vOe(10780),s=8016,n[s>>2]=1,n[s+4>>2]=0),10780}function vOe(s){s=s|0,Pl(s,DOe()|0,3)}function DOe(){return 1800}function SOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=Sl(POe()|0)|0,AD(s,Qn(0,f|0,l|0,Km(c)|0)|0)}function POe(){var s=0;return o[8024]|0||(bOe(10792),s=8024,n[s>>2]=1,n[s+4>>2]=0),10792}function bOe(s){s=s|0,Pl(s,xOe()|0,1)}function xOe(){return 1816}function kOe(){QOe(),FOe(),ROe()}function QOe(){n[2702]=p7(65536)|0}function FOe(){$Oe(10856)}function ROe(){TOe(10816)}function TOe(s){s=s|0,NOe(s,5044),LOe(s)|0}function NOe(s,l){s=s|0,l=l|0;var c=0;c=x9()|0,n[s>>2]=c,KOe(c,l),xp(n[s>>2]|0)}function LOe(s){s=s|0;var l=0;return l=n[s>>2]|0,kg(l,OOe()|0),s|0}function OOe(){var s=0;return o[8032]|0||(_9(10820),tr(64,10820,U|0)|0,s=8032,n[s>>2]=1,n[s+4>>2]=0),Tr(10820)|0||_9(10820),10820}function _9(s){s=s|0,_Oe(s),Qg(s,25)}function MOe(s){s=s|0,UOe(s+24|0)}function UOe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function _Oe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,5,18,l,GOe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function HOe(s,l){s=s|0,l=l|0,qOe(s,l)}function qOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;c=C,C=C+16|0,f=c,d=c+4|0,bg(d,l),n[f>>2]=xg(d,l)|0,jOe(s,f),C=c}function jOe(s,l){s=s|0,l=l|0,H9(s+4|0,n[l>>2]|0),o[s+8>>0]=1}function H9(s,l){s=s|0,l=l|0,n[s>>2]=l}function GOe(){return 1824}function YOe(s){return s=s|0,WOe(s)|0}function WOe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Wa(8)|0,l=f,k=Kt(4)|0,bg(d,s),H9(k,xg(d,s)|0),m=l+4|0,n[m>>2]=k,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],k9(s,m,d),n[f>>2]=s,C=c,l|0}function Wa(s){s=s|0;var l=0,c=0;return s=s+7&-8,s>>>0<=32768&&(l=n[2701]|0,s>>>0<=(65536-l|0)>>>0)?(c=(n[2702]|0)+l|0,n[2701]=l+s,s=c):(s=p7(s+8|0)|0,n[s>>2]=n[2703],n[2703]=s,s=s+8|0),s|0}function KOe(s,l){s=s|0,l=l|0,n[s>>2]=VOe()|0,n[s+4>>2]=JOe()|0,n[s+12>>2]=l,n[s+8>>2]=zOe()|0,n[s+32>>2]=9}function VOe(){return 11744}function JOe(){return 1832}function zOe(){return lD()|0}function XOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(bp(f,896)|0)==512?c|0&&(ZOe(c),gt(c)):l|0&>(l)}function ZOe(s){s=s|0,s=n[s+4>>2]|0,s|0&&kp(s)}function $Oe(s){s=s|0,eMe(s,5052),tMe(s)|0,rMe(s,5058,26)|0,nMe(s,5069,1)|0,iMe(s,5077,10)|0,sMe(s,5087,19)|0,oMe(s,5094,27)|0}function eMe(s,l){s=s|0,l=l|0;var c=0;c=Z4e()|0,n[s>>2]=c,$4e(c,l),xp(n[s>>2]|0)}function tMe(s){s=s|0;var l=0;return l=n[s>>2]|0,kg(l,M4e()|0),s|0}function rMe(s,l,c){return s=s|0,l=l|0,c=c|0,C4e(s,pn(l)|0,c,0),s|0}function nMe(s,l,c){return s=s|0,l=l|0,c=c|0,s4e(s,pn(l)|0,c,0),s|0}function iMe(s,l,c){return s=s|0,l=l|0,c=c|0,OMe(s,pn(l)|0,c,0),s|0}function sMe(s,l,c){return s=s|0,l=l|0,c=c|0,IMe(s,pn(l)|0,c,0),s|0}function q9(s,l){s=s|0,l=l|0;var c=0,f=0;e:for(;;){for(c=n[2703]|0;;){if((c|0)==(l|0))break e;if(f=n[c>>2]|0,n[2703]=f,!c)c=f;else break}gt(c)}n[2701]=s}function oMe(s,l,c){return s=s|0,l=l|0,c=c|0,aMe(s,pn(l)|0,c,0),s|0}function aMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=yR()|0,s=lMe(c)|0,hn(m,l,d,s,cMe(c,f)|0,f)}function yR(){var s=0,l=0;if(o[8040]|0||(G9(10860),tr(65,10860,U|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10860)|0)){s=10860,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));G9(10860)}return 10860}function lMe(s){return s=s|0,s|0}function cMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=yR()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(j9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(uMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function j9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function uMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=AMe(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,fMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,j9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,pMe(s,d),hMe(d),C=k;return}}function AMe(s){return s=s|0,536870911}function fMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function pMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function hMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function G9(s){s=s|0,mMe(s)}function gMe(s){s=s|0,dMe(s+24|0)}function dMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function mMe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,11,l,yMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function yMe(){return 1840}function EMe(s,l,c){s=s|0,l=l|0,c=c|0,wMe(n[(CMe(s)|0)>>2]|0,l,c)}function CMe(s){return s=s|0,(n[(yR()|0)+24>>2]|0)+(s<<3)|0}function wMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+1|0,d=f,bg(m,l),l=xg(m,l)|0,bg(d,c),c=xg(d,c)|0,rf[s&31](l,c),C=f}function IMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=ER()|0,s=BMe(c)|0,hn(m,l,d,s,vMe(c,f)|0,f)}function ER(){var s=0,l=0;if(o[8048]|0||(W9(10896),tr(66,10896,U|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10896)|0)){s=10896,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W9(10896)}return 10896}function BMe(s){return s=s|0,s|0}function vMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=ER()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(Y9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(DMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function Y9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function DMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=SMe(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,PMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,Y9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,bMe(s,d),xMe(d),C=k;return}}function SMe(s){return s=s|0,536870911}function PMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function bMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function xMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function W9(s){s=s|0,FMe(s)}function kMe(s){s=s|0,QMe(s+24|0)}function QMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function FMe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,11,l,RMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function RMe(){return 1852}function TMe(s,l){return s=s|0,l=l|0,LMe(n[(NMe(s)|0)>>2]|0,l)|0}function NMe(s){return s=s|0,(n[(ER()|0)+24>>2]|0)+(s<<3)|0}function LMe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,bg(f,l),l=xg(f,l)|0,l=oD(Lg[s&31](l)|0)|0,C=c,l|0}function OMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=CR()|0,s=MMe(c)|0,hn(m,l,d,s,UMe(c,f)|0,f)}function CR(){var s=0,l=0;if(o[8056]|0||(V9(10932),tr(67,10932,U|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10932)|0)){s=10932,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));V9(10932)}return 10932}function MMe(s){return s=s|0,s|0}function UMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=CR()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(K9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(_Me(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function K9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function _Me(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=HMe(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,qMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,K9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,jMe(s,d),GMe(d),C=k;return}}function HMe(s){return s=s|0,536870911}function qMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function jMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function GMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function V9(s){s=s|0,KMe(s)}function YMe(s){s=s|0,WMe(s+24|0)}function WMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function KMe(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,7,l,VMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function VMe(){return 1860}function JMe(s,l,c){return s=s|0,l=l|0,c=c|0,XMe(n[(zMe(s)|0)>>2]|0,l,c)|0}function zMe(s){return s=s|0,(n[(CR()|0)+24>>2]|0)+(s<<3)|0}function XMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0;return f=C,C=C+32|0,B=f+12|0,m=f+8|0,k=f,Q=f+16|0,d=f+4|0,ZMe(Q,l),$Me(k,Q,l),Dp(d,c),c=Sp(d,c)|0,n[B>>2]=n[k>>2],Hw[s&15](m,B,c),c=e4e(m)|0,GA(m),Pp(d),C=f,c|0}function ZMe(s,l){s=s|0,l=l|0}function $Me(s,l,c){s=s|0,l=l|0,c=c|0,t4e(s,c)}function e4e(s){return s=s|0,da(s)|0}function t4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+16|0,c=d,f=l,f&1?(r4e(c,0),ii(f|0,c|0)|0,n4e(s,c),i4e(c)):n[s>>2]=n[l>>2],C=d}function r4e(s,l){s=s|0,l=l|0,XG(s,l),n[s+4>>2]=0,o[s+8>>0]=0}function n4e(s,l){s=s|0,l=l|0,n[s>>2]=n[l+4>>2]}function i4e(s){s=s|0,o[s+8>>0]=0}function s4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=wR()|0,s=o4e(c)|0,hn(m,l,d,s,a4e(c,f)|0,f)}function wR(){var s=0,l=0;if(o[8064]|0||(z9(10968),tr(68,10968,U|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(Tr(10968)|0)){s=10968,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));z9(10968)}return 10968}function o4e(s){return s=s|0,s|0}function a4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=wR()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(J9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(l4e(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function J9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function l4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=c4e(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,u4e(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,J9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,A4e(s,d),f4e(d),C=k;return}}function c4e(s){return s=s|0,536870911}function u4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function A4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function f4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function z9(s){s=s|0,g4e(s)}function p4e(s){s=s|0,h4e(s+24|0)}function h4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function g4e(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,1,l,d4e()|0,5),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function d4e(){return 1872}function m4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,E4e(n[(y4e(s)|0)>>2]|0,l,c,f,d,m)}function y4e(s){return s=s|0,(n[(wR()|0)+24>>2]|0)+(s<<3)|0}function E4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,j=0;B=C,C=C+32|0,k=B+16|0,Q=B+12|0,M=B+8|0,O=B+4|0,j=B,Dp(k,l),l=Sp(k,l)|0,Dp(Q,c),c=Sp(Q,c)|0,Dp(M,f),f=Sp(M,f)|0,Dp(O,d),d=Sp(O,d)|0,Dp(j,m),m=Sp(j,m)|0,y7[s&1](l,c,f,d,m),Pp(j),Pp(O),Pp(M),Pp(Q),Pp(k),C=B}function C4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=IR()|0,s=w4e(c)|0,hn(m,l,d,s,I4e(c,f)|0,f)}function IR(){var s=0,l=0;if(o[8072]|0||(Z9(11004),tr(69,11004,U|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(Tr(11004)|0)){s=11004,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Z9(11004)}return 11004}function w4e(s){return s=s|0,s|0}function I4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=IR()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(X9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(B4e(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function X9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function B4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=v4e(s)|0,f>>>0>>0)zr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,D4e(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,X9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,S4e(s,d),P4e(d),C=k;return}}function v4e(s){return s=s|0,536870911}function D4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function S4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Dr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function P4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function Z9(s){s=s|0,k4e(s)}function b4e(s){s=s|0,x4e(s+24|0)}function x4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function k4e(s){s=s|0;var l=0;l=Kr()|0,Vr(s,1,12,l,Q4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Q4e(){return 1896}function F4e(s,l,c){s=s|0,l=l|0,c=c|0,T4e(n[(R4e(s)|0)>>2]|0,l,c)}function R4e(s){return s=s|0,(n[(IR()|0)+24>>2]|0)+(s<<3)|0}function T4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+4|0,d=f,N4e(m,l),l=L4e(m,l)|0,Dp(d,c),c=Sp(d,c)|0,rf[s&31](l,c),Pp(d),C=f}function N4e(s,l){s=s|0,l=l|0}function L4e(s,l){return s=s|0,l=l|0,O4e(l)|0}function O4e(s){return s=s|0,s|0}function M4e(){var s=0;return o[8080]|0||($9(11040),tr(70,11040,U|0)|0,s=8080,n[s>>2]=1,n[s+4>>2]=0),Tr(11040)|0||$9(11040),11040}function $9(s){s=s|0,H4e(s),Qg(s,71)}function U4e(s){s=s|0,_4e(s+24|0)}function _4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function H4e(s){s=s|0;var l=0;l=Kr()|0,Vr(s,5,7,l,Y4e()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function q4e(s){s=s|0,j4e(s)}function j4e(s){s=s|0,G4e(s)}function G4e(s){s=s|0,o[s+8>>0]=1}function Y4e(){return 1936}function W4e(){return K4e()|0}function K4e(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Wa(8)|0,s=c,m=s+4|0,n[m>>2]=Kt(1)|0,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],V4e(f,m,d),n[c>>2]=f,C=l,s|0}function V4e(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1916,n[c+12>>2]=l,n[s+4>>2]=c}function J4e(s){s=s|0,zm(s),gt(s)}function z4e(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function X4e(s){s=s|0,gt(s)}function Z4e(){var s=0;return o[8088]|0||(sUe(11076),tr(25,11076,U|0)|0,s=8088,n[s>>2]=1,n[s+4>>2]=0),11076}function $4e(s,l){s=s|0,l=l|0,n[s>>2]=eUe()|0,n[s+4>>2]=tUe()|0,n[s+12>>2]=l,n[s+8>>2]=rUe()|0,n[s+32>>2]=10}function eUe(){return 11745}function tUe(){return 1940}function rUe(){return aD()|0}function nUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(bp(f,896)|0)==512?c|0&&(iUe(c),gt(c)):l|0&>(l)}function iUe(s){s=s|0,s=n[s+4>>2]|0,s|0&&kp(s)}function sUe(s){s=s|0,vp(s)}function bc(s,l){s=s|0,l=l|0,n[s>>2]=l}function BR(s){return s=s|0,n[s>>2]|0}function oUe(s){return s=s|0,o[n[s>>2]>>0]|0}function aUe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,n[f>>2]=n[s>>2],lUe(l,f)|0,C=c}function lUe(s,l){s=s|0,l=l|0;var c=0;return c=cUe(n[s>>2]|0,l)|0,l=s+4|0,n[(n[l>>2]|0)+8>>2]=c,n[(n[l>>2]|0)+8>>2]|0}function cUe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,Ka(f),s=da(s)|0,l=uUe(s,n[l>>2]|0)|0,Va(f),C=c,l|0}function Ka(s){s=s|0,n[s>>2]=n[2701],n[s+4>>2]=n[2703]}function uUe(s,l){s=s|0,l=l|0;var c=0;return c=Sl(AUe()|0)|0,Qn(0,c|0,s|0,dR(l)|0)|0}function Va(s){s=s|0,q9(n[s>>2]|0,n[s+4>>2]|0)}function AUe(){var s=0;return o[8096]|0||(fUe(11120),s=8096,n[s>>2]=1,n[s+4>>2]=0),11120}function fUe(s){s=s|0,Pl(s,pUe()|0,1)}function pUe(){return 1948}function hUe(){gUe()}function gUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0,Me=0,Qe=0;if(Me=C,C=C+16|0,O=Me+4|0,j=Me,Ni(65536,10804,n[2702]|0,10812),c=B9()|0,l=n[c>>2]|0,s=n[l>>2]|0,s|0)for(f=n[c+8>>2]|0,c=n[c+4>>2]|0;uc(s|0,u[c>>0]|0|0,o[f>>0]|0),l=l+4|0,s=n[l>>2]|0,s;)f=f+1|0,c=c+1|0;if(s=v9()|0,l=n[s>>2]|0,l|0)do uu(l|0,n[s+4>>2]|0),s=s+8|0,l=n[s>>2]|0;while((l|0)!=0);uu(dUe()|0,5167),M=Ym()|0,s=n[M>>2]|0;e:do if(s|0){do mUe(n[s+4>>2]|0),s=n[s>>2]|0;while((s|0)!=0);if(s=n[M>>2]|0,s|0){Q=M;do{for(;d=s,s=n[s>>2]|0,d=n[d+4>>2]|0,!!(yUe(d)|0);)if(n[j>>2]=Q,n[O>>2]=n[j>>2],EUe(M,O)|0,!s)break e;if(CUe(d),Q=n[Q>>2]|0,l=e7(d)|0,m=Hi()|0,B=C,C=C+((1*(l<<2)|0)+15&-16)|0,k=C,C=C+((1*(l<<2)|0)+15&-16)|0,l=n[(L9(d)|0)>>2]|0,l|0)for(c=B,f=k;n[c>>2]=n[(Wm(n[l+4>>2]|0)|0)>>2],n[f>>2]=n[l+8>>2],l=n[l>>2]|0,l;)c=c+4|0,f=f+4|0;Qe=Wm(d)|0,l=wUe(d)|0,c=e7(d)|0,f=IUe(d)|0,Au(Qe|0,l|0,B|0,k|0,c|0,f|0,uR(d)|0),_i(m|0)}while((s|0)!=0)}}while(0);if(s=n[(AR()|0)>>2]|0,s|0)do Qe=s+4|0,M=fR(Qe)|0,d=Ow(M)|0,m=Nw(M)|0,B=(Lw(M)|0)+1|0,k=fD(M)|0,Q=t7(Qe)|0,M=Tr(M)|0,O=cD(Qe)|0,j=vR(Qe)|0,El(0,d|0,m|0,B|0,k|0,Q|0,M|0,O|0,j|0,DR(Qe)|0),s=n[s>>2]|0;while((s|0)!=0);s=n[(Ym()|0)>>2]|0;e:do if(s|0){t:for(;;){if(l=n[s+4>>2]|0,l|0&&(se=n[(Wm(l)|0)>>2]|0,Ge=n[(O9(l)|0)>>2]|0,Ge|0)){c=Ge;do{l=c+4|0,f=fR(l)|0;r:do if(f|0)switch(Tr(f)|0){case 0:break t;case 4:case 3:case 2:{k=Ow(f)|0,Q=Nw(f)|0,M=(Lw(f)|0)+1|0,O=fD(f)|0,j=Tr(f)|0,Qe=cD(l)|0,El(se|0,k|0,Q|0,M|0,O|0,0,j|0,Qe|0,vR(l)|0,DR(l)|0);break r}case 1:{B=Ow(f)|0,k=Nw(f)|0,Q=(Lw(f)|0)+1|0,M=fD(f)|0,O=t7(l)|0,j=Tr(f)|0,Qe=cD(l)|0,El(se|0,B|0,k|0,Q|0,M|0,O|0,j|0,Qe|0,vR(l)|0,DR(l)|0);break r}case 5:{M=Ow(f)|0,O=Nw(f)|0,j=(Lw(f)|0)+1|0,Qe=fD(f)|0,El(se|0,M|0,O|0,j|0,Qe|0,BUe(f)|0,Tr(f)|0,0,0,0);break r}default:break r}while(0);c=n[c>>2]|0}while((c|0)!=0)}if(s=n[s>>2]|0,!s)break e}Rt()}while(0);Ce(),C=Me}function dUe(){return 11703}function mUe(s){s=s|0,o[s+40>>0]=0}function yUe(s){return s=s|0,(o[s+40>>0]|0)!=0|0}function EUe(s,l){return s=s|0,l=l|0,l=vUe(l)|0,s=n[l>>2]|0,n[l>>2]=n[s>>2],gt(s),n[l>>2]|0}function CUe(s){s=s|0,o[s+40>>0]=1}function e7(s){return s=s|0,n[s+20>>2]|0}function wUe(s){return s=s|0,n[s+8>>2]|0}function IUe(s){return s=s|0,n[s+32>>2]|0}function fD(s){return s=s|0,n[s+4>>2]|0}function t7(s){return s=s|0,n[s+4>>2]|0}function vR(s){return s=s|0,n[s+8>>2]|0}function DR(s){return s=s|0,n[s+16>>2]|0}function BUe(s){return s=s|0,n[s+20>>2]|0}function vUe(s){return s=s|0,n[s>>2]|0}function pD(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0,Me=0,Qe=0,et=0,Xe=0,lt=0,Ue=0,je=0,Lt=0;Lt=C,C=C+16|0,se=Lt;do if(s>>>0<245){if(M=s>>>0<11?16:s+11&-8,s=M>>>3,j=n[2783]|0,c=j>>>s,c&3|0)return l=(c&1^1)+s|0,s=11172+(l<<1<<2)|0,c=s+8|0,f=n[c>>2]|0,d=f+8|0,m=n[d>>2]|0,(s|0)==(m|0)?n[2783]=j&~(1<>2]=s,n[c>>2]=m),je=l<<3,n[f+4>>2]=je|3,je=f+je+4|0,n[je>>2]=n[je>>2]|1,je=d,C=Lt,je|0;if(O=n[2785]|0,M>>>0>O>>>0){if(c|0)return l=2<>>12&16,l=l>>>B,c=l>>>5&8,l=l>>>c,d=l>>>2&4,l=l>>>d,s=l>>>1&2,l=l>>>s,f=l>>>1&1,f=(c|B|d|s|f)+(l>>>f)|0,l=11172+(f<<1<<2)|0,s=l+8|0,d=n[s>>2]|0,B=d+8|0,c=n[B>>2]|0,(l|0)==(c|0)?(s=j&~(1<>2]=l,n[s>>2]=c,s=j),m=(f<<3)-M|0,n[d+4>>2]=M|3,f=d+M|0,n[f+4>>2]=m|1,n[f+m>>2]=m,O|0&&(d=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=c),n[2785]=m,n[2788]=f,je=B,C=Lt,je|0;if(k=n[2784]|0,k){if(c=(k&0-k)+-1|0,B=c>>>12&16,c=c>>>B,m=c>>>5&8,c=c>>>m,Q=c>>>2&4,c=c>>>Q,f=c>>>1&2,c=c>>>f,s=c>>>1&1,s=n[11436+((m|B|Q|f|s)+(c>>>s)<<2)>>2]|0,c=(n[s+4>>2]&-8)-M|0,f=n[s+16+(((n[s+16>>2]|0)==0&1)<<2)>>2]|0,!f)Q=s,m=c;else{do B=(n[f+4>>2]&-8)-M|0,Q=B>>>0>>0,c=Q?B:c,s=Q?f:s,f=n[f+16+(((n[f+16>>2]|0)==0&1)<<2)>>2]|0;while((f|0)!=0);Q=s,m=c}if(B=Q+M|0,Q>>>0>>0){d=n[Q+24>>2]|0,l=n[Q+12>>2]|0;do if((l|0)==(Q|0)){if(s=Q+20|0,l=n[s>>2]|0,!l&&(s=Q+16|0,l=n[s>>2]|0,!l)){c=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0,c=l}else c=n[Q+8>>2]|0,n[c+12>>2]=l,n[l+8>>2]=c,c=l;while(0);do if(d|0){if(l=n[Q+28>>2]|0,s=11436+(l<<2)|0,(Q|0)==(n[s>>2]|0)){if(n[s>>2]=c,!c){n[2784]=k&~(1<>2]|0)!=(Q|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=d,l=n[Q+16>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),l=n[Q+20>>2]|0,l|0&&(n[c+20>>2]=l,n[l+24>>2]=c)}while(0);return m>>>0<16?(je=m+M|0,n[Q+4>>2]=je|3,je=Q+je+4|0,n[je>>2]=n[je>>2]|1):(n[Q+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,O|0&&(f=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=j|l,l=c,s=c+8|0),n[s>>2]=f,n[l+12>>2]=f,n[f+8>>2]=l,n[f+12>>2]=c),n[2785]=m,n[2788]=B),je=Q+8|0,C=Lt,je|0}else j=M}else j=M}else j=M}else if(s>>>0<=4294967231)if(s=s+11|0,M=s&-8,Q=n[2784]|0,Q){f=0-M|0,s=s>>>8,s?M>>>0>16777215?k=31:(j=(s+1048320|0)>>>16&8,Ue=s<>>16&4,Ue=Ue<>>16&2,k=14-(O|j|k)+(Ue<>>15)|0,k=M>>>(k+7|0)&1|k<<1):k=0,c=n[11436+(k<<2)>>2]|0;e:do if(!c)c=0,s=0,Ue=57;else for(s=0,B=M<<((k|0)==31?0:25-(k>>>1)|0),m=0;;){if(d=(n[c+4>>2]&-8)-M|0,d>>>0>>0)if(d)s=c,f=d;else{s=c,f=0,d=c,Ue=61;break e}if(d=n[c+20>>2]|0,c=n[c+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(c|0)?m:d,d=(c|0)==0,d){c=m,Ue=57;break}else B=B<<((d^1)&1)}while(0);if((Ue|0)==57){if((c|0)==0&(s|0)==0){if(s=2<>>12&16,j=j>>>B,m=j>>>5&8,j=j>>>m,k=j>>>2&4,j=j>>>k,O=j>>>1&2,j=j>>>O,c=j>>>1&1,s=0,c=n[11436+((m|B|k|O|c)+(j>>>c)<<2)>>2]|0}c?(d=c,Ue=61):(k=s,B=f)}if((Ue|0)==61)for(;;)if(Ue=0,c=(n[d+4>>2]&-8)-M|0,j=c>>>0>>0,c=j?c:f,s=j?d:s,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)f=c,Ue=61;else{k=s,B=c;break}if((k|0)!=0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=k+M|0,k>>>0>=m>>>0)return je=0,C=Lt,je|0;d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(s=k+20|0,l=n[s>>2]|0,!l&&(s=k+16|0,l=n[s>>2]|0,!l)){l=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0}else je=n[k+8>>2]|0,n[je+12>>2]=l,n[l+8>>2]=je;while(0);do if(d){if(s=n[k+28>>2]|0,c=11436+(s<<2)|0,(k|0)==(n[c>>2]|0)){if(n[c>>2]=l,!l){f=Q&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=l,!l){f=Q;break}n[l+24>>2]=d,s=n[k+16>>2]|0,s|0&&(n[l+16>>2]=s,n[s+24>>2]=l),s=n[k+20>>2]|0,s&&(n[l+20>>2]=s,n[s+24>>2]=l),f=Q}else f=Q;while(0);do if(B>>>0>=16){if(n[k+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=c;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(Ue=(l+1048320|0)>>>16&8,je=l<>>16&4,je=je<>>16&2,l=14-(lt|Ue|l)+(je<>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,c=11436+(l<<2)|0,n[m+28>>2]=l,s=m+16|0,n[s+4>>2]=0,n[s>>2]=0,s=1<>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}for(s=B<<((l|0)==31?0:25-(l>>>1)|0),c=n[c>>2]|0;;){if((n[c+4>>2]&-8|0)==(B|0)){Ue=97;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{Ue=96;break}}if((Ue|0)==96){n[f>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((Ue|0)==97){Ue=c+8|0,je=n[Ue>>2]|0,n[je+12>>2]=m,n[Ue>>2]=m,n[m+8>>2]=je,n[m+12>>2]=c,n[m+24>>2]=0;break}}else je=B+M|0,n[k+4>>2]=je|3,je=k+je+4|0,n[je>>2]=n[je>>2]|1;while(0);return je=k+8|0,C=Lt,je|0}else j=M}else j=M;else j=-1;while(0);if(c=n[2785]|0,c>>>0>=j>>>0)return l=c-j|0,s=n[2788]|0,l>>>0>15?(je=s+j|0,n[2788]=je,n[2785]=l,n[je+4>>2]=l|1,n[je+l>>2]=l,n[s+4>>2]=j|3):(n[2785]=0,n[2788]=0,n[s+4>>2]=c|3,je=s+c+4|0,n[je>>2]=n[je>>2]|1),je=s+8|0,C=Lt,je|0;if(B=n[2786]|0,B>>>0>j>>>0)return lt=B-j|0,n[2786]=lt,je=n[2789]|0,Ue=je+j|0,n[2789]=Ue,n[Ue+4>>2]=lt|1,n[je+4>>2]=j|3,je=je+8|0,C=Lt,je|0;if(n[2901]|0?s=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,s=se&-16^1431655768,n[se>>2]=s,n[2901]=s,s=4096),k=j+48|0,Q=j+47|0,m=s+Q|0,d=0-s|0,M=m&d,M>>>0<=j>>>0||(s=n[2893]|0,s|0&&(O=n[2891]|0,se=O+M|0,se>>>0<=O>>>0|se>>>0>s>>>0)))return je=0,C=Lt,je|0;e:do if(n[2894]&4)l=0,Ue=133;else{c=n[2789]|0;t:do if(c){for(f=11580;s=n[f>>2]|0,!(s>>>0<=c>>>0&&(Qe=f+4|0,(s+(n[Qe>>2]|0)|0)>>>0>c>>>0));)if(s=n[f+8>>2]|0,s)f=s;else{Ue=118;break t}if(l=m-B&d,l>>>0<2147483647)if(s=Qp(l|0)|0,(s|0)==((n[f>>2]|0)+(n[Qe>>2]|0)|0)){if((s|0)!=-1){B=l,m=s,Ue=135;break e}}else f=s,Ue=126;else l=0}else Ue=118;while(0);do if((Ue|0)==118)if(c=Qp(0)|0,(c|0)!=-1&&(l=c,Ge=n[2902]|0,Me=Ge+-1|0,l=((Me&l|0)==0?0:(Me+l&0-Ge)-l|0)+M|0,Ge=n[2891]|0,Me=l+Ge|0,l>>>0>j>>>0&l>>>0<2147483647)){if(Qe=n[2893]|0,Qe|0&&Me>>>0<=Ge>>>0|Me>>>0>Qe>>>0){l=0;break}if(s=Qp(l|0)|0,(s|0)==(c|0)){B=l,m=c,Ue=135;break e}else f=s,Ue=126}else l=0;while(0);do if((Ue|0)==126){if(c=0-l|0,!(k>>>0>l>>>0&(l>>>0<2147483647&(f|0)!=-1)))if((f|0)==-1){l=0;break}else{B=l,m=f,Ue=135;break e}if(s=n[2903]|0,s=Q-l+s&0-s,s>>>0>=2147483647){B=l,m=f,Ue=135;break e}if((Qp(s|0)|0)==-1){Qp(c|0)|0,l=0;break}else{B=s+l|0,m=f,Ue=135;break e}}while(0);n[2894]=n[2894]|4,Ue=133}while(0);if((Ue|0)==133&&M>>>0<2147483647&&(lt=Qp(M|0)|0,Qe=Qp(0)|0,et=Qe-lt|0,Xe=et>>>0>(j+40|0)>>>0,!((lt|0)==-1|Xe^1|lt>>>0>>0&((lt|0)!=-1&(Qe|0)!=-1)^1))&&(B=Xe?et:l,m=lt,Ue=135),(Ue|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),Q=n[2789]|0;do if(Q){for(l=11580;;){if(s=n[l>>2]|0,c=l+4|0,f=n[c>>2]|0,(m|0)==(s+f|0)){Ue=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((Ue|0)==145&&(n[l+12>>2]&8|0)==0&&Q>>>0>>0&Q>>>0>=s>>>0){n[c>>2]=f+B,je=Q+8|0,je=(je&7|0)==0?0:0-je&7,Ue=Q+je|0,je=(n[2786]|0)+(B-je)|0,n[2789]=Ue,n[2786]=je,n[Ue+4>>2]=je|1,n[Ue+je+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),c=m+B|0,l=11580;;){if((n[l>>2]|0)==(c|0)){Ue=153;break}if(s=n[l+8>>2]|0,s)l=s;else break}if((Ue|0)==153&&(n[l+12>>2]&8|0)==0){n[l>>2]=m,O=l+4|0,n[O>>2]=(n[O>>2]|0)+B,O=m+8|0,O=m+((O&7|0)==0?0:0-O&7)|0,l=c+8|0,l=c+((l&7|0)==0?0:0-l&7)|0,M=O+j|0,k=l-O-j|0,n[O+4>>2]=j|3;do if((l|0)!=(Q|0)){if((l|0)==(n[2788]|0)){je=(n[2785]|0)+k|0,n[2785]=je,n[2788]=M,n[M+4>>2]=je|1,n[M+je>>2]=je;break}if(s=n[l+4>>2]|0,(s&3|0)==1){B=s&-8,f=s>>>3;e:do if(s>>>0<256)if(s=n[l+8>>2]|0,c=n[l+12>>2]|0,(c|0)==(s|0)){n[2783]=n[2783]&~(1<>2]=c,n[c+8>>2]=s;break}else{m=n[l+24>>2]|0,s=n[l+12>>2]|0;do if((s|0)==(l|0)){if(f=l+16|0,c=f+4|0,s=n[c>>2]|0,!s)if(s=n[f>>2]|0,s)c=f;else{s=0;break}for(;;){if(f=s+20|0,d=n[f>>2]|0,d|0){s=d,c=f;continue}if(f=s+16|0,d=n[f>>2]|0,d)s=d,c=f;else break}n[c>>2]=0}else je=n[l+8>>2]|0,n[je+12>>2]=s,n[s+8>>2]=je;while(0);if(!m)break;c=n[l+28>>2]|0,f=11436+(c<<2)|0;do if((l|0)!=(n[f>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=s,!s)break e}else{if(n[f>>2]=s,s|0)break;n[2784]=n[2784]&~(1<>2]=m,c=l+16|0,f=n[c>>2]|0,f|0&&(n[s+16>>2]=f,n[f+24>>2]=s),c=n[c+4>>2]|0,!c)break;n[s+20>>2]=c,n[c+24>>2]=s}while(0);l=l+B|0,d=B+k|0}else d=k;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=c;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}Ue=(l+1048320|0)>>>16&8,je=l<>>16&4,je=je<>>16&2,l=14-(lt|Ue|l)+(je<>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(0);if(f=11436+(l<<2)|0,n[M+28>>2]=l,s=M+16|0,n[s+4>>2]=0,n[s>>2]=0,s=n[2784]|0,c=1<>2]=M,n[M+24>>2]=f,n[M+12>>2]=M,n[M+8>>2]=M;break}for(s=d<<((l|0)==31?0:25-(l>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){Ue=194;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{Ue=193;break}}if((Ue|0)==193){n[f>>2]=M,n[M+24>>2]=c,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((Ue|0)==194){Ue=c+8|0,je=n[Ue>>2]|0,n[je+12>>2]=M,n[Ue>>2]=M,n[M+8>>2]=je,n[M+12>>2]=c,n[M+24>>2]=0;break}}else je=(n[2786]|0)+k|0,n[2786]=je,n[2789]=M,n[M+4>>2]=je|1;while(0);return je=O+8|0,C=Lt,je|0}for(l=11580;s=n[l>>2]|0,!(s>>>0<=Q>>>0&&(je=s+(n[l+4>>2]|0)|0,je>>>0>Q>>>0));)l=n[l+8>>2]|0;d=je+-47|0,s=d+8|0,s=d+((s&7|0)==0?0:0-s&7)|0,d=Q+16|0,s=s>>>0>>0?Q:s,l=s+8|0,c=m+8|0,c=(c&7|0)==0?0:0-c&7,Ue=m+c|0,c=B+-40-c|0,n[2789]=Ue,n[2786]=c,n[Ue+4>>2]=c|1,n[Ue+c+4>>2]=40,n[2790]=n[2905],c=s+4|0,n[c>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=s+24|0;do Ue=l,l=l+4|0,n[l>>2]=7;while((Ue+8|0)>>>0>>0);if((s|0)!=(Q|0)){if(m=s-Q|0,n[c>>2]=n[c>>2]&-2,n[Q+4>>2]=m|1,n[s>>2]=m,l=m>>>3,m>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=Q,n[l+12>>2]=Q,n[Q+8>>2]=l,n[Q+12>>2]=c;break}if(l=m>>>8,l?m>>>0>16777215?c=31:(Ue=(l+1048320|0)>>>16&8,je=l<>>16&4,je=je<>>16&2,c=14-(lt|Ue|c)+(je<>>15)|0,c=m>>>(c+7|0)&1|c<<1):c=0,f=11436+(c<<2)|0,n[Q+28>>2]=c,n[Q+20>>2]=0,n[d>>2]=0,l=n[2784]|0,s=1<>2]=Q,n[Q+24>>2]=f,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}for(s=m<<((c|0)==31?0:25-(c>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(m|0)){Ue=216;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{Ue=215;break}}if((Ue|0)==215){n[f>>2]=Q,n[Q+24>>2]=c,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}else if((Ue|0)==216){Ue=c+8|0,je=n[Ue>>2]|0,n[je+12>>2]=Q,n[Ue>>2]=Q,n[Q+8>>2]=je,n[Q+12>>2]=c,n[Q+24>>2]=0;break}}}else{je=n[2787]|0,(je|0)==0|m>>>0>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do je=11172+(l<<1<<2)|0,n[je+12>>2]=je,n[je+8>>2]=je,l=l+1|0;while((l|0)!=32);je=m+8|0,je=(je&7|0)==0?0:0-je&7,Ue=m+je|0,je=B+-40-je|0,n[2789]=Ue,n[2786]=je,n[Ue+4>>2]=je|1,n[Ue+je+4>>2]=40,n[2790]=n[2905]}while(0);if(l=n[2786]|0,l>>>0>j>>>0)return lt=l-j|0,n[2786]=lt,je=n[2789]|0,Ue=je+j|0,n[2789]=Ue,n[Ue+4>>2]=lt|1,n[je+4>>2]=j|3,je=je+8|0,C=Lt,je|0}return n[(Vm()|0)>>2]=12,je=0,C=Lt,je|0}function hD(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0;if(!!s){c=s+-8|0,d=n[2787]|0,s=n[s+-4>>2]|0,l=s&-8,Q=c+l|0;do if(s&1)k=c,B=c;else{if(f=n[c>>2]|0,!(s&3)||(B=c+(0-f)|0,m=f+l|0,B>>>0>>0))return;if((B|0)==(n[2788]|0)){if(s=Q+4|0,l=n[s>>2]|0,(l&3|0)!=3){k=B,l=m;break}n[2785]=m,n[s>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(c=f>>>3,f>>>0<256)if(s=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(s|0)){n[2783]=n[2783]&~(1<>2]=l,n[l+8>>2]=s,k=B,l=m;break}d=n[B+24>>2]|0,s=n[B+12>>2]|0;do if((s|0)==(B|0)){if(c=B+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{s=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0}else k=n[B+8>>2]|0,n[k+12>>2]=s,n[s+8>>2]=k;while(0);if(d){if(l=n[B+28>>2]|0,c=11436+(l<<2)|0,(B|0)==(n[c>>2]|0)){if(n[c>>2]=s,!s){n[2784]=n[2784]&~(1<>2]|0)!=(B|0)&1)<<2)>>2]=s,!s){k=B,l=m;break}n[s+24>>2]=d,l=B+16|0,c=n[l>>2]|0,c|0&&(n[s+16>>2]=c,n[c+24>>2]=s),l=n[l+4>>2]|0,l?(n[s+20>>2]=l,n[l+24>>2]=s,k=B,l=m):(k=B,l=m)}else k=B,l=m}while(0);if(!(B>>>0>=Q>>>0)&&(s=Q+4|0,f=n[s>>2]|0,!!(f&1))){if(f&2)n[s>>2]=f&-2,n[k+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(s=n[2788]|0,(Q|0)==(n[2789]|0)){if(Q=(n[2786]|0)+l|0,n[2786]=Q,n[2789]=k,n[k+4>>2]=Q|1,(k|0)!=(s|0))return;n[2788]=0,n[2785]=0;return}if((Q|0)==(s|0)){Q=(n[2785]|0)+l|0,n[2785]=Q,n[2788]=B,n[k+4>>2]=Q|1,n[B+Q>>2]=Q;return}d=(f&-8)+l|0,c=f>>>3;do if(f>>>0<256)if(l=n[Q+8>>2]|0,s=n[Q+12>>2]|0,(s|0)==(l|0)){n[2783]=n[2783]&~(1<>2]=s,n[s+8>>2]=l;break}else{m=n[Q+24>>2]|0,s=n[Q+12>>2]|0;do if((s|0)==(Q|0)){if(c=Q+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{c=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0,c=s}else c=n[Q+8>>2]|0,n[c+12>>2]=s,n[s+8>>2]=c,c=s;while(0);if(m|0){if(s=n[Q+28>>2]|0,l=11436+(s<<2)|0,(Q|0)==(n[l>>2]|0)){if(n[l>>2]=c,!c){n[2784]=n[2784]&~(1<>2]|0)!=(Q|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=m,s=Q+16|0,l=n[s>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),s=n[s+4>>2]|0,s|0&&(n[c+20>>2]=s,n[s+24>>2]=c)}}while(0);if(n[k+4>>2]=d|1,n[B+d>>2]=d,(k|0)==(n[2788]|0)){n[2785]=d;return}}if(s=d>>>3,d>>>0<256){c=11172+(s<<1<<2)|0,l=n[2783]|0,s=1<>2]|0):(n[2783]=l|s,s=c,l=c+8|0),n[l>>2]=k,n[s+12>>2]=k,n[k+8>>2]=s,n[k+12>>2]=c;return}s=d>>>8,s?d>>>0>16777215?s=31:(B=(s+1048320|0)>>>16&8,Q=s<>>16&4,Q=Q<>>16&2,s=14-(m|B|s)+(Q<>>15)|0,s=d>>>(s+7|0)&1|s<<1):s=0,f=11436+(s<<2)|0,n[k+28>>2]=s,n[k+20>>2]=0,n[k+16>>2]=0,l=n[2784]|0,c=1<>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){s=73;break}if(f=c+16+(l>>>31<<2)|0,s=n[f>>2]|0,s)l=l<<1,c=s;else{s=72;break}}if((s|0)==72){n[f>>2]=k,n[k+24>>2]=c,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((s|0)==73){B=c+8|0,Q=n[B>>2]|0,n[Q+12>>2]=k,n[B>>2]=k,n[k+8>>2]=Q,n[k+12>>2]=c,n[k+24>>2]=0;break}}else n[2784]=l|c,n[f>>2]=k,n[k+24>>2]=f,n[k+12>>2]=k,n[k+8>>2]=k;while(0);if(Q=(n[2791]|0)+-1|0,n[2791]=Q,!Q)s=11588;else return;for(;s=n[s>>2]|0,s;)s=s+8|0;n[2791]=-1}}}function DUe(){return 11628}function SUe(s){s=s|0;var l=0,c=0;return l=C,C=C+16|0,c=l,n[c>>2]=xUe(n[s+60>>2]|0)|0,s=gD(hc(6,c|0)|0)|0,C=l,s|0}function r7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0;j=C,C=C+48|0,M=j+16|0,m=j,d=j+32|0,k=s+28|0,f=n[k>>2]|0,n[d>>2]=f,Q=s+20|0,f=(n[Q>>2]|0)-f|0,n[d+4>>2]=f,n[d+8>>2]=l,n[d+12>>2]=c,f=f+c|0,B=s+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=gD(Li(146,m|0)|0)|0;e:do if((f|0)!=(m|0)){for(l=2;!((m|0)<0);)if(f=f-m|0,Ge=n[d+4>>2]|0,se=m>>>0>Ge>>>0,d=se?d+8|0:d,l=(se<<31>>31)+l|0,Ge=m-(se?Ge:0)|0,n[d>>2]=(n[d>>2]|0)+Ge,se=d+4|0,n[se>>2]=(n[se>>2]|0)-Ge,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=gD(Li(146,M|0)|0)|0,(f|0)==(m|0)){O=3;break e}n[s+16>>2]=0,n[k>>2]=0,n[Q>>2]=0,n[s>>2]=n[s>>2]|32,(l|0)==2?c=0:c=c-(n[d+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(Ge=n[s+44>>2]|0,n[s+16>>2]=Ge+(n[s+48>>2]|0),n[k>>2]=Ge,n[Q>>2]=Ge),C=j,c|0}function PUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return d=C,C=C+32|0,m=d,f=d+20|0,n[m>>2]=n[s+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=f,n[m+16>>2]=c,(gD(sa(140,m|0)|0)|0)<0?(n[f>>2]=-1,s=-1):s=n[f>>2]|0,C=d,s|0}function gD(s){return s=s|0,s>>>0>4294963200&&(n[(Vm()|0)>>2]=0-s,s=-1),s|0}function Vm(){return(bUe()|0)+64|0}function bUe(){return SR()|0}function SR(){return 2084}function xUe(s){return s=s|0,s|0}function kUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return d=C,C=C+32|0,f=d,n[s+36>>2]=1,(n[s>>2]&64|0)==0&&(n[f>>2]=n[s+60>>2],n[f+4>>2]=21523,n[f+8>>2]=d+16,fu(54,f|0)|0)&&(o[s+75>>0]=-1),f=r7(s,l,c)|0,C=d,f|0}function n7(s,l){s=s|0,l=l|0;var c=0,f=0;if(c=o[s>>0]|0,f=o[l>>0]|0,c<<24>>24==0||c<<24>>24!=f<<24>>24)s=f;else{do s=s+1|0,l=l+1|0,c=o[s>>0]|0,f=o[l>>0]|0;while(!(c<<24>>24==0||c<<24>>24!=f<<24>>24));s=f}return(c&255)-(s&255)|0}function QUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;e:do if(!c)s=0;else{for(;f=o[s>>0]|0,d=o[l>>0]|0,f<<24>>24==d<<24>>24;)if(c=c+-1|0,c)s=s+1|0,l=l+1|0;else{s=0;break e}s=(f&255)-(d&255)|0}while(0);return s|0}function i7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0,Me=0,Qe=0;Qe=C,C=C+224|0,O=Qe+120|0,j=Qe+80|0,Ge=Qe,Me=Qe+136|0,f=j,d=f+40|0;do n[f>>2]=0,f=f+4|0;while((f|0)<(d|0));return n[O>>2]=n[c>>2],(PR(0,l,O,Ge,j)|0)<0?c=-1:((n[s+76>>2]|0)>-1?se=FUe(s)|0:se=0,c=n[s>>2]|0,M=c&32,(o[s+74>>0]|0)<1&&(n[s>>2]=c&-33),f=s+48|0,n[f>>2]|0?c=PR(s,l,O,Ge,j)|0:(d=s+44|0,m=n[d>>2]|0,n[d>>2]=Me,B=s+28|0,n[B>>2]=Me,k=s+20|0,n[k>>2]=Me,n[f>>2]=80,Q=s+16|0,n[Q>>2]=Me+80,c=PR(s,l,O,Ge,j)|0,m&&(ED[n[s+36>>2]&7](s,0,0)|0,c=(n[k>>2]|0)==0?-1:c,n[d>>2]=m,n[f>>2]=0,n[Q>>2]=0,n[B>>2]=0,n[k>>2]=0)),f=n[s>>2]|0,n[s>>2]=f|M,se|0&&RUe(s),c=(f&32|0)==0?c:-1),C=Qe,c|0}function PR(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0,Me=0,Qe=0,et=0,Xe=0,lt=0,Ue=0,je=0,Lt=0,Mr=0,or=0,Xt=0,Sr=0,Nr=0,ir=0;ir=C,C=C+64|0,or=ir+16|0,Xt=ir,Lt=ir+24|0,Sr=ir+8|0,Nr=ir+20|0,n[or>>2]=l,lt=(s|0)!=0,Ue=Lt+40|0,je=Ue,Lt=Lt+39|0,Mr=Sr+4|0,B=0,m=0,O=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(Vm()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(0);if(B=o[l>>0]|0,B<<24>>24)k=l;else{Xe=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=k,Xe=9;break t}case 0:{B=k;break t}default:}et=k+1|0,n[or>>2]=et,B=o[et>>0]|0,k=et}t:do if((Xe|0)==9)for(;;){if(Xe=0,(o[k+1>>0]|0)!=37)break t;if(B=B+1|0,k=k+2|0,n[or>>2]=k,(o[k>>0]|0)==37)Xe=9;else break}while(0);if(B=B-l|0,lt&&ss(s,l,B),B|0){l=k;continue}Q=k+1|0,B=(o[Q>>0]|0)+-48|0,B>>>0<10?(et=(o[k+2>>0]|0)==36,Qe=et?B:-1,O=et?1:O,Q=et?k+3|0:Q):Qe=-1,n[or>>2]=Q,B=o[Q>>0]|0,k=(B<<24>>24)+-32|0;t:do if(k>>>0<32)for(M=0,j=B;;){if(B=1<>2]=Q,B=o[Q>>0]|0,k=(B<<24>>24)+-32|0,k>>>0>=32)break;j=B}else M=0;while(0);if(B<<24>>24==42){if(k=Q+1|0,B=(o[k>>0]|0)+-48|0,B>>>0<10&&(o[Q+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[f+((o[k>>0]|0)+-48<<3)>>2]|0,O=1,Q=Q+3|0;else{if(O|0){m=-1;break}lt?(O=(n[c>>2]|0)+(4-1)&~(4-1),B=n[O>>2]|0,n[c>>2]=O+4,O=0,Q=k):(B=0,O=0,Q=k)}n[or>>2]=Q,et=(B|0)<0,B=et?0-B|0:B,M=et?M|8192:M}else{if(B=s7(or)|0,(B|0)<0){m=-1;break}Q=n[or>>2]|0}do if((o[Q>>0]|0)==46){if((o[Q+1>>0]|0)!=42){n[or>>2]=Q+1,k=s7(or)|0,Q=n[or>>2]|0;break}if(j=Q+2|0,k=(o[j>>0]|0)+-48|0,k>>>0<10&&(o[Q+3>>0]|0)==36){n[d+(k<<2)>>2]=10,k=n[f+((o[j>>0]|0)+-48<<3)>>2]|0,Q=Q+4|0,n[or>>2]=Q;break}if(O|0){m=-1;break e}lt?(et=(n[c>>2]|0)+(4-1)&~(4-1),k=n[et>>2]|0,n[c>>2]=et+4):k=0,n[or>>2]=j,Q=j}else k=-1;while(0);for(Me=0;;){if(((o[Q>>0]|0)+-65|0)>>>0>57){m=-1;break e}if(et=Q+1|0,n[or>>2]=et,j=o[(o[Q>>0]|0)+-65+(5178+(Me*58|0))>>0]|0,se=j&255,(se+-1|0)>>>0<8)Me=se,Q=et;else break}if(!(j<<24>>24)){m=-1;break}Ge=(Qe|0)>-1;do if(j<<24>>24==19)if(Ge){m=-1;break e}else Xe=49;else{if(Ge){n[d+(Qe<<2)>>2]=se,Ge=f+(Qe<<3)|0,Qe=n[Ge+4>>2]|0,Xe=Xt,n[Xe>>2]=n[Ge>>2],n[Xe+4>>2]=Qe,Xe=49;break}if(!lt){m=0;break e}o7(Xt,se,c)}while(0);if((Xe|0)==49&&(Xe=0,!lt)){B=0,l=et;continue}Q=o[Q>>0]|0,Q=(Me|0)!=0&(Q&15|0)==3?Q&-33:Q,Ge=M&-65537,Qe=(M&8192|0)==0?M:Ge;t:do switch(Q|0){case 110:switch((Me&255)<<24>>24){case 0:{n[n[Xt>>2]>>2]=m,B=0,l=et;continue e}case 1:{n[n[Xt>>2]>>2]=m,B=0,l=et;continue e}case 2:{B=n[Xt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}case 3:{a[n[Xt>>2]>>1]=m,B=0,l=et;continue e}case 4:{o[n[Xt>>2]>>0]=m,B=0,l=et;continue e}case 6:{n[n[Xt>>2]>>2]=m,B=0,l=et;continue e}case 7:{B=n[Xt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}default:{B=0,l=et;continue e}}case 112:{Q=120,k=k>>>0>8?k:8,l=Qe|8,Xe=61;break}case 88:case 120:{l=Qe,Xe=61;break}case 111:{Q=Xt,l=n[Q>>2]|0,Q=n[Q+4>>2]|0,se=NUe(l,Q,Ue)|0,Ge=je-se|0,M=0,j=5642,k=(Qe&8|0)==0|(k|0)>(Ge|0)?k:Ge+1|0,Ge=Qe,Xe=67;break}case 105:case 100:if(Q=Xt,l=n[Q>>2]|0,Q=n[Q+4>>2]|0,(Q|0)<0){l=dD(0,0,l|0,Q|0)|0,Q=Se,M=Xt,n[M>>2]=l,n[M+4>>2]=Q,M=1,j=5642,Xe=66;break t}else{M=(Qe&2049|0)!=0&1,j=(Qe&2048|0)==0?(Qe&1|0)==0?5642:5644:5643,Xe=66;break t}case 117:{Q=Xt,M=0,j=5642,l=n[Q>>2]|0,Q=n[Q+4>>2]|0,Xe=66;break}case 99:{o[Lt>>0]=n[Xt>>2],l=Lt,M=0,j=5642,se=Ue,Q=1,k=Ge;break}case 109:{Q=LUe(n[(Vm()|0)>>2]|0)|0,Xe=71;break}case 115:{Q=n[Xt>>2]|0,Q=Q|0?Q:5652,Xe=71;break}case 67:{n[Sr>>2]=n[Xt>>2],n[Mr>>2]=0,n[Xt>>2]=Sr,se=-1,Q=Sr,Xe=75;break}case 83:{l=n[Xt>>2]|0,k?(se=k,Q=l,Xe=75):(Bs(s,32,B,0,Qe),l=0,Xe=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=MUe(s,+E[Xt>>3],B,k,Qe,Q)|0,l=et;continue e}default:M=0,j=5642,se=Ue,Q=k,k=Qe}while(0);t:do if((Xe|0)==61)Qe=Xt,Me=n[Qe>>2]|0,Qe=n[Qe+4>>2]|0,se=TUe(Me,Qe,Ue,Q&32)|0,j=(l&8|0)==0|(Me|0)==0&(Qe|0)==0,M=j?0:2,j=j?5642:5642+(Q>>4)|0,Ge=l,l=Me,Q=Qe,Xe=67;else if((Xe|0)==66)se=Jm(l,Q,Ue)|0,Ge=Qe,Xe=67;else if((Xe|0)==71)Xe=0,Qe=OUe(Q,0,k)|0,Me=(Qe|0)==0,l=Q,M=0,j=5642,se=Me?Q+k|0:Qe,Q=Me?k:Qe-Q|0,k=Ge;else if((Xe|0)==75){for(Xe=0,j=Q,l=0,k=0;M=n[j>>2]|0,!(!M||(k=a7(Nr,M)|0,(k|0)<0|k>>>0>(se-l|0)>>>0));)if(l=k+l|0,se>>>0>l>>>0)j=j+4|0;else break;if((k|0)<0){m=-1;break e}if(Bs(s,32,B,l,Qe),!l)l=0,Xe=84;else for(M=0;;){if(k=n[Q>>2]|0,!k){Xe=84;break t}if(k=a7(Nr,k)|0,M=k+M|0,(M|0)>(l|0)){Xe=84;break t}if(ss(s,Nr,k),M>>>0>=l>>>0){Xe=84;break}else Q=Q+4|0}}while(0);if((Xe|0)==67)Xe=0,Q=(l|0)!=0|(Q|0)!=0,Qe=(k|0)!=0|Q,Q=((Q^1)&1)+(je-se)|0,l=Qe?se:Ue,se=Ue,Q=Qe?(k|0)>(Q|0)?k:Q:k,k=(k|0)>-1?Ge&-65537:Ge;else if((Xe|0)==84){Xe=0,Bs(s,32,B,l,Qe^8192),B=(B|0)>(l|0)?B:l,l=et;continue}Me=se-l|0,Ge=(Q|0)<(Me|0)?Me:Q,Qe=Ge+M|0,B=(B|0)<(Qe|0)?Qe:B,Bs(s,32,B,Qe,k),ss(s,j,M),Bs(s,48,B,Qe,k^65536),Bs(s,48,Ge,Me,0),ss(s,l,Me),Bs(s,32,B,Qe,k^8192),l=et}e:do if((Xe|0)==87&&!s)if(!O)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(o7(f+(m<<3)|0,l,c),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(0);return C=ir,m|0}function FUe(s){return s=s|0,0}function RUe(s){s=s|0}function ss(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]&32||KUe(l,c,s)|0}function s7(s){s=s|0;var l=0,c=0,f=0;if(c=n[s>>2]|0,f=(o[c>>0]|0)+-48|0,f>>>0<10){l=0;do l=f+(l*10|0)|0,c=c+1|0,n[s>>2]=c,f=(o[c>>0]|0)+-48|0;while(f>>>0<10)}else l=0;return l|0}function o7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,n[s>>2]=l;break e}case 10:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=0;break e}case 12:{f=(n[c>>2]|0)+(8-1)&~(8-1),l=f,d=n[l>>2]|0,l=n[l+4>>2]|0,n[c>>2]=f+8,f=s,n[f>>2]=d,n[f+4>>2]=l;break e}case 13:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&65535)<<16>>16,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&65535,n[d+4>>2]=0;break e}case 15:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&255)<<24>>24,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&255,n[d+4>>2]=0;break e}case 17:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}case 18:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}default:break e}while(0);while(0)}function TUe(s,l,c,f){if(s=s|0,l=l|0,c=c|0,f=f|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=u[5694+(s&15)>>0]|0|f,s=mD(s|0,l|0,4)|0,l=Se;while(!((s|0)==0&(l|0)==0));return c|0}function NUe(s,l,c){if(s=s|0,l=l|0,c=c|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=s&7|48,s=mD(s|0,l|0,3)|0,l=Se;while(!((s|0)==0&(l|0)==0));return c|0}function Jm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if(l>>>0>0|(l|0)==0&s>>>0>4294967295){for(;f=QR(s|0,l|0,10,0)|0,c=c+-1|0,o[c>>0]=f&255|48,f=s,s=kR(s|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&f>>>0>4294967295;)l=Se;l=s}else l=s;if(l)for(;c=c+-1|0,o[c>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return c|0}function LUe(s){return s=s|0,jUe(s,n[(qUe()|0)+188>>2]|0)|0}function OUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;m=l&255,f=(c|0)!=0;e:do if(f&(s&3|0)!=0)for(d=l&255;;){if((o[s>>0]|0)==d<<24>>24){B=6;break e}if(s=s+1|0,c=c+-1|0,f=(c|0)!=0,!(f&(s&3|0)!=0)){B=5;break}}else B=5;while(0);(B|0)==5&&(f?B=6:c=0);e:do if((B|0)==6&&(d=l&255,(o[s>>0]|0)!=d<<24>>24)){f=qe(m,16843009)|0;t:do if(c>>>0>3){for(;m=n[s>>2]^f,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(s=s+4|0,c=c+-4|0,c>>>0<=3){B=11;break t}}else B=11;while(0);if((B|0)==11&&!c){c=0;break}for(;;){if((o[s>>0]|0)==d<<24>>24)break e;if(s=s+1|0,c=c+-1|0,!c){c=0;break}}}while(0);return(c|0?s:0)|0}function Bs(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0;if(B=C,C=C+256|0,m=B,(c|0)>(f|0)&(d&73728|0)==0){if(d=c-f|0,Xm(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=c-f|0;do ss(s,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}ss(s,m,d)}C=B}function a7(s,l){return s=s|0,l=l|0,s?s=_Ue(s,l,0)|0:s=0,s|0}function MUe(s,l,c,f,d,m){s=s|0,l=+l,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0,Me=0,Qe=0,et=0,Xe=0,lt=0,Ue=0,je=0,Lt=0,Mr=0,or=0,Xt=0,Sr=0,Nr=0,ir=0,xn=0;xn=C,C=C+560|0,Q=xn+8|0,et=xn,ir=xn+524|0,Nr=ir,M=xn+512|0,n[et>>2]=0,Sr=M+12|0,l7(l)|0,(Se|0)<0?(l=-l,or=1,Mr=5659):(or=(d&2049|0)!=0&1,Mr=(d&2048|0)==0?(d&1|0)==0?5660:5665:5662),l7(l)|0,Xt=Se&2146435072;do if(Xt>>>0<2146435072|(Xt|0)==2146435072&0<0){if(Ge=+UUe(l,et)*2,B=Ge!=0,B&&(n[et>>2]=(n[et>>2]|0)+-1),lt=m|32,(lt|0)==97){Me=m&32,se=(Me|0)==0?Mr:Mr+9|0,j=or|2,B=12-f|0;do if(f>>>0>11|(B|0)==0)l=Ge;else{l=8;do B=B+-1|0,l=l*16;while((B|0)!=0);if((o[se>>0]|0)==45){l=-(l+(-Ge-l));break}else{l=Ge+l-l;break}}while(0);k=n[et>>2]|0,B=(k|0)<0?0-k|0:k,B=Jm(B,((B|0)<0)<<31>>31,Sr)|0,(B|0)==(Sr|0)&&(B=M+11|0,o[B>>0]=48),o[B+-1>>0]=(k>>31&2)+43,O=B+-2|0,o[O>>0]=m+15,M=(f|0)<1,Q=(d&8|0)==0,B=ir;do Xt=~~l,k=B+1|0,o[B>>0]=u[5694+Xt>>0]|Me,l=(l-+(Xt|0))*16,(k-Nr|0)==1&&!(Q&(M&l==0))?(o[k>>0]=46,B=B+2|0):B=k;while(l!=0);Xt=B-Nr|0,Nr=Sr-O|0,Sr=(f|0)!=0&(Xt+-2|0)<(f|0)?f+2|0:Xt,B=Nr+j+Sr|0,Bs(s,32,c,B,d),ss(s,se,j),Bs(s,48,c,B,d^65536),ss(s,ir,Xt),Bs(s,48,Sr-Xt|0,0,0),ss(s,O,Nr),Bs(s,32,c,B,d^8192);break}k=(f|0)<0?6:f,B?(B=(n[et>>2]|0)+-28|0,n[et>>2]=B,l=Ge*268435456):(l=Ge,B=n[et>>2]|0),Xt=(B|0)<0?Q:Q+288|0,Q=Xt;do je=~~l>>>0,n[Q>>2]=je,Q=Q+4|0,l=(l-+(je>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=Xt,j=Q;;){if(O=(B|0)<29?B:29,B=j+-4|0,B>>>0>=M>>>0){Q=0;do Ue=h7(n[B>>2]|0,0,O|0)|0,Ue=xR(Ue|0,Se|0,Q|0,0)|0,je=Se,Xe=QR(Ue|0,je|0,1e9,0)|0,n[B>>2]=Xe,Q=kR(Ue|0,je|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);Q&&(M=M+-4|0,n[M>>2]=Q)}for(Q=j;!(Q>>>0<=M>>>0);)if(B=Q+-4|0,!(n[B>>2]|0))Q=B;else break;if(B=(n[et>>2]|0)-O|0,n[et>>2]=B,(B|0)>0)j=Q;else break}else M=Xt;if((B|0)<0){f=((k+25|0)/9|0)+1|0,Qe=(lt|0)==102;do{if(Me=0-B|0,Me=(Me|0)<9?Me:9,M>>>0>>0){O=(1<>>Me,se=0,B=M;do je=n[B>>2]|0,n[B>>2]=(je>>>Me)+se,se=qe(je&O,j)|0,B=B+4|0;while(B>>>0>>0);B=(n[M>>2]|0)==0?M+4|0:M,se?(n[Q>>2]=se,M=B,B=Q+4|0):(M=B,B=Q)}else M=(n[M>>2]|0)==0?M+4|0:M,B=Q;Q=Qe?Xt:M,Q=(B-Q>>2|0)>(f|0)?Q+(f<<2)|0:B,B=(n[et>>2]|0)+Me|0,n[et>>2]=B}while((B|0)<0);B=M,f=Q}else B=M,f=Q;if(je=Xt,B>>>0>>0){if(Q=(je-B>>2)*9|0,O=n[B>>2]|0,O>>>0>=10){M=10;do M=M*10|0,Q=Q+1|0;while(O>>>0>=M>>>0)}}else Q=0;if(Qe=(lt|0)==103,Xe=(k|0)!=0,M=k-((lt|0)!=102?Q:0)+((Xe&Qe)<<31>>31)|0,(M|0)<(((f-je>>2)*9|0)+-9|0)){if(M=M+9216|0,Me=Xt+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(j=n[Me>>2]|0,se=(j>>>0)%(O>>>0)|0,M=(Me+4|0)==(f|0),M&(se|0)==0)M=Me;else if(Ge=(((j>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,Ue=(O|0)/2|0,l=se>>>0>>0?.5:M&(se|0)==(Ue|0)?1:1.5,or&&(Ue=(o[Mr>>0]|0)==45,l=Ue?-l:l,Ge=Ue?-Ge:Ge),M=j-se|0,n[Me>>2]=M,Ge+l!=Ge){if(Ue=M+O|0,n[Me>>2]=Ue,Ue>>>0>999999999)for(Q=Me;M=Q+-4|0,n[Q>>2]=0,M>>>0>>0&&(B=B+-4|0,n[B>>2]=0),Ue=(n[M>>2]|0)+1|0,n[M>>2]=Ue,Ue>>>0>999999999;)Q=M;else M=Me;if(Q=(je-B>>2)*9|0,j=n[B>>2]|0,j>>>0>=10){O=10;do O=O*10|0,Q=Q+1|0;while(j>>>0>=O>>>0)}}else M=Me;M=M+4|0,M=f>>>0>M>>>0?M:f,Ue=B}else M=f,Ue=B;for(lt=M;;){if(lt>>>0<=Ue>>>0){et=0;break}if(B=lt+-4|0,!(n[B>>2]|0))lt=B;else{et=1;break}}f=0-Q|0;do if(Qe)if(B=((Xe^1)&1)+k|0,(B|0)>(Q|0)&(Q|0)>-5?(O=m+-1|0,k=B+-1-Q|0):(O=m+-2|0,k=B+-1|0),B=d&8,B)Me=B;else{if(et&&(Lt=n[lt+-4>>2]|0,(Lt|0)!=0))if((Lt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Lt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((lt-je>>2)*9|0)+-9|0,(O|32|0)==102){Me=B-M|0,Me=(Me|0)>0?Me:0,k=(k|0)<(Me|0)?k:Me,Me=0;break}else{Me=B+Q-M|0,Me=(Me|0)>0?Me:0,k=(k|0)<(Me|0)?k:Me,Me=0;break}}else O=m,Me=d&8;while(0);if(Qe=k|Me,j=(Qe|0)!=0&1,se=(O|32|0)==102,se)Xe=0,B=(Q|0)>0?Q:0;else{if(B=(Q|0)<0?f:Q,B=Jm(B,((B|0)<0)<<31>>31,Sr)|0,M=Sr,(M-B|0)<2)do B=B+-1|0,o[B>>0]=48;while((M-B|0)<2);o[B+-1>>0]=(Q>>31&2)+43,B=B+-2|0,o[B>>0]=O,Xe=B,B=M-B|0}if(B=or+1+k+j+B|0,Bs(s,32,c,B,d),ss(s,Mr,or),Bs(s,48,c,B,d^65536),se){O=Ue>>>0>Xt>>>0?Xt:Ue,Me=ir+9|0,j=Me,se=ir+8|0,M=O;do{if(Q=Jm(n[M>>2]|0,0,Me)|0,(M|0)==(O|0))(Q|0)==(Me|0)&&(o[se>>0]=48,Q=se);else if(Q>>>0>ir>>>0){Xm(ir|0,48,Q-Nr|0)|0;do Q=Q+-1|0;while(Q>>>0>ir>>>0)}ss(s,Q,j-Q|0),M=M+4|0}while(M>>>0<=Xt>>>0);if(Qe|0&&ss(s,5710,1),M>>>0>>0&(k|0)>0)for(;;){if(Q=Jm(n[M>>2]|0,0,Me)|0,Q>>>0>ir>>>0){Xm(ir|0,48,Q-Nr|0)|0;do Q=Q+-1|0;while(Q>>>0>ir>>>0)}if(ss(s,Q,(k|0)<9?k:9),M=M+4|0,Q=k+-9|0,M>>>0>>0&(k|0)>9)k=Q;else{k=Q;break}}Bs(s,48,k+9|0,9,0)}else{if(Qe=et?lt:Ue+4|0,(k|0)>-1){et=ir+9|0,Me=(Me|0)==0,f=et,j=0-Nr|0,se=ir+8|0,O=Ue;do{Q=Jm(n[O>>2]|0,0,et)|0,(Q|0)==(et|0)&&(o[se>>0]=48,Q=se);do if((O|0)==(Ue|0)){if(M=Q+1|0,ss(s,Q,1),Me&(k|0)<1){Q=M;break}ss(s,5710,1),Q=M}else{if(Q>>>0<=ir>>>0)break;Xm(ir|0,48,Q+j|0)|0;do Q=Q+-1|0;while(Q>>>0>ir>>>0)}while(0);Nr=f-Q|0,ss(s,Q,(k|0)>(Nr|0)?Nr:k),k=k-Nr|0,O=O+4|0}while(O>>>0>>0&(k|0)>-1)}Bs(s,48,k+18|0,18,0),ss(s,Xe,Sr-Xe|0)}Bs(s,32,c,B,d^8192)}else ir=(m&32|0)!=0,B=or+3|0,Bs(s,32,c,B,d&-65537),ss(s,Mr,or),ss(s,l!=l|!1?ir?5686:5690:ir?5678:5682,3),Bs(s,32,c,B,d^8192);while(0);return C=xn,((B|0)<(c|0)?c:B)|0}function l7(s){s=+s;var l=0;return E[v>>3]=s,l=n[v>>2]|0,Se=n[v+4>>2]|0,l|0}function UUe(s,l){return s=+s,l=l|0,+ +c7(s,l)}function c7(s,l){s=+s,l=l|0;var c=0,f=0,d=0;switch(E[v>>3]=s,c=n[v>>2]|0,f=n[v+4>>2]|0,d=mD(c|0,f|0,52)|0,d&2047){case 0:{s!=0?(s=+c7(s*18446744073709552e3,l),c=(n[l>>2]|0)+-64|0):c=0,n[l>>2]=c;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[v>>2]=c,n[v+4>>2]=f&-2146435073|1071644672,s=+E[v>>3]}return+s}function _Ue(s,l,c){s=s|0,l=l|0,c=c|0;do if(s){if(l>>>0<128){o[s>>0]=l,s=1;break}if(!(n[n[(HUe()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){o[s>>0]=l,s=1;break}else{n[(Vm()|0)>>2]=84,s=-1;break}if(l>>>0<2048){o[s>>0]=l>>>6|192,o[s+1>>0]=l&63|128,s=2;break}if(l>>>0<55296|(l&-8192|0)==57344){o[s>>0]=l>>>12|224,o[s+1>>0]=l>>>6&63|128,o[s+2>>0]=l&63|128,s=3;break}if((l+-65536|0)>>>0<1048576){o[s>>0]=l>>>18|240,o[s+1>>0]=l>>>12&63|128,o[s+2>>0]=l>>>6&63|128,o[s+3>>0]=l&63|128,s=4;break}else{n[(Vm()|0)>>2]=84,s=-1;break}}else s=1;while(0);return s|0}function HUe(){return SR()|0}function qUe(){return SR()|0}function jUe(s,l){s=s|0,l=l|0;var c=0,f=0;for(f=0;;){if((u[5712+f>>0]|0)==(s|0)){s=2;break}if(c=f+1|0,(c|0)==87){c=5800,f=87,s=5;break}else f=c}if((s|0)==2&&(f?(c=5800,s=5):c=5800),(s|0)==5)for(;;){do s=c,c=c+1|0;while((o[s>>0]|0)!=0);if(f=f+-1|0,f)s=5;else break}return GUe(c,n[l+20>>2]|0)|0}function GUe(s,l){return s=s|0,l=l|0,YUe(s,l)|0}function YUe(s,l){return s=s|0,l=l|0,l?l=WUe(n[l>>2]|0,n[l+4>>2]|0,s)|0:l=0,(l|0?l:s)|0}function WUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0;se=(n[s>>2]|0)+1794895138|0,m=Rg(n[s+8>>2]|0,se)|0,f=Rg(n[s+12>>2]|0,se)|0,d=Rg(n[s+16>>2]|0,se)|0;e:do if(m>>>0>>2>>>0&&(j=l-(m<<2)|0,f>>>0>>0&d>>>0>>0)&&((d|f)&3|0)==0){for(j=f>>>2,O=d>>>2,M=0;;){if(k=m>>>1,Q=M+k|0,B=Q<<1,d=B+j|0,f=Rg(n[s+(d<<2)>>2]|0,se)|0,d=Rg(n[s+(d+1<<2)>>2]|0,se)|0,!(d>>>0>>0&f>>>0<(l-d|0)>>>0)){f=0;break e}if(o[s+(d+f)>>0]|0){f=0;break e}if(f=n7(c,s+d|0)|0,!f)break;if(f=(f|0)<0,(m|0)==1){f=0;break e}else M=f?M:Q,m=f?k:m-k|0}f=B+O|0,d=Rg(n[s+(f<<2)>>2]|0,se)|0,f=Rg(n[s+(f+1<<2)>>2]|0,se)|0,f>>>0>>0&d>>>0<(l-f|0)>>>0?f=(o[s+(f+d)>>0]|0)==0?s+f|0:0:f=0}else f=0;while(0);return f|0}function Rg(s,l){s=s|0,l=l|0;var c=0;return c=m7(s|0)|0,((l|0)==0?s:c)|0}function KUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=c+16|0,d=n[f>>2]|0,d?m=5:VUe(c)|0?f=0:(d=n[f>>2]|0,m=5);e:do if((m|0)==5){if(k=c+20|0,B=n[k>>2]|0,f=B,(d-B|0)>>>0>>0){f=ED[n[c+36>>2]&7](c,s,l)|0;break}t:do if((o[c+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=s;break t}if(d=B+-1|0,(o[s+d>>0]|0)==10)break;B=d}if(f=ED[n[c+36>>2]&7](c,s,B)|0,f>>>0>>0)break e;m=B,d=s+B|0,l=l-B|0,f=n[k>>2]|0}else m=0,d=s;while(0);Dr(f|0,d|0,l|0)|0,n[k>>2]=(n[k>>2]|0)+l,f=m+l|0}while(0);return f|0}function VUe(s){s=s|0;var l=0,c=0;return l=s+74|0,c=o[l>>0]|0,o[l>>0]=c+255|c,l=n[s>>2]|0,l&8?(n[s>>2]=l|32,s=-1):(n[s+8>>2]=0,n[s+4>>2]=0,c=n[s+44>>2]|0,n[s+28>>2]=c,n[s+20>>2]=c,n[s+16>>2]=c+(n[s+48>>2]|0),s=0),s|0}function _n(s,l){s=y(s),l=y(l);var c=0,f=0;c=u7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=u7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?l:s;break}else{s=s>2]=s,n[v>>2]|0|0}function Tg(s,l){s=y(s),l=y(l);var c=0,f=0;c=A7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=A7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?s:l;break}else{s=s>2]=s,n[v>>2]|0|0}function bR(s,l){s=y(s),l=y(l);var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;m=(h[v>>2]=s,n[v>>2]|0),k=(h[v>>2]=l,n[v>>2]|0),c=m>>>23&255,B=k>>>23&255,Q=m&-2147483648,d=k<<1;e:do if((d|0)!=0&&!((c|0)==255|((JUe(l)|0)&2147483647)>>>0>2139095040)){if(f=m<<1,f>>>0<=d>>>0)return l=y(s*y(0)),y((f|0)==(d|0)?l:s);if(c)f=m&8388607|8388608;else{if(c=m<<9,(c|0)>-1){f=c,c=0;do c=c+-1|0,f=f<<1;while((f|0)>-1)}else c=0;f=m<<1-c}if(B)k=k&8388607|8388608;else{if(m=k<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,k=k<<1-d}d=f-k|0,m=(d|0)>-1;t:do if((c|0)>(B|0)){for(;;){if(m)if(d)f=d;else break;if(f=f<<1,c=c+-1|0,d=f-k|0,m=(d|0)>-1,(c|0)<=(B|0))break t}l=y(s*y(0));break e}while(0);if(m)if(d)f=d;else{l=y(s*y(0));break}if(f>>>0<8388608)do f=f<<1,c=c+-1|0;while(f>>>0<8388608);(c|0)>0?c=f+-8388608|c<<23:c=f>>>(1-c|0),l=(n[v>>2]=c|Q,y(h[v>>2]))}else M=3;while(0);return(M|0)==3&&(l=y(s*l),l=y(l/l)),y(l)}function JUe(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function zUe(s,l){return s=s|0,l=l|0,i7(n[582]|0,s,l)|0}function zr(s){s=s|0,Rt()}function zm(s){s=s|0}function XUe(s,l){return s=s|0,l=l|0,0}function ZUe(s){return s=s|0,(f7(s+4|0)|0)==-1?(tf[n[(n[s>>2]|0)+8>>2]&127](s),s=1):s=0,s|0}function f7(s){s=s|0;var l=0;return l=n[s>>2]|0,n[s>>2]=l+-1,l+-1|0}function kp(s){s=s|0,ZUe(s)|0&&$Ue(s)}function $Ue(s){s=s|0;var l=0;l=s+8|0,(n[l>>2]|0)!=0&&(f7(l)|0)!=-1||tf[n[(n[s>>2]|0)+16>>2]&127](s)}function Kt(s){s=s|0;var l=0;for(l=(s|0)==0?1:s;s=pD(l)|0,!(s|0);){if(s=t3e()|0,!s){s=0;break}P7[s&0]()}return s|0}function p7(s){return s=s|0,Kt(s)|0}function gt(s){s=s|0,hD(s)}function e3e(s){s=s|0,(o[s+11>>0]|0)<0&>(n[s>>2]|0)}function t3e(){var s=0;return s=n[2923]|0,n[2923]=s+0,s|0}function r3e(){}function dD(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f=l-f-(c>>>0>s>>>0|0)>>>0,Se=f,s-c>>>0|0|0}function xR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,c=s+c>>>0,Se=l+f+(c>>>0>>0|0)>>>0,c|0|0}function Xm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(m=s+c|0,l=l&255,(c|0)>=67){for(;s&3;)o[s>>0]=l,s=s+1|0;for(f=m&-4|0,d=f-64|0,B=l|l<<8|l<<16|l<<24;(s|0)<=(d|0);)n[s>>2]=B,n[s+4>>2]=B,n[s+8>>2]=B,n[s+12>>2]=B,n[s+16>>2]=B,n[s+20>>2]=B,n[s+24>>2]=B,n[s+28>>2]=B,n[s+32>>2]=B,n[s+36>>2]=B,n[s+40>>2]=B,n[s+44>>2]=B,n[s+48>>2]=B,n[s+52>>2]=B,n[s+56>>2]=B,n[s+60>>2]=B,s=s+64|0;for(;(s|0)<(f|0);)n[s>>2]=B,s=s+4|0}for(;(s|0)<(m|0);)o[s>>0]=l,s=s+1|0;return m-c|0}function h7(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Se=l<>>32-c,s<>>c,s>>>c|(l&(1<>>c-32|0)}function Dr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;if((c|0)>=8192)return Ac(s|0,l|0,c|0)|0;if(m=s|0,d=s+c|0,(s&3)==(l&3)){for(;s&3;){if(!c)return m|0;o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0,c=c-1|0}for(c=d&-4|0,f=c-64|0;(s|0)<=(f|0);)n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2],n[s+16>>2]=n[l+16>>2],n[s+20>>2]=n[l+20>>2],n[s+24>>2]=n[l+24>>2],n[s+28>>2]=n[l+28>>2],n[s+32>>2]=n[l+32>>2],n[s+36>>2]=n[l+36>>2],n[s+40>>2]=n[l+40>>2],n[s+44>>2]=n[l+44>>2],n[s+48>>2]=n[l+48>>2],n[s+52>>2]=n[l+52>>2],n[s+56>>2]=n[l+56>>2],n[s+60>>2]=n[l+60>>2],s=s+64|0,l=l+64|0;for(;(s|0)<(c|0);)n[s>>2]=n[l>>2],s=s+4|0,l=l+4|0}else for(c=d-4|0;(s|0)<(c|0);)o[s>>0]=o[l>>0]|0,o[s+1>>0]=o[l+1>>0]|0,o[s+2>>0]=o[l+2>>0]|0,o[s+3>>0]=o[l+3>>0]|0,s=s+4|0,l=l+4|0;for(;(s|0)<(d|0);)o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0;return m|0}function g7(s){s=s|0;var l=0;return l=o[L+(s&255)>>0]|0,(l|0)<8?l|0:(l=o[L+(s>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=o[L+(s>>16&255)>>0]|0,(l|0)<8?l+16|0:(o[L+(s>>>24)>>0]|0)+24|0))}function d7(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0,j=0,se=0,Ge=0,Me=0;if(O=s,Q=l,M=Q,B=c,se=f,k=se,!M)return m=(d|0)!=0,k?m?(n[d>>2]=s|0,n[d+4>>2]=l&0,se=0,d=0,Se=se,d|0):(se=0,d=0,Se=se,d|0):(m&&(n[d>>2]=(O>>>0)%(B>>>0),n[d+4>>2]=0),se=0,d=(O>>>0)/(B>>>0)>>>0,Se=se,d|0);m=(k|0)==0;do if(B){if(!m){if(m=(P(k|0)|0)-(P(M|0)|0)|0,m>>>0<=31){j=m+1|0,k=31-m|0,l=m-31>>31,B=j,s=O>>>(j>>>0)&l|M<>>(j>>>0)&l,m=0,k=O<>2]=s|0,n[d+4>>2]=Q|l&0,se=0,d=0,Se=se,d|0):(se=0,d=0,Se=se,d|0)}if(m=B-1|0,m&B|0){k=(P(B|0)|0)+33-(P(M|0)|0)|0,Me=64-k|0,j=32-k|0,Q=j>>31,Ge=k-32|0,l=Ge>>31,B=k,s=j-1>>31&M>>>(Ge>>>0)|(M<>>(k>>>0))&l,l=l&M>>>(k>>>0),m=O<>>(Ge>>>0))&Q|O<>31;break}return d|0&&(n[d>>2]=m&O,n[d+4>>2]=0),(B|0)==1?(Ge=Q|l&0,Me=s|0|0,Se=Ge,Me|0):(Me=g7(B|0)|0,Ge=M>>>(Me>>>0)|0,Me=M<<32-Me|O>>>(Me>>>0)|0,Se=Ge,Me|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),Ge=0,Me=(M>>>0)/(B>>>0)>>>0,Se=Ge,Me|0;if(!O)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(k>>>0)),Ge=0,Me=(M>>>0)/(k>>>0)>>>0,Se=Ge,Me|0;if(m=k-1|0,!(m&k))return d|0&&(n[d>>2]=s|0,n[d+4>>2]=m&M|l&0),Ge=0,Me=M>>>((g7(k|0)|0)>>>0),Se=Ge,Me|0;if(m=(P(k|0)|0)-(P(M|0)|0)|0,m>>>0<=30){l=m+1|0,k=31-m|0,B=l,s=M<>>(l>>>0),l=M>>>(l>>>0),m=0,k=O<>2]=s|0,n[d+4>>2]=Q|l&0,Ge=0,Me=0,Se=Ge,Me|0):(Ge=0,Me=0,Se=Ge,Me|0)}while(0);if(!B)M=k,Q=0,k=0;else{j=c|0|0,O=se|f&0,M=xR(j|0,O|0,-1,-1)|0,c=Se,Q=k,k=0;do f=Q,Q=m>>>31|Q<<1,m=k|m<<1,f=s<<1|f>>>31|0,se=s>>>31|l<<1|0,dD(M|0,c|0,f|0,se|0)|0,Me=Se,Ge=Me>>31|((Me|0)<0?-1:0)<<1,k=Ge&1,s=dD(f|0,se|0,Ge&j|0,(((Me|0)<0?-1:0)>>31|((Me|0)<0?-1:0)<<1)&O|0)|0,l=Se,B=B-1|0;while((B|0)!=0);M=Q,Q=0}return B=0,d|0&&(n[d>>2]=s,n[d+4>>2]=l),Ge=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|Q,Me=(m<<1|0>>>31)&-2|k,Se=Ge,Me|0}function kR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,d7(s,l,c,f,0)|0}function Qp(s){s=s|0;var l=0,c=0;return c=s+15&-16|0,l=n[I>>2]|0,s=l+c|0,(c|0)>0&(s|0)<(l|0)|(s|0)<0?(ie()|0,DA(12),-1):(n[I>>2]=s,(s|0)>(Z()|0)&&(X()|0)==0?(n[I>>2]=l,DA(12),-1):l|0)}function Mw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if((l|0)<(s|0)&(s|0)<(l+c|0)){for(f=s,l=l+c|0,s=s+c|0;(c|0)>0;)s=s-1|0,l=l-1|0,c=c-1|0,o[s>>0]=o[l>>0]|0;s=f}else Dr(s,l,c)|0;return s|0}function QR(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;return m=C,C=C+16|0,d=m|0,d7(s,l,c,f,d)|0,C=m,Se=n[d+4>>2]|0,n[d>>2]|0|0}function m7(s){return s=s|0,(s&255)<<24|(s>>8&255)<<16|(s>>16&255)<<8|s>>>24|0}function n3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,y7[s&1](l|0,c|0,f|0,d|0,m|0)}function i3e(s,l,c){s=s|0,l=l|0,c=y(c),E7[s&1](l|0,y(c))}function s3e(s,l,c){s=s|0,l=l|0,c=+c,C7[s&31](l|0,+c)}function o3e(s,l,c,f){return s=s|0,l=l|0,c=y(c),f=y(f),y(w7[s&0](l|0,y(c),y(f)))}function a3e(s,l){s=s|0,l=l|0,tf[s&127](l|0)}function l3e(s,l,c){s=s|0,l=l|0,c=c|0,rf[s&31](l|0,c|0)}function c3e(s,l){return s=s|0,l=l|0,Lg[s&31](l|0)|0}function u3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,I7[s&1](l|0,+c,+f,d|0)}function A3e(s,l,c,f){s=s|0,l=l|0,c=+c,f=+f,Y3e[s&1](l|0,+c,+f)}function f3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,ED[s&7](l|0,c|0,f|0)|0}function p3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,+W3e[s&1](l|0,c|0,f|0)}function h3e(s,l){return s=s|0,l=l|0,+B7[s&15](l|0)}function g3e(s,l,c){return s=s|0,l=l|0,c=+c,K3e[s&1](l|0,+c)|0}function d3e(s,l,c){return s=s|0,l=l|0,c=c|0,RR[s&15](l|0,c|0)|0}function m3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=+f,d=+d,m=m|0,V3e[s&1](l|0,c|0,+f,+d,m|0)}function y3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,J3e[s&1](l|0,c|0,f|0,d|0,m|0,B|0)}function E3e(s,l,c){return s=s|0,l=l|0,c=c|0,+v7[s&7](l|0,c|0)}function C3e(s){return s=s|0,CD[s&7]()|0}function w3e(s,l,c,f,d,m){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,D7[s&1](l|0,c|0,f|0,d|0,m|0)|0}function I3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=+d,z3e[s&1](l|0,c|0,f|0,+d)}function B3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,S7[s&1](l|0,c|0,y(f),d|0,y(m),B|0)}function v3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,Hw[s&15](l|0,c|0,f|0)}function D3e(s){s=s|0,P7[s&0]()}function S3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,b7[s&15](l|0,c|0,+f)}function P3e(s,l,c){return s=s|0,l=+l,c=+c,X3e[s&1](+l,+c)|0}function b3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,TR[s&15](l|0,c|0,f|0,d|0)}function x3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(0)}function k3e(s,l){s=s|0,l=y(l),F(1)}function ma(s,l){s=s|0,l=+l,F(2)}function Q3e(s,l,c){return s=s|0,l=y(l),c=y(c),F(3),Ze}function Er(s){s=s|0,F(4)}function Uw(s,l){s=s|0,l=l|0,F(5)}function Ja(s){return s=s|0,F(6),0}function F3e(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,F(7)}function R3e(s,l,c){s=s|0,l=+l,c=+c,F(8)}function T3e(s,l,c){return s=s|0,l=l|0,c=c|0,F(9),0}function N3e(s,l,c){return s=s|0,l=l|0,c=c|0,F(10),0}function Ng(s){return s=s|0,F(11),0}function L3e(s,l){return s=s|0,l=+l,F(12),0}function _w(s,l){return s=s|0,l=l|0,F(13),0}function O3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,F(14)}function M3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,F(15)}function FR(s,l){return s=s|0,l=l|0,F(16),0}function U3e(){return F(17),0}function _3e(s,l,c,f,d){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(18),0}function H3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,F(19)}function q3e(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,F(20)}function yD(s,l,c){s=s|0,l=l|0,c=c|0,F(21)}function j3e(){F(22)}function Zm(s,l,c){s=s|0,l=l|0,c=+c,F(23)}function G3e(s,l){return s=+s,l=+l,F(24),0}function $m(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,F(25)}var y7=[x3e,_Le],E7=[k3e,fo],C7=[ma,xw,kw,EF,CF,Dl,Qw,wF,qm,bu,Rw,IF,$v,KA,eD,jm,tD,rD,Gm,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma],w7=[Q3e],tf=[Er,zm,CDe,wDe,IDe,Xbe,Zbe,$be,gNe,dNe,mNe,PLe,bLe,xLe,J4e,z4e,X4e,hs,Vv,Hm,WA,Fw,dve,mve,uDe,kDe,qDe,oSe,ISe,USe,rPe,mPe,FPe,VPe,ube,Sbe,qbe,dxe,Fxe,Vxe,uke,Ske,qke,aQe,IQe,LQe,ZQe,Pc,xFe,YFe,uRe,bRe,jRe,uTe,CTe,BTe,_Te,jTe,oNe,ENe,INe,UNe,nLe,i5,MOe,gMe,kMe,YMe,p4e,b4e,U4e,q4e,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er],rf=[Uw,fF,pF,bw,Pu,hF,gF,Bp,dF,mF,yF,Zv,VA,Ve,ft,Wt,vr,Pn,Fr,vF,nve,Sve,AQe,DQe,FRe,HOe,ALe,q9,Uw,Uw,Uw,Uw],Lg=[Ja,SUe,AF,D,Ae,De,vt,wt,xt,_r,di,po,eve,tve,yve,tFe,KRe,qNe,YOe,Wa,Ja,Ja,Ja,Ja,Ja,Ja,Ja,Ja,Ja,Ja,Ja,Ja],I7=[F3e,Eve],Y3e=[R3e,cNe],ED=[T3e,r7,PUe,kUe,jSe,Cxe,RFe,JMe],W3e=[N3e,hbe],B7=[Ng,Yo,rt,bn,Cve,wve,Ive,Bve,vve,Dve,Ng,Ng,Ng,Ng,Ng,Ng],K3e=[L3e,mTe],RR=[_w,XUe,rve,hDe,uSe,sPe,CPe,Wbe,Lxe,_Qe,Wv,TMe,_w,_w,_w,_w],V3e=[O3e,WDe],J3e=[M3e,m4e],v7=[FR,ai,Pve,bve,xve,kbe,FR,FR],CD=[U3e,kve,Sw,ga,PTe,KTe,SNe,W4e],D7=[_3e,Cw],z3e=[H3e,hke],S7=[q3e,ive],Hw=[yD,T,is,tn,ho,SSe,NPe,kke,Wke,_m,cOe,EMe,F4e,yD,yD,yD],P7=[j3e],b7=[Zm,Jv,zv,Xv,YA,nD,BF,S,Zxe,JFe,pTe,Zm,Zm,Zm,Zm,Zm],X3e=[G3e,pNe],TR=[$m,ZPe,cFe,hRe,rTe,RTe,$Te,RNe,lLe,XOe,nUe,$m,$m,$m,$m,$m];return{_llvm_bswap_i32:m7,dynCall_idd:P3e,dynCall_i:C3e,_i64Subtract:dD,___udivdi3:kR,dynCall_vif:i3e,setThrew:hu,dynCall_viii:v3e,_bitshift64Lshr:mD,_bitshift64Shl:h7,dynCall_vi:a3e,dynCall_viiddi:m3e,dynCall_diii:p3e,dynCall_iii:d3e,_memset:Xm,_sbrk:Qp,_memcpy:Dr,__GLOBAL__sub_I_Yoga_cpp:Um,dynCall_vii:l3e,___uremdi3:QR,dynCall_vid:s3e,stackAlloc:lo,_nbind_init:hUe,getTempRet0:Ua,dynCall_di:h3e,dynCall_iid:g3e,setTempRet0:xA,_i64Add:xR,dynCall_fiff:o3e,dynCall_iiii:f3e,_emscripten_get_global_libc:DUe,dynCall_viid:S3e,dynCall_viiid:I3e,dynCall_viififi:B3e,dynCall_ii:c3e,__GLOBAL__sub_I_Binding_cc:kOe,dynCall_viiii:b3e,dynCall_iiiiii:w3e,stackSave:gc,dynCall_viiiii:n3e,__GLOBAL__sub_I_nbind_cc:Qve,dynCall_vidd:A3e,_free:hD,runPostSets:r3e,dynCall_viiiiii:y3e,establishStackSpace:qi,_memmove:Mw,stackRestore:pu,_malloc:pD,__GLOBAL__sub_I_common_cc:zNe,dynCall_viddi:u3e,dynCall_dii:E3e,dynCall_v:D3e}}(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(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function t(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=t)},Module.callMain=Module.callMain=function t(e){e=e||[],ensureInitRuntime();var r=e.length+1;function o(){for(var p=0;p<4-1;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];o();for(var n=0;n0||(preRun(),runDependencies>0)||Module.calledRun)return;function e(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(t),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()}Module.run=Module.run=run;function exit(t,e){e&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=t,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(t)),ENVIRONMENT_IS_NODE&&process.exit(t),Module.quit(t,new ExitStatus(t)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(t){Module.onAbort&&Module.onAbort(t),t!==void 0?(Module.print(t),Module.printErr(t),t=JSON.stringify(t)):t="",ABORT=!0,EXITSTATUS=1;var e=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(o){r=o(r,t)}),r}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 am=_((wKt,NEe)=>{"use strict";var Gyt=REe(),Yyt=TEe(),x6=!1,k6=null;Yyt({},function(t,e){if(!x6){if(x6=!0,t)throw t;k6=e}});if(!x6)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");NEe.exports=Gyt(k6.bind,k6.lib)});var F6=_((IKt,Q6)=>{"use strict";var LEe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);Q6.exports=LEe;Q6.exports.default=LEe});var MEe=_((BKt,OEe)=>{"use strict";OEe.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 Kk=_((vKt,R6)=>{"use strict";var Wyt=OS(),Kyt=F6(),Vyt=MEe(),UEe=t=>{if(typeof t!="string"||t.length===0||(t=Wyt(t),t.length===0))return 0;t=t.replace(Vyt()," ");let e=0;for(let r=0;r=127&&o<=159||o>=768&&o<=879||(o>65535&&r++,e+=Kyt(o)?2:1)}return e};R6.exports=UEe;R6.exports.default=UEe});var N6=_((DKt,T6)=>{"use strict";var Jyt=Kk(),_Ee=t=>{let e=0;for(let r of t.split(` +`))e=Math.max(e,Jyt(r));return e};T6.exports=_Ee;T6.exports.default=_Ee});var HEe=_(cB=>{"use strict";var zyt=cB&&cB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(cB,"__esModule",{value:!0});var Xyt=zyt(N6()),L6={};cB.default=t=>{if(t.length===0)return{width:0,height:0};if(L6[t])return L6[t];let e=Xyt.default(t),r=t.split(` +`).length;return L6[t]={width:e,height:r},{width:e,height:r}}});var qEe=_(uB=>{"use strict";var Zyt=uB&&uB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uB,"__esModule",{value:!0});var dn=Zyt(am()),$yt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?dn.default.POSITION_TYPE_ABSOLUTE:dn.default.POSITION_TYPE_RELATIVE)},eEt=(t,e)=>{"marginLeft"in e&&t.setMargin(dn.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(dn.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(dn.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(dn.default.EDGE_BOTTOM,e.marginBottom||0)},tEt=(t,e)=>{"paddingLeft"in e&&t.setPadding(dn.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(dn.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(dn.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(dn.default.EDGE_BOTTOM,e.paddingBottom||0)},rEt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(dn.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(dn.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(dn.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(dn.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(dn.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(dn.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(dn.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(dn.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(dn.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(dn.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(dn.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(dn.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(dn.default.JUSTIFY_SPACE_AROUND))},nEt=(t,e)=>{var r,o;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((o=e.minHeight)!==null&&o!==void 0?o:0))},iEt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?dn.default.DISPLAY_FLEX:dn.default.DISPLAY_NONE)},sEt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(dn.default.EDGE_TOP,r),t.setBorder(dn.default.EDGE_BOTTOM,r),t.setBorder(dn.default.EDGE_LEFT,r),t.setBorder(dn.default.EDGE_RIGHT,r)}};uB.default=(t,e={})=>{$yt(t,e),eEt(t,e),tEt(t,e),rEt(t,e),nEt(t,e),iEt(t,e),sEt(t,e)}});var YEe=_((bKt,GEe)=>{"use strict";var AB=Kk(),oEt=OS(),aEt=DI(),M6=new Set(["\x1B","\x9B"]),lEt=39,jEe=t=>`${M6.values().next().value}[${t}m`,cEt=t=>t.split(" ").map(e=>AB(e)),O6=(t,e,r)=>{let o=[...e],a=!1,n=AB(oEt(t[t.length-1]));for(let[u,A]of o.entries()){let p=AB(A);if(n+p<=r?t[t.length-1]+=A:(t.push(A),n=0),M6.has(A))a=!0;else if(a&&A==="m"){a=!1;continue}a||(n+=p,n===r&&u0&&t.length>1&&(t[t.length-2]+=t.pop())},uEt=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(AB(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},AEt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let o="",a="",n,u=cEt(t),A=[""];for(let[p,h]of t.split(" ").entries()){r.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let E=AB(A[A.length-1]);if(p!==0&&(E>=e&&(r.wordWrap===!1||r.trim===!1)&&(A.push(""),E=0),(E>0||r.trim===!1)&&(A[A.length-1]+=" ",E++)),r.hard&&u[p]>e){let I=e-E,v=1+Math.floor((u[p]-I-1)/e);Math.floor((u[p]-1)/e)e&&E>0&&u[p]>0){if(r.wordWrap===!1&&Ee&&r.wordWrap===!1){O6(A,h,e);continue}A[A.length-1]+=h}r.trim!==!1&&(A=A.map(uEt)),o=A.join(` +`);for(let[p,h]of[...o].entries()){if(a+=h,M6.has(h)){let I=parseFloat(/\d[^m]*/.exec(o.slice(p,p+4)));n=I===lEt?null:I}let E=aEt.codes.get(Number(n));n&&E&&(o[p+1]===` +`?a+=jEe(E):h===` +`&&(a+=jEe(n)))}return a};GEe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,` +`).split(` +`).map(o=>AEt(o,e,r)).join(` +`)});var VEe=_((xKt,KEe)=>{"use strict";var WEe="[\uD800-\uDBFF][\uDC00-\uDFFF]",fEt=t=>t&&t.exact?new RegExp(`^${WEe}$`):new RegExp(WEe,"g");KEe.exports=fEt});var U6=_((kKt,ZEe)=>{"use strict";var pEt=F6(),hEt=VEe(),JEe=DI(),XEe=["\x1B","\x9B"],Vk=t=>`${XEe[0]}[${t}m`,zEe=(t,e,r)=>{let o=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let u=JEe.codes.get(parseInt(a,10));if(u){let A=t.indexOf(u.toString());A>=0?t.splice(A,1):o.push(Vk(e?u:n))}else if(e){o.push(Vk(0));break}else o.push(Vk(n))}if(e&&(o=o.filter((a,n)=>o.indexOf(a)===n),r!==void 0)){let a=Vk(JEe.codes.get(parseInt(r,10)));o=o.reduce((n,u)=>u===a?[u,...n]:[...n,u],[])}return o.join("")};ZEe.exports=(t,e,r)=>{let o=[...t.normalize()],a=[];r=typeof r=="number"?r:o.length;let n=!1,u,A=0,p="";for(let[h,E]of o.entries()){let I=!1;if(XEe.includes(E)){let v=/\d[^m]*/.exec(t.slice(h,h+18));u=v&&v.length>0?v[0]:void 0,Ae&&A<=r)p+=E;else if(A===e&&!n&&u!==void 0)p=zEe(a);else if(A>=r){p+=zEe(a,!0,u);break}}return p}});var eCe=_((QKt,$Ee)=>{"use strict";var E0=U6(),gEt=Kk();function Jk(t,e,r){if(t.charAt(e)===" ")return e;for(let o=1;o<=3;o++)if(r){if(t.charAt(e+o)===" ")return e+o}else if(t.charAt(e-o)===" ")return e-o;return e}$Ee.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:o,space:a,preferTruncationOnSpace:n}=r,u="\u2026",A=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return u;let p=gEt(t);if(p<=e)return t;if(o==="start"){if(n){let h=Jk(t,p-e+1,!0);return u+E0(t,h,p).trim()}return a===!0&&(u+=" ",A=2),u+E0(t,p-e+A,p)}if(o==="middle"){a===!0&&(u=" "+u+" ",A=3);let h=Math.floor(e/2);if(n){let E=Jk(t,h),I=Jk(t,p-(e-h)+1,!0);return E0(t,0,E)+u+E0(t,I,p).trim()}return E0(t,0,h)+u+E0(t,p-(e-h)+A,p)}if(o==="end"){if(n){let h=Jk(t,e-1);return E0(t,0,h)+u}return a===!0&&(u=" "+u,A=2),E0(t,0,e-A)+u}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${o}`)}});var H6=_(fB=>{"use strict";var tCe=fB&&fB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fB,"__esModule",{value:!0});var dEt=tCe(YEe()),mEt=tCe(eCe()),_6={};fB.default=(t,e,r)=>{let o=t+String(e)+String(r);if(_6[o])return _6[o];let a=t;if(r==="wrap"&&(a=dEt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=mEt.default(t,e,{position:n})}return _6[o]=a,a}});var j6=_(q6=>{"use strict";Object.defineProperty(q6,"__esModule",{value:!0});var rCe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=rCe(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o))),e+=o}return e};q6.default=rCe});var G6=_(pi=>{"use strict";var pB=pi&&pi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pi,"__esModule",{value:!0});pi.setTextNodeValue=pi.createTextNode=pi.setStyle=pi.setAttribute=pi.removeChildNode=pi.insertBeforeNode=pi.appendChildNode=pi.createNode=pi.TEXT_NAME=void 0;var yEt=pB(am()),nCe=pB(HEe()),EEt=pB(qEe()),CEt=pB(H6()),wEt=pB(j6());pi.TEXT_NAME="#text";pi.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:yEt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(IEt.bind(null,r))),r};pi.appendChildNode=(t,e)=>{var r;e.parentNode&&pi.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&zk(t)};pi.insertBeforeNode=(t,e,r)=>{var o,a;e.parentNode&&pi.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((o=t.yogaNode)===null||o===void 0||o.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&zk(t)};pi.removeChildNode=(t,e)=>{var r,o;e.yogaNode&&((o=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||o===void 0||o.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&zk(t)};pi.setAttribute=(t,e,r)=>{t.attributes[e]=r};pi.setStyle=(t,e)=>{t.style=e,t.yogaNode&&EEt.default(t.yogaNode,e)};pi.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:null,style:{}};return pi.setTextNodeValue(e,t),e};var IEt=function(t,e){var r,o;let a=t.nodeName==="#text"?t.nodeValue:wEt.default(t),n=nCe.default(a);if(n.width<=e||n.width>=1&&e>0&&e<1)return n;let u=(o=(r=t.style)===null||r===void 0?void 0:r.textWrap)!==null&&o!==void 0?o:"wrap",A=CEt.default(a,e,u);return nCe.default(A)},iCe=t=>{var e;if(!(!t||!t.parentNode))return(e=t.yogaNode)!==null&&e!==void 0?e:iCe(t.parentNode)},zk=t=>{let e=iCe(t);e?.markDirty()};pi.setTextNodeValue=(t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue=e,zk(t)}});var cCe=_(hB=>{"use strict";var lCe=hB&&hB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hB,"__esModule",{value:!0});var sCe=S6(),BEt=lCe(PEe()),oCe=lCe(am()),Oo=G6(),aCe=t=>{t?.unsetMeasureFunc(),t?.freeRecursive()};hB.default=BEt.default({schedulePassiveEffects:sCe.unstable_scheduleCallback,cancelPassiveEffects:sCe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:t=>{if(t.isStaticDirty){t.isStaticDirty=!1,typeof t.onImmediateRender=="function"&&t.onImmediateRender();return}typeof t.onRender=="function"&&t.onRender()},getChildHostContext:(t,e)=>{let r=t.isInsideText,o=e==="ink-text"||e==="ink-virtual-text";return r===o?t:{isInsideText:o}},shouldSetTextContent:()=>!1,createInstance:(t,e,r,o)=>{if(o.isInsideText&&t==="ink-box")throw new Error(" can\u2019t be nested inside component");let a=t==="ink-text"&&o.isInsideText?"ink-virtual-text":t,n=Oo.createNode(a);for(let[u,A]of Object.entries(e))u!=="children"&&(u==="style"?Oo.setStyle(n,A):u==="internal_transform"?n.internal_transform=A:u==="internal_static"?n.internal_static=!0:Oo.setAttribute(n,u,A));return n},createTextInstance:(t,e,r)=>{if(!r.isInsideText)throw new Error(`Text string "${t}" must be rendered inside component`);return Oo.createTextNode(t)},resetTextContent:()=>{},hideTextInstance:t=>{Oo.setTextNodeValue(t,"")},unhideTextInstance:(t,e)=>{Oo.setTextNodeValue(t,e)},getPublicInstance:t=>t,hideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(oCe.default.DISPLAY_NONE)},unhideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(oCe.default.DISPLAY_FLEX)},appendInitialChild:Oo.appendChildNode,appendChild:Oo.appendChildNode,insertBefore:Oo.insertBeforeNode,finalizeInitialChildren:(t,e,r,o)=>(t.internal_static&&(o.isStaticDirty=!0,o.staticNode=t),!1),supportsMutation:!0,appendChildToContainer:Oo.appendChildNode,insertInContainerBefore:Oo.insertBeforeNode,removeChildFromContainer:(t,e)=>{Oo.removeChildNode(t,e),aCe(e.yogaNode)},prepareUpdate:(t,e,r,o,a)=>{t.internal_static&&(a.isStaticDirty=!0);let n={},u=Object.keys(o);for(let A of u)if(o[A]!==r[A]){if(A==="style"&&typeof o.style=="object"&&typeof r.style=="object"){let h=o.style,E=r.style,I=Object.keys(h);for(let v of I){if(v==="borderStyle"||v==="borderColor"){if(typeof n.style!="object"){let x={};n.style=x}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[v]!==E[v]){if(typeof n.style!="object"){let x={};n.style=x}n.style[v]=h[v]}}continue}n[A]=o[A]}return n},commitUpdate:(t,e)=>{for(let[r,o]of Object.entries(e))r!=="children"&&(r==="style"?Oo.setStyle(t,o):r==="internal_transform"?t.internal_transform=o:r==="internal_static"?t.internal_static=!0:Oo.setAttribute(t,r,o))},commitTextUpdate:(t,e,r)=>{Oo.setTextNodeValue(t,r)},removeChild:(t,e)=>{Oo.removeChildNode(t,e),aCe(e.yogaNode)}})});var ACe=_((LKt,uCe)=>{"use strict";uCe.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let o=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(o,r.indent.repeat(e))}});var fCe=_(gB=>{"use strict";var vEt=gB&&gB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gB,"__esModule",{value:!0});var Xk=vEt(am());gB.default=t=>t.getComputedWidth()-t.getComputedPadding(Xk.default.EDGE_LEFT)-t.getComputedPadding(Xk.default.EDGE_RIGHT)-t.getComputedBorder(Xk.default.EDGE_LEFT)-t.getComputedBorder(Xk.default.EDGE_RIGHT)});var pCe=_((MKt,DEt)=>{DEt.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 gCe=_((UKt,Y6)=>{"use strict";var hCe=pCe();Y6.exports=hCe;Y6.exports.default=hCe});var mCe=_((_Kt,dCe)=>{"use strict";var SEt=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},PEt=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r +`:` +`)+r,a=o+1,o=t.indexOf(` +`,a)}while(o!==-1);return n+=t.substr(a),n};dCe.exports={stringReplaceAll:SEt,stringEncaseCRLFWithFirstIndex:PEt}});var ICe=_((HKt,wCe)=>{"use strict";var bEt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,yCe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,xEt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,kEt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,QEt=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function CCe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):QEt.get(t)||t}function FEt(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(xEt))r.push(a[2].replace(kEt,(A,p,h)=>p?CCe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function REt(t){yCe.lastIndex=0;let e=[],r;for(;(r=yCe.exec(t))!==null;){let o=r[1];if(r[2]){let a=FEt(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function ECe(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}wCe.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(bEt,(n,u,A,p,h,E)=>{if(u)a.push(CCe(u));else if(p){let I=a.join("");a=[],o.push(r.length===0?I:ECe(t,r)(I)),r.push({inverse:A,styles:REt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(ECe(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var rQ=_((qKt,bCe)=>{"use strict";var dB=DI(),{stdout:K6,stderr:V6}=dN(),{stringReplaceAll:TEt,stringEncaseCRLFWithFirstIndex:NEt}=mCe(),{isArray:Zk}=Array,vCe=["ansi","ansi","ansi256","ansi16m"],HC=Object.create(null),LEt=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=K6?K6.level:0;t.level=e.level===void 0?r:e.level},J6=class{constructor(e){return DCe(e)}},DCe=t=>{let e={};return LEt(e,t),e.template=(...r)=>PCe(e.template,...r),Object.setPrototypeOf(e,$k.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=J6,e.template};function $k(t){return DCe(t)}for(let[t,e]of Object.entries(dB))HC[t]={get(){let r=eQ(this,z6(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};HC.visible={get(){let t=eQ(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var SCe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of SCe)HC[t]={get(){let{level:e}=this;return function(...r){let o=z6(dB.color[vCe[e]][t](...r),dB.color.close,this._styler);return eQ(this,o,this._isEmpty)}}};for(let t of SCe){let e="bg"+t[0].toUpperCase()+t.slice(1);HC[e]={get(){let{level:r}=this;return function(...o){let a=z6(dB.bgColor[vCe[r]][t](...o),dB.bgColor.close,this._styler);return eQ(this,a,this._isEmpty)}}}}var OEt=Object.defineProperties(()=>{},{...HC,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),z6=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},eQ=(t,e,r)=>{let o=(...a)=>Zk(a[0])&&Zk(a[0].raw)?BCe(o,PCe(o,...a)):BCe(o,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(o,OEt),o._generator=t,o._styler=e,o._isEmpty=r,o},BCe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=TEt(e,r.close,r.open),r=r.parent;let n=e.indexOf(` +`);return n!==-1&&(e=NEt(e,a,o,n)),o+e+a},W6,PCe=(t,...e)=>{let[r]=e;if(!Zk(r)||!Zk(r.raw))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";var MEt=yB&&yB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yB,"__esModule",{value:!0});var mB=MEt(rQ()),UEt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,_Et=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,nQ=(t,e)=>e==="foreground"?t:"bg"+t[0].toUpperCase()+t.slice(1);yB.default=(t,e,r)=>{if(!e)return t;if(e in mB.default){let a=nQ(e,r);return mB.default[a](t)}if(e.startsWith("#")){let a=nQ("hex",r);return mB.default[a](e)(t)}if(e.startsWith("ansi")){let a=_Et.exec(e);if(!a)return t;let n=nQ(a[1],r),u=Number(a[2]);return mB.default[n](u)(t)}if(e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("hsv")||e.startsWith("hwb")){let a=UEt.exec(e);if(!a)return t;let n=nQ(a[1],r),u=Number(a[2]),A=Number(a[3]),p=Number(a[4]);return mB.default[n](u,A,p)(t)}return t}});var kCe=_(EB=>{"use strict";var xCe=EB&&EB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EB,"__esModule",{value:!0});var HEt=xCe(gCe()),Z6=xCe(X6());EB.default=(t,e,r,o)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),u=r.style.borderColor,A=HEt.default[r.style.borderStyle],p=Z6.default(A.topLeft+A.horizontal.repeat(a-2)+A.topRight,u,"foreground"),h=(Z6.default(A.vertical,u,"foreground")+` +`).repeat(n-2),E=Z6.default(A.bottomLeft+A.horizontal.repeat(a-2)+A.bottomRight,u,"foreground");o.write(t,e,p,{transformers:[]}),o.write(t,e+1,h,{transformers:[]}),o.write(t+a-1,e+1,h,{transformers:[]}),o.write(t,e+n-1,E,{transformers:[]})}}});var FCe=_(CB=>{"use strict";var lm=CB&&CB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CB,"__esModule",{value:!0});var qEt=lm(am()),jEt=lm(N6()),GEt=lm(ACe()),YEt=lm(H6()),WEt=lm(fCe()),KEt=lm(j6()),VEt=lm(kCe()),JEt=(t,e)=>{var r;let o=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(o){let a=o.getComputedLeft(),n=o.getComputedTop();e=` +`.repeat(n)+GEt.default(e,a)}return e},QCe=(t,e,r)=>{var o;let{offsetX:a=0,offsetY:n=0,transformers:u=[],skipStaticElements:A}=r;if(A&&t.internal_static)return;let{yogaNode:p}=t;if(p){if(p.getDisplay()===qEt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),E=n+p.getComputedTop(),I=u;if(typeof t.internal_transform=="function"&&(I=[t.internal_transform,...u]),t.nodeName==="ink-text"){let v=KEt.default(t);if(v.length>0){let x=jEt.default(v),C=WEt.default(p);if(x>C){let R=(o=t.style.textWrap)!==null&&o!==void 0?o:"wrap";v=YEt.default(v,C,R)}v=JEt(t,v),e.write(h,E,v,{transformers:I})}return}if(t.nodeName==="ink-box"&&VEt.default(h,E,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let v of t.childNodes)QCe(v,e,{offsetX:h,offsetY:E,transformers:I,skipStaticElements:A})}};CB.default=QCe});var TCe=_((WKt,RCe)=>{"use strict";RCe.exports=t=>{t=Object.assign({onlyFirst:!1},t);let e=["[\\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(e,t.onlyFirst?void 0:"g")}});var LCe=_((KKt,$6)=>{"use strict";var zEt=TCe(),NCe=t=>typeof t=="string"?t.replace(zEt(),""):t;$6.exports=NCe;$6.exports.default=NCe});var UCe=_((VKt,MCe)=>{"use strict";var OCe="[\uD800-\uDBFF][\uDC00-\uDFFF]";MCe.exports=t=>t&&t.exact?new RegExp(`^${OCe}$`):new RegExp(OCe,"g")});var HCe=_((JKt,eq)=>{"use strict";var XEt=LCe(),ZEt=UCe(),_Ce=t=>XEt(t).replace(ZEt()," ").length;eq.exports=_Ce;eq.exports.default=_Ce});var GCe=_(wB=>{"use strict";var jCe=wB&&wB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wB,"__esModule",{value:!0});var qCe=jCe(U6()),$Et=jCe(HCe()),tq=class{constructor(e){this.writes=[];let{width:r,height:o}=e;this.width=r,this.height=o}write(e,r,o,a){let{transformers:n}=a;!o||this.writes.push({x:e,y:r,text:o,transformers:n})}get(){let e=[];for(let o=0;oo.trimRight()).join(` +`),height:e.length}}};wB.default=tq});var KCe=_(IB=>{"use strict";var rq=IB&&IB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(IB,"__esModule",{value:!0});var eCt=rq(am()),YCe=rq(FCe()),WCe=rq(GCe());IB.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,eCt.default.DIRECTION_LTR);let o=new WCe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});YCe.default(t,o,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new WCe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),YCe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:u}=o.get();return{output:n,outputHeight:u,staticOutput:a?`${a.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var XCe=_((ZKt,zCe)=>{"use strict";var VCe=ve("stream"),JCe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],nq={},tCt=t=>{let e=new VCe.PassThrough,r=new VCe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let o=new console.Console(e,r);for(let a of JCe)nq[a]=console[a],console[a]=o[a];return()=>{for(let a of JCe)console[a]=nq[a];nq={}}};zCe.exports=tCt});var sq=_(iq=>{"use strict";Object.defineProperty(iq,"__esModule",{value:!0});iq.default=new WeakMap});var aq=_(oq=>{"use strict";Object.defineProperty(oq,"__esModule",{value:!0});var rCt=on(),ZCe=rCt.createContext({exit:()=>{}});ZCe.displayName="InternalAppContext";oq.default=ZCe});var cq=_(lq=>{"use strict";Object.defineProperty(lq,"__esModule",{value:!0});var nCt=on(),$Ce=nCt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});$Ce.displayName="InternalStdinContext";lq.default=$Ce});var Aq=_(uq=>{"use strict";Object.defineProperty(uq,"__esModule",{value:!0});var iCt=on(),ewe=iCt.createContext({stdout:void 0,write:()=>{}});ewe.displayName="InternalStdoutContext";uq.default=ewe});var pq=_(fq=>{"use strict";Object.defineProperty(fq,"__esModule",{value:!0});var sCt=on(),twe=sCt.createContext({stderr:void 0,write:()=>{}});twe.displayName="InternalStderrContext";fq.default=twe});var iQ=_(hq=>{"use strict";Object.defineProperty(hq,"__esModule",{value:!0});var oCt=on(),rwe=oCt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});rwe.displayName="InternalFocusContext";hq.default=rwe});var iwe=_((sVt,nwe)=>{"use strict";var aCt=/[|\\{}()[\]^$+*?.-]/g;nwe.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(aCt,"\\$&")}});var lwe=_((oVt,awe)=>{"use strict";var lCt=iwe(),cCt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",owe=[].concat(ve("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));owe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var BB=class{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=BB.nodeInternals()),"cwd"in e||(e.cwd=cCt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,uCt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...owe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(` +`)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let o=!1,a=null,n=[];return e.forEach(u=>{if(u=u.replace(/\\/g,"/"),this._internals.some(p=>p.test(u)))return;let A=/^\s*at /.test(u);o?u=u.trimEnd().replace(/^(\s+)at /,"$1"):(u=u.trim(),A&&(u=u.slice(3))),u=u.replace(`${this._cwd}/`,""),u&&(A?(a&&(n.push(a),a=null),n.push(u)):(o=!0,a=u))}),n.map(u=>`${r}${u} +`).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:o}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=o,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:o,stackTraceLimit:a}=Error;Error.prepareStackTrace=(A,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:u}=n;return Object.assign(Error,{prepareStackTrace:o,stackTraceLimit:a}),u}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let o={line:r.getLineNumber(),column:r.getColumnNumber()};swe(o,r.getFileName(),this._cwd),r.isConstructor()&&(o.constructor=!0),r.isEval()&&(o.evalOrigin=r.getEvalOrigin()),r.isNative()&&(o.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(o.type=a);let n=r.getFunctionName();n&&(o.function=n);let u=r.getMethodName();return u&&n!==u&&(o.method=u),o}parseLine(e){let r=e&&e.match(ACt);if(!r)return null;let o=r[1]==="new",a=r[2],n=r[3],u=r[4],A=Number(r[5]),p=Number(r[6]),h=r[7],E=r[8],I=r[9],v=r[10]==="native",x=r[11]===")",C,R={};if(E&&(R.line=Number(E)),I&&(R.column=Number(I)),x&&h){let L=0;for(let U=h.length-1;U>0;U--)if(h.charAt(U)===")")L++;else if(h.charAt(U)==="("&&h.charAt(U-1)===" "&&(L--,L===-1&&h.charAt(U-1)===" ")){let J=h.slice(0,U-1);h=h.slice(U+1),a+=` (${J}`;break}}if(a){let L=a.match(fCt);L&&(a=L[1],C=L[2])}return swe(R,h,this._cwd),o&&(R.constructor=!0),n&&(R.evalOrigin=n,R.evalLine=A,R.evalColumn=p,R.evalFile=u&&u.replace(/\\/g,"/")),v&&(R.native=!0),a&&(R.function=a),C&&a!==C&&(R.method=C),R}};function swe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function uCt(t){if(t.length===0)return[];let e=t.map(r=>lCt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var ACt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),fCt=/^(.*?) \[as (.*?)\]$/;awe.exports=BB});var uwe=_((aVt,cwe)=>{"use strict";cwe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var fwe=_((lVt,Awe)=>{"use strict";var pCt=uwe(),hCt=(t,e)=>{let r=[],o=t-e,a=t+e;for(let n=o;n<=a;n++)r.push(n);return r};Awe.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=pCt(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},hCt(e,r.around).filter(o=>t[o-1]!==void 0).map(o=>({line:o,value:t[o-1]}))}});var sQ=_(ru=>{"use strict";var gCt=ru&&ru.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),dCt=ru&&ru.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),mCt=ru&&ru.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&gCt(e,t,r);return dCt(e,t),e},yCt=ru&&ru.__rest||function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a{var{children:r}=t,o=yCt(t,["children"]);let a=Object.assign(Object.assign({},o),{marginLeft:o.marginLeft||o.marginX||o.margin||0,marginRight:o.marginRight||o.marginX||o.margin||0,marginTop:o.marginTop||o.marginY||o.margin||0,marginBottom:o.marginBottom||o.marginY||o.margin||0,paddingLeft:o.paddingLeft||o.paddingX||o.padding||0,paddingRight:o.paddingRight||o.paddingX||o.padding||0,paddingTop:o.paddingTop||o.paddingY||o.padding||0,paddingBottom:o.paddingBottom||o.paddingY||o.padding||0});return pwe.default.createElement("ink-box",{ref:e,style:a},r)});gq.displayName="Box";gq.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};ru.default=gq});var yq=_(vB=>{"use strict";var dq=vB&&vB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vB,"__esModule",{value:!0});var ECt=dq(on()),qC=dq(rQ()),hwe=dq(X6()),mq=({color:t,backgroundColor:e,dimColor:r,bold:o,italic:a,underline:n,strikethrough:u,inverse:A,wrap:p,children:h})=>{if(h==null)return null;let E=I=>(r&&(I=qC.default.dim(I)),t&&(I=hwe.default(I,t,"foreground")),e&&(I=hwe.default(I,e,"background")),o&&(I=qC.default.bold(I)),a&&(I=qC.default.italic(I)),n&&(I=qC.default.underline(I)),u&&(I=qC.default.strikethrough(I)),A&&(I=qC.default.inverse(I)),I);return ECt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:E},h)};mq.displayName="Text";mq.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};vB.default=mq});var ywe=_(nu=>{"use strict";var CCt=nu&&nu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),wCt=nu&&nu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),ICt=nu&&nu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&CCt(e,t,r);return wCt(e,t),e},DB=nu&&nu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(nu,"__esModule",{value:!0});var gwe=ICt(ve("fs")),fs=DB(on()),dwe=DB(lwe()),BCt=DB(fwe()),Zf=DB(sQ()),hA=DB(yq()),mwe=new dwe.default({cwd:process.cwd(),internals:dwe.default.nodeInternals()}),vCt=({error:t})=>{let e=t.stack?t.stack.split(` +`).slice(1):void 0,r=e?mwe.parseLine(e[0]):void 0,o,a=0;if(r?.file&&r?.line&&gwe.existsSync(r.file)){let n=gwe.readFileSync(r.file,"utf8");if(o=BCt.default(n,r.line),o)for(let{line:u}of o)a=Math.max(a,String(u).length)}return fs.default.createElement(Zf.default,{flexDirection:"column",padding:1},fs.default.createElement(Zf.default,null,fs.default.createElement(hA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),fs.default.createElement(hA.default,null," ",t.message)),r&&fs.default.createElement(Zf.default,{marginTop:1},fs.default.createElement(hA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&o&&fs.default.createElement(Zf.default,{marginTop:1,flexDirection:"column"},o.map(({line:n,value:u})=>fs.default.createElement(Zf.default,{key:n},fs.default.createElement(Zf.default,{width:a+1},fs.default.createElement(hA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),fs.default.createElement(hA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+u)))),t.stack&&fs.default.createElement(Zf.default,{marginTop:1,flexDirection:"column"},t.stack.split(` +`).slice(1).map(n=>{let u=mwe.parseLine(n);return u?fs.default.createElement(Zf.default,{key:n},fs.default.createElement(hA.default,{dimColor:!0},"- "),fs.default.createElement(hA.default,{dimColor:!0,bold:!0},u.function),fs.default.createElement(hA.default,{dimColor:!0,color:"gray"}," ","(",u.file,":",u.line,":",u.column,")")):fs.default.createElement(Zf.default,{key:n},fs.default.createElement(hA.default,{dimColor:!0},"- "),fs.default.createElement(hA.default,{dimColor:!0,bold:!0},n))})))};nu.default=vCt});var Cwe=_(iu=>{"use strict";var DCt=iu&&iu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),SCt=iu&&iu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),PCt=iu&&iu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&DCt(e,t,r);return SCt(e,t),e},um=iu&&iu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iu,"__esModule",{value:!0});var cm=PCt(on()),Ewe=um(g6()),bCt=um(aq()),xCt=um(cq()),kCt=um(Aq()),QCt=um(pq()),FCt=um(iQ()),RCt=um(ywe()),TCt=" ",NCt="\x1B[Z",LCt="\x1B",oQ=class extends cm.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. +Read 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. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===LCt&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===TCt&&this.focusNext(),e===NCt&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(e=>{let r=e.focusables[0].id;return{activeFocusId:this.findNextFocusable(e)||r}})},this.focusPrevious=()=>{this.setState(e=>{let r=e.focusables[e.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(e)||r}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(o=>{let a=o.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...o.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(o=>o.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r+1;o{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r-1;o>=0;o--)if(e.focusables[o].isActive)return e.focusables[o].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return cm.default.createElement(bCt.default.Provider,{value:{exit:this.handleExit}},cm.default.createElement(xCt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},cm.default.createElement(kCt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},cm.default.createElement(QCt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},cm.default.createElement(FCt.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?cm.default.createElement(RCt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){Ewe.default.hide(this.props.stdout)}componentWillUnmount(){Ewe.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};iu.default=oQ;oQ.displayName="InternalApp"});var Bwe=_(su=>{"use strict";var OCt=su&&su.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),MCt=su&&su.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),UCt=su&&su.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&OCt(e,t,r);return MCt(e,t),e},ou=su&&su.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(su,"__esModule",{value:!0});var _Ct=ou(on()),wwe=lM(),HCt=ou(lEe()),qCt=ou(u6()),jCt=ou(hEe()),GCt=ou(dEe()),Eq=ou(cCe()),YCt=ou(KCe()),WCt=ou(h6()),KCt=ou(XCe()),VCt=UCt(G6()),JCt=ou(sq()),zCt=ou(Cwe()),jC=process.env.CI==="false"?!1:jCt.default,Iwe=()=>{},Cq=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:o,staticOutput:a}=YCt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` +`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(jC){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),o>=this.options.stdout.rows){this.options.stdout.write(qCt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},GCt.default(this),this.options=e,this.rootNode=VCt.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:wwe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=HCt.default.create(e.stdout),this.throttledLog=e.debug?this.log:wwe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=Eq.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=WCt.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),jC||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=_Ct.default.createElement(zCt.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},e);Eq.default.updateContainer(r,this.container,null,Iwe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(jC){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(jC){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),jC?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,Eq.default.updateContainer(null,this.container,null,Iwe),JCt.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!jC&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=KCt.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};su.default=Cq});var Dwe=_(SB=>{"use strict";var vwe=SB&&SB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(SB,"__esModule",{value:!0});var XCt=vwe(Bwe()),aQ=vwe(sq()),ZCt=ve("stream"),$Ct=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},ewt(e)),o=twt(r.stdout,()=>new XCt.default(r));return o.render(t),{rerender:o.render,unmount:()=>o.unmount(),waitUntilExit:o.waitUntilExit,cleanup:()=>aQ.default.delete(r.stdout),clear:o.clear}};SB.default=$Ct;var ewt=(t={})=>t instanceof ZCt.Stream?{stdout:t,stdin:process.stdin}:t,twt=(t,e)=>{let r;return aQ.default.has(t)?r=aQ.default.get(t):(r=e(),aQ.default.set(t,r)),r}});var Pwe=_($f=>{"use strict";var rwt=$f&&$f.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),nwt=$f&&$f.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),iwt=$f&&$f.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&rwt(e,t,r);return nwt(e,t),e};Object.defineProperty($f,"__esModule",{value:!0});var PB=iwt(on()),Swe=t=>{let{items:e,children:r,style:o}=t,[a,n]=PB.useState(0),u=PB.useMemo(()=>e.slice(a),[e,a]);PB.useLayoutEffect(()=>{n(e.length)},[e.length]);let A=u.map((h,E)=>r(h,a+E)),p=PB.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},o),[o]);return PB.default.createElement("ink-box",{internal_static:!0,style:p},A)};Swe.displayName="Static";$f.default=Swe});var xwe=_(bB=>{"use strict";var swt=bB&&bB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(bB,"__esModule",{value:!0});var owt=swt(on()),bwe=({children:t,transform:e})=>t==null?null:owt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);bwe.displayName="Transform";bB.default=bwe});var Qwe=_(xB=>{"use strict";var awt=xB&&xB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xB,"__esModule",{value:!0});var lwt=awt(on()),kwe=({count:t=1})=>lwt.default.createElement("ink-text",null,` +`.repeat(t));kwe.displayName="Newline";xB.default=kwe});var Twe=_(kB=>{"use strict";var Fwe=kB&&kB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kB,"__esModule",{value:!0});var cwt=Fwe(on()),uwt=Fwe(sQ()),Rwe=()=>cwt.default.createElement(uwt.default,{flexGrow:1});Rwe.displayName="Spacer";kB.default=Rwe});var lQ=_(QB=>{"use strict";var Awt=QB&&QB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(QB,"__esModule",{value:!0});var fwt=on(),pwt=Awt(cq()),hwt=()=>fwt.useContext(pwt.default);QB.default=hwt});var Lwe=_(FB=>{"use strict";var gwt=FB&&FB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(FB,"__esModule",{value:!0});var Nwe=on(),dwt=gwt(lQ()),mwt=(t,e={})=>{let{stdin:r,setRawMode:o,internal_exitOnCtrlC:a}=dwt.default();Nwe.useEffect(()=>{if(e.isActive!==!1)return o(!0),()=>{o(!1)}},[e.isActive,o]),Nwe.useEffect(()=>{if(e.isActive===!1)return;let n=u=>{let A=String(u),p={upArrow:A==="\x1B[A",downArrow:A==="\x1B[B",leftArrow:A==="\x1B[D",rightArrow:A==="\x1B[C",pageDown:A==="\x1B[6~",pageUp:A==="\x1B[5~",return:A==="\r",escape:A==="\x1B",ctrl:!1,shift:!1,tab:A===" "||A==="\x1B[Z",backspace:A==="\b",delete:A==="\x7F"||A==="\x1B[3~",meta:!1};A<=""&&!p.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),p.ctrl=!0),A.startsWith("\x1B")&&(A=A.slice(1),p.meta=!0);let h=A>="A"&&A<="Z",E=A>="\u0410"&&A<="\u042F";A.length===1&&(h||E)&&(p.shift=!0),p.tab&&A==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(A=""),(!(A==="c"&&p.ctrl)||!a)&&t(A,p)};return r?.on("data",n),()=>{r?.off("data",n)}},[e.isActive,r,a,t])};FB.default=mwt});var Owe=_(RB=>{"use strict";var ywt=RB&&RB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(RB,"__esModule",{value:!0});var Ewt=on(),Cwt=ywt(aq()),wwt=()=>Ewt.useContext(Cwt.default);RB.default=wwt});var Mwe=_(TB=>{"use strict";var Iwt=TB&&TB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(TB,"__esModule",{value:!0});var Bwt=on(),vwt=Iwt(Aq()),Dwt=()=>Bwt.useContext(vwt.default);TB.default=Dwt});var Uwe=_(NB=>{"use strict";var Swt=NB&&NB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(NB,"__esModule",{value:!0});var Pwt=on(),bwt=Swt(pq()),xwt=()=>Pwt.useContext(bwt.default);NB.default=xwt});var Hwe=_(OB=>{"use strict";var _we=OB&&OB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(OB,"__esModule",{value:!0});var LB=on(),kwt=_we(iQ()),Qwt=_we(lQ()),Fwt=({isActive:t=!0,autoFocus:e=!1}={})=>{let{isRawModeSupported:r,setRawMode:o}=Qwt.default(),{activeId:a,add:n,remove:u,activate:A,deactivate:p}=LB.useContext(kwt.default),h=LB.useMemo(()=>Math.random().toString().slice(2,7),[]);return LB.useEffect(()=>(n(h,{autoFocus:e}),()=>{u(h)}),[h,e]),LB.useEffect(()=>{t?A(h):p(h)},[t,h]),LB.useEffect(()=>{if(!(!r||!t))return o(!0),()=>{o(!1)}},[t]),{isFocused:Boolean(h)&&a===h}};OB.default=Fwt});var qwe=_(MB=>{"use strict";var Rwt=MB&&MB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(MB,"__esModule",{value:!0});var Twt=on(),Nwt=Rwt(iQ()),Lwt=()=>{let t=Twt.useContext(Nwt.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious}};MB.default=Lwt});var jwe=_(wq=>{"use strict";Object.defineProperty(wq,"__esModule",{value:!0});wq.default=t=>{var e,r,o,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(o=t.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&a!==void 0?a:0}}});var ic=_(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});var Owt=Dwe();Object.defineProperty(ro,"render",{enumerable:!0,get:function(){return Owt.default}});var Mwt=sQ();Object.defineProperty(ro,"Box",{enumerable:!0,get:function(){return Mwt.default}});var Uwt=yq();Object.defineProperty(ro,"Text",{enumerable:!0,get:function(){return Uwt.default}});var _wt=Pwe();Object.defineProperty(ro,"Static",{enumerable:!0,get:function(){return _wt.default}});var Hwt=xwe();Object.defineProperty(ro,"Transform",{enumerable:!0,get:function(){return Hwt.default}});var qwt=Qwe();Object.defineProperty(ro,"Newline",{enumerable:!0,get:function(){return qwt.default}});var jwt=Twe();Object.defineProperty(ro,"Spacer",{enumerable:!0,get:function(){return jwt.default}});var Gwt=Lwe();Object.defineProperty(ro,"useInput",{enumerable:!0,get:function(){return Gwt.default}});var Ywt=Owe();Object.defineProperty(ro,"useApp",{enumerable:!0,get:function(){return Ywt.default}});var Wwt=lQ();Object.defineProperty(ro,"useStdin",{enumerable:!0,get:function(){return Wwt.default}});var Kwt=Mwe();Object.defineProperty(ro,"useStdout",{enumerable:!0,get:function(){return Kwt.default}});var Vwt=Uwe();Object.defineProperty(ro,"useStderr",{enumerable:!0,get:function(){return Vwt.default}});var Jwt=Hwe();Object.defineProperty(ro,"useFocus",{enumerable:!0,get:function(){return Jwt.default}});var zwt=qwe();Object.defineProperty(ro,"useFocusManager",{enumerable:!0,get:function(){return zwt.default}});var Xwt=jwe();Object.defineProperty(ro,"measureElement",{enumerable:!0,get:function(){return Xwt.default}})});var Bq={};Vt(Bq,{Gem:()=>Iq});var Gwe,Am,Iq,cQ=Et(()=>{Gwe=$e(ic()),Am=$e(on()),Iq=(0,Am.memo)(({active:t})=>{let e=(0,Am.useMemo)(()=>t?"\u25C9":"\u25EF",[t]),r=(0,Am.useMemo)(()=>t?"green":"yellow",[t]);return Am.default.createElement(Gwe.Text,{color:r},e)})});var Wwe={};Vt(Wwe,{useKeypress:()=>fm});function fm({active:t},e,r){let{stdin:o}=(0,Ywe.useStdin)(),a=(0,uQ.useCallback)((n,u)=>e(n,u),r);(0,uQ.useEffect)(()=>{if(!(!t||!o))return o.on("keypress",a),()=>{o.off("keypress",a)}},[t,a,o])}var Ywe,uQ,UB=Et(()=>{Ywe=$e(ic()),uQ=$e(on())});var Vwe={};Vt(Vwe,{FocusRequest:()=>Kwe,useFocusRequest:()=>vq});var Kwe,vq,Dq=Et(()=>{UB();Kwe=(r=>(r.BEFORE="before",r.AFTER="after",r))(Kwe||{}),vq=function({active:t},e,r){fm({active:t},(o,a)=>{a.name==="tab"&&(a.shift?e("before"):e("after"))},r)}});var Jwe={};Vt(Jwe,{useListInput:()=>_B});var _B,AQ=Et(()=>{UB();_B=function(t,e,{active:r,minus:o,plus:a,set:n,loop:u=!0}){fm({active:r},(A,p)=>{let h=e.indexOf(t);switch(p.name){case o:{let E=h-1;if(u){n(e[(e.length+E)%e.length]);return}if(E<0)return;n(e[E])}break;case a:{let E=h+1;if(u){n(e[E%e.length]);return}if(E>=e.length)return;n(e[E])}break}},[e,t,a,n,u])}});var fQ={};Vt(fQ,{ScrollableItems:()=>Zwt});var C0,La,Zwt,pQ=Et(()=>{C0=$e(ic()),La=$e(on());Dq();AQ();Zwt=({active:t=!0,children:e=[],radius:r=10,size:o=1,loop:a=!0,onFocusRequest:n,willReachEnd:u})=>{let A=L=>{if(L.key===null)throw new Error("Expected all children to have a key");return L.key},p=La.default.Children.map(e,L=>A(L)),h=p[0],[E,I]=(0,La.useState)(h),v=p.indexOf(E);(0,La.useEffect)(()=>{p.includes(E)||I(h)},[e]),(0,La.useEffect)(()=>{u&&v>=p.length-2&&u()},[v]),vq({active:t&&!!n},L=>{n?.(L)},[n]),_B(E,p,{active:t,minus:"up",plus:"down",set:I,loop:a});let x=v-r,C=v+r;C>p.length&&(x-=C-p.length,C=p.length),x<0&&(C+=-x,x=0),C>=p.length&&(C=p.length-1);let R=[];for(let L=x;L<=C;++L){let U=p[L],J=t&&U===E;R.push(La.default.createElement(C0.Box,{key:U,height:o},La.default.createElement(C0.Box,{marginLeft:1,marginRight:1},La.default.createElement(C0.Text,null,J?La.default.createElement(C0.Text,{color:"cyan",bold:!0},">"):" ")),La.default.createElement(C0.Box,null,La.default.cloneElement(e[L],{active:J}))))}return La.default.createElement(C0.Box,{flexDirection:"column",width:"100%"},R)}});var zwe,ep,Xwe,Sq,Zwe,Pq=Et(()=>{zwe=$e(ic()),ep=$e(on()),Xwe=ve("readline"),Sq=ep.default.createContext(null),Zwe=({children:t})=>{let{stdin:e,setRawMode:r}=(0,zwe.useStdin)();(0,ep.useEffect)(()=>{r&&r(!0),e&&(0,Xwe.emitKeypressEvents)(e)},[e,r]);let[o,a]=(0,ep.useState)(new Map),n=(0,ep.useMemo)(()=>({getAll:()=>o,get:u=>o.get(u),set:(u,A)=>a(new Map([...o,[u,A]]))}),[o,a]);return ep.default.createElement(Sq.Provider,{value:n,children:t})}});var bq={};Vt(bq,{useMinistore:()=>$wt});function $wt(t,e){let r=(0,hQ.useContext)(Sq);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof t>"u")return r.getAll();let o=(0,hQ.useCallback)(n=>{r.set(t,n)},[t,r.set]),a=r.get(t);return typeof a>"u"&&(a=e),[a,o]}var hQ,xq=Et(()=>{hQ=$e(on());Pq()});var dQ={};Vt(dQ,{renderForm:()=>eIt});async function eIt(t,e,{stdin:r,stdout:o,stderr:a}){let n,u=p=>{let{exit:h}=(0,gQ.useApp)();fm({active:!0},(E,I)=>{I.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:A}=(0,gQ.render)(kq.default.createElement(Zwe,null,kq.default.createElement(t,{...e,useSubmit:u})),{stdin:r,stdout:o,stderr:a});return await A(),n}var gQ,kq,mQ=Et(()=>{gQ=$e(ic()),kq=$e(on());Pq();UB()});var rIe=_(HB=>{"use strict";Object.defineProperty(HB,"__esModule",{value:!0});HB.UncontrolledTextInput=void 0;var eIe=on(),Qq=on(),$we=ic(),pm=rQ(),tIe=({value:t,placeholder:e="",focus:r=!0,mask:o,highlightPastedText:a=!1,showCursor:n=!0,onChange:u,onSubmit:A})=>{let[{cursorOffset:p,cursorWidth:h},E]=Qq.useState({cursorOffset:(t||"").length,cursorWidth:0});Qq.useEffect(()=>{E(R=>{if(!r||!n)return R;let L=t||"";return R.cursorOffset>L.length-1?{cursorOffset:L.length,cursorWidth:0}:R})},[t,r,n]);let I=a?h:0,v=o?o.repeat(t.length):t,x=v,C=e?pm.grey(e):void 0;if(n&&r){C=e.length>0?pm.inverse(e[0])+pm.grey(e.slice(1)):pm.inverse(" "),x=v.length>0?"":pm.inverse(" ");let R=0;for(let L of v)R>=p-I&&R<=p?x+=pm.inverse(L):x+=L,R++;v.length>0&&p===v.length&&(x+=pm.inverse(" "))}return $we.useInput((R,L)=>{if(L.upArrow||L.downArrow||L.ctrl&&R==="c"||L.tab||L.shift&&L.tab)return;if(L.return){A&&A(t);return}let U=p,J=t,te=0;L.leftArrow?n&&U--:L.rightArrow?n&&U++:L.backspace||L.delete?p>0&&(J=t.slice(0,p-1)+t.slice(p,t.length),U--):(J=t.slice(0,p)+R+t.slice(p,t.length),U+=R.length,R.length>1&&(te=R.length)),p<0&&(U=0),p>t.length&&(U=t.length),E({cursorOffset:U,cursorWidth:te}),J!==t&&u(J)},{isActive:r}),eIe.createElement($we.Text,null,e?v.length>0?x:C:x)};HB.default=tIe;HB.UncontrolledTextInput=t=>{let[e,r]=Qq.useState("");return eIe.createElement(tIe,Object.assign({},t,{value:e,onChange:r}))}});var sIe={};Vt(sIe,{Pad:()=>Fq});var nIe,iIe,Fq,Rq=Et(()=>{nIe=$e(ic()),iIe=$e(on()),Fq=({length:t,active:e})=>{if(t===0)return null;let r=t>1?` ${"-".repeat(t-1)}`:" ";return iIe.default.createElement(nIe.Text,{dimColor:!e},r)}});var oIe={};Vt(oIe,{ItemOptions:()=>tIt});var jB,I0,tIt,aIe=Et(()=>{jB=$e(ic()),I0=$e(on());AQ();cQ();Rq();tIt=function({active:t,skewer:e,options:r,value:o,onChange:a,sizes:n=[]}){let u=r.filter(({label:p})=>!!p).map(({value:p})=>p),A=r.findIndex(p=>p.value===o&&p.label!="");return _B(o,u,{active:t,minus:"left",plus:"right",set:a}),I0.default.createElement(I0.default.Fragment,null,r.map(({label:p},h)=>{let E=h===A,I=n[h]-1||0,v=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),x=Math.max(0,I-v.length-2);return p?I0.default.createElement(jB.Box,{key:p,width:I,marginLeft:1},I0.default.createElement(jB.Text,{wrap:"truncate"},I0.default.createElement(Iq,{active:E})," ",p),e?I0.default.createElement(Fq,{active:t,length:x}):null):I0.default.createElement(jB.Box,{key:`spacer-${h}`,width:I,marginLeft:1})}))}});var BIe=_((zJt,IIe)=>{var qq;IIe.exports=()=>(typeof qq>"u"&&(qq=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),qq)});var GIe=_((wzt,jIe)=>{var Xq=Symbol("arg flag"),Oa=class extends Error{constructor(e,r){super(e),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,Oa.prototype)}};function sv(t,{argv:e=process.argv.slice(2),permissive:r=!1,stopAtPositional:o=!1}={}){if(!t)throw new Oa("argument specification object is required","ARG_CONFIG_NO_SPEC");let a={_:[]},n={},u={};for(let A of Object.keys(t)){if(!A)throw new Oa("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(A[0]!=="-")throw new Oa(`argument key must start with '-' but found: '${A}'`,"ARG_CONFIG_NONOPT_KEY");if(A.length===1)throw new Oa(`argument key must have a name; singular '-' keys are not allowed: ${A}`,"ARG_CONFIG_NONAME_KEY");if(typeof t[A]=="string"){n[A]=t[A];continue}let p=t[A],h=!1;if(Array.isArray(p)&&p.length===1&&typeof p[0]=="function"){let[E]=p;p=(I,v,x=[])=>(x.push(E(I,v,x[x.length-1])),x),h=E===Boolean||E[Xq]===!0}else if(typeof p=="function")h=p===Boolean||p[Xq]===!0;else throw new Oa(`type missing or not a function or valid array type: ${A}`,"ARG_CONFIG_VAD_TYPE");if(A[1]!=="-"&&A.length>2)throw new Oa(`short argument keys (with a single hyphen) must have only one character: ${A}`,"ARG_CONFIG_SHORTOPT_TOOLONG");u[A]=[p,h]}for(let A=0,p=e.length;A0){a._=a._.concat(e.slice(A));break}if(h==="--"){a._=a._.concat(e.slice(A+1));break}if(h.length>1&&h[0]==="-"){let E=h[1]==="-"||h.length===2?[h]:h.slice(1).split("").map(I=>`-${I}`);for(let I=0;I1&&e[A+1][0]==="-"&&!(e[A+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(L===Number||typeof BigInt<"u"&&L===BigInt))){let J=x===R?"":` (alias for ${R})`;throw new Oa(`option requires argument: ${x}${J}`,"ARG_MISSING_REQUIRED_LONGARG")}a[R]=L(e[A+1],R,a[R]),++A}else a[R]=L(C,R,a[R])}}else a._.push(h)}return a}sv.flag=t=>(t[Xq]=!0,t);sv.COUNT=sv.flag((t,e,r)=>(r||0)+1);sv.ArgError=Oa;jIe.exports=sv});var ZIe=_((Jzt,XIe)=>{var tj;XIe.exports=()=>(typeof tj>"u"&&(tj=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),tj)});var n1e=_((aj,lj)=>{(function(t){aj&&typeof aj=="object"&&typeof lj<"u"?lj.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window<"u"?window.isWindows=t():typeof global<"u"?global.isWindows=t():typeof self<"u"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var a1e=_((KXt,o1e)=>{"use strict";cj.ifExists=ZIt;var YC=ve("util"),sc=ve("path"),i1e=n1e(),JIt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,zIt={createPwshFile:!0,createCmdFile:i1e(),fs:ve("fs")},XIt=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function s1e(t){let e={...zIt,...t},r=e.fs;return e.fs_={chmod:r.chmod?YC.promisify(r.chmod):async()=>{},mkdir:YC.promisify(r.mkdir),readFile:YC.promisify(r.readFile),stat:YC.promisify(r.stat),unlink:YC.promisify(r.unlink),writeFile:YC.promisify(r.writeFile)},e}async function cj(t,e,r){let o=s1e(r);await o.fs_.stat(t),await e1t(t,e,o)}function ZIt(t,e,r){return cj(t,e,r).catch(()=>{})}function $It(t,e){return e.fs_.unlink(t).catch(()=>{})}async function e1t(t,e,r){let o=await s1t(t,r);return await t1t(e,r),r1t(t,e,o,r)}function t1t(t,e){return e.fs_.mkdir(sc.dirname(t),{recursive:!0})}function r1t(t,e,r,o){let a=s1e(o),n=[{generator:l1t,extension:""}];return a.createCmdFile&&n.push({generator:a1t,extension:".cmd"}),a.createPwshFile&&n.push({generator:c1t,extension:".ps1"}),Promise.all(n.map(u=>o1t(t,e+u.extension,r,u.generator,a)))}function n1t(t,e){return $It(t,e)}function i1t(t,e){return u1t(t,e)}async function s1t(t,e){let a=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(JIt);if(!a){let n=sc.extname(t).toLowerCase();return{program:XIt.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function o1t(t,e,r,o,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",u=[r.additionalArgs,n].filter(A=>A).join(" ");return a=Object.assign({},a,{prog:r.program,args:u}),await n1t(e,a),await a.fs_.writeFile(e,o(t,e,a),"utf8"),i1t(e,a)}function a1t(t,e,r){let a=sc.relative(sc.dirname(e),t).split("/").join("\\"),n=sc.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,u,A=r.prog,p=r.args||"",h=uj(r.nodePath).win32;A?(u=`"%~dp0\\${A}.exe"`,a=n):(A=n,p="",a="");let E=r.progArgs?`${r.progArgs.join(" ")} `:"",I=h?`@SET NODE_PATH=${h}\r +`:"";return u?I+=`@IF EXIST ${u} (\r + ${u} ${p} ${a} ${E}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${A} ${p} ${a} ${E}%*\r +)\r +`:I+=`@${A} ${p} ${a} ${E}%*\r +`,I}function l1t(t,e,r){let o=sc.relative(sc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;o=o.split("\\").join("/");let u=sc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,A=r.args||"",p=uj(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,o=u):(a=u,A="",o="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",E=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,I=r.nodePath?`export NODE_PATH="${p}" +`:"";return n?E+=`${I}if [ -x ${n} ]; then + exec ${n} ${A} ${o} ${h}"$@" +else + exec ${a} ${A} ${o} ${h}"$@" +fi +`:E+=`${I}${a} ${A} ${o} ${h}"$@" +exit $? +`,E}function c1t(t,e,r){let o=sc.relative(sc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,u;o=o.split("\\").join("/");let A=sc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,p=r.args||"",h=uj(r.nodePath),E=h.win32,I=h.posix;n?(u=`"$basedir/${r.prog}$exe"`,o=A):(n=A,p="",o="");let v=r.progArgs?`${r.progArgs.join(" ")} `:"",x=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${E}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(x+=` else { + $env:NODE_PATH="${I}" +}`),u?x+=` +$ret=0 +if (Test-Path ${u}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${u} ${p} ${o} ${v}$args + } else { + & ${u} ${p} ${o} ${v}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${o} ${v}$args + } else { + & ${n} ${p} ${o} ${v}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:x+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${o} ${v}$args +} else { + & ${n} ${p} ${o} ${v}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,x}function u1t(t,e){return e.fs_.chmod(t,493)}function uj(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(sc.delimiter):Array.from(t),r={};for(let o=0;o`/mnt/${A.toLowerCase()}`):e[o];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[o]={win32:a,posix:n}}return r}o1e.exports=cj});var vj=_((h$t,b1e)=>{b1e.exports=ve("stream")});var F1e=_((g$t,Q1e)=>{"use strict";function x1e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function O1t(t){for(var e=1;e0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:"unshift",value:function(r){var o={data:r,next:this.head};this.length===0&&(this.tail=o),this.head=o,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var o=this.head,a=""+o.data;o=o.next;)a+=r+o.data;return a}},{key:"concat",value:function(r){if(this.length===0)return xQ.alloc(0);for(var o=xQ.allocUnsafe(r>>>0),a=this.head,n=0;a;)G1t(a.data,o,n),n+=a.data.length,a=a.next;return o}},{key:"consume",value:function(r,o){var a;return ru.length?u.length:r;if(A===u.length?n+=u:n+=u.slice(0,r),r-=A,r===0){A===u.length?(++a,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(A));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var o=xQ.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(o),r-=a.data.length;a=a.next;){var u=a.data,A=r>u.length?u.length:r;if(u.copy(o,o.length-r,0,A),r-=A,r===0){A===u.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=u.slice(A));break}++n}return this.length-=n,o}},{key:j1t,value:function(r,o){return Dj(this,O1t({},o,{depth:0,customInspect:!1}))}}]),t}()});var Pj=_((d$t,T1e)=>{"use strict";function Y1t(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(Sj,this,t)):process.nextTick(Sj,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(kQ,r):(r._writableState.errorEmitted=!0,process.nextTick(R1e,r,n)):process.nextTick(R1e,r,n):e?(process.nextTick(kQ,r),e(n)):process.nextTick(kQ,r)}),this)}function R1e(t,e){Sj(t,e),kQ(t)}function kQ(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function W1t(){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 Sj(t,e){t.emit("error",e)}function K1t(t,e){var r=t._readableState,o=t._writableState;r&&r.autoDestroy||o&&o.autoDestroy?t.destroy(e):t.emit("error",e)}T1e.exports={destroy:Y1t,undestroy:W1t,errorOrDestroy:K1t}});var Q0=_((m$t,O1e)=>{"use strict";var L1e={};function ac(t,e,r){r||(r=Error);function o(n,u,A){return typeof e=="string"?e:e(n,u,A)}class a extends r{constructor(u,A,p){super(o(u,A,p))}}a.prototype.name=r.name,a.prototype.code=t,L1e[t]=a}function N1e(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(o=>String(o)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function V1t(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function J1t(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function z1t(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}ac("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);ac("ERR_INVALID_ARG_TYPE",function(t,e,r){let o;typeof e=="string"&&V1t(e,"not ")?(o="must not be",e=e.replace(/^not /,"")):o="must be";let a;if(J1t(t," argument"))a=`The ${t} ${o} ${N1e(e,"type")}`;else{let n=z1t(t,".")?"property":"argument";a=`The "${t}" ${n} ${o} ${N1e(e,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);ac("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");ac("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});ac("ERR_STREAM_PREMATURE_CLOSE","Premature close");ac("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});ac("ERR_MULTIPLE_CALLBACK","Callback called multiple times");ac("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");ac("ERR_STREAM_WRITE_AFTER_END","write after end");ac("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);ac("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);ac("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");O1e.exports.codes=L1e});var bj=_((y$t,M1e)=>{"use strict";var X1t=Q0().codes.ERR_INVALID_OPT_VALUE;function Z1t(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function $1t(t,e,r,o){var a=Z1t(e,o,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=o?r:"highWaterMark";throw new X1t(n,a)}return Math.floor(a)}return t.objectMode?16:16*1024}M1e.exports={getHighWaterMark:$1t}});var U1e=_((E$t,xj)=>{typeof Object.create=="function"?xj.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:xj.exports=function(e,r){if(r){e.super_=r;var o=function(){};o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e}}});var F0=_((C$t,Qj)=>{try{if(kj=ve("util"),typeof kj.inherits!="function")throw"";Qj.exports=kj.inherits}catch{Qj.exports=U1e()}var kj});var H1e=_((w$t,_1e)=>{_1e.exports=ve("util").deprecate});var Tj=_((I$t,K1e)=>{"use strict";K1e.exports=Ri;function j1e(t){var e=this;this.next=null,this.entry=null,this.finish=function(){S2t(e,t)}}var zC;Ri.WritableState=mv;var e2t={deprecate:H1e()},G1e=vj(),FQ=ve("buffer").Buffer,t2t=global.Uint8Array||function(){};function r2t(t){return FQ.from(t)}function n2t(t){return FQ.isBuffer(t)||t instanceof t2t}var Rj=Pj(),i2t=bj(),s2t=i2t.getHighWaterMark,R0=Q0().codes,o2t=R0.ERR_INVALID_ARG_TYPE,a2t=R0.ERR_METHOD_NOT_IMPLEMENTED,l2t=R0.ERR_MULTIPLE_CALLBACK,c2t=R0.ERR_STREAM_CANNOT_PIPE,u2t=R0.ERR_STREAM_DESTROYED,A2t=R0.ERR_STREAM_NULL_VALUES,f2t=R0.ERR_STREAM_WRITE_AFTER_END,p2t=R0.ERR_UNKNOWN_ENCODING,XC=Rj.errorOrDestroy;F0()(Ri,G1e);function h2t(){}function mv(t,e,r){zC=zC||Cm(),t=t||{},typeof r!="boolean"&&(r=e instanceof zC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=s2t(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=t.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){w2t(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new j1e(this)}mv.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(mv.prototype,"buffer",{get:e2t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var QQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(QQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Ri,Symbol.hasInstance,{value:function(e){return QQ.call(this,e)?!0:this!==Ri?!1:e&&e._writableState instanceof mv}})):QQ=function(e){return e instanceof this};function Ri(t){zC=zC||Cm();var e=this instanceof zC;if(!e&&!QQ.call(Ri,this))return new Ri(t);this._writableState=new mv(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),G1e.call(this)}Ri.prototype.pipe=function(){XC(this,new c2t)};function g2t(t,e){var r=new f2t;XC(t,r),process.nextTick(e,r)}function d2t(t,e,r,o){var a;return r===null?a=new A2t:typeof r!="string"&&!e.objectMode&&(a=new o2t("chunk",["string","Buffer"],r)),a?(XC(t,a),process.nextTick(o,a),!1):!0}Ri.prototype.write=function(t,e,r){var o=this._writableState,a=!1,n=!o.objectMode&&n2t(t);return n&&!FQ.isBuffer(t)&&(t=r2t(t)),typeof e=="function"&&(r=e,e=null),n?e="buffer":e||(e=o.defaultEncoding),typeof r!="function"&&(r=h2t),o.ending?g2t(this,r):(n||d2t(this,o,t,r))&&(o.pendingcb++,a=y2t(this,o,n,t,e,r)),a};Ri.prototype.cork=function(){this._writableState.corked++};Ri.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Y1e(this,t))};Ri.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 p2t(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Ri.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function m2t(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=FQ.from(e,r)),e}Object.defineProperty(Ri.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function y2t(t,e,r,o,a,n){if(!r){var u=m2t(e,o,a);o!==u&&(r=!0,a="buffer",o=u)}var A=e.objectMode?1:o.length;e.length+=A;var p=e.length{"use strict";var P2t=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};J1e.exports=EA;var V1e=Oj(),Lj=Tj();F0()(EA,V1e);for(Nj=P2t(Lj.prototype),RQ=0;RQ{var NQ=ve("buffer"),ip=NQ.Buffer;function z1e(t,e){for(var r in t)e[r]=t[r]}ip.from&&ip.alloc&&ip.allocUnsafe&&ip.allocUnsafeSlow?X1e.exports=NQ:(z1e(NQ,Mj),Mj.Buffer=ZC);function ZC(t,e,r){return ip(t,e,r)}z1e(ip,ZC);ZC.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return ip(t,e,r)};ZC.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var o=ip(t);return e!==void 0?typeof r=="string"?o.fill(e,r):o.fill(e):o.fill(0),o};ZC.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return ip(t)};ZC.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return NQ.SlowBuffer(t)}});var Hj=_(e2e=>{"use strict";var _j=Z1e().Buffer,$1e=_j.isEncoding||function(t){switch(t=""+t,t&&t.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 k2t(t){if(!t)return"utf8";for(var e;;)switch(t){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 t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function Q2t(t){var e=k2t(t);if(typeof e!="string"&&(_j.isEncoding===$1e||!$1e(t)))throw new Error("Unknown encoding: "+t);return e||t}e2e.StringDecoder=yv;function yv(t){this.encoding=Q2t(t);var e;switch(this.encoding){case"utf16le":this.text=O2t,this.end=M2t,e=4;break;case"utf8":this.fillLast=T2t,e=4;break;case"base64":this.text=U2t,this.end=_2t,e=3;break;default:this.write=H2t,this.end=q2t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=_j.allocUnsafe(e)}yv.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function F2t(t,e,r){var o=e.length-1;if(o=0?(a>0&&(t.lastNeed=a-1),a):--o=0?(a>0&&(t.lastNeed=a-2),a):--o=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function R2t(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}function T2t(t){var e=this.lastTotal-this.lastNeed,r=R2t(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function N2t(t,e){var r=F2t(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var o=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,o),t.toString("utf8",e,o)}function L2t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function O2t(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var o=r.charCodeAt(r.length-1);if(o>=55296&&o<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function M2t(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function U2t(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function _2t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function H2t(t){return t.toString(this.encoding)}function q2t(t){return t&&t.length?this.write(t):""}});var LQ=_((D$t,n2e)=>{"use strict";var t2e=Q0().codes.ERR_STREAM_PREMATURE_CLOSE;function j2t(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,o=new Array(r),a=0;a{"use strict";var OQ;function T0(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var W2t=LQ(),N0=Symbol("lastResolve"),wm=Symbol("lastReject"),Ev=Symbol("error"),MQ=Symbol("ended"),Im=Symbol("lastPromise"),qj=Symbol("handlePromise"),Bm=Symbol("stream");function L0(t,e){return{value:t,done:e}}function K2t(t){var e=t[N0];if(e!==null){var r=t[Bm].read();r!==null&&(t[Im]=null,t[N0]=null,t[wm]=null,e(L0(r,!1)))}}function V2t(t){process.nextTick(K2t,t)}function J2t(t,e){return function(r,o){t.then(function(){if(e[MQ]){r(L0(void 0,!0));return}e[qj](r,o)},o)}}var z2t=Object.getPrototypeOf(function(){}),X2t=Object.setPrototypeOf((OQ={get stream(){return this[Bm]},next:function(){var e=this,r=this[Ev];if(r!==null)return Promise.reject(r);if(this[MQ])return Promise.resolve(L0(void 0,!0));if(this[Bm].destroyed)return new Promise(function(u,A){process.nextTick(function(){e[Ev]?A(e[Ev]):u(L0(void 0,!0))})});var o=this[Im],a;if(o)a=new Promise(J2t(o,this));else{var n=this[Bm].read();if(n!==null)return Promise.resolve(L0(n,!1));a=new Promise(this[qj])}return this[Im]=a,a}},T0(OQ,Symbol.asyncIterator,function(){return this}),T0(OQ,"return",function(){var e=this;return new Promise(function(r,o){e[Bm].destroy(null,function(a){if(a){o(a);return}r(L0(void 0,!0))})})}),OQ),z2t),Z2t=function(e){var r,o=Object.create(X2t,(r={},T0(r,Bm,{value:e,writable:!0}),T0(r,N0,{value:null,writable:!0}),T0(r,wm,{value:null,writable:!0}),T0(r,Ev,{value:null,writable:!0}),T0(r,MQ,{value:e._readableState.endEmitted,writable:!0}),T0(r,qj,{value:function(n,u){var A=o[Bm].read();A?(o[Im]=null,o[N0]=null,o[wm]=null,n(L0(A,!1))):(o[N0]=n,o[wm]=u)},writable:!0}),r));return o[Im]=null,W2t(e,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=o[wm];n!==null&&(o[Im]=null,o[N0]=null,o[wm]=null,n(a)),o[Ev]=a;return}var u=o[N0];u!==null&&(o[Im]=null,o[N0]=null,o[wm]=null,u(L0(void 0,!0))),o[MQ]=!0}),e.on("readable",V2t.bind(null,o)),o};i2e.exports=Z2t});var c2e=_((P$t,l2e)=>{"use strict";function o2e(t,e,r,o,a,n,u){try{var A=t[n](u),p=A.value}catch(h){r(h);return}A.done?e(p):Promise.resolve(p).then(o,a)}function $2t(t){return function(){var e=this,r=arguments;return new Promise(function(o,a){var n=t.apply(e,r);function u(p){o2e(n,o,a,u,A,"next",p)}function A(p){o2e(n,o,a,u,A,"throw",p)}u(void 0)})}}function a2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function eBt(t){for(var e=1;e{"use strict";E2e.exports=mn;var $C;mn.ReadableState=p2e;var b$t=ve("events").EventEmitter,f2e=function(e,r){return e.listeners(r).length},wv=vj(),UQ=ve("buffer").Buffer,iBt=global.Uint8Array||function(){};function sBt(t){return UQ.from(t)}function oBt(t){return UQ.isBuffer(t)||t instanceof iBt}var jj=ve("util"),en;jj&&jj.debuglog?en=jj.debuglog("stream"):en=function(){};var aBt=F1e(),zj=Pj(),lBt=bj(),cBt=lBt.getHighWaterMark,_Q=Q0().codes,uBt=_Q.ERR_INVALID_ARG_TYPE,ABt=_Q.ERR_STREAM_PUSH_AFTER_EOF,fBt=_Q.ERR_METHOD_NOT_IMPLEMENTED,pBt=_Q.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ew,Gj,Yj;F0()(mn,wv);var Cv=zj.errorOrDestroy,Wj=["error","close","destroy","pause","resume"];function hBt(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function p2e(t,e,r){$C=$C||Cm(),t=t||{},typeof r!="boolean"&&(r=e instanceof $C),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=cBt(this,t,"readableHighWaterMark",r),this.buffer=new aBt,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=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(ew||(ew=Hj().StringDecoder),this.decoder=new ew(t.encoding),this.encoding=t.encoding)}function mn(t){if($C=$C||Cm(),!(this instanceof mn))return new mn(t);var e=this instanceof $C;this._readableState=new p2e(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),wv.call(this)}Object.defineProperty(mn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});mn.prototype.destroy=zj.destroy;mn.prototype._undestroy=zj.undestroy;mn.prototype._destroy=function(t,e){e(t)};mn.prototype.push=function(t,e){var r=this._readableState,o;return r.objectMode?o=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=UQ.from(t,e),e=""),o=!0),h2e(this,t,e,!1,o)};mn.prototype.unshift=function(t){return h2e(this,t,null,!0,!1)};function h2e(t,e,r,o,a){en("readableAddChunk",e);var n=t._readableState;if(e===null)n.reading=!1,mBt(t,n);else{var u;if(a||(u=gBt(n,e)),u)Cv(t,u);else if(n.objectMode||e&&e.length>0)if(typeof e!="string"&&!n.objectMode&&Object.getPrototypeOf(e)!==UQ.prototype&&(e=sBt(e)),o)n.endEmitted?Cv(t,new pBt):Kj(t,n,e,!0);else if(n.ended)Cv(t,new ABt);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(e=n.decoder.write(e),n.objectMode||e.length!==0?Kj(t,n,e,!1):Jj(t,n)):Kj(t,n,e,!1)}else o||(n.reading=!1,Jj(t,n))}return!n.ended&&(n.length=u2e?t=u2e:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function A2e(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=dBt(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}mn.prototype.read=function(t){en("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return en("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?Vj(this):HQ(this),null;if(t=A2e(t,e),t===0&&e.ended)return e.length===0&&Vj(this),null;var o=e.needReadable;en("need readable",o),(e.length===0||e.length-t0?a=m2e(t,e):a=null,a===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Vj(this)),a!==null&&this.emit("data",a),a};function mBt(t,e){if(en("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?HQ(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,g2e(t)))}}function HQ(t){var e=t._readableState;en("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(en("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(g2e,t))}function g2e(t){var e=t._readableState;en("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,Xj(t)}function Jj(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(yBt,t,e))}function yBt(t,e){for(;!e.reading&&!e.ended&&(e.length1&&y2e(o.pipes,t)!==-1)&&!h&&(en("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function v(L){en("onerror",L),R(),t.removeListener("error",v),f2e(t,"error")===0&&Cv(t,L)}hBt(t,"error",v);function x(){t.removeListener("finish",C),R()}t.once("close",x);function C(){en("onfinish"),t.removeListener("close",x),R()}t.once("finish",C);function R(){en("unpipe"),r.unpipe(t)}return t.emit("pipe",r),o.flowing||(en("pipe resume"),r.resume()),t};function EBt(t){return function(){var r=t._readableState;en("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&f2e(t,"data")&&(r.flowing=!0,Xj(t))}}mn.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var o=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var n=0;n0,o.flowing!==!1&&this.resume()):t==="readable"&&!o.endEmitted&&!o.readableListening&&(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,en("on readable",o.length,o.reading),o.length?HQ(this):o.reading||process.nextTick(CBt,this)),r};mn.prototype.addListener=mn.prototype.on;mn.prototype.removeListener=function(t,e){var r=wv.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(d2e,this),r};mn.prototype.removeAllListeners=function(t){var e=wv.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(d2e,this),e};function d2e(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function CBt(t){en("readable nexttick read 0"),t.read(0)}mn.prototype.resume=function(){var t=this._readableState;return t.flowing||(en("resume"),t.flowing=!t.readableListening,wBt(this,t)),t.paused=!1,this};function wBt(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(IBt,t,e))}function IBt(t,e){en("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),Xj(t),e.flowing&&!e.reading&&t.read(0)}mn.prototype.pause=function(){return en("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(en("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Xj(t){var e=t._readableState;for(en("flow",e.flowing);e.flowing&&t.read()!==null;);}mn.prototype.wrap=function(t){var e=this,r=this._readableState,o=!1;t.on("end",function(){if(en("wrapped end"),r.decoder&&!r.ended){var u=r.decoder.end();u&&u.length&&e.push(u)}e.push(null)}),t.on("data",function(u){if(en("wrapped data"),r.decoder&&(u=r.decoder.write(u)),!(r.objectMode&&u==null)&&!(!r.objectMode&&(!u||!u.length))){var A=e.push(u);A||(o=!0,t.pause())}});for(var a in t)this[a]===void 0&&typeof t[a]=="function"&&(this[a]=function(A){return function(){return t[A].apply(t,arguments)}}(a));for(var n=0;n=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function Vj(t){var e=t._readableState;en("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(BBt,e,t))}function BBt(t,e){if(en("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(mn.from=function(t,e){return Yj===void 0&&(Yj=c2e()),Yj(mn,t,e)});function y2e(t,e){for(var r=0,o=t.length;r{"use strict";w2e.exports=sp;var qQ=Q0().codes,vBt=qQ.ERR_METHOD_NOT_IMPLEMENTED,DBt=qQ.ERR_MULTIPLE_CALLBACK,SBt=qQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,PBt=qQ.ERR_TRANSFORM_WITH_LENGTH_0,jQ=Cm();F0()(sp,jQ);function bBt(t,e){var r=this._transformState;r.transforming=!1;var o=r.writecb;if(o===null)return this.emit("error",new DBt);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),o(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length{"use strict";B2e.exports=Iv;var I2e=Zj();F0()(Iv,I2e);function Iv(t){if(!(this instanceof Iv))return new Iv(t);I2e.call(this,t)}Iv.prototype._transform=function(t,e,r){r(null,t)}});var x2e=_((F$t,b2e)=>{"use strict";var $j;function kBt(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var P2e=Q0().codes,QBt=P2e.ERR_MISSING_ARGS,FBt=P2e.ERR_STREAM_DESTROYED;function D2e(t){if(t)throw t}function RBt(t){return t.setHeader&&typeof t.abort=="function"}function TBt(t,e,r,o){o=kBt(o);var a=!1;t.on("close",function(){a=!0}),$j===void 0&&($j=LQ()),$j(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,RBt(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();o(u||new FBt("pipe"))}}}function S2e(t){t()}function NBt(t,e){return t.pipe(e)}function LBt(t){return!t.length||typeof t[t.length-1]!="function"?D2e:t.pop()}function OBt(){for(var t=arguments.length,e=new Array(t),r=0;r0;return TBt(u,p,h,function(E){a||(a=E),E&&n.forEach(S2e),!p&&(n.forEach(S2e),o(a))})});return e.reduce(NBt)}b2e.exports=OBt});var tw=_((lc,vv)=>{var Bv=ve("stream");process.env.READABLE_STREAM==="disable"&&Bv?(vv.exports=Bv.Readable,Object.assign(vv.exports,Bv),vv.exports.Stream=Bv):(lc=vv.exports=Oj(),lc.Stream=Bv||lc,lc.Readable=lc,lc.Writable=Tj(),lc.Duplex=Cm(),lc.Transform=Zj(),lc.PassThrough=v2e(),lc.finished=LQ(),lc.pipeline=x2e())});var F2e=_((R$t,Q2e)=>{"use strict";var{Buffer:lu}=ve("buffer"),k2e=Symbol.for("BufferList");function ni(t){if(!(this instanceof ni))return new ni(t);ni._init.call(this,t)}ni._init=function(e){Object.defineProperty(this,k2e,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};ni.prototype._new=function(e){return new ni(e)};ni.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let o=0;othis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};ni.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};ni.prototype.copy=function(e,r,o,a){if((typeof o!="number"||o<0)&&(o=0),(typeof a!="number"||a>this.length)&&(a=this.length),o>=this.length||a<=0)return e||lu.alloc(0);let n=!!e,u=this._offset(o),A=a-o,p=A,h=n&&r||0,E=u[1];if(o===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:lu.concat(this._bufs,this.length);for(let I=0;Iv)this._bufs[I].copy(e,h,E),h+=v;else{this._bufs[I].copy(e,h,E,E+p),h+=v;break}p-=v,E&&(E=0)}return e.length>h?e.slice(0,h):e};ni.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let o=this._offset(e),a=this._offset(r),n=this._bufs.slice(o[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),o[1]!==0&&(n[0]=n[0].slice(o[1])),this._new(n)};ni.prototype.toString=function(e,r,o){return this.slice(r,o).toString(e)};ni.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};ni.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let o=this._offset(e),a=o[0],n=o[1];for(;a=t.length){let p=u.indexOf(t,n);if(p!==-1)return this._reverseOffset([a,p]);n=u.length-t.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,t))return p;n++}n=0}return-1};ni.prototype._match=function(t,e){if(this.length-t{"use strict";var eG=tw().Duplex,MBt=F0(),Dv=F2e();function Uo(t){if(!(this instanceof Uo))return new Uo(t);if(typeof t=="function"){this._callback=t;let e=function(o){this._callback&&(this._callback(o),this._callback=null)}.bind(this);this.on("pipe",function(o){o.on("error",e)}),this.on("unpipe",function(o){o.removeListener("error",e)}),t=null}Dv._init.call(this,t),eG.call(this)}MBt(Uo,eG);Object.assign(Uo.prototype,Dv.prototype);Uo.prototype._new=function(e){return new Uo(e)};Uo.prototype._write=function(e,r,o){this._appendBuffer(e),typeof o=="function"&&o()};Uo.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)};Uo.prototype.end=function(e){eG.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Uo.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Uo.prototype._isBufferList=function(e){return e instanceof Uo||e instanceof Dv||Uo.isBufferList(e)};Uo.isBufferList=Dv.isBufferList;GQ.exports=Uo;GQ.exports.BufferListStream=Uo;GQ.exports.BufferList=Dv});var nG=_(nw=>{var UBt=Buffer.alloc,_Bt="0000000000000000000",HBt="7777777777777777777",T2e="0".charCodeAt(0),N2e=Buffer.from("ustar\0","binary"),qBt=Buffer.from("00","binary"),jBt=Buffer.from("ustar ","binary"),GBt=Buffer.from(" \0","binary"),YBt=parseInt("7777",8),Sv=257,rG=263,WBt=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},KBt=function(t){switch(t){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},VBt=function(t){switch(t){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},L2e=function(t,e,r,o){for(;re?HBt.slice(0,e)+" ":_Bt.slice(0,e-t.length)+t+" "};function JBt(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],o=t.length-1;o>0;o--){var a=t[o];e?r.push(a):r.push(255-a)}var n=0,u=r.length;for(o=0;o=Math.pow(10,r)&&r++,e+r+t};nw.decodeLongPath=function(t,e){return rw(t,0,t.length,e)};nw.encodePax=function(t){var e="";t.name&&(e+=tG(" path="+t.name+` +`)),t.linkname&&(e+=tG(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var o in r)e+=tG(" "+o+"="+r[o]+` +`);return Buffer.from(e)};nw.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var a=r.indexOf("/");if(a===-1)return null;o+=o?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(o)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(O0(t.mode&YBt,6),100),e.write(O0(t.uid,6),108),e.write(O0(t.gid,6),116),e.write(O0(t.size,11),124),e.write(O0(t.mtime.getTime()/1e3|0,11),136),e[156]=T2e+VBt(t.type),t.linkname&&e.write(t.linkname,157),N2e.copy(e,Sv),qBt.copy(e,rG),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(O0(t.devmajor||0,6),329),e.write(O0(t.devminor||0,6),337),o&&e.write(o,345),e.write(O0(O2e(e),6),148),e)};nw.decode=function(t,e,r){var o=t[156]===0?0:t[156]-T2e,a=rw(t,0,100,e),n=M0(t,100,8),u=M0(t,108,8),A=M0(t,116,8),p=M0(t,124,12),h=M0(t,136,12),E=KBt(o),I=t[157]===0?null:rw(t,157,100,e),v=rw(t,265,32),x=rw(t,297,32),C=M0(t,329,8),R=M0(t,337,8),L=O2e(t);if(L===8*32)return null;if(L!==M0(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(N2e.compare(t,Sv,Sv+6)===0)t[345]&&(a=rw(t,345,155,e)+"/"+a);else if(!(jBt.compare(t,Sv,Sv+6)===0&&GBt.compare(t,rG,rG+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return o===0&&a&&a[a.length-1]==="/"&&(o=5),{name:a,mode:n,uid:u,gid:A,size:p,mtime:new Date(1e3*h),type:E,linkname:I,uname:v,gname:x,devmajor:C,devminor:R}}});var G2e=_((L$t,j2e)=>{var U2e=ve("util"),zBt=R2e(),Pv=nG(),_2e=tw().Writable,H2e=tw().PassThrough,q2e=function(){},M2e=function(t){return t&=511,t&&512-t},XBt=function(t,e){var r=new YQ(t,e);return r.end(),r},ZBt=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},YQ=function(t,e){this._parent=t,this.offset=e,H2e.call(this,{autoDestroy:!1})};U2e.inherits(YQ,H2e);YQ.prototype.destroy=function(t){this._parent.destroy(t)};var op=function(t){if(!(this instanceof op))return new op(t);_2e.call(this,t),t=t||{},this._offset=0,this._buffer=zBt(),this._missing=0,this._partial=!1,this._onparse=q2e,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,r=e._buffer,o=function(){e._continue()},a=function(v){if(e._locked=!1,v)return e.destroy(v);e._stream||o()},n=function(){e._stream=null;var v=M2e(e._header.size);v?e._parse(v,u):e._parse(512,I),e._locked||o()},u=function(){e._buffer.consume(M2e(e._header.size)),e._parse(512,I),o()},A=function(){var v=e._header.size;e._paxGlobal=Pv.decodePax(r.slice(0,v)),r.consume(v),n()},p=function(){var v=e._header.size;e._pax=Pv.decodePax(r.slice(0,v)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(v),n()},h=function(){var v=e._header.size;this._gnuLongPath=Pv.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},E=function(){var v=e._header.size;this._gnuLongLinkPath=Pv.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},I=function(){var v=e._offset,x;try{x=e._header=Pv.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(C){e.emit("error",C)}if(r.consume(512),!x){e._parse(512,I),o();return}if(x.type==="gnu-long-path"){e._parse(x.size,h),o();return}if(x.type==="gnu-long-link-path"){e._parse(x.size,E),o();return}if(x.type==="pax-global-header"){e._parse(x.size,A),o();return}if(x.type==="pax-header"){e._parse(x.size,p),o();return}if(e._gnuLongPath&&(x.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(x.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=x=ZBt(x,e._pax),e._pax=null),e._locked=!0,!x.size||x.type==="directory"){e._parse(512,I),e.emit("entry",x,XBt(e,v),a);return}e._stream=new YQ(e,v),e.emit("entry",x,e._stream,a),e._parse(x.size,n),o()};this._onheader=I,this._parse(512,I)};U2e.inherits(op,_2e);op.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};op.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};op.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=q2e,this._overflow?this._write(this._overflow,void 0,t):t()}};op.prototype._write=function(t,e,r){if(!this._destroyed){var o=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.lengthn&&(u=t.slice(n),t=t.slice(0,n)),o?o.end(t):a.append(t),this._overflow=u,this._onparse()}};op.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};j2e.exports=op});var W2e=_((O$t,Y2e)=>{Y2e.exports=ve("fs").constants||ve("constants")});var X2e=_((M$t,z2e)=>{var iw=W2e(),K2e=LM(),KQ=F0(),$Bt=Buffer.alloc,V2e=tw().Readable,sw=tw().Writable,evt=ve("string_decoder").StringDecoder,WQ=nG(),tvt=parseInt("755",8),rvt=parseInt("644",8),J2e=$Bt(1024),sG=function(){},iG=function(t,e){e&=511,e&&t.push(J2e.slice(0,512-e))};function nvt(t){switch(t&iw.S_IFMT){case iw.S_IFBLK:return"block-device";case iw.S_IFCHR:return"character-device";case iw.S_IFDIR:return"directory";case iw.S_IFIFO:return"fifo";case iw.S_IFLNK:return"symlink"}return"file"}var VQ=function(t){sw.call(this),this.written=0,this._to=t,this._destroyed=!1};KQ(VQ,sw);VQ.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};VQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var JQ=function(){sw.call(this),this.linkname="",this._decoder=new evt("utf-8"),this._destroyed=!1};KQ(JQ,sw);JQ.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};JQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var bv=function(){sw.call(this),this._destroyed=!1};KQ(bv,sw);bv.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};bv.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var CA=function(t){if(!(this instanceof CA))return new CA(t);V2e.call(this,t),this._drain=sG,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};KQ(CA,V2e);CA.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=sG);var o=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=nvt(t.mode)),t.mode||(t.mode=t.type==="directory"?tvt:rvt),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var a=this.push(e);return iG(o,t.size),a?process.nextTick(r):this._drain=r,new bv}if(t.type==="symlink"&&!t.linkname){var n=new JQ;return K2e(n,function(A){if(A)return o.destroy(),r(A);t.linkname=n.linkname,o._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new bv;var u=new VQ(this);return this._stream=u,K2e(u,function(A){if(o._stream=null,A)return o.destroy(),r(A);if(u.written!==t.size)return o.destroy(),r(new Error("size mismatch"));iG(o,t.size),o._finalizing&&o.finalize(),r()}),u}};CA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(J2e),this.push(null))};CA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};CA.prototype._encode=function(t){if(!t.pax){var e=WQ.encode(t);if(e){this.push(e);return}}this._encodePax(t)};CA.prototype._encodePax=function(t){var e=WQ.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(WQ.encode(r)),this.push(e),iG(this,e.length),r.size=t.size,r.type=t.type,this.push(WQ.encode(r))};CA.prototype._read=function(t){var e=this._drain;this._drain=sG,e()};z2e.exports=CA});var Z2e=_(oG=>{oG.extract=G2e();oG.pack=X2e()});var uBe=_((ier,cBe)=>{"use strict";var vm=class{constructor(e,r,o){this.__specs=e||{},Object.keys(this.__specs).forEach(a=>{if(typeof this.__specs[a]=="string"){let n=this.__specs[a],u=this.__specs[n];if(u){let A=u.aliases||[];A.push(a,n),u.aliases=[...new Set(A)],this.__specs[a]=u}else throw new Error(`Alias refers to invalid key: ${n} -> ${a}`)}}),this.__opts=r||{},this.__providers=aBe(o.filter(a=>a!=null&&typeof a=="object")),this.__isFiggyPudding=!0}get(e){return fG(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[o,a]of this.entries())e.call(r,a,o,this)}toJSON(){let e={};return this.forEach((r,o)=>{e[o]=r}),e}*entries(e){for(let o of Object.keys(this.__specs))yield[o,this.get(o)];let r=e||this.__opts.other;if(r){let o=new Set;for(let a of this.__providers){let n=a.entries?a.entries(r):yvt(a);for(let[u,A]of n)r(u)&&!o.has(u)&&(o.add(u),yield[u,A])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new vm(this.__specs,this.__opts,aBe(this.__providers).concat(e)),lBe)}};try{let t=ve("util");vm.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch{}function dvt(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function fG(t,e,r){let o=t.__specs[e];if(r&&!o&&(!t.__opts.other||!t.__opts.other(e)))dvt(e);else{o||(o={});let a;for(let n of t.__providers){if(a=oBe(e,n),a===void 0&&o.aliases&&o.aliases.length){for(let u of o.aliases)if(u!==e&&(a=oBe(u,n),a!==void 0))break}if(a!==void 0)break}return a===void 0&&o.default!==void 0?typeof o.default=="function"?o.default(t):o.default:a}}function oBe(t,e){let r;return e.__isFiggyPudding?r=fG(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var lBe={has(t,e){return e in t.__specs&&fG(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in vm.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!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.")}};cBe.exports=mvt;function mvt(t,e){function r(...o){return new Proxy(new vm(t,e,o),lBe)}return r}function aBe(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function yvt(t){return Object.keys(t).map(e=>[e,t[e]])}});var pBe=_((ser,BA)=>{"use strict";var kv=ve("crypto"),Evt=uBe(),Cvt=ve("stream").Transform,ABe=["sha256","sha384","sha512"],wvt=/^[a-z0-9+/]+(?:=?=?)$/i,Ivt=/^([^-]+)-([^?]+)([?\S*]*)$/,Bvt=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,vvt=/^[\x21-\x7E]+$/,ia=Evt({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>Fvt},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),_0=class{get isHash(){return!0}constructor(e,r){r=ia(r);let o=!!r.strict;this.source=e.trim();let a=this.source.match(o?Bvt:Ivt);if(!a||o&&!ABe.some(u=>u===a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=ia(e),e.strict&&!(ABe.some(o=>o===this.algorithm)&&this.digest.match(wvt)&&(this.options||[]).every(o=>o.match(vvt))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},Dm=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=ia(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(o=>this[o].map(a=>_0.prototype.toString.call(a,e)).filter(a=>a.length).join(r)).filter(o=>o.length).join(r)}concat(e,r){r=ia(r);let o=typeof e=="string"?e:xv(e,r);return IA(`${this.toString(r)} ${o}`,r)}hexDigest(){return IA(this,{single:!0}).hexDigest()}match(e,r){r=ia(r);let o=IA(e,r),a=o.pickAlgorithm(r);return this[a]&&o[a]&&this[a].find(n=>o[a].find(u=>n.digest===u.digest))||!1}pickAlgorithm(e){e=ia(e);let r=e.pickAlgorithm,o=Object.keys(this);if(!o.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return o.reduce((a,n)=>r(a,n)||a)}};BA.exports.parse=IA;function IA(t,e){if(e=ia(e),typeof t=="string")return pG(t,e);if(t.algorithm&&t.digest){let r=new Dm;return r[t.algorithm]=[t],pG(xv(r,e),e)}else return pG(xv(t,e),e)}function pG(t,e){return e.single?new _0(t,e):t.trim().split(/\s+/).reduce((r,o)=>{let a=new _0(o,e);if(a.algorithm&&a.digest){let n=a.algorithm;r[n]||(r[n]=[]),r[n].push(a)}return r},new Dm)}BA.exports.stringify=xv;function xv(t,e){return e=ia(e),t.algorithm&&t.digest?_0.prototype.toString.call(t,e):typeof t=="string"?xv(IA(t,e),e):Dm.prototype.toString.call(t,e)}BA.exports.fromHex=Dvt;function Dvt(t,e,r){r=ia(r);let o=r.options&&r.options.length?`?${r.options.join("?")}`:"";return IA(`${e}-${Buffer.from(t,"hex").toString("base64")}${o}`,r)}BA.exports.fromData=Svt;function Svt(t,e){e=ia(e);let r=e.algorithms,o=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((a,n)=>{let u=kv.createHash(n).update(t).digest("base64"),A=new _0(`${n}-${u}${o}`,e);if(A.algorithm&&A.digest){let p=A.algorithm;a[p]||(a[p]=[]),a[p].push(A)}return a},new Dm)}BA.exports.fromStream=Pvt;function Pvt(t,e){e=ia(e);let r=e.Promise||Promise,o=hG(e);return new r((a,n)=>{t.pipe(o),t.on("error",n),o.on("error",n);let u;o.on("integrity",A=>{u=A}),o.on("end",()=>a(u)),o.on("data",()=>{})})}BA.exports.checkData=bvt;function bvt(t,e,r){if(r=ia(r),e=IA(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let o=e.pickAlgorithm(r),a=kv.createHash(o).update(t).digest("base64"),n=IA({algorithm:o,digest:a}),u=n.match(e,r);if(u||!r.error)return u;if(typeof r.size=="number"&&t.length!==r.size){let A=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw A.code="EBADSIZE",A.found=t.length,A.expected=r.size,A.sri=e,A}else{let A=new Error(`Integrity checksum failed when using ${o}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw A.code="EINTEGRITY",A.found=n,A.expected=e,A.algorithm=o,A.sri=e,A}}BA.exports.checkStream=xvt;function xvt(t,e,r){r=ia(r);let o=r.Promise||Promise,a=hG(r.concat({integrity:e}));return new o((n,u)=>{t.pipe(a),t.on("error",u),a.on("error",u);let A;a.on("verified",p=>{A=p}),a.on("end",()=>n(A)),a.on("data",()=>{})})}BA.exports.integrityStream=hG;function hG(t){t=ia(t);let e=t.integrity&&IA(t.integrity,t),r=e&&Object.keys(e).length,o=r&&e.pickAlgorithm(t),a=r&&e[o],n=Array.from(new Set(t.algorithms.concat(o?[o]:[]))),u=n.map(kv.createHash),A=0,p=new Cvt({transform(h,E,I){A+=h.length,u.forEach(v=>v.update(h,E)),I(null,h,E)}}).on("end",()=>{let h=t.options&&t.options.length?`?${t.options.join("?")}`:"",E=IA(u.map((v,x)=>`${n[x]}-${v.digest("base64")}${h}`).join(" "),t),I=r&&E.match(e,t);if(typeof t.size=="number"&&A!==t.size){let v=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${A}`);v.code="EBADSIZE",v.found=A,v.expected=t.size,v.sri=e,p.emit("error",v)}else if(t.integrity&&!I){let v=new Error(`${e} integrity checksum failed when using ${o}: wanted ${a} but got ${E}. (${A} bytes)`);v.code="EINTEGRITY",v.found=E,v.expected=a,v.algorithm=o,v.sri=e,p.emit("error",v)}else p.emit("size",A),p.emit("integrity",E),I&&p.emit("verified",I)});return p}BA.exports.create=kvt;function kvt(t){t=ia(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",o=e.map(kv.createHash);return{update:function(a,n){return o.forEach(u=>u.update(a,n)),this},digest:function(a){return e.reduce((u,A)=>{let p=o.shift().digest("base64"),h=new _0(`${A}-${p}${r}`,t);if(h.algorithm&&h.digest){let E=h.algorithm;u[E]||(u[E]=[]),u[E].push(h)}return u},new Dm)}}}var Qvt=new Set(kv.getHashes()),fBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>Qvt.has(t));function Fvt(t,e){return fBe.indexOf(t.toLowerCase())>=fBe.indexOf(e.toLowerCase())?t:e}});var qBe=_((lir,HBe)=>{var FDt=lL();function RDt(t){return FDt(t)?void 0:t}HBe.exports=RDt});var GBe=_((cir,jBe)=>{var TDt=Hb(),NDt=x8(),LDt=R8(),ODt=jd(),MDt=dd(),UDt=qBe(),_Dt=v_(),HDt=b8(),qDt=1,jDt=2,GDt=4,YDt=_Dt(function(t,e){var r={};if(t==null)return r;var o=!1;e=TDt(e,function(n){return n=ODt(n,t),o||(o=n.length>1),n}),MDt(t,HDt(t),r),o&&(r=NDt(r,qDt|jDt|GDt,UDt));for(var a=e.length;a--;)LDt(r,e[a]);return r});jBe.exports=YDt});St();Ye();St();var JBe=ve("child_process"),zBe=$e(td());qt();var AC=new Map([]);var a2={};Vt(a2,{BaseCommand:()=>ut,WorkspaceRequiredError:()=>rr,getCli:()=>$pe,getDynamicLibs:()=>Zpe,getPluginConfiguration:()=>pC,openWorkspace:()=>fC,pluginCommands:()=>AC,runExit:()=>nk});qt();var ut=class extends nt{constructor(){super(...arguments);this.cwd=ge.String("--cwd",{hidden:!0})}validateAndExecute(){if(typeof this.cwd<"u")throw new it("The --cwd option is ambiguous when used anywhere else than the very first parameter provided in the command line, before even the command path");return super.validateAndExecute()}};Ye();St();qt();var rr=class extends it{constructor(e,r){let o=V.relative(e,r),a=V.join(e,Ot.fileName);super(`This command can only be run from within a workspace of your project (${o} isn't a workspace of ${a}).`)}};Ye();St();nA();Nl();k1();qt();var RAt=$e(zn());Za();var Zpe=()=>new Map([["@yarnpkg/cli",a2],["@yarnpkg/core",o2],["@yarnpkg/fslib",Vw],["@yarnpkg/libzip",x1],["@yarnpkg/parsers",rI],["@yarnpkg/shell",T1],["clipanion",hI],["semver",RAt],["typanion",Vo]]);Ye();async function fC(t,e){let{project:r,workspace:o}=await Pt.find(t,e);if(!o)throw new rr(r.cwd,e);return o}Ye();St();nA();Nl();k1();qt();var eSt=$e(zn());Za();var $8={};Vt($8,{AddCommand:()=>kh,BinCommand:()=>Qh,CacheCleanCommand:()=>Fh,ClipanionCommand:()=>Kd,ConfigCommand:()=>Lh,ConfigGetCommand:()=>Rh,ConfigSetCommand:()=>Th,ConfigUnsetCommand:()=>Nh,DedupeCommand:()=>Oh,EntryCommand:()=>mC,ExecCommand:()=>Mh,ExplainCommand:()=>Hh,ExplainPeerRequirementsCommand:()=>Uh,HelpCommand:()=>Vd,InfoCommand:()=>qh,LinkCommand:()=>Gh,NodeCommand:()=>Yh,PluginCheckCommand:()=>Wh,PluginImportCommand:()=>Jh,PluginImportSourcesCommand:()=>zh,PluginListCommand:()=>Kh,PluginRemoveCommand:()=>Xh,PluginRuntimeCommand:()=>Zh,RebuildCommand:()=>$h,RemoveCommand:()=>e0,RunCommand:()=>t0,RunIndexCommand:()=>Xd,SetResolutionCommand:()=>r0,SetVersionCommand:()=>_h,SetVersionSourcesCommand:()=>Vh,UnlinkCommand:()=>n0,UpCommand:()=>Jf,VersionCommand:()=>Jd,WhyCommand:()=>i0,WorkspaceCommand:()=>a0,WorkspacesListCommand:()=>o0,YarnCommand:()=>jh,dedupeUtils:()=>pk,default:()=>Sgt,suggestUtils:()=>zc});var kde=$e(td());Ye();Ye();Ye();qt();var _0e=$e(f2());Za();var zc={};Vt(zc,{Modifier:()=>B8,Strategy:()=>uk,Target:()=>p2,WorkspaceModifier:()=>N0e,applyModifier:()=>$ft,extractDescriptorFromPath:()=>v8,extractRangeModifier:()=>L0e,fetchDescriptorFrom:()=>D8,findProjectDescriptors:()=>U0e,getModifier:()=>h2,getSuggestedDescriptors:()=>g2,makeWorkspaceDescriptor:()=>M0e,toWorkspaceModifier:()=>O0e});Ye();Ye();St();var I8=$e(zn()),Xft="workspace:",p2=(o=>(o.REGULAR="dependencies",o.DEVELOPMENT="devDependencies",o.PEER="peerDependencies",o))(p2||{}),B8=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="",o))(B8||{}),N0e=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="*",o))(N0e||{}),uk=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(uk||{});function h2(t,e){return t.exact?"":t.caret?"^":t.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var Zft=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function L0e(t,{project:e}){let r=t.match(Zft);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function $ft(t,e){let{protocol:r,source:o,params:a,selector:n}=W.parseRange(t.range);return I8.default.valid(n)&&(n=`${e}${t.range}`),W.makeDescriptor(t,W.makeRange({protocol:r,source:o,params:a,selector:n}))}function O0e(t){switch(t){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function M0e(t,e){return W.makeDescriptor(t.anchoredDescriptor,`${Xft}${O0e(e)}`)}async function U0e(t,{project:e,target:r}){let o=new Map,a=n=>{let u=o.get(n.descriptorHash);return u||o.set(n.descriptorHash,u={descriptor:n,locators:[]}),u};for(let n of e.workspaces)if(r==="peerDependencies"){let u=n.manifest.peerDependencies.get(t.identHash);u!==void 0&&a(u).locators.push(n.anchoredLocator)}else{let u=n.manifest.dependencies.get(t.identHash),A=n.manifest.devDependencies.get(t.identHash);r==="devDependencies"?A!==void 0?a(A).locators.push(n.anchoredLocator):u!==void 0&&a(u).locators.push(n.anchoredLocator):u!==void 0?a(u).locators.push(n.anchoredLocator):A!==void 0&&a(A).locators.push(n.anchoredLocator)}return o}async function v8(t,{cwd:e,workspace:r}){return await ept(async o=>{V.isAbsolute(t)||(t=V.relative(r.cwd,V.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:a}=r,n=await D8(W.makeIdent(null,"archive"),t,{project:r.project,cache:o,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let u=new Qi,A=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:o,fetcher:p,report:u,resolver:A},E=A.bindDescriptor(n,r.anchoredLocator,h),I=W.convertDescriptorToLocator(E),v=await p.fetch(I,h),x=await Ot.find(v.prefixPath,{baseFs:v.packageFs});if(!x.name)throw new Error("Target path doesn't have a name");return W.makeDescriptor(x.name,t)})}async function g2(t,{project:e,workspace:r,cache:o,target:a,fixed:n,modifier:u,strategies:A,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let[h,E]=t.range!=="unknown"?n||kr.validRange(t.range)||!t.range.match(/^[a-z0-9._-]+$/i)?[t.range,"latest"]:["unknown",t.range]:["unknown","latest"];if(h!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${W.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let I=typeof r<"u"&&r!==null&&r.manifest[a].get(t.identHash)||null,v=[],x=[],C=async R=>{try{await R()}catch(L){x.push(L)}};for(let R of A){if(v.length>=p)break;switch(R){case"keep":await C(async()=>{I&&v.push({descriptor:I,name:`Keep ${W.prettyDescriptor(e.configuration,I)}`,reason:"(no changes)"})});break;case"reuse":await C(async()=>{for(let{descriptor:L,locators:U}of(await U0e(t,{project:e,target:a})).values()){if(U.length===1&&U[0].locatorHash===r.anchoredLocator.locatorHash&&A.includes("keep"))continue;let J=`(originally used by ${W.prettyLocator(e.configuration,U[0])}`;J+=U.length>1?` and ${U.length-1} other${U.length>2?"s":""})`:")",v.push({descriptor:L,name:`Reuse ${W.prettyDescriptor(e.configuration,L)}`,reason:J})}});break;case"cache":await C(async()=>{for(let L of e.storedDescriptors.values())L.identHash===t.identHash&&v.push({descriptor:L,name:`Reuse ${W.prettyDescriptor(e.configuration,L)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await C(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let L=e.tryWorkspaceByIdent(t);if(L===null)return;let U=M0e(L,u);v.push({descriptor:U,name:`Attach ${W.prettyDescriptor(e.configuration,U)}`,reason:`(local workspace at ${de.pretty(e.configuration,L.relativeCwd,de.Type.PATH)})`})});break;case"latest":{let L=e.configuration.get("enableNetwork"),U=e.configuration.get("enableOfflineMode");await C(async()=>{if(a==="peerDependencies")v.push({descriptor:W.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!L&&!U)v.push({descriptor:null,name:"Resolve from latest",reason:de.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let J=await D8(t,E,{project:e,cache:o,workspace:r,modifier:u});J&&v.push({descriptor:J,name:`Use ${W.prettyDescriptor(e.configuration,J)}`,reason:`(resolved from ${U?"the cache":"latest"})`})}})}break}}return{suggestions:v.slice(0,p),rejections:x.slice(0,p)}}async function D8(t,e,{project:r,cache:o,workspace:a,preserveModifier:n=!0,modifier:u}){let A=r.configuration.normalizeDependency(W.makeDescriptor(t,e)),p=new Qi,h=r.configuration.makeFetcher(),E=r.configuration.makeResolver(),I={project:r,fetcher:h,cache:o,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},v={...I,resolver:E,fetchOptions:I},x=E.bindDescriptor(A,a.anchoredLocator,v),C=await E.getCandidates(x,{},v);if(C.length===0)return null;let R=C[0],{protocol:L,source:U,params:J,selector:te}=W.parseRange(W.convertToManifestRange(R.reference));if(L===r.configuration.get("defaultProtocol")&&(L=null),I8.default.valid(te)){let ae=te;if(typeof u<"u")te=u+te;else if(n!==!1){let me=typeof n=="string"?n:A.range;te=L0e(me,{project:r})+te}let fe=W.makeDescriptor(R,W.makeRange({protocol:L,source:U,params:J,selector:te}));(await E.getCandidates(r.configuration.normalizeDependency(fe),{},v)).length!==1&&(te=ae)}return W.makeDescriptor(R,W.makeRange({protocol:L,source:U,params:J,selector:te}))}async function ept(t){return await oe.mktempPromise(async e=>{let r=Ke.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Lr(e,{configuration:r,check:!1,immutable:!1}))})}var kh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=ge.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ge.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ge.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ge.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=ge.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=ge.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=ge.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=ge.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=ge.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=ge.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Ks(pl)});this.silent=ge.Boolean("--silent",{hidden:!0});this.packages=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await Pt.find(r,this.context.cwd),n=await Lr.find(r);if(!a)throw new rr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=A||r.get("preferReuse"),h=h2(this,o),E=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(U=>typeof U<"u"),I=A?1/0:1,v=await Promise.all(this.packages.map(async U=>{let J=U.match(/^\.{0,2}\//)?await v8(U,{cwd:this.context.cwd,workspace:a}):W.tryParseDescriptor(U),te=U.match(/^(https?:|git@github)/);if(te)throw new it(`It seems you are trying to add a package using a ${de.pretty(r,`${te[0]}...`,de.Type.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${de.pretty(r,"yarn add",de.Type.CODE)} ${de.pretty(r,W.makeDescriptor(W.makeIdent(null,"my-package"),`${te[0]}...`),de.Type.DESCRIPTOR)}`);if(!J)throw new it(`The ${de.pretty(r,U,de.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let ae=tpt(a,J,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(ae.map(async ce=>{let me=await g2(J,{project:o,workspace:a,cache:n,fixed:u,target:ce,modifier:h,strategies:E,maxResults:I});return{request:J,suggestedDescriptors:me,target:ce}}))})).then(U=>U.flat()),x=await AA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async U=>{for(let{request:J,suggestedDescriptors:{suggestions:te,rejections:ae}}of v)if(te.filter(ce=>ce.descriptor!==null).length===0){let[ce]=ae;if(typeof ce>"u")throw new Error("Assertion failed: Expected an error to have been set");o.configuration.get("enableNetwork")?U.reportError(27,`${W.prettyDescriptor(r,J)} can't be resolved to a satisfying range`):U.reportError(27,`${W.prettyDescriptor(r,J)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),U.reportSeparator(),U.reportExceptionOnce(ce)}});if(x.hasErrors())return x.exitCode();let C=!1,R=[],L=[];for(let{suggestedDescriptors:{suggestions:U},target:J}of v){let te,ae=U.filter(he=>he.descriptor!==null),fe=ae[0].descriptor,ce=ae.every(he=>W.areDescriptorsEqual(he.descriptor,fe));ae.length===1||ce?te=fe:(C=!0,{answer:te}=await(0,_0e.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:U.map(({descriptor:he,name:Be,reason:we})=>he?{name:Be,hint:we,descriptor:he}:{name:Be,hint:we,disabled:!0}),onCancel:()=>process.exit(130),result(he){return this.find(he,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let me=a.manifest[J].get(te.identHash);(typeof me>"u"||me.descriptorHash!==te.descriptorHash)&&(a.manifest[J].set(te.identHash,te),this.optional&&(J==="dependencies"?a.manifest.ensureDependencyMeta({...te,range:"unknown"}).optional=!0:J==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...te,range:"unknown"}).optional=!0)),typeof me>"u"?R.push([a,J,te,E]):L.push([a,J,me,te]))}return await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyAddition,R),await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyReplacement,L),C&&this.context.stdout.write(` +`),await o.installWithNewReport({json:this.json,stdout:this.context.stdout,quiet:this.context.quiet},{cache:n,mode:this.mode})}};kh.paths=[["add"]],kh.usage=nt.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\": { \"\": { \"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=` 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/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 tpt(t,e,{dev:r,peer:o,preferDev:a,optional:n}){let u=t.manifest["dependencies"].has(e.identHash),A=t.manifest["devDependencies"].has(e.identHash),p=t.manifest["peerDependencies"].has(e.identHash);if((r||o)&&u)throw new it(`Package "${W.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!o&&p)throw new it(`Package "${W.prettyIdent(t.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(n&&A)throw new it(`Package "${W.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!o&&p)throw new it(`Package "${W.prettyIdent(t.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((r||a)&&n)throw new it(`Package "${W.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return o&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:A?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}Ye();Ye();qt();var Qh=class extends ut{constructor(){super(...arguments);this.verbose=ge.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=ge.String({required:!1})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await Pt.find(r,this.context.cwd);if(await o.restoreInstallState(),this.name){let A=(await un.getPackageAccessibleBinaries(a,{project:o})).get(this.name);if(!A)throw new it(`Couldn't find a binary named "${this.name}" for package "${W.prettyLocator(r,a)}"`);let[,p]=A;return this.context.stdout.write(`${p} +`),0}return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async u=>{let A=await un.getPackageAccessibleBinaries(a,{project:o}),h=Array.from(A.keys()).reduce((E,I)=>Math.max(E,I.length),0);for(let[E,[I,v]]of A)u.reportJson({name:E,source:W.stringifyIdent(I),path:v});if(this.verbose)for(let[E,[I]]of A)u.reportInfo(null,`${E.padEnd(h," ")} ${W.prettyLocator(r,I)}`);else for(let E of A.keys())u.reportInfo(null,E)})).exitCode()}};Qh.paths=[["bin"]],Qh.usage=nt.Usage({description:"get the path to a binary script",details:` + 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. + + 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. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});Ye();St();qt();var Fh=class extends ut{constructor(){super(...arguments);this.mirror=ge.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=ge.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await Lr.find(r);return(await Nt.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&o.mirrorCwd!==null,u=!this.mirror;n&&(await oe.removePromise(o.mirrorCwd),await r.triggerHook(A=>A.cleanGlobalArtifacts,r)),u&&await oe.removePromise(o.cwd)})).exitCode()}};Fh.paths=[["cache","clean"],["cache","clear"]],Fh.usage=nt.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});Ye();qt();var q0e=$e(d2()),S8=ve("util"),Rh=class extends ut{constructor(){super(...arguments);this.why=ge.Boolean("--why",!1,{description:"Print the explanation for why a setting has its value"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=ge.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(o)>"u")throw new it(`Couldn't find a configuration settings named "${o}"`);let u=r.getSpecial(o,{hideSecrets:!this.unsafe,getNativePaths:!0}),A=_e.convertMapsToIndexableObjects(u),p=a?(0,q0e.default)(A,a):A,h=await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} +`),h.exitCode();S8.inspect.styles.name="cyan",this.context.stdout.write(`${(0,S8.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} +`)}return h.exitCode()}};Rh.paths=[["config","get"]],Rh.usage=nt.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + 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. + `,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"]]});Ye();qt();var Fge=$e(k8()),Rge=$e(d2()),Tge=$e(Q8()),F8=ve("util"),Th=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=ge.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ge.String();this.value=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new it("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new it(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new it("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?C=>Ke.updateHomeConfiguration(C):C=>Ke.updateConfiguration(o(),C))(C=>{if(n){let R=(0,Fge.default)(C);return(0,Tge.default)(R,this.name,A),R}else return{...C,[a]:A}});let E=(await Ke.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),I=_e.convertMapsToIndexableObjects(E),v=n?(0,Rge.default)(I,n):I;return(await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async C=>{F8.inspect.styles.name="cyan",C.reportInfo(0,`Successfully set ${this.name} to ${(0,F8.inspect)(v,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};Th.paths=[["config","set"]],Th.usage=nt.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,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"`]]});Ye();qt();var Yge=$e(k8()),Wge=$e(Mge()),Kge=$e(T8()),Nh=class extends ut{constructor(){super(...arguments);this.home=ge.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new it("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new it(`Couldn't find a configuration settings named "${a}"`);let A=this.home?h=>Ke.updateHomeConfiguration(h):h=>Ke.updateConfiguration(o(),h);return(await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let E=!1;await A(I=>{if(!(0,Wge.default)(I,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),E=!0,I;let v=n?(0,Yge.default)(I):{...I};return(0,Kge.default)(v,this.name),v}),E||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};Nh.paths=[["config","unset"]],Nh.usage=nt.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,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"]]});Ye();St();qt();var fk=ve("util"),Lh=class extends ut{constructor(){super(...arguments);this.noDefaults=ge.Boolean("--no-defaults",!1,{description:"Omit the default values from the display"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.verbose=ge.Boolean("-v,--verbose",{hidden:!0});this.why=ge.Boolean("--why",{hidden:!0});this.names=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins,{strict:!1}),o=await LE({configuration:r,stdout:this.context.stdout,forceError:this.json},[{option:this.verbose,message:"The --verbose option is deprecated, the settings' descriptions are now always displayed"},{option:this.why,message:"The --why option is deprecated, the settings' sources are now always displayed"}]);if(o!==null)return o;let a=this.names.length>0?[...new Set(this.names)].sort():[...r.settings.keys()].sort(),n,u=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async A=>{if(r.invalid.size>0&&!this.json){for(let[p,h]of r.invalid)A.reportError(34,`Invalid configuration key "${p}" in ${h}`);A.reportSeparator()}if(this.json)for(let p of a){let h=r.settings.get(p);typeof h>"u"&&A.reportError(34,`No configuration key named "${p}"`);let E=r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),I=r.sources.get(p)??"",v=I&&I[0]!=="<"?ue.fromPortablePath(I):I;A.reportJson({key:p,effective:E,source:v,...h})}else{let p={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},h={},E={children:h};for(let I of a){if(this.noDefaults&&!r.sources.has(I))continue;let v=r.settings.get(I),x=r.sources.get(I)??"",C=r.getSpecial(I,{hideSecrets:!0,getNativePaths:!0}),R={Description:{label:"Description",value:de.tuple(de.Type.MARKDOWN,{text:v.description,format:this.cli.format(),paragraphs:!1})},Source:{label:"Source",value:de.tuple(x[0]==="<"?de.Type.CODE:de.Type.PATH,x)}};h[I]={value:de.tuple(de.Type.CODE,I),children:R};let L=(U,J)=>{for(let[te,ae]of J)if(ae instanceof Map){let fe={};U[te]={children:fe},L(fe,ae)}else U[te]={label:te,value:de.tuple(de.Type.NO_HINT,(0,fk.inspect)(ae,p))}};C instanceof Map?L(R,C):R.Value={label:"Value",value:de.tuple(de.Type.NO_HINT,(0,fk.inspect)(C,p))}}a.length!==1&&(n=void 0),$s.emitTree(E,{configuration:r,json:this.json,stdout:this.context.stdout,separators:2})}});if(!this.json&&typeof n<"u"){let A=a[0],p=(0,fk.inspect)(r.getSpecial(A,{hideSecrets:!0,getNativePaths:!0}),{colors:r.get("enableColors")});this.context.stdout.write(` +`),this.context.stdout.write(`${p} +`)}return u.exitCode()}};Lh.paths=[["config"]],Lh.usage=nt.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});Ye();qt();Za();var pk={};Vt(pk,{Strategy:()=>m2,acceptedStrategies:()=>O0t,dedupe:()=>N8});Ye();Ye();var Vge=$e(Zo()),m2=(e=>(e.HIGHEST="highest",e))(m2||{}),O0t=new Set(Object.values(m2)),M0t={highest:async(t,e,{resolver:r,fetcher:o,resolveOptions:a,fetchOptions:n})=>{let u=new Map;for(let[p,h]of t.storedResolutions){let E=t.storedDescriptors.get(p);if(typeof E>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);_e.getSetWithDefault(u,E.identHash).add(h)}let A=new Map(_e.mapAndFilter(t.storedDescriptors.values(),p=>W.isVirtualDescriptor(p)?_e.mapAndFilter.skip:[p.descriptorHash,_e.makeDeferred()]));for(let p of t.storedDescriptors.values()){let h=A.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let E=t.storedResolutions.get(p.descriptorHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let I=t.originalPackages.get(E);if(typeof I>"u")throw new Error(`Assertion failed: The package (${E}) should have been registered`);Promise.resolve().then(async()=>{let v=r.getResolutionDependencies(p,a),x=Object.fromEntries(await _e.allSettledSafe(Object.entries(v).map(async([te,ae])=>{let fe=A.get(ae.descriptorHash);if(typeof fe>"u")throw new Error(`Assertion failed: The descriptor (${ae.descriptorHash}) should have been registered`);let ce=await fe.promise;if(!ce)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[te,ce.updatedPackage]})));if(e.length&&!Vge.default.isMatch(W.stringifyIdent(p),e)||!r.shouldPersistResolution(I,a))return I;let C=u.get(p.identHash);if(typeof C>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(C.size===1)return I;let R=[...C].map(te=>{let ae=t.originalPackages.get(te);if(typeof ae>"u")throw new Error(`Assertion failed: The package (${te}) should have been registered`);return ae}),L=await r.getSatisfying(p,x,R,a),U=L.locators?.[0];if(typeof U>"u"||!L.sorted)return I;let J=t.originalPackages.get(U.locatorHash);if(typeof J>"u")throw new Error(`Assertion failed: The package (${U.locatorHash}) should have been registered`);return J}).then(async v=>{let x=await t.preparePackage(v,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:I,updatedPackage:v,resolvedPackage:x})}).catch(v=>{h.reject(v)})}return[...A.values()].map(p=>p.promise)}};async function N8(t,{strategy:e,patterns:r,cache:o,report:a}){let{configuration:n}=t,u=new Qi,A=n.makeResolver(),p=n.makeFetcher(),h={cache:o,checksums:t.storedChecksums,fetcher:p,project:t,report:u,cacheOptions:{skipIntegrityCheck:!0}},E={project:t,resolver:A,report:u,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let I=M0t[e],v=await I(t,r,{resolver:A,resolveOptions:E,fetcher:p,fetchOptions:h}),x=Xs.progressViaCounter(v.length);await a.reportProgress(x);let C=0;await Promise.all(v.map(U=>U.then(J=>{if(J===null||J.currentPackage.locatorHash===J.updatedPackage.locatorHash)return;C++;let{descriptor:te,currentPackage:ae,updatedPackage:fe}=J;a.reportInfo(0,`${W.prettyDescriptor(n,te)} can be deduped from ${W.prettyLocator(n,ae)} to ${W.prettyLocator(n,fe)}`),a.reportJson({descriptor:W.stringifyDescriptor(te),currentResolution:W.stringifyLocator(ae),updatedResolution:W.stringifyLocator(fe)}),t.storedResolutions.set(te.descriptorHash,fe.locatorHash)}).finally(()=>x.tick())));let R;switch(C){case 0:R="No packages";break;case 1:R="One package";break;default:R=`${C} packages`}let L=de.pretty(n,e,de.Type.CODE);return a.reportInfo(0,`${R} can be deduped using the ${L} strategy`),C})}var Oh=class extends ut{constructor(){super(...arguments);this.strategy=ge.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Ks(m2)});this.check=ge.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Ks(pl)});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd),a=await Lr.find(r);await o.restoreInstallState({restoreResolutions:!1});let n=0,u=await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async A=>{n=await N8(o,{strategy:this.strategy,patterns:this.patterns,cache:a,report:A})});return u.hasErrors()?u.exitCode():this.check?n?1:0:await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:a,mode:this.mode})}};Oh.paths=[["dedupe"]],Oh.usage=nt.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=` 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"]]});Ye();qt();var Kd=class extends ut{async execute(){let{plugins:e}=await Ke.find(this.context.cwd,this.context.plugins),r=[];for(let u of e){let{commands:A}=u[1];if(A){let h=as.from(A).definitions();r.push([u[0],h])}}let o=this.cli.definitions(),a=(u,A)=>u.split(" ").slice(1).join()===A.split(" ").slice(1).join(),n=Jge()["@yarnpkg/builder"].bundles.standard;for(let u of r){let A=u[1];for(let p of A)o.find(h=>a(h.path,p.path)).plugin={name:u[0],isDefault:n.includes(u[0])}}this.context.stdout.write(`${JSON.stringify(o,null,2)} +`)}};Kd.paths=[["--clipanion=definitions"]];var Vd=class extends ut{async execute(){this.context.stdout.write(this.cli.usage(null))}};Vd.paths=[["help"],["--help"],["-h"]];Ye();St();qt();var mC=class extends ut{constructor(){super(...arguments);this.leadingArgument=ge.String();this.args=ge.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!W.tryParseIdent(this.leadingArgument)){let r=V.resolve(this.context.cwd,ue.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};Ye();var Jd=class extends ut{async execute(){this.context.stdout.write(`${rn||""} +`)}};Jd.paths=[["-v"],["--version"]];Ye();Ye();qt();var Mh=class extends ut{constructor(){super(...arguments);this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await Pt.find(r,this.context.cwd);return await o.restoreInstallState(),await un.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:o})}};Mh.paths=[["exec"]],Mh.usage=nt.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + 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). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});Ye();qt();Za();var Uh=class extends ut{constructor(){super(...arguments);this.hash=ge.String({validator:oS(Cy(),[oI(/^p[0-9a-f]{5}$/)])})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await Pt.find(r,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),await o.applyLightResolution(),await _0t(this.hash,o,{stdout:this.context.stdout})}};Uh.paths=[["explain","peer-requirements"]],Uh.usage=nt.Usage({description:"explain a set of peer requirements",details:` + 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. + + 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. + + 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. + + **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\`). + `,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 _0t(t,e,r){let o=e.peerWarnings.find(n=>n.hash===t);if(typeof o>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Nt.start({configuration:e.configuration,stdout:r.stdout,includeFooter:!1,includePrefix:!1},async n=>{let u=de.mark(e.configuration);switch(o.type){case 2:{n.reportInfo(0,`We have a problem with ${de.pretty(e.configuration,o.requested,de.Type.IDENT)}, which is provided with version ${W.prettyReference(e.configuration,o.version)}.`),n.reportInfo(0,"It is needed by the following direct dependencies of workspaces in your project:"),n.reportSeparator();for(let h of o.requesters.values()){let E=e.storedPackages.get(h.locatorHash);if(!E)throw new Error("Assertion failed: Expected the package to be registered");let I=E?.peerDependencies.get(o.requested.identHash);if(!I)throw new Error("Assertion failed: Expected the package to list the peer dependency");let v=kr.satisfiesWithPrereleases(o.version,I.range)?u.Check:u.Cross;n.reportInfo(null,` ${v} ${W.prettyLocator(e.configuration,h)} (via ${W.prettyRange(e.configuration,I.range)})`)}let A=[...o.links.values()].filter(h=>!o.requesters.has(h.locatorHash));if(A.length>0){n.reportSeparator(),n.reportInfo(0,`However, those packages themselves have more dependencies listing ${W.prettyIdent(e.configuration,o.requested)} as peer dependency:`),n.reportSeparator();for(let h of A){let E=e.storedPackages.get(h.locatorHash);if(!E)throw new Error("Assertion failed: Expected the package to be registered");let I=E?.peerDependencies.get(o.requested.identHash);if(!I)throw new Error("Assertion failed: Expected the package to list the peer dependency");let v=kr.satisfiesWithPrereleases(o.version,I.range)?u.Check:u.Cross;n.reportInfo(null,` ${v} ${W.prettyLocator(e.configuration,h)} (via ${W.prettyRange(e.configuration,I.range)})`)}}let p=Array.from(o.links.values(),h=>{let E=e.storedPackages.get(h.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: Expected the package to be registered");let I=E.peerDependencies.get(o.requested.identHash);if(typeof I>"u")throw new Error("Assertion failed: Expected the ident to be registered");return I.range});if(p.length>1){let h=kr.simplifyRanges(p);n.reportSeparator(),h===null?(n.reportInfo(0,"Unfortunately, put together, we found no single range that can satisfy all those peer requirements."),n.reportInfo(0,`Your best option may be to try to upgrade some dependencies with ${de.pretty(e.configuration,"yarn up",de.Type.CODE)}, or silence the warning via ${de.pretty(e.configuration,"logFilters",de.Type.CODE)}.`)):n.reportInfo(0,`Put together, the final range we computed is ${de.pretty(e.configuration,h,de.Type.RANGE)}`)}}break;default:n.reportInfo(0,`The ${de.pretty(e.configuration,"yarn explain peer-requirements",de.Type.CODE)} command doesn't support this warning type yet.`);break}})).exitCode()}Ye();qt();Za();Ye();Ye();St();qt();var zge=$e(zn()),_h=class extends ut{constructor(){super(...arguments);this.useYarnPath=ge.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=ge.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let A=r.sources.get("yarnPath");if(!A)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(V.contains(p,A))return 0}let o=()=>{if(typeof rn>"u")throw new it("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(A,p)=>({version:p,url:A.replace(/\{\}/g,p)});if(this.version==="self")a={url:o(),version:rn??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await y2(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await y2(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.version))a={url:`file://${V.resolve(ue.toPortablePath(this.version))}`,version:"file"};else if(kr.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(kr.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(kr.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await H0t(r,this.version));else throw new it(`Invalid version descriptor "${this.version}"`);return(await Nt.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async A=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(A.reportInfo(0,`Retrieving ${de.pretty(r,a.url,de.Type.PATH)}`),await oe.readFilePromise(a.url.slice(h.length))):(A.reportInfo(0,`Downloading ${de.pretty(r,a.url,de.Type.URL)}`),await nn.get(a.url,{configuration:r}))};await L8(r,a.version,p,{report:A,useYarnPath:this.useYarnPath})})).exitCode()}};_h.paths=[["set","version"]],_h.usage=nt.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over 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 different behavior.\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 H0t(t,e){let o=(await nn.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(a=>kr.satisfiesWithPrereleases(a,e));if(o.length===0)throw new it(`No matching release found for range ${de.pretty(t,e,de.Type.RANGE)}.`);return o[0]}async function y2(t,e){let r=await nn.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new it(`Tag ${de.pretty(t,e,de.Type.RANGE)} not found`);return r.latest[e]}async function L8(t,e,r,{report:o,useYarnPath:a}){let n,u=async()=>(typeof n>"u"&&(n=await r()),n);if(e===null){let te=await u();await oe.mktempPromise(async ae=>{let fe=V.join(ae,"yarn.cjs");await oe.writeFilePromise(fe,te);let{stdout:ce}=await Ur.execvp(process.execPath,[ue.fromPortablePath(fe),"--version"],{cwd:ae,env:{...t.env,YARN_IGNORE_PATH:"1"}});if(e=ce.trim(),!zge.default.valid(e))throw new Error(`Invalid semver version. ${de.pretty(t,"yarn --version",de.Type.CODE)} returned: +${e}`)})}let A=t.projectCwd??t.startingCwd,p=V.resolve(A,".yarn/releases"),h=V.resolve(p,`yarn-${e}.cjs`),E=V.relative(t.startingCwd,h),I=_e.isTaggedYarnVersion(e),v=t.get("yarnPath"),x=!I,C=x||!!v||!!a;if(a===!1){if(x)throw new zt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");C=!1}else!C&&!process.env.COREPACK_ROOT&&(o.reportWarning(0,`You don't seem to have ${de.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${de.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),C=!0);if(C){let te=await u();o.reportInfo(0,`Saving the new release in ${de.pretty(t,E,"magenta")}`),await oe.removePromise(V.dirname(h)),await oe.mkdirPromise(V.dirname(h),{recursive:!0}),await oe.writeFilePromise(h,te,{mode:493}),await Ke.updateConfiguration(A,{yarnPath:V.relative(A,h)})}else await oe.removePromise(V.dirname(h)),await Ke.updateConfiguration(A,{yarnPath:Ke.deleteProperty});let R=await Ot.tryFind(A)||new Ot;R.packageManager=`yarn@${I?e:await y2(t,"stable")}`;let L={};R.exportTo(L);let U=V.join(A,Ot.fileName),J=`${JSON.stringify(L,null,R.indent)} +`;return await oe.changeFilePromise(U,J,{automaticNewlines:!0}),{bundleVersion:e}}function Xge(t){return wr[AS(t)]}var q0t=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?

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