@cartanova/qgrid-cli 2.10.9 → 2.11.0
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.
- package/bundle/dist/_virtual/_rolldown/runtime.js +1 -10
- package/bundle/dist/application/monit/log-buffer.js +12 -6
- package/bundle/dist/application/monit/monit.frame.js +11 -3
- package/bundle/dist/application/monit/monit.types.js +1 -1
- package/bundle/dist/application/qgrid/conv-routing.js +9 -6
- package/bundle/dist/application/qgrid/expired-token-reminder.js +2 -2
- package/bundle/dist/application/qgrid/oauth.js +31 -4
- package/bundle/dist/application/qgrid/qgrid-image-generation.js +1 -1
- package/bundle/dist/application/qgrid/qgrid-response-format.js +22 -20
- package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +43 -34
- package/bundle/dist/application/qgrid/qgrid.dispatcher.js +128 -93
- package/bundle/dist/application/qgrid/qgrid.frame.js +930 -49
- package/bundle/dist/application/qgrid/qgrid.types.js +212 -5
- package/bundle/dist/application/qgrid/schema-prompt.js +75 -48
- package/bundle/dist/application/qgrid/slack-user-map.js +1 -1
- package/bundle/dist/application/qgrid/token-death.js +1 -1
- package/bundle/dist/application/qgrid/token-subscriber.js +83 -30
- package/bundle/dist/application/qgrid/token-trigger-setup.js +1 -1
- package/bundle/dist/application/qgrid/token-window-keepalive.js +8 -6
- package/bundle/dist/application/qgrid/tool-emulation-schema.js +13 -13
- package/bundle/dist/application/qgrid/tool-emulation.js +19 -15
- package/bundle/dist/application/request-log/json-schema-type-text.js +29 -12
- package/bundle/dist/application/request-log/request-log.model.js +83 -69
- package/bundle/dist/application/request-log/request-log.types.js +8 -2
- package/bundle/dist/application/request-log/zod-code-format.js +1 -1
- package/bundle/dist/application/request-log-step/request-log-step.model.js +1 -1
- package/bundle/dist/application/request-log-step/request-log-step.types.js +1 -1
- package/bundle/dist/application/setting/setting.constant.js +1 -1
- package/bundle/dist/application/setting/setting.model.js +2 -2
- package/bundle/dist/application/setting/setting.store.js +2 -2
- package/bundle/dist/application/setting/setting.types.js +1 -1
- package/bundle/dist/application/sonamu.generated.js +40 -16
- package/bundle/dist/application/sonamu.generated.sso.js +2 -1
- package/bundle/dist/application/token/token.model.js +26 -9
- package/bundle/dist/application/token/token.types.js +20 -3
- package/bundle/dist/i18n/en.js +15 -1
- package/bundle/dist/i18n/ko.js +15 -1
- package/bundle/dist/i18n/sd.generated.js +2 -1
- package/bundle/dist/migrations/20260807133553_manual__backfill_request_log_cost.js +8 -6
- package/bundle/dist/migrations/20261018215031_alter_request_logs_add1_alter1.js +15 -0
- package/bundle/dist/server-bootstrap.js +4 -2
- package/bundle/dist/server-error-handler.js +1 -1
- package/bundle/dist/sonamu.config.js +37 -8
- package/bundle/dist/startup-migrations.js +17 -7
- package/bundle/dist/testing/global.js +1 -1
- package/bundle/dist/testing/schema-bench.js +0 -0
- package/bundle/dist/testing/test-database-name.js +1 -1
- package/bundle/dist/utils/providers/anthropic/anthropic-constants.js +1 -1
- package/bundle/dist/utils/providers/anthropic/anthropic-dispatcher.js +11 -5
- package/bundle/dist/utils/providers/anthropic/anthropic-quota.js +4 -4
- package/bundle/dist/utils/providers/anthropic/anthropic-thinking.js +1 -1
- package/bundle/dist/utils/providers/anthropic/claude-session.js +20 -19
- package/bundle/dist/utils/providers/anthropic/fence-strip.js +1 -1
- package/bundle/dist/utils/providers/anthropic/stream-json-adapter.js +49 -23
- package/bundle/dist/utils/providers/common/credentials.js +5 -1
- package/bundle/dist/utils/providers/common/effort.js +3 -3
- package/bundle/dist/utils/providers/common/model-cost.js +69 -14
- package/bundle/dist/utils/providers/common/provider-types.js +29 -1
- package/bundle/dist/utils/providers/common/schema-validation.js +78 -40
- package/bundle/dist/utils/providers/common/smooth-weighted-round-robin.js +1 -1
- package/bundle/dist/utils/providers/common/strictifier.js +62 -43
- package/bundle/dist/utils/providers/common/thinking.js +3 -2
- package/bundle/dist/utils/providers/common/ttft.js +1 -1
- package/bundle/dist/utils/providers/grok/grok-backend-protocol.js +427 -0
- package/bundle/dist/utils/providers/grok/grok-constants.js +55 -0
- package/bundle/dist/utils/providers/grok/grok-direct-client.js +196 -0
- package/bundle/dist/utils/providers/grok/grok-dispatcher.js +1313 -0
- package/bundle/dist/utils/providers/grok/grok-headers.js +118 -0
- package/bundle/dist/utils/providers/grok/grok-media-client.js +420 -0
- package/bundle/dist/utils/providers/grok/grok-models.js +114 -0
- package/bundle/dist/utils/providers/grok/grok-oauth.js +455 -0
- package/bundle/dist/utils/providers/grok/grok-quota.js +119 -0
- package/bundle/dist/utils/providers/grok/grok-refresh.js +192 -0
- package/bundle/dist/utils/providers/grok/grok-types.js +186 -0
- package/bundle/dist/utils/providers/grok/grok-voice-client.js +199 -0
- package/bundle/dist/utils/providers/grok/index.js +11 -0
- package/bundle/dist/utils/providers/openai/openai-backend-protocol.js +111 -83
- package/bundle/dist/utils/providers/openai/openai-callback-relay.js +3 -2
- package/bundle/dist/utils/providers/openai/openai-constants.js +1 -1
- package/bundle/dist/utils/providers/openai/openai-direct-client.js +23 -7
- package/bundle/dist/utils/providers/openai/openai-dispatcher.js +143 -106
- package/bundle/dist/utils/providers/openai/openai-image-generation.js +48 -33
- package/bundle/dist/utils/providers/openai/openai-oauth.js +28 -13
- package/bundle/dist/utils/providers/openai/openai-quota.js +38 -27
- package/bundle/dist/utils/providers/openai/openai-refresh.js +17 -9
- package/bundle/dist/utils/providers/openai/openai-sse.js +1 -1
- package/bundle/dist/utils/providers/openai/openai-transport-config.js +1 -1
- package/bundle/dist/utils/quiet-hours.js +1 -1
- package/bundle/dist/utils/slack-notify.js +14 -8
- package/bundle/dist/utils/subset-loaders.js +4 -5
- package/bundle/src/application/monit/log-buffer.ts +23 -9
- package/bundle/src/application/monit/monit.frame.ts +22 -5
- package/bundle/src/application/monit/monit.types.ts +6 -0
- package/bundle/src/application/qgrid/conv-routing.test.ts +76 -4
- package/bundle/src/application/qgrid/conv-routing.ts +35 -9
- package/bundle/src/application/qgrid/expired-token-reminder.ts +9 -1
- package/bundle/src/application/qgrid/oauth.ts +51 -15
- package/bundle/src/application/qgrid/qgrid-image-generation.ts +9 -0
- package/bundle/src/application/qgrid/qgrid-response-format.ts +50 -25
- package/bundle/src/application/qgrid/qgrid-run-lifecycle.test.ts +33 -0
- package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +87 -40
- package/bundle/src/application/qgrid/qgrid.dispatcher.test.ts +97 -0
- package/bundle/src/application/qgrid/qgrid.dispatcher.ts +274 -126
- package/bundle/src/application/qgrid/qgrid.frame.test.ts +1013 -3
- package/bundle/src/application/qgrid/qgrid.frame.ts +1415 -60
- package/bundle/src/application/qgrid/qgrid.types.ts +335 -0
- package/bundle/src/application/qgrid/schema-prompt.ts +105 -41
- package/bundle/src/application/qgrid/slack-user-map.ts +5 -0
- package/bundle/src/application/qgrid/token-death.ts +4 -0
- package/bundle/src/application/qgrid/token-subscriber.test.ts +21 -19
- package/bundle/src/application/qgrid/token-subscriber.ts +186 -53
- package/bundle/src/application/qgrid/token-trigger-setup.ts +2 -0
- package/bundle/src/application/qgrid/token-window-keepalive.ts +49 -6
- package/bundle/src/application/qgrid/tool-emulation-schema.ts +33 -29
- package/bundle/src/application/qgrid/tool-emulation.ts +52 -27
- package/bundle/src/application/request-log/json-schema-type-text.test.ts +5 -5
- package/bundle/src/application/request-log/json-schema-type-text.ts +81 -26
- package/bundle/src/application/request-log/request-log.entity.json +8 -0
- package/bundle/src/application/request-log/request-log.model.test.ts +111 -4
- package/bundle/src/application/request-log/request-log.model.ts +279 -145
- package/bundle/src/application/request-log/request-log.types.ts +17 -0
- package/bundle/src/application/request-log/zod-code-format.ts +11 -0
- package/bundle/src/application/request-log-step/request-log-step.model.ts +1 -0
- package/bundle/src/application/request-log-step/request-log-step.types.ts +2 -0
- package/bundle/src/application/setting/setting.constant.ts +9 -0
- package/bundle/src/application/setting/setting.model.ts +12 -2
- package/bundle/src/application/setting/setting.store.ts +5 -1
- package/bundle/src/application/setting/setting.types.ts +8 -0
- package/bundle/src/application/sonamu.generated.http +135 -0
- package/bundle/src/application/sonamu.generated.sso.ts +3 -0
- package/bundle/src/application/sonamu.generated.ts +29 -0
- package/bundle/src/application/token/token.identity.test.ts +20 -0
- package/bundle/src/application/token/token.model.ts +66 -7
- package/bundle/src/application/token/token.types.ts +24 -1
- package/bundle/src/i18n/en.ts +19 -0
- package/bundle/src/i18n/ko.ts +21 -0
- package/bundle/src/i18n/sd.generated.ts +24 -2
- package/bundle/src/migrations/20260807133553_manual__backfill_request_log_cost.ts +16 -8
- package/bundle/src/migrations/20261018215031_alter_request_logs_add1_alter1.ts +15 -0
- package/bundle/src/server-bootstrap.ts +4 -2
- package/bundle/src/server-error-handler.ts +1 -0
- package/bundle/src/sonamu.config.ts +69 -7
- package/bundle/src/startup-migrations.ts +27 -9
- package/bundle/src/testing/global.ts +20 -0
- package/bundle/src/testing/schema-bench.ts +105 -30
- package/bundle/src/testing/test-database-name.ts +2 -0
- package/bundle/src/utils/providers/anthropic/anthropic-constants.ts +8 -0
- package/bundle/src/utils/providers/anthropic/anthropic-dispatcher.ts +41 -6
- package/bundle/src/utils/providers/anthropic/anthropic-quota.ts +7 -3
- package/bundle/src/utils/providers/anthropic/anthropic-thinking.ts +6 -0
- package/bundle/src/utils/providers/anthropic/claude-session.ts +58 -24
- package/bundle/src/utils/providers/anthropic/fence-strip.ts +11 -0
- package/bundle/src/utils/providers/anthropic/stream-json-adapter.ts +110 -45
- package/bundle/src/utils/providers/common/credentials.ts +8 -0
- package/bundle/src/utils/providers/common/effort.ts +9 -2
- package/bundle/src/utils/providers/common/model-cost.test.ts +48 -1
- package/bundle/src/utils/providers/common/model-cost.ts +259 -158
- package/bundle/src/utils/providers/common/provider-dispatcher.ts +98 -2
- package/bundle/src/utils/providers/common/provider-types.ts +46 -3
- package/bundle/src/utils/providers/common/schema-validation.test.ts +5 -1
- package/bundle/src/utils/providers/common/schema-validation.ts +124 -56
- package/bundle/src/utils/providers/common/smooth-weighted-round-robin.ts +4 -0
- package/bundle/src/utils/providers/common/strictifier.ts +185 -59
- package/bundle/src/utils/providers/common/thinking.ts +2 -2
- package/bundle/src/utils/providers/common/ttft.ts +4 -2
- package/bundle/src/utils/providers/grok/__fixtures__/golden-responses-1.0.60.json +164 -0
- package/bundle/src/utils/providers/grok/grok-backend-protocol.test.ts +325 -0
- package/bundle/src/utils/providers/grok/grok-backend-protocol.ts +721 -0
- package/bundle/src/utils/providers/grok/grok-constants.ts +105 -0
- package/bundle/src/utils/providers/grok/grok-direct-client.test.ts +179 -0
- package/bundle/src/utils/providers/grok/grok-direct-client.ts +313 -0
- package/bundle/src/utils/providers/grok/grok-dispatcher.test.ts +1395 -0
- package/bundle/src/utils/providers/grok/grok-dispatcher.ts +2105 -0
- package/bundle/src/utils/providers/grok/grok-headers.test.ts +149 -0
- package/bundle/src/utils/providers/grok/grok-headers.ts +199 -0
- package/bundle/src/utils/providers/grok/grok-media-client.test.ts +446 -0
- package/bundle/src/utils/providers/grok/grok-media-client.ts +703 -0
- package/bundle/src/utils/providers/grok/grok-models.test.ts +96 -0
- package/bundle/src/utils/providers/grok/grok-models.ts +161 -0
- package/bundle/src/utils/providers/grok/grok-oauth.test.ts +406 -0
- package/bundle/src/utils/providers/grok/grok-oauth.ts +771 -0
- package/bundle/src/utils/providers/grok/grok-quota.test.ts +142 -0
- package/bundle/src/utils/providers/grok/grok-quota.ts +198 -0
- package/bundle/src/utils/providers/grok/grok-refresh.test.ts +239 -0
- package/bundle/src/utils/providers/grok/grok-refresh.ts +325 -0
- package/bundle/src/utils/providers/grok/grok-types.test.ts +252 -0
- package/bundle/src/utils/providers/grok/grok-types.ts +374 -0
- package/bundle/src/utils/providers/grok/grok-voice-client.test.ts +321 -0
- package/bundle/src/utils/providers/grok/grok-voice-client.ts +284 -0
- package/bundle/src/utils/providers/grok/index.ts +20 -0
- package/bundle/src/utils/providers/openai/openai-backend-protocol.ts +221 -137
- package/bundle/src/utils/providers/openai/openai-callback-relay.ts +12 -1
- package/bundle/src/utils/providers/openai/openai-constants.ts +2 -0
- package/bundle/src/utils/providers/openai/openai-direct-client.ts +111 -21
- package/bundle/src/utils/providers/openai/openai-dispatcher.ts +322 -169
- package/bundle/src/utils/providers/openai/openai-image-generation.ts +116 -36
- package/bundle/src/utils/providers/openai/openai-oauth.ts +48 -20
- package/bundle/src/utils/providers/openai/openai-quota.ts +77 -46
- package/bundle/src/utils/providers/openai/openai-refresh.ts +42 -18
- package/bundle/src/utils/providers/openai/openai-sse.ts +27 -3
- package/bundle/src/utils/providers/openai/openai-transport-config.ts +2 -0
- package/bundle/src/utils/quiet-hours.ts +12 -1
- package/bundle/src/utils/slack-notify.ts +44 -13
- package/bundle/src/utils/subset-loaders.ts +7 -7
- package/bundle/web-dist/client/assets/clsx-5XM_pHvN.js +1 -0
- package/bundle/web-dist/client/assets/index-BA7uQ-6c.js +31 -0
- package/bundle/web-dist/client/assets/index-Be2qCZmI.css +1 -0
- package/bundle/web-dist/client/assets/logs-C47OJGEI.js +1 -0
- package/bundle/web-dist/client/assets/monit-BS9no0dU.js +4 -0
- package/bundle/web-dist/client/assets/plus-sdACTfH0.js +1 -0
- package/bundle/web-dist/client/assets/refresh-cw-CY8o_1cT.js +1 -0
- package/bundle/web-dist/client/assets/request-model-BRtFuZvj.js +1 -0
- package/bundle/web-dist/client/assets/routes-kqgkUxE8.js +5 -0
- package/bundle/web-dist/client/assets/{services.generated-BsieU37H.js → services.generated-CefiDXEv.js} +5 -5
- package/bundle/web-dist/client/assets/settings-DNDvFGSw.js +1 -0
- package/bundle/web-dist/client/assets/show-u8Np69q3.js +2 -0
- package/bundle/web-dist/client/assets/tokens-QvP410NW.js +1 -0
- package/bundle/web-dist/client/assets/total-cost-MnfKU8IN.js +1 -0
- package/bundle/web-dist/client/assets/use-oauth-login-flow-Bzdh28Ws.js +1 -0
- package/bundle/web-dist/client/assets/use-update-token-mutation-CfJKaxmR.js +1 -0
- package/bundle/web-dist/client/assets/vendor-react-CUFFrVN9.js +244 -0
- package/bundle/web-dist/client/assets/vendor-tanstack-Bf_jag9G.js +1 -0
- package/bundle/web-dist/client/index.html +6 -6
- package/bundle/web-dist/server/assets/clsx-D_N5PN_2.js +16 -0
- package/bundle/web-dist/server/assets/{lazyRouteComponent-Dtd0NR4r.js → lazyRouteComponent-D8iTIHyn.js} +129 -2
- package/bundle/web-dist/server/assets/logs-B3OTd9hy.js +825 -0
- package/bundle/web-dist/server/assets/{monit-DvzribSE.js → monit-B2hqorPe.js} +385 -126
- package/bundle/web-dist/server/assets/plus-DwG7h9kq.js +28 -0
- package/bundle/web-dist/server/assets/{react-dom-B4a6-uuR.js → react-dom-BIYQzBqG.js} +2 -129
- package/bundle/web-dist/server/assets/refresh-cw-mMBkwOq0.js +44 -0
- package/bundle/web-dist/server/assets/{request-model-CbqfnQOJ.js → request-model-I6OdODSH.js} +15 -6
- package/bundle/web-dist/server/assets/{routes-BAPWTizT.js → routes-B95YlUv2.js} +760 -213
- package/bundle/web-dist/server/assets/{services.generated-CEbGjsI0.js → services.generated-DQATJ6qf.js} +12821 -12194
- package/bundle/web-dist/server/assets/settings-C3gbGk0m.js +830 -0
- package/bundle/web-dist/server/assets/{show-CxVZTAdv.js → show-Bxaj3rhH.js} +1355 -419
- package/bundle/web-dist/server/assets/tokens-CZjH3cB7.js +1038 -0
- package/bundle/web-dist/server/assets/total-cost-fTE9Xy82.js +18 -0
- package/bundle/web-dist/server/assets/use-oauth-login-flow-CKDHgc3U.js +2379 -0
- package/bundle/web-dist/server/assets/{use-update-token-mutation-CfYmk_4_.js → use-update-token-mutation-BEbgOzaa.js} +1 -1
- package/bundle/web-dist/server/entry-server.generated.js +4303 -22810
- package/dist/cli.js +9 -9
- package/package.json +4 -11
- package/postinstall.mjs +12 -0
- package/skills/qgrid/SKILL.md +1 -0
- package/skills/qgrid/references/cli-env-and-server-boot.md +4 -1
- package/skills/qgrid/references/decision-rationale.md +24 -1
- package/skills/qgrid/references/grok-runtime.md +89 -0
- package/skills/qgrid/references/provider-runtime-differences.md +30 -29
- package/skills/qgrid/references/repo-map.md +10 -0
- package/skills/qgrid/references/request-log-run-lifecycle.md +1 -1
- package/skills/qgrid/references/sonamu-api-web-flow.md +1 -1
- package/skills/qgrid/references/token-auth-quota-lifecycle.md +56 -3
- package/bundle/dist/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.js +0 -406
- package/bundle/dist/node_modules/.pnpm/@vitest_expect@4.1.10/node_modules/@vitest/expect/dist/index.js +0 -1507
- package/bundle/dist/node_modules/.pnpm/@vitest_pretty-format@4.1.10/node_modules/@vitest/pretty-format/dist/index.js +0 -887
- package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js +0 -2756
- package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/index.js +0 -8
- package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/utils.js +0 -8
- package/bundle/dist/node_modules/.pnpm/@vitest_snapshot@4.1.10/node_modules/@vitest/snapshot/dist/index.js +0 -922
- package/bundle/dist/node_modules/.pnpm/@vitest_spy@4.1.10/node_modules/@vitest/spy/dist/index.js +0 -386
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +0 -121
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/constants.js +0 -51
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/diff.js +0 -1317
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/display.js +0 -561
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/error.js +0 -40
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/helpers.js +0 -272
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/offset.js +0 -27
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/serialize.js +0 -77
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/source-map.js +0 -381
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/timers.js +0 -51
- package/bundle/dist/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js +0 -2986
- package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.js +0 -10
- package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.js +0 -109
- package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.js +0 -10
- package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.js +0 -10
- package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.js +0 -10
- package/bundle/dist/node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.js +0 -1126
- package/bundle/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/index.js +0 -21
- package/bundle/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.js +0 -432
- package/bundle/dist/node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.js +0 -517
- package/bundle/dist/node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.js +0 -101
- package/bundle/dist/node_modules/.pnpm/vite@8.0.3_@emnapi_core@1.11.2_@emnapi_runtime@1.11.2_@types_node@25.0.7_esbuild@0.27.4_5b35fc1fb85d2af4d105e0d74f940f50/node_modules/vite/dist/node/module-runner.js +0 -1265
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js +0 -9
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/benchmark.CX_oY03V.js +0 -41
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/evaluatedModules.Dg1zASAC.js +0 -19
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/index.Chj8NDwU.js +0 -202
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/index.DdgEv5B1.js +0 -46
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js +0 -119
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js +0 -3044
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js +0 -59
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_vi_a1977b93af7bb69308bcb1dbab39b618/node_modules/vitest/dist/index.js +0 -28
- package/bundle/dist/testing/setup-mocks.js +0 -16
- package/bundle/src/testing/setup-mocks.ts +0 -44
- package/bundle/web-dist/client/assets/index-Bw2s88Ot.css +0 -1
- package/bundle/web-dist/client/assets/index-CrXKu_J8.js +0 -106
- package/bundle/web-dist/client/assets/logs-B2SmWJXA.js +0 -1
- package/bundle/web-dist/client/assets/monit-D-JwXXoA.js +0 -1
- package/bundle/web-dist/client/assets/plus-B62CuqT8.js +0 -1
- package/bundle/web-dist/client/assets/refresh-cw-NNcU0Cmq.js +0 -1
- package/bundle/web-dist/client/assets/request-model-CojtinqK.js +0 -1
- package/bundle/web-dist/client/assets/routes-C5r4gTvY.js +0 -5
- package/bundle/web-dist/client/assets/settings-D3tDSAck.js +0 -1
- package/bundle/web-dist/client/assets/show-Cah_kUKC.js +0 -2
- package/bundle/web-dist/client/assets/tokens-DU2Iyxxd.js +0 -1
- package/bundle/web-dist/client/assets/use-oauth-login-flow-D0UaR9_e.js +0 -1
- package/bundle/web-dist/client/assets/use-update-token-mutation-DAq0F8p-.js +0 -1
- package/bundle/web-dist/client/assets/vendor-react-DH4kUfK2.js +0 -9
- package/bundle/web-dist/client/assets/vendor-tanstack-DJRQAbrY.js +0 -1
- package/bundle/web-dist/server/assets/logs-l91avYif.js +0 -509
- package/bundle/web-dist/server/assets/plus-KZrECewT.js +0 -19
- package/bundle/web-dist/server/assets/refresh-cw-BND93JrF.js +0 -23
- package/bundle/web-dist/server/assets/settings-BZR5HSAL.js +0 -461
- package/bundle/web-dist/server/assets/tokens-D1hb4eKk.js +0 -448
- package/bundle/web-dist/server/assets/use-oauth-login-flow-Cvdy0zF8.js +0 -178
- package/dist/cli.d.ts +0 -10
- /package/bundle/web-dist/client/assets/{cost-DH2jZbrw.js → cost-DB3HbU7T.js} +0 -0
- /package/bundle/web-dist/client/assets/{preload-helper-ca-nBW7U.js → preload-helper-DWTEM3RW.js} +0 -0
- /package/bundle/web-dist/server/assets/{cost-eEHeTRT5.js → cost-BC9yzyA9.js} +0 -0
|
@@ -1,406 +0,0 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
|
|
2
|
-
var comma = ",".charCodeAt(0);
|
|
3
|
-
var semicolon = ";".charCodeAt(0);
|
|
4
|
-
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
5
|
-
var intToChar = /* @__PURE__ */ new Uint8Array(64);
|
|
6
|
-
var charToInt = /* @__PURE__ */ new Uint8Array(128);
|
|
7
|
-
for (let i = 0; i < chars.length; i++) {
|
|
8
|
-
const c = chars.charCodeAt(i);
|
|
9
|
-
intToChar[i] = c;
|
|
10
|
-
charToInt[c] = i;
|
|
11
|
-
}
|
|
12
|
-
function decodeInteger(reader, relative) {
|
|
13
|
-
let value = 0;
|
|
14
|
-
let shift = 0;
|
|
15
|
-
let integer = 0;
|
|
16
|
-
do {
|
|
17
|
-
integer = charToInt[reader.next()];
|
|
18
|
-
value |= (integer & 31) << shift;
|
|
19
|
-
shift += 5;
|
|
20
|
-
} while (integer & 32);
|
|
21
|
-
const shouldNegate = value & 1;
|
|
22
|
-
value >>>= 1;
|
|
23
|
-
if (shouldNegate) value = -2147483648 | -value;
|
|
24
|
-
return relative + value;
|
|
25
|
-
}
|
|
26
|
-
function encodeInteger(builder, num, relative) {
|
|
27
|
-
let delta = num - relative;
|
|
28
|
-
delta = delta < 0 ? -delta << 1 | 1 : delta << 1;
|
|
29
|
-
do {
|
|
30
|
-
let clamped = delta & 31;
|
|
31
|
-
delta >>>= 5;
|
|
32
|
-
if (delta > 0) clamped |= 32;
|
|
33
|
-
builder.write(intToChar[clamped]);
|
|
34
|
-
} while (delta > 0);
|
|
35
|
-
return num;
|
|
36
|
-
}
|
|
37
|
-
function hasMoreVlq(reader, max) {
|
|
38
|
-
if (reader.pos >= max) return false;
|
|
39
|
-
return reader.peek() !== comma;
|
|
40
|
-
}
|
|
41
|
-
var bufLength = 1024 * 16;
|
|
42
|
-
var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? { decode(buf) {
|
|
43
|
-
return Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength).toString();
|
|
44
|
-
} } : { decode(buf) {
|
|
45
|
-
let out = "";
|
|
46
|
-
for (let i = 0; i < buf.length; i++) out += String.fromCharCode(buf[i]);
|
|
47
|
-
return out;
|
|
48
|
-
} };
|
|
49
|
-
var StringWriter = class {
|
|
50
|
-
constructor() {
|
|
51
|
-
this.pos = 0;
|
|
52
|
-
this.out = "";
|
|
53
|
-
this.buffer = new Uint8Array(bufLength);
|
|
54
|
-
}
|
|
55
|
-
write(v) {
|
|
56
|
-
const { buffer } = this;
|
|
57
|
-
buffer[this.pos++] = v;
|
|
58
|
-
if (this.pos === bufLength) {
|
|
59
|
-
this.out += td.decode(buffer);
|
|
60
|
-
this.pos = 0;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
flush() {
|
|
64
|
-
const { buffer, out, pos } = this;
|
|
65
|
-
return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
var StringReader = class {
|
|
69
|
-
constructor(buffer) {
|
|
70
|
-
this.pos = 0;
|
|
71
|
-
this.buffer = buffer;
|
|
72
|
-
}
|
|
73
|
-
next() {
|
|
74
|
-
return this.buffer.charCodeAt(this.pos++);
|
|
75
|
-
}
|
|
76
|
-
peek() {
|
|
77
|
-
return this.buffer.charCodeAt(this.pos);
|
|
78
|
-
}
|
|
79
|
-
indexOf(char) {
|
|
80
|
-
const { buffer, pos } = this;
|
|
81
|
-
const idx = buffer.indexOf(char, pos);
|
|
82
|
-
return idx === -1 ? buffer.length : idx;
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
var EMPTY = [];
|
|
86
|
-
function decodeOriginalScopes(input) {
|
|
87
|
-
const { length } = input;
|
|
88
|
-
const reader = new StringReader(input);
|
|
89
|
-
const scopes = [];
|
|
90
|
-
const stack = [];
|
|
91
|
-
let line = 0;
|
|
92
|
-
for (; reader.pos < length; reader.pos++) {
|
|
93
|
-
line = decodeInteger(reader, line);
|
|
94
|
-
const column = decodeInteger(reader, 0);
|
|
95
|
-
if (!hasMoreVlq(reader, length)) {
|
|
96
|
-
const last = stack.pop();
|
|
97
|
-
last[2] = line;
|
|
98
|
-
last[3] = column;
|
|
99
|
-
continue;
|
|
100
|
-
}
|
|
101
|
-
const kind = decodeInteger(reader, 0);
|
|
102
|
-
const scope = decodeInteger(reader, 0) & 1 ? [
|
|
103
|
-
line,
|
|
104
|
-
column,
|
|
105
|
-
0,
|
|
106
|
-
0,
|
|
107
|
-
kind,
|
|
108
|
-
decodeInteger(reader, 0)
|
|
109
|
-
] : [
|
|
110
|
-
line,
|
|
111
|
-
column,
|
|
112
|
-
0,
|
|
113
|
-
0,
|
|
114
|
-
kind
|
|
115
|
-
];
|
|
116
|
-
let vars = EMPTY;
|
|
117
|
-
if (hasMoreVlq(reader, length)) {
|
|
118
|
-
vars = [];
|
|
119
|
-
do {
|
|
120
|
-
const varsIndex = decodeInteger(reader, 0);
|
|
121
|
-
vars.push(varsIndex);
|
|
122
|
-
} while (hasMoreVlq(reader, length));
|
|
123
|
-
}
|
|
124
|
-
scope.vars = vars;
|
|
125
|
-
scopes.push(scope);
|
|
126
|
-
stack.push(scope);
|
|
127
|
-
}
|
|
128
|
-
return scopes;
|
|
129
|
-
}
|
|
130
|
-
function encodeOriginalScopes(scopes) {
|
|
131
|
-
const writer = new StringWriter();
|
|
132
|
-
for (let i = 0; i < scopes.length;) i = _encodeOriginalScopes(scopes, i, writer, [0]);
|
|
133
|
-
return writer.flush();
|
|
134
|
-
}
|
|
135
|
-
function _encodeOriginalScopes(scopes, index, writer, state) {
|
|
136
|
-
const scope = scopes[index];
|
|
137
|
-
const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;
|
|
138
|
-
if (index > 0) writer.write(comma);
|
|
139
|
-
state[0] = encodeInteger(writer, startLine, state[0]);
|
|
140
|
-
encodeInteger(writer, startColumn, 0);
|
|
141
|
-
encodeInteger(writer, kind, 0);
|
|
142
|
-
encodeInteger(writer, scope.length === 6 ? 1 : 0, 0);
|
|
143
|
-
if (scope.length === 6) encodeInteger(writer, scope[5], 0);
|
|
144
|
-
for (const v of vars) encodeInteger(writer, v, 0);
|
|
145
|
-
for (index++; index < scopes.length;) {
|
|
146
|
-
const { 0: l, 1: c } = scopes[index];
|
|
147
|
-
if (l > endLine || l === endLine && c >= endColumn) break;
|
|
148
|
-
index = _encodeOriginalScopes(scopes, index, writer, state);
|
|
149
|
-
}
|
|
150
|
-
writer.write(comma);
|
|
151
|
-
state[0] = encodeInteger(writer, endLine, state[0]);
|
|
152
|
-
encodeInteger(writer, endColumn, 0);
|
|
153
|
-
return index;
|
|
154
|
-
}
|
|
155
|
-
function decodeGeneratedRanges(input) {
|
|
156
|
-
const { length } = input;
|
|
157
|
-
const reader = new StringReader(input);
|
|
158
|
-
const ranges = [];
|
|
159
|
-
const stack = [];
|
|
160
|
-
let genLine = 0;
|
|
161
|
-
let definitionSourcesIndex = 0;
|
|
162
|
-
let definitionScopeIndex = 0;
|
|
163
|
-
let callsiteSourcesIndex = 0;
|
|
164
|
-
let callsiteLine = 0;
|
|
165
|
-
let callsiteColumn = 0;
|
|
166
|
-
let bindingLine = 0;
|
|
167
|
-
let bindingColumn = 0;
|
|
168
|
-
do {
|
|
169
|
-
const semi = reader.indexOf(";");
|
|
170
|
-
let genColumn = 0;
|
|
171
|
-
for (; reader.pos < semi; reader.pos++) {
|
|
172
|
-
genColumn = decodeInteger(reader, genColumn);
|
|
173
|
-
if (!hasMoreVlq(reader, semi)) {
|
|
174
|
-
const last = stack.pop();
|
|
175
|
-
last[2] = genLine;
|
|
176
|
-
last[3] = genColumn;
|
|
177
|
-
continue;
|
|
178
|
-
}
|
|
179
|
-
const fields = decodeInteger(reader, 0);
|
|
180
|
-
const hasDefinition = fields & 1;
|
|
181
|
-
const hasCallsite = fields & 2;
|
|
182
|
-
const hasScope = fields & 4;
|
|
183
|
-
let callsite = null;
|
|
184
|
-
let bindings = EMPTY;
|
|
185
|
-
let range;
|
|
186
|
-
if (hasDefinition) {
|
|
187
|
-
const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);
|
|
188
|
-
definitionScopeIndex = decodeInteger(reader, definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0);
|
|
189
|
-
definitionSourcesIndex = defSourcesIndex;
|
|
190
|
-
range = [
|
|
191
|
-
genLine,
|
|
192
|
-
genColumn,
|
|
193
|
-
0,
|
|
194
|
-
0,
|
|
195
|
-
defSourcesIndex,
|
|
196
|
-
definitionScopeIndex
|
|
197
|
-
];
|
|
198
|
-
} else range = [
|
|
199
|
-
genLine,
|
|
200
|
-
genColumn,
|
|
201
|
-
0,
|
|
202
|
-
0
|
|
203
|
-
];
|
|
204
|
-
range.isScope = !!hasScope;
|
|
205
|
-
if (hasCallsite) {
|
|
206
|
-
const prevCsi = callsiteSourcesIndex;
|
|
207
|
-
const prevLine = callsiteLine;
|
|
208
|
-
callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);
|
|
209
|
-
const sameSource = prevCsi === callsiteSourcesIndex;
|
|
210
|
-
callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);
|
|
211
|
-
callsiteColumn = decodeInteger(reader, sameSource && prevLine === callsiteLine ? callsiteColumn : 0);
|
|
212
|
-
callsite = [
|
|
213
|
-
callsiteSourcesIndex,
|
|
214
|
-
callsiteLine,
|
|
215
|
-
callsiteColumn
|
|
216
|
-
];
|
|
217
|
-
}
|
|
218
|
-
range.callsite = callsite;
|
|
219
|
-
if (hasMoreVlq(reader, semi)) {
|
|
220
|
-
bindings = [];
|
|
221
|
-
do {
|
|
222
|
-
bindingLine = genLine;
|
|
223
|
-
bindingColumn = genColumn;
|
|
224
|
-
const expressionsCount = decodeInteger(reader, 0);
|
|
225
|
-
let expressionRanges;
|
|
226
|
-
if (expressionsCount < -1) {
|
|
227
|
-
expressionRanges = [[decodeInteger(reader, 0)]];
|
|
228
|
-
for (let i = -1; i > expressionsCount; i--) {
|
|
229
|
-
const prevBl = bindingLine;
|
|
230
|
-
bindingLine = decodeInteger(reader, bindingLine);
|
|
231
|
-
bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);
|
|
232
|
-
const expression = decodeInteger(reader, 0);
|
|
233
|
-
expressionRanges.push([
|
|
234
|
-
expression,
|
|
235
|
-
bindingLine,
|
|
236
|
-
bindingColumn
|
|
237
|
-
]);
|
|
238
|
-
}
|
|
239
|
-
} else expressionRanges = [[expressionsCount]];
|
|
240
|
-
bindings.push(expressionRanges);
|
|
241
|
-
} while (hasMoreVlq(reader, semi));
|
|
242
|
-
}
|
|
243
|
-
range.bindings = bindings;
|
|
244
|
-
ranges.push(range);
|
|
245
|
-
stack.push(range);
|
|
246
|
-
}
|
|
247
|
-
genLine++;
|
|
248
|
-
reader.pos = semi + 1;
|
|
249
|
-
} while (reader.pos < length);
|
|
250
|
-
return ranges;
|
|
251
|
-
}
|
|
252
|
-
function encodeGeneratedRanges(ranges) {
|
|
253
|
-
if (ranges.length === 0) return "";
|
|
254
|
-
const writer = new StringWriter();
|
|
255
|
-
for (let i = 0; i < ranges.length;) i = _encodeGeneratedRanges(ranges, i, writer, [
|
|
256
|
-
0,
|
|
257
|
-
0,
|
|
258
|
-
0,
|
|
259
|
-
0,
|
|
260
|
-
0,
|
|
261
|
-
0,
|
|
262
|
-
0
|
|
263
|
-
]);
|
|
264
|
-
return writer.flush();
|
|
265
|
-
}
|
|
266
|
-
function _encodeGeneratedRanges(ranges, index, writer, state) {
|
|
267
|
-
const range = ranges[index];
|
|
268
|
-
const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, isScope, callsite, bindings } = range;
|
|
269
|
-
if (state[0] < startLine) {
|
|
270
|
-
catchupLine(writer, state[0], startLine);
|
|
271
|
-
state[0] = startLine;
|
|
272
|
-
state[1] = 0;
|
|
273
|
-
} else if (index > 0) writer.write(comma);
|
|
274
|
-
state[1] = encodeInteger(writer, range[1], state[1]);
|
|
275
|
-
encodeInteger(writer, (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0), 0);
|
|
276
|
-
if (range.length === 6) {
|
|
277
|
-
const { 4: sourcesIndex, 5: scopesIndex } = range;
|
|
278
|
-
if (sourcesIndex !== state[2]) state[3] = 0;
|
|
279
|
-
state[2] = encodeInteger(writer, sourcesIndex, state[2]);
|
|
280
|
-
state[3] = encodeInteger(writer, scopesIndex, state[3]);
|
|
281
|
-
}
|
|
282
|
-
if (callsite) {
|
|
283
|
-
const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;
|
|
284
|
-
if (sourcesIndex !== state[4]) {
|
|
285
|
-
state[5] = 0;
|
|
286
|
-
state[6] = 0;
|
|
287
|
-
} else if (callLine !== state[5]) state[6] = 0;
|
|
288
|
-
state[4] = encodeInteger(writer, sourcesIndex, state[4]);
|
|
289
|
-
state[5] = encodeInteger(writer, callLine, state[5]);
|
|
290
|
-
state[6] = encodeInteger(writer, callColumn, state[6]);
|
|
291
|
-
}
|
|
292
|
-
if (bindings) for (const binding of bindings) {
|
|
293
|
-
if (binding.length > 1) encodeInteger(writer, -binding.length, 0);
|
|
294
|
-
const expression = binding[0][0];
|
|
295
|
-
encodeInteger(writer, expression, 0);
|
|
296
|
-
let bindingStartLine = startLine;
|
|
297
|
-
let bindingStartColumn = startColumn;
|
|
298
|
-
for (let i = 1; i < binding.length; i++) {
|
|
299
|
-
const expRange = binding[i];
|
|
300
|
-
bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);
|
|
301
|
-
bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);
|
|
302
|
-
encodeInteger(writer, expRange[0], 0);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
for (index++; index < ranges.length;) {
|
|
306
|
-
const { 0: l, 1: c } = ranges[index];
|
|
307
|
-
if (l > endLine || l === endLine && c >= endColumn) break;
|
|
308
|
-
index = _encodeGeneratedRanges(ranges, index, writer, state);
|
|
309
|
-
}
|
|
310
|
-
if (state[0] < endLine) {
|
|
311
|
-
catchupLine(writer, state[0], endLine);
|
|
312
|
-
state[0] = endLine;
|
|
313
|
-
state[1] = 0;
|
|
314
|
-
} else writer.write(comma);
|
|
315
|
-
state[1] = encodeInteger(writer, endColumn, state[1]);
|
|
316
|
-
return index;
|
|
317
|
-
}
|
|
318
|
-
function catchupLine(writer, lastLine, line) {
|
|
319
|
-
do
|
|
320
|
-
writer.write(semicolon);
|
|
321
|
-
while (++lastLine < line);
|
|
322
|
-
}
|
|
323
|
-
function decode(mappings) {
|
|
324
|
-
const { length } = mappings;
|
|
325
|
-
const reader = new StringReader(mappings);
|
|
326
|
-
const decoded = [];
|
|
327
|
-
let genColumn = 0;
|
|
328
|
-
let sourcesIndex = 0;
|
|
329
|
-
let sourceLine = 0;
|
|
330
|
-
let sourceColumn = 0;
|
|
331
|
-
let namesIndex = 0;
|
|
332
|
-
do {
|
|
333
|
-
const semi = reader.indexOf(";");
|
|
334
|
-
const line = [];
|
|
335
|
-
let sorted = true;
|
|
336
|
-
let lastCol = 0;
|
|
337
|
-
genColumn = 0;
|
|
338
|
-
while (reader.pos < semi) {
|
|
339
|
-
let seg;
|
|
340
|
-
genColumn = decodeInteger(reader, genColumn);
|
|
341
|
-
if (genColumn < lastCol) sorted = false;
|
|
342
|
-
lastCol = genColumn;
|
|
343
|
-
if (hasMoreVlq(reader, semi)) {
|
|
344
|
-
sourcesIndex = decodeInteger(reader, sourcesIndex);
|
|
345
|
-
sourceLine = decodeInteger(reader, sourceLine);
|
|
346
|
-
sourceColumn = decodeInteger(reader, sourceColumn);
|
|
347
|
-
if (hasMoreVlq(reader, semi)) {
|
|
348
|
-
namesIndex = decodeInteger(reader, namesIndex);
|
|
349
|
-
seg = [
|
|
350
|
-
genColumn,
|
|
351
|
-
sourcesIndex,
|
|
352
|
-
sourceLine,
|
|
353
|
-
sourceColumn,
|
|
354
|
-
namesIndex
|
|
355
|
-
];
|
|
356
|
-
} else seg = [
|
|
357
|
-
genColumn,
|
|
358
|
-
sourcesIndex,
|
|
359
|
-
sourceLine,
|
|
360
|
-
sourceColumn
|
|
361
|
-
];
|
|
362
|
-
} else seg = [genColumn];
|
|
363
|
-
line.push(seg);
|
|
364
|
-
reader.pos++;
|
|
365
|
-
}
|
|
366
|
-
if (!sorted) sort(line);
|
|
367
|
-
decoded.push(line);
|
|
368
|
-
reader.pos = semi + 1;
|
|
369
|
-
} while (reader.pos <= length);
|
|
370
|
-
return decoded;
|
|
371
|
-
}
|
|
372
|
-
function sort(line) {
|
|
373
|
-
line.sort(sortComparator);
|
|
374
|
-
}
|
|
375
|
-
function sortComparator(a, b) {
|
|
376
|
-
return a[0] - b[0];
|
|
377
|
-
}
|
|
378
|
-
function encode(decoded) {
|
|
379
|
-
const writer = new StringWriter();
|
|
380
|
-
let sourcesIndex = 0;
|
|
381
|
-
let sourceLine = 0;
|
|
382
|
-
let sourceColumn = 0;
|
|
383
|
-
let namesIndex = 0;
|
|
384
|
-
for (let i = 0; i < decoded.length; i++) {
|
|
385
|
-
const line = decoded[i];
|
|
386
|
-
if (i > 0) writer.write(semicolon);
|
|
387
|
-
if (line.length === 0) continue;
|
|
388
|
-
let genColumn = 0;
|
|
389
|
-
for (let j = 0; j < line.length; j++) {
|
|
390
|
-
const segment = line[j];
|
|
391
|
-
if (j > 0) writer.write(comma);
|
|
392
|
-
genColumn = encodeInteger(writer, segment[0], genColumn);
|
|
393
|
-
if (segment.length === 1) continue;
|
|
394
|
-
sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
|
|
395
|
-
sourceLine = encodeInteger(writer, segment[2], sourceLine);
|
|
396
|
-
sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
|
|
397
|
-
if (segment.length === 4) continue;
|
|
398
|
-
namesIndex = encodeInteger(writer, segment[4], namesIndex);
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
return writer.flush();
|
|
402
|
-
}
|
|
403
|
-
//#endregion
|
|
404
|
-
export { decode, decodeGeneratedRanges, decodeOriginalScopes, encode, encodeGeneratedRanges, encodeOriginalScopes };
|
|
405
|
-
|
|
406
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlbWFwLWNvZGVjLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AanJpZGdld2VsbCtzb3VyY2VtYXAtY29kZWNAMS41LjUvbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3NvdXJjZW1hcC1jb2RlYy9kaXN0L3NvdXJjZW1hcC1jb2RlYy5tanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL3ZscS50c1xudmFyIGNvbW1hID0gXCIsXCIuY2hhckNvZGVBdCgwKTtcbnZhciBzZW1pY29sb24gPSBcIjtcIi5jaGFyQ29kZUF0KDApO1xudmFyIGNoYXJzID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvXCI7XG52YXIgaW50VG9DaGFyID0gbmV3IFVpbnQ4QXJyYXkoNjQpO1xudmFyIGNoYXJUb0ludCA9IG5ldyBVaW50OEFycmF5KDEyOCk7XG5mb3IgKGxldCBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7XG4gIGNvbnN0IGMgPSBjaGFycy5jaGFyQ29kZUF0KGkpO1xuICBpbnRUb0NoYXJbaV0gPSBjO1xuICBjaGFyVG9JbnRbY10gPSBpO1xufVxuZnVuY3Rpb24gZGVjb2RlSW50ZWdlcihyZWFkZXIsIHJlbGF0aXZlKSB7XG4gIGxldCB2YWx1ZSA9IDA7XG4gIGxldCBzaGlmdCA9IDA7XG4gIGxldCBpbnRlZ2VyID0gMDtcbiAgZG8ge1xuICAgIGNvbnN0IGMgPSByZWFkZXIubmV4dCgpO1xuICAgIGludGVnZXIgPSBjaGFyVG9JbnRbY107XG4gICAgdmFsdWUgfD0gKGludGVnZXIgJiAzMSkgPDwgc2hpZnQ7XG4gICAgc2hpZnQgKz0gNTtcbiAgfSB3aGlsZSAoaW50ZWdlciAmIDMyKTtcbiAgY29uc3Qgc2hvdWxkTmVnYXRlID0gdmFsdWUgJiAxO1xuICB2YWx1ZSA+Pj49IDE7XG4gIGlmIChzaG91bGROZWdhdGUpIHtcbiAgICB2YWx1ZSA9IC0yMTQ3NDgzNjQ4IHwgLXZhbHVlO1xuICB9XG4gIHJldHVybiByZWxhdGl2ZSArIHZhbHVlO1xufVxuZnVuY3Rpb24gZW5jb2RlSW50ZWdlcihidWlsZGVyLCBudW0sIHJlbGF0aXZlKSB7XG4gIGxldCBkZWx0YSA9IG51bSAtIHJlbGF0aXZlO1xuICBkZWx0YSA9IGRlbHRhIDwgMCA/IC1kZWx0YSA8PCAxIHwgMSA6IGRlbHRhIDw8IDE7XG4gIGRvIHtcbiAgICBsZXQgY2xhbXBlZCA9IGRlbHRhICYgMzE7XG4gICAgZGVsdGEgPj4+PSA1O1xuICAgIGlmIChkZWx0YSA+IDApIGNsYW1wZWQgfD0gMzI7XG4gICAgYnVpbGRlci53cml0ZShpbnRUb0NoYXJbY2xhbXBlZF0pO1xuICB9IHdoaWxlIChkZWx0YSA+IDApO1xuICByZXR1cm4gbnVtO1xufVxuZnVuY3Rpb24gaGFzTW9yZVZscShyZWFkZXIsIG1heCkge1xuICBpZiAocmVhZGVyLnBvcyA+PSBtYXgpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIHJlYWRlci5wZWVrKCkgIT09IGNvbW1hO1xufVxuXG4vLyBzcmMvc3RyaW5ncy50c1xudmFyIGJ1Zkxlbmd0aCA9IDEwMjQgKiAxNjtcbnZhciB0ZCA9IHR5cGVvZiBUZXh0RGVjb2RlciAhPT0gXCJ1bmRlZmluZWRcIiA/IC8qIEBfX1BVUkVfXyAqLyBuZXcgVGV4dERlY29kZXIoKSA6IHR5cGVvZiBCdWZmZXIgIT09IFwidW5kZWZpbmVkXCIgPyB7XG4gIGRlY29kZShidWYpIHtcbiAgICBjb25zdCBvdXQgPSBCdWZmZXIuZnJvbShidWYuYnVmZmVyLCBidWYuYnl0ZU9mZnNldCwgYnVmLmJ5dGVMZW5ndGgpO1xuICAgIHJldHVybiBvdXQudG9TdHJpbmcoKTtcbiAgfVxufSA6IHtcbiAgZGVjb2RlKGJ1Zikge1xuICAgIGxldCBvdXQgPSBcIlwiO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgICBvdXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pO1xuICAgIH1cbiAgICByZXR1cm4gb3V0O1xuICB9XG59O1xudmFyIFN0cmluZ1dyaXRlciA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wb3MgPSAwO1xuICAgIHRoaXMub3V0ID0gXCJcIjtcbiAgICB0aGlzLmJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KGJ1Zkxlbmd0aCk7XG4gIH1cbiAgd3JpdGUodikge1xuICAgIGNvbnN0IHsgYnVmZmVyIH0gPSB0aGlzO1xuICAgIGJ1ZmZlclt0aGlzLnBvcysrXSA9IHY7XG4gICAgaWYgKHRoaXMucG9zID09PSBidWZMZW5ndGgpIHtcbiAgICAgIHRoaXMub3V0ICs9IHRkLmRlY29kZShidWZmZXIpO1xuICAgICAgdGhpcy5wb3MgPSAwO1xuICAgIH1cbiAgfVxuICBmbHVzaCgpIHtcbiAgICBjb25zdCB7IGJ1ZmZlciwgb3V0LCBwb3MgfSA9IHRoaXM7XG4gICAgcmV0dXJuIHBvcyA+IDAgPyBvdXQgKyB0ZC5kZWNvZGUoYnVmZmVyLnN1YmFycmF5KDAsIHBvcykpIDogb3V0O1xuICB9XG59O1xudmFyIFN0cmluZ1JlYWRlciA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IoYnVmZmVyKSB7XG4gICAgdGhpcy5wb3MgPSAwO1xuICAgIHRoaXMuYnVmZmVyID0gYnVmZmVyO1xuICB9XG4gIG5leHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVmZmVyLmNoYXJDb2RlQXQodGhpcy5wb3MrKyk7XG4gIH1cbiAgcGVlaygpIHtcbiAgICByZXR1cm4gdGhpcy5idWZmZXIuY2hhckNvZGVBdCh0aGlzLnBvcyk7XG4gIH1cbiAgaW5kZXhPZihjaGFyKSB7XG4gICAgY29uc3QgeyBidWZmZXIsIHBvcyB9ID0gdGhpcztcbiAgICBjb25zdCBpZHggPSBidWZmZXIuaW5kZXhPZihjaGFyLCBwb3MpO1xuICAgIHJldHVybiBpZHggPT09IC0xID8gYnVmZmVyLmxlbmd0aCA6IGlkeDtcbiAgfVxufTtcblxuLy8gc3JjL3Njb3Blcy50c1xudmFyIEVNUFRZID0gW107XG5mdW5jdGlvbiBkZWNvZGVPcmlnaW5hbFNjb3BlcyhpbnB1dCkge1xuICBjb25zdCB7IGxlbmd0aCB9ID0gaW5wdXQ7XG4gIGNvbnN0IHJlYWRlciA9IG5ldyBTdHJpbmdSZWFkZXIoaW5wdXQpO1xuICBjb25zdCBzY29wZXMgPSBbXTtcbiAgY29uc3Qgc3RhY2sgPSBbXTtcbiAgbGV0IGxpbmUgPSAwO1xuICBmb3IgKDsgcmVhZGVyLnBvcyA8IGxlbmd0aDsgcmVhZGVyLnBvcysrKSB7XG4gICAgbGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBsaW5lKTtcbiAgICBjb25zdCBjb2x1bW4gPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgaWYgKCFoYXNNb3JlVmxxKHJlYWRlciwgbGVuZ3RoKSkge1xuICAgICAgY29uc3QgbGFzdCA9IHN0YWNrLnBvcCgpO1xuICAgICAgbGFzdFsyXSA9IGxpbmU7XG4gICAgICBsYXN0WzNdID0gY29sdW1uO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IGtpbmQgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgY29uc3QgZmllbGRzID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIDApO1xuICAgIGNvbnN0IGhhc05hbWUgPSBmaWVsZHMgJiAxO1xuICAgIGNvbnN0IHNjb3BlID0gaGFzTmFtZSA/IFtsaW5lLCBjb2x1bW4sIDAsIDAsIGtpbmQsIGRlY29kZUludGVnZXIocmVhZGVyLCAwKV0gOiBbbGluZSwgY29sdW1uLCAwLCAwLCBraW5kXTtcbiAgICBsZXQgdmFycyA9IEVNUFRZO1xuICAgIGlmIChoYXNNb3JlVmxxKHJlYWRlciwgbGVuZ3RoKSkge1xuICAgICAgdmFycyA9IFtdO1xuICAgICAgZG8ge1xuICAgICAgICBjb25zdCB2YXJzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgIHZhcnMucHVzaCh2YXJzSW5kZXgpO1xuICAgICAgfSB3aGlsZSAoaGFzTW9yZVZscShyZWFkZXIsIGxlbmd0aCkpO1xuICAgIH1cbiAgICBzY29wZS52YXJzID0gdmFycztcbiAgICBzY29wZXMucHVzaChzY29wZSk7XG4gICAgc3RhY2sucHVzaChzY29wZSk7XG4gIH1cbiAgcmV0dXJuIHNjb3Blcztcbn1cbmZ1bmN0aW9uIGVuY29kZU9yaWdpbmFsU2NvcGVzKHNjb3Blcykge1xuICBjb25zdCB3cml0ZXIgPSBuZXcgU3RyaW5nV3JpdGVyKCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2NvcGVzLmxlbmd0aDsgKSB7XG4gICAgaSA9IF9lbmNvZGVPcmlnaW5hbFNjb3BlcyhzY29wZXMsIGksIHdyaXRlciwgWzBdKTtcbiAgfVxuICByZXR1cm4gd3JpdGVyLmZsdXNoKCk7XG59XG5mdW5jdGlvbiBfZW5jb2RlT3JpZ2luYWxTY29wZXMoc2NvcGVzLCBpbmRleCwgd3JpdGVyLCBzdGF0ZSkge1xuICBjb25zdCBzY29wZSA9IHNjb3Blc1tpbmRleF07XG4gIGNvbnN0IHsgMDogc3RhcnRMaW5lLCAxOiBzdGFydENvbHVtbiwgMjogZW5kTGluZSwgMzogZW5kQ29sdW1uLCA0OiBraW5kLCB2YXJzIH0gPSBzY29wZTtcbiAgaWYgKGluZGV4ID4gMCkgd3JpdGVyLndyaXRlKGNvbW1hKTtcbiAgc3RhdGVbMF0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc3RhcnRMaW5lLCBzdGF0ZVswXSk7XG4gIGVuY29kZUludGVnZXIod3JpdGVyLCBzdGFydENvbHVtbiwgMCk7XG4gIGVuY29kZUludGVnZXIod3JpdGVyLCBraW5kLCAwKTtcbiAgY29uc3QgZmllbGRzID0gc2NvcGUubGVuZ3RoID09PSA2ID8gMSA6IDA7XG4gIGVuY29kZUludGVnZXIod3JpdGVyLCBmaWVsZHMsIDApO1xuICBpZiAoc2NvcGUubGVuZ3RoID09PSA2KSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc2NvcGVbNV0sIDApO1xuICBmb3IgKGNvbnN0IHYgb2YgdmFycykge1xuICAgIGVuY29kZUludGVnZXIod3JpdGVyLCB2LCAwKTtcbiAgfVxuICBmb3IgKGluZGV4Kys7IGluZGV4IDwgc2NvcGVzLmxlbmd0aDsgKSB7XG4gICAgY29uc3QgbmV4dCA9IHNjb3Blc1tpbmRleF07XG4gICAgY29uc3QgeyAwOiBsLCAxOiBjIH0gPSBuZXh0O1xuICAgIGlmIChsID4gZW5kTGluZSB8fCBsID09PSBlbmRMaW5lICYmIGMgPj0gZW5kQ29sdW1uKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaW5kZXggPSBfZW5jb2RlT3JpZ2luYWxTY29wZXMoc2NvcGVzLCBpbmRleCwgd3JpdGVyLCBzdGF0ZSk7XG4gIH1cbiAgd3JpdGVyLndyaXRlKGNvbW1hKTtcbiAgc3RhdGVbMF0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZW5kTGluZSwgc3RhdGVbMF0pO1xuICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZW5kQ29sdW1uLCAwKTtcbiAgcmV0dXJuIGluZGV4O1xufVxuZnVuY3Rpb24gZGVjb2RlR2VuZXJhdGVkUmFuZ2VzKGlucHV0KSB7XG4gIGNvbnN0IHsgbGVuZ3RoIH0gPSBpbnB1dDtcbiAgY29uc3QgcmVhZGVyID0gbmV3IFN0cmluZ1JlYWRlcihpbnB1dCk7XG4gIGNvbnN0IHJhbmdlcyA9IFtdO1xuICBjb25zdCBzdGFjayA9IFtdO1xuICBsZXQgZ2VuTGluZSA9IDA7XG4gIGxldCBkZWZpbml0aW9uU291cmNlc0luZGV4ID0gMDtcbiAgbGV0IGRlZmluaXRpb25TY29wZUluZGV4ID0gMDtcbiAgbGV0IGNhbGxzaXRlU291cmNlc0luZGV4ID0gMDtcbiAgbGV0IGNhbGxzaXRlTGluZSA9IDA7XG4gIGxldCBjYWxsc2l0ZUNvbHVtbiA9IDA7XG4gIGxldCBiaW5kaW5nTGluZSA9IDA7XG4gIGxldCBiaW5kaW5nQ29sdW1uID0gMDtcbiAgZG8ge1xuICAgIGNvbnN0IHNlbWkgPSByZWFkZXIuaW5kZXhPZihcIjtcIik7XG4gICAgbGV0IGdlbkNvbHVtbiA9IDA7XG4gICAgZm9yICg7IHJlYWRlci5wb3MgPCBzZW1pOyByZWFkZXIucG9zKyspIHtcbiAgICAgIGdlbkNvbHVtbiA9IGRlY29kZUludGVnZXIocmVhZGVyLCBnZW5Db2x1bW4pO1xuICAgICAgaWYgKCFoYXNNb3JlVmxxKHJlYWRlciwgc2VtaSkpIHtcbiAgICAgICAgY29uc3QgbGFzdCA9IHN0YWNrLnBvcCgpO1xuICAgICAgICBsYXN0WzJdID0gZ2VuTGluZTtcbiAgICAgICAgbGFzdFszXSA9IGdlbkNvbHVtbjtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBmaWVsZHMgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICBjb25zdCBoYXNEZWZpbml0aW9uID0gZmllbGRzICYgMTtcbiAgICAgIGNvbnN0IGhhc0NhbGxzaXRlID0gZmllbGRzICYgMjtcbiAgICAgIGNvbnN0IGhhc1Njb3BlID0gZmllbGRzICYgNDtcbiAgICAgIGxldCBjYWxsc2l0ZSA9IG51bGw7XG4gICAgICBsZXQgYmluZGluZ3MgPSBFTVBUWTtcbiAgICAgIGxldCByYW5nZTtcbiAgICAgIGlmIChoYXNEZWZpbml0aW9uKSB7XG4gICAgICAgIGNvbnN0IGRlZlNvdXJjZXNJbmRleCA9IGRlY29kZUludGVnZXIocmVhZGVyLCBkZWZpbml0aW9uU291cmNlc0luZGV4KTtcbiAgICAgICAgZGVmaW5pdGlvblNjb3BlSW5kZXggPSBkZWNvZGVJbnRlZ2VyKFxuICAgICAgICAgIHJlYWRlcixcbiAgICAgICAgICBkZWZpbml0aW9uU291cmNlc0luZGV4ID09PSBkZWZTb3VyY2VzSW5kZXggPyBkZWZpbml0aW9uU2NvcGVJbmRleCA6IDBcbiAgICAgICAgKTtcbiAgICAgICAgZGVmaW5pdGlvblNvdXJjZXNJbmRleCA9IGRlZlNvdXJjZXNJbmRleDtcbiAgICAgICAgcmFuZ2UgPSBbZ2VuTGluZSwgZ2VuQ29sdW1uLCAwLCAwLCBkZWZTb3VyY2VzSW5kZXgsIGRlZmluaXRpb25TY29wZUluZGV4XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJhbmdlID0gW2dlbkxpbmUsIGdlbkNvbHVtbiwgMCwgMF07XG4gICAgICB9XG4gICAgICByYW5nZS5pc1Njb3BlID0gISFoYXNTY29wZTtcbiAgICAgIGlmIChoYXNDYWxsc2l0ZSkge1xuICAgICAgICBjb25zdCBwcmV2Q3NpID0gY2FsbHNpdGVTb3VyY2VzSW5kZXg7XG4gICAgICAgIGNvbnN0IHByZXZMaW5lID0gY2FsbHNpdGVMaW5lO1xuICAgICAgICBjYWxsc2l0ZVNvdXJjZXNJbmRleCA9IGRlY29kZUludGVnZXIocmVhZGVyLCBjYWxsc2l0ZVNvdXJjZXNJbmRleCk7XG4gICAgICAgIGNvbnN0IHNhbWVTb3VyY2UgPSBwcmV2Q3NpID09PSBjYWxsc2l0ZVNvdXJjZXNJbmRleDtcbiAgICAgICAgY2FsbHNpdGVMaW5lID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIHNhbWVTb3VyY2UgPyBjYWxsc2l0ZUxpbmUgOiAwKTtcbiAgICAgICAgY2FsbHNpdGVDb2x1bW4gPSBkZWNvZGVJbnRlZ2VyKFxuICAgICAgICAgIHJlYWRlcixcbiAgICAgICAgICBzYW1lU291cmNlICYmIHByZXZMaW5lID09PSBjYWxsc2l0ZUxpbmUgPyBjYWxsc2l0ZUNvbHVtbiA6IDBcbiAgICAgICAgKTtcbiAgICAgICAgY2FsbHNpdGUgPSBbY2FsbHNpdGVTb3VyY2VzSW5kZXgsIGNhbGxzaXRlTGluZSwgY2FsbHNpdGVDb2x1bW5dO1xuICAgICAgfVxuICAgICAgcmFuZ2UuY2FsbHNpdGUgPSBjYWxsc2l0ZTtcbiAgICAgIGlmIChoYXNNb3JlVmxxKHJlYWRlciwgc2VtaSkpIHtcbiAgICAgICAgYmluZGluZ3MgPSBbXTtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGJpbmRpbmdMaW5lID0gZ2VuTGluZTtcbiAgICAgICAgICBiaW5kaW5nQ29sdW1uID0gZ2VuQ29sdW1uO1xuICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb25zQ291bnQgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgICAgbGV0IGV4cHJlc3Npb25SYW5nZXM7XG4gICAgICAgICAgaWYgKGV4cHJlc3Npb25zQ291bnQgPCAtMSkge1xuICAgICAgICAgICAgZXhwcmVzc2lvblJhbmdlcyA9IFtbZGVjb2RlSW50ZWdlcihyZWFkZXIsIDApXV07XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gLTE7IGkgPiBleHByZXNzaW9uc0NvdW50OyBpLS0pIHtcbiAgICAgICAgICAgICAgY29uc3QgcHJldkJsID0gYmluZGluZ0xpbmU7XG4gICAgICAgICAgICAgIGJpbmRpbmdMaW5lID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIGJpbmRpbmdMaW5lKTtcbiAgICAgICAgICAgICAgYmluZGluZ0NvbHVtbiA9IGRlY29kZUludGVnZXIocmVhZGVyLCBiaW5kaW5nTGluZSA9PT0gcHJldkJsID8gYmluZGluZ0NvbHVtbiA6IDApO1xuICAgICAgICAgICAgICBjb25zdCBleHByZXNzaW9uID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIDApO1xuICAgICAgICAgICAgICBleHByZXNzaW9uUmFuZ2VzLnB1c2goW2V4cHJlc3Npb24sIGJpbmRpbmdMaW5lLCBiaW5kaW5nQ29sdW1uXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV4cHJlc3Npb25SYW5nZXMgPSBbW2V4cHJlc3Npb25zQ291bnRdXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYmluZGluZ3MucHVzaChleHByZXNzaW9uUmFuZ2VzKTtcbiAgICAgICAgfSB3aGlsZSAoaGFzTW9yZVZscShyZWFkZXIsIHNlbWkpKTtcbiAgICAgIH1cbiAgICAgIHJhbmdlLmJpbmRpbmdzID0gYmluZGluZ3M7XG4gICAgICByYW5nZXMucHVzaChyYW5nZSk7XG4gICAgICBzdGFjay5wdXNoKHJhbmdlKTtcbiAgICB9XG4gICAgZ2VuTGluZSsrO1xuICAgIHJlYWRlci5wb3MgPSBzZW1pICsgMTtcbiAgfSB3aGlsZSAocmVhZGVyLnBvcyA8IGxlbmd0aCk7XG4gIHJldHVybiByYW5nZXM7XG59XG5mdW5jdGlvbiBlbmNvZGVHZW5lcmF0ZWRSYW5nZXMocmFuZ2VzKSB7XG4gIGlmIChyYW5nZXMubGVuZ3RoID09PSAwKSByZXR1cm4gXCJcIjtcbiAgY29uc3Qgd3JpdGVyID0gbmV3IFN0cmluZ1dyaXRlcigpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7ICkge1xuICAgIGkgPSBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKHJhbmdlcywgaSwgd3JpdGVyLCBbMCwgMCwgMCwgMCwgMCwgMCwgMF0pO1xuICB9XG4gIHJldHVybiB3cml0ZXIuZmx1c2goKTtcbn1cbmZ1bmN0aW9uIF9lbmNvZGVHZW5lcmF0ZWRSYW5nZXMocmFuZ2VzLCBpbmRleCwgd3JpdGVyLCBzdGF0ZSkge1xuICBjb25zdCByYW5nZSA9IHJhbmdlc1tpbmRleF07XG4gIGNvbnN0IHtcbiAgICAwOiBzdGFydExpbmUsXG4gICAgMTogc3RhcnRDb2x1bW4sXG4gICAgMjogZW5kTGluZSxcbiAgICAzOiBlbmRDb2x1bW4sXG4gICAgaXNTY29wZSxcbiAgICBjYWxsc2l0ZSxcbiAgICBiaW5kaW5nc1xuICB9ID0gcmFuZ2U7XG4gIGlmIChzdGF0ZVswXSA8IHN0YXJ0TGluZSkge1xuICAgIGNhdGNodXBMaW5lKHdyaXRlciwgc3RhdGVbMF0sIHN0YXJ0TGluZSk7XG4gICAgc3RhdGVbMF0gPSBzdGFydExpbmU7XG4gICAgc3RhdGVbMV0gPSAwO1xuICB9IGVsc2UgaWYgKGluZGV4ID4gMCkge1xuICAgIHdyaXRlci53cml0ZShjb21tYSk7XG4gIH1cbiAgc3RhdGVbMV0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgcmFuZ2VbMV0sIHN0YXRlWzFdKTtcbiAgY29uc3QgZmllbGRzID0gKHJhbmdlLmxlbmd0aCA9PT0gNiA/IDEgOiAwKSB8IChjYWxsc2l0ZSA/IDIgOiAwKSB8IChpc1Njb3BlID8gNCA6IDApO1xuICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZmllbGRzLCAwKTtcbiAgaWYgKHJhbmdlLmxlbmd0aCA9PT0gNikge1xuICAgIGNvbnN0IHsgNDogc291cmNlc0luZGV4LCA1OiBzY29wZXNJbmRleCB9ID0gcmFuZ2U7XG4gICAgaWYgKHNvdXJjZXNJbmRleCAhPT0gc3RhdGVbMl0pIHtcbiAgICAgIHN0YXRlWzNdID0gMDtcbiAgICB9XG4gICAgc3RhdGVbMl0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc291cmNlc0luZGV4LCBzdGF0ZVsyXSk7XG4gICAgc3RhdGVbM10gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc2NvcGVzSW5kZXgsIHN0YXRlWzNdKTtcbiAgfVxuICBpZiAoY2FsbHNpdGUpIHtcbiAgICBjb25zdCB7IDA6IHNvdXJjZXNJbmRleCwgMTogY2FsbExpbmUsIDI6IGNhbGxDb2x1bW4gfSA9IHJhbmdlLmNhbGxzaXRlO1xuICAgIGlmIChzb3VyY2VzSW5kZXggIT09IHN0YXRlWzRdKSB7XG4gICAgICBzdGF0ZVs1XSA9IDA7XG4gICAgICBzdGF0ZVs2XSA9IDA7XG4gICAgfSBlbHNlIGlmIChjYWxsTGluZSAhPT0gc3RhdGVbNV0pIHtcbiAgICAgIHN0YXRlWzZdID0gMDtcbiAgICB9XG4gICAgc3RhdGVbNF0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc291cmNlc0luZGV4LCBzdGF0ZVs0XSk7XG4gICAgc3RhdGVbNV0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgY2FsbExpbmUsIHN0YXRlWzVdKTtcbiAgICBzdGF0ZVs2XSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBjYWxsQ29sdW1uLCBzdGF0ZVs2XSk7XG4gIH1cbiAgaWYgKGJpbmRpbmdzKSB7XG4gICAgZm9yIChjb25zdCBiaW5kaW5nIG9mIGJpbmRpbmdzKSB7XG4gICAgICBpZiAoYmluZGluZy5sZW5ndGggPiAxKSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgLWJpbmRpbmcubGVuZ3RoLCAwKTtcbiAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBiaW5kaW5nWzBdWzBdO1xuICAgICAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGV4cHJlc3Npb24sIDApO1xuICAgICAgbGV0IGJpbmRpbmdTdGFydExpbmUgPSBzdGFydExpbmU7XG4gICAgICBsZXQgYmluZGluZ1N0YXJ0Q29sdW1uID0gc3RhcnRDb2x1bW47XG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGJpbmRpbmcubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZXhwUmFuZ2UgPSBiaW5kaW5nW2ldO1xuICAgICAgICBiaW5kaW5nU3RhcnRMaW5lID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIGV4cFJhbmdlWzFdLCBiaW5kaW5nU3RhcnRMaW5lKTtcbiAgICAgICAgYmluZGluZ1N0YXJ0Q29sdW1uID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIGV4cFJhbmdlWzJdLCBiaW5kaW5nU3RhcnRDb2x1bW4pO1xuICAgICAgICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZXhwUmFuZ2VbMF0sIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBmb3IgKGluZGV4Kys7IGluZGV4IDwgcmFuZ2VzLmxlbmd0aDsgKSB7XG4gICAgY29uc3QgbmV4dCA9IHJhbmdlc1tpbmRleF07XG4gICAgY29uc3QgeyAwOiBsLCAxOiBjIH0gPSBuZXh0O1xuICAgIGlmIChsID4gZW5kTGluZSB8fCBsID09PSBlbmRMaW5lICYmIGMgPj0gZW5kQ29sdW1uKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaW5kZXggPSBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKHJhbmdlcywgaW5kZXgsIHdyaXRlciwgc3RhdGUpO1xuICB9XG4gIGlmIChzdGF0ZVswXSA8IGVuZExpbmUpIHtcbiAgICBjYXRjaHVwTGluZSh3cml0ZXIsIHN0YXRlWzBdLCBlbmRMaW5lKTtcbiAgICBzdGF0ZVswXSA9IGVuZExpbmU7XG4gICAgc3RhdGVbMV0gPSAwO1xuICB9IGVsc2Uge1xuICAgIHdyaXRlci53cml0ZShjb21tYSk7XG4gIH1cbiAgc3RhdGVbMV0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZW5kQ29sdW1uLCBzdGF0ZVsxXSk7XG4gIHJldHVybiBpbmRleDtcbn1cbmZ1bmN0aW9uIGNhdGNodXBMaW5lKHdyaXRlciwgbGFzdExpbmUsIGxpbmUpIHtcbiAgZG8ge1xuICAgIHdyaXRlci53cml0ZShzZW1pY29sb24pO1xuICB9IHdoaWxlICgrK2xhc3RMaW5lIDwgbGluZSk7XG59XG5cbi8vIHNyYy9zb3VyY2VtYXAtY29kZWMudHNcbmZ1bmN0aW9uIGRlY29kZShtYXBwaW5ncykge1xuICBjb25zdCB7IGxlbmd0aCB9ID0gbWFwcGluZ3M7XG4gIGNvbnN0IHJlYWRlciA9IG5ldyBTdHJpbmdSZWFkZXIobWFwcGluZ3MpO1xuICBjb25zdCBkZWNvZGVkID0gW107XG4gIGxldCBnZW5Db2x1bW4gPSAwO1xuICBsZXQgc291cmNlc0luZGV4ID0gMDtcbiAgbGV0IHNvdXJjZUxpbmUgPSAwO1xuICBsZXQgc291cmNlQ29sdW1uID0gMDtcbiAgbGV0IG5hbWVzSW5kZXggPSAwO1xuICBkbyB7XG4gICAgY29uc3Qgc2VtaSA9IHJlYWRlci5pbmRleE9mKFwiO1wiKTtcbiAgICBjb25zdCBsaW5lID0gW107XG4gICAgbGV0IHNvcnRlZCA9IHRydWU7XG4gICAgbGV0IGxhc3RDb2wgPSAwO1xuICAgIGdlbkNvbHVtbiA9IDA7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBzZW1pKSB7XG4gICAgICBsZXQgc2VnO1xuICAgICAgZ2VuQ29sdW1uID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIGdlbkNvbHVtbik7XG4gICAgICBpZiAoZ2VuQ29sdW1uIDwgbGFzdENvbCkgc29ydGVkID0gZmFsc2U7XG4gICAgICBsYXN0Q29sID0gZ2VuQ29sdW1uO1xuICAgICAgaWYgKGhhc01vcmVWbHEocmVhZGVyLCBzZW1pKSkge1xuICAgICAgICBzb3VyY2VzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgc291cmNlc0luZGV4KTtcbiAgICAgICAgc291cmNlTGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBzb3VyY2VMaW5lKTtcbiAgICAgICAgc291cmNlQ29sdW1uID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIHNvdXJjZUNvbHVtbik7XG4gICAgICAgIGlmIChoYXNNb3JlVmxxKHJlYWRlciwgc2VtaSkpIHtcbiAgICAgICAgICBuYW1lc0luZGV4ID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIG5hbWVzSW5kZXgpO1xuICAgICAgICAgIHNlZyA9IFtnZW5Db2x1bW4sIHNvdXJjZXNJbmRleCwgc291cmNlTGluZSwgc291cmNlQ29sdW1uLCBuYW1lc0luZGV4XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZWcgPSBbZ2VuQ29sdW1uLCBzb3VyY2VzSW5kZXgsIHNvdXJjZUxpbmUsIHNvdXJjZUNvbHVtbl07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlZyA9IFtnZW5Db2x1bW5dO1xuICAgICAgfVxuICAgICAgbGluZS5wdXNoKHNlZyk7XG4gICAgICByZWFkZXIucG9zKys7XG4gICAgfVxuICAgIGlmICghc29ydGVkKSBzb3J0KGxpbmUpO1xuICAgIGRlY29kZWQucHVzaChsaW5lKTtcbiAgICByZWFkZXIucG9zID0gc2VtaSArIDE7XG4gIH0gd2hpbGUgKHJlYWRlci5wb3MgPD0gbGVuZ3RoKTtcbiAgcmV0dXJuIGRlY29kZWQ7XG59XG5mdW5jdGlvbiBzb3J0KGxpbmUpIHtcbiAgbGluZS5zb3J0KHNvcnRDb21wYXJhdG9yKTtcbn1cbmZ1bmN0aW9uIHNvcnRDb21wYXJhdG9yKGEsIGIpIHtcbiAgcmV0dXJuIGFbMF0gLSBiWzBdO1xufVxuZnVuY3Rpb24gZW5jb2RlKGRlY29kZWQpIHtcbiAgY29uc3Qgd3JpdGVyID0gbmV3IFN0cmluZ1dyaXRlcigpO1xuICBsZXQgc291cmNlc0luZGV4ID0gMDtcbiAgbGV0IHNvdXJjZUxpbmUgPSAwO1xuICBsZXQgc291cmNlQ29sdW1uID0gMDtcbiAgbGV0IG5hbWVzSW5kZXggPSAwO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY29kZWQubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBsaW5lID0gZGVjb2RlZFtpXTtcbiAgICBpZiAoaSA+IDApIHdyaXRlci53cml0ZShzZW1pY29sb24pO1xuICAgIGlmIChsaW5lLmxlbmd0aCA9PT0gMCkgY29udGludWU7XG4gICAgbGV0IGdlbkNvbHVtbiA9IDA7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBsaW5lLmxlbmd0aDsgaisrKSB7XG4gICAgICBjb25zdCBzZWdtZW50ID0gbGluZVtqXTtcbiAgICAgIGlmIChqID4gMCkgd3JpdGVyLndyaXRlKGNvbW1hKTtcbiAgICAgIGdlbkNvbHVtbiA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzBdLCBnZW5Db2x1bW4pO1xuICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSAxKSBjb250aW51ZTtcbiAgICAgIHNvdXJjZXNJbmRleCA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzFdLCBzb3VyY2VzSW5kZXgpO1xuICAgICAgc291cmNlTGluZSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzJdLCBzb3VyY2VMaW5lKTtcbiAgICAgIHNvdXJjZUNvbHVtbiA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzNdLCBzb3VyY2VDb2x1bW4pO1xuICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSA0KSBjb250aW51ZTtcbiAgICAgIG5hbWVzSW5kZXggPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc2VnbWVudFs0XSwgbmFtZXNJbmRleCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB3cml0ZXIuZmx1c2goKTtcbn1cbmV4cG9ydCB7XG4gIGRlY29kZSxcbiAgZGVjb2RlR2VuZXJhdGVkUmFuZ2VzLFxuICBkZWNvZGVPcmlnaW5hbFNjb3BlcyxcbiAgZW5jb2RlLFxuICBlbmNvZGVHZW5lcmF0ZWRSYW5nZXMsXG4gIGVuY29kZU9yaWdpbmFsU2NvcGVzXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c291cmNlbWFwLWNvZGVjLm1qcy5tYXBcbiJdLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMF0sIm1hcHBpbmdzIjoiO0FBQ0EsSUFBSSxRQUFRLElBQUksV0FBVyxDQUFDO0FBQzVCLElBQUksWUFBWSxJQUFJLFdBQVcsQ0FBQztBQUNoQyxJQUFJLFFBQVE7QUFDWixJQUFJLDRCQUFZLElBQUksV0FBVyxFQUFFO0FBQ2pDLElBQUksNEJBQVksSUFBSSxXQUFXLEdBQUc7QUFDbEMsS0FBSyxJQUFJLElBQUksR0FBRyxJQUFJLE1BQU0sUUFBUSxLQUFLO0NBQ3JDLE1BQU0sSUFBSSxNQUFNLFdBQVcsQ0FBQztDQUM1QixVQUFVLEtBQUs7Q0FDZixVQUFVLEtBQUs7QUFDakI7QUFDQSxTQUFTLGNBQWMsUUFBUSxVQUFVO0NBQ3ZDLElBQUksUUFBUTtDQUNaLElBQUksUUFBUTtDQUNaLElBQUksVUFBVTtDQUNkLEdBQUc7RUFFRCxVQUFVLFVBREEsT0FBTyxLQUNHO0VBQ3BCLFVBQVUsVUFBVSxPQUFPO0VBQzNCLFNBQVM7Q0FDWCxTQUFTLFVBQVU7Q0FDbkIsTUFBTSxlQUFlLFFBQVE7Q0FDN0IsV0FBVztDQUNYLElBQUksY0FDRixRQUFRLGNBQWMsQ0FBQztDQUV6QixPQUFPLFdBQVc7QUFDcEI7QUFDQSxTQUFTLGNBQWMsU0FBUyxLQUFLLFVBQVU7Q0FDN0MsSUFBSSxRQUFRLE1BQU07Q0FDbEIsUUFBUSxRQUFRLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxTQUFTO0NBQy9DLEdBQUc7RUFDRCxJQUFJLFVBQVUsUUFBUTtFQUN0QixXQUFXO0VBQ1gsSUFBSSxRQUFRLEdBQUcsV0FBVztFQUMxQixRQUFRLE1BQU0sVUFBVSxRQUFRO0NBQ2xDLFNBQVMsUUFBUTtDQUNqQixPQUFPO0FBQ1Q7QUFDQSxTQUFTLFdBQVcsUUFBUSxLQUFLO0NBQy9CLElBQUksT0FBTyxPQUFPLEtBQUssT0FBTztDQUM5QixPQUFPLE9BQU8sS0FBSyxNQUFNO0FBQzNCO0FBR0EsSUFBSSxZ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
|