ado-npm-auth 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/LICENSE.txt +21 -0
  2. package/README.md +13 -0
  3. package/bin/index.js +3 -0
  4. package/dist/ado-auto-auth.cjs +39047 -0
  5. package/dist/ado-npm-auth.cjs +39047 -0
  6. package/lib/.tsbuildinfo +1 -0
  7. package/lib/azureauth/ado.d.ts +26 -0
  8. package/lib/azureauth/ado.d.ts.map +1 -0
  9. package/lib/azureauth/ado.js +76 -0
  10. package/lib/azureauth/ado.js.map +1 -0
  11. package/lib/azureauth/azureauth-command.d.ts +7 -0
  12. package/lib/azureauth/azureauth-command.d.ts.map +1 -0
  13. package/lib/azureauth/azureauth-command.js +20 -0
  14. package/lib/azureauth/azureauth-command.js.map +1 -0
  15. package/lib/azureauth/index.d.ts +2 -0
  16. package/lib/azureauth/index.d.ts.map +1 -0
  17. package/lib/azureauth/index.js +2 -0
  18. package/lib/azureauth/index.js.map +1 -0
  19. package/lib/azureauth/is-azureauth-installed.d.ts +6 -0
  20. package/lib/azureauth/is-azureauth-installed.d.ts.map +1 -0
  21. package/lib/azureauth/is-azureauth-installed.js +24 -0
  22. package/lib/azureauth/is-azureauth-installed.js.map +1 -0
  23. package/lib/azureauth/is-supported-platform-and-architecture.d.ts +6 -0
  24. package/lib/azureauth/is-supported-platform-and-architecture.d.ts.map +1 -0
  25. package/lib/azureauth/is-supported-platform-and-architecture.js +16 -0
  26. package/lib/azureauth/is-supported-platform-and-architecture.js.map +1 -0
  27. package/lib/cli.d.ts +2 -0
  28. package/lib/cli.d.ts.map +1 -0
  29. package/lib/cli.js +61 -0
  30. package/lib/cli.js.map +1 -0
  31. package/lib/index.d.ts +1 -0
  32. package/lib/index.d.ts.map +1 -0
  33. package/lib/index.js +2 -0
  34. package/lib/index.js.map +1 -0
  35. package/lib/npmrc/base64.d.ts +7 -0
  36. package/lib/npmrc/base64.d.ts.map +1 -0
  37. package/lib/npmrc/base64.js +7 -0
  38. package/lib/npmrc/base64.js.map +1 -0
  39. package/lib/npmrc/checkADO.d.ts +10 -0
  40. package/lib/npmrc/checkADO.d.ts.map +1 -0
  41. package/lib/npmrc/checkADO.js +30 -0
  42. package/lib/npmrc/checkADO.js.map +1 -0
  43. package/lib/npmrc/generate-npmrc-pat.d.ts +6 -0
  44. package/lib/npmrc/generate-npmrc-pat.d.ts.map +1 -0
  45. package/lib/npmrc/generate-npmrc-pat.js +24 -0
  46. package/lib/npmrc/generate-npmrc-pat.js.map +1 -0
  47. package/lib/npmrc/get-repo-npmrc-ado-orgs.d.ts +12 -0
  48. package/lib/npmrc/get-repo-npmrc-ado-orgs.d.ts.map +1 -0
  49. package/lib/npmrc/get-repo-npmrc-ado-orgs.js +39 -0
  50. package/lib/npmrc/get-repo-npmrc-ado-orgs.js.map +1 -0
  51. package/lib/npmrc/getFeedWithoutProtocol.d.ts +7 -0
  52. package/lib/npmrc/getFeedWithoutProtocol.d.ts.map +1 -0
  53. package/lib/npmrc/getFeedWithoutProtocol.js +11 -0
  54. package/lib/npmrc/getFeedWithoutProtocol.js.map +1 -0
  55. package/lib/npmrc/getOrganizationFromFeedUrl.d.ts +8 -0
  56. package/lib/npmrc/getOrganizationFromFeedUrl.d.ts.map +1 -0
  57. package/lib/npmrc/getOrganizationFromFeedUrl.js +27 -0
  58. package/lib/npmrc/getOrganizationFromFeedUrl.js.map +1 -0
  59. package/lib/npmrc/getUserPAT.d.ts +13 -0
  60. package/lib/npmrc/getUserPAT.d.ts.map +1 -0
  61. package/lib/npmrc/getUserPAT.js +32 -0
  62. package/lib/npmrc/getUserPAT.js.map +1 -0
  63. package/lib/npmrc/index.d.ts +1 -0
  64. package/lib/npmrc/index.d.ts.map +1 -0
  65. package/lib/npmrc/index.js +2 -0
  66. package/lib/npmrc/index.js.map +1 -0
  67. package/lib/npmrc/is-valid-pat.d.ts +2 -0
  68. package/lib/npmrc/is-valid-pat.d.ts.map +1 -0
  69. package/lib/npmrc/is-valid-pat.js +59 -0
  70. package/lib/npmrc/is-valid-pat.js.map +1 -0
  71. package/lib/npmrc/makeADORequest.d.ts +15 -0
  72. package/lib/npmrc/makeADORequest.d.ts.map +1 -0
  73. package/lib/npmrc/makeADORequest.js +36 -0
  74. package/lib/npmrc/makeADORequest.js.map +1 -0
  75. package/lib/npmrc/makeRequest.d.ts +9 -0
  76. package/lib/npmrc/makeRequest.d.ts.map +1 -0
  77. package/lib/npmrc/makeRequest.js +38 -0
  78. package/lib/npmrc/makeRequest.js.map +1 -0
  79. package/lib/npmrc/npmrc.d.ts +15 -0
  80. package/lib/npmrc/npmrc.d.ts.map +1 -0
  81. package/lib/npmrc/npmrc.js +22 -0
  82. package/lib/npmrc/npmrc.js.map +1 -0
  83. package/lib/npmrc/pat.d.ts +13 -0
  84. package/lib/npmrc/pat.d.ts.map +1 -0
  85. package/lib/npmrc/pat.js +32 -0
  86. package/lib/npmrc/pat.js.map +1 -0
  87. package/lib/npmrc/set-npmrc-pat.d.ts +16 -0
  88. package/lib/npmrc/set-npmrc-pat.d.ts.map +1 -0
  89. package/lib/npmrc/set-npmrc-pat.js +109 -0
  90. package/lib/npmrc/set-npmrc-pat.js.map +1 -0
  91. package/lib/telemetry/index.d.ts +20 -0
  92. package/lib/telemetry/index.d.ts.map +1 -0
  93. package/lib/telemetry/index.js +21 -0
  94. package/lib/telemetry/index.js.map +1 -0
  95. package/lib/utils/exec.d.ts +4 -0
  96. package/lib/utils/exec.d.ts.map +1 -0
  97. package/lib/utils/exec.js +4 -0
  98. package/lib/utils/exec.js.map +1 -0
  99. package/lib/utils/is-codespaces.d.ts +6 -0
  100. package/lib/utils/is-codespaces.d.ts.map +1 -0
  101. package/lib/utils/is-codespaces.js +10 -0
  102. package/lib/utils/is-codespaces.js.map +1 -0
  103. package/lib/utils/is-wsl.d.ts +6 -0
  104. package/lib/utils/is-wsl.d.ts.map +1 -0
  105. package/lib/utils/is-wsl.js +9 -0
  106. package/lib/utils/is-wsl.js.map +1 -0
  107. package/package.json +39 -0
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../src/utils/is-wsl.ts","../src/azureauth/is-supported-platform-and-architecture.ts","../src/utils/is-codespaces.ts","../src/telemetry/index.ts","../src/npmrc/makeRequest.ts","../src/npmrc/makeADORequest.ts","../src/npmrc/base64.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/npmcli__config/index.d.ts","../../../node_modules/workspace-tools/lib/types/PackageInfo.d.ts","../../../node_modules/workspace-tools/lib/dependencies/transitiveDeps.d.ts","../../../node_modules/workspace-tools/lib/graph/getPackageDependencies.d.ts","../../../node_modules/workspace-tools/lib/dependencies/index.d.ts","../../../node_modules/workspace-tools/lib/getPackageInfos.d.ts","../../../node_modules/workspace-tools/lib/git/git.d.ts","../../../node_modules/workspace-tools/lib/git/getDefaultRemote.d.ts","../../../node_modules/workspace-tools/lib/git/getDefaultRemoteBranch.d.ts","../../../node_modules/workspace-tools/lib/git/gitUtilities.d.ts","../../../node_modules/workspace-tools/lib/git/index.d.ts","../../../node_modules/workspace-tools/lib/types/PackageGraph.d.ts","../../../node_modules/workspace-tools/lib/graph/createPackageGraph.d.ts","../../../node_modules/workspace-tools/lib/graph/index.d.ts","../../../node_modules/workspace-tools/lib/lockfile/types.d.ts","../../../node_modules/workspace-tools/lib/lockfile/nameAtVersion.d.ts","../../../node_modules/workspace-tools/lib/lockfile/queryLockFile.d.ts","../../../node_modules/workspace-tools/lib/lockfile/index.d.ts","../../../node_modules/workspace-tools/lib/paths.d.ts","../../../node_modules/workspace-tools/lib/scope.d.ts","../../../node_modules/workspace-tools/lib/types/WorkspaceInfo.d.ts","../../../node_modules/workspace-tools/lib/workspaces/findWorkspacePath.d.ts","../../../node_modules/workspace-tools/lib/workspaces/getWorkspaces.d.ts","../../../node_modules/workspace-tools/lib/workspaces/getWorkspaceRoot.d.ts","../../../node_modules/workspace-tools/lib/workspaces/implementations/pnpm.d.ts","../../../node_modules/workspace-tools/lib/workspaces/implementations/rush.d.ts","../../../node_modules/workspace-tools/lib/workspaces/implementations/yarn.d.ts","../../../node_modules/workspace-tools/lib/workspaces/getChangedPackages.d.ts","../../../node_modules/workspace-tools/lib/workspaces/getPackagesByFiles.d.ts","../../../node_modules/workspace-tools/lib/workspaces/listOfWorkspacePackageNames.d.ts","../../../node_modules/workspace-tools/lib/workspaces/workspaces.d.ts","../../../node_modules/workspace-tools/lib/index.d.ts","../src/npmrc/getOrganizationFromFeedUrl.ts","../src/npmrc/get-repo-npmrc-ado-orgs.ts","../src/npmrc/getFeedWithoutProtocol.ts","../src/npmrc/npmrc.ts","../src/npmrc/getUserPAT.ts","../src/npmrc/checkADO.ts","../src/npmrc/is-valid-pat.ts","../src/utils/exec.ts","../src/azureauth/azureauth-command.ts","../src/azureauth/is-azureauth-installed.ts","../src/azureauth/ado.ts","../src/npmrc/generate-npmrc-pat.ts","../src/npmrc/set-npmrc-pat.ts","../src/cli.ts","../src/index.ts","../src/azureauth/index.ts","../src/npmrc/index.ts","../src/npmrc/pat.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900",{"version":"e3e660b972bc66fc4da5d519e64695de6e22786b3355ce44854ee1992eb27e69","signature":"0235cf78d1c2fb8551e31d9388f64e38e77e0484eff1233ac8fb0ec9198fe087"},{"version":"73f1254c82b11fd65871b09f26ac496a5cbba1a95cba602202cf4ba698756a05","signature":"f39757b4a404e5035c500623ee1e4da8f037f3144a5915b1db87e91fa99c4477"},{"version":"5f1bff51e697305d07e5e5c0707a5a06ff4f446a9e7b455a686f5e0a738cdadd","signature":"547585850da1334db2bce2bebed71a4580926e4f65226837ca81bf9d2da26e9e"},{"version":"70878fd9ac4fe06e87dfdc074ac770a5367e90354a2c7165474ff551de34ab0d","signature":"b2d912eb59d503d302df234b45b1673aef5fb9947aede8209260678a066440da"},{"version":"2822266b0c38943c8c9984ef34340aa33ed3c8ba93c625028dd3f09f3f83865c","signature":"14179af55fb318785bda35a053d8b53f6b7a88d95dc5fa6a227f5b0aa4c81bc6"},{"version":"bac2a515c14efabe867080afa49f5a9bb6e34085b6ecfd45575a712b75dff072","signature":"0475c3adb8d42b4e29cf7e6a92fa021017dc8117af0adb31bce57a212d5ca2ae"},{"version":"f3590c63796ae604fea8d1edef99ba9c94ca0c4befb37f4992e4a63b6f88192e","signature":"c3f17b122ec178237eba65710403ce3c25f801a400dca3f7f6bc7f96f12c3f1f"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","d69a3298a197fe5d59edba0ec23b4abf2c8e7b8c6718eac97833633cd664e4c9",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"8b809082dfeffc8cc4f3b9c59f55c0ff52ba12f5ae0766cb5c35deee83b8552e","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","d4f9d3ae2fe1ae199e1c832cca2c44f45e0b305dfa2808afdd51249b6f4a5163","7525257b4aa35efc7a1bbc00f205a9a96c4e4ab791da90db41b77938c4e0c18e","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"9c611eff81287837680c1f4496daf9e737d6f3a1ff17752207814b8f8e1265af","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","b5d4e3e524f2eead4519c8e819eaf7fa44a27c22418eff1b7b2d0ebc5fdc510d","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","5e8dc64e7e68b2b3ea52ed685cf85239e0d5fb9df31aabc94370c6bc7e19077b",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"46755a4afc53df75f0bfce72259fb971daac826b0cdd8c4eaccad2755a817403","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7fa32887f8a97909fca35ebba3740f8caf8df146618d8fff957a3f89f67a2f6a","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","21c56c6e8eeacef15f63f373a29fab6a2b36e4705be7a528aae8c51469e2737b",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","ba0c8d012518b182a9bb523da8929545f53f2e7786a4a2f00243e3141d08cf12","dee448a3382d23b77a79a8b777da27a5957aa264c6de7d876e0bf3ae539dbdb9","5a6cc974a82fa152ab3359ce5a579064d302a48476a9cfe620384c6533afd448","f393ef0700f59fc4b5922e854cdb86e3d9a3965bb68764bfa707c9f112eb744e","95c4d814a4ef863756720fce4ca9355505f2f859dbceb2908659f986672a6150","f1488b8e39779b9705571b253cd5acbe725e3cc663acd359c65fb0c9361b4475","1870d22904e645a870770c4241aa467557c4866a3f255218816e375f7ce14b12","db90d48c8198f48fa18af36c2c98660c412c842a86b013061aab729a48ea1919","b593c475fadcccf9be55b0ae4850ae5f5edc570942272a36ba3b19437540dfb0","ba3656a7865e196c5fdb83906d1fa904e1e973db984984de040ef8711860e1e0","84e256e67c2f5578ab20c9f56de245d984d178b95139ef57eb0ff80f1ed53fcd","38b184d5b41d889a41042061d687cd6f261aee40badd040dacd539f0cb68f59c","685a6b4dc879f419c54413762c7ffa87d76ab36f17ecad25f54bec9ec6e53fbf","9d8fc433ec74e9e54bcd9ec776dddc79bcb38e5832a6e005a277b225b55898f1","76511a6c40a2ca2ca454ed272fc49063a9cd9ca8e853611bf2c3c8a790a70ff7","8aa8509fcb336750ee6d00ad72f9f6e22b2e114674dda7fd71cae24cb2979249","d596f3f18b0b59d31fa7e96bb20ff4984461740f7b55823b386a90ab56c0e595","65ce65661b7a1f560c558201edde9ff6d7648975a1cbb7050fcd76572b29e4ca","f321c10059e18cbc1d6bed0a7744265f9d7e598cb0aafa67f3aa82f5f1a27cfa","0e1a3e843a786cd540c296de7adb9a0074a0c1a76fdf8a5a90dd63a00c61dafb","47b84a1e7b0a75f1b86e480f6ae10f4544e938471043ab45fc26866858f93bca","a11b09b6488efcccca768f1c16df0fa06550f0a6ba4c0d285e6a87aea9100405","5fbc942ce170eb667253282d0d3314df2d48d3701d97d4e2cbb0622e34beeb44","0171e7164fbff730fd353fa7538640ce69c90a00f8c2a5d9f10d64c8eaefba01","c548e62916ec376ebc4666ccf9b22ac4a78e35f28fb55593d10eaa3100e29af1","4b5c685d3abe2a43f40faf13b9b262ed6d1fda9070a2637adccd0519e1e779af","2b47fa50106334fed8b4c14d278206fe622a16e53413d76287eb4a2253721c78","e48735e812b9a8522fcaf2a89e63b87b56355d935749c3a059ee64a391fd5f42","3a2b97fe9d2f5e2c451f75b4dd77314cc049d27ea7d6d8ede312cd5302443953","d19f44eafb50d3540bffdf32ef7476bb04575dbc0a6e951f9b984a4580bad3f3","71a6c96f690211d99aa0e5fdc43e79a08886d551bcf365434aab94b2e6bfe0a9","31c28f22c1b11d6248fc4e00ebb1b80e2a5be2e14e8da6a721aa3c0765923e3a",{"version":"9b05fbd9b1061d23a88de27641a5cd323aa25181a14fc14af656f352fea6c54c","signature":"bc6d29fb79753eff0aeccdd34811147c4afe0f20218146f78b660e05d546d0bb"},{"version":"2f102853bf77325ff2fac1dd0ea580cafcea26f1154fed67b28fe7094db939bc","signature":"9f6bf08ed9606a4d2e7545cedebb22bb54298a93e16b6cf0538ab3c0f10b2d47"},{"version":"6206d23b58dc7baff133953a50cc48dbc644d8235ce843d7ac462ec2a193e311","signature":"83dda841f960464662ea4678b85cb7c9991b39c7561befba06361b17bf60decd"},{"version":"2a922e1ca49cc6ed78d9acd18b83e044655c42f602348f9000a6398ccd369d75","signature":"d007d2e3d756c99d012d4fcda0e3bc7946dbfacfb7815c552472d4136eb17336"},{"version":"0754089af4fbcf68b21f984fa5ecb060d41698a1115a567bb2ad252e58d0e5d7","signature":"bec474cd8f80a9baeae9f5e74bbeff4516c63499d5ee2e17c0e58986527cd1c4"},{"version":"8182518605f00ceda2c04c5ca46b4a63110a63023460895ccee53d5bba4777fa","signature":"7e089ef2839949ecaa3f16ad6302ce3827247a0fdbc62e49ca2fe7d16f253b5c"},{"version":"a6aaa37ebe9498f22058fb227e13b6fc3b53e0baf1949f0875f6d9dcf2f7b322","signature":"f49cdcabb72c19f70e62f2b38ceddb4b5622e98094b2b840f04479a46ccfe993"},{"version":"daecad7c3ab90fd21dd32b1f3896a24c842070779d5f41ed40020f5afb1d33a3","signature":"7d8da156d11029bea4eb214fd8890a0fd97453ef252413984575d3dca271e11e"},{"version":"c25498f4aaa66cdddd09c0f26654fd99715f416d81f60b9308c88cf9bc3c4afe","signature":"e920e385e2b5c2318ffdd6b57ba63faaaf12d81c2f893f23a9bf099778bb9e80"},{"version":"42bff05dcd975b366bc046f9a6c80a9edaa0c08a89f4e2a9619e8f9ff6d31892","signature":"67aae346a257bbdb43ee4b50cdc6fc8015e827ddc0e8d8724ff1ae0f01cd9294"},{"version":"0ac06e78bdeb8005a1840856712496417a3e03df38fb15f9045f0989bfc9512c","signature":"1dd15e01ad429d7d55bf02a549f9964ba703b137588ea971875ab3613d680760"},{"version":"d20ffba1e37a634dd80ca6250d4bf9153551db3d8d3a1ca03dcaaf52e9800222","signature":"99f3f17adfa550d595f0c51d885a4d446e14802d0fedbc94ca13ec46056938fa"},{"version":"99c0d5312109f5b453c6d7d96a4b0948fac3dbf83aa4c510b463c9f410977890","signature":"c618b8469a3b0dc551de968b33734d1fad813051329ef6aed8cd90a340ef8c6f"},{"version":"eae8c46d8fe1c7e6877083ae3c0ef58d28bacf14feb9c19d900215b595a2d228","signature":"2b46e6d9d3b898e727e92073c782a8cbfe6f283a901bcf00a60e18348af2dd59"},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","32cec3acd5ce54e762051b0077fc292c94407c23acec836304f3b17abbf7a8d3","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"5d079514ecf77a7e59e49caa458e433719678870ec55737fb7896529fe5c0394","signature":"12050f9ce8519bc903e43c619b2fbc6d54f2d6c61bd658e5752ccf9342b21922"}],"root":[[48,54],[215,232]],"options":{"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"jsx":2,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","sourceMap":true,"strict":true,"target":6,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[55],[91],[92,97,126],[93,104,105,112,123,134],[93,94,104,112],[95,135],[96,97,105,113],[97,123,131],[98,100,104,112],[91,99],[100,101],[104],[102,104],[91,104],[104,105,106,123,134],[104,105,106,119,123,126],[89,92,139],[100,104,107,112,123,134],[104,105,107,108,112,123,131,134],[107,109,123,131,134],[55,56,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141],[104,110],[111,134,139],[100,104,112,123],[113],[114],[91,115],[116,133,139],[117],[118],[104,119,120],[119,121,135,137],[92,104,123,124,125,126],[92,123,125],[123,124],[126],[127],[91,123],[104,129,130],[129,130],[97,112,123,131],[132],[112,133],[92,107,118,134],[97,135],[123,136],[111,137],[138],[92,97,104,106,115,123,134,137,139],[123,140],[114,123,134,142,182],[143,182],[143,167,182],[182],[143],[143,168,182],[143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],[168,182],[66,70,134],[66,123,134],[61],[63,66,131,134],[112,131],[142],[61,142],[63,66,112,134],[58,59,62,65,92,104,123,134],[58,64],[62,66,92,126,134,142],[92,142],[82,92,142],[60,61,142],[66],[60,61,62,63,64,65,66,67,68,70,71,72,73,74,75,76,77,78,79,80,81,83,84,85,86,87,88],[66,73,74],[64,66,74,75],[65],[58,61,66],[66,70,74,75],[70],[64,66,69,134],[58,63,64,66,70,73],[92,123],[61,66,82,92,139,142],[185,186],[184],[190],[93,142],[189,190,191,192],[184,194],[184,195],[184,187,188,193,194,196,200,201,202,203,204,205,206,207,208,209,210,211,212,213],[197,198,199],[197],[203],[47,48,49,93,113,222,223,224],[47,48],[47,225],[47,222,223],[47,48,113],[47,49,50,51,113,221,227],[47],[47,53,216,218,219],[47,113,225],[47,114,183,214,215],[47,54,216,217,218],[47,106,113,114,215,216,220],[47,52],[47,109],[47,105,114],[47,105,113,216,217,218,226],[47,93,135],[47,113],[216],[109],[93]],"referencedMap":[[55,1],[56,1],[91,2],[92,3],[93,4],[94,5],[95,6],[96,7],[97,8],[98,9],[99,10],[100,11],[101,11],[103,12],[102,13],[104,14],[105,15],[106,16],[90,17],[107,18],[108,19],[109,20],[142,21],[110,22],[111,23],[112,24],[113,25],[114,26],[115,27],[116,28],[117,29],[118,30],[119,31],[120,31],[121,32],[123,33],[125,34],[124,35],[126,36],[127,37],[128,38],[129,39],[130,40],[131,41],[132,42],[133,43],[134,44],[135,45],[136,46],[137,47],[138,48],[139,49],[140,50],[183,51],[167,52],[168,53],[143,54],[146,54],[165,52],[166,52],[156,52],[155,55],[153,52],[148,52],[161,52],[159,52],[163,52],[147,52],[160,52],[164,52],[149,52],[150,52],[162,52],[144,52],[151,52],[152,52],[154,52],[158,52],[169,56],[157,52],[145,52],[182,57],[176,56],[178,58],[177,56],[170,56],[171,56],[173,56],[175,56],[179,58],[180,58],[172,58],[174,58],[73,59],[80,60],[72,59],[87,61],[64,62],[63,63],[86,64],[81,65],[84,66],[66,67],[65,68],[61,69],[60,70],[83,71],[62,72],[67,73],[71,73],[89,74],[88,73],[75,75],[76,76],[78,77],[74,78],[77,79],[82,64],[69,80],[70,81],[79,82],[59,83],[85,84],[187,85],[185,86],[188,86],[191,87],[189,88],[193,89],[195,90],[186,86],[196,91],[214,92],[200,93],[199,94],[203,86],[204,95],[205,95],[207,95],[208,95],[209,95],[212,95],[225,96],[223,97],[230,98],[224,99],[49,100],[228,101],[54,102],[220,103],[226,104],[216,105],[217,102],[215,102],[219,106],[221,107],[53,108],[52,109],[218,110],[232,106],[227,111],[51,100],[222,112],[50,102],[48,113]],"exportedModulesMap":[[55,1],[56,1],[91,2],[92,3],[93,4],[94,5],[95,6],[96,7],[97,8],[98,9],[99,10],[100,11],[101,11],[103,12],[102,13],[104,14],[105,15],[106,16],[90,17],[107,18],[108,19],[109,20],[142,21],[110,22],[111,23],[112,24],[113,25],[114,26],[115,27],[116,28],[117,29],[118,30],[119,31],[120,31],[121,32],[123,33],[125,34],[124,35],[126,36],[127,37],[128,38],[129,39],[130,40],[131,41],[132,42],[133,43],[134,44],[135,45],[136,46],[137,47],[138,48],[139,49],[140,50],[183,51],[167,52],[168,53],[143,54],[146,54],[165,52],[166,52],[156,52],[155,55],[153,52],[148,52],[161,52],[159,52],[163,52],[147,52],[160,52],[164,52],[149,52],[150,52],[162,52],[144,52],[151,52],[152,52],[154,52],[158,52],[169,56],[157,52],[145,52],[182,57],[176,56],[178,58],[177,56],[170,56],[171,56],[173,56],[175,56],[179,58],[180,58],[172,58],[174,58],[73,59],[80,60],[72,59],[87,61],[64,62],[63,63],[86,64],[81,65],[84,66],[66,67],[65,68],[61,69],[60,70],[83,71],[62,72],[67,73],[71,73],[89,74],[88,73],[75,75],[76,76],[78,77],[74,78],[77,79],[82,64],[69,80],[70,81],[79,82],[59,83],[85,84],[187,85],[185,86],[188,86],[191,87],[189,88],[193,89],[195,90],[186,86],[196,91],[214,92],[200,93],[199,94],[203,86],[204,95],[205,95],[207,95],[208,95],[209,95],[212,95],[230,98],[220,114],[219,114],[52,115],[232,114],[227,114],[222,116]],"semanticDiagnosticsPerFile":[55,56,91,92,93,94,95,96,97,98,99,100,101,103,102,104,105,106,90,141,107,108,109,142,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,183,167,168,143,146,165,166,156,155,153,148,161,159,163,147,160,164,149,150,162,144,151,152,154,158,169,157,145,182,181,176,178,177,170,171,173,175,179,180,172,174,57,47,45,46,8,10,9,2,11,12,13,14,15,16,17,18,3,19,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,1,44,73,80,72,87,64,63,86,81,84,66,65,61,60,83,62,67,68,71,58,89,88,75,76,78,74,77,82,69,70,79,59,85,187,185,188,190,191,189,192,193,195,186,196,214,200,198,199,197,201,202,194,184,203,204,210,211,206,205,207,208,209,212,213,225,223,230,224,49,228,229,54,220,226,216,217,215,219,231,221,53,52,218,232,227,51,222,50,48],"latestChangedDtsFile":"./npmrc/pat.d.ts"},"version":"5.4.4"}
@@ -0,0 +1,26 @@
1
+ export type AdoPatOptions = {
2
+ promptHint: string;
3
+ organization: string;
4
+ displayName: string;
5
+ scope: string[];
6
+ output?: string;
7
+ mode?: string;
8
+ domain?: string;
9
+ timeout?: string;
10
+ };
11
+ export type AdoPatResponse = {
12
+ displayName: string;
13
+ validTo: string;
14
+ scope: string[];
15
+ targetAccounts: string[];
16
+ validFrom: string;
17
+ authorizationId: string;
18
+ token: string;
19
+ };
20
+ /**
21
+ * Wrapper for `azureauth ado pat`. Please run `azureauth ado pat --help` for full command options and description
22
+ * @param options Options for PAT generation
23
+ * @returns ADO PAT details
24
+ */
25
+ export declare const adoPat: (options: AdoPatOptions) => Promise<AdoPatResponse | string>;
26
+ //# sourceMappingURL=ado.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ado.d.ts","sourceRoot":"","sources":["../../src/azureauth/ado.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM,YACR,aAAa,KACrB,QAAQ,cAAc,GAAG,MAAM,CA0EjC,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { arch, platform } from "os";
2
+ import { exec } from "../utils/exec.js";
3
+ import { isSupportedPlatformAndArchitecture } from "./is-supported-platform-and-architecture.js";
4
+ import { azureAuthCommand } from "./azureauth-command.js";
5
+ import { isWsl } from "../utils/is-wsl.js";
6
+ import { spawnSync } from "child_process";
7
+ import { isAzureAuthInstalled } from "./is-azureauth-installed.js";
8
+ /**
9
+ * Wrapper for `azureauth ado pat`. Please run `azureauth ado pat --help` for full command options and description
10
+ * @param options Options for PAT generation
11
+ * @returns ADO PAT details
12
+ */
13
+ export const adoPat = async (options) => {
14
+ if (!isSupportedPlatformAndArchitecture()) {
15
+ throw new Error(`AzureAuth is not supported for platform ${platform()} and architecture ${arch()}`);
16
+ }
17
+ const command = [
18
+ ...azureAuthCommand(),
19
+ `ado`,
20
+ `pat`,
21
+ `--prompt-hint ${isWsl() ? options.promptHint : `"${options.promptHint}"`}`, // We only use spawn for WSL. spawn does not does not require prompt hint to be wrapped in quotes. exec does.
22
+ `--organization ${options.organization}`,
23
+ `--display-name ${options.displayName}`,
24
+ ...options.scope.map((scope) => `--scope ${scope}`),
25
+ ];
26
+ if (options.output) {
27
+ command.push(`--output ${options.output}`);
28
+ }
29
+ if (options.mode) {
30
+ command.push(`--mode ${options.mode}`);
31
+ }
32
+ if (options.domain) {
33
+ command.push(`--domain ${options.domain}`);
34
+ }
35
+ if (options.timeout) {
36
+ command.push(`--timeout ${options.timeout}`);
37
+ }
38
+ try {
39
+ let result;
40
+ if (isWsl()) {
41
+ try {
42
+ result = spawnSync(command[0], command.slice(1), { encoding: "utf-8" });
43
+ if (result.error) {
44
+ throw new Error(result.error.message);
45
+ }
46
+ }
47
+ catch (error) {
48
+ throw new Error(`Failed to get Ado Pat from system AzureAuth: ${error.message}`);
49
+ }
50
+ }
51
+ else {
52
+ try {
53
+ result = await exec(command.join(" "), {
54
+ env: {
55
+ ...process.env,
56
+ npm_config_registry: "https://registry.npmjs.org",
57
+ },
58
+ });
59
+ }
60
+ catch (error) {
61
+ throw new Error(`Failed to get Ado Pat from npx AzureAuth: ${error.message}. Adding the --skip-auth flag may fix this issue.`);
62
+ }
63
+ }
64
+ if (options.output === "json") {
65
+ return JSON.parse(result.stdout);
66
+ }
67
+ return result.stdout;
68
+ }
69
+ catch (error) {
70
+ if (!(await isAzureAuthInstalled())) {
71
+ throw new Error(`AzureAuth is not installed.`);
72
+ }
73
+ throw new Error(error.message);
74
+ }
75
+ };
76
+ //# sourceMappingURL=ado.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ado.js","sourceRoot":"","sources":["../../src/azureauth/ado.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAsBnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EACzB,OAAsB,EACY,EAAE;IACpC,IAAI,CAAC,kCAAkC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,2CAA2C,QAAQ,EAAE,qBAAqB,IAAI,EAAE,EAAE,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG;QACd,GAAG,gBAAgB,EAAE;QACrB,KAAK;QACL,KAAK;QACL,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,EAAE,6GAA6G;QAC1L,kBAAkB,OAAO,CAAC,YAAY,EAAE;QACxC,kBAAkB,OAAO,CAAC,WAAW,EAAE;QACvC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC;KACpD,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,IAAI,MAAM,CAAC;QACX,IAAI,KAAK,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACb,gDAAgD,KAAK,CAAC,OAAO,EAAE,CAChE,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACrC,GAAG,EAAE;wBACH,GAAG,OAAO,CAAC,GAAG;wBACd,mBAAmB,EAAE,4BAA4B;qBAClD;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACb,6CAA6C,KAAK,CAAC,OAAO,mDAAmD,CAC9G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAmB,CAAC;QACrD,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,MAAM,oBAAoB,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Get the executable path of azureauth command
3
+ * @returns { string } the string of the executable command to run azureauth
4
+ */
5
+ export declare const npxAzureAuthCommand: string[];
6
+ export declare const azureAuthCommand: () => string[];
7
+ //# sourceMappingURL=azureauth-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azureauth-command.d.ts","sourceRoot":"","sources":["../../src/azureauth/azureauth-command.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,EAMvC,CAAC;AACF,eAAO,MAAM,gBAAgB,gBAM5B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { isWsl } from "../utils/is-wsl.js";
2
+ let memo = undefined;
3
+ /**
4
+ * Get the executable path of azureauth command
5
+ * @returns { string } the string of the executable command to run azureauth
6
+ */
7
+ export const npxAzureAuthCommand = [
8
+ "npm",
9
+ "exec",
10
+ "--yes",
11
+ "azureauth",
12
+ "--",
13
+ ];
14
+ export const azureAuthCommand = () => {
15
+ if (!memo) {
16
+ memo = isWsl() ? ["azureauth.exe"] : npxAzureAuthCommand;
17
+ }
18
+ return memo;
19
+ };
20
+ //# sourceMappingURL=azureauth-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azureauth-command.js","sourceRoot":"","sources":["../../src/azureauth/azureauth-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,IAAI,IAAI,GAAyB,SAAS,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAa;IAC3C,KAAK;IACL,MAAM;IACN,OAAO;IACP,WAAW;IACX,IAAI;CACL,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC3D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { adoPat } from "./ado.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/azureauth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { adoPat } from "./ado.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/azureauth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Determine if a valid version (>=0.8.0.0) is installed
3
+ * @returns { boolean } Whether a valid version of azureauth is installed
4
+ */
5
+ export declare const isAzureAuthInstalled: () => Promise<boolean>;
6
+ //# sourceMappingURL=is-azureauth-installed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-azureauth-installed.d.ts","sourceRoot":"","sources":["../../src/azureauth/is-azureauth-installed.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAa,QAAQ,OAAO,CAgB5D,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { exec } from "../utils/exec.js";
2
+ import { azureAuthCommand } from "./azureauth-command.js";
3
+ let memo = undefined;
4
+ /**
5
+ * Determine if a valid version (>=0.8.0.0) is installed
6
+ * @returns { boolean } Whether a valid version of azureauth is installed
7
+ */
8
+ export const isAzureAuthInstalled = async () => {
9
+ if (memo === undefined) {
10
+ const command = `${azureAuthCommand()} --version`;
11
+ try {
12
+ const result = await exec(command);
13
+ // version must be >=0.8.0.0
14
+ const [, minor] = result.stdout.split(".");
15
+ memo = parseInt(minor) >= 8;
16
+ }
17
+ catch (error) {
18
+ // azureauth not installed
19
+ memo = false;
20
+ }
21
+ }
22
+ return memo;
23
+ };
24
+ //# sourceMappingURL=is-azureauth-installed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-azureauth-installed.js","sourceRoot":"","sources":["../../src/azureauth/is-azureauth-installed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,IAAI,IAAI,GAAwB,SAAS,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAsB,EAAE;IAC/D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,GAAG,gBAAgB,EAAE,YAAY,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,4BAA4B;YAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0BAA0B;YAC1B,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Determines if the currently running platform is supported by azureauth. Currently, supported platforms are Windows, Mac & WSL
3
+ * @returns { boolean } if the current platform is supported by azureauth
4
+ */
5
+ export declare const isSupportedPlatformAndArchitecture: () => boolean;
6
+ //# sourceMappingURL=is-supported-platform-and-architecture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-supported-platform-and-architecture.d.ts","sourceRoot":"","sources":["../../src/azureauth/is-supported-platform-and-architecture.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,kCAAkC,QAAO,OAWrD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { arch, platform } from "os";
2
+ import { isWsl } from "../utils/is-wsl.js";
3
+ /**
4
+ * Determines if the currently running platform is supported by azureauth. Currently, supported platforms are Windows, Mac & WSL
5
+ * @returns { boolean } if the current platform is supported by azureauth
6
+ */
7
+ export const isSupportedPlatformAndArchitecture = () => {
8
+ const supportedPlatformsAndArchitectures = {
9
+ win32: ["x64"],
10
+ darwin: ["x64", "arm64"],
11
+ };
12
+ return (isWsl() ||
13
+ (supportedPlatformsAndArchitectures[platform()] &&
14
+ supportedPlatformsAndArchitectures[platform()].includes(arch())));
15
+ };
16
+ //# sourceMappingURL=is-supported-platform-and-architecture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-supported-platform-and-architecture.js","sourceRoot":"","sources":["../../src/azureauth/is-supported-platform-and-architecture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAY,EAAE;IAC9D,MAAM,kCAAkC,GAA6B;QACnE,KAAK,EAAE,CAAC,KAAK,CAAC;QACd,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;KACzB,CAAC;IAEF,OAAO,CACL,KAAK,EAAE;QACP,CAAC,kCAAkC,CAAC,QAAQ,EAAE,CAAC;YAC7C,kCAAkC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC,CAAC"}
package/lib/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const run: () => Promise<null | boolean>;
2
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,GAAG,QAAa,QAAQ,IAAI,GAAG,OAAO,CAmClD,CAAC"}
package/lib/cli.js ADDED
@@ -0,0 +1,61 @@
1
+ import { isSupportedPlatformAndArchitecture } from "./azureauth/is-supported-platform-and-architecture.js";
2
+ import { isCodespaces } from "./utils/is-codespaces.js";
3
+ import { logTelemetry } from "./telemetry/index.js";
4
+ import { arch, platform } from "os";
5
+ import { isValidPat } from "./npmrc/is-valid-pat.js";
6
+ import { setNpmrcPat } from "./npmrc/set-npmrc-pat.js";
7
+ export const run = async () => {
8
+ const doValidCheck = !process.argv.includes("--skip-check");
9
+ const skipAuth = process.argv.includes("--skip-auth");
10
+ if (doValidCheck && (await isValidPat())) {
11
+ return null;
12
+ }
13
+ if (skipAuth && !(await isValidPat())) {
14
+ logTelemetry({ success: false, automaticSuccess: false, error: "invalid token" }, true);
15
+ console.log("❌ Your token is invalid.");
16
+ return false;
17
+ }
18
+ try {
19
+ console.log("🔑 Authenticating to package feed...");
20
+ await setNpmrcPat();
21
+ return true;
22
+ }
23
+ catch (error) {
24
+ logTelemetry({
25
+ success: false,
26
+ automaticSuccess: false,
27
+ error: error.message,
28
+ }, true);
29
+ console.log("Encountered error while performing auth", error);
30
+ return false;
31
+ }
32
+ };
33
+ if (isCodespaces()) {
34
+ // ignore codespaces setups
35
+ process.exit(0);
36
+ }
37
+ if (!isSupportedPlatformAndArchitecture()) {
38
+ const errorMessage = `Platform ${platform()} and architecture ${arch()} not supported for automatic authentication.`;
39
+ console.log(errorMessage);
40
+ logTelemetry({ success: false, error: errorMessage }, true);
41
+ process.exit(0);
42
+ }
43
+ const result = await run();
44
+ if (result === null) {
45
+ // current auth is valid, do nothing
46
+ logTelemetry({ success: true });
47
+ console.log("✅ Current authentication is valid");
48
+ }
49
+ else if (result) {
50
+ // automatic auth was performed
51
+ // advertise success
52
+ logTelemetry({ success: true, automaticSuccess: true });
53
+ console.log("✅ Automatic authentication successful");
54
+ }
55
+ else {
56
+ // automatic auth failed (for some reason)
57
+ // advertise failure and link wiki to fix
58
+ console.log("❌ Authentication to package feed failed.");
59
+ process.exitCode = 1;
60
+ }
61
+ //# sourceMappingURL=cli.js.map
package/lib/cli.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,uDAAuD,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,IAA6B,EAAE;IACrD,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEtD,IAAI,YAAY,IAAI,CAAC,MAAM,UAAU,EAAE,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,EAAE,CAAC;QACtC,YAAY,CACV,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,EACnE,IAAI,CACL,CAAC;QACF,OAAO,CAAC,GAAG,CACT,0BAA0B,CAC3B,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;QACnD,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CACV;YACE,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,KAAK;YACvB,KAAK,EAAG,KAAe,CAAC,OAAO;SAChC,EACD,IAAI,CACL,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,CAAC,kCAAkC,EAAE,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,YAAY,QAAQ,EAAE,qBAAqB,IAAI,EAAE,8CAA8C,CAAC;IACrH,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;AAE3B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;IACpB,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AACnD,CAAC;KAAM,IAAI,MAAM,EAAE,CAAC;IAClB,+BAA+B;IAC/B,oBAAoB;IACpB,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;AACvD,CAAC;KAAM,CAAC;IACN,0CAA0C;IAC1C,yCAAyC;IACzC,OAAO,CAAC,GAAG,CACT,0CAA0C,CAC3C,CAAC;IAEF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/lib/index.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Decode a base64 encoded string
3
+ * @param {string} base64string
4
+ * @returns
5
+ */
6
+ export declare const decode: (base64string: string) => string;
7
+ //# sourceMappingURL=base64.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/npmrc/base64.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,MAAM,iBAAkB,MAAM,WACkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Decode a base64 encoded string
3
+ * @param {string} base64string
4
+ * @returns
5
+ */
6
+ export const decode = (base64string) => Buffer.from(base64string, "base64").toString("utf8").trim();
7
+ //# sourceMappingURL=base64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/npmrc/base64.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAAoB,EAAE,EAAE,CAC7C,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { NpmrcOrg } from "./get-repo-npmrc-ado-orgs.js";
2
+ /**
3
+ * @param { Object } options
4
+ * @param { boolean } [options.silent]
5
+ * @param { Array<NpmrcOrg> } [options.feeds]
6
+ */
7
+ export declare const checkADO: ({ feeds }: {
8
+ feeds: NpmrcOrg[];
9
+ }) => Promise<boolean>;
10
+ //# sourceMappingURL=checkADO.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkADO.d.ts","sourceRoot":"","sources":["../../src/npmrc/checkADO.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAGxD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,cAA8B;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,qBAyBvE,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { makeADORequest } from "./makeADORequest.js";
2
+ import { getUserPat } from "./getUserPAT.js";
3
+ import { getUserNPMRC } from "./npmrc.js";
4
+ /**
5
+ * @param { Object } options
6
+ * @param { boolean } [options.silent]
7
+ * @param { Array<NpmrcOrg> } [options.feeds]
8
+ */
9
+ export const checkADO = async function ({ feeds }) {
10
+ const userNpmRc = getUserNPMRC();
11
+ const feedsWithPat = await getUserPat({ npmrc: userNpmRc, feeds });
12
+ const missingPats = feedsWithPat.filter((item) => !item.pat);
13
+ if (missingPats.length) {
14
+ throw new Error(`❌ Missing PATs in your user profile .npmrc!`);
15
+ }
16
+ try {
17
+ // check each feed for validity
18
+ for (const feed of feedsWithPat) {
19
+ await makeADORequest({
20
+ password: feed.pat || "",
21
+ organization: feed.organization,
22
+ });
23
+ }
24
+ }
25
+ catch ( /** @type {any} */e) {
26
+ return false;
27
+ }
28
+ return true;
29
+ };
30
+ //# sourceMappingURL=checkADO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkADO.js","sourceRoot":"","sources":["../../src/npmrc/checkADO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,WAAW,EAAE,KAAK,EAAyB;IACtE,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,CAAC;QACH,+BAA+B;QAC/B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,cAAc,CAAC;gBACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE;gBACxB,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;QACL,CAAC;IAEH,CAAC;IAAC,QAAO,kBAAmB,CAAC,EAAE,CAAC;QAE9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generates a valid ADO PAT, scoped for vso.packaging in the given ado organization, 30 minute timeout
3
+ * @returns { string } a valid ADO PAT
4
+ */
5
+ export declare const generateNpmrcPat: (organization: string, encode?: boolean) => Promise<string>;
6
+ //# sourceMappingURL=generate-npmrc-pat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-npmrc-pat.d.ts","sourceRoot":"","sources":["../../src/npmrc/generate-npmrc-pat.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,gBAAgB,iBACb,MAAM,uBAEnB,QAAQ,MAAM,CAmBhB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { hostname } from "os";
2
+ import { adoPat } from "../azureauth/ado.js";
3
+ /**
4
+ * Generates a valid ADO PAT, scoped for vso.packaging in the given ado organization, 30 minute timeout
5
+ * @returns { string } a valid ADO PAT
6
+ */
7
+ export const generateNpmrcPat = async (organization, encode = false) => {
8
+ const name = `${hostname()}-${organization}`;
9
+ const pat = await adoPat({
10
+ promptHint: `${name} .npmrc PAT`,
11
+ organization,
12
+ displayName: `${name}-npmrc-pat`,
13
+ scope: ["vso.packaging"],
14
+ timeout: "30",
15
+ output: "json",
16
+ });
17
+ const rawToken = pat.token;
18
+ if (encode) {
19
+ // base64 encode the token
20
+ return Buffer.from(rawToken).toString("base64");
21
+ }
22
+ return rawToken;
23
+ };
24
+ //# sourceMappingURL=generate-npmrc-pat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-npmrc-pat.js","sourceRoot":"","sources":["../../src/npmrc/generate-npmrc-pat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAkB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,YAAoB,EACpB,MAAM,GAAG,KAAK,EACG,EAAE;IACnB,MAAM,IAAI,GAAG,GAAG,QAAQ,EAAE,IAAI,YAAY,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC;QACvB,UAAU,EAAE,GAAG,IAAI,aAAa;QAChC,YAAY;QACZ,WAAW,EAAE,GAAG,IAAI,YAAY;QAChC,KAAK,EAAE,CAAC,eAAe,CAAC;QACxB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAI,GAAsB,CAAC,KAAK,CAAC;IAE/C,IAAI,MAAM,EAAE,CAAC;QACX,0BAA0B;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export type NpmrcOrg = {
2
+ feed: string;
3
+ organization: string;
4
+ pat?: string;
5
+ };
6
+ /**
7
+ * Determine what ADO organizations are used in the workspace's .npmrc
8
+ * These should be used to authenticate against
9
+ * @returns A list of the feeds/ado orgs used in the .npmrc
10
+ */
11
+ export declare const getRepoNpmrcAdoOrganizations: () => Promise<Array<NpmrcOrg>>;
12
+ //# sourceMappingURL=get-repo-npmrc-ado-orgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-repo-npmrc-ado-orgs.d.ts","sourceRoot":"","sources":["../../src/npmrc/get-repo-npmrc-ado-orgs.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAAa,QACpD,MAAM,QAAQ,CAAC,CAkChB,CAAC"}