From b71ef15eb2fff662f83bf264b052d7f300bd6c46 Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Mon, 25 Nov 2024 13:00:12 +0900 Subject: [PATCH 1/8] fix: contributor's pull-requests do not get merged automatically --- src/helpers/github.ts | 6 +----- src/types/plugin-inputs.ts | 6 +----- tests/main.test.ts | 5 +---- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/helpers/github.ts b/src/helpers/github.ts index 68d1dff..155b05d 100644 --- a/src/helpers/github.ts +++ b/src/helpers/github.ts @@ -31,17 +31,13 @@ export async function getMergeTimeoutAndApprovalRequiredCount(context: Context, mergeTimeout: mergeTimeout?.collaborator, requiredApprovalCount: approvalsRequired?.collaborator, }; - const timeoutContributor = { - mergeTimeout: mergeTimeout?.contributor, - requiredApprovalCount: approvalsRequired?.contributor, - }; /** * Hardcoded roles here because we need to determine the timeouts * separate from `allowedReviewerRoles` which introduces * potential unintended user errors and logic issues. */ - return ["COLLABORATOR", "MEMBER", "OWNER"].includes(authorAssociation) ? timeoutCollaborator : timeoutContributor; + return ["COLLABORATOR", "MEMBER", "OWNER"].includes(authorAssociation) ? timeoutCollaborator : null; } export async function getApprovalCount({ octokit, logger, config: { allowedReviewerRoles } }: Context, { owner, repo, issue_number: pullNumber }: IssueParams) { diff --git a/src/types/plugin-inputs.ts b/src/types/plugin-inputs.ts index 10474e0..64be51a 100644 --- a/src/types/plugin-inputs.ts +++ b/src/types/plugin-inputs.ts @@ -21,11 +21,7 @@ export const mergeTimeoutSchema = T.Object( /** * The timespan to wait before merging a collaborator's pull-request, defaults to 3.5 days. */ - collaborator: T.String({ default: "3.5 days" }), - /** - * The timespan to wait before merging a contributor's pull-request, defaults to 7 days. - */ - contributor: T.String({ default: "7 days" }), + collaborator: T.String({ default: "3.5 days", description: "The timespan to wait before merging a collaborator's pull-request" }), }, { default: {} } ); diff --git a/tests/main.test.ts b/tests/main.test.ts index db3ea65..8150235 100644 --- a/tests/main.test.ts +++ b/tests/main.test.ts @@ -151,10 +151,7 @@ describe("Action tests", () => { { once: true } ) ); - await expect(githubHelpers.getMergeTimeoutAndApprovalRequiredCount(context, "CONTRIBUTOR")).resolves.toEqual({ - mergeTimeout: contributorMergeTimeout, - requiredApprovalCount: contributorMinimumApprovalsRequired, - }); + await expect(githubHelpers.getMergeTimeoutAndApprovalRequiredCount(context, "CONTRIBUTOR")).resolves.toEqual(null); }); it("Should check if the CI tests are all passing", async () => { From ef290fe28ea16e0228d7f8429b35f2ed9af37d54 Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Mon, 25 Nov 2024 14:07:46 +0900 Subject: [PATCH 2/8] chore: updated deploy script --- .github/workflows/update-configuration.yml | 52 +++------------------- 1 file changed, 7 insertions(+), 45 deletions(-) diff --git a/.github/workflows/update-configuration.yml b/.github/workflows/update-configuration.yml index 2490c49..da66e64 100644 --- a/.github/workflows/update-configuration.yml +++ b/.github/workflows/update-configuration.yml @@ -1,4 +1,4 @@ -name: "Update Configuration" +name: "Update Configuration and Build" on: workflow_dispatch: @@ -6,53 +6,15 @@ on: jobs: update: - name: "Update Configuration in manifest.json" + name: "Update Configuration & Build" runs-on: ubuntu-latest permissions: write-all steps: - - uses: actions/checkout@v4 - - - name: Setup node - uses: actions/setup-node@v4 + - uses: ubiquity-os/action-deploy-plugin@main with: - node-version: "20.10.0" - - - name: Install deps and run configuration update - run: | - yarn install --immutable --immutable-cache --check-cache - yarn tsc --noCheck --project tsconfig.json - - - name: Update manifest configuration using GitHub Script - uses: actions/github-script@v7 - with: - script: | - const fs = require('fs'); - const path = require('path'); - - const { pluginSettingsSchema } = require('./src/types'); - - const manifestPath = path.resolve("${{ github.workspace }}", './manifest.json'); - const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8')); - - const configuration = JSON.stringify(pluginSettingsSchema); - - manifest["configuration"] = JSON.parse(configuration); - - const updatedManifest = JSON.stringify(manifest, null, 2) - console.log('Updated manifest:', updatedManifest); - fs.writeFileSync(manifestPath, updatedManifest); - - - name: Commit and Push generated types - run: | - git config --global user.name 'ubiquity-os[bot]' - git config --global user.email 'ubiquity-os[bot]@users.noreply.github.com' - git add ./manifest.json - if [ -n "$(git diff-index --cached --name-only HEAD)" ]; then - git commit -m "chore: updated generated configuration" || echo "Lint-staged check failed" - git push origin HEAD:${{ github.ref_name }} - else - echo "No changes to commit" - fi + treatAsEsm: true + sourcemap: false env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + APP_ID: ${{ secrets.APP_ID }} + APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} From 27d0027f997b1ebbc74dcc7deec5621c479ea9bc Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Mon, 25 Nov 2024 14:09:32 +0900 Subject: [PATCH 3/8] chore: updated deploy script --- .github/workflows/update-configuration.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/update-configuration.yml b/.github/workflows/update-configuration.yml index da66e64..56ca8eb 100644 --- a/.github/workflows/update-configuration.yml +++ b/.github/workflows/update-configuration.yml @@ -15,6 +15,7 @@ jobs: with: treatAsEsm: true sourcemap: false + pluginEntry: '${{ github.workspace }}/src/action.ts' env: APP_ID: ${{ secrets.APP_ID }} APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} From b34e5c172a74f9362449ada88371348d1b19e41d Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Mon, 25 Nov 2024 14:22:11 +0900 Subject: [PATCH 4/8] chore: moved to bun --- .github/workflows/compute.yml | 8 - .github/workflows/conventional-commits.yml | 2 +- .github/workflows/cspell.yml | 9 +- .github/workflows/jest-testing.yml | 6 +- .github/workflows/knip.yml | 9 +- action.yml | 11 +- bun.lockb | Bin 0 -> 348684 bytes package.json | 12 +- yarn.lock | 6274 -------------------- 9 files changed, 17 insertions(+), 6314 deletions(-) create mode 100755 bun.lockb delete mode 100644 yarn.lock diff --git a/.github/workflows/compute.yml b/.github/workflows/compute.yml index 430d000..c001a53 100644 --- a/.github/workflows/compute.yml +++ b/.github/workflows/compute.yml @@ -29,14 +29,6 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup node - uses: actions/setup-node@v4 - with: - node-version: "20.10.0" - - - name: Install dependencies - run: yarn install --immutable --immutable-cache --check-cache - - run: ${{ toJSON(inputs) }} shell: cat {0} diff --git a/.github/workflows/conventional-commits.yml b/.github/workflows/conventional-commits.yml index 6b3066e..8d17568 100644 --- a/.github/workflows/conventional-commits.yml +++ b/.github/workflows/conventional-commits.yml @@ -8,5 +8,5 @@ jobs: name: Conventional Commits runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ubiquity/action-conventional-commits@master diff --git a/.github/workflows/cspell.yml b/.github/workflows/cspell.yml index c81c97a..fb55b66 100644 --- a/.github/workflows/cspell.yml +++ b/.github/workflows/cspell.yml @@ -12,13 +12,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Set up Node.js - uses: actions/setup-node@v4 - with: - node-version: "20.10.0" + - uses: oven-sh/setup-bun@v2 - name: Install cspell - run: yarn add cspell + run: bun add cspell - name: Run cspell - run: yarn format:cspell + run: bun run format:cspell diff --git a/.github/workflows/jest-testing.yml b/.github/workflows/jest-testing.yml index 7f8747e..af5b896 100644 --- a/.github/workflows/jest-testing.yml +++ b/.github/workflows/jest-testing.yml @@ -11,16 +11,14 @@ jobs: permissions: write-all runs-on: ubuntu-latest steps: - - uses: actions/setup-node@v4 - with: - node-version: "20.10.0" + - uses: oven-sh/setup-bun@v2 - uses: actions/checkout@master with: fetch-depth: 0 - name: Jest With Coverage - run: yarn install --immutable --immutable-cache --check-cache && yarn test + run: bun install --frozen-lockfile && bun run test - name: Add Jest Report to Summary if: always() diff --git a/.github/workflows/knip.yml b/.github/workflows/knip.yml index d9237eb..4d3e33d 100644 --- a/.github/workflows/knip.yml +++ b/.github/workflows/knip.yml @@ -11,19 +11,16 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: 20.10.0 + - uses: oven-sh/setup-bun@v2 - name: Install toolchain - run: yarn install + run: bun install --frozen-lockfile - name: Store PR number run: echo ${{ github.event.number }} > pr-number.txt - name: Run Knip - run: yarn knip || yarn knip --reporter json > knip-results.json + run: bun run knip || bun run knip --reporter json > knip-results.json - name: Upload knip result if: failure() diff --git a/action.yml b/action.yml index 5acf40e..de578b1 100644 --- a/action.yml +++ b/action.yml @@ -5,12 +5,5 @@ outputs: description: "Conditionally merge pull requests after a timeout." value: ${{ steps.main.outputs.result }} runs: - using: "composite" - steps: - - run: | - yarn --cwd ${{ github.action_path }} --production=true - id: install - shell: bash - - run: yarn --cwd ${{ github.action_path }} start - shell: bash - id: main + using: "node20" + main: "dist/index.js" diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..f20f4591f87ed92ea4c9bbf91063554536558536 GIT binary patch literal 348684 zcmeF4Wq4Fc)U7+XCc)i;!{F`-uE8NVQ4)v|0fL6XeQd)96bTIuD&pqjU&PbDTXwfl|0MVn@(pnB;^pJ( zS;#9O$j>#TP`9E<;+RaPoH>d{j0yAXRxjzq7l-37wykv8smH?do5vN2oPWY@)t~{r z8^=d0lgTq~w3rfU@}GvQeB(B%L3BQ|$rK(ETqwvhBq+=;SZm@D5CVTpri(TvQ#RD^ zf~JG6hNgge2lxlD zv^dm`<+0cm|LefXq-Y=D@9xQQb`Nq53=A`wV)N_Aaf^Q|&>6=U>hIy>?qf2w#Ng;p zNT|QRr?1J>7k)7=DKJ=SODOG2y!}wmICuv8`uK;KOm)y1<5v)x6`EY>LIj8Ld4(UG zj~h@_g&$SANogufCgXD;rOA{Sx*U1>W1n7&UmPgs&%@I#v=hcJ{f-9@B)q>;U(as- zjL$U~W8BXw?TY&7`NO2J+{@QBB*fFh)WtIltIA|*hRNgjTvfY=$m45x=iowNu718I z*Pu>;u0g?`S5ck}<*6{q)C5q*XD*a}`*iXT2*M0?@(plv^$j+81_uUtB0ms8VZEz+ zKoA{t?Hp~^)Der2>!d!Eaj6EQ9Cv7tPod7iCR1Rjf0%oKhi4O2UK&b!`IU~(q2(o> zSx`>DQYc;EppADrl=kDR@(&0a$NNmFPjDf+Y_iRzwZEgv$01LD?n7xe&^5%n5Q5g- z+sEA-ZzATnKa8X$bNh zSL*_rzkfq%uNnNx4y^#?IxPH$$%G+=cQ2^z18I@R5({@mp7C?X`X=||dR&cm9MAf~ zTKz{T^KL<|?w-LWQ&17Dd=u0bDSFO$Yh!XKRKS(Q0_N5F)sRF19|!*{)YtjK<_4# zSFmR{PydkMJ|(q&ZAxkOJ%imseSAGk9%Z!s)EUbCv8+-DrOA}ODXrDtgz|Vj2Iabq zP`Xg*SfzcG`Y3I#)JbV!D94*gX(FYs;UCLyLou}QQ%ZLzU7>WkQk*aRahRC)VXR5f z{%aL&oKv8T&wNL1-g7u<`*ad$I+PDYJ^c@Xay~qiHd9(%X=y0u^A9N3g@aNLA1^P) z7yARn6y_f-Civ6YGdRQ){R2gfYiRyFfYLwNKLWdSD&*l4Wb#tS!>^8mz(P0~qMv`O zYkaQSCKJz-$)Oy_11R?q6O_lP?9;DmX?E@FYVrIrKDFQv$CI?a7N3LlwDmR+%6=v_ z(AL>KWw&f&lPL$v??AcFpN4XN_CtBxly6s>g(#^nHqWaXM!@`ubOD> zw}In&4RiJN^+CL3eP=*zrRMO&{a(T;xhXr--#CFqBK?NR;8z8w$t)1dqX$~nIEP|klRPygUBe|J;o z-~fLtJyR8w=VEzVE&le%5ccvliEr z(Co-Bg_0itCD$IB8(Iy@>x`@_-yP#&oH{^x{5OEo-&tz@WIqh@bafBG2Amc3$x)ve z%DCt8)W%goaSy;Tu4%EV*-uhvQs|9T+PvjKJ@di7uEE|I|0k>qJLI=x`7>UvQAq#f zyvg&QkDu#*=g+l1+PXN2cJ^p@07^fqK{-#SI&1wDL!S0?Lpfj3Cnwl@*+t_XKvX?Fn3#%>2ZMOx2t~`u7BOVI|pk0cE@RmEuJG!KEyB3m+b?6f^ZhY`M*b?r+bLW z^d5fDKF*fzuBh(`1|bdigC>W%LOITsP#!nVQ1%z#?-}Cb=V|i8+0ea^m;VLy!|@G9 zpX9qEPd)<5c~}>!t%F?Mw0$IoRP*V`!bKX{_;dfOfz~u)3eFsj&;UVALaCK@nCHn!=XHnc?Jaq1Qqh^F=L3< z-;wHCyAne+zcxa79L|6Wxr1{07Z?=a7Z?(3>NY~_ zw~Mc5D3+or3@5l?XvL9QKZT%->p!s1dCq}6)n}B}e|sqVL)W1`;A)Q6#u-+uESHCA z8#u;&Hk9MXRdPs(k7tmJjmFvkrS&rpN;_|%Y&RLoezQ!_{0M`xe!@7dyi-7+2m7yy zJlDktC^_7>7Qzne5OH+o3$jvy*2JXSAn3WuTn@{7}X>J(PYFfqyK&H(MLmV2q#T zdC?F3vVpSwT`1cfSGpBS|K>q?eK8!$IE6xK&kM@Lr{W`c%6 z>2G|Dm*d2F(4!D8x*q$?vE4h#Q)qR$~kGm%?{p5Z}&cky4itWC~FSt90 zXG*+Q8&`0MYe*=rk)Ey5=F>eOpoO=(HB<8-{j`%7Umn^Z}L?2a=(2W{-;CxKyBMJT{xz#w=%~yzy5&Ij;x0hXwUKW z42V8`nB@77+^5TZx!i~ELVL!+&&MBEX2BsFk*9y%-MiyR_cnQWdbx)Bh6KCAIZupp zCF(hU3zbGcOe*9TEYA;uL;d_*afjF0C&Y(wsfhK<@ee(t*-3g<>)!*)xHg9JIJG&a z)dzdK7UuJ!p~!PwpTP0>%6(p|Pp33c?RSB$T>@z51=`VX-p7_e-aW{@Pzf9lcTr9| zk*dBp{9(HucoxPK8tM}rD8DYan8b?l4h`iuz<@Hv1XlAH4{K^E)fqVvN zVkrH^Z7!!(i%!jD9xeN9?JFi^_HeBF;3>6s{B=@N0n|-x(v#B zn67k$(q2ltC~c#(p3(|R3o6Z|G^x_hm@m%bZOj*s>!V6*zt-&GFocID(-xG|&*@OE z{|->DgJw#Xs`~y=?n}eoYU{iYl=-eoJyiK9w4>cn)n1=TQnhnoL8!Xzj7D2YKQ-g?ms~Uda3 zi0esi)290pr$#Zu;hb@GM?u*cl$MsreuW?eF=<)A|(%xDq<31P4wb^YwMyqJbyWRqvDN&lY^TM2IF#`$3FUm}w%6hw;vEza+R58A6YaC2ya0Ia zD|6u&?Pgo>d`RWXJ*0Ji zMr3^7vC6;MX2!WuGUdAa-TiX!$iJd)vmH}MJq?fans%-480W-uE`AJ{m$<}^hRYKD zIpgaTuedI)#@Q69-}(8&th4W=8|3$Az^Xf!CJs6?Yxa#S{np3NW_QRl?kca;-E&V! zl6cShm62`l9O;~<-(Nu+vd#!fQDtVjHSN~#&v!g;ik1U5+4t!B&!QUHYRp~ZbnJS; zLs^F0+8Go#bBN#Usij{pIG1m0it5W+WR5IX;f>?yj_dB8OO(H0iA@vAoLhK2%SZ3D zXBxHmr%oA{`lU;)kIk<5Un~6i@;_@=@;$h^>eMMcT$Ajbap`#8-rYXN=GXrixAO09 zx@~b5kC^Dw@2FRmM8y+T-h8!l->mDpPHb7L^3}YNnVQ-DJ3ars_F;e3uI}RG9Iy7p z;mzk?ZghTOW{LOi;5nNvRH=U^qFH#aRrX8Xwa8feRJMQD9x7j~UbBq-uP+bY+I-o{ zIClTuUl}&G<*lx7Zw`$N`N#QiqS15LH2>V^MDtgdbEcX5_w6dza%4!Eq>^o%dRO}A ztd#J5oosP#wQv0NX<(}zPvg(H_9Wk-QN3-`#W~lbW#h9A+Pye*bMydH$(tDu@0WfL zJ}kLBboI5z!S%Z|?^x~6K_wF9ZcwLwo8e_A6`GJ^Ps&4U5A_>YwbSz4#eLVlJbc2t z(}DaQ!n@z}vO6{B`q`BmvMv4cz~R-~kTg^M@@I8hI>D`>XWxh2gIe8O+;GLI?oTdc zC^h=h2)p<5m&b`?_w-zg-PiVC+px^ey~)BkkKegn?T{)_$z?fQ=6x9SHCI%!>=}~& znY;L-Ci@Rv^jy@r@b*oGs}|39dQrL>ozrd|T71d`$GvAaxun1Jc8tg7Id}ej-Ee}f zTAlwCkBG2V8gO*jH;xhSwPqw9J($U$+TG>=Lui#7JRyC2K@GHCo2 z@6E|wA`d$k**!1A;XSF{y5_3nnAEQ9DVL=u>%5wM_u$dvk1{rDU)bwXl{L)^mA(6S zma7NPt*P-Q&XvKvrwl9MKQ^+C&6-mkha68++iAh8&JSki4*#RzAWyd+*JH6N3v%}! zkRoH0-`?pi_ZuH+-tqC*4}ZD7*_rxcg3WvGXRGvb=Rb$-OL@n0DcyWOgLrl|9%c6PaHG^;Z4kG98>H8|UP{j>Z- z66T-PVE&rL6|&WC-*a5udLuk0{Im7)q3dbt+-;G3T&~;xSzqorcQIGFu^ad7@o^|N zG@)~^?t%HAR^8jG=-VVCH;fVglhsK*W%Q%C+c*97XSzX8hh9r#Tc@?V_l5FVOVo6I z&~u`Lea=eNx+i?O@zh-VEPL}kY*;)+pB6VaH*xdrIPdHEu@O$oYWlPbs*-m`@^sZ7 z&RW^+K$FTR3uexeV)3j@MK_;$=-&F^oA7MC7c?I~zQW_2okvX@>X!CXV!Ldq-xNrh zuY}Er+jAoac-1U6>GH1Krl+;?JdER*{=u-kv{#CQ*V>OQ(t1>$^_9vc4yd^QQR8V_GE_%$jREb7wh?cG%U zR&4D%X6?~zwiz92+^V#1>x|o*UmUocxU@@yB0lxHq$x6PSa^=DsqZ(uS7pwF9^KB4 zsy{4avV9I08c%NQaAg1HHw_$DIZfWR_{{EBJGXj|UQqX3!wE(5w_9+qLfej6=XNf$ z{=oa5UuFL|_W4+wy*1z6mgC`9$3g#=1=B5B-_Gkr*Q}pI^&)$IjE{@+=#hn9 zjN3P4Xab*218D-K^t|6pf>YFZegz8pM3Xx zZqTMjhmGm?T{(I3%blnSuC9lQJ0~tN&b{ZZnREI)-`gi}#)YG2UQAwnK4b43FJyhU z>bYRs>onI^-fPq|ZiD7iH@3g@ys-0}jKea%^Lz4lJ%{0S*MGfnt?iBG50(tKJAXbw zU{vQ`gA zW5Y5tS|mMIKFFxBPm$|c zrZZFADlVDO^rYvjIpZF^{PZYalU;MdUXCu@xXht_)tnEl7&bj}XVb1%Tv`ukvB_qA z)YC>SM?Xm6+q83{NhXE|xi)|5 z{I1K}4J9kTs5<0r{V~sq-O1@a@BP_`S&{3!>}L%cf4KkYAkbPKci9$RWa)uxN4s2Kwzc%c4_6m7 zPqxq_{|q^Am#usFY4Pb9dpwz$ICXx{QOA?mmo8c)$$%?kW@NwmDZJEQiv!a{zOn6N zBj?RM<0DqMI>oy#=g;vi7TeTbXtOmu%lP!Qo>eM4B>uR3krg5%<323YV1emj*z_db zBMy1(J8|+}yJhdXZeBBU)w@@dJ4WvGYB}m@##YWX_8ob&zHf*6UE|-MSlWNe%48{~ zJxZ7U`q@rt7XGn2>ek7#$#d_hSp8HH&+Sco_Qd&e=C4LcTXws$F#E88wtkLlI(Kh5 zx}Bd-yo$Fg%X#BSqKA3vIv+mTvv=jP^FFkU>l8QXr_PU8+OFC&uTHbP*)Kjx@Mo*p zY0j-(vuI26fJO;Vz6*UnuzA$D^}Q3cn_g+;LjRAA3S7<}oG4wFd_yZF&leRnvRk<> zo;w$8>Gw1$tYY1?voHNoDsH+*gPTSUIb(BZ&qBvOty*R2_-cISz~(1h?zar;w{X&| z$MLgwbn4c!c$QJUoe$^x_u8}Ibk8@QcdofOYRt`&Ez2+KFe-)3i_%e+70+1O*iYR?k|$~BCb-?>|8*q1h0 zYF8PNcv#&VC#O$6oUyClrlgz3_P$iNEf??nY1eX!PlJ3_Y9zk=c}eZ_@isZ6uF&`Ioh@FraH_bc zd&kDh>pyX6obJfxJ=4#h8XU1=Y3@M>7VgM?Vtd=WpQCz?Om^+*xxj~2ZSVivYg@U> zxfUK<;9aW2q9T7hnb^df|C&O5qjxrf2m_Gv;H}cIhHg6}!{A!#`p3qIwn#Y5Q_W z%SwNaY!^}Q@R+DuOUr~m{dnhU;{!fVvb102v+Uf_RNK>5>U7eh_mIxHKKt6N4s@t~ zd3ivwb-qvCXFc|4-TZ3Boz>Il9q4*?PVq*~&pgi6Gr+!8^%piT?rsm+x$m!}W2&@x zVB0KWOT>We2|rwEU$n`Zf)S&77OwE&PKvenpEk<1t=;~v^$J(q;pFm>RA1zC6A+|uJwQlA}JZTq4lPvSQ3KK$OK%x{w3s_>}Z__4_!xvq>~DP++( zQ@K~&=G7X}D}Kt5O>?H#oMt-NXz%A*w{IV;zT?EkF_oRqESlS_QHjZizO)-Q{Jc=ofxHNvV++p?=h^7MlaPTlVE_w6e!%Pt>XDB`Mp z{i7`^2IU*(H*IT zwCejlm8){3>+mFnQ}?S~r)lrqRi8XMaC_6#l~=Yr&Jp}a#uD}Jz1c7zf5MMV+h@3R zZTPk6&r>bib7gAs@~i5%yWhYmB+rpt5j$=?=$){N@9@ppw|n$-EO@I#p=L>2=iODh z|6k2c%k@f~;b}%E`*Vj$_6<3H+XmKrTz6%a^M|XBXm_B^z`nUlTuV8-<-*i*eGnBplGUI3$^DL;hvobg+kKBs@%EQ4Tt0vI5xI7{%&)-)*v`E!;c;BR#+J~m!SNllG$ii(-C+Ie(?)kboW>$P!aLjbm3Wte% zmNpO1xwKZ1LC&=Xze<?gFd)B?9B3JT<)+FD_(DHpKN=NV^<$k>XF&!cf?0f%R zZ?zAa^|qF4IT_E7?M#1eUvjW!(Ef*Y7T%0#8SX6S`9UMMWDVGHe}tSj-%Odd)O)T| z;>2Ia&h8j;(`IMKhtqH5N%|$W>j=3|kL`Lw)>X+5$+oqe_)q&?AtkykO6}ax>%)gp zcQSZnI8r-jtAaI)&8^mddaB!vk9T@nsD1;V%2_>E#2;}WYGK?So;w=)O-pPuXkFj@ zbK=g-UCh;^>5X+G*FKqdf9-So*)y*`ySwoHjmWt>9{ChF=j?Ry>ZA?z<|it%_ig&} z%PudfzQ5h)ex0Ugw?9?%Oy@f9ihO(#zTw80$wL|(E}v%pAGsP9kH2-ojn_v~HodT9 zM%=#RGq>4Lyg-p#PddDqKeI}=6`zM*f8GAyvM(>pt@Hlb+3MEXA?57RQSe1aTnU1*z+RMuxbgf&!1OG*2Bcs=O)#!=Jv2q z>Dy7Ys`uL^&wu1TUGB@}KD^T9-EU{u&mA!J>VyrA2j45YsbI^R~}%|Hza0E>3xNl%7}Oyz}gZ@5^jC zea~%4@VX(g-<`;xDe^(>Y4?_wcWU^;Ay?PgYhBK-KKCSTjz)85-AT6b^M&oJH@X$u zlIY~px_3IK@ts;P?}(POy-Ox4c{kPV*LQn)WO`b^&dJv9wYl5&*~`*Bb+1t2 z>4rt?o!nX!KGxFzQIUb-#s#ta?!XNF+6#k1WWKX$Eo%9L-I{msB8TUvI%So@yS#S!lvi}fk; zYMRY}ez*F+z4yj8&9awo=M_Eo?BIr=&5@Z8RE+G_~-wP)6V9ZYxt&?y@`1&hPd30FXj(yt9-12&8$KFl%eVjbAbjp&gTMj7xI%3Dkw118s zu&HCbuCMxsUA-F+l7D5`^M_??dX^hMJa4mFKJiB+eY1CihtH+9j{=gu%{0AJ_j^~r zp1=2H-hem-az325!{yV{3K&4&D_(8yBq{Lfc9}Ob2TqUwX?&^u7vr|*(zkblzt`WJ zvA4jW$%*?en;RG}@yV52w&v*4*Skug?YqV;8|dYpr(MqLyEYZdW4E?I-YErwJ+AKA zVya*_xI_EYJ;!Dlw5g_l&Rtm#449d7qRo|k532@@^f?kdwpspG5pz1fUta!-!>9Z= zZ=Vl-mEdZImrVmef+XN_`)IAl>cl`u=spp|1G=Q zZFHQA$O&?(d%~uBh*`slAys_2(9#JoN z&4wX!H`NFjx+whQ?yoOO+I5dJ)TLvR+E&lQUd4oFz0N`|Qi;(9F2wzXyE8bQsn zEpn;w=j6b2Ntea>biG1?k`q3=-YuNF(SZkfw!G-`{)5Z(p)H%gebRD!<|I|C#7$hU zcf_lOWmZ=jH@f;~r|qB9esQR=W7V0_$(EixSw7wj@13{0Rhn7O`E13RPo}?0*KFt1 zTlH^EEPb?;OApTz+iK_BQDN$n`lr*kDkRic`1W z+IRPG;G|p`ULSjR|N84C*%I5P-@K}8o#TaD9bdJ#bm2I!M=V}Gx&DiSJ~J~s-FCYA zO2?8n6S$Y$(4+i`mI>rJSKEDmJjl=|ue09gzl{!5oUrJ{H1FQ$?f>~auXNTqr#1(k zvh^R`@z__t>^WQ4+|h5!r<+c#JN!2fqu%UUT=nC{RYPYNuC?jjv7?`#mYQ4cQHVTu zZGMR&fbl%&Ir zdza(qyHKfOo3zI&?~Yh^-`8&Mhrt8-w{raBNmRbl&6k~6bu(S9`GKhqbQ?0F_~8p9 z6HY17Yx~hXx8~kCvOKc?wJ6VqXUb)MW`Ak&*&gBBOFo(Hlz9B3x_|Y2l%V~v*Kq?U z**!?+J8)^Z+s1lz6E5vrdbI7;L3cAn4LMw(!tO7BmdUlc&5kD9?wzdu%5MF#Lp%7_ zn5;^16#W(*;oWI?JmgsxUuUnv7r~c5z%x&u;u_@J0K^;KaJ*wQ(FddU{{r6%yx686 zdXltzh%a>%ZzQI|-@|~Nz|*D!K1Ro%7lSSao?}md58l=5N@CvyU{&z=ofZ@O&^rd< z9{_3$o^jX9(m~_4_7_RoW_4<7H3|MMv}mi59rz-T-0 ziBLx0^~ON>e&EZ4$L|0{Cn;CiUy8Il3m(6g5Iuh^V+`~p;VUOJnaY7DN8hD9wmziY z3Gj`;L!y(E>*cc{aCO1Ux;M)EfUg1`zmpN|zx1Qmegycc;PE>K(Y(?5`>5ScmB2HP z-ybo2{2v5g2RzrGCF?f@2HpWY$4wu&2kJ@Ue;|1JulKlw;&0{1`p{zJRZ%{MT!nV-x?I;lx#0*|%i%rFmZ^U=@F8l}ZJbz;u=stIu^QG}iV)en}chC$avHvG{UjH$EEYrINg^vVZ3q14u z7+wDkxNzn5E9VWrhiB3oN3rh(UiMG=Zq)zz;JJQ*Mkm<^B>yWF`xn6T`h|9}l^M35 z6~9Eu{Y!i|>c1O!#!q;o@t+LdNsZqD{_{B0lVtoC!E^s2hozu92|o_Mv`GKC{%|Ph zPQv?R;RmVl6E+&Z8{m2UAe?Ayj)?tIX-uXj;JI%3G0M*a?+l*vM&9WBJqOS8KUwY} zM(vlwg?}T(1J|8o{KLRIfhTCm_z#1p|Kzb0bSJT&FWtBEFUL+F^d#Yf!1MTJ+{sIM zY<)<(E#SHTk>!VbfSx3LM*LDS_kUs7hn^&S3-HyIeR5JBTOZPH8u;Si88^m&=RrM5 z_@m&te#uLj5k6xE{GCkjVps1TBDOk$=lE%pWk!#m1>lP+o?|c?{|De@{>bZ1;(xA; z8c(|{Gitvh_}cJa@4hYmiTyRozW8p`{!{R!VV`m5NBR{zzfx(J3%`ud_|rbG0mP4A zaZ)aP2k^Z9m3cSn|4i_XikCjcMocPgKY^G1o3@SGcfmyuGW(RjV{CjAQE0en^17r#ZN-LF*mrQpje|Mjx$Q}{dJdHu(= zXUY0akH3Ub2E37L7jyd!!IuKh`(I1qKMFj@Z>j%}z?T5e{lmx@Bz{@4Y5%SXubYkB z!wBCKd|TLO-jew{51!XAz)ePuA+et)yLSFz>}g-`90>0Vp6iFUEwMibyd1yc1G=U?In`->@w|Chl#Df^bh zFO$Q!{flFleq*xDI%(HN@jQN{EH>7hUkSb<{Fmcb4{Odp0?+t!?)9!+b3Rv2ZT+!K zuEF>{wj^V13%;_7Kj%*G8Wet-;$_`QxnBDh!OQuROx)N&RWEkZ=hEWOJpJcKPZGWv zc#dCUC*z2%58>y6uL)lAv2ju_?O%bf3SRHHf8k zSbU60g`WeyI^vfQjioFmPU@uX9q_z5UzI5c{3LSA~7aGX{E+v|kIJ z`xiNW^o~RLXW(0aPXt!)vlIF!{PBX{o*!7kH~GV4YHx-82=L9U;FA~9&YzZ!zbSY} z*q7KFoxj=O<@$}skHnQRjwwmINbubM6RXC0_aWia6#oAD!KnXjz|%h0K0nfLOun;D z+U)?(@yoj9Jm^Wn$19@QXP)+r`d=A5@4w{O6^+dYvELg!{pbEe+eYp02haUW=FKRd z3J<>+f7&;a#Qz51IeyyZ92m9VA3V=L^q;Ksi?1;zX}1GB-=7L=bpBHm)1E(&$Ezg6 z{#OUj^RJ9s)?tj!qf-3u3BCq+=GlkLqh9_9ct^AG$Hqy$*w2WQXH7HS==$vlp7EFd zjQYPEJl7A`ANMb#_HTf<=KNC{51$&rzNP#3VDOBerTkIwa{aA$?Qjky-U$#q+5Z`P zy?qGp3?5rZI5|H5kaB#DF-f~&;LV>O8J)jf;2o8H#!!x<7>%P+?5DuP%i7@ea?-Ex z{O5`I{FLQ*m1fv}FTl=L@Q1+Hw}MZD;9JAHTFI}ll7DX{U!$D%{?*d?8v~x}$5Q@+ zm3%fF{MOj-WF^1KO8%{td=)(WwPyT7tmIFC=l*T!{HMX@YYpGVN`9`D{C)7%tr&m7 zO4jiKR`P4DN^9t8fOi9`uz{L}`!06w9CvWupnbc8x|G;Y} zp1%{}qbG^|`i}TNcGUcn)q5Tlek*u6|Iv53kHps)lkgRtwBKK%UA@{$5G;OoMF z+GZb8&NeY6X?GDkum2?O>_blyK3`Ss{zbTWdSJ8>-s=Zm{D`d^;TM3H`yVn!fB)yU zmApeW?fB>T|tE_tKzzXl$+km15fzp?os?QF4m z;t@nNFJp*}Wxenf!Q&BBIDNMye%|1@|720T-eXAYr>&v={U!27o&gBI1iYj2U&_!` ztV!Cw1kd|_j^9WUz8Frvj^OoOQo%0BI~ z4?Rivso)!em$7pl=t;uIsiXb=uJEF<^&xyq@VErAc>EKiY;av3e)?}C^8Ga-1r zN$lss&37Bvw{-vP2Ofuj#q+-(d^IcVZ)gzxZ!kxne=XTR+;Q>5>sQ8(@z(2Tt8XDUk1kXds&*Rrf5`F{ts#e%f@1k8l zas4n!zgq6sKc!t=@VtIuOZLGz)RTmt3LdAxa5ChLo`2tg=l;oc%RY^+-^#7Ny??ai z{4pLpT!>!(maJbcUhbcA{776dlo*q=s|eoF3j4jmmj%!J_GB?y{Jv7`uLIBcGcRlC z`<6e?3I72+E+L}%pSS#Zsqi&%@x%KUiQms#|Ibq42ZHDI?~m)o%`?QcaB-7q*vuUN zK6qWn@y8y7KLQ@jqWx!?-WUk~8GL8uza`h7{o88qA31(Y*53v2;a1ph*$)4wh2nYb zZ*=^7!FRWUuh8CP3b2A-3f^DwN#MWUeOTr%eFu}NzZLeUf*)vw{VW~ve-l|@KODT9 z74~m|m-uBw{PZS?Un5uipPtUh5eo2>si6)^ZNGtLyQ~e zKu?nR`GM#8Tk?#7o+Ry;f#>@Z$?IX+M%sS_&-WMcR2i>>^d#ZScl!SNSr5xL!ux`E zf_=_E&*6HL@MpmD_-EX>_KmLpQ15T=zx1;7QS9FUUk3I$@7%xj_91+ApKs5<*{@N) zCwLzJ!torgCyD)S;N|%RIiu_MJ^0$NPgZ>3_t=uycf!SAdGNgNp>4f=2;U1lZegQ& zmKo*mf#>?6ZSvADzQ&lOU0Iy`9L>gWG=4o4ulKkYr^Nmy@O*#9V~1r%?Z@@i=1<}# zDt3OQV!s}E?q7O2=}-7!;CcTgdG14clC5kOUl;bpu9U~-gS2zT#TUmf zao4+t2|p5i4e*xkfA1Af{~3eCu{o~l#eQX6ymJ4y)c!E=)xq=Hk@jUCVsk_69|P|Q zUh=VVQZMb3yO&tOT#|rPjBq#gV^s2-u(P6<>KeBRN8F?&*PVQOXBwiJoj(f zku}Wku_duz95)|4{y2WxmvyX{?*X3kua}d4#r{_CeEuryhU-XA68=4S&cE=<^uTB% ze95j_{DtRvNKX>p13cG{#NO!sGYvd`1=ix@?*w>j?q4zoY1eNYH)9}ih%E*({!!qa z;lJc#hM}^-Bp79sXsC`>JeB}NwRD8|n+_95lW$CRYq4Di*! zTYCIo2haVN$B!lRm!apk=NA%#nEaMH@xLB;CoB9P3EmMr*AM-de#OqORN9>b&+8wy zOM{Qz7zl6QOM8AmJ~=*mV<3DT@Yam~8hC5YKV^Dr`$rN3W9L}K|1scs|08iTI{r)G zdHpZPztQX0bbYM5e`x~Vn)poy&;6I<<`|5Q|2p_;;In`=atuoR9r{{#{_g^w>!0@Z zo;%R=zxiJT-kSBBu%Gt)fN|rPWF65)Oi9My7<^6mFL}|JSk_6qdEm={r~S0}7+rt% z;o9$?=$&_%h)!a^Tln|q5503B{2K6Fzs%d=qt_4N--0h`Mf}S4*UsOx%a8PnuQ4WR z*Asks*q7r!M#!vE_;uj9|5&*g;Md_CB=bpCc)X+Qg*Z~KoW7(9=Ewr82%H6Z+5@Rh(@y8den z)z)u9*iMZP=Rr>r`^UjIgnjayf1~HmEW@<>Z?Ug;4T=3O;JN>j=iD2e|4ra!|DbK7 z>p$ag?e{+ze@pnT;N|>h$@*Icz8uDH>HOP_ux|f#1Ya8VIUkI@%nQE8n511ecpm?< z?v1X$t>BA;mw6M7(Ksr_{!{QJz^6bN*N~L!JFL)lm zV%Mnuo51t>jW)>|<)4F>_|Yf5`-u2oc+&U&8|8a}cQ%Wk^vm(Yl%(BN@GfTYlk%8Y z)=9fkleOQ!m-xrVNxks>!8cO&*@w~jKLx&-ng2%PS7nO!@26Yp|8(%y9Dg=bzy1Ck zVec-C*$M>)&YncK*N{jo%0GwXKMM)oI`E-#7;{u3wE?%B9^%@YalfKX^HQ z*|+p7c7CPOF5dL-*T2#Dd4acP{T?;5FFyUsXY+Dt8$9Ft`IB<i?BKFhG z{T4qGM#t~>18>y-J>ct`tzYpgX79i4^LF#TKmQxOf9nF?{QAi#zXyC1Rco{!%!+ep2+WA+;W7K|k@Q!N!XrD3Alf>Re@VtH%yNsir zB>ZRaRn6=hz5c1U=zIT-?!P0zn?FA^>i+@o=JO}xiY*4xF4N*~#~;g##@`h@_b=&B z=0UIh72sw6h>bC?7kgiS;Enpu^(sU_s74KOS@mGwDShf z`!}}ZF=TZ8%>wUe1%C}ZuixdoCrW=}O5%UsRoeRx`fZ8-t-#lWee%+0Om?MC+Rg@F zRq;}%M}@x$p8KcdjmAI2>TmbIw5xXy6MK!p^Zg<7T!T{1zG6z!ZUA_>|6_Zj_RoN? z4*TTvva}=i)BR)J`KKXxu0O6F_GvW!qrg`MPmX&R`_Yrc{}bTl`i*@U<yXw5_t+M7ME#R%$KW#Q>#~=IC8+&vA ztAKaJ`02O!#QNBhw4DxKo}U}pgM`1K{5Rq|eG@+GM$JC=4wmWdNBH^RYpD5Wznnuo zN%#lg9l?uTUW4gL!spwh{r-jCbt8QX?*pFehk5!S<jz1;JN?Eyz89@v40zU74VYRdk&WN z4x6>}H^;BnHe(^Y7x+rB&)Ca{^|2-4=Y!|(f3iJ&(3^z6rg+9LvtAhOgwL==`~7)) zl9p&8-bz%%}Ks*L9_JxTcO;JJRu7}*1b{{+4~c(Rrpf2Fr-@lU3B`k^O@{jT6k zTQPr&!IuQjeT#h>UB3ypY1ePU>D>dw|2p6uVPB3vJ!5AZ;m0f9$hC_(e;<5B*e9>o zcXK}Hc8%w;V+r2@yj=fVa{R9X&-I@K_Kn0);`dbfFZ0K-=}E#D*rC0@F=Ctj3m*=? zGW?hQUvCVB-wvMhXKDQ7?fiEApl96DM(kGxZ_WDY3BCpVw>17Im3>S3jJv+wKkAJ= zV<6*i51#vv-hG!WlkoG*?6X|255nIA?`VbnV!O5VN4t7$(@(J<0KNk3OFlI#btGxO z6ns(ew9R8kuMfgs2G8dYa@}c^Pqyd#zrU`-_2?#Izcu)(uy5)5n*rWY@s{j=SHPDA zZ|VM%dari;S{lDb;N|?UH+F0%@f!}F$B&U~FLQn;cx%T04m{Tn=g*S(7uct*Uydgp zK6=-Ij6Vc?F=amucqzx%7?ZS1yZ_t2|7>Io!WTdA{qfH+=t;s41kdv~8I~D6{?3B0 z4qh)uJ4|9f_rY(^&$JqSKZWlKp64&IFXgfIBJEayuWiOlKYIDs;Om<4v2ju__NyGS zZv6ehJHkHu)$2Rkiv3;SdHhPAb$XJte+%A8+2=iw-Xwh4!`kypaxBw(3=8iC-Vye> z?m2$FF%W(c`1;`Waxf8{gnt2^*MDMLZ$H8pJ!0MZ=?R|emrm)m&9-8HH+VUIEaAT> z`!a8$v=LJh`!$bh>rZTR9`z*QM}jYd@$>wXQV*!w2)_rsj9;(s>_Ygj;CcSk>$kWl zeDh=9?w=$E(k3Pqej#|C|17nC4}4AV9J?j7NG;XPrwtK-# z{OP~mF$n(!JkNg|zmYKr?|ef0|Ch<9!zU3wdXn&cz&pdfTz44t{|I>AKTCglY_pBD zPjXUwer#mzoAV99)4rwrXz!zeUR{#!PiCnf$Cnn zY%BaE@HN!@WkR{$F$kaLthW9oen$DO;H#RgKcoCw@ZA6O#*JfV694VaY5RwfwQJ5d z1z!sG*&kz&l$AP?*dGs`=P&NxEHgU(Q{d(N%NR(%vAH1aN}T`x{!7aB^4-mNBYU{m z*#f>O#&7BRi2`2?yu{6D{4-zB*01;@{pcOP3;5!&FYWclK7btC2!RKd*`8wb$!M^>k9Q{SP_&XSUVKsg>HEMqsc&;Cww;6lsmwm;Q zq}@mG5`VUrbr=)NI^m04(*FGep1+uku0J>MP0Yq`bp7lF-wZtW55~?YU-9zyfB%GI z(352R)4`jc|MjqJBm6n=rQtuzIEO~BztTj0<2in#>!%)g9>4U5wvFsTe0?kU^w+fWzmdJm zJbqr_dH%H2|K;GV8GoGX-=BZ=%$>RaHNo@x!BYPRn%TEx{T&3)=O41~&<{OH)?d6E z8gHrpWp8T#|CIQiOpkH25&H|l^Z2#Y{>Ho7zh5Z*>3t6jK^y`?C};ev2QmxgqxNC|=@bbp022 z^6mehwq*b43ZCPq|KyFX|BYrm$1LOE_n4B5|1+)7~~_tS5x+hCNaoo zeXcz}kohyZe|P+WmwsY%L&iT3JpC8WsQ-5rFY{-V&-d@Q=O^?@`qAruXT_7_{2ARp zmVb3t^@$}si`+vO9-oMMZlgDOQ)yw?(DW3C3`$qYd;2q7@uhISEsp4sy z$>{mN@Js9B?+@O|%zt~$jaYw5{8lMm;+HN~QfnambLGFxpV8yD=&SGJFUMhQZixLr z@Vx(%y!fG)Uk=_GJdYc_bH~2L-Ulmrm)F|$qxdcBNU#5Mz!z5YPu3`Z9DH3X#-IL; zcKu*!{Mv)(^8>x>M&cszpP_hJH%7;Q8N4;)&-M1(`lV0ehxqv`75^uJuZr>0Z|*%t z{lBQ}OMkzz_hY%VPybHyU+fy)|6Ra~|FmJ0p9a3V73=Ss@}I{K#~|aPFEJ%)m-YR( z^KVS;f2p^ZB>lxQjnx-}ZyXTYCJufp2Do{~MHj zBYQ8$ApRHnsQEAZhu$~{-wAw4_|HDshXcRpNWxDCUsmxv_sVe;TNlEo`=qTuX`e;D z#G=Bt0$&OCx&Bk&WAyrG68JLUIsc3u`_Yrc{xR^Sz%x(Y=>8Yy^SAY<$F8&y`xU{L zQ}(k;r4AK-0C+k7WYob)6XDN-ZwUJ=x5dZk{OA0l9se?aY1omDB=%c@=lP#`y=$M{ z3;!4R^5E$=KSr;A4=exKCzJH6<$nG1zjj~0e}Da7`LEIF8fjM?d`tMx_|bnJ1A3D1 z!@#!zp9+xPv9o{Sv%zX_@Us6%d2BvNyT#xg!Am|iPU@xobMV}Mc-&bs|M_feqW3@P zPx_BdrF~oQvVLM?%XNqeRy?@ibCFAc6z9z=6ci)z{$oO}I=lPGklu4VIRNB4)UkrRQG?qOiCQj;v z&l}Gs`u#W0KYC-wK7?-tz836T8oxQBUkTm~JZqhW$-nu@IPBJo9O5N zmhK;J;GL|n{|Y>xKXL!D4_W*C{^;et}HqrlnD34!D_K$ktEjfNU#=Pny-+!fcs6dROlescp zcyY-xhZ;H8bg_= zw9^D1*5lb-bUp5&qZ5@p?unz@wN?3!P_}o&hjZnF50klaJigJTn$nJ+%2U~ISA5t{ zFg|SG4Id^d+jnOMiOP0iN_#dlq>->N(& zrN7HnJ1Xt1z=!-Qe3;CY^{b;xzgL$3gAcj2_%Oc?A0{gE>+xazMtqp4EZ@Wo5;ZYC zyO=?uvVJ!+NL2EBnL(nmejhVPKU0qHAUZ$bmqAI_n%FUJBWmRsj+%ImZ@|cwV-BRtS?C-YHJ4)|D znaq{#?%_lJ0Y1z>#D|H>{3E6KHK^!BO^VMOeCXdNd=lY<+sx>GaJv(osQilChv-D* zS6og&QwN&N* z8_KR+RDVBHThx1@p7YZMO8b6LBL4iLlwSkzgY{jZ%m*nARvN-WBr4Z$PnD8xN3-U9dv_DIgQ&S_q25Jx84dwav6qMsR4`nh}?q`=#&h>Ux z)$366K~y(ly>w45rZvb?;?|4g|q>Y$$ScUIaIN~Ae|C}lq_ zRQ_j5zKyCkSB|4S%DL`6RQ=DCRbKc(^;Yeu$&e3$(taqE;|^2#o=_$#`wv%nD%xw3q!DyP!_nJQ1E-}9jv zpj)A|vqRNWX@9ROKLBNa2UR_lUk|H1mHaVPegew&CsqB=l=jc7dUNIZ^_t?Zt9o-y zi~83nC;w5k`=s=s0ImHjV-((WQvPUY97_`&wem9AtVlDV>e zwJJAP7Ohj|RJPlo@;_6?cMIz2$5y4=RQsPP{obkSspNL4JeB#~O82O8YD$!!Q|0GX zIhE}%sJyvyeO^`NRF31i%KuDRe-riW@0Myu<-YP%l|NJEKT~qgRXvsCe5vx*XcF}E zS@jc>a=dXl8A>^x_{h_bL{R#dSk?bb**>YNH&+(f;|Kdm1!cQ5Q1+KrX*yM&LFF?- znW$`+N#%d0+$VFXdUGY0Tb2JzS)WJM|4ezltAKjmPt}LAeFN2=%Dl7EhN|3%l5eCq zOO$+L#hWY3o2YUs5)l=DjN0q0tog0+>xGVKg z_2$ZYPgNe1vYi*&@wr7;DD8zPj>`H_m8a5vca^8IeNUCAvVAX=H&>STR^>4%52bL` zE+%Dv{n3uc)etE2LlsA*pTkw&T$lpR3wa+21^sH&^z%K$TP3ZlTge zs+^h*<=a%AS`ztxRsR15rQa` z<03_hNx7~PpdB?4l=c!U?q|w&NmaeMl1rw_seC?^QRVe0`Ald}&8#?c<+!q`@|cwV zhnQ)eON@bqcX%Lp|oE{mH$lXcUjf0f@){3tgnc2Y9*zW zRXZxr=e1SdT)8jRM>+jytm>)!+EV4I97iiC+qYBYF)7=*s`j3$y}7ceiz?TnjE}$S zF9^zU1}mOQ|3X#XT-mOhs_&r`MZe#ZAqGAS1QM0;^<@T$%DDM4gGA+g{(euU#pU;V zGOh~k{TYwD-|xwy!(saUo=l6w@AqU{9Dcti)8g>^J(+gi`2C(ti^K2tWZH2Nj*};^ zvwpuP)8g>6_hXC{%Xw*U{(g+*%>RB*_WL~<-dell^{ArmX|MH{)}i z-|xw^^ULq|WLg}4zbDgzButqk!;gDZ za@;&@Q_+jLL(bn=l;Kcd@xT8Z9rEnjK(l_i_9Vr7&?-1$-4PGJLzh+^YnDBCkJ|3X zS9I+hRzbRgdqdIT-c&LX~B~PqKA2Mb(;_bI1B#HLiLzonY24 z*S@59UY+V)-ZJm~jc)FVeA|>gI5S()iIJ@`cYIK-&75qY2~Og)o;Bz zxj194OoJAMo^9RuY&iGD^9M#0EU#=_vo(fxhw8l_Q$hnC#Skru2skF$ip2Uc09Wh=i=^(18=2iXVx#T z{Uya4m*?*$wu2&$w=G!z!7JZQ2_sitD0uUF)(7=pxn{VxWLCN29v6;Y&-nJ`*5!lF zubn*X`H@azdSzeM{Mfcz-s9u-3|?r~FQ3Ioir2e#-XNbxvlk8?w)Xz@A?>q`e?DdJ z(~^0*1+~q+E9yqteg&)4>Hf0f`I^ZOHy`RbB{~xOEGOUX3dmKJ-=tiWwq#Kd$PU!~e?(S|ux?8%t zyGxMnl zBc=u7Q`odxa|;tFSh-ep&_(aWLp|Wucp})adqvd*l8SieM_az=su{|d0o<20WUm1l zR@Gb+{5hw{Y~X&t>6e(3d9+DoBXRhiL_ttkxM^@Yd51_VrSN%vBWjS&cA0`?d`K=? zGfO=!C?qmjkIA(H;J(b&zXpg@LCMSb$-wsjpNb|K#tAW>il;J2p z0W%n8j^C`ReH6d8=1m01jg}Pa101o$__zVX;PqR8`?415H9$NrB0sagYPj64E*Ql3 z!Sm7d@PCMQ6u5nM2%UXyjjA-oG3_`K%QV^g@cH=mDXk6jibziRmSK?x^LNesZ`?hA z`?6N?H9!K`DxU{%f7;CV;byUy}q-;OLprIZohAJ${Vh!bdId1{DFKb6$19VRn8PQ!l zVxAJ-bGuKkjdW4g_1Q?2cBZUUUUSwm7u_+WJ5?hipx7$x@)w+Z+@54Nq%=q%tLrj< zKdZarLl3}x*~{@7pzbk(VMj8_t92-->ETdl?6F6^FeHz#&d-8>Qn;tN6M%&A}Byhlp`Ea8- zc~(s_g<;`PbtL$+ND~ige+%HgtUY@T(0ghQ$%%Ikb?{rF1UhhjnRt#Vvv0tl_Ov6Y zBYAMq`LpoXyZZIMf{nQJ z4+!PA?lGYtJR2t|`L`K`0efl9PBHNk!6|&Ni%w@kG!)?CzM_AxAZ54DaJB3SMaDakVwG?7l-zBKM0S3E zks&AaT}qnJL5*oajXvFXNrQpk?(iJj_Foh~Gx(vYs*Pj?lcsJ|^0GJa^?Absy4t%% ze6hD*vQ*^ZS?ka$t5C|@39^n=lakCi(G;}Ky0 z(_=%Gw+OOgwBchC&h7#UJq>lI?kBkyAcg_%%ihM<09hz!6i}ENm`$L$9GJW>i#|ks z^8rH4Y`m*rXQ%1J#Un(zVe{OzM_Ax zpaC7NhoK0y>DmUErf~|3Xq0vw=4_-WTzQ2zN-5>xGKq~U0^If!u3U=SqxabOZlM?- zj=l}c&09i@i>=s}sRCRgpgUWmXZfp$8KM6JjAJ5VA(3=}M~2p*T?$y9hSw13bK=Ob z|Gb~rJ7lwW)FpUwguO(TqQdd5(;<+Zo*yD-1xNudG0+{R+nUUkU4deMPxVDCj9eCh zH4#)$U{ZZaJLdt0|4@Bt%e)z?wQ#jfc(KRAF?(D@g)yNq{Z~ z`@6*Cn(*A`or1t1NaGQLbRAsk_sCGs+;NbOB_{61a1v-{TQ1-1wsY9aQtMP|_l%D8 z%vs95!1&^OVcNw4TvDKmEwbPx%lS^ejmRi|;*gqZZ@{y&g*(|8tl$mZ_bj3lw{yOc z&-NSD4#oSt4Jg0(iT9Kggt)RPYQ^`Kl%Mx^0WKNP9sD#r=I>h5o7g>ux@A6R&WMM9 z;)HB$Cr(FIU93r5%QglHss1P^CEbX>`mtSirwQzPtv}NzP_`}hlWn~*1;8Z-x(V~) zeld;0iD&{i_;x~}vXC+6uF8Wh8tBSzj6Wm36<{!v%9@q`JbF(sc^fvo*lIe%%AIUG z>-%nhauBuE^<|Fz^?9QJy2(K$Pi$5m5x=`TgF19N<$k<7c9r>Zzw~F+TUUZaMr`h; zL|$53xhC`M{0fyjin*ajaI2YG;6_{A38Ld<^55R#f9)A1(7nODSqSY+H`;{Sg2NVD zD^z-`1-ZxgQN9rtMiA%igRvD0EK0p30@Z`IN_bcPxDetWvQ<)mS9${+$E;Z0?h}o+~2+z+!v#N~aiP9*) zFsbvBw|)YzJk;-=tg)2|^#vRVZ16*35i@qESk~o~3eqKoQ)TDTzi-#S;AqX=tHE&-W`a(VAZzSNa z4}Mjd>Y4&k8V=8Eb^iuyt8ai(>+gdUSx9N^Le z-E<<7;gqfrW?QRYzxA?<394uH;7BBIjisW^9=LWm`+P;0@a`DU0Oi(poC4FM5e>2>?@+11B zCy~9xD$&d(EGiX1|y*H~)pOxw;f!0Dk@B+$Nr?x(YT*<1fw2Nt0Ft2+bVWzI$3 z)lzh3;X6eA`6h`6bH@s?K>Nzl<@@J!SQFzfty(FgtW%9`N(6K4hHOix)hHa1uyPeO zk-BYn0GAc$_A*LFLqvXJn0@9);ccS2f1I&>_^!!OjH&1>c=WU`e}@o1Bt+jHLZRa( z`<1{wjB&$6K(%^kwBjj#$Ant)65zh<;dl)Y->#9`H6{5mnTO2)sYWFqmJ2t+(e`ty z>a|DT+e&#Qoo4;(NwZzYD2etPbOl)!X`LR?LS*ITj!FmQxP9nWeL{wD6U3H<)~#83C*G-a$}KR5)ZJIi3sb>6VL zc)drE>Zem{nrUFW{vPN$eiE-yu)J|*#*CCOpeIJjiA7ZgFC(j)PV!&Ld_qH9eUOyeZ#Q{jv*1(6nGDseiBTmwHlcc+)-s$uE!-8ZQ z4=tJkCJlFE|IVoRS6@z`Tj$u+ldD`l;Kl!Q8S6P!E>rENoracbGtBx@78}%JA*Pwa zEo5&k1|DtAO+LEW{u){mSY%a_Yo&>GuR_HRuzh$r@98x_y~%v^u6d(W<^2yLu`;tq zV^`8@$Hb@Of!II2SKIh(u>(IaSQ30*RqaB#&6%@E=So{6J5D)<#7Lf8UbM}#0My~- zyr|az!BPq#re`)2$temN85$55#%r+97eK*6E|*{E3X)ptX850$M7-xWck4JHl_}jE z&vqYiQJR}YmMV|M>baVj0JuD_=-(?yZdscxa{-da6}O5`1AoL^HD7FkK@Ii2J{*Cq z`rcAF%A|j*2NV<}F-La#DQbwW*8`_UC5BFIrF8P>m&8mzfcy6h!T$@8W3w!}hG631 zfQ+5dSfxow6())~9>*+KfGnPzJcR__>V6hkfzww>UIVws%)<3QkQb<(TPHWdG*Na7 z%%6?R0WRPFsekkJ=CRGBw-Om^x=&f?j;)WmZx-dZ+0OGx`r0*2l2#NhzVlve0{OJ< zM56>QgE_6`1Ew%z5ZVCZ_h``!+znXZIKj&~T(1Fw9>^oo4#s6)khZF-_#-`fgiahX zS#FG(+vR)~<1bT|dX}d%;EPLMZ(pZ2ed|+pc8OkDA*WdQ>v9UoPUTDxkgvci`u7TY z*Xps3VF1Cy&c@8tr_vVb^9P2Mmea6B2Lv{eImg+1!?T*+o4luX?X=GR>W_17;=Zl zJ6$1g1oE+zI}j6Z%xzR%q;aadK^gwUy5WvHX#WmB)NdY3S_XLG>=;LX0@v?hx* zWVw{|8jx;Kbln?EuW4$aDD_aSI?>)L3bgQTvm~J}26$85a`;!;X zh!|6ykd#6wxIN3MI2f08B~S_960%x%r8{lkGLO=-hg3nALOG(hTO-~J4eoCTgU}9} zyID3IX`%4}t~k(L>e}4HFezyKneSgDn^beNVKSw1Jvo!OW8z2_(TCW5Mj(~v2m1w9 zG$810fML`rnDNKx;P{1=o8gg+{i}yB09OL&KGfef`+$Db1f3D>uN|*SKcXfi_I{1< z7_~)K&(c+^YCYkmNxoV(=Q|=trC)B}$gO%1K=Thp-5yetX);Isx3>LX`zr}_b=4Ab zCvCcok3L&rnTsqzSdH7Mx?g9bLRy{=snG7D<43+7=08WsP}mepRo;*;KUyet(IS8Q z*lB(Se?C*}3CLFp=yr-j^3`kPE920&Jc!i96r#+h1aa+^VrpVRQ$Mfl9vR1pmFY=# zOpcnvmAR!Ul`0OD46mg4oz98VEE3Qy0LN*ifv%3zY&Y$8O{JN6pP0zAqSuN#XbLg% zhkQ4hiH)iVR-I=Z_@W>~m+=F)BtG*dpW!OW?Sd+j=qNj)Fp|oxP$nQ>8KCRigpYC6 zBxx^RMBuLAUn`P5KmkMFToQRf)$M7u_K0R1KvCWsK(ddfC zrZ0PtG$CUER~G0(&_R<=V%yE6<+c?DENwpKi#HzytRjy`qUjiIuMN1$SRS`!WC%iNLmXlHzH$i8<2xN<-@|E>5JCtuX$TiCgMEevU`lAM!_061~z zDQ*#5gIk9=s@ZF$2yb~sYM-j-=BjvVRj@7}Z=>jO&os8msM0Xt_nSP>-D+@$x^YP> znvzNFR7;oVUHD^?o*Nc9(+uVwID%i{m|DR0ER6V8RNtY;+w5Cs0s79Gm6x4as>zK_ zA( z8OYB=4Sis(1&r49-HhJ}h`R(?_-6p_N1%Inz4|~%8VVnCu(3?~J9{1y=1M8C!3ZWV zr+K)tSb|+8cdQU%sJE08E2}t#1t+S9aSzqu@Kh}~Y3(SvL?i;>Dgxc!42`-Ovw@^= zG*U5=geyd`ltLXSYGOVNB27xVtdwGzUKxeJimfePDM~14!h|Cp){hS6DGUd+Vl2kc zb5$Y$R|)7|pR1PatzdDf-Td&;sEl5jFDDHn6d7N|oq}awmcjS(3)CT+Ns4=`pk*f& z;(NW&_mK=dyL9EY9~!Bz^Jw(tY^~S+x-!u1*uxHn?nF@rr{z2k7QD0_S{~HAQ1r5L zW5R>T;yjUMqFXFps*9s>TSR_C_7LV*R$*V>lPe@|prgTw^#PR?;Hm)Kg067`auV# zbo;0v@nIAaS8A5}3-cR?gQisc8k|r6&hYxzo~Z#{{%%8vfpcTVL}GT>1$A*aaK`hH zH^+?_k#Uk3b793DO?%xYpMChsh-6wHtoCTH*o3v42)PCzrq;fmy=kK}2jr^`bVIt8 z*rmS6@Q`aR5a@r-n)e4BQo8s}Z? zyF8U2N=_p4X52THH;Nf%Q>jok47;bcx&e@{CeZy34RP7gOkl$Ejm;E^<(C-A22wR< zcEyoxz<7+Ro2}e0$jBnk37<*X(ZCkZG~fG+pKnS74jU-eCr8OMjz7oJnT<+aC=kgMaATfDV51`R-ajq`r!$`UgR#t4=s;rN{rmT9 zHbU<2(Q7=>CHQoiVKdJYB>fbsHH1-lD3w@GPx@ZE0;N_k;cwIQ3X?c{Bxv-7z ziBjK+5R9sZIrG26|8Z<9SUH&f$B>i&!Qc)Ol zYb@IGo4TP4nn}HK+DOWWHQ@Y^0nqJ;^i<$g{%OXw;7b?OCe3vx&~^@4&A6SQCGvOV z@DVZ7o<{bKHJCS9X3L+bSTxO`PEo^#pSg1T)T*KlzuGYY`5FRUPDA0#gC^A(pOfnk&}k=|lOWg`NlzT8^mJs45AJw69-@Bij)OAN z0M`iUf`_lnJFytXSbOe%1Xrh=xFh}?)G=?u$uBahz!Zr(ne*O`Z;h`^J!nCs5u%{j zyo4N&BN_Ay{4nDwIm)@l5#SmFU4!lSMotLl{hS2N!eOZFdI5W%=6b2fP)VNHijWV( z9PCEWpxkSfJL{3Q`snIN(2t3#yu~hONvX}D;6Kgca06Tup!GY)+C;U&`vq~@@2Dvp-?4hYB!*|?;ym(C_(b*L`s3B@?w-U^(A`}3w zDbOXyH$ubD$*#72GMU)Lds5VmRF#~5{9=BH4T*5w?kAx9{4R7?q6Oi)K(l`3sEGcg zdB>YC*3-})M$&YKk_GrZZw7RyN)1b#R5}}3;0J!zfqZpX>N_eEg+ve!`piy#C7oA0 zM8TSYqw=8rnw(wdqfyMi45~L4s1W5}R6KCd=gubq)OV8O7ePPFUFnB+k$nd-sVT23w+s5YT7{u;OtFCM{8r%X#L55)l_7>jVUsCG{ z;99(*f3F~>Apx;n5#bM?Ww(VdJ|LEw*@^22ilVH7o=X_!2_!i;R(p{zFLlELMXbGl z8P6Dd%RfRc-1*CVxFI+Y8oK}iTuY!!V>-&{@(b^WTKhB7{I5H?3M0l}5SVbc?7{tw z`A<(Bht#FYkpAsgCPC~|v51^es_s{3 z-^8oKVBi`{XONLDd$db;WjcA)Z(z<7_0qhr}CHkpwDcxjKtZqj%8CoI4>))^+VMrAYWUcJ8-CI zNiwuisQ;!>HAKCw!1_LDej>Rqzbh^=O-OhfRR_iM(GKasjSA&~4HA!fAM$X>~GY5>+%98{Ta2bIB1a zb~7{~)Qm_joH=NiZJRu!X8NRM4r*=0zkTo-F@PLHvL!?FidU6kh!UBuo?CQhxKJTi$P;d zRd{ksJHgma^|=}{$xZS6qxerA;&`(F*9qw6ab|HyWj@lA)iKlOM)On&ua_m;F-gKE zkX0Tc>+NXh#f@V%m#J4`Q_02c4~N2}+hBy0`|NTRE{0EcH;Vw*KR5$jP%Vd?j*^z+ zd2$EE22GP;CFw&sb&p3mHYR4AR8*tOLO>nlBh_Q&+xoaI$RQTZPxkp}HfH{%Qfxi& zY{T2Y_RIz7ig?K|WE*GX4ieyO{sjLdLWZXg^S02Zqt+XwJizngI6TjDVDh^bOwScI`F&D4d@<3D4ZE23}E4~ z)goIHkW9AN*OV$sgdiDZVDXp+PaDk@8w8WM{X~L6%;jyAc9OGePx;e+!)uacI$x`4 zk_jBIb_cqM6lVvaTO}iOr|+ct2Z{OUYsYiIeX2Wg83cmIn!us`{7UjA!<7570?w2xxlErq3X}14YT7I=4upnrTA%te7)U5=4eM zng+Z6odx~xyT$7j{d)y{)dbb61n?7oOWtfHdGzUK_?|y$*7zX@?vJg*ZmA~xXG!Sq zl_}F53qePrW0Rrc>2$)oe>O?J$L}1u9(2Y7*GG8+-Sf#w9bUVH+CG1tzPdKDvPH*9 z=>?RN{l|8euj0+#PR#J8CMB2Us5i`M#BlP9sObIi5AEUYTr$%ux>k-1UV&OTK~;O){ZDM_%HENe7EHwP`gi zz;RE1peq}gmN9XG2Psw)?_#gK$OC_|lf|6r_E2gZJXb>n{*BLG{vf#~F|?Jy?b+u5&PR(XOPR+3_Toh1;0H9l;LDxAl0XOZNhn8`SjnYTv<$)D2I2_43QqwGd z`o}P_IJuf{ry-5>P{xT=3^WScRKplZ2&SSLu)E%=P;fcexuZ=N*Q}gKr#G_dM@ zTjOB{^G+OX&t7nKvJCa*%<g7D?c;OS+j@6q}0B#7-E&bxxf#Y4f5>0p) zQR_35+555ckJEe}u3h<5!ucOYMD4p%niYtvF29Y=4YnuN{pGZ1=w2OU8e(lD@B8Bm z;Cy!|(0xM`hi*UtnV_vE?`V^Gqtf)sW%<=6qEMJ#m-2B#|}O zZa@Zn29W`Y%fHL?EeHC83@;$xFrYh8?OjePAg{R+O(AS+WhI-PW`A|$Odqz%2HtB(|+F1UHYSH5OZYp-38rK!C- zMg`dA0ukrWXd@p+O3y`>&qaHt=uD45D|u_fh57tg5CAs{=$`p_7i;PV*)Ujg4cwNA zQDLfO*VS$JMWqkfvFlG6t|up17wc87N2F!gDD3ctc!_sRY6bhI-XC}=H`Ck?ioq%Dj5`p@`ZK*Qvd^_FiRXt0*l4fM^hG2_Bo z&Muiy1bL`rCE{d7J6r(yMg!f@u|=*!Rrg8hkPIU5dA+6P<7;&4seGxd6dGw>nvxKB zaN8-Pa*nuJQ|D&C2AO;Fo_m3M+%9NA{da7=hXTI=ZVb@Pwy(I186A$-{Z4;{NPH`* zScZ?Q!{_Z1J{R%ZkZLF>aM=0nXFU!=Y!*mfww3Kmy6@L$S|9%0w zyKmqB(N=JO21>NiHZi?i|!+qGp~h_p7!or0eY4_mudVM^(bOH*afT9W&p4 z{XIV1%})HFhx#);WCxIMEYM}Q1s@F+l9;MCJ|Kx&JGf7L`0(+D>jPI!ks)f~hmbw@ zC9ZS|7E|PCA9)n7M7q}1dE3bFKc0Lh%V#>94>-Va`#7MB_w~luhi4F;b*R(pOo~u% zo^ElT<-ok^`TFU$hu(9}yB8hzYoF-$JE=kEMxm(;2J-pDt_v^9bciV^O>Dt@K)&%n zSJw`<1BH7L5GcAPl++V81#6=;nHtHG?bkJb$a?r#$yr+%2+4f~=FpVn2j{=!3$fy1u z@3iR7nRHIQxC!6#X){!GizhgTo}~^=XUc-PuVuO`=$W4xP8binS|S*>^gZx9HVNob z$ey}6O+_=Q-t1Oo%OULzUkjzBN?oqv-|6kd!ZWzal$tl2n3@1a`hB3r6S@{p(Br%I`4|6i7)7F{V3pmNCmpb z@sE*w$@?UF^=mUX zqbNyA%fWgjmUw{c+R}jTjzXS~1ea(3RU(Z}1D7tn5={rOh#K2zy=T7&-~GaoscAP- zmn_?6zx0k1JP)VT&z`FHS)Ywfl%Z7zb)xKn{l0XddsR7y4hg3f;MFiR$InPSGovjG ztz!!=Qi|23kxE7OVgK1_5CuUFE>aB-m4kas{#!CDEb(U7&MkjN{r5OIEsn#V*_xzkXnP)94n``zt}zat&v1m{LgweD+H2#coHeHnK*WvpbJ zA~&>OtnSSjHGt1sCeY2%_ff*p*BC~PL!`Pe1>wOI<}zEaDkA?ZT(-hV!-E>mK~KFm zx|)vvd7ZS5i#(P@<;zYot!CU^r(ycd10VQ3p9OSl-U_d)B$7Di9N@QJ#(Q?+@>*&t z*lo;%RQ({j`>;4AqklmU2|rCXI5&0Vlq>2{;x*~t3bvlM_|~TNnN2JJ>W~d|m6nFC z2b;Vn*T0ZBC(Fy#i#v>nE5yHXLb~NBZ9%FY?w_uP+W2njebH;-hkyr-1E49?*Ti_gS(s zJK^gC#n%*J7PELcxCxe@u*hk+cn=j<^Q-qXkUQ_;aW#bOAg+i=w_=T;7_oM7zapY_ zpLLRW@Q&U9^34ajViNLvnRS&p-2y1LQH!SE7EmCxer>saBF$Ppk9LDhV9`nZm!x_el_^|m;f2>Aq{_JyD=-; z-)z15AYYmYuLS`yTZRQlm0&7dy=orUUCCoykvjk_3=tOS|Z4VMe*BoHY!$= zbC%L`f;fcLdtm>!5a@oCtL(8mAaf9tbkA^cd~og2^R9@nB+LCMRrUnypJ6SQ+||~) zaWGQ+)}5N{ZT8!wPL)Y{RO%ZUMpa|&3PsEa~hJ9XQc?Ens}`hhD64jk*%AsW=lboMj5`2aA5{!=(Wk3( z&c61O{#HM;k4OoXO;sGnX;ZKNwNihC@R%sN218@f&hC|ET>fB9p+LTXf- zEYVD}V@QM80#M%)pv$t{c-tEYCWdlaVkm|n&y{e_d3zyhu6Q`}eG+!<&1SuL$g$pK z!YJCb``{3h;smG(j`-0#OV0r>VQB#-^a0?O0^P5>6o;Dc>7}}?Dchyf+HBXf{butW zmVURwcioR2^leyZmHU27Vw%M7T3ss5(v}9sZf33^D zUof7?$zV;w+7O2L|L)&%pc_9k@z5ifnm6B|efyIdBd>syTbhDlYeaYBmj75rS@};P z9y*Tw*P<2I3J4lkUcyJYApGy;>w#Rx-c~EjmtufAQ~=$YAB}Rntuk-r5DX<8ExvhL zH5#3*`=Y<8Z`8&iE5dh_6R!RmE}+*Z#I!WRH7G>F53xlxJ$><}Gf2wRAI<{Uo>c-} z6(z^#*|hI%oDxE(*{+YJ=t77W!Fz$AE@7?l8x2j(~c>0$%G#-4MG&7 zcLP67hg4k+?PAC7D83Pi^QJBH6e$hxWafMDQ#?O!6Xg3hKMw*U{%ckP-3@}rx)0Kx zZv?g)wiv1do@yyMZs|2?xima}DvK0&YpHnnOG2R|@nmj%ulhx=$682DlPmEdl;UE# zN3iKj*}wbjU%oX!_Xm_4KbP0{dvV5z5!So|$WkRil^mFl2kqTf^eA%127M)}Jj{Q0 zx;ZMQKo~q6B$_arRG~Zi^dpq8tG#-K%Xa72bE6LBC_Zjg&TRAe%2Gma%=Gc=MkN`tO{x zI-nb>!8O9j|8--6P>Evy_+I;NI}Y6@Ne=qgbO=UZ^+!}iEM^`XI=i{Oouut=pP%R% z3fW>$h@$GtxXWZ0hhc;M=f3=S^+0zB*(oC9t4{ApeNz%qL##7GZFO2!^d>a#+D*rr z!9H6pRmJ?9gZy##NLnld*fH_>*z5DrZ-D|*l7VqBzav8b=e|5|4M5kRztPjVBEXAV zv(i<^PTF2KJQxpDHf-dB;*3V2=@fBYwTgViBFvoHD_FBPYnidP(d+afSn}OGe>T+n z zHHuca%&ar=?Lxb7k;UD8UZGuM^!xX|0D~p|Yc>I0^Upaf28De1dP=7t7e^oM6)_u* zsX%DM9d{l)*Q;_?{*Uu^edU%~IDv5|w{Dc$AqBc%*mFN{4H9R{K2|Fg|5pbv2-Lr3 zGtj-GqC5Ar!Fbo|Thb-l)xj{&tU-u>N5%b(+r>Vd45|81?MWs3tlb__Mw@E3APN-E z(I`5=Up}%y;`kBMs2Jrx*YCgQtp(^h<$L)+S-48ilJeM)N5?$R#z~&6yXSko|i(;-%e<+ED z@XfrbT$U0_c&=jp(9xZrtxI3^SxRmWm;2~nePLhj-*%vzrQ{7$rPwrOr|9PsEt4>_ zhF5uxFg3+7tkvz>!sE2^mS}MMXBEBz6gpZD$e+t)(p3wUIUMKumx|;MA@`3S|GEDf zwGN=$#@AIZ(@3n*AsSfQUgCAl;b{B>@+vgR^c9Lx5dZum~o` z8f)vAk!Jg@WhyD!s-hu{|6EuwzrSWD(1jX|{I2m!7_7SDbn#qwU)eku$E* zsVYu1rAxbJ*k3_|Z0F^kIia?w6QXmR=>`U{+F=E_c1!eSSmvV^ z#t}MNZvV^o<$mY}x+<)0=sTf3_T+l(51HI^hLPNFuF58>qY=i9eCAiEF~O48tN1AB zs?7ijR?m-e9t=$cVmxPbbUZ-Q{)A*A~u@q7l` z#xrh}huAr>SPQ``e;c#9)rf4T}t@As&K(W&d;i{+hi& z7vv%O_Lw5pVnK@nC9}5h5ffV_;tZa8(Ed>os<8c=zjttaGgN=TTj?PcZpW`7T!!rL z3|4}Ivjc8PuwrnQ|Ba`D!3z8}`+%+phSD;8P_hub0GQI2)6V&rdHl+w2d+g2 z$npv_6+Z60%z3_`P5ao1SpV+wl1JZZW|

@$S>H6Cq`3XDzMYO;0mJHLSO^%pUKo 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 ZYgDr|h*R?Cu!#jE1d8eYhyT<6{SPGA_R|0W literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 776ec32..835e221 100644 --- a/package.json +++ b/package.json @@ -26,10 +26,11 @@ "ubiquity", "open-source" ], + "type": "module", "dependencies": { "@actions/core": "^1.11.1", "@octokit/plugin-rest-endpoint-methods": "^13.2.6", - "@sinclair/typebox": "0.34.3", + "@sinclair/typebox": "0.34.8", "@ubiquity-os/plugin-sdk": "^1.1.0", "@ubiquity-os/ubiquity-os-logger": "1.3.2", "dotenv": "16.4.5", @@ -65,9 +66,9 @@ "prettier": "3.3.2", "ts-jest": "29.1.5", "ts-node": "10.9.2", - "tsx": "4.16.2", - "typescript": "5.6.2", - "typescript-eslint": "8.14.0" + "tsx": "^4.19.2", + "typescript": "5.5.4", + "typescript-eslint": "^8.15.0" }, "lint-staged": { "*.ts": [ @@ -82,6 +83,5 @@ "extends": [ "@commitlint/config-conventional" ] - }, - "packageManager": "yarn@1.22.22" + } } diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index f161dbf..0000000 --- a/yarn.lock +++ /dev/null @@ -1,6274 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@actions/core@^1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.11.1.tgz#ae683aac5112438021588030efb53b1adb86f172" - integrity sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A== - dependencies: - "@actions/exec" "^1.1.1" - "@actions/http-client" "^2.0.1" - -"@actions/exec@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-1.1.1.tgz#2e43f28c54022537172819a7cf886c844221a611" - integrity sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w== - dependencies: - "@actions/io" "^1.0.1" - -"@actions/github@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@actions/github/-/github-6.0.0.tgz#65883433f9d81521b782a64cc1fd45eef2191ea7" - integrity sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g== - dependencies: - "@actions/http-client" "^2.2.0" - "@octokit/core" "^5.0.1" - "@octokit/plugin-paginate-rest" "^9.0.0" - "@octokit/plugin-rest-endpoint-methods" "^10.0.0" - -"@actions/http-client@^2.0.1", "@actions/http-client@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.2.1.tgz#ed3fe7a5a6d317ac1d39886b0bb999ded229bb38" - integrity sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw== - dependencies: - tunnel "^0.0.6" - undici "^5.25.4" - -"@actions/io@^1.0.1": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.1.3.tgz#4cdb6254da7962b07473ff5c335f3da485d94d71" - integrity sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q== - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== - dependencies: - "@babel/highlight" "^7.24.7" - picocolors "^1.0.0" - -"@babel/compat-data@^7.24.8": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.9.tgz#53eee4e68f1c1d0282aa0eb05ddb02d033fc43a0" - integrity sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.9.tgz#dc07c9d307162c97fa9484ea997ade65841c7c82" - integrity sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.9" - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-module-transforms" "^7.24.9" - "@babel/helpers" "^7.24.8" - "@babel/parser" "^7.24.8" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.8" - "@babel/types" "^7.24.9" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.24.8", "@babel/generator@^7.24.9", "@babel/generator@^7.7.2": - version "7.24.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.10.tgz#a4ab681ec2a78bbb9ba22a3941195e28a81d8e76" - integrity sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg== - dependencies: - "@babel/types" "^7.24.9" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz#b607c3161cd9d1744977d4f97139572fe778c271" - integrity sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw== - dependencies: - "@babel/compat-data" "^7.24.8" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9" - integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz#75f1e1725742f39ac6584ee0b16d94513da38dd2" - integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== - dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-hoist-variables@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee" - integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-module-imports@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" - integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-module-transforms@^7.24.9": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz#e13d26306b89eea569180868e652e7f514de9d29" - integrity sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw== - dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.8.0": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== - -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-split-export-declaration@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856" - integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== - -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== - -"@babel/helpers@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.8.tgz#2820d64d5d6686cca8789dd15b074cd862795873" - integrity sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ== - dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.8" - -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.7", "@babel/parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.8.tgz#58a4dbbcad7eb1d48930524a3fd93d93e9084c6f" - integrity sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" - integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz#58d458271b4d3b6bb27ee6ac9525acbb259bad1c" - integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/runtime@^7.21.0": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.8.tgz#5d958c3827b13cc6d05e038c07fb2e5e3420d82e" - integrity sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.24.7", "@babel/template@^7.3.3": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315" - integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.8.tgz#6c14ed5232b7549df3371d820fbd9abfcd7dfab7" - integrity sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.8" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-hoist-variables" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" - "@babel/parser" "^7.24.8" - "@babel/types" "^7.24.8" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.24.9", "@babel/types@^7.3.3": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.9.tgz#228ce953d7b0d16646e755acf204f4cf3d08cc73" - integrity sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ== - dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@bundled-es-modules/cookie@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@bundled-es-modules/cookie/-/cookie-2.0.0.tgz#c3b82703969a61cf6a46e959a012b2c257f6b164" - integrity sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw== - dependencies: - cookie "^0.5.0" - -"@bundled-es-modules/statuses@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz#761d10f44e51a94902c4da48675b71a76cc98872" - integrity sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg== - dependencies: - statuses "^2.0.1" - -"@commitlint/cli@^19.5.0": - version "19.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-19.6.0.tgz#98e7fc8501cc38b6eef4b7f61e19b15f3c53700e" - integrity sha512-v17BgGD9w5KnthaKxXnEg6KLq6DYiAxyiN44TpiRtqyW8NSq+Kx99mkEG8Qo6uu6cI5eMzMojW2muJxjmPnF8w== - dependencies: - "@commitlint/format" "^19.5.0" - "@commitlint/lint" "^19.6.0" - "@commitlint/load" "^19.5.0" - "@commitlint/read" "^19.5.0" - "@commitlint/types" "^19.5.0" - tinyexec "^0.3.0" - yargs "^17.0.0" - -"@commitlint/config-conventional@^19.5.0": - version "19.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-19.6.0.tgz#badba72c8639ea79291e2941001bd7ea7fad3a2c" - integrity sha512-DJT40iMnTYtBtUfw9ApbsLZFke1zKh6llITVJ+x9mtpHD08gsNXaIRqHTmwTZL3dNX5+WoyK7pCN/5zswvkBCQ== - dependencies: - "@commitlint/types" "^19.5.0" - conventional-changelog-conventionalcommits "^7.0.2" - -"@commitlint/config-validator@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-19.5.0.tgz#f0a4eda2109fc716ef01bb8831af9b02e3a1e568" - integrity sha512-CHtj92H5rdhKt17RmgALhfQt95VayrUo2tSqY9g2w+laAXyk7K/Ef6uPm9tn5qSIwSmrLjKaXK9eiNuxmQrDBw== - dependencies: - "@commitlint/types" "^19.5.0" - ajv "^8.11.0" - -"@commitlint/ensure@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-19.5.0.tgz#b087374a6a0a0140e5925a82901d234885d9f6dd" - integrity sha512-Kv0pYZeMrdg48bHFEU5KKcccRfKmISSm9MvgIgkpI6m+ohFTB55qZlBW6eYqh/XDfRuIO0x4zSmvBjmOwWTwkg== - dependencies: - "@commitlint/types" "^19.5.0" - lodash.camelcase "^4.3.0" - lodash.kebabcase "^4.1.1" - lodash.snakecase "^4.1.1" - lodash.startcase "^4.4.0" - lodash.upperfirst "^4.3.1" - -"@commitlint/execute-rule@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-19.5.0.tgz#c13da8c03ea0379f30856111e27d57518e25b8a2" - integrity sha512-aqyGgytXhl2ejlk+/rfgtwpPexYyri4t8/n4ku6rRJoRhGZpLFMqrZ+YaubeGysCP6oz4mMA34YSTaSOKEeNrg== - -"@commitlint/format@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-19.5.0.tgz#d879db2d97d70ae622397839fb8603d56e85a250" - integrity sha512-yNy088miE52stCI3dhG/vvxFo9e4jFkU1Mj3xECfzp/bIS/JUay4491huAlVcffOoMK1cd296q0W92NlER6r3A== - dependencies: - "@commitlint/types" "^19.5.0" - chalk "^5.3.0" - -"@commitlint/is-ignored@^19.6.0": - version "19.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-19.6.0.tgz#6adb9097d36b68e00b9c06a73d7a08e9f54c54dc" - integrity sha512-Ov6iBgxJQFR9koOupDPHvcHU9keFupDgtB3lObdEZDroiG4jj1rzky60fbQozFKVYRTUdrBGICHG0YVmRuAJmw== - dependencies: - "@commitlint/types" "^19.5.0" - semver "^7.6.0" - -"@commitlint/lint@^19.6.0": - version "19.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-19.6.0.tgz#f9fc9b11b808c96bd3f85e882e056daabac40c36" - integrity sha512-LRo7zDkXtcIrpco9RnfhOKeg8PAnE3oDDoalnrVU/EVaKHYBWYL1DlRR7+3AWn0JiBqD8yKOfetVxJGdEtZ0tg== - dependencies: - "@commitlint/is-ignored" "^19.6.0" - "@commitlint/parse" "^19.5.0" - "@commitlint/rules" "^19.6.0" - "@commitlint/types" "^19.5.0" - -"@commitlint/load@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-19.5.0.tgz#67f90a294894d1f99b930b6152bed2df44a81794" - integrity sha512-INOUhkL/qaKqwcTUvCE8iIUf5XHsEPCLY9looJ/ipzi7jtGhgmtH7OOFiNvwYgH7mA8osUWOUDV8t4E2HAi4xA== - dependencies: - "@commitlint/config-validator" "^19.5.0" - "@commitlint/execute-rule" "^19.5.0" - "@commitlint/resolve-extends" "^19.5.0" - "@commitlint/types" "^19.5.0" - chalk "^5.3.0" - cosmiconfig "^9.0.0" - cosmiconfig-typescript-loader "^5.0.0" - lodash.isplainobject "^4.0.6" - lodash.merge "^4.6.2" - lodash.uniq "^4.5.0" - -"@commitlint/message@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-19.5.0.tgz#c062d9a1d2b3302c3a8cac25d6d1125ea9c019b2" - integrity sha512-R7AM4YnbxN1Joj1tMfCyBryOC5aNJBdxadTZkuqtWi3Xj0kMdutq16XQwuoGbIzL2Pk62TALV1fZDCv36+JhTQ== - -"@commitlint/parse@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-19.5.0.tgz#b450dad9b5a95ac5ba472d6d0fdab822dce946fc" - integrity sha512-cZ/IxfAlfWYhAQV0TwcbdR1Oc0/r0Ik1GEessDJ3Lbuma/MRO8FRQX76eurcXtmhJC//rj52ZSZuXUg0oIX0Fw== - dependencies: - "@commitlint/types" "^19.5.0" - conventional-changelog-angular "^7.0.0" - conventional-commits-parser "^5.0.0" - -"@commitlint/read@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-19.5.0.tgz#601f9f1afe69852b0f28aa81cd455b40979fad6b" - integrity sha512-TjS3HLPsLsxFPQj6jou8/CZFAmOP2y+6V4PGYt3ihbQKTY1Jnv0QG28WRKl/d1ha6zLODPZqsxLEov52dhR9BQ== - dependencies: - "@commitlint/top-level" "^19.5.0" - "@commitlint/types" "^19.5.0" - git-raw-commits "^4.0.0" - minimist "^1.2.8" - tinyexec "^0.3.0" - -"@commitlint/resolve-extends@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-19.5.0.tgz#f3ec33e12d10df90cae0bfad8e593431fb61b18e" - integrity sha512-CU/GscZhCUsJwcKTJS9Ndh3AKGZTNFIOoQB2n8CmFnizE0VnEuJoum+COW+C1lNABEeqk6ssfc1Kkalm4bDklA== - dependencies: - "@commitlint/config-validator" "^19.5.0" - "@commitlint/types" "^19.5.0" - global-directory "^4.0.1" - import-meta-resolve "^4.0.0" - lodash.mergewith "^4.6.2" - resolve-from "^5.0.0" - -"@commitlint/rules@^19.6.0": - version "19.6.0" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-19.6.0.tgz#2436da7974c3cf2a7236257f3ef5dd40c4d91312" - integrity sha512-1f2reW7lbrI0X0ozZMesS/WZxgPa4/wi56vFuJENBmed6mWq5KsheN/nxqnl/C23ioxpPO/PL6tXpiiFy5Bhjw== - dependencies: - "@commitlint/ensure" "^19.5.0" - "@commitlint/message" "^19.5.0" - "@commitlint/to-lines" "^19.5.0" - "@commitlint/types" "^19.5.0" - -"@commitlint/to-lines@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-19.5.0.tgz#e4b7f34f09064568c96a74de4f1fc9f466c4d472" - integrity sha512-R772oj3NHPkodOSRZ9bBVNq224DOxQtNef5Pl8l2M8ZnkkzQfeSTr4uxawV2Sd3ui05dUVzvLNnzenDBO1KBeQ== - -"@commitlint/top-level@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-19.5.0.tgz#0017ffe39b5ba3611a1debd62efe28803601a14f" - integrity sha512-IP1YLmGAk0yWrImPRRc578I3dDUI5A2UBJx9FbSOjxe9sTlzFiwVJ+zeMLgAtHMtGZsC8LUnzmW1qRemkFU4ng== - dependencies: - find-up "^7.0.0" - -"@commitlint/types@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-19.5.0.tgz#c5084d1231d4dd50e40bdb656ee7601f691400b3" - integrity sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg== - dependencies: - "@types/conventional-commits-parser" "^5.0.0" - chalk "^5.3.0" - -"@cspell/cspell-bundled-dicts@8.9.0": - version "8.9.0" - resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-8.9.0.tgz#4c9ecb62a824bd8b21ffd4470302eba20e47c988" - integrity sha512-Dxfuva7zlcI2X/PulDI7bfJBB1De4OuulR2prVpDuGLk3zAiFO7t4d2bmdWxfowhtm1agSqY03uZOTk8fTppuQ== - dependencies: - "@cspell/dict-ada" "^4.0.2" - "@cspell/dict-aws" "^4.0.2" - "@cspell/dict-bash" "^4.1.3" - "@cspell/dict-companies" "^3.1.2" - "@cspell/dict-cpp" "^5.1.10" - "@cspell/dict-cryptocurrencies" "^5.0.0" - "@cspell/dict-csharp" "^4.0.2" - "@cspell/dict-css" "^4.0.12" - "@cspell/dict-dart" "^2.0.3" - "@cspell/dict-django" "^4.1.0" - "@cspell/dict-docker" "^1.1.7" - "@cspell/dict-dotnet" "^5.0.2" - "@cspell/dict-elixir" "^4.0.3" - "@cspell/dict-en-common-misspellings" "^2.0.2" - "@cspell/dict-en-gb" "1.1.33" - "@cspell/dict-en_us" "^4.3.22" - "@cspell/dict-filetypes" "^3.0.4" - "@cspell/dict-fonts" "^4.0.0" - "@cspell/dict-fsharp" "^1.0.1" - "@cspell/dict-fullstack" "^3.1.8" - "@cspell/dict-gaming-terms" "^1.0.5" - "@cspell/dict-git" "^3.0.0" - "@cspell/dict-golang" "^6.0.9" - "@cspell/dict-google" "^1.0.1" - "@cspell/dict-haskell" "^4.0.1" - "@cspell/dict-html" "^4.0.5" - "@cspell/dict-html-symbol-entities" "^4.0.0" - "@cspell/dict-java" "^5.0.7" - "@cspell/dict-julia" "^1.0.1" - "@cspell/dict-k8s" "^1.0.5" - "@cspell/dict-latex" "^4.0.0" - "@cspell/dict-lorem-ipsum" "^4.0.0" - "@cspell/dict-lua" "^4.0.3" - "@cspell/dict-makefile" "^1.0.0" - "@cspell/dict-monkeyc" "^1.0.6" - "@cspell/dict-node" "^5.0.1" - "@cspell/dict-npm" "^5.0.16" - "@cspell/dict-php" "^4.0.8" - "@cspell/dict-powershell" "^5.0.4" - "@cspell/dict-public-licenses" "^2.0.7" - "@cspell/dict-python" "^4.2.1" - "@cspell/dict-r" "^2.0.1" - "@cspell/dict-ruby" "^5.0.2" - "@cspell/dict-rust" "^4.0.4" - "@cspell/dict-scala" "^5.0.2" - "@cspell/dict-software-terms" "^3.4.6" - "@cspell/dict-sql" "^2.1.3" - "@cspell/dict-svelte" "^1.0.2" - "@cspell/dict-swift" "^2.0.1" - "@cspell/dict-terraform" "^1.0.0" - "@cspell/dict-typescript" "^3.1.5" - "@cspell/dict-vue" "^3.0.0" - -"@cspell/cspell-json-reporter@8.9.0": - version "8.9.0" - resolved "https://registry.yarnpkg.com/@cspell/cspell-json-reporter/-/cspell-json-reporter-8.9.0.tgz#7ddaa8ba860346f077c641fb71892fc8c04e1be5" - integrity sha512-+m2HoYTqdI76Zt27CyCpFCAxEUlTMnJnC76MpuQEd21C72qXWmaYdcVzJ7GnVXtTY6cofefUy/X3zgkUBW/bqg== - dependencies: - "@cspell/cspell-types" "8.9.0" - -"@cspell/cspell-pipe@8.9.0": - version "8.9.0" - resolved "https://registry.yarnpkg.com/@cspell/cspell-pipe/-/cspell-pipe-8.9.0.tgz#207d4bc993c235dfaa6085473ef150e46905a23c" - integrity sha512-N3Nv9F/1LyUabd1lda+N7tU+UpY7lp8mZvG7ZTxhoB8vfw/Yf3f8NlQ5awSYear2Q+N0RoGyyLaaqUY6nUQvOQ== - -"@cspell/cspell-resolver@8.9.0": - version "8.9.0" - resolved "https://registry.yarnpkg.com/@cspell/cspell-resolver/-/cspell-resolver-8.9.0.tgz#96909ab32714e53c3b2e60ade3b44afecfebd83a" - integrity sha512-52FCYcrZZhdAKkGoHss000nUk2mHkujxHJOfh+KMh2p15igmPW0AR7/VFKSS7zVkkLfAhQfWxoqQLkoE+yvccA== - dependencies: - global-directory "^4.0.1" - -"@cspell/cspell-service-bus@8.9.0": - version "8.9.0" - resolved "https://registry.yarnpkg.com/@cspell/cspell-service-bus/-/cspell-service-bus-8.9.0.tgz#d2ad4c1327392f38333a98e01be974800f8fff1e" - integrity sha512-R8MlY3dp4my/VZp2xhvkUcXbLsTZUSNuxsOFzpPYLQhtrei0ReEcaDTg2JEU1wfHnREGG8GYlWh9BEryx8AZYA== - -"@cspell/cspell-types@8.9.0": - version "8.9.0" - resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-8.9.0.tgz#7b1c3987634391d2c4e0da34497782c51d23d00d" - integrity sha512-YeL14G+tIh92WvO5K9+WBCjckRQAApeSNkIavx+7+IF+MUoGPvVbTA881q15zwoPRPtOJQ8wEbI6zJH5ykKFfw== - -"@cspell/dict-ada@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@cspell/dict-ada/-/dict-ada-4.0.2.tgz#8da2216660aeb831a0d9055399a364a01db5805a" - integrity sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA== - -"@cspell/dict-aws@^4.0.2": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@cspell/dict-aws/-/dict-aws-4.0.3.tgz#7d36d4d5439d1c39b815e0ae19f79e48a823e047" - integrity sha512-0C0RQ4EM29fH0tIYv+EgDQEum0QI6OrmjENC9u98pB8UcnYxGG/SqinuPxo+TgcEuInj0Q73MsBpJ1l5xUnrsw== - -"@cspell/dict-bash@^4.1.3": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@cspell/dict-bash/-/dict-bash-4.1.3.tgz#25fba40825ac10083676ab2c777e471c3f71b36e" - integrity sha512-tOdI3QVJDbQSwPjUkOiQFhYcu2eedmX/PtEpVWg0aFps/r6AyjUQINtTgpqMYnYuq8O1QUIQqnpx21aovcgZCw== - -"@cspell/dict-companies@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@cspell/dict-companies/-/dict-companies-3.1.2.tgz#b335fe5b8847a23673bc4b964ca584339ca669a2" - integrity sha512-OwR5i1xbYuJX7FtHQySmTy3iJtPV1rZQ3jFCxFGwrA1xRQ4rtRcDQ+sTXBCIAoJHkXa84f9J3zsngOKmMGyS/w== - -"@cspell/dict-cpp@^5.1.10": - version "5.1.10" - resolved "https://registry.yarnpkg.com/@cspell/dict-cpp/-/dict-cpp-5.1.10.tgz#457881ad9425ea0af71e4c1f9b108677a555fe79" - integrity sha512-BmIF0sAz2BgGEOwzYIeEm9ALneDjd1tcTbFbo+A1Hcq3zOKP8yViSgxS9CEN30KOZIyph6Tldp531UPEpoEl0Q== - -"@cspell/dict-cryptocurrencies@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-5.0.0.tgz#19fbc7bdbec76ce64daf7d53a6d0f3cfff7d0038" - integrity sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA== - -"@cspell/dict-csharp@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@cspell/dict-csharp/-/dict-csharp-4.0.2.tgz#e55659dbe594e744d86b1baf0f3397fe57b1e283" - integrity sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g== - -"@cspell/dict-css@^4.0.12": - version "4.0.12" - resolved "https://registry.yarnpkg.com/@cspell/dict-css/-/dict-css-4.0.12.tgz#59abf3512ae729835c933c38f64a3d8a5f09ce3d" - integrity sha512-vGBgPM92MkHQF5/2jsWcnaahOZ+C6OE/fPvd5ScBP72oFY9tn5GLuomcyO0z8vWCr2e0nUSX1OGimPtcQAlvSw== - -"@cspell/dict-dart@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@cspell/dict-dart/-/dict-dart-2.0.3.tgz#75e7ffe47d5889c2c831af35acdd92ebdbd4cf12" - integrity sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw== - -"@cspell/dict-data-science@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-data-science/-/dict-data-science-2.0.1.tgz#ef8040821567786d76c6153ac3e4bc265ca65b59" - integrity sha512-xeutkzK0eBe+LFXOFU2kJeAYO6IuFUc1g7iRLr7HeCmlC4rsdGclwGHh61KmttL3+YHQytYStxaRBdGAXWC8Lw== - -"@cspell/dict-django@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-django/-/dict-django-4.1.0.tgz#2d4b765daf3c83e733ef3e06887ea34403a4de7a" - integrity sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w== - -"@cspell/dict-docker@^1.1.7": - version "1.1.7" - resolved "https://registry.yarnpkg.com/@cspell/dict-docker/-/dict-docker-1.1.7.tgz#bcf933283fbdfef19c71a642e7e8c38baf9014f2" - integrity sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A== - -"@cspell/dict-dotnet@^5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@cspell/dict-dotnet/-/dict-dotnet-5.0.2.tgz#d89ca8fa2e546b5e1b1f1288746d26bb627d9f38" - integrity sha512-UD/pO2A2zia/YZJ8Kck/F6YyDSpCMq0YvItpd4YbtDVzPREfTZ48FjZsbYi4Jhzwfvc6o8R56JusAE58P+4sNQ== - -"@cspell/dict-elixir@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@cspell/dict-elixir/-/dict-elixir-4.0.3.tgz#57c25843e46cf3463f97da72d9ef8e37c818296f" - integrity sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q== - -"@cspell/dict-en-common-misspellings@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-2.0.3.tgz#705d7a271fbd35f9ee3ce5bd5ff0d38454a61927" - integrity sha512-8nF1z9nUiSgMyikL66HTbDO7jCGtB24TxKBasXIBwkBKMDZgA2M883iXdeByy6m1JJUcCGFkSftVYp2W0bUgjw== - -"@cspell/dict-en-gb@1.1.33": - version "1.1.33" - resolved "https://registry.yarnpkg.com/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz#7f1fd90fc364a5cb77111b5438fc9fcf9cc6da0e" - integrity sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g== - -"@cspell/dict-en_us@^4.3.22": - version "4.3.23" - resolved "https://registry.yarnpkg.com/@cspell/dict-en_us/-/dict-en_us-4.3.23.tgz#3362b75a5051405816728ea1bb5ce997582ed383" - integrity sha512-l0SoEQBsi3zDSl3OuL4/apBkxjuj4hLIg/oy6+gZ7LWh03rKdF6VNtSZNXWAmMY+pmb1cGA3ouleTiJIglbsIg== - -"@cspell/dict-filetypes@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@cspell/dict-filetypes/-/dict-filetypes-3.0.4.tgz#aca71c7bb8c8805b54f382d98ded5ec75ebc1e36" - integrity sha512-IBi8eIVdykoGgIv5wQhOURi5lmCNJq0we6DvqKoPQJHthXbgsuO1qrHSiUVydMiQl/XvcnUWTMeAlVUlUClnVg== - -"@cspell/dict-fonts@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-fonts/-/dict-fonts-4.0.0.tgz#9bc8beb2a7b068b4fdb45cb994b36fd184316327" - integrity sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q== - -"@cspell/dict-fsharp@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-fsharp/-/dict-fsharp-1.0.1.tgz#d62c699550a39174f182f23c8c1330a795ab5f53" - integrity sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ== - -"@cspell/dict-fullstack@^3.1.8": - version "3.1.8" - resolved "https://registry.yarnpkg.com/@cspell/dict-fullstack/-/dict-fullstack-3.1.8.tgz#1bbfa0a165346f6eff9894cf965bf3ce26552797" - integrity sha512-YRlZupL7uqMCtEBK0bDP9BrcPnjDhz7m4GBqCc1EYqfXauHbLmDT8ELha7T/E7wsFKniHSjzwDZzhNXo2lusRQ== - -"@cspell/dict-gaming-terms@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.0.5.tgz#d6ca40eb34a4c99847fd58a7354cd2c651065156" - integrity sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw== - -"@cspell/dict-git@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-git/-/dict-git-3.0.0.tgz#c275af86041a2b59a7facce37525e2af05653b95" - integrity sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw== - -"@cspell/dict-golang@^6.0.9": - version "6.0.9" - resolved "https://registry.yarnpkg.com/@cspell/dict-golang/-/dict-golang-6.0.9.tgz#b26ee13fb34a8cd40fb22380de8a46b25739fcab" - integrity sha512-etDt2WQauyEQDA+qPS5QtkYTb2I9l5IfQftAllVoB1aOrT6bxxpHvMEpJ0Hsn/vezxrCqa/BmtUbRxllIxIuSg== - -"@cspell/dict-google@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-google/-/dict-google-1.0.1.tgz#34701471a616011aeaaf480d4834436b6b6b1da5" - integrity sha512-dQr4M3n95uOhtloNSgB9tYYGXGGEGEykkFyRtfcp5pFuEecYUa0BSgtlGKx9RXVtJtKgR+yFT/a5uQSlt8WjqQ== - -"@cspell/dict-haskell@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-haskell/-/dict-haskell-4.0.1.tgz#e9fca7c452411ff11926e23ffed2b50bb9b95e47" - integrity sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ== - -"@cspell/dict-html-symbol-entities@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-4.0.0.tgz#4d86ac18a4a11fdb61dfb6f5929acd768a52564f" - integrity sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw== - -"@cspell/dict-html@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@cspell/dict-html/-/dict-html-4.0.5.tgz#03a5182148d80e6c25f71339dbb2b7c5b9894ef8" - integrity sha512-p0brEnRybzSSWi8sGbuVEf7jSTDmXPx7XhQUb5bgG6b54uj+Z0Qf0V2n8b/LWwIPJNd1GygaO9l8k3HTCy1h4w== - -"@cspell/dict-java@^5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@cspell/dict-java/-/dict-java-5.0.7.tgz#c0b32d3c208b6419a5eddd010e87196976be2694" - integrity sha512-ejQ9iJXYIq7R09BScU2y5OUGrSqwcD+J5mHFOKbduuQ5s/Eh/duz45KOzykeMLI6KHPVxhBKpUPBWIsfewECpQ== - -"@cspell/dict-julia@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-julia/-/dict-julia-1.0.1.tgz#900001417f1c4ea689530adfcc034c848458a0aa" - integrity sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ== - -"@cspell/dict-k8s@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@cspell/dict-k8s/-/dict-k8s-1.0.5.tgz#4a4011d9f2f3ab628658573c5f16c0e6dbe30c29" - integrity sha512-Cj+/ZV4S+MKlwfocSJZqe/2UAd/sY8YtlZjbK25VN1nCnrsKrBjfkX29vclwSj1U9aJg4Z9jw/uMjoaKu9ZrpQ== - -"@cspell/dict-latex@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-latex/-/dict-latex-4.0.0.tgz#85054903db834ea867174795d162e2a8f0e9c51e" - integrity sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ== - -"@cspell/dict-lorem-ipsum@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-4.0.0.tgz#2793a5dbfde474a546b0caecc40c38fdf076306e" - integrity sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw== - -"@cspell/dict-lua@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@cspell/dict-lua/-/dict-lua-4.0.3.tgz#2d23c8f7e74b4e62000678d80e7d1ebb10b003e0" - integrity sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg== - -"@cspell/dict-makefile@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-makefile/-/dict-makefile-1.0.0.tgz#5afb2910873ebbc01ab8d9c38661c4c93d0e5a40" - integrity sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ== - -"@cspell/dict-monkeyc@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@cspell/dict-monkeyc/-/dict-monkeyc-1.0.6.tgz#042d042fc34a20194c8de032130808f44b241375" - integrity sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA== - -"@cspell/dict-node@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-node/-/dict-node-5.0.1.tgz#77e17c576a897a3391fce01c1cc5da60bb4c2268" - integrity sha512-lax/jGz9h3Dv83v8LHa5G0bf6wm8YVRMzbjJPG/9rp7cAGPtdrga+XANFq+B7bY5+jiSA3zvj10LUFCFjnnCCg== - -"@cspell/dict-node@^5.0.5": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@cspell/dict-node/-/dict-node-5.0.5.tgz#11653612ebdd833208432e8b3cbe61bd6dd35dc3" - integrity sha512-7NbCS2E8ZZRZwlLrh2sA0vAk9n1kcTUiRp/Nia8YvKaItGXLfxYqD2rMQ3HpB1kEutal6hQLVic3N2Yi1X7AaA== - -"@cspell/dict-npm@^5.0.16": - version "5.0.16" - resolved "https://registry.yarnpkg.com/@cspell/dict-npm/-/dict-npm-5.0.16.tgz#696883918a9876ffd20d5f975bde74a03d27d80e" - integrity sha512-ZWPnLAziEcSCvV0c8k9Qj88pfMu+wZwM5Qks87ShsfBgI8uLZ9tGHravA7gmjH1Gd7Bgxy2ulvXtSqIWPh1lew== - -"@cspell/dict-php@^4.0.8": - version "4.0.8" - resolved "https://registry.yarnpkg.com/@cspell/dict-php/-/dict-php-4.0.8.tgz#fedce3109dff13a0f3d8d88ba604d6edd2b9fb70" - integrity sha512-TBw3won4MCBQ2wdu7kvgOCR3dY2Tb+LJHgDUpuquy3WnzGiSDJ4AVelrZdE1xu7mjFJUr4q48aB21YT5uQqPZA== - -"@cspell/dict-powershell@^5.0.4": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@cspell/dict-powershell/-/dict-powershell-5.0.4.tgz#db2bc6a86700a2f829dc1b3b04f6cb3a916fd928" - integrity sha512-eosDShapDgBWN9ULF7+sRNdUtzRnUdsfEdBSchDm8FZA4HOqxUSZy3b/cX/Rdw0Fnw0AKgk0kzgXw7tS6vwJMQ== - -"@cspell/dict-public-licenses@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.7.tgz#ccd67a91a6bd5ed4b5117c2f34e9361accebfcb7" - integrity sha512-KlBXuGcN3LE7tQi/GEqKiDewWGGuopiAD0zRK1QilOx5Co8XAvs044gk4MNIQftc8r0nHeUI+irJKLGcR36DIQ== - -"@cspell/dict-python@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-python/-/dict-python-4.2.1.tgz#ef0c4cc1b6d096e8ff65faee3fe15eaf6457a92e" - integrity sha512-9X2jRgyM0cxBoFQRo4Zc8oacyWnXi+0/bMI5FGibZNZV4y/o9UoFEr6agjU260/cXHTjIdkX233nN7eb7dtyRg== - dependencies: - "@cspell/dict-data-science" "^2.0.1" - -"@cspell/dict-r@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-r/-/dict-r-2.0.1.tgz#73474fb7cce45deb9094ebf61083fbf5913f440a" - integrity sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA== - -"@cspell/dict-ruby@^5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@cspell/dict-ruby/-/dict-ruby-5.0.2.tgz#cf1a71380c633dec0857143d3270cb503b10679a" - integrity sha512-cIh8KTjpldzFzKGgrqUX4bFyav5lC52hXDKo4LbRuMVncs3zg4hcSf4HtURY+f2AfEZzN6ZKzXafQpThq3dl2g== - -"@cspell/dict-rust@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@cspell/dict-rust/-/dict-rust-4.0.4.tgz#72f21d18aa46288b7da00e7d91b3ed4a23b386e8" - integrity sha512-v9/LcZknt/Xq7m1jdTWiQEtmkVVKdE1etAfGL2sgcWpZYewEa459HeWndNA0gfzQrpWX9sYay18mt7pqClJEdA== - -"@cspell/dict-scala@^5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@cspell/dict-scala/-/dict-scala-5.0.2.tgz#d732ab24610cc9f6916fb8148f6ef5bdd945fc47" - integrity sha512-v97ClgidZt99JUm7OjhQugDHmhx4U8fcgunHvD/BsXWjXNj4cTr0m0YjofyZoL44WpICsNuFV9F/sv9OM5HUEw== - -"@cspell/dict-software-terms@^3.4.6": - version "3.4.10" - resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-3.4.10.tgz#1e461abf6a639b8771763a5953dbcfd611bc6dc0" - integrity sha512-S5S2sz98v4GWJ9TMo62Vp4L5RM/329e5UQfFn7yJfieTcrfXRH4IweVdz34rZcK9o5coGptgBUIv/Jcrd4cMpg== - -"@cspell/dict-software-terms@^4.1.15": - version "4.1.17" - resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-4.1.17.tgz#da5fc11e44b0fe4d8f6fd6d293bb706340c47510" - integrity sha512-QORIk1R5DV8oOQ+oAlUWE7UomaJwUucqu2srrc2+PmkoI6R1fJwwg2uHCPBWlIb4PGDNEdXLv9BAD13H+0wytQ== - -"@cspell/dict-sql@^2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@cspell/dict-sql/-/dict-sql-2.1.3.tgz#8d9666a82e35b310d0be4064032c0d891fbd2702" - integrity sha512-SEyTNKJrjqD6PAzZ9WpdSu6P7wgdNtGV2RV8Kpuw1x6bV+YsSptuClYG+JSdRExBTE6LwIe1bTklejUp3ZP8TQ== - -"@cspell/dict-svelte@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@cspell/dict-svelte/-/dict-svelte-1.0.2.tgz#0c866b08a7a6b33bbc1a3bdbe6a1b484ca15cdaa" - integrity sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q== - -"@cspell/dict-swift@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@cspell/dict-swift/-/dict-swift-2.0.1.tgz#06ec86e52e9630c441d3c19605657457e33d7bb6" - integrity sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw== - -"@cspell/dict-terraform@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-terraform/-/dict-terraform-1.0.0.tgz#c7b073bb3a03683f64cc70ccaa55ce9742c46086" - integrity sha512-Ak+vy4HP/bOgzf06BAMC30+ZvL9mzv21xLM2XtfnBLTDJGdxlk/nK0U6QT8VfFLqJ0ZZSpyOxGsUebWDCTr/zQ== - -"@cspell/dict-typescript@^3.1.2": - version "3.1.11" - resolved "https://registry.yarnpkg.com/@cspell/dict-typescript/-/dict-typescript-3.1.11.tgz#40586f13b0337bd9cba958e0661b35888580b249" - integrity sha512-FwvK5sKbwrVpdw0e9+1lVTl8FPoHYvfHRuQRQz2Ql5XkC0gwPPkpoyD1zYImjIyZRoYXk3yp9j8ss4iz7A7zoQ== - -"@cspell/dict-typescript@^3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@cspell/dict-typescript/-/dict-typescript-3.1.5.tgz#15bd74651fb2cf0eff1150f07afee9543206bfab" - integrity sha512-EkIwwNV/xqEoBPJml2S16RXj65h1kvly8dfDLgXerrKw6puybZdvAHerAph6/uPTYdtLcsPyJYkPt5ISOJYrtw== - -"@cspell/dict-vue@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@cspell/dict-vue/-/dict-vue-3.0.0.tgz#68ccb432ad93fcb0fd665352d075ae9a64ea9250" - integrity sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A== - -"@cspell/dynamic-import@8.9.0": - version "8.9.0" - resolved "https://registry.yarnpkg.com/@cspell/dynamic-import/-/dynamic-import-8.9.0.tgz#232d49b6372ff8ece4d5ffce149f988e9350065c" - integrity sha512-UYa2Xlf/Bg9b7lUlKn59Z6XhHtE00z5kgzkKCGAdS0W27i2qUZJHW3FfiKfknWLNLzfj7cVUAq2IHjbumbx9ow== - dependencies: - import-meta-resolve "^4.1.0" - -"@cspell/strong-weak-map@8.9.0": - version "8.9.0" - resolved "https://registry.yarnpkg.com/@cspell/strong-weak-map/-/strong-weak-map-8.9.0.tgz#5aedd8f556c362b444f0a8dc9ed532831bed3c95" - integrity sha512-HE0rkwtJ4/4QuXpJW1r4GIK+jhs2SYK4IACf3EE2mJufOWF4YxgfWwKBgztKE/0RDMJcxyvn/ubLUCnNClNfdg== - -"@cspell/url@8.9.0": - version "8.9.0" - resolved "https://registry.yarnpkg.com/@cspell/url/-/url-8.9.0.tgz#313ccde44570b3158cb7baa3eb53e54572d7263f" - integrity sha512-FaHTEx6OBVKlkX7VgAPofBZ5vIdxNWYalb0uZwJ5FCc/PCMIF5l91DQGQxRMas3qzRACR911kJamPdeK/3qilw== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@ericcornelissen/bash-parser@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@ericcornelissen/bash-parser/-/bash-parser-0.5.3.tgz#cda9f0e9ed3bcf62c29c277de778726425e03b0a" - integrity sha512-9Z0sGuXqf6En19qmwB0Syi1Mc8TYl756dNuuaYal9mrypKa0Jq/IX6aJfh6Rk2S3z66KBisWTqloDo7weYj4zg== - dependencies: - array-last "^1.1.1" - babylon "^6.9.1" - compose-function "^3.0.3" - filter-obj "^1.1.0" - has-own-property "^0.1.0" - identity-function "^1.0.0" - is-iterable "^1.1.0" - iterable-lookahead "^1.0.0" - lodash.curry "^4.1.1" - magic-string "^0.16.0" - map-obj "^2.0.0" - object-pairs "^0.1.0" - object-values "^1.0.0" - reverse-arguments "^1.0.0" - shell-quote-word "^1.0.1" - to-pascal-case "^1.0.0" - unescape-js "^1.0.5" - -"@esbuild/aix-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" - integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== - -"@esbuild/android-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" - integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== - -"@esbuild/android-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" - integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== - -"@esbuild/android-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" - integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== - -"@esbuild/darwin-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" - integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== - -"@esbuild/darwin-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" - integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== - -"@esbuild/freebsd-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" - integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== - -"@esbuild/freebsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" - integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== - -"@esbuild/linux-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" - integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== - -"@esbuild/linux-arm@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" - integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== - -"@esbuild/linux-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" - integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== - -"@esbuild/linux-loong64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" - integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== - -"@esbuild/linux-mips64el@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" - integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== - -"@esbuild/linux-ppc64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" - integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== - -"@esbuild/linux-riscv64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" - integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== - -"@esbuild/linux-s390x@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" - integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== - -"@esbuild/linux-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" - integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== - -"@esbuild/netbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" - integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== - -"@esbuild/openbsd-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" - integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== - -"@esbuild/sunos-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" - integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== - -"@esbuild/win32-arm64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" - integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== - -"@esbuild/win32-ia32@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" - integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== - -"@esbuild/win32-x64@0.21.5": - version "0.21.5" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" - integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.10.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" - integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== - -"@eslint-community/regexpp@^4.12.1": - version "4.12.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" - integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== - -"@eslint/config-array@^0.18.0": - version "0.18.0" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.18.0.tgz#37d8fe656e0d5e3dbaea7758ea56540867fd074d" - integrity sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw== - dependencies: - "@eslint/object-schema" "^2.1.4" - debug "^4.3.1" - minimatch "^3.1.2" - -"@eslint/core@^0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.7.0.tgz#a1bb4b6a4e742a5ff1894b7ee76fbf884ec72bd3" - integrity sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw== - -"@eslint/eslintrc@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6" - integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@9.14.0": - version "9.14.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.14.0.tgz#2347a871042ebd11a00fd8c2d3d56a265ee6857e" - integrity sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg== - -"@eslint/object-schema@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" - integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== - -"@eslint/plugin-kit@^0.2.0": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz#812980a6a41ecf3a8341719f92a6d1e784a2e0e8" - integrity sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA== - dependencies: - levn "^0.4.1" - -"@fastify/busboy@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" - integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== - -"@humanfs/core@^0.19.1": - version "0.19.1" - resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" - integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== - -"@humanfs/node@^0.16.6": - version "0.16.6" - resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" - integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== - dependencies: - "@humanfs/core" "^0.19.1" - "@humanwhocodes/retry" "^0.3.0" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/retry@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" - integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== - -"@humanwhocodes/retry@^0.4.0": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b" - integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== - -"@inquirer/confirm@^3.0.0": - version "3.1.15" - resolved "https://registry.yarnpkg.com/@inquirer/confirm/-/confirm-3.1.15.tgz#50fad3e9e9af1ddc7b661ac044cc04a689904760" - integrity sha512-CiLGi3JmKGEsia5kYJN62yG/njHydbYIkzSBril7tCaKbsnIqxa2h/QiON9NjfwiKck/2siosz4h7lVhLFocMQ== - dependencies: - "@inquirer/core" "^9.0.3" - "@inquirer/type" "^1.5.0" - -"@inquirer/core@^9.0.3": - version "9.0.3" - resolved "https://registry.yarnpkg.com/@inquirer/core/-/core-9.0.3.tgz#40564a501f77410752b0a5dda652d6340e30dfa1" - integrity sha512-p2BRZv/vMmpwlU4ZR966vKQzGVCi4VhLjVofwnFLziTQia541T7i1Ar8/LPh+LzjkXzocme+g5Io6MRtzlCcNA== - dependencies: - "@inquirer/figures" "^1.0.4" - "@inquirer/type" "^1.5.0" - "@types/mute-stream" "^0.0.4" - "@types/node" "^20.14.11" - "@types/wrap-ansi" "^3.0.0" - ansi-escapes "^4.3.2" - cli-spinners "^2.9.2" - cli-width "^4.1.0" - mute-stream "^1.0.0" - signal-exit "^4.1.0" - strip-ansi "^6.0.1" - wrap-ansi "^6.2.0" - yoctocolors-cjs "^2.1.2" - -"@inquirer/figures@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.4.tgz#a54dab6e205636a881ece0f1017efff6d6174d6e" - integrity sha512-R7Gsg6elpuqdn55fBH2y9oYzrU/yKrSmIsDX4ROT51vohrECFzTf2zw9BfUbOW8xjfmM2QbVoVYdTwhrtEKWSQ== - -"@inquirer/type@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-1.5.0.tgz#0890e6286281b3f118632e6f7c47c0ccb9b29ee3" - integrity sha512-L/UdayX9Z1lLN+itoTKqJ/X4DX5DaWu2Sruwt4XgZzMNv32x4qllbzMX4MbJlz0yxAQtU19UvABGOjmdq1u3qA== - dependencies: - mute-stream "^1.0.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - 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" - -"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@29.7.0", "@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@mswjs/cookies@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@mswjs/cookies/-/cookies-1.1.1.tgz#8b519e2bd8f1577c530beed44a25578eb9a6e72c" - integrity sha512-W68qOHEjx1iD+4VjQudlx26CPIoxmIAtK4ZCexU0/UJBG6jYhcuyzKJx+Iw8uhBIGd9eba64XgWVgo20it1qwA== - -"@mswjs/data@0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@mswjs/data/-/data-0.16.1.tgz#ee41b95b8f2e954a07b0eb54154592a2459064d1" - integrity sha512-VhJvL/VmgAuU9/tDOcKcxHfNd+8nxYntZnrkaQEQPvZZnFwQQR9bzI1FTRROGxCHVoyfv9v84AEkl/7CIw4FAg== - dependencies: - "@types/lodash" "^4.14.172" - "@types/md5" "^2.3.0" - "@types/pluralize" "^0.0.29" - "@types/uuid" "^8.3.0" - date-fns "^2.21.1" - debug "^4.3.1" - graphql "^16.8.1" - lodash "^4.17.21" - md5 "^2.3.0" - outvariant "^1.2.1" - pluralize "^8.0.0" - strict-event-emitter "^0.5.0" - uuid "^8.3.1" - optionalDependencies: - msw "^2.0.8" - -"@mswjs/interceptors@^0.29.0": - version "0.29.1" - resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.29.1.tgz#e77fc58b5188569041d0440b25c9e9ebb1ccd60a" - integrity sha512-3rDakgJZ77+RiQUuSK69t1F0m8BQKA8Vh5DCS5V0DWvNY67zob2JhhQrhCO0AKLGINTRSFd1tBaHcJTkhefoSw== - dependencies: - "@open-draft/deferred-promise" "^2.2.0" - "@open-draft/logger" "^0.3.0" - "@open-draft/until" "^2.0.0" - is-node-process "^1.2.0" - outvariant "^1.2.1" - strict-event-emitter "^0.5.1" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.scandir@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-3.0.0.tgz#91c0a33e1aeaedcd4bab2bf31be5d1962a55d2a7" - integrity sha512-ktI9+PxfHYtKjF3cLTUAh2N+b8MijCRPNwKJNqTVdL0gB0QxLU2rIRaZ1t71oEa3YBDE6bukH1sR0+CDnpp/Mg== - dependencies: - "@nodelib/fs.stat" "3.0.0" - run-parallel "^1.2.0" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.stat@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-3.0.0.tgz#ef6c829f2b05f42595d88854ebd777d4335ff0a9" - integrity sha512-2tQOI38s19P9i7X/Drt0v8iMA+KMsgdhB/dyPER+e+2Y8L1Z7QvnuRdW/uLuf5YRFUYmnj4bMA6qCuZHFI1GDQ== - -"@nodelib/fs.walk@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-2.0.0.tgz#10499ac2210f6399770b465ba728adafc7d44bb1" - integrity sha512-54voNDBobGdMl3BUXSu7UaDh1P85PGHWlJ5e0XhPugo1JulOyCtp2I+5ri4wplGDJ8QGwPEQW7/x3yTLU7yF1A== - dependencies: - "@nodelib/fs.scandir" "3.0.0" - fastq "^1.15.0" - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@octokit/auth-token@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7" - integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== - -"@octokit/auth-token@^5.0.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-5.1.1.tgz#3bbfe905111332a17f72d80bd0b51a3e2fa2cf07" - integrity sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA== - -"@octokit/core@^5.0.1": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-5.2.0.tgz#ddbeaefc6b44a39834e1bb2e58a49a117672a7ea" - integrity sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg== - dependencies: - "@octokit/auth-token" "^4.0.0" - "@octokit/graphql" "^7.1.0" - "@octokit/request" "^8.3.1" - "@octokit/request-error" "^5.1.0" - "@octokit/types" "^13.0.0" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" - -"@octokit/core@^6.1.2": - version "6.1.2" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-6.1.2.tgz#20442d0a97c411612da206411e356014d1d1bd17" - integrity sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg== - dependencies: - "@octokit/auth-token" "^5.0.0" - "@octokit/graphql" "^8.0.0" - "@octokit/request" "^9.0.0" - "@octokit/request-error" "^6.0.1" - "@octokit/types" "^13.0.0" - before-after-hook "^3.0.2" - universal-user-agent "^7.0.0" - -"@octokit/endpoint@^10.0.0": - version "10.1.1" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-10.1.1.tgz#1a9694e7aef6aa9d854dc78dd062945945869bcc" - integrity sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q== - dependencies: - "@octokit/types" "^13.0.0" - universal-user-agent "^7.0.2" - -"@octokit/endpoint@^9.0.1": - version "9.0.5" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.5.tgz#e6c0ee684e307614c02fc6ac12274c50da465c44" - integrity sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw== - dependencies: - "@octokit/types" "^13.1.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-7.1.0.tgz#9bc1c5de92f026648131f04101cab949eeffe4e0" - integrity sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ== - dependencies: - "@octokit/request" "^8.3.0" - "@octokit/types" "^13.0.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^8.0.0": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-8.1.1.tgz#3cacab5f2e55d91c733e3bf481d3a3f8a5f639c4" - integrity sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg== - dependencies: - "@octokit/request" "^9.0.0" - "@octokit/types" "^13.0.0" - universal-user-agent "^7.0.0" - -"@octokit/openapi-types@^20.0.0": - version "20.0.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-20.0.0.tgz#9ec2daa0090eeb865ee147636e0c00f73790c6e5" - integrity sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA== - -"@octokit/openapi-types@^22.2.0": - version "22.2.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.2.0.tgz#75aa7dcd440821d99def6a60b5f014207ae4968e" - integrity sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg== - -"@octokit/openapi-webhooks-types@8.5.1": - version "8.5.1" - resolved "https://registry.yarnpkg.com/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-8.5.1.tgz#de421dbd3efb586e908a152eed3f0ae50698a2f2" - integrity sha512-i3h1b5zpGSB39ffBbYdSGuAd0NhBAwPyA3QV3LYi/lx4lsbZiu7u2UHgXVUR6EpvOI8REOuVh1DZTRfHoJDvuQ== - -"@octokit/plugin-paginate-graphql@^5.2.4": - version "5.2.4" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-5.2.4.tgz#b6afda7b3f24cb93d2ab822ec8eac664a5d325d0" - integrity sha512-pLZES1jWaOynXKHOqdnwZ5ULeVR6tVVCMm+AUbp0htdcyXDU95WbkYdU4R2ej1wKj5Tu94Mee2Ne0PjPO9cCyA== - -"@octokit/plugin-paginate-rest@^11.0.0", "@octokit/plugin-paginate-rest@^11.3.5": - version "11.3.5" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.5.tgz#a1929b3ba3dc7b63bc73bb6d3c7a3faf2a9c7649" - integrity sha512-cgwIRtKrpwhLoBi0CUNuY83DPGRMaWVjqVI/bGKsLJ4PzyWZNaEmhHroI2xlrVXkk6nFv0IsZpOp+ZWSWUS2AQ== - dependencies: - "@octokit/types" "^13.6.0" - -"@octokit/plugin-paginate-rest@^9.0.0": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz#2e2a2f0f52c9a4b1da1a3aa17dabe3c459b9e401" - integrity sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw== - dependencies: - "@octokit/types" "^12.6.0" - -"@octokit/plugin-request-log@^5.3.1": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz#ccb75d9705de769b2aa82bcd105cc96eb0c00f69" - integrity sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw== - -"@octokit/plugin-rest-endpoint-methods@^10.0.0": - version "10.4.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz#41ba478a558b9f554793075b2e20cd2ef973be17" - integrity sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg== - dependencies: - "@octokit/types" "^12.6.0" - -"@octokit/plugin-rest-endpoint-methods@^13.0.0", "@octokit/plugin-rest-endpoint-methods@^13.2.6": - version "13.2.6" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.6.tgz#b9d343dbe88a6cb70cc7fa16faa98f0a29ffe654" - integrity sha512-wMsdyHMjSfKjGINkdGKki06VEkgdEldIGstIEyGX0wbYHGByOwN/KiM+hAAlUwAtPkP3gvXtVQA9L3ITdV2tVw== - dependencies: - "@octokit/types" "^13.6.1" - -"@octokit/plugin-retry@^7.1.2": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz#242e2d19a72a50b5113bb25d7d2c622ce0373fa0" - integrity sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ== - dependencies: - "@octokit/request-error" "^6.0.0" - "@octokit/types" "^13.0.0" - bottleneck "^2.15.3" - -"@octokit/plugin-throttling@^9.3.2": - version "9.3.2" - resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-9.3.2.tgz#cc05180e45e769d6726c5faed157e9ad3b6ab8c0" - integrity sha512-FqpvcTpIWFpMMwIeSoypoJXysSAQ3R+ALJhXXSG1HTP3YZOIeLmcNcimKaXxTcws+Sh6yoRl13SJ5r8sXc1Fhw== - dependencies: - "@octokit/types" "^13.0.0" - bottleneck "^2.15.3" - -"@octokit/request-error@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-5.1.0.tgz#ee4138538d08c81a60be3f320cd71063064a3b30" - integrity sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q== - dependencies: - "@octokit/types" "^13.1.0" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request-error@^6.0.0": - version "6.1.5" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-6.1.5.tgz#907099e341c4e6179db623a0328d678024f54653" - integrity sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ== - dependencies: - "@octokit/types" "^13.0.0" - -"@octokit/request-error@^6.0.1": - version "6.1.4" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-6.1.4.tgz#ad96e29148d19edc2ba8009fc2b5a24a36c90f16" - integrity sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg== - dependencies: - "@octokit/types" "^13.0.0" - -"@octokit/request@^8.3.0", "@octokit/request@^8.3.1": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-8.4.0.tgz#7f4b7b1daa3d1f48c0977ad8fffa2c18adef8974" - integrity sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw== - dependencies: - "@octokit/endpoint" "^9.0.1" - "@octokit/request-error" "^5.1.0" - "@octokit/types" "^13.1.0" - universal-user-agent "^6.0.0" - -"@octokit/request@^9.0.0": - version "9.1.3" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-9.1.3.tgz#42b693bc06238f43af3c037ebfd35621c6457838" - integrity sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA== - dependencies: - "@octokit/endpoint" "^10.0.0" - "@octokit/request-error" "^6.0.1" - "@octokit/types" "^13.1.0" - universal-user-agent "^7.0.2" - -"@octokit/rest@^21.0.2": - version "21.0.2" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-21.0.2.tgz#9b767dbc1098daea8310fd8b76bf7a97215d5972" - integrity sha512-+CiLisCoyWmYicH25y1cDfCrv41kRSvTq6pPWtRroRJzhsCZWZyCqGyI8foJT5LmScADSwRAnr/xo+eewL04wQ== - dependencies: - "@octokit/core" "^6.1.2" - "@octokit/plugin-paginate-rest" "^11.0.0" - "@octokit/plugin-request-log" "^5.3.1" - "@octokit/plugin-rest-endpoint-methods" "^13.0.0" - -"@octokit/types@^12.6.0": - version "12.6.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-12.6.0.tgz#8100fb9eeedfe083aae66473bd97b15b62aedcb2" - integrity sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw== - dependencies: - "@octokit/openapi-types" "^20.0.0" - -"@octokit/types@^13.0.0", "@octokit/types@^13.1.0": - version "13.5.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.5.0.tgz#4796e56b7b267ebc7c921dcec262b3d5bfb18883" - integrity sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ== - dependencies: - "@octokit/openapi-types" "^22.2.0" - -"@octokit/types@^13.6.0", "@octokit/types@^13.6.1": - version "13.6.1" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.6.1.tgz#432fc6c0aaae54318e5b2d3e15c22ac97fc9b15f" - integrity sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g== - dependencies: - "@octokit/openapi-types" "^22.2.0" - -"@octokit/webhooks-methods@^5.0.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@octokit/webhooks-methods/-/webhooks-methods-5.1.0.tgz#13b6c08f89902c1ab0ddf31c6eeeec9c2772cfe6" - integrity sha512-yFZa3UH11VIxYnnoOYCVoJ3q4ChuSOk2IVBBQ0O3xtKX4x9bmKb/1t+Mxixv2iUhzMdOl1qeWJqEhouXXzB3rQ== - -"@octokit/webhooks@^13.3.0": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@octokit/webhooks/-/webhooks-13.4.1.tgz#608929916b0e0e5755fa5ca1de7484d2113bc6a9" - integrity sha512-I5YPUtfWidh+OzyrlDahJsUpkpGK0kCTmDRbuqGmlCUzOtxdEkX3R4d6Cd08ijQYwkVXQJanPdbKuZBeV2NMaA== - dependencies: - "@octokit/openapi-webhooks-types" "8.5.1" - "@octokit/request-error" "^6.0.1" - "@octokit/webhooks-methods" "^5.0.0" - -"@open-draft/deferred-promise@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz#4a822d10f6f0e316be4d67b4d4f8c9a124b073bd" - integrity sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== - -"@open-draft/logger@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@open-draft/logger/-/logger-0.3.0.tgz#2b3ab1242b360aa0adb28b85f5d7da1c133a0954" - integrity sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== - dependencies: - is-node-process "^1.2.0" - outvariant "^1.4.0" - -"@open-draft/until@^2.0.0", "@open-draft/until@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@open-draft/until/-/until-2.1.0.tgz#0acf32f470af2ceaf47f095cdecd40d68666efda" - integrity sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== - -"@pkgr/core@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" - integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== - -"@sinclair/typebox@0.34.3": - version "0.34.3" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.34.3.tgz#530e4a1a1b45985576312f2a3f4a45c6100044b0" - integrity sha512-fEgncmnqn6WGibPn34deH5PwmMTuNCZ2clwlwevgFn8rP0l38zzWRg3KVYhoOZwkZ2Ew3yhZ/STdGDuMig66oQ== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@snyk/github-codeowners@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@snyk/github-codeowners/-/github-codeowners-1.1.0.tgz#45b99732c3c38b5f5b47e43d2b0c9db67a6d2bcc" - integrity sha512-lGFf08pbkEac0NYgVf4hdANpAgApRjNByLXB+WBip3qj1iendOIyAwP2GKkKbQMNVy2r1xxDf0ssfWscoiC+Vw== - dependencies: - commander "^4.1.1" - ignore "^5.1.8" - p-map "^4.0.0" - -"@tsconfig/node10@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" - integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" - integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== - dependencies: - "@babel/types" "^7.20.7" - -"@types/conventional-commits-parser@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz#8c9d23e0b415b24b91626d07017303755d542dc8" - integrity sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ== - dependencies: - "@types/node" "*" - -"@types/cookie@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.6.0.tgz#eac397f28bf1d6ae0ae081363eca2f425bedf0d5" - integrity sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== - -"@types/estree@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== - -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/json-schema@^7.0.15": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/lodash@^4.14.172": - version "4.17.7" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.7.tgz#2f776bcb53adc9e13b2c0dfd493dfcbd7de43612" - integrity sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA== - -"@types/md5@^2.3.0": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@types/md5/-/md5-2.3.5.tgz#481cef0a896e3a5dcbfc5a8a8b02c05958af48a5" - integrity sha512-/i42wjYNgE6wf0j2bcTX6kuowmdL/6PE4IVitMpm2eYKBUuYCprdcWVK+xEF0gcV6ufMCRhtxmReGfc6hIK7Jw== - -"@types/ms@0.7.34": - version "0.7.34" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" - integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== - -"@types/mute-stream@^0.0.4": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@types/mute-stream/-/mute-stream-0.0.4.tgz#77208e56a08767af6c5e1237be8888e2f255c478" - integrity sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow== - dependencies: - "@types/node" "*" - -"@types/node@*", "@types/node@^20.14.11": - version "20.14.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.11.tgz#09b300423343460455043ddd4d0ded6ac579b74b" - integrity sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA== - dependencies: - undici-types "~5.26.4" - -"@types/node@20.14.5": - version "20.14.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.5.tgz#fe35e3022ebe58b8f201580eb24e1fcfc0f2487d" - integrity sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA== - dependencies: - undici-types "~5.26.4" - -"@types/pluralize@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/pluralize/-/pluralize-0.0.29.tgz#6ffa33ed1fc8813c469b859681d09707eb40d03c" - integrity sha512-BYOID+l2Aco2nBik+iYS4SZX0Lf20KPILP5RGmM1IgzdwNdTs0eebiFriOPcej1sX9mLnSoiNte5zcFxssgpGA== - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/statuses@^2.0.4": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@types/statuses/-/statuses-2.0.5.tgz#f61ab46d5352fd73c863a1ea4e1cef3b0b51ae63" - integrity sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A== - -"@types/uuid@^8.3.0": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" - integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== - -"@types/wrap-ansi@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz#18b97a972f94f60a679fd5c796d96421b9abb9fd" - integrity sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@8.14.0": - version "8.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.14.0.tgz#7dc0e419c87beadc8f554bf5a42e5009ed3748dc" - integrity sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.14.0" - "@typescript-eslint/type-utils" "8.14.0" - "@typescript-eslint/utils" "8.14.0" - "@typescript-eslint/visitor-keys" "8.14.0" - graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/parser@8.14.0": - version "8.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.14.0.tgz#0a7e9dbc11bc07716ab2d7b1226217e9f6b51fc8" - integrity sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA== - dependencies: - "@typescript-eslint/scope-manager" "8.14.0" - "@typescript-eslint/types" "8.14.0" - "@typescript-eslint/typescript-estree" "8.14.0" - "@typescript-eslint/visitor-keys" "8.14.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@8.14.0": - version "8.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.14.0.tgz#01f37c147a735cd78f0ff355e033b9457da1f373" - integrity sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw== - dependencies: - "@typescript-eslint/types" "8.14.0" - "@typescript-eslint/visitor-keys" "8.14.0" - -"@typescript-eslint/type-utils@8.14.0": - version "8.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.14.0.tgz#455c6af30c336b24a1af28bc4f81b8dd5d74d94d" - integrity sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ== - dependencies: - "@typescript-eslint/typescript-estree" "8.14.0" - "@typescript-eslint/utils" "8.14.0" - debug "^4.3.4" - ts-api-utils "^1.3.0" - -"@typescript-eslint/types@8.14.0": - version "8.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.14.0.tgz#0d33d8d0b08479c424e7d654855fddf2c71e4021" - integrity sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g== - -"@typescript-eslint/typescript-estree@8.14.0": - version "8.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.14.0.tgz#a7a3a5a53a6c09313e12fb4531d4ff582ee3c312" - integrity sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ== - dependencies: - "@typescript-eslint/types" "8.14.0" - "@typescript-eslint/visitor-keys" "8.14.0" - debug "^4.3.4" - fast-glob "^3.3.2" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/utils@8.14.0": - version "8.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.14.0.tgz#ac2506875e03aba24e602364e43b2dfa45529dbd" - integrity sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.14.0" - "@typescript-eslint/types" "8.14.0" - "@typescript-eslint/typescript-estree" "8.14.0" - -"@typescript-eslint/visitor-keys@8.14.0": - version "8.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz#2418d5a54669af9658986ade4e6cfb7767d815ad" - integrity sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ== - dependencies: - "@typescript-eslint/types" "8.14.0" - eslint-visitor-keys "^3.4.3" - -"@ubiquity-os/plugin-sdk@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@ubiquity-os/plugin-sdk/-/plugin-sdk-1.1.0.tgz#94f5fa276dad0d9279189aa67adbf0fee7e0f321" - integrity sha512-kiapUg6Fuc5cK0zo9Gy4B9uu1yvh3x7oTPRhGeaonjkyZNfM3xr387yshdazl4nwy2ePeyCrVc294miTBHpzpQ== - dependencies: - "@actions/core" "^1.11.1" - "@actions/github" "^6.0.0" - "@octokit/core" "^6.1.2" - "@octokit/plugin-paginate-graphql" "^5.2.4" - "@octokit/plugin-paginate-rest" "^11.3.5" - "@octokit/plugin-rest-endpoint-methods" "^13.2.6" - "@octokit/plugin-retry" "^7.1.2" - "@octokit/plugin-throttling" "^9.3.2" - "@octokit/rest" "^21.0.2" - "@octokit/types" "^13.6.1" - "@octokit/webhooks" "^13.3.0" - "@ubiquity-os/ubiquity-os-logger" "^1.3.2" - dotenv "^16.4.5" - hono "^4.6.9" - -"@ubiquity-os/ubiquity-os-logger@1.3.2", "@ubiquity-os/ubiquity-os-logger@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@ubiquity-os/ubiquity-os-logger/-/ubiquity-os-logger-1.3.2.tgz#4423bc0baeac5c2f73123d15fd961310521163cd" - integrity sha512-oTIzR8z4jAQmaeJp98t1bZUKE3Ws9pas0sbxt58fC37MwXclPMWrLO+a0JlhPkdJYsvpv/q/79wC2MKVhOIVXQ== - -JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.1.1: - version "8.3.4" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" - integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== - dependencies: - acorn "^8.11.0" - -acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1: - version "8.14.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" - integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== - -acorn@^8.12.0: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - 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" - -ajv@^8.11.0: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" - integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== - dependencies: - fast-deep-equal "^3.1.3" - fast-uri "^3.0.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-escapes@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.1.tgz#76c54ce9b081dad39acec4b5d53377913825fb0f" - integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.0.0, ansi-styles@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -anymatch@^3.0.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -arity-n@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" - integrity sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ== - -array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== - dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" - -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== - -array-last@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" - integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== - dependencies: - is-number "^4.0.0" - -array-timsort@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926" - integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ== - -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== - dependencies: - array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" - define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" - is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" - -async-lock@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/async-lock/-/async-lock-1.4.1.tgz#56b8718915a9b68b10fce2f2a9a3dddf765ef53f" - integrity sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ== - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@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-top-level-await" "^7.8.3" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -babylon@^6.9.1: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -before-after-hook@^2.2.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" - integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== - -before-after-hook@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-3.0.2.tgz#d5665a5fa8b62294a5aa0a499f933f4a1016195d" - integrity sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A== - -bottleneck@^2.15.3: - version "2.19.5" - resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" - integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browserslist@^4.23.1: - version "4.23.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.2.tgz#244fe803641f1c19c28c48c4b6ec9736eb3d32ed" - integrity sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA== - dependencies: - caniuse-lite "^1.0.30001640" - electron-to-chromium "^1.4.820" - node-releases "^2.0.14" - update-browserslist-db "^1.1.0" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -callsites@^3.0.0, callsites@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001640: - version "1.0.30001642" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz#6aa6610eb24067c246d30c57f055a9d0a7f8d05f" - integrity sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA== - -chalk-template@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/chalk-template/-/chalk-template-1.1.0.tgz#ffc55db6dd745e9394b85327c8ac8466edb7a7b1" - integrity sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg== - dependencies: - chalk "^5.2.0" - -chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^5.2.0, chalk@^5.3.0, chalk@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -charenc@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" - integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" - integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== - -clean-git-ref@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/clean-git-ref/-/clean-git-ref-2.0.1.tgz#dcc0ca093b90e527e67adb5a5e55b1af6816dcd9" - integrity sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -clear-module@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/clear-module/-/clear-module-4.1.2.tgz#5a58a5c9f8dccf363545ad7284cad3c887352a80" - integrity sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw== - dependencies: - parent-module "^2.0.0" - resolve-from "^5.0.0" - -cli-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" - integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== - dependencies: - restore-cursor "^4.0.0" - -cli-spinners@^2.9.2: - version "2.9.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" - integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== - -cli-truncate@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" - integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== - dependencies: - slice-ansi "^5.0.0" - string-width "^7.0.0" - -cli-width@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-4.1.0.tgz#42daac41d3c254ef38ad8ac037672130173691c5" - integrity sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.20: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -commander@^12.1.0, commander@~12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" - integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== - -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -comment-json@^4.2.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.2.4.tgz#7d1cfe2e934f0c55ae3c2c2cc0436ba4e8901083" - integrity sha512-E5AjpSW+O+N5T2GsOQMHLLsJvrYw6G/AFt9GvU6NguEAfzKShh7hRiLtVo6S9KbRpFMGqE5ojo0/hE+sdteWvQ== - dependencies: - array-timsort "^1.0.3" - core-util-is "^1.0.3" - esprima "^4.0.1" - has-own-prop "^2.0.0" - repeat-string "^1.6.1" - -compare-func@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" - integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== - dependencies: - array-ify "^1.0.0" - dot-prop "^5.1.0" - -compose-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" - integrity sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg== - dependencies: - arity-n "^1.0.4" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -conventional-changelog-angular@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a" - integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ== - dependencies: - compare-func "^2.0.0" - -conventional-changelog-conventionalcommits@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz#aa5da0f1b2543094889e8cf7616ebe1a8f5c70d5" - integrity sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w== - dependencies: - compare-func "^2.0.0" - -conventional-commits-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz#57f3594b81ad54d40c1b4280f04554df28627d9a" - integrity sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA== - dependencies: - JSONStream "^1.3.5" - is-text-path "^2.0.0" - meow "^12.0.1" - split2 "^4.0.0" - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -core-util-is@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig-typescript-loader@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz#0d3becfe022a871f7275ceb2397d692e06045dc8" - integrity sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA== - dependencies: - jiti "^1.19.1" - -cosmiconfig@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" - integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== - dependencies: - env-paths "^2.2.1" - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - -crc-32@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" - integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-env@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" - integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== - dependencies: - cross-spawn "^7.0.1" - -cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.1: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypt@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" - integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== - -cspell-config-lib@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/cspell-config-lib/-/cspell-config-lib-8.9.0.tgz#df256d9228cdfdc4a081eecec1706b3dd8e4de57" - integrity sha512-1FQketvqo6IktnyC2ishEIzfqSX2DNhsfpb0MIG/nNeG5KvbjSeozOZpfyrALVqhPUJZVWfMP3+N0/hj3AzH+g== - dependencies: - "@cspell/cspell-types" "8.9.0" - comment-json "^4.2.3" - yaml "^2.4.5" - -cspell-dictionary@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/cspell-dictionary/-/cspell-dictionary-8.9.0.tgz#57ec639760f4b27cc568c4905f1cd35595655f91" - integrity sha512-IsFyWsn9P979xoJ0PgWHdyjxVcDYe5nVmHMgJRecQ5LLhl2gFkOmsu+aYIh2qlHCLmcbzH31Me2x7Fd+jA6AXw== - dependencies: - "@cspell/cspell-pipe" "8.9.0" - "@cspell/cspell-types" "8.9.0" - cspell-trie-lib "8.9.0" - fast-equals "^5.0.1" - gensequence "^7.0.0" - -cspell-gitignore@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-8.9.0.tgz#1814a4b3ebdbf995aa1fe2be04c80a45766e5811" - integrity sha512-/iw+iqFLgySqW7xJ+kDHtC0mRjajDM1/jvnu4pUoxU9cRanCEqg2IAA/BET+n3ZEs/etsl8P4MB0lgWE98Z15g== - dependencies: - cspell-glob "8.9.0" - find-up-simple "^1.0.0" - -cspell-glob@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-8.9.0.tgz#a28b85732abd82e7293bb9d84a05d1f5d3dddf8a" - integrity sha512-j96SMMzT5Nz0nKCUECLkoyPEEms4hXKm/S7Vj80A356TFglTJD/yYiMKfWUamCVPm8UYODCz7W0s/liR7gSBSw== - dependencies: - micromatch "^4.0.7" - -cspell-grammar@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/cspell-grammar/-/cspell-grammar-8.9.0.tgz#2d22fbcdab8980eae9ab3344d4ab2d76dcc3b3ba" - integrity sha512-oZEOE64lLc0clLGOJeqc5d1Yzc1fUtXQAAeLIrS+uoVM7nA1SqgIEv1JBjp3R++8jQKLjS5n7v16VW5A/yk67w== - dependencies: - "@cspell/cspell-pipe" "8.9.0" - "@cspell/cspell-types" "8.9.0" - -cspell-io@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-8.9.0.tgz#7b2ffa99af96b742ec584dbc10fab2bc9517a60c" - integrity sha512-8KHERgqlg8KKpn04Owg2VY1Di2dSiwV/v63bUFxsGb8ORGIQ1VcydxtANwWuugUrZvtVrSFsbuU2fK/LRmAnoQ== - dependencies: - "@cspell/cspell-service-bus" "8.9.0" - "@cspell/url" "8.9.0" - -cspell-lib@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-8.9.0.tgz#b843d7c97360d22df93bea701f7d9eed1b72f934" - integrity sha512-k347TQs1QRUyyHWHYQxPJddApos/irFousr9W/M/jEkYTTKzMMfaXK8m20kBSnlJ+BOUMa+f8d+KPEw6QLwtJQ== - dependencies: - "@cspell/cspell-bundled-dicts" "8.9.0" - "@cspell/cspell-pipe" "8.9.0" - "@cspell/cspell-resolver" "8.9.0" - "@cspell/cspell-types" "8.9.0" - "@cspell/dynamic-import" "8.9.0" - "@cspell/strong-weak-map" "8.9.0" - "@cspell/url" "8.9.0" - clear-module "^4.1.2" - comment-json "^4.2.3" - cspell-config-lib "8.9.0" - cspell-dictionary "8.9.0" - cspell-glob "8.9.0" - cspell-grammar "8.9.0" - cspell-io "8.9.0" - cspell-trie-lib "8.9.0" - env-paths "^3.0.0" - fast-equals "^5.0.1" - gensequence "^7.0.0" - import-fresh "^3.3.0" - resolve-from "^5.0.0" - vscode-languageserver-textdocument "^1.0.11" - vscode-uri "^3.0.8" - xdg-basedir "^5.1.0" - -cspell-trie-lib@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-8.9.0.tgz#266a1bdf248f075a61851d7cd4bd082458a1780f" - integrity sha512-fQNQyFoeZA7b66jvhGaUYPzsS6gmPRJa6RcEpw2onP41S+IyLO6egubUu/qq8Hn1ebgJe/0Pc4fzkgv6MfV3tQ== - dependencies: - "@cspell/cspell-pipe" "8.9.0" - "@cspell/cspell-types" "8.9.0" - gensequence "^7.0.0" - -cspell@8.9.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/cspell/-/cspell-8.9.0.tgz#f8a1faa99cc266b94b38744708417ea58e136ffd" - integrity sha512-lDYu5p/XU3rqiNjMV46s92yJ7SfVyzAy03OtCJ94fopegZwFLjqZvqoy509ccP/0sHmiv83oTed8LP6Fm3kjpw== - dependencies: - "@cspell/cspell-json-reporter" "8.9.0" - "@cspell/cspell-pipe" "8.9.0" - "@cspell/cspell-types" "8.9.0" - "@cspell/dynamic-import" "8.9.0" - chalk "^5.3.0" - chalk-template "^1.1.0" - commander "^12.1.0" - cspell-gitignore "8.9.0" - cspell-glob "8.9.0" - cspell-io "8.9.0" - cspell-lib "8.9.0" - fast-glob "^3.3.2" - fast-json-stable-stringify "^2.1.0" - file-entry-cache "^8.0.0" - get-stdin "^9.0.0" - semver "^7.6.2" - strip-ansi "^7.1.0" - vscode-uri "^3.0.8" - -dargs@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-8.1.0.tgz#a34859ea509cbce45485e5aa356fef70bfcc7272" - integrity sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw== - -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -date-fns@^2.21.1: - version "2.30.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" - integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== - dependencies: - "@babel/runtime" "^7.21.0" - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.4: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== - dependencies: - ms "2.1.2" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -dedent@^1.0.0: - version "1.5.3" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" - integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -deprecation@^2.0.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff3@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/diff3/-/diff3-0.0.3.tgz#d4e5c3a4cdf4e5fe1211ab42e693fcb4321580fc" - integrity sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dot-prop@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dotenv@16.4.5, dotenv@^16.4.5: - version "16.4.5" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== - -easy-table@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/easy-table/-/easy-table-1.2.0.tgz#ba9225d7138fee307bfd4f0b5bc3c04bdc7c54eb" - integrity sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww== - dependencies: - ansi-regex "^5.0.1" - optionalDependencies: - wcwidth "^1.0.1" - -electron-to-chromium@^1.4.820: - version "1.4.828" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.828.tgz#a1ee8cd8847448b2898d3f2d9db02113f9c5b35c" - integrity sha512-QOIJiWpQJDHAVO4P58pwb133Cwee0nbvy/MV1CwzZVGpkH1RX33N3vsaWRCpR6bF63AAq366neZrRTu7Qlsbbw== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^10.3.0: - version "10.3.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" - integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -env-paths@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -env-paths@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-3.0.0.tgz#2f1e89c2f6dbd3408e1b1711dd82d62e317f58da" - integrity sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: - version "1.23.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== - dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" - is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" - string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.2.1, es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" - integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== - dependencies: - get-intrinsic "^1.2.4" - has-tostringtag "^1.0.2" - hasown "^2.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -esbuild@~0.21.5: - version "0.21.5" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" - integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== - optionalDependencies: - "@esbuild/aix-ppc64" "0.21.5" - "@esbuild/android-arm" "0.21.5" - "@esbuild/android-arm64" "0.21.5" - "@esbuild/android-x64" "0.21.5" - "@esbuild/darwin-arm64" "0.21.5" - "@esbuild/darwin-x64" "0.21.5" - "@esbuild/freebsd-arm64" "0.21.5" - "@esbuild/freebsd-x64" "0.21.5" - "@esbuild/linux-arm" "0.21.5" - "@esbuild/linux-arm64" "0.21.5" - "@esbuild/linux-ia32" "0.21.5" - "@esbuild/linux-loong64" "0.21.5" - "@esbuild/linux-mips64el" "0.21.5" - "@esbuild/linux-ppc64" "0.21.5" - "@esbuild/linux-riscv64" "0.21.5" - "@esbuild/linux-s390x" "0.21.5" - "@esbuild/linux-x64" "0.21.5" - "@esbuild/netbsd-x64" "0.21.5" - "@esbuild/openbsd-x64" "0.21.5" - "@esbuild/sunos-x64" "0.21.5" - "@esbuild/win32-arm64" "0.21.5" - "@esbuild/win32-ia32" "0.21.5" - "@esbuild/win32-x64" "0.21.5" - -escalade@^3.1.1, escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== - -eslint-plugin-check-file@2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-check-file/-/eslint-plugin-check-file-2.8.0.tgz#6f93f28b25376ca9a7b0d741ca56a726d59f8db7" - integrity sha512-FvvafMTam2WJYH9uj+FuMxQ1y+7jY3Z6P9T4j2214cH0FBxNzTcmeCiGTj1Lxp3mI6kbbgsXvmgewvf+llKYyw== - dependencies: - is-glob "^4.0.3" - micromatch "^4.0.5" - -eslint-plugin-prettier@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" - integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== - dependencies: - prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" - -eslint-plugin-sonarjs@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-1.0.3.tgz#423de6f9244c886633ff36183c6fbc9fb1ed867d" - integrity sha512-6s41HLPYPyDrp+5+7Db5yFYbod6h9pC7yx+xfcNwHRcLe1EZwbbQT/tdOAkR7ekVUkNGEvN3GmYakIoQUX7dEg== - -eslint-scope@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442" - integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" - integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== - -eslint-visitor-keys@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" - integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== - -eslint@9.14.0: - version "9.14.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.14.0.tgz#534180a97c00af08bcf2b60b0ebf0c4d6c1b2c95" - integrity sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.18.0" - "@eslint/core" "^0.7.0" - "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.14.0" - "@eslint/plugin-kit" "^0.2.0" - "@humanfs/node" "^0.16.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.0" - "@types/estree" "^1.0.6" - "@types/json-schema" "^7.0.15" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.2.0" - eslint-visitor-keys "^4.2.0" - espree "^10.3.0" - esquery "^1.5.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - json-stable-stringify-without-jsonify "^1.0.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - text-table "^0.2.0" - -espree@^10.0.1: - version "10.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" - integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== - dependencies: - acorn "^8.12.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.0.0" - -espree@^10.3.0: - version "10.3.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" - integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== - dependencies: - acorn "^8.14.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" - integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eventemitter3@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" - integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -execa@~8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-equals@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-5.0.1.tgz#a4eefe3c5d1c0d021aeed0bc10ba5e0c12ee405d" - integrity sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ== - -fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - 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" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-uri@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" - integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== - -fastq@^1.15.0, fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -file-entry-cache@8.0.0, file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== - dependencies: - flat-cache "^4.0.0" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - -find-up-simple@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-up-simple/-/find-up-simple-1.0.0.tgz#21d035fde9fdbd56c8f4d2f63f32fd93a1cfc368" - integrity sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw== - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-7.0.0.tgz#e8dec1455f74f78d888ad65bf7ca13dd2b4e66fb" - integrity sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g== - dependencies: - locate-path "^7.2.0" - path-exists "^5.0.0" - unicorn-magic "^0.1.0" - -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.4" - -flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensequence@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/gensequence/-/gensequence-7.0.0.tgz#bb6aedec8ff665e3a6c42f92823121e3a6ea7718" - integrity sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-east-asian-width@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" - integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stdin@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-9.0.0.tgz#3983ff82e03d56f1b2ea0d3e60325f39d703a575" - integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-stream@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" - integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== - -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== - dependencies: - call-bind "^1.0.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - -get-tsconfig@^4.7.5: - version "4.7.5" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.5.tgz#5e012498579e9a6947511ed0cd403272c7acbbaf" - integrity sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw== - dependencies: - resolve-pkg-maps "^1.0.0" - -git-raw-commits@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-4.0.0.tgz#b212fd2bff9726d27c1283a1157e829490593285" - integrity sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ== - dependencies: - dargs "^8.0.0" - meow "^12.0.1" - split2 "^4.0.0" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-directory@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/global-directory/-/global-directory-4.0.1.tgz#4d7ac7cfd2cb73f304c53b8810891748df5e361e" - integrity sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q== - dependencies: - ini "4.1.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== - -globalthis@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" - integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== - dependencies: - define-properties "^1.2.1" - gopd "^1.0.1" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.2, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -graphql@^16.8.1: - version "16.9.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.9.0.tgz#1c310e63f16a49ce1fbb230bd0a000e99f6f115f" - integrity sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-own-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af" - integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== - -has-own-property@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/has-own-property/-/has-own-property-0.1.0.tgz#992b0f5bb3a25416f8d4d0cde53f497b9d7b1ea5" - integrity sha512-14qdBKoonU99XDhWcFKZTShK+QV47qU97u8zzoVo9cL5TZ3BmBHXogItSt9qJjR0KUMFRhcCW8uGIGl8nkl7Aw== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -headers-polyfill@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-4.0.3.tgz#922a0155de30ecc1f785bcf04be77844ca95ad07" - integrity sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ== - -hono@^4.6.9: - version "4.6.11" - resolved "https://registry.yarnpkg.com/hono/-/hono-4.6.11.tgz#8aa9bea754cfd6e295800652a107dd850bcf3c54" - integrity sha512-f0LwJQFKdUUrCUAVowxSvNCjyzI7ZLt8XWYU/EApyeq5FfOvHFarBaE5rjU9HTNFk4RI0FkdB2edb3p/7xZjzQ== - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -human-signals@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" - integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== - -husky@9.0.11: - version "9.0.11" - resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" - integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== - -identity-function@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/identity-function/-/identity-function-1.0.0.tgz#bea1159f0985239be3ca348edf40ce2f0dd2c21d" - integrity sha512-kNrgUK0qI+9qLTBidsH85HjDLpZfrrS0ElquKKe/fJFdB3D7VeKdXXEvOPDUHSHOzdZKCAAaQIWWyp0l2yq6pw== - -ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0, ignore@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -import-fresh@^3.2.1, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -import-meta-resolve@^4.0.0, import-meta-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz#f9db8bead9fafa61adb811db77a2bf22c5399706" - integrity sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1" - integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== - -internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== - dependencies: - es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" - -is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.13.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.14.0.tgz#43b8ef9f46a6a08888db67b1ffd4ec9e3dfd59d1" - integrity sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A== - dependencies: - hasown "^2.0.2" - -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== - dependencies: - is-typed-array "^1.1.13" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-fullwidth-code-point@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== - -is-fullwidth-code-point@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704" - integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== - dependencies: - get-east-asian-width "^1.0.0" - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-iterable@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-iterable/-/is-iterable-1.1.1.tgz#71f9aa6f113e1d968ebe1d41cff4c8fb23a817bc" - integrity sha512-EdOZCr0NsGE00Pot+x1ZFx9MJK3C6wy91geZpXwvwexDLJvA4nzYyZf7r+EIwSeVsOLDdBz7ATg9NqKTzuNYuQ== - -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - -is-node-process@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.2.0.tgz#ea02a1b90ddb3934a19aea414e88edef7e11d134" - integrity sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== - dependencies: - call-bind "^1.0.7" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-text-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-2.0.0.tgz#b2484e2b720a633feb2e85b67dc193ff72c75636" - integrity sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw== - dependencies: - text-extensions "^2.0.0" - -is-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isomorphic-git@^1.25.6: - version "1.27.1" - resolved "https://registry.yarnpkg.com/isomorphic-git/-/isomorphic-git-1.27.1.tgz#a2752fce23a09f04baa590c41cfaf61e973405b3" - integrity sha512-X32ph5zIWfT75QAqW2l3JCIqnx9/GWd17bRRehmn3qmWc34OYbSXY6Cxv0o9bIIY+CWugoN4nQFHNA+2uYf2nA== - dependencies: - async-lock "^1.4.1" - clean-git-ref "^2.0.1" - crc-32 "^1.2.0" - diff3 "0.0.3" - ignore "^5.1.4" - minimisted "^2.0.0" - pako "^1.0.10" - pify "^4.0.1" - readable-stream "^3.4.0" - sha.js "^2.4.9" - simple-get "^4.0.1" - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" - integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== - dependencies: - "@babel/core" "^7.23.9" - "@babel/parser" "^7.23.9" - "@istanbuljs/schema" "^0.1.3" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -iterable-lookahead@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/iterable-lookahead/-/iterable-lookahead-1.0.0.tgz#896dfcb78680bdb50036e97edb034c8b68a9737f" - integrity sha512-hJnEP2Xk4+44DDwJqUQGdXal5VbyeWLaPyDl2AQc242Zr7iqz4DgpQOrEzglWVMGHMDCkguLHEKxd1+rOsmgSQ== - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-junit@16.0.0: - version "16.0.0" - resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-16.0.0.tgz#d838e8c561cf9fdd7eb54f63020777eee4136785" - integrity sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ== - dependencies: - mkdirp "^1.0.4" - strip-ansi "^6.0.1" - uuid "^8.3.2" - xml "^1.0.1" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-md-dashboard@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/jest-md-dashboard/-/jest-md-dashboard-0.8.0.tgz#024eeaf2192cf93f3c6f7dad8fec1dc94e2b05e1" - integrity sha512-CaxG69pKBA9UauMHBxmsxNbbPMe3kcdTY17BUBM1hj3ZKyZSnKDnOqtnjMti4t9XKuf6Hc3Vn1pXBfll3bWn6A== - dependencies: - isomorphic-git "^1.25.6" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.0.0, jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -jiti@^1.19.1, jiti@^1.21.0: - version "1.21.6" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" - integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^2.2.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -keyv@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -knip@5.21.2: - version "5.21.2" - resolved "https://registry.yarnpkg.com/knip/-/knip-5.21.2.tgz#0b25001ee645882784c652cd14c3a3e7ff50ec37" - integrity sha512-V8bzHWjQyhkN0cxajxyHqaD8CPOkNtSwo4+Zue3z//4fbWO79xXLVp61fuaaTcT9O7I7E2ZjuHENtRkBrjSzCg== - dependencies: - "@ericcornelissen/bash-parser" "0.5.3" - "@nodelib/fs.walk" "2.0.0" - "@snyk/github-codeowners" "1.1.0" - easy-table "1.2.0" - fast-glob "^3.3.2" - file-entry-cache "8.0.0" - jiti "^1.21.0" - js-yaml "^4.1.0" - minimist "^1.2.8" - picocolors "^1.0.0" - picomatch "^4.0.1" - pretty-ms "^9.0.0" - resolve "^1.22.8" - smol-toml "^1.1.4" - strip-json-comments "5.0.1" - summary "2.1.0" - tsconfig-paths "^4.2.0" - zod "^3.22.4" - zod-validation-error "^3.0.3" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lilconfig@~3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" - integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lint-staged@15.2.7: - version "15.2.7" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.7.tgz#97867e29ed632820c0fb90be06cd9ed384025649" - integrity sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw== - dependencies: - chalk "~5.3.0" - commander "~12.1.0" - debug "~4.3.4" - execa "~8.0.1" - lilconfig "~3.1.1" - listr2 "~8.2.1" - micromatch "~4.0.7" - pidtree "~0.6.0" - string-argv "~0.3.2" - yaml "~2.4.2" - -listr2@~8.2.1: - version "8.2.3" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.3.tgz#c494bb89b34329cf900e4e0ae8aeef9081d7d7a5" - integrity sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw== - dependencies: - cli-truncate "^4.0.0" - colorette "^2.0.20" - eventemitter3 "^5.0.1" - log-update "^6.0.0" - rfdc "^1.4.1" - wrap-ansi "^9.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -locate-path@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" - integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== - dependencies: - p-locate "^6.0.0" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== - -lodash.curry@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" - integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.kebabcase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" - integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== - -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.mergewith@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" - integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== - -lodash.snakecase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" - integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== - -lodash.startcase@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" - integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash.upperfirst@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" - integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-update@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" - integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== - dependencies: - ansi-escapes "^6.2.0" - cli-cursor "^4.0.0" - slice-ansi "^7.0.0" - strip-ansi "^7.1.0" - wrap-ansi "^9.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -magic-string@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.16.0.tgz#970ebb0da7193301285fb1aa650f39bdd81eb45a" - integrity sha512-c4BEos3y6G2qO0B9X7K0FVLOPT9uGrjYwYRLFmDqyl5YMboUviyecnXWp94fJTSMwPw2/sf+CEYt5AGpmklkkQ== - dependencies: - vlq "^0.2.1" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -make-error@1.x, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -map-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" - integrity sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ== - -md5@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" - integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== - dependencies: - charenc "0.0.2" - crypt "0.0.2" - is-buffer "~1.1.6" - -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== - -meow@^12.0.1: - version "12.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-12.1.1.tgz#e558dddbab12477b69b2e9a2728c327f191bace6" - integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4, micromatch@^4.0.5, micromatch@^4.0.7, micromatch@~4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minimisted@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/minimisted/-/minimisted-2.0.1.tgz#d059fb905beecf0774bc3b308468699709805cb1" - integrity sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA== - dependencies: - minimist "^1.2.5" - -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -msw@2.3.1, msw@^2.0.8: - version "2.3.1" - resolved "https://registry.yarnpkg.com/msw/-/msw-2.3.1.tgz#bfc73e256ffc2c74ec4381b604abb258df35f32b" - integrity sha512-ocgvBCLn/5l3jpl1lssIb3cniuACJLoOfZu01e3n5dbJrpA5PeeWn28jCLgQDNt6d7QT8tF2fYRzm9JoEHtiig== - dependencies: - "@bundled-es-modules/cookie" "^2.0.0" - "@bundled-es-modules/statuses" "^1.0.1" - "@inquirer/confirm" "^3.0.0" - "@mswjs/cookies" "^1.1.0" - "@mswjs/interceptors" "^0.29.0" - "@open-draft/until" "^2.1.0" - "@types/cookie" "^0.6.0" - "@types/statuses" "^2.0.4" - chalk "^4.1.2" - graphql "^16.8.1" - headers-polyfill "^4.0.2" - is-node-process "^1.2.0" - outvariant "^1.4.2" - path-to-regexp "^6.2.0" - strict-event-emitter "^0.5.1" - type-fest "^4.9.0" - yargs "^17.7.2" - -mute-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" - integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.14: - version "2.0.17" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.17.tgz#d74bc4fec38d839eec5db2a3c9c963d4f33cb366" - integrity sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA== - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-all@4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" - integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== - dependencies: - ansi-styles "^3.2.1" - chalk "^2.4.1" - cross-spawn "^6.0.5" - memorystream "^0.3.1" - minimatch "^3.0.4" - pidtree "^0.3.0" - read-pkg "^3.0.0" - shell-quote "^1.6.1" - string.prototype.padend "^3.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npm-run-path@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" - integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== - dependencies: - path-key "^4.0.0" - -object-inspect@^1.13.1: - version "1.13.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" - integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-pairs@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-pairs/-/object-pairs-0.1.0.tgz#8276eed81d60b8549d69c5f73a682ab9da4ff32f" - integrity sha512-3ECr6K831I4xX/Mduxr9UC+HPOz/d6WKKYj9p4cmC8Lg8p7g8gitzsxNX5IWlSIgFWN/a4JgrJaoAMKn20oKwA== - -object-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/object-values/-/object-values-1.0.0.tgz#72af839630119e5b98c3b02bb8c27e3237158105" - integrity sha512-+8hwcz/JnQ9EpLIXzN0Rs7DLsBpJNT/xYehtB/jU93tHYr5BFEO8E+JGQNOSqE7opVzz5cGksKFHt7uUJVLSjQ== - -object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - 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.5" - -outvariant@^1.2.1, outvariant@^1.4.0, outvariant@^1.4.2: - version "1.4.3" - resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.3.tgz#221c1bfc093e8fec7075497e7799fdbf43d14873" - integrity sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-locate@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" - integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== - dependencies: - p-limit "^4.0.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@^1.0.10: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parent-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-2.0.0.tgz#fa71f88ff1a50c27e15d8ff74e0e3a9523bf8708" - integrity sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg== - dependencies: - callsites "^3.1.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - 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" - -parse-ms@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-4.0.0.tgz#c0c058edd47c2a590151a718990533fd62803df4" - integrity sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@^6.2.0: - version "6.2.2" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.2.tgz#324377a83e5049cbecadc5554d6a63a9a4866b36" - integrity sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw== - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -picocolors@^1.0.0, picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== - -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" - integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== - -pidtree@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" - integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== - -pidtree@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" - integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pluralize@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" - integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== - -pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-ms@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-9.0.0.tgz#53c57f81171c53be7ce3fd20bdd4265422bc5929" - integrity sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng== - dependencies: - parse-ms "^4.0.0" - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-rand@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" - integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-is@^18.0.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -readable-stream@^3.4.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== - dependencies: - call-bind "^1.0.6" - define-properties "^1.2.1" - es-errors "^1.3.0" - set-function-name "^2.0.1" - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-pkg-maps@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" - integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.8: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" - integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -reverse-arguments@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/reverse-arguments/-/reverse-arguments-1.0.0.tgz#c28095a3a921ac715d61834ddece9027992667cd" - integrity sha512-/x8uIPdTafBqakK0TmPNJzgkLP+3H+yxpUJhCQHsLBg1rYEVNR2D8BRYNWQhVBjyOd7oo1dZRVzIkwMY2oqfYQ== - -rfdc@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" - integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== - -run-parallel@^1.1.9, run-parallel@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== - dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@^5.0.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-regex "^1.1.4" - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -set-function-name@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" - integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.2" - -sha.js@^2.4.9: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote-word@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/shell-quote-word/-/shell-quote-word-1.0.1.tgz#e2bdfd22d599fd68886491677e38f560f9d469c9" - integrity sha512-lT297f1WLAdq0A4O+AknIFRP6kkiI3s8C913eJ0XqBxJbZPGWUNkRQk2u8zk4bEAjUJ5i+fSLwB6z1HzeT+DEg== - -shell-quote@^1.6.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -side-channel@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" - integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== - dependencies: - decompress-response "^6.0.0" - once "^1.3.1" - simple-concat "^1.0.0" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" - integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== - dependencies: - ansi-styles "^6.0.0" - is-fullwidth-code-point "^4.0.0" - -slice-ansi@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" - integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== - dependencies: - ansi-styles "^6.2.1" - is-fullwidth-code-point "^5.0.0" - -smol-toml@^1.1.4: - version "1.2.2" - resolved "https://registry.yarnpkg.com/smol-toml/-/smol-toml-1.2.2.tgz#e0eb86dd8dab307b5345b0daff32a79a39f19175" - integrity sha512-fVEjX2ybKdJKzFL46VshQbj9PuA4IUKivalgp48/3zwS9vXzyykzQ6AX92UxHSvWJagziMRLeHMgEzoGO7A8hQ== - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" - integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.18" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz#22aa922dcf2f2885a6494a261f2d8b75345d0326" - integrity sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ== - -split2@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -statuses@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -strict-event-emitter@^0.5.0, strict-event-emitter@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz#1602ece81c51574ca39c6815e09f1a3e8550bd93" - integrity sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== - -string-argv@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" - integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" - integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== - dependencies: - emoji-regex "^10.3.0" - get-east-asian-width "^1.0.0" - strip-ansi "^7.1.0" - -string.fromcodepoint@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz#8d978333c0bc92538f50f383e4888f3e5619d653" - integrity sha512-n69H31OnxSGSZyZbgBlvYIXlrMhJQ0dQAX1js1QDhpaUH6zmU3QYlj07bCwCNlPOu3oRXIubGPl2gDGnHsiCqg== - -string.prototype.padend@^3.0.0: - version "3.1.6" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz#ba79cf8992609a91c872daa47c6bb144ee7f62a5" - integrity sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.0" - es-object-atoms "^1.0.0" - -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string.prototype.trimstart@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" - integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - -strip-json-comments@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-5.0.1.tgz#0d8b7d01b23848ed7dbdf4baaaa31a8250d8cfa0" - integrity sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -summary@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/summary/-/summary-2.1.0.tgz#be8a49a0aa34eb6ceea56042cae88f8add4b0885" - integrity sha512-nMIjMrd5Z2nuB2RZCKJfFMjgS3fygbeyGk9PxPPaJR1RIcyN9yn4A63Isovzm3ZtQuEkLBVgMdPup8UeLH7aQw== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== - dependencies: - "@pkgr/core" "^0.1.0" - tslib "^2.6.2" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-extensions@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-2.4.0.tgz#a1cfcc50cf34da41bfd047cc744f804d1680ea34" - integrity sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -"through@>=2.2.7 <3": - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -tinyexec@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.1.tgz#0ab0daf93b43e2c211212396bdb836b468c97c98" - integrity sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ== - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-no-case@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" - integrity sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg== - -to-pascal-case@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-pascal-case/-/to-pascal-case-1.0.0.tgz#0bbdc8df448886ba01535e543327048d0aa1ce78" - integrity sha512-QGMWHqM6xPrcQW57S23c5/3BbYb0Tbe9p+ur98ckRnGDwD4wbbtDiYI38CfmMKNB5Iv0REjs5SNDntTwvDxzZA== - dependencies: - to-space-case "^1.0.0" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-space-case@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" - integrity sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA== - dependencies: - to-no-case "^1.0.0" - -ts-api-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== - -ts-jest@29.1.5: - version "29.1.5" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.5.tgz#d6c0471cc78bffa2cb4664a0a6741ef36cfe8f69" - integrity sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" - json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" - -ts-node@10.9.2: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -ts-retry@4.2.5: - version "4.2.5" - resolved "https://registry.yarnpkg.com/ts-retry/-/ts-retry-4.2.5.tgz#ee4638e66c68bb49da975aa4994d5f16bfb61bc2" - integrity sha512-dFBa4pxMBkt/bjzdBio8EwYfbAdycEAwe0KZgzlUKKwU9Wr1WErK7Hg9QLqJuDDYJXTW4KYZyXAyqYKOdO/ehA== - -tsconfig-paths@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== - -tsx@4.16.2: - version "4.16.2" - resolved "https://registry.yarnpkg.com/tsx/-/tsx-4.16.2.tgz#8722be119ae226ef0b4c6210d5ee90f3ba823f19" - integrity sha512-C1uWweJDgdtX2x600HjaFaucXTilT7tgUZHbOE4+ypskZ1OP8CRCSDkCxG6Vya9EwaFIVagWwpaVAn5wzypaqQ== - dependencies: - esbuild "~0.21.5" - get-tsconfig "^4.7.5" - optionalDependencies: - fsevents "~2.3.3" - -tunnel@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" - integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^4.9.0: - version "4.22.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.22.0.tgz#da4fc735652e17ef693d2b8dc4f65d93f5fd4ef9" - integrity sha512-hxMO1k4ip1uTVGgPbs1hVpYyhz2P91A6tQyH2H9POx3U6T3MdhIcfY8L2hRu/LRmzPFdfduOS0RIDjFlP2urPw== - -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-typed-array "^1.1.13" - -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - possible-typed-array-names "^1.0.0" - -typescript-eslint@8.14.0: - version "8.14.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.14.0.tgz#2435c0628e90303544fdd63ae311e9bf6d149a5d" - integrity sha512-K8fBJHxVL3kxMmwByvz8hNdBJ8a0YqKzKDX6jRlrjMuNXyd5T2V02HIq37+OiWXvUUOXgOOGiSSOh26Mh8pC3w== - dependencies: - "@typescript-eslint/eslint-plugin" "8.14.0" - "@typescript-eslint/parser" "8.14.0" - "@typescript-eslint/utils" "8.14.0" - -typescript@5.6.2: - version "5.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.2.tgz#d1de67b6bef77c41823f822df8f0b3bcff60a5a0" - integrity sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -undici@^5.25.4: - version "5.28.4" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" - integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== - dependencies: - "@fastify/busboy" "^2.0.0" - -unescape-js@^1.0.5: - version "1.1.4" - resolved "https://registry.yarnpkg.com/unescape-js/-/unescape-js-1.1.4.tgz#4bc6389c499cb055a98364a0b3094e1c3d5da395" - integrity sha512-42SD8NOQEhdYntEiUQdYq/1V/YHwr1HLwlHuTJB5InVVdOSbgI6xu8jK5q65yIzuFCfczzyDF/7hbGzVbyCw0g== - dependencies: - string.fromcodepoint "^0.2.1" - -unicorn-magic@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" - integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== - -universal-user-agent@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa" - integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== - -universal-user-agent@^7.0.0, universal-user-agent@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-7.0.2.tgz#52e7d0e9b3dc4df06cc33cb2b9fd79041a54827e" - integrity sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q== - -update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== - dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -uuid@^8.3.1, uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.3.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" - integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vlq@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" - integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== - -vscode-languageserver-textdocument@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz#0822a000e7d4dc083312580d7575fe9e3ba2e2bf" - integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== - -vscode-uri@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" - integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-typed-array@^1.1.14, which-typed-array@^1.1.15: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.2" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" - integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== - dependencies: - ansi-styles "^6.2.1" - string-width "^7.0.0" - strip-ansi "^7.1.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -xdg-basedir@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" - integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== - -xml@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" - integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yaml@^2.4.5, yaml@~2.4.2: - version "2.4.5" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.5.tgz#60630b206dd6d84df97003d33fc1ddf6296cca5e" - integrity sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg== - -yargs-parser@^21.0.1, yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^17.0.0, yargs@^17.3.1, yargs@^17.7.2: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - 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.1.1" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110" - integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g== - -yoctocolors-cjs@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz#f4b905a840a37506813a7acaa28febe97767a242" - integrity sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA== - -zod-validation-error@^3.0.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.3.0.tgz#2cfe81b62d044e0453d1aa3ae7c32a2f36dde9af" - integrity sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw== - -zod@^3.22.4: - version "3.23.8" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d" - integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== From 932cef450fd7583024e1185c9c57db7de8c4d260 Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Mon, 25 Nov 2024 14:23:34 +0900 Subject: [PATCH 5/8] chore: renamed plugin-inputs.ts to plugin-input.ts --- src/action.ts | 2 +- src/types/context.ts | 2 +- src/types/index.ts | 2 +- src/types/{plugin-inputs.ts => plugin-input.ts} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename src/types/{plugin-inputs.ts => plugin-input.ts} (100%) diff --git a/src/action.ts b/src/action.ts index 7fabf84..564736e 100644 --- a/src/action.ts +++ b/src/action.ts @@ -1,7 +1,7 @@ import { createActionsPlugin } from "@ubiquity-os/plugin-sdk"; import { SupportedEvents } from "./types/context"; import { Env, envSchema } from "./types/env"; -import { PluginSettings, pluginSettingsSchema } from "./types/plugin-inputs"; +import { PluginSettings, pluginSettingsSchema } from "./types/plugin-input"; import { plugin } from "./plugin"; import { LogLevel } from "@ubiquity-os/ubiquity-os-logger"; diff --git a/src/types/context.ts b/src/types/context.ts index 19147ec..1b52696 100644 --- a/src/types/context.ts +++ b/src/types/context.ts @@ -1,6 +1,6 @@ import { Context as PluginContext } from "@ubiquity-os/plugin-sdk"; import { Env } from "./env"; -import { PluginSettings } from "./plugin-inputs"; +import { PluginSettings } from "./plugin-input"; export type SupportedEvents = "push" | "issue_comment.created"; diff --git a/src/types/index.ts b/src/types/index.ts index 6ca5c88..217e664 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,3 +1,3 @@ export * from "./context"; export * from "./env"; -export * from "./plugin-inputs"; +export * from "./plugin-input"; diff --git a/src/types/plugin-inputs.ts b/src/types/plugin-input.ts similarity index 100% rename from src/types/plugin-inputs.ts rename to src/types/plugin-input.ts From a17d8c4f85e47f6632c34fc6ae829595a2869a4d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 05:24:22 +0000 Subject: [PATCH 6/8] chore: updated manifest.json and dist build --- dist/index.js | 32639 ++++++++++++++++++++++++++++++++++++++++++++ dist/package.json | 3 + manifest.json | 36 +- 3 files changed, 32649 insertions(+), 29 deletions(-) create mode 100644 dist/index.js create mode 100644 dist/package.json diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..527e6f7 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,32639 @@ +import { createRequire as e } from "module"; +var t = { + 4914: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + var o = Object.getOwnPropertyDescriptor(t, r); + if (!o || ("get" in o ? !t.__esModule : o.writable || o.configurable)) { + o = { + enumerable: true, + get: function () { + return t[r]; + }, + }; + } + Object.defineProperty(e, s, o); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.prototype.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.issue = t.issueCommand = void 0; + const A = n(r(857)); + const i = r(302); + function issueCommand(e, t, r) { + const s = new Command(e, t, r); + process.stdout.write(s.toString() + A.EOL); + } + t.issueCommand = issueCommand; + function issue(e, t = "") { + issueCommand(e, {}, t); + } + t.issue = issue; + const a = "::"; + class Command { + constructor(e, t, r) { + if (!e) { + e = "missing.command"; + } + this.command = e; + this.properties = t; + this.message = r; + } + toString() { + let e = a + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + e += " "; + let t = true; + for (const r in this.properties) { + if (this.properties.hasOwnProperty(r)) { + const s = this.properties[r]; + if (s) { + if (t) { + t = false; + } else { + e += ","; + } + e += `${r}=${escapeProperty(s)}`; + } + } + } + } + e += `${a}${escapeData(this.message)}`; + return e; + } + } + function escapeData(e) { + return (0, i.toCommandValue)(e).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); + } + function escapeProperty(e) { + return (0, i.toCommandValue)(e).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); + } + }, + 7484: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + var o = Object.getOwnPropertyDescriptor(t, r); + if (!o || ("get" in o ? !t.__esModule : o.writable || o.configurable)) { + o = { + enumerable: true, + get: function () { + return t[r]; + }, + }; + } + Object.defineProperty(e, s, o); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.prototype.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + var A = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.platform = + t.toPlatformPath = + t.toWin32Path = + t.toPosixPath = + t.markdownSummary = + t.summary = + t.getIDToken = + t.getState = + t.saveState = + t.group = + t.endGroup = + t.startGroup = + t.info = + t.notice = + t.warning = + t.error = + t.debug = + t.isDebug = + t.setFailed = + t.setCommandEcho = + t.setOutput = + t.getBooleanInput = + t.getMultilineInput = + t.getInput = + t.addPath = + t.setSecret = + t.exportVariable = + t.ExitCode = + void 0; + const i = r(4914); + const a = r(4753); + const c = r(302); + const u = n(r(857)); + const l = n(r(6928)); + const g = r(5306); + var p; + (function (e) { + e[(e["Success"] = 0)] = "Success"; + e[(e["Failure"] = 1)] = "Failure"; + })(p || (t.ExitCode = p = {})); + function exportVariable(e, t) { + const r = (0, c.toCommandValue)(t); + process.env[e] = r; + const s = process.env["GITHUB_ENV"] || ""; + if (s) { + return (0, a.issueFileCommand)("ENV", (0, a.prepareKeyValueMessage)(e, t)); + } + (0, i.issueCommand)("set-env", { name: e }, r); + } + t.exportVariable = exportVariable; + function setSecret(e) { + (0, i.issueCommand)("add-mask", {}, e); + } + t.setSecret = setSecret; + function addPath(e) { + const t = process.env["GITHUB_PATH"] || ""; + if (t) { + (0, a.issueFileCommand)("PATH", e); + } else { + (0, i.issueCommand)("add-path", {}, e); + } + process.env["PATH"] = `${e}${l.delimiter}${process.env["PATH"]}`; + } + t.addPath = addPath; + function getInput(e, t) { + const r = process.env[`INPUT_${e.replace(/ /g, "_").toUpperCase()}`] || ""; + if (t && t.required && !r) { + throw new Error(`Input required and not supplied: ${e}`); + } + if (t && t.trimWhitespace === false) { + return r; + } + return r.trim(); + } + t.getInput = getInput; + function getMultilineInput(e, t) { + const r = getInput(e, t) + .split("\n") + .filter((e) => e !== ""); + if (t && t.trimWhitespace === false) { + return r; + } + return r.map((e) => e.trim()); + } + t.getMultilineInput = getMultilineInput; + function getBooleanInput(e, t) { + const r = ["true", "True", "TRUE"]; + const s = ["false", "False", "FALSE"]; + const o = getInput(e, t); + if (r.includes(o)) return true; + if (s.includes(o)) return false; + throw new TypeError( + `Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n` + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\`` + ); + } + t.getBooleanInput = getBooleanInput; + function setOutput(e, t) { + const r = process.env["GITHUB_OUTPUT"] || ""; + if (r) { + return (0, a.issueFileCommand)("OUTPUT", (0, a.prepareKeyValueMessage)(e, t)); + } + process.stdout.write(u.EOL); + (0, i.issueCommand)("set-output", { name: e }, (0, c.toCommandValue)(t)); + } + t.setOutput = setOutput; + function setCommandEcho(e) { + (0, i.issue)("echo", e ? "on" : "off"); + } + t.setCommandEcho = setCommandEcho; + function setFailed(e) { + process.exitCode = p.Failure; + error(e); + } + t.setFailed = setFailed; + function isDebug() { + return process.env["RUNNER_DEBUG"] === "1"; + } + t.isDebug = isDebug; + function debug(e) { + (0, i.issueCommand)("debug", {}, e); + } + t.debug = debug; + function error(e, t = {}) { + (0, i.issueCommand)("error", (0, c.toCommandProperties)(t), e instanceof Error ? e.toString() : e); + } + t.error = error; + function warning(e, t = {}) { + (0, i.issueCommand)("warning", (0, c.toCommandProperties)(t), e instanceof Error ? e.toString() : e); + } + t.warning = warning; + function notice(e, t = {}) { + (0, i.issueCommand)("notice", (0, c.toCommandProperties)(t), e instanceof Error ? e.toString() : e); + } + t.notice = notice; + function info(e) { + process.stdout.write(e + u.EOL); + } + t.info = info; + function startGroup(e) { + (0, i.issue)("group", e); + } + t.startGroup = startGroup; + function endGroup() { + (0, i.issue)("endgroup"); + } + t.endGroup = endGroup; + function group(e, t) { + return A(this, void 0, void 0, function* () { + startGroup(e); + let r; + try { + r = yield t(); + } finally { + endGroup(); + } + return r; + }); + } + t.group = group; + function saveState(e, t) { + const r = process.env["GITHUB_STATE"] || ""; + if (r) { + return (0, a.issueFileCommand)("STATE", (0, a.prepareKeyValueMessage)(e, t)); + } + (0, i.issueCommand)("save-state", { name: e }, (0, c.toCommandValue)(t)); + } + t.saveState = saveState; + function getState(e) { + return process.env[`STATE_${e}`] || ""; + } + t.getState = getState; + function getIDToken(e) { + return A(this, void 0, void 0, function* () { + return yield g.OidcClient.getIDToken(e); + }); + } + t.getIDToken = getIDToken; + var d = r(1847); + Object.defineProperty(t, "summary", { + enumerable: true, + get: function () { + return d.summary; + }, + }); + var E = r(1847); + Object.defineProperty(t, "markdownSummary", { + enumerable: true, + get: function () { + return E.markdownSummary; + }, + }); + var h = r(1976); + Object.defineProperty(t, "toPosixPath", { + enumerable: true, + get: function () { + return h.toPosixPath; + }, + }); + Object.defineProperty(t, "toWin32Path", { + enumerable: true, + get: function () { + return h.toWin32Path; + }, + }); + Object.defineProperty(t, "toPlatformPath", { + enumerable: true, + get: function () { + return h.toPlatformPath; + }, + }); + t.platform = n(r(8968)); + }, + 4753: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + var o = Object.getOwnPropertyDescriptor(t, r); + if (!o || ("get" in o ? !t.__esModule : o.writable || o.configurable)) { + o = { + enumerable: true, + get: function () { + return t[r]; + }, + }; + } + Object.defineProperty(e, s, o); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.prototype.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.prepareKeyValueMessage = t.issueFileCommand = void 0; + const A = n(r(6982)); + const i = n(r(9896)); + const a = n(r(857)); + const c = r(302); + function issueFileCommand(e, t) { + const r = process.env[`GITHUB_${e}`]; + if (!r) { + throw new Error(`Unable to find environment variable for file command ${e}`); + } + if (!i.existsSync(r)) { + throw new Error(`Missing file at path: ${r}`); + } + i.appendFileSync(r, `${(0, c.toCommandValue)(t)}${a.EOL}`, { encoding: "utf8" }); + } + t.issueFileCommand = issueFileCommand; + function prepareKeyValueMessage(e, t) { + const r = `ghadelimiter_${A.randomUUID()}`; + const s = (0, c.toCommandValue)(t); + if (e.includes(r)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`); + } + if (s.includes(r)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`); + } + return `${e}<<${r}${a.EOL}${s}${a.EOL}${r}`; + } + t.prepareKeyValueMessage = prepareKeyValueMessage; + }, + 5306: function (e, t, r) { + var s = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.OidcClient = void 0; + const o = r(4844); + const n = r(4552); + const A = r(7484); + class OidcClient { + static createHttpClient(e = true, t = 10) { + const r = { allowRetries: e, maxRetries: t }; + return new o.HttpClient("actions/oidc-client", [new n.BearerCredentialHandler(OidcClient.getRequestToken())], r); + } + static getRequestToken() { + const e = process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"]; + if (!e) { + throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable"); + } + return e; + } + static getIDTokenUrl() { + const e = process.env["ACTIONS_ID_TOKEN_REQUEST_URL"]; + if (!e) { + throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable"); + } + return e; + } + static getCall(e) { + var t; + return s(this, void 0, void 0, function* () { + const r = OidcClient.createHttpClient(); + const s = yield r.getJson(e).catch((e) => { + throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.message}`); + }); + const o = (t = s.result) === null || t === void 0 ? void 0 : t.value; + if (!o) { + throw new Error("Response json body do not have ID Token field"); + } + return o; + }); + } + static getIDToken(e) { + return s(this, void 0, void 0, function* () { + try { + let t = OidcClient.getIDTokenUrl(); + if (e) { + const r = encodeURIComponent(e); + t = `${t}&audience=${r}`; + } + (0, A.debug)(`ID token url is ${t}`); + const r = yield OidcClient.getCall(t); + (0, A.setSecret)(r); + return r; + } catch (e) { + throw new Error(`Error message: ${e.message}`); + } + }); + } + } + t.OidcClient = OidcClient; + }, + 1976: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + var o = Object.getOwnPropertyDescriptor(t, r); + if (!o || ("get" in o ? !t.__esModule : o.writable || o.configurable)) { + o = { + enumerable: true, + get: function () { + return t[r]; + }, + }; + } + Object.defineProperty(e, s, o); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.prototype.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.toPlatformPath = t.toWin32Path = t.toPosixPath = void 0; + const A = n(r(6928)); + function toPosixPath(e) { + return e.replace(/[\\]/g, "/"); + } + t.toPosixPath = toPosixPath; + function toWin32Path(e) { + return e.replace(/[/]/g, "\\"); + } + t.toWin32Path = toWin32Path; + function toPlatformPath(e) { + return e.replace(/[/\\]/g, A.sep); + } + t.toPlatformPath = toPlatformPath; + }, + 8968: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + var o = Object.getOwnPropertyDescriptor(t, r); + if (!o || ("get" in o ? !t.__esModule : o.writable || o.configurable)) { + o = { + enumerable: true, + get: function () { + return t[r]; + }, + }; + } + Object.defineProperty(e, s, o); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.prototype.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + var A = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + var i = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.getDetails = t.isLinux = t.isMacOS = t.isWindows = t.arch = t.platform = void 0; + const a = i(r(857)); + const c = n(r(5236)); + const getWindowsInfo = () => + A(void 0, void 0, void 0, function* () { + const { stdout: e } = yield c.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"', undefined, { + silent: true, + }); + const { stdout: t } = yield c.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"', undefined, { + silent: true, + }); + return { name: t.trim(), version: e.trim() }; + }); + const getMacOsInfo = () => + A(void 0, void 0, void 0, function* () { + var e, t, r, s; + const { stdout: o } = yield c.getExecOutput("sw_vers", undefined, { silent: true }); + const n = (t = (e = o.match(/ProductVersion:\s*(.+)/)) === null || e === void 0 ? void 0 : e[1]) !== null && t !== void 0 ? t : ""; + const A = (s = (r = o.match(/ProductName:\s*(.+)/)) === null || r === void 0 ? void 0 : r[1]) !== null && s !== void 0 ? s : ""; + return { name: A, version: n }; + }); + const getLinuxInfo = () => + A(void 0, void 0, void 0, function* () { + const { stdout: e } = yield c.getExecOutput("lsb_release", ["-i", "-r", "-s"], { silent: true }); + const [t, r] = e.trim().split("\n"); + return { name: t, version: r }; + }); + t.platform = a.default.platform(); + t.arch = a.default.arch(); + t.isWindows = t.platform === "win32"; + t.isMacOS = t.platform === "darwin"; + t.isLinux = t.platform === "linux"; + function getDetails() { + return A(this, void 0, void 0, function* () { + return Object.assign(Object.assign({}, yield t.isWindows ? getWindowsInfo() : t.isMacOS ? getMacOsInfo() : getLinuxInfo()), { + platform: t.platform, + arch: t.arch, + isWindows: t.isWindows, + isMacOS: t.isMacOS, + isLinux: t.isLinux, + }); + }); + } + t.getDetails = getDetails; + }, + 1847: function (e, t, r) { + var s = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.summary = t.markdownSummary = t.SUMMARY_DOCS_URL = t.SUMMARY_ENV_VAR = void 0; + const o = r(857); + const n = r(9896); + const { access: A, appendFile: i, writeFile: a } = n.promises; + t.SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; + t.SUMMARY_DOCS_URL = "https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary"; + class Summary { + constructor() { + this._buffer = ""; + } + filePath() { + return s(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; + } + const e = process.env[t.SUMMARY_ENV_VAR]; + if (!e) { + throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield A(e, n.constants.R_OK | n.constants.W_OK); + } catch (t) { + throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`); + } + this._filePath = e; + return this._filePath; + }); + } + wrap(e, t, r = {}) { + const s = Object.entries(r) + .map(([e, t]) => ` ${e}="${t}"`) + .join(""); + if (!t) { + return `<${e}${s}>`; + } + return `<${e}${s}>${t}`; + } + write(e) { + return s(this, void 0, void 0, function* () { + const t = !!(e === null || e === void 0 ? void 0 : e.overwrite); + const r = yield this.filePath(); + const s = t ? a : i; + yield s(r, this._buffer, { encoding: "utf8" }); + return this.emptyBuffer(); + }); + } + clear() { + return s(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); + } + stringify() { + return this._buffer; + } + isEmptyBuffer() { + return this._buffer.length === 0; + } + emptyBuffer() { + this._buffer = ""; + return this; + } + addRaw(e, t = false) { + this._buffer += e; + return t ? this.addEOL() : this; + } + addEOL() { + return this.addRaw(o.EOL); + } + addCodeBlock(e, t) { + const r = Object.assign({}, t && { lang: t }); + const s = this.wrap("pre", this.wrap("code", e), r); + return this.addRaw(s).addEOL(); + } + addList(e, t = false) { + const r = t ? "ol" : "ul"; + const s = e.map((e) => this.wrap("li", e)).join(""); + const o = this.wrap(r, s); + return this.addRaw(o).addEOL(); + } + addTable(e) { + const t = e + .map((e) => { + const t = e + .map((e) => { + if (typeof e === "string") { + return this.wrap("td", e); + } + const { header: t, data: r, colspan: s, rowspan: o } = e; + const n = t ? "th" : "td"; + const A = Object.assign(Object.assign({}, s && { colspan: s }), o && { rowspan: o }); + return this.wrap(n, r, A); + }) + .join(""); + return this.wrap("tr", t); + }) + .join(""); + const r = this.wrap("table", t); + return this.addRaw(r).addEOL(); + } + addDetails(e, t) { + const r = this.wrap("details", this.wrap("summary", e) + t); + return this.addRaw(r).addEOL(); + } + addImage(e, t, r) { + const { width: s, height: o } = r || {}; + const n = Object.assign(Object.assign({}, s && { width: s }), o && { height: o }); + const A = this.wrap("img", null, Object.assign({ src: e, alt: t }, n)); + return this.addRaw(A).addEOL(); + } + addHeading(e, t) { + const r = `h${t}`; + const s = ["h1", "h2", "h3", "h4", "h5", "h6"].includes(r) ? r : "h1"; + const o = this.wrap(s, e); + return this.addRaw(o).addEOL(); + } + addSeparator() { + const e = this.wrap("hr", null); + return this.addRaw(e).addEOL(); + } + addBreak() { + const e = this.wrap("br", null); + return this.addRaw(e).addEOL(); + } + addQuote(e, t) { + const r = Object.assign({}, t && { cite: t }); + const s = this.wrap("blockquote", e, r); + return this.addRaw(s).addEOL(); + } + addLink(e, t) { + const r = this.wrap("a", e, { href: t }); + return this.addRaw(r).addEOL(); + } + } + const c = new Summary(); + t.markdownSummary = c; + t.summary = c; + }, + 302: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.toCommandProperties = t.toCommandValue = void 0; + function toCommandValue(e) { + if (e === null || e === undefined) { + return ""; + } else if (typeof e === "string" || e instanceof String) { + return e; + } + return JSON.stringify(e); + } + t.toCommandValue = toCommandValue; + function toCommandProperties(e) { + if (!Object.keys(e).length) { + return {}; + } + return { title: e.title, file: e.file, line: e.startLine, endLine: e.endLine, col: e.startColumn, endColumn: e.endColumn }; + } + t.toCommandProperties = toCommandProperties; + }, + 5236: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + Object.defineProperty(e, s, { + enumerable: true, + get: function () { + return t[r]; + }, + }); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + var A = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.getExecOutput = t.exec = void 0; + const i = r(3193); + const a = n(r(6665)); + function exec(e, t, r) { + return A(this, void 0, void 0, function* () { + const s = a.argStringToArray(e); + if (s.length === 0) { + throw new Error(`Parameter 'commandLine' cannot be null or empty.`); + } + const o = s[0]; + t = s.slice(1).concat(t || []); + const n = new a.ToolRunner(o, t, r); + return n.exec(); + }); + } + t.exec = exec; + function getExecOutput(e, t, r) { + var s, o; + return A(this, void 0, void 0, function* () { + let n = ""; + let A = ""; + const a = new i.StringDecoder("utf8"); + const c = new i.StringDecoder("utf8"); + const u = (s = r === null || r === void 0 ? void 0 : r.listeners) === null || s === void 0 ? void 0 : s.stdout; + const l = (o = r === null || r === void 0 ? void 0 : r.listeners) === null || o === void 0 ? void 0 : o.stderr; + const stdErrListener = (e) => { + A += c.write(e); + if (l) { + l(e); + } + }; + const stdOutListener = (e) => { + n += a.write(e); + if (u) { + u(e); + } + }; + const g = Object.assign(Object.assign({}, r === null || r === void 0 ? void 0 : r.listeners), { stdout: stdOutListener, stderr: stdErrListener }); + const p = yield exec(e, t, Object.assign(Object.assign({}, r), { listeners: g })); + n += a.end(); + A += c.end(); + return { exitCode: p, stdout: n, stderr: A }; + }); + } + t.getExecOutput = getExecOutput; + }, + 6665: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + Object.defineProperty(e, s, { + enumerable: true, + get: function () { + return t[r]; + }, + }); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + var A = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.argStringToArray = t.ToolRunner = void 0; + const i = n(r(857)); + const a = n(r(4434)); + const c = n(r(5317)); + const u = n(r(6928)); + const l = n(r(4994)); + const g = n(r(5207)); + const p = r(3557); + const d = process.platform === "win32"; + class ToolRunner extends a.EventEmitter { + constructor(e, t, r) { + super(); + if (!e) { + throw new Error("Parameter 'toolPath' cannot be null or empty."); + } + this.toolPath = e; + this.args = t || []; + this.options = r || {}; + } + _debug(e) { + if (this.options.listeners && this.options.listeners.debug) { + this.options.listeners.debug(e); + } + } + _getCommandString(e, t) { + const r = this._getSpawnFileName(); + const s = this._getSpawnArgs(e); + let o = t ? "" : "[command]"; + if (d) { + if (this._isCmdFile()) { + o += r; + for (const e of s) { + o += ` ${e}`; + } + } else if (e.windowsVerbatimArguments) { + o += `"${r}"`; + for (const e of s) { + o += ` ${e}`; + } + } else { + o += this._windowsQuoteCmdArg(r); + for (const e of s) { + o += ` ${this._windowsQuoteCmdArg(e)}`; + } + } + } else { + o += r; + for (const e of s) { + o += ` ${e}`; + } + } + return o; + } + _processLineBuffer(e, t, r) { + try { + let s = t + e.toString(); + let o = s.indexOf(i.EOL); + while (o > -1) { + const e = s.substring(0, o); + r(e); + s = s.substring(o + i.EOL.length); + o = s.indexOf(i.EOL); + } + return s; + } catch (e) { + this._debug(`error processing line. Failed with error ${e}`); + return ""; + } + } + _getSpawnFileName() { + if (d) { + if (this._isCmdFile()) { + return process.env["COMSPEC"] || "cmd.exe"; + } + } + return this.toolPath; + } + _getSpawnArgs(e) { + if (d) { + if (this._isCmdFile()) { + let t = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; + for (const r of this.args) { + t += " "; + t += e.windowsVerbatimArguments ? r : this._windowsQuoteCmdArg(r); + } + t += '"'; + return [t]; + } + } + return this.args; + } + _endsWith(e, t) { + return e.endsWith(t); + } + _isCmdFile() { + const e = this.toolPath.toUpperCase(); + return this._endsWith(e, ".CMD") || this._endsWith(e, ".BAT"); + } + _windowsQuoteCmdArg(e) { + if (!this._isCmdFile()) { + return this._uvQuoteCmdArg(e); + } + if (!e) { + return '""'; + } + const t = [" ", "\t", "&", "(", ")", "[", "]", "{", "}", "^", "=", ";", "!", "'", "+", ",", "`", "~", "|", "<", ">", '"']; + let r = false; + for (const s of e) { + if (t.some((e) => e === s)) { + r = true; + break; + } + } + if (!r) { + return e; + } + let s = '"'; + let o = true; + for (let t = e.length; t > 0; t--) { + s += e[t - 1]; + if (o && e[t - 1] === "\\") { + s += "\\"; + } else if (e[t - 1] === '"') { + o = true; + s += '"'; + } else { + o = false; + } + } + s += '"'; + return s.split("").reverse().join(""); + } + _uvQuoteCmdArg(e) { + if (!e) { + return '""'; + } + if (!e.includes(" ") && !e.includes("\t") && !e.includes('"')) { + return e; + } + if (!e.includes('"') && !e.includes("\\")) { + return `"${e}"`; + } + let t = '"'; + let r = true; + for (let s = e.length; s > 0; s--) { + t += e[s - 1]; + if (r && e[s - 1] === "\\") { + t += "\\"; + } else if (e[s - 1] === '"') { + r = true; + t += "\\"; + } else { + r = false; + } + } + t += '"'; + return t.split("").reverse().join(""); + } + _cloneExecOptions(e) { + e = e || {}; + const t = { + cwd: e.cwd || process.cwd(), + env: e.env || process.env, + silent: e.silent || false, + windowsVerbatimArguments: e.windowsVerbatimArguments || false, + failOnStdErr: e.failOnStdErr || false, + ignoreReturnCode: e.ignoreReturnCode || false, + delay: e.delay || 1e4, + }; + t.outStream = e.outStream || process.stdout; + t.errStream = e.errStream || process.stderr; + return t; + } + _getSpawnOptions(e, t) { + e = e || {}; + const r = {}; + r.cwd = e.cwd; + r.env = e.env; + r["windowsVerbatimArguments"] = e.windowsVerbatimArguments || this._isCmdFile(); + if (e.windowsVerbatimArguments) { + r.argv0 = `"${t}"`; + } + return r; + } + exec() { + return A(this, void 0, void 0, function* () { + if (!g.isRooted(this.toolPath) && (this.toolPath.includes("/") || (d && this.toolPath.includes("\\")))) { + this.toolPath = u.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); + } + this.toolPath = yield l.which(this.toolPath, true); + return new Promise((e, t) => + A(this, void 0, void 0, function* () { + this._debug(`exec tool: ${this.toolPath}`); + this._debug("arguments:"); + for (const e of this.args) { + this._debug(` ${e}`); + } + const r = this._cloneExecOptions(this.options); + if (!r.silent && r.outStream) { + r.outStream.write(this._getCommandString(r) + i.EOL); + } + const s = new ExecState(r, this.toolPath); + s.on("debug", (e) => { + this._debug(e); + }); + if (this.options.cwd && !(yield g.exists(this.options.cwd))) { + return t(new Error(`The cwd: ${this.options.cwd} does not exist!`)); + } + const o = this._getSpawnFileName(); + const n = c.spawn(o, this._getSpawnArgs(r), this._getSpawnOptions(this.options, o)); + let A = ""; + if (n.stdout) { + n.stdout.on("data", (e) => { + if (this.options.listeners && this.options.listeners.stdout) { + this.options.listeners.stdout(e); + } + if (!r.silent && r.outStream) { + r.outStream.write(e); + } + A = this._processLineBuffer(e, A, (e) => { + if (this.options.listeners && this.options.listeners.stdline) { + this.options.listeners.stdline(e); + } + }); + }); + } + let a = ""; + if (n.stderr) { + n.stderr.on("data", (e) => { + s.processStderr = true; + if (this.options.listeners && this.options.listeners.stderr) { + this.options.listeners.stderr(e); + } + if (!r.silent && r.errStream && r.outStream) { + const t = r.failOnStdErr ? r.errStream : r.outStream; + t.write(e); + } + a = this._processLineBuffer(e, a, (e) => { + if (this.options.listeners && this.options.listeners.errline) { + this.options.listeners.errline(e); + } + }); + }); + } + n.on("error", (e) => { + s.processError = e.message; + s.processExited = true; + s.processClosed = true; + s.CheckComplete(); + }); + n.on("exit", (e) => { + s.processExitCode = e; + s.processExited = true; + this._debug(`Exit code ${e} received from tool '${this.toolPath}'`); + s.CheckComplete(); + }); + n.on("close", (e) => { + s.processExitCode = e; + s.processExited = true; + s.processClosed = true; + this._debug(`STDIO streams have closed for tool '${this.toolPath}'`); + s.CheckComplete(); + }); + s.on("done", (r, s) => { + if (A.length > 0) { + this.emit("stdline", A); + } + if (a.length > 0) { + this.emit("errline", a); + } + n.removeAllListeners(); + if (r) { + t(r); + } else { + e(s); + } + }); + if (this.options.input) { + if (!n.stdin) { + throw new Error("child process missing stdin"); + } + n.stdin.end(this.options.input); + } + }) + ); + }); + } + } + t.ToolRunner = ToolRunner; + function argStringToArray(e) { + const t = []; + let r = false; + let s = false; + let o = ""; + function append(e) { + if (s && e !== '"') { + o += "\\"; + } + o += e; + s = false; + } + for (let n = 0; n < e.length; n++) { + const A = e.charAt(n); + if (A === '"') { + if (!s) { + r = !r; + } else { + append(A); + } + continue; + } + if (A === "\\" && s) { + append(A); + continue; + } + if (A === "\\" && r) { + s = true; + continue; + } + if (A === " " && !r) { + if (o.length > 0) { + t.push(o); + o = ""; + } + continue; + } + append(A); + } + if (o.length > 0) { + t.push(o.trim()); + } + return t; + } + t.argStringToArray = argStringToArray; + class ExecState extends a.EventEmitter { + constructor(e, t) { + super(); + this.processClosed = false; + this.processError = ""; + this.processExitCode = 0; + this.processExited = false; + this.processStderr = false; + this.delay = 1e4; + this.done = false; + this.timeout = null; + if (!t) { + throw new Error("toolPath must not be empty"); + } + this.options = e; + this.toolPath = t; + if (e.delay) { + this.delay = e.delay; + } + } + CheckComplete() { + if (this.done) { + return; + } + if (this.processClosed) { + this._setResult(); + } else if (this.processExited) { + this.timeout = p.setTimeout(ExecState.HandleTimeout, this.delay, this); + } + } + _debug(e) { + this.emit("debug", e); + } + _setResult() { + let e; + if (this.processExited) { + if (this.processError) { + e = new Error( + `There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}` + ); + } else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) { + e = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`); + } else if (this.processStderr && this.options.failOnStdErr) { + e = new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`); + } + } + if (this.timeout) { + clearTimeout(this.timeout); + this.timeout = null; + } + this.done = true; + this.emit("done", e, this.processExitCode); + } + static HandleTimeout(e) { + if (e.done) { + return; + } + if (!e.processClosed && e.processExited) { + const t = `The STDIO streams did not close within ${e.delay / 1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`; + e._debug(t); + } + e._setResult(); + } + } + }, + 1648: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.Context = void 0; + const s = r(9896); + const o = r(857); + class Context { + constructor() { + var e, t, r; + this.payload = {}; + if (process.env.GITHUB_EVENT_PATH) { + if ((0, s.existsSync)(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse((0, s.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" })); + } else { + const e = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${o.EOL}`); + } + } + this.eventName = process.env.GITHUB_EVENT_NAME; + this.sha = process.env.GITHUB_SHA; + this.ref = process.env.GITHUB_REF; + this.workflow = process.env.GITHUB_WORKFLOW; + this.action = process.env.GITHUB_ACTION; + this.actor = process.env.GITHUB_ACTOR; + this.job = process.env.GITHUB_JOB; + this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); + this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); + this.apiUrl = (e = process.env.GITHUB_API_URL) !== null && e !== void 0 ? e : `https://api.github.com`; + this.serverUrl = (t = process.env.GITHUB_SERVER_URL) !== null && t !== void 0 ? t : `https://github.com`; + this.graphqlUrl = (r = process.env.GITHUB_GRAPHQL_URL) !== null && r !== void 0 ? r : `https://api.github.com/graphql`; + } + get issue() { + const e = this.payload; + return Object.assign(Object.assign({}, this.repo), { number: (e.issue || e.pull_request || e).number }); + } + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [e, t] = process.env.GITHUB_REPOSITORY.split("/"); + return { owner: e, repo: t }; + } + if (this.payload.repository) { + return { owner: this.payload.repository.owner.login, repo: this.payload.repository.name }; + } + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); + } + } + t.Context = Context; + }, + 3228: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + var o = Object.getOwnPropertyDescriptor(t, r); + if (!o || ("get" in o ? !t.__esModule : o.writable || o.configurable)) { + o = { + enumerable: true, + get: function () { + return t[r]; + }, + }; + } + Object.defineProperty(e, s, o); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.prototype.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.getOctokit = t.context = void 0; + const A = n(r(1648)); + const i = r(8006); + t.context = new A.Context(); + function getOctokit(e, t, ...r) { + const s = i.GitHub.plugin(...r); + return new s((0, i.getOctokitOptions)(e, t)); + } + t.getOctokit = getOctokit; + }, + 5156: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + var o = Object.getOwnPropertyDescriptor(t, r); + if (!o || ("get" in o ? !t.__esModule : o.writable || o.configurable)) { + o = { + enumerable: true, + get: function () { + return t[r]; + }, + }; + } + Object.defineProperty(e, s, o); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.prototype.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + var A = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.getApiBaseUrl = t.getProxyFetch = t.getProxyAgentDispatcher = t.getProxyAgent = t.getAuthString = void 0; + const i = n(r(4844)); + const a = r(6752); + function getAuthString(e, t) { + if (!e && !t.auth) { + throw new Error("Parameter token or opts.auth is required"); + } else if (e && t.auth) { + throw new Error("Parameters token and opts.auth may not both be specified"); + } + return typeof t.auth === "string" ? t.auth : `token ${e}`; + } + t.getAuthString = getAuthString; + function getProxyAgent(e) { + const t = new i.HttpClient(); + return t.getAgent(e); + } + t.getProxyAgent = getProxyAgent; + function getProxyAgentDispatcher(e) { + const t = new i.HttpClient(); + return t.getAgentDispatcher(e); + } + t.getProxyAgentDispatcher = getProxyAgentDispatcher; + function getProxyFetch(e) { + const t = getProxyAgentDispatcher(e); + const proxyFetch = (e, r) => + A(this, void 0, void 0, function* () { + return (0, a.fetch)(e, Object.assign(Object.assign({}, r), { dispatcher: t })); + }); + return proxyFetch; + } + t.getProxyFetch = getProxyFetch; + function getApiBaseUrl() { + return process.env["GITHUB_API_URL"] || "https://api.github.com"; + } + t.getApiBaseUrl = getApiBaseUrl; + }, + 8006: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + var o = Object.getOwnPropertyDescriptor(t, r); + if (!o || ("get" in o ? !t.__esModule : o.writable || o.configurable)) { + o = { + enumerable: true, + get: function () { + return t[r]; + }, + }; + } + Object.defineProperty(e, s, o); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.prototype.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.getOctokitOptions = t.GitHub = t.defaults = t.context = void 0; + const A = n(r(1648)); + const i = n(r(5156)); + const a = r(8452); + const c = r(5726); + const u = r(7731); + t.context = new A.Context(); + const l = i.getApiBaseUrl(); + t.defaults = { baseUrl: l, request: { agent: i.getProxyAgent(l), fetch: i.getProxyFetch(l) } }; + t.GitHub = a.Octokit.plugin(c.restEndpointMethods, u.paginateRest).defaults(t.defaults); + function getOctokitOptions(e, t) { + const r = Object.assign({}, t || {}); + const s = i.getAuthString(e, r); + if (s) { + r.auth = s; + } + return r; + } + t.getOctokitOptions = getOctokitOptions; + }, + 8452: (e, t, r) => { + var s = Object.defineProperty; + var o = Object.getOwnPropertyDescriptor; + var n = Object.getOwnPropertyNames; + var A = Object.prototype.hasOwnProperty; + var __export = (e, t) => { + for (var r in t) s(e, r, { get: t[r], enumerable: true }); + }; + var __copyProps = (e, t, r, i) => { + if ((t && typeof t === "object") || typeof t === "function") { + for (let a of n(t)) if (!A.call(e, a) && a !== r) s(e, a, { get: () => t[a], enumerable: !(i = o(t, a)) || i.enumerable }); + } + return e; + }; + var __toCommonJS = (e) => __copyProps(s({}, "__esModule", { value: true }), e); + var i = {}; + __export(i, { Octokit: () => I }); + e.exports = __toCommonJS(i); + var a = r(9071); + var c = r(6256); + var u = r(9755); + var l = r(9699); + var g = r(3844); + var p = "5.2.0"; + var noop = () => {}; + var d = console.warn.bind(console); + var E = console.error.bind(console); + var h = `octokit-core.js/${p} ${(0, a.getUserAgent)()}`; + var I = class { + static { + this.VERSION = p; + } + static defaults(e) { + const t = class extends this { + constructor(...t) { + const r = t[0] || {}; + if (typeof e === "function") { + super(e(r)); + return; + } + super(Object.assign({}, e, r, r.userAgent && e.userAgent ? { userAgent: `${r.userAgent} ${e.userAgent}` } : null)); + } + }; + return t; + } + static { + this.plugins = []; + } + static plugin(...e) { + const t = this.plugins; + const r = class extends this { + static { + this.plugins = t.concat(e.filter((e) => !t.includes(e))); + } + }; + return r; + } + constructor(e = {}) { + const t = new c.Collection(); + const r = { + baseUrl: u.request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, e.request, { hook: t.bind(null, "request") }), + mediaType: { previews: [], format: "" }, + }; + r.headers["user-agent"] = e.userAgent ? `${e.userAgent} ${h}` : h; + if (e.baseUrl) { + r.baseUrl = e.baseUrl; + } + if (e.previews) { + r.mediaType.previews = e.previews; + } + if (e.timeZone) { + r.headers["time-zone"] = e.timeZone; + } + this.request = u.request.defaults(r); + this.graphql = (0, l.withCustomRequest)(this.request).defaults(r); + this.log = Object.assign({ debug: noop, info: noop, warn: d, error: E }, e.log); + this.hook = t; + if (!e.authStrategy) { + if (!e.auth) { + this.auth = async () => ({ type: "unauthenticated" }); + } else { + const r = (0, g.createTokenAuth)(e.auth); + t.wrap("request", r.hook); + this.auth = r; + } + } else { + const { authStrategy: r, ...s } = e; + const o = r(Object.assign({ request: this.request, log: this.log, octokit: this, octokitOptions: s }, e.auth)); + t.wrap("request", o.hook); + this.auth = o; + } + const s = this.constructor; + for (let t = 0; t < s.plugins.length; ++t) { + Object.assign(this, s.plugins[t](this, e)); + } + } + }; + 0 && 0; + }, + 3844: (e) => { + var t = Object.defineProperty; + var r = Object.getOwnPropertyDescriptor; + var s = Object.getOwnPropertyNames; + var o = Object.prototype.hasOwnProperty; + var __export = (e, r) => { + for (var s in r) t(e, s, { get: r[s], enumerable: true }); + }; + var __copyProps = (e, n, A, i) => { + if ((n && typeof n === "object") || typeof n === "function") { + for (let a of s(n)) if (!o.call(e, a) && a !== A) t(e, a, { get: () => n[a], enumerable: !(i = r(n, a)) || i.enumerable }); + } + return e; + }; + var __toCommonJS = (e) => __copyProps(t({}, "__esModule", { value: true }), e); + var n = {}; + __export(n, { createTokenAuth: () => c }); + e.exports = __toCommonJS(n); + var A = /^v1\./; + var i = /^ghs_/; + var a = /^ghu_/; + async function auth(e) { + const t = e.split(/\./).length === 3; + const r = A.test(e) || i.test(e); + const s = a.test(e); + const o = t ? "app" : r ? "installation" : s ? "user-to-server" : "oauth"; + return { type: "token", token: e, tokenType: o }; + } + function withAuthorizationPrefix(e) { + if (e.split(/\./).length === 3) { + return `bearer ${e}`; + } + return `token ${e}`; + } + async function hook(e, t, r, s) { + const o = t.endpoint.merge(r, s); + o.headers.authorization = withAuthorizationPrefix(e); + return t(o); + } + var c = function createTokenAuth2(e) { + if (!e) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof e !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + e = e.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, e), { hook: hook.bind(null, e) }); + }; + 0 && 0; + }, + 9699: (e, t, r) => { + var s = Object.defineProperty; + var o = Object.getOwnPropertyDescriptor; + var n = Object.getOwnPropertyNames; + var A = Object.prototype.hasOwnProperty; + var __export = (e, t) => { + for (var r in t) s(e, r, { get: t[r], enumerable: true }); + }; + var __copyProps = (e, t, r, i) => { + if ((t && typeof t === "object") || typeof t === "function") { + for (let a of n(t)) if (!A.call(e, a) && a !== r) s(e, a, { get: () => t[a], enumerable: !(i = o(t, a)) || i.enumerable }); + } + return e; + }; + var __toCommonJS = (e) => __copyProps(s({}, "__esModule", { value: true }), e); + var i = {}; + __export(i, { GraphqlResponseError: () => p, graphql: () => I, withCustomRequest: () => withCustomRequest }); + e.exports = __toCommonJS(i); + var a = r(9755); + var c = r(9071); + var u = "7.1.0"; + var l = r(9755); + var g = r(9755); + function _buildMessageForResponseErrors(e) { + return `Request failed due to following response errors:\n` + e.errors.map((e) => ` - ${e.message}`).join("\n"); + } + var p = class extends Error { + constructor(e, t, r) { + super(_buildMessageForResponseErrors(r)); + this.request = e; + this.headers = t; + this.response = r; + this.name = "GraphqlResponseError"; + this.errors = r.errors; + this.data = r.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + }; + var d = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; + var E = ["query", "method", "url"]; + var h = /\/api\/v3\/?$/; + function graphql(e, t, r) { + if (r) { + if (typeof t === "string" && "query" in r) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const e in r) { + if (!E.includes(e)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`)); + } + } + const s = typeof t === "string" ? Object.assign({ query: t }, r) : t; + const o = Object.keys(s).reduce((e, t) => { + if (d.includes(t)) { + e[t] = s[t]; + return e; + } + if (!e.variables) { + e.variables = {}; + } + e.variables[t] = s[t]; + return e; + }, {}); + const n = s.baseUrl || e.endpoint.DEFAULTS.baseUrl; + if (h.test(n)) { + o.url = n.replace(h, "/api/graphql"); + } + return e(o).then((e) => { + if (e.data.errors) { + const t = {}; + for (const r of Object.keys(e.headers)) { + t[r] = e.headers[r]; + } + throw new p(o, t, e.data); + } + return e.data.data; + }); + } + function withDefaults(e, t) { + const r = e.defaults(t); + const newApi = (e, t) => graphql(r, e, t); + return Object.assign(newApi, { defaults: withDefaults.bind(null, r), endpoint: r.endpoint }); + } + var I = withDefaults(a.request, { headers: { "user-agent": `octokit-graphql.js/${u} ${(0, c.getUserAgent)()}` }, method: "POST", url: "/graphql" }); + function withCustomRequest(e) { + return withDefaults(e, { method: "POST", url: "/graphql" }); + } + 0 && 0; + }, + 8688: (e, t, r) => { + var s = Object.create; + var o = Object.defineProperty; + var n = Object.getOwnPropertyDescriptor; + var A = Object.getOwnPropertyNames; + var i = Object.getPrototypeOf; + var a = Object.prototype.hasOwnProperty; + var __export = (e, t) => { + for (var r in t) o(e, r, { get: t[r], enumerable: true }); + }; + var __copyProps = (e, t, r, s) => { + if ((t && typeof t === "object") || typeof t === "function") { + for (let i of A(t)) if (!a.call(e, i) && i !== r) o(e, i, { get: () => t[i], enumerable: !(s = n(t, i)) || s.enumerable }); + } + return e; + }; + var __toESM = (e, t, r) => ((r = e != null ? s(i(e)) : {}), __copyProps(t || !e || !e.__esModule ? o(r, "default", { value: e, enumerable: true }) : r, e)); + var __toCommonJS = (e) => __copyProps(o({}, "__esModule", { value: true }), e); + var c = {}; + __export(c, { RequestError: () => d }); + e.exports = __toCommonJS(c); + var u = r(4150); + var l = __toESM(r(5560)); + var g = (0, l.default)((e) => console.warn(e)); + var p = (0, l.default)((e) => console.warn(e)); + var d = class extends Error { + constructor(e, t, r) { + super(e); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = t; + let s; + if ("headers" in r && typeof r.headers !== "undefined") { + s = r.headers; + } + if ("response" in r) { + this.response = r.response; + s = r.response.headers; + } + const o = Object.assign({}, r.request); + if (r.request.headers.authorization) { + o.headers = Object.assign({}, r.request.headers, { authorization: r.request.headers.authorization.replace(/ .*$/, " [REDACTED]") }); + } + o.url = o.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = o; + Object.defineProperty(this, "code", { + get() { + g(new u.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return t; + }, + }); + Object.defineProperty(this, "headers", { + get() { + p(new u.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return s || {}; + }, + }); + } + }; + 0 && 0; + }, + 9755: (e, t, r) => { + var s = Object.defineProperty; + var o = Object.getOwnPropertyDescriptor; + var n = Object.getOwnPropertyNames; + var A = Object.prototype.hasOwnProperty; + var __export = (e, t) => { + for (var r in t) s(e, r, { get: t[r], enumerable: true }); + }; + var __copyProps = (e, t, r, i) => { + if ((t && typeof t === "object") || typeof t === "function") { + for (let a of n(t)) if (!A.call(e, a) && a !== r) s(e, a, { get: () => t[a], enumerable: !(i = o(t, a)) || i.enumerable }); + } + return e; + }; + var __toCommonJS = (e) => __copyProps(s({}, "__esModule", { value: true }), e); + var i = {}; + __export(i, { request: () => g }); + e.exports = __toCommonJS(i); + var a = r(206); + var c = r(9071); + var u = "8.4.0"; + function isPlainObject(e) { + if (typeof e !== "object" || e === null) return false; + if (Object.prototype.toString.call(e) !== "[object Object]") return false; + const t = Object.getPrototypeOf(e); + if (t === null) return true; + const r = Object.prototype.hasOwnProperty.call(t, "constructor") && t.constructor; + return typeof r === "function" && r instanceof r && Function.prototype.call(r) === Function.prototype.call(e); + } + var l = r(8688); + function getBufferResponse(e) { + return e.arrayBuffer(); + } + function fetchWrapper(e) { + var t, r, s, o; + const n = e.request && e.request.log ? e.request.log : console; + const A = ((t = e.request) == null ? void 0 : t.parseSuccessResponseBody) !== false; + if (isPlainObject(e.body) || Array.isArray(e.body)) { + e.body = JSON.stringify(e.body); + } + let i = {}; + let a; + let c; + let { fetch: u } = globalThis; + if ((r = e.request) == null ? void 0 : r.fetch) { + u = e.request.fetch; + } + if (!u) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return u(e.url, { + method: e.method, + body: e.body, + redirect: (s = e.request) == null ? void 0 : s.redirect, + headers: e.headers, + signal: (o = e.request) == null ? void 0 : o.signal, + ...(e.body && { duplex: "half" }), + }) + .then(async (t) => { + c = t.url; + a = t.status; + for (const e of t.headers) { + i[e[0]] = e[1]; + } + if ("deprecation" in i) { + const t = i.link && i.link.match(/<([^>]+)>; rel="deprecation"/); + const r = t && t.pop(); + n.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${i.sunset}${r ? `. See ${r}` : ""}`); + } + if (a === 204 || a === 205) { + return; + } + if (e.method === "HEAD") { + if (a < 400) { + return; + } + throw new l.RequestError(t.statusText, a, { response: { url: c, status: a, headers: i, data: void 0 }, request: e }); + } + if (a === 304) { + throw new l.RequestError("Not modified", a, { response: { url: c, status: a, headers: i, data: await getResponseData(t) }, request: e }); + } + if (a >= 400) { + const r = await getResponseData(t); + const s = new l.RequestError(toErrorMessage(r), a, { response: { url: c, status: a, headers: i, data: r }, request: e }); + throw s; + } + return A ? await getResponseData(t) : t.body; + }) + .then((e) => ({ status: a, url: c, headers: i, data: e })) + .catch((t) => { + if (t instanceof l.RequestError) throw t; + else if (t.name === "AbortError") throw t; + let r = t.message; + if (t.name === "TypeError" && "cause" in t) { + if (t.cause instanceof Error) { + r = t.cause.message; + } else if (typeof t.cause === "string") { + r = t.cause; + } + } + throw new l.RequestError(r, 500, { request: e }); + }); + } + async function getResponseData(e) { + const t = e.headers.get("content-type"); + if (/application\/json/.test(t)) { + return e + .json() + .catch(() => e.text()) + .catch(() => ""); + } + if (!t || /^text\/|charset=utf-8$/.test(t)) { + return e.text(); + } + return getBufferResponse(e); + } + function toErrorMessage(e) { + if (typeof e === "string") return e; + let t; + if ("documentation_url" in e) { + t = ` - ${e.documentation_url}`; + } else { + t = ""; + } + if ("message" in e) { + if (Array.isArray(e.errors)) { + return `${e.message}: ${e.errors.map(JSON.stringify).join(", ")}${t}`; + } + return `${e.message}${t}`; + } + return `Unknown error: ${JSON.stringify(e)}`; + } + function withDefaults(e, t) { + const r = e.defaults(t); + const newApi = function (e, t) { + const s = r.merge(e, t); + if (!s.request || !s.request.hook) { + return fetchWrapper(r.parse(s)); + } + const request2 = (e, t) => fetchWrapper(r.parse(r.merge(e, t))); + Object.assign(request2, { endpoint: r, defaults: withDefaults.bind(null, r) }); + return s.request.hook(request2, s); + }; + return Object.assign(newApi, { endpoint: r, defaults: withDefaults.bind(null, r) }); + } + var g = withDefaults(a.endpoint, { headers: { "user-agent": `octokit-request.js/${u} ${(0, c.getUserAgent)()}` } }); + 0 && 0; + }, + 206: (e, t, r) => { + var s = Object.defineProperty; + var o = Object.getOwnPropertyDescriptor; + var n = Object.getOwnPropertyNames; + var A = Object.prototype.hasOwnProperty; + var __export = (e, t) => { + for (var r in t) s(e, r, { get: t[r], enumerable: true }); + }; + var __copyProps = (e, t, r, i) => { + if ((t && typeof t === "object") || typeof t === "function") { + for (let a of n(t)) if (!A.call(e, a) && a !== r) s(e, a, { get: () => t[a], enumerable: !(i = o(t, a)) || i.enumerable }); + } + return e; + }; + var __toCommonJS = (e) => __copyProps(s({}, "__esModule", { value: true }), e); + var i = {}; + __export(i, { endpoint: () => p }); + e.exports = __toCommonJS(i); + var a = r(9071); + var c = "9.0.5"; + var u = `octokit-endpoint.js/${c} ${(0, a.getUserAgent)()}`; + var l = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { accept: "application/vnd.github.v3+json", "user-agent": u }, + mediaType: { format: "" }, + }; + function lowercaseKeys(e) { + if (!e) { + return {}; + } + return Object.keys(e).reduce((t, r) => { + t[r.toLowerCase()] = e[r]; + return t; + }, {}); + } + function isPlainObject(e) { + if (typeof e !== "object" || e === null) return false; + if (Object.prototype.toString.call(e) !== "[object Object]") return false; + const t = Object.getPrototypeOf(e); + if (t === null) return true; + const r = Object.prototype.hasOwnProperty.call(t, "constructor") && t.constructor; + return typeof r === "function" && r instanceof r && Function.prototype.call(r) === Function.prototype.call(e); + } + function mergeDeep(e, t) { + const r = Object.assign({}, e); + Object.keys(t).forEach((s) => { + if (isPlainObject(t[s])) { + if (!(s in e)) Object.assign(r, { [s]: t[s] }); + else r[s] = mergeDeep(e[s], t[s]); + } else { + Object.assign(r, { [s]: t[s] }); + } + }); + return r; + } + function removeUndefinedProperties(e) { + for (const t in e) { + if (e[t] === void 0) { + delete e[t]; + } + } + return e; + } + function merge(e, t, r) { + if (typeof t === "string") { + let [e, s] = t.split(" "); + r = Object.assign(s ? { method: e, url: s } : { url: e }, r); + } else { + r = Object.assign({}, t); + } + r.headers = lowercaseKeys(r.headers); + removeUndefinedProperties(r); + removeUndefinedProperties(r.headers); + const s = mergeDeep(e || {}, r); + if (r.url === "/graphql") { + if (e && e.mediaType.previews?.length) { + s.mediaType.previews = e.mediaType.previews.filter((e) => !s.mediaType.previews.includes(e)).concat(s.mediaType.previews); + } + s.mediaType.previews = (s.mediaType.previews || []).map((e) => e.replace(/-preview/, "")); + } + return s; + } + function addQueryParameters(e, t) { + const r = /\?/.test(e) ? "&" : "?"; + const s = Object.keys(t); + if (s.length === 0) { + return e; + } + return ( + e + + r + + s + .map((e) => { + if (e === "q") { + return "q=" + t.q.split("+").map(encodeURIComponent).join("+"); + } + return `${e}=${encodeURIComponent(t[e])}`; + }) + .join("&") + ); + } + var g = /\{[^}]+\}/g; + function removeNonChars(e) { + return e.replace(/^\W+|\W+$/g, "").split(/,/); + } + function extractUrlVariableNames(e) { + const t = e.match(g); + if (!t) { + return []; + } + return t.map(removeNonChars).reduce((e, t) => e.concat(t), []); + } + function omit(e, t) { + const r = { __proto__: null }; + for (const s of Object.keys(e)) { + if (t.indexOf(s) === -1) { + r[s] = e[s]; + } + } + return r; + } + function encodeReserved(e) { + return e + .split(/(%[0-9A-Fa-f]{2})/g) + .map(function (e) { + if (!/%[0-9A-Fa-f]/.test(e)) { + e = encodeURI(e).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return e; + }) + .join(""); + } + function encodeUnreserved(e) { + return encodeURIComponent(e).replace(/[!'()*]/g, function (e) { + return "%" + e.charCodeAt(0).toString(16).toUpperCase(); + }); + } + function encodeValue(e, t, r) { + t = e === "+" || e === "#" ? encodeReserved(t) : encodeUnreserved(t); + if (r) { + return encodeUnreserved(r) + "=" + t; + } else { + return t; + } + } + function isDefined(e) { + return e !== void 0 && e !== null; + } + function isKeyOperator(e) { + return e === ";" || e === "&" || e === "?"; + } + function getValues(e, t, r, s) { + var o = e[r], + n = []; + if (isDefined(o) && o !== "") { + if (typeof o === "string" || typeof o === "number" || typeof o === "boolean") { + o = o.toString(); + if (s && s !== "*") { + o = o.substring(0, parseInt(s, 10)); + } + n.push(encodeValue(t, o, isKeyOperator(t) ? r : "")); + } else { + if (s === "*") { + if (Array.isArray(o)) { + o.filter(isDefined).forEach(function (e) { + n.push(encodeValue(t, e, isKeyOperator(t) ? r : "")); + }); + } else { + Object.keys(o).forEach(function (e) { + if (isDefined(o[e])) { + n.push(encodeValue(t, o[e], e)); + } + }); + } + } else { + const e = []; + if (Array.isArray(o)) { + o.filter(isDefined).forEach(function (r) { + e.push(encodeValue(t, r)); + }); + } else { + Object.keys(o).forEach(function (r) { + if (isDefined(o[r])) { + e.push(encodeUnreserved(r)); + e.push(encodeValue(t, o[r].toString())); + } + }); + } + if (isKeyOperator(t)) { + n.push(encodeUnreserved(r) + "=" + e.join(",")); + } else if (e.length !== 0) { + n.push(e.join(",")); + } + } + } + } else { + if (t === ";") { + if (isDefined(o)) { + n.push(encodeUnreserved(r)); + } + } else if (o === "" && (t === "&" || t === "?")) { + n.push(encodeUnreserved(r) + "="); + } else if (o === "") { + n.push(""); + } + } + return n; + } + function parseUrl(e) { + return { expand: expand.bind(null, e) }; + } + function expand(e, t) { + var r = ["+", "#", ".", "/", ";", "?", "&"]; + e = e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (e, s, o) { + if (s) { + let e = ""; + const o = []; + if (r.indexOf(s.charAt(0)) !== -1) { + e = s.charAt(0); + s = s.substr(1); + } + s.split(/,/g).forEach(function (r) { + var s = /([^:\*]*)(?::(\d+)|(\*))?/.exec(r); + o.push(getValues(t, e, s[1], s[2] || s[3])); + }); + if (e && e !== "+") { + var n = ","; + if (e === "?") { + n = "&"; + } else if (e !== "#") { + n = e; + } + return (o.length !== 0 ? e : "") + o.join(n); + } else { + return o.join(","); + } + } else { + return encodeReserved(o); + } + }); + if (e === "/") { + return e; + } else { + return e.replace(/\/$/, ""); + } + } + function parse(e) { + let t = e.method.toUpperCase(); + let r = (e.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let s = Object.assign({}, e.headers); + let o; + let n = omit(e, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); + const A = extractUrlVariableNames(r); + r = parseUrl(r).expand(n); + if (!/^http/.test(r)) { + r = e.baseUrl + r; + } + const i = Object.keys(e) + .filter((e) => A.includes(e)) + .concat("baseUrl"); + const a = omit(n, i); + const c = /application\/octet-stream/i.test(s.accept); + if (!c) { + if (e.mediaType.format) { + s.accept = s.accept + .split(/,/) + .map((t) => t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${e.mediaType.format}`)) + .join(","); + } + if (r.endsWith("/graphql")) { + if (e.mediaType.previews?.length) { + const t = s.accept.match(/[\w-]+(?=-preview)/g) || []; + s.accept = t + .concat(e.mediaType.previews) + .map((t) => { + const r = e.mediaType.format ? `.${e.mediaType.format}` : "+json"; + return `application/vnd.github.${t}-preview${r}`; + }) + .join(","); + } + } + } + if (["GET", "HEAD"].includes(t)) { + r = addQueryParameters(r, a); + } else { + if ("data" in a) { + o = a.data; + } else { + if (Object.keys(a).length) { + o = a; + } + } + } + if (!s["content-type"] && typeof o !== "undefined") { + s["content-type"] = "application/json; charset=utf-8"; + } + if (["PATCH", "PUT"].includes(t) && typeof o === "undefined") { + o = ""; + } + return Object.assign({ method: t, url: r, headers: s }, typeof o !== "undefined" ? { body: o } : null, e.request ? { request: e.request } : null); + } + function endpointWithDefaults(e, t, r) { + return parse(merge(e, t, r)); + } + function withDefaults(e, t) { + const r = merge(e, t); + const s = endpointWithDefaults.bind(null, r); + return Object.assign(s, { DEFAULTS: r, defaults: withDefaults.bind(null, r), merge: merge.bind(null, r), parse: parse }); + } + var p = withDefaults(null, l); + 0 && 0; + }, + 6256: (e, t, r) => { + var s = r(8987); + var o = r(1095); + var n = r(5930); + var A = Function.bind; + var i = A.bind(A); + function bindApi(e, t, r) { + var s = i(n, null).apply(null, r ? [t, r] : [t]); + e.api = { remove: s }; + e.remove = s; + ["before", "error", "after", "wrap"].forEach(function (s) { + var n = r ? [t, s, r] : [t, s]; + e[s] = e.api[s] = i(o, null).apply(null, n); + }); + } + function HookSingular() { + var e = "h"; + var t = { registry: {} }; + var r = s.bind(null, t, e); + bindApi(r, t, e); + return r; + } + function HookCollection() { + var e = { registry: {} }; + var t = s.bind(null, e); + bindApi(t, e); + return t; + } + var a = false; + function Hook() { + if (!a) { + console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4'); + a = true; + } + return HookCollection(); + } + Hook.Singular = HookSingular.bind(); + Hook.Collection = HookCollection.bind(); + e.exports = Hook; + e.exports.Hook = Hook; + e.exports.Singular = Hook.Singular; + e.exports.Collection = Hook.Collection; + }, + 1095: (e) => { + e.exports = addHook; + function addHook(e, t, r, s) { + var o = s; + if (!e.registry[r]) { + e.registry[r] = []; + } + if (t === "before") { + s = function (e, t) { + return Promise.resolve().then(o.bind(null, t)).then(e.bind(null, t)); + }; + } + if (t === "after") { + s = function (e, t) { + var r; + return Promise.resolve() + .then(e.bind(null, t)) + .then(function (e) { + r = e; + return o(r, t); + }) + .then(function () { + return r; + }); + }; + } + if (t === "error") { + s = function (e, t) { + return Promise.resolve() + .then(e.bind(null, t)) + .catch(function (e) { + return o(e, t); + }); + }; + } + e.registry[r].push({ hook: s, orig: o }); + } + }, + 8987: (e) => { + e.exports = register; + function register(e, t, r, s) { + if (typeof r !== "function") { + throw new Error("method for before hook must be a function"); + } + if (!s) { + s = {}; + } + if (Array.isArray(t)) { + return t.reverse().reduce(function (t, r) { + return register.bind(null, e, r, t, s); + }, r)(); + } + return Promise.resolve().then(function () { + if (!e.registry[t]) { + return r(s); + } + return e.registry[t].reduce(function (e, t) { + return t.hook.bind(null, e, s); + }, r)(); + }); + } + }, + 5930: (e) => { + e.exports = removeHook; + function removeHook(e, t, r) { + if (!e.registry[t]) { + return; + } + var s = e.registry[t] + .map(function (e) { + return e.orig; + }) + .indexOf(r); + if (s === -1) { + return; + } + e.registry[t].splice(s, 1); + } + }, + 9071: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + function getUserAgent() { + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + if (typeof process === "object" && process.version !== undefined) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + return ""; + } + t.getUserAgent = getUserAgent; + }, + 7731: (e) => { + var t = Object.defineProperty; + var r = Object.getOwnPropertyDescriptor; + var s = Object.getOwnPropertyNames; + var o = Object.prototype.hasOwnProperty; + var __export = (e, r) => { + for (var s in r) t(e, s, { get: r[s], enumerable: true }); + }; + var __copyProps = (e, n, A, i) => { + if ((n && typeof n === "object") || typeof n === "function") { + for (let a of s(n)) if (!o.call(e, a) && a !== A) t(e, a, { get: () => n[a], enumerable: !(i = r(n, a)) || i.enumerable }); + } + return e; + }; + var __toCommonJS = (e) => __copyProps(t({}, "__esModule", { value: true }), e); + var n = {}; + __export(n, { + composePaginateRest: () => i, + isPaginatingEndpoint: () => isPaginatingEndpoint, + paginateRest: () => paginateRest, + paginatingEndpoints: () => a, + }); + e.exports = __toCommonJS(n); + var A = "9.2.1"; + function normalizePaginatedListResponse(e) { + if (!e.data) { + return { ...e, data: [] }; + } + const t = "total_count" in e.data && !("url" in e.data); + if (!t) return e; + const r = e.data.incomplete_results; + const s = e.data.repository_selection; + const o = e.data.total_count; + delete e.data.incomplete_results; + delete e.data.repository_selection; + delete e.data.total_count; + const n = Object.keys(e.data)[0]; + const A = e.data[n]; + e.data = A; + if (typeof r !== "undefined") { + e.data.incomplete_results = r; + } + if (typeof s !== "undefined") { + e.data.repository_selection = s; + } + e.data.total_count = o; + return e; + } + function iterator(e, t, r) { + const s = typeof t === "function" ? t.endpoint(r) : e.request.endpoint(t, r); + const o = typeof t === "function" ? t : e.request; + const n = s.method; + const A = s.headers; + let i = s.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!i) return { done: true }; + try { + const e = await o({ method: n, url: i, headers: A }); + const t = normalizePaginatedListResponse(e); + i = ((t.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { value: t }; + } catch (e) { + if (e.status !== 409) throw e; + i = ""; + return { value: { status: 200, headers: {}, data: [] } }; + } + }, + }), + }; + } + function paginate(e, t, r, s) { + if (typeof r === "function") { + s = r; + r = void 0; + } + return gather(e, [], iterator(e, t, r)[Symbol.asyncIterator](), s); + } + function gather(e, t, r, s) { + return r.next().then((o) => { + if (o.done) { + return t; + } + let n = false; + function done() { + n = true; + } + t = t.concat(s ? s(o.value, done) : o.value.data); + if (n) { + return t; + } + return gather(e, t, r, s); + }); + } + var i = Object.assign(paginate, { iterator: iterator }); + var a = [ + "GET /advisories", + "GET /app/hook/deliveries", + "GET /app/installation-requests", + "GET /app/installations", + "GET /assignments/{assignment_id}/accepted_assignments", + "GET /classrooms", + "GET /classrooms/{classroom_id}/assignments", + "GET /enterprises/{enterprise}/dependabot/alerts", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/actions/variables", + "GET /orgs/{org}/actions/variables/{name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/codespaces/secrets", + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", + "GET /orgs/{org}/copilot/billing/seats", + "GET /orgs/{org}/dependabot/alerts", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/members/{username}/codespaces", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/organization-roles/{role_id}/teams", + "GET /orgs/{org}/organization-roles/{role_id}/users", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/personal-access-token-requests", + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", + "GET /orgs/{org}/personal-access-tokens", + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/properties/values", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/rulesets", + "GET /orgs/{org}/rulesets/rule-suites", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/security-advisories", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/organization-secrets", + "GET /repos/{owner}/{repo}/actions/organization-variables", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/variables", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/activity", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/alerts", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/rules/branches/{branch}", + "GET /repos/{owner}/{repo}/rulesets", + "GET /repos/{owner}/{repo}/rulesets/rule-suites", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/security-advisories", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /repositories/{repository_id}/environments/{environment_name}/variables", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/social_accounts", + "GET /user/ssh_signing_keys", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/social_accounts", + "GET /users/{username}/ssh_signing_keys", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions", + ]; + function isPaginatingEndpoint(e) { + if (typeof e === "string") { + return a.includes(e); + } else { + return false; + } + } + function paginateRest(e) { + return { paginate: Object.assign(paginate.bind(null, e), { iterator: iterator.bind(null, e) }) }; + } + paginateRest.VERSION = A; + 0 && 0; + }, + 5726: (e) => { + var t = Object.defineProperty; + var r = Object.getOwnPropertyDescriptor; + var s = Object.getOwnPropertyNames; + var o = Object.prototype.hasOwnProperty; + var __export = (e, r) => { + for (var s in r) t(e, s, { get: r[s], enumerable: true }); + }; + var __copyProps = (e, n, A, i) => { + if ((n && typeof n === "object") || typeof n === "function") { + for (let a of s(n)) if (!o.call(e, a) && a !== A) t(e, a, { get: () => n[a], enumerable: !(i = r(n, a)) || i.enumerable }); + } + return e; + }; + var __toCommonJS = (e) => __copyProps(t({}, "__esModule", { value: true }), e); + var n = {}; + __export(n, { legacyRestEndpointMethods: () => legacyRestEndpointMethods, restEndpointMethods: () => restEndpointMethods }); + e.exports = __toCommonJS(n); + var A = "10.4.1"; + var i = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: ["POST /orgs/{org}/actions/runners/{runner_id}/labels"], + addCustomLabelsToSelfHostedRunnerForRepo: ["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + addSelectedRepoToOrgVariable: ["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"], + approveWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"], + cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], + createEnvironmentVariable: ["POST /repositories/{repository_id}/environments/{environment_name}/variables"], + createOrUpdateEnvironmentSecret: ["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], + createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], + createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], + deleteActionsCacheById: ["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"], + deleteActionsCacheByKey: ["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"], + deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + deleteEnvironmentVariable: ["DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + deleteRepoVariable: ["DELETE /repos/{owner}/{repo}/actions/variables/{name}"], + deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], + deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + disableSelectedRepositoryGithubActionsOrganization: ["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"], + disableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"], + downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], + downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], + downloadWorkflowRunAttemptLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"], + downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"], + enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"], + forceCancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"], + generateRunnerJitconfigForOrg: ["POST /orgs/{org}/actions/runners/generate-jitconfig"], + generateRunnerJitconfigForRepo: ["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: ["GET /orgs/{org}/actions/cache/usage-by-repository"], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], + getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getCustomOidcSubClaimForRepo: ["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"], + getEnvironmentPublicKey: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"], + getEnvironmentSecret: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + getEnvironmentVariable: ["GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}"], + getGithubActionsDefaultWorkflowPermissionsOrganization: ["GET /orgs/{org}/actions/permissions/workflow"], + getGithubActionsDefaultWorkflowPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/workflow"], + getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], + getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], + getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { renamed: ["actions", "getGithubActionsPermissionsRepository"] }], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], + getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: ["GET /repos/{owner}/{repo}/actions/permissions/access"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"], + getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], + getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets"], + listEnvironmentVariables: ["GET /repositories/{repository_id}/environments/{environment_name}/variables"], + listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], + listJobsForWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"], + listLabelsForSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}/labels"], + listLabelsForSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listRepoOrganizationSecrets: ["GET /repos/{owner}/{repo}/actions/organization-secrets"], + listRepoOrganizationVariables: ["GET /repos/{owner}/{repo}/actions/organization-variables"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"], + listSelectedReposForOrgVariable: ["GET /orgs/{org}/actions/variables/{name}/repositories"], + listSelectedRepositoriesEnabledGithubActionsOrganization: ["GET /orgs/{org}/actions/permissions/repositories"], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], + listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: ["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + removeCustomLabelFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"], + removeCustomLabelFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + removeSelectedRepoFromOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"], + reviewCustomGatesForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"], + reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], + setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], + setCustomLabelsForSelfHostedRunnerForOrg: ["PUT /orgs/{org}/actions/runners/{runner_id}/labels"], + setCustomLabelsForSelfHostedRunnerForRepo: ["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + setCustomOidcSubClaimForRepo: ["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"], + setGithubActionsDefaultWorkflowPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions/workflow"], + setGithubActionsDefaultWorkflowPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/workflow"], + setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], + setGithubActionsPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"], + setSelectedReposForOrgVariable: ["PUT /orgs/{org}/actions/variables/{name}/repositories"], + setSelectedRepositoriesEnabledGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories"], + setWorkflowAccessToRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/access"], + updateEnvironmentVariable: ["PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}"], + updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateRepoVariable: ["PATCH /repos/{owner}/{repo}/actions/variables/{name}"], + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"], + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }, + ], + addRepoToInstallationForAuthenticatedUser: ["PUT /user/installations/{installation_id}/repositories/{repository_id}"], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens"], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], + getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], + listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories"], + listInstallationRequestsForAuthenticatedApp: ["GET /app/installation-requests"], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: ["POST /app/hook/deliveries/{delivery_id}/attempts"], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }, + ], + removeRepoFromInstallationForAuthenticatedUser: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}"], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"], + updateWebhookConfigForApp: ["PATCH /app/hook/config"], + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: ["GET /users/{username}/settings/billing/actions"], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: ["GET /users/{username}/settings/billing/packages"], + getSharedStorageBillingOrg: ["GET /orgs/{org}/settings/billing/shared-storage"], + getSharedStorageBillingUser: ["GET /users/{username}/settings/billing/shared-storage"], + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: ["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"], + rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"], + setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences"], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"], + }, + codeScanning: { + deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], + getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { renamedParameters: { alert_id: "alert_number" } }], + getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], + getCodeqlDatabase: ["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"], + getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + {}, + { renamed: ["codeScanning", "listAlertInstances"] }, + ], + listCodeqlDatabases: ["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], + updateDefaultSetup: ["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"], + }, + codesOfConduct: { getAllCodesOfConduct: ["GET /codes_of_conduct"], getConductCode: ["GET /codes_of_conduct/{key}"] }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + checkPermissionsForDevcontainer: ["GET /repos/{owner}/{repo}/codespaces/permissions_check"], + codespaceMachinesForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/machines"], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/codespaces/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + createOrUpdateSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}"], + createWithPrForAuthenticatedUser: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"], + createWithRepoForAuthenticatedUser: ["POST /repos/{owner}/{repo}/codespaces"], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: ["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + deleteSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}"], + exportForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/exports"], + getCodespacesForUserInOrg: ["GET /orgs/{org}/members/{username}/codespaces"], + getExportDetailsForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/exports/{export_id}"], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getPublicKeyForAuthenticatedUser: ["GET /user/codespaces/secrets/public-key"], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + getSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}"], + listDevcontainersInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/devcontainers"], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: ["GET /orgs/{org}/codespaces", {}, { renamedParameters: { org_id: "org" } }], + listInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces"], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}/repositories"], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"], + preFlightWithRepoForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/new"], + publishForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/publish"], + removeRepositoryForSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + repoMachinesForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/machines"], + setRepositoriesForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: ["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"], + }, + copilot: { + addCopilotSeatsForTeams: ["POST /orgs/{org}/copilot/billing/selected_teams"], + addCopilotSeatsForUsers: ["POST /orgs/{org}/copilot/billing/selected_users"], + cancelCopilotSeatAssignmentForTeams: ["DELETE /orgs/{org}/copilot/billing/selected_teams"], + cancelCopilotSeatAssignmentForUsers: ["DELETE /orgs/{org}/copilot/billing/selected_users"], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: ["GET /orgs/{org}/members/{username}/copilot"], + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"], + }, + dependabot: { + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + listAlertsForEnterprise: ["GET /enterprises/{enterprise}/dependabot/alerts"], + listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"], + updateAlert: ["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + }, + dependencyGraph: { + createRepositorySnapshot: ["POST /repos/{owner}/{repo}/dependency-graph/snapshots"], + diffRange: ["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"], + exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"], + }, + emojis: { get: ["GET /emojis"] }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"], + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"], + }, + gitignore: { getAllTemplates: ["GET /gitignore/templates"], getTemplate: ["GET /gitignore/templates/{name}"] }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: ["GET /user/interaction-limits", {}, { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits"], + removeRestrictionsForYourPublicRepos: ["DELETE /user/interaction-limits", {}, { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: ["PUT /user/interaction-limits", {}, { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }], + }, + issues: { + addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], + removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"], + }, + licenses: { get: ["GET /licenses/{license}"], getAllCommonlyUsed: ["GET /licenses"], getForRepo: ["GET /repos/{owner}/{repo}/license"] }, + markdown: { render: ["POST /markdown"], renderRaw: ["POST /markdown/raw", { headers: { "content-type": "text/plain; charset=utf-8" } }] }, + meta: { get: ["GET /meta"], getAllVersions: ["GET /versions"], getOctocat: ["GET /octocat"], getZen: ["GET /zen"], root: ["GET /"] }, + migrations: { + cancelImport: [ + "DELETE /repos/{owner}/{repo}/import", + {}, + { deprecated: "octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import" }, + ], + deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive"], + deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive"], + downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive"], + getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive"], + getCommitAuthors: [ + "GET /repos/{owner}/{repo}/import/authors", + {}, + { + deprecated: + "octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors", + }, + ], + getImportStatus: [ + "GET /repos/{owner}/{repo}/import", + {}, + { + deprecated: + "octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status", + }, + ], + getLargeFiles: [ + "GET /repos/{owner}/{repo}/import/large_files", + {}, + { deprecated: "octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files" }, + ], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: ["GET /user/migrations/{migration_id}/repositories"], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: ["GET /user/migrations/{migration_id}/repositories", {}, { renamed: ["migrations", "listReposForAuthenticatedUser"] }], + mapCommitAuthor: [ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}", + {}, + { + deprecated: + "octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author", + }, + ], + setLfsPreference: [ + "PATCH /repos/{owner}/{repo}/import/lfs", + {}, + { + deprecated: + "octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference", + }, + ], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: [ + "PUT /repos/{owner}/{repo}/import", + {}, + { deprecated: "octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import" }, + ], + unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"], + unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"], + updateImport: [ + "PATCH /repos/{owner}/{repo}/import", + {}, + { deprecated: "octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import" }, + ], + }, + oidc: { + getOidcCustomSubTemplateForOrg: ["GET /orgs/{org}/actions/oidc/customization/sub"], + updateOidcCustomSubTemplateForOrg: ["PUT /orgs/{org}/actions/oidc/customization/sub"], + }, + orgs: { + addSecurityManagerTeam: ["PUT /orgs/{org}/security-managers/teams/{team_slug}"], + assignTeamToOrgRole: ["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"], + assignUserToOrgRole: ["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"], + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], + createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], + createInvitation: ["POST /orgs/{org}/invitations"], + createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], + createOrUpdateCustomPropertiesValuesForRepos: ["PATCH /orgs/{org}/properties/values"], + createOrUpdateCustomProperty: ["PUT /orgs/{org}/properties/schema/{custom_property_name}"], + createWebhook: ["POST /orgs/{org}/hooks"], + delete: ["DELETE /orgs/{org}"], + deleteCustomOrganizationRole: ["DELETE /orgs/{org}/organization-roles/{role_id}"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: ["POST /orgs/{org}/{security_product}/{enablement}"], + get: ["GET /orgs/{org}"], + getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], + getCustomProperty: ["GET /orgs/{org}/properties/schema/{custom_property_name}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], + listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], + listOrgRoles: ["GET /orgs/{org}/organization-roles"], + listOrganizationFineGrainedPermissions: ["GET /orgs/{org}/organization-fine-grained-permissions"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPatGrantRepositories: ["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"], + listPatGrantRequestRepositories: ["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"], + listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], + listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + patchCustomOrganizationRole: ["PATCH /orgs/{org}/organization-roles/{role_id}"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeCustomProperty: ["DELETE /orgs/{org}/properties/schema/{custom_property_name}"], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], + removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"], + removeSecurityManagerTeam: ["DELETE /orgs/{org}/security-managers/teams/{team_slug}"], + reviewPatGrantRequest: ["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"], + reviewPatGrantRequestsInBulk: ["POST /orgs/{org}/personal-access-token-requests"], + revokeAllOrgRolesTeam: ["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"], + revokeAllOrgRolesUser: ["DELETE /orgs/{org}/organization-roles/users/{username}"], + revokeOrgRoleTeam: ["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"], + revokeOrgRoleUser: ["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"], + updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], + updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"], + }, + packages: { + deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], + deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], + deletePackageForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}"], + deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }, + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] }, + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], + getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], + getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], + getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], + getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + listDockerMigrationConflictingPackagesForAuthenticatedUser: ["GET /user/docker/conflicts"], + listDockerMigrationConflictingPackagesForOrganization: ["GET /orgs/{org}/docker/conflicts"], + listDockerMigrationConflictingPackagesForUser: ["GET /users/{username}/docker/conflicts"], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission"], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}"], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"], + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"], + updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + createForRelease: ["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"], + createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"], + deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"], + deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"], + deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"], + deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"], + deleteForRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"], + deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", + ], + listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + listForRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"], + listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"], + }, + repos: { + acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}", {}, { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] }], + acceptInvitationForAuthenticatedUser: ["PATCH /user/repository_invitations/{invitation_id}"], + addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { mapToData: "apps" }], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { mapToData: "contexts" }], + addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { mapToData: "teams" }], + addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { mapToData: "users" }], + cancelPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"], + checkAutomatedSecurityFixes: ["GET /repos/{owner}/{repo}/automated-security-fixes"], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts"], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: ["GET /repos/{owner}/{repo}/compare/{basehead}"], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentBranchPolicy: ["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"], + createDeploymentProtectionRule: ["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"], + createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateCustomPropertiesValues: ["PATCH /repos/{owner}/{repo}/properties/values"], + createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createOrgRuleset: ["POST /orgs/{org}/rulesets"], + createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate"], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}", {}, { renamed: ["repos", "declineInvitationForAuthenticatedUser"] }], + declineInvitationForAuthenticatedUser: ["DELETE /user/repository_invitations/{invitation_id}"], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], + deleteDeploymentBranchPolicy: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], + deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], + deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + deleteTagProtection: ["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes"], + disableDeploymentProtectionRule: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"], + disablePrivateVulnerabilityReporting: ["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"], + disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts"], + downloadArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}", {}, { renamed: ["repos", "downloadZipballArchive"] }], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes"], + enablePrivateVulnerabilityReporting: ["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"], + enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts"], + generateReleaseNotes: ["POST /repos/{owner}/{repo}/releases/generate-notes"], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + getAllDeploymentProtectionRules: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], + getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getCustomDeploymentProtectionRule: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"], + getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentBranchPolicy: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"], + getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], + getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], + getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], + getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], + getOrgRulesets: ["GET /orgs/{org}/rulesets"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesDeployment: ["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getRepoRuleSuite: ["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"], + getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], + getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"], + listActivities: ["GET /repos/{owner}/{repo}/activity"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCustomDeploymentRuleIntegrations: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"], + listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"], + listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { mapToData: "apps" }], + removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], + removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { mapToData: "contexts" }], + removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { mapToData: "teams" }], + removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { mapToData: "users" }], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { mapToData: "apps" }], + setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { mapToData: "contexts" }], + setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { mapToData: "teams" }], + setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { mapToData: "users" }], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateDeploymentBranchPolicy: ["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], + updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], + updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], + updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] }, + ], + updateStatusCheckProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"], + uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { baseUrl: "https://uploads.github.com" }], + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"], + }, + secretScanning: { + getAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], + listAlertsForEnterprise: ["GET /enterprises/{enterprise}/secret-scanning/alerts"], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"], + updateAlert: ["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], + }, + securityAdvisories: { + createFork: ["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"], + createPrivateVulnerabilityReport: ["POST /repos/{owner}/{repo}/security-advisories/reports"], + createRepositoryAdvisory: ["POST /repos/{owner}/{repo}/security-advisories"], + createRepositoryAdvisoryCveRequest: ["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"], + getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], + getRepositoryAdvisory: ["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"], + listGlobalAdvisories: ["GET /advisories"], + listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"], + listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"], + updateRepositoryAdvisory: ["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"], + }, + teams: { + addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], + addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], + removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"], + }, + users: { + addEmailForAuthenticated: ["POST /user/emails", {}, { renamed: ["users", "addEmailForAuthenticatedUser"] }], + addEmailForAuthenticatedUser: ["POST /user/emails"], + addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: ["POST /user/gpg_keys", {}, { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: ["POST /user/keys", {}, { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], + deleteEmailForAuthenticated: ["DELETE /user/emails", {}, { renamed: ["users", "deleteEmailForAuthenticatedUser"] }], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}", {}, { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}", {}, { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], + deleteSshSigningKeyForAuthenticatedUser: ["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}", {}, { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}", {}, { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getSshSigningKeyForAuthenticatedUser: ["GET /user/ssh_signing_keys/{ssh_signing_key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: ["GET /user/blocks", {}, { renamed: ["users", "listBlockedByAuthenticatedUser"] }], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: ["GET /user/emails", {}, { renamed: ["users", "listEmailsForAuthenticatedUser"] }], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: ["GET /user/following", {}, { renamed: ["users", "listFollowedByAuthenticatedUser"] }], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: ["GET /user/gpg_keys", {}, { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: ["GET /user/public_emails", {}, { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: ["GET /user/keys", {}, { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"], + listSocialAccountsForUser: ["GET /users/{username}/social_accounts"], + listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], + listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], + setPrimaryEmailVisibilityForAuthenticated: [ + "PATCH /user/email/visibility", + {}, + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }, + ], + setPrimaryEmailVisibilityForAuthenticatedUser: ["PATCH /user/email/visibility"], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"], + }, + }; + var a = i; + var c = new Map(); + for (const [e, t] of Object.entries(a)) { + for (const [r, s] of Object.entries(t)) { + const [t, o, n] = s; + const [A, i] = t.split(/ /); + const a = Object.assign({ method: A, url: i }, o); + if (!c.has(e)) { + c.set(e, new Map()); + } + c.get(e).set(r, { scope: e, methodName: r, endpointDefaults: a, decorations: n }); + } + } + var u = { + has({ scope: e }, t) { + return c.get(e).has(t); + }, + getOwnPropertyDescriptor(e, t) { + return { value: this.get(e, t), configurable: true, writable: true, enumerable: true }; + }, + defineProperty(e, t, r) { + Object.defineProperty(e.cache, t, r); + return true; + }, + deleteProperty(e, t) { + delete e.cache[t]; + return true; + }, + ownKeys({ scope: e }) { + return [...c.get(e).keys()]; + }, + set(e, t, r) { + return (e.cache[t] = r); + }, + get({ octokit: e, scope: t, cache: r }, s) { + if (r[s]) { + return r[s]; + } + const o = c.get(t).get(s); + if (!o) { + return void 0; + } + const { endpointDefaults: n, decorations: A } = o; + if (A) { + r[s] = decorate(e, t, s, n, A); + } else { + r[s] = e.request.defaults(n); + } + return r[s]; + }, + }; + function endpointsToMethods(e) { + const t = {}; + for (const r of c.keys()) { + t[r] = new Proxy({ octokit: e, scope: r, cache: {} }, u); + } + return t; + } + function decorate(e, t, r, s, o) { + const n = e.request.defaults(s); + function withDecorations(...s) { + let A = n.endpoint.merge(...s); + if (o.mapToData) { + A = Object.assign({}, A, { data: A[o.mapToData], [o.mapToData]: void 0 }); + return n(A); + } + if (o.renamed) { + const [s, n] = o.renamed; + e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${s}.${n}()`); + } + if (o.deprecated) { + e.log.warn(o.deprecated); + } + if (o.renamedParameters) { + const A = n.endpoint.merge(...s); + for (const [s, n] of Object.entries(o.renamedParameters)) { + if (s in A) { + e.log.warn(`"${s}" parameter is deprecated for "octokit.${t}.${r}()". Use "${n}" instead`); + if (!(n in A)) { + A[n] = A[s]; + } + delete A[s]; + } + } + return n(A); + } + return n(...s); + } + return Object.assign(withDecorations, n); + } + function restEndpointMethods(e) { + const t = endpointsToMethods(e); + return { rest: t }; + } + restEndpointMethods.VERSION = A; + function legacyRestEndpointMethods(e) { + const t = endpointsToMethods(e); + return { ...t, rest: t }; + } + legacyRestEndpointMethods.VERSION = A; + 0 && 0; + }, + 4552: function (e, t) { + var r = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.PersonalAccessTokenCredentialHandler = t.BearerCredentialHandler = t.BasicCredentialHandler = void 0; + class BasicCredentialHandler { + constructor(e, t) { + this.username = e; + this.password = t; + } + prepareRequest(e) { + if (!e.headers) { + throw Error("The request has no headers"); + } + e.headers["Authorization"] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`; + } + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return r(this, void 0, void 0, function* () { + throw new Error("not implemented"); + }); + } + } + t.BasicCredentialHandler = BasicCredentialHandler; + class BearerCredentialHandler { + constructor(e) { + this.token = e; + } + prepareRequest(e) { + if (!e.headers) { + throw Error("The request has no headers"); + } + e.headers["Authorization"] = `Bearer ${this.token}`; + } + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return r(this, void 0, void 0, function* () { + throw new Error("not implemented"); + }); + } + } + t.BearerCredentialHandler = BearerCredentialHandler; + class PersonalAccessTokenCredentialHandler { + constructor(e) { + this.token = e; + } + prepareRequest(e) { + if (!e.headers) { + throw Error("The request has no headers"); + } + e.headers["Authorization"] = `Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`; + } + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return r(this, void 0, void 0, function* () { + throw new Error("not implemented"); + }); + } + } + t.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; + }, + 4844: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + var o = Object.getOwnPropertyDescriptor(t, r); + if (!o || ("get" in o ? !t.__esModule : o.writable || o.configurable)) { + o = { + enumerable: true, + get: function () { + return t[r]; + }, + }; + } + Object.defineProperty(e, s, o); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.prototype.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + var A = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.HttpClient = t.isHttps = t.HttpClientResponse = t.HttpClientError = t.getProxyUrl = t.MediaTypes = t.Headers = t.HttpCodes = void 0; + const i = n(r(8611)); + const a = n(r(5692)); + const c = n(r(4988)); + const u = n(r(770)); + const l = r(6752); + var g; + (function (e) { + e[(e["OK"] = 200)] = "OK"; + e[(e["MultipleChoices"] = 300)] = "MultipleChoices"; + e[(e["MovedPermanently"] = 301)] = "MovedPermanently"; + e[(e["ResourceMoved"] = 302)] = "ResourceMoved"; + e[(e["SeeOther"] = 303)] = "SeeOther"; + e[(e["NotModified"] = 304)] = "NotModified"; + e[(e["UseProxy"] = 305)] = "UseProxy"; + e[(e["SwitchProxy"] = 306)] = "SwitchProxy"; + e[(e["TemporaryRedirect"] = 307)] = "TemporaryRedirect"; + e[(e["PermanentRedirect"] = 308)] = "PermanentRedirect"; + e[(e["BadRequest"] = 400)] = "BadRequest"; + e[(e["Unauthorized"] = 401)] = "Unauthorized"; + e[(e["PaymentRequired"] = 402)] = "PaymentRequired"; + e[(e["Forbidden"] = 403)] = "Forbidden"; + e[(e["NotFound"] = 404)] = "NotFound"; + e[(e["MethodNotAllowed"] = 405)] = "MethodNotAllowed"; + e[(e["NotAcceptable"] = 406)] = "NotAcceptable"; + e[(e["ProxyAuthenticationRequired"] = 407)] = "ProxyAuthenticationRequired"; + e[(e["RequestTimeout"] = 408)] = "RequestTimeout"; + e[(e["Conflict"] = 409)] = "Conflict"; + e[(e["Gone"] = 410)] = "Gone"; + e[(e["TooManyRequests"] = 429)] = "TooManyRequests"; + e[(e["InternalServerError"] = 500)] = "InternalServerError"; + e[(e["NotImplemented"] = 501)] = "NotImplemented"; + e[(e["BadGateway"] = 502)] = "BadGateway"; + e[(e["ServiceUnavailable"] = 503)] = "ServiceUnavailable"; + e[(e["GatewayTimeout"] = 504)] = "GatewayTimeout"; + })(g || (t.HttpCodes = g = {})); + var p; + (function (e) { + e["Accept"] = "accept"; + e["ContentType"] = "content-type"; + })(p || (t.Headers = p = {})); + var d; + (function (e) { + e["ApplicationJson"] = "application/json"; + })(d || (t.MediaTypes = d = {})); + function getProxyUrl(e) { + const t = c.getProxyUrl(new URL(e)); + return t ? t.href : ""; + } + t.getProxyUrl = getProxyUrl; + const E = [g.MovedPermanently, g.ResourceMoved, g.SeeOther, g.TemporaryRedirect, g.PermanentRedirect]; + const h = [g.BadGateway, g.ServiceUnavailable, g.GatewayTimeout]; + const I = ["OPTIONS", "GET", "DELETE", "HEAD"]; + const C = 10; + const m = 5; + class HttpClientError extends Error { + constructor(e, t) { + super(e); + this.name = "HttpClientError"; + this.statusCode = t; + Object.setPrototypeOf(this, HttpClientError.prototype); + } + } + t.HttpClientError = HttpClientError; + class HttpClientResponse { + constructor(e) { + this.message = e; + } + readBody() { + return A(this, void 0, void 0, function* () { + return new Promise((e) => + A(this, void 0, void 0, function* () { + let t = Buffer.alloc(0); + this.message.on("data", (e) => { + t = Buffer.concat([t, e]); + }); + this.message.on("end", () => { + e(t.toString()); + }); + }) + ); + }); + } + readBodyBuffer() { + return A(this, void 0, void 0, function* () { + return new Promise((e) => + A(this, void 0, void 0, function* () { + const t = []; + this.message.on("data", (e) => { + t.push(e); + }); + this.message.on("end", () => { + e(Buffer.concat(t)); + }); + }) + ); + }); + } + } + t.HttpClientResponse = HttpClientResponse; + function isHttps(e) { + const t = new URL(e); + return t.protocol === "https:"; + } + t.isHttps = isHttps; + class HttpClient { + constructor(e, t, r) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = e; + this.handlers = t || []; + this.requestOptions = r; + if (r) { + if (r.ignoreSslError != null) { + this._ignoreSslError = r.ignoreSslError; + } + this._socketTimeout = r.socketTimeout; + if (r.allowRedirects != null) { + this._allowRedirects = r.allowRedirects; + } + if (r.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = r.allowRedirectDowngrade; + } + if (r.maxRedirects != null) { + this._maxRedirects = Math.max(r.maxRedirects, 0); + } + if (r.keepAlive != null) { + this._keepAlive = r.keepAlive; + } + if (r.allowRetries != null) { + this._allowRetries = r.allowRetries; + } + if (r.maxRetries != null) { + this._maxRetries = r.maxRetries; + } + } + } + options(e, t) { + return A(this, void 0, void 0, function* () { + return this.request("OPTIONS", e, null, t || {}); + }); + } + get(e, t) { + return A(this, void 0, void 0, function* () { + return this.request("GET", e, null, t || {}); + }); + } + del(e, t) { + return A(this, void 0, void 0, function* () { + return this.request("DELETE", e, null, t || {}); + }); + } + post(e, t, r) { + return A(this, void 0, void 0, function* () { + return this.request("POST", e, t, r || {}); + }); + } + patch(e, t, r) { + return A(this, void 0, void 0, function* () { + return this.request("PATCH", e, t, r || {}); + }); + } + put(e, t, r) { + return A(this, void 0, void 0, function* () { + return this.request("PUT", e, t, r || {}); + }); + } + head(e, t) { + return A(this, void 0, void 0, function* () { + return this.request("HEAD", e, null, t || {}); + }); + } + sendStream(e, t, r, s) { + return A(this, void 0, void 0, function* () { + return this.request(e, t, r, s); + }); + } + getJson(e, t = {}) { + return A(this, void 0, void 0, function* () { + t[p.Accept] = this._getExistingOrDefaultHeader(t, p.Accept, d.ApplicationJson); + const r = yield this.get(e, t); + return this._processResponse(r, this.requestOptions); + }); + } + postJson(e, t, r = {}) { + return A(this, void 0, void 0, function* () { + const s = JSON.stringify(t, null, 2); + r[p.Accept] = this._getExistingOrDefaultHeader(r, p.Accept, d.ApplicationJson); + r[p.ContentType] = this._getExistingOrDefaultHeader(r, p.ContentType, d.ApplicationJson); + const o = yield this.post(e, s, r); + return this._processResponse(o, this.requestOptions); + }); + } + putJson(e, t, r = {}) { + return A(this, void 0, void 0, function* () { + const s = JSON.stringify(t, null, 2); + r[p.Accept] = this._getExistingOrDefaultHeader(r, p.Accept, d.ApplicationJson); + r[p.ContentType] = this._getExistingOrDefaultHeader(r, p.ContentType, d.ApplicationJson); + const o = yield this.put(e, s, r); + return this._processResponse(o, this.requestOptions); + }); + } + patchJson(e, t, r = {}) { + return A(this, void 0, void 0, function* () { + const s = JSON.stringify(t, null, 2); + r[p.Accept] = this._getExistingOrDefaultHeader(r, p.Accept, d.ApplicationJson); + r[p.ContentType] = this._getExistingOrDefaultHeader(r, p.ContentType, d.ApplicationJson); + const o = yield this.patch(e, s, r); + return this._processResponse(o, this.requestOptions); + }); + } + request(e, t, r, s) { + return A(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error("Client has already been disposed."); + } + const o = new URL(t); + let n = this._prepareRequest(e, o, s); + const A = this._allowRetries && I.includes(e) ? this._maxRetries + 1 : 1; + let i = 0; + let a; + do { + a = yield this.requestRaw(n, r); + if (a && a.message && a.message.statusCode === g.Unauthorized) { + let e; + for (const t of this.handlers) { + if (t.canHandleAuthentication(a)) { + e = t; + break; + } + } + if (e) { + return e.handleAuthentication(this, n, r); + } else { + return a; + } + } + let t = this._maxRedirects; + while (a.message.statusCode && E.includes(a.message.statusCode) && this._allowRedirects && t > 0) { + const A = a.message.headers["location"]; + if (!A) { + break; + } + const i = new URL(A); + if (o.protocol === "https:" && o.protocol !== i.protocol && !this._allowRedirectDowngrade) { + throw new Error( + "Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true." + ); + } + yield a.readBody(); + if (i.hostname !== o.hostname) { + for (const e in s) { + if (e.toLowerCase() === "authorization") { + delete s[e]; + } + } + } + n = this._prepareRequest(e, i, s); + a = yield this.requestRaw(n, r); + t--; + } + if (!a.message.statusCode || !h.includes(a.message.statusCode)) { + return a; + } + i += 1; + if (i < A) { + yield a.readBody(); + yield this._performExponentialBackoff(i); + } + } while (i < A); + return a; + }); + } + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + requestRaw(e, t) { + return A(this, void 0, void 0, function* () { + return new Promise((r, s) => { + function callbackForResult(e, t) { + if (e) { + s(e); + } else if (!t) { + s(new Error("Unknown error")); + } else { + r(t); + } + } + this.requestRawWithCallback(e, t, callbackForResult); + }); + }); + } + requestRawWithCallback(e, t, r) { + if (typeof t === "string") { + if (!e.options.headers) { + e.options.headers = {}; + } + e.options.headers["Content-Length"] = Buffer.byteLength(t, "utf8"); + } + let s = false; + function handleResult(e, t) { + if (!s) { + s = true; + r(e, t); + } + } + const o = e.httpModule.request(e.options, (e) => { + const t = new HttpClientResponse(e); + handleResult(undefined, t); + }); + let n; + o.on("socket", (e) => { + n = e; + }); + o.setTimeout(this._socketTimeout || 3 * 6e4, () => { + if (n) { + n.end(); + } + handleResult(new Error(`Request timeout: ${e.options.path}`)); + }); + o.on("error", function (e) { + handleResult(e); + }); + if (t && typeof t === "string") { + o.write(t, "utf8"); + } + if (t && typeof t !== "string") { + t.on("close", function () { + o.end(); + }); + t.pipe(o); + } else { + o.end(); + } + } + getAgent(e) { + const t = new URL(e); + return this._getAgent(t); + } + getAgentDispatcher(e) { + const t = new URL(e); + const r = c.getProxyUrl(t); + const s = r && r.hostname; + if (!s) { + return; + } + return this._getProxyAgentDispatcher(t, r); + } + _prepareRequest(e, t, r) { + const s = {}; + s.parsedUrl = t; + const o = s.parsedUrl.protocol === "https:"; + s.httpModule = o ? a : i; + const n = o ? 443 : 80; + s.options = {}; + s.options.host = s.parsedUrl.hostname; + s.options.port = s.parsedUrl.port ? parseInt(s.parsedUrl.port) : n; + s.options.path = (s.parsedUrl.pathname || "") + (s.parsedUrl.search || ""); + s.options.method = e; + s.options.headers = this._mergeHeaders(r); + if (this.userAgent != null) { + s.options.headers["user-agent"] = this.userAgent; + } + s.options.agent = this._getAgent(s.parsedUrl); + if (this.handlers) { + for (const e of this.handlers) { + e.prepareRequest(s.options); + } + } + return s; + } + _mergeHeaders(e) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(e || {})); + } + return lowercaseKeys(e || {}); + } + _getExistingOrDefaultHeader(e, t, r) { + let s; + if (this.requestOptions && this.requestOptions.headers) { + s = lowercaseKeys(this.requestOptions.headers)[t]; + } + return e[t] || s || r; + } + _getAgent(e) { + let t; + const r = c.getProxyUrl(e); + const s = r && r.hostname; + if (this._keepAlive && s) { + t = this._proxyAgent; + } + if (!s) { + t = this._agent; + } + if (t) { + return t; + } + const o = e.protocol === "https:"; + let n = 100; + if (this.requestOptions) { + n = this.requestOptions.maxSockets || i.globalAgent.maxSockets; + } + if (r && r.hostname) { + const e = { + maxSockets: n, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, (r.username || r.password) && { proxyAuth: `${r.username}:${r.password}` }), { + host: r.hostname, + port: r.port, + }), + }; + let s; + const A = r.protocol === "https:"; + if (o) { + s = A ? u.httpsOverHttps : u.httpsOverHttp; + } else { + s = A ? u.httpOverHttps : u.httpOverHttp; + } + t = s(e); + this._proxyAgent = t; + } + if (!t) { + const e = { keepAlive: this._keepAlive, maxSockets: n }; + t = o ? new a.Agent(e) : new i.Agent(e); + this._agent = t; + } + if (o && this._ignoreSslError) { + t.options = Object.assign(t.options || {}, { rejectUnauthorized: false }); + } + return t; + } + _getProxyAgentDispatcher(e, t) { + let r; + if (this._keepAlive) { + r = this._proxyAgentDispatcher; + } + if (r) { + return r; + } + const s = e.protocol === "https:"; + r = new l.ProxyAgent( + Object.assign( + { uri: t.href, pipelining: !this._keepAlive ? 0 : 1 }, + (t.username || t.password) && { token: `Basic ${Buffer.from(`${t.username}:${t.password}`).toString("base64")}` } + ) + ); + this._proxyAgentDispatcher = r; + if (s && this._ignoreSslError) { + r.options = Object.assign(r.options.requestTls || {}, { rejectUnauthorized: false }); + } + return r; + } + _performExponentialBackoff(e) { + return A(this, void 0, void 0, function* () { + e = Math.min(C, e); + const t = m * Math.pow(2, e); + return new Promise((e) => setTimeout(() => e(), t)); + }); + } + _processResponse(e, t) { + return A(this, void 0, void 0, function* () { + return new Promise((r, s) => + A(this, void 0, void 0, function* () { + const o = e.message.statusCode || 0; + const n = { statusCode: o, result: null, headers: {} }; + if (o === g.NotFound) { + r(n); + } + function dateTimeDeserializer(e, t) { + if (typeof t === "string") { + const e = new Date(t); + if (!isNaN(e.valueOf())) { + return e; + } + } + return t; + } + let A; + let i; + try { + i = yield e.readBody(); + if (i && i.length > 0) { + if (t && t.deserializeDates) { + A = JSON.parse(i, dateTimeDeserializer); + } else { + A = JSON.parse(i); + } + n.result = A; + } + n.headers = e.message.headers; + } catch (e) {} + if (o > 299) { + let e; + if (A && A.message) { + e = A.message; + } else if (i && i.length > 0) { + e = i; + } else { + e = `Failed request: (${o})`; + } + const t = new HttpClientError(e, o); + t.result = n.result; + s(t); + } else { + r(n); + } + }) + ); + }); + } + } + t.HttpClient = HttpClient; + const lowercaseKeys = (e) => Object.keys(e).reduce((t, r) => ((t[r.toLowerCase()] = e[r]), t), {}); + }, + 4988: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.checkBypass = t.getProxyUrl = void 0; + function getProxyUrl(e) { + const t = e.protocol === "https:"; + if (checkBypass(e)) { + return undefined; + } + const r = (() => { + if (t) { + return process.env["https_proxy"] || process.env["HTTPS_PROXY"]; + } else { + return process.env["http_proxy"] || process.env["HTTP_PROXY"]; + } + })(); + if (r) { + try { + return new DecodedURL(r); + } catch (e) { + if (!r.startsWith("http://") && !r.startsWith("https://")) return new DecodedURL(`http://${r}`); + } + } else { + return undefined; + } + } + t.getProxyUrl = getProxyUrl; + function checkBypass(e) { + if (!e.hostname) { + return false; + } + const t = e.hostname; + if (isLoopbackAddress(t)) { + return true; + } + const r = process.env["no_proxy"] || process.env["NO_PROXY"] || ""; + if (!r) { + return false; + } + let s; + if (e.port) { + s = Number(e.port); + } else if (e.protocol === "http:") { + s = 80; + } else if (e.protocol === "https:") { + s = 443; + } + const o = [e.hostname.toUpperCase()]; + if (typeof s === "number") { + o.push(`${o[0]}:${s}`); + } + for (const e of r + .split(",") + .map((e) => e.trim().toUpperCase()) + .filter((e) => e)) { + if (e === "*" || o.some((t) => t === e || t.endsWith(`.${e}`) || (e.startsWith(".") && t.endsWith(`${e}`)))) { + return true; + } + } + return false; + } + t.checkBypass = checkBypass; + function isLoopbackAddress(e) { + const t = e.toLowerCase(); + return t === "localhost" || t.startsWith("127.") || t.startsWith("[::1]") || t.startsWith("[0:0:0:0:0:0:0:1]"); + } + class DecodedURL extends URL { + constructor(e, t) { + super(e, t); + this._decodedUsername = decodeURIComponent(super.username); + this._decodedPassword = decodeURIComponent(super.password); + } + get username() { + return this._decodedUsername; + } + get password() { + return this._decodedPassword; + } + } + }, + 5207: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + Object.defineProperty(e, s, { + enumerable: true, + get: function () { + return t[r]; + }, + }); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + var A = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + var i; + Object.defineProperty(t, "__esModule", { value: true }); + t.getCmdPath = + t.tryGetExecutablePath = + t.isRooted = + t.isDirectory = + t.exists = + t.READONLY = + t.UV_FS_O_EXLOCK = + t.IS_WINDOWS = + t.unlink = + t.symlink = + t.stat = + t.rmdir = + t.rm = + t.rename = + t.readlink = + t.readdir = + t.open = + t.mkdir = + t.lstat = + t.copyFile = + t.chmod = + void 0; + const a = n(r(9896)); + const c = n(r(6928)); + (i = a.promises), + (t.chmod = i.chmod), + (t.copyFile = i.copyFile), + (t.lstat = i.lstat), + (t.mkdir = i.mkdir), + (t.open = i.open), + (t.readdir = i.readdir), + (t.readlink = i.readlink), + (t.rename = i.rename), + (t.rm = i.rm), + (t.rmdir = i.rmdir), + (t.stat = i.stat), + (t.symlink = i.symlink), + (t.unlink = i.unlink); + t.IS_WINDOWS = process.platform === "win32"; + t.UV_FS_O_EXLOCK = 268435456; + t.READONLY = a.constants.O_RDONLY; + function exists(e) { + return A(this, void 0, void 0, function* () { + try { + yield t.stat(e); + } catch (e) { + if (e.code === "ENOENT") { + return false; + } + throw e; + } + return true; + }); + } + t.exists = exists; + function isDirectory(e, r = false) { + return A(this, void 0, void 0, function* () { + const s = r ? yield t.stat(e) : yield t.lstat(e); + return s.isDirectory(); + }); + } + t.isDirectory = isDirectory; + function isRooted(e) { + e = normalizeSeparators(e); + if (!e) { + throw new Error('isRooted() parameter "p" cannot be empty'); + } + if (t.IS_WINDOWS) { + return e.startsWith("\\") || /^[A-Z]:/i.test(e); + } + return e.startsWith("/"); + } + t.isRooted = isRooted; + function tryGetExecutablePath(e, r) { + return A(this, void 0, void 0, function* () { + let s = undefined; + try { + s = yield t.stat(e); + } catch (t) { + if (t.code !== "ENOENT") { + console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`); + } + } + if (s && s.isFile()) { + if (t.IS_WINDOWS) { + const t = c.extname(e).toUpperCase(); + if (r.some((e) => e.toUpperCase() === t)) { + return e; + } + } else { + if (isUnixExecutable(s)) { + return e; + } + } + } + const o = e; + for (const n of r) { + e = o + n; + s = undefined; + try { + s = yield t.stat(e); + } catch (t) { + if (t.code !== "ENOENT") { + console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`); + } + } + if (s && s.isFile()) { + if (t.IS_WINDOWS) { + try { + const r = c.dirname(e); + const s = c.basename(e).toUpperCase(); + for (const o of yield t.readdir(r)) { + if (s === o.toUpperCase()) { + e = c.join(r, o); + break; + } + } + } catch (t) { + console.log(`Unexpected error attempting to determine the actual case of the file '${e}': ${t}`); + } + return e; + } else { + if (isUnixExecutable(s)) { + return e; + } + } + } + } + return ""; + }); + } + t.tryGetExecutablePath = tryGetExecutablePath; + function normalizeSeparators(e) { + e = e || ""; + if (t.IS_WINDOWS) { + e = e.replace(/\//g, "\\"); + return e.replace(/\\\\+/g, "\\"); + } + return e.replace(/\/\/+/g, "/"); + } + function isUnixExecutable(e) { + return (e.mode & 1) > 0 || ((e.mode & 8) > 0 && e.gid === process.getgid()) || ((e.mode & 64) > 0 && e.uid === process.getuid()); + } + function getCmdPath() { + var e; + return (e = process.env["COMSPEC"]) !== null && e !== void 0 ? e : `cmd.exe`; + } + t.getCmdPath = getCmdPath; + }, + 4994: function (e, t, r) { + var s = + (this && this.__createBinding) || + (Object.create + ? function (e, t, r, s) { + if (s === undefined) s = r; + Object.defineProperty(e, s, { + enumerable: true, + get: function () { + return t[r]; + }, + }); + } + : function (e, t, r, s) { + if (s === undefined) s = r; + e[s] = t[r]; + }); + var o = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: true, value: t }); + } + : function (e, t) { + e["default"] = t; + }); + var n = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (e != null) for (var r in e) if (r !== "default" && Object.hasOwnProperty.call(e, r)) s(t, e, r); + o(t, e); + return t; + }; + var A = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.findInPath = t.which = t.mkdirP = t.rmRF = t.mv = t.cp = void 0; + const i = r(2613); + const a = n(r(6928)); + const c = n(r(5207)); + function cp(e, t, r = {}) { + return A(this, void 0, void 0, function* () { + const { force: s, recursive: o, copySourceDirectory: n } = readCopyOptions(r); + const A = (yield c.exists(t)) ? yield c.stat(t) : null; + if (A && A.isFile() && !s) { + return; + } + const i = A && A.isDirectory() && n ? a.join(t, a.basename(e)) : t; + if (!(yield c.exists(e))) { + throw new Error(`no such file or directory: ${e}`); + } + const u = yield c.stat(e); + if (u.isDirectory()) { + if (!o) { + throw new Error(`Failed to copy. ${e} is a directory, but tried to copy without recursive flag.`); + } else { + yield cpDirRecursive(e, i, 0, s); + } + } else { + if (a.relative(e, i) === "") { + throw new Error(`'${i}' and '${e}' are the same file`); + } + yield copyFile(e, i, s); + } + }); + } + t.cp = cp; + function mv(e, t, r = {}) { + return A(this, void 0, void 0, function* () { + if (yield c.exists(t)) { + let s = true; + if (yield c.isDirectory(t)) { + t = a.join(t, a.basename(e)); + s = yield c.exists(t); + } + if (s) { + if (r.force == null || r.force) { + yield rmRF(t); + } else { + throw new Error("Destination already exists"); + } + } + } + yield mkdirP(a.dirname(t)); + yield c.rename(e, t); + }); + } + t.mv = mv; + function rmRF(e) { + return A(this, void 0, void 0, function* () { + if (c.IS_WINDOWS) { + if (/[*"<>|]/.test(e)) { + throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); + } + } + try { + yield c.rm(e, { force: true, maxRetries: 3, recursive: true, retryDelay: 300 }); + } catch (e) { + throw new Error(`File was unable to be removed ${e}`); + } + }); + } + t.rmRF = rmRF; + function mkdirP(e) { + return A(this, void 0, void 0, function* () { + i.ok(e, "a path argument must be provided"); + yield c.mkdir(e, { recursive: true }); + }); + } + t.mkdirP = mkdirP; + function which(e, t) { + return A(this, void 0, void 0, function* () { + if (!e) { + throw new Error("parameter 'tool' is required"); + } + if (t) { + const t = yield which(e, false); + if (!t) { + if (c.IS_WINDOWS) { + throw new Error( + `Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.` + ); + } else { + throw new Error( + `Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.` + ); + } + } + return t; + } + const r = yield findInPath(e); + if (r && r.length > 0) { + return r[0]; + } + return ""; + }); + } + t.which = which; + function findInPath(e) { + return A(this, void 0, void 0, function* () { + if (!e) { + throw new Error("parameter 'tool' is required"); + } + const t = []; + if (c.IS_WINDOWS && process.env["PATHEXT"]) { + for (const e of process.env["PATHEXT"].split(a.delimiter)) { + if (e) { + t.push(e); + } + } + } + if (c.isRooted(e)) { + const r = yield c.tryGetExecutablePath(e, t); + if (r) { + return [r]; + } + return []; + } + if (e.includes(a.sep)) { + return []; + } + const r = []; + if (process.env.PATH) { + for (const e of process.env.PATH.split(a.delimiter)) { + if (e) { + r.push(e); + } + } + } + const s = []; + for (const o of r) { + const r = yield c.tryGetExecutablePath(a.join(o, e), t); + if (r) { + s.push(r); + } + } + return s; + }); + } + t.findInPath = findInPath; + function readCopyOptions(e) { + const t = e.force == null ? true : e.force; + const r = Boolean(e.recursive); + const s = e.copySourceDirectory == null ? true : Boolean(e.copySourceDirectory); + return { force: t, recursive: r, copySourceDirectory: s }; + } + function cpDirRecursive(e, t, r, s) { + return A(this, void 0, void 0, function* () { + if (r >= 255) return; + r++; + yield mkdirP(t); + const o = yield c.readdir(e); + for (const n of o) { + const o = `${e}/${n}`; + const A = `${t}/${n}`; + const i = yield c.lstat(o); + if (i.isDirectory()) { + yield cpDirRecursive(o, A, r, s); + } else { + yield copyFile(o, A, s); + } + } + yield c.chmod(t, (yield c.stat(e)).mode); + }); + } + function copyFile(e, t, r) { + return A(this, void 0, void 0, function* () { + if ((yield c.lstat(e)).isSymbolicLink()) { + try { + yield c.lstat(t); + yield c.unlink(t); + } catch (e) { + if (e.code === "EPERM") { + yield c.chmod(t, "0666"); + yield c.unlink(t); + } + } + const r = yield c.readlink(e); + yield c.symlink(r, t, c.IS_WINDOWS ? "junction" : null); + } else if (!(yield c.exists(t)) || r) { + yield c.copyFile(e, t); + } + }); + } + }, + 3251: function (e) { + (function (t, r) { + true ? (e.exports = r()) : 0; + })(this, function () { + "use strict"; + var e = + typeof globalThis !== "undefined" + ? globalThis + : typeof window !== "undefined" + ? window + : typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : {}; + function getCjsExportFromNamespace(e) { + return (e && e["default"]) || e; + } + var load = function (e, t, r = {}) { + var s, o, n; + for (s in t) { + n = t[s]; + r[s] = (o = e[s]) != null ? o : n; + } + return r; + }; + var overwrite = function (e, t, r = {}) { + var s, o; + for (s in e) { + o = e[s]; + if (t[s] !== void 0) { + r[s] = o; + } + } + return r; + }; + var t = { load: load, overwrite: overwrite }; + var r; + r = class DLList { + constructor(e, t) { + this.incr = e; + this.decr = t; + this._first = null; + this._last = null; + this.length = 0; + } + push(e) { + var t; + this.length++; + if (typeof this.incr === "function") { + this.incr(); + } + t = { value: e, prev: this._last, next: null }; + if (this._last != null) { + this._last.next = t; + this._last = t; + } else { + this._first = this._last = t; + } + return void 0; + } + shift() { + var e; + if (this._first == null) { + return; + } else { + this.length--; + if (typeof this.decr === "function") { + this.decr(); + } + } + e = this._first.value; + if ((this._first = this._first.next) != null) { + this._first.prev = null; + } else { + this._last = null; + } + return e; + } + first() { + if (this._first != null) { + return this._first.value; + } + } + getArray() { + var e, t, r; + e = this._first; + r = []; + while (e != null) { + r.push(((t = e), (e = e.next), t.value)); + } + return r; + } + forEachShift(e) { + var t; + t = this.shift(); + while (t != null) { + e(t), (t = this.shift()); + } + return void 0; + } + debug() { + var e, t, r, s, o; + e = this._first; + o = []; + while (e != null) { + o.push(((t = e), (e = e.next), { value: t.value, prev: (r = t.prev) != null ? r.value : void 0, next: (s = t.next) != null ? s.value : void 0 })); + } + return o; + } + }; + var s = r; + var o; + o = class Events { + constructor(e) { + this.instance = e; + this._events = {}; + if (this.instance.on != null || this.instance.once != null || this.instance.removeAllListeners != null) { + throw new Error("An Emitter already exists for this object"); + } + this.instance.on = (e, t) => this._addListener(e, "many", t); + this.instance.once = (e, t) => this._addListener(e, "once", t); + this.instance.removeAllListeners = (e = null) => { + if (e != null) { + return delete this._events[e]; + } else { + return (this._events = {}); + } + }; + } + _addListener(e, t, r) { + var s; + if ((s = this._events)[e] == null) { + s[e] = []; + } + this._events[e].push({ cb: r, status: t }); + return this.instance; + } + listenerCount(e) { + if (this._events[e] != null) { + return this._events[e].length; + } else { + return 0; + } + } + async trigger(e, ...t) { + var r, s; + try { + if (e !== "debug") { + this.trigger("debug", `Event triggered: ${e}`, t); + } + if (this._events[e] == null) { + return; + } + this._events[e] = this._events[e].filter(function (e) { + return e.status !== "none"; + }); + s = this._events[e].map(async (e) => { + var r, s; + if (e.status === "none") { + return; + } + if (e.status === "once") { + e.status = "none"; + } + try { + s = typeof e.cb === "function" ? e.cb(...t) : void 0; + if (typeof (s != null ? s.then : void 0) === "function") { + return await s; + } else { + return s; + } + } catch (e) { + r = e; + { + this.trigger("error", r); + } + return null; + } + }); + return (await Promise.all(s)).find(function (e) { + return e != null; + }); + } catch (e) { + r = e; + { + this.trigger("error", r); + } + return null; + } + } + }; + var n = o; + var A, i, a; + A = s; + i = n; + a = class Queues { + constructor(e) { + var t; + this.Events = new i(this); + this._length = 0; + this._lists = function () { + var r, s, o; + o = []; + for (t = r = 1, s = e; 1 <= s ? r <= s : r >= s; t = 1 <= s ? ++r : --r) { + o.push( + new A( + () => this.incr(), + () => this.decr() + ) + ); + } + return o; + }.call(this); + } + incr() { + if (this._length++ === 0) { + return this.Events.trigger("leftzero"); + } + } + decr() { + if (--this._length === 0) { + return this.Events.trigger("zero"); + } + } + push(e) { + return this._lists[e.options.priority].push(e); + } + queued(e) { + if (e != null) { + return this._lists[e].length; + } else { + return this._length; + } + } + shiftAll(e) { + return this._lists.forEach(function (t) { + return t.forEachShift(e); + }); + } + getFirst(e = this._lists) { + var t, r, s; + for (t = 0, r = e.length; t < r; t++) { + s = e[t]; + if (s.length > 0) { + return s; + } + } + return []; + } + shiftLastFrom(e) { + return this.getFirst(this._lists.slice(e).reverse()).shift(); + } + }; + var c = a; + var u; + u = class BottleneckError extends Error {}; + var l = u; + var g, p, d, E, h; + E = 10; + p = 5; + h = t; + g = l; + d = class Job { + constructor(e, t, r, s, o, n, A, i) { + this.task = e; + this.args = t; + this.rejectOnDrop = o; + this.Events = n; + this._states = A; + this.Promise = i; + this.options = h.load(r, s); + this.options.priority = this._sanitizePriority(this.options.priority); + if (this.options.id === s.id) { + this.options.id = `${this.options.id}-${this._randomIndex()}`; + } + this.promise = new this.Promise((e, t) => { + this._resolve = e; + this._reject = t; + }); + this.retryCount = 0; + } + _sanitizePriority(e) { + var t; + t = ~~e !== e ? p : e; + if (t < 0) { + return 0; + } else if (t > E - 1) { + return E - 1; + } else { + return t; + } + } + _randomIndex() { + return Math.random().toString(36).slice(2); + } + doDrop({ error: e, message: t = "This job has been dropped by Bottleneck" } = {}) { + if (this._states.remove(this.options.id)) { + if (this.rejectOnDrop) { + this._reject(e != null ? e : new g(t)); + } + this.Events.trigger("dropped", { args: this.args, options: this.options, task: this.task, promise: this.promise }); + return true; + } else { + return false; + } + } + _assertStatus(e) { + var t; + t = this._states.jobStatus(this.options.id); + if (!(t === e || (e === "DONE" && t === null))) { + throw new g(`Invalid job status ${t}, expected ${e}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`); + } + } + doReceive() { + this._states.start(this.options.id); + return this.Events.trigger("received", { args: this.args, options: this.options }); + } + doQueue(e, t) { + this._assertStatus("RECEIVED"); + this._states.next(this.options.id); + return this.Events.trigger("queued", { args: this.args, options: this.options, reachedHWM: e, blocked: t }); + } + doRun() { + if (this.retryCount === 0) { + this._assertStatus("QUEUED"); + this._states.next(this.options.id); + } else { + this._assertStatus("EXECUTING"); + } + return this.Events.trigger("scheduled", { args: this.args, options: this.options }); + } + async doExecute(e, t, r, s) { + var o, n, A; + if (this.retryCount === 0) { + this._assertStatus("RUNNING"); + this._states.next(this.options.id); + } else { + this._assertStatus("EXECUTING"); + } + n = { args: this.args, options: this.options, retryCount: this.retryCount }; + this.Events.trigger("executing", n); + try { + A = await (e != null ? e.schedule(this.options, this.task, ...this.args) : this.task(...this.args)); + if (t()) { + this.doDone(n); + await s(this.options, n); + this._assertStatus("DONE"); + return this._resolve(A); + } + } catch (e) { + o = e; + return this._onFailure(o, n, t, r, s); + } + } + doExpire(e, t, r) { + var s, o; + if (this._states.jobStatus(this.options.id === "RUNNING")) { + this._states.next(this.options.id); + } + this._assertStatus("EXECUTING"); + o = { args: this.args, options: this.options, retryCount: this.retryCount }; + s = new g(`This job timed out after ${this.options.expiration} ms.`); + return this._onFailure(s, o, e, t, r); + } + async _onFailure(e, t, r, s, o) { + var n, A; + if (r()) { + n = await this.Events.trigger("failed", e, t); + if (n != null) { + A = ~~n; + this.Events.trigger("retry", `Retrying ${this.options.id} after ${A} ms`, t); + this.retryCount++; + return s(A); + } else { + this.doDone(t); + await o(this.options, t); + this._assertStatus("DONE"); + return this._reject(e); + } + } + } + doDone(e) { + this._assertStatus("EXECUTING"); + this._states.next(this.options.id); + return this.Events.trigger("done", e); + } + }; + var I = d; + var C, m, Q; + Q = t; + C = l; + m = class LocalDatastore { + constructor(e, t, r) { + this.instance = e; + this.storeOptions = t; + this.clientId = this.instance._randomIndex(); + Q.load(r, r, this); + this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now(); + this._running = 0; + this._done = 0; + this._unblockTime = 0; + this.ready = this.Promise.resolve(); + this.clients = {}; + this._startHeartbeat(); + } + _startHeartbeat() { + var e; + if ( + this.heartbeat == null && + ((this.storeOptions.reservoirRefreshInterval != null && this.storeOptions.reservoirRefreshAmount != null) || + (this.storeOptions.reservoirIncreaseInterval != null && this.storeOptions.reservoirIncreaseAmount != null)) + ) { + return typeof (e = this.heartbeat = + setInterval(() => { + var e, t, r, s, o; + s = Date.now(); + if (this.storeOptions.reservoirRefreshInterval != null && s >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) { + this._lastReservoirRefresh = s; + this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount; + this.instance._drainAll(this.computeCapacity()); + } + if (this.storeOptions.reservoirIncreaseInterval != null && s >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) { + ({ reservoirIncreaseAmount: e, reservoirIncreaseMaximum: r, reservoir: o } = this.storeOptions); + this._lastReservoirIncrease = s; + t = r != null ? Math.min(e, r - o) : e; + if (t > 0) { + this.storeOptions.reservoir += t; + return this.instance._drainAll(this.computeCapacity()); + } + } + }, this.heartbeatInterval)).unref === "function" + ? e.unref() + : void 0; + } else { + return clearInterval(this.heartbeat); + } + } + async __publish__(e) { + await this.yieldLoop(); + return this.instance.Events.trigger("message", e.toString()); + } + async __disconnect__(e) { + await this.yieldLoop(); + clearInterval(this.heartbeat); + return this.Promise.resolve(); + } + yieldLoop(e = 0) { + return new this.Promise(function (t, r) { + return setTimeout(t, e); + }); + } + computePenalty() { + var e; + return (e = this.storeOptions.penalty) != null ? e : 15 * this.storeOptions.minTime || 5e3; + } + async __updateSettings__(e) { + await this.yieldLoop(); + Q.overwrite(e, e, this.storeOptions); + this._startHeartbeat(); + this.instance._drainAll(this.computeCapacity()); + return true; + } + async __running__() { + await this.yieldLoop(); + return this._running; + } + async __queued__() { + await this.yieldLoop(); + return this.instance.queued(); + } + async __done__() { + await this.yieldLoop(); + return this._done; + } + async __groupCheck__(e) { + await this.yieldLoop(); + return this._nextRequest + this.timeout < e; + } + computeCapacity() { + var e, t; + ({ maxConcurrent: e, reservoir: t } = this.storeOptions); + if (e != null && t != null) { + return Math.min(e - this._running, t); + } else if (e != null) { + return e - this._running; + } else if (t != null) { + return t; + } else { + return null; + } + } + conditionsCheck(e) { + var t; + t = this.computeCapacity(); + return t == null || e <= t; + } + async __incrementReservoir__(e) { + var t; + await this.yieldLoop(); + t = this.storeOptions.reservoir += e; + this.instance._drainAll(this.computeCapacity()); + return t; + } + async __currentReservoir__() { + await this.yieldLoop(); + return this.storeOptions.reservoir; + } + isBlocked(e) { + return this._unblockTime >= e; + } + check(e, t) { + return this.conditionsCheck(e) && this._nextRequest - t <= 0; + } + async __check__(e) { + var t; + await this.yieldLoop(); + t = Date.now(); + return this.check(e, t); + } + async __register__(e, t, r) { + var s, o; + await this.yieldLoop(); + s = Date.now(); + if (this.conditionsCheck(t)) { + this._running += t; + if (this.storeOptions.reservoir != null) { + this.storeOptions.reservoir -= t; + } + o = Math.max(this._nextRequest - s, 0); + this._nextRequest = s + o + this.storeOptions.minTime; + return { success: true, wait: o, reservoir: this.storeOptions.reservoir }; + } else { + return { success: false }; + } + } + strategyIsBlock() { + return this.storeOptions.strategy === 3; + } + async __submit__(e, t) { + var r, s, o; + await this.yieldLoop(); + if (this.storeOptions.maxConcurrent != null && t > this.storeOptions.maxConcurrent) { + throw new C(`Impossible to add a job having a weight of ${t} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`); + } + s = Date.now(); + o = this.storeOptions.highWater != null && e === this.storeOptions.highWater && !this.check(t, s); + r = this.strategyIsBlock() && (o || this.isBlocked(s)); + if (r) { + this._unblockTime = s + this.computePenalty(); + this._nextRequest = this._unblockTime + this.storeOptions.minTime; + this.instance._dropAllQueued(); + } + return { reachedHWM: o, blocked: r, strategy: this.storeOptions.strategy }; + } + async __free__(e, t) { + await this.yieldLoop(); + this._running -= t; + this._done += t; + this.instance._drainAll(this.computeCapacity()); + return { running: this._running }; + } + }; + var B = m; + var y, b; + y = l; + b = class States { + constructor(e) { + this.status = e; + this._jobs = {}; + this.counts = this.status.map(function () { + return 0; + }); + } + next(e) { + var t, r; + t = this._jobs[e]; + r = t + 1; + if (t != null && r < this.status.length) { + this.counts[t]--; + this.counts[r]++; + return this._jobs[e]++; + } else if (t != null) { + this.counts[t]--; + return delete this._jobs[e]; + } + } + start(e) { + var t; + t = 0; + this._jobs[e] = t; + return this.counts[t]++; + } + remove(e) { + var t; + t = this._jobs[e]; + if (t != null) { + this.counts[t]--; + delete this._jobs[e]; + } + return t != null; + } + jobStatus(e) { + var t; + return (t = this.status[this._jobs[e]]) != null ? t : null; + } + statusJobs(e) { + var t, r, s, o, n; + if (e != null) { + r = this.status.indexOf(e); + if (r < 0) { + throw new y(`status must be one of ${this.status.join(", ")}`); + } + s = this._jobs; + o = []; + for (t in s) { + n = s[t]; + if (n === r) { + o.push(t); + } + } + return o; + } else { + return Object.keys(this._jobs); + } + } + statusCounts() { + return this.counts.reduce((e, t, r) => { + e[this.status[r]] = t; + return e; + }, {}); + } + }; + var w = b; + var R, T; + R = s; + T = class Sync { + constructor(e, t) { + this.schedule = this.schedule.bind(this); + this.name = e; + this.Promise = t; + this._running = 0; + this._queue = new R(); + } + isEmpty() { + return this._queue.length === 0; + } + async _tryToRun() { + var e, t, r, s, o, n, A; + if (this._running < 1 && this._queue.length > 0) { + this._running++; + ({ task: A, args: e, resolve: o, reject: s } = this._queue.shift()); + t = await (async function () { + try { + n = await A(...e); + return function () { + return o(n); + }; + } catch (e) { + r = e; + return function () { + return s(r); + }; + } + })(); + this._running--; + this._tryToRun(); + return t(); + } + } + schedule(e, ...t) { + var r, s, o; + o = s = null; + r = new this.Promise(function (e, t) { + o = e; + return (s = t); + }); + this._queue.push({ task: e, args: t, resolve: o, reject: s }); + this._tryToRun(); + return r; + } + }; + var k = T; + var D = "2.19.5"; + var _ = { version: D }; + var F = Object.freeze({ version: D, default: _ }); + var require$$2 = () => console.log("You must import the full version of Bottleneck in order to use this feature."); + var require$$3 = () => console.log("You must import the full version of Bottleneck in order to use this feature."); + var require$$4 = () => console.log("You must import the full version of Bottleneck in order to use this feature."); + var S, v, U, N, O, G; + G = t; + S = n; + N = require$$2; + U = require$$3; + O = require$$4; + v = function () { + class Group { + constructor(e = {}) { + this.deleteKey = this.deleteKey.bind(this); + this.limiterOptions = e; + G.load(this.limiterOptions, this.defaults, this); + this.Events = new S(this); + this.instances = {}; + this.Bottleneck = re; + this._startAutoCleanup(); + this.sharedConnection = this.connection != null; + if (this.connection == null) { + if (this.limiterOptions.datastore === "redis") { + this.connection = new N(Object.assign({}, this.limiterOptions, { Events: this.Events })); + } else if (this.limiterOptions.datastore === "ioredis") { + this.connection = new U(Object.assign({}, this.limiterOptions, { Events: this.Events })); + } + } + } + key(e = "") { + var t; + return (t = this.instances[e]) != null + ? t + : (() => { + var t; + t = this.instances[e] = new this.Bottleneck( + Object.assign(this.limiterOptions, { id: `${this.id}-${e}`, timeout: this.timeout, connection: this.connection }) + ); + this.Events.trigger("created", t, e); + return t; + })(); + } + async deleteKey(e = "") { + var t, r; + r = this.instances[e]; + if (this.connection) { + t = await this.connection.__runCommand__(["del", ...O.allKeys(`${this.id}-${e}`)]); + } + if (r != null) { + delete this.instances[e]; + await r.disconnect(); + } + return r != null || t > 0; + } + limiters() { + var e, t, r, s; + t = this.instances; + r = []; + for (e in t) { + s = t[e]; + r.push({ key: e, limiter: s }); + } + return r; + } + keys() { + return Object.keys(this.instances); + } + async clusterKeys() { + var e, t, r, s, o, n, A, i, a; + if (this.connection == null) { + return this.Promise.resolve(this.keys()); + } + n = []; + e = null; + a = `b_${this.id}-`.length; + t = "_settings".length; + while (e !== 0) { + [i, r] = await this.connection.__runCommand__(["scan", e != null ? e : 0, "match", `b_${this.id}-*_settings`, "count", 1e4]); + e = ~~i; + for (s = 0, A = r.length; s < A; s++) { + o = r[s]; + n.push(o.slice(a, -t)); + } + } + return n; + } + _startAutoCleanup() { + var e; + clearInterval(this.interval); + return typeof (e = this.interval = + setInterval(async () => { + var e, t, r, s, o, n; + o = Date.now(); + r = this.instances; + s = []; + for (t in r) { + n = r[t]; + try { + if (await n._store.__groupCheck__(o)) { + s.push(this.deleteKey(t)); + } else { + s.push(void 0); + } + } catch (t) { + e = t; + s.push(n.Events.trigger("error", e)); + } + } + return s; + }, this.timeout / 2)).unref === "function" + ? e.unref() + : void 0; + } + updateSettings(e = {}) { + G.overwrite(e, this.defaults, this); + G.overwrite(e, e, this.limiterOptions); + if (e.timeout != null) { + return this._startAutoCleanup(); + } + } + disconnect(e = true) { + var t; + if (!this.sharedConnection) { + return (t = this.connection) != null ? t.disconnect(e) : void 0; + } + } + } + Group.prototype.defaults = { timeout: 1e3 * 60 * 5, connection: null, Promise: Promise, id: "group-key" }; + return Group; + }.call(e); + var L = v; + var P, M, x; + x = t; + M = n; + P = function () { + class Batcher { + constructor(e = {}) { + this.options = e; + x.load(this.options, this.defaults, this); + this.Events = new M(this); + this._arr = []; + this._resetPromise(); + this._lastFlush = Date.now(); + } + _resetPromise() { + return (this._promise = new this.Promise((e, t) => (this._resolve = e))); + } + _flush() { + clearTimeout(this._timeout); + this._lastFlush = Date.now(); + this._resolve(); + this.Events.trigger("batch", this._arr); + this._arr = []; + return this._resetPromise(); + } + add(e) { + var t; + this._arr.push(e); + t = this._promise; + if (this._arr.length === this.maxSize) { + this._flush(); + } else if (this.maxTime != null && this._arr.length === 1) { + this._timeout = setTimeout(() => this._flush(), this.maxTime); + } + return t; + } + } + Batcher.prototype.defaults = { maxTime: null, maxSize: null, Promise: Promise }; + return Batcher; + }.call(e); + var H = P; + var require$$4$1 = () => console.log("You must import the full version of Bottleneck in order to use this feature."); + var V = getCjsExportFromNamespace(F); + var Y, + J, + q, + j, + W, + K, + z, + Z, + X, + $, + ee, + te = [].splice; + K = 10; + J = 5; + ee = t; + z = c; + j = I; + W = B; + Z = require$$4$1; + q = n; + X = w; + $ = k; + Y = function () { + class Bottleneck { + constructor(e = {}, ...t) { + var r, s; + this._addToQueue = this._addToQueue.bind(this); + this._validateOptions(e, t); + ee.load(e, this.instanceDefaults, this); + this._queues = new z(K); + this._scheduled = {}; + this._states = new X(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : [])); + this._limiter = null; + this.Events = new q(this); + this._submitLock = new $("submit", this.Promise); + this._registerLock = new $("register", this.Promise); + s = ee.load(e, this.storeDefaults, {}); + this._store = function () { + if (this.datastore === "redis" || this.datastore === "ioredis" || this.connection != null) { + r = ee.load(e, this.redisStoreDefaults, {}); + return new Z(this, s, r); + } else if (this.datastore === "local") { + r = ee.load(e, this.localStoreDefaults, {}); + return new W(this, s, r); + } else { + throw new Bottleneck.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`); + } + }.call(this); + this._queues.on("leftzero", () => { + var e; + return (e = this._store.heartbeat) != null ? (typeof e.ref === "function" ? e.ref() : void 0) : void 0; + }); + this._queues.on("zero", () => { + var e; + return (e = this._store.heartbeat) != null ? (typeof e.unref === "function" ? e.unref() : void 0) : void 0; + }); + } + _validateOptions(e, t) { + if (!(e != null && typeof e === "object" && t.length === 0)) { + throw new Bottleneck.prototype.BottleneckError( + "Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1." + ); + } + } + ready() { + return this._store.ready; + } + clients() { + return this._store.clients; + } + channel() { + return `b_${this.id}`; + } + channel_client() { + return `b_${this.id}_${this._store.clientId}`; + } + publish(e) { + return this._store.__publish__(e); + } + disconnect(e = true) { + return this._store.__disconnect__(e); + } + chain(e) { + this._limiter = e; + return this; + } + queued(e) { + return this._queues.queued(e); + } + clusterQueued() { + return this._store.__queued__(); + } + empty() { + return this.queued() === 0 && this._submitLock.isEmpty(); + } + running() { + return this._store.__running__(); + } + done() { + return this._store.__done__(); + } + jobStatus(e) { + return this._states.jobStatus(e); + } + jobs(e) { + return this._states.statusJobs(e); + } + counts() { + return this._states.statusCounts(); + } + _randomIndex() { + return Math.random().toString(36).slice(2); + } + check(e = 1) { + return this._store.__check__(e); + } + _clearGlobalState(e) { + if (this._scheduled[e] != null) { + clearTimeout(this._scheduled[e].expiration); + delete this._scheduled[e]; + return true; + } else { + return false; + } + } + async _free(e, t, r, s) { + var o, n; + try { + ({ running: n } = await this._store.__free__(e, r.weight)); + this.Events.trigger("debug", `Freed ${r.id}`, s); + if (n === 0 && this.empty()) { + return this.Events.trigger("idle"); + } + } catch (e) { + o = e; + return this.Events.trigger("error", o); + } + } + _run(e, t, r) { + var s, o, n; + t.doRun(); + s = this._clearGlobalState.bind(this, e); + n = this._run.bind(this, e, t); + o = this._free.bind(this, e, t); + return (this._scheduled[e] = { + timeout: setTimeout(() => t.doExecute(this._limiter, s, n, o), r), + expiration: + t.options.expiration != null + ? setTimeout(function () { + return t.doExpire(s, n, o); + }, r + t.options.expiration) + : void 0, + job: t, + }); + } + _drainOne(e) { + return this._registerLock.schedule(() => { + var t, r, s, o, n; + if (this.queued() === 0) { + return this.Promise.resolve(null); + } + n = this._queues.getFirst(); + ({ options: o, args: t } = s = n.first()); + if (e != null && o.weight > e) { + return this.Promise.resolve(null); + } + this.Events.trigger("debug", `Draining ${o.id}`, { args: t, options: o }); + r = this._randomIndex(); + return this._store.__register__(r, o.weight, o.expiration).then(({ success: e, wait: A, reservoir: i }) => { + var a; + this.Events.trigger("debug", `Drained ${o.id}`, { success: e, args: t, options: o }); + if (e) { + n.shift(); + a = this.empty(); + if (a) { + this.Events.trigger("empty"); + } + if (i === 0) { + this.Events.trigger("depleted", a); + } + this._run(r, s, A); + return this.Promise.resolve(o.weight); + } else { + return this.Promise.resolve(null); + } + }); + }); + } + _drainAll(e, t = 0) { + return this._drainOne(e) + .then((r) => { + var s; + if (r != null) { + s = e != null ? e - r : e; + return this._drainAll(s, t + r); + } else { + return this.Promise.resolve(t); + } + }) + .catch((e) => this.Events.trigger("error", e)); + } + _dropAllQueued(e) { + return this._queues.shiftAll(function (t) { + return t.doDrop({ message: e }); + }); + } + stop(e = {}) { + var t, r; + e = ee.load(e, this.stopDefaults); + r = (e) => { + var t; + t = () => { + var t; + t = this._states.counts; + return t[0] + t[1] + t[2] + t[3] === e; + }; + return new this.Promise((e, r) => { + if (t()) { + return e(); + } else { + return this.on("done", () => { + if (t()) { + this.removeAllListeners("done"); + return e(); + } + }); + } + }); + }; + t = e.dropWaitingJobs + ? ((this._run = function (t, r) { + return r.doDrop({ message: e.dropErrorMessage }); + }), + (this._drainOne = () => this.Promise.resolve(null)), + this._registerLock.schedule(() => + this._submitLock.schedule(() => { + var t, s, o; + s = this._scheduled; + for (t in s) { + o = s[t]; + if (this.jobStatus(o.job.options.id) === "RUNNING") { + clearTimeout(o.timeout); + clearTimeout(o.expiration); + o.job.doDrop({ message: e.dropErrorMessage }); + } + } + this._dropAllQueued(e.dropErrorMessage); + return r(0); + }) + )) + : this.schedule({ priority: K - 1, weight: 0 }, () => r(1)); + this._receive = function (t) { + return t._reject(new Bottleneck.prototype.BottleneckError(e.enqueueErrorMessage)); + }; + this.stop = () => this.Promise.reject(new Bottleneck.prototype.BottleneckError("stop() has already been called")); + return t; + } + async _addToQueue(e) { + var t, r, s, o, n, A, i; + ({ args: t, options: o } = e); + try { + ({ reachedHWM: n, blocked: r, strategy: i } = await this._store.__submit__(this.queued(), o.weight)); + } catch (r) { + s = r; + this.Events.trigger("debug", `Could not queue ${o.id}`, { args: t, options: o, error: s }); + e.doDrop({ error: s }); + return false; + } + if (r) { + e.doDrop(); + return true; + } else if (n) { + A = + i === Bottleneck.prototype.strategy.LEAK + ? this._queues.shiftLastFrom(o.priority) + : i === Bottleneck.prototype.strategy.OVERFLOW_PRIORITY + ? this._queues.shiftLastFrom(o.priority + 1) + : i === Bottleneck.prototype.strategy.OVERFLOW + ? e + : void 0; + if (A != null) { + A.doDrop(); + } + if (A == null || i === Bottleneck.prototype.strategy.OVERFLOW) { + if (A == null) { + e.doDrop(); + } + return n; + } + } + e.doQueue(n, r); + this._queues.push(e); + await this._drainAll(); + return n; + } + _receive(e) { + if (this._states.jobStatus(e.options.id) != null) { + e._reject(new Bottleneck.prototype.BottleneckError(`A job with the same id already exists (id=${e.options.id})`)); + return false; + } else { + e.doReceive(); + return this._submitLock.schedule(this._addToQueue, e); + } + } + submit(...e) { + var t, r, s, o, n, A, i; + if (typeof e[0] === "function") { + (n = e), ([r, ...e] = n), ([t] = te.call(e, -1)); + o = ee.load({}, this.jobDefaults); + } else { + (A = e), ([o, r, ...e] = A), ([t] = te.call(e, -1)); + o = ee.load(o, this.jobDefaults); + } + i = (...e) => + new this.Promise(function (t, s) { + return r(...e, function (...e) { + return (e[0] != null ? s : t)(e); + }); + }); + s = new j(i, e, o, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise); + s.promise + .then(function (e) { + return typeof t === "function" ? t(...e) : void 0; + }) + .catch(function (e) { + if (Array.isArray(e)) { + return typeof t === "function" ? t(...e) : void 0; + } else { + return typeof t === "function" ? t(e) : void 0; + } + }); + return this._receive(s); + } + schedule(...e) { + var t, r, s; + if (typeof e[0] === "function") { + [s, ...e] = e; + r = {}; + } else { + [r, s, ...e] = e; + } + t = new j(s, e, r, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise); + this._receive(t); + return t.promise; + } + wrap(e) { + var t, r; + t = this.schedule.bind(this); + r = function (...r) { + return t(e.bind(this), ...r); + }; + r.withOptions = function (r, ...s) { + return t(r, e, ...s); + }; + return r; + } + async updateSettings(e = {}) { + await this._store.__updateSettings__(ee.overwrite(e, this.storeDefaults)); + ee.overwrite(e, this.instanceDefaults, this); + return this; + } + currentReservoir() { + return this._store.__currentReservoir__(); + } + incrementReservoir(e = 0) { + return this._store.__incrementReservoir__(e); + } + } + Bottleneck.default = Bottleneck; + Bottleneck.Events = q; + Bottleneck.version = Bottleneck.prototype.version = V.version; + Bottleneck.strategy = Bottleneck.prototype.strategy = { LEAK: 1, OVERFLOW: 2, OVERFLOW_PRIORITY: 4, BLOCK: 3 }; + Bottleneck.BottleneckError = Bottleneck.prototype.BottleneckError = l; + Bottleneck.Group = Bottleneck.prototype.Group = L; + Bottleneck.RedisConnection = Bottleneck.prototype.RedisConnection = require$$2; + Bottleneck.IORedisConnection = Bottleneck.prototype.IORedisConnection = require$$3; + Bottleneck.Batcher = Bottleneck.prototype.Batcher = H; + Bottleneck.prototype.jobDefaults = { priority: J, weight: 1, expiration: null, id: "" }; + Bottleneck.prototype.storeDefaults = { + maxConcurrent: null, + minTime: 0, + highWater: null, + strategy: Bottleneck.prototype.strategy.LEAK, + penalty: null, + reservoir: null, + reservoirRefreshInterval: null, + reservoirRefreshAmount: null, + reservoirIncreaseInterval: null, + reservoirIncreaseAmount: null, + reservoirIncreaseMaximum: null, + }; + Bottleneck.prototype.localStoreDefaults = { Promise: Promise, timeout: null, heartbeatInterval: 250 }; + Bottleneck.prototype.redisStoreDefaults = { + Promise: Promise, + timeout: null, + heartbeatInterval: 5e3, + clientTimeout: 1e4, + Redis: null, + clientOptions: {}, + clusterNodes: null, + clearDatastore: false, + connection: null, + }; + Bottleneck.prototype.instanceDefaults = { + datastore: "local", + connection: null, + id: "", + rejectOnDrop: true, + trackDoneStatus: false, + Promise: Promise, + }; + Bottleneck.prototype.stopDefaults = { + enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.", + dropWaitingJobs: true, + dropErrorMessage: "This limiter has been stopped.", + }; + return Bottleneck; + }.call(e); + var re = Y; + var se = re; + return se; + }); + }, + 4150: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + class Deprecation extends Error { + constructor(e) { + super(e); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "Deprecation"; + } + } + t.Deprecation = Deprecation; + }, + 2874: (e, t, r) => { + (function () { + r(8889).config(Object.assign({}, r(9990), r(4531)(process.argv))); + })(); + }, + 4531: (e) => { + const t = /^dotenv_config_(encoding|path|debug|override|DOTENV_KEY)=(.+)$/; + e.exports = function optionMatcher(e) { + return e.reduce(function (e, r) { + const s = r.match(t); + if (s) { + e[s[1]] = s[2]; + } + return e; + }, {}); + }; + }, + 9990: (e) => { + const t = {}; + if (process.env.DOTENV_CONFIG_ENCODING != null) { + t.encoding = process.env.DOTENV_CONFIG_ENCODING; + } + if (process.env.DOTENV_CONFIG_PATH != null) { + t.path = process.env.DOTENV_CONFIG_PATH; + } + if (process.env.DOTENV_CONFIG_DEBUG != null) { + t.debug = process.env.DOTENV_CONFIG_DEBUG; + } + if (process.env.DOTENV_CONFIG_OVERRIDE != null) { + t.override = process.env.DOTENV_CONFIG_OVERRIDE; + } + if (process.env.DOTENV_CONFIG_DOTENV_KEY != null) { + t.DOTENV_KEY = process.env.DOTENV_CONFIG_DOTENV_KEY; + } + e.exports = t; + }, + 8889: (e, t, r) => { + const s = r(9896); + const o = r(6928); + const n = r(857); + const A = r(6982); + const i = r(56); + const a = i.version; + const c = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm; + function parse(e) { + const t = {}; + let r = e.toString(); + r = r.replace(/\r\n?/gm, "\n"); + let s; + while ((s = c.exec(r)) != null) { + const e = s[1]; + let r = s[2] || ""; + r = r.trim(); + const o = r[0]; + r = r.replace(/^(['"`])([\s\S]*)\1$/gm, "$2"); + if (o === '"') { + r = r.replace(/\\n/g, "\n"); + r = r.replace(/\\r/g, "\r"); + } + t[e] = r; + } + return t; + } + function _parseVault(e) { + const t = _vaultPath(e); + const r = u.configDotenv({ path: t }); + if (!r.parsed) { + const e = new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`); + e.code = "MISSING_DATA"; + throw e; + } + const s = _dotenvKey(e).split(","); + const o = s.length; + let n; + for (let e = 0; e < o; e++) { + try { + const t = s[e].trim(); + const o = _instructions(r, t); + n = u.decrypt(o.ciphertext, o.key); + break; + } catch (t) { + if (e + 1 >= o) { + throw t; + } + } + } + return u.parse(n); + } + function _log(e) { + console.log(`[dotenv@${a}][INFO] ${e}`); + } + function _warn(e) { + console.log(`[dotenv@${a}][WARN] ${e}`); + } + function _debug(e) { + console.log(`[dotenv@${a}][DEBUG] ${e}`); + } + function _dotenvKey(e) { + if (e && e.DOTENV_KEY && e.DOTENV_KEY.length > 0) { + return e.DOTENV_KEY; + } + if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) { + return process.env.DOTENV_KEY; + } + return ""; + } + function _instructions(e, t) { + let r; + try { + r = new URL(t); + } catch (e) { + if (e.code === "ERR_INVALID_URL") { + const e = new Error( + "INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development" + ); + e.code = "INVALID_DOTENV_KEY"; + throw e; + } + throw e; + } + const s = r.password; + if (!s) { + const e = new Error("INVALID_DOTENV_KEY: Missing key part"); + e.code = "INVALID_DOTENV_KEY"; + throw e; + } + const o = r.searchParams.get("environment"); + if (!o) { + const e = new Error("INVALID_DOTENV_KEY: Missing environment part"); + e.code = "INVALID_DOTENV_KEY"; + throw e; + } + const n = `DOTENV_VAULT_${o.toUpperCase()}`; + const A = e.parsed[n]; + if (!A) { + const e = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`); + e.code = "NOT_FOUND_DOTENV_ENVIRONMENT"; + throw e; + } + return { ciphertext: A, key: s }; + } + function _vaultPath(e) { + let t = null; + if (e && e.path && e.path.length > 0) { + if (Array.isArray(e.path)) { + for (const r of e.path) { + if (s.existsSync(r)) { + t = r.endsWith(".vault") ? r : `${r}.vault`; + } + } + } else { + t = e.path.endsWith(".vault") ? e.path : `${e.path}.vault`; + } + } else { + t = o.resolve(process.cwd(), ".env.vault"); + } + if (s.existsSync(t)) { + return t; + } + return null; + } + function _resolveHome(e) { + return e[0] === "~" ? o.join(n.homedir(), e.slice(1)) : e; + } + function _configVault(e) { + _log("Loading env from encrypted .env.vault"); + const t = u._parseVault(e); + let r = process.env; + if (e && e.processEnv != null) { + r = e.processEnv; + } + u.populate(r, t, e); + return { parsed: t }; + } + function configDotenv(e) { + const t = o.resolve(process.cwd(), ".env"); + let r = "utf8"; + const n = Boolean(e && e.debug); + if (e && e.encoding) { + r = e.encoding; + } else { + if (n) { + _debug("No encoding is specified. UTF-8 is used by default"); + } + } + let A = [t]; + if (e && e.path) { + if (!Array.isArray(e.path)) { + A = [_resolveHome(e.path)]; + } else { + A = []; + for (const t of e.path) { + A.push(_resolveHome(t)); + } + } + } + let i; + const a = {}; + for (const t of A) { + try { + const o = u.parse(s.readFileSync(t, { encoding: r })); + u.populate(a, o, e); + } catch (e) { + if (n) { + _debug(`Failed to load ${t} ${e.message}`); + } + i = e; + } + } + let c = process.env; + if (e && e.processEnv != null) { + c = e.processEnv; + } + u.populate(c, a, e); + if (i) { + return { parsed: a, error: i }; + } else { + return { parsed: a }; + } + } + function config(e) { + if (_dotenvKey(e).length === 0) { + return u.configDotenv(e); + } + const t = _vaultPath(e); + if (!t) { + _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`); + return u.configDotenv(e); + } + return u._configVault(e); + } + function decrypt(e, t) { + const r = Buffer.from(t.slice(-64), "hex"); + let s = Buffer.from(e, "base64"); + const o = s.subarray(0, 12); + const n = s.subarray(-16); + s = s.subarray(12, -16); + try { + const e = A.createDecipheriv("aes-256-gcm", r, o); + e.setAuthTag(n); + return `${e.update(s)}${e.final()}`; + } catch (e) { + const t = e instanceof RangeError; + const r = e.message === "Invalid key length"; + const s = e.message === "Unsupported state or unable to authenticate data"; + if (t || r) { + const e = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)"); + e.code = "INVALID_DOTENV_KEY"; + throw e; + } else if (s) { + const e = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY"); + e.code = "DECRYPTION_FAILED"; + throw e; + } else { + throw e; + } + } + } + function populate(e, t, r = {}) { + const s = Boolean(r && r.debug); + const o = Boolean(r && r.override); + if (typeof t !== "object") { + const e = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate"); + e.code = "OBJECT_REQUIRED"; + throw e; + } + for (const r of Object.keys(t)) { + if (Object.prototype.hasOwnProperty.call(e, r)) { + if (o === true) { + e[r] = t[r]; + } + if (s) { + if (o === true) { + _debug(`"${r}" is already defined and WAS overwritten`); + } else { + _debug(`"${r}" is already defined and was NOT overwritten`); + } + } + } else { + e[r] = t[r]; + } + } + } + const u = { + configDotenv: configDotenv, + _configVault: _configVault, + _parseVault: _parseVault, + config: config, + decrypt: decrypt, + parse: parse, + populate: populate, + }; + e.exports.configDotenv = u.configDotenv; + e.exports._configVault = u._configVault; + e.exports._parseVault = u._parseVault; + e.exports.config = u.config; + e.exports.decrypt = u.decrypt; + e.exports.parse = u.parse; + e.exports.populate = u.populate; + e.exports = u; + }, + 744: (e) => { + var t = 1e3; + var r = t * 60; + var s = r * 60; + var o = s * 24; + var n = o * 7; + var A = o * 365.25; + e.exports = function (e, t) { + t = t || {}; + var r = typeof e; + if (r === "string" && e.length > 0) { + return parse(e); + } else if (r === "number" && isFinite(e)) { + return t.long ? fmtLong(e) : fmtShort(e); + } + throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(e)); + }; + function parse(e) { + e = String(e); + if (e.length > 100) { + return; + } + var i = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e); + if (!i) { + return; + } + var a = parseFloat(i[1]); + var c = (i[2] || "ms").toLowerCase(); + switch (c) { + case "years": + case "year": + case "yrs": + case "yr": + case "y": + return a * A; + case "weeks": + case "week": + case "w": + return a * n; + case "days": + case "day": + case "d": + return a * o; + case "hours": + case "hour": + case "hrs": + case "hr": + case "h": + return a * s; + case "minutes": + case "minute": + case "mins": + case "min": + case "m": + return a * r; + case "seconds": + case "second": + case "secs": + case "sec": + case "s": + return a * t; + case "milliseconds": + case "millisecond": + case "msecs": + case "msec": + case "ms": + return a; + default: + return undefined; + } + } + function fmtShort(e) { + var n = Math.abs(e); + if (n >= o) { + return Math.round(e / o) + "d"; + } + if (n >= s) { + return Math.round(e / s) + "h"; + } + if (n >= r) { + return Math.round(e / r) + "m"; + } + if (n >= t) { + return Math.round(e / t) + "s"; + } + return e + "ms"; + } + function fmtLong(e) { + var n = Math.abs(e); + if (n >= o) { + return plural(e, n, o, "day"); + } + if (n >= s) { + return plural(e, n, s, "hour"); + } + if (n >= r) { + return plural(e, n, r, "minute"); + } + if (n >= t) { + return plural(e, n, t, "second"); + } + return e + " ms"; + } + function plural(e, t, r, s) { + var o = t >= r * 1.5; + return Math.round(e / r) + " " + s + (o ? "s" : ""); + } + }, + 5560: (e, t, r) => { + var s = r(8264); + e.exports = s(once); + e.exports.strict = s(onceStrict); + once.proto = once(function () { + Object.defineProperty(Function.prototype, "once", { + value: function () { + return once(this); + }, + configurable: true, + }); + Object.defineProperty(Function.prototype, "onceStrict", { + value: function () { + return onceStrict(this); + }, + configurable: true, + }); + }); + function once(e) { + var f = function () { + if (f.called) return f.value; + f.called = true; + return (f.value = e.apply(this, arguments)); + }; + f.called = false; + return f; + } + function onceStrict(e) { + var f = function () { + if (f.called) throw new Error(f.onceError); + f.called = true; + return (f.value = e.apply(this, arguments)); + }; + var t = e.name || "Function wrapped with `once`"; + f.onceError = t + " shouldn't be called more than once"; + f.called = false; + return f; + } + }, + 4151: (e, t, r) => { + var s; + s = { value: true }; + s = s = s = s = s = s = s = s = s = s = s = s = s = s = s = s = s = s = s = t.tH = s = s = s = void 0; + var o = r(7154); + s = { + enumerable: true, + get: function () { + return o.getDefaultRetryOptions; + }, + }; + s = { + enumerable: true, + get: function () { + return o.isTooManyTries; + }, + }; + s = { + enumerable: true, + get: function () { + return o.retry; + }, + }; + Object.defineProperty(t, "tH", { + enumerable: true, + get: function () { + return o.retryAsync; + }, + }); + s = { + enumerable: true, + get: function () { + return o.retryUntilDefined; + }, + }; + s = { + enumerable: true, + get: function () { + return o.retryAsyncUntilDefined; + }, + }; + s = { + enumerable: true, + get: function () { + return o.retryAsyncUntilDefinedDecorator; + }, + }; + s = { + enumerable: true, + get: function () { + return o.retryAsyncUntilResponse; + }, + }; + s = { + enumerable: true, + get: function () { + return o.retryAsyncUntilResponseDecorator; + }, + }; + s = { + enumerable: true, + get: function () { + return o.retryAsyncUntilTruthy; + }, + }; + s = { + enumerable: true, + get: function () { + return o.retryAsyncUntilTruthyDecorator; + }, + }; + s = { + enumerable: true, + get: function () { + return o.retryUntilTruthy; + }, + }; + s = { + enumerable: true, + get: function () { + return o.retryUntilTruthyDecorator; + }, + }; + s = { + enumerable: true, + get: function () { + return o.setDefaultRetryOptions; + }, + }; + s = { + enumerable: true, + get: function () { + return o.createExponetialDelay; + }, + }; + s = { + enumerable: true, + get: function () { + return o.createMutiplicableDelay; + }, + }; + s = { + enumerable: true, + get: function () { + return o.createRandomDelay; + }, + }; + var n = r(1325); + s = { + enumerable: true, + get: function () { + return n.getDefaultDuration; + }, + }; + s = { + enumerable: true, + get: function () { + return n.isTimeoutError; + }, + }; + s = { + enumerable: true, + get: function () { + return n.setDefaultDuration; + }, + }; + s = { + enumerable: true, + get: function () { + return n.wait; + }, + }; + s = { + enumerable: true, + get: function () { + return n.waitUntil; + }, + }; + s = { + enumerable: true, + get: function () { + return n.waitUntilAsync; + }, + }; + }, + 699: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.assertDefined = t.asyncDecorator = void 0; + const asyncDecorator = (e) => () => + new Promise((t, r) => { + try { + t(e()); + } catch (e) { + r(e); + } + }); + t.asyncDecorator = asyncDecorator; + const assertDefined = (e, t) => { + if (e === undefined || e == null) { + throw new Error(t); + } + return true; + }; + t.assertDefined = assertDefined; + }, + 7154: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.createRandomDelay = + t.createMutiplicableDelay = + t.createExponetialDelay = + t.retryAsyncUntilResponseDecorator = + t.retryAsyncUntilResponse = + t.retryUntilTruthyDecorator = + t.retryUntilTruthy = + t.retryUntilDefinedDecorator = + t.retryUntilDefined = + t.retryAsyncUntilTruthyDecorator = + t.retryAsyncUntilTruthy = + t.retryAsyncUntilDefinedDecorator = + t.retryAsyncUntilDefined = + t.isTooManyTries = + t.retryAsync = + t.retry = + t.setDefaultRetryOptions = + t.getDefaultRetryOptions = + void 0; + var s = r(4364); + Object.defineProperty(t, "getDefaultRetryOptions", { + enumerable: true, + get: function () { + return s.getDefaultRetryOptions; + }, + }); + Object.defineProperty(t, "setDefaultRetryOptions", { + enumerable: true, + get: function () { + return s.setDefaultRetryOptions; + }, + }); + var o = r(3336); + Object.defineProperty(t, "retry", { + enumerable: true, + get: function () { + return o.retry; + }, + }); + Object.defineProperty(t, "retryAsync", { + enumerable: true, + get: function () { + return o.retryAsync; + }, + }); + var n = r(5626); + Object.defineProperty(t, "isTooManyTries", { + enumerable: true, + get: function () { + return n.isTooManyTries; + }, + }); + var A = r(3132); + Object.defineProperty(t, "retryAsyncUntilDefined", { + enumerable: true, + get: function () { + return A.retryAsyncUntilDefined; + }, + }); + Object.defineProperty(t, "retryAsyncUntilDefinedDecorator", { + enumerable: true, + get: function () { + return A.retryAsyncUntilDefinedDecorator; + }, + }); + Object.defineProperty(t, "retryAsyncUntilTruthy", { + enumerable: true, + get: function () { + return A.retryAsyncUntilTruthy; + }, + }); + Object.defineProperty(t, "retryAsyncUntilTruthyDecorator", { + enumerable: true, + get: function () { + return A.retryAsyncUntilTruthyDecorator; + }, + }); + Object.defineProperty(t, "retryUntilDefined", { + enumerable: true, + get: function () { + return A.retryUntilDefined; + }, + }); + Object.defineProperty(t, "retryUntilDefinedDecorator", { + enumerable: true, + get: function () { + return A.retryUntilDefinedDecorator; + }, + }); + Object.defineProperty(t, "retryUntilTruthy", { + enumerable: true, + get: function () { + return A.retryUntilTruthy; + }, + }); + Object.defineProperty(t, "retryUntilTruthyDecorator", { + enumerable: true, + get: function () { + return A.retryUntilTruthyDecorator; + }, + }); + Object.defineProperty(t, "retryAsyncUntilResponse", { + enumerable: true, + get: function () { + return A.retryAsyncUntilResponse; + }, + }); + Object.defineProperty(t, "retryAsyncUntilResponseDecorator", { + enumerable: true, + get: function () { + return A.retryAsyncUntilResponseDecorator; + }, + }); + Object.defineProperty(t, "createExponetialDelay", { + enumerable: true, + get: function () { + return A.createExponetialDelay; + }, + }); + Object.defineProperty(t, "createMutiplicableDelay", { + enumerable: true, + get: function () { + return A.createMutiplicableDelay; + }, + }); + Object.defineProperty(t, "createRandomDelay", { + enumerable: true, + get: function () { + return A.createRandomDelay; + }, + }); + }, + 4364: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.getDefaultRetryOptions = t.setDefaultRetryOptions = t.defaultRetryOptions = t.defaultMaxTry = t.defaultDelay = void 0; + t.defaultDelay = 250; + t.defaultMaxTry = 4 * 60; + t.defaultRetryOptions = { delay: t.defaultDelay, maxTry: t.defaultMaxTry, until: null }; + function setDefaultRetryOptions(e) { + t.defaultRetryOptions = Object.assign(Object.assign({}, t.defaultRetryOptions), e); + return getDefaultRetryOptions(); + } + t.setDefaultRetryOptions = setDefaultRetryOptions; + function getDefaultRetryOptions() { + return Object.assign({}, t.defaultRetryOptions); + } + t.getDefaultRetryOptions = getDefaultRetryOptions; + }, + 5712: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.getRetryParameters = void 0; + const s = r(4364); + function getRetryParameters(e, t) { + const r = Object.assign(Object.assign({}, (0, s.getDefaultRetryOptions)()), t); + return Object.assign(Object.assign({}, r), { + currentTry: e, + maxTry: r.maxTry || s.defaultMaxTry, + delay: getDelay(r.delay), + until: r.until ? r.until : () => true, + }); + } + t.getRetryParameters = getRetryParameters; + function getDelay(e) { + if (e === undefined) { + return () => s.defaultDelay; + } + if (typeof e === "function") { + return e; + } + return () => e; + } + }, + 3336: function (e, t, r) { + var s = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.retryAsync = t.retry = void 0; + const o = r(699); + const n = r(2480); + const A = r(5712); + const i = r(5626); + function retry(e, t) { + return s(this, void 0, void 0, function* () { + const r = (0, o.asyncDecorator)(e); + return yield retryAsync(r, t); + }); + } + t.retry = retry; + function retryAsync(e, t) { + return s(this, void 0, void 0, function* () { + const r = (0, A.getRetryParameters)(1, t); + return yield actualRetry(e, r); + }); + } + t.retryAsync = retryAsync; + function actualRetry(e, t) { + return s(this, void 0, void 0, function* () { + const r = t.currentTry < t.maxTry; + try { + const s = yield e(); + if (t.until(s)) { + return s; + } else if (r) { + return yield recall(e, t, s); + } else { + throw new i.TooManyTries(s); + } + } catch (s) { + if (!(0, i.isTooManyTries)(s) && r) { + if (t.onError) { + t.onError(s); + } + return yield recall(e, t); + } else { + if (t.onMaxRetryFunc) { + t.onMaxRetryFunc(s); + } + throw s; + } + } + }); + } + function recall(e, t, r) { + return s(this, void 0, void 0, function* () { + const s = t.delay({ currentTry: t.currentTry, maxTry: t.maxTry, lastDelay: t.lastDelay, lastResult: r }); + yield (0, n.wait)(s); + const o = Object.assign(Object.assign({}, t), { currentTry: t.currentTry + 1 }); + return yield actualRetry(e, o); + }); + } + }, + 5626: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.isTooManyTries = t.TooManyTries = void 0; + class TooManyTries extends Error { + constructor(e = undefined) { + super("function did not complete within allowed number of attempts"); + this.lastResult = e; + this.tooManyTries = true; + } + getLastResult() { + return this.lastResult; + } + } + t.TooManyTries = TooManyTries; + function isTooManyTries(e) { + return e.tooManyTries === true; + } + t.isTooManyTries = isTooManyTries; + }, + 3385: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.retryDecorator = t.retryAsyncDecorator = void 0; + const s = r(3336); + function retryAsyncDecorator(e, t) { + return (...r) => { + const wrappedFn = () => e(...r); + return (0, s.retryAsync)(wrappedFn, t); + }; + } + t.retryAsyncDecorator = retryAsyncDecorator; + function retryDecorator(e, t) { + return (...r) => { + const wrappedFn = () => e(...r); + return (0, s.retry)(wrappedFn, t); + }; + } + t.retryDecorator = retryDecorator; + }, + 4103: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.retryAsyncDecorator = t.retryDecorator = void 0; + var s = r(3385); + Object.defineProperty(t, "retryDecorator", { + enumerable: true, + get: function () { + return s.retryDecorator; + }, + }); + Object.defineProperty(t, "retryAsyncDecorator", { + enumerable: true, + get: function () { + return s.retryAsyncDecorator; + }, + }); + }, + 8051: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.createRandomDelay = t.createMutiplicableDelay = t.createExponetialDelay = void 0; + function createExponetialDelay(e) { + const delay = ({ lastDelay: t }) => (t !== undefined ? t * e : e); + return delay; + } + t.createExponetialDelay = createExponetialDelay; + function createMutiplicableDelay(e, t) { + const delay = ({ currentTry: r }) => { + if (r === 1) { + return e; + } + const s = (r - 1) * t; + return e * s; + }; + return delay; + } + t.createMutiplicableDelay = createMutiplicableDelay; + function createRandomDelay(e, t) { + const r = t - e + 1; + return () => Math.floor(Math.random() * r + e); + } + t.createRandomDelay = createRandomDelay; + }, + 3132: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.createRandomDelay = + t.createMutiplicableDelay = + t.createExponetialDelay = + t.retryDecorator = + t.retryAsyncDecorator = + t.retryAsyncUntilResponseDecorator = + t.retryAsyncUntilResponse = + t.retryUntilTruthyDecorator = + t.retryUntilTruthy = + t.retryAsyncUntilTruthyDecorator = + t.retryAsyncUntilTruthy = + t.retryUntilDefinedDecorator = + t.retryUntilDefined = + t.retryAsyncUntilDefinedDecorator = + t.retryAsyncUntilDefined = + void 0; + var s = r(2348); + Object.defineProperty(t, "retryAsyncUntilDefined", { + enumerable: true, + get: function () { + return s.retryAsyncUntilDefined; + }, + }); + Object.defineProperty(t, "retryAsyncUntilDefinedDecorator", { + enumerable: true, + get: function () { + return s.retryAsyncUntilDefinedDecorator; + }, + }); + Object.defineProperty(t, "retryUntilDefined", { + enumerable: true, + get: function () { + return s.retryUntilDefined; + }, + }); + Object.defineProperty(t, "retryUntilDefinedDecorator", { + enumerable: true, + get: function () { + return s.retryUntilDefinedDecorator; + }, + }); + var o = r(6331); + Object.defineProperty(t, "retryAsyncUntilTruthy", { + enumerable: true, + get: function () { + return o.retryAsyncUntilTruthy; + }, + }); + Object.defineProperty(t, "retryAsyncUntilTruthyDecorator", { + enumerable: true, + get: function () { + return o.retryAsyncUntilTruthyDecorator; + }, + }); + Object.defineProperty(t, "retryUntilTruthy", { + enumerable: true, + get: function () { + return o.retryUntilTruthy; + }, + }); + Object.defineProperty(t, "retryUntilTruthyDecorator", { + enumerable: true, + get: function () { + return o.retryUntilTruthyDecorator; + }, + }); + var n = r(9768); + Object.defineProperty(t, "retryAsyncUntilResponse", { + enumerable: true, + get: function () { + return n.retryAsyncUntilResponse; + }, + }); + Object.defineProperty(t, "retryAsyncUntilResponseDecorator", { + enumerable: true, + get: function () { + return n.retryAsyncUntilResponseDecorator; + }, + }); + var A = r(4103); + Object.defineProperty(t, "retryAsyncDecorator", { + enumerable: true, + get: function () { + return A.retryAsyncDecorator; + }, + }); + Object.defineProperty(t, "retryDecorator", { + enumerable: true, + get: function () { + return A.retryDecorator; + }, + }); + var i = r(8051); + Object.defineProperty(t, "createExponetialDelay", { + enumerable: true, + get: function () { + return i.createExponetialDelay; + }, + }); + Object.defineProperty(t, "createMutiplicableDelay", { + enumerable: true, + get: function () { + return i.createMutiplicableDelay; + }, + }); + Object.defineProperty(t, "createRandomDelay", { + enumerable: true, + get: function () { + return i.createRandomDelay; + }, + }); + }, + 4626: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.retryUntilOptionsToRetryOptionsHof = void 0; + const retryUntilOptionsToRetryOptionsHof = (e) => (t) => Object.assign(Object.assign({}, t), { until: e }); + t.retryUntilOptionsToRetryOptionsHof = retryUntilOptionsToRetryOptionsHof; + }, + 7525: function (e, t, r) { + var s = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.retryAsyncUntilDefinedDecorator = t.retryUntilDefinedDecorator = void 0; + const o = r(2238); + function retryUntilDefinedDecorator(e, t) { + return (...r) => + s(this, void 0, void 0, function* () { + const wrappedFn = () => e(...r); + return yield (0, o.retryUntilDefined)(wrappedFn, t); + }); + } + t.retryUntilDefinedDecorator = retryUntilDefinedDecorator; + function retryAsyncUntilDefinedDecorator(e, t) { + return (...r) => + s(this, void 0, void 0, function* () { + const wrappedFn = () => + s(this, void 0, void 0, function* () { + return yield e(...r); + }); + return yield (0, o.retryAsyncUntilDefined)(wrappedFn, t); + }); + } + t.retryAsyncUntilDefinedDecorator = retryAsyncUntilDefinedDecorator; + }, + 2348: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.retryUntilDefinedDecorator = t.retryAsyncUntilDefinedDecorator = t.retryUntilDefined = t.retryAsyncUntilDefined = void 0; + var s = r(2238); + Object.defineProperty(t, "retryAsyncUntilDefined", { + enumerable: true, + get: function () { + return s.retryAsyncUntilDefined; + }, + }); + Object.defineProperty(t, "retryUntilDefined", { + enumerable: true, + get: function () { + return s.retryUntilDefined; + }, + }); + var o = r(7525); + Object.defineProperty(t, "retryAsyncUntilDefinedDecorator", { + enumerable: true, + get: function () { + return o.retryAsyncUntilDefinedDecorator; + }, + }); + Object.defineProperty(t, "retryUntilDefinedDecorator", { + enumerable: true, + get: function () { + return o.retryUntilDefinedDecorator; + }, + }); + }, + 2238: function (e, t, r) { + var s = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.retryAsyncUntilDefined = t.retryUntilDefined = void 0; + const o = r(3336); + const n = r(4626); + const until = (e) => e !== undefined && e !== null; + const A = (0, n.retryUntilOptionsToRetryOptionsHof)(until); + function retryUntilDefined(e, t) { + return s(this, void 0, void 0, function* () { + const r = A(t); + return yield (0, o.retry)(e, r); + }); + } + t.retryUntilDefined = retryUntilDefined; + function retryAsyncUntilDefined(e, t) { + return s(this, void 0, void 0, function* () { + const r = A(t); + return yield (0, o.retryAsync)(e, r); + }); + } + t.retryAsyncUntilDefined = retryAsyncUntilDefined; + }, + 900: function (e, t, r) { + var s = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.retryAsyncUntilResponseDecorator = void 0; + const o = r(9058); + function retryAsyncUntilResponseDecorator(e, t) { + return (...r) => + s(this, void 0, void 0, function* () { + const wrappedFn = () => + s(this, void 0, void 0, function* () { + return yield e(...r); + }); + return yield (0, o.retryAsyncUntilResponse)(wrappedFn, t); + }); + } + t.retryAsyncUntilResponseDecorator = retryAsyncUntilResponseDecorator; + }, + 9768: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.retryAsyncUntilResponseDecorator = t.retryAsyncUntilResponse = void 0; + var s = r(9058); + Object.defineProperty(t, "retryAsyncUntilResponse", { + enumerable: true, + get: function () { + return s.retryAsyncUntilResponse; + }, + }); + var o = r(900); + Object.defineProperty(t, "retryAsyncUntilResponseDecorator", { + enumerable: true, + get: function () { + return o.retryAsyncUntilResponseDecorator; + }, + }); + }, + 9058: function (e, t, r) { + var s = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.retryAsyncUntilResponse = void 0; + const o = r(3336); + const n = r(4626); + const until = (e) => e.ok; + const A = (0, n.retryUntilOptionsToRetryOptionsHof)(until); + function retryAsyncUntilResponse(e, t) { + return s(this, void 0, void 0, function* () { + const r = A(t); + return yield (0, o.retryAsync)(e, r); + }); + } + t.retryAsyncUntilResponse = retryAsyncUntilResponse; + }, + 3518: function (e, t, r) { + var s = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.retryAsyncUntilTruthyDecorator = t.retryUntilTruthyDecorator = void 0; + const o = r(5314); + function retryUntilTruthyDecorator(e, t) { + return (...r) => + s(this, void 0, void 0, function* () { + const wrappedFn = () => e(...r); + return yield (0, o.retryUntilTruthy)(wrappedFn, t); + }); + } + t.retryUntilTruthyDecorator = retryUntilTruthyDecorator; + function retryAsyncUntilTruthyDecorator(e, t) { + return (...r) => + s(this, void 0, void 0, function* () { + const wrappedFn = () => + s(this, void 0, void 0, function* () { + return yield e(...r); + }); + return yield (0, o.retryAsyncUntilTruthy)(wrappedFn, t); + }); + } + t.retryAsyncUntilTruthyDecorator = retryAsyncUntilTruthyDecorator; + }, + 6331: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.retryUntilTruthyDecorator = t.retryAsyncUntilTruthyDecorator = t.retryUntilTruthy = t.retryAsyncUntilTruthy = void 0; + var s = r(5314); + Object.defineProperty(t, "retryAsyncUntilTruthy", { + enumerable: true, + get: function () { + return s.retryAsyncUntilTruthy; + }, + }); + Object.defineProperty(t, "retryUntilTruthy", { + enumerable: true, + get: function () { + return s.retryUntilTruthy; + }, + }); + var o = r(3518); + Object.defineProperty(t, "retryAsyncUntilTruthyDecorator", { + enumerable: true, + get: function () { + return o.retryAsyncUntilTruthyDecorator; + }, + }); + Object.defineProperty(t, "retryUntilTruthyDecorator", { + enumerable: true, + get: function () { + return o.retryUntilTruthyDecorator; + }, + }); + }, + 5314: function (e, t, r) { + var s = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.retryAsyncUntilTruthy = t.retryUntilTruthy = void 0; + const o = r(7154); + const n = r(4626); + const until = (e) => e == true; + const A = (0, n.retryUntilOptionsToRetryOptionsHof)(until); + function retryUntilTruthy(e, t) { + return s(this, void 0, void 0, function* () { + const r = A(t); + return yield (0, o.retry)(e, r); + }); + } + t.retryUntilTruthy = retryUntilTruthy; + function retryAsyncUntilTruthy(e, t) { + return s(this, void 0, void 0, function* () { + const r = A(t); + return yield (0, o.retryAsync)(e, r); + }); + } + t.retryAsyncUntilTruthy = retryAsyncUntilTruthy; + }, + 1325: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.setDefaultDuration = t.getDefaultDuration = t.waitUntilAsync = t.waitUntil = t.wait = t.TimeoutError = t.isTimeoutError = void 0; + var s = r(2480); + Object.defineProperty(t, "isTimeoutError", { + enumerable: true, + get: function () { + return s.isTimeoutError; + }, + }); + Object.defineProperty(t, "TimeoutError", { + enumerable: true, + get: function () { + return s.TimeoutError; + }, + }); + Object.defineProperty(t, "wait", { + enumerable: true, + get: function () { + return s.wait; + }, + }); + Object.defineProperty(t, "waitUntil", { + enumerable: true, + get: function () { + return s.waitUntil; + }, + }); + Object.defineProperty(t, "waitUntilAsync", { + enumerable: true, + get: function () { + return s.waitUntilAsync; + }, + }); + var o = r(2847); + Object.defineProperty(t, "getDefaultDuration", { + enumerable: true, + get: function () { + return o.getDefaultDuration; + }, + }); + Object.defineProperty(t, "setDefaultDuration", { + enumerable: true, + get: function () { + return o.setDefaultDuration; + }, + }); + }, + 2847: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.getDefaultDuration = t.setDefaultDuration = t.defaultDuration = void 0; + t.defaultDuration = 60 * 1e3; + function setDefaultDuration(e) { + t.defaultDuration = e; + } + t.setDefaultDuration = setDefaultDuration; + function getDefaultDuration() { + return t.defaultDuration; + } + t.getDefaultDuration = getDefaultDuration; + }, + 2480: function (e, t, r) { + var s = + (this && this.__awaiter) || + function (e, t, r, s) { + function adopt(e) { + return e instanceof r + ? e + : new r(function (t) { + t(e); + }); + } + return new (r || (r = Promise))(function (r, o) { + function fulfilled(e) { + try { + step(s.next(e)); + } catch (e) { + o(e); + } + } + function rejected(e) { + try { + step(s["throw"](e)); + } catch (e) { + o(e); + } + } + function step(e) { + e.done ? r(e.value) : adopt(e.value).then(fulfilled, rejected); + } + step((s = s.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: true }); + t.isTimeoutError = t.TimeoutError = t.waitUntilAsync = t.waitUntil = t.wait = void 0; + const o = r(699); + const n = r(2847); + function wait(e = n.defaultDuration) { + return new Promise((t) => setTimeout(t, e)); + } + t.wait = wait; + function waitUntil(e, t, r) { + return s(this, void 0, void 0, function* () { + const s = (0, o.asyncDecorator)(e); + return yield waitUntilAsync(s, t, r); + }); + } + t.waitUntil = waitUntil; + function waitUntilAsync(e, t = n.defaultDuration, r = new TimeoutError("function did not complete within allowed time")) { + return s(this, void 0, void 0, function* () { + const s = Symbol("DELAY_EXPIRED"); + const o = yield Promise.race([e(), timeout(t, s)]); + if (o === s) { + throw r; + } + return o; + }); + } + t.waitUntilAsync = waitUntilAsync; + const timeout = (e, t) => + s(void 0, void 0, void 0, function* () { + yield wait(e); + return t; + }); + class TimeoutError extends Error { + constructor() { + super(...arguments); + this.isTimeout = true; + } + } + t.TimeoutError = TimeoutError; + function isTimeoutError(e) { + return e.isTimeout === true; + } + t.isTimeoutError = isTimeoutError; + }, + 770: (e, t, r) => { + e.exports = r(218); + }, + 218: (e, t, r) => { + var s = r(9278); + var o = r(4756); + var n = r(8611); + var A = r(5692); + var i = r(4434); + var a = r(2613); + var c = r(9023); + t.httpOverHttp = httpOverHttp; + t.httpsOverHttp = httpsOverHttp; + t.httpOverHttps = httpOverHttps; + t.httpsOverHttps = httpsOverHttps; + function httpOverHttp(e) { + var t = new TunnelingAgent(e); + t.request = n.request; + return t; + } + function httpsOverHttp(e) { + var t = new TunnelingAgent(e); + t.request = n.request; + t.createSocket = createSecureSocket; + t.defaultPort = 443; + return t; + } + function httpOverHttps(e) { + var t = new TunnelingAgent(e); + t.request = A.request; + return t; + } + function httpsOverHttps(e) { + var t = new TunnelingAgent(e); + t.request = A.request; + t.createSocket = createSecureSocket; + t.defaultPort = 443; + return t; + } + function TunnelingAgent(e) { + var t = this; + t.options = e || {}; + t.proxyOptions = t.options.proxy || {}; + t.maxSockets = t.options.maxSockets || n.Agent.defaultMaxSockets; + t.requests = []; + t.sockets = []; + t.on("free", function onFree(e, r, s, o) { + var n = toOptions(r, s, o); + for (var A = 0, i = t.requests.length; A < i; ++A) { + var a = t.requests[A]; + if (a.host === n.host && a.port === n.port) { + t.requests.splice(A, 1); + a.request.onSocket(e); + return; + } + } + e.destroy(); + t.removeSocket(e); + }); + } + c.inherits(TunnelingAgent, i.EventEmitter); + TunnelingAgent.prototype.addRequest = function addRequest(e, t, r, s) { + var o = this; + var n = mergeOptions({ request: e }, o.options, toOptions(t, r, s)); + if (o.sockets.length >= this.maxSockets) { + o.requests.push(n); + return; + } + o.createSocket(n, function (t) { + t.on("free", onFree); + t.on("close", onCloseOrRemove); + t.on("agentRemove", onCloseOrRemove); + e.onSocket(t); + function onFree() { + o.emit("free", t, n); + } + function onCloseOrRemove(e) { + o.removeSocket(t); + t.removeListener("free", onFree); + t.removeListener("close", onCloseOrRemove); + t.removeListener("agentRemove", onCloseOrRemove); + } + }); + }; + TunnelingAgent.prototype.createSocket = function createSocket(e, t) { + var r = this; + var s = {}; + r.sockets.push(s); + var o = mergeOptions({}, r.proxyOptions, { method: "CONNECT", path: e.host + ":" + e.port, agent: false, headers: { host: e.host + ":" + e.port } }); + if (e.localAddress) { + o.localAddress = e.localAddress; + } + if (o.proxyAuth) { + o.headers = o.headers || {}; + o.headers["Proxy-Authorization"] = "Basic " + new Buffer(o.proxyAuth).toString("base64"); + } + u("making CONNECT request"); + var n = r.request(o); + n.useChunkedEncodingByDefault = false; + n.once("response", onResponse); + n.once("upgrade", onUpgrade); + n.once("connect", onConnect); + n.once("error", onError); + n.end(); + function onResponse(e) { + e.upgrade = true; + } + function onUpgrade(e, t, r) { + process.nextTick(function () { + onConnect(e, t, r); + }); + } + function onConnect(o, A, i) { + n.removeAllListeners(); + A.removeAllListeners(); + if (o.statusCode !== 200) { + u("tunneling socket could not be established, statusCode=%d", o.statusCode); + A.destroy(); + var a = new Error("tunneling socket could not be established, " + "statusCode=" + o.statusCode); + a.code = "ECONNRESET"; + e.request.emit("error", a); + r.removeSocket(s); + return; + } + if (i.length > 0) { + u("got illegal response body from proxy"); + A.destroy(); + var a = new Error("got illegal response body from proxy"); + a.code = "ECONNRESET"; + e.request.emit("error", a); + r.removeSocket(s); + return; + } + u("tunneling connection has established"); + r.sockets[r.sockets.indexOf(s)] = A; + return t(A); + } + function onError(t) { + n.removeAllListeners(); + u("tunneling socket could not be established, cause=%s\n", t.message, t.stack); + var o = new Error("tunneling socket could not be established, " + "cause=" + t.message); + o.code = "ECONNRESET"; + e.request.emit("error", o); + r.removeSocket(s); + } + }; + TunnelingAgent.prototype.removeSocket = function removeSocket(e) { + var t = this.sockets.indexOf(e); + if (t === -1) { + return; + } + this.sockets.splice(t, 1); + var r = this.requests.shift(); + if (r) { + this.createSocket(r, function (e) { + r.request.onSocket(e); + }); + } + }; + function createSecureSocket(e, t) { + var r = this; + TunnelingAgent.prototype.createSocket.call(r, e, function (s) { + var n = e.request.getHeader("host"); + var A = mergeOptions({}, r.options, { socket: s, servername: n ? n.replace(/:.*$/, "") : e.host }); + var i = o.connect(0, A); + r.sockets[r.sockets.indexOf(s)] = i; + t(i); + }); + } + function toOptions(e, t, r) { + if (typeof e === "string") { + return { host: e, port: t, localAddress: r }; + } + return e; + } + function mergeOptions(e) { + for (var t = 1, r = arguments.length; t < r; ++t) { + var s = arguments[t]; + if (typeof s === "object") { + var o = Object.keys(s); + for (var n = 0, A = o.length; n < A; ++n) { + var i = o[n]; + if (s[i] !== undefined) { + e[i] = s[i]; + } + } + } + } + return e; + } + var u; + if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + u = function () { + var e = Array.prototype.slice.call(arguments); + if (typeof e[0] === "string") { + e[0] = "TUNNEL: " + e[0]; + } else { + e.unshift("TUNNEL:"); + } + console.error.apply(console, e); + }; + } else { + u = function () {}; + } + t.debug = u; + }, + 6752: (e, t, r) => { + const s = r(6197); + const o = r(992); + const n = r(8707); + const A = r(5076); + const i = r(1093); + const a = r(9965); + const c = r(3440); + const { InvalidArgumentError: u } = n; + const l = r(6615); + const g = r(9136); + const p = r(7365); + const d = r(7501); + const E = r(4004); + const h = r(2429); + const I = r(2720); + const C = r(3573); + const { getGlobalDispatcher: m, setGlobalDispatcher: Q } = r(2581); + const B = r(8840); + const y = r(8299); + const b = r(4415); + let w; + try { + r(6982); + w = true; + } catch { + w = false; + } + Object.assign(o.prototype, l); + e.exports.Dispatcher = o; + e.exports.Client = s; + e.exports.Pool = A; + e.exports.BalancedPool = i; + e.exports.Agent = a; + e.exports.ProxyAgent = I; + e.exports.RetryHandler = C; + e.exports.DecoratorHandler = B; + e.exports.RedirectHandler = y; + e.exports.createRedirectInterceptor = b; + e.exports.buildConnector = g; + e.exports.errors = n; + function makeDispatcher(e) { + return (t, r, s) => { + if (typeof r === "function") { + s = r; + r = null; + } + if (!t || (typeof t !== "string" && typeof t !== "object" && !(t instanceof URL))) { + throw new u("invalid url"); + } + if (r != null && typeof r !== "object") { + throw new u("invalid opts"); + } + if (r && r.path != null) { + if (typeof r.path !== "string") { + throw new u("invalid opts.path"); + } + let e = r.path; + if (!r.path.startsWith("/")) { + e = `/${e}`; + } + t = new URL(c.parseOrigin(t).origin + e); + } else { + if (!r) { + r = typeof t === "object" ? t : {}; + } + t = c.parseURL(t); + } + const { agent: o, dispatcher: n = m() } = r; + if (o) { + throw new u("unsupported opts.agent. Did you mean opts.client?"); + } + return e.call(n, { ...r, origin: t.origin, path: t.search ? `${t.pathname}${t.search}` : t.pathname, method: r.method || (r.body ? "PUT" : "GET") }, s); + }; + } + e.exports.setGlobalDispatcher = Q; + e.exports.getGlobalDispatcher = m; + if (c.nodeMajor > 16 || (c.nodeMajor === 16 && c.nodeMinor >= 8)) { + let t = null; + e.exports.fetch = async function fetch(e) { + if (!t) { + t = r(2315).fetch; + } + try { + return await t(...arguments); + } catch (e) { + if (typeof e === "object") { + Error.captureStackTrace(e, this); + } + throw e; + } + }; + e.exports.Headers = r(6349).Headers; + e.exports.Response = r(8676).Response; + e.exports.Request = r(5194).Request; + e.exports.FormData = r(3073).FormData; + e.exports.File = r(3041).File; + e.exports.FileReader = r(2160).FileReader; + const { setGlobalOrigin: s, getGlobalOrigin: o } = r(5628); + e.exports.setGlobalOrigin = s; + e.exports.getGlobalOrigin = o; + const { CacheStorage: n } = r(4738); + const { kConstruct: A } = r(296); + e.exports.caches = new n(A); + } + if (c.nodeMajor >= 16) { + const { deleteCookie: t, getCookies: s, getSetCookies: o, setCookie: n } = r(3168); + e.exports.deleteCookie = t; + e.exports.getCookies = s; + e.exports.getSetCookies = o; + e.exports.setCookie = n; + const { parseMIMEType: A, serializeAMimeType: i } = r(4322); + e.exports.parseMIMEType = A; + e.exports.serializeAMimeType = i; + } + if (c.nodeMajor >= 18 && w) { + const { WebSocket: t } = r(5171); + e.exports.WebSocket = t; + } + e.exports.request = makeDispatcher(l.request); + e.exports.stream = makeDispatcher(l.stream); + e.exports.pipeline = makeDispatcher(l.pipeline); + e.exports.connect = makeDispatcher(l.connect); + e.exports.upgrade = makeDispatcher(l.upgrade); + e.exports.MockClient = p; + e.exports.MockPool = E; + e.exports.MockAgent = d; + e.exports.mockErrors = h; + }, + 9965: (e, t, r) => { + const { InvalidArgumentError: s } = r(8707); + const { kClients: o, kRunning: n, kClose: A, kDestroy: i, kDispatch: a, kInterceptors: c } = r(6443); + const u = r(1); + const l = r(5076); + const g = r(6197); + const p = r(3440); + const d = r(4415); + const { WeakRef: E, FinalizationRegistry: h } = r(3194)(); + const I = Symbol("onConnect"); + const C = Symbol("onDisconnect"); + const m = Symbol("onConnectionError"); + const Q = Symbol("maxRedirections"); + const B = Symbol("onDrain"); + const y = Symbol("factory"); + const b = Symbol("finalizer"); + const w = Symbol("options"); + function defaultFactory(e, t) { + return t && t.connections === 1 ? new g(e, t) : new l(e, t); + } + class Agent extends u { + constructor({ factory: e = defaultFactory, maxRedirections: t = 0, connect: r, ...n } = {}) { + super(); + if (typeof e !== "function") { + throw new s("factory must be a function."); + } + if (r != null && typeof r !== "function" && typeof r !== "object") { + throw new s("connect must be a function or an object"); + } + if (!Number.isInteger(t) || t < 0) { + throw new s("maxRedirections must be a positive number"); + } + if (r && typeof r !== "function") { + r = { ...r }; + } + this[c] = n.interceptors && n.interceptors.Agent && Array.isArray(n.interceptors.Agent) ? n.interceptors.Agent : [d({ maxRedirections: t })]; + this[w] = { ...p.deepClone(n), connect: r }; + this[w].interceptors = n.interceptors ? { ...n.interceptors } : undefined; + this[Q] = t; + this[y] = e; + this[o] = new Map(); + this[b] = new h((e) => { + const t = this[o].get(e); + if (t !== undefined && t.deref() === undefined) { + this[o].delete(e); + } + }); + const A = this; + this[B] = (e, t) => { + A.emit("drain", e, [A, ...t]); + }; + this[I] = (e, t) => { + A.emit("connect", e, [A, ...t]); + }; + this[C] = (e, t, r) => { + A.emit("disconnect", e, [A, ...t], r); + }; + this[m] = (e, t, r) => { + A.emit("connectionError", e, [A, ...t], r); + }; + } + get [n]() { + let e = 0; + for (const t of this[o].values()) { + const r = t.deref(); + if (r) { + e += r[n]; + } + } + return e; + } + [a](e, t) { + let r; + if (e.origin && (typeof e.origin === "string" || e.origin instanceof URL)) { + r = String(e.origin); + } else { + throw new s("opts.origin must be a non-empty string or URL."); + } + const n = this[o].get(r); + let A = n ? n.deref() : null; + if (!A) { + A = this[y](e.origin, this[w]).on("drain", this[B]).on("connect", this[I]).on("disconnect", this[C]).on("connectionError", this[m]); + this[o].set(r, new E(A)); + this[b].register(A, r); + } + return A.dispatch(e, t); + } + async [A]() { + const e = []; + for (const t of this[o].values()) { + const r = t.deref(); + if (r) { + e.push(r.close()); + } + } + await Promise.all(e); + } + async [i](e) { + const t = []; + for (const r of this[o].values()) { + const s = r.deref(); + if (s) { + t.push(s.destroy(e)); + } + } + await Promise.all(t); + } + } + e.exports = Agent; + }, + 158: (e, t, r) => { + const { addAbortListener: s } = r(3440); + const { RequestAbortedError: o } = r(8707); + const n = Symbol("kListener"); + const A = Symbol("kSignal"); + function abort(e) { + if (e.abort) { + e.abort(); + } else { + e.onError(new o()); + } + } + function addSignal(e, t) { + e[A] = null; + e[n] = null; + if (!t) { + return; + } + if (t.aborted) { + abort(e); + return; + } + e[A] = t; + e[n] = () => { + abort(e); + }; + s(e[A], e[n]); + } + function removeSignal(e) { + if (!e[A]) { + return; + } + if ("removeEventListener" in e[A]) { + e[A].removeEventListener("abort", e[n]); + } else { + e[A].removeListener("abort", e[n]); + } + e[A] = null; + e[n] = null; + } + e.exports = { addSignal: addSignal, removeSignal: removeSignal }; + }, + 4660: (e, t, r) => { + const { AsyncResource: s } = r(290); + const { InvalidArgumentError: o, RequestAbortedError: n, SocketError: A } = r(8707); + const i = r(3440); + const { addSignal: a, removeSignal: c } = r(158); + class ConnectHandler extends s { + constructor(e, t) { + if (!e || typeof e !== "object") { + throw new o("invalid opts"); + } + if (typeof t !== "function") { + throw new o("invalid callback"); + } + const { signal: r, opaque: s, responseHeaders: n } = e; + if (r && typeof r.on !== "function" && typeof r.addEventListener !== "function") { + throw new o("signal must be an EventEmitter or EventTarget"); + } + super("UNDICI_CONNECT"); + this.opaque = s || null; + this.responseHeaders = n || null; + this.callback = t; + this.abort = null; + a(this, r); + } + onConnect(e, t) { + if (!this.callback) { + throw new n(); + } + this.abort = e; + this.context = t; + } + onHeaders() { + throw new A("bad connect", null); + } + onUpgrade(e, t, r) { + const { callback: s, opaque: o, context: n } = this; + c(this); + this.callback = null; + let A = t; + if (A != null) { + A = this.responseHeaders === "raw" ? i.parseRawHeaders(t) : i.parseHeaders(t); + } + this.runInAsyncScope(s, null, null, { statusCode: e, headers: A, socket: r, opaque: o, context: n }); + } + onError(e) { + const { callback: t, opaque: r } = this; + c(this); + if (t) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(t, null, e, { opaque: r }); + }); + } + } + } + function connect(e, t) { + if (t === undefined) { + return new Promise((t, r) => { + connect.call(this, e, (e, s) => (e ? r(e) : t(s))); + }); + } + try { + const r = new ConnectHandler(e, t); + this.dispatch({ ...e, method: "CONNECT" }, r); + } catch (r) { + if (typeof t !== "function") { + throw r; + } + const s = e && e.opaque; + queueMicrotask(() => t(r, { opaque: s })); + } + } + e.exports = connect; + }, + 6862: (e, t, r) => { + const { Readable: s, Duplex: o, PassThrough: n } = r(2203); + const { InvalidArgumentError: A, InvalidReturnValueError: i, RequestAbortedError: a } = r(8707); + const c = r(3440); + const { AsyncResource: u } = r(290); + const { addSignal: l, removeSignal: g } = r(158); + const p = r(2613); + const d = Symbol("resume"); + class PipelineRequest extends s { + constructor() { + super({ autoDestroy: true }); + this[d] = null; + } + _read() { + const { [d]: e } = this; + if (e) { + this[d] = null; + e(); + } + } + _destroy(e, t) { + this._read(); + t(e); + } + } + class PipelineResponse extends s { + constructor(e) { + super({ autoDestroy: true }); + this[d] = e; + } + _read() { + this[d](); + } + _destroy(e, t) { + if (!e && !this._readableState.endEmitted) { + e = new a(); + } + t(e); + } + } + class PipelineHandler extends u { + constructor(e, t) { + if (!e || typeof e !== "object") { + throw new A("invalid opts"); + } + if (typeof t !== "function") { + throw new A("invalid handler"); + } + const { signal: r, method: s, opaque: n, onInfo: i, responseHeaders: u } = e; + if (r && typeof r.on !== "function" && typeof r.addEventListener !== "function") { + throw new A("signal must be an EventEmitter or EventTarget"); + } + if (s === "CONNECT") { + throw new A("invalid method"); + } + if (i && typeof i !== "function") { + throw new A("invalid onInfo callback"); + } + super("UNDICI_PIPELINE"); + this.opaque = n || null; + this.responseHeaders = u || null; + this.handler = t; + this.abort = null; + this.context = null; + this.onInfo = i || null; + this.req = new PipelineRequest().on("error", c.nop); + this.ret = new o({ + readableObjectMode: e.objectMode, + autoDestroy: true, + read: () => { + const { body: e } = this; + if (e && e.resume) { + e.resume(); + } + }, + write: (e, t, r) => { + const { req: s } = this; + if (s.push(e, t) || s._readableState.destroyed) { + r(); + } else { + s[d] = r; + } + }, + destroy: (e, t) => { + const { body: r, req: s, res: o, ret: n, abort: A } = this; + if (!e && !n._readableState.endEmitted) { + e = new a(); + } + if (A && e) { + A(); + } + c.destroy(r, e); + c.destroy(s, e); + c.destroy(o, e); + g(this); + t(e); + }, + }).on("prefinish", () => { + const { req: e } = this; + e.push(null); + }); + this.res = null; + l(this, r); + } + onConnect(e, t) { + const { ret: r, res: s } = this; + p(!s, "pipeline cannot be retried"); + if (r.destroyed) { + throw new a(); + } + this.abort = e; + this.context = t; + } + onHeaders(e, t, r) { + const { opaque: s, handler: o, context: n } = this; + if (e < 200) { + if (this.onInfo) { + const r = this.responseHeaders === "raw" ? c.parseRawHeaders(t) : c.parseHeaders(t); + this.onInfo({ statusCode: e, headers: r }); + } + return; + } + this.res = new PipelineResponse(r); + let A; + try { + this.handler = null; + const r = this.responseHeaders === "raw" ? c.parseRawHeaders(t) : c.parseHeaders(t); + A = this.runInAsyncScope(o, null, { statusCode: e, headers: r, opaque: s, body: this.res, context: n }); + } catch (e) { + this.res.on("error", c.nop); + throw e; + } + if (!A || typeof A.on !== "function") { + throw new i("expected Readable"); + } + A.on("data", (e) => { + const { ret: t, body: r } = this; + if (!t.push(e) && r.pause) { + r.pause(); + } + }) + .on("error", (e) => { + const { ret: t } = this; + c.destroy(t, e); + }) + .on("end", () => { + const { ret: e } = this; + e.push(null); + }) + .on("close", () => { + const { ret: e } = this; + if (!e._readableState.ended) { + c.destroy(e, new a()); + } + }); + this.body = A; + } + onData(e) { + const { res: t } = this; + return t.push(e); + } + onComplete(e) { + const { res: t } = this; + t.push(null); + } + onError(e) { + const { ret: t } = this; + this.handler = null; + c.destroy(t, e); + } + } + function pipeline(e, t) { + try { + const r = new PipelineHandler(e, t); + this.dispatch({ ...e, body: r.req }, r); + return r.ret; + } catch (e) { + return new n().destroy(e); + } + } + e.exports = pipeline; + }, + 4043: (e, t, r) => { + const s = r(9927); + const { InvalidArgumentError: o, RequestAbortedError: n } = r(8707); + const A = r(3440); + const { getResolveErrorBodyCallback: i } = r(7655); + const { AsyncResource: a } = r(290); + const { addSignal: c, removeSignal: u } = r(158); + class RequestHandler extends a { + constructor(e, t) { + if (!e || typeof e !== "object") { + throw new o("invalid opts"); + } + const { signal: r, method: s, opaque: n, body: i, onInfo: a, responseHeaders: u, throwOnError: l, highWaterMark: g } = e; + try { + if (typeof t !== "function") { + throw new o("invalid callback"); + } + if (g && (typeof g !== "number" || g < 0)) { + throw new o("invalid highWaterMark"); + } + if (r && typeof r.on !== "function" && typeof r.addEventListener !== "function") { + throw new o("signal must be an EventEmitter or EventTarget"); + } + if (s === "CONNECT") { + throw new o("invalid method"); + } + if (a && typeof a !== "function") { + throw new o("invalid onInfo callback"); + } + super("UNDICI_REQUEST"); + } catch (e) { + if (A.isStream(i)) { + A.destroy(i.on("error", A.nop), e); + } + throw e; + } + this.responseHeaders = u || null; + this.opaque = n || null; + this.callback = t; + this.res = null; + this.abort = null; + this.body = i; + this.trailers = {}; + this.context = null; + this.onInfo = a || null; + this.throwOnError = l; + this.highWaterMark = g; + if (A.isStream(i)) { + i.on("error", (e) => { + this.onError(e); + }); + } + c(this, r); + } + onConnect(e, t) { + if (!this.callback) { + throw new n(); + } + this.abort = e; + this.context = t; + } + onHeaders(e, t, r, o) { + const { callback: n, opaque: a, abort: c, context: u, responseHeaders: l, highWaterMark: g } = this; + const p = l === "raw" ? A.parseRawHeaders(t) : A.parseHeaders(t); + if (e < 200) { + if (this.onInfo) { + this.onInfo({ statusCode: e, headers: p }); + } + return; + } + const d = l === "raw" ? A.parseHeaders(t) : p; + const E = d["content-type"]; + const h = new s({ resume: r, abort: c, contentType: E, highWaterMark: g }); + this.callback = null; + this.res = h; + if (n !== null) { + if (this.throwOnError && e >= 400) { + this.runInAsyncScope(i, null, { callback: n, body: h, contentType: E, statusCode: e, statusMessage: o, headers: p }); + } else { + this.runInAsyncScope(n, null, null, { statusCode: e, headers: p, trailers: this.trailers, opaque: a, body: h, context: u }); + } + } + } + onData(e) { + const { res: t } = this; + return t.push(e); + } + onComplete(e) { + const { res: t } = this; + u(this); + A.parseHeaders(e, this.trailers); + t.push(null); + } + onError(e) { + const { res: t, callback: r, body: s, opaque: o } = this; + u(this); + if (r) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(r, null, e, { opaque: o }); + }); + } + if (t) { + this.res = null; + queueMicrotask(() => { + A.destroy(t, e); + }); + } + if (s) { + this.body = null; + A.destroy(s, e); + } + } + } + function request(e, t) { + if (t === undefined) { + return new Promise((t, r) => { + request.call(this, e, (e, s) => (e ? r(e) : t(s))); + }); + } + try { + this.dispatch(e, new RequestHandler(e, t)); + } catch (r) { + if (typeof t !== "function") { + throw r; + } + const s = e && e.opaque; + queueMicrotask(() => t(r, { opaque: s })); + } + } + e.exports = request; + e.exports.RequestHandler = RequestHandler; + }, + 3560: (e, t, r) => { + const { finished: s, PassThrough: o } = r(2203); + const { InvalidArgumentError: n, InvalidReturnValueError: A, RequestAbortedError: i } = r(8707); + const a = r(3440); + const { getResolveErrorBodyCallback: c } = r(7655); + const { AsyncResource: u } = r(290); + const { addSignal: l, removeSignal: g } = r(158); + class StreamHandler extends u { + constructor(e, t, r) { + if (!e || typeof e !== "object") { + throw new n("invalid opts"); + } + const { signal: s, method: o, opaque: A, body: i, onInfo: c, responseHeaders: u, throwOnError: g } = e; + try { + if (typeof r !== "function") { + throw new n("invalid callback"); + } + if (typeof t !== "function") { + throw new n("invalid factory"); + } + if (s && typeof s.on !== "function" && typeof s.addEventListener !== "function") { + throw new n("signal must be an EventEmitter or EventTarget"); + } + if (o === "CONNECT") { + throw new n("invalid method"); + } + if (c && typeof c !== "function") { + throw new n("invalid onInfo callback"); + } + super("UNDICI_STREAM"); + } catch (e) { + if (a.isStream(i)) { + a.destroy(i.on("error", a.nop), e); + } + throw e; + } + this.responseHeaders = u || null; + this.opaque = A || null; + this.factory = t; + this.callback = r; + this.res = null; + this.abort = null; + this.context = null; + this.trailers = null; + this.body = i; + this.onInfo = c || null; + this.throwOnError = g || false; + if (a.isStream(i)) { + i.on("error", (e) => { + this.onError(e); + }); + } + l(this, s); + } + onConnect(e, t) { + if (!this.callback) { + throw new i(); + } + this.abort = e; + this.context = t; + } + onHeaders(e, t, r, n) { + const { factory: i, opaque: u, context: l, callback: g, responseHeaders: p } = this; + const d = p === "raw" ? a.parseRawHeaders(t) : a.parseHeaders(t); + if (e < 200) { + if (this.onInfo) { + this.onInfo({ statusCode: e, headers: d }); + } + return; + } + this.factory = null; + let E; + if (this.throwOnError && e >= 400) { + const r = p === "raw" ? a.parseHeaders(t) : d; + const s = r["content-type"]; + E = new o(); + this.callback = null; + this.runInAsyncScope(c, null, { callback: g, body: E, contentType: s, statusCode: e, statusMessage: n, headers: d }); + } else { + if (i === null) { + return; + } + E = this.runInAsyncScope(i, null, { statusCode: e, headers: d, opaque: u, context: l }); + if (!E || typeof E.write !== "function" || typeof E.end !== "function" || typeof E.on !== "function") { + throw new A("expected Writable"); + } + s(E, { readable: false }, (e) => { + const { callback: t, res: r, opaque: s, trailers: o, abort: n } = this; + this.res = null; + if (e || !r.readable) { + a.destroy(r, e); + } + this.callback = null; + this.runInAsyncScope(t, null, e || null, { opaque: s, trailers: o }); + if (e) { + n(); + } + }); + } + E.on("drain", r); + this.res = E; + const h = E.writableNeedDrain !== undefined ? E.writableNeedDrain : E._writableState && E._writableState.needDrain; + return h !== true; + } + onData(e) { + const { res: t } = this; + return t ? t.write(e) : true; + } + onComplete(e) { + const { res: t } = this; + g(this); + if (!t) { + return; + } + this.trailers = a.parseHeaders(e); + t.end(); + } + onError(e) { + const { res: t, callback: r, opaque: s, body: o } = this; + g(this); + this.factory = null; + if (t) { + this.res = null; + a.destroy(t, e); + } else if (r) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(r, null, e, { opaque: s }); + }); + } + if (o) { + this.body = null; + a.destroy(o, e); + } + } + } + function stream(e, t, r) { + if (r === undefined) { + return new Promise((r, s) => { + stream.call(this, e, t, (e, t) => (e ? s(e) : r(t))); + }); + } + try { + this.dispatch(e, new StreamHandler(e, t, r)); + } catch (t) { + if (typeof r !== "function") { + throw t; + } + const s = e && e.opaque; + queueMicrotask(() => r(t, { opaque: s })); + } + } + e.exports = stream; + }, + 1882: (e, t, r) => { + const { InvalidArgumentError: s, RequestAbortedError: o, SocketError: n } = r(8707); + const { AsyncResource: A } = r(290); + const i = r(3440); + const { addSignal: a, removeSignal: c } = r(158); + const u = r(2613); + class UpgradeHandler extends A { + constructor(e, t) { + if (!e || typeof e !== "object") { + throw new s("invalid opts"); + } + if (typeof t !== "function") { + throw new s("invalid callback"); + } + const { signal: r, opaque: o, responseHeaders: n } = e; + if (r && typeof r.on !== "function" && typeof r.addEventListener !== "function") { + throw new s("signal must be an EventEmitter or EventTarget"); + } + super("UNDICI_UPGRADE"); + this.responseHeaders = n || null; + this.opaque = o || null; + this.callback = t; + this.abort = null; + this.context = null; + a(this, r); + } + onConnect(e, t) { + if (!this.callback) { + throw new o(); + } + this.abort = e; + this.context = null; + } + onHeaders() { + throw new n("bad upgrade", null); + } + onUpgrade(e, t, r) { + const { callback: s, opaque: o, context: n } = this; + u.strictEqual(e, 101); + c(this); + this.callback = null; + const A = this.responseHeaders === "raw" ? i.parseRawHeaders(t) : i.parseHeaders(t); + this.runInAsyncScope(s, null, null, { headers: A, socket: r, opaque: o, context: n }); + } + onError(e) { + const { callback: t, opaque: r } = this; + c(this); + if (t) { + this.callback = null; + queueMicrotask(() => { + this.runInAsyncScope(t, null, e, { opaque: r }); + }); + } + } + } + function upgrade(e, t) { + if (t === undefined) { + return new Promise((t, r) => { + upgrade.call(this, e, (e, s) => (e ? r(e) : t(s))); + }); + } + try { + const r = new UpgradeHandler(e, t); + this.dispatch({ ...e, method: e.method || "GET", upgrade: e.protocol || "Websocket" }, r); + } catch (r) { + if (typeof t !== "function") { + throw r; + } + const s = e && e.opaque; + queueMicrotask(() => t(r, { opaque: s })); + } + } + e.exports = upgrade; + }, + 6615: (e, t, r) => { + e.exports.request = r(4043); + e.exports.stream = r(3560); + e.exports.pipeline = r(6862); + e.exports.upgrade = r(1882); + e.exports.connect = r(4660); + }, + 9927: (e, t, r) => { + const s = r(2613); + const { Readable: o } = r(2203); + const { RequestAbortedError: n, NotSupportedError: A, InvalidArgumentError: i } = r(8707); + const a = r(3440); + const { ReadableStreamFrom: c, toUSVString: u } = r(3440); + let l; + const g = Symbol("kConsume"); + const p = Symbol("kReading"); + const d = Symbol("kBody"); + const E = Symbol("abort"); + const h = Symbol("kContentType"); + const noop = () => {}; + e.exports = class BodyReadable extends o { + constructor({ resume: e, abort: t, contentType: r = "", highWaterMark: s = 64 * 1024 }) { + super({ autoDestroy: true, read: e, highWaterMark: s }); + this._readableState.dataEmitted = false; + this[E] = t; + this[g] = null; + this[d] = null; + this[h] = r; + this[p] = false; + } + destroy(e) { + if (this.destroyed) { + return this; + } + if (!e && !this._readableState.endEmitted) { + e = new n(); + } + if (e) { + this[E](); + } + return super.destroy(e); + } + emit(e, ...t) { + if (e === "data") { + this._readableState.dataEmitted = true; + } else if (e === "error") { + this._readableState.errorEmitted = true; + } + return super.emit(e, ...t); + } + on(e, ...t) { + if (e === "data" || e === "readable") { + this[p] = true; + } + return super.on(e, ...t); + } + addListener(e, ...t) { + return this.on(e, ...t); + } + off(e, ...t) { + const r = super.off(e, ...t); + if (e === "data" || e === "readable") { + this[p] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; + } + return r; + } + removeListener(e, ...t) { + return this.off(e, ...t); + } + push(e) { + if (this[g] && e !== null && this.readableLength === 0) { + consumePush(this[g], e); + return this[p] ? super.push(e) : true; + } + return super.push(e); + } + async text() { + return consume(this, "text"); + } + async json() { + return consume(this, "json"); + } + async blob() { + return consume(this, "blob"); + } + async arrayBuffer() { + return consume(this, "arrayBuffer"); + } + async formData() { + throw new A(); + } + get bodyUsed() { + return a.isDisturbed(this); + } + get body() { + if (!this[d]) { + this[d] = c(this); + if (this[g]) { + this[d].getReader(); + s(this[d].locked); + } + } + return this[d]; + } + dump(e) { + let t = e && Number.isFinite(e.limit) ? e.limit : 262144; + const r = e && e.signal; + if (r) { + try { + if (typeof r !== "object" || !("aborted" in r)) { + throw new i("signal must be an AbortSignal"); + } + a.throwIfAborted(r); + } catch (e) { + return Promise.reject(e); + } + } + if (this.closed) { + return Promise.resolve(null); + } + return new Promise((e, s) => { + const o = r + ? a.addAbortListener(r, () => { + this.destroy(); + }) + : noop; + this.on("close", function () { + o(); + if (r && r.aborted) { + s(r.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" })); + } else { + e(null); + } + }) + .on("error", noop) + .on("data", function (e) { + t -= e.length; + if (t <= 0) { + this.destroy(); + } + }) + .resume(); + }); + } + }; + function isLocked(e) { + return (e[d] && e[d].locked === true) || e[g]; + } + function isUnusable(e) { + return a.isDisturbed(e) || isLocked(e); + } + async function consume(e, t) { + if (isUnusable(e)) { + throw new TypeError("unusable"); + } + s(!e[g]); + return new Promise((r, s) => { + e[g] = { type: t, stream: e, resolve: r, reject: s, length: 0, body: [] }; + e.on("error", function (e) { + consumeFinish(this[g], e); + }).on("close", function () { + if (this[g].body !== null) { + consumeFinish(this[g], new n()); + } + }); + process.nextTick(consumeStart, e[g]); + }); + } + function consumeStart(e) { + if (e.body === null) { + return; + } + const { _readableState: t } = e.stream; + for (const r of t.buffer) { + consumePush(e, r); + } + if (t.endEmitted) { + consumeEnd(this[g]); + } else { + e.stream.on("end", function () { + consumeEnd(this[g]); + }); + } + e.stream.resume(); + while (e.stream.read() != null) {} + } + function consumeEnd(e) { + const { type: t, body: s, resolve: o, stream: n, length: A } = e; + try { + if (t === "text") { + o(u(Buffer.concat(s))); + } else if (t === "json") { + o(JSON.parse(Buffer.concat(s))); + } else if (t === "arrayBuffer") { + const e = new Uint8Array(A); + let t = 0; + for (const r of s) { + e.set(r, t); + t += r.byteLength; + } + o(e.buffer); + } else if (t === "blob") { + if (!l) { + l = r(181).Blob; + } + o(new l(s, { type: n[h] })); + } + consumeFinish(e); + } catch (e) { + n.destroy(e); + } + } + function consumePush(e, t) { + e.length += t.length; + e.body.push(t); + } + function consumeFinish(e, t) { + if (e.body === null) { + return; + } + if (t) { + e.reject(t); + } else { + e.resolve(); + } + e.type = null; + e.stream = null; + e.resolve = null; + e.reject = null; + e.length = 0; + e.body = null; + } + }, + 7655: (e, t, r) => { + const s = r(2613); + const { ResponseStatusCodeError: o } = r(8707); + const { toUSVString: n } = r(3440); + async function getResolveErrorBodyCallback({ callback: e, body: t, contentType: r, statusCode: A, statusMessage: i, headers: a }) { + s(t); + let c = []; + let u = 0; + for await (const e of t) { + c.push(e); + u += e.length; + if (u > 128 * 1024) { + c = null; + break; + } + } + if (A === 204 || !r || !c) { + process.nextTick(e, new o(`Response status code ${A}${i ? `: ${i}` : ""}`, A, a)); + return; + } + try { + if (r.startsWith("application/json")) { + const t = JSON.parse(n(Buffer.concat(c))); + process.nextTick(e, new o(`Response status code ${A}${i ? `: ${i}` : ""}`, A, a, t)); + return; + } + if (r.startsWith("text/")) { + const t = n(Buffer.concat(c)); + process.nextTick(e, new o(`Response status code ${A}${i ? `: ${i}` : ""}`, A, a, t)); + return; + } + } catch (e) {} + process.nextTick(e, new o(`Response status code ${A}${i ? `: ${i}` : ""}`, A, a)); + } + e.exports = { getResolveErrorBodyCallback: getResolveErrorBodyCallback }; + }, + 1093: (e, t, r) => { + const { BalancedPoolMissingUpstreamError: s, InvalidArgumentError: o } = r(8707); + const { PoolBase: n, kClients: A, kNeedDrain: i, kAddClient: a, kRemoveClient: c, kGetDispatcher: u } = r(8640); + const l = r(5076); + const { kUrl: g, kInterceptors: p } = r(6443); + const { parseOrigin: d } = r(3440); + const E = Symbol("factory"); + const h = Symbol("options"); + const I = Symbol("kGreatestCommonDivisor"); + const C = Symbol("kCurrentWeight"); + const m = Symbol("kIndex"); + const Q = Symbol("kWeight"); + const B = Symbol("kMaxWeightPerServer"); + const y = Symbol("kErrorPenalty"); + function getGreatestCommonDivisor(e, t) { + if (t === 0) return e; + return getGreatestCommonDivisor(t, e % t); + } + function defaultFactory(e, t) { + return new l(e, t); + } + class BalancedPool extends n { + constructor(e = [], { factory: t = defaultFactory, ...r } = {}) { + super(); + this[h] = r; + this[m] = -1; + this[C] = 0; + this[B] = this[h].maxWeightPerServer || 100; + this[y] = this[h].errorPenalty || 15; + if (!Array.isArray(e)) { + e = [e]; + } + if (typeof t !== "function") { + throw new o("factory must be a function."); + } + this[p] = r.interceptors && r.interceptors.BalancedPool && Array.isArray(r.interceptors.BalancedPool) ? r.interceptors.BalancedPool : []; + this[E] = t; + for (const t of e) { + this.addUpstream(t); + } + this._updateBalancedPoolStats(); + } + addUpstream(e) { + const t = d(e).origin; + if (this[A].find((e) => e[g].origin === t && e.closed !== true && e.destroyed !== true)) { + return this; + } + const r = this[E](t, Object.assign({}, this[h])); + this[a](r); + r.on("connect", () => { + r[Q] = Math.min(this[B], r[Q] + this[y]); + }); + r.on("connectionError", () => { + r[Q] = Math.max(1, r[Q] - this[y]); + this._updateBalancedPoolStats(); + }); + r.on("disconnect", (...e) => { + const t = e[2]; + if (t && t.code === "UND_ERR_SOCKET") { + r[Q] = Math.max(1, r[Q] - this[y]); + this._updateBalancedPoolStats(); + } + }); + for (const e of this[A]) { + e[Q] = this[B]; + } + this._updateBalancedPoolStats(); + return this; + } + _updateBalancedPoolStats() { + this[I] = this[A].map((e) => e[Q]).reduce(getGreatestCommonDivisor, 0); + } + removeUpstream(e) { + const t = d(e).origin; + const r = this[A].find((e) => e[g].origin === t && e.closed !== true && e.destroyed !== true); + if (r) { + this[c](r); + } + return this; + } + get upstreams() { + return this[A].filter((e) => e.closed !== true && e.destroyed !== true).map((e) => e[g].origin); + } + [u]() { + if (this[A].length === 0) { + throw new s(); + } + const e = this[A].find((e) => !e[i] && e.closed !== true && e.destroyed !== true); + if (!e) { + return; + } + const t = this[A].map((e) => e[i]).reduce((e, t) => e && t, true); + if (t) { + return; + } + let r = 0; + let o = this[A].findIndex((e) => !e[i]); + while (r++ < this[A].length) { + this[m] = (this[m] + 1) % this[A].length; + const e = this[A][this[m]]; + if (e[Q] > this[A][o][Q] && !e[i]) { + o = this[m]; + } + if (this[m] === 0) { + this[C] = this[C] - this[I]; + if (this[C] <= 0) { + this[C] = this[B]; + } + } + if (e[Q] >= this[C] && !e[i]) { + return e; + } + } + this[C] = this[A][o][Q]; + this[m] = o; + return this[A][o]; + } + } + e.exports = BalancedPool; + }, + 479: (e, t, r) => { + const { kConstruct: s } = r(296); + const { urlEquals: o, fieldValues: n } = r(3993); + const { kEnumerableProperty: A, isDisturbed: i } = r(3440); + const { kHeadersList: a } = r(6443); + const { webidl: c } = r(4222); + const { Response: u, cloneResponse: l } = r(8676); + const { Request: g } = r(5194); + const { kState: p, kHeaders: d, kGuard: E, kRealm: h } = r(9710); + const { fetching: I } = r(2315); + const { urlIsHttpHttpsScheme: C, createDeferredPromise: m, readAllBytes: Q } = r(5523); + const B = r(2613); + const { getGlobalDispatcher: y } = r(2581); + class Cache { + #e; + constructor() { + if (arguments[0] !== s) { + c.illegalConstructor(); + } + this.#e = arguments[1]; + } + async match(e, t = {}) { + c.brandCheck(this, Cache); + c.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); + e = c.converters.RequestInfo(e); + t = c.converters.CacheQueryOptions(t); + const r = await this.matchAll(e, t); + if (r.length === 0) { + return; + } + return r[0]; + } + async matchAll(e = undefined, t = {}) { + c.brandCheck(this, Cache); + if (e !== undefined) e = c.converters.RequestInfo(e); + t = c.converters.CacheQueryOptions(t); + let r = null; + if (e !== undefined) { + if (e instanceof g) { + r = e[p]; + if (r.method !== "GET" && !t.ignoreMethod) { + return []; + } + } else if (typeof e === "string") { + r = new g(e)[p]; + } + } + const s = []; + if (e === undefined) { + for (const e of this.#e) { + s.push(e[1]); + } + } else { + const e = this.#t(r, t); + for (const t of e) { + s.push(t[1]); + } + } + const o = []; + for (const e of s) { + const t = new u(e.body?.source ?? null); + const r = t[p].body; + t[p] = e; + t[p].body = r; + t[d][a] = e.headersList; + t[d][E] = "immutable"; + o.push(t); + } + return Object.freeze(o); + } + async add(e) { + c.brandCheck(this, Cache); + c.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); + e = c.converters.RequestInfo(e); + const t = [e]; + const r = this.addAll(t); + return await r; + } + async addAll(e) { + c.brandCheck(this, Cache); + c.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" }); + e = c.converters["sequence"](e); + const t = []; + const r = []; + for (const t of e) { + if (typeof t === "string") { + continue; + } + const e = t[p]; + if (!C(e.url) || e.method !== "GET") { + throw c.errors.exception({ header: "Cache.addAll", message: "Expected http/s scheme when method is not GET." }); + } + } + const s = []; + for (const o of e) { + const e = new g(o)[p]; + if (!C(e.url)) { + throw c.errors.exception({ header: "Cache.addAll", message: "Expected http/s scheme." }); + } + e.initiator = "fetch"; + e.destination = "subresource"; + r.push(e); + const A = m(); + s.push( + I({ + request: e, + dispatcher: y(), + processResponse(e) { + if (e.type === "error" || e.status === 206 || e.status < 200 || e.status > 299) { + A.reject(c.errors.exception({ header: "Cache.addAll", message: "Received an invalid status code or the request failed." })); + } else if (e.headersList.contains("vary")) { + const t = n(e.headersList.get("vary")); + for (const e of t) { + if (e === "*") { + A.reject(c.errors.exception({ header: "Cache.addAll", message: "invalid vary field value" })); + for (const e of s) { + e.abort(); + } + return; + } + } + } + }, + processResponseEndOfBody(e) { + if (e.aborted) { + A.reject(new DOMException("aborted", "AbortError")); + return; + } + A.resolve(e); + }, + }) + ); + t.push(A.promise); + } + const o = Promise.all(t); + const A = await o; + const i = []; + let a = 0; + for (const e of A) { + const t = { type: "put", request: r[a], response: e }; + i.push(t); + a++; + } + const u = m(); + let l = null; + try { + this.#r(i); + } catch (e) { + l = e; + } + queueMicrotask(() => { + if (l === null) { + u.resolve(undefined); + } else { + u.reject(l); + } + }); + return u.promise; + } + async put(e, t) { + c.brandCheck(this, Cache); + c.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); + e = c.converters.RequestInfo(e); + t = c.converters.Response(t); + let r = null; + if (e instanceof g) { + r = e[p]; + } else { + r = new g(e)[p]; + } + if (!C(r.url) || r.method !== "GET") { + throw c.errors.exception({ header: "Cache.put", message: "Expected an http/s scheme when method is not GET" }); + } + const s = t[p]; + if (s.status === 206) { + throw c.errors.exception({ header: "Cache.put", message: "Got 206 status" }); + } + if (s.headersList.contains("vary")) { + const e = n(s.headersList.get("vary")); + for (const t of e) { + if (t === "*") { + throw c.errors.exception({ header: "Cache.put", message: "Got * vary field value" }); + } + } + } + if (s.body && (i(s.body.stream) || s.body.stream.locked)) { + throw c.errors.exception({ header: "Cache.put", message: "Response body is locked or disturbed" }); + } + const o = l(s); + const A = m(); + if (s.body != null) { + const e = s.body.stream; + const t = e.getReader(); + Q(t).then(A.resolve, A.reject); + } else { + A.resolve(undefined); + } + const a = []; + const u = { type: "put", request: r, response: o }; + a.push(u); + const d = await A.promise; + if (o.body != null) { + o.body.source = d; + } + const E = m(); + let h = null; + try { + this.#r(a); + } catch (e) { + h = e; + } + queueMicrotask(() => { + if (h === null) { + E.resolve(); + } else { + E.reject(h); + } + }); + return E.promise; + } + async delete(e, t = {}) { + c.brandCheck(this, Cache); + c.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); + e = c.converters.RequestInfo(e); + t = c.converters.CacheQueryOptions(t); + let r = null; + if (e instanceof g) { + r = e[p]; + if (r.method !== "GET" && !t.ignoreMethod) { + return false; + } + } else { + B(typeof e === "string"); + r = new g(e)[p]; + } + const s = []; + const o = { type: "delete", request: r, options: t }; + s.push(o); + const n = m(); + let A = null; + let i; + try { + i = this.#r(s); + } catch (e) { + A = e; + } + queueMicrotask(() => { + if (A === null) { + n.resolve(!!i?.length); + } else { + n.reject(A); + } + }); + return n.promise; + } + async keys(e = undefined, t = {}) { + c.brandCheck(this, Cache); + if (e !== undefined) e = c.converters.RequestInfo(e); + t = c.converters.CacheQueryOptions(t); + let r = null; + if (e !== undefined) { + if (e instanceof g) { + r = e[p]; + if (r.method !== "GET" && !t.ignoreMethod) { + return []; + } + } else if (typeof e === "string") { + r = new g(e)[p]; + } + } + const s = m(); + const o = []; + if (e === undefined) { + for (const e of this.#e) { + o.push(e[0]); + } + } else { + const e = this.#t(r, t); + for (const t of e) { + o.push(t[0]); + } + } + queueMicrotask(() => { + const e = []; + for (const t of o) { + const r = new g("https://a"); + r[p] = t; + r[d][a] = t.headersList; + r[d][E] = "immutable"; + r[h] = t.client; + e.push(r); + } + s.resolve(Object.freeze(e)); + }); + return s.promise; + } + #r(e) { + const t = this.#e; + const r = [...t]; + const s = []; + const o = []; + try { + for (const r of e) { + if (r.type !== "delete" && r.type !== "put") { + throw c.errors.exception({ header: "Cache.#batchCacheOperations", message: 'operation type does not match "delete" or "put"' }); + } + if (r.type === "delete" && r.response != null) { + throw c.errors.exception({ header: "Cache.#batchCacheOperations", message: "delete operation should not have an associated response" }); + } + if (this.#t(r.request, r.options, s).length) { + throw new DOMException("???", "InvalidStateError"); + } + let e; + if (r.type === "delete") { + e = this.#t(r.request, r.options); + if (e.length === 0) { + return []; + } + for (const r of e) { + const e = t.indexOf(r); + B(e !== -1); + t.splice(e, 1); + } + } else if (r.type === "put") { + if (r.response == null) { + throw c.errors.exception({ header: "Cache.#batchCacheOperations", message: "put operation should have an associated response" }); + } + const o = r.request; + if (!C(o.url)) { + throw c.errors.exception({ header: "Cache.#batchCacheOperations", message: "expected http or https scheme" }); + } + if (o.method !== "GET") { + throw c.errors.exception({ header: "Cache.#batchCacheOperations", message: "not get method" }); + } + if (r.options != null) { + throw c.errors.exception({ header: "Cache.#batchCacheOperations", message: "options must not be defined" }); + } + e = this.#t(r.request); + for (const r of e) { + const e = t.indexOf(r); + B(e !== -1); + t.splice(e, 1); + } + t.push([r.request, r.response]); + s.push([r.request, r.response]); + } + o.push([r.request, r.response]); + } + return o; + } catch (e) { + this.#e.length = 0; + this.#e = r; + throw e; + } + } + #t(e, t, r) { + const s = []; + const o = r ?? this.#e; + for (const r of o) { + const [o, n] = r; + if (this.#s(e, o, n, t)) { + s.push(r); + } + } + return s; + } + #s(e, t, r = null, s) { + const A = new URL(e.url); + const i = new URL(t.url); + if (s?.ignoreSearch) { + i.search = ""; + A.search = ""; + } + if (!o(A, i, true)) { + return false; + } + if (r == null || s?.ignoreVary || !r.headersList.contains("vary")) { + return true; + } + const a = n(r.headersList.get("vary")); + for (const r of a) { + if (r === "*") { + return false; + } + const s = t.headersList.get(r); + const o = e.headersList.get(r); + if (s !== o) { + return false; + } + } + return true; + } + } + Object.defineProperties(Cache.prototype, { + [Symbol.toStringTag]: { value: "Cache", configurable: true }, + match: A, + matchAll: A, + add: A, + addAll: A, + put: A, + delete: A, + keys: A, + }); + const b = [ + { key: "ignoreSearch", converter: c.converters.boolean, defaultValue: false }, + { key: "ignoreMethod", converter: c.converters.boolean, defaultValue: false }, + { key: "ignoreVary", converter: c.converters.boolean, defaultValue: false }, + ]; + c.converters.CacheQueryOptions = c.dictionaryConverter(b); + c.converters.MultiCacheQueryOptions = c.dictionaryConverter([...b, { key: "cacheName", converter: c.converters.DOMString }]); + c.converters.Response = c.interfaceConverter(u); + c.converters["sequence"] = c.sequenceConverter(c.converters.RequestInfo); + e.exports = { Cache: Cache }; + }, + 4738: (e, t, r) => { + const { kConstruct: s } = r(296); + const { Cache: o } = r(479); + const { webidl: n } = r(4222); + const { kEnumerableProperty: A } = r(3440); + class CacheStorage { + #o = new Map(); + constructor() { + if (arguments[0] !== s) { + n.illegalConstructor(); + } + } + async match(e, t = {}) { + n.brandCheck(this, CacheStorage); + n.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" }); + e = n.converters.RequestInfo(e); + t = n.converters.MultiCacheQueryOptions(t); + if (t.cacheName != null) { + if (this.#o.has(t.cacheName)) { + const r = this.#o.get(t.cacheName); + const n = new o(s, r); + return await n.match(e, t); + } + } else { + for (const r of this.#o.values()) { + const n = new o(s, r); + const A = await n.match(e, t); + if (A !== undefined) { + return A; + } + } + } + } + async has(e) { + n.brandCheck(this, CacheStorage); + n.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" }); + e = n.converters.DOMString(e); + return this.#o.has(e); + } + async open(e) { + n.brandCheck(this, CacheStorage); + n.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" }); + e = n.converters.DOMString(e); + if (this.#o.has(e)) { + const t = this.#o.get(e); + return new o(s, t); + } + const t = []; + this.#o.set(e, t); + return new o(s, t); + } + async delete(e) { + n.brandCheck(this, CacheStorage); + n.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" }); + e = n.converters.DOMString(e); + return this.#o.delete(e); + } + async keys() { + n.brandCheck(this, CacheStorage); + const e = this.#o.keys(); + return [...e]; + } + } + Object.defineProperties(CacheStorage.prototype, { + [Symbol.toStringTag]: { value: "CacheStorage", configurable: true }, + match: A, + has: A, + open: A, + delete: A, + keys: A, + }); + e.exports = { CacheStorage: CacheStorage }; + }, + 296: (e, t, r) => { + e.exports = { kConstruct: r(6443).kConstruct }; + }, + 3993: (e, t, r) => { + const s = r(2613); + const { URLSerializer: o } = r(4322); + const { isValidHeaderName: n } = r(5523); + function urlEquals(e, t, r = false) { + const s = o(e, r); + const n = o(t, r); + return s === n; + } + function fieldValues(e) { + s(e !== null); + const t = []; + for (let r of e.split(",")) { + r = r.trim(); + if (!r.length) { + continue; + } else if (!n(r)) { + continue; + } + t.push(r); + } + return t; + } + e.exports = { urlEquals: urlEquals, fieldValues: fieldValues }; + }, + 6197: (e, t, r) => { + const s = r(2613); + const o = r(9278); + const n = r(8611); + const { pipeline: A } = r(2203); + const i = r(3440); + const a = r(8804); + const c = r(4655); + const u = r(1); + const { + RequestContentLengthMismatchError: l, + ResponseContentLengthMismatchError: g, + InvalidArgumentError: p, + RequestAbortedError: d, + HeadersTimeoutError: E, + HeadersOverflowError: h, + SocketError: I, + InformationalError: C, + BodyTimeoutError: m, + HTTPParserError: Q, + ResponseExceededMaxSizeError: B, + ClientDestroyedError: y, + } = r(8707); + const b = r(9136); + const { + kUrl: w, + kReset: R, + kServerName: T, + kClient: k, + kBusy: D, + kParser: _, + kConnect: F, + kBlocking: S, + kResuming: v, + kRunning: U, + kPending: N, + kSize: O, + kWriting: G, + kQueue: L, + kConnected: P, + kConnecting: M, + kNeedDrain: x, + kNoRef: H, + kKeepAliveDefaultTimeout: V, + kHostHeader: Y, + kPendingIdx: J, + kRunningIdx: q, + kError: j, + kPipelining: W, + kSocket: K, + kKeepAliveTimeoutValue: z, + kMaxHeadersSize: Z, + kKeepAliveMaxTimeout: X, + kKeepAliveTimeoutThreshold: $, + kHeadersTimeout: ee, + kBodyTimeout: te, + kStrictContentLength: re, + kConnector: se, + kMaxRedirections: oe, + kMaxRequests: ne, + kCounter: Ae, + kClose: ie, + kDestroy: ae, + kDispatch: ce, + kInterceptors: ue, + kLocalAddress: le, + kMaxResponseSize: ge, + kHTTPConnVersion: pe, + kHost: de, + kHTTP2Session: Ee, + kHTTP2SessionState: he, + kHTTP2BuildRequest: fe, + kHTTP2CopyHeaders: Ie, + kHTTP1BuildRequest: Ce, + } = r(6443); + let me; + try { + me = r(5675); + } catch { + me = { constants: {} }; + } + const { + constants: { + HTTP2_HEADER_AUTHORITY: Qe, + HTTP2_HEADER_METHOD: Be, + HTTP2_HEADER_PATH: ye, + HTTP2_HEADER_SCHEME: be, + HTTP2_HEADER_CONTENT_LENGTH: we, + HTTP2_HEADER_EXPECT: Re, + HTTP2_HEADER_STATUS: Te, + }, + } = me; + let ke = false; + const De = Buffer[Symbol.species]; + const _e = Symbol("kClosedResolve"); + const Fe = {}; + try { + const e = r(1637); + Fe.sendHeaders = e.channel("undici:client:sendHeaders"); + Fe.beforeConnect = e.channel("undici:client:beforeConnect"); + Fe.connectError = e.channel("undici:client:connectError"); + Fe.connected = e.channel("undici:client:connected"); + } catch { + Fe.sendHeaders = { hasSubscribers: false }; + Fe.beforeConnect = { hasSubscribers: false }; + Fe.connectError = { hasSubscribers: false }; + Fe.connected = { hasSubscribers: false }; + } + class Client extends u { + constructor( + e, + { + interceptors: t, + maxHeaderSize: r, + headersTimeout: s, + socketTimeout: A, + requestTimeout: a, + connectTimeout: c, + bodyTimeout: u, + idleTimeout: l, + keepAlive: g, + keepAliveTimeout: d, + maxKeepAliveTimeout: E, + keepAliveMaxTimeout: h, + keepAliveTimeoutThreshold: I, + socketPath: C, + pipelining: m, + tls: Q, + strictContentLength: B, + maxCachedSessions: y, + maxRedirections: R, + connect: k, + maxRequestsPerClient: D, + localAddress: _, + maxResponseSize: F, + autoSelectFamily: S, + autoSelectFamilyAttemptTimeout: U, + allowH2: N, + maxConcurrentStreams: O, + } = {} + ) { + super(); + if (g !== undefined) { + throw new p("unsupported keepAlive, use pipelining=0 instead"); + } + if (A !== undefined) { + throw new p("unsupported socketTimeout, use headersTimeout & bodyTimeout instead"); + } + if (a !== undefined) { + throw new p("unsupported requestTimeout, use headersTimeout & bodyTimeout instead"); + } + if (l !== undefined) { + throw new p("unsupported idleTimeout, use keepAliveTimeout instead"); + } + if (E !== undefined) { + throw new p("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead"); + } + if (r != null && !Number.isFinite(r)) { + throw new p("invalid maxHeaderSize"); + } + if (C != null && typeof C !== "string") { + throw new p("invalid socketPath"); + } + if (c != null && (!Number.isFinite(c) || c < 0)) { + throw new p("invalid connectTimeout"); + } + if (d != null && (!Number.isFinite(d) || d <= 0)) { + throw new p("invalid keepAliveTimeout"); + } + if (h != null && (!Number.isFinite(h) || h <= 0)) { + throw new p("invalid keepAliveMaxTimeout"); + } + if (I != null && !Number.isFinite(I)) { + throw new p("invalid keepAliveTimeoutThreshold"); + } + if (s != null && (!Number.isInteger(s) || s < 0)) { + throw new p("headersTimeout must be a positive integer or zero"); + } + if (u != null && (!Number.isInteger(u) || u < 0)) { + throw new p("bodyTimeout must be a positive integer or zero"); + } + if (k != null && typeof k !== "function" && typeof k !== "object") { + throw new p("connect must be a function or an object"); + } + if (R != null && (!Number.isInteger(R) || R < 0)) { + throw new p("maxRedirections must be a positive number"); + } + if (D != null && (!Number.isInteger(D) || D < 0)) { + throw new p("maxRequestsPerClient must be a positive number"); + } + if (_ != null && (typeof _ !== "string" || o.isIP(_) === 0)) { + throw new p("localAddress must be valid string IP address"); + } + if (F != null && (!Number.isInteger(F) || F < -1)) { + throw new p("maxResponseSize must be a positive number"); + } + if (U != null && (!Number.isInteger(U) || U < -1)) { + throw new p("autoSelectFamilyAttemptTimeout must be a positive number"); + } + if (N != null && typeof N !== "boolean") { + throw new p("allowH2 must be a valid boolean value"); + } + if (O != null && (typeof O !== "number" || O < 1)) { + throw new p("maxConcurrentStreams must be a possitive integer, greater than 0"); + } + if (typeof k !== "function") { + k = b({ + ...Q, + maxCachedSessions: y, + allowH2: N, + socketPath: C, + timeout: c, + ...(i.nodeHasAutoSelectFamily && S ? { autoSelectFamily: S, autoSelectFamilyAttemptTimeout: U } : undefined), + ...k, + }); + } + this[ue] = t && t.Client && Array.isArray(t.Client) ? t.Client : [ve({ maxRedirections: R })]; + this[w] = i.parseOrigin(e); + this[se] = k; + this[K] = null; + this[W] = m != null ? m : 1; + this[Z] = r || n.maxHeaderSize; + this[V] = d == null ? 4e3 : d; + this[X] = h == null ? 6e5 : h; + this[$] = I == null ? 1e3 : I; + this[z] = this[V]; + this[T] = null; + this[le] = _ != null ? _ : null; + this[v] = 0; + this[x] = 0; + this[Y] = `host: ${this[w].hostname}${this[w].port ? `:${this[w].port}` : ""}\r\n`; + this[te] = u != null ? u : 3e5; + this[ee] = s != null ? s : 3e5; + this[re] = B == null ? true : B; + this[oe] = R; + this[ne] = D; + this[_e] = null; + this[ge] = F > -1 ? F : -1; + this[pe] = "h1"; + this[Ee] = null; + this[he] = !N ? null : { openStreams: 0, maxConcurrentStreams: O != null ? O : 100 }; + this[de] = `${this[w].hostname}${this[w].port ? `:${this[w].port}` : ""}`; + this[L] = []; + this[q] = 0; + this[J] = 0; + } + get pipelining() { + return this[W]; + } + set pipelining(e) { + this[W] = e; + resume(this, true); + } + get [N]() { + return this[L].length - this[J]; + } + get [U]() { + return this[J] - this[q]; + } + get [O]() { + return this[L].length - this[q]; + } + get [P]() { + return !!this[K] && !this[M] && !this[K].destroyed; + } + get [D]() { + const e = this[K]; + return (e && (e[R] || e[G] || e[S])) || this[O] >= (this[W] || 1) || this[N] > 0; + } + [F](e) { + connect(this); + this.once("connect", e); + } + [ce](e, t) { + const r = e.origin || this[w].origin; + const s = this[pe] === "h2" ? c[fe](r, e, t) : c[Ce](r, e, t); + this[L].push(s); + if (this[v]) { + } else if (i.bodyLength(s.body) == null && i.isIterable(s.body)) { + this[v] = 1; + process.nextTick(resume, this); + } else { + resume(this, true); + } + if (this[v] && this[x] !== 2 && this[D]) { + this[x] = 2; + } + return this[x] < 2; + } + async [ie]() { + return new Promise((e) => { + if (!this[O]) { + e(null); + } else { + this[_e] = e; + } + }); + } + async [ae](e) { + return new Promise((t) => { + const r = this[L].splice(this[J]); + for (let t = 0; t < r.length; t++) { + const s = r[t]; + errorRequest(this, s, e); + } + const callback = () => { + if (this[_e]) { + this[_e](); + this[_e] = null; + } + t(); + }; + if (this[Ee] != null) { + i.destroy(this[Ee], e); + this[Ee] = null; + this[he] = null; + } + if (!this[K]) { + queueMicrotask(callback); + } else { + i.destroy(this[K].on("close", callback), e); + } + resume(this); + }); + } + } + function onHttp2SessionError(e) { + s(e.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + this[K][j] = e; + onError(this[k], e); + } + function onHttp2FrameError(e, t, r) { + const s = new C(`HTTP/2: "frameError" received - type ${e}, code ${t}`); + if (r === 0) { + this[K][j] = s; + onError(this[k], s); + } + } + function onHttp2SessionEnd() { + i.destroy(this, new I("other side closed")); + i.destroy(this[K], new I("other side closed")); + } + function onHTTP2GoAway(e) { + const t = this[k]; + const r = new C(`HTTP/2: "GOAWAY" frame received with code ${e}`); + t[K] = null; + t[Ee] = null; + if (t.destroyed) { + s(this[N] === 0); + const e = t[L].splice(t[q]); + for (let t = 0; t < e.length; t++) { + const s = e[t]; + errorRequest(this, s, r); + } + } else if (t[U] > 0) { + const e = t[L][t[q]]; + t[L][t[q]++] = null; + errorRequest(t, e, r); + } + t[J] = t[q]; + s(t[U] === 0); + t.emit("disconnect", t[w], [t], r); + resume(t); + } + const Se = r(2824); + const ve = r(4415); + const Ue = Buffer.alloc(0); + async function lazyllhttp() { + const e = process.env.JEST_WORKER_ID ? r(3870) : undefined; + let t; + try { + t = await WebAssembly.compile(Buffer.from(r(3434), "base64")); + } catch (s) { + t = await WebAssembly.compile(Buffer.from(e || r(3870), "base64")); + } + return await WebAssembly.instantiate(t, { + env: { + wasm_on_url: (e, t, r) => 0, + wasm_on_status: (e, t, r) => { + s.strictEqual(Ge.ptr, e); + const o = t - Me + Le.byteOffset; + return Ge.onStatus(new De(Le.buffer, o, r)) || 0; + }, + wasm_on_message_begin: (e) => { + s.strictEqual(Ge.ptr, e); + return Ge.onMessageBegin() || 0; + }, + wasm_on_header_field: (e, t, r) => { + s.strictEqual(Ge.ptr, e); + const o = t - Me + Le.byteOffset; + return Ge.onHeaderField(new De(Le.buffer, o, r)) || 0; + }, + wasm_on_header_value: (e, t, r) => { + s.strictEqual(Ge.ptr, e); + const o = t - Me + Le.byteOffset; + return Ge.onHeaderValue(new De(Le.buffer, o, r)) || 0; + }, + wasm_on_headers_complete: (e, t, r, o) => { + s.strictEqual(Ge.ptr, e); + return Ge.onHeadersComplete(t, Boolean(r), Boolean(o)) || 0; + }, + wasm_on_body: (e, t, r) => { + s.strictEqual(Ge.ptr, e); + const o = t - Me + Le.byteOffset; + return Ge.onBody(new De(Le.buffer, o, r)) || 0; + }, + wasm_on_message_complete: (e) => { + s.strictEqual(Ge.ptr, e); + return Ge.onMessageComplete() || 0; + }, + }, + }); + } + let Ne = null; + let Oe = lazyllhttp(); + Oe.catch(); + let Ge = null; + let Le = null; + let Pe = 0; + let Me = null; + const xe = 1; + const He = 2; + const Ve = 3; + class Parser { + constructor(e, t, { exports: r }) { + s(Number.isFinite(e[Z]) && e[Z] > 0); + this.llhttp = r; + this.ptr = this.llhttp.llhttp_alloc(Se.TYPE.RESPONSE); + this.client = e; + this.socket = t; + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.statusCode = null; + this.statusText = ""; + this.upgrade = false; + this.headers = []; + this.headersSize = 0; + this.headersMaxSize = e[Z]; + this.shouldKeepAlive = false; + this.paused = false; + this.resume = this.resume.bind(this); + this.bytesRead = 0; + this.keepAlive = ""; + this.contentLength = ""; + this.connection = ""; + this.maxResponseSize = e[ge]; + } + setTimeout(e, t) { + this.timeoutType = t; + if (e !== this.timeoutValue) { + a.clearTimeout(this.timeout); + if (e) { + this.timeout = a.setTimeout(onParserTimeout, e, this); + if (this.timeout.unref) { + this.timeout.unref(); + } + } else { + this.timeout = null; + } + this.timeoutValue = e; + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + } + resume() { + if (this.socket.destroyed || !this.paused) { + return; + } + s(this.ptr != null); + s(Ge == null); + this.llhttp.llhttp_resume(this.ptr); + s(this.timeoutType === He); + if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + this.paused = false; + this.execute(this.socket.read() || Ue); + this.readMore(); + } + readMore() { + while (!this.paused && this.ptr) { + const e = this.socket.read(); + if (e === null) { + break; + } + this.execute(e); + } + } + execute(e) { + s(this.ptr != null); + s(Ge == null); + s(!this.paused); + const { socket: t, llhttp: r } = this; + if (e.length > Pe) { + if (Me) { + r.free(Me); + } + Pe = Math.ceil(e.length / 4096) * 4096; + Me = r.malloc(Pe); + } + new Uint8Array(r.memory.buffer, Me, Pe).set(e); + try { + let s; + try { + Le = e; + Ge = this; + s = r.llhttp_execute(this.ptr, Me, e.length); + } catch (e) { + throw e; + } finally { + Ge = null; + Le = null; + } + const o = r.llhttp_get_error_pos(this.ptr) - Me; + if (s === Se.ERROR.PAUSED_UPGRADE) { + this.onUpgrade(e.slice(o)); + } else if (s === Se.ERROR.PAUSED) { + this.paused = true; + t.unshift(e.slice(o)); + } else if (s !== Se.ERROR.OK) { + const t = r.llhttp_get_error_reason(this.ptr); + let n = ""; + if (t) { + const e = new Uint8Array(r.memory.buffer, t).indexOf(0); + n = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(r.memory.buffer, t, e).toString() + ")"; + } + throw new Q(n, Se.ERROR[s], e.slice(o)); + } + } catch (e) { + i.destroy(t, e); + } + } + destroy() { + s(this.ptr != null); + s(Ge == null); + this.llhttp.llhttp_free(this.ptr); + this.ptr = null; + a.clearTimeout(this.timeout); + this.timeout = null; + this.timeoutValue = null; + this.timeoutType = null; + this.paused = false; + } + onStatus(e) { + this.statusText = e.toString(); + } + onMessageBegin() { + const { socket: e, client: t } = this; + if (e.destroyed) { + return -1; + } + const r = t[L][t[q]]; + if (!r) { + return -1; + } + } + onHeaderField(e) { + const t = this.headers.length; + if ((t & 1) === 0) { + this.headers.push(e); + } else { + this.headers[t - 1] = Buffer.concat([this.headers[t - 1], e]); + } + this.trackHeader(e.length); + } + onHeaderValue(e) { + let t = this.headers.length; + if ((t & 1) === 1) { + this.headers.push(e); + t += 1; + } else { + this.headers[t - 1] = Buffer.concat([this.headers[t - 1], e]); + } + const r = this.headers[t - 2]; + if (r.length === 10 && r.toString().toLowerCase() === "keep-alive") { + this.keepAlive += e.toString(); + } else if (r.length === 10 && r.toString().toLowerCase() === "connection") { + this.connection += e.toString(); + } else if (r.length === 14 && r.toString().toLowerCase() === "content-length") { + this.contentLength += e.toString(); + } + this.trackHeader(e.length); + } + trackHeader(e) { + this.headersSize += e; + if (this.headersSize >= this.headersMaxSize) { + i.destroy(this.socket, new h()); + } + } + onUpgrade(e) { + const { upgrade: t, client: r, socket: o, headers: n, statusCode: A } = this; + s(t); + const a = r[L][r[q]]; + s(a); + s(!o.destroyed); + s(o === r[K]); + s(!this.paused); + s(a.upgrade || a.method === "CONNECT"); + this.statusCode = null; + this.statusText = ""; + this.shouldKeepAlive = null; + s(this.headers.length % 2 === 0); + this.headers = []; + this.headersSize = 0; + o.unshift(e); + o[_].destroy(); + o[_] = null; + o[k] = null; + o[j] = null; + o.removeListener("error", onSocketError) + .removeListener("readable", onSocketReadable) + .removeListener("end", onSocketEnd) + .removeListener("close", onSocketClose); + r[K] = null; + r[L][r[q]++] = null; + r.emit("disconnect", r[w], [r], new C("upgrade")); + try { + a.onUpgrade(A, n, o); + } catch (e) { + i.destroy(o, e); + } + resume(r); + } + onHeadersComplete(e, t, r) { + const { client: o, socket: n, headers: A, statusText: a } = this; + if (n.destroyed) { + return -1; + } + const c = o[L][o[q]]; + if (!c) { + return -1; + } + s(!this.upgrade); + s(this.statusCode < 200); + if (e === 100) { + i.destroy(n, new I("bad response", i.getSocketInfo(n))); + return -1; + } + if (t && !c.upgrade) { + i.destroy(n, new I("bad upgrade", i.getSocketInfo(n))); + return -1; + } + s.strictEqual(this.timeoutType, xe); + this.statusCode = e; + this.shouldKeepAlive = r || (c.method === "HEAD" && !n[R] && this.connection.toLowerCase() === "keep-alive"); + if (this.statusCode >= 200) { + const e = c.bodyTimeout != null ? c.bodyTimeout : o[te]; + this.setTimeout(e, He); + } else if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + if (c.method === "CONNECT") { + s(o[U] === 1); + this.upgrade = true; + return 2; + } + if (t) { + s(o[U] === 1); + this.upgrade = true; + return 2; + } + s(this.headers.length % 2 === 0); + this.headers = []; + this.headersSize = 0; + if (this.shouldKeepAlive && o[W]) { + const e = this.keepAlive ? i.parseKeepAliveTimeout(this.keepAlive) : null; + if (e != null) { + const t = Math.min(e - o[$], o[X]); + if (t <= 0) { + n[R] = true; + } else { + o[z] = t; + } + } else { + o[z] = o[V]; + } + } else { + n[R] = true; + } + const u = c.onHeaders(e, A, this.resume, a) === false; + if (c.aborted) { + return -1; + } + if (c.method === "HEAD") { + return 1; + } + if (e < 200) { + return 1; + } + if (n[S]) { + n[S] = false; + resume(o); + } + return u ? Se.ERROR.PAUSED : 0; + } + onBody(e) { + const { client: t, socket: r, statusCode: o, maxResponseSize: n } = this; + if (r.destroyed) { + return -1; + } + const A = t[L][t[q]]; + s(A); + s.strictEqual(this.timeoutType, He); + if (this.timeout) { + if (this.timeout.refresh) { + this.timeout.refresh(); + } + } + s(o >= 200); + if (n > -1 && this.bytesRead + e.length > n) { + i.destroy(r, new B()); + return -1; + } + this.bytesRead += e.length; + if (A.onData(e) === false) { + return Se.ERROR.PAUSED; + } + } + onMessageComplete() { + const { client: e, socket: t, statusCode: r, upgrade: o, headers: n, contentLength: A, bytesRead: a, shouldKeepAlive: c } = this; + if (t.destroyed && (!r || c)) { + return -1; + } + if (o) { + return; + } + const u = e[L][e[q]]; + s(u); + s(r >= 100); + this.statusCode = null; + this.statusText = ""; + this.bytesRead = 0; + this.contentLength = ""; + this.keepAlive = ""; + this.connection = ""; + s(this.headers.length % 2 === 0); + this.headers = []; + this.headersSize = 0; + if (r < 200) { + return; + } + if (u.method !== "HEAD" && A && a !== parseInt(A, 10)) { + i.destroy(t, new g()); + return -1; + } + u.onComplete(n); + e[L][e[q]++] = null; + if (t[G]) { + s.strictEqual(e[U], 0); + i.destroy(t, new C("reset")); + return Se.ERROR.PAUSED; + } else if (!c) { + i.destroy(t, new C("reset")); + return Se.ERROR.PAUSED; + } else if (t[R] && e[U] === 0) { + i.destroy(t, new C("reset")); + return Se.ERROR.PAUSED; + } else if (e[W] === 1) { + setImmediate(resume, e); + } else { + resume(e); + } + } + } + function onParserTimeout(e) { + const { socket: t, timeoutType: r, client: o } = e; + if (r === xe) { + if (!t[G] || t.writableNeedDrain || o[U] > 1) { + s(!e.paused, "cannot be paused while waiting for headers"); + i.destroy(t, new E()); + } + } else if (r === He) { + if (!e.paused) { + i.destroy(t, new m()); + } + } else if (r === Ve) { + s(o[U] === 0 && o[z]); + i.destroy(t, new C("socket idle timeout")); + } + } + function onSocketReadable() { + const { [_]: e } = this; + if (e) { + e.readMore(); + } + } + function onSocketError(e) { + const { [k]: t, [_]: r } = this; + s(e.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); + if (t[pe] !== "h2") { + if (e.code === "ECONNRESET" && r.statusCode && !r.shouldKeepAlive) { + r.onMessageComplete(); + return; + } + } + this[j] = e; + onError(this[k], e); + } + function onError(e, t) { + if (e[U] === 0 && t.code !== "UND_ERR_INFO" && t.code !== "UND_ERR_SOCKET") { + s(e[J] === e[q]); + const r = e[L].splice(e[q]); + for (let s = 0; s < r.length; s++) { + const o = r[s]; + errorRequest(e, o, t); + } + s(e[O] === 0); + } + } + function onSocketEnd() { + const { [_]: e, [k]: t } = this; + if (t[pe] !== "h2") { + if (e.statusCode && !e.shouldKeepAlive) { + e.onMessageComplete(); + return; + } + } + i.destroy(this, new I("other side closed", i.getSocketInfo(this))); + } + function onSocketClose() { + const { [k]: e, [_]: t } = this; + if (e[pe] === "h1" && t) { + if (!this[j] && t.statusCode && !t.shouldKeepAlive) { + t.onMessageComplete(); + } + this[_].destroy(); + this[_] = null; + } + const r = this[j] || new I("closed", i.getSocketInfo(this)); + e[K] = null; + if (e.destroyed) { + s(e[N] === 0); + const t = e[L].splice(e[q]); + for (let s = 0; s < t.length; s++) { + const o = t[s]; + errorRequest(e, o, r); + } + } else if (e[U] > 0 && r.code !== "UND_ERR_INFO") { + const t = e[L][e[q]]; + e[L][e[q]++] = null; + errorRequest(e, t, r); + } + e[J] = e[q]; + s(e[U] === 0); + e.emit("disconnect", e[w], [e], r); + resume(e); + } + async function connect(e) { + s(!e[M]); + s(!e[K]); + let { host: t, hostname: r, protocol: n, port: A } = e[w]; + if (r[0] === "[") { + const e = r.indexOf("]"); + s(e !== -1); + const t = r.substring(1, e); + s(o.isIP(t)); + r = t; + } + e[M] = true; + if (Fe.beforeConnect.hasSubscribers) { + Fe.beforeConnect.publish({ connectParams: { host: t, hostname: r, protocol: n, port: A, servername: e[T], localAddress: e[le] }, connector: e[se] }); + } + try { + const o = await new Promise((s, o) => { + e[se]({ host: t, hostname: r, protocol: n, port: A, servername: e[T], localAddress: e[le] }, (e, t) => { + if (e) { + o(e); + } else { + s(t); + } + }); + }); + if (e.destroyed) { + i.destroy( + o.on("error", () => {}), + new y() + ); + return; + } + e[M] = false; + s(o); + const a = o.alpnProtocol === "h2"; + if (a) { + if (!ke) { + ke = true; + process.emitWarning("H2 support is experimental, expect them to change at any time.", { code: "UNDICI-H2" }); + } + const t = me.connect(e[w], { createConnection: () => o, peerMaxConcurrentStreams: e[he].maxConcurrentStreams }); + e[pe] = "h2"; + t[k] = e; + t[K] = o; + t.on("error", onHttp2SessionError); + t.on("frameError", onHttp2FrameError); + t.on("end", onHttp2SessionEnd); + t.on("goaway", onHTTP2GoAway); + t.on("close", onSocketClose); + t.unref(); + e[Ee] = t; + o[Ee] = t; + } else { + if (!Ne) { + Ne = await Oe; + Oe = null; + } + o[H] = false; + o[G] = false; + o[R] = false; + o[S] = false; + o[_] = new Parser(e, o, Ne); + } + o[Ae] = 0; + o[ne] = e[ne]; + o[k] = e; + o[j] = null; + o.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose); + e[K] = o; + if (Fe.connected.hasSubscribers) { + Fe.connected.publish({ + connectParams: { host: t, hostname: r, protocol: n, port: A, servername: e[T], localAddress: e[le] }, + connector: e[se], + socket: o, + }); + } + e.emit("connect", e[w], [e]); + } catch (o) { + if (e.destroyed) { + return; + } + e[M] = false; + if (Fe.connectError.hasSubscribers) { + Fe.connectError.publish({ + connectParams: { host: t, hostname: r, protocol: n, port: A, servername: e[T], localAddress: e[le] }, + connector: e[se], + error: o, + }); + } + if (o.code === "ERR_TLS_CERT_ALTNAME_INVALID") { + s(e[U] === 0); + while (e[N] > 0 && e[L][e[J]].servername === e[T]) { + const t = e[L][e[J]++]; + errorRequest(e, t, o); + } + } else { + onError(e, o); + } + e.emit("connectionError", e[w], [e], o); + } + resume(e); + } + function emitDrain(e) { + e[x] = 0; + e.emit("drain", e[w], [e]); + } + function resume(e, t) { + if (e[v] === 2) { + return; + } + e[v] = 2; + _resume(e, t); + e[v] = 0; + if (e[q] > 256) { + e[L].splice(0, e[q]); + e[J] -= e[q]; + e[q] = 0; + } + } + function _resume(e, t) { + while (true) { + if (e.destroyed) { + s(e[N] === 0); + return; + } + if (e[_e] && !e[O]) { + e[_e](); + e[_e] = null; + return; + } + const r = e[K]; + if (r && !r.destroyed && r.alpnProtocol !== "h2") { + if (e[O] === 0) { + if (!r[H] && r.unref) { + r.unref(); + r[H] = true; + } + } else if (r[H] && r.ref) { + r.ref(); + r[H] = false; + } + if (e[O] === 0) { + if (r[_].timeoutType !== Ve) { + r[_].setTimeout(e[z], Ve); + } + } else if (e[U] > 0 && r[_].statusCode < 200) { + if (r[_].timeoutType !== xe) { + const t = e[L][e[q]]; + const s = t.headersTimeout != null ? t.headersTimeout : e[ee]; + r[_].setTimeout(s, xe); + } + } + } + if (e[D]) { + e[x] = 2; + } else if (e[x] === 2) { + if (t) { + e[x] = 1; + process.nextTick(emitDrain, e); + } else { + emitDrain(e); + } + continue; + } + if (e[N] === 0) { + return; + } + if (e[U] >= (e[W] || 1)) { + return; + } + const o = e[L][e[J]]; + if (e[w].protocol === "https:" && e[T] !== o.servername) { + if (e[U] > 0) { + return; + } + e[T] = o.servername; + if (r && r.servername !== o.servername) { + i.destroy(r, new C("servername changed")); + return; + } + } + if (e[M]) { + return; + } + if (!r && !e[Ee]) { + connect(e); + return; + } + if (r.destroyed || r[G] || r[R] || r[S]) { + return; + } + if (e[U] > 0 && !o.idempotent) { + return; + } + if (e[U] > 0 && (o.upgrade || o.method === "CONNECT")) { + return; + } + if (e[U] > 0 && i.bodyLength(o.body) !== 0 && (i.isStream(o.body) || i.isAsyncIterable(o.body))) { + return; + } + if (!o.aborted && write(e, o)) { + e[J]++; + } else { + e[L].splice(e[J], 1); + } + } + } + function shouldSendContentLength(e) { + return e !== "GET" && e !== "HEAD" && e !== "OPTIONS" && e !== "TRACE" && e !== "CONNECT"; + } + function write(e, t) { + if (e[pe] === "h2") { + writeH2(e, e[Ee], t); + return; + } + const { body: r, method: o, path: n, host: A, upgrade: a, headers: c, blocking: u, reset: g } = t; + const p = o === "PUT" || o === "POST" || o === "PATCH"; + if (r && typeof r.read === "function") { + r.read(0); + } + const E = i.bodyLength(r); + let h = E; + if (h === null) { + h = t.contentLength; + } + if (h === 0 && !p) { + h = null; + } + if (shouldSendContentLength(o) && h > 0 && t.contentLength !== null && t.contentLength !== h) { + if (e[re]) { + errorRequest(e, t, new l()); + return false; + } + process.emitWarning(new l()); + } + const I = e[K]; + try { + t.onConnect((r) => { + if (t.aborted || t.completed) { + return; + } + errorRequest(e, t, r || new d()); + i.destroy(I, new C("aborted")); + }); + } catch (r) { + errorRequest(e, t, r); + } + if (t.aborted) { + return false; + } + if (o === "HEAD") { + I[R] = true; + } + if (a || o === "CONNECT") { + I[R] = true; + } + if (g != null) { + I[R] = g; + } + if (e[ne] && I[Ae]++ >= e[ne]) { + I[R] = true; + } + if (u) { + I[S] = true; + } + let m = `${o} ${n} HTTP/1.1\r\n`; + if (typeof A === "string") { + m += `host: ${A}\r\n`; + } else { + m += e[Y]; + } + if (a) { + m += `connection: upgrade\r\nupgrade: ${a}\r\n`; + } else if (e[W] && !I[R]) { + m += "connection: keep-alive\r\n"; + } else { + m += "connection: close\r\n"; + } + if (c) { + m += c; + } + if (Fe.sendHeaders.hasSubscribers) { + Fe.sendHeaders.publish({ request: t, headers: m, socket: I }); + } + if (!r || E === 0) { + if (h === 0) { + I.write(`${m}content-length: 0\r\n\r\n`, "latin1"); + } else { + s(h === null, "no body must not have content length"); + I.write(`${m}\r\n`, "latin1"); + } + t.onRequestSent(); + } else if (i.isBuffer(r)) { + s(h === r.byteLength, "buffer body must have content length"); + I.cork(); + I.write(`${m}content-length: ${h}\r\n\r\n`, "latin1"); + I.write(r); + I.uncork(); + t.onBodySent(r); + t.onRequestSent(); + if (!p) { + I[R] = true; + } + } else if (i.isBlobLike(r)) { + if (typeof r.stream === "function") { + writeIterable({ body: r.stream(), client: e, request: t, socket: I, contentLength: h, header: m, expectsPayload: p }); + } else { + writeBlob({ body: r, client: e, request: t, socket: I, contentLength: h, header: m, expectsPayload: p }); + } + } else if (i.isStream(r)) { + writeStream({ body: r, client: e, request: t, socket: I, contentLength: h, header: m, expectsPayload: p }); + } else if (i.isIterable(r)) { + writeIterable({ body: r, client: e, request: t, socket: I, contentLength: h, header: m, expectsPayload: p }); + } else { + s(false); + } + return true; + } + function writeH2(e, t, r) { + const { body: o, method: n, path: A, host: a, upgrade: u, expectContinue: g, signal: p, headers: E } = r; + let h; + if (typeof E === "string") h = c[Ie](E.trim()); + else h = E; + if (u) { + errorRequest(e, r, new Error("Upgrade not supported for H2")); + return false; + } + try { + r.onConnect((t) => { + if (r.aborted || r.completed) { + return; + } + errorRequest(e, r, t || new d()); + }); + } catch (t) { + errorRequest(e, r, t); + } + if (r.aborted) { + return false; + } + let I; + const m = e[he]; + h[Qe] = a || e[de]; + h[Be] = n; + if (n === "CONNECT") { + t.ref(); + I = t.request(h, { endStream: false, signal: p }); + if (I.id && !I.pending) { + r.onUpgrade(null, null, I); + ++m.openStreams; + } else { + I.once("ready", () => { + r.onUpgrade(null, null, I); + ++m.openStreams; + }); + } + I.once("close", () => { + m.openStreams -= 1; + if (m.openStreams === 0) t.unref(); + }); + return true; + } + h[ye] = A; + h[be] = "https"; + const Q = n === "PUT" || n === "POST" || n === "PATCH"; + if (o && typeof o.read === "function") { + o.read(0); + } + let B = i.bodyLength(o); + if (B == null) { + B = r.contentLength; + } + if (B === 0 || !Q) { + B = null; + } + if (shouldSendContentLength(n) && B > 0 && r.contentLength != null && r.contentLength !== B) { + if (e[re]) { + errorRequest(e, r, new l()); + return false; + } + process.emitWarning(new l()); + } + if (B != null) { + s(o, "no body must not have content length"); + h[we] = `${B}`; + } + t.ref(); + const y = n === "GET" || n === "HEAD"; + if (g) { + h[Re] = "100-continue"; + I = t.request(h, { endStream: y, signal: p }); + I.once("continue", writeBodyH2); + } else { + I = t.request(h, { endStream: y, signal: p }); + writeBodyH2(); + } + ++m.openStreams; + I.once("response", (e) => { + const { [Te]: t, ...s } = e; + if (r.onHeaders(Number(t), s, I.resume.bind(I), "") === false) { + I.pause(); + } + }); + I.once("end", () => { + r.onComplete([]); + }); + I.on("data", (e) => { + if (r.onData(e) === false) { + I.pause(); + } + }); + I.once("close", () => { + m.openStreams -= 1; + if (m.openStreams === 0) { + t.unref(); + } + }); + I.once("error", function (t) { + if (e[Ee] && !e[Ee].destroyed && !this.closed && !this.destroyed) { + m.streams -= 1; + i.destroy(I, t); + } + }); + I.once("frameError", (t, s) => { + const o = new C(`HTTP/2: "frameError" received - type ${t}, code ${s}`); + errorRequest(e, r, o); + if (e[Ee] && !e[Ee].destroyed && !this.closed && !this.destroyed) { + m.streams -= 1; + i.destroy(I, o); + } + }); + return true; + function writeBodyH2() { + if (!o) { + r.onRequestSent(); + } else if (i.isBuffer(o)) { + s(B === o.byteLength, "buffer body must have content length"); + I.cork(); + I.write(o); + I.uncork(); + I.end(); + r.onBodySent(o); + r.onRequestSent(); + } else if (i.isBlobLike(o)) { + if (typeof o.stream === "function") { + writeIterable({ client: e, request: r, contentLength: B, h2stream: I, expectsPayload: Q, body: o.stream(), socket: e[K], header: "" }); + } else { + writeBlob({ body: o, client: e, request: r, contentLength: B, expectsPayload: Q, h2stream: I, header: "", socket: e[K] }); + } + } else if (i.isStream(o)) { + writeStream({ body: o, client: e, request: r, contentLength: B, expectsPayload: Q, socket: e[K], h2stream: I, header: "" }); + } else if (i.isIterable(o)) { + writeIterable({ body: o, client: e, request: r, contentLength: B, expectsPayload: Q, header: "", h2stream: I, socket: e[K] }); + } else { + s(false); + } + } + } + function writeStream({ h2stream: e, body: t, client: r, request: o, socket: n, contentLength: a, header: c, expectsPayload: u }) { + s(a !== 0 || r[U] === 0, "stream body cannot be pipelined"); + if (r[pe] === "h2") { + const p = A(t, e, (r) => { + if (r) { + i.destroy(t, r); + i.destroy(e, r); + } else { + o.onRequestSent(); + } + }); + p.on("data", onPipeData); + p.once("end", () => { + p.removeListener("data", onPipeData); + i.destroy(p); + }); + function onPipeData(e) { + o.onBodySent(e); + } + return; + } + let l = false; + const g = new AsyncWriter({ socket: n, request: o, contentLength: a, client: r, expectsPayload: u, header: c }); + const onData = function (e) { + if (l) { + return; + } + try { + if (!g.write(e) && this.pause) { + this.pause(); + } + } catch (e) { + i.destroy(this, e); + } + }; + const onDrain = function () { + if (l) { + return; + } + if (t.resume) { + t.resume(); + } + }; + const onAbort = function () { + if (l) { + return; + } + const e = new d(); + queueMicrotask(() => onFinished(e)); + }; + const onFinished = function (e) { + if (l) { + return; + } + l = true; + s(n.destroyed || (n[G] && r[U] <= 1)); + n.off("drain", onDrain).off("error", onFinished); + t.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort); + if (!e) { + try { + g.end(); + } catch (t) { + e = t; + } + } + g.destroy(e); + if (e && (e.code !== "UND_ERR_INFO" || e.message !== "reset")) { + i.destroy(t, e); + } else { + i.destroy(t); + } + }; + t.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort); + if (t.resume) { + t.resume(); + } + n.on("drain", onDrain).on("error", onFinished); + } + async function writeBlob({ h2stream: e, body: t, client: r, request: o, socket: n, contentLength: A, header: a, expectsPayload: c }) { + s(A === t.size, "blob body must have content length"); + const u = r[pe] === "h2"; + try { + if (A != null && A !== t.size) { + throw new l(); + } + const s = Buffer.from(await t.arrayBuffer()); + if (u) { + e.cork(); + e.write(s); + e.uncork(); + } else { + n.cork(); + n.write(`${a}content-length: ${A}\r\n\r\n`, "latin1"); + n.write(s); + n.uncork(); + } + o.onBodySent(s); + o.onRequestSent(); + if (!c) { + n[R] = true; + } + resume(r); + } catch (t) { + i.destroy(u ? e : n, t); + } + } + async function writeIterable({ h2stream: e, body: t, client: r, request: o, socket: n, contentLength: A, header: i, expectsPayload: a }) { + s(A !== 0 || r[U] === 0, "iterator body cannot be pipelined"); + let c = null; + function onDrain() { + if (c) { + const e = c; + c = null; + e(); + } + } + const waitForDrain = () => + new Promise((e, t) => { + s(c === null); + if (n[j]) { + t(n[j]); + } else { + c = e; + } + }); + if (r[pe] === "h2") { + e.on("close", onDrain).on("drain", onDrain); + try { + for await (const r of t) { + if (n[j]) { + throw n[j]; + } + const t = e.write(r); + o.onBodySent(r); + if (!t) { + await waitForDrain(); + } + } + } catch (t) { + e.destroy(t); + } finally { + o.onRequestSent(); + e.end(); + e.off("close", onDrain).off("drain", onDrain); + } + return; + } + n.on("close", onDrain).on("drain", onDrain); + const u = new AsyncWriter({ socket: n, request: o, contentLength: A, client: r, expectsPayload: a, header: i }); + try { + for await (const e of t) { + if (n[j]) { + throw n[j]; + } + if (!u.write(e)) { + await waitForDrain(); + } + } + u.end(); + } catch (e) { + u.destroy(e); + } finally { + n.off("close", onDrain).off("drain", onDrain); + } + } + class AsyncWriter { + constructor({ socket: e, request: t, contentLength: r, client: s, expectsPayload: o, header: n }) { + this.socket = e; + this.request = t; + this.contentLength = r; + this.client = s; + this.bytesWritten = 0; + this.expectsPayload = o; + this.header = n; + e[G] = true; + } + write(e) { + const { socket: t, request: r, contentLength: s, client: o, bytesWritten: n, expectsPayload: A, header: i } = this; + if (t[j]) { + throw t[j]; + } + if (t.destroyed) { + return false; + } + const a = Buffer.byteLength(e); + if (!a) { + return true; + } + if (s !== null && n + a > s) { + if (o[re]) { + throw new l(); + } + process.emitWarning(new l()); + } + t.cork(); + if (n === 0) { + if (!A) { + t[R] = true; + } + if (s === null) { + t.write(`${i}transfer-encoding: chunked\r\n`, "latin1"); + } else { + t.write(`${i}content-length: ${s}\r\n\r\n`, "latin1"); + } + } + if (s === null) { + t.write(`\r\n${a.toString(16)}\r\n`, "latin1"); + } + this.bytesWritten += a; + const c = t.write(e); + t.uncork(); + r.onBodySent(e); + if (!c) { + if (t[_].timeout && t[_].timeoutType === xe) { + if (t[_].timeout.refresh) { + t[_].timeout.refresh(); + } + } + } + return c; + } + end() { + const { socket: e, contentLength: t, client: r, bytesWritten: s, expectsPayload: o, header: n, request: A } = this; + A.onRequestSent(); + e[G] = false; + if (e[j]) { + throw e[j]; + } + if (e.destroyed) { + return; + } + if (s === 0) { + if (o) { + e.write(`${n}content-length: 0\r\n\r\n`, "latin1"); + } else { + e.write(`${n}\r\n`, "latin1"); + } + } else if (t === null) { + e.write("\r\n0\r\n\r\n", "latin1"); + } + if (t !== null && s !== t) { + if (r[re]) { + throw new l(); + } else { + process.emitWarning(new l()); + } + } + if (e[_].timeout && e[_].timeoutType === xe) { + if (e[_].timeout.refresh) { + e[_].timeout.refresh(); + } + } + resume(r); + } + destroy(e) { + const { socket: t, client: r } = this; + t[G] = false; + if (e) { + s(r[U] <= 1, "pipeline should only contain this request"); + i.destroy(t, e); + } + } + } + function errorRequest(e, t, r) { + try { + t.onError(r); + s(t.aborted); + } catch (r) { + e.emit("error", r); + } + } + e.exports = Client; + }, + 3194: (e, t, r) => { + const { kConnected: s, kSize: o } = r(6443); + class CompatWeakRef { + constructor(e) { + this.value = e; + } + deref() { + return this.value[s] === 0 && this.value[o] === 0 ? undefined : this.value; + } + } + class CompatFinalizer { + constructor(e) { + this.finalizer = e; + } + register(e, t) { + if (e.on) { + e.on("disconnect", () => { + if (e[s] === 0 && e[o] === 0) { + this.finalizer(t); + } + }); + } + } + } + e.exports = function () { + if (process.env.NODE_V8_COVERAGE) { + return { WeakRef: CompatWeakRef, FinalizationRegistry: CompatFinalizer }; + } + return { WeakRef: global.WeakRef || CompatWeakRef, FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer }; + }; + }, + 9237: (e) => { + const t = 1024; + const r = 4096; + e.exports = { maxAttributeValueSize: t, maxNameValuePairSize: r }; + }, + 3168: (e, t, r) => { + const { parseSetCookie: s } = r(8915); + const { stringify: o, getHeadersList: n } = r(3834); + const { webidl: A } = r(4222); + const { Headers: i } = r(6349); + function getCookies(e) { + A.argumentLengthCheck(arguments, 1, { header: "getCookies" }); + A.brandCheck(e, i, { strict: false }); + const t = e.get("cookie"); + const r = {}; + if (!t) { + return r; + } + for (const e of t.split(";")) { + const [t, ...s] = e.split("="); + r[t.trim()] = s.join("="); + } + return r; + } + function deleteCookie(e, t, r) { + A.argumentLengthCheck(arguments, 2, { header: "deleteCookie" }); + A.brandCheck(e, i, { strict: false }); + t = A.converters.DOMString(t); + r = A.converters.DeleteCookieAttributes(r); + setCookie(e, { name: t, value: "", expires: new Date(0), ...r }); + } + function getSetCookies(e) { + A.argumentLengthCheck(arguments, 1, { header: "getSetCookies" }); + A.brandCheck(e, i, { strict: false }); + const t = n(e).cookies; + if (!t) { + return []; + } + return t.map((e) => s(Array.isArray(e) ? e[1] : e)); + } + function setCookie(e, t) { + A.argumentLengthCheck(arguments, 2, { header: "setCookie" }); + A.brandCheck(e, i, { strict: false }); + t = A.converters.Cookie(t); + const r = o(t); + if (r) { + e.append("Set-Cookie", o(t)); + } + } + A.converters.DeleteCookieAttributes = A.dictionaryConverter([ + { converter: A.nullableConverter(A.converters.DOMString), key: "path", defaultValue: null }, + { converter: A.nullableConverter(A.converters.DOMString), key: "domain", defaultValue: null }, + ]); + A.converters.Cookie = A.dictionaryConverter([ + { converter: A.converters.DOMString, key: "name" }, + { converter: A.converters.DOMString, key: "value" }, + { + converter: A.nullableConverter((e) => { + if (typeof e === "number") { + return A.converters["unsigned long long"](e); + } + return new Date(e); + }), + key: "expires", + defaultValue: null, + }, + { converter: A.nullableConverter(A.converters["long long"]), key: "maxAge", defaultValue: null }, + { converter: A.nullableConverter(A.converters.DOMString), key: "domain", defaultValue: null }, + { converter: A.nullableConverter(A.converters.DOMString), key: "path", defaultValue: null }, + { converter: A.nullableConverter(A.converters.boolean), key: "secure", defaultValue: null }, + { converter: A.nullableConverter(A.converters.boolean), key: "httpOnly", defaultValue: null }, + { converter: A.converters.USVString, key: "sameSite", allowedValues: ["Strict", "Lax", "None"] }, + { converter: A.sequenceConverter(A.converters.DOMString), key: "unparsed", defaultValue: [] }, + ]); + e.exports = { getCookies: getCookies, deleteCookie: deleteCookie, getSetCookies: getSetCookies, setCookie: setCookie }; + }, + 8915: (e, t, r) => { + const { maxNameValuePairSize: s, maxAttributeValueSize: o } = r(9237); + const { isCTLExcludingHtab: n } = r(3834); + const { collectASequenceOfCodePointsFast: A } = r(4322); + const i = r(2613); + function parseSetCookie(e) { + if (n(e)) { + return null; + } + let t = ""; + let r = ""; + let o = ""; + let i = ""; + if (e.includes(";")) { + const s = { position: 0 }; + t = A(";", e, s); + r = e.slice(s.position); + } else { + t = e; + } + if (!t.includes("=")) { + i = t; + } else { + const e = { position: 0 }; + o = A("=", t, e); + i = t.slice(e.position + 1); + } + o = o.trim(); + i = i.trim(); + if (o.length + i.length > s) { + return null; + } + return { name: o, value: i, ...parseUnparsedAttributes(r) }; + } + function parseUnparsedAttributes(e, t = {}) { + if (e.length === 0) { + return t; + } + i(e[0] === ";"); + e = e.slice(1); + let r = ""; + if (e.includes(";")) { + r = A(";", e, { position: 0 }); + e = e.slice(r.length); + } else { + r = e; + e = ""; + } + let s = ""; + let n = ""; + if (r.includes("=")) { + const e = { position: 0 }; + s = A("=", r, e); + n = r.slice(e.position + 1); + } else { + s = r; + } + s = s.trim(); + n = n.trim(); + if (n.length > o) { + return parseUnparsedAttributes(e, t); + } + const a = s.toLowerCase(); + if (a === "expires") { + const e = new Date(n); + t.expires = e; + } else if (a === "max-age") { + const r = n.charCodeAt(0); + if ((r < 48 || r > 57) && n[0] !== "-") { + return parseUnparsedAttributes(e, t); + } + if (!/^\d+$/.test(n)) { + return parseUnparsedAttributes(e, t); + } + const s = Number(n); + t.maxAge = s; + } else if (a === "domain") { + let e = n; + if (e[0] === ".") { + e = e.slice(1); + } + e = e.toLowerCase(); + t.domain = e; + } else if (a === "path") { + let e = ""; + if (n.length === 0 || n[0] !== "/") { + e = "/"; + } else { + e = n; + } + t.path = e; + } else if (a === "secure") { + t.secure = true; + } else if (a === "httponly") { + t.httpOnly = true; + } else if (a === "samesite") { + let e = "Default"; + const r = n.toLowerCase(); + if (r.includes("none")) { + e = "None"; + } + if (r.includes("strict")) { + e = "Strict"; + } + if (r.includes("lax")) { + e = "Lax"; + } + t.sameSite = e; + } else { + t.unparsed ??= []; + t.unparsed.push(`${s}=${n}`); + } + return parseUnparsedAttributes(e, t); + } + e.exports = { parseSetCookie: parseSetCookie, parseUnparsedAttributes: parseUnparsedAttributes }; + }, + 3834: (e, t, r) => { + const s = r(2613); + const { kHeadersList: o } = r(6443); + function isCTLExcludingHtab(e) { + if (e.length === 0) { + return false; + } + for (const t of e) { + const e = t.charCodeAt(0); + if (e >= 0 || e <= 8 || e >= 10 || e <= 31 || e === 127) { + return false; + } + } + } + function validateCookieName(e) { + for (const t of e) { + const e = t.charCodeAt(0); + if ( + e <= 32 || + e > 127 || + t === "(" || + t === ")" || + t === ">" || + t === "<" || + t === "@" || + t === "," || + t === ";" || + t === ":" || + t === "\\" || + t === '"' || + t === "/" || + t === "[" || + t === "]" || + t === "?" || + t === "=" || + t === "{" || + t === "}" + ) { + throw new Error("Invalid cookie name"); + } + } + } + function validateCookieValue(e) { + for (const t of e) { + const e = t.charCodeAt(0); + if (e < 33 || e === 34 || e === 44 || e === 59 || e === 92 || e > 126) { + throw new Error("Invalid header value"); + } + } + } + function validateCookiePath(e) { + for (const t of e) { + const e = t.charCodeAt(0); + if (e < 33 || t === ";") { + throw new Error("Invalid cookie path"); + } + } + } + function validateCookieDomain(e) { + if (e.startsWith("-") || e.endsWith(".") || e.endsWith("-")) { + throw new Error("Invalid cookie domain"); + } + } + function toIMFDate(e) { + if (typeof e === "number") { + e = new Date(e); + } + const t = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; + const r = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + const s = t[e.getUTCDay()]; + const o = e.getUTCDate().toString().padStart(2, "0"); + const n = r[e.getUTCMonth()]; + const A = e.getUTCFullYear(); + const i = e.getUTCHours().toString().padStart(2, "0"); + const a = e.getUTCMinutes().toString().padStart(2, "0"); + const c = e.getUTCSeconds().toString().padStart(2, "0"); + return `${s}, ${o} ${n} ${A} ${i}:${a}:${c} GMT`; + } + function validateCookieMaxAge(e) { + if (e < 0) { + throw new Error("Invalid cookie max-age"); + } + } + function stringify(e) { + if (e.name.length === 0) { + return null; + } + validateCookieName(e.name); + validateCookieValue(e.value); + const t = [`${e.name}=${e.value}`]; + if (e.name.startsWith("__Secure-")) { + e.secure = true; + } + if (e.name.startsWith("__Host-")) { + e.secure = true; + e.domain = null; + e.path = "/"; + } + if (e.secure) { + t.push("Secure"); + } + if (e.httpOnly) { + t.push("HttpOnly"); + } + if (typeof e.maxAge === "number") { + validateCookieMaxAge(e.maxAge); + t.push(`Max-Age=${e.maxAge}`); + } + if (e.domain) { + validateCookieDomain(e.domain); + t.push(`Domain=${e.domain}`); + } + if (e.path) { + validateCookiePath(e.path); + t.push(`Path=${e.path}`); + } + if (e.expires && e.expires.toString() !== "Invalid Date") { + t.push(`Expires=${toIMFDate(e.expires)}`); + } + if (e.sameSite) { + t.push(`SameSite=${e.sameSite}`); + } + for (const r of e.unparsed) { + if (!r.includes("=")) { + throw new Error("Invalid unparsed"); + } + const [e, ...s] = r.split("="); + t.push(`${e.trim()}=${s.join("=")}`); + } + return t.join("; "); + } + let n; + function getHeadersList(e) { + if (e[o]) { + return e[o]; + } + if (!n) { + n = Object.getOwnPropertySymbols(e).find((e) => e.description === "headers list"); + s(n, "Headers cannot be parsed"); + } + const t = e[n]; + s(t); + return t; + } + e.exports = { isCTLExcludingHtab: isCTLExcludingHtab, stringify: stringify, getHeadersList: getHeadersList }; + }, + 9136: (e, t, r) => { + const s = r(9278); + const o = r(2613); + const n = r(3440); + const { InvalidArgumentError: A, ConnectTimeoutError: i } = r(8707); + let a; + let c; + if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) { + c = class WeakSessionCache { + constructor(e) { + this._maxCachedSessions = e; + this._sessionCache = new Map(); + this._sessionRegistry = new global.FinalizationRegistry((e) => { + if (this._sessionCache.size < this._maxCachedSessions) { + return; + } + const t = this._sessionCache.get(e); + if (t !== undefined && t.deref() === undefined) { + this._sessionCache.delete(e); + } + }); + } + get(e) { + const t = this._sessionCache.get(e); + return t ? t.deref() : null; + } + set(e, t) { + if (this._maxCachedSessions === 0) { + return; + } + this._sessionCache.set(e, new WeakRef(t)); + this._sessionRegistry.register(t, e); + } + }; + } else { + c = class SimpleSessionCache { + constructor(e) { + this._maxCachedSessions = e; + this._sessionCache = new Map(); + } + get(e) { + return this._sessionCache.get(e); + } + set(e, t) { + if (this._maxCachedSessions === 0) { + return; + } + if (this._sessionCache.size >= this._maxCachedSessions) { + const { value: e } = this._sessionCache.keys().next(); + this._sessionCache.delete(e); + } + this._sessionCache.set(e, t); + } + }; + } + function buildConnector({ allowH2: e, maxCachedSessions: t, socketPath: i, timeout: u, ...l }) { + if (t != null && (!Number.isInteger(t) || t < 0)) { + throw new A("maxCachedSessions must be a positive integer or zero"); + } + const g = { path: i, ...l }; + const p = new c(t == null ? 100 : t); + u = u == null ? 1e4 : u; + e = e != null ? e : false; + return function connect({ hostname: t, host: A, protocol: i, port: c, servername: l, localAddress: d, httpSocket: E }, h) { + let I; + if (i === "https:") { + if (!a) { + a = r(4756); + } + l = l || g.servername || n.getServerName(A) || null; + const s = l || t; + const i = p.get(s) || null; + o(s); + I = a.connect({ + highWaterMark: 16384, + ...g, + servername: l, + session: i, + localAddress: d, + ALPNProtocols: e ? ["http/1.1", "h2"] : ["http/1.1"], + socket: E, + port: c || 443, + host: t, + }); + I.on("session", function (e) { + p.set(s, e); + }); + } else { + o(!E, "httpSocket can only be sent on TLS update"); + I = s.connect({ highWaterMark: 64 * 1024, ...g, localAddress: d, port: c || 80, host: t }); + } + if (g.keepAlive == null || g.keepAlive) { + const e = g.keepAliveInitialDelay === undefined ? 6e4 : g.keepAliveInitialDelay; + I.setKeepAlive(true, e); + } + const C = setupTimeout(() => onConnectTimeout(I), u); + I.setNoDelay(true) + .once(i === "https:" ? "secureConnect" : "connect", function () { + C(); + if (h) { + const e = h; + h = null; + e(null, this); + } + }) + .on("error", function (e) { + C(); + if (h) { + const t = h; + h = null; + t(e); + } + }); + return I; + }; + } + function setupTimeout(e, t) { + if (!t) { + return () => {}; + } + let r = null; + let s = null; + const o = setTimeout(() => { + r = setImmediate(() => { + if (process.platform === "win32") { + s = setImmediate(() => e()); + } else { + e(); + } + }); + }, t); + return () => { + clearTimeout(o); + clearImmediate(r); + clearImmediate(s); + }; + } + function onConnectTimeout(e) { + n.destroy(e, new i()); + } + e.exports = buildConnector; + }, + 735: (e) => { + const t = {}; + const r = [ + "Accept", + "Accept-Encoding", + "Accept-Language", + "Accept-Ranges", + "Access-Control-Allow-Credentials", + "Access-Control-Allow-Headers", + "Access-Control-Allow-Methods", + "Access-Control-Allow-Origin", + "Access-Control-Expose-Headers", + "Access-Control-Max-Age", + "Access-Control-Request-Headers", + "Access-Control-Request-Method", + "Age", + "Allow", + "Alt-Svc", + "Alt-Used", + "Authorization", + "Cache-Control", + "Clear-Site-Data", + "Connection", + "Content-Disposition", + "Content-Encoding", + "Content-Language", + "Content-Length", + "Content-Location", + "Content-Range", + "Content-Security-Policy", + "Content-Security-Policy-Report-Only", + "Content-Type", + "Cookie", + "Cross-Origin-Embedder-Policy", + "Cross-Origin-Opener-Policy", + "Cross-Origin-Resource-Policy", + "Date", + "Device-Memory", + "Downlink", + "ECT", + "ETag", + "Expect", + "Expect-CT", + "Expires", + "Forwarded", + "From", + "Host", + "If-Match", + "If-Modified-Since", + "If-None-Match", + "If-Range", + "If-Unmodified-Since", + "Keep-Alive", + "Last-Modified", + "Link", + "Location", + "Max-Forwards", + "Origin", + "Permissions-Policy", + "Pragma", + "Proxy-Authenticate", + "Proxy-Authorization", + "RTT", + "Range", + "Referer", + "Referrer-Policy", + "Refresh", + "Retry-After", + "Sec-WebSocket-Accept", + "Sec-WebSocket-Extensions", + "Sec-WebSocket-Key", + "Sec-WebSocket-Protocol", + "Sec-WebSocket-Version", + "Server", + "Server-Timing", + "Service-Worker-Allowed", + "Service-Worker-Navigation-Preload", + "Set-Cookie", + "SourceMap", + "Strict-Transport-Security", + "Supports-Loading-Mode", + "TE", + "Timing-Allow-Origin", + "Trailer", + "Transfer-Encoding", + "Upgrade", + "Upgrade-Insecure-Requests", + "User-Agent", + "Vary", + "Via", + "WWW-Authenticate", + "X-Content-Type-Options", + "X-DNS-Prefetch-Control", + "X-Frame-Options", + "X-Permitted-Cross-Domain-Policies", + "X-Powered-By", + "X-Requested-With", + "X-XSS-Protection", + ]; + for (let e = 0; e < r.length; ++e) { + const s = r[e]; + const o = s.toLowerCase(); + t[s] = t[o] = o; + } + Object.setPrototypeOf(t, null); + e.exports = { wellknownHeaderNames: r, headerNameLowerCasedRecord: t }; + }, + 8707: (e) => { + class UndiciError extends Error { + constructor(e) { + super(e); + this.name = "UndiciError"; + this.code = "UND_ERR"; + } + } + class ConnectTimeoutError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, ConnectTimeoutError); + this.name = "ConnectTimeoutError"; + this.message = e || "Connect Timeout Error"; + this.code = "UND_ERR_CONNECT_TIMEOUT"; + } + } + class HeadersTimeoutError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, HeadersTimeoutError); + this.name = "HeadersTimeoutError"; + this.message = e || "Headers Timeout Error"; + this.code = "UND_ERR_HEADERS_TIMEOUT"; + } + } + class HeadersOverflowError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, HeadersOverflowError); + this.name = "HeadersOverflowError"; + this.message = e || "Headers Overflow Error"; + this.code = "UND_ERR_HEADERS_OVERFLOW"; + } + } + class BodyTimeoutError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, BodyTimeoutError); + this.name = "BodyTimeoutError"; + this.message = e || "Body Timeout Error"; + this.code = "UND_ERR_BODY_TIMEOUT"; + } + } + class ResponseStatusCodeError extends UndiciError { + constructor(e, t, r, s) { + super(e); + Error.captureStackTrace(this, ResponseStatusCodeError); + this.name = "ResponseStatusCodeError"; + this.message = e || "Response Status Code Error"; + this.code = "UND_ERR_RESPONSE_STATUS_CODE"; + this.body = s; + this.status = t; + this.statusCode = t; + this.headers = r; + } + } + class InvalidArgumentError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, InvalidArgumentError); + this.name = "InvalidArgumentError"; + this.message = e || "Invalid Argument Error"; + this.code = "UND_ERR_INVALID_ARG"; + } + } + class InvalidReturnValueError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, InvalidReturnValueError); + this.name = "InvalidReturnValueError"; + this.message = e || "Invalid Return Value Error"; + this.code = "UND_ERR_INVALID_RETURN_VALUE"; + } + } + class RequestAbortedError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, RequestAbortedError); + this.name = "AbortError"; + this.message = e || "Request aborted"; + this.code = "UND_ERR_ABORTED"; + } + } + class InformationalError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, InformationalError); + this.name = "InformationalError"; + this.message = e || "Request information"; + this.code = "UND_ERR_INFO"; + } + } + class RequestContentLengthMismatchError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, RequestContentLengthMismatchError); + this.name = "RequestContentLengthMismatchError"; + this.message = e || "Request body length does not match content-length header"; + this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; + } + } + class ResponseContentLengthMismatchError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, ResponseContentLengthMismatchError); + this.name = "ResponseContentLengthMismatchError"; + this.message = e || "Response body length does not match content-length header"; + this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; + } + } + class ClientDestroyedError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, ClientDestroyedError); + this.name = "ClientDestroyedError"; + this.message = e || "The client is destroyed"; + this.code = "UND_ERR_DESTROYED"; + } + } + class ClientClosedError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, ClientClosedError); + this.name = "ClientClosedError"; + this.message = e || "The client is closed"; + this.code = "UND_ERR_CLOSED"; + } + } + class SocketError extends UndiciError { + constructor(e, t) { + super(e); + Error.captureStackTrace(this, SocketError); + this.name = "SocketError"; + this.message = e || "Socket error"; + this.code = "UND_ERR_SOCKET"; + this.socket = t; + } + } + class NotSupportedError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, NotSupportedError); + this.name = "NotSupportedError"; + this.message = e || "Not supported error"; + this.code = "UND_ERR_NOT_SUPPORTED"; + } + } + class BalancedPoolMissingUpstreamError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, NotSupportedError); + this.name = "MissingUpstreamError"; + this.message = e || "No upstream has been added to the BalancedPool"; + this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; + } + } + class HTTPParserError extends Error { + constructor(e, t, r) { + super(e); + Error.captureStackTrace(this, HTTPParserError); + this.name = "HTTPParserError"; + this.code = t ? `HPE_${t}` : undefined; + this.data = r ? r.toString() : undefined; + } + } + class ResponseExceededMaxSizeError extends UndiciError { + constructor(e) { + super(e); + Error.captureStackTrace(this, ResponseExceededMaxSizeError); + this.name = "ResponseExceededMaxSizeError"; + this.message = e || "Response content exceeded max size"; + this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; + } + } + class RequestRetryError extends UndiciError { + constructor(e, t, { headers: r, data: s }) { + super(e); + Error.captureStackTrace(this, RequestRetryError); + this.name = "RequestRetryError"; + this.message = e || "Request retry error"; + this.code = "UND_ERR_REQ_RETRY"; + this.statusCode = t; + this.data = s; + this.headers = r; + } + } + e.exports = { + HTTPParserError: HTTPParserError, + UndiciError: UndiciError, + HeadersTimeoutError: HeadersTimeoutError, + HeadersOverflowError: HeadersOverflowError, + BodyTimeoutError: BodyTimeoutError, + RequestContentLengthMismatchError: RequestContentLengthMismatchError, + ConnectTimeoutError: ConnectTimeoutError, + ResponseStatusCodeError: ResponseStatusCodeError, + InvalidArgumentError: InvalidArgumentError, + InvalidReturnValueError: InvalidReturnValueError, + RequestAbortedError: RequestAbortedError, + ClientDestroyedError: ClientDestroyedError, + ClientClosedError: ClientClosedError, + InformationalError: InformationalError, + SocketError: SocketError, + NotSupportedError: NotSupportedError, + ResponseContentLengthMismatchError: ResponseContentLengthMismatchError, + BalancedPoolMissingUpstreamError: BalancedPoolMissingUpstreamError, + ResponseExceededMaxSizeError: ResponseExceededMaxSizeError, + RequestRetryError: RequestRetryError, + }; + }, + 4655: (e, t, r) => { + const { InvalidArgumentError: s, NotSupportedError: o } = r(8707); + const n = r(2613); + const { kHTTP2BuildRequest: A, kHTTP2CopyHeaders: i, kHTTP1BuildRequest: a } = r(6443); + const c = r(3440); + const u = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; + const l = /[^\t\x20-\x7e\x80-\xff]/; + const g = /[^\u0021-\u00ff]/; + const p = Symbol("handler"); + const d = {}; + let E; + try { + const e = r(1637); + d.create = e.channel("undici:request:create"); + d.bodySent = e.channel("undici:request:bodySent"); + d.headers = e.channel("undici:request:headers"); + d.trailers = e.channel("undici:request:trailers"); + d.error = e.channel("undici:request:error"); + } catch { + d.create = { hasSubscribers: false }; + d.bodySent = { hasSubscribers: false }; + d.headers = { hasSubscribers: false }; + d.trailers = { hasSubscribers: false }; + d.error = { hasSubscribers: false }; + } + class Request { + constructor( + e, + { + path: t, + method: o, + body: n, + headers: A, + query: i, + idempotent: a, + blocking: l, + upgrade: h, + headersTimeout: I, + bodyTimeout: C, + reset: m, + throwOnError: Q, + expectContinue: B, + }, + y + ) { + if (typeof t !== "string") { + throw new s("path must be a string"); + } else if (t[0] !== "/" && !(t.startsWith("http://") || t.startsWith("https://")) && o !== "CONNECT") { + throw new s("path must be an absolute URL or start with a slash"); + } else if (g.exec(t) !== null) { + throw new s("invalid request path"); + } + if (typeof o !== "string") { + throw new s("method must be a string"); + } else if (u.exec(o) === null) { + throw new s("invalid request method"); + } + if (h && typeof h !== "string") { + throw new s("upgrade must be a string"); + } + if (I != null && (!Number.isFinite(I) || I < 0)) { + throw new s("invalid headersTimeout"); + } + if (C != null && (!Number.isFinite(C) || C < 0)) { + throw new s("invalid bodyTimeout"); + } + if (m != null && typeof m !== "boolean") { + throw new s("invalid reset"); + } + if (B != null && typeof B !== "boolean") { + throw new s("invalid expectContinue"); + } + this.headersTimeout = I; + this.bodyTimeout = C; + this.throwOnError = Q === true; + this.method = o; + this.abort = null; + if (n == null) { + this.body = null; + } else if (c.isStream(n)) { + this.body = n; + const e = this.body._readableState; + if (!e || !e.autoDestroy) { + this.endHandler = function autoDestroy() { + c.destroy(this); + }; + this.body.on("end", this.endHandler); + } + this.errorHandler = (e) => { + if (this.abort) { + this.abort(e); + } else { + this.error = e; + } + }; + this.body.on("error", this.errorHandler); + } else if (c.isBuffer(n)) { + this.body = n.byteLength ? n : null; + } else if (ArrayBuffer.isView(n)) { + this.body = n.buffer.byteLength ? Buffer.from(n.buffer, n.byteOffset, n.byteLength) : null; + } else if (n instanceof ArrayBuffer) { + this.body = n.byteLength ? Buffer.from(n) : null; + } else if (typeof n === "string") { + this.body = n.length ? Buffer.from(n) : null; + } else if (c.isFormDataLike(n) || c.isIterable(n) || c.isBlobLike(n)) { + this.body = n; + } else { + throw new s("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); + } + this.completed = false; + this.aborted = false; + this.upgrade = h || null; + this.path = i ? c.buildURL(t, i) : t; + this.origin = e; + this.idempotent = a == null ? o === "HEAD" || o === "GET" : a; + this.blocking = l == null ? false : l; + this.reset = m == null ? null : m; + this.host = null; + this.contentLength = null; + this.contentType = null; + this.headers = ""; + this.expectContinue = B != null ? B : false; + if (Array.isArray(A)) { + if (A.length % 2 !== 0) { + throw new s("headers array must be even"); + } + for (let e = 0; e < A.length; e += 2) { + processHeader(this, A[e], A[e + 1]); + } + } else if (A && typeof A === "object") { + const e = Object.keys(A); + for (let t = 0; t < e.length; t++) { + const r = e[t]; + processHeader(this, r, A[r]); + } + } else if (A != null) { + throw new s("headers must be an object or an array"); + } + if (c.isFormDataLike(this.body)) { + if (c.nodeMajor < 16 || (c.nodeMajor === 16 && c.nodeMinor < 8)) { + throw new s("Form-Data bodies are only supported in node v16.8 and newer."); + } + if (!E) { + E = r(8923).extractBody; + } + const [e, t] = E(n); + if (this.contentType == null) { + this.contentType = t; + this.headers += `content-type: ${t}\r\n`; + } + this.body = e.stream; + this.contentLength = e.length; + } else if (c.isBlobLike(n) && this.contentType == null && n.type) { + this.contentType = n.type; + this.headers += `content-type: ${n.type}\r\n`; + } + c.validateHandler(y, o, h); + this.servername = c.getServerName(this.host); + this[p] = y; + if (d.create.hasSubscribers) { + d.create.publish({ request: this }); + } + } + onBodySent(e) { + if (this[p].onBodySent) { + try { + return this[p].onBodySent(e); + } catch (e) { + this.abort(e); + } + } + } + onRequestSent() { + if (d.bodySent.hasSubscribers) { + d.bodySent.publish({ request: this }); + } + if (this[p].onRequestSent) { + try { + return this[p].onRequestSent(); + } catch (e) { + this.abort(e); + } + } + } + onConnect(e) { + n(!this.aborted); + n(!this.completed); + if (this.error) { + e(this.error); + } else { + this.abort = e; + return this[p].onConnect(e); + } + } + onHeaders(e, t, r, s) { + n(!this.aborted); + n(!this.completed); + if (d.headers.hasSubscribers) { + d.headers.publish({ request: this, response: { statusCode: e, headers: t, statusText: s } }); + } + try { + return this[p].onHeaders(e, t, r, s); + } catch (e) { + this.abort(e); + } + } + onData(e) { + n(!this.aborted); + n(!this.completed); + try { + return this[p].onData(e); + } catch (e) { + this.abort(e); + return false; + } + } + onUpgrade(e, t, r) { + n(!this.aborted); + n(!this.completed); + return this[p].onUpgrade(e, t, r); + } + onComplete(e) { + this.onFinally(); + n(!this.aborted); + this.completed = true; + if (d.trailers.hasSubscribers) { + d.trailers.publish({ request: this, trailers: e }); + } + try { + return this[p].onComplete(e); + } catch (e) { + this.onError(e); + } + } + onError(e) { + this.onFinally(); + if (d.error.hasSubscribers) { + d.error.publish({ request: this, error: e }); + } + if (this.aborted) { + return; + } + this.aborted = true; + return this[p].onError(e); + } + onFinally() { + if (this.errorHandler) { + this.body.off("error", this.errorHandler); + this.errorHandler = null; + } + if (this.endHandler) { + this.body.off("end", this.endHandler); + this.endHandler = null; + } + } + addHeader(e, t) { + processHeader(this, e, t); + return this; + } + static [a](e, t, r) { + return new Request(e, t, r); + } + static [A](e, t, r) { + const o = t.headers; + t = { ...t, headers: null }; + const n = new Request(e, t, r); + n.headers = {}; + if (Array.isArray(o)) { + if (o.length % 2 !== 0) { + throw new s("headers array must be even"); + } + for (let e = 0; e < o.length; e += 2) { + processHeader(n, o[e], o[e + 1], true); + } + } else if (o && typeof o === "object") { + const e = Object.keys(o); + for (let t = 0; t < e.length; t++) { + const r = e[t]; + processHeader(n, r, o[r], true); + } + } else if (o != null) { + throw new s("headers must be an object or an array"); + } + return n; + } + static [i](e) { + const t = e.split("\r\n"); + const r = {}; + for (const e of t) { + const [t, s] = e.split(": "); + if (s == null || s.length === 0) continue; + if (r[t]) r[t] += `,${s}`; + else r[t] = s; + } + return r; + } + } + function processHeaderValue(e, t, r) { + if (t && typeof t === "object") { + throw new s(`invalid ${e} header`); + } + t = t != null ? `${t}` : ""; + if (l.exec(t) !== null) { + throw new s(`invalid ${e} header`); + } + return r ? t : `${e}: ${t}\r\n`; + } + function processHeader(e, t, r, n = false) { + if (r && typeof r === "object" && !Array.isArray(r)) { + throw new s(`invalid ${t} header`); + } else if (r === undefined) { + return; + } + if (e.host === null && t.length === 4 && t.toLowerCase() === "host") { + if (l.exec(r) !== null) { + throw new s(`invalid ${t} header`); + } + e.host = r; + } else if (e.contentLength === null && t.length === 14 && t.toLowerCase() === "content-length") { + e.contentLength = parseInt(r, 10); + if (!Number.isFinite(e.contentLength)) { + throw new s("invalid content-length header"); + } + } else if (e.contentType === null && t.length === 12 && t.toLowerCase() === "content-type") { + e.contentType = r; + if (n) e.headers[t] = processHeaderValue(t, r, n); + else e.headers += processHeaderValue(t, r); + } else if (t.length === 17 && t.toLowerCase() === "transfer-encoding") { + throw new s("invalid transfer-encoding header"); + } else if (t.length === 10 && t.toLowerCase() === "connection") { + const t = typeof r === "string" ? r.toLowerCase() : null; + if (t !== "close" && t !== "keep-alive") { + throw new s("invalid connection header"); + } else if (t === "close") { + e.reset = true; + } + } else if (t.length === 10 && t.toLowerCase() === "keep-alive") { + throw new s("invalid keep-alive header"); + } else if (t.length === 7 && t.toLowerCase() === "upgrade") { + throw new s("invalid upgrade header"); + } else if (t.length === 6 && t.toLowerCase() === "expect") { + throw new o("expect header not supported"); + } else if (u.exec(t) === null) { + throw new s("invalid header key"); + } else { + if (Array.isArray(r)) { + for (let s = 0; s < r.length; s++) { + if (n) { + if (e.headers[t]) e.headers[t] += `,${processHeaderValue(t, r[s], n)}`; + else e.headers[t] = processHeaderValue(t, r[s], n); + } else { + e.headers += processHeaderValue(t, r[s]); + } + } + } else { + if (n) e.headers[t] = processHeaderValue(t, r, n); + else e.headers += processHeaderValue(t, r); + } + } + } + e.exports = Request; + }, + 6443: (e) => { + e.exports = { + kClose: Symbol("close"), + kDestroy: Symbol("destroy"), + kDispatch: Symbol("dispatch"), + kUrl: Symbol("url"), + kWriting: Symbol("writing"), + kResuming: Symbol("resuming"), + kQueue: Symbol("queue"), + kConnect: Symbol("connect"), + kConnecting: Symbol("connecting"), + kHeadersList: Symbol("headers list"), + kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"), + kKeepAliveMaxTimeout: Symbol("max keep alive timeout"), + kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"), + kKeepAliveTimeoutValue: Symbol("keep alive timeout"), + kKeepAlive: Symbol("keep alive"), + kHeadersTimeout: Symbol("headers timeout"), + kBodyTimeout: Symbol("body timeout"), + kServerName: Symbol("server name"), + kLocalAddress: Symbol("local address"), + kHost: Symbol("host"), + kNoRef: Symbol("no ref"), + kBodyUsed: Symbol("used"), + kRunning: Symbol("running"), + kBlocking: Symbol("blocking"), + kPending: Symbol("pending"), + kSize: Symbol("size"), + kBusy: Symbol("busy"), + kQueued: Symbol("queued"), + kFree: Symbol("free"), + kConnected: Symbol("connected"), + kClosed: Symbol("closed"), + kNeedDrain: Symbol("need drain"), + kReset: Symbol("reset"), + kDestroyed: Symbol.for("nodejs.stream.destroyed"), + kMaxHeadersSize: Symbol("max headers size"), + kRunningIdx: Symbol("running index"), + kPendingIdx: Symbol("pending index"), + kError: Symbol("error"), + kClients: Symbol("clients"), + kClient: Symbol("client"), + kParser: Symbol("parser"), + kOnDestroyed: Symbol("destroy callbacks"), + kPipelining: Symbol("pipelining"), + kSocket: Symbol("socket"), + kHostHeader: Symbol("host header"), + kConnector: Symbol("connector"), + kStrictContentLength: Symbol("strict content length"), + kMaxRedirections: Symbol("maxRedirections"), + kMaxRequests: Symbol("maxRequestsPerClient"), + kProxy: Symbol("proxy agent options"), + kCounter: Symbol("socket request counter"), + kInterceptors: Symbol("dispatch interceptors"), + kMaxResponseSize: Symbol("max response size"), + kHTTP2Session: Symbol("http2Session"), + kHTTP2SessionState: Symbol("http2Session state"), + kHTTP2BuildRequest: Symbol("http2 build request"), + kHTTP1BuildRequest: Symbol("http1 build request"), + kHTTP2CopyHeaders: Symbol("http2 copy headers"), + kHTTPConnVersion: Symbol("http connection version"), + kRetryHandlerDefaultRetry: Symbol("retry agent default retry"), + kConstruct: Symbol("constructable"), + }; + }, + 3440: (e, t, r) => { + const s = r(2613); + const { kDestroyed: o, kBodyUsed: n } = r(6443); + const { IncomingMessage: A } = r(8611); + const i = r(2203); + const a = r(9278); + const { InvalidArgumentError: c } = r(8707); + const { Blob: u } = r(181); + const l = r(9023); + const { stringify: g } = r(3480); + const { headerNameLowerCasedRecord: p } = r(735); + const [d, E] = process.versions.node.split(".").map((e) => Number(e)); + function nop() {} + function isStream(e) { + return e && typeof e === "object" && typeof e.pipe === "function" && typeof e.on === "function"; + } + function isBlobLike(e) { + return ( + (u && e instanceof u) || + (e && typeof e === "object" && (typeof e.stream === "function" || typeof e.arrayBuffer === "function") && /^(Blob|File)$/.test(e[Symbol.toStringTag])) + ); + } + function buildURL(e, t) { + if (e.includes("?") || e.includes("#")) { + throw new Error('Query params cannot be passed when url already contains "?" or "#".'); + } + const r = g(t); + if (r) { + e += "?" + r; + } + return e; + } + function parseURL(e) { + if (typeof e === "string") { + e = new URL(e); + if (!/^https?:/.test(e.origin || e.protocol)) { + throw new c("Invalid URL protocol: the URL must start with `http:` or `https:`."); + } + return e; + } + if (!e || typeof e !== "object") { + throw new c("Invalid URL: The URL argument must be a non-null object."); + } + if (!/^https?:/.test(e.origin || e.protocol)) { + throw new c("Invalid URL protocol: the URL must start with `http:` or `https:`."); + } + if (!(e instanceof URL)) { + if (e.port != null && e.port !== "" && !Number.isFinite(parseInt(e.port))) { + throw new c("Invalid URL: port must be a valid integer or a string representation of an integer."); + } + if (e.path != null && typeof e.path !== "string") { + throw new c("Invalid URL path: the path must be a string or null/undefined."); + } + if (e.pathname != null && typeof e.pathname !== "string") { + throw new c("Invalid URL pathname: the pathname must be a string or null/undefined."); + } + if (e.hostname != null && typeof e.hostname !== "string") { + throw new c("Invalid URL hostname: the hostname must be a string or null/undefined."); + } + if (e.origin != null && typeof e.origin !== "string") { + throw new c("Invalid URL origin: the origin must be a string or null/undefined."); + } + const t = e.port != null ? e.port : e.protocol === "https:" ? 443 : 80; + let r = e.origin != null ? e.origin : `${e.protocol}//${e.hostname}:${t}`; + let s = e.path != null ? e.path : `${e.pathname || ""}${e.search || ""}`; + if (r.endsWith("/")) { + r = r.substring(0, r.length - 1); + } + if (s && !s.startsWith("/")) { + s = `/${s}`; + } + e = new URL(r + s); + } + return e; + } + function parseOrigin(e) { + e = parseURL(e); + if (e.pathname !== "/" || e.search || e.hash) { + throw new c("invalid url"); + } + return e; + } + function getHostname(e) { + if (e[0] === "[") { + const t = e.indexOf("]"); + s(t !== -1); + return e.substring(1, t); + } + const t = e.indexOf(":"); + if (t === -1) return e; + return e.substring(0, t); + } + function getServerName(e) { + if (!e) { + return null; + } + s.strictEqual(typeof e, "string"); + const t = getHostname(e); + if (a.isIP(t)) { + return ""; + } + return t; + } + function deepClone(e) { + return JSON.parse(JSON.stringify(e)); + } + function isAsyncIterable(e) { + return !!(e != null && typeof e[Symbol.asyncIterator] === "function"); + } + function isIterable(e) { + return !!(e != null && (typeof e[Symbol.iterator] === "function" || typeof e[Symbol.asyncIterator] === "function")); + } + function bodyLength(e) { + if (e == null) { + return 0; + } else if (isStream(e)) { + const t = e._readableState; + return t && t.objectMode === false && t.ended === true && Number.isFinite(t.length) ? t.length : null; + } else if (isBlobLike(e)) { + return e.size != null ? e.size : null; + } else if (isBuffer(e)) { + return e.byteLength; + } + return null; + } + function isDestroyed(e) { + return !e || !!(e.destroyed || e[o]); + } + function isReadableAborted(e) { + const t = e && e._readableState; + return isDestroyed(e) && t && !t.endEmitted; + } + function destroy(e, t) { + if (e == null || !isStream(e) || isDestroyed(e)) { + return; + } + if (typeof e.destroy === "function") { + if (Object.getPrototypeOf(e).constructor === A) { + e.socket = null; + } + e.destroy(t); + } else if (t) { + process.nextTick( + (e, t) => { + e.emit("error", t); + }, + e, + t + ); + } + if (e.destroyed !== true) { + e[o] = true; + } + } + const h = /timeout=(\d+)/; + function parseKeepAliveTimeout(e) { + const t = e.toString().match(h); + return t ? parseInt(t[1], 10) * 1e3 : null; + } + function headerNameToString(e) { + return p[e] || e.toLowerCase(); + } + function parseHeaders(e, t = {}) { + if (!Array.isArray(e)) return e; + for (let r = 0; r < e.length; r += 2) { + const s = e[r].toString().toLowerCase(); + let o = t[s]; + if (!o) { + if (Array.isArray(e[r + 1])) { + t[s] = e[r + 1].map((e) => e.toString("utf8")); + } else { + t[s] = e[r + 1].toString("utf8"); + } + } else { + if (!Array.isArray(o)) { + o = [o]; + t[s] = o; + } + o.push(e[r + 1].toString("utf8")); + } + } + if ("content-length" in t && "content-disposition" in t) { + t["content-disposition"] = Buffer.from(t["content-disposition"]).toString("latin1"); + } + return t; + } + function parseRawHeaders(e) { + const t = []; + let r = false; + let s = -1; + for (let o = 0; o < e.length; o += 2) { + const n = e[o + 0].toString(); + const A = e[o + 1].toString("utf8"); + if (n.length === 14 && (n === "content-length" || n.toLowerCase() === "content-length")) { + t.push(n, A); + r = true; + } else if (n.length === 19 && (n === "content-disposition" || n.toLowerCase() === "content-disposition")) { + s = t.push(n, A) - 1; + } else { + t.push(n, A); + } + } + if (r && s !== -1) { + t[s] = Buffer.from(t[s]).toString("latin1"); + } + return t; + } + function isBuffer(e) { + return e instanceof Uint8Array || Buffer.isBuffer(e); + } + function validateHandler(e, t, r) { + if (!e || typeof e !== "object") { + throw new c("handler must be an object"); + } + if (typeof e.onConnect !== "function") { + throw new c("invalid onConnect method"); + } + if (typeof e.onError !== "function") { + throw new c("invalid onError method"); + } + if (typeof e.onBodySent !== "function" && e.onBodySent !== undefined) { + throw new c("invalid onBodySent method"); + } + if (r || t === "CONNECT") { + if (typeof e.onUpgrade !== "function") { + throw new c("invalid onUpgrade method"); + } + } else { + if (typeof e.onHeaders !== "function") { + throw new c("invalid onHeaders method"); + } + if (typeof e.onData !== "function") { + throw new c("invalid onData method"); + } + if (typeof e.onComplete !== "function") { + throw new c("invalid onComplete method"); + } + } + } + function isDisturbed(e) { + return !!( + e && + (i.isDisturbed ? i.isDisturbed(e) || e[n] : e[n] || e.readableDidRead || (e._readableState && e._readableState.dataEmitted) || isReadableAborted(e)) + ); + } + function isErrored(e) { + return !!(e && (i.isErrored ? i.isErrored(e) : /state: 'errored'/.test(l.inspect(e)))); + } + function isReadable(e) { + return !!(e && (i.isReadable ? i.isReadable(e) : /state: 'readable'/.test(l.inspect(e)))); + } + function getSocketInfo(e) { + return { + localAddress: e.localAddress, + localPort: e.localPort, + remoteAddress: e.remoteAddress, + remotePort: e.remotePort, + remoteFamily: e.remoteFamily, + timeout: e.timeout, + bytesWritten: e.bytesWritten, + bytesRead: e.bytesRead, + }; + } + async function* convertIterableToBuffer(e) { + for await (const t of e) { + yield Buffer.isBuffer(t) ? t : Buffer.from(t); + } + } + let I; + function ReadableStreamFrom(e) { + if (!I) { + I = r(3774).ReadableStream; + } + if (I.from) { + return I.from(convertIterableToBuffer(e)); + } + let t; + return new I( + { + async start() { + t = e[Symbol.asyncIterator](); + }, + async pull(e) { + const { done: r, value: s } = await t.next(); + if (r) { + queueMicrotask(() => { + e.close(); + }); + } else { + const t = Buffer.isBuffer(s) ? s : Buffer.from(s); + e.enqueue(new Uint8Array(t)); + } + return e.desiredSize > 0; + }, + async cancel(e) { + await t.return(); + }, + }, + 0 + ); + } + function isFormDataLike(e) { + return ( + e && + typeof e === "object" && + typeof e.append === "function" && + typeof e.delete === "function" && + typeof e.get === "function" && + typeof e.getAll === "function" && + typeof e.has === "function" && + typeof e.set === "function" && + e[Symbol.toStringTag] === "FormData" + ); + } + function throwIfAborted(e) { + if (!e) { + return; + } + if (typeof e.throwIfAborted === "function") { + e.throwIfAborted(); + } else { + if (e.aborted) { + const e = new Error("The operation was aborted"); + e.name = "AbortError"; + throw e; + } + } + } + function addAbortListener(e, t) { + if ("addEventListener" in e) { + e.addEventListener("abort", t, { once: true }); + return () => e.removeEventListener("abort", t); + } + e.addListener("abort", t); + return () => e.removeListener("abort", t); + } + const C = !!String.prototype.toWellFormed; + function toUSVString(e) { + if (C) { + return `${e}`.toWellFormed(); + } else if (l.toUSVString) { + return l.toUSVString(e); + } + return `${e}`; + } + function parseRangeHeader(e) { + if (e == null || e === "") return { start: 0, end: null, size: null }; + const t = e ? e.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; + return t ? { start: parseInt(t[1]), end: t[2] ? parseInt(t[2]) : null, size: t[3] ? parseInt(t[3]) : null } : null; + } + const m = Object.create(null); + m.enumerable = true; + e.exports = { + kEnumerableProperty: m, + nop: nop, + isDisturbed: isDisturbed, + isErrored: isErrored, + isReadable: isReadable, + toUSVString: toUSVString, + isReadableAborted: isReadableAborted, + isBlobLike: isBlobLike, + parseOrigin: parseOrigin, + parseURL: parseURL, + getServerName: getServerName, + isStream: isStream, + isIterable: isIterable, + isAsyncIterable: isAsyncIterable, + isDestroyed: isDestroyed, + headerNameToString: headerNameToString, + parseRawHeaders: parseRawHeaders, + parseHeaders: parseHeaders, + parseKeepAliveTimeout: parseKeepAliveTimeout, + destroy: destroy, + bodyLength: bodyLength, + deepClone: deepClone, + ReadableStreamFrom: ReadableStreamFrom, + isBuffer: isBuffer, + validateHandler: validateHandler, + getSocketInfo: getSocketInfo, + isFormDataLike: isFormDataLike, + buildURL: buildURL, + throwIfAborted: throwIfAborted, + addAbortListener: addAbortListener, + parseRangeHeader: parseRangeHeader, + nodeMajor: d, + nodeMinor: E, + nodeHasAutoSelectFamily: d > 18 || (d === 18 && E >= 13), + safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"], + }; + }, + 1: (e, t, r) => { + const s = r(992); + const { ClientDestroyedError: o, ClientClosedError: n, InvalidArgumentError: A } = r(8707); + const { kDestroy: i, kClose: a, kDispatch: c, kInterceptors: u } = r(6443); + const l = Symbol("destroyed"); + const g = Symbol("closed"); + const p = Symbol("onDestroyed"); + const d = Symbol("onClosed"); + const E = Symbol("Intercepted Dispatch"); + class DispatcherBase extends s { + constructor() { + super(); + this[l] = false; + this[p] = null; + this[g] = false; + this[d] = []; + } + get destroyed() { + return this[l]; + } + get closed() { + return this[g]; + } + get interceptors() { + return this[u]; + } + set interceptors(e) { + if (e) { + for (let t = e.length - 1; t >= 0; t--) { + const e = this[u][t]; + if (typeof e !== "function") { + throw new A("interceptor must be an function"); + } + } + } + this[u] = e; + } + close(e) { + if (e === undefined) { + return new Promise((e, t) => { + this.close((r, s) => (r ? t(r) : e(s))); + }); + } + if (typeof e !== "function") { + throw new A("invalid callback"); + } + if (this[l]) { + queueMicrotask(() => e(new o(), null)); + return; + } + if (this[g]) { + if (this[d]) { + this[d].push(e); + } else { + queueMicrotask(() => e(null, null)); + } + return; + } + this[g] = true; + this[d].push(e); + const onClosed = () => { + const e = this[d]; + this[d] = null; + for (let t = 0; t < e.length; t++) { + e[t](null, null); + } + }; + this[a]() + .then(() => this.destroy()) + .then(() => { + queueMicrotask(onClosed); + }); + } + destroy(e, t) { + if (typeof e === "function") { + t = e; + e = null; + } + if (t === undefined) { + return new Promise((t, r) => { + this.destroy(e, (e, s) => (e ? r(e) : t(s))); + }); + } + if (typeof t !== "function") { + throw new A("invalid callback"); + } + if (this[l]) { + if (this[p]) { + this[p].push(t); + } else { + queueMicrotask(() => t(null, null)); + } + return; + } + if (!e) { + e = new o(); + } + this[l] = true; + this[p] = this[p] || []; + this[p].push(t); + const onDestroyed = () => { + const e = this[p]; + this[p] = null; + for (let t = 0; t < e.length; t++) { + e[t](null, null); + } + }; + this[i](e).then(() => { + queueMicrotask(onDestroyed); + }); + } + [E](e, t) { + if (!this[u] || this[u].length === 0) { + this[E] = this[c]; + return this[c](e, t); + } + let r = this[c].bind(this); + for (let e = this[u].length - 1; e >= 0; e--) { + r = this[u][e](r); + } + this[E] = r; + return r(e, t); + } + dispatch(e, t) { + if (!t || typeof t !== "object") { + throw new A("handler must be an object"); + } + try { + if (!e || typeof e !== "object") { + throw new A("opts must be an object."); + } + if (this[l] || this[p]) { + throw new o(); + } + if (this[g]) { + throw new n(); + } + return this[E](e, t); + } catch (e) { + if (typeof t.onError !== "function") { + throw new A("invalid onError method"); + } + t.onError(e); + return false; + } + } + } + e.exports = DispatcherBase; + }, + 992: (e, t, r) => { + const s = r(4434); + class Dispatcher extends s { + dispatch() { + throw new Error("not implemented"); + } + close() { + throw new Error("not implemented"); + } + destroy() { + throw new Error("not implemented"); + } + } + e.exports = Dispatcher; + }, + 8923: (e, t, r) => { + const s = r(9581); + const o = r(3440); + const { ReadableStreamFrom: n, isBlobLike: A, isReadableStreamLike: i, readableStreamClose: a, createDeferredPromise: c, fullyReadBody: u } = r(5523); + const { FormData: l } = r(3073); + const { kState: g } = r(9710); + const { webidl: p } = r(4222); + const { DOMException: d, structuredClone: E } = r(7326); + const { Blob: h, File: I } = r(181); + const { kBodyUsed: C } = r(6443); + const m = r(2613); + const { isErrored: Q } = r(3440); + const { isUint8Array: B, isArrayBuffer: y } = r(8253); + const { File: b } = r(3041); + const { parseMIMEType: w, serializeAMimeType: R } = r(4322); + let T = globalThis.ReadableStream; + const k = I ?? b; + const D = new TextEncoder(); + const _ = new TextDecoder(); + function extractBody(e, t = false) { + if (!T) { + T = r(3774).ReadableStream; + } + let s = null; + if (e instanceof T) { + s = e; + } else if (A(e)) { + s = e.stream(); + } else { + s = new T({ + async pull(e) { + e.enqueue(typeof u === "string" ? D.encode(u) : u); + queueMicrotask(() => a(e)); + }, + start() {}, + type: undefined, + }); + } + m(i(s)); + let c = null; + let u = null; + let l = null; + let g = null; + if (typeof e === "string") { + u = e; + g = "text/plain;charset=UTF-8"; + } else if (e instanceof URLSearchParams) { + u = e.toString(); + g = "application/x-www-form-urlencoded;charset=UTF-8"; + } else if (y(e)) { + u = new Uint8Array(e.slice()); + } else if (ArrayBuffer.isView(e)) { + u = new Uint8Array(e.buffer.slice(e.byteOffset, e.byteOffset + e.byteLength)); + } else if (o.isFormDataLike(e)) { + const t = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, "0")}`; + const r = `--${t}\r\nContent-Disposition: form-data`; + /*! formdata-polyfill. MIT License. Jimmy Wärting */ const escape = (e) => + e.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); + const normalizeLinefeeds = (e) => e.replace(/\r?\n|\r/g, "\r\n"); + const s = []; + const o = new Uint8Array([13, 10]); + l = 0; + let n = false; + for (const [t, A] of e) { + if (typeof A === "string") { + const e = D.encode(r + `; name="${escape(normalizeLinefeeds(t))}"` + `\r\n\r\n${normalizeLinefeeds(A)}\r\n`); + s.push(e); + l += e.byteLength; + } else { + const e = D.encode( + `${r}; name="${escape(normalizeLinefeeds(t))}"` + + (A.name ? `; filename="${escape(A.name)}"` : "") + + "\r\n" + + `Content-Type: ${A.type || "application/octet-stream"}\r\n\r\n` + ); + s.push(e, A, o); + if (typeof A.size === "number") { + l += e.byteLength + A.size + o.byteLength; + } else { + n = true; + } + } + } + const A = D.encode(`--${t}--`); + s.push(A); + l += A.byteLength; + if (n) { + l = null; + } + u = e; + c = async function* () { + for (const e of s) { + if (e.stream) { + yield* e.stream(); + } else { + yield e; + } + } + }; + g = "multipart/form-data; boundary=" + t; + } else if (A(e)) { + u = e; + l = e.size; + if (e.type) { + g = e.type; + } + } else if (typeof e[Symbol.asyncIterator] === "function") { + if (t) { + throw new TypeError("keepalive"); + } + if (o.isDisturbed(e) || e.locked) { + throw new TypeError("Response body object should not be disturbed or locked"); + } + s = e instanceof T ? e : n(e); + } + if (typeof u === "string" || o.isBuffer(u)) { + l = Buffer.byteLength(u); + } + if (c != null) { + let t; + s = new T({ + async start() { + t = c(e)[Symbol.asyncIterator](); + }, + async pull(e) { + const { value: r, done: o } = await t.next(); + if (o) { + queueMicrotask(() => { + e.close(); + }); + } else { + if (!Q(s)) { + e.enqueue(new Uint8Array(r)); + } + } + return e.desiredSize > 0; + }, + async cancel(e) { + await t.return(); + }, + type: undefined, + }); + } + const p = { stream: s, source: u, length: l }; + return [p, g]; + } + function safelyExtractBody(e, t = false) { + if (!T) { + T = r(3774).ReadableStream; + } + if (e instanceof T) { + m(!o.isDisturbed(e), "The body has already been consumed."); + m(!e.locked, "The stream is locked."); + } + return extractBody(e, t); + } + function cloneBody(e) { + const [t, r] = e.stream.tee(); + const s = E(r, { transfer: [r] }); + const [, o] = s.tee(); + e.stream = t; + return { stream: o, length: e.length, source: e.source }; + } + async function* consumeBody(e) { + if (e) { + if (B(e)) { + yield e; + } else { + const t = e.stream; + if (o.isDisturbed(t)) { + throw new TypeError("The body has already been consumed."); + } + if (t.locked) { + throw new TypeError("The stream is locked."); + } + t[C] = true; + yield* t; + } + } + } + function throwIfAborted(e) { + if (e.aborted) { + throw new d("The operation was aborted.", "AbortError"); + } + } + function bodyMixinMethods(e) { + const t = { + blob() { + return specConsumeBody( + this, + (e) => { + let t = bodyMimeType(this); + if (t === "failure") { + t = ""; + } else if (t) { + t = R(t); + } + return new h([e], { type: t }); + }, + e + ); + }, + arrayBuffer() { + return specConsumeBody(this, (e) => new Uint8Array(e).buffer, e); + }, + text() { + return specConsumeBody(this, utf8DecodeBytes, e); + }, + json() { + return specConsumeBody(this, parseJSONFromBytes, e); + }, + async formData() { + p.brandCheck(this, e); + throwIfAborted(this[g]); + const t = this.headers.get("Content-Type"); + if (/multipart\/form-data/.test(t)) { + const e = {}; + for (const [t, r] of this.headers) e[t.toLowerCase()] = r; + const t = new l(); + let r; + try { + r = new s({ headers: e, preservePath: true }); + } catch (e) { + throw new d(`${e}`, "AbortError"); + } + r.on("field", (e, r) => { + t.append(e, r); + }); + r.on("file", (e, r, s, o, n) => { + const A = []; + if (o === "base64" || o.toLowerCase() === "base64") { + let o = ""; + r.on("data", (e) => { + o += e.toString().replace(/[\r\n]/gm, ""); + const t = o.length - (o.length % 4); + A.push(Buffer.from(o.slice(0, t), "base64")); + o = o.slice(t); + }); + r.on("end", () => { + A.push(Buffer.from(o, "base64")); + t.append(e, new k(A, s, { type: n })); + }); + } else { + r.on("data", (e) => { + A.push(e); + }); + r.on("end", () => { + t.append(e, new k(A, s, { type: n })); + }); + } + }); + const o = new Promise((e, t) => { + r.on("finish", e); + r.on("error", (e) => t(new TypeError(e))); + }); + if (this.body !== null) for await (const e of consumeBody(this[g].body)) r.write(e); + r.end(); + await o; + return t; + } else if (/application\/x-www-form-urlencoded/.test(t)) { + let e; + try { + let t = ""; + const r = new TextDecoder("utf-8", { ignoreBOM: true }); + for await (const e of consumeBody(this[g].body)) { + if (!B(e)) { + throw new TypeError("Expected Uint8Array chunk"); + } + t += r.decode(e, { stream: true }); + } + t += r.decode(); + e = new URLSearchParams(t); + } catch (e) { + throw Object.assign(new TypeError(), { cause: e }); + } + const t = new l(); + for (const [r, s] of e) { + t.append(r, s); + } + return t; + } else { + await Promise.resolve(); + throwIfAborted(this[g]); + throw p.errors.exception({ header: `${e.name}.formData`, message: "Could not parse content as FormData." }); + } + }, + }; + return t; + } + function mixinBody(e) { + Object.assign(e.prototype, bodyMixinMethods(e)); + } + async function specConsumeBody(e, t, r) { + p.brandCheck(e, r); + throwIfAborted(e[g]); + if (bodyUnusable(e[g].body)) { + throw new TypeError("Body is unusable"); + } + const s = c(); + const errorSteps = (e) => s.reject(e); + const successSteps = (e) => { + try { + s.resolve(t(e)); + } catch (e) { + errorSteps(e); + } + }; + if (e[g].body == null) { + successSteps(new Uint8Array()); + return s.promise; + } + await u(e[g].body, successSteps, errorSteps); + return s.promise; + } + function bodyUnusable(e) { + return e != null && (e.stream.locked || o.isDisturbed(e.stream)); + } + function utf8DecodeBytes(e) { + if (e.length === 0) { + return ""; + } + if (e[0] === 239 && e[1] === 187 && e[2] === 191) { + e = e.subarray(3); + } + const t = _.decode(e); + return t; + } + function parseJSONFromBytes(e) { + return JSON.parse(utf8DecodeBytes(e)); + } + function bodyMimeType(e) { + const { headersList: t } = e[g]; + const r = t.get("content-type"); + if (r === null) { + return "failure"; + } + return w(r); + } + e.exports = { extractBody: extractBody, safelyExtractBody: safelyExtractBody, cloneBody: cloneBody, mixinBody: mixinBody }; + }, + 7326: (e, t, r) => { + const { MessageChannel: s, receiveMessageOnPort: o } = r(8167); + const n = ["GET", "HEAD", "POST"]; + const A = new Set(n); + const i = [101, 204, 205, 304]; + const a = [301, 302, 303, 307, 308]; + const c = new Set(a); + const u = [ + "1", + "7", + "9", + "11", + "13", + "15", + "17", + "19", + "20", + "21", + "22", + "23", + "25", + "37", + "42", + "43", + "53", + "69", + "77", + "79", + "87", + "95", + "101", + "102", + "103", + "104", + "109", + "110", + "111", + "113", + "115", + "117", + "119", + "123", + "135", + "137", + "139", + "143", + "161", + "179", + "389", + "427", + "465", + "512", + "513", + "514", + "515", + "526", + "530", + "531", + "532", + "540", + "548", + "554", + "556", + "563", + "587", + "601", + "636", + "989", + "990", + "993", + "995", + "1719", + "1720", + "1723", + "2049", + "3659", + "4045", + "5060", + "5061", + "6000", + "6566", + "6665", + "6666", + "6667", + "6668", + "6669", + "6697", + "10080", + ]; + const l = new Set(u); + const g = [ + "", + "no-referrer", + "no-referrer-when-downgrade", + "same-origin", + "origin", + "strict-origin", + "origin-when-cross-origin", + "strict-origin-when-cross-origin", + "unsafe-url", + ]; + const p = new Set(g); + const d = ["follow", "manual", "error"]; + const E = ["GET", "HEAD", "OPTIONS", "TRACE"]; + const h = new Set(E); + const I = ["navigate", "same-origin", "no-cors", "cors"]; + const C = ["omit", "same-origin", "include"]; + const m = ["default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached"]; + const Q = ["content-encoding", "content-language", "content-location", "content-type", "content-length"]; + const B = ["half"]; + const y = ["CONNECT", "TRACE", "TRACK"]; + const b = new Set(y); + const w = ["audio", "audioworklet", "font", "image", "manifest", "paintworklet", "script", "style", "track", "video", "xslt", ""]; + const R = new Set(w); + const T = + globalThis.DOMException ?? + (() => { + try { + atob("~"); + } catch (e) { + return Object.getPrototypeOf(e).constructor; + } + })(); + let k; + const D = + globalThis.structuredClone ?? + function structuredClone(e, t = undefined) { + if (arguments.length === 0) { + throw new TypeError("missing argument"); + } + if (!k) { + k = new s(); + } + k.port1.unref(); + k.port2.unref(); + k.port1.postMessage(e, t?.transfer); + return o(k.port2).message; + }; + e.exports = { + DOMException: T, + structuredClone: D, + subresource: w, + forbiddenMethods: y, + requestBodyHeader: Q, + referrerPolicy: g, + requestRedirect: d, + requestMode: I, + requestCredentials: C, + requestCache: m, + redirectStatus: a, + corsSafeListedMethods: n, + nullBodyStatus: i, + safeMethods: E, + badPorts: u, + requestDuplex: B, + subresourceSet: R, + badPortsSet: l, + redirectStatusSet: c, + corsSafeListedMethodsSet: A, + safeMethodsSet: h, + forbiddenMethodsSet: b, + referrerPolicySet: p, + }; + }, + 4322: (e, t, r) => { + const s = r(2613); + const { atob: o } = r(181); + const { isomorphicDecode: n } = r(5523); + const A = new TextEncoder(); + const i = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; + const a = /(\u000A|\u000D|\u0009|\u0020)/; + const c = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; + function dataURLProcessor(e) { + s(e.protocol === "data:"); + let t = URLSerializer(e, true); + t = t.slice(5); + const r = { position: 0 }; + let o = collectASequenceOfCodePointsFast(",", t, r); + const A = o.length; + o = removeASCIIWhitespace(o, true, true); + if (r.position >= t.length) { + return "failure"; + } + r.position++; + const i = t.slice(A + 1); + let a = stringPercentDecode(i); + if (/;(\u0020){0,}base64$/i.test(o)) { + const e = n(a); + a = forgivingBase64(e); + if (a === "failure") { + return "failure"; + } + o = o.slice(0, -6); + o = o.replace(/(\u0020)+$/, ""); + o = o.slice(0, -1); + } + if (o.startsWith(";")) { + o = "text/plain" + o; + } + let c = parseMIMEType(o); + if (c === "failure") { + c = parseMIMEType("text/plain;charset=US-ASCII"); + } + return { mimeType: c, body: a }; + } + function URLSerializer(e, t = false) { + if (!t) { + return e.href; + } + const r = e.href; + const s = e.hash.length; + return s === 0 ? r : r.substring(0, r.length - s); + } + function collectASequenceOfCodePoints(e, t, r) { + let s = ""; + while (r.position < t.length && e(t[r.position])) { + s += t[r.position]; + r.position++; + } + return s; + } + function collectASequenceOfCodePointsFast(e, t, r) { + const s = t.indexOf(e, r.position); + const o = r.position; + if (s === -1) { + r.position = t.length; + return t.slice(o); + } + r.position = s; + return t.slice(o, r.position); + } + function stringPercentDecode(e) { + const t = A.encode(e); + return percentDecode(t); + } + function percentDecode(e) { + const t = []; + for (let r = 0; r < e.length; r++) { + const s = e[r]; + if (s !== 37) { + t.push(s); + } else if (s === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(e[r + 1], e[r + 2]))) { + t.push(37); + } else { + const s = String.fromCharCode(e[r + 1], e[r + 2]); + const o = Number.parseInt(s, 16); + t.push(o); + r += 2; + } + } + return Uint8Array.from(t); + } + function parseMIMEType(e) { + e = removeHTTPWhitespace(e, true, true); + const t = { position: 0 }; + const r = collectASequenceOfCodePointsFast("/", e, t); + if (r.length === 0 || !i.test(r)) { + return "failure"; + } + if (t.position > e.length) { + return "failure"; + } + t.position++; + let s = collectASequenceOfCodePointsFast(";", e, t); + s = removeHTTPWhitespace(s, false, true); + if (s.length === 0 || !i.test(s)) { + return "failure"; + } + const o = r.toLowerCase(); + const n = s.toLowerCase(); + const A = { type: o, subtype: n, parameters: new Map(), essence: `${o}/${n}` }; + while (t.position < e.length) { + t.position++; + collectASequenceOfCodePoints((e) => a.test(e), e, t); + let r = collectASequenceOfCodePoints((e) => e !== ";" && e !== "=", e, t); + r = r.toLowerCase(); + if (t.position < e.length) { + if (e[t.position] === ";") { + continue; + } + t.position++; + } + if (t.position > e.length) { + break; + } + let s = null; + if (e[t.position] === '"') { + s = collectAnHTTPQuotedString(e, t, true); + collectASequenceOfCodePointsFast(";", e, t); + } else { + s = collectASequenceOfCodePointsFast(";", e, t); + s = removeHTTPWhitespace(s, false, true); + if (s.length === 0) { + continue; + } + } + if (r.length !== 0 && i.test(r) && (s.length === 0 || c.test(s)) && !A.parameters.has(r)) { + A.parameters.set(r, s); + } + } + return A; + } + function forgivingBase64(e) { + e = e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, ""); + if (e.length % 4 === 0) { + e = e.replace(/=?=$/, ""); + } + if (e.length % 4 === 1) { + return "failure"; + } + if (/[^+/0-9A-Za-z]/.test(e)) { + return "failure"; + } + const t = o(e); + const r = new Uint8Array(t.length); + for (let e = 0; e < t.length; e++) { + r[e] = t.charCodeAt(e); + } + return r; + } + function collectAnHTTPQuotedString(e, t, r) { + const o = t.position; + let n = ""; + s(e[t.position] === '"'); + t.position++; + while (true) { + n += collectASequenceOfCodePoints((e) => e !== '"' && e !== "\\", e, t); + if (t.position >= e.length) { + break; + } + const r = e[t.position]; + t.position++; + if (r === "\\") { + if (t.position >= e.length) { + n += "\\"; + break; + } + n += e[t.position]; + t.position++; + } else { + s(r === '"'); + break; + } + } + if (r) { + return n; + } + return e.slice(o, t.position); + } + function serializeAMimeType(e) { + s(e !== "failure"); + const { parameters: t, essence: r } = e; + let o = r; + for (let [e, r] of t.entries()) { + o += ";"; + o += e; + o += "="; + if (!i.test(r)) { + r = r.replace(/(\\|")/g, "\\$1"); + r = '"' + r; + r += '"'; + } + o += r; + } + return o; + } + function isHTTPWhiteSpace(e) { + return e === "\r" || e === "\n" || e === "\t" || e === " "; + } + function removeHTTPWhitespace(e, t = true, r = true) { + let s = 0; + let o = e.length - 1; + if (t) { + for (; s < e.length && isHTTPWhiteSpace(e[s]); s++); + } + if (r) { + for (; o > 0 && isHTTPWhiteSpace(e[o]); o--); + } + return e.slice(s, o + 1); + } + function isASCIIWhitespace(e) { + return e === "\r" || e === "\n" || e === "\t" || e === "\f" || e === " "; + } + function removeASCIIWhitespace(e, t = true, r = true) { + let s = 0; + let o = e.length - 1; + if (t) { + for (; s < e.length && isASCIIWhitespace(e[s]); s++); + } + if (r) { + for (; o > 0 && isASCIIWhitespace(e[o]); o--); + } + return e.slice(s, o + 1); + } + e.exports = { + dataURLProcessor: dataURLProcessor, + URLSerializer: URLSerializer, + collectASequenceOfCodePoints: collectASequenceOfCodePoints, + collectASequenceOfCodePointsFast: collectASequenceOfCodePointsFast, + stringPercentDecode: stringPercentDecode, + parseMIMEType: parseMIMEType, + collectAnHTTPQuotedString: collectAnHTTPQuotedString, + serializeAMimeType: serializeAMimeType, + }; + }, + 3041: (e, t, r) => { + const { Blob: s, File: o } = r(181); + const { types: n } = r(9023); + const { kState: A } = r(9710); + const { isBlobLike: i } = r(5523); + const { webidl: a } = r(4222); + const { parseMIMEType: c, serializeAMimeType: u } = r(4322); + const { kEnumerableProperty: l } = r(3440); + const g = new TextEncoder(); + class File extends s { + constructor(e, t, r = {}) { + a.argumentLengthCheck(arguments, 2, { header: "File constructor" }); + e = a.converters["sequence"](e); + t = a.converters.USVString(t); + r = a.converters.FilePropertyBag(r); + const s = t; + let o = r.type; + let n; + e: { + if (o) { + o = c(o); + if (o === "failure") { + o = ""; + break e; + } + o = u(o).toLowerCase(); + } + n = r.lastModified; + } + super(processBlobParts(e, r), { type: o }); + this[A] = { name: s, lastModified: n, type: o }; + } + get name() { + a.brandCheck(this, File); + return this[A].name; + } + get lastModified() { + a.brandCheck(this, File); + return this[A].lastModified; + } + get type() { + a.brandCheck(this, File); + return this[A].type; + } + } + class FileLike { + constructor(e, t, r = {}) { + const s = t; + const o = r.type; + const n = r.lastModified ?? Date.now(); + this[A] = { blobLike: e, name: s, type: o, lastModified: n }; + } + stream(...e) { + a.brandCheck(this, FileLike); + return this[A].blobLike.stream(...e); + } + arrayBuffer(...e) { + a.brandCheck(this, FileLike); + return this[A].blobLike.arrayBuffer(...e); + } + slice(...e) { + a.brandCheck(this, FileLike); + return this[A].blobLike.slice(...e); + } + text(...e) { + a.brandCheck(this, FileLike); + return this[A].blobLike.text(...e); + } + get size() { + a.brandCheck(this, FileLike); + return this[A].blobLike.size; + } + get type() { + a.brandCheck(this, FileLike); + return this[A].blobLike.type; + } + get name() { + a.brandCheck(this, FileLike); + return this[A].name; + } + get lastModified() { + a.brandCheck(this, FileLike); + return this[A].lastModified; + } + get [Symbol.toStringTag]() { + return "File"; + } + } + Object.defineProperties(File.prototype, { [Symbol.toStringTag]: { value: "File", configurable: true }, name: l, lastModified: l }); + a.converters.Blob = a.interfaceConverter(s); + a.converters.BlobPart = function (e, t) { + if (a.util.Type(e) === "Object") { + if (i(e)) { + return a.converters.Blob(e, { strict: false }); + } + if (ArrayBuffer.isView(e) || n.isAnyArrayBuffer(e)) { + return a.converters.BufferSource(e, t); + } + } + return a.converters.USVString(e, t); + }; + a.converters["sequence"] = a.sequenceConverter(a.converters.BlobPart); + a.converters.FilePropertyBag = a.dictionaryConverter([ + { + key: "lastModified", + converter: a.converters["long long"], + get defaultValue() { + return Date.now(); + }, + }, + { key: "type", converter: a.converters.DOMString, defaultValue: "" }, + { + key: "endings", + converter: (e) => { + e = a.converters.DOMString(e); + e = e.toLowerCase(); + if (e !== "native") { + e = "transparent"; + } + return e; + }, + defaultValue: "transparent", + }, + ]); + function processBlobParts(e, t) { + const r = []; + for (const s of e) { + if (typeof s === "string") { + let e = s; + if (t.endings === "native") { + e = convertLineEndingsNative(e); + } + r.push(g.encode(e)); + } else if (n.isAnyArrayBuffer(s) || n.isTypedArray(s)) { + if (!s.buffer) { + r.push(new Uint8Array(s)); + } else { + r.push(new Uint8Array(s.buffer, s.byteOffset, s.byteLength)); + } + } else if (i(s)) { + r.push(s); + } + } + return r; + } + function convertLineEndingsNative(e) { + let t = "\n"; + if (process.platform === "win32") { + t = "\r\n"; + } + return e.replace(/\r?\n/g, t); + } + function isFileLike(e) { + return ( + (o && e instanceof o) || + e instanceof File || + (e && (typeof e.stream === "function" || typeof e.arrayBuffer === "function") && e[Symbol.toStringTag] === "File") + ); + } + e.exports = { File: File, FileLike: FileLike, isFileLike: isFileLike }; + }, + 3073: (e, t, r) => { + const { isBlobLike: s, toUSVString: o, makeIterator: n } = r(5523); + const { kState: A } = r(9710); + const { File: i, FileLike: a, isFileLike: c } = r(3041); + const { webidl: u } = r(4222); + const { Blob: l, File: g } = r(181); + const p = g ?? i; + class FormData { + constructor(e) { + if (e !== undefined) { + throw u.errors.conversionFailed({ prefix: "FormData constructor", argument: "Argument 1", types: ["undefined"] }); + } + this[A] = []; + } + append(e, t, r = undefined) { + u.brandCheck(this, FormData); + u.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); + if (arguments.length === 3 && !s(t)) { + throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"); + } + e = u.converters.USVString(e); + t = s(t) ? u.converters.Blob(t, { strict: false }) : u.converters.USVString(t); + r = arguments.length === 3 ? u.converters.USVString(r) : undefined; + const o = makeEntry(e, t, r); + this[A].push(o); + } + delete(e) { + u.brandCheck(this, FormData); + u.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); + e = u.converters.USVString(e); + this[A] = this[A].filter((t) => t.name !== e); + } + get(e) { + u.brandCheck(this, FormData); + u.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); + e = u.converters.USVString(e); + const t = this[A].findIndex((t) => t.name === e); + if (t === -1) { + return null; + } + return this[A][t].value; + } + getAll(e) { + u.brandCheck(this, FormData); + u.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); + e = u.converters.USVString(e); + return this[A].filter((t) => t.name === e).map((e) => e.value); + } + has(e) { + u.brandCheck(this, FormData); + u.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); + e = u.converters.USVString(e); + return this[A].findIndex((t) => t.name === e) !== -1; + } + set(e, t, r = undefined) { + u.brandCheck(this, FormData); + u.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); + if (arguments.length === 3 && !s(t)) { + throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"); + } + e = u.converters.USVString(e); + t = s(t) ? u.converters.Blob(t, { strict: false }) : u.converters.USVString(t); + r = arguments.length === 3 ? o(r) : undefined; + const n = makeEntry(e, t, r); + const i = this[A].findIndex((t) => t.name === e); + if (i !== -1) { + this[A] = [...this[A].slice(0, i), n, ...this[A].slice(i + 1).filter((t) => t.name !== e)]; + } else { + this[A].push(n); + } + } + entries() { + u.brandCheck(this, FormData); + return n(() => this[A].map((e) => [e.name, e.value]), "FormData", "key+value"); + } + keys() { + u.brandCheck(this, FormData); + return n(() => this[A].map((e) => [e.name, e.value]), "FormData", "key"); + } + values() { + u.brandCheck(this, FormData); + return n(() => this[A].map((e) => [e.name, e.value]), "FormData", "value"); + } + forEach(e, t = globalThis) { + u.brandCheck(this, FormData); + u.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" }); + if (typeof e !== "function") { + throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."); + } + for (const [r, s] of this) { + e.apply(t, [s, r, this]); + } + } + } + FormData.prototype[Symbol.iterator] = FormData.prototype.entries; + Object.defineProperties(FormData.prototype, { [Symbol.toStringTag]: { value: "FormData", configurable: true } }); + function makeEntry(e, t, r) { + e = Buffer.from(e).toString("utf8"); + if (typeof t === "string") { + t = Buffer.from(t).toString("utf8"); + } else { + if (!c(t)) { + t = t instanceof l ? new p([t], "blob", { type: t.type }) : new a(t, "blob", { type: t.type }); + } + if (r !== undefined) { + const e = { type: t.type, lastModified: t.lastModified }; + t = (g && t instanceof g) || t instanceof i ? new p([t], r, e) : new a(t, r, e); + } + } + return { name: e, value: t }; + } + e.exports = { FormData: FormData }; + }, + 5628: (e) => { + const t = Symbol.for("undici.globalOrigin.1"); + function getGlobalOrigin() { + return globalThis[t]; + } + function setGlobalOrigin(e) { + if (e === undefined) { + Object.defineProperty(globalThis, t, { value: undefined, writable: true, enumerable: false, configurable: false }); + return; + } + const r = new URL(e); + if (r.protocol !== "http:" && r.protocol !== "https:") { + throw new TypeError(`Only http & https urls are allowed, received ${r.protocol}`); + } + Object.defineProperty(globalThis, t, { value: r, writable: true, enumerable: false, configurable: false }); + } + e.exports = { getGlobalOrigin: getGlobalOrigin, setGlobalOrigin: setGlobalOrigin }; + }, + 6349: (e, t, r) => { + const { kHeadersList: s, kConstruct: o } = r(6443); + const { kGuard: n } = r(9710); + const { kEnumerableProperty: A } = r(3440); + const { makeIterator: i, isValidHeaderName: a, isValidHeaderValue: c } = r(5523); + const { webidl: u } = r(4222); + const l = r(2613); + const g = Symbol("headers map"); + const p = Symbol("headers map sorted"); + function isHTTPWhiteSpaceCharCode(e) { + return e === 10 || e === 13 || e === 9 || e === 32; + } + function headerValueNormalize(e) { + let t = 0; + let r = e.length; + while (r > t && isHTTPWhiteSpaceCharCode(e.charCodeAt(r - 1))) --r; + while (r > t && isHTTPWhiteSpaceCharCode(e.charCodeAt(t))) ++t; + return t === 0 && r === e.length ? e : e.substring(t, r); + } + function fill(e, t) { + if (Array.isArray(t)) { + for (let r = 0; r < t.length; ++r) { + const s = t[r]; + if (s.length !== 2) { + throw u.errors.exception({ header: "Headers constructor", message: `expected name/value pair to be length 2, found ${s.length}.` }); + } + appendHeader(e, s[0], s[1]); + } + } else if (typeof t === "object" && t !== null) { + const r = Object.keys(t); + for (let s = 0; s < r.length; ++s) { + appendHeader(e, r[s], t[r[s]]); + } + } else { + throw u.errors.conversionFailed({ + prefix: "Headers constructor", + argument: "Argument 1", + types: ["sequence>", "record"], + }); + } + } + function appendHeader(e, t, r) { + r = headerValueNormalize(r); + if (!a(t)) { + throw u.errors.invalidArgument({ prefix: "Headers.append", value: t, type: "header name" }); + } else if (!c(r)) { + throw u.errors.invalidArgument({ prefix: "Headers.append", value: r, type: "header value" }); + } + if (e[n] === "immutable") { + throw new TypeError("immutable"); + } else if (e[n] === "request-no-cors") { + } + return e[s].append(t, r); + } + class HeadersList { + cookies = null; + constructor(e) { + if (e instanceof HeadersList) { + this[g] = new Map(e[g]); + this[p] = e[p]; + this.cookies = e.cookies === null ? null : [...e.cookies]; + } else { + this[g] = new Map(e); + this[p] = null; + } + } + contains(e) { + e = e.toLowerCase(); + return this[g].has(e); + } + clear() { + this[g].clear(); + this[p] = null; + this.cookies = null; + } + append(e, t) { + this[p] = null; + const r = e.toLowerCase(); + const s = this[g].get(r); + if (s) { + const e = r === "cookie" ? "; " : ", "; + this[g].set(r, { name: s.name, value: `${s.value}${e}${t}` }); + } else { + this[g].set(r, { name: e, value: t }); + } + if (r === "set-cookie") { + this.cookies ??= []; + this.cookies.push(t); + } + } + set(e, t) { + this[p] = null; + const r = e.toLowerCase(); + if (r === "set-cookie") { + this.cookies = [t]; + } + this[g].set(r, { name: e, value: t }); + } + delete(e) { + this[p] = null; + e = e.toLowerCase(); + if (e === "set-cookie") { + this.cookies = null; + } + this[g].delete(e); + } + get(e) { + const t = this[g].get(e.toLowerCase()); + return t === undefined ? null : t.value; + } + *[Symbol.iterator]() { + for (const [e, { value: t }] of this[g]) { + yield [e, t]; + } + } + get entries() { + const e = {}; + if (this[g].size) { + for (const { name: t, value: r } of this[g].values()) { + e[t] = r; + } + } + return e; + } + } + class Headers { + constructor(e = undefined) { + if (e === o) { + return; + } + this[s] = new HeadersList(); + this[n] = "none"; + if (e !== undefined) { + e = u.converters.HeadersInit(e); + fill(this, e); + } + } + append(e, t) { + u.brandCheck(this, Headers); + u.argumentLengthCheck(arguments, 2, { header: "Headers.append" }); + e = u.converters.ByteString(e); + t = u.converters.ByteString(t); + return appendHeader(this, e, t); + } + delete(e) { + u.brandCheck(this, Headers); + u.argumentLengthCheck(arguments, 1, { header: "Headers.delete" }); + e = u.converters.ByteString(e); + if (!a(e)) { + throw u.errors.invalidArgument({ prefix: "Headers.delete", value: e, type: "header name" }); + } + if (this[n] === "immutable") { + throw new TypeError("immutable"); + } else if (this[n] === "request-no-cors") { + } + if (!this[s].contains(e)) { + return; + } + this[s].delete(e); + } + get(e) { + u.brandCheck(this, Headers); + u.argumentLengthCheck(arguments, 1, { header: "Headers.get" }); + e = u.converters.ByteString(e); + if (!a(e)) { + throw u.errors.invalidArgument({ prefix: "Headers.get", value: e, type: "header name" }); + } + return this[s].get(e); + } + has(e) { + u.brandCheck(this, Headers); + u.argumentLengthCheck(arguments, 1, { header: "Headers.has" }); + e = u.converters.ByteString(e); + if (!a(e)) { + throw u.errors.invalidArgument({ prefix: "Headers.has", value: e, type: "header name" }); + } + return this[s].contains(e); + } + set(e, t) { + u.brandCheck(this, Headers); + u.argumentLengthCheck(arguments, 2, { header: "Headers.set" }); + e = u.converters.ByteString(e); + t = u.converters.ByteString(t); + t = headerValueNormalize(t); + if (!a(e)) { + throw u.errors.invalidArgument({ prefix: "Headers.set", value: e, type: "header name" }); + } else if (!c(t)) { + throw u.errors.invalidArgument({ prefix: "Headers.set", value: t, type: "header value" }); + } + if (this[n] === "immutable") { + throw new TypeError("immutable"); + } else if (this[n] === "request-no-cors") { + } + this[s].set(e, t); + } + getSetCookie() { + u.brandCheck(this, Headers); + const e = this[s].cookies; + if (e) { + return [...e]; + } + return []; + } + get [p]() { + if (this[s][p]) { + return this[s][p]; + } + const e = []; + const t = [...this[s]].sort((e, t) => (e[0] < t[0] ? -1 : 1)); + const r = this[s].cookies; + for (let s = 0; s < t.length; ++s) { + const [o, n] = t[s]; + if (o === "set-cookie") { + for (let t = 0; t < r.length; ++t) { + e.push([o, r[t]]); + } + } else { + l(n !== null); + e.push([o, n]); + } + } + this[s][p] = e; + return e; + } + keys() { + u.brandCheck(this, Headers); + if (this[n] === "immutable") { + const e = this[p]; + return i(() => e, "Headers", "key"); + } + return i(() => [...this[p].values()], "Headers", "key"); + } + values() { + u.brandCheck(this, Headers); + if (this[n] === "immutable") { + const e = this[p]; + return i(() => e, "Headers", "value"); + } + return i(() => [...this[p].values()], "Headers", "value"); + } + entries() { + u.brandCheck(this, Headers); + if (this[n] === "immutable") { + const e = this[p]; + return i(() => e, "Headers", "key+value"); + } + return i(() => [...this[p].values()], "Headers", "key+value"); + } + forEach(e, t = globalThis) { + u.brandCheck(this, Headers); + u.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" }); + if (typeof e !== "function") { + throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'."); + } + for (const [r, s] of this) { + e.apply(t, [s, r, this]); + } + } + [Symbol.for("nodejs.util.inspect.custom")]() { + u.brandCheck(this, Headers); + return this[s]; + } + } + Headers.prototype[Symbol.iterator] = Headers.prototype.entries; + Object.defineProperties(Headers.prototype, { + append: A, + delete: A, + get: A, + has: A, + set: A, + getSetCookie: A, + keys: A, + values: A, + entries: A, + forEach: A, + [Symbol.iterator]: { enumerable: false }, + [Symbol.toStringTag]: { value: "Headers", configurable: true }, + }); + u.converters.HeadersInit = function (e) { + if (u.util.Type(e) === "Object") { + if (e[Symbol.iterator]) { + return u.converters["sequence>"](e); + } + return u.converters["record"](e); + } + throw u.errors.conversionFailed({ + prefix: "Headers constructor", + argument: "Argument 1", + types: ["sequence>", "record"], + }); + }; + e.exports = { fill: fill, Headers: Headers, HeadersList: HeadersList }; + }, + 2315: (e, t, r) => { + const { Response: s, makeNetworkError: o, makeAppropriateNetworkError: n, filterResponse: A, makeResponse: i } = r(8676); + const { Headers: a } = r(6349); + const { Request: c, makeRequest: u } = r(5194); + const l = r(3106); + const { + bytesMatch: g, + makePolicyContainer: p, + clonePolicyContainer: d, + requestBadPort: E, + TAOCheck: h, + appendRequestOriginHeader: I, + responseLocationURL: C, + requestCurrentURL: m, + setRequestReferrerPolicyOnRedirect: Q, + tryUpgradeRequestToAPotentiallyTrustworthyURL: B, + createOpaqueTimingInfo: y, + appendFetchMetadata: b, + corsCheck: w, + crossOriginResourcePolicyCheck: R, + determineRequestsReferrer: T, + coarsenedSharedCurrentTime: k, + createDeferredPromise: D, + isBlobLike: _, + sameOrigin: F, + isCancelled: S, + isAborted: v, + isErrorLike: U, + fullyReadBody: N, + readableStreamClose: O, + isomorphicEncode: G, + urlIsLocal: L, + urlIsHttpHttpsScheme: P, + urlHasHttpsScheme: M, + } = r(5523); + const { kState: x, kHeaders: H, kGuard: V, kRealm: Y } = r(9710); + const J = r(2613); + const { safelyExtractBody: q } = r(8923); + const { redirectStatusSet: j, nullBodyStatus: W, safeMethodsSet: K, requestBodyHeader: z, subresourceSet: Z, DOMException: X } = r(7326); + const { kHeadersList: $ } = r(6443); + const ee = r(4434); + const { Readable: te, pipeline: re } = r(2203); + const { addAbortListener: se, isErrored: oe, isReadable: ne, nodeMajor: Ae, nodeMinor: ie } = r(3440); + const { dataURLProcessor: ae, serializeAMimeType: ce } = r(4322); + const { TransformStream: ue } = r(3774); + const { getGlobalDispatcher: le } = r(2581); + const { webidl: ge } = r(4222); + const { STATUS_CODES: pe } = r(8611); + const de = ["GET", "HEAD"]; + let Ee; + let he = globalThis.ReadableStream; + class Fetch extends ee { + constructor(e) { + super(); + this.dispatcher = e; + this.connection = null; + this.dump = false; + this.state = "ongoing"; + this.setMaxListeners(21); + } + terminate(e) { + if (this.state !== "ongoing") { + return; + } + this.state = "terminated"; + this.connection?.destroy(e); + this.emit("terminated", e); + } + abort(e) { + if (this.state !== "ongoing") { + return; + } + this.state = "aborted"; + if (!e) { + e = new X("The operation was aborted.", "AbortError"); + } + this.serializedAbortReason = e; + this.connection?.destroy(e); + this.emit("terminated", e); + } + } + function fetch(e, t = {}) { + ge.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" }); + const r = D(); + let o; + try { + o = new c(e, t); + } catch (e) { + r.reject(e); + return r.promise; + } + const n = o[x]; + if (o.signal.aborted) { + abortFetch(r, n, null, o.signal.reason); + return r.promise; + } + const A = n.client.globalObject; + if (A?.constructor?.name === "ServiceWorkerGlobalScope") { + n.serviceWorkers = "none"; + } + let i = null; + const a = null; + let u = false; + let l = null; + se(o.signal, () => { + u = true; + J(l != null); + l.abort(o.signal.reason); + abortFetch(r, n, i, o.signal.reason); + }); + const handleFetchDone = (e) => finalizeAndReportTiming(e, "fetch"); + const processResponse = (e) => { + if (u) { + return Promise.resolve(); + } + if (e.aborted) { + abortFetch(r, n, i, l.serializedAbortReason); + return Promise.resolve(); + } + if (e.type === "error") { + r.reject(Object.assign(new TypeError("fetch failed"), { cause: e.error })); + return Promise.resolve(); + } + i = new s(); + i[x] = e; + i[Y] = a; + i[H][$] = e.headersList; + i[H][V] = "immutable"; + i[H][Y] = a; + r.resolve(i); + }; + l = fetching({ request: n, processResponseEndOfBody: handleFetchDone, processResponse: processResponse, dispatcher: t.dispatcher ?? le() }); + return r.promise; + } + function finalizeAndReportTiming(e, t = "other") { + if (e.type === "error" && e.aborted) { + return; + } + if (!e.urlList?.length) { + return; + } + const r = e.urlList[0]; + let s = e.timingInfo; + let o = e.cacheState; + if (!P(r)) { + return; + } + if (s === null) { + return; + } + if (!e.timingAllowPassed) { + s = y({ startTime: s.startTime }); + o = ""; + } + s.endTime = k(); + e.timingInfo = s; + markResourceTiming(s, r, t, globalThis, o); + } + function markResourceTiming(e, t, r, s, o) { + if (Ae > 18 || (Ae === 18 && ie >= 2)) { + performance.markResourceTiming(e, t.href, r, s, o); + } + } + function abortFetch(e, t, r, s) { + if (!s) { + s = new X("The operation was aborted.", "AbortError"); + } + e.reject(s); + if (t.body != null && ne(t.body?.stream)) { + t.body.stream.cancel(s).catch((e) => { + if (e.code === "ERR_INVALID_STATE") { + return; + } + throw e; + }); + } + if (r == null) { + return; + } + const o = r[x]; + if (o.body != null && ne(o.body?.stream)) { + o.body.stream.cancel(s).catch((e) => { + if (e.code === "ERR_INVALID_STATE") { + return; + } + throw e; + }); + } + } + function fetching({ + request: e, + processRequestBodyChunkLength: t, + processRequestEndOfBody: r, + processResponse: s, + processResponseEndOfBody: o, + processResponseConsumeBody: n, + useParallelQueue: A = false, + dispatcher: i, + }) { + let a = null; + let c = false; + if (e.client != null) { + a = e.client.globalObject; + c = e.client.crossOriginIsolatedCapability; + } + const u = k(c); + const l = y({ startTime: u }); + const g = { + controller: new Fetch(i), + request: e, + timingInfo: l, + processRequestBodyChunkLength: t, + processRequestEndOfBody: r, + processResponse: s, + processResponseConsumeBody: n, + processResponseEndOfBody: o, + taskDestination: a, + crossOriginIsolatedCapability: c, + }; + J(!e.body || e.body.stream); + if (e.window === "client") { + e.window = e.client?.globalObject?.constructor?.name === "Window" ? e.client : "no-window"; + } + if (e.origin === "client") { + e.origin = e.client?.origin; + } + if (e.policyContainer === "client") { + if (e.client != null) { + e.policyContainer = d(e.client.policyContainer); + } else { + e.policyContainer = p(); + } + } + if (!e.headersList.contains("accept")) { + const t = "*/*"; + e.headersList.append("accept", t); + } + if (!e.headersList.contains("accept-language")) { + e.headersList.append("accept-language", "*"); + } + if (e.priority === null) { + } + if (Z.has(e.destination)) { + } + mainFetch(g).catch((e) => { + g.controller.terminate(e); + }); + return g.controller; + } + async function mainFetch(e, t = false) { + const r = e.request; + let s = null; + if (r.localURLsOnly && !L(m(r))) { + s = o("local URLs only"); + } + B(r); + if (E(r) === "blocked") { + s = o("bad port"); + } + if (r.referrerPolicy === "") { + r.referrerPolicy = r.policyContainer.referrerPolicy; + } + if (r.referrer !== "no-referrer") { + r.referrer = T(r); + } + if (s === null) { + s = await (async () => { + const t = m(r); + if ((F(t, r.url) && r.responseTainting === "basic") || t.protocol === "data:" || r.mode === "navigate" || r.mode === "websocket") { + r.responseTainting = "basic"; + return await schemeFetch(e); + } + if (r.mode === "same-origin") { + return o('request mode cannot be "same-origin"'); + } + if (r.mode === "no-cors") { + if (r.redirect !== "follow") { + return o('redirect mode cannot be "follow" for "no-cors" request'); + } + r.responseTainting = "opaque"; + return await schemeFetch(e); + } + if (!P(m(r))) { + return o("URL scheme must be a HTTP(S) scheme"); + } + r.responseTainting = "cors"; + return await httpFetch(e); + })(); + } + if (t) { + return s; + } + if (s.status !== 0 && !s.internalResponse) { + if (r.responseTainting === "cors") { + } + if (r.responseTainting === "basic") { + s = A(s, "basic"); + } else if (r.responseTainting === "cors") { + s = A(s, "cors"); + } else if (r.responseTainting === "opaque") { + s = A(s, "opaque"); + } else { + J(false); + } + } + let n = s.status === 0 ? s : s.internalResponse; + if (n.urlList.length === 0) { + n.urlList.push(...r.urlList); + } + if (!r.timingAllowFailed) { + s.timingAllowPassed = true; + } + if (s.type === "opaque" && n.status === 206 && n.rangeRequested && !r.headers.contains("range")) { + s = n = o(); + } + if (s.status !== 0 && (r.method === "HEAD" || r.method === "CONNECT" || W.includes(n.status))) { + n.body = null; + e.controller.dump = true; + } + if (r.integrity) { + const processBodyError = (t) => fetchFinale(e, o(t)); + if (r.responseTainting === "opaque" || s.body == null) { + processBodyError(s.error); + return; + } + const processBody = (t) => { + if (!g(t, r.integrity)) { + processBodyError("integrity mismatch"); + return; + } + s.body = q(t)[0]; + fetchFinale(e, s); + }; + await N(s.body, processBody, processBodyError); + } else { + fetchFinale(e, s); + } + } + function schemeFetch(e) { + if (S(e) && e.request.redirectCount === 0) { + return Promise.resolve(n(e)); + } + const { request: t } = e; + const { protocol: s } = m(t); + switch (s) { + case "about:": { + return Promise.resolve(o("about scheme is not supported")); + } + case "blob:": { + if (!Ee) { + Ee = r(181).resolveObjectURL; + } + const e = m(t); + if (e.search.length !== 0) { + return Promise.resolve(o("NetworkError when attempting to fetch resource.")); + } + const s = Ee(e.toString()); + if (t.method !== "GET" || !_(s)) { + return Promise.resolve(o("invalid method")); + } + const n = q(s); + const A = n[0]; + const a = G(`${A.length}`); + const c = n[1] ?? ""; + const u = i({ + statusText: "OK", + headersList: [ + ["content-length", { name: "Content-Length", value: a }], + ["content-type", { name: "Content-Type", value: c }], + ], + }); + u.body = A; + return Promise.resolve(u); + } + case "data:": { + const e = m(t); + const r = ae(e); + if (r === "failure") { + return Promise.resolve(o("failed to fetch the data URL")); + } + const s = ce(r.mimeType); + return Promise.resolve(i({ statusText: "OK", headersList: [["content-type", { name: "Content-Type", value: s }]], body: q(r.body)[0] })); + } + case "file:": { + return Promise.resolve(o("not implemented... yet...")); + } + case "http:": + case "https:": { + return httpFetch(e).catch((e) => o(e)); + } + default: { + return Promise.resolve(o("unknown scheme")); + } + } + } + function finalizeResponse(e, t) { + e.request.done = true; + if (e.processResponseDone != null) { + queueMicrotask(() => e.processResponseDone(t)); + } + } + function fetchFinale(e, t) { + if (t.type === "error") { + t.urlList = [e.request.urlList[0]]; + t.timingInfo = y({ startTime: e.timingInfo.startTime }); + } + const processResponseEndOfBody = () => { + e.request.done = true; + if (e.processResponseEndOfBody != null) { + queueMicrotask(() => e.processResponseEndOfBody(t)); + } + }; + if (e.processResponse != null) { + queueMicrotask(() => e.processResponse(t)); + } + if (t.body == null) { + processResponseEndOfBody(); + } else { + const identityTransformAlgorithm = (e, t) => { + t.enqueue(e); + }; + const e = new ue( + { start() {}, transform: identityTransformAlgorithm, flush: processResponseEndOfBody }, + { + size() { + return 1; + }, + }, + { + size() { + return 1; + }, + } + ); + t.body = { stream: t.body.stream.pipeThrough(e) }; + } + if (e.processResponseConsumeBody != null) { + const processBody = (r) => e.processResponseConsumeBody(t, r); + const processBodyError = (r) => e.processResponseConsumeBody(t, r); + if (t.body == null) { + queueMicrotask(() => processBody(null)); + } else { + return N(t.body, processBody, processBodyError); + } + return Promise.resolve(); + } + } + async function httpFetch(e) { + const t = e.request; + let r = null; + let s = null; + const n = e.timingInfo; + if (t.serviceWorkers === "all") { + } + if (r === null) { + if (t.redirect === "follow") { + t.serviceWorkers = "none"; + } + s = r = await httpNetworkOrCacheFetch(e); + if (t.responseTainting === "cors" && w(t, r) === "failure") { + return o("cors failure"); + } + if (h(t, r) === "failure") { + t.timingAllowFailed = true; + } + } + if ((t.responseTainting === "opaque" || r.type === "opaque") && R(t.origin, t.client, t.destination, s) === "blocked") { + return o("blocked"); + } + if (j.has(s.status)) { + if (t.redirect !== "manual") { + e.controller.connection.destroy(); + } + if (t.redirect === "error") { + r = o("unexpected redirect"); + } else if (t.redirect === "manual") { + r = s; + } else if (t.redirect === "follow") { + r = await httpRedirectFetch(e, r); + } else { + J(false); + } + } + r.timingInfo = n; + return r; + } + function httpRedirectFetch(e, t) { + const r = e.request; + const s = t.internalResponse ? t.internalResponse : t; + let n; + try { + n = C(s, m(r).hash); + if (n == null) { + return t; + } + } catch (e) { + return Promise.resolve(o(e)); + } + if (!P(n)) { + return Promise.resolve(o("URL scheme must be a HTTP(S) scheme")); + } + if (r.redirectCount === 20) { + return Promise.resolve(o("redirect count exceeded")); + } + r.redirectCount += 1; + if (r.mode === "cors" && (n.username || n.password) && !F(r, n)) { + return Promise.resolve(o('cross origin not allowed for request mode "cors"')); + } + if (r.responseTainting === "cors" && (n.username || n.password)) { + return Promise.resolve(o('URL cannot contain credentials for request mode "cors"')); + } + if (s.status !== 303 && r.body != null && r.body.source == null) { + return Promise.resolve(o()); + } + if (([301, 302].includes(s.status) && r.method === "POST") || (s.status === 303 && !de.includes(r.method))) { + r.method = "GET"; + r.body = null; + for (const e of z) { + r.headersList.delete(e); + } + } + if (!F(m(r), n)) { + r.headersList.delete("authorization"); + r.headersList.delete("proxy-authorization", true); + r.headersList.delete("cookie"); + r.headersList.delete("host"); + } + if (r.body != null) { + J(r.body.source != null); + r.body = q(r.body.source)[0]; + } + const A = e.timingInfo; + A.redirectEndTime = A.postRedirectStartTime = k(e.crossOriginIsolatedCapability); + if (A.redirectStartTime === 0) { + A.redirectStartTime = A.startTime; + } + r.urlList.push(n); + Q(r, s); + return mainFetch(e, true); + } + async function httpNetworkOrCacheFetch(e, t = false, r = false) { + const s = e.request; + let A = null; + let i = null; + let a = null; + const c = null; + const l = false; + if (s.window === "no-window" && s.redirect === "error") { + A = e; + i = s; + } else { + i = u(s); + A = { ...e }; + A.request = i; + } + const g = s.credentials === "include" || (s.credentials === "same-origin" && s.responseTainting === "basic"); + const p = i.body ? i.body.length : null; + let d = null; + if (i.body == null && ["POST", "PUT"].includes(i.method)) { + d = "0"; + } + if (p != null) { + d = G(`${p}`); + } + if (d != null) { + i.headersList.append("content-length", d); + } + if (p != null && i.keepalive) { + } + if (i.referrer instanceof URL) { + i.headersList.append("referer", G(i.referrer.href)); + } + I(i); + b(i); + if (!i.headersList.contains("user-agent")) { + i.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node"); + } + if ( + i.cache === "default" && + (i.headersList.contains("if-modified-since") || + i.headersList.contains("if-none-match") || + i.headersList.contains("if-unmodified-since") || + i.headersList.contains("if-match") || + i.headersList.contains("if-range")) + ) { + i.cache = "no-store"; + } + if (i.cache === "no-cache" && !i.preventNoCacheCacheControlHeaderModification && !i.headersList.contains("cache-control")) { + i.headersList.append("cache-control", "max-age=0"); + } + if (i.cache === "no-store" || i.cache === "reload") { + if (!i.headersList.contains("pragma")) { + i.headersList.append("pragma", "no-cache"); + } + if (!i.headersList.contains("cache-control")) { + i.headersList.append("cache-control", "no-cache"); + } + } + if (i.headersList.contains("range")) { + i.headersList.append("accept-encoding", "identity"); + } + if (!i.headersList.contains("accept-encoding")) { + if (M(m(i))) { + i.headersList.append("accept-encoding", "br, gzip, deflate"); + } else { + i.headersList.append("accept-encoding", "gzip, deflate"); + } + } + i.headersList.delete("host"); + if (g) { + } + if (c == null) { + i.cache = "no-store"; + } + if (i.mode !== "no-store" && i.mode !== "reload") { + } + if (a == null) { + if (i.mode === "only-if-cached") { + return o("only if cached"); + } + const e = await httpNetworkFetch(A, g, r); + if (!K.has(i.method) && e.status >= 200 && e.status <= 399) { + } + if (l && e.status === 304) { + } + if (a == null) { + a = e; + } + } + a.urlList = [...i.urlList]; + if (i.headersList.contains("range")) { + a.rangeRequested = true; + } + a.requestIncludesCredentials = g; + if (a.status === 407) { + if (s.window === "no-window") { + return o(); + } + if (S(e)) { + return n(e); + } + return o("proxy authentication required"); + } + if (a.status === 421 && !r && (s.body == null || s.body.source != null)) { + if (S(e)) { + return n(e); + } + e.controller.connection.destroy(); + a = await httpNetworkOrCacheFetch(e, t, true); + } + if (t) { + } + return a; + } + async function httpNetworkFetch(e, t = false, s = false) { + J(!e.controller.connection || e.controller.connection.destroyed); + e.controller.connection = { + abort: null, + destroyed: false, + destroy(e) { + if (!this.destroyed) { + this.destroyed = true; + this.abort?.(e ?? new X("The operation was aborted.", "AbortError")); + } + }, + }; + const A = e.request; + let c = null; + const u = e.timingInfo; + const g = null; + if (g == null) { + A.cache = "no-store"; + } + const p = s ? "yes" : "no"; + if (A.mode === "websocket") { + } else { + } + let d = null; + if (A.body == null && e.processRequestEndOfBody) { + queueMicrotask(() => e.processRequestEndOfBody()); + } else if (A.body != null) { + const processBodyChunk = async function* (t) { + if (S(e)) { + return; + } + yield t; + e.processRequestBodyChunkLength?.(t.byteLength); + }; + const processEndOfBody = () => { + if (S(e)) { + return; + } + if (e.processRequestEndOfBody) { + e.processRequestEndOfBody(); + } + }; + const processBodyError = (t) => { + if (S(e)) { + return; + } + if (t.name === "AbortError") { + e.controller.abort(); + } else { + e.controller.terminate(t); + } + }; + d = (async function* () { + try { + for await (const e of A.body.stream) { + yield* processBodyChunk(e); + } + processEndOfBody(); + } catch (e) { + processBodyError(e); + } + })(); + } + try { + const { body: t, status: r, statusText: s, headersList: o, socket: n } = await dispatch({ body: d }); + if (n) { + c = i({ status: r, statusText: s, headersList: o, socket: n }); + } else { + const n = t[Symbol.asyncIterator](); + e.controller.next = () => n.next(); + c = i({ status: r, statusText: s, headersList: o }); + } + } catch (t) { + if (t.name === "AbortError") { + e.controller.connection.destroy(); + return n(e, t); + } + return o(t); + } + const pullAlgorithm = () => { + e.controller.resume(); + }; + const cancelAlgorithm = (t) => { + e.controller.abort(t); + }; + if (!he) { + he = r(3774).ReadableStream; + } + const E = new he( + { + async start(t) { + e.controller.controller = t; + }, + async pull(e) { + await pullAlgorithm(e); + }, + async cancel(e) { + await cancelAlgorithm(e); + }, + }, + { + highWaterMark: 0, + size() { + return 1; + }, + } + ); + c.body = { stream: E }; + e.controller.on("terminated", onAborted); + e.controller.resume = async () => { + while (true) { + let t; + let r; + try { + const { done: r, value: s } = await e.controller.next(); + if (v(e)) { + break; + } + t = r ? undefined : s; + } catch (s) { + if (e.controller.ended && !u.encodedBodySize) { + t = undefined; + } else { + t = s; + r = true; + } + } + if (t === undefined) { + O(e.controller.controller); + finalizeResponse(e, c); + return; + } + u.decodedBodySize += t?.byteLength ?? 0; + if (r) { + e.controller.terminate(t); + return; + } + e.controller.controller.enqueue(new Uint8Array(t)); + if (oe(E)) { + e.controller.terminate(); + return; + } + if (!e.controller.controller.desiredSize) { + return; + } + } + }; + function onAborted(t) { + if (v(e)) { + c.aborted = true; + if (ne(E)) { + e.controller.controller.error(e.controller.serializedAbortReason); + } + } else { + if (ne(E)) { + e.controller.controller.error(new TypeError("terminated", { cause: U(t) ? t : undefined })); + } + } + e.controller.connection.destroy(); + } + return c; + async function dispatch({ body: t }) { + const r = m(A); + const s = e.controller.dispatcher; + return new Promise((o, n) => + s.dispatch( + { + path: r.pathname + r.search, + origin: r.origin, + method: A.method, + body: e.controller.dispatcher.isMockActive ? A.body && (A.body.source || A.body.stream) : t, + headers: A.headersList.entries, + maxRedirections: 0, + upgrade: A.mode === "websocket" ? "websocket" : undefined, + }, + { + body: null, + abort: null, + onConnect(t) { + const { connection: r } = e.controller; + if (r.destroyed) { + t(new X("The operation was aborted.", "AbortError")); + } else { + e.controller.on("terminated", t); + this.abort = r.abort = t; + } + }, + onHeaders(e, t, r, s) { + if (e < 200) { + return; + } + let n = []; + let i = ""; + const c = new a(); + if (Array.isArray(t)) { + for (let e = 0; e < t.length; e += 2) { + const r = t[e + 0].toString("latin1"); + const s = t[e + 1].toString("latin1"); + if (r.toLowerCase() === "content-encoding") { + n = s + .toLowerCase() + .split(",") + .map((e) => e.trim()); + } else if (r.toLowerCase() === "location") { + i = s; + } + c[$].append(r, s); + } + } else { + const e = Object.keys(t); + for (const r of e) { + const e = t[r]; + if (r.toLowerCase() === "content-encoding") { + n = e + .toLowerCase() + .split(",") + .map((e) => e.trim()) + .reverse(); + } else if (r.toLowerCase() === "location") { + i = e; + } + c[$].append(r, e); + } + } + this.body = new te({ read: r }); + const u = []; + const g = A.redirect === "follow" && i && j.has(e); + if (A.method !== "HEAD" && A.method !== "CONNECT" && !W.includes(e) && !g) { + for (const e of n) { + if (e === "x-gzip" || e === "gzip") { + u.push(l.createGunzip({ flush: l.constants.Z_SYNC_FLUSH, finishFlush: l.constants.Z_SYNC_FLUSH })); + } else if (e === "deflate") { + u.push(l.createInflate()); + } else if (e === "br") { + u.push(l.createBrotliDecompress()); + } else { + u.length = 0; + break; + } + } + } + o({ status: e, statusText: s, headersList: c[$], body: u.length ? re(this.body, ...u, () => {}) : this.body.on("error", () => {}) }); + return true; + }, + onData(t) { + if (e.controller.dump) { + return; + } + const r = t; + u.encodedBodySize += r.byteLength; + return this.body.push(r); + }, + onComplete() { + if (this.abort) { + e.controller.off("terminated", this.abort); + } + e.controller.ended = true; + this.body.push(null); + }, + onError(t) { + if (this.abort) { + e.controller.off("terminated", this.abort); + } + this.body?.destroy(t); + e.controller.terminate(t); + n(t); + }, + onUpgrade(e, t, r) { + if (e !== 101) { + return; + } + const s = new a(); + for (let e = 0; e < t.length; e += 2) { + const r = t[e + 0].toString("latin1"); + const o = t[e + 1].toString("latin1"); + s[$].append(r, o); + } + o({ status: e, statusText: pe[e], headersList: s[$], socket: r }); + return true; + }, + } + ) + ); + } + } + e.exports = { fetch: fetch, Fetch: Fetch, fetching: fetching, finalizeAndReportTiming: finalizeAndReportTiming }; + }, + 5194: (e, t, r) => { + const { extractBody: s, mixinBody: o, cloneBody: n } = r(8923); + const { Headers: A, fill: i, HeadersList: a } = r(6349); + const { FinalizationRegistry: c } = r(3194)(); + const u = r(3440); + const { isValidHTTPToken: l, sameOrigin: g, normalizeMethod: p, makePolicyContainer: d, normalizeMethodRecord: E } = r(5523); + const { + forbiddenMethodsSet: h, + corsSafeListedMethodsSet: I, + referrerPolicy: C, + requestRedirect: m, + requestMode: Q, + requestCredentials: B, + requestCache: y, + requestDuplex: b, + } = r(7326); + const { kEnumerableProperty: w } = u; + const { kHeaders: R, kSignal: T, kState: k, kGuard: D, kRealm: _ } = r(9710); + const { webidl: F } = r(4222); + const { getGlobalOrigin: S } = r(5628); + const { URLSerializer: v } = r(4322); + const { kHeadersList: U, kConstruct: N } = r(6443); + const O = r(2613); + const { getMaxListeners: G, setMaxListeners: L, getEventListeners: P, defaultMaxListeners: M } = r(4434); + let x = globalThis.TransformStream; + const H = Symbol("abortController"); + const V = new c(({ signal: e, abort: t }) => { + e.removeEventListener("abort", t); + }); + class Request { + constructor(e, t = {}) { + if (e === N) { + return; + } + F.argumentLengthCheck(arguments, 1, { header: "Request constructor" }); + e = F.converters.RequestInfo(e); + t = F.converters.RequestInit(t); + this[_] = { + settingsObject: { + baseUrl: S(), + get origin() { + return this.baseUrl?.origin; + }, + policyContainer: d(), + }, + }; + let o = null; + let n = null; + const c = this[_].settingsObject.baseUrl; + let C = null; + if (typeof e === "string") { + let t; + try { + t = new URL(e, c); + } catch (t) { + throw new TypeError("Failed to parse URL from " + e, { cause: t }); + } + if (t.username || t.password) { + throw new TypeError("Request cannot be constructed from a URL that includes credentials: " + e); + } + o = makeRequest({ urlList: [t] }); + n = "cors"; + } else { + O(e instanceof Request); + o = e[k]; + C = e[T]; + } + const m = this[_].settingsObject.origin; + let Q = "client"; + if (o.window?.constructor?.name === "EnvironmentSettingsObject" && g(o.window, m)) { + Q = o.window; + } + if (t.window != null) { + throw new TypeError(`'window' option '${Q}' must be null`); + } + if ("window" in t) { + Q = "no-window"; + } + o = makeRequest({ + method: o.method, + headersList: o.headersList, + unsafeRequest: o.unsafeRequest, + client: this[_].settingsObject, + window: Q, + priority: o.priority, + origin: o.origin, + referrer: o.referrer, + referrerPolicy: o.referrerPolicy, + mode: o.mode, + credentials: o.credentials, + cache: o.cache, + redirect: o.redirect, + integrity: o.integrity, + keepalive: o.keepalive, + reloadNavigation: o.reloadNavigation, + historyNavigation: o.historyNavigation, + urlList: [...o.urlList], + }); + const B = Object.keys(t).length !== 0; + if (B) { + if (o.mode === "navigate") { + o.mode = "same-origin"; + } + o.reloadNavigation = false; + o.historyNavigation = false; + o.origin = "client"; + o.referrer = "client"; + o.referrerPolicy = ""; + o.url = o.urlList[o.urlList.length - 1]; + o.urlList = [o.url]; + } + if (t.referrer !== undefined) { + const e = t.referrer; + if (e === "") { + o.referrer = "no-referrer"; + } else { + let t; + try { + t = new URL(e, c); + } catch (t) { + throw new TypeError(`Referrer "${e}" is not a valid URL.`, { cause: t }); + } + if ((t.protocol === "about:" && t.hostname === "client") || (m && !g(t, this[_].settingsObject.baseUrl))) { + o.referrer = "client"; + } else { + o.referrer = t; + } + } + } + if (t.referrerPolicy !== undefined) { + o.referrerPolicy = t.referrerPolicy; + } + let y; + if (t.mode !== undefined) { + y = t.mode; + } else { + y = n; + } + if (y === "navigate") { + throw F.errors.exception({ header: "Request constructor", message: "invalid request mode navigate." }); + } + if (y != null) { + o.mode = y; + } + if (t.credentials !== undefined) { + o.credentials = t.credentials; + } + if (t.cache !== undefined) { + o.cache = t.cache; + } + if (o.cache === "only-if-cached" && o.mode !== "same-origin") { + throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode"); + } + if (t.redirect !== undefined) { + o.redirect = t.redirect; + } + if (t.integrity != null) { + o.integrity = String(t.integrity); + } + if (t.keepalive !== undefined) { + o.keepalive = Boolean(t.keepalive); + } + if (t.method !== undefined) { + let e = t.method; + if (!l(e)) { + throw new TypeError(`'${e}' is not a valid HTTP method.`); + } + if (h.has(e.toUpperCase())) { + throw new TypeError(`'${e}' HTTP method is unsupported.`); + } + e = E[e] ?? p(e); + o.method = e; + } + if (t.signal !== undefined) { + C = t.signal; + } + this[k] = o; + const b = new AbortController(); + this[T] = b.signal; + this[T][_] = this[_]; + if (C != null) { + if (!C || typeof C.aborted !== "boolean" || typeof C.addEventListener !== "function") { + throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal."); + } + if (C.aborted) { + b.abort(C.reason); + } else { + this[H] = b; + const e = new WeakRef(b); + const abort = function () { + const t = e.deref(); + if (t !== undefined) { + t.abort(this.reason); + } + }; + try { + if (typeof G === "function" && G(C) === M) { + L(100, C); + } else if (P(C, "abort").length >= M) { + L(100, C); + } + } catch {} + u.addAbortListener(C, abort); + V.register(b, { signal: C, abort: abort }); + } + } + this[R] = new A(N); + this[R][U] = o.headersList; + this[R][D] = "request"; + this[R][_] = this[_]; + if (y === "no-cors") { + if (!I.has(o.method)) { + throw new TypeError(`'${o.method} is unsupported in no-cors mode.`); + } + this[R][D] = "request-no-cors"; + } + if (B) { + const e = this[R][U]; + const r = t.headers !== undefined ? t.headers : new a(e); + e.clear(); + if (r instanceof a) { + for (const [t, s] of r) { + e.append(t, s); + } + e.cookies = r.cookies; + } else { + i(this[R], r); + } + } + const w = e instanceof Request ? e[k].body : null; + if ((t.body != null || w != null) && (o.method === "GET" || o.method === "HEAD")) { + throw new TypeError("Request with GET/HEAD method cannot have body."); + } + let v = null; + if (t.body != null) { + const [e, r] = s(t.body, o.keepalive); + v = e; + if (r && !this[R][U].contains("content-type")) { + this[R].append("content-type", r); + } + } + const Y = v ?? w; + if (Y != null && Y.source == null) { + if (v != null && t.duplex == null) { + throw new TypeError("RequestInit: duplex option is required when sending a body."); + } + if (o.mode !== "same-origin" && o.mode !== "cors") { + throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"'); + } + o.useCORSPreflightFlag = true; + } + let J = Y; + if (v == null && w != null) { + if (u.isDisturbed(w.stream) || w.stream.locked) { + throw new TypeError("Cannot construct a Request with a Request object that has already been used."); + } + if (!x) { + x = r(3774).TransformStream; + } + const e = new x(); + w.stream.pipeThrough(e); + J = { source: w.source, length: w.length, stream: e.readable }; + } + this[k].body = J; + } + get method() { + F.brandCheck(this, Request); + return this[k].method; + } + get url() { + F.brandCheck(this, Request); + return v(this[k].url); + } + get headers() { + F.brandCheck(this, Request); + return this[R]; + } + get destination() { + F.brandCheck(this, Request); + return this[k].destination; + } + get referrer() { + F.brandCheck(this, Request); + if (this[k].referrer === "no-referrer") { + return ""; + } + if (this[k].referrer === "client") { + return "about:client"; + } + return this[k].referrer.toString(); + } + get referrerPolicy() { + F.brandCheck(this, Request); + return this[k].referrerPolicy; + } + get mode() { + F.brandCheck(this, Request); + return this[k].mode; + } + get credentials() { + return this[k].credentials; + } + get cache() { + F.brandCheck(this, Request); + return this[k].cache; + } + get redirect() { + F.brandCheck(this, Request); + return this[k].redirect; + } + get integrity() { + F.brandCheck(this, Request); + return this[k].integrity; + } + get keepalive() { + F.brandCheck(this, Request); + return this[k].keepalive; + } + get isReloadNavigation() { + F.brandCheck(this, Request); + return this[k].reloadNavigation; + } + get isHistoryNavigation() { + F.brandCheck(this, Request); + return this[k].historyNavigation; + } + get signal() { + F.brandCheck(this, Request); + return this[T]; + } + get body() { + F.brandCheck(this, Request); + return this[k].body ? this[k].body.stream : null; + } + get bodyUsed() { + F.brandCheck(this, Request); + return !!this[k].body && u.isDisturbed(this[k].body.stream); + } + get duplex() { + F.brandCheck(this, Request); + return "half"; + } + clone() { + F.brandCheck(this, Request); + if (this.bodyUsed || this.body?.locked) { + throw new TypeError("unusable"); + } + const e = cloneRequest(this[k]); + const t = new Request(N); + t[k] = e; + t[_] = this[_]; + t[R] = new A(N); + t[R][U] = e.headersList; + t[R][D] = this[R][D]; + t[R][_] = this[R][_]; + const r = new AbortController(); + if (this.signal.aborted) { + r.abort(this.signal.reason); + } else { + u.addAbortListener(this.signal, () => { + r.abort(this.signal.reason); + }); + } + t[T] = r.signal; + return t; + } + } + o(Request); + function makeRequest(e) { + const t = { + method: "GET", + localURLsOnly: false, + unsafeRequest: false, + body: null, + client: null, + reservedClient: null, + replacesClientId: "", + window: "client", + keepalive: false, + serviceWorkers: "all", + initiator: "", + destination: "", + priority: null, + origin: "client", + policyContainer: "client", + referrer: "client", + referrerPolicy: "", + mode: "no-cors", + useCORSPreflightFlag: false, + credentials: "same-origin", + useCredentials: false, + cache: "default", + redirect: "follow", + integrity: "", + cryptoGraphicsNonceMetadata: "", + parserMetadata: "", + reloadNavigation: false, + historyNavigation: false, + userActivation: false, + taintedOrigin: false, + redirectCount: 0, + responseTainting: "basic", + preventNoCacheCacheControlHeaderModification: false, + done: false, + timingAllowFailed: false, + ...e, + headersList: e.headersList ? new a(e.headersList) : new a(), + }; + t.url = t.urlList[0]; + return t; + } + function cloneRequest(e) { + const t = makeRequest({ ...e, body: null }); + if (e.body != null) { + t.body = n(e.body); + } + return t; + } + Object.defineProperties(Request.prototype, { + method: w, + url: w, + headers: w, + redirect: w, + clone: w, + signal: w, + duplex: w, + destination: w, + body: w, + bodyUsed: w, + isHistoryNavigation: w, + isReloadNavigation: w, + keepalive: w, + integrity: w, + cache: w, + credentials: w, + attribute: w, + referrerPolicy: w, + referrer: w, + mode: w, + [Symbol.toStringTag]: { value: "Request", configurable: true }, + }); + F.converters.Request = F.interfaceConverter(Request); + F.converters.RequestInfo = function (e) { + if (typeof e === "string") { + return F.converters.USVString(e); + } + if (e instanceof Request) { + return F.converters.Request(e); + } + return F.converters.USVString(e); + }; + F.converters.AbortSignal = F.interfaceConverter(AbortSignal); + F.converters.RequestInit = F.dictionaryConverter([ + { key: "method", converter: F.converters.ByteString }, + { key: "headers", converter: F.converters.HeadersInit }, + { key: "body", converter: F.nullableConverter(F.converters.BodyInit) }, + { key: "referrer", converter: F.converters.USVString }, + { key: "referrerPolicy", converter: F.converters.DOMString, allowedValues: C }, + { key: "mode", converter: F.converters.DOMString, allowedValues: Q }, + { key: "credentials", converter: F.converters.DOMString, allowedValues: B }, + { key: "cache", converter: F.converters.DOMString, allowedValues: y }, + { key: "redirect", converter: F.converters.DOMString, allowedValues: m }, + { key: "integrity", converter: F.converters.DOMString }, + { key: "keepalive", converter: F.converters.boolean }, + { key: "signal", converter: F.nullableConverter((e) => F.converters.AbortSignal(e, { strict: false })) }, + { key: "window", converter: F.converters.any }, + { key: "duplex", converter: F.converters.DOMString, allowedValues: b }, + ]); + e.exports = { Request: Request, makeRequest: makeRequest }; + }, + 8676: (e, t, r) => { + const { Headers: s, HeadersList: o, fill: n } = r(6349); + const { extractBody: A, cloneBody: i, mixinBody: a } = r(8923); + const c = r(3440); + const { kEnumerableProperty: u } = c; + const { + isValidReasonPhrase: l, + isCancelled: g, + isAborted: p, + isBlobLike: d, + serializeJavascriptValueToJSONString: E, + isErrorLike: h, + isomorphicEncode: I, + } = r(5523); + const { redirectStatusSet: C, nullBodyStatus: m, DOMException: Q } = r(7326); + const { kState: B, kHeaders: y, kGuard: b, kRealm: w } = r(9710); + const { webidl: R } = r(4222); + const { FormData: T } = r(3073); + const { getGlobalOrigin: k } = r(5628); + const { URLSerializer: D } = r(4322); + const { kHeadersList: _, kConstruct: F } = r(6443); + const S = r(2613); + const { types: v } = r(9023); + const U = globalThis.ReadableStream || r(3774).ReadableStream; + const N = new TextEncoder("utf-8"); + class Response { + static error() { + const e = { settingsObject: {} }; + const t = new Response(); + t[B] = makeNetworkError(); + t[w] = e; + t[y][_] = t[B].headersList; + t[y][b] = "immutable"; + t[y][w] = e; + return t; + } + static json(e, t = {}) { + R.argumentLengthCheck(arguments, 1, { header: "Response.json" }); + if (t !== null) { + t = R.converters.ResponseInit(t); + } + const r = N.encode(E(e)); + const s = A(r); + const o = { settingsObject: {} }; + const n = new Response(); + n[w] = o; + n[y][b] = "response"; + n[y][w] = o; + initializeResponse(n, t, { body: s[0], type: "application/json" }); + return n; + } + static redirect(e, t = 302) { + const r = { settingsObject: {} }; + R.argumentLengthCheck(arguments, 1, { header: "Response.redirect" }); + e = R.converters.USVString(e); + t = R.converters["unsigned short"](t); + let s; + try { + s = new URL(e, k()); + } catch (t) { + throw Object.assign(new TypeError("Failed to parse URL from " + e), { cause: t }); + } + if (!C.has(t)) { + throw new RangeError("Invalid status code " + t); + } + const o = new Response(); + o[w] = r; + o[y][b] = "immutable"; + o[y][w] = r; + o[B].status = t; + const n = I(D(s)); + o[B].headersList.append("location", n); + return o; + } + constructor(e = null, t = {}) { + if (e !== null) { + e = R.converters.BodyInit(e); + } + t = R.converters.ResponseInit(t); + this[w] = { settingsObject: {} }; + this[B] = makeResponse({}); + this[y] = new s(F); + this[y][b] = "response"; + this[y][_] = this[B].headersList; + this[y][w] = this[w]; + let r = null; + if (e != null) { + const [t, s] = A(e); + r = { body: t, type: s }; + } + initializeResponse(this, t, r); + } + get type() { + R.brandCheck(this, Response); + return this[B].type; + } + get url() { + R.brandCheck(this, Response); + const e = this[B].urlList; + const t = e[e.length - 1] ?? null; + if (t === null) { + return ""; + } + return D(t, true); + } + get redirected() { + R.brandCheck(this, Response); + return this[B].urlList.length > 1; + } + get status() { + R.brandCheck(this, Response); + return this[B].status; + } + get ok() { + R.brandCheck(this, Response); + return this[B].status >= 200 && this[B].status <= 299; + } + get statusText() { + R.brandCheck(this, Response); + return this[B].statusText; + } + get headers() { + R.brandCheck(this, Response); + return this[y]; + } + get body() { + R.brandCheck(this, Response); + return this[B].body ? this[B].body.stream : null; + } + get bodyUsed() { + R.brandCheck(this, Response); + return !!this[B].body && c.isDisturbed(this[B].body.stream); + } + clone() { + R.brandCheck(this, Response); + if (this.bodyUsed || (this.body && this.body.locked)) { + throw R.errors.exception({ header: "Response.clone", message: "Body has already been consumed." }); + } + const e = cloneResponse(this[B]); + const t = new Response(); + t[B] = e; + t[w] = this[w]; + t[y][_] = e.headersList; + t[y][b] = this[y][b]; + t[y][w] = this[y][w]; + return t; + } + } + a(Response); + Object.defineProperties(Response.prototype, { + type: u, + url: u, + status: u, + ok: u, + redirected: u, + statusText: u, + headers: u, + clone: u, + body: u, + bodyUsed: u, + [Symbol.toStringTag]: { value: "Response", configurable: true }, + }); + Object.defineProperties(Response, { json: u, redirect: u, error: u }); + function cloneResponse(e) { + if (e.internalResponse) { + return filterResponse(cloneResponse(e.internalResponse), e.type); + } + const t = makeResponse({ ...e, body: null }); + if (e.body != null) { + t.body = i(e.body); + } + return t; + } + function makeResponse(e) { + return { + aborted: false, + rangeRequested: false, + timingAllowPassed: false, + requestIncludesCredentials: false, + type: "default", + status: 200, + timingInfo: null, + cacheState: "", + statusText: "", + ...e, + headersList: e.headersList ? new o(e.headersList) : new o(), + urlList: e.urlList ? [...e.urlList] : [], + }; + } + function makeNetworkError(e) { + const t = h(e); + return makeResponse({ type: "error", status: 0, error: t ? e : new Error(e ? String(e) : e), aborted: e && e.name === "AbortError" }); + } + function makeFilteredResponse(e, t) { + t = { internalResponse: e, ...t }; + return new Proxy(e, { + get(e, r) { + return r in t ? t[r] : e[r]; + }, + set(e, r, s) { + S(!(r in t)); + e[r] = s; + return true; + }, + }); + } + function filterResponse(e, t) { + if (t === "basic") { + return makeFilteredResponse(e, { type: "basic", headersList: e.headersList }); + } else if (t === "cors") { + return makeFilteredResponse(e, { type: "cors", headersList: e.headersList }); + } else if (t === "opaque") { + return makeFilteredResponse(e, { type: "opaque", urlList: Object.freeze([]), status: 0, statusText: "", body: null }); + } else if (t === "opaqueredirect") { + return makeFilteredResponse(e, { type: "opaqueredirect", status: 0, statusText: "", headersList: [], body: null }); + } else { + S(false); + } + } + function makeAppropriateNetworkError(e, t = null) { + S(g(e)); + return p(e) + ? makeNetworkError(Object.assign(new Q("The operation was aborted.", "AbortError"), { cause: t })) + : makeNetworkError(Object.assign(new Q("Request was cancelled."), { cause: t })); + } + function initializeResponse(e, t, r) { + if (t.status !== null && (t.status < 200 || t.status > 599)) { + throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.'); + } + if ("statusText" in t && t.statusText != null) { + if (!l(String(t.statusText))) { + throw new TypeError("Invalid statusText"); + } + } + if ("status" in t && t.status != null) { + e[B].status = t.status; + } + if ("statusText" in t && t.statusText != null) { + e[B].statusText = t.statusText; + } + if ("headers" in t && t.headers != null) { + n(e[y], t.headers); + } + if (r) { + if (m.includes(e.status)) { + throw R.errors.exception({ header: "Response constructor", message: "Invalid response status code " + e.status }); + } + e[B].body = r.body; + if (r.type != null && !e[B].headersList.contains("Content-Type")) { + e[B].headersList.append("content-type", r.type); + } + } + } + R.converters.ReadableStream = R.interfaceConverter(U); + R.converters.FormData = R.interfaceConverter(T); + R.converters.URLSearchParams = R.interfaceConverter(URLSearchParams); + R.converters.XMLHttpRequestBodyInit = function (e) { + if (typeof e === "string") { + return R.converters.USVString(e); + } + if (d(e)) { + return R.converters.Blob(e, { strict: false }); + } + if (v.isArrayBuffer(e) || v.isTypedArray(e) || v.isDataView(e)) { + return R.converters.BufferSource(e); + } + if (c.isFormDataLike(e)) { + return R.converters.FormData(e, { strict: false }); + } + if (e instanceof URLSearchParams) { + return R.converters.URLSearchParams(e); + } + return R.converters.DOMString(e); + }; + R.converters.BodyInit = function (e) { + if (e instanceof U) { + return R.converters.ReadableStream(e); + } + if (e?.[Symbol.asyncIterator]) { + return e; + } + return R.converters.XMLHttpRequestBodyInit(e); + }; + R.converters.ResponseInit = R.dictionaryConverter([ + { key: "status", converter: R.converters["unsigned short"], defaultValue: 200 }, + { key: "statusText", converter: R.converters.ByteString, defaultValue: "" }, + { key: "headers", converter: R.converters.HeadersInit }, + ]); + e.exports = { + makeNetworkError: makeNetworkError, + makeResponse: makeResponse, + makeAppropriateNetworkError: makeAppropriateNetworkError, + filterResponse: filterResponse, + Response: Response, + cloneResponse: cloneResponse, + }; + }, + 9710: (e) => { + e.exports = { + kUrl: Symbol("url"), + kHeaders: Symbol("headers"), + kSignal: Symbol("signal"), + kState: Symbol("state"), + kGuard: Symbol("guard"), + kRealm: Symbol("realm"), + }; + }, + 5523: (e, t, r) => { + const { redirectStatusSet: s, referrerPolicySet: o, badPortsSet: n } = r(7326); + const { getGlobalOrigin: A } = r(5628); + const { performance: i } = r(2987); + const { isBlobLike: a, toUSVString: c, ReadableStreamFrom: u } = r(3440); + const l = r(2613); + const { isUint8Array: g } = r(8253); + let p = []; + let d; + try { + d = r(6982); + const e = ["sha256", "sha384", "sha512"]; + p = d.getHashes().filter((t) => e.includes(t)); + } catch {} + function responseURL(e) { + const t = e.urlList; + const r = t.length; + return r === 0 ? null : t[r - 1].toString(); + } + function responseLocationURL(e, t) { + if (!s.has(e.status)) { + return null; + } + let r = e.headersList.get("location"); + if (r !== null && isValidHeaderValue(r)) { + r = new URL(r, responseURL(e)); + } + if (r && !r.hash) { + r.hash = t; + } + return r; + } + function requestCurrentURL(e) { + return e.urlList[e.urlList.length - 1]; + } + function requestBadPort(e) { + const t = requestCurrentURL(e); + if (urlIsHttpHttpsScheme(t) && n.has(t.port)) { + return "blocked"; + } + return "allowed"; + } + function isErrorLike(e) { + return e instanceof Error || e?.constructor?.name === "Error" || e?.constructor?.name === "DOMException"; + } + function isValidReasonPhrase(e) { + for (let t = 0; t < e.length; ++t) { + const r = e.charCodeAt(t); + if (!(r === 9 || (r >= 32 && r <= 126) || (r >= 128 && r <= 255))) { + return false; + } + } + return true; + } + function isTokenCharCode(e) { + switch (e) { + case 34: + case 40: + case 41: + case 44: + case 47: + case 58: + case 59: + case 60: + case 61: + case 62: + case 63: + case 64: + case 91: + case 92: + case 93: + case 123: + case 125: + return false; + default: + return e >= 33 && e <= 126; + } + } + function isValidHTTPToken(e) { + if (e.length === 0) { + return false; + } + for (let t = 0; t < e.length; ++t) { + if (!isTokenCharCode(e.charCodeAt(t))) { + return false; + } + } + return true; + } + function isValidHeaderName(e) { + return isValidHTTPToken(e); + } + function isValidHeaderValue(e) { + if (e.startsWith("\t") || e.startsWith(" ") || e.endsWith("\t") || e.endsWith(" ")) { + return false; + } + if (e.includes("\0") || e.includes("\r") || e.includes("\n")) { + return false; + } + return true; + } + function setRequestReferrerPolicyOnRedirect(e, t) { + const { headersList: r } = t; + const s = (r.get("referrer-policy") ?? "").split(","); + let n = ""; + if (s.length > 0) { + for (let e = s.length; e !== 0; e--) { + const t = s[e - 1].trim(); + if (o.has(t)) { + n = t; + break; + } + } + } + if (n !== "") { + e.referrerPolicy = n; + } + } + function crossOriginResourcePolicyCheck() { + return "allowed"; + } + function corsCheck() { + return "success"; + } + function TAOCheck() { + return "success"; + } + function appendFetchMetadata(e) { + let t = null; + t = e.mode; + e.headersList.set("sec-fetch-mode", t); + } + function appendRequestOriginHeader(e) { + let t = e.origin; + if (e.responseTainting === "cors" || e.mode === "websocket") { + if (t) { + e.headersList.append("origin", t); + } + } else if (e.method !== "GET" && e.method !== "HEAD") { + switch (e.referrerPolicy) { + case "no-referrer": + t = null; + break; + case "no-referrer-when-downgrade": + case "strict-origin": + case "strict-origin-when-cross-origin": + if (e.origin && urlHasHttpsScheme(e.origin) && !urlHasHttpsScheme(requestCurrentURL(e))) { + t = null; + } + break; + case "same-origin": + if (!sameOrigin(e, requestCurrentURL(e))) { + t = null; + } + break; + default: + } + if (t) { + e.headersList.append("origin", t); + } + } + } + function coarsenedSharedCurrentTime(e) { + return i.now(); + } + function createOpaqueTimingInfo(e) { + return { + startTime: e.startTime ?? 0, + redirectStartTime: 0, + redirectEndTime: 0, + postRedirectStartTime: e.startTime ?? 0, + finalServiceWorkerStartTime: 0, + finalNetworkResponseStartTime: 0, + finalNetworkRequestStartTime: 0, + endTime: 0, + encodedBodySize: 0, + decodedBodySize: 0, + finalConnectionTimingInfo: null, + }; + } + function makePolicyContainer() { + return { referrerPolicy: "strict-origin-when-cross-origin" }; + } + function clonePolicyContainer(e) { + return { referrerPolicy: e.referrerPolicy }; + } + function determineRequestsReferrer(e) { + const t = e.referrerPolicy; + l(t); + let r = null; + if (e.referrer === "client") { + const e = A(); + if (!e || e.origin === "null") { + return "no-referrer"; + } + r = new URL(e); + } else if (e.referrer instanceof URL) { + r = e.referrer; + } + let s = stripURLForReferrer(r); + const o = stripURLForReferrer(r, true); + if (s.toString().length > 4096) { + s = o; + } + const n = sameOrigin(e, s); + const i = isURLPotentiallyTrustworthy(s) && !isURLPotentiallyTrustworthy(e.url); + switch (t) { + case "origin": + return o != null ? o : stripURLForReferrer(r, true); + case "unsafe-url": + return s; + case "same-origin": + return n ? o : "no-referrer"; + case "origin-when-cross-origin": + return n ? s : o; + case "strict-origin-when-cross-origin": { + const t = requestCurrentURL(e); + if (sameOrigin(s, t)) { + return s; + } + if (isURLPotentiallyTrustworthy(s) && !isURLPotentiallyTrustworthy(t)) { + return "no-referrer"; + } + return o; + } + case "strict-origin": + case "no-referrer-when-downgrade": + default: + return i ? "no-referrer" : o; + } + } + function stripURLForReferrer(e, t) { + l(e instanceof URL); + if (e.protocol === "file:" || e.protocol === "about:" || e.protocol === "blank:") { + return "no-referrer"; + } + e.username = ""; + e.password = ""; + e.hash = ""; + if (t) { + e.pathname = ""; + e.search = ""; + } + return e; + } + function isURLPotentiallyTrustworthy(e) { + if (!(e instanceof URL)) { + return false; + } + if (e.href === "about:blank" || e.href === "about:srcdoc") { + return true; + } + if (e.protocol === "data:") return true; + if (e.protocol === "file:") return true; + return isOriginPotentiallyTrustworthy(e.origin); + function isOriginPotentiallyTrustworthy(e) { + if (e == null || e === "null") return false; + const t = new URL(e); + if (t.protocol === "https:" || t.protocol === "wss:") { + return true; + } + if ( + /^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(t.hostname) || + t.hostname === "localhost" || + t.hostname.includes("localhost.") || + t.hostname.endsWith(".localhost") + ) { + return true; + } + return false; + } + } + function bytesMatch(e, t) { + if (d === undefined) { + return true; + } + const r = parseMetadata(t); + if (r === "no metadata") { + return true; + } + if (r.length === 0) { + return true; + } + const s = getStrongestMetadata(r); + const o = filterMetadataListByAlgorithm(r, s); + for (const t of o) { + const r = t.algo; + const s = t.hash; + let o = d.createHash(r).update(e).digest("base64"); + if (o[o.length - 1] === "=") { + if (o[o.length - 2] === "=") { + o = o.slice(0, -2); + } else { + o = o.slice(0, -1); + } + } + if (compareBase64Mixed(o, s)) { + return true; + } + } + return false; + } + const E = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i; + function parseMetadata(e) { + const t = []; + let r = true; + for (const s of e.split(" ")) { + r = false; + const e = E.exec(s); + if (e === null || e.groups === undefined || e.groups.algo === undefined) { + continue; + } + const o = e.groups.algo.toLowerCase(); + if (p.includes(o)) { + t.push(e.groups); + } + } + if (r === true) { + return "no metadata"; + } + return t; + } + function getStrongestMetadata(e) { + let t = e[0].algo; + if (t[3] === "5") { + return t; + } + for (let r = 1; r < e.length; ++r) { + const s = e[r]; + if (s.algo[3] === "5") { + t = "sha512"; + break; + } else if (t[3] === "3") { + continue; + } else if (s.algo[3] === "3") { + t = "sha384"; + } + } + return t; + } + function filterMetadataListByAlgorithm(e, t) { + if (e.length === 1) { + return e; + } + let r = 0; + for (let s = 0; s < e.length; ++s) { + if (e[s].algo === t) { + e[r++] = e[s]; + } + } + e.length = r; + return e; + } + function compareBase64Mixed(e, t) { + if (e.length !== t.length) { + return false; + } + for (let r = 0; r < e.length; ++r) { + if (e[r] !== t[r]) { + if ((e[r] === "+" && t[r] === "-") || (e[r] === "/" && t[r] === "_")) { + continue; + } + return false; + } + } + return true; + } + function tryUpgradeRequestToAPotentiallyTrustworthyURL(e) {} + function sameOrigin(e, t) { + if (e.origin === t.origin && e.origin === "null") { + return true; + } + if (e.protocol === t.protocol && e.hostname === t.hostname && e.port === t.port) { + return true; + } + return false; + } + function createDeferredPromise() { + let e; + let t; + const r = new Promise((r, s) => { + e = r; + t = s; + }); + return { promise: r, resolve: e, reject: t }; + } + function isAborted(e) { + return e.controller.state === "aborted"; + } + function isCancelled(e) { + return e.controller.state === "aborted" || e.controller.state === "terminated"; + } + const h = { + delete: "DELETE", + DELETE: "DELETE", + get: "GET", + GET: "GET", + head: "HEAD", + HEAD: "HEAD", + options: "OPTIONS", + OPTIONS: "OPTIONS", + post: "POST", + POST: "POST", + put: "PUT", + PUT: "PUT", + }; + Object.setPrototypeOf(h, null); + function normalizeMethod(e) { + return h[e.toLowerCase()] ?? e; + } + function serializeJavascriptValueToJSONString(e) { + const t = JSON.stringify(e); + if (t === undefined) { + throw new TypeError("Value is not JSON serializable"); + } + l(typeof t === "string"); + return t; + } + const I = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); + function makeIterator(e, t, r) { + const s = { index: 0, kind: r, target: e }; + const o = { + next() { + if (Object.getPrototypeOf(this) !== o) { + throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`); + } + const { index: e, kind: r, target: n } = s; + const A = n(); + const i = A.length; + if (e >= i) { + return { value: undefined, done: true }; + } + const a = A[e]; + s.index = e + 1; + return iteratorResult(a, r); + }, + [Symbol.toStringTag]: `${t} Iterator`, + }; + Object.setPrototypeOf(o, I); + return Object.setPrototypeOf({}, o); + } + function iteratorResult(e, t) { + let r; + switch (t) { + case "key": { + r = e[0]; + break; + } + case "value": { + r = e[1]; + break; + } + case "key+value": { + r = e; + break; + } + } + return { value: r, done: false }; + } + async function fullyReadBody(e, t, r) { + const s = t; + const o = r; + let n; + try { + n = e.stream.getReader(); + } catch (e) { + o(e); + return; + } + try { + const e = await readAllBytes(n); + s(e); + } catch (e) { + o(e); + } + } + let C = globalThis.ReadableStream; + function isReadableStreamLike(e) { + if (!C) { + C = r(3774).ReadableStream; + } + return e instanceof C || (e[Symbol.toStringTag] === "ReadableStream" && typeof e.tee === "function"); + } + const m = 65535; + function isomorphicDecode(e) { + if (e.length < m) { + return String.fromCharCode(...e); + } + return e.reduce((e, t) => e + String.fromCharCode(t), ""); + } + function readableStreamClose(e) { + try { + e.close(); + } catch (e) { + if (!e.message.includes("Controller is already closed")) { + throw e; + } + } + } + function isomorphicEncode(e) { + for (let t = 0; t < e.length; t++) { + l(e.charCodeAt(t) <= 255); + } + return e; + } + async function readAllBytes(e) { + const t = []; + let r = 0; + while (true) { + const { done: s, value: o } = await e.read(); + if (s) { + return Buffer.concat(t, r); + } + if (!g(o)) { + throw new TypeError("Received non-Uint8Array chunk"); + } + t.push(o); + r += o.length; + } + } + function urlIsLocal(e) { + l("protocol" in e); + const t = e.protocol; + return t === "about:" || t === "blob:" || t === "data:"; + } + function urlHasHttpsScheme(e) { + if (typeof e === "string") { + return e.startsWith("https:"); + } + return e.protocol === "https:"; + } + function urlIsHttpHttpsScheme(e) { + l("protocol" in e); + const t = e.protocol; + return t === "http:" || t === "https:"; + } + const Q = Object.hasOwn || ((e, t) => Object.prototype.hasOwnProperty.call(e, t)); + e.exports = { + isAborted: isAborted, + isCancelled: isCancelled, + createDeferredPromise: createDeferredPromise, + ReadableStreamFrom: u, + toUSVString: c, + tryUpgradeRequestToAPotentiallyTrustworthyURL: tryUpgradeRequestToAPotentiallyTrustworthyURL, + coarsenedSharedCurrentTime: coarsenedSharedCurrentTime, + determineRequestsReferrer: determineRequestsReferrer, + makePolicyContainer: makePolicyContainer, + clonePolicyContainer: clonePolicyContainer, + appendFetchMetadata: appendFetchMetadata, + appendRequestOriginHeader: appendRequestOriginHeader, + TAOCheck: TAOCheck, + corsCheck: corsCheck, + crossOriginResourcePolicyCheck: crossOriginResourcePolicyCheck, + createOpaqueTimingInfo: createOpaqueTimingInfo, + setRequestReferrerPolicyOnRedirect: setRequestReferrerPolicyOnRedirect, + isValidHTTPToken: isValidHTTPToken, + requestBadPort: requestBadPort, + requestCurrentURL: requestCurrentURL, + responseURL: responseURL, + responseLocationURL: responseLocationURL, + isBlobLike: a, + isURLPotentiallyTrustworthy: isURLPotentiallyTrustworthy, + isValidReasonPhrase: isValidReasonPhrase, + sameOrigin: sameOrigin, + normalizeMethod: normalizeMethod, + serializeJavascriptValueToJSONString: serializeJavascriptValueToJSONString, + makeIterator: makeIterator, + isValidHeaderName: isValidHeaderName, + isValidHeaderValue: isValidHeaderValue, + hasOwn: Q, + isErrorLike: isErrorLike, + fullyReadBody: fullyReadBody, + bytesMatch: bytesMatch, + isReadableStreamLike: isReadableStreamLike, + readableStreamClose: readableStreamClose, + isomorphicEncode: isomorphicEncode, + isomorphicDecode: isomorphicDecode, + urlIsLocal: urlIsLocal, + urlHasHttpsScheme: urlHasHttpsScheme, + urlIsHttpHttpsScheme: urlIsHttpHttpsScheme, + readAllBytes: readAllBytes, + normalizeMethodRecord: h, + parseMetadata: parseMetadata, + }; + }, + 4222: (e, t, r) => { + const { types: s } = r(9023); + const { hasOwn: o, toUSVString: n } = r(5523); + const A = {}; + A.converters = {}; + A.util = {}; + A.errors = {}; + A.errors.exception = function (e) { + return new TypeError(`${e.header}: ${e.message}`); + }; + A.errors.conversionFailed = function (e) { + const t = e.types.length === 1 ? "" : " one of"; + const r = `${e.argument} could not be converted to` + `${t}: ${e.types.join(", ")}.`; + return A.errors.exception({ header: e.prefix, message: r }); + }; + A.errors.invalidArgument = function (e) { + return A.errors.exception({ header: e.prefix, message: `"${e.value}" is an invalid ${e.type}.` }); + }; + A.brandCheck = function (e, t, r = undefined) { + if (r?.strict !== false && !(e instanceof t)) { + throw new TypeError("Illegal invocation"); + } else { + return e?.[Symbol.toStringTag] === t.prototype[Symbol.toStringTag]; + } + }; + A.argumentLengthCheck = function ({ length: e }, t, r) { + if (e < t) { + throw A.errors.exception({ message: `${t} argument${t !== 1 ? "s" : ""} required, ` + `but${e ? " only" : ""} ${e} found.`, ...r }); + } + }; + A.illegalConstructor = function () { + throw A.errors.exception({ header: "TypeError", message: "Illegal constructor" }); + }; + A.util.Type = function (e) { + switch (typeof e) { + case "undefined": + return "Undefined"; + case "boolean": + return "Boolean"; + case "string": + return "String"; + case "symbol": + return "Symbol"; + case "number": + return "Number"; + case "bigint": + return "BigInt"; + case "function": + case "object": { + if (e === null) { + return "Null"; + } + return "Object"; + } + } + }; + A.util.ConvertToInt = function (e, t, r, s = {}) { + let o; + let n; + if (t === 64) { + o = Math.pow(2, 53) - 1; + if (r === "unsigned") { + n = 0; + } else { + n = Math.pow(-2, 53) + 1; + } + } else if (r === "unsigned") { + n = 0; + o = Math.pow(2, t) - 1; + } else { + n = Math.pow(-2, t) - 1; + o = Math.pow(2, t - 1) - 1; + } + let i = Number(e); + if (i === 0) { + i = 0; + } + if (s.enforceRange === true) { + if (Number.isNaN(i) || i === Number.POSITIVE_INFINITY || i === Number.NEGATIVE_INFINITY) { + throw A.errors.exception({ header: "Integer conversion", message: `Could not convert ${e} to an integer.` }); + } + i = A.util.IntegerPart(i); + if (i < n || i > o) { + throw A.errors.exception({ header: "Integer conversion", message: `Value must be between ${n}-${o}, got ${i}.` }); + } + return i; + } + if (!Number.isNaN(i) && s.clamp === true) { + i = Math.min(Math.max(i, n), o); + if (Math.floor(i) % 2 === 0) { + i = Math.floor(i); + } else { + i = Math.ceil(i); + } + return i; + } + if (Number.isNaN(i) || (i === 0 && Object.is(0, i)) || i === Number.POSITIVE_INFINITY || i === Number.NEGATIVE_INFINITY) { + return 0; + } + i = A.util.IntegerPart(i); + i = i % Math.pow(2, t); + if (r === "signed" && i >= Math.pow(2, t) - 1) { + return i - Math.pow(2, t); + } + return i; + }; + A.util.IntegerPart = function (e) { + const t = Math.floor(Math.abs(e)); + if (e < 0) { + return -1 * t; + } + return t; + }; + A.sequenceConverter = function (e) { + return (t) => { + if (A.util.Type(t) !== "Object") { + throw A.errors.exception({ header: "Sequence", message: `Value of type ${A.util.Type(t)} is not an Object.` }); + } + const r = t?.[Symbol.iterator]?.(); + const s = []; + if (r === undefined || typeof r.next !== "function") { + throw A.errors.exception({ header: "Sequence", message: "Object is not an iterator." }); + } + while (true) { + const { done: t, value: o } = r.next(); + if (t) { + break; + } + s.push(e(o)); + } + return s; + }; + }; + A.recordConverter = function (e, t) { + return (r) => { + if (A.util.Type(r) !== "Object") { + throw A.errors.exception({ header: "Record", message: `Value of type ${A.util.Type(r)} is not an Object.` }); + } + const o = {}; + if (!s.isProxy(r)) { + const s = Object.keys(r); + for (const n of s) { + const s = e(n); + const A = t(r[n]); + o[s] = A; + } + return o; + } + const n = Reflect.ownKeys(r); + for (const s of n) { + const n = Reflect.getOwnPropertyDescriptor(r, s); + if (n?.enumerable) { + const n = e(s); + const A = t(r[s]); + o[n] = A; + } + } + return o; + }; + }; + A.interfaceConverter = function (e) { + return (t, r = {}) => { + if (r.strict !== false && !(t instanceof e)) { + throw A.errors.exception({ header: e.name, message: `Expected ${t} to be an instance of ${e.name}.` }); + } + return t; + }; + }; + A.dictionaryConverter = function (e) { + return (t) => { + const r = A.util.Type(t); + const s = {}; + if (r === "Null" || r === "Undefined") { + return s; + } else if (r !== "Object") { + throw A.errors.exception({ header: "Dictionary", message: `Expected ${t} to be one of: Null, Undefined, Object.` }); + } + for (const r of e) { + const { key: e, defaultValue: n, required: i, converter: a } = r; + if (i === true) { + if (!o(t, e)) { + throw A.errors.exception({ header: "Dictionary", message: `Missing required key "${e}".` }); + } + } + let c = t[e]; + const u = o(r, "defaultValue"); + if (u && c !== null) { + c = c ?? n; + } + if (i || u || c !== undefined) { + c = a(c); + if (r.allowedValues && !r.allowedValues.includes(c)) { + throw A.errors.exception({ header: "Dictionary", message: `${c} is not an accepted type. Expected one of ${r.allowedValues.join(", ")}.` }); + } + s[e] = c; + } + } + return s; + }; + }; + A.nullableConverter = function (e) { + return (t) => { + if (t === null) { + return t; + } + return e(t); + }; + }; + A.converters.DOMString = function (e, t = {}) { + if (e === null && t.legacyNullToEmptyString) { + return ""; + } + if (typeof e === "symbol") { + throw new TypeError("Could not convert argument of type symbol to string."); + } + return String(e); + }; + A.converters.ByteString = function (e) { + const t = A.converters.DOMString(e); + for (let e = 0; e < t.length; e++) { + if (t.charCodeAt(e) > 255) { + throw new TypeError( + "Cannot convert argument to a ByteString because the character at " + `index ${e} has a value of ${t.charCodeAt(e)} which is greater than 255.` + ); + } + } + return t; + }; + A.converters.USVString = n; + A.converters.boolean = function (e) { + const t = Boolean(e); + return t; + }; + A.converters.any = function (e) { + return e; + }; + A.converters["long long"] = function (e) { + const t = A.util.ConvertToInt(e, 64, "signed"); + return t; + }; + A.converters["unsigned long long"] = function (e) { + const t = A.util.ConvertToInt(e, 64, "unsigned"); + return t; + }; + A.converters["unsigned long"] = function (e) { + const t = A.util.ConvertToInt(e, 32, "unsigned"); + return t; + }; + A.converters["unsigned short"] = function (e, t) { + const r = A.util.ConvertToInt(e, 16, "unsigned", t); + return r; + }; + A.converters.ArrayBuffer = function (e, t = {}) { + if (A.util.Type(e) !== "Object" || !s.isAnyArrayBuffer(e)) { + throw A.errors.conversionFailed({ prefix: `${e}`, argument: `${e}`, types: ["ArrayBuffer"] }); + } + if (t.allowShared === false && s.isSharedArrayBuffer(e)) { + throw A.errors.exception({ header: "ArrayBuffer", message: "SharedArrayBuffer is not allowed." }); + } + return e; + }; + A.converters.TypedArray = function (e, t, r = {}) { + if (A.util.Type(e) !== "Object" || !s.isTypedArray(e) || e.constructor.name !== t.name) { + throw A.errors.conversionFailed({ prefix: `${t.name}`, argument: `${e}`, types: [t.name] }); + } + if (r.allowShared === false && s.isSharedArrayBuffer(e.buffer)) { + throw A.errors.exception({ header: "ArrayBuffer", message: "SharedArrayBuffer is not allowed." }); + } + return e; + }; + A.converters.DataView = function (e, t = {}) { + if (A.util.Type(e) !== "Object" || !s.isDataView(e)) { + throw A.errors.exception({ header: "DataView", message: "Object is not a DataView." }); + } + if (t.allowShared === false && s.isSharedArrayBuffer(e.buffer)) { + throw A.errors.exception({ header: "ArrayBuffer", message: "SharedArrayBuffer is not allowed." }); + } + return e; + }; + A.converters.BufferSource = function (e, t = {}) { + if (s.isAnyArrayBuffer(e)) { + return A.converters.ArrayBuffer(e, t); + } + if (s.isTypedArray(e)) { + return A.converters.TypedArray(e, e.constructor); + } + if (s.isDataView(e)) { + return A.converters.DataView(e, t); + } + throw new TypeError(`Could not convert ${e} to a BufferSource.`); + }; + A.converters["sequence"] = A.sequenceConverter(A.converters.ByteString); + A.converters["sequence>"] = A.sequenceConverter(A.converters["sequence"]); + A.converters["record"] = A.recordConverter(A.converters.ByteString, A.converters.ByteString); + e.exports = { webidl: A }; + }, + 396: (e) => { + function getEncoding(e) { + if (!e) { + return "failure"; + } + switch (e.trim().toLowerCase()) { + case "unicode-1-1-utf-8": + case "unicode11utf8": + case "unicode20utf8": + case "utf-8": + case "utf8": + case "x-unicode20utf8": + return "UTF-8"; + case "866": + case "cp866": + case "csibm866": + case "ibm866": + return "IBM866"; + case "csisolatin2": + case "iso-8859-2": + case "iso-ir-101": + case "iso8859-2": + case "iso88592": + case "iso_8859-2": + case "iso_8859-2:1987": + case "l2": + case "latin2": + return "ISO-8859-2"; + case "csisolatin3": + case "iso-8859-3": + case "iso-ir-109": + case "iso8859-3": + case "iso88593": + case "iso_8859-3": + case "iso_8859-3:1988": + case "l3": + case "latin3": + return "ISO-8859-3"; + case "csisolatin4": + case "iso-8859-4": + case "iso-ir-110": + case "iso8859-4": + case "iso88594": + case "iso_8859-4": + case "iso_8859-4:1988": + case "l4": + case "latin4": + return "ISO-8859-4"; + case "csisolatincyrillic": + case "cyrillic": + case "iso-8859-5": + case "iso-ir-144": + case "iso8859-5": + case "iso88595": + case "iso_8859-5": + case "iso_8859-5:1988": + return "ISO-8859-5"; + case "arabic": + case "asmo-708": + case "csiso88596e": + case "csiso88596i": + case "csisolatinarabic": + case "ecma-114": + case "iso-8859-6": + case "iso-8859-6-e": + case "iso-8859-6-i": + case "iso-ir-127": + case "iso8859-6": + case "iso88596": + case "iso_8859-6": + case "iso_8859-6:1987": + return "ISO-8859-6"; + case "csisolatingreek": + case "ecma-118": + case "elot_928": + case "greek": + case "greek8": + case "iso-8859-7": + case "iso-ir-126": + case "iso8859-7": + case "iso88597": + case "iso_8859-7": + case "iso_8859-7:1987": + case "sun_eu_greek": + return "ISO-8859-7"; + case "csiso88598e": + case "csisolatinhebrew": + case "hebrew": + case "iso-8859-8": + case "iso-8859-8-e": + case "iso-ir-138": + case "iso8859-8": + case "iso88598": + case "iso_8859-8": + case "iso_8859-8:1988": + case "visual": + return "ISO-8859-8"; + case "csiso88598i": + case "iso-8859-8-i": + case "logical": + return "ISO-8859-8-I"; + case "csisolatin6": + case "iso-8859-10": + case "iso-ir-157": + case "iso8859-10": + case "iso885910": + case "l6": + case "latin6": + return "ISO-8859-10"; + case "iso-8859-13": + case "iso8859-13": + case "iso885913": + return "ISO-8859-13"; + case "iso-8859-14": + case "iso8859-14": + case "iso885914": + return "ISO-8859-14"; + case "csisolatin9": + case "iso-8859-15": + case "iso8859-15": + case "iso885915": + case "iso_8859-15": + case "l9": + return "ISO-8859-15"; + case "iso-8859-16": + return "ISO-8859-16"; + case "cskoi8r": + case "koi": + case "koi8": + case "koi8-r": + case "koi8_r": + return "KOI8-R"; + case "koi8-ru": + case "koi8-u": + return "KOI8-U"; + case "csmacintosh": + case "mac": + case "macintosh": + case "x-mac-roman": + return "macintosh"; + case "iso-8859-11": + case "iso8859-11": + case "iso885911": + case "tis-620": + case "windows-874": + return "windows-874"; + case "cp1250": + case "windows-1250": + case "x-cp1250": + return "windows-1250"; + case "cp1251": + case "windows-1251": + case "x-cp1251": + return "windows-1251"; + case "ansi_x3.4-1968": + case "ascii": + case "cp1252": + case "cp819": + case "csisolatin1": + case "ibm819": + case "iso-8859-1": + case "iso-ir-100": + case "iso8859-1": + case "iso88591": + case "iso_8859-1": + case "iso_8859-1:1987": + case "l1": + case "latin1": + case "us-ascii": + case "windows-1252": + case "x-cp1252": + return "windows-1252"; + case "cp1253": + case "windows-1253": + case "x-cp1253": + return "windows-1253"; + case "cp1254": + case "csisolatin5": + case "iso-8859-9": + case "iso-ir-148": + case "iso8859-9": + case "iso88599": + case "iso_8859-9": + case "iso_8859-9:1989": + case "l5": + case "latin5": + case "windows-1254": + case "x-cp1254": + return "windows-1254"; + case "cp1255": + case "windows-1255": + case "x-cp1255": + return "windows-1255"; + case "cp1256": + case "windows-1256": + case "x-cp1256": + return "windows-1256"; + case "cp1257": + case "windows-1257": + case "x-cp1257": + return "windows-1257"; + case "cp1258": + case "windows-1258": + case "x-cp1258": + return "windows-1258"; + case "x-mac-cyrillic": + case "x-mac-ukrainian": + return "x-mac-cyrillic"; + case "chinese": + case "csgb2312": + case "csiso58gb231280": + case "gb2312": + case "gb_2312": + case "gb_2312-80": + case "gbk": + case "iso-ir-58": + case "x-gbk": + return "GBK"; + case "gb18030": + return "gb18030"; + case "big5": + case "big5-hkscs": + case "cn-big5": + case "csbig5": + case "x-x-big5": + return "Big5"; + case "cseucpkdfmtjapanese": + case "euc-jp": + case "x-euc-jp": + return "EUC-JP"; + case "csiso2022jp": + case "iso-2022-jp": + return "ISO-2022-JP"; + case "csshiftjis": + case "ms932": + case "ms_kanji": + case "shift-jis": + case "shift_jis": + case "sjis": + case "windows-31j": + case "x-sjis": + return "Shift_JIS"; + case "cseuckr": + case "csksc56011987": + case "euc-kr": + case "iso-ir-149": + case "korean": + case "ks_c_5601-1987": + case "ks_c_5601-1989": + case "ksc5601": + case "ksc_5601": + case "windows-949": + return "EUC-KR"; + case "csiso2022kr": + case "hz-gb-2312": + case "iso-2022-cn": + case "iso-2022-cn-ext": + case "iso-2022-kr": + case "replacement": + return "replacement"; + case "unicodefffe": + case "utf-16be": + return "UTF-16BE"; + case "csunicode": + case "iso-10646-ucs-2": + case "ucs-2": + case "unicode": + case "unicodefeff": + case "utf-16": + case "utf-16le": + return "UTF-16LE"; + case "x-user-defined": + return "x-user-defined"; + default: + return "failure"; + } + } + e.exports = { getEncoding: getEncoding }; + }, + 2160: (e, t, r) => { + const { staticPropertyDescriptors: s, readOperation: o, fireAProgressEvent: n } = r(165); + const { kState: A, kError: i, kResult: a, kEvents: c, kAborted: u } = r(6812); + const { webidl: l } = r(4222); + const { kEnumerableProperty: g } = r(3440); + class FileReader extends EventTarget { + constructor() { + super(); + this[A] = "empty"; + this[a] = null; + this[i] = null; + this[c] = { loadend: null, error: null, abort: null, load: null, progress: null, loadstart: null }; + } + readAsArrayBuffer(e) { + l.brandCheck(this, FileReader); + l.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" }); + e = l.converters.Blob(e, { strict: false }); + o(this, e, "ArrayBuffer"); + } + readAsBinaryString(e) { + l.brandCheck(this, FileReader); + l.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" }); + e = l.converters.Blob(e, { strict: false }); + o(this, e, "BinaryString"); + } + readAsText(e, t = undefined) { + l.brandCheck(this, FileReader); + l.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" }); + e = l.converters.Blob(e, { strict: false }); + if (t !== undefined) { + t = l.converters.DOMString(t); + } + o(this, e, "Text", t); + } + readAsDataURL(e) { + l.brandCheck(this, FileReader); + l.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" }); + e = l.converters.Blob(e, { strict: false }); + o(this, e, "DataURL"); + } + abort() { + if (this[A] === "empty" || this[A] === "done") { + this[a] = null; + return; + } + if (this[A] === "loading") { + this[A] = "done"; + this[a] = null; + } + this[u] = true; + n("abort", this); + if (this[A] !== "loading") { + n("loadend", this); + } + } + get readyState() { + l.brandCheck(this, FileReader); + switch (this[A]) { + case "empty": + return this.EMPTY; + case "loading": + return this.LOADING; + case "done": + return this.DONE; + } + } + get result() { + l.brandCheck(this, FileReader); + return this[a]; + } + get error() { + l.brandCheck(this, FileReader); + return this[i]; + } + get onloadend() { + l.brandCheck(this, FileReader); + return this[c].loadend; + } + set onloadend(e) { + l.brandCheck(this, FileReader); + if (this[c].loadend) { + this.removeEventListener("loadend", this[c].loadend); + } + if (typeof e === "function") { + this[c].loadend = e; + this.addEventListener("loadend", e); + } else { + this[c].loadend = null; + } + } + get onerror() { + l.brandCheck(this, FileReader); + return this[c].error; + } + set onerror(e) { + l.brandCheck(this, FileReader); + if (this[c].error) { + this.removeEventListener("error", this[c].error); + } + if (typeof e === "function") { + this[c].error = e; + this.addEventListener("error", e); + } else { + this[c].error = null; + } + } + get onloadstart() { + l.brandCheck(this, FileReader); + return this[c].loadstart; + } + set onloadstart(e) { + l.brandCheck(this, FileReader); + if (this[c].loadstart) { + this.removeEventListener("loadstart", this[c].loadstart); + } + if (typeof e === "function") { + this[c].loadstart = e; + this.addEventListener("loadstart", e); + } else { + this[c].loadstart = null; + } + } + get onprogress() { + l.brandCheck(this, FileReader); + return this[c].progress; + } + set onprogress(e) { + l.brandCheck(this, FileReader); + if (this[c].progress) { + this.removeEventListener("progress", this[c].progress); + } + if (typeof e === "function") { + this[c].progress = e; + this.addEventListener("progress", e); + } else { + this[c].progress = null; + } + } + get onload() { + l.brandCheck(this, FileReader); + return this[c].load; + } + set onload(e) { + l.brandCheck(this, FileReader); + if (this[c].load) { + this.removeEventListener("load", this[c].load); + } + if (typeof e === "function") { + this[c].load = e; + this.addEventListener("load", e); + } else { + this[c].load = null; + } + } + get onabort() { + l.brandCheck(this, FileReader); + return this[c].abort; + } + set onabort(e) { + l.brandCheck(this, FileReader); + if (this[c].abort) { + this.removeEventListener("abort", this[c].abort); + } + if (typeof e === "function") { + this[c].abort = e; + this.addEventListener("abort", e); + } else { + this[c].abort = null; + } + } + } + FileReader.EMPTY = FileReader.prototype.EMPTY = 0; + FileReader.LOADING = FileReader.prototype.LOADING = 1; + FileReader.DONE = FileReader.prototype.DONE = 2; + Object.defineProperties(FileReader.prototype, { + EMPTY: s, + LOADING: s, + DONE: s, + readAsArrayBuffer: g, + readAsBinaryString: g, + readAsText: g, + readAsDataURL: g, + abort: g, + readyState: g, + result: g, + error: g, + onloadstart: g, + onprogress: g, + onload: g, + onabort: g, + onerror: g, + onloadend: g, + [Symbol.toStringTag]: { value: "FileReader", writable: false, enumerable: false, configurable: true }, + }); + Object.defineProperties(FileReader, { EMPTY: s, LOADING: s, DONE: s }); + e.exports = { FileReader: FileReader }; + }, + 5976: (e, t, r) => { + const { webidl: s } = r(4222); + const o = Symbol("ProgressEvent state"); + class ProgressEvent extends Event { + constructor(e, t = {}) { + e = s.converters.DOMString(e); + t = s.converters.ProgressEventInit(t ?? {}); + super(e, t); + this[o] = { lengthComputable: t.lengthComputable, loaded: t.loaded, total: t.total }; + } + get lengthComputable() { + s.brandCheck(this, ProgressEvent); + return this[o].lengthComputable; + } + get loaded() { + s.brandCheck(this, ProgressEvent); + return this[o].loaded; + } + get total() { + s.brandCheck(this, ProgressEvent); + return this[o].total; + } + } + s.converters.ProgressEventInit = s.dictionaryConverter([ + { key: "lengthComputable", converter: s.converters.boolean, defaultValue: false }, + { key: "loaded", converter: s.converters["unsigned long long"], defaultValue: 0 }, + { key: "total", converter: s.converters["unsigned long long"], defaultValue: 0 }, + { key: "bubbles", converter: s.converters.boolean, defaultValue: false }, + { key: "cancelable", converter: s.converters.boolean, defaultValue: false }, + { key: "composed", converter: s.converters.boolean, defaultValue: false }, + ]); + e.exports = { ProgressEvent: ProgressEvent }; + }, + 6812: (e) => { + e.exports = { + kState: Symbol("FileReader state"), + kResult: Symbol("FileReader result"), + kError: Symbol("FileReader error"), + kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"), + kEvents: Symbol("FileReader events"), + kAborted: Symbol("FileReader aborted"), + }; + }, + 165: (e, t, r) => { + const { kState: s, kError: o, kResult: n, kAborted: A, kLastProgressEventFired: i } = r(6812); + const { ProgressEvent: a } = r(5976); + const { getEncoding: c } = r(396); + const { DOMException: u } = r(7326); + const { serializeAMimeType: l, parseMIMEType: g } = r(4322); + const { types: p } = r(9023); + const { StringDecoder: d } = r(3193); + const { btoa: E } = r(181); + const h = { enumerable: true, writable: false, configurable: false }; + function readOperation(e, t, r, a) { + if (e[s] === "loading") { + throw new u("Invalid state", "InvalidStateError"); + } + e[s] = "loading"; + e[n] = null; + e[o] = null; + const c = t.stream(); + const l = c.getReader(); + const g = []; + let d = l.read(); + let E = true; + (async () => { + while (!e[A]) { + try { + const { done: c, value: u } = await d; + if (E && !e[A]) { + queueMicrotask(() => { + fireAProgressEvent("loadstart", e); + }); + } + E = false; + if (!c && p.isUint8Array(u)) { + g.push(u); + if ((e[i] === undefined || Date.now() - e[i] >= 50) && !e[A]) { + e[i] = Date.now(); + queueMicrotask(() => { + fireAProgressEvent("progress", e); + }); + } + d = l.read(); + } else if (c) { + queueMicrotask(() => { + e[s] = "done"; + try { + const s = packageData(g, r, t.type, a); + if (e[A]) { + return; + } + e[n] = s; + fireAProgressEvent("load", e); + } catch (t) { + e[o] = t; + fireAProgressEvent("error", e); + } + if (e[s] !== "loading") { + fireAProgressEvent("loadend", e); + } + }); + break; + } + } catch (t) { + if (e[A]) { + return; + } + queueMicrotask(() => { + e[s] = "done"; + e[o] = t; + fireAProgressEvent("error", e); + if (e[s] !== "loading") { + fireAProgressEvent("loadend", e); + } + }); + break; + } + } + })(); + } + function fireAProgressEvent(e, t) { + const r = new a(e, { bubbles: false, cancelable: false }); + t.dispatchEvent(r); + } + function packageData(e, t, r, s) { + switch (t) { + case "DataURL": { + let t = "data:"; + const s = g(r || "application/octet-stream"); + if (s !== "failure") { + t += l(s); + } + t += ";base64,"; + const o = new d("latin1"); + for (const r of e) { + t += E(o.write(r)); + } + t += E(o.end()); + return t; + } + case "Text": { + let t = "failure"; + if (s) { + t = c(s); + } + if (t === "failure" && r) { + const e = g(r); + if (e !== "failure") { + t = c(e.parameters.get("charset")); + } + } + if (t === "failure") { + t = "UTF-8"; + } + return decode(e, t); + } + case "ArrayBuffer": { + const t = combineByteSequences(e); + return t.buffer; + } + case "BinaryString": { + let t = ""; + const r = new d("latin1"); + for (const s of e) { + t += r.write(s); + } + t += r.end(); + return t; + } + } + } + function decode(e, t) { + const r = combineByteSequences(e); + const s = BOMSniffing(r); + let o = 0; + if (s !== null) { + t = s; + o = s === "UTF-8" ? 3 : 2; + } + const n = r.slice(o); + return new TextDecoder(t).decode(n); + } + function BOMSniffing(e) { + const [t, r, s] = e; + if (t === 239 && r === 187 && s === 191) { + return "UTF-8"; + } else if (t === 254 && r === 255) { + return "UTF-16BE"; + } else if (t === 255 && r === 254) { + return "UTF-16LE"; + } + return null; + } + function combineByteSequences(e) { + const t = e.reduce((e, t) => e + t.byteLength, 0); + let r = 0; + return e.reduce((e, t) => { + e.set(t, r); + r += t.byteLength; + return e; + }, new Uint8Array(t)); + } + e.exports = { staticPropertyDescriptors: h, readOperation: readOperation, fireAProgressEvent: fireAProgressEvent }; + }, + 2581: (e, t, r) => { + const s = Symbol.for("undici.globalDispatcher.1"); + const { InvalidArgumentError: o } = r(8707); + const n = r(9965); + if (getGlobalDispatcher() === undefined) { + setGlobalDispatcher(new n()); + } + function setGlobalDispatcher(e) { + if (!e || typeof e.dispatch !== "function") { + throw new o("Argument agent must implement Agent"); + } + Object.defineProperty(globalThis, s, { value: e, writable: true, enumerable: false, configurable: false }); + } + function getGlobalDispatcher() { + return globalThis[s]; + } + e.exports = { setGlobalDispatcher: setGlobalDispatcher, getGlobalDispatcher: getGlobalDispatcher }; + }, + 8840: (e) => { + e.exports = class DecoratorHandler { + constructor(e) { + this.handler = e; + } + onConnect(...e) { + return this.handler.onConnect(...e); + } + onError(...e) { + return this.handler.onError(...e); + } + onUpgrade(...e) { + return this.handler.onUpgrade(...e); + } + onHeaders(...e) { + return this.handler.onHeaders(...e); + } + onData(...e) { + return this.handler.onData(...e); + } + onComplete(...e) { + return this.handler.onComplete(...e); + } + onBodySent(...e) { + return this.handler.onBodySent(...e); + } + }; + }, + 8299: (e, t, r) => { + const s = r(3440); + const { kBodyUsed: o } = r(6443); + const n = r(2613); + const { InvalidArgumentError: A } = r(8707); + const i = r(4434); + const a = [300, 301, 302, 303, 307, 308]; + const c = Symbol("body"); + class BodyAsyncIterable { + constructor(e) { + this[c] = e; + this[o] = false; + } + async *[Symbol.asyncIterator]() { + n(!this[o], "disturbed"); + this[o] = true; + yield* this[c]; + } + } + class RedirectHandler { + constructor(e, t, r, a) { + if (t != null && (!Number.isInteger(t) || t < 0)) { + throw new A("maxRedirections must be a positive number"); + } + s.validateHandler(a, r.method, r.upgrade); + this.dispatch = e; + this.location = null; + this.abort = null; + this.opts = { ...r, maxRedirections: 0 }; + this.maxRedirections = t; + this.handler = a; + this.history = []; + if (s.isStream(this.opts.body)) { + if (s.bodyLength(this.opts.body) === 0) { + this.opts.body.on("data", function () { + n(false); + }); + } + if (typeof this.opts.body.readableDidRead !== "boolean") { + this.opts.body[o] = false; + i.prototype.on.call(this.opts.body, "data", function () { + this[o] = true; + }); + } + } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { + this.opts.body = new BodyAsyncIterable(this.opts.body); + } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && s.isIterable(this.opts.body)) { + this.opts.body = new BodyAsyncIterable(this.opts.body); + } + } + onConnect(e) { + this.abort = e; + this.handler.onConnect(e, { history: this.history }); + } + onUpgrade(e, t, r) { + this.handler.onUpgrade(e, t, r); + } + onError(e) { + this.handler.onError(e); + } + onHeaders(e, t, r, o) { + this.location = this.history.length >= this.maxRedirections || s.isDisturbed(this.opts.body) ? null : parseLocation(e, t); + if (this.opts.origin) { + this.history.push(new URL(this.opts.path, this.opts.origin)); + } + if (!this.location) { + return this.handler.onHeaders(e, t, r, o); + } + const { origin: n, pathname: A, search: i } = s.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); + const a = i ? `${A}${i}` : A; + this.opts.headers = cleanRequestHeaders(this.opts.headers, e === 303, this.opts.origin !== n); + this.opts.path = a; + this.opts.origin = n; + this.opts.maxRedirections = 0; + this.opts.query = null; + if (e === 303 && this.opts.method !== "HEAD") { + this.opts.method = "GET"; + this.opts.body = null; + } + } + onData(e) { + if (this.location) { + } else { + return this.handler.onData(e); + } + } + onComplete(e) { + if (this.location) { + this.location = null; + this.abort = null; + this.dispatch(this.opts, this); + } else { + this.handler.onComplete(e); + } + } + onBodySent(e) { + if (this.handler.onBodySent) { + this.handler.onBodySent(e); + } + } + } + function parseLocation(e, t) { + if (a.indexOf(e) === -1) { + return null; + } + for (let e = 0; e < t.length; e += 2) { + if (t[e].toString().toLowerCase() === "location") { + return t[e + 1]; + } + } + } + function shouldRemoveHeader(e, t, r) { + if (e.length === 4) { + return s.headerNameToString(e) === "host"; + } + if (t && s.headerNameToString(e).startsWith("content-")) { + return true; + } + if (r && (e.length === 13 || e.length === 6 || e.length === 19)) { + const t = s.headerNameToString(e); + return t === "authorization" || t === "cookie" || t === "proxy-authorization"; + } + return false; + } + function cleanRequestHeaders(e, t, r) { + const s = []; + if (Array.isArray(e)) { + for (let o = 0; o < e.length; o += 2) { + if (!shouldRemoveHeader(e[o], t, r)) { + s.push(e[o], e[o + 1]); + } + } + } else if (e && typeof e === "object") { + for (const o of Object.keys(e)) { + if (!shouldRemoveHeader(o, t, r)) { + s.push(o, e[o]); + } + } + } else { + n(e == null, "headers must be an object or an array"); + } + return s; + } + e.exports = RedirectHandler; + }, + 3573: (e, t, r) => { + const s = r(2613); + const { kRetryHandlerDefaultRetry: o } = r(6443); + const { RequestRetryError: n } = r(8707); + const { isDisturbed: A, parseHeaders: i, parseRangeHeader: a } = r(3440); + function calculateRetryAfterHeader(e) { + const t = Date.now(); + const r = new Date(e).getTime() - t; + return r; + } + class RetryHandler { + constructor(e, t) { + const { retryOptions: r, ...s } = e; + const { retry: n, maxRetries: A, maxTimeout: i, minTimeout: a, timeoutFactor: c, methods: u, errorCodes: l, retryAfter: g, statusCodes: p } = r ?? {}; + this.dispatch = t.dispatch; + this.handler = t.handler; + this.opts = s; + this.abort = null; + this.aborted = false; + this.retryOpts = { + retry: n ?? RetryHandler[o], + retryAfter: g ?? true, + maxTimeout: i ?? 30 * 1e3, + timeout: a ?? 500, + timeoutFactor: c ?? 2, + maxRetries: A ?? 5, + methods: u ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"], + statusCodes: p ?? [500, 502, 503, 504, 429], + errorCodes: l ?? ["ECONNRESET", "ECONNREFUSED", "ENOTFOUND", "ENETDOWN", "ENETUNREACH", "EHOSTDOWN", "EHOSTUNREACH", "EPIPE"], + }; + this.retryCount = 0; + this.start = 0; + this.end = null; + this.etag = null; + this.resume = null; + this.handler.onConnect((e) => { + this.aborted = true; + if (this.abort) { + this.abort(e); + } else { + this.reason = e; + } + }); + } + onRequestSent() { + if (this.handler.onRequestSent) { + this.handler.onRequestSent(); + } + } + onUpgrade(e, t, r) { + if (this.handler.onUpgrade) { + this.handler.onUpgrade(e, t, r); + } + } + onConnect(e) { + if (this.aborted) { + e(this.reason); + } else { + this.abort = e; + } + } + onBodySent(e) { + if (this.handler.onBodySent) return this.handler.onBodySent(e); + } + static [o](e, { state: t, opts: r }, s) { + const { statusCode: o, code: n, headers: A } = e; + const { method: i, retryOptions: a } = r; + const { maxRetries: c, timeout: u, maxTimeout: l, timeoutFactor: g, statusCodes: p, errorCodes: d, methods: E } = a; + let { counter: h, currentTimeout: I } = t; + I = I != null && I > 0 ? I : u; + if (n && n !== "UND_ERR_REQ_RETRY" && n !== "UND_ERR_SOCKET" && !d.includes(n)) { + s(e); + return; + } + if (Array.isArray(E) && !E.includes(i)) { + s(e); + return; + } + if (o != null && Array.isArray(p) && !p.includes(o)) { + s(e); + return; + } + if (h > c) { + s(e); + return; + } + let C = A != null && A["retry-after"]; + if (C) { + C = Number(C); + C = isNaN(C) ? calculateRetryAfterHeader(C) : C * 1e3; + } + const m = C > 0 ? Math.min(C, l) : Math.min(I * g ** h, l); + t.currentTimeout = m; + setTimeout(() => s(null), m); + } + onHeaders(e, t, r, o) { + const A = i(t); + this.retryCount += 1; + if (e >= 300) { + this.abort(new n("Request failed", e, { headers: A, count: this.retryCount })); + return false; + } + if (this.resume != null) { + this.resume = null; + if (e !== 206) { + return true; + } + const t = a(A["content-range"]); + if (!t) { + this.abort(new n("Content-Range mismatch", e, { headers: A, count: this.retryCount })); + return false; + } + if (this.etag != null && this.etag !== A.etag) { + this.abort(new n("ETag mismatch", e, { headers: A, count: this.retryCount })); + return false; + } + const { start: o, size: i, end: c = i } = t; + s(this.start === o, "content-range mismatch"); + s(this.end == null || this.end === c, "content-range mismatch"); + this.resume = r; + return true; + } + if (this.end == null) { + if (e === 206) { + const n = a(A["content-range"]); + if (n == null) { + return this.handler.onHeaders(e, t, r, o); + } + const { start: i, size: c, end: u = c } = n; + s(i != null && Number.isFinite(i) && this.start !== i, "content-range mismatch"); + s(Number.isFinite(i)); + s(u != null && Number.isFinite(u) && this.end !== u, "invalid content-length"); + this.start = i; + this.end = u; + } + if (this.end == null) { + const e = A["content-length"]; + this.end = e != null ? Number(e) : null; + } + s(Number.isFinite(this.start)); + s(this.end == null || Number.isFinite(this.end), "invalid content-length"); + this.resume = r; + this.etag = A.etag != null ? A.etag : null; + return this.handler.onHeaders(e, t, r, o); + } + const c = new n("Request failed", e, { headers: A, count: this.retryCount }); + this.abort(c); + return false; + } + onData(e) { + this.start += e.length; + return this.handler.onData(e); + } + onComplete(e) { + this.retryCount = 0; + return this.handler.onComplete(e); + } + onError(e) { + if (this.aborted || A(this.opts.body)) { + return this.handler.onError(e); + } + this.retryOpts.retry( + e, + { state: { counter: this.retryCount++, currentTimeout: this.retryAfter }, opts: { retryOptions: this.retryOpts, ...this.opts } }, + onRetry.bind(this) + ); + function onRetry(e) { + if (e != null || this.aborted || A(this.opts.body)) { + return this.handler.onError(e); + } + if (this.start !== 0) { + this.opts = { ...this.opts, headers: { ...this.opts.headers, range: `bytes=${this.start}-${this.end ?? ""}` } }; + } + try { + this.dispatch(this.opts, this); + } catch (e) { + this.handler.onError(e); + } + } + } + } + e.exports = RetryHandler; + }, + 4415: (e, t, r) => { + const s = r(8299); + function createRedirectInterceptor({ maxRedirections: e }) { + return (t) => + function Intercept(r, o) { + const { maxRedirections: n = e } = r; + if (!n) { + return t(r, o); + } + const A = new s(t, n, r, o); + r = { ...r, maxRedirections: 0 }; + return t(r, A); + }; + } + e.exports = createRedirectInterceptor; + }, + 2824: (e, t, r) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.SPECIAL_HEADERS = + t.HEADER_STATE = + t.MINOR = + t.MAJOR = + t.CONNECTION_TOKEN_CHARS = + t.HEADER_CHARS = + t.TOKEN = + t.STRICT_TOKEN = + t.HEX = + t.URL_CHAR = + t.STRICT_URL_CHAR = + t.USERINFO_CHARS = + t.MARK = + t.ALPHANUM = + t.NUM = + t.HEX_MAP = + t.NUM_MAP = + t.ALPHA = + t.FINISH = + t.H_METHOD_MAP = + t.METHOD_MAP = + t.METHODS_RTSP = + t.METHODS_ICE = + t.METHODS_HTTP = + t.METHODS = + t.LENIENT_FLAGS = + t.FLAGS = + t.TYPE = + t.ERROR = + void 0; + const s = r(172); + var o; + (function (e) { + e[(e["OK"] = 0)] = "OK"; + e[(e["INTERNAL"] = 1)] = "INTERNAL"; + e[(e["STRICT"] = 2)] = "STRICT"; + e[(e["LF_EXPECTED"] = 3)] = "LF_EXPECTED"; + e[(e["UNEXPECTED_CONTENT_LENGTH"] = 4)] = "UNEXPECTED_CONTENT_LENGTH"; + e[(e["CLOSED_CONNECTION"] = 5)] = "CLOSED_CONNECTION"; + e[(e["INVALID_METHOD"] = 6)] = "INVALID_METHOD"; + e[(e["INVALID_URL"] = 7)] = "INVALID_URL"; + e[(e["INVALID_CONSTANT"] = 8)] = "INVALID_CONSTANT"; + e[(e["INVALID_VERSION"] = 9)] = "INVALID_VERSION"; + e[(e["INVALID_HEADER_TOKEN"] = 10)] = "INVALID_HEADER_TOKEN"; + e[(e["INVALID_CONTENT_LENGTH"] = 11)] = "INVALID_CONTENT_LENGTH"; + e[(e["INVALID_CHUNK_SIZE"] = 12)] = "INVALID_CHUNK_SIZE"; + e[(e["INVALID_STATUS"] = 13)] = "INVALID_STATUS"; + e[(e["INVALID_EOF_STATE"] = 14)] = "INVALID_EOF_STATE"; + e[(e["INVALID_TRANSFER_ENCODING"] = 15)] = "INVALID_TRANSFER_ENCODING"; + e[(e["CB_MESSAGE_BEGIN"] = 16)] = "CB_MESSAGE_BEGIN"; + e[(e["CB_HEADERS_COMPLETE"] = 17)] = "CB_HEADERS_COMPLETE"; + e[(e["CB_MESSAGE_COMPLETE"] = 18)] = "CB_MESSAGE_COMPLETE"; + e[(e["CB_CHUNK_HEADER"] = 19)] = "CB_CHUNK_HEADER"; + e[(e["CB_CHUNK_COMPLETE"] = 20)] = "CB_CHUNK_COMPLETE"; + e[(e["PAUSED"] = 21)] = "PAUSED"; + e[(e["PAUSED_UPGRADE"] = 22)] = "PAUSED_UPGRADE"; + e[(e["PAUSED_H2_UPGRADE"] = 23)] = "PAUSED_H2_UPGRADE"; + e[(e["USER"] = 24)] = "USER"; + })((o = t.ERROR || (t.ERROR = {}))); + var n; + (function (e) { + e[(e["BOTH"] = 0)] = "BOTH"; + e[(e["REQUEST"] = 1)] = "REQUEST"; + e[(e["RESPONSE"] = 2)] = "RESPONSE"; + })((n = t.TYPE || (t.TYPE = {}))); + var A; + (function (e) { + e[(e["CONNECTION_KEEP_ALIVE"] = 1)] = "CONNECTION_KEEP_ALIVE"; + e[(e["CONNECTION_CLOSE"] = 2)] = "CONNECTION_CLOSE"; + e[(e["CONNECTION_UPGRADE"] = 4)] = "CONNECTION_UPGRADE"; + e[(e["CHUNKED"] = 8)] = "CHUNKED"; + e[(e["UPGRADE"] = 16)] = "UPGRADE"; + e[(e["CONTENT_LENGTH"] = 32)] = "CONTENT_LENGTH"; + e[(e["SKIPBODY"] = 64)] = "SKIPBODY"; + e[(e["TRAILING"] = 128)] = "TRAILING"; + e[(e["TRANSFER_ENCODING"] = 512)] = "TRANSFER_ENCODING"; + })((A = t.FLAGS || (t.FLAGS = {}))); + var i; + (function (e) { + e[(e["HEADERS"] = 1)] = "HEADERS"; + e[(e["CHUNKED_LENGTH"] = 2)] = "CHUNKED_LENGTH"; + e[(e["KEEP_ALIVE"] = 4)] = "KEEP_ALIVE"; + })((i = t.LENIENT_FLAGS || (t.LENIENT_FLAGS = {}))); + var a; + (function (e) { + e[(e["DELETE"] = 0)] = "DELETE"; + e[(e["GET"] = 1)] = "GET"; + e[(e["HEAD"] = 2)] = "HEAD"; + e[(e["POST"] = 3)] = "POST"; + e[(e["PUT"] = 4)] = "PUT"; + e[(e["CONNECT"] = 5)] = "CONNECT"; + e[(e["OPTIONS"] = 6)] = "OPTIONS"; + e[(e["TRACE"] = 7)] = "TRACE"; + e[(e["COPY"] = 8)] = "COPY"; + e[(e["LOCK"] = 9)] = "LOCK"; + e[(e["MKCOL"] = 10)] = "MKCOL"; + e[(e["MOVE"] = 11)] = "MOVE"; + e[(e["PROPFIND"] = 12)] = "PROPFIND"; + e[(e["PROPPATCH"] = 13)] = "PROPPATCH"; + e[(e["SEARCH"] = 14)] = "SEARCH"; + e[(e["UNLOCK"] = 15)] = "UNLOCK"; + e[(e["BIND"] = 16)] = "BIND"; + e[(e["REBIND"] = 17)] = "REBIND"; + e[(e["UNBIND"] = 18)] = "UNBIND"; + e[(e["ACL"] = 19)] = "ACL"; + e[(e["REPORT"] = 20)] = "REPORT"; + e[(e["MKACTIVITY"] = 21)] = "MKACTIVITY"; + e[(e["CHECKOUT"] = 22)] = "CHECKOUT"; + e[(e["MERGE"] = 23)] = "MERGE"; + e[(e["M-SEARCH"] = 24)] = "M-SEARCH"; + e[(e["NOTIFY"] = 25)] = "NOTIFY"; + e[(e["SUBSCRIBE"] = 26)] = "SUBSCRIBE"; + e[(e["UNSUBSCRIBE"] = 27)] = "UNSUBSCRIBE"; + e[(e["PATCH"] = 28)] = "PATCH"; + e[(e["PURGE"] = 29)] = "PURGE"; + e[(e["MKCALENDAR"] = 30)] = "MKCALENDAR"; + e[(e["LINK"] = 31)] = "LINK"; + e[(e["UNLINK"] = 32)] = "UNLINK"; + e[(e["SOURCE"] = 33)] = "SOURCE"; + e[(e["PRI"] = 34)] = "PRI"; + e[(e["DESCRIBE"] = 35)] = "DESCRIBE"; + e[(e["ANNOUNCE"] = 36)] = "ANNOUNCE"; + e[(e["SETUP"] = 37)] = "SETUP"; + e[(e["PLAY"] = 38)] = "PLAY"; + e[(e["PAUSE"] = 39)] = "PAUSE"; + e[(e["TEARDOWN"] = 40)] = "TEARDOWN"; + e[(e["GET_PARAMETER"] = 41)] = "GET_PARAMETER"; + e[(e["SET_PARAMETER"] = 42)] = "SET_PARAMETER"; + e[(e["REDIRECT"] = 43)] = "REDIRECT"; + e[(e["RECORD"] = 44)] = "RECORD"; + e[(e["FLUSH"] = 45)] = "FLUSH"; + })((a = t.METHODS || (t.METHODS = {}))); + t.METHODS_HTTP = [ + a.DELETE, + a.GET, + a.HEAD, + a.POST, + a.PUT, + a.CONNECT, + a.OPTIONS, + a.TRACE, + a.COPY, + a.LOCK, + a.MKCOL, + a.MOVE, + a.PROPFIND, + a.PROPPATCH, + a.SEARCH, + a.UNLOCK, + a.BIND, + a.REBIND, + a.UNBIND, + a.ACL, + a.REPORT, + a.MKACTIVITY, + a.CHECKOUT, + a.MERGE, + a["M-SEARCH"], + a.NOTIFY, + a.SUBSCRIBE, + a.UNSUBSCRIBE, + a.PATCH, + a.PURGE, + a.MKCALENDAR, + a.LINK, + a.UNLINK, + a.PRI, + a.SOURCE, + ]; + t.METHODS_ICE = [a.SOURCE]; + t.METHODS_RTSP = [ + a.OPTIONS, + a.DESCRIBE, + a.ANNOUNCE, + a.SETUP, + a.PLAY, + a.PAUSE, + a.TEARDOWN, + a.GET_PARAMETER, + a.SET_PARAMETER, + a.REDIRECT, + a.RECORD, + a.FLUSH, + a.GET, + a.POST, + ]; + t.METHOD_MAP = s.enumToMap(a); + t.H_METHOD_MAP = {}; + Object.keys(t.METHOD_MAP).forEach((e) => { + if (/^H/.test(e)) { + t.H_METHOD_MAP[e] = t.METHOD_MAP[e]; + } + }); + var c; + (function (e) { + e[(e["SAFE"] = 0)] = "SAFE"; + e[(e["SAFE_WITH_CB"] = 1)] = "SAFE_WITH_CB"; + e[(e["UNSAFE"] = 2)] = "UNSAFE"; + })((c = t.FINISH || (t.FINISH = {}))); + t.ALPHA = []; + for (let e = "A".charCodeAt(0); e <= "Z".charCodeAt(0); e++) { + t.ALPHA.push(String.fromCharCode(e)); + t.ALPHA.push(String.fromCharCode(e + 32)); + } + t.NUM_MAP = { 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9 }; + t.HEX_MAP = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + A: 10, + B: 11, + C: 12, + D: 13, + E: 14, + F: 15, + a: 10, + b: 11, + c: 12, + d: 13, + e: 14, + f: 15, + }; + t.NUM = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; + t.ALPHANUM = t.ALPHA.concat(t.NUM); + t.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; + t.USERINFO_CHARS = t.ALPHANUM.concat(t.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); + t.STRICT_URL_CHAR = [ + "!", + '"', + "$", + "%", + "&", + "'", + "(", + ")", + "*", + "+", + ",", + "-", + ".", + "/", + ":", + ";", + "<", + "=", + ">", + "@", + "[", + "\\", + "]", + "^", + "_", + "`", + "{", + "|", + "}", + "~", + ].concat(t.ALPHANUM); + t.URL_CHAR = t.STRICT_URL_CHAR.concat(["\t", "\f"]); + for (let e = 128; e <= 255; e++) { + t.URL_CHAR.push(e); + } + t.HEX = t.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); + t.STRICT_TOKEN = ["!", "#", "$", "%", "&", "'", "*", "+", "-", ".", "^", "_", "`", "|", "~"].concat(t.ALPHANUM); + t.TOKEN = t.STRICT_TOKEN.concat([" "]); + t.HEADER_CHARS = ["\t"]; + for (let e = 32; e <= 255; e++) { + if (e !== 127) { + t.HEADER_CHARS.push(e); + } + } + t.CONNECTION_TOKEN_CHARS = t.HEADER_CHARS.filter((e) => e !== 44); + t.MAJOR = t.NUM_MAP; + t.MINOR = t.MAJOR; + var u; + (function (e) { + e[(e["GENERAL"] = 0)] = "GENERAL"; + e[(e["CONNECTION"] = 1)] = "CONNECTION"; + e[(e["CONTENT_LENGTH"] = 2)] = "CONTENT_LENGTH"; + e[(e["TRANSFER_ENCODING"] = 3)] = "TRANSFER_ENCODING"; + e[(e["UPGRADE"] = 4)] = "UPGRADE"; + e[(e["CONNECTION_KEEP_ALIVE"] = 5)] = "CONNECTION_KEEP_ALIVE"; + e[(e["CONNECTION_CLOSE"] = 6)] = "CONNECTION_CLOSE"; + e[(e["CONNECTION_UPGRADE"] = 7)] = "CONNECTION_UPGRADE"; + e[(e["TRANSFER_ENCODING_CHUNKED"] = 8)] = "TRANSFER_ENCODING_CHUNKED"; + })((u = t.HEADER_STATE || (t.HEADER_STATE = {}))); + t.SPECIAL_HEADERS = { + connection: u.CONNECTION, + "content-length": u.CONTENT_LENGTH, + "proxy-connection": u.CONNECTION, + "transfer-encoding": u.TRANSFER_ENCODING, + upgrade: u.UPGRADE, + }; + }, + 3870: (e) => { + e.exports = + "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="; + }, + 3434: (e) => { + e.exports = + "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="; + }, + 172: (e, t) => { + Object.defineProperty(t, "__esModule", { value: true }); + t.enumToMap = void 0; + function enumToMap(e) { + const t = {}; + Object.keys(e).forEach((r) => { + const s = e[r]; + if (typeof s === "number") { + t[r] = s; + } + }); + return t; + } + t.enumToMap = enumToMap; + }, + 7501: (e, t, r) => { + const { kClients: s } = r(6443); + const o = r(9965); + const { + kAgent: n, + kMockAgentSet: A, + kMockAgentGet: i, + kDispatches: a, + kIsMockActive: c, + kNetConnect: u, + kGetNetConnect: l, + kOptions: g, + kFactory: p, + } = r(1117); + const d = r(7365); + const E = r(4004); + const { matchValue: h, buildMockOptions: I } = r(3397); + const { InvalidArgumentError: C, UndiciError: m } = r(8707); + const Q = r(992); + const B = r(1529); + const y = r(6142); + class FakeWeakRef { + constructor(e) { + this.value = e; + } + deref() { + return this.value; + } + } + class MockAgent extends Q { + constructor(e) { + super(e); + this[u] = true; + this[c] = true; + if (e && e.agent && typeof e.agent.dispatch !== "function") { + throw new C("Argument opts.agent must implement Agent"); + } + const t = e && e.agent ? e.agent : new o(e); + this[n] = t; + this[s] = t[s]; + this[g] = I(e); + } + get(e) { + let t = this[i](e); + if (!t) { + t = this[p](e); + this[A](e, t); + } + return t; + } + dispatch(e, t) { + this.get(e.origin); + return this[n].dispatch(e, t); + } + async close() { + await this[n].close(); + this[s].clear(); + } + deactivate() { + this[c] = false; + } + activate() { + this[c] = true; + } + enableNetConnect(e) { + if (typeof e === "string" || typeof e === "function" || e instanceof RegExp) { + if (Array.isArray(this[u])) { + this[u].push(e); + } else { + this[u] = [e]; + } + } else if (typeof e === "undefined") { + this[u] = true; + } else { + throw new C("Unsupported matcher. Must be one of String|Function|RegExp."); + } + } + disableNetConnect() { + this[u] = false; + } + get isMockActive() { + return this[c]; + } + [A](e, t) { + this[s].set(e, new FakeWeakRef(t)); + } + [p](e) { + const t = Object.assign({ agent: this }, this[g]); + return this[g] && this[g].connections === 1 ? new d(e, t) : new E(e, t); + } + [i](e) { + const t = this[s].get(e); + if (t) { + return t.deref(); + } + if (typeof e !== "string") { + const t = this[p]("http://localhost:9999"); + this[A](e, t); + return t; + } + for (const [t, r] of Array.from(this[s])) { + const s = r.deref(); + if (s && typeof t !== "string" && h(t, e)) { + const t = this[p](e); + this[A](e, t); + t[a] = s[a]; + return t; + } + } + } + [l]() { + return this[u]; + } + pendingInterceptors() { + const e = this[s]; + return Array.from(e.entries()) + .flatMap(([e, t]) => t.deref()[a].map((t) => ({ ...t, origin: e }))) + .filter(({ pending: e }) => e); + } + assertNoPendingInterceptors({ pendingInterceptorsFormatter: e = new y() } = {}) { + const t = this.pendingInterceptors(); + if (t.length === 0) { + return; + } + const r = new B("interceptor", "interceptors").pluralize(t.length); + throw new m(`\n${r.count} ${r.noun} ${r.is} pending:\n\n${e.format(t)}\n`.trim()); + } + } + e.exports = MockAgent; + }, + 7365: (e, t, r) => { + const { promisify: s } = r(9023); + const o = r(6197); + const { buildMockDispatch: n } = r(3397); + const { kDispatches: A, kMockAgent: i, kClose: a, kOriginalClose: c, kOrigin: u, kOriginalDispatch: l, kConnected: g } = r(1117); + const { MockInterceptor: p } = r(1511); + const d = r(6443); + const { InvalidArgumentError: E } = r(8707); + class MockClient extends o { + constructor(e, t) { + super(e, t); + if (!t || !t.agent || typeof t.agent.dispatch !== "function") { + throw new E("Argument opts.agent must implement Agent"); + } + this[i] = t.agent; + this[u] = e; + this[A] = []; + this[g] = 1; + this[l] = this.dispatch; + this[c] = this.close.bind(this); + this.dispatch = n.call(this); + this.close = this[a]; + } + get [d.kConnected]() { + return this[g]; + } + intercept(e) { + return new p(e, this[A]); + } + async [a]() { + await s(this[c])(); + this[g] = 0; + this[i][d.kClients].delete(this[u]); + } + } + e.exports = MockClient; + }, + 2429: (e, t, r) => { + const { UndiciError: s } = r(8707); + class MockNotMatchedError extends s { + constructor(e) { + super(e); + Error.captureStackTrace(this, MockNotMatchedError); + this.name = "MockNotMatchedError"; + this.message = e || "The request does not match any registered mock dispatches"; + this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED"; + } + } + e.exports = { MockNotMatchedError: MockNotMatchedError }; + }, + 1511: (e, t, r) => { + const { getResponseData: s, buildKey: o, addMockDispatch: n } = r(3397); + const { kDispatches: A, kDispatchKey: i, kDefaultHeaders: a, kDefaultTrailers: c, kContentLength: u, kMockDispatch: l } = r(1117); + const { InvalidArgumentError: g } = r(8707); + const { buildURL: p } = r(3440); + class MockScope { + constructor(e) { + this[l] = e; + } + delay(e) { + if (typeof e !== "number" || !Number.isInteger(e) || e <= 0) { + throw new g("waitInMs must be a valid integer > 0"); + } + this[l].delay = e; + return this; + } + persist() { + this[l].persist = true; + return this; + } + times(e) { + if (typeof e !== "number" || !Number.isInteger(e) || e <= 0) { + throw new g("repeatTimes must be a valid integer > 0"); + } + this[l].times = e; + return this; + } + } + class MockInterceptor { + constructor(e, t) { + if (typeof e !== "object") { + throw new g("opts must be an object"); + } + if (typeof e.path === "undefined") { + throw new g("opts.path must be defined"); + } + if (typeof e.method === "undefined") { + e.method = "GET"; + } + if (typeof e.path === "string") { + if (e.query) { + e.path = p(e.path, e.query); + } else { + const t = new URL(e.path, "data://"); + e.path = t.pathname + t.search; + } + } + if (typeof e.method === "string") { + e.method = e.method.toUpperCase(); + } + this[i] = o(e); + this[A] = t; + this[a] = {}; + this[c] = {}; + this[u] = false; + } + createMockScopeDispatchData(e, t, r = {}) { + const o = s(t); + const n = this[u] ? { "content-length": o.length } : {}; + const A = { ...this[a], ...n, ...r.headers }; + const i = { ...this[c], ...r.trailers }; + return { statusCode: e, data: t, headers: A, trailers: i }; + } + validateReplyParameters(e, t, r) { + if (typeof e === "undefined") { + throw new g("statusCode must be defined"); + } + if (typeof t === "undefined") { + throw new g("data must be defined"); + } + if (typeof r !== "object") { + throw new g("responseOptions must be an object"); + } + } + reply(e) { + if (typeof e === "function") { + const wrappedDefaultsCallback = (t) => { + const r = e(t); + if (typeof r !== "object") { + throw new g("reply options callback must return an object"); + } + const { statusCode: s, data: o = "", responseOptions: n = {} } = r; + this.validateReplyParameters(s, o, n); + return { ...this.createMockScopeDispatchData(s, o, n) }; + }; + const t = n(this[A], this[i], wrappedDefaultsCallback); + return new MockScope(t); + } + const [t, r = "", s = {}] = [...arguments]; + this.validateReplyParameters(t, r, s); + const o = this.createMockScopeDispatchData(t, r, s); + const a = n(this[A], this[i], o); + return new MockScope(a); + } + replyWithError(e) { + if (typeof e === "undefined") { + throw new g("error must be defined"); + } + const t = n(this[A], this[i], { error: e }); + return new MockScope(t); + } + defaultReplyHeaders(e) { + if (typeof e === "undefined") { + throw new g("headers must be defined"); + } + this[a] = e; + return this; + } + defaultReplyTrailers(e) { + if (typeof e === "undefined") { + throw new g("trailers must be defined"); + } + this[c] = e; + return this; + } + replyContentLength() { + this[u] = true; + return this; + } + } + e.exports.MockInterceptor = MockInterceptor; + e.exports.MockScope = MockScope; + }, + 4004: (e, t, r) => { + const { promisify: s } = r(9023); + const o = r(5076); + const { buildMockDispatch: n } = r(3397); + const { kDispatches: A, kMockAgent: i, kClose: a, kOriginalClose: c, kOrigin: u, kOriginalDispatch: l, kConnected: g } = r(1117); + const { MockInterceptor: p } = r(1511); + const d = r(6443); + const { InvalidArgumentError: E } = r(8707); + class MockPool extends o { + constructor(e, t) { + super(e, t); + if (!t || !t.agent || typeof t.agent.dispatch !== "function") { + throw new E("Argument opts.agent must implement Agent"); + } + this[i] = t.agent; + this[u] = e; + this[A] = []; + this[g] = 1; + this[l] = this.dispatch; + this[c] = this.close.bind(this); + this.dispatch = n.call(this); + this.close = this[a]; + } + get [d.kConnected]() { + return this[g]; + } + intercept(e) { + return new p(e, this[A]); + } + async [a]() { + await s(this[c])(); + this[g] = 0; + this[i][d.kClients].delete(this[u]); + } + } + e.exports = MockPool; + }, + 1117: (e) => { + e.exports = { + kAgent: Symbol("agent"), + kOptions: Symbol("options"), + kFactory: Symbol("factory"), + kDispatches: Symbol("dispatches"), + kDispatchKey: Symbol("dispatch key"), + kDefaultHeaders: Symbol("default headers"), + kDefaultTrailers: Symbol("default trailers"), + kContentLength: Symbol("content length"), + kMockAgent: Symbol("mock agent"), + kMockAgentSet: Symbol("mock agent set"), + kMockAgentGet: Symbol("mock agent get"), + kMockDispatch: Symbol("mock dispatch"), + kClose: Symbol("close"), + kOriginalClose: Symbol("original agent close"), + kOrigin: Symbol("origin"), + kIsMockActive: Symbol("is mock active"), + kNetConnect: Symbol("net connect"), + kGetNetConnect: Symbol("get net connect"), + kConnected: Symbol("connected"), + }; + }, + 3397: (e, t, r) => { + const { MockNotMatchedError: s } = r(2429); + const { kDispatches: o, kMockAgent: n, kOriginalDispatch: A, kOrigin: i, kGetNetConnect: a } = r(1117); + const { buildURL: c, nop: u } = r(3440); + const { STATUS_CODES: l } = r(8611); + const { + types: { isPromise: g }, + } = r(9023); + function matchValue(e, t) { + if (typeof e === "string") { + return e === t; + } + if (e instanceof RegExp) { + return e.test(t); + } + if (typeof e === "function") { + return e(t) === true; + } + return false; + } + function lowerCaseEntries(e) { + return Object.fromEntries(Object.entries(e).map(([e, t]) => [e.toLocaleLowerCase(), t])); + } + function getHeaderByName(e, t) { + if (Array.isArray(e)) { + for (let r = 0; r < e.length; r += 2) { + if (e[r].toLocaleLowerCase() === t.toLocaleLowerCase()) { + return e[r + 1]; + } + } + return undefined; + } else if (typeof e.get === "function") { + return e.get(t); + } else { + return lowerCaseEntries(e)[t.toLocaleLowerCase()]; + } + } + function buildHeadersFromArray(e) { + const t = e.slice(); + const r = []; + for (let e = 0; e < t.length; e += 2) { + r.push([t[e], t[e + 1]]); + } + return Object.fromEntries(r); + } + function matchHeaders(e, t) { + if (typeof e.headers === "function") { + if (Array.isArray(t)) { + t = buildHeadersFromArray(t); + } + return e.headers(t ? lowerCaseEntries(t) : {}); + } + if (typeof e.headers === "undefined") { + return true; + } + if (typeof t !== "object" || typeof e.headers !== "object") { + return false; + } + for (const [r, s] of Object.entries(e.headers)) { + const e = getHeaderByName(t, r); + if (!matchValue(s, e)) { + return false; + } + } + return true; + } + function safeUrl(e) { + if (typeof e !== "string") { + return e; + } + const t = e.split("?"); + if (t.length !== 2) { + return e; + } + const r = new URLSearchParams(t.pop()); + r.sort(); + return [...t, r.toString()].join("?"); + } + function matchKey(e, { path: t, method: r, body: s, headers: o }) { + const n = matchValue(e.path, t); + const A = matchValue(e.method, r); + const i = typeof e.body !== "undefined" ? matchValue(e.body, s) : true; + const a = matchHeaders(e, o); + return n && A && i && a; + } + function getResponseData(e) { + if (Buffer.isBuffer(e)) { + return e; + } else if (typeof e === "object") { + return JSON.stringify(e); + } else { + return e.toString(); + } + } + function getMockDispatch(e, t) { + const r = t.query ? c(t.path, t.query) : t.path; + const o = typeof r === "string" ? safeUrl(r) : r; + let n = e.filter(({ consumed: e }) => !e).filter(({ path: e }) => matchValue(safeUrl(e), o)); + if (n.length === 0) { + throw new s(`Mock dispatch not matched for path '${o}'`); + } + n = n.filter(({ method: e }) => matchValue(e, t.method)); + if (n.length === 0) { + throw new s(`Mock dispatch not matched for method '${t.method}'`); + } + n = n.filter(({ body: e }) => (typeof e !== "undefined" ? matchValue(e, t.body) : true)); + if (n.length === 0) { + throw new s(`Mock dispatch not matched for body '${t.body}'`); + } + n = n.filter((e) => matchHeaders(e, t.headers)); + if (n.length === 0) { + throw new s(`Mock dispatch not matched for headers '${typeof t.headers === "object" ? JSON.stringify(t.headers) : t.headers}'`); + } + return n[0]; + } + function addMockDispatch(e, t, r) { + const s = { timesInvoked: 0, times: 1, persist: false, consumed: false }; + const o = typeof r === "function" ? { callback: r } : { ...r }; + const n = { ...s, ...t, pending: true, data: { error: null, ...o } }; + e.push(n); + return n; + } + function deleteMockDispatch(e, t) { + const r = e.findIndex((e) => { + if (!e.consumed) { + return false; + } + return matchKey(e, t); + }); + if (r !== -1) { + e.splice(r, 1); + } + } + function buildKey(e) { + const { path: t, method: r, body: s, headers: o, query: n } = e; + return { path: t, method: r, body: s, headers: o, query: n }; + } + function generateKeyValues(e) { + return Object.entries(e).reduce( + (e, [t, r]) => [...e, Buffer.from(`${t}`), Array.isArray(r) ? r.map((e) => Buffer.from(`${e}`)) : Buffer.from(`${r}`)], + [] + ); + } + function getStatusText(e) { + return l[e] || "unknown"; + } + async function getResponse(e) { + const t = []; + for await (const r of e) { + t.push(r); + } + return Buffer.concat(t).toString("utf8"); + } + function mockDispatch(e, t) { + const r = buildKey(e); + const s = getMockDispatch(this[o], r); + s.timesInvoked++; + if (s.data.callback) { + s.data = { ...s.data, ...s.data.callback(e) }; + } + const { + data: { statusCode: n, data: A, headers: i, trailers: a, error: c }, + delay: l, + persist: p, + } = s; + const { timesInvoked: d, times: E } = s; + s.consumed = !p && d >= E; + s.pending = d < E; + if (c !== null) { + deleteMockDispatch(this[o], r); + t.onError(c); + return true; + } + if (typeof l === "number" && l > 0) { + setTimeout(() => { + handleReply(this[o]); + }, l); + } else { + handleReply(this[o]); + } + function handleReply(s, o = A) { + const c = Array.isArray(e.headers) ? buildHeadersFromArray(e.headers) : e.headers; + const l = typeof o === "function" ? o({ ...e, headers: c }) : o; + if (g(l)) { + l.then((e) => handleReply(s, e)); + return; + } + const p = getResponseData(l); + const d = generateKeyValues(i); + const E = generateKeyValues(a); + t.abort = u; + t.onHeaders(n, d, resume, getStatusText(n)); + t.onData(Buffer.from(p)); + t.onComplete(E); + deleteMockDispatch(s, r); + } + function resume() {} + return true; + } + function buildMockDispatch() { + const e = this[n]; + const t = this[i]; + const r = this[A]; + return function dispatch(o, n) { + if (e.isMockActive) { + try { + mockDispatch.call(this, o, n); + } catch (A) { + if (A instanceof s) { + const i = e[a](); + if (i === false) { + throw new s(`${A.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`); + } + if (checkNetConnect(i, t)) { + r.call(this, o, n); + } else { + throw new s(`${A.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`); + } + } else { + throw A; + } + } + } else { + r.call(this, o, n); + } + }; + } + function checkNetConnect(e, t) { + const r = new URL(t); + if (e === true) { + return true; + } else if (Array.isArray(e) && e.some((e) => matchValue(e, r.host))) { + return true; + } + return false; + } + function buildMockOptions(e) { + if (e) { + const { agent: t, ...r } = e; + return r; + } + } + e.exports = { + getResponseData: getResponseData, + getMockDispatch: getMockDispatch, + addMockDispatch: addMockDispatch, + deleteMockDispatch: deleteMockDispatch, + buildKey: buildKey, + generateKeyValues: generateKeyValues, + matchValue: matchValue, + getResponse: getResponse, + getStatusText: getStatusText, + mockDispatch: mockDispatch, + buildMockDispatch: buildMockDispatch, + checkNetConnect: checkNetConnect, + buildMockOptions: buildMockOptions, + getHeaderByName: getHeaderByName, + }; + }, + 6142: (e, t, r) => { + const { Transform: s } = r(2203); + const { Console: o } = r(4236); + e.exports = class PendingInterceptorsFormatter { + constructor({ disableColors: e } = {}) { + this.transform = new s({ + transform(e, t, r) { + r(null, e); + }, + }); + this.logger = new o({ stdout: this.transform, inspectOptions: { colors: !e && !process.env.CI } }); + } + format(e) { + const t = e.map(({ method: e, path: t, data: { statusCode: r }, persist: s, times: o, timesInvoked: n, origin: A }) => ({ + Method: e, + Origin: A, + Path: t, + "Status code": r, + Persistent: s ? "✅" : "❌", + Invocations: n, + Remaining: s ? Infinity : o - n, + })); + this.logger.table(t); + return this.transform.read().toString(); + } + }; + }, + 1529: (e) => { + const t = { pronoun: "it", is: "is", was: "was", this: "this" }; + const r = { pronoun: "they", is: "are", was: "were", this: "these" }; + e.exports = class Pluralizer { + constructor(e, t) { + this.singular = e; + this.plural = t; + } + pluralize(e) { + const s = e === 1; + const o = s ? t : r; + const n = s ? this.singular : this.plural; + return { ...o, count: e, noun: n }; + } + }; + }, + 4869: (e) => { + const t = 2048; + const r = t - 1; + class FixedCircularBuffer { + constructor() { + this.bottom = 0; + this.top = 0; + this.list = new Array(t); + this.next = null; + } + isEmpty() { + return this.top === this.bottom; + } + isFull() { + return ((this.top + 1) & r) === this.bottom; + } + push(e) { + this.list[this.top] = e; + this.top = (this.top + 1) & r; + } + shift() { + const e = this.list[this.bottom]; + if (e === undefined) return null; + this.list[this.bottom] = undefined; + this.bottom = (this.bottom + 1) & r; + return e; + } + } + e.exports = class FixedQueue { + constructor() { + this.head = this.tail = new FixedCircularBuffer(); + } + isEmpty() { + return this.head.isEmpty(); + } + push(e) { + if (this.head.isFull()) { + this.head = this.head.next = new FixedCircularBuffer(); + } + this.head.push(e); + } + shift() { + const e = this.tail; + const t = e.shift(); + if (e.isEmpty() && e.next !== null) { + this.tail = e.next; + } + return t; + } + }; + }, + 8640: (e, t, r) => { + const s = r(1); + const o = r(4869); + const { kConnected: n, kSize: A, kRunning: i, kPending: a, kQueued: c, kBusy: u, kFree: l, kUrl: g, kClose: p, kDestroy: d, kDispatch: E } = r(6443); + const h = r(4622); + const I = Symbol("clients"); + const C = Symbol("needDrain"); + const m = Symbol("queue"); + const Q = Symbol("closed resolve"); + const B = Symbol("onDrain"); + const y = Symbol("onConnect"); + const b = Symbol("onDisconnect"); + const w = Symbol("onConnectionError"); + const R = Symbol("get dispatcher"); + const T = Symbol("add client"); + const k = Symbol("remove client"); + const D = Symbol("stats"); + class PoolBase extends s { + constructor() { + super(); + this[m] = new o(); + this[I] = []; + this[c] = 0; + const e = this; + this[B] = function onDrain(t, r) { + const s = e[m]; + let o = false; + while (!o) { + const t = s.shift(); + if (!t) { + break; + } + e[c]--; + o = !this.dispatch(t.opts, t.handler); + } + this[C] = o; + if (!this[C] && e[C]) { + e[C] = false; + e.emit("drain", t, [e, ...r]); + } + if (e[Q] && s.isEmpty()) { + Promise.all(e[I].map((e) => e.close())).then(e[Q]); + } + }; + this[y] = (t, r) => { + e.emit("connect", t, [e, ...r]); + }; + this[b] = (t, r, s) => { + e.emit("disconnect", t, [e, ...r], s); + }; + this[w] = (t, r, s) => { + e.emit("connectionError", t, [e, ...r], s); + }; + this[D] = new h(this); + } + get [u]() { + return this[C]; + } + get [n]() { + return this[I].filter((e) => e[n]).length; + } + get [l]() { + return this[I].filter((e) => e[n] && !e[C]).length; + } + get [a]() { + let e = this[c]; + for (const { [a]: t } of this[I]) { + e += t; + } + return e; + } + get [i]() { + let e = 0; + for (const { [i]: t } of this[I]) { + e += t; + } + return e; + } + get [A]() { + let e = this[c]; + for (const { [A]: t } of this[I]) { + e += t; + } + return e; + } + get stats() { + return this[D]; + } + async [p]() { + if (this[m].isEmpty()) { + return Promise.all(this[I].map((e) => e.close())); + } else { + return new Promise((e) => { + this[Q] = e; + }); + } + } + async [d](e) { + while (true) { + const t = this[m].shift(); + if (!t) { + break; + } + t.handler.onError(e); + } + return Promise.all(this[I].map((t) => t.destroy(e))); + } + [E](e, t) { + const r = this[R](); + if (!r) { + this[C] = true; + this[m].push({ opts: e, handler: t }); + this[c]++; + } else if (!r.dispatch(e, t)) { + r[C] = true; + this[C] = !this[R](); + } + return !this[C]; + } + [T](e) { + e.on("drain", this[B]).on("connect", this[y]).on("disconnect", this[b]).on("connectionError", this[w]); + this[I].push(e); + if (this[C]) { + process.nextTick(() => { + if (this[C]) { + this[B](e[g], [this, e]); + } + }); + } + return this; + } + [k](e) { + e.close(() => { + const t = this[I].indexOf(e); + if (t !== -1) { + this[I].splice(t, 1); + } + }); + this[C] = this[I].some((e) => !e[C] && e.closed !== true && e.destroyed !== true); + } + } + e.exports = { PoolBase: PoolBase, kClients: I, kNeedDrain: C, kAddClient: T, kRemoveClient: k, kGetDispatcher: R }; + }, + 4622: (e, t, r) => { + const { kFree: s, kConnected: o, kPending: n, kQueued: A, kRunning: i, kSize: a } = r(6443); + const c = Symbol("pool"); + class PoolStats { + constructor(e) { + this[c] = e; + } + get connected() { + return this[c][o]; + } + get free() { + return this[c][s]; + } + get pending() { + return this[c][n]; + } + get queued() { + return this[c][A]; + } + get running() { + return this[c][i]; + } + get size() { + return this[c][a]; + } + } + e.exports = PoolStats; + }, + 5076: (e, t, r) => { + const { PoolBase: s, kClients: o, kNeedDrain: n, kAddClient: A, kGetDispatcher: i } = r(8640); + const a = r(6197); + const { InvalidArgumentError: c } = r(8707); + const u = r(3440); + const { kUrl: l, kInterceptors: g } = r(6443); + const p = r(9136); + const d = Symbol("options"); + const E = Symbol("connections"); + const h = Symbol("factory"); + function defaultFactory(e, t) { + return new a(e, t); + } + class Pool extends s { + constructor( + e, + { + connections: t, + factory: r = defaultFactory, + connect: s, + connectTimeout: o, + tls: n, + maxCachedSessions: A, + socketPath: i, + autoSelectFamily: a, + autoSelectFamilyAttemptTimeout: I, + allowH2: C, + ...m + } = {} + ) { + super(); + if (t != null && (!Number.isFinite(t) || t < 0)) { + throw new c("invalid connections"); + } + if (typeof r !== "function") { + throw new c("factory must be a function."); + } + if (s != null && typeof s !== "function" && typeof s !== "object") { + throw new c("connect must be a function or an object"); + } + if (typeof s !== "function") { + s = p({ + ...n, + maxCachedSessions: A, + allowH2: C, + socketPath: i, + timeout: o, + ...(u.nodeHasAutoSelectFamily && a ? { autoSelectFamily: a, autoSelectFamilyAttemptTimeout: I } : undefined), + ...s, + }); + } + this[g] = m.interceptors && m.interceptors.Pool && Array.isArray(m.interceptors.Pool) ? m.interceptors.Pool : []; + this[E] = t || null; + this[l] = u.parseOrigin(e); + this[d] = { ...u.deepClone(m), connect: s, allowH2: C }; + this[d].interceptors = m.interceptors ? { ...m.interceptors } : undefined; + this[h] = r; + } + [i]() { + let e = this[o].find((e) => !e[n]); + if (e) { + return e; + } + if (!this[E] || this[o].length < this[E]) { + e = this[h](this[l], this[d]); + this[A](e); + } + return e; + } + } + e.exports = Pool; + }, + 2720: (e, t, r) => { + const { kProxy: s, kClose: o, kDestroy: n, kInterceptors: A } = r(6443); + const { URL: i } = r(7016); + const a = r(9965); + const c = r(5076); + const u = r(1); + const { InvalidArgumentError: l, RequestAbortedError: g } = r(8707); + const p = r(9136); + const d = Symbol("proxy agent"); + const E = Symbol("proxy client"); + const h = Symbol("proxy headers"); + const I = Symbol("request tls settings"); + const C = Symbol("proxy tls settings"); + const m = Symbol("connect endpoint function"); + function defaultProtocolPort(e) { + return e === "https:" ? 443 : 80; + } + function buildProxyOptions(e) { + if (typeof e === "string") { + e = { uri: e }; + } + if (!e || !e.uri) { + throw new l("Proxy opts.uri is mandatory"); + } + return { uri: e.uri, protocol: e.protocol || "https" }; + } + function defaultFactory(e, t) { + return new c(e, t); + } + class ProxyAgent extends u { + constructor(e) { + super(e); + this[s] = buildProxyOptions(e); + this[d] = new a(e); + this[A] = e.interceptors && e.interceptors.ProxyAgent && Array.isArray(e.interceptors.ProxyAgent) ? e.interceptors.ProxyAgent : []; + if (typeof e === "string") { + e = { uri: e }; + } + if (!e || !e.uri) { + throw new l("Proxy opts.uri is mandatory"); + } + const { clientFactory: t = defaultFactory } = e; + if (typeof t !== "function") { + throw new l("Proxy opts.clientFactory must be a function."); + } + this[I] = e.requestTls; + this[C] = e.proxyTls; + this[h] = e.headers || {}; + const r = new i(e.uri); + const { origin: o, port: n, host: c, username: u, password: Q } = r; + if (e.auth && e.token) { + throw new l("opts.auth cannot be used in combination with opts.token"); + } else if (e.auth) { + this[h]["proxy-authorization"] = `Basic ${e.auth}`; + } else if (e.token) { + this[h]["proxy-authorization"] = e.token; + } else if (u && Q) { + this[h]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(u)}:${decodeURIComponent(Q)}`).toString("base64")}`; + } + const B = p({ ...e.proxyTls }); + this[m] = p({ ...e.requestTls }); + this[E] = t(r, { connect: B }); + this[d] = new a({ + ...e, + connect: async (e, t) => { + let r = e.host; + if (!e.port) { + r += `:${defaultProtocolPort(e.protocol)}`; + } + try { + const { socket: s, statusCode: A } = await this[E].connect({ origin: o, port: n, path: r, signal: e.signal, headers: { ...this[h], host: c } }); + if (A !== 200) { + s.on("error", () => {}).destroy(); + t(new g(`Proxy response (${A}) !== 200 when HTTP Tunneling`)); + } + if (e.protocol !== "https:") { + t(null, s); + return; + } + let i; + if (this[I]) { + i = this[I].servername; + } else { + i = e.servername; + } + this[m]({ ...e, servername: i, httpSocket: s }, t); + } catch (e) { + t(e); + } + }, + }); + } + dispatch(e, t) { + const { host: r } = new i(e.origin); + const s = buildHeaders(e.headers); + throwIfProxyAuthIsSent(s); + return this[d].dispatch({ ...e, headers: { ...s, host: r } }, t); + } + async [o]() { + await this[d].close(); + await this[E].close(); + } + async [n]() { + await this[d].destroy(); + await this[E].destroy(); + } + } + function buildHeaders(e) { + if (Array.isArray(e)) { + const t = {}; + for (let r = 0; r < e.length; r += 2) { + t[e[r]] = e[r + 1]; + } + return t; + } + return e; + } + function throwIfProxyAuthIsSent(e) { + const t = e && Object.keys(e).find((e) => e.toLowerCase() === "proxy-authorization"); + if (t) { + throw new l("Proxy-Authorization should be sent in ProxyAgent constructor"); + } + } + e.exports = ProxyAgent; + }, + 8804: (e) => { + let t = Date.now(); + let r; + const s = []; + function onTimeout() { + t = Date.now(); + let e = s.length; + let r = 0; + while (r < e) { + const o = s[r]; + if (o.state === 0) { + o.state = t + o.delay; + } else if (o.state > 0 && t >= o.state) { + o.state = -1; + o.callback(o.opaque); + } + if (o.state === -1) { + o.state = -2; + if (r !== e - 1) { + s[r] = s.pop(); + } else { + s.pop(); + } + e -= 1; + } else { + r += 1; + } + } + if (s.length > 0) { + refreshTimeout(); + } + } + function refreshTimeout() { + if (r && r.refresh) { + r.refresh(); + } else { + clearTimeout(r); + r = setTimeout(onTimeout, 1e3); + if (r.unref) { + r.unref(); + } + } + } + class Timeout { + constructor(e, t, r) { + this.callback = e; + this.delay = t; + this.opaque = r; + this.state = -2; + this.refresh(); + } + refresh() { + if (this.state === -2) { + s.push(this); + if (!r || s.length === 1) { + refreshTimeout(); + } + } + this.state = 0; + } + clear() { + this.state = -1; + } + } + e.exports = { + setTimeout(e, t, r) { + return t < 1e3 ? setTimeout(e, t, r) : new Timeout(e, t, r); + }, + clearTimeout(e) { + if (e instanceof Timeout) { + e.clear(); + } else { + clearTimeout(e); + } + }, + }; + }, + 8550: (e, t, r) => { + const s = r(1637); + const { uid: o, states: n } = r(5913); + const { kReadyState: A, kSentClose: i, kByteParser: a, kReceivedClose: c } = r(2933); + const { fireEvent: u, failWebsocketConnection: l } = r(3574); + const { CloseEvent: g } = r(6255); + const { makeRequest: p } = r(5194); + const { fetching: d } = r(2315); + const { Headers: E } = r(6349); + const { getGlobalDispatcher: h } = r(2581); + const { kHeadersList: I } = r(6443); + const C = {}; + C.open = s.channel("undici:websocket:open"); + C.close = s.channel("undici:websocket:close"); + C.socketError = s.channel("undici:websocket:socket_error"); + let m; + try { + m = r(6982); + } catch {} + function establishWebSocketConnection(e, t, r, s, n) { + const A = e; + A.protocol = e.protocol === "ws:" ? "http:" : "https:"; + const i = p({ + urlList: [A], + serviceWorkers: "none", + referrer: "no-referrer", + mode: "websocket", + credentials: "include", + cache: "no-store", + redirect: "error", + }); + if (n.headers) { + const e = new E(n.headers)[I]; + i.headersList = e; + } + const a = m.randomBytes(16).toString("base64"); + i.headersList.append("sec-websocket-key", a); + i.headersList.append("sec-websocket-version", "13"); + for (const e of t) { + i.headersList.append("sec-websocket-protocol", e); + } + const c = ""; + const u = d({ + request: i, + useParallelQueue: true, + dispatcher: n.dispatcher ?? h(), + processResponse(e) { + if (e.type === "error" || e.status !== 101) { + l(r, "Received network error or non-101 status code."); + return; + } + if (t.length !== 0 && !e.headersList.get("Sec-WebSocket-Protocol")) { + l(r, "Server did not respond with sent protocols."); + return; + } + if (e.headersList.get("Upgrade")?.toLowerCase() !== "websocket") { + l(r, 'Server did not set Upgrade header to "websocket".'); + return; + } + if (e.headersList.get("Connection")?.toLowerCase() !== "upgrade") { + l(r, 'Server did not set Connection header to "upgrade".'); + return; + } + const n = e.headersList.get("Sec-WebSocket-Accept"); + const A = m + .createHash("sha1") + .update(a + o) + .digest("base64"); + if (n !== A) { + l(r, "Incorrect hash received in Sec-WebSocket-Accept header."); + return; + } + const u = e.headersList.get("Sec-WebSocket-Extensions"); + if (u !== null && u !== c) { + l(r, "Received different permessage-deflate than the one set."); + return; + } + const g = e.headersList.get("Sec-WebSocket-Protocol"); + if (g !== null && g !== i.headersList.get("Sec-WebSocket-Protocol")) { + l(r, "Protocol was not set in the opening handshake."); + return; + } + e.socket.on("data", onSocketData); + e.socket.on("close", onSocketClose); + e.socket.on("error", onSocketError); + if (C.open.hasSubscribers) { + C.open.publish({ address: e.socket.address(), protocol: g, extensions: u }); + } + s(e); + }, + }); + return u; + } + function onSocketData(e) { + if (!this.ws[a].write(e)) { + this.pause(); + } + } + function onSocketClose() { + const { ws: e } = this; + const t = e[i] && e[c]; + let r = 1005; + let s = ""; + const o = e[a].closingInfo; + if (o) { + r = o.code ?? 1005; + s = o.reason; + } else if (!e[i]) { + r = 1006; + } + e[A] = n.CLOSED; + u("close", e, g, { wasClean: t, code: r, reason: s }); + if (C.close.hasSubscribers) { + C.close.publish({ websocket: e, code: r, reason: s }); + } + } + function onSocketError(e) { + const { ws: t } = this; + t[A] = n.CLOSING; + if (C.socketError.hasSubscribers) { + C.socketError.publish(e); + } + this.destroy(); + } + e.exports = { establishWebSocketConnection: establishWebSocketConnection }; + }, + 5913: (e) => { + const t = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + const r = { enumerable: true, writable: false, configurable: false }; + const s = { CONNECTING: 0, OPEN: 1, CLOSING: 2, CLOSED: 3 }; + const o = { CONTINUATION: 0, TEXT: 1, BINARY: 2, CLOSE: 8, PING: 9, PONG: 10 }; + const n = 2 ** 16 - 1; + const A = { INFO: 0, PAYLOADLENGTH_16: 2, PAYLOADLENGTH_64: 3, READ_DATA: 4 }; + const i = Buffer.allocUnsafe(0); + e.exports = { uid: t, staticPropertyDescriptors: r, states: s, opcodes: o, maxUnsigned16Bit: n, parserStates: A, emptyBuffer: i }; + }, + 6255: (e, t, r) => { + const { webidl: s } = r(4222); + const { kEnumerableProperty: o } = r(3440); + const { MessagePort: n } = r(8167); + class MessageEvent extends Event { + #n; + constructor(e, t = {}) { + s.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); + e = s.converters.DOMString(e); + t = s.converters.MessageEventInit(t); + super(e, t); + this.#n = t; + } + get data() { + s.brandCheck(this, MessageEvent); + return this.#n.data; + } + get origin() { + s.brandCheck(this, MessageEvent); + return this.#n.origin; + } + get lastEventId() { + s.brandCheck(this, MessageEvent); + return this.#n.lastEventId; + } + get source() { + s.brandCheck(this, MessageEvent); + return this.#n.source; + } + get ports() { + s.brandCheck(this, MessageEvent); + if (!Object.isFrozen(this.#n.ports)) { + Object.freeze(this.#n.ports); + } + return this.#n.ports; + } + initMessageEvent(e, t = false, r = false, o = null, n = "", A = "", i = null, a = []) { + s.brandCheck(this, MessageEvent); + s.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" }); + return new MessageEvent(e, { bubbles: t, cancelable: r, data: o, origin: n, lastEventId: A, source: i, ports: a }); + } + } + class CloseEvent extends Event { + #n; + constructor(e, t = {}) { + s.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); + e = s.converters.DOMString(e); + t = s.converters.CloseEventInit(t); + super(e, t); + this.#n = t; + } + get wasClean() { + s.brandCheck(this, CloseEvent); + return this.#n.wasClean; + } + get code() { + s.brandCheck(this, CloseEvent); + return this.#n.code; + } + get reason() { + s.brandCheck(this, CloseEvent); + return this.#n.reason; + } + } + class ErrorEvent extends Event { + #n; + constructor(e, t) { + s.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); + super(e, t); + e = s.converters.DOMString(e); + t = s.converters.ErrorEventInit(t ?? {}); + this.#n = t; + } + get message() { + s.brandCheck(this, ErrorEvent); + return this.#n.message; + } + get filename() { + s.brandCheck(this, ErrorEvent); + return this.#n.filename; + } + get lineno() { + s.brandCheck(this, ErrorEvent); + return this.#n.lineno; + } + get colno() { + s.brandCheck(this, ErrorEvent); + return this.#n.colno; + } + get error() { + s.brandCheck(this, ErrorEvent); + return this.#n.error; + } + } + Object.defineProperties(MessageEvent.prototype, { + [Symbol.toStringTag]: { value: "MessageEvent", configurable: true }, + data: o, + origin: o, + lastEventId: o, + source: o, + ports: o, + initMessageEvent: o, + }); + Object.defineProperties(CloseEvent.prototype, { [Symbol.toStringTag]: { value: "CloseEvent", configurable: true }, reason: o, code: o, wasClean: o }); + Object.defineProperties(ErrorEvent.prototype, { + [Symbol.toStringTag]: { value: "ErrorEvent", configurable: true }, + message: o, + filename: o, + lineno: o, + colno: o, + error: o, + }); + s.converters.MessagePort = s.interfaceConverter(n); + s.converters["sequence"] = s.sequenceConverter(s.converters.MessagePort); + const A = [ + { key: "bubbles", converter: s.converters.boolean, defaultValue: false }, + { key: "cancelable", converter: s.converters.boolean, defaultValue: false }, + { key: "composed", converter: s.converters.boolean, defaultValue: false }, + ]; + s.converters.MessageEventInit = s.dictionaryConverter([ + ...A, + { key: "data", converter: s.converters.any, defaultValue: null }, + { key: "origin", converter: s.converters.USVString, defaultValue: "" }, + { key: "lastEventId", converter: s.converters.DOMString, defaultValue: "" }, + { key: "source", converter: s.nullableConverter(s.converters.MessagePort), defaultValue: null }, + { + key: "ports", + converter: s.converters["sequence"], + get defaultValue() { + return []; + }, + }, + ]); + s.converters.CloseEventInit = s.dictionaryConverter([ + ...A, + { key: "wasClean", converter: s.converters.boolean, defaultValue: false }, + { key: "code", converter: s.converters["unsigned short"], defaultValue: 0 }, + { key: "reason", converter: s.converters.USVString, defaultValue: "" }, + ]); + s.converters.ErrorEventInit = s.dictionaryConverter([ + ...A, + { key: "message", converter: s.converters.DOMString, defaultValue: "" }, + { key: "filename", converter: s.converters.USVString, defaultValue: "" }, + { key: "lineno", converter: s.converters["unsigned long"], defaultValue: 0 }, + { key: "colno", converter: s.converters["unsigned long"], defaultValue: 0 }, + { key: "error", converter: s.converters.any }, + ]); + e.exports = { MessageEvent: MessageEvent, CloseEvent: CloseEvent, ErrorEvent: ErrorEvent }; + }, + 1237: (e, t, r) => { + const { maxUnsigned16Bit: s } = r(5913); + let o; + try { + o = r(6982); + } catch {} + class WebsocketFrameSend { + constructor(e) { + this.frameData = e; + this.maskKey = o.randomBytes(4); + } + createFrame(e) { + const t = this.frameData?.byteLength ?? 0; + let r = t; + let o = 6; + if (t > s) { + o += 8; + r = 127; + } else if (t > 125) { + o += 2; + r = 126; + } + const n = Buffer.allocUnsafe(t + o); + n[0] = n[1] = 0; + n[0] |= 128; + n[0] = (n[0] & 240) + e; + /*! ws. MIT License. Einar Otto Stangvik */ n[o - 4] = this.maskKey[0]; + n[o - 3] = this.maskKey[1]; + n[o - 2] = this.maskKey[2]; + n[o - 1] = this.maskKey[3]; + n[1] = r; + if (r === 126) { + n.writeUInt16BE(t, 2); + } else if (r === 127) { + n[2] = n[3] = 0; + n.writeUIntBE(t, 4, 6); + } + n[1] |= 128; + for (let e = 0; e < t; e++) { + n[o + e] = this.frameData[e] ^ this.maskKey[e % 4]; + } + return n; + } + } + e.exports = { WebsocketFrameSend: WebsocketFrameSend }; + }, + 3171: (e, t, r) => { + const { Writable: s } = r(2203); + const o = r(1637); + const { parserStates: n, opcodes: A, states: i, emptyBuffer: a } = r(5913); + const { kReadyState: c, kSentClose: u, kResponse: l, kReceivedClose: g } = r(2933); + const { isValidStatusCode: p, failWebsocketConnection: d, websocketMessageReceived: E } = r(3574); + const { WebsocketFrameSend: h } = r(1237); + const I = {}; + I.ping = o.channel("undici:websocket:ping"); + I.pong = o.channel("undici:websocket:pong"); + class ByteParser extends s { + #A = []; + #i = 0; + #a = n.INFO; + #c = {}; + #u = []; + constructor(e) { + super(); + this.ws = e; + } + _write(e, t, r) { + this.#A.push(e); + this.#i += e.length; + this.run(r); + } + run(e) { + while (true) { + if (this.#a === n.INFO) { + if (this.#i < 2) { + return e(); + } + const t = this.consume(2); + this.#c.fin = (t[0] & 128) !== 0; + this.#c.opcode = t[0] & 15; + this.#c.originalOpcode ??= this.#c.opcode; + this.#c.fragmented = !this.#c.fin && this.#c.opcode !== A.CONTINUATION; + if (this.#c.fragmented && this.#c.opcode !== A.BINARY && this.#c.opcode !== A.TEXT) { + d(this.ws, "Invalid frame type was fragmented."); + return; + } + const r = t[1] & 127; + if (r <= 125) { + this.#c.payloadLength = r; + this.#a = n.READ_DATA; + } else if (r === 126) { + this.#a = n.PAYLOADLENGTH_16; + } else if (r === 127) { + this.#a = n.PAYLOADLENGTH_64; + } + if (this.#c.fragmented && r > 125) { + d(this.ws, "Fragmented frame exceeded 125 bytes."); + return; + } else if ((this.#c.opcode === A.PING || this.#c.opcode === A.PONG || this.#c.opcode === A.CLOSE) && r > 125) { + d(this.ws, "Payload length for control frame exceeded 125 bytes."); + return; + } else if (this.#c.opcode === A.CLOSE) { + if (r === 1) { + d(this.ws, "Received close frame with a 1-byte body."); + return; + } + const e = this.consume(r); + this.#c.closeInfo = this.parseCloseBody(false, e); + if (!this.ws[u]) { + const e = Buffer.allocUnsafe(2); + e.writeUInt16BE(this.#c.closeInfo.code, 0); + const t = new h(e); + this.ws[l].socket.write(t.createFrame(A.CLOSE), (e) => { + if (!e) { + this.ws[u] = true; + } + }); + } + this.ws[c] = i.CLOSING; + this.ws[g] = true; + this.end(); + return; + } else if (this.#c.opcode === A.PING) { + const t = this.consume(r); + if (!this.ws[g]) { + const e = new h(t); + this.ws[l].socket.write(e.createFrame(A.PONG)); + if (I.ping.hasSubscribers) { + I.ping.publish({ payload: t }); + } + } + this.#a = n.INFO; + if (this.#i > 0) { + continue; + } else { + e(); + return; + } + } else if (this.#c.opcode === A.PONG) { + const t = this.consume(r); + if (I.pong.hasSubscribers) { + I.pong.publish({ payload: t }); + } + if (this.#i > 0) { + continue; + } else { + e(); + return; + } + } + } else if (this.#a === n.PAYLOADLENGTH_16) { + if (this.#i < 2) { + return e(); + } + const t = this.consume(2); + this.#c.payloadLength = t.readUInt16BE(0); + this.#a = n.READ_DATA; + } else if (this.#a === n.PAYLOADLENGTH_64) { + if (this.#i < 8) { + return e(); + } + const t = this.consume(8); + const r = t.readUInt32BE(0); + if (r > 2 ** 31 - 1) { + d(this.ws, "Received payload length > 2^31 bytes."); + return; + } + const s = t.readUInt32BE(4); + this.#c.payloadLength = (r << 8) + s; + this.#a = n.READ_DATA; + } else if (this.#a === n.READ_DATA) { + if (this.#i < this.#c.payloadLength) { + return e(); + } else if (this.#i >= this.#c.payloadLength) { + const e = this.consume(this.#c.payloadLength); + this.#u.push(e); + if (!this.#c.fragmented || (this.#c.fin && this.#c.opcode === A.CONTINUATION)) { + const e = Buffer.concat(this.#u); + E(this.ws, this.#c.originalOpcode, e); + this.#c = {}; + this.#u.length = 0; + } + this.#a = n.INFO; + } + } + if (this.#i > 0) { + continue; + } else { + e(); + break; + } + } + } + consume(e) { + if (e > this.#i) { + return null; + } else if (e === 0) { + return a; + } + if (this.#A[0].length === e) { + this.#i -= this.#A[0].length; + return this.#A.shift(); + } + const t = Buffer.allocUnsafe(e); + let r = 0; + while (r !== e) { + const s = this.#A[0]; + const { length: o } = s; + if (o + r === e) { + t.set(this.#A.shift(), r); + break; + } else if (o + r > e) { + t.set(s.subarray(0, e - r), r); + this.#A[0] = s.subarray(e - r); + break; + } else { + t.set(this.#A.shift(), r); + r += s.length; + } + } + this.#i -= e; + return t; + } + parseCloseBody(e, t) { + let r; + if (t.length >= 2) { + r = t.readUInt16BE(0); + } + if (e) { + if (!p(r)) { + return null; + } + return { code: r }; + } + let s = t.subarray(2); + if (s[0] === 239 && s[1] === 187 && s[2] === 191) { + s = s.subarray(3); + } + if (r !== undefined && !p(r)) { + return null; + } + try { + s = new TextDecoder("utf-8", { fatal: true }).decode(s); + } catch { + return null; + } + return { code: r, reason: s }; + } + get closingInfo() { + return this.#c.closeInfo; + } + } + e.exports = { ByteParser: ByteParser }; + }, + 2933: (e) => { + e.exports = { + kWebSocketURL: Symbol("url"), + kReadyState: Symbol("ready state"), + kController: Symbol("controller"), + kResponse: Symbol("response"), + kBinaryType: Symbol("binary type"), + kSentClose: Symbol("sent close"), + kReceivedClose: Symbol("received close"), + kByteParser: Symbol("byte parser"), + }; + }, + 3574: (e, t, r) => { + const { kReadyState: s, kController: o, kResponse: n, kBinaryType: A, kWebSocketURL: i } = r(2933); + const { states: a, opcodes: c } = r(5913); + const { MessageEvent: u, ErrorEvent: l } = r(6255); + function isEstablished(e) { + return e[s] === a.OPEN; + } + function isClosing(e) { + return e[s] === a.CLOSING; + } + function isClosed(e) { + return e[s] === a.CLOSED; + } + function fireEvent(e, t, r = Event, s) { + const o = new r(e, s); + t.dispatchEvent(o); + } + function websocketMessageReceived(e, t, r) { + if (e[s] !== a.OPEN) { + return; + } + let o; + if (t === c.TEXT) { + try { + o = new TextDecoder("utf-8", { fatal: true }).decode(r); + } catch { + failWebsocketConnection(e, "Received invalid UTF-8 in text frame."); + return; + } + } else if (t === c.BINARY) { + if (e[A] === "blob") { + o = new Blob([r]); + } else { + o = new Uint8Array(r).buffer; + } + } + fireEvent("message", e, u, { origin: e[i].origin, data: o }); + } + function isValidSubprotocol(e) { + if (e.length === 0) { + return false; + } + for (const t of e) { + const e = t.charCodeAt(0); + if ( + e < 33 || + e > 126 || + t === "(" || + t === ")" || + t === "<" || + t === ">" || + t === "@" || + t === "," || + t === ";" || + t === ":" || + t === "\\" || + t === '"' || + t === "/" || + t === "[" || + t === "]" || + t === "?" || + t === "=" || + t === "{" || + t === "}" || + e === 32 || + e === 9 + ) { + return false; + } + } + return true; + } + function isValidStatusCode(e) { + if (e >= 1e3 && e < 1015) { + return e !== 1004 && e !== 1005 && e !== 1006; + } + return e >= 3e3 && e <= 4999; + } + function failWebsocketConnection(e, t) { + const { [o]: r, [n]: s } = e; + r.abort(); + if (s?.socket && !s.socket.destroyed) { + s.socket.destroy(); + } + if (t) { + fireEvent("error", e, l, { error: new Error(t) }); + } + } + e.exports = { + isEstablished: isEstablished, + isClosing: isClosing, + isClosed: isClosed, + fireEvent: fireEvent, + isValidSubprotocol: isValidSubprotocol, + isValidStatusCode: isValidStatusCode, + failWebsocketConnection: failWebsocketConnection, + websocketMessageReceived: websocketMessageReceived, + }; + }, + 5171: (e, t, r) => { + const { webidl: s } = r(4222); + const { DOMException: o } = r(7326); + const { URLSerializer: n } = r(4322); + const { getGlobalOrigin: A } = r(5628); + const { staticPropertyDescriptors: i, states: a, opcodes: c, emptyBuffer: u } = r(5913); + const { kWebSocketURL: l, kReadyState: g, kController: p, kBinaryType: d, kResponse: E, kSentClose: h, kByteParser: I } = r(2933); + const { isEstablished: C, isClosing: m, isValidSubprotocol: Q, failWebsocketConnection: B, fireEvent: y } = r(3574); + const { establishWebSocketConnection: b } = r(8550); + const { WebsocketFrameSend: w } = r(1237); + const { ByteParser: R } = r(3171); + const { kEnumerableProperty: T, isBlobLike: k } = r(3440); + const { getGlobalDispatcher: D } = r(2581); + const { types: _ } = r(9023); + let F = false; + class WebSocket extends EventTarget { + #l = { open: null, error: null, close: null, message: null }; + #g = 0; + #p = ""; + #d = ""; + constructor(e, t = []) { + super(); + s.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" }); + if (!F) { + F = true; + process.emitWarning("WebSockets are experimental, expect them to change at any time.", { code: "UNDICI-WS" }); + } + const r = s.converters["DOMString or sequence or WebSocketInit"](t); + e = s.converters.USVString(e); + t = r.protocols; + const n = A(); + let i; + try { + i = new URL(e, n); + } catch (e) { + throw new o(e, "SyntaxError"); + } + if (i.protocol === "http:") { + i.protocol = "ws:"; + } else if (i.protocol === "https:") { + i.protocol = "wss:"; + } + if (i.protocol !== "ws:" && i.protocol !== "wss:") { + throw new o(`Expected a ws: or wss: protocol, got ${i.protocol}`, "SyntaxError"); + } + if (i.hash || i.href.endsWith("#")) { + throw new o("Got fragment", "SyntaxError"); + } + if (typeof t === "string") { + t = [t]; + } + if (t.length !== new Set(t.map((e) => e.toLowerCase())).size) { + throw new o("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + } + if (t.length > 0 && !t.every((e) => Q(e))) { + throw new o("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); + } + this[l] = new URL(i.href); + this[p] = b(i, t, this, (e) => this.#E(e), r); + this[g] = WebSocket.CONNECTING; + this[d] = "blob"; + } + close(e = undefined, t = undefined) { + s.brandCheck(this, WebSocket); + if (e !== undefined) { + e = s.converters["unsigned short"](e, { clamp: true }); + } + if (t !== undefined) { + t = s.converters.USVString(t); + } + if (e !== undefined) { + if (e !== 1e3 && (e < 3e3 || e > 4999)) { + throw new o("invalid code", "InvalidAccessError"); + } + } + let r = 0; + if (t !== undefined) { + r = Buffer.byteLength(t); + if (r > 123) { + throw new o(`Reason must be less than 123 bytes; received ${r}`, "SyntaxError"); + } + } + if (this[g] === WebSocket.CLOSING || this[g] === WebSocket.CLOSED) { + } else if (!C(this)) { + B(this, "Connection was closed before it was established."); + this[g] = WebSocket.CLOSING; + } else if (!m(this)) { + const s = new w(); + if (e !== undefined && t === undefined) { + s.frameData = Buffer.allocUnsafe(2); + s.frameData.writeUInt16BE(e, 0); + } else if (e !== undefined && t !== undefined) { + s.frameData = Buffer.allocUnsafe(2 + r); + s.frameData.writeUInt16BE(e, 0); + s.frameData.write(t, 2, "utf-8"); + } else { + s.frameData = u; + } + const o = this[E].socket; + o.write(s.createFrame(c.CLOSE), (e) => { + if (!e) { + this[h] = true; + } + }); + this[g] = a.CLOSING; + } else { + this[g] = WebSocket.CLOSING; + } + } + send(e) { + s.brandCheck(this, WebSocket); + s.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" }); + e = s.converters.WebSocketSendData(e); + if (this[g] === WebSocket.CONNECTING) { + throw new o("Sent before connected.", "InvalidStateError"); + } + if (!C(this) || m(this)) { + return; + } + const t = this[E].socket; + if (typeof e === "string") { + const r = Buffer.from(e); + const s = new w(r); + const o = s.createFrame(c.TEXT); + this.#g += r.byteLength; + t.write(o, () => { + this.#g -= r.byteLength; + }); + } else if (_.isArrayBuffer(e)) { + const r = Buffer.from(e); + const s = new w(r); + const o = s.createFrame(c.BINARY); + this.#g += r.byteLength; + t.write(o, () => { + this.#g -= r.byteLength; + }); + } else if (ArrayBuffer.isView(e)) { + const r = Buffer.from(e, e.byteOffset, e.byteLength); + const s = new w(r); + const o = s.createFrame(c.BINARY); + this.#g += r.byteLength; + t.write(o, () => { + this.#g -= r.byteLength; + }); + } else if (k(e)) { + const r = new w(); + e.arrayBuffer().then((e) => { + const s = Buffer.from(e); + r.frameData = s; + const o = r.createFrame(c.BINARY); + this.#g += s.byteLength; + t.write(o, () => { + this.#g -= s.byteLength; + }); + }); + } + } + get readyState() { + s.brandCheck(this, WebSocket); + return this[g]; + } + get bufferedAmount() { + s.brandCheck(this, WebSocket); + return this.#g; + } + get url() { + s.brandCheck(this, WebSocket); + return n(this[l]); + } + get extensions() { + s.brandCheck(this, WebSocket); + return this.#d; + } + get protocol() { + s.brandCheck(this, WebSocket); + return this.#p; + } + get onopen() { + s.brandCheck(this, WebSocket); + return this.#l.open; + } + set onopen(e) { + s.brandCheck(this, WebSocket); + if (this.#l.open) { + this.removeEventListener("open", this.#l.open); + } + if (typeof e === "function") { + this.#l.open = e; + this.addEventListener("open", e); + } else { + this.#l.open = null; + } + } + get onerror() { + s.brandCheck(this, WebSocket); + return this.#l.error; + } + set onerror(e) { + s.brandCheck(this, WebSocket); + if (this.#l.error) { + this.removeEventListener("error", this.#l.error); + } + if (typeof e === "function") { + this.#l.error = e; + this.addEventListener("error", e); + } else { + this.#l.error = null; + } + } + get onclose() { + s.brandCheck(this, WebSocket); + return this.#l.close; + } + set onclose(e) { + s.brandCheck(this, WebSocket); + if (this.#l.close) { + this.removeEventListener("close", this.#l.close); + } + if (typeof e === "function") { + this.#l.close = e; + this.addEventListener("close", e); + } else { + this.#l.close = null; + } + } + get onmessage() { + s.brandCheck(this, WebSocket); + return this.#l.message; + } + set onmessage(e) { + s.brandCheck(this, WebSocket); + if (this.#l.message) { + this.removeEventListener("message", this.#l.message); + } + if (typeof e === "function") { + this.#l.message = e; + this.addEventListener("message", e); + } else { + this.#l.message = null; + } + } + get binaryType() { + s.brandCheck(this, WebSocket); + return this[d]; + } + set binaryType(e) { + s.brandCheck(this, WebSocket); + if (e !== "blob" && e !== "arraybuffer") { + this[d] = "blob"; + } else { + this[d] = e; + } + } + #E(e) { + this[E] = e; + const t = new R(this); + t.on("drain", function onParserDrain() { + this.ws[E].socket.resume(); + }); + e.socket.ws = this; + this[I] = t; + this[g] = a.OPEN; + const r = e.headersList.get("sec-websocket-extensions"); + if (r !== null) { + this.#d = r; + } + const s = e.headersList.get("sec-websocket-protocol"); + if (s !== null) { + this.#p = s; + } + y("open", this); + } + } + WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = a.CONNECTING; + WebSocket.OPEN = WebSocket.prototype.OPEN = a.OPEN; + WebSocket.CLOSING = WebSocket.prototype.CLOSING = a.CLOSING; + WebSocket.CLOSED = WebSocket.prototype.CLOSED = a.CLOSED; + Object.defineProperties(WebSocket.prototype, { + CONNECTING: i, + OPEN: i, + CLOSING: i, + CLOSED: i, + url: T, + readyState: T, + bufferedAmount: T, + onopen: T, + onerror: T, + onclose: T, + close: T, + onmessage: T, + binaryType: T, + send: T, + extensions: T, + protocol: T, + [Symbol.toStringTag]: { value: "WebSocket", writable: false, enumerable: false, configurable: true }, + }); + Object.defineProperties(WebSocket, { CONNECTING: i, OPEN: i, CLOSING: i, CLOSED: i }); + s.converters["sequence"] = s.sequenceConverter(s.converters.DOMString); + s.converters["DOMString or sequence"] = function (e) { + if (s.util.Type(e) === "Object" && Symbol.iterator in e) { + return s.converters["sequence"](e); + } + return s.converters.DOMString(e); + }; + s.converters.WebSocketInit = s.dictionaryConverter([ + { + key: "protocols", + converter: s.converters["DOMString or sequence"], + get defaultValue() { + return []; + }, + }, + { + key: "dispatcher", + converter: (e) => e, + get defaultValue() { + return D(); + }, + }, + { key: "headers", converter: s.nullableConverter(s.converters.HeadersInit) }, + ]); + s.converters["DOMString or sequence or WebSocketInit"] = function (e) { + if (s.util.Type(e) === "Object" && !(Symbol.iterator in e)) { + return s.converters.WebSocketInit(e); + } + return { protocols: s.converters["DOMString or sequence"](e) }; + }; + s.converters.WebSocketSendData = function (e) { + if (s.util.Type(e) === "Object") { + if (k(e)) { + return s.converters.Blob(e, { strict: false }); + } + if (ArrayBuffer.isView(e) || _.isAnyArrayBuffer(e)) { + return s.converters.BufferSource(e); + } + } + return s.converters.USVString(e); + }; + e.exports = { WebSocket: WebSocket }; + }, + 8264: (e) => { + e.exports = wrappy; + function wrappy(e, t) { + if (e && t) return wrappy(e)(t); + if (typeof e !== "function") throw new TypeError("need wrapper function"); + Object.keys(e).forEach(function (t) { + wrapper[t] = e[t]; + }); + return wrapper; + function wrapper() { + var t = new Array(arguments.length); + for (var r = 0; r < t.length; r++) { + t[r] = arguments[r]; + } + var s = e.apply(this, t); + var o = t[t.length - 1]; + if (typeof s === "function" && s !== o) { + Object.keys(o).forEach(function (e) { + s[e] = o[e]; + }); + } + return s; + } + } + }, + 2613: (t) => { + t.exports = e(import.meta.url)("assert"); + }, + 290: (t) => { + t.exports = e(import.meta.url)("async_hooks"); + }, + 181: (t) => { + t.exports = e(import.meta.url)("buffer"); + }, + 5317: (t) => { + t.exports = e(import.meta.url)("child_process"); + }, + 4236: (t) => { + t.exports = e(import.meta.url)("console"); + }, + 6982: (t) => { + t.exports = e(import.meta.url)("crypto"); + }, + 1637: (t) => { + t.exports = e(import.meta.url)("diagnostics_channel"); + }, + 4434: (t) => { + t.exports = e(import.meta.url)("events"); + }, + 9896: (t) => { + t.exports = e(import.meta.url)("fs"); + }, + 8611: (t) => { + t.exports = e(import.meta.url)("http"); + }, + 5675: (t) => { + t.exports = e(import.meta.url)("http2"); + }, + 5692: (t) => { + t.exports = e(import.meta.url)("https"); + }, + 9278: (t) => { + t.exports = e(import.meta.url)("net"); + }, + 8474: (t) => { + t.exports = e(import.meta.url)("node:events"); + }, + 7075: (t) => { + t.exports = e(import.meta.url)("node:stream"); + }, + 7975: (t) => { + t.exports = e(import.meta.url)("node:util"); + }, + 857: (t) => { + t.exports = e(import.meta.url)("os"); + }, + 6928: (t) => { + t.exports = e(import.meta.url)("path"); + }, + 2987: (t) => { + t.exports = e(import.meta.url)("perf_hooks"); + }, + 3480: (t) => { + t.exports = e(import.meta.url)("querystring"); + }, + 2203: (t) => { + t.exports = e(import.meta.url)("stream"); + }, + 3774: (t) => { + t.exports = e(import.meta.url)("stream/web"); + }, + 3193: (t) => { + t.exports = e(import.meta.url)("string_decoder"); + }, + 3557: (t) => { + t.exports = e(import.meta.url)("timers"); + }, + 4756: (t) => { + t.exports = e(import.meta.url)("tls"); + }, + 7016: (t) => { + t.exports = e(import.meta.url)("url"); + }, + 9023: (t) => { + t.exports = e(import.meta.url)("util"); + }, + 8253: (t) => { + t.exports = e(import.meta.url)("util/types"); + }, + 8167: (t) => { + t.exports = e(import.meta.url)("worker_threads"); + }, + 3106: (t) => { + t.exports = e(import.meta.url)("zlib"); + }, + 7182: (e, t, r) => { + const s = r(7075).Writable; + const o = r(7975).inherits; + const n = r(4136); + const A = r(612); + const i = r(2271); + const a = 45; + const c = Buffer.from("-"); + const u = Buffer.from("\r\n"); + const EMPTY_FN = function () {}; + function Dicer(e) { + if (!(this instanceof Dicer)) { + return new Dicer(e); + } + s.call(this, e); + if (!e || (!e.headerFirst && typeof e.boundary !== "string")) { + throw new TypeError("Boundary required"); + } + if (typeof e.boundary === "string") { + this.setBoundary(e.boundary); + } else { + this._bparser = undefined; + } + this._headerFirst = e.headerFirst; + this._dashes = 0; + this._parts = 0; + this._finished = false; + this._realFinish = false; + this._isPreamble = true; + this._justMatched = false; + this._firstWrite = true; + this._inHeader = true; + this._part = undefined; + this._cb = undefined; + this._ignoreData = false; + this._partOpts = { highWaterMark: e.partHwm }; + this._pause = false; + const t = this; + this._hparser = new i(e); + this._hparser.on("header", function (e) { + t._inHeader = false; + t._part.emit("header", e); + }); + } + o(Dicer, s); + Dicer.prototype.emit = function (e) { + if (e === "finish" && !this._realFinish) { + if (!this._finished) { + const e = this; + process.nextTick(function () { + e.emit("error", new Error("Unexpected end of multipart data")); + if (e._part && !e._ignoreData) { + const t = e._isPreamble ? "Preamble" : "Part"; + e._part.emit("error", new Error(t + " terminated early due to unexpected end of multipart data")); + e._part.push(null); + process.nextTick(function () { + e._realFinish = true; + e.emit("finish"); + e._realFinish = false; + }); + return; + } + e._realFinish = true; + e.emit("finish"); + e._realFinish = false; + }); + } + } else { + s.prototype.emit.apply(this, arguments); + } + }; + Dicer.prototype._write = function (e, t, r) { + if (!this._hparser && !this._bparser) { + return r(); + } + if (this._headerFirst && this._isPreamble) { + if (!this._part) { + this._part = new A(this._partOpts); + if (this.listenerCount("preamble") !== 0) { + this.emit("preamble", this._part); + } else { + this._ignore(); + } + } + const t = this._hparser.push(e); + if (!this._inHeader && t !== undefined && t < e.length) { + e = e.slice(t); + } else { + return r(); + } + } + if (this._firstWrite) { + this._bparser.push(u); + this._firstWrite = false; + } + this._bparser.push(e); + if (this._pause) { + this._cb = r; + } else { + r(); + } + }; + Dicer.prototype.reset = function () { + this._part = undefined; + this._bparser = undefined; + this._hparser = undefined; + }; + Dicer.prototype.setBoundary = function (e) { + const t = this; + this._bparser = new n("\r\n--" + e); + this._bparser.on("info", function (e, r, s, o) { + t._oninfo(e, r, s, o); + }); + }; + Dicer.prototype._ignore = function () { + if (this._part && !this._ignoreData) { + this._ignoreData = true; + this._part.on("error", EMPTY_FN); + this._part.resume(); + } + }; + Dicer.prototype._oninfo = function (e, t, r, s) { + let o; + const n = this; + let i = 0; + let u; + let l = true; + if (!this._part && this._justMatched && t) { + while (this._dashes < 2 && r + i < s) { + if (t[r + i] === a) { + ++i; + ++this._dashes; + } else { + if (this._dashes) { + o = c; + } + this._dashes = 0; + break; + } + } + if (this._dashes === 2) { + if (r + i < s && this.listenerCount("trailer") !== 0) { + this.emit("trailer", t.slice(r + i, s)); + } + this.reset(); + this._finished = true; + if (n._parts === 0) { + n._realFinish = true; + n.emit("finish"); + n._realFinish = false; + } + } + if (this._dashes) { + return; + } + } + if (this._justMatched) { + this._justMatched = false; + } + if (!this._part) { + this._part = new A(this._partOpts); + this._part._read = function (e) { + n._unpause(); + }; + if (this._isPreamble && this.listenerCount("preamble") !== 0) { + this.emit("preamble", this._part); + } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) { + this.emit("part", this._part); + } else { + this._ignore(); + } + if (!this._isPreamble) { + this._inHeader = true; + } + } + if (t && r < s && !this._ignoreData) { + if (this._isPreamble || !this._inHeader) { + if (o) { + l = this._part.push(o); + } + l = this._part.push(t.slice(r, s)); + if (!l) { + this._pause = true; + } + } else if (!this._isPreamble && this._inHeader) { + if (o) { + this._hparser.push(o); + } + u = this._hparser.push(t.slice(r, s)); + if (!this._inHeader && u !== undefined && u < s) { + this._oninfo(false, t, r + u, s); + } + } + } + if (e) { + this._hparser.reset(); + if (this._isPreamble) { + this._isPreamble = false; + } else { + if (r !== s) { + ++this._parts; + this._part.on("end", function () { + if (--n._parts === 0) { + if (n._finished) { + n._realFinish = true; + n.emit("finish"); + n._realFinish = false; + } else { + n._unpause(); + } + } + }); + } + } + this._part.push(null); + this._part = undefined; + this._ignoreData = false; + this._justMatched = true; + this._dashes = 0; + } + }; + Dicer.prototype._unpause = function () { + if (!this._pause) { + return; + } + this._pause = false; + if (this._cb) { + const e = this._cb; + this._cb = undefined; + e(); + } + }; + e.exports = Dicer; + }, + 2271: (e, t, r) => { + const s = r(8474).EventEmitter; + const o = r(7975).inherits; + const n = r(2393); + const A = r(4136); + const i = Buffer.from("\r\n\r\n"); + const a = /\r\n/g; + const c = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/; + function HeaderParser(e) { + s.call(this); + e = e || {}; + const t = this; + this.nread = 0; + this.maxed = false; + this.npairs = 0; + this.maxHeaderPairs = n(e, "maxHeaderPairs", 2e3); + this.maxHeaderSize = n(e, "maxHeaderSize", 80 * 1024); + this.buffer = ""; + this.header = {}; + this.finished = false; + this.ss = new A(i); + this.ss.on("info", function (e, r, s, o) { + if (r && !t.maxed) { + if (t.nread + o - s >= t.maxHeaderSize) { + o = t.maxHeaderSize - t.nread + s; + t.nread = t.maxHeaderSize; + t.maxed = true; + } else { + t.nread += o - s; + } + t.buffer += r.toString("binary", s, o); + } + if (e) { + t._finish(); + } + }); + } + o(HeaderParser, s); + HeaderParser.prototype.push = function (e) { + const t = this.ss.push(e); + if (this.finished) { + return t; + } + }; + HeaderParser.prototype.reset = function () { + this.finished = false; + this.buffer = ""; + this.header = {}; + this.ss.reset(); + }; + HeaderParser.prototype._finish = function () { + if (this.buffer) { + this._parseHeader(); + } + this.ss.matches = this.ss.maxMatches; + const e = this.header; + this.header = {}; + this.buffer = ""; + this.finished = true; + this.nread = this.npairs = 0; + this.maxed = false; + this.emit("header", e); + }; + HeaderParser.prototype._parseHeader = function () { + if (this.npairs === this.maxHeaderPairs) { + return; + } + const e = this.buffer.split(a); + const t = e.length; + let r, s; + for (var o = 0; o < t; ++o) { + if (e[o].length === 0) { + continue; + } + if (e[o][0] === "\t" || e[o][0] === " ") { + if (s) { + this.header[s][this.header[s].length - 1] += e[o]; + continue; + } + } + const t = e[o].indexOf(":"); + if (t === -1 || t === 0) { + return; + } + r = c.exec(e[o]); + s = r[1].toLowerCase(); + this.header[s] = this.header[s] || []; + this.header[s].push(r[2] || ""); + if (++this.npairs === this.maxHeaderPairs) { + break; + } + } + }; + e.exports = HeaderParser; + }, + 612: (e, t, r) => { + const s = r(7975).inherits; + const o = r(7075).Readable; + function PartStream(e) { + o.call(this, e); + } + s(PartStream, o); + PartStream.prototype._read = function (e) {}; + e.exports = PartStream; + }, + 4136: (e, t, r) => { + const s = r(8474).EventEmitter; + const o = r(7975).inherits; + function SBMH(e) { + if (typeof e === "string") { + e = Buffer.from(e); + } + if (!Buffer.isBuffer(e)) { + throw new TypeError("The needle has to be a String or a Buffer."); + } + const t = e.length; + if (t === 0) { + throw new Error("The needle cannot be an empty String/Buffer."); + } + if (t > 256) { + throw new Error("The needle cannot have a length bigger than 256."); + } + this.maxMatches = Infinity; + this.matches = 0; + this._occ = new Array(256).fill(t); + this._lookbehind_size = 0; + this._needle = e; + this._bufpos = 0; + this._lookbehind = Buffer.alloc(t); + for (var r = 0; r < t - 1; ++r) { + this._occ[e[r]] = t - 1 - r; + } + } + o(SBMH, s); + SBMH.prototype.reset = function () { + this._lookbehind_size = 0; + this.matches = 0; + this._bufpos = 0; + }; + SBMH.prototype.push = function (e, t) { + if (!Buffer.isBuffer(e)) { + e = Buffer.from(e, "binary"); + } + const r = e.length; + this._bufpos = t || 0; + let s; + while (s !== r && this.matches < this.maxMatches) { + s = this._sbmh_feed(e); + } + return s; + }; + SBMH.prototype._sbmh_feed = function (e) { + const t = e.length; + const r = this._needle; + const s = r.length; + const o = r[s - 1]; + let n = -this._lookbehind_size; + let A; + if (n < 0) { + while (n < 0 && n <= t - s) { + A = this._sbmh_lookup_char(e, n + s - 1); + if (A === o && this._sbmh_memcmp(e, n, s - 1)) { + this._lookbehind_size = 0; + ++this.matches; + this.emit("info", true); + return (this._bufpos = n + s); + } + n += this._occ[A]; + } + if (n < 0) { + while (n < 0 && !this._sbmh_memcmp(e, n, t - n)) { + ++n; + } + } + if (n >= 0) { + this.emit("info", false, this._lookbehind, 0, this._lookbehind_size); + this._lookbehind_size = 0; + } else { + const r = this._lookbehind_size + n; + if (r > 0) { + this.emit("info", false, this._lookbehind, 0, r); + } + this._lookbehind.copy(this._lookbehind, 0, r, this._lookbehind_size - r); + this._lookbehind_size -= r; + e.copy(this._lookbehind, this._lookbehind_size); + this._lookbehind_size += t; + this._bufpos = t; + return t; + } + } + n += (n >= 0) * this._bufpos; + if (e.indexOf(r, n) !== -1) { + n = e.indexOf(r, n); + ++this.matches; + if (n > 0) { + this.emit("info", true, e, this._bufpos, n); + } else { + this.emit("info", true); + } + return (this._bufpos = n + s); + } else { + n = t - s; + } + while (n < t && (e[n] !== r[0] || Buffer.compare(e.subarray(n, n + t - n), r.subarray(0, t - n)) !== 0)) { + ++n; + } + if (n < t) { + e.copy(this._lookbehind, 0, n, n + (t - n)); + this._lookbehind_size = t - n; + } + if (n > 0) { + this.emit("info", false, e, this._bufpos, n < t ? n : t); + } + this._bufpos = t; + return t; + }; + SBMH.prototype._sbmh_lookup_char = function (e, t) { + return t < 0 ? this._lookbehind[this._lookbehind_size + t] : e[t]; + }; + SBMH.prototype._sbmh_memcmp = function (e, t, r) { + for (var s = 0; s < r; ++s) { + if (this._sbmh_lookup_char(e, t + s) !== this._needle[s]) { + return false; + } + } + return true; + }; + e.exports = SBMH; + }, + 9581: (e, t, r) => { + const s = r(7075).Writable; + const { inherits: o } = r(7975); + const n = r(7182); + const A = r(1192); + const i = r(855); + const a = r(8929); + function Busboy(e) { + if (!(this instanceof Busboy)) { + return new Busboy(e); + } + if (typeof e !== "object") { + throw new TypeError("Busboy expected an options-Object."); + } + if (typeof e.headers !== "object") { + throw new TypeError("Busboy expected an options-Object with headers-attribute."); + } + if (typeof e.headers["content-type"] !== "string") { + throw new TypeError("Missing Content-Type-header."); + } + const { headers: t, ...r } = e; + this.opts = { autoDestroy: false, ...r }; + s.call(this, this.opts); + this._done = false; + this._parser = this.getParserByHeaders(t); + this._finished = false; + } + o(Busboy, s); + Busboy.prototype.emit = function (e) { + if (e === "finish") { + if (!this._done) { + this._parser?.end(); + return; + } else if (this._finished) { + return; + } + this._finished = true; + } + s.prototype.emit.apply(this, arguments); + }; + Busboy.prototype.getParserByHeaders = function (e) { + const t = a(e["content-type"]); + const r = { + defCharset: this.opts.defCharset, + fileHwm: this.opts.fileHwm, + headers: e, + highWaterMark: this.opts.highWaterMark, + isPartAFile: this.opts.isPartAFile, + limits: this.opts.limits, + parsedConType: t, + preservePath: this.opts.preservePath, + }; + if (A.detect.test(t[0])) { + return new A(this, r); + } + if (i.detect.test(t[0])) { + return new i(this, r); + } + throw new Error("Unsupported Content-Type."); + }; + Busboy.prototype._write = function (e, t, r) { + this._parser.write(e, r); + }; + e.exports = Busboy; + e.exports["default"] = Busboy; + e.exports.Busboy = Busboy; + e.exports.Dicer = n; + }, + 1192: (e, t, r) => { + const { Readable: s } = r(7075); + const { inherits: o } = r(7975); + const n = r(7182); + const A = r(8929); + const i = r(2747); + const a = r(692); + const c = r(2393); + const u = /^boundary$/i; + const l = /^form-data$/i; + const g = /^charset$/i; + const p = /^filename$/i; + const d = /^name$/i; + Multipart.detect = /^multipart\/form-data/i; + function Multipart(e, t) { + let r; + let s; + const o = this; + let E; + const h = t.limits; + const I = t.isPartAFile || ((e, t, r) => t === "application/octet-stream" || r !== undefined); + const C = t.parsedConType || []; + const m = t.defCharset || "utf8"; + const Q = t.preservePath; + const B = { highWaterMark: t.fileHwm }; + for (r = 0, s = C.length; r < s; ++r) { + if (Array.isArray(C[r]) && u.test(C[r][0])) { + E = C[r][1]; + break; + } + } + function checkFinished() { + if (S === 0 && N && !e._done) { + N = false; + o.end(); + } + } + if (typeof E !== "string") { + throw new Error("Multipart: Boundary not found"); + } + const y = c(h, "fieldSize", 1 * 1024 * 1024); + const b = c(h, "fileSize", Infinity); + const w = c(h, "files", Infinity); + const R = c(h, "fields", Infinity); + const T = c(h, "parts", Infinity); + const k = c(h, "headerPairs", 2e3); + const D = c(h, "headerSize", 80 * 1024); + let _ = 0; + let F = 0; + let S = 0; + let v; + let U; + let N = false; + this._needDrain = false; + this._pause = false; + this._cb = undefined; + this._nparts = 0; + this._boy = e; + const O = { boundary: E, maxHeaderPairs: k, maxHeaderSize: D, partHwm: B.highWaterMark, highWaterMark: t.highWaterMark }; + this.parser = new n(O); + this.parser + .on("drain", function () { + o._needDrain = false; + if (o._cb && !o._pause) { + const e = o._cb; + o._cb = undefined; + e(); + } + }) + .on("part", function onPart(t) { + if (++o._nparts > T) { + o.parser.removeListener("part", onPart); + o.parser.on("part", skipPart); + e.hitPartsLimit = true; + e.emit("partsLimit"); + return skipPart(t); + } + if (U) { + const e = U; + e.emit("end"); + e.removeAllListeners("end"); + } + t.on("header", function (n) { + let c; + let u; + let E; + let h; + let C; + let T; + let k = 0; + if (n["content-type"]) { + E = A(n["content-type"][0]); + if (E[0]) { + c = E[0].toLowerCase(); + for (r = 0, s = E.length; r < s; ++r) { + if (g.test(E[r][0])) { + h = E[r][1].toLowerCase(); + break; + } + } + } + } + if (c === undefined) { + c = "text/plain"; + } + if (h === undefined) { + h = m; + } + if (n["content-disposition"]) { + E = A(n["content-disposition"][0]); + if (!l.test(E[0])) { + return skipPart(t); + } + for (r = 0, s = E.length; r < s; ++r) { + if (d.test(E[r][0])) { + u = E[r][1]; + } else if (p.test(E[r][0])) { + T = E[r][1]; + if (!Q) { + T = a(T); + } + } + } + } else { + return skipPart(t); + } + if (n["content-transfer-encoding"]) { + C = n["content-transfer-encoding"][0].toLowerCase(); + } else { + C = "7bit"; + } + let D, N; + if (I(u, c, T)) { + if (_ === w) { + if (!e.hitFilesLimit) { + e.hitFilesLimit = true; + e.emit("filesLimit"); + } + return skipPart(t); + } + ++_; + if (e.listenerCount("file") === 0) { + o.parser._ignore(); + return; + } + ++S; + const r = new FileStream(B); + v = r; + r.on("end", function () { + --S; + o._pause = false; + checkFinished(); + if (o._cb && !o._needDrain) { + const e = o._cb; + o._cb = undefined; + e(); + } + }); + r._read = function (e) { + if (!o._pause) { + return; + } + o._pause = false; + if (o._cb && !o._needDrain) { + const e = o._cb; + o._cb = undefined; + e(); + } + }; + e.emit("file", u, r, T, C, c); + D = function (e) { + if ((k += e.length) > b) { + const s = b - k + e.length; + if (s > 0) { + r.push(e.slice(0, s)); + } + r.truncated = true; + r.bytesRead = b; + t.removeAllListeners("data"); + r.emit("limit"); + return; + } else if (!r.push(e)) { + o._pause = true; + } + r.bytesRead = k; + }; + N = function () { + v = undefined; + r.push(null); + }; + } else { + if (F === R) { + if (!e.hitFieldsLimit) { + e.hitFieldsLimit = true; + e.emit("fieldsLimit"); + } + return skipPart(t); + } + ++F; + ++S; + let r = ""; + let s = false; + U = t; + D = function (e) { + if ((k += e.length) > y) { + const o = y - (k - e.length); + r += e.toString("binary", 0, o); + s = true; + t.removeAllListeners("data"); + } else { + r += e.toString("binary"); + } + }; + N = function () { + U = undefined; + if (r.length) { + r = i(r, "binary", h); + } + e.emit("field", u, r, false, s, C, c); + --S; + checkFinished(); + }; + } + t._readableState.sync = false; + t.on("data", D); + t.on("end", N); + }).on("error", function (e) { + if (v) { + v.emit("error", e); + } + }); + }) + .on("error", function (t) { + e.emit("error", t); + }) + .on("finish", function () { + N = true; + checkFinished(); + }); + } + Multipart.prototype.write = function (e, t) { + const r = this.parser.write(e); + if (r && !this._pause) { + t(); + } else { + this._needDrain = !r; + this._cb = t; + } + }; + Multipart.prototype.end = function () { + const e = this; + if (e.parser.writable) { + e.parser.end(); + } else if (!e._boy._done) { + process.nextTick(function () { + e._boy._done = true; + e._boy.emit("finish"); + }); + } + }; + function skipPart(e) { + e.resume(); + } + function FileStream(e) { + s.call(this, e); + this.bytesRead = 0; + this.truncated = false; + } + o(FileStream, s); + FileStream.prototype._read = function (e) {}; + e.exports = Multipart; + }, + 855: (e, t, r) => { + const s = r(1496); + const o = r(2747); + const n = r(2393); + const A = /^charset$/i; + UrlEncoded.detect = /^application\/x-www-form-urlencoded/i; + function UrlEncoded(e, t) { + const r = t.limits; + const o = t.parsedConType; + this.boy = e; + this.fieldSizeLimit = n(r, "fieldSize", 1 * 1024 * 1024); + this.fieldNameSizeLimit = n(r, "fieldNameSize", 100); + this.fieldsLimit = n(r, "fields", Infinity); + let i; + for (var a = 0, c = o.length; a < c; ++a) { + if (Array.isArray(o[a]) && A.test(o[a][0])) { + i = o[a][1].toLowerCase(); + break; + } + } + if (i === undefined) { + i = t.defCharset || "utf8"; + } + this.decoder = new s(); + this.charset = i; + this._fields = 0; + this._state = "key"; + this._checkingBytes = true; + this._bytesKey = 0; + this._bytesVal = 0; + this._key = ""; + this._val = ""; + this._keyTrunc = false; + this._valTrunc = false; + this._hitLimit = false; + } + UrlEncoded.prototype.write = function (e, t) { + if (this._fields === this.fieldsLimit) { + if (!this.boy.hitFieldsLimit) { + this.boy.hitFieldsLimit = true; + this.boy.emit("fieldsLimit"); + } + return t(); + } + let r; + let s; + let n; + let A = 0; + const i = e.length; + while (A < i) { + if (this._state === "key") { + r = s = undefined; + for (n = A; n < i; ++n) { + if (!this._checkingBytes) { + ++A; + } + if (e[n] === 61) { + r = n; + break; + } else if (e[n] === 38) { + s = n; + break; + } + if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { + this._hitLimit = true; + break; + } else if (this._checkingBytes) { + ++this._bytesKey; + } + } + if (r !== undefined) { + if (r > A) { + this._key += this.decoder.write(e.toString("binary", A, r)); + } + this._state = "val"; + this._hitLimit = false; + this._checkingBytes = true; + this._val = ""; + this._bytesVal = 0; + this._valTrunc = false; + this.decoder.reset(); + A = r + 1; + } else if (s !== undefined) { + ++this._fields; + let r; + const n = this._keyTrunc; + if (s > A) { + r = this._key += this.decoder.write(e.toString("binary", A, s)); + } else { + r = this._key; + } + this._hitLimit = false; + this._checkingBytes = true; + this._key = ""; + this._bytesKey = 0; + this._keyTrunc = false; + this.decoder.reset(); + if (r.length) { + this.boy.emit("field", o(r, "binary", this.charset), "", n, false); + } + A = s + 1; + if (this._fields === this.fieldsLimit) { + return t(); + } + } else if (this._hitLimit) { + if (n > A) { + this._key += this.decoder.write(e.toString("binary", A, n)); + } + A = n; + if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { + this._checkingBytes = false; + this._keyTrunc = true; + } + } else { + if (A < i) { + this._key += this.decoder.write(e.toString("binary", A)); + } + A = i; + } + } else { + s = undefined; + for (n = A; n < i; ++n) { + if (!this._checkingBytes) { + ++A; + } + if (e[n] === 38) { + s = n; + break; + } + if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { + this._hitLimit = true; + break; + } else if (this._checkingBytes) { + ++this._bytesVal; + } + } + if (s !== undefined) { + ++this._fields; + if (s > A) { + this._val += this.decoder.write(e.toString("binary", A, s)); + } + this.boy.emit("field", o(this._key, "binary", this.charset), o(this._val, "binary", this.charset), this._keyTrunc, this._valTrunc); + this._state = "key"; + this._hitLimit = false; + this._checkingBytes = true; + this._key = ""; + this._bytesKey = 0; + this._keyTrunc = false; + this.decoder.reset(); + A = s + 1; + if (this._fields === this.fieldsLimit) { + return t(); + } + } else if (this._hitLimit) { + if (n > A) { + this._val += this.decoder.write(e.toString("binary", A, n)); + } + A = n; + if ((this._val === "" && this.fieldSizeLimit === 0) || (this._bytesVal = this._val.length) === this.fieldSizeLimit) { + this._checkingBytes = false; + this._valTrunc = true; + } + } else { + if (A < i) { + this._val += this.decoder.write(e.toString("binary", A)); + } + A = i; + } + } + } + t(); + }; + UrlEncoded.prototype.end = function () { + if (this.boy._done) { + return; + } + if (this._state === "key" && this._key.length > 0) { + this.boy.emit("field", o(this._key, "binary", this.charset), "", this._keyTrunc, false); + } else if (this._state === "val") { + this.boy.emit("field", o(this._key, "binary", this.charset), o(this._val, "binary", this.charset), this._keyTrunc, this._valTrunc); + } + this.boy._done = true; + this.boy.emit("finish"); + }; + e.exports = UrlEncoded; + }, + 1496: (e) => { + const t = /\+/g; + const r = [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ]; + function Decoder() { + this.buffer = undefined; + } + Decoder.prototype.write = function (e) { + e = e.replace(t, " "); + let s = ""; + let o = 0; + let n = 0; + const A = e.length; + for (; o < A; ++o) { + if (this.buffer !== undefined) { + if (!r[e.charCodeAt(o)]) { + s += "%" + this.buffer; + this.buffer = undefined; + --o; + } else { + this.buffer += e[o]; + ++n; + if (this.buffer.length === 2) { + s += String.fromCharCode(parseInt(this.buffer, 16)); + this.buffer = undefined; + } + } + } else if (e[o] === "%") { + if (o > n) { + s += e.substring(n, o); + n = o; + } + this.buffer = ""; + ++n; + } + } + if (n < A && this.buffer === undefined) { + s += e.substring(n); + } + return s; + }; + Decoder.prototype.reset = function () { + this.buffer = undefined; + }; + e.exports = Decoder; + }, + 692: (e) => { + e.exports = function basename(e) { + if (typeof e !== "string") { + return ""; + } + for (var t = e.length - 1; t >= 0; --t) { + switch (e.charCodeAt(t)) { + case 47: + case 92: + e = e.slice(t + 1); + return e === ".." || e === "." ? "" : e; + } + } + return e === ".." || e === "." ? "" : e; + }; + }, + 2747: function (e) { + const t = new TextDecoder("utf-8"); + const r = new Map([ + ["utf-8", t], + ["utf8", t], + ]); + function getDecoder(e) { + let t; + while (true) { + switch (e) { + case "utf-8": + case "utf8": + return s.utf8; + case "latin1": + case "ascii": + case "us-ascii": + case "iso-8859-1": + case "iso8859-1": + case "iso88591": + case "iso_8859-1": + case "windows-1252": + case "iso_8859-1:1987": + case "cp1252": + case "x-cp1252": + return s.latin1; + case "utf16le": + case "utf-16le": + case "ucs2": + case "ucs-2": + return s.utf16le; + case "base64": + return s.base64; + default: + if (t === undefined) { + t = true; + e = e.toLowerCase(); + continue; + } + return s.other.bind(e); + } + } + } + const s = { + utf8: (e, t) => { + if (e.length === 0) { + return ""; + } + if (typeof e === "string") { + e = Buffer.from(e, t); + } + return e.utf8Slice(0, e.length); + }, + latin1: (e, t) => { + if (e.length === 0) { + return ""; + } + if (typeof e === "string") { + return e; + } + return e.latin1Slice(0, e.length); + }, + utf16le: (e, t) => { + if (e.length === 0) { + return ""; + } + if (typeof e === "string") { + e = Buffer.from(e, t); + } + return e.ucs2Slice(0, e.length); + }, + base64: (e, t) => { + if (e.length === 0) { + return ""; + } + if (typeof e === "string") { + e = Buffer.from(e, t); + } + return e.base64Slice(0, e.length); + }, + other: (e, t) => { + if (e.length === 0) { + return ""; + } + if (typeof e === "string") { + e = Buffer.from(e, t); + } + if (r.has(this.toString())) { + try { + return r.get(this).decode(e); + } catch {} + } + return typeof e === "string" ? e : e.toString(); + }, + }; + function decodeText(e, t, r) { + if (e) { + return getDecoder(r)(e, t); + } + return e; + } + e.exports = decodeText; + }, + 2393: (e) => { + e.exports = function getLimit(e, t, r) { + if (!e || e[t] === undefined || e[t] === null) { + return r; + } + if (typeof e[t] !== "number" || isNaN(e[t])) { + throw new TypeError("Limit " + t + " is not a valid number"); + } + return e[t]; + }; + }, + 8929: (e, t, r) => { + const s = r(2747); + const o = /%[a-fA-F0-9][a-fA-F0-9]/g; + const n = { + "%00": "\0", + "%01": "", + "%02": "", + "%03": "", + "%04": "", + "%05": "", + "%06": "", + "%07": "", + "%08": "\b", + "%09": "\t", + "%0a": "\n", + "%0A": "\n", + "%0b": "\v", + "%0B": "\v", + "%0c": "\f", + "%0C": "\f", + "%0d": "\r", + "%0D": "\r", + "%0e": "", + "%0E": "", + "%0f": "", + "%0F": "", + "%10": "", + "%11": "", + "%12": "", + "%13": "", + "%14": "", + "%15": "", + "%16": "", + "%17": "", + "%18": "", + "%19": "", + "%1a": "", + "%1A": "", + "%1b": "", + "%1B": "", + "%1c": "", + "%1C": "", + "%1d": "", + "%1D": "", + "%1e": "", + "%1E": "", + "%1f": "", + "%1F": "", + "%20": " ", + "%21": "!", + "%22": '"', + "%23": "#", + "%24": "$", + "%25": "%", + "%26": "&", + "%27": "'", + "%28": "(", + "%29": ")", + "%2a": "*", + "%2A": "*", + "%2b": "+", + "%2B": "+", + "%2c": ",", + "%2C": ",", + "%2d": "-", + "%2D": "-", + "%2e": ".", + "%2E": ".", + "%2f": "/", + "%2F": "/", + "%30": "0", + "%31": "1", + "%32": "2", + "%33": "3", + "%34": "4", + "%35": "5", + "%36": "6", + "%37": "7", + "%38": "8", + "%39": "9", + "%3a": ":", + "%3A": ":", + "%3b": ";", + "%3B": ";", + "%3c": "<", + "%3C": "<", + "%3d": "=", + "%3D": "=", + "%3e": ">", + "%3E": ">", + "%3f": "?", + "%3F": "?", + "%40": "@", + "%41": "A", + "%42": "B", + "%43": "C", + "%44": "D", + "%45": "E", + "%46": "F", + "%47": "G", + "%48": "H", + "%49": "I", + "%4a": "J", + "%4A": "J", + "%4b": "K", + "%4B": "K", + "%4c": "L", + "%4C": "L", + "%4d": "M", + "%4D": "M", + "%4e": "N", + "%4E": "N", + "%4f": "O", + "%4F": "O", + "%50": "P", + "%51": "Q", + "%52": "R", + "%53": "S", + "%54": "T", + "%55": "U", + "%56": "V", + "%57": "W", + "%58": "X", + "%59": "Y", + "%5a": "Z", + "%5A": "Z", + "%5b": "[", + "%5B": "[", + "%5c": "\\", + "%5C": "\\", + "%5d": "]", + "%5D": "]", + "%5e": "^", + "%5E": "^", + "%5f": "_", + "%5F": "_", + "%60": "`", + "%61": "a", + "%62": "b", + "%63": "c", + "%64": "d", + "%65": "e", + "%66": "f", + "%67": "g", + "%68": "h", + "%69": "i", + "%6a": "j", + "%6A": "j", + "%6b": "k", + "%6B": "k", + "%6c": "l", + "%6C": "l", + "%6d": "m", + "%6D": "m", + "%6e": "n", + "%6E": "n", + "%6f": "o", + "%6F": "o", + "%70": "p", + "%71": "q", + "%72": "r", + "%73": "s", + "%74": "t", + "%75": "u", + "%76": "v", + "%77": "w", + "%78": "x", + "%79": "y", + "%7a": "z", + "%7A": "z", + "%7b": "{", + "%7B": "{", + "%7c": "|", + "%7C": "|", + "%7d": "}", + "%7D": "}", + "%7e": "~", + "%7E": "~", + "%7f": "", + "%7F": "", + "%80": "€", + "%81": "", + "%82": "‚", + "%83": "ƒ", + "%84": "„", + "%85": "…", + "%86": "†", + "%87": "‡", + "%88": "ˆ", + "%89": "‰", + "%8a": "Š", + "%8A": "Š", + "%8b": "‹", + "%8B": "‹", + "%8c": "Œ", + "%8C": "Œ", + "%8d": "", + "%8D": "", + "%8e": "Ž", + "%8E": "Ž", + "%8f": "", + "%8F": "", + "%90": "", + "%91": "‘", + "%92": "’", + "%93": "“", + "%94": "”", + "%95": "•", + "%96": "–", + "%97": "—", + "%98": "˜", + "%99": "™", + "%9a": "š", + "%9A": "š", + "%9b": "›", + "%9B": "›", + "%9c": "œ", + "%9C": "œ", + "%9d": "", + "%9D": "", + "%9e": "ž", + "%9E": "ž", + "%9f": "Ÿ", + "%9F": "Ÿ", + "%a0": " ", + "%A0": " ", + "%a1": "¡", + "%A1": "¡", + "%a2": "¢", + "%A2": "¢", + "%a3": "£", + "%A3": "£", + "%a4": "¤", + "%A4": "¤", + "%a5": "¥", + "%A5": "¥", + "%a6": "¦", + "%A6": "¦", + "%a7": "§", + "%A7": "§", + "%a8": "¨", + "%A8": "¨", + "%a9": "©", + "%A9": "©", + "%aa": "ª", + "%Aa": "ª", + "%aA": "ª", + "%AA": "ª", + "%ab": "«", + "%Ab": "«", + "%aB": "«", + "%AB": "«", + "%ac": "¬", + "%Ac": "¬", + "%aC": "¬", + "%AC": "¬", + "%ad": "­", + "%Ad": "­", + "%aD": "­", + "%AD": "­", + "%ae": "®", + "%Ae": "®", + "%aE": "®", + "%AE": "®", + "%af": "¯", + "%Af": "¯", + "%aF": "¯", + "%AF": "¯", + "%b0": "°", + "%B0": "°", + "%b1": "±", + "%B1": "±", + "%b2": "²", + "%B2": "²", + "%b3": "³", + "%B3": "³", + "%b4": "´", + "%B4": "´", + "%b5": "µ", + "%B5": "µ", + "%b6": "¶", + "%B6": "¶", + "%b7": "·", + "%B7": "·", + "%b8": "¸", + "%B8": "¸", + "%b9": "¹", + "%B9": "¹", + "%ba": "º", + "%Ba": "º", + "%bA": "º", + "%BA": "º", + "%bb": "»", + "%Bb": "»", + "%bB": "»", + "%BB": "»", + "%bc": "¼", + "%Bc": "¼", + "%bC": "¼", + "%BC": "¼", + "%bd": "½", + "%Bd": "½", + "%bD": "½", + "%BD": "½", + "%be": "¾", + "%Be": "¾", + "%bE": "¾", + "%BE": "¾", + "%bf": "¿", + "%Bf": "¿", + "%bF": "¿", + "%BF": "¿", + "%c0": "À", + "%C0": "À", + "%c1": "Á", + "%C1": "Á", + "%c2": "Â", + "%C2": "Â", + "%c3": "Ã", + "%C3": "Ã", + "%c4": "Ä", + "%C4": "Ä", + "%c5": "Å", + "%C5": "Å", + "%c6": "Æ", + "%C6": "Æ", + "%c7": "Ç", + "%C7": "Ç", + "%c8": "È", + "%C8": "È", + "%c9": "É", + "%C9": "É", + "%ca": "Ê", + "%Ca": "Ê", + "%cA": "Ê", + "%CA": "Ê", + "%cb": "Ë", + "%Cb": "Ë", + "%cB": "Ë", + "%CB": "Ë", + "%cc": "Ì", + "%Cc": "Ì", + "%cC": "Ì", + "%CC": "Ì", + "%cd": "Í", + "%Cd": "Í", + "%cD": "Í", + "%CD": "Í", + "%ce": "Î", + "%Ce": "Î", + "%cE": "Î", + "%CE": "Î", + "%cf": "Ï", + "%Cf": "Ï", + "%cF": "Ï", + "%CF": "Ï", + "%d0": "Ð", + "%D0": "Ð", + "%d1": "Ñ", + "%D1": "Ñ", + "%d2": "Ò", + "%D2": "Ò", + "%d3": "Ó", + "%D3": "Ó", + "%d4": "Ô", + "%D4": "Ô", + "%d5": "Õ", + "%D5": "Õ", + "%d6": "Ö", + "%D6": "Ö", + "%d7": "×", + "%D7": "×", + "%d8": "Ø", + "%D8": "Ø", + "%d9": "Ù", + "%D9": "Ù", + "%da": "Ú", + "%Da": "Ú", + "%dA": "Ú", + "%DA": "Ú", + "%db": "Û", + "%Db": "Û", + "%dB": "Û", + "%DB": "Û", + "%dc": "Ü", + "%Dc": "Ü", + "%dC": "Ü", + "%DC": "Ü", + "%dd": "Ý", + "%Dd": "Ý", + "%dD": "Ý", + "%DD": "Ý", + "%de": "Þ", + "%De": "Þ", + "%dE": "Þ", + "%DE": "Þ", + "%df": "ß", + "%Df": "ß", + "%dF": "ß", + "%DF": "ß", + "%e0": "à", + "%E0": "à", + "%e1": "á", + "%E1": "á", + "%e2": "â", + "%E2": "â", + "%e3": "ã", + "%E3": "ã", + "%e4": "ä", + "%E4": "ä", + "%e5": "å", + "%E5": "å", + "%e6": "æ", + "%E6": "æ", + "%e7": "ç", + "%E7": "ç", + "%e8": "è", + "%E8": "è", + "%e9": "é", + "%E9": "é", + "%ea": "ê", + "%Ea": "ê", + "%eA": "ê", + "%EA": "ê", + "%eb": "ë", + "%Eb": "ë", + "%eB": "ë", + "%EB": "ë", + "%ec": "ì", + "%Ec": "ì", + "%eC": "ì", + "%EC": "ì", + "%ed": "í", + "%Ed": "í", + "%eD": "í", + "%ED": "í", + "%ee": "î", + "%Ee": "î", + "%eE": "î", + "%EE": "î", + "%ef": "ï", + "%Ef": "ï", + "%eF": "ï", + "%EF": "ï", + "%f0": "ð", + "%F0": "ð", + "%f1": "ñ", + "%F1": "ñ", + "%f2": "ò", + "%F2": "ò", + "%f3": "ó", + "%F3": "ó", + "%f4": "ô", + "%F4": "ô", + "%f5": "õ", + "%F5": "õ", + "%f6": "ö", + "%F6": "ö", + "%f7": "÷", + "%F7": "÷", + "%f8": "ø", + "%F8": "ø", + "%f9": "ù", + "%F9": "ù", + "%fa": "ú", + "%Fa": "ú", + "%fA": "ú", + "%FA": "ú", + "%fb": "û", + "%Fb": "û", + "%fB": "û", + "%FB": "û", + "%fc": "ü", + "%Fc": "ü", + "%fC": "ü", + "%FC": "ü", + "%fd": "ý", + "%Fd": "ý", + "%fD": "ý", + "%FD": "ý", + "%fe": "þ", + "%Fe": "þ", + "%fE": "þ", + "%FE": "þ", + "%ff": "ÿ", + "%Ff": "ÿ", + "%fF": "ÿ", + "%FF": "ÿ", + }; + function encodedReplacer(e) { + return n[e]; + } + const A = 0; + const i = 1; + const a = 2; + const c = 3; + function parseParams(e) { + const t = []; + let r = A; + let n = ""; + let u = false; + let l = false; + let g = 0; + let p = ""; + const d = e.length; + for (var E = 0; E < d; ++E) { + const d = e[E]; + if (d === "\\" && u) { + if (l) { + l = false; + } else { + l = true; + continue; + } + } else if (d === '"') { + if (!l) { + if (u) { + u = false; + r = A; + } else { + u = true; + } + continue; + } else { + l = false; + } + } else { + if (l && u) { + p += "\\"; + } + l = false; + if ((r === a || r === c) && d === "'") { + if (r === a) { + r = c; + n = p.substring(1); + } else { + r = i; + } + p = ""; + continue; + } else if (r === A && (d === "*" || d === "=") && t.length) { + r = d === "*" ? a : i; + t[g] = [p, undefined]; + p = ""; + continue; + } else if (!u && d === ";") { + r = A; + if (n) { + if (p.length) { + p = s(p.replace(o, encodedReplacer), "binary", n); + } + n = ""; + } else if (p.length) { + p = s(p, "binary", "utf8"); + } + if (t[g] === undefined) { + t[g] = p; + } else { + t[g][1] = p; + } + p = ""; + ++g; + continue; + } else if (!u && (d === " " || d === "\t")) { + continue; + } + } + p += d; + } + if (n && p.length) { + p = s(p.replace(o, encodedReplacer), "binary", n); + } else if (p) { + p = s(p, "binary", "utf8"); + } + if (t[g] === undefined) { + if (p) { + t[g] = p; + } + } else { + t[g][1] = p; + } + return t; + } + e.exports = parseParams; + }, + 56: (e) => { + e.exports = JSON.parse( + '{"name":"dotenv","version":"16.4.5","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","test:coverage":"tap --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"funding":"https://dotenvx.com","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":false}}' + ); + }, +}; +var r = {}; +function __nccwpck_require__(e) { + var s = r[e]; + if (s !== undefined) { + return s.exports; + } + var o = (r[e] = { exports: {} }); + var n = true; + try { + t[e].call(o.exports, o, o.exports, __nccwpck_require__); + n = false; + } finally { + if (n) delete r[e]; + } + return o.exports; +} +(() => { + __nccwpck_require__.n = (e) => { + var t = e && e.__esModule ? () => e["default"] : () => e; + __nccwpck_require__.d(t, { a: t }); + return t; + }; +})(); +(() => { + __nccwpck_require__.d = (e, t) => { + for (var r in t) { + if (__nccwpck_require__.o(t, r) && !__nccwpck_require__.o(e, r)) { + Object.defineProperty(e, r, { enumerable: true, get: t[r] }); + } + } + }; +})(); +(() => { + __nccwpck_require__.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t); +})(); +(() => { + __nccwpck_require__.r = (e) => { + if (typeof Symbol !== "undefined" && Symbol.toStringTag) { + Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }); + } + Object.defineProperty(e, "__esModule", { value: true }); + }; +})(); +if (typeof __nccwpck_require__ !== "undefined") + __nccwpck_require__.ab = new URL(".", import.meta.url).pathname.slice(import.meta.url.match(/^file:\/\/\/\w:/) ? 1 : 0, -1) + "/"; +var s = {}; +var o = {}; +__nccwpck_require__.r(o); +__nccwpck_require__.d(o, { + Any: () => Any, + Array: () => array_Array, + AsyncIterator: () => AsyncIterator, + Awaited: () => Awaited, + BigInt: () => bigint_BigInt, + Boolean: () => boolean_Boolean, + Capitalize: () => Capitalize, + Composite: () => Composite, + Const: () => Const, + Constructor: () => Constructor, + ConstructorParameters: () => ConstructorParameters, + Date: () => date_Date, + Enum: () => Enum, + Exclude: () => Exclude, + Extends: () => Extends, + Extract: () => Extract, + Function: () => function_Function, + Index: () => Index, + InstanceType: () => InstanceType, + Integer: () => Integer, + Intersect: () => Intersect, + Iterator: () => Iterator, + KeyOf: () => KeyOf, + Literal: () => Literal, + Lowercase: () => Lowercase, + Mapped: () => Mapped, + Module: () => Module, + Never: () => Never, + Not: () => Not, + Null: () => Null, + Number: () => number_Number, + Object: () => g, + Omit: () => Omit, + Optional: () => Optional, + Parameters: () => Parameters, + Partial: () => Partial, + Pick: () => Pick, + Promise: () => promise_Promise, + Readonly: () => Readonly, + ReadonlyOptional: () => ReadonlyOptional, + Record: () => Record, + Recursive: () => Recursive, + Ref: () => Ref, + RegExp: () => regexp_RegExp, + Required: () => Required, + Rest: () => Rest, + ReturnType: () => ReturnType, + String: () => string_String, + Symbol: () => symbol_Symbol, + TemplateLiteral: () => TemplateLiteral, + Transform: () => Transform, + Tuple: () => Tuple, + Uint8Array: () => uint8array_Uint8Array, + Uncapitalize: () => Uncapitalize, + Undefined: () => Undefined, + Union: () => Union, + Unknown: () => Unknown, + Unsafe: () => Unsafe, + Uppercase: () => Uppercase, + Void: () => Void, +}); +function IsAsyncIterator(e) { + return IsObject(e) && Symbol.asyncIterator in e; +} +function IsIterator(e) { + return IsObject(e) && Symbol.iterator in e; +} +function IsStandardObject(e) { + return IsObject(e) && (Object.getPrototypeOf(e) === Object.prototype || Object.getPrototypeOf(e) === null); +} +function IsInstanceObject(e) { + return IsObject(e) && !IsArray(e) && IsFunction(e.constructor) && e.constructor.name !== "Object"; +} +function IsPromise(e) { + return e instanceof Promise; +} +function IsDate(e) { + return e instanceof Date && Number.isFinite(e.getTime()); +} +function IsMap(e) { + return e instanceof globalThis.Map; +} +function IsSet(e) { + return e instanceof globalThis.Set; +} +function IsRegExp(e) { + return e instanceof globalThis.RegExp; +} +function IsTypedArray(e) { + return ArrayBuffer.isView(e); +} +function IsInt8Array(e) { + return e instanceof globalThis.Int8Array; +} +function IsUint8Array(e) { + return e instanceof globalThis.Uint8Array; +} +function IsUint8ClampedArray(e) { + return e instanceof globalThis.Uint8ClampedArray; +} +function IsInt16Array(e) { + return e instanceof globalThis.Int16Array; +} +function IsUint16Array(e) { + return e instanceof globalThis.Uint16Array; +} +function IsInt32Array(e) { + return e instanceof globalThis.Int32Array; +} +function IsUint32Array(e) { + return e instanceof globalThis.Uint32Array; +} +function IsFloat32Array(e) { + return e instanceof globalThis.Float32Array; +} +function IsFloat64Array(e) { + return e instanceof globalThis.Float64Array; +} +function IsBigInt64Array(e) { + return e instanceof globalThis.BigInt64Array; +} +function IsBigUint64Array(e) { + return e instanceof globalThis.BigUint64Array; +} +function HasPropertyKey(e, t) { + return t in e; +} +function IsObject(e) { + return e !== null && typeof e === "object"; +} +function IsArray(e) { + return Array.isArray(e) && !ArrayBuffer.isView(e); +} +function IsUndefined(e) { + return e === undefined; +} +function IsNull(e) { + return e === null; +} +function IsBoolean(e) { + return typeof e === "boolean"; +} +function IsNumber(e) { + return typeof e === "number"; +} +function IsInteger(e) { + return Number.isInteger(e); +} +function IsBigInt(e) { + return typeof e === "bigint"; +} +function IsString(e) { + return typeof e === "string"; +} +function IsFunction(e) { + return typeof e === "function"; +} +function IsSymbol(e) { + return typeof e === "symbol"; +} +function IsValueType(e) { + return IsBigInt(e) || IsBoolean(e) || IsNull(e) || IsNumber(e) || IsString(e) || IsSymbol(e) || IsUndefined(e); +} +var n; +(function (e) { + e.InstanceMode = "default"; + e.ExactOptionalPropertyTypes = false; + e.AllowArrayObject = false; + e.AllowNaN = false; + e.AllowNullVoid = false; + function IsExactOptionalProperty(t, r) { + return e.ExactOptionalPropertyTypes ? r in t : t[r] !== undefined; + } + e.IsExactOptionalProperty = IsExactOptionalProperty; + function IsObjectLike(t) { + const r = IsObject(t); + return e.AllowArrayObject ? r : r && !IsArray(t); + } + e.IsObjectLike = IsObjectLike; + function IsRecordLike(e) { + return IsObjectLike(e) && !(e instanceof Date) && !(e instanceof Uint8Array); + } + e.IsRecordLike = IsRecordLike; + function IsNumberLike(t) { + return e.AllowNaN ? IsNumber(t) : Number.isFinite(t); + } + e.IsNumberLike = IsNumberLike; + function IsVoidLike(t) { + const r = IsUndefined(t); + return e.AllowNullVoid ? r || t === null : r; + } + e.IsVoidLike = IsVoidLike; +})(n || (n = {})); +function value_HasPropertyKey(e, t) { + return t in e; +} +function value_IsAsyncIterator(e) { + return value_IsObject(e) && !value_IsArray(e) && !value_IsUint8Array(e) && Symbol.asyncIterator in e; +} +function value_IsArray(e) { + return Array.isArray(e); +} +function value_IsBigInt(e) { + return typeof e === "bigint"; +} +function value_IsBoolean(e) { + return typeof e === "boolean"; +} +function value_IsDate(e) { + return e instanceof globalThis.Date; +} +function value_IsFunction(e) { + return typeof e === "function"; +} +function value_IsIterator(e) { + return value_IsObject(e) && !value_IsArray(e) && !value_IsUint8Array(e) && Symbol.iterator in e; +} +function value_IsNull(e) { + return e === null; +} +function value_IsNumber(e) { + return typeof e === "number"; +} +function value_IsObject(e) { + return typeof e === "object" && e !== null; +} +function value_IsRegExp(e) { + return e instanceof globalThis.RegExp; +} +function value_IsString(e) { + return typeof e === "string"; +} +function value_IsSymbol(e) { + return typeof e === "symbol"; +} +function value_IsUint8Array(e) { + return e instanceof globalThis.Uint8Array; +} +function value_IsUndefined(e) { + return e === undefined; +} +function ImmutableArray(e) { + return globalThis.Object.freeze(e).map((e) => Immutable(e)); +} +function ImmutableDate(e) { + return e; +} +function ImmutableUint8Array(e) { + return e; +} +function ImmutableRegExp(e) { + return e; +} +function ImmutableObject(e) { + const t = {}; + for (const r of Object.getOwnPropertyNames(e)) { + t[r] = Immutable(e[r]); + } + for (const r of Object.getOwnPropertySymbols(e)) { + t[r] = Immutable(e[r]); + } + return globalThis.Object.freeze(t); +} +function Immutable(e) { + return value_IsArray(e) + ? ImmutableArray(e) + : value_IsDate(e) + ? ImmutableDate(e) + : value_IsUint8Array(e) + ? ImmutableUint8Array(e) + : value_IsRegExp(e) + ? ImmutableRegExp(e) + : value_IsObject(e) + ? ImmutableObject(e) + : e; +} +function ArrayType(e) { + return e.map((e) => Visit(e)); +} +function DateType(e) { + return new Date(e.getTime()); +} +function Uint8ArrayType(e) { + return new Uint8Array(e); +} +function RegExpType(e) { + return new RegExp(e.source, e.flags); +} +function ObjectType(e) { + const t = {}; + for (const r of Object.getOwnPropertyNames(e)) { + t[r] = Visit(e[r]); + } + for (const r of Object.getOwnPropertySymbols(e)) { + t[r] = Visit(e[r]); + } + return t; +} +function Visit(e) { + return value_IsArray(e) + ? ArrayType(e) + : value_IsDate(e) + ? DateType(e) + : value_IsUint8Array(e) + ? Uint8ArrayType(e) + : value_IsRegExp(e) + ? RegExpType(e) + : value_IsObject(e) + ? ObjectType(e) + : e; +} +function Clone(e) { + return Visit(e); +} +function CreateType(e, t) { + const r = t !== undefined ? { ...t, ...e } : e; + switch (n.InstanceMode) { + case "freeze": + return Immutable(r); + case "clone": + return Clone(r); + default: + return r; + } +} +const A = Symbol.for("TypeBox.Transform"); +const i = Symbol.for("TypeBox.Readonly"); +const a = Symbol.for("TypeBox.Optional"); +const c = Symbol.for("TypeBox.Hint"); +const u = Symbol.for("TypeBox.Kind"); +function Any(e) { + return CreateType({ [u]: "Any" }, e); +} +function array_Array(e, t) { + return CreateType({ [u]: "Array", type: "array", items: e }, t); +} +function AsyncIterator(e, t) { + return CreateType({ [u]: "AsyncIterator", type: "AsyncIterator", items: e }, t); +} +function Computed(e, t, r) { + return CreateType({ [u]: "Computed", target: e, parameters: t }, r); +} +function Never(e) { + return CreateType({ [u]: "Never", not: {} }, e); +} +function IsReadonly(e) { + return value_IsObject(e) && e[i] === "Readonly"; +} +function IsOptional(e) { + return value_IsObject(e) && e[a] === "Optional"; +} +function IsAny(e) { + return IsKindOf(e, "Any"); +} +function kind_IsArray(e) { + return IsKindOf(e, "Array"); +} +function kind_IsAsyncIterator(e) { + return IsKindOf(e, "AsyncIterator"); +} +function kind_IsBigInt(e) { + return IsKindOf(e, "BigInt"); +} +function kind_IsBoolean(e) { + return IsKindOf(e, "Boolean"); +} +function IsComputed(e) { + return IsKindOf(e, "Computed"); +} +function IsConstructor(e) { + return IsKindOf(e, "Constructor"); +} +function kind_IsDate(e) { + return IsKindOf(e, "Date"); +} +function kind_IsFunction(e) { + return IsKindOf(e, "Function"); +} +function IsImport(e) { + return IsKindOf(e, "Import"); +} +function kind_IsInteger(e) { + return IsKindOf(e, "Integer"); +} +function IsProperties(e) { + return ValueGuard.IsObject(e); +} +function IsIntersect(e) { + return IsKindOf(e, "Intersect"); +} +function kind_IsIterator(e) { + return IsKindOf(e, "Iterator"); +} +function IsKindOf(e, t) { + return value_IsObject(e) && u in e && e[u] === t; +} +function IsLiteralString(e) { + return IsLiteral(e) && ValueGuard.IsString(e.const); +} +function IsLiteralNumber(e) { + return IsLiteral(e) && ValueGuard.IsNumber(e.const); +} +function IsLiteralBoolean(e) { + return IsLiteral(e) && ValueGuard.IsBoolean(e.const); +} +function IsLiteralValue(e) { + return value_IsBoolean(e) || value_IsNumber(e) || value_IsString(e); +} +function IsLiteral(e) { + return IsKindOf(e, "Literal"); +} +function IsMappedKey(e) { + return IsKindOf(e, "MappedKey"); +} +function IsMappedResult(e) { + return IsKindOf(e, "MappedResult"); +} +function IsNever(e) { + return IsKindOf(e, "Never"); +} +function IsNot(e) { + return IsKindOf(e, "Not"); +} +function kind_IsNull(e) { + return IsKindOf(e, "Null"); +} +function kind_IsNumber(e) { + return IsKindOf(e, "Number"); +} +function kind_IsObject(e) { + return IsKindOf(e, "Object"); +} +function kind_IsPromise(e) { + return IsKindOf(e, "Promise"); +} +function IsRecord(e) { + return IsKindOf(e, "Record"); +} +function IsRecursive(e) { + return ValueGuard.IsObject(e) && Hint in e && e[Hint] === "Recursive"; +} +function IsRef(e) { + return IsKindOf(e, "Ref"); +} +function kind_IsRegExp(e) { + return IsKindOf(e, "RegExp"); +} +function kind_IsString(e) { + return IsKindOf(e, "String"); +} +function kind_IsSymbol(e) { + return IsKindOf(e, "Symbol"); +} +function IsTemplateLiteral(e) { + return IsKindOf(e, "TemplateLiteral"); +} +function IsThis(e) { + return IsKindOf(e, "This"); +} +function IsTransform(e) { + return value_IsObject(e) && A in e; +} +function IsTuple(e) { + return IsKindOf(e, "Tuple"); +} +function kind_IsUndefined(e) { + return IsKindOf(e, "Undefined"); +} +function IsUnion(e) { + return IsKindOf(e, "Union"); +} +function kind_IsUint8Array(e) { + return IsKindOf(e, "Uint8Array"); +} +function IsUnknown(e) { + return IsKindOf(e, "Unknown"); +} +function IsUnsafe(e) { + return IsKindOf(e, "Unsafe"); +} +function IsVoid(e) { + return IsKindOf(e, "Void"); +} +function IsKind(e) { + return value_IsObject(e) && u in e && value_IsString(e[u]); +} +function IsSchema(e) { + return ( + IsAny(e) || + kind_IsArray(e) || + kind_IsBoolean(e) || + kind_IsBigInt(e) || + kind_IsAsyncIterator(e) || + IsComputed(e) || + IsConstructor(e) || + kind_IsDate(e) || + kind_IsFunction(e) || + kind_IsInteger(e) || + IsIntersect(e) || + kind_IsIterator(e) || + IsLiteral(e) || + IsMappedKey(e) || + IsMappedResult(e) || + IsNever(e) || + IsNot(e) || + kind_IsNull(e) || + kind_IsNumber(e) || + kind_IsObject(e) || + kind_IsPromise(e) || + IsRecord(e) || + IsRef(e) || + kind_IsRegExp(e) || + kind_IsString(e) || + kind_IsSymbol(e) || + IsTemplateLiteral(e) || + IsThis(e) || + IsTuple(e) || + kind_IsUndefined(e) || + IsUnion(e) || + kind_IsUint8Array(e) || + IsUnknown(e) || + IsUnsafe(e) || + IsVoid(e) || + IsKind(e) + ); +} +function IntersectCreate(e, t = {}) { + const r = e.every((e) => kind_IsObject(e)); + const s = IsSchema(t.unevaluatedProperties) ? { unevaluatedProperties: t.unevaluatedProperties } : {}; + return CreateType( + t.unevaluatedProperties === false || IsSchema(t.unevaluatedProperties) || r + ? { ...s, [u]: "Intersect", type: "object", allOf: e } + : { ...s, [u]: "Intersect", allOf: e }, + t + ); +} +function Intersect(e, t) { + if (e.length === 1) return CreateType(e[0], t); + if (e.length === 0) return Never(t); + if (e.some((e) => IsTransform(e))) throw new Error("Cannot intersect transform types"); + return IntersectCreate(e, t); +} +function UnionCreate(e, t) { + return CreateType({ [u]: "Union", anyOf: e }, t); +} +function Union(e, t) { + return e.length === 0 ? Never(t) : e.length === 1 ? CreateType(e[0], t) : UnionCreate(e, t); +} +class error_TypeBoxError extends Error { + constructor(e) { + super(e); + } +} +function Ref(...e) { + const [t, r] = typeof e[0] === "string" ? [e[0], e[1]] : [e[0].$id, e[1]]; + if (typeof t !== "string") throw new error_TypeBoxError("Ref: $ref must be a string"); + return CreateType({ [u]: "Ref", $ref: t }, r); +} +function FromComputed(e, t) { + return Computed("Awaited", [Computed(e, t)]); +} +function FromRef(e) { + return Computed("Awaited", [Ref(e)]); +} +function FromIntersect(e) { + return Intersect(FromRest(e)); +} +function FromUnion(e) { + return Union(FromRest(e)); +} +function FromPromise(e) { + return Awaited(e); +} +function FromRest(e) { + return e.map((e) => Awaited(e)); +} +function Awaited(e, t) { + return CreateType( + IsComputed(e) + ? FromComputed(e.target, e.parameters) + : IsIntersect(e) + ? FromIntersect(e.allOf) + : IsUnion(e) + ? FromUnion(e.anyOf) + : kind_IsPromise(e) + ? FromPromise(e.item) + : IsRef(e) + ? FromRef(e.$ref) + : e, + t + ); +} +function bigint_BigInt(e) { + return CreateType({ [u]: "BigInt", type: "bigint" }, e); +} +function boolean_Boolean(e) { + return CreateType({ [u]: "Boolean", type: "boolean" }, e); +} +function DiscardKey(e, t) { + const { [t]: r, ...s } = e; + return s; +} +function Discard(e, t) { + return t.reduce((e, t) => DiscardKey(e, t), e); +} +function MappedResult(e) { + return CreateType({ [u]: "MappedResult", properties: e }); +} +function FromProperties(e, t) { + const r = {}; + for (const s of globalThis.Object.getOwnPropertyNames(e)) r[s] = Optional(e[s], t); + return r; +} +function FromMappedResult(e, t) { + return FromProperties(e.properties, t); +} +function OptionalFromMappedResult(e, t) { + const r = FromMappedResult(e, t); + return MappedResult(r); +} +function RemoveOptional(e) { + return CreateType(Discard(e, [a])); +} +function AddOptional(e) { + return CreateType({ ...e, [a]: "Optional" }); +} +function OptionalWithFlag(e, t) { + return t === false ? RemoveOptional(e) : AddOptional(e); +} +function Optional(e, t) { + const r = t ?? true; + return IsMappedResult(e) ? OptionalFromMappedResult(e, r) : OptionalWithFlag(e, r); +} +function IsIntersectOptional(e) { + return e.every((e) => IsOptional(e)); +} +function RemoveOptionalFromType(e) { + return Discard(e, [a]); +} +function RemoveOptionalFromRest(e) { + return e.map((e) => (IsOptional(e) ? RemoveOptionalFromType(e) : e)); +} +function ResolveIntersect(e, t) { + return IsIntersectOptional(e) ? Optional(IntersectCreate(RemoveOptionalFromRest(e), t)) : IntersectCreate(RemoveOptionalFromRest(e), t); +} +function IntersectEvaluated(e, t = {}) { + if (e.length === 1) return CreateType(e[0], t); + if (e.length === 0) return Never(t); + if (e.some((e) => IsTransform(e))) throw new Error("Cannot intersect transform types"); + return ResolveIntersect(e, t); +} +function Literal(e, t) { + return CreateType({ [u]: "Literal", const: e, type: typeof e }, t); +} +function IsUnionOptional(e) { + return e.some((e) => IsOptional(e)); +} +function union_evaluated_RemoveOptionalFromRest(e) { + return e.map((e) => (IsOptional(e) ? union_evaluated_RemoveOptionalFromType(e) : e)); +} +function union_evaluated_RemoveOptionalFromType(e) { + return Discard(e, [a]); +} +function ResolveUnion(e, t) { + const r = IsUnionOptional(e); + return r ? Optional(UnionCreate(union_evaluated_RemoveOptionalFromRest(e), t)) : UnionCreate(union_evaluated_RemoveOptionalFromRest(e), t); +} +function UnionEvaluated(e, t) { + return e.length === 1 ? CreateType(e[0], t) : e.length === 0 ? Never(t) : ResolveUnion(e, t); +} +class TemplateLiteralParserError extends error_TypeBoxError {} +function Unescape(e) { + return e.replace(/\\\$/g, "$").replace(/\\\*/g, "*").replace(/\\\^/g, "^").replace(/\\\|/g, "|").replace(/\\\(/g, "(").replace(/\\\)/g, ")"); +} +function IsNonEscaped(e, t, r) { + return e[t] === r && e.charCodeAt(t - 1) !== 92; +} +function IsOpenParen(e, t) { + return IsNonEscaped(e, t, "("); +} +function IsCloseParen(e, t) { + return IsNonEscaped(e, t, ")"); +} +function IsSeparator(e, t) { + return IsNonEscaped(e, t, "|"); +} +function IsGroup(e) { + if (!(IsOpenParen(e, 0) && IsCloseParen(e, e.length - 1))) return false; + let t = 0; + for (let r = 0; r < e.length; r++) { + if (IsOpenParen(e, r)) t += 1; + if (IsCloseParen(e, r)) t -= 1; + if (t === 0 && r !== e.length - 1) return false; + } + return true; +} +function InGroup(e) { + return e.slice(1, e.length - 1); +} +function IsPrecedenceOr(e) { + let t = 0; + for (let r = 0; r < e.length; r++) { + if (IsOpenParen(e, r)) t += 1; + if (IsCloseParen(e, r)) t -= 1; + if (IsSeparator(e, r) && t === 0) return true; + } + return false; +} +function IsPrecedenceAnd(e) { + for (let t = 0; t < e.length; t++) { + if (IsOpenParen(e, t)) return true; + } + return false; +} +function Or(e) { + let [t, r] = [0, 0]; + const s = []; + for (let o = 0; o < e.length; o++) { + if (IsOpenParen(e, o)) t += 1; + if (IsCloseParen(e, o)) t -= 1; + if (IsSeparator(e, o) && t === 0) { + const t = e.slice(r, o); + if (t.length > 0) s.push(TemplateLiteralParse(t)); + r = o + 1; + } + } + const o = e.slice(r); + if (o.length > 0) s.push(TemplateLiteralParse(o)); + if (s.length === 0) return { type: "const", const: "" }; + if (s.length === 1) return s[0]; + return { type: "or", expr: s }; +} +function And(e) { + function Group(e, t) { + if (!IsOpenParen(e, t)) throw new TemplateLiteralParserError(`TemplateLiteralParser: Index must point to open parens`); + let r = 0; + for (let s = t; s < e.length; s++) { + if (IsOpenParen(e, s)) r += 1; + if (IsCloseParen(e, s)) r -= 1; + if (r === 0) return [t, s]; + } + throw new TemplateLiteralParserError(`TemplateLiteralParser: Unclosed group parens in expression`); + } + function Range(e, t) { + for (let r = t; r < e.length; r++) { + if (IsOpenParen(e, r)) return [t, r]; + } + return [t, e.length]; + } + const t = []; + for (let r = 0; r < e.length; r++) { + if (IsOpenParen(e, r)) { + const [s, o] = Group(e, r); + const n = e.slice(s, o + 1); + t.push(TemplateLiteralParse(n)); + r = o; + } else { + const [s, o] = Range(e, r); + const n = e.slice(s, o); + if (n.length > 0) t.push(TemplateLiteralParse(n)); + r = o - 1; + } + } + return t.length === 0 ? { type: "const", const: "" } : t.length === 1 ? t[0] : { type: "and", expr: t }; +} +function TemplateLiteralParse(e) { + return IsGroup(e) ? TemplateLiteralParse(InGroup(e)) : IsPrecedenceOr(e) ? Or(e) : IsPrecedenceAnd(e) ? And(e) : { type: "const", const: Unescape(e) }; +} +function TemplateLiteralParseExact(e) { + return TemplateLiteralParse(e.slice(1, e.length - 1)); +} +class TemplateLiteralFiniteError extends error_TypeBoxError {} +function IsNumberExpression(e) { + return ( + e.type === "or" && + e.expr.length === 2 && + e.expr[0].type === "const" && + e.expr[0].const === "0" && + e.expr[1].type === "const" && + e.expr[1].const === "[1-9][0-9]*" + ); +} +function IsBooleanExpression(e) { + return ( + e.type === "or" && + e.expr.length === 2 && + e.expr[0].type === "const" && + e.expr[0].const === "true" && + e.expr[1].type === "const" && + e.expr[1].const === "false" + ); +} +function IsStringExpression(e) { + return e.type === "const" && e.const === ".*"; +} +function IsTemplateLiteralExpressionFinite(e) { + return IsNumberExpression(e) || IsStringExpression(e) + ? false + : IsBooleanExpression(e) + ? true + : e.type === "and" + ? e.expr.every((e) => IsTemplateLiteralExpressionFinite(e)) + : e.type === "or" + ? e.expr.every((e) => IsTemplateLiteralExpressionFinite(e)) + : e.type === "const" + ? true + : (() => { + throw new TemplateLiteralFiniteError(`Unknown expression type`); + })(); +} +function IsTemplateLiteralFinite(e) { + const t = TemplateLiteralParseExact(e.pattern); + return IsTemplateLiteralExpressionFinite(t); +} +class TemplateLiteralGenerateError extends error_TypeBoxError {} +function* GenerateReduce(e) { + if (e.length === 1) return yield* e[0]; + for (const t of e[0]) { + for (const r of GenerateReduce(e.slice(1))) { + yield `${t}${r}`; + } + } +} +function* GenerateAnd(e) { + return yield* GenerateReduce(e.expr.map((e) => [...TemplateLiteralExpressionGenerate(e)])); +} +function* GenerateOr(e) { + for (const t of e.expr) yield* TemplateLiteralExpressionGenerate(t); +} +function* GenerateConst(e) { + return yield e.const; +} +function* TemplateLiteralExpressionGenerate(e) { + return e.type === "and" + ? yield* GenerateAnd(e) + : e.type === "or" + ? yield* GenerateOr(e) + : e.type === "const" + ? yield* GenerateConst(e) + : (() => { + throw new TemplateLiteralGenerateError("Unknown expression"); + })(); +} +function TemplateLiteralGenerate(e) { + const t = TemplateLiteralParseExact(e.pattern); + return IsTemplateLiteralExpressionFinite(t) ? [...TemplateLiteralExpressionGenerate(t)] : []; +} +function FromTemplateLiteral(e) { + const t = TemplateLiteralGenerate(e); + return t.map((e) => e.toString()); +} +function indexed_property_keys_FromUnion(e) { + const t = []; + for (const r of e) t.push(...IndexPropertyKeys(r)); + return t; +} +function FromLiteral(e) { + return [e.toString()]; +} +function IndexPropertyKeys(e) { + return [ + ...new Set( + IsTemplateLiteral(e) + ? FromTemplateLiteral(e) + : IsUnion(e) + ? indexed_property_keys_FromUnion(e.anyOf) + : IsLiteral(e) + ? FromLiteral(e.const) + : kind_IsNumber(e) + ? ["[number]"] + : kind_IsInteger(e) + ? ["[number]"] + : [] + ), + ]; +} +function MappedIndexPropertyKey(e, t, r) { + return { [t]: Index(e, [t], Clone(r)) }; +} +function MappedIndexPropertyKeys(e, t, r) { + return t.reduce((t, s) => ({ ...t, ...MappedIndexPropertyKey(e, s, r) }), {}); +} +function MappedIndexProperties(e, t, r) { + return MappedIndexPropertyKeys(e, t.keys, r); +} +function IndexFromMappedKey(e, t, r) { + const s = MappedIndexProperties(e, t, r); + return MappedResult(s); +} +function indexed_from_mapped_result_FromProperties(e, t, r) { + const s = {}; + for (const o of Object.getOwnPropertyNames(t)) { + const n = IndexPropertyKeys(t[o]); + s[o] = Index(e, n, r); + } + return s; +} +function indexed_from_mapped_result_FromMappedResult(e, t, r) { + return indexed_from_mapped_result_FromProperties(e, t.properties, r); +} +function IndexFromMappedResult(e, t, r) { + const s = indexed_from_mapped_result_FromMappedResult(e, t, r); + return MappedResult(s); +} +function indexed_FromRest(e, t) { + return e.map((e) => IndexFromPropertyKey(e, t)); +} +function FromIntersectRest(e) { + return e.filter((e) => !IsNever(e)); +} +function indexed_FromIntersect(e, t) { + return IntersectEvaluated(FromIntersectRest(indexed_FromRest(e, t))); +} +function FromUnionRest(e) { + return e.some((e) => IsNever(e)) ? [] : e; +} +function indexed_FromUnion(e, t) { + return UnionEvaluated(FromUnionRest(indexed_FromRest(e, t))); +} +function FromTuple(e, t) { + return t === "[number]" ? UnionEvaluated(e) : t in e ? e[t] : Never(); +} +function FromArray(e, t) { + return t === "[number]" ? e : Never(); +} +function FromProperty(e, t) { + return t in e ? e[t] : Never(); +} +function IndexFromPropertyKey(e, t) { + return IsIntersect(e) + ? indexed_FromIntersect(e.allOf, t) + : IsUnion(e) + ? indexed_FromUnion(e.anyOf, t) + : IsTuple(e) + ? FromTuple(e.items ?? [], t) + : kind_IsArray(e) + ? FromArray(e.items, t) + : kind_IsObject(e) + ? FromProperty(e.properties, t) + : Never(); +} +function IndexFromPropertyKeys(e, t) { + return t.map((t) => IndexFromPropertyKey(e, t)); +} +function FromType(e, t) { + const r = IndexFromPropertyKeys(e, t); + return UnionEvaluated(r); +} +function UnionFromPropertyKeys(e) { + const t = e.reduce((e, t) => (IsLiteralValue(t) ? [...e, Literal(t)] : e), []); + return UnionEvaluated(t); +} +function Index(e, t, r) { + const s = value_IsArray(t) ? UnionFromPropertyKeys(t) : t; + const o = IsSchema(t) ? IndexPropertyKeys(t) : t; + const n = IsRef(e); + const A = IsRef(t); + return IsMappedResult(t) + ? IndexFromMappedResult(e, t, r) + : IsMappedKey(t) + ? IndexFromMappedKey(e, t, r) + : n && A + ? Computed("Index", [e, s], r) + : !n && A + ? Computed("Index", [e, s], r) + : n && !A + ? Computed("Index", [e, s], r) + : CreateType(FromType(e, o), r); +} +function SetIncludes(e, t) { + return e.includes(t); +} +function SetIsSubset(e, t) { + return e.every((e) => SetIncludes(t, e)); +} +function SetDistinct(e) { + return [...new Set(e)]; +} +function SetIntersect(e, t) { + return e.filter((e) => t.includes(e)); +} +function SetUnion(e, t) { + return [...e, ...t]; +} +function SetComplement(e, t) { + return e.filter((e) => !t.includes(e)); +} +function SetIntersectManyResolve(e, t) { + return e.reduce((e, t) => SetIntersect(e, t), t); +} +function SetIntersectMany(e) { + return e.length === 1 ? e[0] : e.length > 1 ? SetIntersectManyResolve(e.slice(1), e[0]) : []; +} +function SetUnionMany(e) { + const t = []; + for (const r of e) t.push(...r); + return t; +} +function keyof_property_keys_FromRest(e) { + const t = []; + for (const r of e) t.push(KeyOfPropertyKeys(r)); + return t; +} +function keyof_property_keys_FromIntersect(e) { + const t = keyof_property_keys_FromRest(e); + const r = SetUnionMany(t); + return r; +} +function keyof_property_keys_FromUnion(e) { + const t = keyof_property_keys_FromRest(e); + const r = SetIntersectMany(t); + return r; +} +function keyof_property_keys_FromTuple(e) { + return e.map((e, t) => t.toString()); +} +function keyof_property_keys_FromArray(e) { + return ["[number]"]; +} +function keyof_property_keys_FromProperties(e) { + return globalThis.Object.getOwnPropertyNames(e); +} +function FromPatternProperties(e) { + if (!l) return []; + const t = globalThis.Object.getOwnPropertyNames(e); + return t.map((e) => (e[0] === "^" && e[e.length - 1] === "$" ? e.slice(1, e.length - 1) : e)); +} +function KeyOfPropertyKeys(e) { + return IsIntersect(e) + ? keyof_property_keys_FromIntersect(e.allOf) + : IsUnion(e) + ? keyof_property_keys_FromUnion(e.anyOf) + : IsTuple(e) + ? keyof_property_keys_FromTuple(e.items ?? []) + : kind_IsArray(e) + ? keyof_property_keys_FromArray(e.items) + : kind_IsObject(e) + ? keyof_property_keys_FromProperties(e.properties) + : IsRecord(e) + ? FromPatternProperties(e.patternProperties) + : []; +} +let l = false; +function KeyOfPattern(e) { + l = true; + const t = KeyOfPropertyKeys(e); + l = false; + const r = t.map((e) => `(${e})`); + return `^(${r.join("|")})$`; +} +function RequiredKeys(e) { + const t = []; + for (let r in e) { + if (!IsOptional(e[r])) t.push(r); + } + return t; +} +function _Object(e, t) { + const r = RequiredKeys(e); + const s = r.length > 0 ? { [u]: "Object", type: "object", properties: e, required: r } : { [u]: "Object", type: "object", properties: e }; + return CreateType(s, t); +} +var g = _Object; +function CompositeKeys(e) { + const t = []; + for (const r of e) t.push(...KeyOfPropertyKeys(r)); + return SetDistinct(t); +} +function FilterNever(e) { + return e.filter((e) => !IsNever(e)); +} +function CompositeProperty(e, t) { + const r = []; + for (const s of e) r.push(...IndexFromPropertyKeys(s, [t])); + return FilterNever(r); +} +function CompositeProperties(e, t) { + const r = {}; + for (const s of t) { + r[s] = IntersectEvaluated(CompositeProperty(e, s)); + } + return r; +} +function Composite(e, t) { + const r = CompositeKeys(e); + const s = CompositeProperties(e, r); + const o = g(s, t); + return o; +} +function date_Date(e) { + return CreateType({ [u]: "Date", type: "Date" }, e); +} +function function_Function(e, t, r) { + return CreateType({ [u]: "Function", type: "Function", parameters: e, returns: t }, r); +} +function Null(e) { + return CreateType({ [u]: "Null", type: "null" }, e); +} +function symbol_Symbol(e) { + return CreateType({ [u]: "Symbol", type: "symbol" }, e); +} +function Tuple(e, t) { + return CreateType( + e.length > 0 + ? { [u]: "Tuple", type: "array", items: e, additionalItems: false, minItems: e.length, maxItems: e.length } + : { [u]: "Tuple", type: "array", minItems: e.length, maxItems: e.length }, + t + ); +} +function readonly_from_mapped_result_FromProperties(e, t) { + const r = {}; + for (const s of globalThis.Object.getOwnPropertyNames(e)) r[s] = Readonly(e[s], t); + return r; +} +function readonly_from_mapped_result_FromMappedResult(e, t) { + return readonly_from_mapped_result_FromProperties(e.properties, t); +} +function ReadonlyFromMappedResult(e, t) { + const r = readonly_from_mapped_result_FromMappedResult(e, t); + return MappedResult(r); +} +function RemoveReadonly(e) { + return CreateType(Discard(e, [i])); +} +function AddReadonly(e) { + return CreateType({ ...e, [i]: "Readonly" }); +} +function ReadonlyWithFlag(e, t) { + return t === false ? RemoveReadonly(e) : AddReadonly(e); +} +function Readonly(e, t) { + const r = t ?? true; + return IsMappedResult(e) ? ReadonlyFromMappedResult(e, r) : ReadonlyWithFlag(e, r); +} +function Undefined(e) { + return CreateType({ [u]: "Undefined", type: "undefined" }, e); +} +function uint8array_Uint8Array(e) { + return CreateType({ [u]: "Uint8Array", type: "Uint8Array" }, e); +} +function Unknown(e) { + return CreateType({ [u]: "Unknown" }, e); +} +function const_FromArray(e) { + return e.map((e) => FromValue(e, false)); +} +function const_FromProperties(e) { + const t = {}; + for (const r of globalThis.Object.getOwnPropertyNames(e)) t[r] = Readonly(FromValue(e[r], false)); + return t; +} +function ConditionalReadonly(e, t) { + return t === true ? e : Readonly(e); +} +function FromValue(e, t) { + return value_IsAsyncIterator(e) + ? ConditionalReadonly(Any(), t) + : value_IsIterator(e) + ? ConditionalReadonly(Any(), t) + : value_IsArray(e) + ? Readonly(Tuple(const_FromArray(e))) + : value_IsUint8Array(e) + ? uint8array_Uint8Array() + : value_IsDate(e) + ? date_Date() + : value_IsObject(e) + ? ConditionalReadonly(g(const_FromProperties(e)), t) + : value_IsFunction(e) + ? ConditionalReadonly(function_Function([], Unknown()), t) + : value_IsUndefined(e) + ? Undefined() + : value_IsNull(e) + ? Null() + : value_IsSymbol(e) + ? symbol_Symbol() + : value_IsBigInt(e) + ? bigint_BigInt() + : value_IsNumber(e) + ? Literal(e) + : value_IsBoolean(e) + ? Literal(e) + : value_IsString(e) + ? Literal(e) + : g({}); +} +function Const(e, t) { + return CreateType(FromValue(e, true), t); +} +function Constructor(e, t, r) { + return CreateType({ [u]: "Constructor", type: "Constructor", parameters: e, returns: t }, r); +} +function ConstructorParameters(e, t) { + return Tuple(e.parameters, t); +} +function Enum(e, t) { + if (value_IsUndefined(e)) throw new Error("Enum undefined or empty"); + const r = globalThis.Object.getOwnPropertyNames(e) + .filter((e) => isNaN(e)) + .map((t) => e[t]); + const s = [...new Set(r)]; + const o = s.map((e) => Literal(e)); + return Union(o, { ...t, [c]: "Enum" }); +} +function number_Number(e) { + return CreateType({ [u]: "Number", type: "number" }, e); +} +function string_String(e) { + return CreateType({ [u]: "String", type: "string" }, e); +} +function TemplateLiteralToUnion(e) { + const t = TemplateLiteralGenerate(e); + const r = t.map((e) => Literal(e)); + return UnionEvaluated(r); +} +const p = "(true|false)"; +const d = "(0|[1-9][0-9]*)"; +const E = "(.*)"; +const h = "(?!.*)"; +const I = null && `^${p}$`; +const C = `^${d}$`; +const m = `^${E}$`; +const Q = `^${h}$`; +class TypeGuardUnknownTypeError extends (null && TypeBoxError) {} +const B = [ + "Any", + "Array", + "AsyncIterator", + "BigInt", + "Boolean", + "Computed", + "Constructor", + "Date", + "Enum", + "Function", + "Integer", + "Intersect", + "Iterator", + "Literal", + "MappedKey", + "MappedResult", + "Not", + "Null", + "Number", + "Object", + "Promise", + "Record", + "Ref", + "RegExp", + "String", + "Symbol", + "TemplateLiteral", + "This", + "Tuple", + "Undefined", + "Union", + "Uint8Array", + "Unknown", + "Void", +]; +function IsPattern(e) { + try { + new RegExp(e); + return true; + } catch { + return false; + } +} +function IsControlCharacterFree(e) { + if (!value_IsString(e)) return false; + for (let t = 0; t < e.length; t++) { + const r = e.charCodeAt(t); + if ((r >= 7 && r <= 13) || r === 27 || r === 127) { + return false; + } + } + return true; +} +function IsAdditionalProperties(e) { + return IsOptionalBoolean(e) || type_IsSchema(e); +} +function IsOptionalBigInt(e) { + return value_IsUndefined(e) || value_IsBigInt(e); +} +function IsOptionalNumber(e) { + return value_IsUndefined(e) || value_IsNumber(e); +} +function IsOptionalBoolean(e) { + return value_IsUndefined(e) || value_IsBoolean(e); +} +function IsOptionalString(e) { + return value_IsUndefined(e) || value_IsString(e); +} +function IsOptionalPattern(e) { + return value_IsUndefined(e) || (value_IsString(e) && IsControlCharacterFree(e) && IsPattern(e)); +} +function IsOptionalFormat(e) { + return value_IsUndefined(e) || (value_IsString(e) && IsControlCharacterFree(e)); +} +function IsOptionalSchema(e) { + return value_IsUndefined(e) || type_IsSchema(e); +} +function type_IsReadonly(e) { + return ValueGuard.IsObject(e) && e[ReadonlyKind] === "Readonly"; +} +function type_IsOptional(e) { + return value_IsObject(e) && e[a] === "Optional"; +} +function type_IsAny(e) { + return type_IsKindOf(e, "Any") && IsOptionalString(e.$id); +} +function type_IsArray(e) { + return ( + type_IsKindOf(e, "Array") && + e.type === "array" && + IsOptionalString(e.$id) && + type_IsSchema(e.items) && + IsOptionalNumber(e.minItems) && + IsOptionalNumber(e.maxItems) && + IsOptionalBoolean(e.uniqueItems) && + IsOptionalSchema(e.contains) && + IsOptionalNumber(e.minContains) && + IsOptionalNumber(e.maxContains) + ); +} +function type_IsAsyncIterator(e) { + return type_IsKindOf(e, "AsyncIterator") && e.type === "AsyncIterator" && IsOptionalString(e.$id) && type_IsSchema(e.items); +} +function type_IsBigInt(e) { + return ( + type_IsKindOf(e, "BigInt") && + e.type === "bigint" && + IsOptionalString(e.$id) && + IsOptionalBigInt(e.exclusiveMaximum) && + IsOptionalBigInt(e.exclusiveMinimum) && + IsOptionalBigInt(e.maximum) && + IsOptionalBigInt(e.minimum) && + IsOptionalBigInt(e.multipleOf) + ); +} +function type_IsBoolean(e) { + return type_IsKindOf(e, "Boolean") && e.type === "boolean" && IsOptionalString(e.$id); +} +function type_IsComputed(e) { + return type_IsKindOf(e, "Computed") && value_IsString(e.target) && value_IsArray(e.parameters) && e.parameters.every((e) => type_IsSchema(e)); +} +function type_IsConstructor(e) { + return ( + type_IsKindOf(e, "Constructor") && + e.type === "Constructor" && + IsOptionalString(e.$id) && + value_IsArray(e.parameters) && + e.parameters.every((e) => type_IsSchema(e)) && + type_IsSchema(e.returns) + ); +} +function type_IsDate(e) { + return ( + type_IsKindOf(e, "Date") && + e.type === "Date" && + IsOptionalString(e.$id) && + IsOptionalNumber(e.exclusiveMaximumTimestamp) && + IsOptionalNumber(e.exclusiveMinimumTimestamp) && + IsOptionalNumber(e.maximumTimestamp) && + IsOptionalNumber(e.minimumTimestamp) && + IsOptionalNumber(e.multipleOfTimestamp) + ); +} +function type_IsFunction(e) { + return ( + type_IsKindOf(e, "Function") && + e.type === "Function" && + IsOptionalString(e.$id) && + value_IsArray(e.parameters) && + e.parameters.every((e) => type_IsSchema(e)) && + type_IsSchema(e.returns) + ); +} +function type_IsImport(e) { + return ( + type_IsKindOf(e, "Import") && + ValueGuard.HasPropertyKey(e, "$defs") && + ValueGuard.IsObject(e.$defs) && + type_IsProperties(e.$defs) && + ValueGuard.HasPropertyKey(e, "$ref") && + ValueGuard.IsString(e.$ref) && + e.$ref in e.$defs + ); +} +function type_IsInteger(e) { + return ( + type_IsKindOf(e, "Integer") && + e.type === "integer" && + IsOptionalString(e.$id) && + IsOptionalNumber(e.exclusiveMaximum) && + IsOptionalNumber(e.exclusiveMinimum) && + IsOptionalNumber(e.maximum) && + IsOptionalNumber(e.minimum) && + IsOptionalNumber(e.multipleOf) + ); +} +function type_IsProperties(e) { + return value_IsObject(e) && Object.entries(e).every(([e, t]) => IsControlCharacterFree(e) && type_IsSchema(t)); +} +function type_IsIntersect(e) { + return ( + type_IsKindOf(e, "Intersect") && + (value_IsString(e.type) && e.type !== "object" ? false : true) && + value_IsArray(e.allOf) && + e.allOf.every((e) => type_IsSchema(e) && !type_IsTransform(e)) && + IsOptionalString(e.type) && + (IsOptionalBoolean(e.unevaluatedProperties) || IsOptionalSchema(e.unevaluatedProperties)) && + IsOptionalString(e.$id) + ); +} +function type_IsIterator(e) { + return type_IsKindOf(e, "Iterator") && e.type === "Iterator" && IsOptionalString(e.$id) && type_IsSchema(e.items); +} +function type_IsKindOf(e, t) { + return value_IsObject(e) && u in e && e[u] === t; +} +function type_IsLiteralString(e) { + return type_IsLiteral(e) && value_IsString(e.const); +} +function type_IsLiteralNumber(e) { + return type_IsLiteral(e) && value_IsNumber(e.const); +} +function type_IsLiteralBoolean(e) { + return type_IsLiteral(e) && value_IsBoolean(e.const); +} +function type_IsLiteral(e) { + return type_IsKindOf(e, "Literal") && IsOptionalString(e.$id) && type_IsLiteralValue(e.const); +} +function type_IsLiteralValue(e) { + return value_IsBoolean(e) || value_IsNumber(e) || value_IsString(e); +} +function type_IsMappedKey(e) { + return type_IsKindOf(e, "MappedKey") && value_IsArray(e.keys) && e.keys.every((e) => value_IsNumber(e) || value_IsString(e)); +} +function type_IsMappedResult(e) { + return type_IsKindOf(e, "MappedResult") && type_IsProperties(e.properties); +} +function type_IsNever(e) { + return type_IsKindOf(e, "Never") && value_IsObject(e.not) && Object.getOwnPropertyNames(e.not).length === 0; +} +function type_IsNot(e) { + return type_IsKindOf(e, "Not") && type_IsSchema(e.not); +} +function type_IsNull(e) { + return type_IsKindOf(e, "Null") && e.type === "null" && IsOptionalString(e.$id); +} +function type_IsNumber(e) { + return ( + type_IsKindOf(e, "Number") && + e.type === "number" && + IsOptionalString(e.$id) && + IsOptionalNumber(e.exclusiveMaximum) && + IsOptionalNumber(e.exclusiveMinimum) && + IsOptionalNumber(e.maximum) && + IsOptionalNumber(e.minimum) && + IsOptionalNumber(e.multipleOf) + ); +} +function type_IsObject(e) { + return ( + type_IsKindOf(e, "Object") && + e.type === "object" && + IsOptionalString(e.$id) && + type_IsProperties(e.properties) && + IsAdditionalProperties(e.additionalProperties) && + IsOptionalNumber(e.minProperties) && + IsOptionalNumber(e.maxProperties) + ); +} +function type_IsPromise(e) { + return type_IsKindOf(e, "Promise") && e.type === "Promise" && IsOptionalString(e.$id) && type_IsSchema(e.item); +} +function type_IsRecord(e) { + return ( + type_IsKindOf(e, "Record") && + e.type === "object" && + IsOptionalString(e.$id) && + IsAdditionalProperties(e.additionalProperties) && + value_IsObject(e.patternProperties) && + ((e) => { + const t = Object.getOwnPropertyNames(e.patternProperties); + return t.length === 1 && IsPattern(t[0]) && value_IsObject(e.patternProperties) && type_IsSchema(e.patternProperties[t[0]]); + })(e) + ); +} +function type_IsRecursive(e) { + return ValueGuard.IsObject(e) && Hint in e && e[Hint] === "Recursive"; +} +function type_IsRef(e) { + return type_IsKindOf(e, "Ref") && IsOptionalString(e.$id) && value_IsString(e.$ref); +} +function type_IsRegExp(e) { + return ( + type_IsKindOf(e, "RegExp") && + IsOptionalString(e.$id) && + value_IsString(e.source) && + value_IsString(e.flags) && + IsOptionalNumber(e.maxLength) && + IsOptionalNumber(e.minLength) + ); +} +function type_IsString(e) { + return ( + type_IsKindOf(e, "String") && + e.type === "string" && + IsOptionalString(e.$id) && + IsOptionalNumber(e.minLength) && + IsOptionalNumber(e.maxLength) && + IsOptionalPattern(e.pattern) && + IsOptionalFormat(e.format) + ); +} +function type_IsSymbol(e) { + return type_IsKindOf(e, "Symbol") && e.type === "symbol" && IsOptionalString(e.$id); +} +function type_IsTemplateLiteral(e) { + return ( + type_IsKindOf(e, "TemplateLiteral") && e.type === "string" && value_IsString(e.pattern) && e.pattern[0] === "^" && e.pattern[e.pattern.length - 1] === "$" + ); +} +function type_IsThis(e) { + return type_IsKindOf(e, "This") && IsOptionalString(e.$id) && value_IsString(e.$ref); +} +function type_IsTransform(e) { + return value_IsObject(e) && A in e; +} +function type_IsTuple(e) { + return ( + type_IsKindOf(e, "Tuple") && + e.type === "array" && + IsOptionalString(e.$id) && + value_IsNumber(e.minItems) && + value_IsNumber(e.maxItems) && + e.minItems === e.maxItems && + ((value_IsUndefined(e.items) && value_IsUndefined(e.additionalItems) && e.minItems === 0) || + (value_IsArray(e.items) && e.items.every((e) => type_IsSchema(e)))) + ); +} +function type_IsUndefined(e) { + return type_IsKindOf(e, "Undefined") && e.type === "undefined" && IsOptionalString(e.$id); +} +function IsUnionLiteral(e) { + return type_IsUnion(e) && e.anyOf.every((e) => type_IsLiteralString(e) || type_IsLiteralNumber(e)); +} +function type_IsUnion(e) { + return type_IsKindOf(e, "Union") && IsOptionalString(e.$id) && value_IsObject(e) && value_IsArray(e.anyOf) && e.anyOf.every((e) => type_IsSchema(e)); +} +function type_IsUint8Array(e) { + return ( + type_IsKindOf(e, "Uint8Array") && + e.type === "Uint8Array" && + IsOptionalString(e.$id) && + IsOptionalNumber(e.minByteLength) && + IsOptionalNumber(e.maxByteLength) + ); +} +function type_IsUnknown(e) { + return type_IsKindOf(e, "Unknown") && IsOptionalString(e.$id); +} +function type_IsUnsafe(e) { + return type_IsKindOf(e, "Unsafe"); +} +function type_IsVoid(e) { + return type_IsKindOf(e, "Void") && e.type === "void" && IsOptionalString(e.$id); +} +function type_IsKind(e) { + return value_IsObject(e) && u in e && value_IsString(e[u]) && !B.includes(e[u]); +} +function type_IsSchema(e) { + return ( + value_IsObject(e) && + (type_IsAny(e) || + type_IsArray(e) || + type_IsBoolean(e) || + type_IsBigInt(e) || + type_IsAsyncIterator(e) || + type_IsComputed(e) || + type_IsConstructor(e) || + type_IsDate(e) || + type_IsFunction(e) || + type_IsInteger(e) || + type_IsIntersect(e) || + type_IsIterator(e) || + type_IsLiteral(e) || + type_IsMappedKey(e) || + type_IsMappedResult(e) || + type_IsNever(e) || + type_IsNot(e) || + type_IsNull(e) || + type_IsNumber(e) || + type_IsObject(e) || + type_IsPromise(e) || + type_IsRecord(e) || + type_IsRef(e) || + type_IsRegExp(e) || + type_IsString(e) || + type_IsSymbol(e) || + type_IsTemplateLiteral(e) || + type_IsThis(e) || + type_IsTuple(e) || + type_IsUndefined(e) || + type_IsUnion(e) || + type_IsUint8Array(e) || + type_IsUnknown(e) || + type_IsUnsafe(e) || + type_IsVoid(e) || + type_IsKind(e)) + ); +} +class ExtendsResolverError extends error_TypeBoxError {} +var y; +(function (e) { + e[(e["Union"] = 0)] = "Union"; + e[(e["True"] = 1)] = "True"; + e[(e["False"] = 2)] = "False"; +})(y || (y = {})); +function IntoBooleanResult(e) { + return e === y.False ? e : y.True; +} +function Throw(e) { + throw new ExtendsResolverError(e); +} +function IsStructuralRight(e) { + return type_IsNever(e) || type_IsIntersect(e) || type_IsUnion(e) || type_IsUnknown(e) || type_IsAny(e); +} +function StructuralRight(e, t) { + return type_IsNever(t) + ? FromNeverRight(e, t) + : type_IsIntersect(t) + ? FromIntersectRight(e, t) + : type_IsUnion(t) + ? FromUnionRight(e, t) + : type_IsUnknown(t) + ? FromUnknownRight(e, t) + : type_IsAny(t) + ? FromAnyRight(e, t) + : Throw("StructuralRight"); +} +function FromAnyRight(e, t) { + return y.True; +} +function FromAny(e, t) { + return type_IsIntersect(t) + ? FromIntersectRight(e, t) + : type_IsUnion(t) && t.anyOf.some((e) => type_IsAny(e) || type_IsUnknown(e)) + ? y.True + : type_IsUnion(t) + ? y.Union + : type_IsUnknown(t) + ? y.True + : type_IsAny(t) + ? y.True + : y.Union; +} +function FromArrayRight(e, t) { + return type_IsUnknown(e) ? y.False : type_IsAny(e) ? y.Union : type_IsNever(e) ? y.True : y.False; +} +function extends_check_FromArray(e, t) { + return type_IsObject(t) && IsObjectArrayLike(t) + ? y.True + : IsStructuralRight(t) + ? StructuralRight(e, t) + : !type_IsArray(t) + ? y.False + : IntoBooleanResult(extends_check_Visit(e.items, t.items)); +} +function FromAsyncIterator(e, t) { + return IsStructuralRight(t) ? StructuralRight(e, t) : !type_IsAsyncIterator(t) ? y.False : IntoBooleanResult(extends_check_Visit(e.items, t.items)); +} +function FromBigInt(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : type_IsBigInt(t) + ? y.True + : y.False; +} +function FromBooleanRight(e, t) { + return type_IsLiteralBoolean(e) ? y.True : type_IsBoolean(e) ? y.True : y.False; +} +function FromBoolean(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : type_IsBoolean(t) + ? y.True + : y.False; +} +function FromConstructor(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : !type_IsConstructor(t) + ? y.False + : e.parameters.length > t.parameters.length + ? y.False + : !e.parameters.every((e, r) => IntoBooleanResult(extends_check_Visit(t.parameters[r], e)) === y.True) + ? y.False + : IntoBooleanResult(extends_check_Visit(e.returns, t.returns)); +} +function FromDate(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : type_IsDate(t) + ? y.True + : y.False; +} +function FromFunction(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : !type_IsFunction(t) + ? y.False + : e.parameters.length > t.parameters.length + ? y.False + : !e.parameters.every((e, r) => IntoBooleanResult(extends_check_Visit(t.parameters[r], e)) === y.True) + ? y.False + : IntoBooleanResult(extends_check_Visit(e.returns, t.returns)); +} +function FromIntegerRight(e, t) { + return type_IsLiteral(e) && value_IsNumber(e.const) ? y.True : type_IsNumber(e) || type_IsInteger(e) ? y.True : y.False; +} +function FromInteger(e, t) { + return type_IsInteger(t) || type_IsNumber(t) + ? y.True + : IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : y.False; +} +function FromIntersectRight(e, t) { + return t.allOf.every((t) => extends_check_Visit(e, t) === y.True) ? y.True : y.False; +} +function extends_check_FromIntersect(e, t) { + return e.allOf.some((e) => extends_check_Visit(e, t) === y.True) ? y.True : y.False; +} +function FromIterator(e, t) { + return IsStructuralRight(t) ? StructuralRight(e, t) : !type_IsIterator(t) ? y.False : IntoBooleanResult(extends_check_Visit(e.items, t.items)); +} +function extends_check_FromLiteral(e, t) { + return type_IsLiteral(t) && t.const === e.const + ? y.True + : IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : type_IsString(t) + ? FromStringRight(e, t) + : type_IsNumber(t) + ? FromNumberRight(e, t) + : type_IsInteger(t) + ? FromIntegerRight(e, t) + : type_IsBoolean(t) + ? FromBooleanRight(e, t) + : y.False; +} +function FromNeverRight(e, t) { + return y.False; +} +function FromNever(e, t) { + return y.True; +} +function UnwrapTNot(e) { + let [t, r] = [e, 0]; + while (true) { + if (!type_IsNot(t)) break; + t = t.not; + r += 1; + } + return r % 2 === 0 ? t : Unknown(); +} +function FromNot(e, t) { + return type_IsNot(e) ? extends_check_Visit(UnwrapTNot(e), t) : type_IsNot(t) ? extends_check_Visit(e, UnwrapTNot(t)) : Throw("Invalid fallthrough for Not"); +} +function FromNull(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : type_IsNull(t) + ? y.True + : y.False; +} +function FromNumberRight(e, t) { + return type_IsLiteralNumber(e) ? y.True : type_IsNumber(e) || type_IsInteger(e) ? y.True : y.False; +} +function FromNumber(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : type_IsInteger(t) || type_IsNumber(t) + ? y.True + : y.False; +} +function IsObjectPropertyCount(e, t) { + return Object.getOwnPropertyNames(e.properties).length === t; +} +function IsObjectStringLike(e) { + return IsObjectArrayLike(e); +} +function IsObjectSymbolLike(e) { + return ( + IsObjectPropertyCount(e, 0) || + (IsObjectPropertyCount(e, 1) && + "description" in e.properties && + type_IsUnion(e.properties.description) && + e.properties.description.anyOf.length === 2 && + ((type_IsString(e.properties.description.anyOf[0]) && type_IsUndefined(e.properties.description.anyOf[1])) || + (type_IsString(e.properties.description.anyOf[1]) && type_IsUndefined(e.properties.description.anyOf[0])))) + ); +} +function IsObjectNumberLike(e) { + return IsObjectPropertyCount(e, 0); +} +function IsObjectBooleanLike(e) { + return IsObjectPropertyCount(e, 0); +} +function IsObjectBigIntLike(e) { + return IsObjectPropertyCount(e, 0); +} +function IsObjectDateLike(e) { + return IsObjectPropertyCount(e, 0); +} +function IsObjectUint8ArrayLike(e) { + return IsObjectArrayLike(e); +} +function IsObjectFunctionLike(e) { + const t = number_Number(); + return ( + IsObjectPropertyCount(e, 0) || + (IsObjectPropertyCount(e, 1) && "length" in e.properties && IntoBooleanResult(extends_check_Visit(e.properties["length"], t)) === y.True) + ); +} +function IsObjectConstructorLike(e) { + return IsObjectPropertyCount(e, 0); +} +function IsObjectArrayLike(e) { + const t = number_Number(); + return ( + IsObjectPropertyCount(e, 0) || + (IsObjectPropertyCount(e, 1) && "length" in e.properties && IntoBooleanResult(extends_check_Visit(e.properties["length"], t)) === y.True) + ); +} +function IsObjectPromiseLike(e) { + const t = function_Function([Any()], Any()); + return ( + IsObjectPropertyCount(e, 0) || + (IsObjectPropertyCount(e, 1) && "then" in e.properties && IntoBooleanResult(extends_check_Visit(e.properties["then"], t)) === y.True) + ); +} +function Property(e, t) { + return extends_check_Visit(e, t) === y.False ? y.False : type_IsOptional(e) && !type_IsOptional(t) ? y.False : y.True; +} +function FromObjectRight(e, t) { + return type_IsUnknown(e) + ? y.False + : type_IsAny(e) + ? y.Union + : type_IsNever(e) || + (type_IsLiteralString(e) && IsObjectStringLike(t)) || + (type_IsLiteralNumber(e) && IsObjectNumberLike(t)) || + (type_IsLiteralBoolean(e) && IsObjectBooleanLike(t)) || + (type_IsSymbol(e) && IsObjectSymbolLike(t)) || + (type_IsBigInt(e) && IsObjectBigIntLike(t)) || + (type_IsString(e) && IsObjectStringLike(t)) || + (type_IsSymbol(e) && IsObjectSymbolLike(t)) || + (type_IsNumber(e) && IsObjectNumberLike(t)) || + (type_IsInteger(e) && IsObjectNumberLike(t)) || + (type_IsBoolean(e) && IsObjectBooleanLike(t)) || + (type_IsUint8Array(e) && IsObjectUint8ArrayLike(t)) || + (type_IsDate(e) && IsObjectDateLike(t)) || + (type_IsConstructor(e) && IsObjectConstructorLike(t)) || + (type_IsFunction(e) && IsObjectFunctionLike(t)) + ? y.True + : type_IsRecord(e) && type_IsString(RecordKey(e)) + ? (() => (t[c] === "Record" ? y.True : y.False))() + : type_IsRecord(e) && type_IsNumber(RecordKey(e)) + ? (() => (IsObjectPropertyCount(t, 0) ? y.True : y.False))() + : y.False; +} +function FromObject(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : !type_IsObject(t) + ? y.False + : (() => { + for (const r of Object.getOwnPropertyNames(t.properties)) { + if (!(r in e.properties) && !type_IsOptional(t.properties[r])) { + return y.False; + } + if (type_IsOptional(t.properties[r])) { + return y.True; + } + if (Property(e.properties[r], t.properties[r]) === y.False) { + return y.False; + } + } + return y.True; + })(); +} +function extends_check_FromPromise(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) && IsObjectPromiseLike(t) + ? y.True + : !type_IsPromise(t) + ? y.False + : IntoBooleanResult(extends_check_Visit(e.item, t.item)); +} +function RecordKey(e) { + return C in e.patternProperties ? number_Number() : m in e.patternProperties ? string_String() : Throw("Unknown record key pattern"); +} +function RecordValue(e) { + return C in e.patternProperties ? e.patternProperties[C] : m in e.patternProperties ? e.patternProperties[m] : Throw("Unable to get record value schema"); +} +function FromRecordRight(e, t) { + const [r, s] = [RecordKey(t), RecordValue(t)]; + return type_IsLiteralString(e) && type_IsNumber(r) && IntoBooleanResult(extends_check_Visit(e, s)) === y.True + ? y.True + : type_IsUint8Array(e) && type_IsNumber(r) + ? extends_check_Visit(e, s) + : type_IsString(e) && type_IsNumber(r) + ? extends_check_Visit(e, s) + : type_IsArray(e) && type_IsNumber(r) + ? extends_check_Visit(e, s) + : type_IsObject(e) + ? (() => { + for (const t of Object.getOwnPropertyNames(e.properties)) { + if (Property(s, e.properties[t]) === y.False) { + return y.False; + } + } + return y.True; + })() + : y.False; +} +function FromRecord(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : !type_IsRecord(t) + ? y.False + : extends_check_Visit(RecordValue(e), RecordValue(t)); +} +function FromRegExp(e, t) { + const r = type_IsRegExp(e) ? string_String() : e; + const s = type_IsRegExp(t) ? string_String() : t; + return extends_check_Visit(r, s); +} +function FromStringRight(e, t) { + return type_IsLiteral(e) && value_IsString(e.const) ? y.True : type_IsString(e) ? y.True : y.False; +} +function FromString(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : type_IsString(t) + ? y.True + : y.False; +} +function FromSymbol(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : type_IsSymbol(t) + ? y.True + : y.False; +} +function extends_check_FromTemplateLiteral(e, t) { + return type_IsTemplateLiteral(e) + ? extends_check_Visit(TemplateLiteralToUnion(e), t) + : type_IsTemplateLiteral(t) + ? extends_check_Visit(e, TemplateLiteralToUnion(t)) + : Throw("Invalid fallthrough for TemplateLiteral"); +} +function IsArrayOfTuple(e, t) { + return type_IsArray(t) && e.items !== undefined && e.items.every((e) => extends_check_Visit(e, t.items) === y.True); +} +function FromTupleRight(e, t) { + return type_IsNever(e) ? y.True : type_IsUnknown(e) ? y.False : type_IsAny(e) ? y.Union : y.False; +} +function extends_check_FromTuple(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) && IsObjectArrayLike(t) + ? y.True + : type_IsArray(t) && IsArrayOfTuple(e, t) + ? y.True + : !type_IsTuple(t) + ? y.False + : (value_IsUndefined(e.items) && !value_IsUndefined(t.items)) || (!value_IsUndefined(e.items) && value_IsUndefined(t.items)) + ? y.False + : value_IsUndefined(e.items) && !value_IsUndefined(t.items) + ? y.True + : e.items.every((e, r) => extends_check_Visit(e, t.items[r]) === y.True) + ? y.True + : y.False; +} +function FromUint8Array(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : type_IsUint8Array(t) + ? y.True + : y.False; +} +function FromUndefined(e, t) { + return IsStructuralRight(t) + ? StructuralRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsRecord(t) + ? FromRecordRight(e, t) + : type_IsVoid(t) + ? FromVoidRight(e, t) + : type_IsUndefined(t) + ? y.True + : y.False; +} +function FromUnionRight(e, t) { + return t.anyOf.some((t) => extends_check_Visit(e, t) === y.True) ? y.True : y.False; +} +function extends_check_FromUnion(e, t) { + return e.anyOf.every((e) => extends_check_Visit(e, t) === y.True) ? y.True : y.False; +} +function FromUnknownRight(e, t) { + return y.True; +} +function FromUnknown(e, t) { + return type_IsNever(t) + ? FromNeverRight(e, t) + : type_IsIntersect(t) + ? FromIntersectRight(e, t) + : type_IsUnion(t) + ? FromUnionRight(e, t) + : type_IsAny(t) + ? FromAnyRight(e, t) + : type_IsString(t) + ? FromStringRight(e, t) + : type_IsNumber(t) + ? FromNumberRight(e, t) + : type_IsInteger(t) + ? FromIntegerRight(e, t) + : type_IsBoolean(t) + ? FromBooleanRight(e, t) + : type_IsArray(t) + ? FromArrayRight(e, t) + : type_IsTuple(t) + ? FromTupleRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsUnknown(t) + ? y.True + : y.False; +} +function FromVoidRight(e, t) { + return type_IsUndefined(e) ? y.True : type_IsUndefined(e) ? y.True : y.False; +} +function FromVoid(e, t) { + return type_IsIntersect(t) + ? FromIntersectRight(e, t) + : type_IsUnion(t) + ? FromUnionRight(e, t) + : type_IsUnknown(t) + ? FromUnknownRight(e, t) + : type_IsAny(t) + ? FromAnyRight(e, t) + : type_IsObject(t) + ? FromObjectRight(e, t) + : type_IsVoid(t) + ? y.True + : y.False; +} +function extends_check_Visit(e, t) { + return type_IsTemplateLiteral(e) || type_IsTemplateLiteral(t) + ? extends_check_FromTemplateLiteral(e, t) + : type_IsRegExp(e) || type_IsRegExp(t) + ? FromRegExp(e, t) + : type_IsNot(e) || type_IsNot(t) + ? FromNot(e, t) + : type_IsAny(e) + ? FromAny(e, t) + : type_IsArray(e) + ? extends_check_FromArray(e, t) + : type_IsBigInt(e) + ? FromBigInt(e, t) + : type_IsBoolean(e) + ? FromBoolean(e, t) + : type_IsAsyncIterator(e) + ? FromAsyncIterator(e, t) + : type_IsConstructor(e) + ? FromConstructor(e, t) + : type_IsDate(e) + ? FromDate(e, t) + : type_IsFunction(e) + ? FromFunction(e, t) + : type_IsInteger(e) + ? FromInteger(e, t) + : type_IsIntersect(e) + ? extends_check_FromIntersect(e, t) + : type_IsIterator(e) + ? FromIterator(e, t) + : type_IsLiteral(e) + ? extends_check_FromLiteral(e, t) + : type_IsNever(e) + ? FromNever(e, t) + : type_IsNull(e) + ? FromNull(e, t) + : type_IsNumber(e) + ? FromNumber(e, t) + : type_IsObject(e) + ? FromObject(e, t) + : type_IsRecord(e) + ? FromRecord(e, t) + : type_IsString(e) + ? FromString(e, t) + : type_IsSymbol(e) + ? FromSymbol(e, t) + : type_IsTuple(e) + ? extends_check_FromTuple(e, t) + : type_IsPromise(e) + ? extends_check_FromPromise(e, t) + : type_IsUint8Array(e) + ? FromUint8Array(e, t) + : type_IsUndefined(e) + ? FromUndefined(e, t) + : type_IsUnion(e) + ? extends_check_FromUnion(e, t) + : type_IsUnknown(e) + ? FromUnknown(e, t) + : type_IsVoid(e) + ? FromVoid(e, t) + : Throw(`Unknown left type operand '${e[u]}'`); +} +function ExtendsCheck(e, t) { + return extends_check_Visit(e, t); +} +function exclude_from_mapped_result_FromProperties(e, t) { + const r = {}; + for (const s of globalThis.Object.getOwnPropertyNames(e)) r[s] = Exclude(e[s], t); + return r; +} +function exclude_from_mapped_result_FromMappedResult(e, t) { + return exclude_from_mapped_result_FromProperties(e.properties, t); +} +function ExcludeFromMappedResult(e, t) { + const r = exclude_from_mapped_result_FromMappedResult(e, t); + return MappedResult(r); +} +function ExcludeFromTemplateLiteral(e, t) { + return Exclude(TemplateLiteralToUnion(e), t); +} +function ExcludeRest(e, t) { + const r = e.filter((e) => ExtendsCheck(e, t) === y.False); + return r.length === 1 ? r[0] : Union(r); +} +function Exclude(e, t, r = {}) { + if (IsTemplateLiteral(e)) return CreateType(ExcludeFromTemplateLiteral(e, t), r); + if (IsMappedResult(e)) return CreateType(ExcludeFromMappedResult(e, t), r); + return CreateType(IsUnion(e) ? ExcludeRest(e.anyOf, t) : ExtendsCheck(e, t) !== y.False ? Never() : e, r); +} +function FromPropertyKey(e, t, r, s, o) { + return { [e]: Extends(Literal(e), t, r, s, Clone(o)) }; +} +function FromPropertyKeys(e, t, r, s, o) { + return e.reduce((e, n) => ({ ...e, ...FromPropertyKey(n, t, r, s, o) }), {}); +} +function FromMappedKey(e, t, r, s, o) { + return FromPropertyKeys(e.keys, t, r, s, o); +} +function ExtendsFromMappedKey(e, t, r, s, o) { + const n = FromMappedKey(e, t, r, s, o); + return MappedResult(n); +} +function extends_from_mapped_result_FromProperties(e, t, r, s, o) { + const n = {}; + for (const A of globalThis.Object.getOwnPropertyNames(e)) n[A] = Extends(e[A], t, r, s, Clone(o)); + return n; +} +function extends_from_mapped_result_FromMappedResult(e, t, r, s, o) { + return extends_from_mapped_result_FromProperties(e.properties, t, r, s, o); +} +function ExtendsFromMappedResult(e, t, r, s, o) { + const n = extends_from_mapped_result_FromMappedResult(e, t, r, s, o); + return MappedResult(n); +} +function ExtendsResolve(e, t, r, s) { + const o = ExtendsCheck(e, t); + return o === y.Union ? Union([r, s]) : o === y.True ? r : s; +} +function Extends(e, t, r, s, o) { + return IsMappedResult(e) + ? ExtendsFromMappedResult(e, t, r, s, o) + : IsMappedKey(e) + ? CreateType(ExtendsFromMappedKey(e, t, r, s, o)) + : CreateType(ExtendsResolve(e, t, r, s), o); +} +function extract_from_mapped_result_FromProperties(e, t) { + const r = {}; + for (const s of globalThis.Object.getOwnPropertyNames(e)) r[s] = Extract(e[s], t); + return r; +} +function extract_from_mapped_result_FromMappedResult(e, t) { + return extract_from_mapped_result_FromProperties(e.properties, t); +} +function ExtractFromMappedResult(e, t) { + const r = extract_from_mapped_result_FromMappedResult(e, t); + return MappedResult(r); +} +function ExtractFromTemplateLiteral(e, t) { + return Extract(TemplateLiteralToUnion(e), t); +} +function ExtractRest(e, t) { + const r = e.filter((e) => ExtendsCheck(e, t) !== y.False); + return r.length === 1 ? r[0] : Union(r); +} +function Extract(e, t, r) { + if (IsTemplateLiteral(e)) return CreateType(ExtractFromTemplateLiteral(e, t), r); + if (IsMappedResult(e)) return CreateType(ExtractFromMappedResult(e, t), r); + return CreateType(IsUnion(e) ? ExtractRest(e.anyOf, t) : ExtendsCheck(e, t) !== y.False ? e : Never(), r); +} +function InstanceType(e, t) { + return CreateType(e.returns, t); +} +function Integer(e) { + return CreateType({ [u]: "Integer", type: "integer" }, e); +} +function* syntax_FromUnion(e) { + const t = e.trim().replace(/"|'/g, ""); + return t === "boolean" + ? yield boolean_Boolean() + : t === "number" + ? yield number_Number() + : t === "bigint" + ? yield bigint_BigInt() + : t === "string" + ? yield string_String() + : yield (() => { + const e = t.split("|").map((e) => Literal(e.trim())); + return e.length === 0 ? Never() : e.length === 1 ? e[0] : UnionEvaluated(e); + })(); +} +function* FromTerminal(e) { + if (e[1] !== "{") { + const t = Literal("$"); + const r = FromSyntax(e.slice(1)); + return yield* [t, ...r]; + } + for (let t = 2; t < e.length; t++) { + if (e[t] === "}") { + const r = syntax_FromUnion(e.slice(2, t)); + const s = FromSyntax(e.slice(t + 1)); + return yield* [...r, ...s]; + } + } + yield Literal(e); +} +function* FromSyntax(e) { + for (let t = 0; t < e.length; t++) { + if (e[t] === "$") { + const r = Literal(e.slice(0, t)); + const s = FromTerminal(e.slice(t)); + return yield* [r, ...s]; + } + } + yield Literal(e); +} +function TemplateLiteralSyntax(e) { + return [...FromSyntax(e)]; +} +class TemplateLiteralPatternError extends error_TypeBoxError {} +function Escape(e) { + return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); +} +function pattern_Visit(e, t) { + return IsTemplateLiteral(e) + ? e.pattern.slice(1, e.pattern.length - 1) + : IsUnion(e) + ? `(${e.anyOf.map((e) => pattern_Visit(e, t)).join("|")})` + : kind_IsNumber(e) + ? `${t}${d}` + : kind_IsInteger(e) + ? `${t}${d}` + : kind_IsBigInt(e) + ? `${t}${d}` + : kind_IsString(e) + ? `${t}${E}` + : IsLiteral(e) + ? `${t}${Escape(e.const.toString())}` + : kind_IsBoolean(e) + ? `${t}${p}` + : (() => { + throw new TemplateLiteralPatternError(`Unexpected Kind '${e[u]}'`); + })(); +} +function TemplateLiteralPattern(e) { + return `^${e.map((e) => pattern_Visit(e, "")).join("")}$`; +} +function TemplateLiteral(e, t) { + const r = value_IsString(e) ? TemplateLiteralPattern(TemplateLiteralSyntax(e)) : TemplateLiteralPattern(e); + return CreateType({ [u]: "TemplateLiteral", type: "string", pattern: r }, t); +} +function MappedIntrinsicPropertyKey(e, t, r) { + return { [e]: Intrinsic(Literal(e), t, Clone(r)) }; +} +function MappedIntrinsicPropertyKeys(e, t, r) { + const s = e.reduce((e, s) => ({ ...e, ...MappedIntrinsicPropertyKey(s, t, r) }), {}); + return s; +} +function MappedIntrinsicProperties(e, t, r) { + return MappedIntrinsicPropertyKeys(e["keys"], t, r); +} +function IntrinsicFromMappedKey(e, t, r) { + const s = MappedIntrinsicProperties(e, t, r); + return MappedResult(s); +} +function ApplyUncapitalize(e) { + const [t, r] = [e.slice(0, 1), e.slice(1)]; + return [t.toLowerCase(), r].join(""); +} +function ApplyCapitalize(e) { + const [t, r] = [e.slice(0, 1), e.slice(1)]; + return [t.toUpperCase(), r].join(""); +} +function ApplyUppercase(e) { + return e.toUpperCase(); +} +function ApplyLowercase(e) { + return e.toLowerCase(); +} +function intrinsic_FromTemplateLiteral(e, t, r) { + const s = TemplateLiteralParseExact(e.pattern); + const o = IsTemplateLiteralExpressionFinite(s); + if (!o) return { ...e, pattern: FromLiteralValue(e.pattern, t) }; + const n = [...TemplateLiteralExpressionGenerate(s)]; + const A = n.map((e) => Literal(e)); + const i = intrinsic_FromRest(A, t); + const a = Union(i); + return TemplateLiteral([a], r); +} +function FromLiteralValue(e, t) { + return typeof e === "string" + ? t === "Uncapitalize" + ? ApplyUncapitalize(e) + : t === "Capitalize" + ? ApplyCapitalize(e) + : t === "Uppercase" + ? ApplyUppercase(e) + : t === "Lowercase" + ? ApplyLowercase(e) + : e + : e.toString(); +} +function intrinsic_FromRest(e, t) { + return e.map((e) => Intrinsic(e, t)); +} +function Intrinsic(e, t, r = {}) { + return IsMappedKey(e) + ? IntrinsicFromMappedKey(e, t, r) + : IsTemplateLiteral(e) + ? intrinsic_FromTemplateLiteral(e, t, r) + : IsUnion(e) + ? Union(intrinsic_FromRest(e.anyOf, t), r) + : IsLiteral(e) + ? Literal(FromLiteralValue(e.const, t), r) + : CreateType(e, r); +} +function Capitalize(e, t = {}) { + return Intrinsic(e, "Capitalize", t); +} +function Uncapitalize(e, t = {}) { + return Intrinsic(e, "Uncapitalize", t); +} +function Lowercase(e, t = {}) { + return Intrinsic(e, "Lowercase", t); +} +function Uppercase(e, t = {}) { + return Intrinsic(e, "Uppercase", t); +} +function Iterator(e, t) { + return CreateType({ [u]: "Iterator", type: "Iterator", items: e }, t); +} +function keyof_from_mapped_result_FromProperties(e, t) { + const r = {}; + for (const s of globalThis.Object.getOwnPropertyNames(e)) r[s] = KeyOf(e[s], Clone(t)); + return r; +} +function keyof_from_mapped_result_FromMappedResult(e, t) { + return keyof_from_mapped_result_FromProperties(e.properties, t); +} +function KeyOfFromMappedResult(e, t) { + const r = keyof_from_mapped_result_FromMappedResult(e, t); + return MappedResult(r); +} +function keyof_FromComputed(e, t) { + return Computed("KeyOf", [Computed(e, t)]); +} +function keyof_FromRef(e) { + return Computed("KeyOf", [Ref(e)]); +} +function KeyOfFromType(e, t) { + const r = KeyOfPropertyKeys(e); + const s = KeyOfPropertyKeysToRest(r); + const o = UnionEvaluated(s); + return CreateType(o, t); +} +function KeyOfPropertyKeysToRest(e) { + return e.map((e) => (e === "[number]" ? number_Number() : Literal(e))); +} +function KeyOf(e, t) { + return IsComputed(e) + ? keyof_FromComputed(e.target, e.parameters) + : IsRef(e) + ? keyof_FromRef(e.$ref) + : IsMappedResult(e) + ? KeyOfFromMappedResult(e, t) + : KeyOfFromType(e, t); +} +function promise_Promise(e, t) { + return CreateType({ [u]: "Promise", type: "Promise", item: e }, t); +} +function mapped_FromMappedResult(e, t) { + return e in t ? FromSchemaType(e, t[e]) : MappedResult(t); +} +function MappedKeyToKnownMappedResultProperties(e) { + return { [e]: Literal(e) }; +} +function MappedKeyToUnknownMappedResultProperties(e) { + const t = {}; + for (const r of e) t[r] = Literal(r); + return t; +} +function MappedKeyToMappedResultProperties(e, t) { + return SetIncludes(t, e) ? MappedKeyToKnownMappedResultProperties(e) : MappedKeyToUnknownMappedResultProperties(t); +} +function mapped_FromMappedKey(e, t) { + const r = MappedKeyToMappedResultProperties(e, t); + return mapped_FromMappedResult(e, r); +} +function mapped_FromRest(e, t) { + return t.map((t) => FromSchemaType(e, t)); +} +function mapped_FromProperties(e, t) { + const r = {}; + for (const s of globalThis.Object.getOwnPropertyNames(t)) r[s] = FromSchemaType(e, t[s]); + return r; +} +function FromSchemaType(e, t) { + const r = { ...t }; + return IsOptional(t) + ? Optional(FromSchemaType(e, Discard(t, [a]))) + : IsReadonly(t) + ? Readonly(FromSchemaType(e, Discard(t, [i]))) + : IsMappedResult(t) + ? mapped_FromMappedResult(e, t.properties) + : IsMappedKey(t) + ? mapped_FromMappedKey(e, t.keys) + : IsConstructor(t) + ? Constructor(mapped_FromRest(e, t.parameters), FromSchemaType(e, t.returns), r) + : kind_IsFunction(t) + ? function_Function(mapped_FromRest(e, t.parameters), FromSchemaType(e, t.returns), r) + : kind_IsAsyncIterator(t) + ? AsyncIterator(FromSchemaType(e, t.items), r) + : kind_IsIterator(t) + ? Iterator(FromSchemaType(e, t.items), r) + : IsIntersect(t) + ? Intersect(mapped_FromRest(e, t.allOf), r) + : IsUnion(t) + ? Union(mapped_FromRest(e, t.anyOf), r) + : IsTuple(t) + ? Tuple(mapped_FromRest(e, t.items ?? []), r) + : kind_IsObject(t) + ? g(mapped_FromProperties(e, t.properties), r) + : kind_IsArray(t) + ? array_Array(FromSchemaType(e, t.items), r) + : kind_IsPromise(t) + ? promise_Promise(FromSchemaType(e, t.item), r) + : t; +} +function MappedFunctionReturnType(e, t) { + const r = {}; + for (const s of e) r[s] = FromSchemaType(s, t); + return r; +} +function Mapped(e, t, r) { + const s = IsSchema(e) ? IndexPropertyKeys(e) : e; + const o = t({ [u]: "MappedKey", keys: s }); + const n = MappedFunctionReturnType(s, o); + return g(n, r); +} +function omit_from_mapped_key_FromPropertyKey(e, t, r) { + return { [t]: Omit(e, [t], Clone(r)) }; +} +function omit_from_mapped_key_FromPropertyKeys(e, t, r) { + return t.reduce((t, s) => ({ ...t, ...omit_from_mapped_key_FromPropertyKey(e, s, r) }), {}); +} +function omit_from_mapped_key_FromMappedKey(e, t, r) { + return omit_from_mapped_key_FromPropertyKeys(e, t.keys, r); +} +function OmitFromMappedKey(e, t, r) { + const s = omit_from_mapped_key_FromMappedKey(e, t, r); + return MappedResult(s); +} +function omit_from_mapped_result_FromProperties(e, t, r) { + const s = {}; + for (const o of globalThis.Object.getOwnPropertyNames(e)) s[o] = Omit(e[o], t, Clone(r)); + return s; +} +function omit_from_mapped_result_FromMappedResult(e, t, r) { + return omit_from_mapped_result_FromProperties(e.properties, t, r); +} +function OmitFromMappedResult(e, t, r) { + const s = omit_from_mapped_result_FromMappedResult(e, t, r); + return MappedResult(s); +} +function omit_FromIntersect(e, t) { + return e.map((e) => OmitResolve(e, t)); +} +function omit_FromUnion(e, t) { + return e.map((e) => OmitResolve(e, t)); +} +function omit_FromProperty(e, t) { + const { [t]: r, ...s } = e; + return s; +} +function omit_FromProperties(e, t) { + return t.reduce((e, t) => omit_FromProperty(e, t), e); +} +function omit_FromObject(e, t) { + const r = Discard(e, [A, "$id", "required", "properties"]); + const s = omit_FromProperties(e["properties"], t); + return g(s, r); +} +function omit_UnionFromPropertyKeys(e) { + const t = e.reduce((e, t) => (IsLiteralValue(t) ? [...e, Literal(t)] : e), []); + return Union(t); +} +function OmitResolve(e, t) { + return IsIntersect(e) + ? Intersect(omit_FromIntersect(e.allOf, t)) + : IsUnion(e) + ? Union(omit_FromUnion(e.anyOf, t)) + : kind_IsObject(e) + ? omit_FromObject(e, t) + : g({}); +} +function Omit(e, t, r) { + const s = value_IsArray(t) ? omit_UnionFromPropertyKeys(t) : t; + const o = IsSchema(t) ? IndexPropertyKeys(t) : t; + const n = IsRef(e); + const A = IsRef(t); + return IsMappedResult(e) + ? OmitFromMappedResult(e, o, r) + : IsMappedKey(t) + ? OmitFromMappedKey(e, t, r) + : n && A + ? Computed("Omit", [e, s], r) + : !n && A + ? Computed("Omit", [e, s], r) + : n && !A + ? Computed("Omit", [e, s], r) + : CreateType({ ...OmitResolve(e, o), ...r }); +} +function pick_from_mapped_key_FromPropertyKey(e, t, r) { + return { [t]: Pick(e, [t], Clone(r)) }; +} +function pick_from_mapped_key_FromPropertyKeys(e, t, r) { + return t.reduce((t, s) => ({ ...t, ...pick_from_mapped_key_FromPropertyKey(e, s, r) }), {}); +} +function pick_from_mapped_key_FromMappedKey(e, t, r) { + return pick_from_mapped_key_FromPropertyKeys(e, t.keys, r); +} +function PickFromMappedKey(e, t, r) { + const s = pick_from_mapped_key_FromMappedKey(e, t, r); + return MappedResult(s); +} +function pick_from_mapped_result_FromProperties(e, t, r) { + const s = {}; + for (const o of globalThis.Object.getOwnPropertyNames(e)) s[o] = Pick(e[o], t, Clone(r)); + return s; +} +function pick_from_mapped_result_FromMappedResult(e, t, r) { + return pick_from_mapped_result_FromProperties(e.properties, t, r); +} +function PickFromMappedResult(e, t, r) { + const s = pick_from_mapped_result_FromMappedResult(e, t, r); + return MappedResult(s); +} +function pick_FromIntersect(e, t) { + return e.map((e) => PickResolve(e, t)); +} +function pick_FromUnion(e, t) { + return e.map((e) => PickResolve(e, t)); +} +function pick_FromProperties(e, t) { + const r = {}; + for (const s of t) if (s in e) r[s] = e[s]; + return r; +} +function pick_FromObject(e, t) { + const r = Discard(e, [A, "$id", "required", "properties"]); + const s = pick_FromProperties(e["properties"], t); + return g(s, r); +} +function pick_UnionFromPropertyKeys(e) { + const t = e.reduce((e, t) => (IsLiteralValue(t) ? [...e, Literal(t)] : e), []); + return Union(t); +} +function PickResolve(e, t) { + return IsIntersect(e) + ? Intersect(pick_FromIntersect(e.allOf, t)) + : IsUnion(e) + ? Union(pick_FromUnion(e.anyOf, t)) + : kind_IsObject(e) + ? pick_FromObject(e, t) + : g({}); +} +function Pick(e, t, r) { + const s = value_IsArray(t) ? pick_UnionFromPropertyKeys(t) : t; + const o = IsSchema(t) ? IndexPropertyKeys(t) : t; + const n = IsRef(e); + const A = IsRef(t); + return IsMappedResult(e) + ? PickFromMappedResult(e, o, r) + : IsMappedKey(t) + ? PickFromMappedKey(e, t, r) + : n && A + ? Computed("Pick", [e, s], r) + : !n && A + ? Computed("Pick", [e, s], r) + : n && !A + ? Computed("Pick", [e, s], r) + : CreateType({ ...PickResolve(e, o), ...r }); +} +function partial_from_mapped_result_FromProperties(e, t) { + const r = {}; + for (const s of globalThis.Object.getOwnPropertyNames(e)) r[s] = Partial(e[s], Clone(t)); + return r; +} +function partial_from_mapped_result_FromMappedResult(e, t) { + return partial_from_mapped_result_FromProperties(e.properties, t); +} +function PartialFromMappedResult(e, t) { + const r = partial_from_mapped_result_FromMappedResult(e, t); + return MappedResult(r); +} +function partial_FromComputed(e, t) { + return Computed("Partial", [Computed(e, t)]); +} +function partial_FromRef(e) { + return Computed("Partial", [Ref(e)]); +} +function partial_FromProperties(e) { + const t = {}; + for (const r of globalThis.Object.getOwnPropertyNames(e)) t[r] = Optional(e[r]); + return t; +} +function partial_FromObject(e) { + const t = Discard(e, [A, "$id", "required", "properties"]); + const r = partial_FromProperties(e["properties"]); + return g(r, t); +} +function partial_FromRest(e) { + return e.map((e) => PartialResolve(e)); +} +function PartialResolve(e) { + return IsComputed(e) + ? partial_FromComputed(e.target, e.parameters) + : IsRef(e) + ? partial_FromRef(e.$ref) + : IsIntersect(e) + ? Intersect(partial_FromRest(e.allOf)) + : IsUnion(e) + ? Union(partial_FromRest(e.anyOf)) + : kind_IsObject(e) + ? partial_FromObject(e) + : g({}); +} +function Partial(e, t) { + if (IsMappedResult(e)) { + return PartialFromMappedResult(e, t); + } else { + return CreateType({ ...PartialResolve(e), ...t }); + } +} +function RecordCreateFromPattern(e, t, r) { + return CreateType({ [u]: "Record", type: "object", patternProperties: { [e]: t } }, r); +} +function RecordCreateFromKeys(e, t, r) { + const s = {}; + for (const r of e) s[r] = t; + return g(s, { ...r, [c]: "Record" }); +} +function FromTemplateLiteralKey(e, t, r) { + return IsTemplateLiteralFinite(e) ? RecordCreateFromKeys(IndexPropertyKeys(e), t, r) : RecordCreateFromPattern(e.pattern, t, r); +} +function FromUnionKey(e, t, r) { + return RecordCreateFromKeys(IndexPropertyKeys(Union(e)), t, r); +} +function FromLiteralKey(e, t, r) { + return RecordCreateFromKeys([e.toString()], t, r); +} +function FromRegExpKey(e, t, r) { + return RecordCreateFromPattern(e.source, t, r); +} +function FromStringKey(e, t, r) { + const s = value_IsUndefined(e.pattern) ? m : e.pattern; + return RecordCreateFromPattern(s, t, r); +} +function FromAnyKey(e, t, r) { + return RecordCreateFromPattern(m, t, r); +} +function FromNeverKey(e, t, r) { + return RecordCreateFromPattern(Q, t, r); +} +function FromIntegerKey(e, t, r) { + return RecordCreateFromPattern(C, t, r); +} +function FromNumberKey(e, t, r) { + return RecordCreateFromPattern(C, t, r); +} +function Record(e, t, r = {}) { + return IsComputed(t) + ? Computed("Record", [e, Computed(t.target, t.parameters)], r) + : IsComputed(e) + ? Computed("Record", [Computed(t.target, t.parameters), t], r) + : IsRef(e) + ? Computed("Record", [Ref(e.$ref), t]) + : IsUnion(e) + ? FromUnionKey(e.anyOf, t, r) + : IsTemplateLiteral(e) + ? FromTemplateLiteralKey(e, t, r) + : IsLiteral(e) + ? FromLiteralKey(e.const, t, r) + : kind_IsInteger(e) + ? FromIntegerKey(e, t, r) + : kind_IsNumber(e) + ? FromNumberKey(e, t, r) + : kind_IsRegExp(e) + ? FromRegExpKey(e, t, r) + : kind_IsString(e) + ? FromStringKey(e, t, r) + : IsAny(e) + ? FromAnyKey(e, t, r) + : IsNever(e) + ? FromNeverKey(e, t, r) + : Never(r); +} +function required_from_mapped_result_FromProperties(e, t) { + const r = {}; + for (const s of globalThis.Object.getOwnPropertyNames(e)) r[s] = Required(e[s], t); + return r; +} +function required_from_mapped_result_FromMappedResult(e, t) { + return required_from_mapped_result_FromProperties(e.properties, t); +} +function RequiredFromMappedResult(e, t) { + const r = required_from_mapped_result_FromMappedResult(e, t); + return MappedResult(r); +} +function required_FromComputed(e, t) { + return Computed("Required", [Computed(e, t)]); +} +function required_FromRef(e) { + return Computed("Required", [Ref(e)]); +} +function required_FromProperties(e) { + const t = {}; + for (const r of globalThis.Object.getOwnPropertyNames(e)) t[r] = Discard(e[r], [a]); + return t; +} +function required_FromObject(e) { + const t = Discard(e, [A, "$id", "required", "properties"]); + const r = required_FromProperties(e["properties"]); + return g(r, t); +} +function required_FromRest(e) { + return e.map((e) => RequiredResolve(e)); +} +function RequiredResolve(e) { + return IsComputed(e) + ? required_FromComputed(e.target, e.parameters) + : IsRef(e) + ? required_FromRef(e.$ref) + : IsIntersect(e) + ? Intersect(required_FromRest(e.allOf)) + : IsUnion(e) + ? Union(required_FromRest(e.anyOf)) + : kind_IsObject(e) + ? required_FromObject(e) + : g({}); +} +function Required(e, t) { + if (IsMappedResult(e)) { + return RequiredFromMappedResult(e, t); + } else { + return CreateType({ ...RequiredResolve(e), ...t }); + } +} +function DerefParameters(e, t) { + return t.map((t) => (IsRef(t) ? Deref(e, t.$ref) : compute_FromType(e, t))); +} +function Deref(e, t) { + return t in e ? (IsRef(e[t]) ? Deref(e, e[t].$ref) : compute_FromType(e, e[t])) : Never(); +} +function FromAwaited(e) { + return Awaited(e[0]); +} +function FromIndex(e) { + return Index(e[0], e[1]); +} +function FromKeyOf(e) { + return KeyOf(e[0]); +} +function FromPartial(e) { + return Partial(e[0]); +} +function FromOmit(e) { + return Omit(e[0], e[1]); +} +function FromPick(e) { + return Pick(e[0], e[1]); +} +function compute_FromRecord(e) { + return Record(e[0], e[1]); +} +function FromRequired(e) { + return Required(e[0]); +} +function compute_FromComputed(e, t, r) { + const s = DerefParameters(e, r); + return t === "Awaited" + ? FromAwaited(s) + : t === "Index" + ? FromIndex(s) + : t === "KeyOf" + ? FromKeyOf(s) + : t === "Partial" + ? FromPartial(s) + : t === "Omit" + ? FromOmit(s) + : t === "Pick" + ? FromPick(s) + : t === "Record" + ? compute_FromRecord(s) + : t === "Required" + ? FromRequired(s) + : Never(); +} +function compute_FromObject(e, t) { + return g(globalThis.Object.keys(t).reduce((r, s) => ({ ...r, [s]: compute_FromType(e, t[s]) }), {})); +} +function compute_FromConstructor(e, t, r) { + return Constructor(compute_FromRest(e, t), compute_FromType(e, r)); +} +function compute_FromFunction(e, t, r) { + return function_Function(compute_FromRest(e, t), compute_FromType(e, r)); +} +function compute_FromTuple(e, t) { + return Tuple(compute_FromRest(e, t)); +} +function compute_FromIntersect(e, t) { + return Intersect(compute_FromRest(e, t)); +} +function compute_FromUnion(e, t) { + return Union(compute_FromRest(e, t)); +} +function compute_FromArray(e, t) { + return array_Array(compute_FromType(e, t)); +} +function compute_FromAsyncIterator(e, t) { + return AsyncIterator(compute_FromType(e, t)); +} +function compute_FromIterator(e, t) { + return Iterator(compute_FromType(e, t)); +} +function compute_FromRest(e, t) { + return t.map((t) => compute_FromType(e, t)); +} +function compute_FromType(e, t) { + return IsOptional(t) + ? CreateType(compute_FromType(e, Discard(t, [a])), t) + : IsReadonly(t) + ? CreateType(compute_FromType(e, Discard(t, [i])), t) + : kind_IsArray(t) + ? CreateType(compute_FromArray(e, t.items), t) + : kind_IsAsyncIterator(t) + ? CreateType(compute_FromAsyncIterator(e, t.items), t) + : IsComputed(t) + ? CreateType(compute_FromComputed(e, t.target, t.parameters)) + : IsConstructor(t) + ? CreateType(compute_FromConstructor(e, t.parameters, t.returns), t) + : kind_IsFunction(t) + ? CreateType(compute_FromFunction(e, t.parameters, t.returns), t) + : IsIntersect(t) + ? CreateType(compute_FromIntersect(e, t.allOf), t) + : kind_IsIterator(t) + ? CreateType(compute_FromIterator(e, t.items), t) + : kind_IsObject(t) + ? CreateType(compute_FromObject(e, t.properties), t) + : IsTuple(t) + ? CreateType(compute_FromTuple(e, t.items || []), t) + : IsUnion(t) + ? CreateType(compute_FromUnion(e, t.anyOf), t) + : t; +} +function ComputeType(e, t) { + return t in e ? compute_FromType(e, e[t]) : Never(); +} +function ComputeModuleProperties(e) { + return globalThis.Object.getOwnPropertyNames(e).reduce((t, r) => ({ ...t, [r]: ComputeType(e, r) }), {}); +} +class TModule { + constructor(e) { + const t = ComputeModuleProperties(e); + const r = this.WithIdentifiers(t); + this.$defs = r; + } + Import(e, t) { + const r = { ...this.$defs, [e]: CreateType(this.$defs[e], t) }; + return CreateType({ [u]: "Import", $defs: r, $ref: e }); + } + WithIdentifiers(e) { + return globalThis.Object.getOwnPropertyNames(e).reduce((t, r) => ({ ...t, [r]: { ...e[r], $id: r } }), {}); + } +} +function Module(e) { + return new TModule(e); +} +function Not(e, t) { + return CreateType({ [u]: "Not", not: e }, t); +} +function Parameters(e, t) { + return Tuple(e.parameters, t); +} +function ReadonlyOptional(e) { + return Readonly(Optional(e)); +} +function CloneRest(e) { + return e.map((e) => CloneType(e)); +} +function CloneType(e, t) { + return t === undefined ? Clone(e) : Clone({ ...t, ...e }); +} +let b = 0; +function Recursive(e, t = {}) { + if (value_IsUndefined(t.$id)) t.$id = `T${b++}`; + const r = CloneType(e({ [u]: "This", $ref: `${t.$id}` })); + r.$id = t.$id; + return CreateType({ [c]: "Recursive", ...r }, t); +} +function regexp_RegExp(e, t) { + const r = value_IsString(e) ? new globalThis.RegExp(e) : e; + return CreateType({ [u]: "RegExp", type: "RegExp", source: r.source, flags: r.flags }, t); +} +function RestResolve(e) { + return IsIntersect(e) ? e.allOf : IsUnion(e) ? e.anyOf : IsTuple(e) ? (e.items ?? []) : []; +} +function Rest(e) { + return RestResolve(e); +} +function ReturnType(e, t) { + return CreateType(e.returns, t); +} +class TransformDecodeBuilder { + constructor(e) { + this.schema = e; + } + Decode(e) { + return new TransformEncodeBuilder(this.schema, e); + } +} +class TransformEncodeBuilder { + constructor(e, t) { + this.schema = e; + this.decode = t; + } + EncodeTransform(e, t) { + const Encode = (r) => t[A].Encode(e(r)); + const Decode = (e) => this.decode(t[A].Decode(e)); + const r = { Encode: Encode, Decode: Decode }; + return { ...t, [A]: r }; + } + EncodeSchema(e, t) { + const r = { Decode: this.decode, Encode: e }; + return { ...t, [A]: r }; + } + Encode(e) { + return IsTransform(this.schema) ? this.EncodeTransform(e, this.schema) : this.EncodeSchema(e, this.schema); + } +} +function Transform(e) { + return new TransformDecodeBuilder(e); +} +function Unsafe(e = {}) { + return CreateType({ [u]: e[u] ?? "Unsafe" }, e); +} +function Void(e) { + return CreateType({ [u]: "Void", type: "void" }, e); +} +const w = o; +var R = { + reset: "", + bright: "", + dim: "", + underscore: "", + blink: "", + reverse: "", + hidden: "", + fgBlack: "", + fgRed: "", + fgGreen: "", + fgYellow: "", + fgBlue: "", + fgMagenta: "", + fgCyan: "", + fgWhite: "", + bgBlack: "", + bgRed: "", + bgGreen: "", + bgYellow: "", + bgBlue: "", + bgMagenta: "", + bgCyan: "", + bgWhite: "", +}; +var T = { FATAL: "fatal", ERROR: "error", INFO: "info", VERBOSE: "verbose", DEBUG: "debug" }; +var k = class { + constructor() { + this.ok = this.ok.bind(this); + this.info = this.info.bind(this); + this.error = this.error.bind(this); + this.fatal = this.fatal.bind(this); + this.debug = this.debug.bind(this); + this.verbose = this.verbose.bind(this); + } + fatal(e, t) { + this._logWithStack(T.FATAL, e, t); + } + error(e, t) { + this._logWithStack(T.ERROR, e, t); + } + ok(e, t) { + this._logWithStack("ok", e, t); + } + info(e, t) { + this._logWithStack(T.INFO, e, t); + } + debug(e, t) { + this._logWithStack(T.DEBUG, e, t); + } + verbose(e, t) { + this._logWithStack(T.VERBOSE, e, t); + } + _logWithStack(e, t, r) { + this._log(e, t); + if (typeof r === "string") { + this._log(e, r); + return; + } + if (r) { + const t = r; + let s = t?.error?.stack || t?.stack; + if (!s) { + const e = new Error().stack?.split("\n"); + if (e) { + e.splice(0, 4); + s = e.filter((e) => e.includes(".ts:")).join("\n"); + } + } + const o = { ...t }; + delete o.message; + delete o.name; + delete o.stack; + if (!this._isEmpty(o)) { + this._log(e, o); + } + if (typeof s == "string") { + const t = this._formatStackTrace(s, 1); + const r = this._colorizeText(t, R.dim); + this._log(e, r); + } else if (s) { + const t = this._formatStackTrace(s.join("\n"), 1); + const r = this._colorizeText(t, R.dim); + this._log(e, r); + } else { + throw new Error("Stack is null"); + } + } + } + _colorizeText(e, t) { + if (!t) { + throw new Error(`Invalid color: ${t}`); + } + return t.concat(e).concat(R.reset); + } + _formatStackTrace(e, t = 0, r = "") { + const s = e.split("\n"); + for (let e = 0; e < t; e++) { + s.shift(); + } + return s.map((e) => `${r}${e.replace(/\s*at\s*/, " ↳ ")}`).join("\n"); + } + _isEmpty(e) { + return !Reflect.ownKeys(e).some((t) => typeof e[String(t)] !== "function"); + } + _log(e, t) { + const r = { fatal: "×", ok: "✓", error: "⚠", info: "›", debug: "››", verbose: "💬" }; + const s = r[e]; + const o = typeof t === "string" ? t : JSON.stringify(t, null, 2); + const n = o.split("\n"); + const A = n + .map((e, t) => { + const r = t === 0 ? `\t${s}` : `\t${" ".repeat(s.length)}`; + return `${r} ${e}`; + }) + .join("\n"); + const i = A; + const a = { + fatal: ["error", R.fgRed], + ok: ["log", R.fgGreen], + error: ["warn", R.fgYellow], + info: ["info", R.dim], + debug: ["debug", R.fgMagenta], + verbose: ["debug", R.dim], + }; + const c = console[a[e][0]]; + if (typeof c === "function" && i.length > 12) { + c(this._colorizeText(i, a[e][1])); + } else if (i.length <= 12) { + return; + } else { + throw new Error(i); + } + } +}; +var D = class { + logMessage; + metadata; + constructor(e, t) { + this.logMessage = e; + this.metadata = t; + } +}; +var _ = class _Logs { + _maxLevel = -1; + static console; + _log({ level: e, consoleLog: t, logMessage: r, metadata: s, type: o }) { + if (this._getNumericLevel(e) <= this._maxLevel) { + t(r, s); + } + return new D({ raw: r, diff: this._diffColorCommentMessage(o, r), type: o, level: e }, s); + } + _addDiagnosticInformation(e) { + if (!e) { + e = {}; + } else if (typeof e !== "object") { + e = { message: e }; + } + const t = new Error().stack?.split("\n") || []; + if (t.length > 3) { + const r = t[3]; + const s = r.match(/at (\S+)/); + if (s) { + e.caller = s[1]; + } + } + return e; + } + ok(e, t) { + t = this._addDiagnosticInformation(t); + return this._log({ level: T.INFO, consoleLog: _Logs.console.ok, logMessage: e, metadata: t, type: "ok" }); + } + info(e, t) { + t = this._addDiagnosticInformation(t); + return this._log({ level: T.INFO, consoleLog: _Logs.console.info, logMessage: e, metadata: t, type: "info" }); + } + error(e, t) { + t = this._addDiagnosticInformation(t); + return this._log({ level: T.ERROR, consoleLog: _Logs.console.error, logMessage: e, metadata: t, type: "error" }); + } + debug(e, t) { + t = this._addDiagnosticInformation(t); + return this._log({ level: T.DEBUG, consoleLog: _Logs.console.debug, logMessage: e, metadata: t, type: "debug" }); + } + fatal(e, t) { + if (!t) { + t = _Logs.convertErrorsIntoObjects(new Error(e)); + const r = t.stack; + r.splice(1, 1); + t.stack = r; + } + if (t instanceof Error) { + t = _Logs.convertErrorsIntoObjects(t); + const e = t.stack; + e.splice(1, 1); + t.stack = e; + } + t = this._addDiagnosticInformation(t); + return this._log({ level: T.FATAL, consoleLog: _Logs.console.fatal, logMessage: e, metadata: t, type: "fatal" }); + } + verbose(e, t) { + t = this._addDiagnosticInformation(t); + return this._log({ level: T.VERBOSE, consoleLog: _Logs.console.verbose, logMessage: e, metadata: t, type: "verbose" }); + } + constructor(e) { + this._maxLevel = this._getNumericLevel(e); + _Logs.console = new k(); + } + _diffColorCommentMessage(e, t) { + const r = { fatal: "-", ok: "+", error: "!", info: "#", debug: "@@@@" }; + const s = r[e]; + if (s) { + t = t + .trim() + .split("\n") + .map((e) => `${s} ${e}`) + .join("\n"); + } else if (e === "debug") { + t = t + .split("\n") + .map((e) => `@@ ${e} @@`) + .join("\n"); + } else { + t = t + .split("\n") + .map((e) => `# ${e}`) + .join("\n"); + } + const o = "```diff"; + const n = "```"; + return [o, t, n].join("\n"); + } + _getNumericLevel(e) { + switch (e) { + case T.FATAL: + return 0; + case T.ERROR: + return 1; + case T.INFO: + return 2; + case T.VERBOSE: + return 4; + case T.DEBUG: + return 5; + default: + return -1; + } + } + static convertErrorsIntoObjects(e) { + if (e instanceof Error) { + return { message: e.message, name: e.name, stack: e.stack ? e.stack.split("\n") : null }; + } else if (typeof e === "object" && e !== null) { + const t = Object.keys(e); + t.forEach((t) => { + e[t] = this.convertErrorsIntoObjects(e[t]); + }); + } + return e; + } +}; +var F = /\x1b\[\d+m|\s/g; +function cleanLogs(e) { + const t = e.mock.calls.map((e) => e.map((e) => e?.toString()).join(" ")); + return t.flat().map((e) => cleanLogString(e)); +} +function cleanLogString(e) { + return e.replaceAll(F, "").replaceAll(/\n/g, "").replaceAll(/\r/g, "").replaceAll(/\t/g, "").trim(); +} +function cleanSpyLogs(e) { + return cleanLogs(e); +} +var parseBody = async (e, t = Object.create(null)) => { + const { all: r = false, dot: s = false } = t; + const o = e instanceof N ? e.raw.headers : e.headers; + const n = o.get("Content-Type"); + if (n?.startsWith("multipart/form-data") || n?.startsWith("application/x-www-form-urlencoded")) { + return parseFormData(e, { all: r, dot: s }); + } + return {}; +}; +async function parseFormData(e, t) { + const r = await e.formData(); + if (r) { + return convertFormDataToBodyData(r, t); + } + return {}; +} +function convertFormDataToBodyData(e, t) { + const r = Object.create(null); + e.forEach((e, s) => { + const o = t.all || s.endsWith("[]"); + if (!o) { + r[s] = e; + } else { + handleParsingAllValues(r, s, e); + } + }); + if (t.dot) { + Object.entries(r).forEach(([e, t]) => { + const s = e.includes("."); + if (s) { + handleParsingNestedValues(r, e, t); + delete r[e]; + } + }); + } + return r; +} +var handleParsingAllValues = (e, t, r) => { + if (e[t] !== void 0) { + if (Array.isArray(e[t])) { + e[t].push(r); + } else { + e[t] = [e[t], r]; + } + } else { + e[t] = r; + } +}; +var handleParsingNestedValues = (e, t, r) => { + let s = e; + const o = t.split("."); + o.forEach((e, t) => { + if (t === o.length - 1) { + s[e] = r; + } else { + if (!s[e] || typeof s[e] !== "object" || Array.isArray(s[e]) || s[e] instanceof File) { + s[e] = Object.create(null); + } + s = s[e]; + } + }); +}; +var splitPath = (e) => { + const t = e.split("/"); + if (t[0] === "") { + t.shift(); + } + return t; +}; +var splitRoutingPath = (e) => { + const { groups: t, path: r } = extractGroupsFromPath(e); + const s = splitPath(r); + return replaceGroupMarks(s, t); +}; +var extractGroupsFromPath = (e) => { + const t = []; + e = e.replace(/\{[^}]+\}/g, (e, r) => { + const s = `@${r}`; + t.push([s, e]); + return s; + }); + return { groups: t, path: e }; +}; +var replaceGroupMarks = (e, t) => { + for (let r = t.length - 1; r >= 0; r--) { + const [s] = t[r]; + for (let o = e.length - 1; o >= 0; o--) { + if (e[o].includes(s)) { + e[o] = e[o].replace(s, t[r][1]); + break; + } + } + } + return e; +}; +var S = {}; +var getPattern = (e) => { + if (e === "*") { + return "*"; + } + const t = e.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/); + if (t) { + if (!S[e]) { + if (t[2]) { + S[e] = [e, t[1], new RegExp("^" + t[2] + "$")]; + } else { + S[e] = [e, t[1], true]; + } + } + return S[e]; + } + return null; +}; +var tryDecode = (e, t) => { + try { + return t(e); + } catch { + return e.replace(/(?:%[0-9A-Fa-f]{2})+/g, (e) => { + try { + return t(e); + } catch { + return e; + } + }); + } +}; +var tryDecodeURI = (e) => tryDecode(e, decodeURI); +var getPath = (e) => { + const t = e.url; + const r = t.indexOf("/", 8); + let s = r; + for (; s < t.length; s++) { + const e = t.charCodeAt(s); + if (e === 37) { + const e = t.indexOf("?", s); + const o = t.slice(r, e === -1 ? void 0 : e); + return tryDecodeURI(o.includes("%25") ? o.replace(/%25/g, "%2525") : o); + } else if (e === 63) { + break; + } + } + return t.slice(r, s); +}; +var getQueryStrings = (e) => { + const t = e.indexOf("?", 8); + return t === -1 ? "" : "?" + e.slice(t + 1); +}; +var getPathNoStrict = (e) => { + const t = getPath(e); + return t.length > 1 && t[t.length - 1] === "/" ? t.slice(0, -1) : t; +}; +var mergePath = (...e) => { + let t = ""; + let r = false; + for (let s of e) { + if (t[t.length - 1] === "/") { + t = t.slice(0, -1); + r = true; + } + if (s[0] !== "/") { + s = `/${s}`; + } + if (s === "/" && r) { + t = `${t}/`; + } else if (s !== "/") { + t = `${t}${s}`; + } + if (s === "/" && t === "") { + t = "/"; + } + } + return t; +}; +var checkOptionalParameter = (e) => { + if (!e.match(/\:.+\?$/)) { + return null; + } + const t = e.split("/"); + const r = []; + let s = ""; + t.forEach((e) => { + if (e !== "" && !/\:/.test(e)) { + s += "/" + e; + } else if (/\:/.test(e)) { + if (/\?/.test(e)) { + if (r.length === 0 && s === "") { + r.push("/"); + } else { + r.push(s); + } + const t = e.replace("?", ""); + s += "/" + t; + r.push(s); + } else { + s += "/" + e; + } + } + }); + return r.filter((e, t, r) => r.indexOf(e) === t); +}; +var _decodeURI = (e) => { + if (!/[%+]/.test(e)) { + return e; + } + if (e.indexOf("+") !== -1) { + e = e.replace(/\+/g, " "); + } + return e.indexOf("%") !== -1 ? U(e) : e; +}; +var _getQueryParam = (e, t, r) => { + let s; + if (!r && t && !/[%+]/.test(t)) { + let r = e.indexOf(`?${t}`, 8); + if (r === -1) { + r = e.indexOf(`&${t}`, 8); + } + while (r !== -1) { + const s = e.charCodeAt(r + t.length + 1); + if (s === 61) { + const s = r + t.length + 2; + const o = e.indexOf("&", s); + return _decodeURI(e.slice(s, o === -1 ? void 0 : o)); + } else if (s == 38 || isNaN(s)) { + return ""; + } + r = e.indexOf(`&${t}`, r + 1); + } + s = /[%+]/.test(e); + if (!s) { + return void 0; + } + } + const o = {}; + s ??= /[%+]/.test(e); + let n = e.indexOf("?", 8); + while (n !== -1) { + const t = e.indexOf("&", n + 1); + let A = e.indexOf("=", n); + if (A > t && t !== -1) { + A = -1; + } + let i = e.slice(n + 1, A === -1 ? (t === -1 ? void 0 : t) : A); + if (s) { + i = _decodeURI(i); + } + n = t; + if (i === "") { + continue; + } + let a; + if (A === -1) { + a = ""; + } else { + a = e.slice(A + 1, t === -1 ? void 0 : t); + if (s) { + a = _decodeURI(a); + } + } + if (r) { + if (!(o[i] && Array.isArray(o[i]))) { + o[i] = []; + } + o[i].push(a); + } else { + o[i] ??= a; + } + } + return t ? o[t] : o; +}; +var v = _getQueryParam; +var getQueryParams = (e, t) => _getQueryParam(e, t, true); +var U = decodeURIComponent; +var tryDecodeURIComponent = (e) => tryDecode(e, U); +var N = class { + raw; + #h; + #f; + routeIndex = 0; + path; + bodyCache = {}; + constructor(e, t = "/", r = [[]]) { + this.raw = e; + this.path = t; + this.#f = r; + this.#h = {}; + } + param(e) { + return e ? this.#I(e) : this.#C(); + } + #I(e) { + const t = this.#f[0][this.routeIndex][1][e]; + const r = this.#m(t); + return r ? (/\%/.test(r) ? tryDecodeURIComponent(r) : r) : void 0; + } + #C() { + const e = {}; + const t = Object.keys(this.#f[0][this.routeIndex][1]); + for (const r of t) { + const t = this.#m(this.#f[0][this.routeIndex][1][r]); + if (t && typeof t === "string") { + e[r] = /\%/.test(t) ? tryDecodeURIComponent(t) : t; + } + } + return e; + } + #m(e) { + return this.#f[1] ? this.#f[1][e] : e; + } + query(e) { + return v(this.url, e); + } + queries(e) { + return getQueryParams(this.url, e); + } + header(e) { + if (e) { + return this.raw.headers.get(e.toLowerCase()) ?? void 0; + } + const t = {}; + this.raw.headers.forEach((e, r) => { + t[r] = e; + }); + return t; + } + async parseBody(e) { + return (this.bodyCache.parsedBody ??= await parseBody(this, e)); + } + #Q = (e) => { + const { bodyCache: t, raw: r } = this; + const s = t[e]; + if (s) { + return s; + } + const o = Object.keys(t)[0]; + if (o) { + return t[o].then((t) => { + if (o === "json") { + t = JSON.stringify(t); + } + return new Response(t)[e](); + }); + } + return (t[e] = r[e]()); + }; + json() { + return this.#Q("json"); + } + text() { + return this.#Q("text"); + } + arrayBuffer() { + return this.#Q("arrayBuffer"); + } + blob() { + return this.#Q("blob"); + } + formData() { + return this.#Q("formData"); + } + addValidatedData(e, t) { + this.#h[e] = t; + } + valid(e) { + return this.#h[e]; + } + get url() { + return this.raw.url; + } + get method() { + return this.raw.method; + } + get matchedRoutes() { + return this.#f[0].map(([[, e]]) => e); + } + get routePath() { + return this.#f[0].map(([[, e]]) => e)[this.routeIndex].path; + } +}; +var O = { Stringify: 1, BeforeStream: 2, Stream: 3 }; +var raw = (e, t) => { + const r = new String(e); + r.isEscaped = true; + r.callbacks = t; + return r; +}; +var G = /[&<>'"]/; +var stringBufferToString = async (e, t) => { + let r = ""; + t ||= []; + const s = await Promise.all(e); + for (let e = s.length - 1; ; e--) { + r += s[e]; + e--; + if (e < 0) { + break; + } + let o = s[e]; + if (typeof o === "object") { + t.push(...(o.callbacks || [])); + } + const n = o.isEscaped; + o = await (typeof o === "object" ? o.toString() : o); + if (typeof o === "object") { + t.push(...(o.callbacks || [])); + } + if (o.isEscaped ?? n) { + r += o; + } else { + const e = [r]; + escapeToBuffer(o, e); + r = e[0]; + } + } + return raw(r, t); +}; +var escapeToBuffer = (e, t) => { + const r = e.search(G); + if (r === -1) { + t[0] += e; + return; + } + let s; + let o; + let n = 0; + for (o = r; o < e.length; o++) { + switch (e.charCodeAt(o)) { + case 34: + s = """; + break; + case 39: + s = "'"; + break; + case 38: + s = "&"; + break; + case 60: + s = "<"; + break; + case 62: + s = ">"; + break; + default: + continue; + } + t[0] += e.substring(n, o) + s; + n = o + 1; + } + t[0] += e.substring(n, o); +}; +var resolveCallbackSync = (e) => { + const t = e.callbacks; + if (!t?.length) { + return e; + } + const r = [e]; + const s = {}; + t.forEach((e) => e({ phase: O.Stringify, buffer: r, context: s })); + return r[0]; +}; +var resolveCallback = async (e, t, r, s, o) => { + if (typeof e === "object" && !(e instanceof String)) { + if (!(e instanceof Promise)) { + e = e.toString(); + } + if (e instanceof Promise) { + e = await e; + } + } + const n = e.callbacks; + if (!n?.length) { + return Promise.resolve(e); + } + if (o) { + o[0] += e; + } else { + o = [e]; + } + const A = Promise.all(n.map((e) => e({ phase: t, buffer: o, context: s }))).then((e) => + Promise.all(e.filter(Boolean).map((e) => resolveCallback(e, t, false, s, o))).then(() => o[0]) + ); + if (r) { + return raw(await A, n); + } else { + return A; + } +}; +var L = "text/plain; charset=UTF-8"; +var setHeaders = (e, t = {}) => { + for (const r of Object.keys(t)) { + e.set(r, t[r]); + } + return e; +}; +var P = class { + #B; + #y; + env = {}; + #b; + finalized = false; + error; + #w = 200; + #R; + #T; + #k; + #D; + #_ = true; + #F; + #S; + #v; + #f; + #U; + constructor(e, t) { + this.#B = e; + if (t) { + this.#R = t.executionCtx; + this.env = t.env; + this.#v = t.notFoundHandler; + this.#U = t.path; + this.#f = t.matchResult; + } + } + get req() { + this.#y ??= new N(this.#B, this.#U, this.#f); + return this.#y; + } + get event() { + if (this.#R && "respondWith" in this.#R) { + return this.#R; + } else { + throw Error("This context has no FetchEvent"); + } + } + get executionCtx() { + if (this.#R) { + return this.#R; + } else { + throw Error("This context has no ExecutionContext"); + } + } + get res() { + this.#_ = false; + return (this.#D ||= new Response("404 Not Found", { status: 404 })); + } + set res(e) { + this.#_ = false; + if (this.#D && e) { + try { + for (const [t, r] of this.#D.headers.entries()) { + if (t === "content-type") { + continue; + } + if (t === "set-cookie") { + const t = this.#D.headers.getSetCookie(); + e.headers.delete("set-cookie"); + for (const r of t) { + e.headers.append("set-cookie", r); + } + } else { + e.headers.set(t, r); + } + } + } catch (t) { + if (t instanceof TypeError && t.message.includes("immutable")) { + this.res = new Response(e.body, { headers: e.headers, status: e.status }); + return; + } else { + throw t; + } + } + } + this.#D = e; + this.finalized = true; + } + render = (...e) => { + this.#S ??= (e) => this.html(e); + return this.#S(...e); + }; + setLayout = (e) => (this.#F = e); + getLayout = () => this.#F; + setRenderer = (e) => { + this.#S = e; + }; + header = (e, t, r) => { + if (t === void 0) { + if (this.#T) { + this.#T.delete(e); + } else if (this.#k) { + delete this.#k[e.toLocaleLowerCase()]; + } + if (this.finalized) { + this.res.headers.delete(e); + } + return; + } + if (r?.append) { + if (!this.#T) { + this.#_ = false; + this.#T = new Headers(this.#k); + this.#k = {}; + } + this.#T.append(e, t); + } else { + if (this.#T) { + this.#T.set(e, t); + } else { + this.#k ??= {}; + this.#k[e.toLowerCase()] = t; + } + } + if (this.finalized) { + if (r?.append) { + this.res.headers.append(e, t); + } else { + this.res.headers.set(e, t); + } + } + }; + status = (e) => { + this.#_ = false; + this.#w = e; + }; + set = (e, t) => { + this.#b ??= new Map(); + this.#b.set(e, t); + }; + get = (e) => (this.#b ? this.#b.get(e) : void 0); + get var() { + if (!this.#b) { + return {}; + } + return Object.fromEntries(this.#b); + } + #N(e, t, r) { + if (this.#_ && !r && !t && this.#w === 200) { + return new Response(e, { headers: this.#k }); + } + if (t && typeof t !== "number") { + const r = new Headers(t.headers); + if (this.#T) { + this.#T.forEach((e, t) => { + if (t === "set-cookie") { + r.append(t, e); + } else { + r.set(t, e); + } + }); + } + const s = setHeaders(r, this.#k); + return new Response(e, { headers: s, status: t.status ?? this.#w }); + } + const s = typeof t === "number" ? t : this.#w; + this.#k ??= {}; + this.#T ??= new Headers(); + setHeaders(this.#T, this.#k); + if (this.#D) { + this.#D.headers.forEach((e, t) => { + if (t === "set-cookie") { + this.#T?.append(t, e); + } else { + this.#T?.set(t, e); + } + }); + setHeaders(this.#T, this.#k); + } + r ??= {}; + for (const [e, t] of Object.entries(r)) { + if (typeof t === "string") { + this.#T.set(e, t); + } else { + this.#T.delete(e); + for (const r of t) { + this.#T.append(e, r); + } + } + } + return new Response(e, { status: s, headers: this.#T }); + } + newResponse = (...e) => this.#N(...e); + body = (e, t, r) => (typeof t === "number" ? this.#N(e, t, r) : this.#N(e, t)); + text = (e, t, r) => { + if (!this.#k) { + if (this.#_ && !r && !t) { + return new Response(e); + } + this.#k = {}; + } + this.#k["content-type"] = L; + return typeof t === "number" ? this.#N(e, t, r) : this.#N(e, t); + }; + json = (e, t, r) => { + const s = JSON.stringify(e); + this.#k ??= {}; + this.#k["content-type"] = "application/json; charset=UTF-8"; + return typeof t === "number" ? this.#N(s, t, r) : this.#N(s, t); + }; + html = (e, t, r) => { + this.#k ??= {}; + this.#k["content-type"] = "text/html; charset=UTF-8"; + if (typeof e === "object") { + return resolveCallback(e, O.Stringify, false, {}).then((e) => (typeof t === "number" ? this.#N(e, t, r) : this.#N(e, t))); + } + return typeof t === "number" ? this.#N(e, t, r) : this.#N(e, t); + }; + redirect = (e, t) => { + this.#T ??= new Headers(); + this.#T.set("Location", String(e)); + return this.newResponse(null, t ?? 302); + }; + notFound = () => { + this.#v ??= () => new Response(); + return this.#v(this); + }; +}; +var compose = (e, t, r) => (s, o) => { + let n = -1; + const A = s instanceof P; + return dispatch(0); + async function dispatch(i) { + if (i <= n) { + throw new Error("next() called multiple times"); + } + n = i; + let a; + let c = false; + let u; + if (e[i]) { + u = e[i][0][0]; + if (A) { + s.req.routeIndex = i; + } + } else { + u = (i === e.length && o) || void 0; + } + if (!u) { + if (A && s.finalized === false && r) { + a = await r(s); + } + } else { + try { + a = await u(s, () => dispatch(i + 1)); + } catch (e) { + if (e instanceof Error && A && t) { + s.error = e; + a = await t(e, s); + c = true; + } else { + throw e; + } + } + } + if (a && (s.finalized === false || c)) { + s.res = a; + } + return s; + } +}; +var M = "ALL"; +var x = "all"; +var H = ["get", "post", "put", "delete", "options", "patch"]; +var V = "Can not add a route since the matcher is already built."; +var Y = class extends Error {}; +var J = Symbol("composedHandler"); +var notFoundHandler = (e) => e.text("404 Not Found", 404); +var errorHandler = (e, t) => { + if ("getResponse" in e) { + return e.getResponse(); + } + console.error(e); + return t.text("Internal Server Error", 500); +}; +var q = class { + get; + post; + put; + delete; + options; + patch; + all; + on; + use; + router; + getPath; + _basePath = "/"; + #U = "/"; + routes = []; + constructor(e = {}) { + const t = [...H, x]; + t.forEach((e) => { + this[e] = (t, ...r) => { + if (typeof t === "string") { + this.#U = t; + } else { + this.#O(e, this.#U, t); + } + r.forEach((t) => { + this.#O(e, this.#U, t); + }); + return this; + }; + }); + this.on = (e, t, ...r) => { + for (const s of [t].flat()) { + this.#U = s; + for (const t of [e].flat()) { + r.map((e) => { + this.#O(t.toUpperCase(), this.#U, e); + }); + } + } + return this; + }; + this.use = (e, ...t) => { + if (typeof e === "string") { + this.#U = e; + } else { + this.#U = "*"; + t.unshift(e); + } + t.forEach((e) => { + this.#O(M, this.#U, e); + }); + return this; + }; + const r = e.strict ?? true; + delete e.strict; + Object.assign(this, e); + this.getPath = r ? (e.getPath ?? getPath) : getPathNoStrict; + } + #G() { + const e = new q({ router: this.router, getPath: this.getPath }); + e.routes = this.routes; + return e; + } + #v = notFoundHandler; + errorHandler = errorHandler; + route(e, t) { + const r = this.basePath(e); + t.routes.map((e) => { + let s; + if (t.errorHandler === errorHandler) { + s = e.handler; + } else { + s = async (r, s) => (await compose([], t.errorHandler)(r, () => e.handler(r, s))).res; + s[J] = e.handler; + } + r.#O(e.method, e.path, s); + }); + return this; + } + basePath(e) { + const t = this.#G(); + t._basePath = mergePath(this._basePath, e); + return t; + } + onError = (e) => { + this.errorHandler = e; + return this; + }; + notFound = (e) => { + this.#v = e; + return this; + }; + mount(e, t, r) { + let s; + let o; + if (r) { + if (typeof r === "function") { + o = r; + } else { + o = r.optionHandler; + s = r.replaceRequest; + } + } + const n = o + ? (e) => { + const t = o(e); + return Array.isArray(t) ? t : [t]; + } + : (e) => { + let t = void 0; + try { + t = e.executionCtx; + } catch {} + return [e.env, t]; + }; + s ||= (() => { + const t = mergePath(this._basePath, e); + const r = t === "/" ? 0 : t.length; + return (e) => { + const t = new URL(e.url); + t.pathname = t.pathname.slice(r) || "/"; + return new Request(t, e); + }; + })(); + const handler = async (e, r) => { + const o = await t(s(e.req.raw), ...n(e)); + if (o) { + return o; + } + await r(); + }; + this.#O(M, mergePath(e, "*"), handler); + return this; + } + #O(e, t, r) { + e = e.toUpperCase(); + t = mergePath(this._basePath, t); + const s = { path: t, method: e, handler: r }; + this.router.add(e, t, [r, s]); + this.routes.push(s); + } + #L(e, t) { + if (e instanceof Error) { + return this.errorHandler(e, t); + } + throw e; + } + #P(e, t, r, s) { + if (s === "HEAD") { + return (async () => new Response(null, await this.#P(e, t, r, "GET")))(); + } + const o = this.getPath(e, { env: r }); + const n = this.router.match(s, o); + const A = new P(e, { path: o, matchResult: n, env: r, executionCtx: t, notFoundHandler: this.#v }); + if (n[0].length === 1) { + let e; + try { + e = n[0][0][0][0](A, async () => { + A.res = await this.#v(A); + }); + } catch (e) { + return this.#L(e, A); + } + return e instanceof Promise ? e.then((e) => e || (A.finalized ? A.res : this.#v(A))).catch((e) => this.#L(e, A)) : (e ?? this.#v(A)); + } + const i = compose(n[0], this.errorHandler, this.#v); + return (async () => { + try { + const e = await i(A); + if (!e.finalized) { + throw new Error("Context is not finalized. Did you forget to return a Response object or `await next()`?"); + } + return e.res; + } catch (e) { + return this.#L(e, A); + } + })(); + } + fetch = (e, ...t) => this.#P(e, t[1], t[0], e.method); + request = (e, t, r, s) => { + if (e instanceof Request) { + return this.fetch(t ? new Request(e, t) : e, r, s); + } + e = e.toString(); + return this.fetch(new Request(/^https?:\/\//.test(e) ? e : `http://localhost${mergePath("/", e)}`, t), r, s); + }; + fire = () => { + addEventListener("fetch", (e) => { + e.respondWith(this.#P(e.request, e, void 0, e.request.method)); + }); + }; +}; +var j = "[^/]+"; +var W = ".*"; +var K = "(?:|/.*)"; +var z = Symbol(); +var Z = new Set(".\\+*[^]$()"); +function compareKey(e, t) { + if (e.length === 1) { + return t.length === 1 ? (e < t ? -1 : 1) : -1; + } + if (t.length === 1) { + return 1; + } + if (e === W || e === K) { + return 1; + } else if (t === W || t === K) { + return -1; + } + if (e === j) { + return 1; + } else if (t === j) { + return -1; + } + return e.length === t.length ? (e < t ? -1 : 1) : t.length - e.length; +} +var X = class { + #M; + #x; + #H = Object.create(null); + insert(e, t, r, s, o) { + if (e.length === 0) { + if (this.#M !== void 0) { + throw z; + } + if (o) { + return; + } + this.#M = t; + return; + } + const [n, ...A] = e; + const i = n === "*" ? (A.length === 0 ? ["", "", W] : ["", "", j]) : n === "/*" ? ["", "", K] : n.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/); + let a; + if (i) { + const e = i[1]; + let t = i[2] || j; + if (e && i[2]) { + t = t.replace(/^\((?!\?:)(?=[^)]+\)$)/, "(?:"); + if (/\((?!\?:)/.test(t)) { + throw z; + } + } + a = this.#H[t]; + if (!a) { + if (Object.keys(this.#H).some((e) => e !== W && e !== K)) { + throw z; + } + if (o) { + return; + } + a = this.#H[t] = new X(); + if (e !== "") { + a.#x = s.varIndex++; + } + } + if (!o && e !== "") { + r.push([e, a.#x]); + } + } else { + a = this.#H[n]; + if (!a) { + if (Object.keys(this.#H).some((e) => e.length > 1 && e !== W && e !== K)) { + throw z; + } + if (o) { + return; + } + a = this.#H[n] = new X(); + } + } + a.insert(A, t, r, s, o); + } + buildRegExpStr() { + const e = Object.keys(this.#H).sort(compareKey); + const t = e.map((e) => { + const t = this.#H[e]; + return (typeof t.#x === "number" ? `(${e})@${t.#x}` : Z.has(e) ? `\\${e}` : e) + t.buildRegExpStr(); + }); + if (typeof this.#M === "number") { + t.unshift(`#${this.#M}`); + } + if (t.length === 0) { + return ""; + } + if (t.length === 1) { + return t[0]; + } + return "(?:" + t.join("|") + ")"; + } +}; +var $ = class { + #V = { varIndex: 0 }; + #Y = new X(); + insert(e, t, r) { + const s = []; + const o = []; + for (let t = 0; ; ) { + let r = false; + e = e.replace(/\{[^}]+\}/g, (e) => { + const s = `@\\${t}`; + o[t] = [s, e]; + t++; + r = true; + return s; + }); + if (!r) { + break; + } + } + const n = e.match(/(?::[^\/]+)|(?:\/\*$)|./g) || []; + for (let e = o.length - 1; e >= 0; e--) { + const [t] = o[e]; + for (let r = n.length - 1; r >= 0; r--) { + if (n[r].indexOf(t) !== -1) { + n[r] = n[r].replace(t, o[e][1]); + break; + } + } + } + this.#Y.insert(n, t, s, this.#V, r); + return s; + } + buildRegExp() { + let e = this.#Y.buildRegExpStr(); + if (e === "") { + return [/^$/, [], []]; + } + let t = 0; + const r = []; + const s = []; + e = e.replace(/#(\d+)|@(\d+)|\.\*\$/g, (e, o, n) => { + if (o !== void 0) { + r[++t] = Number(o); + return "$()"; + } + if (n !== void 0) { + s[Number(n)] = ++t; + return ""; + } + return ""; + }); + return [new RegExp(`^${e}`), r, s]; + } +}; +var ee = []; +var te = [/^$/, [], Object.create(null)]; +var re = Object.create(null); +function buildWildcardRegExp(e) { + return (re[e] ??= new RegExp(e === "*" ? "" : `^${e.replace(/\/\*$|([.\\+*[^\]$()])/g, (e, t) => (t ? `\\${t}` : "(?:|/.*)"))}$`)); +} +function clearWildcardRegExpCache() { + re = Object.create(null); +} +function buildMatcherFromPreprocessedRoutes(e) { + const t = new $(); + const r = []; + if (e.length === 0) { + return te; + } + const s = e.map((e) => [!/\*|\/:/.test(e[0]), ...e]).sort(([e, t], [r, s]) => (e ? 1 : r ? -1 : t.length - s.length)); + const o = Object.create(null); + for (let e = 0, n = -1, A = s.length; e < A; e++) { + const [A, i, a] = s[e]; + if (A) { + o[i] = [a.map(([e]) => [e, Object.create(null)]), ee]; + } else { + n++; + } + let c; + try { + c = t.insert(i, n, A); + } catch (e) { + throw e === z ? new Y(i) : e; + } + if (A) { + continue; + } + r[n] = a.map(([e, t]) => { + const r = Object.create(null); + t -= 1; + for (; t >= 0; t--) { + const [e, s] = c[t]; + r[e] = s; + } + return [e, r]; + }); + } + const [n, A, i] = t.buildRegExp(); + for (let e = 0, t = r.length; e < t; e++) { + for (let t = 0, s = r[e].length; t < s; t++) { + const s = r[e][t]?.[1]; + if (!s) { + continue; + } + const o = Object.keys(s); + for (let e = 0, t = o.length; e < t; e++) { + s[o[e]] = i[s[o[e]]]; + } + } + } + const a = []; + for (const e in A) { + a[e] = r[A[e]]; + } + return [n, a, o]; +} +function findMiddleware(e, t) { + if (!e) { + return void 0; + } + for (const r of Object.keys(e).sort((e, t) => t.length - e.length)) { + if (buildWildcardRegExp(r).test(t)) { + return [...e[r]]; + } + } + return void 0; +} +var se = class { + name = "RegExpRouter"; + #J; + #q; + constructor() { + this.#J = { [M]: Object.create(null) }; + this.#q = { [M]: Object.create(null) }; + } + add(e, t, r) { + const s = this.#J; + const o = this.#q; + if (!s || !o) { + throw new Error(V); + } + if (!s[e]) { + [s, o].forEach((t) => { + t[e] = Object.create(null); + Object.keys(t[M]).forEach((r) => { + t[e][r] = [...t[M][r]]; + }); + }); + } + if (t === "/*") { + t = "*"; + } + const n = (t.match(/\/:/g) || []).length; + if (/\*$/.test(t)) { + const A = buildWildcardRegExp(t); + if (e === M) { + Object.keys(s).forEach((e) => { + s[e][t] ||= findMiddleware(s[e], t) || findMiddleware(s[M], t) || []; + }); + } else { + s[e][t] ||= findMiddleware(s[e], t) || findMiddleware(s[M], t) || []; + } + Object.keys(s).forEach((t) => { + if (e === M || e === t) { + Object.keys(s[t]).forEach((e) => { + A.test(e) && s[t][e].push([r, n]); + }); + } + }); + Object.keys(o).forEach((t) => { + if (e === M || e === t) { + Object.keys(o[t]).forEach((e) => A.test(e) && o[t][e].push([r, n])); + } + }); + return; + } + const A = checkOptionalParameter(t) || [t]; + for (let t = 0, i = A.length; t < i; t++) { + const a = A[t]; + Object.keys(o).forEach((A) => { + if (e === M || e === A) { + o[A][a] ||= [...(findMiddleware(s[A], a) || findMiddleware(s[M], a) || [])]; + o[A][a].push([r, n - i + t + 1]); + } + }); + } + } + match(e, t) { + clearWildcardRegExpCache(); + const r = this.#j(); + this.match = (e, t) => { + const s = r[e] || r[M]; + const o = s[2][t]; + if (o) { + return o; + } + const n = t.match(s[0]); + if (!n) { + return [[], ee]; + } + const A = n.indexOf("", 1); + return [s[1][A], n]; + }; + return this.match(e, t); + } + #j() { + const e = Object.create(null); + Object.keys(this.#q) + .concat(Object.keys(this.#J)) + .forEach((t) => { + e[t] ||= this.#W(t); + }); + this.#J = this.#q = void 0; + return e; + } + #W(e) { + const t = []; + let r = e === M; + [this.#J, this.#q].forEach((s) => { + const o = s[e] ? Object.keys(s[e]).map((t) => [t, s[e][t]]) : []; + if (o.length !== 0) { + r ||= true; + t.push(...o); + } else if (e !== M) { + t.push(...Object.keys(s[M]).map((e) => [e, s[M][e]])); + } + }); + if (!r) { + return null; + } else { + return buildMatcherFromPreprocessedRoutes(t); + } + } +}; +var oe = class { + name = "SmartRouter"; + #K = []; + #q = []; + constructor(e) { + this.#K = e.routers; + } + add(e, t, r) { + if (!this.#q) { + throw new Error(V); + } + this.#q.push([e, t, r]); + } + match(e, t) { + if (!this.#q) { + throw new Error("Fatal error"); + } + const r = this.#K; + const s = this.#q; + const o = r.length; + let n = 0; + let A; + for (; n < o; n++) { + const o = r[n]; + try { + for (let e = 0, t = s.length; e < t; e++) { + o.add(...s[e]); + } + A = o.match(e, t); + } catch (e) { + if (e instanceof Y) { + continue; + } + throw e; + } + this.match = o.match.bind(o); + this.#K = [o]; + this.#q = void 0; + break; + } + if (n === o) { + throw new Error("Fatal error"); + } + this.name = `SmartRouter + ${this.activeRouter.name}`; + return A; + } + get activeRouter() { + if (this.#q || this.#K.length !== 1) { + throw new Error("No active router has been determined yet."); + } + return this.#K[0]; + } +}; +var ne = class { + #z; + #H; + #Z; + #X = 0; + #$ = Object.create(null); + constructor(e, t, r) { + this.#H = r || Object.create(null); + this.#z = []; + if (e && t) { + const r = Object.create(null); + r[e] = { handler: t, possibleKeys: [], score: 0 }; + this.#z = [r]; + } + this.#Z = []; + } + insert(e, t, r) { + this.#X = ++this.#X; + let s = this; + const o = splitRoutingPath(t); + const n = []; + for (let e = 0, t = o.length; e < t; e++) { + const t = o[e]; + if (Object.keys(s.#H).includes(t)) { + s = s.#H[t]; + const e = getPattern(t); + if (e) { + n.push(e[1]); + } + continue; + } + s.#H[t] = new ne(); + const r = getPattern(t); + if (r) { + s.#Z.push(r); + n.push(r[1]); + } + s = s.#H[t]; + } + const A = Object.create(null); + const i = { handler: r, possibleKeys: n.filter((e, t, r) => r.indexOf(e) === t), score: this.#X }; + A[e] = i; + s.#z.push(A); + return s; + } + #ee(e, t, r, s) { + const o = []; + for (let n = 0, A = e.#z.length; n < A; n++) { + const A = e.#z[n]; + const i = A[t] || A[M]; + const a = {}; + if (i !== void 0) { + i.params = Object.create(null); + for (let e = 0, t = i.possibleKeys.length; e < t; e++) { + const t = i.possibleKeys[e]; + const o = a[i.score]; + i.params[t] = s[t] && !o ? s[t] : (r[t] ?? s[t]); + a[i.score] = true; + } + o.push(i); + } + } + return o; + } + search(e, t) { + const r = []; + this.#$ = Object.create(null); + const s = this; + let o = [s]; + const n = splitPath(t); + for (let t = 0, s = n.length; t < s; t++) { + const A = n[t]; + const i = t === s - 1; + const a = []; + for (let s = 0, c = o.length; s < c; s++) { + const c = o[s]; + const u = c.#H[A]; + if (u) { + u.#$ = c.#$; + if (i) { + if (u.#H["*"]) { + r.push(...this.#ee(u.#H["*"], e, c.#$, Object.create(null))); + } + r.push(...this.#ee(u, e, c.#$, Object.create(null))); + } else { + a.push(u); + } + } + for (let s = 0, o = c.#Z.length; s < o; s++) { + const o = c.#Z[s]; + const u = { ...c.#$ }; + if (o === "*") { + const t = c.#H["*"]; + if (t) { + r.push(...this.#ee(t, e, c.#$, Object.create(null))); + a.push(t); + } + continue; + } + if (A === "") { + continue; + } + const [l, g, p] = o; + const d = c.#H[l]; + const E = n.slice(t).join("/"); + if (p instanceof RegExp && p.test(E)) { + u[g] = E; + r.push(...this.#ee(d, e, c.#$, u)); + continue; + } + if (p === true || p.test(A)) { + u[g] = A; + if (i) { + r.push(...this.#ee(d, e, u, c.#$)); + if (d.#H["*"]) { + r.push(...this.#ee(d.#H["*"], e, u, c.#$)); + } + } else { + d.#$ = u; + a.push(d); + } + } + } + } + o = a; + } + if (r.length > 1) { + r.sort((e, t) => e.score - t.score); + } + return [r.map(({ handler: e, params: t }) => [e, t])]; + } +}; +var Ae = class { + name = "TrieRouter"; + #te; + constructor() { + this.#te = new ne(); + } + add(e, t, r) { + const s = checkOptionalParameter(t); + if (s) { + for (let t = 0, o = s.length; t < o; t++) { + this.#te.insert(e, s[t], r); + } + return; + } + this.#te.insert(e, t, r); + } + match(e, t) { + return this.#te.search(e, t); + } +}; +var ie = class extends q { + constructor(e = {}) { + super(e); + this.router = e.router ?? new oe({ routers: [new se(), new Ae()] }); + } +}; +var env = (e, t) => { + const r = globalThis; + const s = r?.process?.env; + t ??= getRuntimeKey(); + const o = { + bun: () => s, + node: () => s, + "edge-light": () => s, + deno: () => Deno.env.toObject(), + workerd: () => e.env, + fastly: () => ({}), + other: () => ({}), + }; + return o[t](); +}; +var ae = { deno: "Deno", bun: "Bun", workerd: "Cloudflare-Workers", node: "Node.js" }; +var getRuntimeKey = () => { + const e = globalThis; + const t = typeof navigator !== "undefined" && typeof navigator.userAgent === "string"; + if (t) { + for (const [e, t] of Object.entries(ae)) { + if (checkUserAgentEquals(t)) { + return e; + } + } + } + if (typeof e?.EdgeRuntime === "string") { + return "edge-light"; + } + if (e?.fastly !== void 0) { + return "fastly"; + } + if (e?.process?.release?.name === "node") { + return "node"; + } + return "other"; +}; +var checkUserAgentEquals = (e) => { + const t = navigator.userAgent; + return t.startsWith(e); +}; +var ce = class extends Error { + res; + status; + constructor(e = 500, t) { + super(t?.message, { cause: t?.cause }); + this.res = t?.res; + this.status = e; + } + getResponse() { + if (this.res) { + const e = new Response(this.res.body, { status: this.status, headers: this.res.headers }); + return e; + } + return new Response(this.message, { status: this.status }); + } +}; +function getUserAgent() { + if (typeof navigator === "object" && "userAgent" in navigator) { + return navigator.userAgent; + } + if (typeof process === "object" && process.version !== undefined) { + return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`; + } + return ""; +} +function register(e, t, r, s) { + if (typeof r !== "function") { + throw new Error("method for before hook must be a function"); + } + if (!s) { + s = {}; + } + if (Array.isArray(t)) { + return t.reverse().reduce((t, r) => register.bind(null, e, r, t, s), r)(); + } + return Promise.resolve().then(() => { + if (!e.registry[t]) { + return r(s); + } + return e.registry[t].reduce((e, t) => t.hook.bind(null, e, s), r)(); + }); +} +function addHook(e, t, r, s) { + const o = s; + if (!e.registry[r]) { + e.registry[r] = []; + } + if (t === "before") { + s = (e, t) => Promise.resolve().then(o.bind(null, t)).then(e.bind(null, t)); + } + if (t === "after") { + s = (e, t) => { + let r; + return Promise.resolve() + .then(e.bind(null, t)) + .then((e) => { + r = e; + return o(r, t); + }) + .then(() => r); + }; + } + if (t === "error") { + s = (e, t) => + Promise.resolve() + .then(e.bind(null, t)) + .catch((e) => o(e, t)); + } + e.registry[r].push({ hook: s, orig: o }); +} +function removeHook(e, t, r) { + if (!e.registry[t]) { + return; + } + const s = e.registry[t].map((e) => e.orig).indexOf(r); + if (s === -1) { + return; + } + e.registry[t].splice(s, 1); +} +const ue = Function.bind; +const le = ue.bind(ue); +function bindApi(e, t, r) { + const s = le(removeHook, null).apply(null, r ? [t, r] : [t]); + e.api = { remove: s }; + e.remove = s; + ["before", "error", "after", "wrap"].forEach((s) => { + const o = r ? [t, s, r] : [t, s]; + e[s] = e.api[s] = le(addHook, null).apply(null, o); + }); +} +function Singular() { + const e = Symbol("Singular"); + const t = { registry: {} }; + const r = register.bind(null, t, e); + bindApi(r, t, e); + return r; +} +function Collection() { + const e = { registry: {} }; + const t = register.bind(null, e); + bindApi(t, e); + return t; +} +const ge = { Singular: Singular, Collection: Collection }; +var pe = "0.0.0-development"; +var de = `octokit-endpoint.js/${pe} ${getUserAgent()}`; +var Ee = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { accept: "application/vnd.github.v3+json", "user-agent": de }, + mediaType: { format: "" }, +}; +function lowercaseKeys(e) { + if (!e) { + return {}; + } + return Object.keys(e).reduce((t, r) => { + t[r.toLowerCase()] = e[r]; + return t; + }, {}); +} +function isPlainObject(e) { + if (typeof e !== "object" || e === null) return false; + if (Object.prototype.toString.call(e) !== "[object Object]") return false; + const t = Object.getPrototypeOf(e); + if (t === null) return true; + const r = Object.prototype.hasOwnProperty.call(t, "constructor") && t.constructor; + return typeof r === "function" && r instanceof r && Function.prototype.call(r) === Function.prototype.call(e); +} +function mergeDeep(e, t) { + const r = Object.assign({}, e); + Object.keys(t).forEach((s) => { + if (isPlainObject(t[s])) { + if (!(s in e)) Object.assign(r, { [s]: t[s] }); + else r[s] = mergeDeep(e[s], t[s]); + } else { + Object.assign(r, { [s]: t[s] }); + } + }); + return r; +} +function removeUndefinedProperties(e) { + for (const t in e) { + if (e[t] === void 0) { + delete e[t]; + } + } + return e; +} +function merge(e, t, r) { + if (typeof t === "string") { + let [e, s] = t.split(" "); + r = Object.assign(s ? { method: e, url: s } : { url: e }, r); + } else { + r = Object.assign({}, t); + } + r.headers = lowercaseKeys(r.headers); + removeUndefinedProperties(r); + removeUndefinedProperties(r.headers); + const s = mergeDeep(e || {}, r); + if (r.url === "/graphql") { + if (e && e.mediaType.previews?.length) { + s.mediaType.previews = e.mediaType.previews.filter((e) => !s.mediaType.previews.includes(e)).concat(s.mediaType.previews); + } + s.mediaType.previews = (s.mediaType.previews || []).map((e) => e.replace(/-preview/, "")); + } + return s; +} +function addQueryParameters(e, t) { + const r = /\?/.test(e) ? "&" : "?"; + const s = Object.keys(t); + if (s.length === 0) { + return e; + } + return ( + e + + r + + s + .map((e) => { + if (e === "q") { + return "q=" + t.q.split("+").map(encodeURIComponent).join("+"); + } + return `${e}=${encodeURIComponent(t[e])}`; + }) + .join("&") + ); +} +var he = /\{[^}]+\}/g; +function removeNonChars(e) { + return e.replace(/^\W+|\W+$/g, "").split(/,/); +} +function extractUrlVariableNames(e) { + const t = e.match(he); + if (!t) { + return []; + } + return t.map(removeNonChars).reduce((e, t) => e.concat(t), []); +} +function omit(e, t) { + const r = { __proto__: null }; + for (const s of Object.keys(e)) { + if (t.indexOf(s) === -1) { + r[s] = e[s]; + } + } + return r; +} +function encodeReserved(e) { + return e + .split(/(%[0-9A-Fa-f]{2})/g) + .map(function (e) { + if (!/%[0-9A-Fa-f]/.test(e)) { + e = encodeURI(e).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return e; + }) + .join(""); +} +function encodeUnreserved(e) { + return encodeURIComponent(e).replace(/[!'()*]/g, function (e) { + return "%" + e.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(e, t, r) { + t = e === "+" || e === "#" ? encodeReserved(t) : encodeUnreserved(t); + if (r) { + return encodeUnreserved(r) + "=" + t; + } else { + return t; + } +} +function isDefined(e) { + return e !== void 0 && e !== null; +} +function isKeyOperator(e) { + return e === ";" || e === "&" || e === "?"; +} +function getValues(e, t, r, s) { + var o = e[r], + n = []; + if (isDefined(o) && o !== "") { + if (typeof o === "string" || typeof o === "number" || typeof o === "boolean") { + o = o.toString(); + if (s && s !== "*") { + o = o.substring(0, parseInt(s, 10)); + } + n.push(encodeValue(t, o, isKeyOperator(t) ? r : "")); + } else { + if (s === "*") { + if (Array.isArray(o)) { + o.filter(isDefined).forEach(function (e) { + n.push(encodeValue(t, e, isKeyOperator(t) ? r : "")); + }); + } else { + Object.keys(o).forEach(function (e) { + if (isDefined(o[e])) { + n.push(encodeValue(t, o[e], e)); + } + }); + } + } else { + const e = []; + if (Array.isArray(o)) { + o.filter(isDefined).forEach(function (r) { + e.push(encodeValue(t, r)); + }); + } else { + Object.keys(o).forEach(function (r) { + if (isDefined(o[r])) { + e.push(encodeUnreserved(r)); + e.push(encodeValue(t, o[r].toString())); + } + }); + } + if (isKeyOperator(t)) { + n.push(encodeUnreserved(r) + "=" + e.join(",")); + } else if (e.length !== 0) { + n.push(e.join(",")); + } + } + } + } else { + if (t === ";") { + if (isDefined(o)) { + n.push(encodeUnreserved(r)); + } + } else if (o === "" && (t === "&" || t === "?")) { + n.push(encodeUnreserved(r) + "="); + } else if (o === "") { + n.push(""); + } + } + return n; +} +function parseUrl(e) { + return { expand: expand.bind(null, e) }; +} +function expand(e, t) { + var r = ["+", "#", ".", "/", ";", "?", "&"]; + e = e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (e, s, o) { + if (s) { + let e = ""; + const o = []; + if (r.indexOf(s.charAt(0)) !== -1) { + e = s.charAt(0); + s = s.substr(1); + } + s.split(/,/g).forEach(function (r) { + var s = /([^:\*]*)(?::(\d+)|(\*))?/.exec(r); + o.push(getValues(t, e, s[1], s[2] || s[3])); + }); + if (e && e !== "+") { + var n = ","; + if (e === "?") { + n = "&"; + } else if (e !== "#") { + n = e; + } + return (o.length !== 0 ? e : "") + o.join(n); + } else { + return o.join(","); + } + } else { + return encodeReserved(o); + } + }); + if (e === "/") { + return e; + } else { + return e.replace(/\/$/, ""); + } +} +function parse(e) { + let t = e.method.toUpperCase(); + let r = (e.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let s = Object.assign({}, e.headers); + let o; + let n = omit(e, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); + const A = extractUrlVariableNames(r); + r = parseUrl(r).expand(n); + if (!/^http/.test(r)) { + r = e.baseUrl + r; + } + const i = Object.keys(e) + .filter((e) => A.includes(e)) + .concat("baseUrl"); + const a = omit(n, i); + const c = /application\/octet-stream/i.test(s.accept); + if (!c) { + if (e.mediaType.format) { + s.accept = s.accept + .split(/,/) + .map((t) => t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${e.mediaType.format}`)) + .join(","); + } + if (r.endsWith("/graphql")) { + if (e.mediaType.previews?.length) { + const t = s.accept.match(/[\w-]+(?=-preview)/g) || []; + s.accept = t + .concat(e.mediaType.previews) + .map((t) => { + const r = e.mediaType.format ? `.${e.mediaType.format}` : "+json"; + return `application/vnd.github.${t}-preview${r}`; + }) + .join(","); + } + } + } + if (["GET", "HEAD"].includes(t)) { + r = addQueryParameters(r, a); + } else { + if ("data" in a) { + o = a.data; + } else { + if (Object.keys(a).length) { + o = a; + } + } + } + if (!s["content-type"] && typeof o !== "undefined") { + s["content-type"] = "application/json; charset=utf-8"; + } + if (["PATCH", "PUT"].includes(t) && typeof o === "undefined") { + o = ""; + } + return Object.assign({ method: t, url: r, headers: s }, typeof o !== "undefined" ? { body: o } : null, e.request ? { request: e.request } : null); +} +function endpointWithDefaults(e, t, r) { + return parse(merge(e, t, r)); +} +function withDefaults(e, t) { + const r = merge(e, t); + const s = endpointWithDefaults.bind(null, r); + return Object.assign(s, { DEFAULTS: r, defaults: withDefaults.bind(null, r), merge: merge.bind(null, r), parse: parse }); +} +var fe = withDefaults(null, Ee); +class RequestError extends Error { + name; + status; + request; + response; + constructor(e, t, r) { + super(e); + this.name = "HttpError"; + this.status = Number.parseInt(t); + if (Number.isNaN(this.status)) { + this.status = 0; + } + if ("response" in r) { + this.response = r.response; + } + const s = Object.assign({}, r.request); + if (r.request.headers.authorization) { + s.headers = Object.assign({}, r.request.headers, { authorization: r.request.headers.authorization.replace(/ .*$/, " [REDACTED]") }); + } + s.url = s.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = s; + } +} +var Ie = "0.0.0-development"; +var Ce = { headers: { "user-agent": `octokit-request.js/${Ie} ${getUserAgent()}` } }; +function dist_bundle_isPlainObject(e) { + if (typeof e !== "object" || e === null) return false; + if (Object.prototype.toString.call(e) !== "[object Object]") return false; + const t = Object.getPrototypeOf(e); + if (t === null) return true; + const r = Object.prototype.hasOwnProperty.call(t, "constructor") && t.constructor; + return typeof r === "function" && r instanceof r && Function.prototype.call(r) === Function.prototype.call(e); +} +async function fetchWrapper(e) { + const t = e.request?.fetch || globalThis.fetch; + if (!t) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + const r = e.request?.log || console; + const s = e.request?.parseSuccessResponseBody !== false; + const o = dist_bundle_isPlainObject(e.body) || Array.isArray(e.body) ? JSON.stringify(e.body) : e.body; + const n = Object.fromEntries(Object.entries(e.headers).map(([e, t]) => [e, String(t)])); + let A; + try { + A = await t(e.url, { method: e.method, body: o, redirect: e.request?.redirect, headers: n, signal: e.request?.signal, ...(e.body && { duplex: "half" }) }); + } catch (t) { + let r = "Unknown Error"; + if (t instanceof Error) { + if (t.name === "AbortError") { + t.status = 500; + throw t; + } + r = t.message; + if (t.name === "TypeError" && "cause" in t) { + if (t.cause instanceof Error) { + r = t.cause.message; + } else if (typeof t.cause === "string") { + r = t.cause; + } + } + } + const s = new RequestError(r, 500, { request: e }); + s.cause = t; + throw s; + } + const i = A.status; + const a = A.url; + const c = {}; + for (const [e, t] of A.headers) { + c[e] = t; + } + const u = { url: a, status: i, headers: c, data: "" }; + if ("deprecation" in c) { + const t = c.link && c.link.match(/<([^>]+)>; rel="deprecation"/); + const s = t && t.pop(); + r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${c.sunset}${s ? `. See ${s}` : ""}`); + } + if (i === 204 || i === 205) { + return u; + } + if (e.method === "HEAD") { + if (i < 400) { + return u; + } + throw new RequestError(A.statusText, i, { response: u, request: e }); + } + if (i === 304) { + u.data = await getResponseData(A); + throw new RequestError("Not modified", i, { response: u, request: e }); + } + if (i >= 400) { + u.data = await getResponseData(A); + throw new RequestError(toErrorMessage(u.data), i, { response: u, request: e }); + } + u.data = s ? await getResponseData(A) : A.body; + return u; +} +async function getResponseData(e) { + const t = e.headers.get("content-type"); + if (/application\/json/.test(t)) { + return e + .json() + .catch(() => e.text()) + .catch(() => ""); + } + if (!t || /^text\/|charset=utf-8$/.test(t)) { + return e.text(); + } + return e.arrayBuffer(); +} +function toErrorMessage(e) { + if (typeof e === "string") { + return e; + } + if (e instanceof ArrayBuffer) { + return "Unknown error"; + } + if ("message" in e) { + const t = "documentation_url" in e ? ` - ${e.documentation_url}` : ""; + return Array.isArray(e.errors) ? `${e.message}: ${e.errors.map((e) => JSON.stringify(e)).join(", ")}${t}` : `${e.message}${t}`; + } + return `Unknown error: ${JSON.stringify(e)}`; +} +function dist_bundle_withDefaults(e, t) { + const r = e.defaults(t); + const newApi = function (e, t) { + const s = r.merge(e, t); + if (!s.request || !s.request.hook) { + return fetchWrapper(r.parse(s)); + } + const request2 = (e, t) => fetchWrapper(r.parse(r.merge(e, t))); + Object.assign(request2, { endpoint: r, defaults: dist_bundle_withDefaults.bind(null, r) }); + return s.request.hook(request2, s); + }; + return Object.assign(newApi, { endpoint: r, defaults: dist_bundle_withDefaults.bind(null, r) }); +} +var me = dist_bundle_withDefaults(fe, Ce); +var Qe = "0.0.0-development"; +function _buildMessageForResponseErrors(e) { + return `Request failed due to following response errors:\n` + e.errors.map((e) => ` - ${e.message}`).join("\n"); +} +var Be = class extends Error { + constructor(e, t, r) { + super(_buildMessageForResponseErrors(r)); + this.request = e; + this.headers = t; + this.response = r; + this.errors = r.errors; + this.data = r.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + name = "GraphqlResponseError"; + errors; + data; +}; +var ye = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +var be = ["query", "method", "url"]; +var we = /\/api\/v3\/?$/; +function graphql(e, t, r) { + if (r) { + if (typeof t === "string" && "query" in r) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const e in r) { + if (!be.includes(e)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`)); + } + } + const s = typeof t === "string" ? Object.assign({ query: t }, r) : t; + const o = Object.keys(s).reduce((e, t) => { + if (ye.includes(t)) { + e[t] = s[t]; + return e; + } + if (!e.variables) { + e.variables = {}; + } + e.variables[t] = s[t]; + return e; + }, {}); + const n = s.baseUrl || e.endpoint.DEFAULTS.baseUrl; + if (we.test(n)) { + o.url = n.replace(we, "/api/graphql"); + } + return e(o).then((e) => { + if (e.data.errors) { + const t = {}; + for (const r of Object.keys(e.headers)) { + t[r] = e.headers[r]; + } + throw new Be(o, t, e.data); + } + return e.data.data; + }); +} +function graphql_dist_bundle_withDefaults(e, t) { + const r = e.defaults(t); + const newApi = (e, t) => graphql(r, e, t); + return Object.assign(newApi, { defaults: graphql_dist_bundle_withDefaults.bind(null, r), endpoint: r.endpoint }); +} +var Re = graphql_dist_bundle_withDefaults(me, { headers: { "user-agent": `octokit-graphql.js/${Qe} ${getUserAgent()}` }, method: "POST", url: "/graphql" }); +function withCustomRequest(e) { + return graphql_dist_bundle_withDefaults(e, { method: "POST", url: "/graphql" }); +} +var Te = /^v1\./; +var ke = /^ghs_/; +var De = /^ghu_/; +async function auth(e) { + const t = e.split(/\./).length === 3; + const r = Te.test(e) || ke.test(e); + const s = De.test(e); + const o = t ? "app" : r ? "installation" : s ? "user-to-server" : "oauth"; + return { type: "token", token: e, tokenType: o }; +} +function withAuthorizationPrefix(e) { + if (e.split(/\./).length === 3) { + return `bearer ${e}`; + } + return `token ${e}`; +} +async function hook(e, t, r, s) { + const o = t.endpoint.merge(r, s); + o.headers.authorization = withAuthorizationPrefix(e); + return t(o); +} +var _e = function createTokenAuth2(e) { + if (!e) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof e !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + e = e.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, e), { hook: hook.bind(null, e) }); +}; +const Fe = "6.1.2"; +const noop = () => {}; +const Se = console.warn.bind(console); +const ve = console.error.bind(console); +const Ue = `octokit-core.js/${Fe} ${getUserAgent()}`; +class Octokit { + static VERSION = Fe; + static defaults(e) { + const t = class extends this { + constructor(...t) { + const r = t[0] || {}; + if (typeof e === "function") { + super(e(r)); + return; + } + super(Object.assign({}, e, r, r.userAgent && e.userAgent ? { userAgent: `${r.userAgent} ${e.userAgent}` } : null)); + } + }; + return t; + } + static plugins = []; + static plugin(...e) { + const t = this.plugins; + const r = class extends this { + static plugins = t.concat(e.filter((e) => !t.includes(e))); + }; + return r; + } + constructor(e = {}) { + const t = new ge.Collection(); + const r = { + baseUrl: me.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, e.request, { hook: t.bind(null, "request") }), + mediaType: { previews: [], format: "" }, + }; + r.headers["user-agent"] = e.userAgent ? `${e.userAgent} ${Ue}` : Ue; + if (e.baseUrl) { + r.baseUrl = e.baseUrl; + } + if (e.previews) { + r.mediaType.previews = e.previews; + } + if (e.timeZone) { + r.headers["time-zone"] = e.timeZone; + } + this.request = me.defaults(r); + this.graphql = withCustomRequest(this.request).defaults(r); + this.log = Object.assign({ debug: noop, info: noop, warn: Se, error: ve }, e.log); + this.hook = t; + if (!e.authStrategy) { + if (!e.auth) { + this.auth = async () => ({ type: "unauthenticated" }); + } else { + const r = _e(e.auth); + t.wrap("request", r.hook); + this.auth = r; + } + } else { + const { authStrategy: r, ...s } = e; + const o = r(Object.assign({ request: this.request, log: this.log, octokit: this, octokitOptions: s }, e.auth)); + t.wrap("request", o.hook); + this.auth = o; + } + const s = this.constructor; + for (let t = 0; t < s.plugins.length; ++t) { + Object.assign(this, s.plugins[t](this, e)); + } + } + request; + graphql; + log; + hook; + auth; +} +var Ne = "0.0.0-development"; +function normalizePaginatedListResponse(e) { + if (!e.data) { + return { ...e, data: [] }; + } + const t = "total_count" in e.data && !("url" in e.data); + if (!t) return e; + const r = e.data.incomplete_results; + const s = e.data.repository_selection; + const o = e.data.total_count; + delete e.data.incomplete_results; + delete e.data.repository_selection; + delete e.data.total_count; + const n = Object.keys(e.data)[0]; + const A = e.data[n]; + e.data = A; + if (typeof r !== "undefined") { + e.data.incomplete_results = r; + } + if (typeof s !== "undefined") { + e.data.repository_selection = s; + } + e.data.total_count = o; + return e; +} +function iterator(e, t, r) { + const s = typeof t === "function" ? t.endpoint(r) : e.request.endpoint(t, r); + const o = typeof t === "function" ? t : e.request; + const n = s.method; + const A = s.headers; + let i = s.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!i) return { done: true }; + try { + const e = await o({ method: n, url: i, headers: A }); + const t = normalizePaginatedListResponse(e); + i = ((t.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { value: t }; + } catch (e) { + if (e.status !== 409) throw e; + i = ""; + return { value: { status: 200, headers: {}, data: [] } }; + } + }, + }), + }; +} +function paginate(e, t, r, s) { + if (typeof r === "function") { + s = r; + r = void 0; + } + return gather(e, [], iterator(e, t, r)[Symbol.asyncIterator](), s); +} +function gather(e, t, r, s) { + return r.next().then((o) => { + if (o.done) { + return t; + } + let n = false; + function done() { + n = true; + } + t = t.concat(s ? s(o.value, done) : o.value.data); + if (n) { + return t; + } + return gather(e, t, r, s); + }); +} +var Oe = Object.assign(paginate, { iterator: iterator }); +var Ge = null && [ + "GET /advisories", + "GET /app/hook/deliveries", + "GET /app/installation-requests", + "GET /app/installations", + "GET /assignments/{assignment_id}/accepted_assignments", + "GET /classrooms", + "GET /classrooms/{classroom_id}/assignments", + "GET /enterprises/{enterprise}/copilot/usage", + "GET /enterprises/{enterprise}/dependabot/alerts", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/actions/variables", + "GET /orgs/{org}/actions/variables/{name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/codespaces/secrets", + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", + "GET /orgs/{org}/copilot/billing/seats", + "GET /orgs/{org}/copilot/usage", + "GET /orgs/{org}/dependabot/alerts", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/members/{username}/codespaces", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/organization-roles/{role_id}/teams", + "GET /orgs/{org}/organization-roles/{role_id}/users", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/personal-access-token-requests", + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", + "GET /orgs/{org}/personal-access-tokens", + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/properties/values", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/rulesets", + "GET /orgs/{org}/rulesets/rule-suites", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/security-advisories", + "GET /orgs/{org}/team/{team_slug}/copilot/usage", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/organization-secrets", + "GET /repos/{owner}/{repo}/actions/organization-variables", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/variables", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/activity", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/alerts", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets", + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/rules/branches/{branch}", + "GET /repos/{owner}/{repo}/rulesets", + "GET /repos/{owner}/{repo}/rulesets/rule-suites", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/security-advisories", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/social_accounts", + "GET /user/ssh_signing_keys", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/social_accounts", + "GET /users/{username}/ssh_signing_keys", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions", +]; +function isPaginatingEndpoint(e) { + if (typeof e === "string") { + return Ge.includes(e); + } else { + return false; + } +} +function paginateRest(e) { + return { paginate: Object.assign(paginate.bind(null, e), { iterator: iterator.bind(null, e) }) }; +} +paginateRest.VERSION = Ne; +const Le = "13.2.6"; +const Pe = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: ["POST /orgs/{org}/actions/runners/{runner_id}/labels"], + addCustomLabelsToSelfHostedRunnerForRepo: ["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + addSelectedRepoToOrgVariable: ["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"], + approveWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"], + cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], + createEnvironmentVariable: ["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"], + createOrUpdateEnvironmentSecret: ["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], + createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], + createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], + deleteActionsCacheById: ["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"], + deleteActionsCacheByKey: ["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"], + deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + deleteEnvironmentSecret: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"], + deleteEnvironmentVariable: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + deleteRepoVariable: ["DELETE /repos/{owner}/{repo}/actions/variables/{name}"], + deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], + deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + disableSelectedRepositoryGithubActionsOrganization: ["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"], + disableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"], + downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], + downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], + downloadWorkflowRunAttemptLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"], + downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"], + enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"], + forceCancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"], + generateRunnerJitconfigForOrg: ["POST /orgs/{org}/actions/runners/generate-jitconfig"], + generateRunnerJitconfigForRepo: ["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: ["GET /orgs/{org}/actions/cache/usage-by-repository"], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], + getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getCustomOidcSubClaimForRepo: ["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"], + getEnvironmentPublicKey: ["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"], + getEnvironmentSecret: ["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"], + getEnvironmentVariable: ["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"], + getGithubActionsDefaultWorkflowPermissionsOrganization: ["GET /orgs/{org}/actions/permissions/workflow"], + getGithubActionsDefaultWorkflowPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/workflow"], + getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], + getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], + getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { renamed: ["actions", "getGithubActionsPermissionsRepository"] }], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], + getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: ["GET /repos/{owner}/{repo}/actions/permissions/access"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"], + getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], + getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: ["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"], + listEnvironmentVariables: ["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"], + listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], + listJobsForWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"], + listLabelsForSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}/labels"], + listLabelsForSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listRepoOrganizationSecrets: ["GET /repos/{owner}/{repo}/actions/organization-secrets"], + listRepoOrganizationVariables: ["GET /repos/{owner}/{repo}/actions/organization-variables"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"], + listSelectedReposForOrgVariable: ["GET /orgs/{org}/actions/variables/{name}/repositories"], + listSelectedRepositoriesEnabledGithubActionsOrganization: ["GET /orgs/{org}/actions/permissions/repositories"], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], + listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: ["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + removeCustomLabelFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"], + removeCustomLabelFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + removeSelectedRepoFromOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"], + reviewCustomGatesForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"], + reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], + setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], + setCustomLabelsForSelfHostedRunnerForOrg: ["PUT /orgs/{org}/actions/runners/{runner_id}/labels"], + setCustomLabelsForSelfHostedRunnerForRepo: ["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + setCustomOidcSubClaimForRepo: ["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"], + setGithubActionsDefaultWorkflowPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions/workflow"], + setGithubActionsDefaultWorkflowPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/workflow"], + setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], + setGithubActionsPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"], + setSelectedReposForOrgVariable: ["PUT /orgs/{org}/actions/variables/{name}/repositories"], + setSelectedRepositoriesEnabledGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories"], + setWorkflowAccessToRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/access"], + updateEnvironmentVariable: ["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"], + updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateRepoVariable: ["PATCH /repos/{owner}/{repo}/actions/variables/{name}"], + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"], + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }, + ], + addRepoToInstallationForAuthenticatedUser: ["PUT /user/installations/{installation_id}/repositories/{repository_id}"], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens"], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], + getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], + listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories"], + listInstallationRequestsForAuthenticatedApp: ["GET /app/installation-requests"], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: ["POST /app/hook/deliveries/{delivery_id}/attempts"], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }, + ], + removeRepoFromInstallationForAuthenticatedUser: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}"], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"], + updateWebhookConfigForApp: ["PATCH /app/hook/config"], + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: ["GET /users/{username}/settings/billing/actions"], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: ["GET /users/{username}/settings/billing/packages"], + getSharedStorageBillingOrg: ["GET /orgs/{org}/settings/billing/shared-storage"], + getSharedStorageBillingUser: ["GET /users/{username}/settings/billing/shared-storage"], + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: ["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"], + rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"], + setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences"], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"], + }, + codeScanning: { + deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], + getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { renamedParameters: { alert_id: "alert_number" } }], + getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], + getCodeqlDatabase: ["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"], + getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", {}, { renamed: ["codeScanning", "listAlertInstances"] }], + listCodeqlDatabases: ["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], + updateDefaultSetup: ["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"], + }, + codesOfConduct: { getAllCodesOfConduct: ["GET /codes_of_conduct"], getConductCode: ["GET /codes_of_conduct/{key}"] }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + checkPermissionsForDevcontainer: ["GET /repos/{owner}/{repo}/codespaces/permissions_check"], + codespaceMachinesForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/machines"], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/codespaces/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + createOrUpdateSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}"], + createWithPrForAuthenticatedUser: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"], + createWithRepoForAuthenticatedUser: ["POST /repos/{owner}/{repo}/codespaces"], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: ["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + deleteSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}"], + exportForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/exports"], + getCodespacesForUserInOrg: ["GET /orgs/{org}/members/{username}/codespaces"], + getExportDetailsForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/exports/{export_id}"], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getPublicKeyForAuthenticatedUser: ["GET /user/codespaces/secrets/public-key"], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + getSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}"], + listDevcontainersInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/devcontainers"], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: ["GET /orgs/{org}/codespaces", {}, { renamedParameters: { org_id: "org" } }], + listInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces"], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}/repositories"], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"], + preFlightWithRepoForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/new"], + publishForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/publish"], + removeRepositoryForSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + repoMachinesForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/machines"], + setRepositoriesForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: ["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"], + }, + copilot: { + addCopilotSeatsForTeams: ["POST /orgs/{org}/copilot/billing/selected_teams"], + addCopilotSeatsForUsers: ["POST /orgs/{org}/copilot/billing/selected_users"], + cancelCopilotSeatAssignmentForTeams: ["DELETE /orgs/{org}/copilot/billing/selected_teams"], + cancelCopilotSeatAssignmentForUsers: ["DELETE /orgs/{org}/copilot/billing/selected_users"], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: ["GET /orgs/{org}/members/{username}/copilot"], + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"], + usageMetricsForEnterprise: ["GET /enterprises/{enterprise}/copilot/usage"], + usageMetricsForOrg: ["GET /orgs/{org}/copilot/usage"], + usageMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/usage"], + }, + dependabot: { + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + listAlertsForEnterprise: ["GET /enterprises/{enterprise}/dependabot/alerts"], + listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"], + updateAlert: ["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + }, + dependencyGraph: { + createRepositorySnapshot: ["POST /repos/{owner}/{repo}/dependency-graph/snapshots"], + diffRange: ["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"], + exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"], + }, + emojis: { get: ["GET /emojis"] }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"], + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"], + }, + gitignore: { getAllTemplates: ["GET /gitignore/templates"], getTemplate: ["GET /gitignore/templates/{name}"] }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: ["GET /user/interaction-limits", {}, { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits"], + removeRestrictionsForYourPublicRepos: ["DELETE /user/interaction-limits", {}, { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: ["PUT /user/interaction-limits", {}, { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }], + }, + issues: { + addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], + removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"], + }, + licenses: { get: ["GET /licenses/{license}"], getAllCommonlyUsed: ["GET /licenses"], getForRepo: ["GET /repos/{owner}/{repo}/license"] }, + markdown: { render: ["POST /markdown"], renderRaw: ["POST /markdown/raw", { headers: { "content-type": "text/plain; charset=utf-8" } }] }, + meta: { get: ["GET /meta"], getAllVersions: ["GET /versions"], getOctocat: ["GET /octocat"], getZen: ["GET /zen"], root: ["GET /"] }, + migrations: { + deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive"], + deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive"], + downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive"], + getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive"], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: ["GET /user/migrations/{migration_id}/repositories"], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: ["GET /user/migrations/{migration_id}/repositories", {}, { renamed: ["migrations", "listReposForAuthenticatedUser"] }], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"], + unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"], + }, + oidc: { + getOidcCustomSubTemplateForOrg: ["GET /orgs/{org}/actions/oidc/customization/sub"], + updateOidcCustomSubTemplateForOrg: ["PUT /orgs/{org}/actions/oidc/customization/sub"], + }, + orgs: { + addSecurityManagerTeam: ["PUT /orgs/{org}/security-managers/teams/{team_slug}"], + assignTeamToOrgRole: ["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"], + assignUserToOrgRole: ["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"], + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], + createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], + createInvitation: ["POST /orgs/{org}/invitations"], + createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], + createOrUpdateCustomPropertiesValuesForRepos: ["PATCH /orgs/{org}/properties/values"], + createOrUpdateCustomProperty: ["PUT /orgs/{org}/properties/schema/{custom_property_name}"], + createWebhook: ["POST /orgs/{org}/hooks"], + delete: ["DELETE /orgs/{org}"], + deleteCustomOrganizationRole: ["DELETE /orgs/{org}/organization-roles/{role_id}"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: ["POST /orgs/{org}/{security_product}/{enablement}"], + get: ["GET /orgs/{org}"], + getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], + getCustomProperty: ["GET /orgs/{org}/properties/schema/{custom_property_name}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], + listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], + listOrgRoles: ["GET /orgs/{org}/organization-roles"], + listOrganizationFineGrainedPermissions: ["GET /orgs/{org}/organization-fine-grained-permissions"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPatGrantRepositories: ["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"], + listPatGrantRequestRepositories: ["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"], + listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], + listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + patchCustomOrganizationRole: ["PATCH /orgs/{org}/organization-roles/{role_id}"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeCustomProperty: ["DELETE /orgs/{org}/properties/schema/{custom_property_name}"], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], + removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"], + removeSecurityManagerTeam: ["DELETE /orgs/{org}/security-managers/teams/{team_slug}"], + reviewPatGrantRequest: ["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"], + reviewPatGrantRequestsInBulk: ["POST /orgs/{org}/personal-access-token-requests"], + revokeAllOrgRolesTeam: ["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"], + revokeAllOrgRolesUser: ["DELETE /orgs/{org}/organization-roles/users/{username}"], + revokeOrgRoleTeam: ["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"], + revokeOrgRoleUser: ["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"], + updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], + updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"], + }, + packages: { + deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], + deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], + deletePackageForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}"], + deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }, + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] }, + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], + getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], + getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], + getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], + getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + listDockerMigrationConflictingPackagesForAuthenticatedUser: ["GET /user/docker/conflicts"], + listDockerMigrationConflictingPackagesForOrganization: ["GET /orgs/{org}/docker/conflicts"], + listDockerMigrationConflictingPackagesForUser: ["GET /users/{username}/docker/conflicts"], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission"], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}"], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"], + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"], + updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + createForRelease: ["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"], + createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"], + deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"], + deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"], + deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"], + deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"], + deleteForRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"], + deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"], + deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"], + listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + listForRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"], + listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"], + }, + repos: { + acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}", {}, { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] }], + acceptInvitationForAuthenticatedUser: ["PATCH /user/repository_invitations/{invitation_id}"], + addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { mapToData: "apps" }], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { mapToData: "contexts" }], + addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { mapToData: "teams" }], + addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { mapToData: "users" }], + cancelPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"], + checkAutomatedSecurityFixes: ["GET /repos/{owner}/{repo}/automated-security-fixes"], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkPrivateVulnerabilityReporting: ["GET /repos/{owner}/{repo}/private-vulnerability-reporting"], + checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts"], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: ["GET /repos/{owner}/{repo}/compare/{basehead}"], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentBranchPolicy: ["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"], + createDeploymentProtectionRule: ["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"], + createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateCustomPropertiesValues: ["PATCH /repos/{owner}/{repo}/properties/values"], + createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createOrgRuleset: ["POST /orgs/{org}/rulesets"], + createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate"], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}", {}, { renamed: ["repos", "declineInvitationForAuthenticatedUser"] }], + declineInvitationForAuthenticatedUser: ["DELETE /user/repository_invitations/{invitation_id}"], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], + deleteDeploymentBranchPolicy: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], + deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], + deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + deleteTagProtection: ["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes"], + disableDeploymentProtectionRule: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"], + disablePrivateVulnerabilityReporting: ["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"], + disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts"], + downloadArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}", {}, { renamed: ["repos", "downloadZipballArchive"] }], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes"], + enablePrivateVulnerabilityReporting: ["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"], + enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts"], + generateReleaseNotes: ["POST /repos/{owner}/{repo}/releases/generate-notes"], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + getAllDeploymentProtectionRules: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], + getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getCustomDeploymentProtectionRule: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"], + getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentBranchPolicy: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"], + getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], + getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], + getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], + getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], + getOrgRulesets: ["GET /orgs/{org}/rulesets"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesDeployment: ["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getRepoRuleSuite: ["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"], + getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], + getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"], + listActivities: ["GET /repos/{owner}/{repo}/activity"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCustomDeploymentRuleIntegrations: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: ["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"], + listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"], + listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { mapToData: "apps" }], + removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], + removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { mapToData: "contexts" }], + removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { mapToData: "teams" }], + removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { mapToData: "users" }], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { mapToData: "apps" }], + setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { mapToData: "contexts" }], + setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { mapToData: "teams" }], + setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { mapToData: "users" }], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateDeploymentBranchPolicy: ["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], + updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], + updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], + updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] }, + ], + updateStatusCheckProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"], + uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { baseUrl: "https://uploads.github.com" }], + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"], + }, + secretScanning: { + getAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], + listAlertsForEnterprise: ["GET /enterprises/{enterprise}/secret-scanning/alerts"], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"], + updateAlert: ["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], + }, + securityAdvisories: { + createFork: ["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"], + createPrivateVulnerabilityReport: ["POST /repos/{owner}/{repo}/security-advisories/reports"], + createRepositoryAdvisory: ["POST /repos/{owner}/{repo}/security-advisories"], + createRepositoryAdvisoryCveRequest: ["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"], + getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], + getRepositoryAdvisory: ["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"], + listGlobalAdvisories: ["GET /advisories"], + listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"], + listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"], + updateRepositoryAdvisory: ["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"], + }, + teams: { + addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], + addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], + removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"], + }, + users: { + addEmailForAuthenticated: ["POST /user/emails", {}, { renamed: ["users", "addEmailForAuthenticatedUser"] }], + addEmailForAuthenticatedUser: ["POST /user/emails"], + addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: ["POST /user/gpg_keys", {}, { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: ["POST /user/keys", {}, { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], + deleteEmailForAuthenticated: ["DELETE /user/emails", {}, { renamed: ["users", "deleteEmailForAuthenticatedUser"] }], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}", {}, { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}", {}, { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], + deleteSshSigningKeyForAuthenticatedUser: ["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}", {}, { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}", {}, { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getSshSigningKeyForAuthenticatedUser: ["GET /user/ssh_signing_keys/{ssh_signing_key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: ["GET /user/blocks", {}, { renamed: ["users", "listBlockedByAuthenticatedUser"] }], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: ["GET /user/emails", {}, { renamed: ["users", "listEmailsForAuthenticatedUser"] }], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: ["GET /user/following", {}, { renamed: ["users", "listFollowedByAuthenticatedUser"] }], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: ["GET /user/gpg_keys", {}, { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: ["GET /user/public_emails", {}, { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: ["GET /user/keys", {}, { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"], + listSocialAccountsForUser: ["GET /users/{username}/social_accounts"], + listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], + listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], + setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility", {}, { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }], + setPrimaryEmailVisibilityForAuthenticatedUser: ["PATCH /user/email/visibility"], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"], + }, +}; +var Me = Pe; +const xe = new Map(); +for (const [e, t] of Object.entries(Me)) { + for (const [r, s] of Object.entries(t)) { + const [t, o, n] = s; + const [A, i] = t.split(/ /); + const a = Object.assign({ method: A, url: i }, o); + if (!xe.has(e)) { + xe.set(e, new Map()); + } + xe.get(e).set(r, { scope: e, methodName: r, endpointDefaults: a, decorations: n }); + } +} +const He = { + has({ scope: e }, t) { + return xe.get(e).has(t); + }, + getOwnPropertyDescriptor(e, t) { + return { value: this.get(e, t), configurable: true, writable: true, enumerable: true }; + }, + defineProperty(e, t, r) { + Object.defineProperty(e.cache, t, r); + return true; + }, + deleteProperty(e, t) { + delete e.cache[t]; + return true; + }, + ownKeys({ scope: e }) { + return [...xe.get(e).keys()]; + }, + set(e, t, r) { + return (e.cache[t] = r); + }, + get({ octokit: e, scope: t, cache: r }, s) { + if (r[s]) { + return r[s]; + } + const o = xe.get(t).get(s); + if (!o) { + return void 0; + } + const { endpointDefaults: n, decorations: A } = o; + if (A) { + r[s] = decorate(e, t, s, n, A); + } else { + r[s] = e.request.defaults(n); + } + return r[s]; + }, +}; +function endpointsToMethods(e) { + const t = {}; + for (const r of xe.keys()) { + t[r] = new Proxy({ octokit: e, scope: r, cache: {} }, He); + } + return t; +} +function decorate(e, t, r, s, o) { + const n = e.request.defaults(s); + function withDecorations(...s) { + let A = n.endpoint.merge(...s); + if (o.mapToData) { + A = Object.assign({}, A, { data: A[o.mapToData], [o.mapToData]: void 0 }); + return n(A); + } + if (o.renamed) { + const [s, n] = o.renamed; + e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${s}.${n}()`); + } + if (o.deprecated) { + e.log.warn(o.deprecated); + } + if (o.renamedParameters) { + const A = n.endpoint.merge(...s); + for (const [s, n] of Object.entries(o.renamedParameters)) { + if (s in A) { + e.log.warn(`"${s}" parameter is deprecated for "octokit.${t}.${r}()". Use "${n}" instead`); + if (!(n in A)) { + A[n] = A[s]; + } + delete A[s]; + } + } + return n(A); + } + return n(...s); + } + return Object.assign(withDecorations, n); +} +function restEndpointMethods(e) { + const t = endpointsToMethods(e); + return { rest: t }; +} +restEndpointMethods.VERSION = Le; +function legacyRestEndpointMethods(e) { + const t = endpointsToMethods(e); + return { ...t, rest: t }; +} +legacyRestEndpointMethods.VERSION = Le; +var Ve = __nccwpck_require__(3251); +var Ye = "0.0.0-development"; +async function errorRequest(e, t, r, s) { + if (!r.request || !r.request.request) { + throw r; + } + if (r.status >= 400 && !e.doNotRetry.includes(r.status)) { + const o = s.request.retries != null ? s.request.retries : e.retries; + const n = Math.pow((s.request.retryCount || 0) + 1, 2); + throw t.retry.retryRequest(r, o, n); + } + throw r; +} +async function wrapRequest(e, t, r, s) { + const o = new Ve(); + o.on("failed", function (t, r) { + const o = ~~t.request.request.retries; + const n = ~~t.request.request.retryAfter; + s.request.retryCount = r.retryCount + 1; + if (o > r.retryCount) { + return n * e.retryAfterBaseValue; + } + }); + return o.schedule(requestWithGraphqlErrorHandling.bind(null, e, t, r), s); +} +async function requestWithGraphqlErrorHandling(e, t, r, s) { + const o = await r(r, s); + if (o.data && o.data.errors && o.data.errors.length > 0 && /Something went wrong while executing your query/.test(o.data.errors[0].message)) { + const r = new RequestError(o.data.errors[0].message, 500, { request: s, response: o }); + return errorRequest(e, t, r, s); + } + return o; +} +function retry(e, t) { + const r = Object.assign({ enabled: true, retryAfterBaseValue: 1e3, doNotRetry: [400, 401, 403, 404, 422, 451], retries: 3 }, t.retry); + if (r.enabled) { + e.hook.error("request", errorRequest.bind(null, r, e)); + e.hook.wrap("request", wrapRequest.bind(null, r, e)); + } + return { + retry: { + retryRequest: (e, t, r) => { + e.request.request = Object.assign({}, e.request.request, { retries: t, retryAfter: r }); + return e; + }, + }, + }; +} +retry.VERSION = Ye; +var Je = "0.0.0-development"; +var dist_bundle_noop = () => Promise.resolve(); +function dist_bundle_wrapRequest(e, t, r) { + return e.retryLimiter.schedule(doRequest, e, t, r); +} +async function doRequest(e, t, r) { + const s = r.method !== "GET" && r.method !== "HEAD"; + const { pathname: o } = new URL(r.url, "http://github.test"); + const n = r.method === "GET" && o.startsWith("/search/"); + const A = o.startsWith("/graphql"); + const i = ~~t.retryCount; + const a = i > 0 ? { priority: 0, weight: 0 } : {}; + if (e.clustering) { + a.expiration = 1e3 * 60; + } + if (s || A) { + await e.write.key(e.id).schedule(a, dist_bundle_noop); + } + if (s && e.triggersNotification(o)) { + await e.notifications.key(e.id).schedule(a, dist_bundle_noop); + } + if (n) { + await e.search.key(e.id).schedule(a, dist_bundle_noop); + } + const c = e.global.key(e.id).schedule(a, t, r); + if (A) { + const e = await c; + if (e.data.errors != null && e.data.errors.some((e) => e.type === "RATE_LIMITED")) { + const t = Object.assign(new Error("GraphQL Rate Limit Exceeded"), { response: e, data: e.data }); + throw t; + } + } + return c; +} +var qe = [ + "/orgs/{org}/invitations", + "/orgs/{org}/invitations/{invitation_id}", + "/orgs/{org}/teams/{team_slug}/discussions", + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "/repos/{owner}/{repo}/collaborators/{username}", + "/repos/{owner}/{repo}/commits/{commit_sha}/comments", + "/repos/{owner}/{repo}/issues", + "/repos/{owner}/{repo}/issues/{issue_number}/comments", + "/repos/{owner}/{repo}/pulls", + "/repos/{owner}/{repo}/pulls/{pull_number}/comments", + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", + "/repos/{owner}/{repo}/pulls/{pull_number}/merge", + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "/repos/{owner}/{repo}/releases", + "/teams/{team_id}/discussions", + "/teams/{team_id}/discussions/{discussion_number}/comments", +]; +function routeMatcher(e) { + const t = e.map((e) => + e + .split("/") + .map((e) => (e.startsWith("{") ? "(?:.+?)" : e)) + .join("/") + ); + const r = `^(?:${t.map((e) => `(?:${e})`).join("|")})[^/]*$`; + return new RegExp(r, "i"); +} +var je = routeMatcher(qe); +var We = je.test.bind(je); +var Ke = {}; +var createGroups = function (e, t) { + Ke.global = new e.Group({ id: "octokit-global", maxConcurrent: 10, ...t }); + Ke.search = new e.Group({ id: "octokit-search", maxConcurrent: 1, minTime: 2e3, ...t }); + Ke.write = new e.Group({ id: "octokit-write", maxConcurrent: 1, minTime: 1e3, ...t }); + Ke.notifications = new e.Group({ id: "octokit-notifications", maxConcurrent: 1, minTime: 3e3, ...t }); +}; +function throttling(e, t) { + const { enabled: r = true, Bottleneck: s = Ve, id: o = "no-id", timeout: n = 1e3 * 60 * 2, connection: A } = t.throttle || {}; + if (!r) { + return {}; + } + const i = { timeout: n }; + if (typeof A !== "undefined") { + i.connection = A; + } + if (Ke.global == null) { + createGroups(s, i); + } + const a = Object.assign( + { clustering: A != null, triggersNotification: We, fallbackSecondaryRateRetryAfter: 60, retryAfterBaseValue: 1e3, retryLimiter: new s(), id: o, ...Ke }, + t.throttle + ); + if (typeof a.onSecondaryRateLimit !== "function" || typeof a.onRateLimit !== "function") { + throw new Error( + `octokit/plugin-throttling error:\n You must pass the onSecondaryRateLimit and onRateLimit error handlers.\n See https://octokit.github.io/rest.js/#throttling\n\n const octokit = new Octokit({\n throttle: {\n onSecondaryRateLimit: (retryAfter, options) => {/* ... */},\n onRateLimit: (retryAfter, options) => {/* ... */}\n }\n })\n ` + ); + } + const c = {}; + const u = new s.Events(c); + c.on("secondary-limit", a.onSecondaryRateLimit); + c.on("rate-limit", a.onRateLimit); + c.on("error", (t) => e.log.warn("Error in throttling-plugin limit handler", t)); + a.retryLimiter.on("failed", async function (t, r) { + const [s, o, n] = r.args; + const { pathname: A } = new URL(n.url, "http://github.test"); + const i = A.startsWith("/graphql") && t.status !== 401; + if (!(i || t.status === 403 || t.status === 429)) { + return; + } + const a = ~~o.retryCount; + o.retryCount = a; + n.request.retryCount = a; + const { wantRetry: c, retryAfter: l = 0 } = await (async function () { + if (/\bsecondary rate\b/i.test(t.message)) { + const r = Number(t.response.headers["retry-after"]) || s.fallbackSecondaryRateRetryAfter; + const o = await u.trigger("secondary-limit", r, n, e, a); + return { wantRetry: o, retryAfter: r }; + } + if ( + (t.response.headers != null && t.response.headers["x-ratelimit-remaining"] === "0") || + (t.response.data?.errors ?? []).some((e) => e.type === "RATE_LIMITED") + ) { + const r = new Date(~~t.response.headers["x-ratelimit-reset"] * 1e3).getTime(); + const s = Math.max(Math.ceil((r - Date.now()) / 1e3) + 1, 0); + const o = await u.trigger("rate-limit", s, n, e, a); + return { wantRetry: o, retryAfter: s }; + } + return {}; + })(); + if (c) { + o.retryCount++; + return l * s.retryAfterBaseValue; + } + }); + e.hook.wrap("request", dist_bundle_wrapRequest.bind(null, a)); + return {}; +} +throttling.VERSION = Je; +throttling.triggersNotification = We; +var generateMessage = (e, t) => + `The cursor at "${e.join(",")}" did not change its value "${t}" after a page transition. Please make sure your that your query is set up correctly.`; +var ze = class extends Error { + constructor(e, t) { + super(generateMessage(e.pathInQuery, t)); + this.pageInfo = e; + this.cursorValue = t; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + name = "MissingCursorChangeError"; +}; +var Ze = class extends Error { + constructor(e) { + super(`No pageInfo property found in response. Please make sure to specify the pageInfo in your query. Response-Data: ${JSON.stringify(e, null, 2)}`); + this.response = e; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + name = "MissingPageInfo"; +}; +var isObject = (e) => Object.prototype.toString.call(e) === "[object Object]"; +function findPaginatedResourcePath(e) { + const t = deepFindPathToProperty(e, "pageInfo"); + if (t.length === 0) { + throw new Ze(e); + } + return t; +} +var deepFindPathToProperty = (e, t, r = []) => { + for (const s of Object.keys(e)) { + const o = [...r, s]; + const n = e[s]; + if (isObject(n)) { + if (n.hasOwnProperty(t)) { + return o; + } + const e = deepFindPathToProperty(n, t, o); + if (e.length > 0) { + return e; + } + } + } + return []; +}; +var get = (e, t) => t.reduce((e, t) => e[t], e); +var set = (e, t, r) => { + const s = t[t.length - 1]; + const o = [...t].slice(0, -1); + const n = get(e, o); + if (typeof r === "function") { + n[s] = r(n[s]); + } else { + n[s] = r; + } +}; +var extractPageInfos = (e) => { + const t = findPaginatedResourcePath(e); + return { pathInQuery: t, pageInfo: get(e, [...t, "pageInfo"]) }; +}; +var isForwardSearch = (e) => e.hasOwnProperty("hasNextPage"); +var getCursorFrom = (e) => (isForwardSearch(e) ? e.endCursor : e.startCursor); +var hasAnotherPage = (e) => (isForwardSearch(e) ? e.hasNextPage : e.hasPreviousPage); +var createIterator = + (e) => + (t, r = {}) => { + let s = true; + let o = { ...r }; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!s) return { done: true, value: {} }; + const r = await e.graphql(t, o); + const n = extractPageInfos(r); + const A = getCursorFrom(n.pageInfo); + s = hasAnotherPage(n.pageInfo); + if (s && A === o.cursor) { + throw new ze(n, A); + } + o = { ...o, cursor: A }; + return { done: false, value: r }; + }, + }), + }; + }; +var mergeResponses = (e, t) => { + if (Object.keys(e).length === 0) { + return Object.assign(e, t); + } + const r = findPaginatedResourcePath(e); + const s = [...r, "nodes"]; + const o = get(t, s); + if (o) { + set(e, s, (e) => [...e, ...o]); + } + const n = [...r, "edges"]; + const A = get(t, n); + if (A) { + set(e, n, (e) => [...e, ...A]); + } + const i = [...r, "pageInfo"]; + set(e, i, get(t, i)); + return e; +}; +var createPaginate = (e) => { + const t = createIterator(e); + return async (e, r = {}) => { + let s = {}; + for await (const o of t(e, r)) { + s = mergeResponses(s, o); + } + return s; + }; +}; +var Xe = "0.0.0-development"; +function paginateGraphQL(e) { + return { graphql: Object.assign(e.graphql, { paginate: Object.assign(createPaginate(e), { iterator: createIterator(e) }) }) }; +} +var $e = __nccwpck_require__(7484); +var et = __nccwpck_require__(3228); +const tt = new Map(); +function Entries() { + return new Map(tt); +} +function Clear() { + return tt.clear(); +} +function Delete(e) { + return tt.delete(e); +} +function Has(e) { + return tt.has(e); +} +function format_Set(e, t) { + tt.set(e, t); +} +function Get(e) { + return tt.get(e); +} +const rt = new Map(); +function type_Entries() { + return new Map(rt); +} +function type_Clear() { + return rt.clear(); +} +function type_Delete(e) { + return rt.delete(e); +} +function type_Has(e) { + return rt.has(e); +} +function type_Set(e, t) { + rt.set(e, t); +} +function type_Get(e) { + return rt.get(e); +} +function extends_undefined_Intersect(e) { + return e.allOf.every((e) => ExtendsUndefinedCheck(e)); +} +function extends_undefined_Union(e) { + return e.anyOf.some((e) => ExtendsUndefinedCheck(e)); +} +function extends_undefined_Not(e) { + return !ExtendsUndefinedCheck(e.not); +} +function ExtendsUndefinedCheck(e) { + return e[u] === "Intersect" + ? extends_undefined_Intersect(e) + : e[u] === "Union" + ? extends_undefined_Union(e) + : e[u] === "Not" + ? extends_undefined_Not(e) + : e[u] === "Undefined" + ? true + : false; +} +function DefaultErrorFunction(e) { + switch (e.errorType) { + case gt.ArrayContains: + return "Expected array to contain at least one matching value"; + case gt.ArrayMaxContains: + return `Expected array to contain no more than ${e.schema.maxContains} matching values`; + case gt.ArrayMinContains: + return `Expected array to contain at least ${e.schema.minContains} matching values`; + case gt.ArrayMaxItems: + return `Expected array length to be less or equal to ${e.schema.maxItems}`; + case gt.ArrayMinItems: + return `Expected array length to be greater or equal to ${e.schema.minItems}`; + case gt.ArrayUniqueItems: + return "Expected array elements to be unique"; + case gt.Array: + return "Expected array"; + case gt.AsyncIterator: + return "Expected AsyncIterator"; + case gt.BigIntExclusiveMaximum: + return `Expected bigint to be less than ${e.schema.exclusiveMaximum}`; + case gt.BigIntExclusiveMinimum: + return `Expected bigint to be greater than ${e.schema.exclusiveMinimum}`; + case gt.BigIntMaximum: + return `Expected bigint to be less or equal to ${e.schema.maximum}`; + case gt.BigIntMinimum: + return `Expected bigint to be greater or equal to ${e.schema.minimum}`; + case gt.BigIntMultipleOf: + return `Expected bigint to be a multiple of ${e.schema.multipleOf}`; + case gt.BigInt: + return "Expected bigint"; + case gt.Boolean: + return "Expected boolean"; + case gt.DateExclusiveMinimumTimestamp: + return `Expected Date timestamp to be greater than ${e.schema.exclusiveMinimumTimestamp}`; + case gt.DateExclusiveMaximumTimestamp: + return `Expected Date timestamp to be less than ${e.schema.exclusiveMaximumTimestamp}`; + case gt.DateMinimumTimestamp: + return `Expected Date timestamp to be greater or equal to ${e.schema.minimumTimestamp}`; + case gt.DateMaximumTimestamp: + return `Expected Date timestamp to be less or equal to ${e.schema.maximumTimestamp}`; + case gt.DateMultipleOfTimestamp: + return `Expected Date timestamp to be a multiple of ${e.schema.multipleOfTimestamp}`; + case gt.Date: + return "Expected Date"; + case gt.Function: + return "Expected function"; + case gt.IntegerExclusiveMaximum: + return `Expected integer to be less than ${e.schema.exclusiveMaximum}`; + case gt.IntegerExclusiveMinimum: + return `Expected integer to be greater than ${e.schema.exclusiveMinimum}`; + case gt.IntegerMaximum: + return `Expected integer to be less or equal to ${e.schema.maximum}`; + case gt.IntegerMinimum: + return `Expected integer to be greater or equal to ${e.schema.minimum}`; + case gt.IntegerMultipleOf: + return `Expected integer to be a multiple of ${e.schema.multipleOf}`; + case gt.Integer: + return "Expected integer"; + case gt.IntersectUnevaluatedProperties: + return "Unexpected property"; + case gt.Intersect: + return "Expected all values to match"; + case gt.Iterator: + return "Expected Iterator"; + case gt.Literal: + return `Expected ${typeof e.schema.const === "string" ? `'${e.schema.const}'` : e.schema.const}`; + case gt.Never: + return "Never"; + case gt.Not: + return "Value should not match"; + case gt.Null: + return "Expected null"; + case gt.NumberExclusiveMaximum: + return `Expected number to be less than ${e.schema.exclusiveMaximum}`; + case gt.NumberExclusiveMinimum: + return `Expected number to be greater than ${e.schema.exclusiveMinimum}`; + case gt.NumberMaximum: + return `Expected number to be less or equal to ${e.schema.maximum}`; + case gt.NumberMinimum: + return `Expected number to be greater or equal to ${e.schema.minimum}`; + case gt.NumberMultipleOf: + return `Expected number to be a multiple of ${e.schema.multipleOf}`; + case gt.Number: + return "Expected number"; + case gt.Object: + return "Expected object"; + case gt.ObjectAdditionalProperties: + return "Unexpected property"; + case gt.ObjectMaxProperties: + return `Expected object to have no more than ${e.schema.maxProperties} properties`; + case gt.ObjectMinProperties: + return `Expected object to have at least ${e.schema.minProperties} properties`; + case gt.ObjectRequiredProperty: + return "Expected required property"; + case gt.Promise: + return "Expected Promise"; + case gt.RegExp: + return "Expected string to match regular expression"; + case gt.StringFormatUnknown: + return `Unknown format '${e.schema.format}'`; + case gt.StringFormat: + return `Expected string to match '${e.schema.format}' format`; + case gt.StringMaxLength: + return `Expected string length less or equal to ${e.schema.maxLength}`; + case gt.StringMinLength: + return `Expected string length greater or equal to ${e.schema.minLength}`; + case gt.StringPattern: + return `Expected string to match '${e.schema.pattern}'`; + case gt.String: + return "Expected string"; + case gt.Symbol: + return "Expected symbol"; + case gt.TupleLength: + return `Expected tuple to have ${e.schema.maxItems || 0} elements`; + case gt.Tuple: + return "Expected tuple"; + case gt.Uint8ArrayMaxByteLength: + return `Expected byte length less or equal to ${e.schema.maxByteLength}`; + case gt.Uint8ArrayMinByteLength: + return `Expected byte length greater or equal to ${e.schema.minByteLength}`; + case gt.Uint8Array: + return "Expected Uint8Array"; + case gt.Undefined: + return "Expected undefined"; + case gt.Union: + return "Expected union value"; + case gt.Void: + return "Expected void"; + case gt.Kind: + return `Expected kind '${e.schema[u]}'`; + default: + return "Unknown error type"; + } +} +let st = DefaultErrorFunction; +function SetErrorFunction(e) { + st = e; +} +function GetErrorFunction() { + return st; +} +class TypeDereferenceError extends error_TypeBoxError { + constructor(e) { + super(`Unable to dereference schema with $id '${e.$ref}'`); + this.schema = e; + } +} +function Resolve(e, t) { + const r = t.find((t) => t.$id === e.$ref); + if (r === undefined) throw new TypeDereferenceError(e); + return deref_Deref(r, t); +} +function Pushref(e, t) { + if (!IsString(e.$id) || t.some((t) => t.$id === e.$id)) return t; + t.push(e); + return t; +} +function deref_Deref(e, t) { + return e[u] === "This" || e[u] === "Ref" ? Resolve(e, t) : e; +} +class ValueHashError extends error_TypeBoxError { + constructor(e) { + super(`Unable to hash value`); + this.value = e; + } +} +var ot; +(function (e) { + e[(e["Undefined"] = 0)] = "Undefined"; + e[(e["Null"] = 1)] = "Null"; + e[(e["Boolean"] = 2)] = "Boolean"; + e[(e["Number"] = 3)] = "Number"; + e[(e["String"] = 4)] = "String"; + e[(e["Object"] = 5)] = "Object"; + e[(e["Array"] = 6)] = "Array"; + e[(e["Date"] = 7)] = "Date"; + e[(e["Uint8Array"] = 8)] = "Uint8Array"; + e[(e["Symbol"] = 9)] = "Symbol"; + e[(e["BigInt"] = 10)] = "BigInt"; +})(ot || (ot = {})); +let nt = BigInt("14695981039346656037"); +const [At, it] = [BigInt("1099511628211"), BigInt("18446744073709551616")]; +const at = Array.from({ length: 256 }).map((e, t) => BigInt(t)); +const ct = new Float64Array(1); +const ut = new DataView(ct.buffer); +const lt = new Uint8Array(ct.buffer); +function* NumberToBytes(e) { + const t = e === 0 ? 1 : Math.ceil(Math.floor(Math.log2(e) + 1) / 8); + for (let r = 0; r < t; r++) { + yield (e >> (8 * (t - 1 - r))) & 255; + } +} +function hash_ArrayType(e) { + FNV1A64(ot.Array); + for (const t of e) { + hash_Visit(t); + } +} +function BooleanType(e) { + FNV1A64(ot.Boolean); + FNV1A64(e ? 1 : 0); +} +function BigIntType(e) { + FNV1A64(ot.BigInt); + ut.setBigInt64(0, e); + for (const e of lt) { + FNV1A64(e); + } +} +function hash_DateType(e) { + FNV1A64(ot.Date); + hash_Visit(e.getTime()); +} +function NullType(e) { + FNV1A64(ot.Null); +} +function NumberType(e) { + FNV1A64(ot.Number); + ut.setFloat64(0, e); + for (const e of lt) { + FNV1A64(e); + } +} +function hash_ObjectType(e) { + FNV1A64(ot.Object); + for (const t of globalThis.Object.getOwnPropertyNames(e).sort()) { + hash_Visit(t); + hash_Visit(e[t]); + } +} +function StringType(e) { + FNV1A64(ot.String); + for (let t = 0; t < e.length; t++) { + for (const r of NumberToBytes(e.charCodeAt(t))) { + FNV1A64(r); + } + } +} +function SymbolType(e) { + FNV1A64(ot.Symbol); + hash_Visit(e.description); +} +function hash_Uint8ArrayType(e) { + FNV1A64(ot.Uint8Array); + for (let t = 0; t < e.length; t++) { + FNV1A64(e[t]); + } +} +function UndefinedType(e) { + return FNV1A64(ot.Undefined); +} +function hash_Visit(e) { + if (IsArray(e)) return hash_ArrayType(e); + if (IsBoolean(e)) return BooleanType(e); + if (IsBigInt(e)) return BigIntType(e); + if (IsDate(e)) return hash_DateType(e); + if (IsNull(e)) return NullType(e); + if (IsNumber(e)) return NumberType(e); + if (IsObject(e)) return hash_ObjectType(e); + if (IsString(e)) return StringType(e); + if (IsSymbol(e)) return SymbolType(e); + if (IsUint8Array(e)) return hash_Uint8ArrayType(e); + if (IsUndefined(e)) return UndefinedType(e); + throw new ValueHashError(e); +} +function FNV1A64(e) { + nt = nt ^ at[e]; + nt = (nt * At) % it; +} +function Hash(e) { + nt = BigInt("14695981039346656037"); + hash_Visit(e); + return nt; +} +class ValueCheckUnknownTypeError extends error_TypeBoxError { + constructor(e) { + super(`Unknown type`); + this.schema = e; + } +} +function IsAnyOrUnknown(e) { + return e[u] === "Any" || e[u] === "Unknown"; +} +function IsDefined(e) { + return e !== undefined; +} +function check_FromAny(e, t, r) { + return true; +} +function check_FromArray(e, t, r) { + if (!IsArray(r)) return false; + if (IsDefined(e.minItems) && !(r.length >= e.minItems)) { + return false; + } + if (IsDefined(e.maxItems) && !(r.length <= e.maxItems)) { + return false; + } + if (!r.every((r) => check_Visit(e.items, t, r))) { + return false; + } + if ( + e.uniqueItems === true && + !(function () { + const e = new Set(); + for (const t of r) { + const r = Hash(t); + if (e.has(r)) { + return false; + } else { + e.add(r); + } + } + return true; + })() + ) { + return false; + } + if (!(IsDefined(e.contains) || IsNumber(e.minContains) || IsNumber(e.maxContains))) { + return true; + } + const s = IsDefined(e.contains) ? e.contains : Never(); + const o = r.reduce((e, r) => (check_Visit(s, t, r) ? e + 1 : e), 0); + if (o === 0) { + return false; + } + if (IsNumber(e.minContains) && o < e.minContains) { + return false; + } + if (IsNumber(e.maxContains) && o > e.maxContains) { + return false; + } + return true; +} +function check_FromAsyncIterator(e, t, r) { + return IsAsyncIterator(r); +} +function check_FromBigInt(e, t, r) { + if (!IsBigInt(r)) return false; + if (IsDefined(e.exclusiveMaximum) && !(r < e.exclusiveMaximum)) { + return false; + } + if (IsDefined(e.exclusiveMinimum) && !(r > e.exclusiveMinimum)) { + return false; + } + if (IsDefined(e.maximum) && !(r <= e.maximum)) { + return false; + } + if (IsDefined(e.minimum) && !(r >= e.minimum)) { + return false; + } + if (IsDefined(e.multipleOf) && !(r % e.multipleOf === BigInt(0))) { + return false; + } + return true; +} +function check_FromBoolean(e, t, r) { + return IsBoolean(r); +} +function check_FromConstructor(e, t, r) { + return check_Visit(e.returns, t, r.prototype); +} +function check_FromDate(e, t, r) { + if (!IsDate(r)) return false; + if (IsDefined(e.exclusiveMaximumTimestamp) && !(r.getTime() < e.exclusiveMaximumTimestamp)) { + return false; + } + if (IsDefined(e.exclusiveMinimumTimestamp) && !(r.getTime() > e.exclusiveMinimumTimestamp)) { + return false; + } + if (IsDefined(e.maximumTimestamp) && !(r.getTime() <= e.maximumTimestamp)) { + return false; + } + if (IsDefined(e.minimumTimestamp) && !(r.getTime() >= e.minimumTimestamp)) { + return false; + } + if (IsDefined(e.multipleOfTimestamp) && !(r.getTime() % e.multipleOfTimestamp === 0)) { + return false; + } + return true; +} +function check_FromFunction(e, t, r) { + return IsFunction(r); +} +function FromImport(e, t, r) { + const s = globalThis.Object.values(e.$defs); + const o = e.$defs[e.$ref]; + return check_Visit(o, [...t, ...s], r); +} +function check_FromInteger(e, t, r) { + if (!IsInteger(r)) { + return false; + } + if (IsDefined(e.exclusiveMaximum) && !(r < e.exclusiveMaximum)) { + return false; + } + if (IsDefined(e.exclusiveMinimum) && !(r > e.exclusiveMinimum)) { + return false; + } + if (IsDefined(e.maximum) && !(r <= e.maximum)) { + return false; + } + if (IsDefined(e.minimum) && !(r >= e.minimum)) { + return false; + } + if (IsDefined(e.multipleOf) && !(r % e.multipleOf === 0)) { + return false; + } + return true; +} +function check_FromIntersect(e, t, r) { + const s = e.allOf.every((e) => check_Visit(e, t, r)); + if (e.unevaluatedProperties === false) { + const t = new RegExp(KeyOfPattern(e)); + const o = Object.getOwnPropertyNames(r).every((e) => t.test(e)); + return s && o; + } else if (IsSchema(e.unevaluatedProperties)) { + const o = new RegExp(KeyOfPattern(e)); + const n = Object.getOwnPropertyNames(r).every((s) => o.test(s) || check_Visit(e.unevaluatedProperties, t, r[s])); + return s && n; + } else { + return s; + } +} +function check_FromIterator(e, t, r) { + return IsIterator(r); +} +function check_FromLiteral(e, t, r) { + return r === e.const; +} +function check_FromNever(e, t, r) { + return false; +} +function check_FromNot(e, t, r) { + return !check_Visit(e.not, t, r); +} +function check_FromNull(e, t, r) { + return IsNull(r); +} +function check_FromNumber(e, t, r) { + if (!n.IsNumberLike(r)) return false; + if (IsDefined(e.exclusiveMaximum) && !(r < e.exclusiveMaximum)) { + return false; + } + if (IsDefined(e.exclusiveMinimum) && !(r > e.exclusiveMinimum)) { + return false; + } + if (IsDefined(e.minimum) && !(r >= e.minimum)) { + return false; + } + if (IsDefined(e.maximum) && !(r <= e.maximum)) { + return false; + } + if (IsDefined(e.multipleOf) && !(r % e.multipleOf === 0)) { + return false; + } + return true; +} +function check_FromObject(e, t, r) { + if (!n.IsObjectLike(r)) return false; + if (IsDefined(e.minProperties) && !(Object.getOwnPropertyNames(r).length >= e.minProperties)) { + return false; + } + if (IsDefined(e.maxProperties) && !(Object.getOwnPropertyNames(r).length <= e.maxProperties)) { + return false; + } + const s = Object.getOwnPropertyNames(e.properties); + for (const o of s) { + const s = e.properties[o]; + if (e.required && e.required.includes(o)) { + if (!check_Visit(s, t, r[o])) { + return false; + } + if ((ExtendsUndefinedCheck(s) || IsAnyOrUnknown(s)) && !(o in r)) { + return false; + } + } else { + if (n.IsExactOptionalProperty(r, o) && !check_Visit(s, t, r[o])) { + return false; + } + } + } + if (e.additionalProperties === false) { + const t = Object.getOwnPropertyNames(r); + if (e.required && e.required.length === s.length && t.length === s.length) { + return true; + } else { + return t.every((e) => s.includes(e)); + } + } else if (typeof e.additionalProperties === "object") { + const o = Object.getOwnPropertyNames(r); + return o.every((o) => s.includes(o) || check_Visit(e.additionalProperties, t, r[o])); + } else { + return true; + } +} +function check_FromPromise(e, t, r) { + return IsPromise(r); +} +function check_FromRecord(e, t, r) { + if (!n.IsRecordLike(r)) { + return false; + } + if (IsDefined(e.minProperties) && !(Object.getOwnPropertyNames(r).length >= e.minProperties)) { + return false; + } + if (IsDefined(e.maxProperties) && !(Object.getOwnPropertyNames(r).length <= e.maxProperties)) { + return false; + } + const [s, o] = Object.entries(e.patternProperties)[0]; + const A = new RegExp(s); + const i = Object.entries(r).every(([e, r]) => (A.test(e) ? check_Visit(o, t, r) : true)); + const a = + typeof e.additionalProperties === "object" ? Object.entries(r).every(([r, s]) => (!A.test(r) ? check_Visit(e.additionalProperties, t, s) : true)) : true; + const c = e.additionalProperties === false ? Object.getOwnPropertyNames(r).every((e) => A.test(e)) : true; + return i && a && c; +} +function check_FromRef(e, t, r) { + return check_Visit(deref_Deref(e, t), t, r); +} +function check_FromRegExp(e, t, r) { + const s = new RegExp(e.source, e.flags); + if (IsDefined(e.minLength)) { + if (!(r.length >= e.minLength)) return false; + } + if (IsDefined(e.maxLength)) { + if (!(r.length <= e.maxLength)) return false; + } + return s.test(r); +} +function check_FromString(e, t, r) { + if (!IsString(r)) { + return false; + } + if (IsDefined(e.minLength)) { + if (!(r.length >= e.minLength)) return false; + } + if (IsDefined(e.maxLength)) { + if (!(r.length <= e.maxLength)) return false; + } + if (IsDefined(e.pattern)) { + const t = new RegExp(e.pattern); + if (!t.test(r)) return false; + } + if (IsDefined(e.format)) { + if (!Has(e.format)) return false; + const t = Get(e.format); + return t(r); + } + return true; +} +function check_FromSymbol(e, t, r) { + return IsSymbol(r); +} +function check_FromTemplateLiteral(e, t, r) { + return IsString(r) && new RegExp(e.pattern).test(r); +} +function FromThis(e, t, r) { + return check_Visit(deref_Deref(e, t), t, r); +} +function check_FromTuple(e, t, r) { + if (!IsArray(r)) { + return false; + } + if (e.items === undefined && !(r.length === 0)) { + return false; + } + if (!(r.length === e.maxItems)) { + return false; + } + if (!e.items) { + return true; + } + for (let s = 0; s < e.items.length; s++) { + if (!check_Visit(e.items[s], t, r[s])) return false; + } + return true; +} +function check_FromUndefined(e, t, r) { + return IsUndefined(r); +} +function check_FromUnion(e, t, r) { + return e.anyOf.some((e) => check_Visit(e, t, r)); +} +function check_FromUint8Array(e, t, r) { + if (!IsUint8Array(r)) { + return false; + } + if (IsDefined(e.maxByteLength) && !(r.length <= e.maxByteLength)) { + return false; + } + if (IsDefined(e.minByteLength) && !(r.length >= e.minByteLength)) { + return false; + } + return true; +} +function check_FromUnknown(e, t, r) { + return true; +} +function check_FromVoid(e, t, r) { + return n.IsVoidLike(r); +} +function FromKind(e, t, r) { + if (!type_Has(e[u])) return false; + const s = type_Get(e[u]); + return s(e, r); +} +function check_Visit(e, t, r) { + const s = IsDefined(e.$id) ? Pushref(e, t) : t; + const o = e; + switch (o[u]) { + case "Any": + return check_FromAny(o, s, r); + case "Array": + return check_FromArray(o, s, r); + case "AsyncIterator": + return check_FromAsyncIterator(o, s, r); + case "BigInt": + return check_FromBigInt(o, s, r); + case "Boolean": + return check_FromBoolean(o, s, r); + case "Constructor": + return check_FromConstructor(o, s, r); + case "Date": + return check_FromDate(o, s, r); + case "Function": + return check_FromFunction(o, s, r); + case "Import": + return FromImport(o, s, r); + case "Integer": + return check_FromInteger(o, s, r); + case "Intersect": + return check_FromIntersect(o, s, r); + case "Iterator": + return check_FromIterator(o, s, r); + case "Literal": + return check_FromLiteral(o, s, r); + case "Never": + return check_FromNever(o, s, r); + case "Not": + return check_FromNot(o, s, r); + case "Null": + return check_FromNull(o, s, r); + case "Number": + return check_FromNumber(o, s, r); + case "Object": + return check_FromObject(o, s, r); + case "Promise": + return check_FromPromise(o, s, r); + case "Record": + return check_FromRecord(o, s, r); + case "Ref": + return check_FromRef(o, s, r); + case "RegExp": + return check_FromRegExp(o, s, r); + case "String": + return check_FromString(o, s, r); + case "Symbol": + return check_FromSymbol(o, s, r); + case "TemplateLiteral": + return check_FromTemplateLiteral(o, s, r); + case "This": + return FromThis(o, s, r); + case "Tuple": + return check_FromTuple(o, s, r); + case "Undefined": + return check_FromUndefined(o, s, r); + case "Union": + return check_FromUnion(o, s, r); + case "Uint8Array": + return check_FromUint8Array(o, s, r); + case "Unknown": + return check_FromUnknown(o, s, r); + case "Void": + return check_FromVoid(o, s, r); + default: + if (!type_Has(o[u])) throw new ValueCheckUnknownTypeError(o); + return FromKind(o, s, r); + } +} +function Check(...e) { + return e.length === 3 ? check_Visit(e[0], e[1], e[2]) : check_Visit(e[0], [], e[1]); +} +var gt; +(function (e) { + e[(e["ArrayContains"] = 0)] = "ArrayContains"; + e[(e["ArrayMaxContains"] = 1)] = "ArrayMaxContains"; + e[(e["ArrayMaxItems"] = 2)] = "ArrayMaxItems"; + e[(e["ArrayMinContains"] = 3)] = "ArrayMinContains"; + e[(e["ArrayMinItems"] = 4)] = "ArrayMinItems"; + e[(e["ArrayUniqueItems"] = 5)] = "ArrayUniqueItems"; + e[(e["Array"] = 6)] = "Array"; + e[(e["AsyncIterator"] = 7)] = "AsyncIterator"; + e[(e["BigIntExclusiveMaximum"] = 8)] = "BigIntExclusiveMaximum"; + e[(e["BigIntExclusiveMinimum"] = 9)] = "BigIntExclusiveMinimum"; + e[(e["BigIntMaximum"] = 10)] = "BigIntMaximum"; + e[(e["BigIntMinimum"] = 11)] = "BigIntMinimum"; + e[(e["BigIntMultipleOf"] = 12)] = "BigIntMultipleOf"; + e[(e["BigInt"] = 13)] = "BigInt"; + e[(e["Boolean"] = 14)] = "Boolean"; + e[(e["DateExclusiveMaximumTimestamp"] = 15)] = "DateExclusiveMaximumTimestamp"; + e[(e["DateExclusiveMinimumTimestamp"] = 16)] = "DateExclusiveMinimumTimestamp"; + e[(e["DateMaximumTimestamp"] = 17)] = "DateMaximumTimestamp"; + e[(e["DateMinimumTimestamp"] = 18)] = "DateMinimumTimestamp"; + e[(e["DateMultipleOfTimestamp"] = 19)] = "DateMultipleOfTimestamp"; + e[(e["Date"] = 20)] = "Date"; + e[(e["Function"] = 21)] = "Function"; + e[(e["IntegerExclusiveMaximum"] = 22)] = "IntegerExclusiveMaximum"; + e[(e["IntegerExclusiveMinimum"] = 23)] = "IntegerExclusiveMinimum"; + e[(e["IntegerMaximum"] = 24)] = "IntegerMaximum"; + e[(e["IntegerMinimum"] = 25)] = "IntegerMinimum"; + e[(e["IntegerMultipleOf"] = 26)] = "IntegerMultipleOf"; + e[(e["Integer"] = 27)] = "Integer"; + e[(e["IntersectUnevaluatedProperties"] = 28)] = "IntersectUnevaluatedProperties"; + e[(e["Intersect"] = 29)] = "Intersect"; + e[(e["Iterator"] = 30)] = "Iterator"; + e[(e["Kind"] = 31)] = "Kind"; + e[(e["Literal"] = 32)] = "Literal"; + e[(e["Never"] = 33)] = "Never"; + e[(e["Not"] = 34)] = "Not"; + e[(e["Null"] = 35)] = "Null"; + e[(e["NumberExclusiveMaximum"] = 36)] = "NumberExclusiveMaximum"; + e[(e["NumberExclusiveMinimum"] = 37)] = "NumberExclusiveMinimum"; + e[(e["NumberMaximum"] = 38)] = "NumberMaximum"; + e[(e["NumberMinimum"] = 39)] = "NumberMinimum"; + e[(e["NumberMultipleOf"] = 40)] = "NumberMultipleOf"; + e[(e["Number"] = 41)] = "Number"; + e[(e["ObjectAdditionalProperties"] = 42)] = "ObjectAdditionalProperties"; + e[(e["ObjectMaxProperties"] = 43)] = "ObjectMaxProperties"; + e[(e["ObjectMinProperties"] = 44)] = "ObjectMinProperties"; + e[(e["ObjectRequiredProperty"] = 45)] = "ObjectRequiredProperty"; + e[(e["Object"] = 46)] = "Object"; + e[(e["Promise"] = 47)] = "Promise"; + e[(e["RegExp"] = 48)] = "RegExp"; + e[(e["StringFormatUnknown"] = 49)] = "StringFormatUnknown"; + e[(e["StringFormat"] = 50)] = "StringFormat"; + e[(e["StringMaxLength"] = 51)] = "StringMaxLength"; + e[(e["StringMinLength"] = 52)] = "StringMinLength"; + e[(e["StringPattern"] = 53)] = "StringPattern"; + e[(e["String"] = 54)] = "String"; + e[(e["Symbol"] = 55)] = "Symbol"; + e[(e["TupleLength"] = 56)] = "TupleLength"; + e[(e["Tuple"] = 57)] = "Tuple"; + e[(e["Uint8ArrayMaxByteLength"] = 58)] = "Uint8ArrayMaxByteLength"; + e[(e["Uint8ArrayMinByteLength"] = 59)] = "Uint8ArrayMinByteLength"; + e[(e["Uint8Array"] = 60)] = "Uint8Array"; + e[(e["Undefined"] = 61)] = "Undefined"; + e[(e["Union"] = 62)] = "Union"; + e[(e["Void"] = 63)] = "Void"; +})(gt || (gt = {})); +class ValueErrorsUnknownTypeError extends error_TypeBoxError { + constructor(e) { + super("Unknown type"); + this.schema = e; + } +} +function EscapeKey(e) { + return e.replace(/~/g, "~0").replace(/\//g, "~1"); +} +function errors_IsDefined(e) { + return e !== undefined; +} +class ValueErrorIterator { + constructor(e) { + this.iterator = e; + } + [Symbol.iterator]() { + return this.iterator; + } + First() { + const e = this.iterator.next(); + return e.done ? undefined : e.value; + } +} +function Create(e, t, r, s, o = []) { + return { type: e, schema: t, path: r, value: s, message: GetErrorFunction()({ errorType: e, path: r, schema: t, value: s, errors: o }), errors: o }; +} +function* errors_FromAny(e, t, r, s) {} +function* errors_FromArray(e, t, r, s) { + if (!IsArray(s)) { + return yield Create(gt.Array, e, r, s); + } + if (errors_IsDefined(e.minItems) && !(s.length >= e.minItems)) { + yield Create(gt.ArrayMinItems, e, r, s); + } + if (errors_IsDefined(e.maxItems) && !(s.length <= e.maxItems)) { + yield Create(gt.ArrayMaxItems, e, r, s); + } + for (let o = 0; o < s.length; o++) { + yield* errors_Visit(e.items, t, `${r}/${o}`, s[o]); + } + if ( + e.uniqueItems === true && + !(function () { + const e = new Set(); + for (const t of s) { + const r = Hash(t); + if (e.has(r)) { + return false; + } else { + e.add(r); + } + } + return true; + })() + ) { + yield Create(gt.ArrayUniqueItems, e, r, s); + } + if (!(errors_IsDefined(e.contains) || errors_IsDefined(e.minContains) || errors_IsDefined(e.maxContains))) { + return; + } + const o = errors_IsDefined(e.contains) ? e.contains : Never(); + const n = s.reduce((e, s, n) => (errors_Visit(o, t, `${r}${n}`, s).next().done === true ? e + 1 : e), 0); + if (n === 0) { + yield Create(gt.ArrayContains, e, r, s); + } + if (IsNumber(e.minContains) && n < e.minContains) { + yield Create(gt.ArrayMinContains, e, r, s); + } + if (IsNumber(e.maxContains) && n > e.maxContains) { + yield Create(gt.ArrayMaxContains, e, r, s); + } +} +function* errors_FromAsyncIterator(e, t, r, s) { + if (!IsAsyncIterator(s)) yield Create(gt.AsyncIterator, e, r, s); +} +function* errors_FromBigInt(e, t, r, s) { + if (!IsBigInt(s)) return yield Create(gt.BigInt, e, r, s); + if (errors_IsDefined(e.exclusiveMaximum) && !(s < e.exclusiveMaximum)) { + yield Create(gt.BigIntExclusiveMaximum, e, r, s); + } + if (errors_IsDefined(e.exclusiveMinimum) && !(s > e.exclusiveMinimum)) { + yield Create(gt.BigIntExclusiveMinimum, e, r, s); + } + if (errors_IsDefined(e.maximum) && !(s <= e.maximum)) { + yield Create(gt.BigIntMaximum, e, r, s); + } + if (errors_IsDefined(e.minimum) && !(s >= e.minimum)) { + yield Create(gt.BigIntMinimum, e, r, s); + } + if (errors_IsDefined(e.multipleOf) && !(s % e.multipleOf === BigInt(0))) { + yield Create(gt.BigIntMultipleOf, e, r, s); + } +} +function* errors_FromBoolean(e, t, r, s) { + if (!IsBoolean(s)) yield Create(gt.Boolean, e, r, s); +} +function* errors_FromConstructor(e, t, r, s) { + yield* errors_Visit(e.returns, t, r, s.prototype); +} +function* errors_FromDate(e, t, r, s) { + if (!IsDate(s)) return yield Create(gt.Date, e, r, s); + if (errors_IsDefined(e.exclusiveMaximumTimestamp) && !(s.getTime() < e.exclusiveMaximumTimestamp)) { + yield Create(gt.DateExclusiveMaximumTimestamp, e, r, s); + } + if (errors_IsDefined(e.exclusiveMinimumTimestamp) && !(s.getTime() > e.exclusiveMinimumTimestamp)) { + yield Create(gt.DateExclusiveMinimumTimestamp, e, r, s); + } + if (errors_IsDefined(e.maximumTimestamp) && !(s.getTime() <= e.maximumTimestamp)) { + yield Create(gt.DateMaximumTimestamp, e, r, s); + } + if (errors_IsDefined(e.minimumTimestamp) && !(s.getTime() >= e.minimumTimestamp)) { + yield Create(gt.DateMinimumTimestamp, e, r, s); + } + if (errors_IsDefined(e.multipleOfTimestamp) && !(s.getTime() % e.multipleOfTimestamp === 0)) { + yield Create(gt.DateMultipleOfTimestamp, e, r, s); + } +} +function* errors_FromFunction(e, t, r, s) { + if (!IsFunction(s)) yield Create(gt.Function, e, r, s); +} +function* errors_FromImport(e, t, r, s) { + const o = globalThis.Object.values(e.$defs); + const n = e.$defs[e.$ref]; + yield* errors_Visit(n, [...t, ...o], r, s); +} +function* errors_FromInteger(e, t, r, s) { + if (!IsInteger(s)) return yield Create(gt.Integer, e, r, s); + if (errors_IsDefined(e.exclusiveMaximum) && !(s < e.exclusiveMaximum)) { + yield Create(gt.IntegerExclusiveMaximum, e, r, s); + } + if (errors_IsDefined(e.exclusiveMinimum) && !(s > e.exclusiveMinimum)) { + yield Create(gt.IntegerExclusiveMinimum, e, r, s); + } + if (errors_IsDefined(e.maximum) && !(s <= e.maximum)) { + yield Create(gt.IntegerMaximum, e, r, s); + } + if (errors_IsDefined(e.minimum) && !(s >= e.minimum)) { + yield Create(gt.IntegerMinimum, e, r, s); + } + if (errors_IsDefined(e.multipleOf) && !(s % e.multipleOf === 0)) { + yield Create(gt.IntegerMultipleOf, e, r, s); + } +} +function* errors_FromIntersect(e, t, r, s) { + let o = false; + for (const n of e.allOf) { + for (const e of errors_Visit(n, t, r, s)) { + o = true; + yield e; + } + } + if (o) { + return yield Create(gt.Intersect, e, r, s); + } + if (e.unevaluatedProperties === false) { + const t = new RegExp(KeyOfPattern(e)); + for (const o of Object.getOwnPropertyNames(s)) { + if (!t.test(o)) { + yield Create(gt.IntersectUnevaluatedProperties, e, `${r}/${o}`, s); + } + } + } + if (typeof e.unevaluatedProperties === "object") { + const o = new RegExp(KeyOfPattern(e)); + for (const n of Object.getOwnPropertyNames(s)) { + if (!o.test(n)) { + const o = errors_Visit(e.unevaluatedProperties, t, `${r}/${n}`, s[n]).next(); + if (!o.done) yield o.value; + } + } + } +} +function* errors_FromIterator(e, t, r, s) { + if (!IsIterator(s)) yield Create(gt.Iterator, e, r, s); +} +function* errors_FromLiteral(e, t, r, s) { + if (!(s === e.const)) yield Create(gt.Literal, e, r, s); +} +function* errors_FromNever(e, t, r, s) { + yield Create(gt.Never, e, r, s); +} +function* errors_FromNot(e, t, r, s) { + if (errors_Visit(e.not, t, r, s).next().done === true) yield Create(gt.Not, e, r, s); +} +function* errors_FromNull(e, t, r, s) { + if (!IsNull(s)) yield Create(gt.Null, e, r, s); +} +function* errors_FromNumber(e, t, r, s) { + if (!n.IsNumberLike(s)) return yield Create(gt.Number, e, r, s); + if (errors_IsDefined(e.exclusiveMaximum) && !(s < e.exclusiveMaximum)) { + yield Create(gt.NumberExclusiveMaximum, e, r, s); + } + if (errors_IsDefined(e.exclusiveMinimum) && !(s > e.exclusiveMinimum)) { + yield Create(gt.NumberExclusiveMinimum, e, r, s); + } + if (errors_IsDefined(e.maximum) && !(s <= e.maximum)) { + yield Create(gt.NumberMaximum, e, r, s); + } + if (errors_IsDefined(e.minimum) && !(s >= e.minimum)) { + yield Create(gt.NumberMinimum, e, r, s); + } + if (errors_IsDefined(e.multipleOf) && !(s % e.multipleOf === 0)) { + yield Create(gt.NumberMultipleOf, e, r, s); + } +} +function* errors_FromObject(e, t, r, s) { + if (!n.IsObjectLike(s)) return yield Create(gt.Object, e, r, s); + if (errors_IsDefined(e.minProperties) && !(Object.getOwnPropertyNames(s).length >= e.minProperties)) { + yield Create(gt.ObjectMinProperties, e, r, s); + } + if (errors_IsDefined(e.maxProperties) && !(Object.getOwnPropertyNames(s).length <= e.maxProperties)) { + yield Create(gt.ObjectMaxProperties, e, r, s); + } + const o = Array.isArray(e.required) ? e.required : []; + const A = Object.getOwnPropertyNames(e.properties); + const i = Object.getOwnPropertyNames(s); + for (const t of o) { + if (i.includes(t)) continue; + yield Create(gt.ObjectRequiredProperty, e.properties[t], `${r}/${EscapeKey(t)}`, undefined); + } + if (e.additionalProperties === false) { + for (const t of i) { + if (!A.includes(t)) { + yield Create(gt.ObjectAdditionalProperties, e, `${r}/${EscapeKey(t)}`, s[t]); + } + } + } + if (typeof e.additionalProperties === "object") { + for (const o of i) { + if (A.includes(o)) continue; + yield* errors_Visit(e.additionalProperties, t, `${r}/${EscapeKey(o)}`, s[o]); + } + } + for (const o of A) { + const A = e.properties[o]; + if (e.required && e.required.includes(o)) { + yield* errors_Visit(A, t, `${r}/${EscapeKey(o)}`, s[o]); + if (ExtendsUndefinedCheck(e) && !(o in s)) { + yield Create(gt.ObjectRequiredProperty, A, `${r}/${EscapeKey(o)}`, undefined); + } + } else { + if (n.IsExactOptionalProperty(s, o)) { + yield* errors_Visit(A, t, `${r}/${EscapeKey(o)}`, s[o]); + } + } + } +} +function* errors_FromPromise(e, t, r, s) { + if (!IsPromise(s)) yield Create(gt.Promise, e, r, s); +} +function* errors_FromRecord(e, t, r, s) { + if (!n.IsRecordLike(s)) return yield Create(gt.Object, e, r, s); + if (errors_IsDefined(e.minProperties) && !(Object.getOwnPropertyNames(s).length >= e.minProperties)) { + yield Create(gt.ObjectMinProperties, e, r, s); + } + if (errors_IsDefined(e.maxProperties) && !(Object.getOwnPropertyNames(s).length <= e.maxProperties)) { + yield Create(gt.ObjectMaxProperties, e, r, s); + } + const [o, A] = Object.entries(e.patternProperties)[0]; + const i = new RegExp(o); + for (const [e, o] of Object.entries(s)) { + if (i.test(e)) yield* errors_Visit(A, t, `${r}/${EscapeKey(e)}`, o); + } + if (typeof e.additionalProperties === "object") { + for (const [o, n] of Object.entries(s)) { + if (!i.test(o)) yield* errors_Visit(e.additionalProperties, t, `${r}/${EscapeKey(o)}`, n); + } + } + if (e.additionalProperties === false) { + for (const [t, o] of Object.entries(s)) { + if (i.test(t)) continue; + return yield Create(gt.ObjectAdditionalProperties, e, `${r}/${EscapeKey(t)}`, o); + } + } +} +function* errors_FromRef(e, t, r, s) { + yield* errors_Visit(deref_Deref(e, t), t, r, s); +} +function* errors_FromRegExp(e, t, r, s) { + if (!IsString(s)) return yield Create(gt.String, e, r, s); + if (errors_IsDefined(e.minLength) && !(s.length >= e.minLength)) { + yield Create(gt.StringMinLength, e, r, s); + } + if (errors_IsDefined(e.maxLength) && !(s.length <= e.maxLength)) { + yield Create(gt.StringMaxLength, e, r, s); + } + const o = new RegExp(e.source, e.flags); + if (!o.test(s)) { + return yield Create(gt.RegExp, e, r, s); + } +} +function* errors_FromString(e, t, r, s) { + if (!IsString(s)) return yield Create(gt.String, e, r, s); + if (errors_IsDefined(e.minLength) && !(s.length >= e.minLength)) { + yield Create(gt.StringMinLength, e, r, s); + } + if (errors_IsDefined(e.maxLength) && !(s.length <= e.maxLength)) { + yield Create(gt.StringMaxLength, e, r, s); + } + if (IsString(e.pattern)) { + const t = new RegExp(e.pattern); + if (!t.test(s)) { + yield Create(gt.StringPattern, e, r, s); + } + } + if (IsString(e.format)) { + if (!Has(e.format)) { + yield Create(gt.StringFormatUnknown, e, r, s); + } else { + const t = Get(e.format); + if (!t(s)) { + yield Create(gt.StringFormat, e, r, s); + } + } + } +} +function* errors_FromSymbol(e, t, r, s) { + if (!IsSymbol(s)) yield Create(gt.Symbol, e, r, s); +} +function* errors_FromTemplateLiteral(e, t, r, s) { + if (!IsString(s)) return yield Create(gt.String, e, r, s); + const o = new RegExp(e.pattern); + if (!o.test(s)) { + yield Create(gt.StringPattern, e, r, s); + } +} +function* errors_FromThis(e, t, r, s) { + yield* errors_Visit(deref_Deref(e, t), t, r, s); +} +function* errors_FromTuple(e, t, r, s) { + if (!IsArray(s)) return yield Create(gt.Tuple, e, r, s); + if (e.items === undefined && !(s.length === 0)) { + return yield Create(gt.TupleLength, e, r, s); + } + if (!(s.length === e.maxItems)) { + return yield Create(gt.TupleLength, e, r, s); + } + if (!e.items) { + return; + } + for (let o = 0; o < e.items.length; o++) { + yield* errors_Visit(e.items[o], t, `${r}/${o}`, s[o]); + } +} +function* errors_FromUndefined(e, t, r, s) { + if (!IsUndefined(s)) yield Create(gt.Undefined, e, r, s); +} +function* errors_FromUnion(e, t, r, s) { + if (Check(e, t, s)) return; + const o = e.anyOf.map((e) => new ValueErrorIterator(errors_Visit(e, t, r, s))); + yield Create(gt.Union, e, r, s, o); +} +function* errors_FromUint8Array(e, t, r, s) { + if (!IsUint8Array(s)) return yield Create(gt.Uint8Array, e, r, s); + if (errors_IsDefined(e.maxByteLength) && !(s.length <= e.maxByteLength)) { + yield Create(gt.Uint8ArrayMaxByteLength, e, r, s); + } + if (errors_IsDefined(e.minByteLength) && !(s.length >= e.minByteLength)) { + yield Create(gt.Uint8ArrayMinByteLength, e, r, s); + } +} +function* errors_FromUnknown(e, t, r, s) {} +function* errors_FromVoid(e, t, r, s) { + if (!n.IsVoidLike(s)) yield Create(gt.Void, e, r, s); +} +function* errors_FromKind(e, t, r, s) { + const o = type_Get(e[u]); + if (!o(e, s)) yield Create(gt.Kind, e, r, s); +} +function* errors_Visit(e, t, r, s) { + const o = errors_IsDefined(e.$id) ? [...t, e] : t; + const n = e; + switch (n[u]) { + case "Any": + return yield* errors_FromAny(n, o, r, s); + case "Array": + return yield* errors_FromArray(n, o, r, s); + case "AsyncIterator": + return yield* errors_FromAsyncIterator(n, o, r, s); + case "BigInt": + return yield* errors_FromBigInt(n, o, r, s); + case "Boolean": + return yield* errors_FromBoolean(n, o, r, s); + case "Constructor": + return yield* errors_FromConstructor(n, o, r, s); + case "Date": + return yield* errors_FromDate(n, o, r, s); + case "Function": + return yield* errors_FromFunction(n, o, r, s); + case "Import": + return yield* errors_FromImport(n, o, r, s); + case "Integer": + return yield* errors_FromInteger(n, o, r, s); + case "Intersect": + return yield* errors_FromIntersect(n, o, r, s); + case "Iterator": + return yield* errors_FromIterator(n, o, r, s); + case "Literal": + return yield* errors_FromLiteral(n, o, r, s); + case "Never": + return yield* errors_FromNever(n, o, r, s); + case "Not": + return yield* errors_FromNot(n, o, r, s); + case "Null": + return yield* errors_FromNull(n, o, r, s); + case "Number": + return yield* errors_FromNumber(n, o, r, s); + case "Object": + return yield* errors_FromObject(n, o, r, s); + case "Promise": + return yield* errors_FromPromise(n, o, r, s); + case "Record": + return yield* errors_FromRecord(n, o, r, s); + case "Ref": + return yield* errors_FromRef(n, o, r, s); + case "RegExp": + return yield* errors_FromRegExp(n, o, r, s); + case "String": + return yield* errors_FromString(n, o, r, s); + case "Symbol": + return yield* errors_FromSymbol(n, o, r, s); + case "TemplateLiteral": + return yield* errors_FromTemplateLiteral(n, o, r, s); + case "This": + return yield* errors_FromThis(n, o, r, s); + case "Tuple": + return yield* errors_FromTuple(n, o, r, s); + case "Undefined": + return yield* errors_FromUndefined(n, o, r, s); + case "Union": + return yield* errors_FromUnion(n, o, r, s); + case "Uint8Array": + return yield* errors_FromUint8Array(n, o, r, s); + case "Unknown": + return yield* errors_FromUnknown(n, o, r, s); + case "Void": + return yield* errors_FromVoid(n, o, r, s); + default: + if (!type_Has(n[u])) throw new ValueErrorsUnknownTypeError(e); + return yield* errors_FromKind(n, o, r, s); + } +} +function Errors(...e) { + const t = e.length === 3 ? errors_Visit(e[0], e[1], "", e[2]) : errors_Visit(e[0], [], "", e[1]); + return new ValueErrorIterator(t); +} +function KeyOfPropertyEntries(e) { + const t = KeyOfPropertyKeys(e); + const r = IndexFromPropertyKeys(e, t); + return t.map((e, s) => [t[s], r[s]]); +} +class TransformDecodeCheckError extends error_TypeBoxError { + constructor(e, t, r) { + super(`Unable to decode value as it does not match the expected schema`); + this.schema = e; + this.value = t; + this.error = r; + } +} +class TransformDecodeError extends error_TypeBoxError { + constructor(e, t, r, s) { + super(s instanceof Error ? s.message : "Unknown error"); + this.schema = e; + this.path = t; + this.value = r; + this.error = s; + } +} +function Default(e, t, r) { + try { + return IsTransform(e) ? e[A].Decode(r) : r; + } catch (s) { + throw new TransformDecodeError(e, t, r, s); + } +} +function decode_FromArray(e, t, r, s) { + return IsArray(s) + ? Default( + e, + r, + s.map((s, o) => decode_Visit(e.items, t, `${r}/${o}`, s)) + ) + : Default(e, r, s); +} +function decode_FromIntersect(e, t, r, s) { + if (!IsObject(s) || IsValueType(s)) return Default(e, r, s); + const o = KeyOfPropertyEntries(e); + const n = o.map((e) => e[0]); + const A = { ...s }; + for (const [e, s] of o) + if (e in A) { + A[e] = decode_Visit(s, t, `${r}/${e}`, A[e]); + } + if (!IsTransform(e.unevaluatedProperties)) { + return Default(e, r, A); + } + const i = Object.getOwnPropertyNames(A); + const a = e.unevaluatedProperties; + const c = { ...A }; + for (const e of i) + if (!n.includes(e)) { + c[e] = Default(a, `${r}/${e}`, c[e]); + } + return Default(e, r, c); +} +function decode_FromImport(e, t, r, s) { + const o = globalThis.Object.values(e.$defs); + const n = e.$defs[e.$ref]; + const i = e[A]; + const a = { [A]: i, ...n }; + return decode_Visit(a, [...t, ...o], r, s); +} +function decode_FromNot(e, t, r, s) { + return Default(e, r, decode_Visit(e.not, t, r, s)); +} +function decode_FromObject(e, t, r, s) { + if (!IsObject(s)) return Default(e, r, s); + const o = KeyOfPropertyKeys(e); + const A = { ...s }; + for (const s of o) { + if (!HasPropertyKey(A, s)) continue; + if (IsUndefined(A[s]) && (!kind_IsUndefined(e.properties[s]) || n.IsExactOptionalProperty(A, s))) continue; + A[s] = decode_Visit(e.properties[s], t, `${r}/${s}`, A[s]); + } + if (!IsSchema(e.additionalProperties)) { + return Default(e, r, A); + } + const i = Object.getOwnPropertyNames(A); + const a = e.additionalProperties; + const c = { ...A }; + for (const e of i) + if (!o.includes(e)) { + c[e] = Default(a, `${r}/${e}`, c[e]); + } + return Default(e, r, c); +} +function decode_FromRecord(e, t, r, s) { + if (!IsObject(s)) return Default(e, r, s); + const o = Object.getOwnPropertyNames(e.patternProperties)[0]; + const n = new RegExp(o); + const A = { ...s }; + for (const i of Object.getOwnPropertyNames(s)) + if (n.test(i)) { + A[i] = decode_Visit(e.patternProperties[o], t, `${r}/${i}`, A[i]); + } + if (!IsSchema(e.additionalProperties)) { + return Default(e, r, A); + } + const i = Object.getOwnPropertyNames(A); + const a = e.additionalProperties; + const c = { ...A }; + for (const e of i) + if (!n.test(e)) { + c[e] = Default(a, `${r}/${e}`, c[e]); + } + return Default(e, r, c); +} +function decode_FromRef(e, t, r, s) { + const o = deref_Deref(e, t); + return Default(e, r, decode_Visit(o, t, r, s)); +} +function decode_FromThis(e, t, r, s) { + const o = deref_Deref(e, t); + return Default(e, r, decode_Visit(o, t, r, s)); +} +function decode_FromTuple(e, t, r, s) { + return IsArray(s) && IsArray(e.items) + ? Default( + e, + r, + e.items.map((e, o) => decode_Visit(e, t, `${r}/${o}`, s[o])) + ) + : Default(e, r, s); +} +function decode_FromUnion(e, t, r, s) { + for (const o of e.anyOf) { + if (!Check(o, t, s)) continue; + const n = decode_Visit(o, t, r, s); + return Default(e, r, n); + } + return Default(e, r, s); +} +function decode_Visit(e, t, r, s) { + const o = Pushref(e, t); + const n = e; + switch (e[u]) { + case "Array": + return decode_FromArray(n, o, r, s); + case "Import": + return decode_FromImport(n, o, r, s); + case "Intersect": + return decode_FromIntersect(n, o, r, s); + case "Not": + return decode_FromNot(n, o, r, s); + case "Object": + return decode_FromObject(n, o, r, s); + case "Record": + return decode_FromRecord(n, o, r, s); + case "Ref": + return decode_FromRef(n, o, r, s); + case "Symbol": + return Default(n, r, s); + case "This": + return decode_FromThis(n, o, r, s); + case "Tuple": + return decode_FromTuple(n, o, r, s); + case "Union": + return decode_FromUnion(n, o, r, s); + default: + return Default(n, r, s); + } +} +function TransformDecode(e, t, r) { + return decode_Visit(e, t, "", r); +} +function has_FromArray(e, t) { + return IsTransform(e) || has_Visit(e.items, t); +} +function has_FromAsyncIterator(e, t) { + return IsTransform(e) || has_Visit(e.items, t); +} +function has_FromConstructor(e, t) { + return IsTransform(e) || has_Visit(e.returns, t) || e.parameters.some((e) => has_Visit(e, t)); +} +function has_FromFunction(e, t) { + return IsTransform(e) || has_Visit(e.returns, t) || e.parameters.some((e) => has_Visit(e, t)); +} +function has_FromIntersect(e, t) { + return IsTransform(e) || IsTransform(e.unevaluatedProperties) || e.allOf.some((e) => has_Visit(e, t)); +} +function has_FromIterator(e, t) { + return IsTransform(e) || has_Visit(e.items, t); +} +function has_FromNot(e, t) { + return IsTransform(e) || has_Visit(e.not, t); +} +function has_FromObject(e, t) { + return ( + IsTransform(e) || Object.values(e.properties).some((e) => has_Visit(e, t)) || (IsSchema(e.additionalProperties) && has_Visit(e.additionalProperties, t)) + ); +} +function has_FromPromise(e, t) { + return IsTransform(e) || has_Visit(e.item, t); +} +function has_FromRecord(e, t) { + const r = Object.getOwnPropertyNames(e.patternProperties)[0]; + const s = e.patternProperties[r]; + return IsTransform(e) || has_Visit(s, t) || (IsSchema(e.additionalProperties) && IsTransform(e.additionalProperties)); +} +function has_FromRef(e, t) { + if (IsTransform(e)) return true; + return has_Visit(deref_Deref(e, t), t); +} +function has_FromThis(e, t) { + if (IsTransform(e)) return true; + return has_Visit(deref_Deref(e, t), t); +} +function has_FromTuple(e, t) { + return IsTransform(e) || (!IsUndefined(e.items) && e.items.some((e) => has_Visit(e, t))); +} +function has_FromUnion(e, t) { + return IsTransform(e) || e.anyOf.some((e) => has_Visit(e, t)); +} +function has_Visit(e, t) { + const r = Pushref(e, t); + const s = e; + if (e.$id && pt.has(e.$id)) return false; + if (e.$id) pt.add(e.$id); + switch (e[u]) { + case "Array": + return has_FromArray(s, r); + case "AsyncIterator": + return has_FromAsyncIterator(s, r); + case "Constructor": + return has_FromConstructor(s, r); + case "Function": + return has_FromFunction(s, r); + case "Intersect": + return has_FromIntersect(s, r); + case "Iterator": + return has_FromIterator(s, r); + case "Not": + return has_FromNot(s, r); + case "Object": + return has_FromObject(s, r); + case "Promise": + return has_FromPromise(s, r); + case "Record": + return has_FromRecord(s, r); + case "Ref": + return has_FromRef(s, r); + case "This": + return has_FromThis(s, r); + case "Tuple": + return has_FromTuple(s, r); + case "Union": + return has_FromUnion(s, r); + default: + return IsTransform(e); + } +} +const pt = new Set(); +function HasTransform(e, t) { + pt.clear(); + return has_Visit(e, t); +} +function Decode(...e) { + const [t, r, s] = e.length === 3 ? [e[0], e[1], e[2]] : [e[0], [], e[1]]; + if (!Check(t, r, s)) throw new TransformDecodeCheckError(t, s, Errors(t, r, s).First()); + return HasTransform(t, r) ? TransformDecode(t, r, s) : s; +} +function clone_FromObject(e) { + const t = {}; + for (const r of Object.getOwnPropertyNames(e)) { + t[r] = clone_Clone(e[r]); + } + for (const r of Object.getOwnPropertySymbols(e)) { + t[r] = clone_Clone(e[r]); + } + return t; +} +function clone_FromArray(e) { + return e.map((e) => clone_Clone(e)); +} +function FromTypedArray(e) { + return e.slice(); +} +function FromMap(e) { + return new Map(clone_Clone([...e.entries()])); +} +function FromSet(e) { + return new Set(clone_Clone([...e.entries()])); +} +function clone_FromDate(e) { + return new Date(e.toISOString()); +} +function clone_FromValue(e) { + return e; +} +function clone_Clone(e) { + if (IsArray(e)) return clone_FromArray(e); + if (IsDate(e)) return clone_FromDate(e); + if (IsTypedArray(e)) return FromTypedArray(e); + if (IsMap(e)) return FromMap(e); + if (IsSet(e)) return FromSet(e); + if (IsObject(e)) return clone_FromObject(e); + if (IsValueType(e)) return clone_FromValue(e); + throw new Error("ValueClone: Unable to clone value"); +} +function ValueOrDefault(e, t) { + const r = HasPropertyKey(e, "default") ? e.default : undefined; + const s = IsFunction(r) ? r() : clone_Clone(r); + return IsUndefined(t) ? s : IsObject(t) && IsObject(s) ? Object.assign(s, t) : t; +} +function HasDefaultProperty(e) { + return IsKind(e) && "default" in e; +} +function default_FromArray(e, t, r) { + if (IsArray(r)) { + for (let s = 0; s < r.length; s++) { + r[s] = default_Visit(e.items, t, r[s]); + } + return r; + } + const s = ValueOrDefault(e, r); + if (!IsArray(s)) return s; + for (let r = 0; r < s.length; r++) { + s[r] = default_Visit(e.items, t, s[r]); + } + return s; +} +function default_FromDate(e, t, r) { + return IsDate(r) ? r : ValueOrDefault(e, r); +} +function default_FromImport(e, t, r) { + const s = globalThis.Object.values(e.$defs); + const o = e.$defs[e.$ref]; + return default_Visit(o, [...t, ...s], r); +} +function default_FromIntersect(e, t, r) { + const s = ValueOrDefault(e, r); + return e.allOf.reduce((e, r) => { + const o = default_Visit(r, t, s); + return IsObject(o) ? { ...e, ...o } : o; + }, {}); +} +function default_FromObject(e, t, r) { + const s = ValueOrDefault(e, r); + if (!IsObject(s)) return s; + const o = Object.getOwnPropertyNames(e.properties); + for (const r of o) { + const o = default_Visit(e.properties[r], t, s[r]); + if (IsUndefined(o)) continue; + s[r] = default_Visit(e.properties[r], t, s[r]); + } + if (!HasDefaultProperty(e.additionalProperties)) return s; + for (const r of Object.getOwnPropertyNames(s)) { + if (o.includes(r)) continue; + s[r] = default_Visit(e.additionalProperties, t, s[r]); + } + return s; +} +function default_FromRecord(e, t, r) { + const s = ValueOrDefault(e, r); + if (!IsObject(s)) return s; + const o = e.additionalProperties; + const [n, A] = Object.entries(e.patternProperties)[0]; + const i = new RegExp(n); + for (const e of Object.getOwnPropertyNames(s)) { + if (!(i.test(e) && HasDefaultProperty(A))) continue; + s[e] = default_Visit(A, t, s[e]); + } + if (!HasDefaultProperty(o)) return s; + for (const e of Object.getOwnPropertyNames(s)) { + if (i.test(e)) continue; + s[e] = default_Visit(o, t, s[e]); + } + return s; +} +function default_FromRef(e, t, r) { + return default_Visit(deref_Deref(e, t), t, ValueOrDefault(e, r)); +} +function default_FromThis(e, t, r) { + return default_Visit(deref_Deref(e, t), t, r); +} +function default_FromTuple(e, t, r) { + const s = ValueOrDefault(e, r); + if (!IsArray(s) || IsUndefined(e.items)) return s; + const [o, n] = [e.items, Math.max(e.items.length, s.length)]; + for (let e = 0; e < n; e++) { + if (e < o.length) s[e] = default_Visit(o[e], t, s[e]); + } + return s; +} +function default_FromUnion(e, t, r) { + const s = ValueOrDefault(e, r); + for (const r of e.anyOf) { + const e = default_Visit(r, t, clone_Clone(s)); + if (Check(r, t, e)) { + return e; + } + } + return s; +} +function default_Visit(e, t, r) { + const s = Pushref(e, t); + const o = e; + switch (o[u]) { + case "Array": + return default_FromArray(o, s, r); + case "Date": + return default_FromDate(o, s, r); + case "Import": + return default_FromImport(o, s, r); + case "Intersect": + return default_FromIntersect(o, s, r); + case "Object": + return default_FromObject(o, s, r); + case "Record": + return default_FromRecord(o, s, r); + case "Ref": + return default_FromRef(o, s, r); + case "This": + return default_FromThis(o, s, r); + case "Tuple": + return default_FromTuple(o, s, r); + case "Union": + return default_FromUnion(o, s, r); + default: + return ValueOrDefault(o, r); + } +} +function default_Default(...e) { + return e.length === 3 ? default_Visit(e[0], e[1], e[2]) : default_Visit(e[0], [], e[1]); +} +var dt = __nccwpck_require__(8889); +function sanitizeMetadata(e) { + return JSON.stringify(e, null, 2).replace(//g, ">").replace(/--/g, "--"); +} +var Et = "Ubiquity"; +async function postComment(e, t) { + if ("issue" in e.payload && e.payload.repository?.owner?.login) { + const r = createStructuredMetadata(t.metadata?.name, t); + await e.octokit.rest.issues.createComment({ + owner: e.payload.repository.owner.login, + repo: e.payload.repository.name, + issue_number: e.payload.issue.number, + body: [t.logMessage.diff, r].join("\n"), + }); + } else { + e.logger.info("Cannot post comment because issue is not found in the payload"); + } +} +function createStructuredMetadata(e, t) { + const r = t.logMessage; + const s = t.metadata; + const o = sanitizeMetadata(s); + const n = t.metadata?.stack; + const A = (Array.isArray(n) ? n.join("\n") : n)?.split("\n")[2] ?? ""; + const i = A.match(/at (\S+)/)?.[1] ?? ""; + const a = `\x3c!-- ${Et} - ${e} - ${i} - ${s?.revision}`; + let c; + const u = ["```json", o, "```"].join("\n"); + const l = [a, o, "--\x3e"].join("\n"); + if (r?.type === "fatal") { + c = [u, l].join("\n"); + } else { + c = l; + } + return `\n${c}\n`; +} +var ht = `-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs96DOU+JqM8SyNXOB6u3\nuBKIFiyrcST/LZTYN6y7LeJlyCuGPqSDrWCfjU9Ph5PLf9TWiNmeM8DGaOpwEFC7\nU3NRxOSglo4plnQ5zRwIHHXvxyK400sQP2oISXymISuBQWjEIqkC9DybQrKwNzf+\nI0JHWPqmwMIw26UvVOtXGOOWBqTkk+N2+/9f8eDIJP5QQVwwszc8s1rXOsLMlVIf\nwShw7GO4E2jyK8TSJKpyjV8eb1JJMDwFhPiRrtZfQJUtDf2mV/67shQww61BH2Y/\nPlnalo58kWIbkqZoq1yJrL5sFb73osM5+vADTXVn79bkvea7W19nSkdMiarYt4Hq\nJQIDAQAB\n-----END PUBLIC KEY-----\n`; +var ft = { + throttle: { + onAbuseLimit: (e, t, r) => { + r.log.warn(`Abuse limit hit with "${t.method} ${t.url}", retrying in ${e} seconds.`); + return true; + }, + onRateLimit: (e, t, r) => { + r.log.warn(`Rate limit hit with "${t.method} ${t.url}", retrying in ${e} seconds.`); + return true; + }, + onSecondaryRateLimit: (e, t, r) => { + r.log.warn(`Secondary rate limit hit with "${t.method} ${t.url}", retrying in ${e} seconds.`); + return true; + }, + }, +}; +var It = Octokit.plugin(throttling, retry, paginateRest, restEndpointMethods, paginateGraphQL).defaults((e) => ({ ...ft, ...e })); +async function verifySignature(e, t, r) { + try { + const s = { + stateId: t.stateId, + eventName: t.eventName, + eventPayload: t.eventPayload, + settings: t.settings, + authToken: t.authToken, + ref: t.ref, + command: t.command, + }; + const o = e.replace("-----BEGIN PUBLIC KEY-----", "").replace("-----END PUBLIC KEY-----", "").trim(); + const n = Uint8Array.from(atob(o), (e) => e.charCodeAt(0)); + const A = await crypto.subtle.importKey("spki", n, { name: "RSASSA-PKCS1-v1_5", hash: "SHA-256" }, true, ["verify"]); + const i = Uint8Array.from(atob(r), (e) => e.charCodeAt(0)); + const a = new TextEncoder().encode(JSON.stringify(s)); + return await crypto.subtle.verify("RSASSA-PKCS1-v1_5", A, i, a); + } catch (e) { + console.error(e); + return false; + } +} +var Ct = w.Object({ + stateId: w.String(), + eventName: w.String(), + eventPayload: w.Record(w.String(), w.Any()), + command: w.Union([w.Null(), w.Object({ name: w.String(), parameters: w.Unknown() })]), + authToken: w.String(), + settings: w.Record(w.String(), w.Any()), + ref: w.String(), + signature: w.String(), +}); +function createPlugin(e, t, r) { + const s = { + kernelPublicKey: r?.kernelPublicKey ?? ht, + logLevel: r?.logLevel ?? LOG_LEVEL.INFO, + postCommentOnError: r?.postCommentOnError ?? true, + settingsSchema: r?.settingsSchema, + envSchema: r?.envSchema, + commandSchema: r?.commandSchema, + bypassSignatureVerification: r?.bypassSignatureVerification || false, + }; + const o = new Hono(); + o.get("/manifest.json", (e) => e.json(t)); + o.post("/", async (t) => { + if (t.req.header("content-type") !== "application/json") { + throw new HTTPException(400, { message: "Content-Type must be application/json" }); + } + const r = await t.req.json(); + const o = [...Value.Errors(Ct, r)]; + if (o.length) { + console.log(o, { depth: null }); + throw new HTTPException(400, { message: "Invalid body" }); + } + const n = Value.Decode(Ct, r); + const A = n.signature; + if (!s.bypassSignatureVerification && !(await verifySignature(s.kernelPublicKey, n, A))) { + throw new HTTPException(400, { message: "Invalid signature" }); + } + let i; + if (s.settingsSchema) { + try { + i = Value.Decode(s.settingsSchema, Value.Default(s.settingsSchema, n.settings)); + } catch (e) { + console.log(...Value.Errors(s.settingsSchema, n.settings), { depth: null }); + throw e; + } + } else { + i = n.settings; + } + let a; + const c = honoEnv(t); + if (s.envSchema) { + try { + a = Value.Decode(s.envSchema, Value.Default(s.envSchema, c)); + } catch (e) { + console.log(...Value.Errors(s.envSchema, c), { depth: null }); + throw e; + } + } else { + a = t.env; + } + let u = null; + if (n.command && s.commandSchema) { + try { + u = Value.Decode(s.commandSchema, Value.Default(s.commandSchema, n.command)); + } catch (e) { + console.log(...Value.Errors(s.commandSchema, n.command), { depth: null }); + throw e; + } + } else if (n.command) { + u = n.command; + } + const l = { + eventName: n.eventName, + payload: n.eventPayload, + command: u, + octokit: new It({ auth: n.authToken }), + config: i, + env: a, + logger: new Logs(s.logLevel), + }; + try { + const r = await e(l); + return t.json({ stateId: n.stateId, output: r ?? {} }); + } catch (e) { + console.error(e); + let t; + if (e instanceof Error) { + t = l.logger.error(`Error: ${e}`, { error: e }); + } else if (e instanceof LogReturn) { + t = e; + } else { + t = l.logger.error(`Error: ${e}`); + } + if (s.postCommentOnError && t) { + await postComment(l, t); + } + throw new HTTPException(500, { message: "Unexpected error" }); + } + }); + return o; +} +function jsonType(e) { + return w + .Transform(w.String()) + .Decode((t) => { + const r = JSON.parse(t); + return Decode(e, default_Default(e, r)); + }) + .Encode((e) => JSON.stringify(e)); +} +var mt = w.Union([w.Null(), w.Object({ name: w.String(), parameters: w.Unknown() })]); +(0, dt.config)(); +var Qt = w.Object({ + stateId: w.String(), + eventName: w.String(), + eventPayload: jsonType(w.Record(w.String(), w.Any())), + command: jsonType(mt), + authToken: w.String(), + settings: jsonType(w.Record(w.String(), w.Any())), + ref: w.String(), + signature: w.String(), +}); +async function createActionsPlugin(e, t) { + const r = { + logLevel: t?.logLevel ?? T.INFO, + postCommentOnError: t?.postCommentOnError ?? true, + settingsSchema: t?.settingsSchema, + envSchema: t?.envSchema, + commandSchema: t?.commandSchema, + kernelPublicKey: t?.kernelPublicKey ?? ht, + bypassSignatureVerification: t?.bypassSignatureVerification || false, + }; + const s = process.env.PLUGIN_GITHUB_TOKEN; + if (!s) { + $e.setFailed("Error: PLUGIN_GITHUB_TOKEN env is not set"); + return; + } + const o = et.context.payload.inputs; + const n = o.signature; + if (!r.bypassSignatureVerification && !(await verifySignature(r.kernelPublicKey, o, n))) { + $e.setFailed(`Error: Invalid signature`); + return; + } + const A = et.context.payload.inputs; + const i = [...Errors(Qt, A)]; + if (i.length) { + console.dir(i, { depth: null }); + $e.setFailed(`Error: Invalid inputs payload: ${i.join(",")}`); + return; + } + const a = Decode(Qt, A); + let c; + if (r.settingsSchema) { + try { + c = Decode(r.settingsSchema, default_Default(r.settingsSchema, a.settings)); + } catch (e) { + console.dir(...Errors(r.settingsSchema, a.settings), { depth: null }); + throw e; + } + } else { + c = a.settings; + } + let u; + if (r.envSchema) { + try { + u = Decode(r.envSchema, default_Default(r.envSchema, process.env)); + } catch (e) { + console.dir(...Errors(r.envSchema, process.env), { depth: null }); + throw e; + } + } else { + u = process.env; + } + let l = null; + if (a.command && r.commandSchema) { + try { + l = Decode(r.commandSchema, default_Default(r.commandSchema, a.command)); + } catch (e) { + console.dir(...Errors(r.commandSchema, a.command), { depth: null }); + throw e; + } + } else if (a.command) { + l = a.command; + } + const g = { + eventName: a.eventName, + payload: a.eventPayload, + command: l, + octokit: new It({ auth: a.authToken }), + config: c, + env: u, + logger: new _(r.logLevel), + }; + try { + const t = await e(g); + $e.setOutput("result", t); + await returnDataToKernel(s, a.stateId, t); + } catch (e) { + console.error(e); + let t; + if (e instanceof Error) { + $e.setFailed(e); + t = g.logger.error(`Error: ${e}`, { error: e }); + } else if (e instanceof D) { + $e.setFailed(e.logMessage.raw); + t = e; + } else { + $e.setFailed(`Error: ${e}`); + t = g.logger.error(`Error: ${e}`); + } + if (r.postCommentOnError && t) { + await postErrorComment(g, t); + } + } +} +async function postErrorComment(e, t) { + if ("issue" in e.payload && e.payload.repository?.owner?.login) { + await e.octokit.rest.issues.createComment({ + owner: e.payload.repository.owner.login, + repo: e.payload.repository.name, + issue_number: e.payload.issue.number, + body: `${t.logMessage.diff}\n\x3c!--\n${getGithubWorkflowRunUrl()}\n${sanitizeMetadata(t.metadata)}\n--\x3e`, + }); + } else { + e.logger.info("Cannot post error comment because issue is not found in the payload"); + } +} +function getGithubWorkflowRunUrl() { + return `${et.context.payload.repository?.html_url}/actions/runs/${et.context.runId}`; +} +async function returnDataToKernel(e, t, r) { + const s = new It({ auth: e }); + await s.rest.repos.createDispatchEvent({ + owner: et.context.repo.owner, + repo: et.context.repo.repo, + event_type: "return-data-to-ubiquity-os-kernel", + client_payload: { state_id: t, output: r ? JSON.stringify(r) : null }, + }); +} +var Bt = __nccwpck_require__(2874); +const yt = w.Object({ workflowName: w.String() }); +const bt = w.Object({ collaborator: w.Number({ default: 1, minimum: 1 }), contributor: w.Number({ default: 2, minimum: 1 }) }, { default: {} }); +const wt = w.Object( + { collaborator: w.String({ default: "3.5 days", description: "The timespan to wait before merging a collaborator's pull-request" }) }, + { default: {} } +); +const Rt = w.Object({ monitor: w.Array(w.String({ minLength: 1 }), { default: [] }), ignore: w.Array(w.String(), { default: [] }) }, { default: {} }); +const Tt = w.Array(w.String(), { default: ["COLLABORATOR", "MEMBER", "OWNER"] }); +const kt = w.Object({ + approvalsRequired: w.Optional(bt), + mergeTimeout: w.Optional(wt), + repos: w.Optional(Rt), + allowedReviewerRoles: w.Optional( + w + .Transform(Tt) + .Decode((e) => e.map((e) => e.toUpperCase())) + .Encode((e) => e.map((e) => e.toUpperCase())) + ), +}); +var Dt = __nccwpck_require__(744); +var _t = __nccwpck_require__.n(Dt); +async function getAllTimelineEvents({ octokit: e }, t) { + return e.paginate(e.rest.issues.listEventsForTimeline, t); +} +var Ft = __nccwpck_require__(4151); +function parseGitHubUrl(e) { + const t = new URL(e).pathname.split("/"); + if (t.length !== 5) { + throw new Error(`[parseGitHubUrl] Invalid url: [${e}]`); + } + return { owner: t[1], repo: t[2], issue_number: Number(t[4]) }; +} +async function getMergeTimeoutAndApprovalRequiredCount(e, t) { + const { + config: { mergeTimeout: r, approvalsRequired: s }, + } = e; + const o = { mergeTimeout: r?.collaborator, requiredApprovalCount: s?.collaborator }; + return ["COLLABORATOR", "MEMBER", "OWNER"].includes(t) ? o : null; +} +async function getApprovalCount({ octokit: e, logger: t, config: { allowedReviewerRoles: r } }, { owner: s, repo: o, issue_number: n }) { + try { + const { data: t } = await e.rest.pulls.listReviews({ owner: s, repo: o, pull_number: n }); + return t.filter((e) => r?.includes(e.author_association)).filter((e) => e.state === "APPROVED").length; + } catch (e) { + t.error(`Error fetching reviews' approvals: ${e}`); + return 0; + } +} +async function isCiGreen({ octokit: e, logger: t, env: r }, s, { owner: o, repo: n }) { + try { + const A = s; + const { data: i } = await e.rest.checks.listSuitesForRef({ owner: o, repo: n, ref: A }); + return (0, Ft.tH)( + async () => { + const s = i.check_suites.map(async (s) => { + t.debug(`Checking runs for suite ${s.id}: ${s.url}, and filter out ${r.workflowName}`); + const { data: A } = await e.rest.checks.listForSuite({ owner: o, repo: n, check_suite_id: s.id }); + return A.check_runs; + }); + const A = await Promise.all(s); + for (const e of A) { + const s = e.filter((e) => e.name !== r.workflowName); + if (s.find((e) => e.status !== "completed")) { + return null; + } else if ( + s.find((e) => { + t.debug(`Workflow ${e.name}/${e.id} [${e.url}]: ${e.status},${e.conclusion}`); + return e.conclusion === "failure"; + }) + ) { + return false; + } + } + return true; + }, + { + until(e) { + if (e === null) { + t.info("Not all CI runs were complete, will retry..."); + } + return e !== null; + }, + maxTry: 100, + delay: 6e4, + } + ); + } catch (e) { + t.error(`Error checking CI status: ${e}`); + return false; + } +} +function parseTarget({ payload: e, logger: t }, r) { + if (!e.repository.owner) { + throw new Error(t.error("No repository owner has been found, the target cannot be parsed.").logMessage.raw); + } + const s = e.repository.owner.login; + const [o, n] = r.split("/"); + let A; + if (n) { + if (o !== s) { + return null; + } + A = n; + } else { + A = o; + } + return { org: s, repo: A }; +} +async function getOpenPullRequests(e, t) { + const { octokit: r, logger: s } = e; + const o = [...t.monitor]; + const n = [ + ...o.reduce((t, r) => { + const s = parseTarget(e, r); + if (s) { + return [...t, s.repo ? `repo:${s.org}/${s.repo}` : `org:${s.org}`]; + } + return t; + }, []), + ...t.ignore.reduce((t, r) => { + const s = parseTarget(e, r); + if (s) { + return [...t, s.repo ? `-repo:${s.org}/${s.repo}` : `-org:${s.org}`]; + } + return t; + }, []), + ]; + if (!o.length) { + n.push(`org:${e.payload.repository.owner?.login}`); + } + try { + const e = `is:pr is:open draft:false ${n.join(" ")}`; + s.debug(`Querying GitHub Search with query: ${e}`); + const t = await r.paginate(r.rest.search.issuesAndPullRequests, { q: e }); + return t.flat(); + } catch (e) { + s.error(`Error getting open pull-requests for targets: [${n.join(", ")}]. ${e}`); + throw e; + } +} +async function mergePullRequest(e, { repo: t, owner: r, issue_number: s }) { + console.log("merging PR"); + await e.octokit.rest.pulls.merge({ owner: r, repo: t, pull_number: s }); +} +async function getPullRequestDetails(e, { repo: t, owner: r, issue_number: s }) { + const o = await e.octokit.rest.pulls.get({ repo: t, owner: r, pull_number: s }); + return o.data; +} +function generateGitHubSummary(e, t) { + const r = `https://github.com/${e.payload.repository.owner?.login}`; + const s = ["## Merge report\n\n"]; + s.push("\n"); + s.push("| Merged | ID |"); + s.push("|---|---|"); + s.push( + t + .sort((e) => (e.merged ? -1 : 1)) + .map(({ url: e, merged: t }) => { + const r = t ? `🔵` : `⚫️`; + const { repo: s, issue_number: o } = parseGitHubUrl(e); + return `| ${r} | [${s}#${o}](${e}) |`; + }) + .join("\n") + ); + s.push("\n"); + s.push("🔵 = merged"); + s.push("⚫️ = unmerged"); + s.push("\n\n"); + s.push("## Configuration\n\n"); + s.push("### Watching Repositories\n\n"); + s.push(e.config.repos?.monitor.map((e) => `- [${e}](${r}/${e})`).join("\n")); + s.push("### Ignored Repositories\n\n"); + s.push(e.config.repos?.ignore.map((e) => `- [${e}](${r}/${e})`).join("\n")); + return s.join("\n"); +} +async function generateSummary(e, t) { + try { + const r = generateGitHubSummary(e, t); + await $e.summary.addRaw(r).write(); + } catch (t) { + e.logger.error("Could not publish the summary", { e: t }); + } +} +function isIssueEvent(e) { + return "created_at" in e; +} +async function updatePullRequests(e) { + const { logger: t } = e; + const r = []; + if (!e.config.repos?.monitor.length) { + const r = e.payload.repository.owner; + if (r) { + t.info(`No organizations or repo have been specified, will default to the organization owner: ${r.login}.`); + } else { + throw t.error("Could not set a default organization to watch, skipping."); + } + } + const s = await getOpenPullRequests(e, e.config.repos); + if (!s?.length) { + t.info("Nothing to do."); + return; + } + for (const { html_url: o } of s) { + let s = false; + try { + const r = parseGitHubUrl(o); + const n = await getPullRequestDetails(e, r); + t.debug(`Processing pull-request ${o} ...`); + if (n.merged || n.closed_at) { + t.info(`The pull request ${o} is already merged or closed, nothing to do.`); + continue; + } + const A = await getAllTimelineEvents(e, parseGitHubUrl(o)); + console.log(A); + const i = A.reduce((e, t) => { + if (isIssueEvent(t)) { + const r = new Date(t.created_at || t.updated_at || t.timestamp || t.commented_at || ""); + if (!isNaN(r.getTime())) { + e.push(r); + } + } + return e; + }, []); + const a = new Date(Math.max(...i.map((e) => e.getTime()))); + const c = await getMergeTimeoutAndApprovalRequiredCount(e, n.author_association); + t.debug(`Requirements according to association ${n.author_association}: ${JSON.stringify(c)} with last activity date: ${a}`); + if (isNaN(a.getTime())) { + t.info(`PR ${o} does not seem to have any activity, nothing to do.`); + } else if (c?.mergeTimeout && isPastOffset(a, c?.mergeTimeout)) { + s = await attemptMerging(e, { gitHubUrl: r, htmlUrl: o, requirements: c, lastActivityDate: a, pullRequestDetails: n }); + } else { + t.info(`PR ${o} has activity up until (${a}), nothing to do.`); + } + } catch (e) { + t.error(`Could not process pull-request ${o} for auto-merge: ${e}`); + } + r.push({ url: o, merged: s }); + } + await generateSummary(e, r); +} +async function attemptMerging(e, t) { + if ((await getApprovalCount(e, t.gitHubUrl)) >= t.requirements.requiredApprovalCount) { + if (await isCiGreen(e, t.pullRequestDetails.head.sha, t.gitHubUrl)) { + e.logger.info(`Pull-request ${t.htmlUrl} is past its due date (${t.requirements.mergeTimeout} after ${t.lastActivityDate}), will merge.`); + await mergePullRequest(e, t.gitHubUrl); + return true; + } else { + e.logger.info(`Pull-request ${t.htmlUrl} (sha: ${t.pullRequestDetails.head.sha}) does not pass all CI tests, won't merge.`); + } + } else { + e.logger.info(`Pull-request ${t.htmlUrl} does not have sufficient reviewer approvals to be merged.`); + } + return false; +} +function isPastOffset(e, t) { + const r = new Date(); + const s = _t()(t); + if (s === undefined) { + throw new Error("Invalid offset format"); + } + const o = new Date(e.getTime() + s); + return r > o; +} +async function plugin_plugin(e) { + e.logger.info("Will check the following repos", { ...e.config.repos }); + return await updatePullRequests(e); +} +createActionsPlugin((e) => plugin_plugin(e), { + envSchema: yt, + postCommentOnError: true, + settingsSchema: kt, + logLevel: process.env.LOG_LEVEL ?? "info", + kernelPublicKey: process.env.KERNEL_PUBLIC_KEY, +}).catch(console.error); diff --git a/dist/package.json b/dist/package.json new file mode 100644 index 0000000..3dbc1ca --- /dev/null +++ b/dist/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/manifest.json b/manifest.json index 1e2e689..38357ee 100644 --- a/manifest.json +++ b/manifest.json @@ -1,10 +1,7 @@ { "name": "Automated merging", "description": "Automatically merge pull-requests.", - "ubiquity:listeners": [ - "push", - "issue_comment.created" - ], + "ubiquity:listeners": ["push", "issue_comment.created"], "configuration": { "type": "object", "properties": { @@ -22,11 +19,7 @@ "minimum": 1, "type": "number" } - }, - "required": [ - "collaborator", - "contributor" - ] + } }, "mergeTimeout": { "default": {}, @@ -34,17 +27,10 @@ "properties": { "collaborator": { "default": "3.5 days", - "type": "string" - }, - "contributor": { - "default": "7 days", + "description": "The timespan to wait before merging a collaborator's pull-request", "type": "string" } - }, - "required": [ - "collaborator", - "contributor" - ] + } }, "repos": { "default": {}, @@ -65,18 +51,10 @@ "type": "string" } } - }, - "required": [ - "monitor", - "ignore" - ] + } }, "allowedReviewerRoles": { - "default": [ - "COLLABORATOR", - "MEMBER", - "OWNER" - ], + "default": ["COLLABORATOR", "MEMBER", "OWNER"], "type": "array", "items": { "type": "string" @@ -84,4 +62,4 @@ } } } -} \ No newline at end of file +} From f5190242e8b24d5ff18e76a02a194ecb3d137552 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 11:21:49 +0000 Subject: [PATCH 7/8] chore: updated manifest.json and dist build --- dist/index.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/dist/index.js b/dist/index.js index 527e6f7..70f4f09 100644 --- a/dist/index.js +++ b/dist/index.js @@ -32504,7 +32504,6 @@ async function getOpenPullRequests(e, t) { } } async function mergePullRequest(e, { repo: t, owner: r, issue_number: s }) { - console.log("merging PR"); await e.octokit.rest.pulls.merge({ owner: r, repo: t, pull_number: s }); } async function getPullRequestDetails(e, { repo: t, owner: r, issue_number: s }) { @@ -32576,7 +32575,6 @@ async function updatePullRequests(e) { continue; } const A = await getAllTimelineEvents(e, parseGitHubUrl(o)); - console.log(A); const i = A.reduce((e, t) => { if (isIssueEvent(t)) { const r = new Date(t.created_at || t.updated_at || t.timestamp || t.commented_at || ""); From c37c2ea15fee44b66f56b44a794800e942a42fbf Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Mon, 25 Nov 2024 20:24:58 +0900 Subject: [PATCH 8/8] chore: fix cspell --- .cspell.json | 2 +- .husky/commit-msg | 2 +- .husky/pre-commit | 2 +- README.md | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.cspell.json b/.cspell.json index 146ef4a..10ff6f4 100644 --- a/.cspell.json +++ b/.cspell.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", "version": "0.2", - "ignorePaths": ["**/*.json", "**/*.css", "node_modules", "**/*.log", "./src/adapters/supabase/**/**.ts", "eslint.config.mjs"], + "ignorePaths": ["**/*.json", "**/*.css", "node_modules", "**/*.log", "./src/adapters/supabase/**/**.ts", "eslint.config.mjs", "dist"], "useGitignore": true, "language": "en", "words": ["Nektos", "dataurl", "devpool", "outdir", "servedir", "Supabase", "SUPABASE", "typebox", "ubiquibot", "Smee", "typeorm", "timespan", "mswjs"], diff --git a/.husky/commit-msg b/.husky/commit-msg index b78bacb..7179f96 100644 --- a/.husky/commit-msg +++ b/.husky/commit-msg @@ -1,4 +1,4 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" -yarn commitlint --edit "$1" \ No newline at end of file +bun commitlint --edit "$1" \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit index 5a182ef..1d67559 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" -yarn lint-staged +bun lint-staged diff --git a/README.md b/README.md index ce6090b..44e36dc 100644 --- a/README.md +++ b/README.md @@ -26,5 +26,5 @@ on the association of the pull-request author. ## Testing ```shell -yarn test +bun test ``` diff --git a/package.json b/package.json index 835e221..cb998a3 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ }, "lint-staged": { "*.ts": [ - "yarn prettier --write", + "bun prettier --write", "eslint --fix" ], "src/**.{ts,json}": [