@teleporthq/teleport-plugin-next-data-source 0.43.59 → 0.43.60

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 (127) hide show
  1. package/__tests__/_helpers/pagination-widget-fixture.ts +230 -0
  2. package/__tests__/ecommerce-product-discounts.test.ts +196 -0
  3. package/__tests__/infinite-scroll.test.ts +143 -0
  4. package/__tests__/numbered-pagination.test.ts +113 -0
  5. package/__tests__/page-reset-on-filter-sort.test.ts +182 -0
  6. package/__tests__/page-url-sync.test.ts +208 -0
  7. package/__tests__/product-price-sort.ts +313 -0
  8. package/__tests__/search-url-sync.test.ts +7 -3
  9. package/dist/cjs/array-mapper-pagination.d.ts +9 -0
  10. package/dist/cjs/array-mapper-pagination.d.ts.map +1 -1
  11. package/dist/cjs/array-mapper-pagination.js.map +1 -1
  12. package/dist/cjs/count-effect.d.ts +42 -0
  13. package/dist/cjs/count-effect.d.ts.map +1 -0
  14. package/dist/cjs/count-effect.js +81 -0
  15. package/dist/cjs/count-effect.js.map +1 -0
  16. package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
  17. package/dist/cjs/fetchers/postgresql.js +2 -1
  18. package/dist/cjs/fetchers/postgresql.js.map +1 -1
  19. package/dist/cjs/fetchers/teleport.d.ts.map +1 -1
  20. package/dist/cjs/fetchers/teleport.js +3 -2
  21. package/dist/cjs/fetchers/teleport.js.map +1 -1
  22. package/dist/cjs/infinite-scroll.d.ts +65 -0
  23. package/dist/cjs/infinite-scroll.d.ts.map +1 -0
  24. package/dist/cjs/infinite-scroll.js +190 -0
  25. package/dist/cjs/infinite-scroll.js.map +1 -0
  26. package/dist/cjs/numbered-pagination.d.ts +42 -0
  27. package/dist/cjs/numbered-pagination.d.ts.map +1 -0
  28. package/dist/cjs/numbered-pagination.js +167 -0
  29. package/dist/cjs/numbered-pagination.js.map +1 -0
  30. package/dist/cjs/page-reset.d.ts +42 -0
  31. package/dist/cjs/page-reset.d.ts.map +1 -0
  32. package/dist/cjs/page-reset.js +116 -0
  33. package/dist/cjs/page-reset.js.map +1 -0
  34. package/dist/cjs/page-url-sync.d.ts +42 -0
  35. package/dist/cjs/page-url-sync.d.ts.map +1 -0
  36. package/dist/cjs/page-url-sync.js +180 -0
  37. package/dist/cjs/page-url-sync.js.map +1 -0
  38. package/dist/cjs/pagination-controls.d.ts +55 -0
  39. package/dist/cjs/pagination-controls.d.ts.map +1 -0
  40. package/dist/cjs/pagination-controls.js +159 -0
  41. package/dist/cjs/pagination-controls.js.map +1 -0
  42. package/dist/cjs/pagination-plugin.d.ts.map +1 -1
  43. package/dist/cjs/pagination-plugin.js +506 -160
  44. package/dist/cjs/pagination-plugin.js.map +1 -1
  45. package/dist/cjs/product-price-sort.d.ts +116 -0
  46. package/dist/cjs/product-price-sort.d.ts.map +1 -0
  47. package/dist/cjs/product-price-sort.js +169 -0
  48. package/dist/cjs/product-price-sort.js.map +1 -0
  49. package/dist/cjs/transformations/ecommerce-product.d.ts.map +1 -1
  50. package/dist/cjs/transformations/ecommerce-product.js +1 -1
  51. package/dist/cjs/transformations/ecommerce-product.js.map +1 -1
  52. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  53. package/dist/esm/array-mapper-pagination.d.ts +9 -0
  54. package/dist/esm/array-mapper-pagination.d.ts.map +1 -1
  55. package/dist/esm/array-mapper-pagination.js.map +1 -1
  56. package/dist/esm/count-effect.d.ts +42 -0
  57. package/dist/esm/count-effect.d.ts.map +1 -0
  58. package/dist/esm/count-effect.js +53 -0
  59. package/dist/esm/count-effect.js.map +1 -0
  60. package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
  61. package/dist/esm/fetchers/postgresql.js +2 -1
  62. package/dist/esm/fetchers/postgresql.js.map +1 -1
  63. package/dist/esm/fetchers/teleport.d.ts.map +1 -1
  64. package/dist/esm/fetchers/teleport.js +3 -2
  65. package/dist/esm/fetchers/teleport.js.map +1 -1
  66. package/dist/esm/infinite-scroll.d.ts +65 -0
  67. package/dist/esm/infinite-scroll.d.ts.map +1 -0
  68. package/dist/esm/infinite-scroll.js +159 -0
  69. package/dist/esm/infinite-scroll.js.map +1 -0
  70. package/dist/esm/numbered-pagination.d.ts +42 -0
  71. package/dist/esm/numbered-pagination.d.ts.map +1 -0
  72. package/dist/esm/numbered-pagination.js +138 -0
  73. package/dist/esm/numbered-pagination.js.map +1 -0
  74. package/dist/esm/page-reset.d.ts +42 -0
  75. package/dist/esm/page-reset.d.ts.map +1 -0
  76. package/dist/esm/page-reset.js +87 -0
  77. package/dist/esm/page-reset.js.map +1 -0
  78. package/dist/esm/page-url-sync.d.ts +42 -0
  79. package/dist/esm/page-url-sync.d.ts.map +1 -0
  80. package/dist/esm/page-url-sync.js +152 -0
  81. package/dist/esm/page-url-sync.js.map +1 -0
  82. package/dist/esm/pagination-controls.d.ts +55 -0
  83. package/dist/esm/pagination-controls.d.ts.map +1 -0
  84. package/dist/esm/pagination-controls.js +126 -0
  85. package/dist/esm/pagination-controls.js.map +1 -0
  86. package/dist/esm/pagination-plugin.d.ts.map +1 -1
  87. package/dist/esm/pagination-plugin.js +507 -161
  88. package/dist/esm/pagination-plugin.js.map +1 -1
  89. package/dist/esm/product-price-sort.d.ts +116 -0
  90. package/dist/esm/product-price-sort.d.ts.map +1 -0
  91. package/dist/esm/product-price-sort.js +160 -0
  92. package/dist/esm/product-price-sort.js.map +1 -0
  93. package/dist/esm/transformations/ecommerce-product.d.ts.map +1 -1
  94. package/dist/esm/transformations/ecommerce-product.js +2 -2
  95. package/dist/esm/transformations/ecommerce-product.js.map +1 -1
  96. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  97. package/package.json +5 -5
  98. package/src/array-mapper-pagination.ts +10 -0
  99. package/src/count-effect.ts +137 -0
  100. package/src/fetchers/postgresql.ts +52 -13
  101. package/src/fetchers/teleport.ts +53 -13
  102. package/src/infinite-scroll.ts +401 -0
  103. package/src/numbered-pagination.ts +292 -0
  104. package/src/page-reset.ts +162 -0
  105. package/src/page-url-sync.ts +241 -0
  106. package/src/pagination-controls.ts +176 -0
  107. package/src/pagination-plugin.ts +755 -346
  108. package/src/product-price-sort.ts +204 -0
  109. package/src/transformations/ecommerce-product.ts +33 -7
  110. package/dist/cjs/array-mapper-registry.d.ts +0 -85
  111. package/dist/cjs/array-mapper-registry.d.ts.map +0 -1
  112. package/dist/cjs/array-mapper-registry.js +0 -296
  113. package/dist/cjs/array-mapper-registry.js.map +0 -1
  114. package/dist/cjs/pagination-with-count.d.ts +0 -6
  115. package/dist/cjs/pagination-with-count.d.ts.map +0 -1
  116. package/dist/cjs/pagination-with-count.js +0 -63
  117. package/dist/cjs/pagination-with-count.js.map +0 -1
  118. package/dist/esm/array-mapper-registry.d.ts +0 -85
  119. package/dist/esm/array-mapper-registry.d.ts.map +0 -1
  120. package/dist/esm/array-mapper-registry.js +0 -292
  121. package/dist/esm/array-mapper-registry.js.map +0 -1
  122. package/dist/esm/pagination-with-count.d.ts +0 -6
  123. package/dist/esm/pagination-with-count.d.ts.map +0 -1
  124. package/dist/esm/pagination-with-count.js +0 -34
  125. package/dist/esm/pagination-with-count.js.map +0 -1
  126. package/src/array-mapper-registry.ts +0 -416
  127. package/src/pagination-with-count.ts +0 -89
@@ -1 +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.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","../../../teleport-types/dist/cjs/helper.d.ts","../../../teleport-types/dist/cjs/uidl.d.ts","../../../../node_modules/@babel/types/lib/index.d.ts","../../../teleport-types/dist/cjs/generators.d.ts","../../../teleport-types/dist/cjs/errors.d.ts","../../../teleport-types/dist/cjs/vuidl.d.ts","../../../teleport-types/dist/cjs/index.d.ts","../../../teleport-shared/dist/cjs/constants/index.d.ts","../../../teleport-shared/dist/cjs/utils/string-utils.d.ts","../../../teleport-shared/dist/cjs/utils/uidl-utils.d.ts","../../../teleport-shared/dist/cjs/utils/generic.d.ts","../../../teleport-shared/dist/cjs/utils/js-identifiers.d.ts","../../../teleport-shared/dist/cjs/utils/ast-scope.d.ts","../../../teleport-shared/dist/cjs/utils/ast-statement-order.d.ts","../../../teleport-shared/dist/cjs/utils/ast-effect-cleanup.d.ts","../../../teleport-shared/dist/cjs/utils/route-paths.d.ts","../../../teleport-shared/dist/cjs/utils/layout-topology.d.ts","../../../teleport-shared/dist/cjs/utils/html-content-model.d.ts","../../../teleport-shared/dist/cjs/utils/style-declarations.d.ts","../../../teleport-shared/dist/cjs/utils/storefront-tax.d.ts","../../../teleport-shared/dist/cjs/utils/email-date.d.ts","../../../teleport-shared/dist/cjs/cache/constants.d.ts","../../../teleport-shared/dist/cjs/cache/client-runtime.d.ts","../../../teleport-shared/dist/cjs/cache/server-runtime.d.ts","../../../teleport-shared/dist/cjs/cache/version-store.d.ts","../../../teleport-shared/dist/cjs/cache/api-routes.d.ts","../../../teleport-shared/dist/cjs/cache/index.d.ts","../../../teleport-shared/dist/cjs/index.d.ts","../../src/array-mapper-pagination.ts","../../src/array-mapper-registry.ts","../../../teleport-plugin-common/dist/cjs/builders/ast-builders.d.ts","../../../teleport-plugin-common/dist/cjs/utils/parsed-ast.d.ts","../../../teleport-plugin-common/dist/cjs/builders/style-builders.d.ts","../../../teleport-plugin-common/dist/cjs/builders/hast-builders.d.ts","../../../teleport-plugin-common/dist/cjs/utils/types.d.ts","../../../teleport-plugin-common/dist/cjs/utils/ast-utils.d.ts","../../../teleport-plugin-common/dist/cjs/utils/style-utils.d.ts","../../../teleport-plugin-common/dist/cjs/utils/hast-utils.d.ts","../../../teleport-plugin-common/dist/cjs/utils/url-search-param-sync.d.ts","../../../teleport-plugin-common/dist/cjs/utils/route-utils.d.ts","../../../teleport-plugin-common/dist/cjs/node-handlers/node-to-jsx/types.d.ts","../../../teleport-plugin-common/dist/cjs/node-handlers/node-to-jsx/utils.d.ts","../../../teleport-plugin-common/dist/cjs/node-handlers/node-to-html/types.d.ts","../../../teleport-plugin-common/dist/cjs/node-handlers/node-to-html/index.d.ts","../../../teleport-plugin-common/dist/cjs/node-handlers/node-to-jsx/index.d.ts","../../../teleport-plugin-common/dist/cjs/index.d.ts","../../src/transformations/shared-utils.ts","../../src/transformations/blog-post.ts","../../src/transformations/ecommerce-product.ts","../../src/transformations/index.ts","../../src/isr.ts","../../src/utils.ts","../../src/fetchers/postgresql.ts","../../src/fetchers/mysql.ts","../../src/fetchers/mariadb.ts","../../src/fetchers/redshift.ts","../../src/fetchers/mongodb.ts","../../src/fetchers/redis.ts","../../src/fetchers/firestore.ts","../../src/fetchers/clickhouse.ts","../../src/fetchers/airtable.ts","../../src/fetchers/supabase.ts","../../src/fetchers/turso.ts","../../src/fetchers/rest-api.ts","../../src/fetchers/javascript.ts","../../src/fetchers/utils/header-detection.ts","../../src/fetchers/csv-file.ts","../../src/fetchers/google-sheets.ts","../../src/fetchers/teleport.ts","../../src/fetchers/raw-query.ts","../../src/fetchers/index.ts","../../src/validation.ts","../../src/cache/types.ts","../../src/data-source-fetchers.ts","../../src/count-fetchers.ts","../../src/filter-utils.ts","../../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../src/sort-utils.ts","../../src/cache/ast.ts","../../src/loading-state.ts","../../src/cache/config.ts","../../src/pagination-plugin.ts","../../src/index.ts","../../src/pagination-with-count.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/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/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../../node_modules/@types/jest/index.d.ts","../../../../node_modules/@types/jest/ts3.2/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14fc7efae8b184b18019a5906c6f6de752823b44ff1acf7924bbdc8877ded21b","89916c189760569ec3da1c2f516dc5814cc4115a9080bde9452a00df00e9cfe2","8d27e5f73b75340198b2df36f39326f693743e64006bd7b88a925a5f285df628","dc825386fec10debdf3c70118b36fab9fbf806c96b4bc562ca819ca7a57c4307","71a689048584cde03cb508408ae7c3b04ad8f10af887865e8b65c27ed9d91488","d9118ed71b9968fea213b070209081a1b1c378b55ddcd026fb1ae8a7f52c15b7","6ba1631f84ef4507073189c4ada06d6de8bac89375ea3b49e34e49006cc44a3f","afa9397f3aa80897cec3ddec1dd6f7c8741106ce96090f74df790a474b114ed6","2151c15cf44957b985572346813bd65fba324d8f9422ad7aacdcacbd78dc2d5f","016e13cb6b202723f41294ea8028ae51ab987e847808c6f637d5a890954a943c","403723c612eb5754e02e99e0509f13822535b3b559bba19f01cfc7a543919142","ef444c3abed06ad312847e29b4ba4432f7c195314c4bb82a25ce95f95c778a5b","1b162486fa280dbee48fc4c144654d5f55efcc37b7fee14d797abfbdad9a949c","ac38f9ccc10049dd76ddfb68a4ac6647d36656d62d4c01cd32ce1386e6e56758","210a682e78eed1c7aae6824de615032daaf3fc60c2b0cd3720200b6d61f9fd19","3e39c53f8d84f8cab50817a177664b09180a2d7eebac4583789268f9fd589b84","ab05daec0e36402aa878f9e6bce5bbb4ca1766771a40287cc253744045349777","ecfca193bd5f4c5a96cdca608fcc5bdec30439d0648bc90795cabbe07927b777","26b70c898ac9086bfb061fa451c96bf0e67e0281cb8404c72bc4b8bed45670af","152038e0f63f7fc9fd01dda2cd7e6d2a702841959b9a81c8c0d412947615d145","85c1a4cf9f573ed7cb65596d82d315157ac03ff6914f578e6f0fdbca356557c7","a38a716bf00f98c44b63ea11a8f02dd1d7cc33deb445db79dd48f6ea50a93faf","2c010aad4ced0c836ea0c5d8b0465afe128c6dfab0fc0486df89e01d831128bf","4e6ff96a2db4fd3831ff16dc907e51fa41c417c57771712ab528db763eefc30d","e421033924a00045db6c0f30c05c1c008077828a39530fb5c742179eb56c28ed","33cae5e413c0ce1edeffeb0657a12b37e123a0eac472717561412d262f01f796","7864d42f488cf277d879b29b952dec989e11b02b4c04cf99595cbfafaf4a3775","dff671639c5a5967b85bc0f60085574aff9f7f3a3ff6a113b91859ab096fbcca",{"version":"c0ca43993486eeee95a5e3c1ab0c0362861376025516a83378c208849dad6cd6","signature":"8dd10403310bd272432dc4914680cd455a14df308ddef48d584ebd1d6549b1ad"},{"version":"926bc1cfc68d5c76e052b07669cf86d180d0e20848c90e5bec9bda0e0368246b","signature":"5577f4319cf62cef1d9525c258e88cbf0200eadc115cddd5dd69e7e6a3447ab4"},"b7f5a08a542459965e03364a10ce321d28eb5dc96c7cef00a48cb89e455f8532","7d69ac79c9de7620a1bdd926fd4b20b8e968d6467a220eac2a836988ab47c933","d350fc146b46550e424850ab9f7e7d8951156584dbd27bf493e37d7d2300af87","51df45d44f1a2052bd14063736f385bfbdcfee3759fa5597c89f62b3bbdb02e5","10b2bb0a74b12ecbab5003ff91aa8b3da674f81a5d72fdd6f998bfaf664948c8","c5517fd5758cee081b157b90a8d1bd3f300e366d0597270ed30e9c0d72125c2d","3f4fe2fe5f1425cb3e04f5c898d990a1925a7c8a84548a4804f831cfaa2194cb","6ff754e93a1ef94f7a92e7f6f9b67357f3b25836ab36d66202d1d07343186ab7","504f64fcde588e7650963530c4108c700d2bf56e7c381a713e09c106987e9e3c","0f8a91a725deb2bc4f3d64760262135d51a7f5b27e0749424ea90218b719461c","bbcd30d53884212c228ff7e76c17ac9b1a928cdf5b8f427a71194c811a5d714d","1fe41493efdde00b7f7b326310cba7ea78bb55ff75ade0f21f788e1cda8fe9ed","48533e135178c91d9abe0789d1c09802696a42985217396ccfcfd1034a099a0e","dcaef7f7c1f0cb2dba19a1a70cc8d5276faa68e50bc69d6a006d3aaaaa9f7aa7","ffd67adf9464cf9bcddc3954fcd27d59b60e85acb02101fefe8b0eb642a2be2f","a5fb95c2217a6e8d3cb48bfe33a56548dab85c7d84c57b720f03159bc289827b",{"version":"3b8f11465b65790afe276d4492c9d7aa0f2e77daeab9226e3df8509f3ec07354","signature":"79f979b9f84ca0e46aacfc04dc7849991e46425604a62d539eb00a0fb9bb0dac"},{"version":"d4ecb57b6ef0c3bdce8c006166ef105c60fcee7f732806c9ee81277b66cacd53","signature":"8babb4c4f48649d024bdbeef0c5bdab6625a0f20edd3e20d28e5e0b1acef358a"},{"version":"55e4481401dd4e0e7110b13cc23d8a7a494e6a365307fb6cbf29b2182b40a58f","signature":"f30b56d3e2f291bf1069236ac96b66751ff197465ea123aa5959e3c0629e98bd"},{"version":"80dd8b0a6a7ba48512e8468f59184a13353f8dee38b6188aa7023a1c2b5362e7","signature":"38a76a95e5f9ec676804e1f7cd9b2ab0cd46f59a21ac5fe08081352413b29421"},{"version":"089156ee8c662fc7994e505bb92f51e2ee3d35320c86c06881aaa451546dc7a6","signature":"5544c2af7ff781b56ab78a636432e0c005cfe2358409e1e30c9f2e95b06199e2"},{"version":"373df17bbce2a80361fa3cff5e10ff6b06cf7b549f58f323d4738f2dbd2ef063","signature":"d9921ca6c23a4c37a9e9e6ffc745d1479179b935ef43345bb0226d11ed322dcb"},{"version":"d4dfa630db8e4a7e9dd8cd44bb78392174e0f5588119591d103409351c81b9ab","signature":"de06b0c86ca2d89fbaf2a13a72ab5fc755c40e044fa57c8bb38730efd3261022"},{"version":"9b7f0e521e1b4596b39063a0a979487583842211bfd427293b3b8b7bdfa828f5","signature":"d00193c90510e72ce2388a023e353fe46b5cdf19422f5161b9850335a986da2a"},{"version":"5d1a7a46f218bd927028130607a8c552656d4fe8cedaa57efcbf810c6477b09f","signature":"49f95af249a13fe4d6a4e010f6c962a3ad0b8c04b8239776860d739a6c7aebec"},{"version":"2717f6454b3dbb8a7cf5acbbd2f48209ba6d126d736cd858c5b5687ee2652aae","signature":"0c15c7a95261653c1d169de2acd460951fd2da86797be3d66bae181229913028"},{"version":"60b08c9a49795ae888a0c2e9c749470619196d38649eccb3b6a72299707814d0","signature":"42fd47b89f4fd4d1182b4dabb6cf21a207aecc9f18b9c64375a905f71ba7e27e"},{"version":"de2ca6e8f7b95566cde68e681726e04b9ba9e5adc979994fb8c013994e90d86c","signature":"1435e8f6c5c4a872b7ccdd524445c2c0a3841c514f278e9f7fe89dd27f51e22c"},{"version":"4b0cfe9110b745df569d1ae33ad25b968107400285f79d198dc5f08bfcebe7ee","signature":"9252525bdbffa14530825b1742cc1dbac04dd14d6da54858b1e0f10b13d9486a"},{"version":"478ebcfc229746b9e8921c62821870d299c512028dd3841a94884f89c99e14a0","signature":"086cba5e2c20c4c1bd96751364704784fc769c874f961d49511e8a71eb455635"},{"version":"1af30eb6d6b8cbf8c271e9574e0be812a65207e965e37fbe98c7ccd5109c2fb6","signature":"2a7fa42ab3eea43bd9ea8b87a44d66dd187e6b9bd3a92dfac9b94456cd3ee542"},{"version":"05300da7f9381e3535f5713e8448daca93c16e76522b4ed3cb90d643d1ff6751","signature":"05129746e5b08d401ebb1d0286ea7446ac7c867a003dc9c1e4f6ea8e546b4024"},{"version":"3384e38ce8f3eb163e0ff56f6a982a0677f797ba4657eb371214a1a45f32dd14","signature":"57800819a8bf58defe43f6529d610a62678fc94f0df6dd9c463a68fa795d8a5e"},{"version":"c5120a61318f05d981353cc67de4488219516d3bc06c7eb59c764cf94a1374c7","signature":"e174a43044ea557509070815d09a9bad989b1360808b43ca3451ee44391ec49e"},{"version":"3a3882ee0651c8d8ae087c6f34ea75908443ec2cb3457982a162f0cb73dacd64","signature":"37791c8e17a2d09885af3ae90cbf37cfc007d054422efca32fde77600aae2a56"},{"version":"b4f81c99b4783307322c0dda97fa6b295e53ca5c3749bb46dd46ff65114c7939","signature":"19bb513d1d82c0c13dfae8bd4609fdd77d257b213bb6286e2873abac15599b22"},{"version":"7cd4b54cf3a9402b0ae2fce241da97f59b33c69b5aca0f916630c7e8050e0b89","signature":"b3a57d9eea1fff68e106cc6489a3853c0402bd014eb827967e684953192d3907"},{"version":"a53d3edaf0b513e725872307d4cfa5f6f5b7476f3828320c46a0c131a806edac","signature":"7a5c1f79f55d6cfaf4adc1943e71e323072a0225ba261d2d8ba3a7eaec79205f"},{"version":"f385b0e87692bba0592575143ddf18a313c1808befcaa1845401bc89f1022722","signature":"df41724512f2db139638e0b6a09b99d34e8b7716e0966a19dbb618b9bd8e68f4"},{"version":"0ec5a2b5c22249e2a811e27a2cc368769e007da4d3bff555ab651bc5b714cb2f","signature":"93a3fb96944991bd0c3e262b895ae90e7166670cc7de56a018d026664ad3839c"},{"version":"35a1eb1c55a2d086ba888a0a535a0939f44b123933a812a1b8e8bb3843762827","signature":"8e75557ea51b03d65950ff837701891eb1b6a6d8d3047d67c288daa208de8cc9"},{"version":"4fb8c0cc9c3c0f02789eb46932de57ff337f279eed83405ab60c7fabbffd2479","signature":"dc8beebd62666f0f499f3d19afcd511268409762b733344538c18dd9d269102e"},{"version":"475c1c69558ea9267615a81295d7a68a80a50406c1bedab5bad2a717dc172ac7","signature":"d61c99152b49569aa8f1fb7f987505ac3729c61921dbbf8e2f56c8c5240fa1d1"},{"version":"e4a1fdee7f0aa189d0e187c268718677d19a64348e412f03f6ff0c2f49af6602","signature":"24814150d755e4554fb76b7c9f35f5a2a52c1b13038ddcf30577cf3dc7e1afee"},{"version":"b1f8280cf0bdbe930233ae48df96b6a871a7f24fc0d32f04e6e22f7d84daa529","signature":"b7e105389681fd52ac69f81882168ec249a2b06b1462734e47e8e8d72d8aa702"},{"version":"fe3d7c154d26ff780ce2239874b4ef7b94108e57d2050dd796722f79852378f7","signature":"18ddf6d4cc9e115d8a6c97a4a0f590c0f16e06e862fbf9992486fcbcfe611a55"},"1c2cd862994b1fbed3cde0d1e8de47835ff112d197a3debfddf7b2ee3b2c52bc",{"version":"516456888ee35d15a2ac3251216d4ca74999771d07c74507a47f22b2c1d7bdfc","signature":"e1552ab0a1a905e2691c385fbdb013f1f25a5a107f28b6fcc3ac44a056922b6a"},{"version":"99987da8cb0b1b27bbcddbca60376d800be527d649a32aa781dfe8ec187fb213","signature":"7ea150f4885475bd11eee026a3d814ae5bebe0c75e89cdf1de8598e3d0308cb2"},{"version":"84730371cb2c4d2821dd103664fcc0f36fec131db9d81a95059f012cfe6bf71c","signature":"3a55e43a9939604ac49f7ec7d51dbe29d01cc88e3035842dbf8125e7cfeb70e2"},{"version":"9aa8a1d15fb1eb78be9fc60e652ac7388ac2d9373b65f68b91d01b73a900d1e9","signature":"e7dcdfa55263d1e25ec069f2a5961820ef5adfa15a872df7db2c681c0eb8b7fc"},{"version":"89013567955766ed3183cf23eec5e9c48f04a80e62da489750a0ed6a0cf34b82","signature":"81edd44b1cc80a705e38f13a4c9238f25ff8181147f1c729f28c00b5ae539eec"},{"version":"c825dba4b5489155fb0725797c2ab97bd601f2c191c9f5fded28e168bac04f64","signature":"d937f0bfda15358170835d7ef7af1aac1efe35779167a30fe397b492485e20ce"},{"version":"643868a552706f3347b5c1fe5388344e9f77e0620b2fc950c026d4ce6398539a","signature":"c8dee13888566e8f6872c49d2e2ff8c40f18eca5856298639c21a3b90467adfb"},"0b4bc32128fda7bb0752cf284730dd3a817aae04a3d7f92e3b2d54bd61362fe1","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","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":"5f290ea7efbe9d8431e10df12c0d5672b67988e7c171c2d356749fac70347a55","affectsGlobalScope":true},"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89",{"version":"49c89f8fa09d21c161e6a367448639e032f42d77cc2ec8ab54ecb8fa9a3ad59f","affectsGlobalScope":true},"e4b50850c2a62c7750428e452ee24b167180104d514d5e5c0ca691753365f610","304504c854c47a55ab4a89111a27a2daf8a3614740bd787cc1f2c51e5574239c",{"version":"95f9129a37dcace36e17b061a8484952586ecfe928c9c8ce526de1a2f4aaefa7","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","0f9061846236850a872cb44097d071631e93c8749a8b16c191fe3c2a48faede4","e46fa644658c2d6e5c85e954ea76b92c97d63f0851d3ccdab8c2a80d5962aaa9","1c611ff373ce1958aafc40b328048ac2540ba5c7f373cf2897e0d9aeaabe90a0","a307d22a0130ac94c1a17fffa6d57ac272deb5838cb966a9420911d259cdf1be","d2e415abf6cb81ac9e2700b4db5ea7be76b997e812285b8e5e1e414eb2750b6e","09d6cebdced6aa1181ac1523c8f22a133f5ed80589678b64051f0602f0518374",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"7c35691dc3972ff1507d8dd279d833f540973d0917bde22e191cf7a8feaac29f","affectsGlobalScope":true},"62662d7a886e5cfa870685720fd27b763743ca4d2cf29326f75d76606a64eadd","b8c670688bd228d3cc9c169690b09b687188c50ff263a94df63b207701105ad9","d8e16905907111390d5a943816306ae997dfe56476f14142166f8b13ee322eea","8068c911a1c40bc6c5ffc58c625b21d807778f6aa6d63a73e6f04f88bcac5b79","a1dbce56ad5f3a37caafb9033c9d190a199217d673f5fa099c8968d471a2fdaa","c6f77efcc19f51c8759779b6b6ee0d88046c15c15dadac8ffed729a6620daf39",{"version":"089867511b37a534ae71f3d9bc97acc0b925b7f5dbec113f98c4b49224c694eb","affectsGlobalScope":true},"269d0ea3202820c29a32c1f2a357837a4f1918426844f7e7c90af15ec40d1dc1","66432f885e30cf471573de22a5af5eca9ab46b37b122aec98beadf77e9b7df24","323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c",{"version":"034e635df3c014df1d6b1110b724ca0c4d2d324b45a84974c7d6931f9cf95ea7","affectsGlobalScope":true},{"version":"87f9456115554cb0f78f098ddbd585096871c19d2d05274c1b1b4ade3151da78","affectsGlobalScope":true},"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","da618f0ea09d95c3b51514de43bf97dab008c85bede58aa57cf95e4984c7c957","48a35b181ecf47dbbc0a7ab4b5ba778d91eaa838ba42bf4aaaead42be77ef39a","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","5195aeb0de306d1c5ca8033457fbcab5987657112fa6d4971cfeb7644493a369","c5dbf0003bc9f0f643e54cd00a3868d1afe85497fecb56be6f2373dc85102924",{"version":"ce73eb199c4bf96c015f069aac161488ed73ebeaea3d87b6d5aa9a968a7b38d4","affectsGlobalScope":true},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true},"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","962f105729d5b888c8b70e193f6020ee92c6c8144c827de40f80d65dd188ad7f","ac74e2b754fba690036f8221d978f6debb867462b87af254f24e924b677395d0","80858f6de9af22e53aff221fe3590215ea544c2aeb2cc60cf8e08a9c785c8fef",{"version":"068b8ee5c2cd90d7a50f2efadbbe353cb10196a41189a48bf4b2a867363012b4","affectsGlobalScope":true},{"version":"340659b96782f5813aad6c1f89ea1b83b2f3fa993115c7b30366375d9bae5a4e","affectsGlobalScope":true},"6f44a190351ab5e1811abebe007cf60518044772ccc08244f9f241706afa767f","fecdf44bec4ee9c5188e5f2f58c292c9689c02520900dceaaa6e76594de6da90","cf45d0510b661f1da461479851ff902f188edb111777c37055eff12fa986a23a",{"version":"895ca532c15c77cbb6a871af1870b57bcd0ca4f38a1bd69669dd0e95bb58565a","affectsGlobalScope":true},"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","e222104af6cb9415238ad358488b74d76eceeff238c1268ec6e85655b05341da","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","eba230221317c985ab1953ccc3edc517f248b37db4fef7875cb2c8d08aff7be7","b83e796810e475da3564c6515bc0ae9577070596a33d89299b7d99f94ecfd921","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"f624e578325b8c58e55b30c998b1f4c3ec1b61a9fa66373da4250c89b7880d44","affectsGlobalScope":true},{"version":"d3002f620eab4bf6476c9da5c0efb2041d46f7df8b3032a5631bd206abef2c75","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":99,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"target":1},"fileIdsList":[[45],[218,220],[214,215],[214,215,216,217],[219],[221],[127],[163],[164,169,197],[165,176,177,184,194,205],[165,166,176,184],[167,206],[168,169,177,185],[169,194,202],[170,172,176,184],[163,171],[172,173],[176],[174,176],[163,176],[176,177,178,194,205],[176,177,178,191,194,197],[161,210],[172,176,179,184,194,205],[176,177,179,180,184,194,202,205],[179,181,194,202,205],[127,128,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],[176,182],[183,205,210],[172,176,184,194],[185],[186],[163,187],[188,204,210],[189],[190],[176,191,192],[191,193,206,208],[164,176,194,195,196,197],[164,194,196],[194,195],[197],[198],[163,194],[176,200,201],[200,201],[169,184,194,202],[203],[184,204],[164,179,190,205],[169,206],[194,207],[183,208],[209],[164,169,176,178,187,194,205,208,210],[194,211],[138,142,205],[138,194,205],[133],[135,138,202,205],[184,202],[213],[133,213],[135,138,184,205],[130,131,134,137,164,176,194,205],[130,136],[134,138,164,197,205,213],[164,213],[154,164,213],[132,133,213],[138],[132,133,134,135,136,137,138,139,140,142,143,144,145,146,147,148,149,150,151,152,153,155,156,157,158,159,160],[138,145,146],[136,138,146,147],[137],[130,133,138],[138,142,146,147],[142],[136,138,141,205],[130,135,136,138,142,145],[164,194],[133,138,154,164,210,213],[45,49],[49],[45,49,74],[73,74,75,76,78,79,80,81,82,83,84,85,86,87],[49,85],[45,49,83],[45,49,74,77],[49,70],[45,49,115],[49,70,115],[49,95,96,97,99,104,107,109,111,116],[49,70,92,113,114,115,117],[94],[94,108],[95,96,97,98,99,100,101,102,103,104,105,106,107,109,110,111,112],[92,94],[45,49,70,71,92,93,94,116,117,124],[45,121],[45,49,70,88,92,94,115,116,118,119,120,121,122,123],[45,71],[45,49,88],[49,70,89,90,91],[45,49,70,88,92,93,116],[64,65,66,67,68],[50,51,52,53,54,55,56,57,58,59,60,61,62,63,69],[44,45],[44,46,47,48],[43],[43,44],[49,115],[49,95,96,97,99,104,107,109,111],[49,92,113,115],[92],[49,71,92,94,116,117,124],[49,91],[49,92]],"referencedMap":[[119,1],[221,2],[216,3],[218,4],[217,3],[220,5],[222,6],[127,7],[128,7],[163,8],[164,9],[165,10],[166,11],[167,12],[168,13],[169,14],[170,15],[171,16],[172,17],[173,17],[175,18],[174,19],[176,20],[177,21],[178,22],[162,23],[179,24],[180,25],[181,26],[213,27],[182,28],[183,29],[184,30],[185,31],[186,32],[187,33],[188,34],[189,35],[190,36],[191,37],[192,37],[193,38],[194,39],[196,40],[195,41],[197,42],[198,43],[199,44],[200,45],[201,46],[202,47],[203,48],[204,49],[205,50],[206,51],[207,52],[208,53],[209,54],[210,55],[211,56],[145,57],[152,58],[144,57],[159,59],[136,60],[135,61],[158,62],[153,63],[156,64],[138,65],[137,66],[133,67],[132,68],[155,69],[134,70],[139,71],[143,71],[161,72],[160,71],[147,73],[148,74],[150,75],[146,76],[149,77],[154,62],[141,78],[142,79],[151,80],[131,81],[157,82],[73,83],[76,84],[75,85],[88,86],[86,87],[85,84],[87,88],[83,83],[84,88],[78,89],[80,83],[82,84],[79,84],[81,1],[71,90],[121,91],[123,92],[117,93],[116,94],[103,95],[102,95],[109,96],[101,95],[110,96],[113,97],[107,95],[97,95],[99,95],[96,95],[95,95],[112,95],[100,95],[98,95],[106,95],[104,95],[111,98],[105,95],[118,1],[125,99],[122,100],[124,101],[126,102],[120,103],[91,90],[92,104],[94,105],[69,106],[50,84],[70,107],[57,1],[55,1],[56,1],[53,84],[59,84],[62,84],[61,84],[52,84],[46,108],[49,109],[44,110],[48,111]],"exportedModulesMap":[[119,1],[221,2],[216,3],[218,4],[217,3],[220,5],[222,6],[127,7],[128,7],[163,8],[164,9],[165,10],[166,11],[167,12],[168,13],[169,14],[170,15],[171,16],[172,17],[173,17],[175,18],[174,19],[176,20],[177,21],[178,22],[162,23],[179,24],[180,25],[181,26],[213,27],[182,28],[183,29],[184,30],[185,31],[186,32],[187,33],[188,34],[189,35],[190,36],[191,37],[192,37],[193,38],[194,39],[196,40],[195,41],[197,42],[198,43],[199,44],[200,45],[201,46],[202,47],[203,48],[204,49],[205,50],[206,51],[207,52],[208,53],[209,54],[210,55],[211,56],[145,57],[152,58],[144,57],[159,59],[136,60],[135,61],[158,62],[153,63],[156,64],[138,65],[137,66],[133,67],[132,68],[155,69],[134,70],[139,71],[143,71],[161,72],[160,71],[147,73],[148,74],[150,75],[146,76],[149,77],[154,62],[141,78],[142,79],[151,80],[131,81],[157,82],[73,83],[76,84],[75,85],[88,86],[86,87],[85,84],[87,88],[83,83],[84,88],[78,89],[80,83],[82,84],[79,84],[81,1],[71,84],[121,91],[123,112],[117,113],[116,114],[113,97],[111,115],[118,1],[125,116],[122,1],[124,84],[126,102],[120,83],[91,84],[92,117],[94,118],[69,106],[50,84],[70,107],[57,1],[55,1],[56,1],[53,84],[59,84],[62,84],[61,84],[52,84],[46,108],[49,109],[44,110],[48,111]],"semanticDiagnosticsPerFile":[119,45,221,214,216,218,217,215,220,219,222,127,128,163,164,165,166,167,168,169,170,171,172,173,175,174,176,177,178,162,212,179,180,181,213,182,183,184,185,186,187,188,189,190,191,192,193,194,196,195,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,129,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,145,152,144,159,136,135,158,153,156,138,137,133,132,155,134,139,140,143,130,161,160,147,148,150,146,149,154,141,142,151,131,157,73,76,75,88,86,85,87,83,84,78,80,74,82,79,77,81,71,72,121,123,115,117,116,103,102,109,101,110,113,107,97,99,96,95,112,100,98,106,104,111,105,108,118,125,93,122,124,126,120,90,91,92,89,94,114,68,65,64,69,66,67,50,70,57,55,56,63,53,60,54,59,58,62,51,61,52,47,46,43,49,44,48]},"version":"4.9.5"}
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.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","../../../teleport-types/dist/cjs/helper.d.ts","../../../teleport-types/dist/cjs/uidl.d.ts","../../../../node_modules/@babel/types/lib/index.d.ts","../../../teleport-types/dist/cjs/generators.d.ts","../../../teleport-types/dist/cjs/errors.d.ts","../../../teleport-types/dist/cjs/vuidl.d.ts","../../../teleport-types/dist/cjs/index.d.ts","../../../teleport-shared/dist/cjs/constants/index.d.ts","../../../teleport-shared/dist/cjs/utils/string-utils.d.ts","../../../teleport-shared/dist/cjs/utils/uidl-utils.d.ts","../../../teleport-shared/dist/cjs/utils/generic.d.ts","../../../teleport-shared/dist/cjs/utils/js-identifiers.d.ts","../../../teleport-shared/dist/cjs/utils/ast-scope.d.ts","../../../teleport-shared/dist/cjs/utils/ast-statement-order.d.ts","../../../teleport-shared/dist/cjs/utils/ast-effect-cleanup.d.ts","../../../teleport-shared/dist/cjs/utils/route-paths.d.ts","../../../teleport-shared/dist/cjs/utils/layout-topology.d.ts","../../../teleport-shared/dist/cjs/utils/html-content-model.d.ts","../../../teleport-shared/dist/cjs/utils/style-declarations.d.ts","../../../teleport-shared/dist/cjs/utils/storefront-tax.d.ts","../../../teleport-shared/dist/cjs/utils/product-discounts.d.ts","../../../teleport-shared/dist/cjs/utils/email-date.d.ts","../../../teleport-shared/dist/cjs/cache/constants.d.ts","../../../teleport-shared/dist/cjs/cache/client-runtime.d.ts","../../../teleport-shared/dist/cjs/cache/server-runtime.d.ts","../../../teleport-shared/dist/cjs/cache/version-store.d.ts","../../../teleport-shared/dist/cjs/cache/api-routes.d.ts","../../../teleport-shared/dist/cjs/cache/index.d.ts","../../../teleport-shared/dist/cjs/index.d.ts","../../src/array-mapper-pagination.ts","../../src/count-effect.ts","../../../teleport-plugin-common/dist/cjs/builders/ast-builders.d.ts","../../../teleport-plugin-common/dist/cjs/utils/parsed-ast.d.ts","../../../teleport-plugin-common/dist/cjs/builders/style-builders.d.ts","../../../teleport-plugin-common/dist/cjs/builders/hast-builders.d.ts","../../../teleport-plugin-common/dist/cjs/utils/types.d.ts","../../../teleport-plugin-common/dist/cjs/utils/ast-utils.d.ts","../../../teleport-plugin-common/dist/cjs/utils/style-utils.d.ts","../../../teleport-plugin-common/dist/cjs/utils/hast-utils.d.ts","../../../teleport-plugin-common/dist/cjs/utils/url-search-param-sync.d.ts","../../../teleport-plugin-common/dist/cjs/utils/url-query-writer.d.ts","../../../teleport-plugin-common/dist/cjs/utils/route-utils.d.ts","../../../teleport-plugin-common/dist/cjs/node-handlers/node-to-jsx/types.d.ts","../../../teleport-plugin-common/dist/cjs/node-handlers/node-to-jsx/utils.d.ts","../../../teleport-plugin-common/dist/cjs/node-handlers/node-to-html/types.d.ts","../../../teleport-plugin-common/dist/cjs/node-handlers/node-to-html/index.d.ts","../../../teleport-plugin-common/dist/cjs/node-handlers/node-to-jsx/index.d.ts","../../../teleport-plugin-common/dist/cjs/index.d.ts","../../src/transformations/shared-utils.ts","../../src/transformations/blog-post.ts","../../src/transformations/ecommerce-product.ts","../../src/transformations/index.ts","../../src/isr.ts","../../src/utils.ts","../../src/product-price-sort.ts","../../src/fetchers/postgresql.ts","../../src/fetchers/mysql.ts","../../src/fetchers/mariadb.ts","../../src/fetchers/redshift.ts","../../src/fetchers/mongodb.ts","../../src/fetchers/redis.ts","../../src/fetchers/firestore.ts","../../src/fetchers/clickhouse.ts","../../src/fetchers/airtable.ts","../../src/fetchers/supabase.ts","../../src/fetchers/turso.ts","../../src/fetchers/rest-api.ts","../../src/fetchers/javascript.ts","../../src/fetchers/utils/header-detection.ts","../../src/fetchers/csv-file.ts","../../src/fetchers/google-sheets.ts","../../src/fetchers/teleport.ts","../../src/fetchers/raw-query.ts","../../src/fetchers/index.ts","../../src/validation.ts","../../src/cache/types.ts","../../src/data-source-fetchers.ts","../../src/count-fetchers.ts","../../src/filter-utils.ts","../../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../src/sort-utils.ts","../../src/cache/ast.ts","../../src/loading-state.ts","../../src/cache/config.ts","../../src/pagination-controls.ts","../../src/numbered-pagination.ts","../../src/infinite-scroll.ts","../../src/page-reset.ts","../../src/page-url-sync.ts","../../src/pagination-plugin.ts","../../src/index.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/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/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../../node_modules/@types/jest/index.d.ts","../../../../node_modules/@types/jest/ts3.2/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14fc7efae8b184b18019a5906c6f6de752823b44ff1acf7924bbdc8877ded21b","b42584f9282882a4c3e388b5c9ef8d78b007540795dfd6ea2421dd28d2e1564f","8d27e5f73b75340198b2df36f39326f693743e64006bd7b88a925a5f285df628","dc825386fec10debdf3c70118b36fab9fbf806c96b4bc562ca819ca7a57c4307","71a689048584cde03cb508408ae7c3b04ad8f10af887865e8b65c27ed9d91488","d9118ed71b9968fea213b070209081a1b1c378b55ddcd026fb1ae8a7f52c15b7","6ba1631f84ef4507073189c4ada06d6de8bac89375ea3b49e34e49006cc44a3f","afa9397f3aa80897cec3ddec1dd6f7c8741106ce96090f74df790a474b114ed6","2151c15cf44957b985572346813bd65fba324d8f9422ad7aacdcacbd78dc2d5f","016e13cb6b202723f41294ea8028ae51ab987e847808c6f637d5a890954a943c","403723c612eb5754e02e99e0509f13822535b3b559bba19f01cfc7a543919142","ef444c3abed06ad312847e29b4ba4432f7c195314c4bb82a25ce95f95c778a5b","1b162486fa280dbee48fc4c144654d5f55efcc37b7fee14d797abfbdad9a949c","ac38f9ccc10049dd76ddfb68a4ac6647d36656d62d4c01cd32ce1386e6e56758","210a682e78eed1c7aae6824de615032daaf3fc60c2b0cd3720200b6d61f9fd19","3e39c53f8d84f8cab50817a177664b09180a2d7eebac4583789268f9fd589b84","ab05daec0e36402aa878f9e6bce5bbb4ca1766771a40287cc253744045349777","ecfca193bd5f4c5a96cdca608fcc5bdec30439d0648bc90795cabbe07927b777","26b70c898ac9086bfb061fa451c96bf0e67e0281cb8404c72bc4b8bed45670af","152038e0f63f7fc9fd01dda2cd7e6d2a702841959b9a81c8c0d412947615d145","50d566d584d04608d6e06d8c544c234253af732c73f998363ddb3a04a2df4e05","85c1a4cf9f573ed7cb65596d82d315157ac03ff6914f578e6f0fdbca356557c7","a38a716bf00f98c44b63ea11a8f02dd1d7cc33deb445db79dd48f6ea50a93faf","2c010aad4ced0c836ea0c5d8b0465afe128c6dfab0fc0486df89e01d831128bf","4e6ff96a2db4fd3831ff16dc907e51fa41c417c57771712ab528db763eefc30d","e421033924a00045db6c0f30c05c1c008077828a39530fb5c742179eb56c28ed","33cae5e413c0ce1edeffeb0657a12b37e123a0eac472717561412d262f01f796","7864d42f488cf277d879b29b952dec989e11b02b4c04cf99595cbfafaf4a3775","28590f619daef2aa1a464e777b9270824e2609ba30c482242f6abb0dc267c36f",{"version":"6cdbee86dee84fb542031c68129cc8f8efbf0008a8b56fc6b591046210abfbd1","signature":"268cc264987659f1004c96042c9c43c20aab8f07862bb9c5d2b981103eb1457c"},{"version":"8f2197b0dffc3ff813593d3fd7c5326da100cbe5e5ae92327839e0d46c945cb0","signature":"535e350b9ca571e087fb0d441e2de5d2f2984265e07ee4fbaf48c3aa6e745d49"},"b7f5a08a542459965e03364a10ce321d28eb5dc96c7cef00a48cb89e455f8532","7d69ac79c9de7620a1bdd926fd4b20b8e968d6467a220eac2a836988ab47c933","d350fc146b46550e424850ab9f7e7d8951156584dbd27bf493e37d7d2300af87","51df45d44f1a2052bd14063736f385bfbdcfee3759fa5597c89f62b3bbdb02e5","10b2bb0a74b12ecbab5003ff91aa8b3da674f81a5d72fdd6f998bfaf664948c8","c5517fd5758cee081b157b90a8d1bd3f300e366d0597270ed30e9c0d72125c2d","3f4fe2fe5f1425cb3e04f5c898d990a1925a7c8a84548a4804f831cfaa2194cb","6ff754e93a1ef94f7a92e7f6f9b67357f3b25836ab36d66202d1d07343186ab7","504f64fcde588e7650963530c4108c700d2bf56e7c381a713e09c106987e9e3c","2ead83b6c419298ed2162580de49d95ea821f323ce5c9ea852b5d48c24b213a3","0f8a91a725deb2bc4f3d64760262135d51a7f5b27e0749424ea90218b719461c","bbcd30d53884212c228ff7e76c17ac9b1a928cdf5b8f427a71194c811a5d714d","1fe41493efdde00b7f7b326310cba7ea78bb55ff75ade0f21f788e1cda8fe9ed","48533e135178c91d9abe0789d1c09802696a42985217396ccfcfd1034a099a0e","dcaef7f7c1f0cb2dba19a1a70cc8d5276faa68e50bc69d6a006d3aaaaa9f7aa7","ffd67adf9464cf9bcddc3954fcd27d59b60e85acb02101fefe8b0eb642a2be2f","fc5a1e87e350e2e8be13fb933ab2b992b1191adaa9e7c5c5cbeb324ddf735130",{"version":"3b8f11465b65790afe276d4492c9d7aa0f2e77daeab9226e3df8509f3ec07354","signature":"79f979b9f84ca0e46aacfc04dc7849991e46425604a62d539eb00a0fb9bb0dac"},{"version":"d4ecb57b6ef0c3bdce8c006166ef105c60fcee7f732806c9ee81277b66cacd53","signature":"8babb4c4f48649d024bdbeef0c5bdab6625a0f20edd3e20d28e5e0b1acef358a"},{"version":"2dd25278c59e31b46f724accc015e800abcd663bf78f751d7db8e519e7ab66e4","signature":"f30b56d3e2f291bf1069236ac96b66751ff197465ea123aa5959e3c0629e98bd"},{"version":"80dd8b0a6a7ba48512e8468f59184a13353f8dee38b6188aa7023a1c2b5362e7","signature":"38a76a95e5f9ec676804e1f7cd9b2ab0cd46f59a21ac5fe08081352413b29421"},{"version":"089156ee8c662fc7994e505bb92f51e2ee3d35320c86c06881aaa451546dc7a6","signature":"5544c2af7ff781b56ab78a636432e0c005cfe2358409e1e30c9f2e95b06199e2"},{"version":"373df17bbce2a80361fa3cff5e10ff6b06cf7b549f58f323d4738f2dbd2ef063","signature":"d9921ca6c23a4c37a9e9e6ffc745d1479179b935ef43345bb0226d11ed322dcb"},{"version":"06a208a7a03d6106fa9edfda98e6c1b01770f065d0ee8d9a0f5d3ed5da7a23f6","signature":"acd55c83d5f147f1261e9bf661a9d9fd294591547ceb3d04d478a442b0a9c9c6"},{"version":"10ff988e2c2ab8ea0537d0cd6217b8c1b4ab0a1b7b43a4769d4b1d3782915ae4","signature":"de06b0c86ca2d89fbaf2a13a72ab5fc755c40e044fa57c8bb38730efd3261022"},{"version":"9b7f0e521e1b4596b39063a0a979487583842211bfd427293b3b8b7bdfa828f5","signature":"d00193c90510e72ce2388a023e353fe46b5cdf19422f5161b9850335a986da2a"},{"version":"5d1a7a46f218bd927028130607a8c552656d4fe8cedaa57efcbf810c6477b09f","signature":"49f95af249a13fe4d6a4e010f6c962a3ad0b8c04b8239776860d739a6c7aebec"},{"version":"2717f6454b3dbb8a7cf5acbbd2f48209ba6d126d736cd858c5b5687ee2652aae","signature":"0c15c7a95261653c1d169de2acd460951fd2da86797be3d66bae181229913028"},{"version":"60b08c9a49795ae888a0c2e9c749470619196d38649eccb3b6a72299707814d0","signature":"42fd47b89f4fd4d1182b4dabb6cf21a207aecc9f18b9c64375a905f71ba7e27e"},{"version":"de2ca6e8f7b95566cde68e681726e04b9ba9e5adc979994fb8c013994e90d86c","signature":"1435e8f6c5c4a872b7ccdd524445c2c0a3841c514f278e9f7fe89dd27f51e22c"},{"version":"4b0cfe9110b745df569d1ae33ad25b968107400285f79d198dc5f08bfcebe7ee","signature":"9252525bdbffa14530825b1742cc1dbac04dd14d6da54858b1e0f10b13d9486a"},{"version":"478ebcfc229746b9e8921c62821870d299c512028dd3841a94884f89c99e14a0","signature":"086cba5e2c20c4c1bd96751364704784fc769c874f961d49511e8a71eb455635"},{"version":"1af30eb6d6b8cbf8c271e9574e0be812a65207e965e37fbe98c7ccd5109c2fb6","signature":"2a7fa42ab3eea43bd9ea8b87a44d66dd187e6b9bd3a92dfac9b94456cd3ee542"},{"version":"05300da7f9381e3535f5713e8448daca93c16e76522b4ed3cb90d643d1ff6751","signature":"05129746e5b08d401ebb1d0286ea7446ac7c867a003dc9c1e4f6ea8e546b4024"},{"version":"3384e38ce8f3eb163e0ff56f6a982a0677f797ba4657eb371214a1a45f32dd14","signature":"57800819a8bf58defe43f6529d610a62678fc94f0df6dd9c463a68fa795d8a5e"},{"version":"c5120a61318f05d981353cc67de4488219516d3bc06c7eb59c764cf94a1374c7","signature":"e174a43044ea557509070815d09a9bad989b1360808b43ca3451ee44391ec49e"},{"version":"3a3882ee0651c8d8ae087c6f34ea75908443ec2cb3457982a162f0cb73dacd64","signature":"37791c8e17a2d09885af3ae90cbf37cfc007d054422efca32fde77600aae2a56"},{"version":"b4f81c99b4783307322c0dda97fa6b295e53ca5c3749bb46dd46ff65114c7939","signature":"19bb513d1d82c0c13dfae8bd4609fdd77d257b213bb6286e2873abac15599b22"},{"version":"7cd4b54cf3a9402b0ae2fce241da97f59b33c69b5aca0f916630c7e8050e0b89","signature":"b3a57d9eea1fff68e106cc6489a3853c0402bd014eb827967e684953192d3907"},{"version":"a53d3edaf0b513e725872307d4cfa5f6f5b7476f3828320c46a0c131a806edac","signature":"7a5c1f79f55d6cfaf4adc1943e71e323072a0225ba261d2d8ba3a7eaec79205f"},{"version":"ed2d12697e79b8bbe30b6291bbe5584e29cc426935bcb85f536259cc3b2e32fd","signature":"df41724512f2db139638e0b6a09b99d34e8b7716e0966a19dbb618b9bd8e68f4"},{"version":"0ec5a2b5c22249e2a811e27a2cc368769e007da4d3bff555ab651bc5b714cb2f","signature":"93a3fb96944991bd0c3e262b895ae90e7166670cc7de56a018d026664ad3839c"},{"version":"35a1eb1c55a2d086ba888a0a535a0939f44b123933a812a1b8e8bb3843762827","signature":"8e75557ea51b03d65950ff837701891eb1b6a6d8d3047d67c288daa208de8cc9"},{"version":"4fb8c0cc9c3c0f02789eb46932de57ff337f279eed83405ab60c7fabbffd2479","signature":"dc8beebd62666f0f499f3d19afcd511268409762b733344538c18dd9d269102e"},{"version":"475c1c69558ea9267615a81295d7a68a80a50406c1bedab5bad2a717dc172ac7","signature":"d61c99152b49569aa8f1fb7f987505ac3729c61921dbbf8e2f56c8c5240fa1d1"},{"version":"e4a1fdee7f0aa189d0e187c268718677d19a64348e412f03f6ff0c2f49af6602","signature":"24814150d755e4554fb76b7c9f35f5a2a52c1b13038ddcf30577cf3dc7e1afee"},{"version":"b1f8280cf0bdbe930233ae48df96b6a871a7f24fc0d32f04e6e22f7d84daa529","signature":"b7e105389681fd52ac69f81882168ec249a2b06b1462734e47e8e8d72d8aa702"},{"version":"fe3d7c154d26ff780ce2239874b4ef7b94108e57d2050dd796722f79852378f7","signature":"18ddf6d4cc9e115d8a6c97a4a0f590c0f16e06e862fbf9992486fcbcfe611a55"},"1c2cd862994b1fbed3cde0d1e8de47835ff112d197a3debfddf7b2ee3b2c52bc",{"version":"516456888ee35d15a2ac3251216d4ca74999771d07c74507a47f22b2c1d7bdfc","signature":"e1552ab0a1a905e2691c385fbdb013f1f25a5a107f28b6fcc3ac44a056922b6a"},{"version":"99987da8cb0b1b27bbcddbca60376d800be527d649a32aa781dfe8ec187fb213","signature":"7ea150f4885475bd11eee026a3d814ae5bebe0c75e89cdf1de8598e3d0308cb2"},{"version":"84730371cb2c4d2821dd103664fcc0f36fec131db9d81a95059f012cfe6bf71c","signature":"3a55e43a9939604ac49f7ec7d51dbe29d01cc88e3035842dbf8125e7cfeb70e2"},{"version":"9aa8a1d15fb1eb78be9fc60e652ac7388ac2d9373b65f68b91d01b73a900d1e9","signature":"e7dcdfa55263d1e25ec069f2a5961820ef5adfa15a872df7db2c681c0eb8b7fc"},{"version":"453b6132c4e5a437d8fbe148db55e01daadef090818737f1b706b40fbb197876","signature":"c0384b32d0cef8db8f7b425685516208c102a7e82533beb3369bc31bb17f9c08"},{"version":"f040b03e287f16c159aaa7ced52f6f698d6f553f2a09420b2c982cfba9cf36fe","signature":"62cfd6415b218eb3b90df0478f308a7cf0a2cf6786297f9554f69d97a60fb8ed"},{"version":"acdee84c35995bc5294cbd087e3dc9e93a936c34ab96c47a1d5c2bf3b3dbae08","signature":"c027ce91cb2fcdde8a40fca63422cc34ff33fb50cdc57d35c474549b64e2c80f"},{"version":"412fd0eadc97e066a549ff62f47b483d46f4129e30f73232c7e8b08e9115c2ab","signature":"c4c88392a90c5f81574222e3d3b04616bbe5b33629df1aa6575ed97f8c0ce025"},{"version":"7650de377ba0cccdfaba9b01da4697b87be6103bd362827b35f014feceb61bde","signature":"e03f059fea2a127ec145b680750d40578b15493e13e24604fca4b77c383b5b7d"},{"version":"324383a4e96308630863afd6804bbb419412aa51db51cceddd1ebdc110b53f26","signature":"81edd44b1cc80a705e38f13a4c9238f25ff8181147f1c729f28c00b5ae539eec"},{"version":"c825dba4b5489155fb0725797c2ab97bd601f2c191c9f5fded28e168bac04f64","signature":"d937f0bfda15358170835d7ef7af1aac1efe35779167a30fe397b492485e20ce"},"0b4bc32128fda7bb0752cf284730dd3a817aae04a3d7f92e3b2d54bd61362fe1","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","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":"5f290ea7efbe9d8431e10df12c0d5672b67988e7c171c2d356749fac70347a55","affectsGlobalScope":true},"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89",{"version":"49c89f8fa09d21c161e6a367448639e032f42d77cc2ec8ab54ecb8fa9a3ad59f","affectsGlobalScope":true},"e4b50850c2a62c7750428e452ee24b167180104d514d5e5c0ca691753365f610","304504c854c47a55ab4a89111a27a2daf8a3614740bd787cc1f2c51e5574239c",{"version":"95f9129a37dcace36e17b061a8484952586ecfe928c9c8ce526de1a2f4aaefa7","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","0f9061846236850a872cb44097d071631e93c8749a8b16c191fe3c2a48faede4","e46fa644658c2d6e5c85e954ea76b92c97d63f0851d3ccdab8c2a80d5962aaa9","1c611ff373ce1958aafc40b328048ac2540ba5c7f373cf2897e0d9aeaabe90a0","a307d22a0130ac94c1a17fffa6d57ac272deb5838cb966a9420911d259cdf1be","d2e415abf6cb81ac9e2700b4db5ea7be76b997e812285b8e5e1e414eb2750b6e","09d6cebdced6aa1181ac1523c8f22a133f5ed80589678b64051f0602f0518374",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"7c35691dc3972ff1507d8dd279d833f540973d0917bde22e191cf7a8feaac29f","affectsGlobalScope":true},"62662d7a886e5cfa870685720fd27b763743ca4d2cf29326f75d76606a64eadd","b8c670688bd228d3cc9c169690b09b687188c50ff263a94df63b207701105ad9","d8e16905907111390d5a943816306ae997dfe56476f14142166f8b13ee322eea","8068c911a1c40bc6c5ffc58c625b21d807778f6aa6d63a73e6f04f88bcac5b79","a1dbce56ad5f3a37caafb9033c9d190a199217d673f5fa099c8968d471a2fdaa","c6f77efcc19f51c8759779b6b6ee0d88046c15c15dadac8ffed729a6620daf39",{"version":"089867511b37a534ae71f3d9bc97acc0b925b7f5dbec113f98c4b49224c694eb","affectsGlobalScope":true},"269d0ea3202820c29a32c1f2a357837a4f1918426844f7e7c90af15ec40d1dc1","66432f885e30cf471573de22a5af5eca9ab46b37b122aec98beadf77e9b7df24","323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c",{"version":"034e635df3c014df1d6b1110b724ca0c4d2d324b45a84974c7d6931f9cf95ea7","affectsGlobalScope":true},{"version":"87f9456115554cb0f78f098ddbd585096871c19d2d05274c1b1b4ade3151da78","affectsGlobalScope":true},"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","da618f0ea09d95c3b51514de43bf97dab008c85bede58aa57cf95e4984c7c957","48a35b181ecf47dbbc0a7ab4b5ba778d91eaa838ba42bf4aaaead42be77ef39a","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","5195aeb0de306d1c5ca8033457fbcab5987657112fa6d4971cfeb7644493a369","c5dbf0003bc9f0f643e54cd00a3868d1afe85497fecb56be6f2373dc85102924",{"version":"ce73eb199c4bf96c015f069aac161488ed73ebeaea3d87b6d5aa9a968a7b38d4","affectsGlobalScope":true},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true},"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","962f105729d5b888c8b70e193f6020ee92c6c8144c827de40f80d65dd188ad7f","ac74e2b754fba690036f8221d978f6debb867462b87af254f24e924b677395d0","80858f6de9af22e53aff221fe3590215ea544c2aeb2cc60cf8e08a9c785c8fef",{"version":"068b8ee5c2cd90d7a50f2efadbbe353cb10196a41189a48bf4b2a867363012b4","affectsGlobalScope":true},{"version":"340659b96782f5813aad6c1f89ea1b83b2f3fa993115c7b30366375d9bae5a4e","affectsGlobalScope":true},"6f44a190351ab5e1811abebe007cf60518044772ccc08244f9f241706afa767f","fecdf44bec4ee9c5188e5f2f58c292c9689c02520900dceaaa6e76594de6da90","cf45d0510b661f1da461479851ff902f188edb111777c37055eff12fa986a23a",{"version":"895ca532c15c77cbb6a871af1870b57bcd0ca4f38a1bd69669dd0e95bb58565a","affectsGlobalScope":true},"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","e222104af6cb9415238ad358488b74d76eceeff238c1268ec6e85655b05341da","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","eba230221317c985ab1953ccc3edc517f248b37db4fef7875cb2c8d08aff7be7","b83e796810e475da3564c6515bc0ae9577070596a33d89299b7d99f94ecfd921","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"f624e578325b8c58e55b30c998b1f4c3ec1b61a9fa66373da4250c89b7880d44","affectsGlobalScope":true},{"version":"d3002f620eab4bf6476c9da5c0efb2041d46f7df8b3032a5631bd206abef2c75","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":99,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"target":1},"fileIdsList":[[45],[225,227],[221,222],[221,222,223,224],[226],[228],[134],[170],[171,176,204],[172,183,184,191,201,212],[172,173,183,191],[174,213],[175,176,184,192],[176,201,209],[177,179,183,191],[170,178],[179,180],[183],[181,183],[170,183],[183,184,185,201,212],[183,184,185,198,201,204],[168,217],[179,183,186,191,201,212],[183,184,186,187,191,201,209,212],[186,188,201,209,212],[134,135,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219],[183,189],[190,212,217],[179,183,191,201],[192],[193],[170,194],[195,211,217],[196],[197],[183,198,199],[198,200,213,215],[171,183,201,202,203,204],[171,201,203],[201,202],[204],[205],[170,201],[183,207,208],[207,208],[176,191,201,209],[210],[191,211],[171,186,197,212],[176,213],[201,214],[190,215],[216],[171,176,183,185,194,201,212,215,217],[201,218],[145,149,212],[145,201,212],[140],[142,145,209,212],[191,209],[220],[140,220],[142,145,191,212],[137,138,141,144,171,183,201,212],[137,143],[141,145,171,204,212,220],[171,220],[161,171,220],[139,140,220],[145],[139,140,141,142,143,144,145,146,147,149,150,151,152,153,154,155,156,157,158,159,160,162,163,164,165,166,167],[145,152,153],[143,145,153,154],[144],[137,140,145],[145,149,153,154],[149],[143,145,148,212],[137,142,143,145,149,152],[171,201],[140,145,161,171,217,220],[45,49],[49],[45,49,75],[74,75,76,77,79,80,81,82,83,84,85,86,87,88,89],[49,87],[45,49,85],[45,49,75,78],[49,71],[45,49,118],[49,71,118],[49,98,99,100,102,107,110,112,114,119],[49,71,94,116,117,118,120],[96],[96,111],[98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115],[96,97],[94,96,97],[45,49,71,72,94,95,96,119,120,132],[45,124],[45,127],[45,90],[45,49,71,73,90,94,96,118,119,121,122,123,124,125,126,127,128,129,130,131],[45,49,90],[49,71,91,92,93],[45,49,71,90,94,95,119],[65,66,67,68,69],[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,70],[44,45],[44,46,47,48],[43],[43,44],[49,118],[49,98,99,100,102,107,110,112,114],[49,94,116,118],[94],[49,72,94,96,119,120,132],[49,93],[49,94]],"referencedMap":[[122,1],[228,2],[223,3],[225,4],[224,3],[227,5],[229,6],[134,7],[135,7],[170,8],[171,9],[172,10],[173,11],[174,12],[175,13],[176,14],[177,15],[178,16],[179,17],[180,17],[182,18],[181,19],[183,20],[184,21],[185,22],[169,23],[186,24],[187,25],[188,26],[220,27],[189,28],[190,29],[191,30],[192,31],[193,32],[194,33],[195,34],[196,35],[197,36],[198,37],[199,37],[200,38],[201,39],[203,40],[202,41],[204,42],[205,43],[206,44],[207,45],[208,46],[209,47],[210,48],[211,49],[212,50],[213,51],[214,52],[215,53],[216,54],[217,55],[218,56],[152,57],[159,58],[151,57],[166,59],[143,60],[142,61],[165,62],[160,63],[163,64],[145,65],[144,66],[140,67],[139,68],[162,69],[141,70],[146,71],[150,71],[168,72],[167,71],[154,73],[155,74],[157,75],[153,76],[156,77],[161,62],[148,78],[149,79],[158,80],[138,81],[164,82],[74,83],[77,84],[76,85],[90,86],[88,87],[87,84],[89,88],[85,83],[86,88],[79,89],[81,83],[84,84],[80,84],[83,1],[82,1],[72,90],[124,91],[126,92],[73,1],[120,93],[119,94],[106,95],[105,95],[112,96],[104,95],[113,96],[116,97],[110,95],[100,95],[102,95],[99,95],[98,98],[115,95],[103,95],[101,95],[109,95],[107,95],[114,99],[108,95],[121,1],[133,100],[129,1],[125,101],[128,102],[130,1],[131,103],[127,1],[132,104],[123,105],[93,90],[94,106],[96,107],[70,108],[50,84],[71,109],[57,1],[55,1],[56,1],[53,84],[59,84],[62,84],[61,84],[52,84],[46,110],[49,111],[44,112],[48,113]],"exportedModulesMap":[[122,1],[228,2],[223,3],[225,4],[224,3],[227,5],[229,6],[134,7],[135,7],[170,8],[171,9],[172,10],[173,11],[174,12],[175,13],[176,14],[177,15],[178,16],[179,17],[180,17],[182,18],[181,19],[183,20],[184,21],[185,22],[169,23],[186,24],[187,25],[188,26],[220,27],[189,28],[190,29],[191,30],[192,31],[193,32],[194,33],[195,34],[196,35],[197,36],[198,37],[199,37],[200,38],[201,39],[203,40],[202,41],[204,42],[205,43],[206,44],[207,45],[208,46],[209,47],[210,48],[211,49],[212,50],[213,51],[214,52],[215,53],[216,54],[217,55],[218,56],[152,57],[159,58],[151,57],[166,59],[143,60],[142,61],[165,62],[160,63],[163,64],[145,65],[144,66],[140,67],[139,68],[162,69],[141,70],[146,71],[150,71],[168,72],[167,71],[154,73],[155,74],[157,75],[153,76],[156,77],[161,62],[148,78],[149,79],[158,80],[138,81],[164,82],[74,83],[77,84],[76,85],[90,86],[88,87],[87,84],[89,88],[85,83],[86,88],[79,89],[81,83],[84,84],[80,84],[83,1],[82,1],[72,84],[124,91],[126,114],[73,1],[120,115],[119,116],[116,97],[114,117],[121,1],[133,118],[129,1],[125,1],[128,1],[130,1],[131,1],[127,1],[132,84],[123,83],[93,84],[94,119],[96,120],[70,108],[50,84],[71,109],[57,1],[55,1],[56,1],[53,84],[59,84],[62,84],[61,84],[52,84],[46,110],[49,111],[44,112],[48,113]],"semanticDiagnosticsPerFile":[122,45,228,221,223,225,224,222,227,226,229,134,135,170,171,172,173,174,175,176,177,178,179,180,182,181,183,184,185,169,219,186,187,188,220,189,190,191,192,193,194,195,196,197,198,199,200,201,203,202,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,136,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,152,159,151,166,143,142,165,160,163,145,144,140,139,162,141,146,147,150,137,168,167,154,155,157,153,156,161,148,149,158,138,164,74,77,76,90,88,87,89,85,86,79,81,75,84,80,78,83,82,72,124,126,118,73,120,119,106,105,112,104,113,116,110,100,102,99,98,115,103,101,109,107,114,108,111,121,133,129,95,125,128,130,131,127,132,97,123,92,93,94,91,96,117,69,66,65,70,67,68,50,71,57,55,56,64,53,60,54,59,63,58,62,51,61,52,47,46,43,49,44,48]},"version":"4.9.5"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teleporthq/teleport-plugin-next-data-source",
3
- "version": "0.43.59",
3
+ "version": "0.43.60",
4
4
  "description": "A plugin for managing data sources for Next.js projects.",
5
5
  "author": "teleportHQ",
6
6
  "license": "MIT",
@@ -26,9 +26,9 @@
26
26
  "dependencies": {
27
27
  "@babel/parser": "^7.26.10",
28
28
  "@babel/types": "^7.5.5",
29
- "@teleporthq/teleport-plugin-common": "^0.43.59",
30
- "@teleporthq/teleport-shared": "^0.43.59",
31
- "@teleporthq/teleport-types": "^0.43.59"
29
+ "@teleporthq/teleport-plugin-common": "^0.43.60",
30
+ "@teleporthq/teleport-shared": "^0.43.60",
31
+ "@teleporthq/teleport-types": "^0.43.60"
32
32
  },
33
- "gitHead": "f324ed53e044d250c2cb8d09b08296734fef9d19"
33
+ "gitHead": "60325939141fca343d2019111b37c0d4f32e210c"
34
34
  }
@@ -1,6 +1,16 @@
1
1
  import { UIDLElementNode, UIDLNode } from '@teleporthq/teleport-types'
2
2
  import { UIDLUtils } from '@teleporthq/teleport-shared'
3
3
 
4
+ /**
5
+ * @deprecated Not part of the generation pipeline.
6
+ *
7
+ * Array-mapper pagination is generated by `pagination-plugin.ts` (with
8
+ * `numbered-pagination.ts`, `infinite-scroll.ts` and `pagination-controls.ts`).
9
+ * This module models an older client-side slicing design and is kept only
10
+ * because it is re-exported from the package index; nothing in the pipeline
11
+ * calls it. Add nothing here — the two would drift apart in silence.
12
+ */
13
+
4
14
  export interface ArrayMapperPaginationInfo {
5
15
  paginationNodeId: string
6
16
  dataSourceIdentifier: string
@@ -0,0 +1,137 @@
1
+ import * as types from '@babel/types'
2
+
3
+ /**
4
+ * The client-side "how many rows match?" fetch that drives `ds_N_maxPages`.
5
+ *
6
+ * One builder for every caller, because the two hand-written copies had already
7
+ * drifted: the search-enabled list sent the query, the columns and the filters,
8
+ * while the paginated-only list fetched a bare `/api/<file>-count` with NO
9
+ * params at all — so a filtered list counted the WHOLE table and "Next" stayed
10
+ * enabled long past the end of the filtered results.
11
+ *
12
+ * The endpoint deliberately receives no `sorts` and no `limit`: ordering cannot
13
+ * change how many rows match, and a limit would count the page rather than the
14
+ * result set.
15
+ */
16
+
17
+ interface CountEffectOptions {
18
+ /** `<fileName>-count` is the generated API route. */
19
+ fileName: string
20
+ /** Divisor for the page count; the mapper's resolved `perPage`. */
21
+ perPage: number
22
+ /** Name of the `setDs_N_maxPages` setter. */
23
+ setMaxPagesVar: string
24
+ /**
25
+ * Params sent to the count endpoint: the search query (when the list has
26
+ * one), `queryColumns`, and the filter array. Built by the caller because
27
+ * only it knows how this usage's filter destinations resolve to expressions.
28
+ */
29
+ urlParams: types.ObjectProperty[]
30
+ /** Dependencies that should re-run the count. */
31
+ deps: types.Expression[]
32
+ }
33
+
34
+ /**
35
+ * `data.count === 0 ? 0 : Math.ceil(data.count / perPage)`
36
+ *
37
+ * Zero is special-cased rather than left to `Math.ceil(0 / n)` so the intent —
38
+ * "no results at all", which numbered pagination renders as an empty strip — is
39
+ * visible in the generated code.
40
+ */
41
+ const buildMaxPagesExpression = (perPage: number): types.Expression =>
42
+ types.conditionalExpression(
43
+ types.binaryExpression(
44
+ '===',
45
+ types.memberExpression(types.identifier('data'), types.identifier('count')),
46
+ types.numericLiteral(0)
47
+ ),
48
+ types.numericLiteral(0),
49
+ types.callExpression(
50
+ types.memberExpression(types.identifier('Math'), types.identifier('ceil')),
51
+ [
52
+ types.binaryExpression(
53
+ '/',
54
+ types.memberExpression(types.identifier('data'), types.identifier('count')),
55
+ types.numericLiteral(perPage)
56
+ ),
57
+ ]
58
+ )
59
+ )
60
+
61
+ export const buildCountFetchStatement = (
62
+ options: Pick<CountEffectOptions, 'fileName' | 'perPage' | 'setMaxPagesVar' | 'urlParams'>
63
+ ): types.Statement =>
64
+ types.expressionStatement(
65
+ types.callExpression(
66
+ types.memberExpression(
67
+ types.callExpression(
68
+ types.memberExpression(
69
+ types.callExpression(types.identifier('fetch'), [
70
+ types.templateLiteral(
71
+ [
72
+ types.templateElement({
73
+ raw: `/api/${options.fileName}-count?`,
74
+ cooked: `/api/${options.fileName}-count?`,
75
+ }),
76
+ types.templateElement({ raw: '', cooked: '' }),
77
+ ],
78
+ [
79
+ types.newExpression(types.identifier('URLSearchParams'), [
80
+ types.objectExpression(options.urlParams),
81
+ ]),
82
+ ]
83
+ ),
84
+ ]),
85
+ types.identifier('then')
86
+ ),
87
+ [
88
+ types.arrowFunctionExpression(
89
+ [types.identifier('res')],
90
+ types.callExpression(
91
+ types.memberExpression(types.identifier('res'), types.identifier('json')),
92
+ []
93
+ )
94
+ ),
95
+ ]
96
+ ),
97
+ types.identifier('then')
98
+ ),
99
+ [
100
+ types.arrowFunctionExpression(
101
+ [types.identifier('data')],
102
+ types.blockStatement([
103
+ types.ifStatement(
104
+ types.logicalExpression(
105
+ '&&',
106
+ types.identifier('data'),
107
+ types.binaryExpression('in', types.stringLiteral('count'), types.identifier('data'))
108
+ ),
109
+ types.blockStatement([
110
+ types.expressionStatement(
111
+ types.callExpression(types.identifier(options.setMaxPagesVar), [
112
+ buildMaxPagesExpression(options.perPage),
113
+ ])
114
+ ),
115
+ ])
116
+ ),
117
+ ])
118
+ ),
119
+ ]
120
+ )
121
+ )
122
+
123
+ /**
124
+ * The whole `useEffect(...)` wrapper.
125
+ *
126
+ * ⛔ No skip-on-mount guard, on purpose: a page seeds `maxPages` from the
127
+ * build-time `getStaticProps` count, and that snapshot goes stale the moment
128
+ * rows are added after the build — leaving "Next" disabled on a list that has
129
+ * grown. Re-counting on mount is what corrects it.
130
+ */
131
+ export const buildCountFetchEffect = (options: CountEffectOptions): types.ExpressionStatement =>
132
+ types.expressionStatement(
133
+ types.callExpression(types.identifier('useEffect'), [
134
+ types.arrowFunctionExpression([], types.blockStatement([buildCountFetchStatement(options)])),
135
+ types.arrayExpression(options.deps),
136
+ ])
137
+ )
@@ -4,6 +4,11 @@ import {
4
4
  generateSafeJSONParseCode,
5
5
  generateSearchEscapeHelpersCode,
6
6
  } from '../utils'
7
+ import {
8
+ generateSortFallbackFieldHelper,
9
+ generateSortFieldSqlHelper,
10
+ generateSortTiebreakSql,
11
+ } from '../product-price-sort'
7
12
 
8
13
  interface PostgreSQLConfig {
9
14
  connectionString?: string
@@ -134,6 +139,10 @@ const processFilters = (filters, conditions, queryParams, paramIndex) => {
134
139
 
135
140
  ${generateDateFormatterCode()}
136
141
 
142
+ ${generateSortFieldSqlHelper(tableName)}
143
+
144
+ ${generateSortFallbackFieldHelper(tableName)}
145
+
137
146
  export default async function handler(req, res) {
138
147
  const client = getClient()
139
148
 
@@ -198,36 +207,66 @@ export default async function handler(req, res) {
198
207
  sql += \` WHERE \${conditions.join(' AND ')}\`
199
208
  }
200
209
 
201
- // Handle sorts - new array format
210
+ // Handle sorts - new array format. Two ORDER BY clauses are built: the one
211
+ // actually used, and a plain-column twin kept only as the fallback below.
212
+ let orderBySql = ''
213
+ let plainOrderBySql = ''
202
214
  if (sorts) {
203
215
  const parsedSorts = safeJSONParse(sorts)
204
216
  if (Array.isArray(parsedSorts) && parsedSorts.length > 0) {
205
- const orderClauses = parsedSorts.map((sort) => {
206
- if (!sort.field) return null
207
- const order = (sort.order || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'
208
- return \`\${sort.field} \${order}\`
209
- }).filter(Boolean)
217
+ const valid = parsedSorts.filter((sort) => sort && sort.field)
218
+ const orderOf = (sort) => (sort.order || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'
219
+ const orderClauses = valid.map((sort) => \`\${sortFieldSql(sort.field)} \${orderOf(sort)}\`)
220
+ const plainClauses = valid.map((sort) => \`\${sortFallbackField(sort.field)} \${orderOf(sort)}\`)
210
221
 
211
222
  if (orderClauses.length > 0) {
212
- sql += \` ORDER BY \${orderClauses.join(', ')}\`
223
+ // A deterministic tiebreaker keeps pagination stable: "sort by
224
+ // discount" ties every undiscounted product at zero, and equal rows
225
+ // with no defined order can repeat across pages or vanish between them.
226
+ orderBySql = \` ORDER BY \${orderClauses.join(', ')}${generateSortTiebreakSql(
227
+ tableName
228
+ )}\`
229
+ plainOrderBySql = \` ORDER BY \${plainClauses.join(', ')}${generateSortTiebreakSql(
230
+ tableName
231
+ )}\`
213
232
  }
214
233
  }
215
234
  } else if (sortBy) {
216
- sql += \` ORDER BY \${sortBy} \${(sortOrder || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'}\`
235
+ orderBySql = \` ORDER BY \${sortBy} \${(sortOrder || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'}\`
236
+ plainOrderBySql = orderBySql
217
237
  }
218
-
238
+ const usedDiscountAwareSort = orderBySql !== plainOrderBySql
239
+
219
240
  const limitValue = limit || perPage
220
241
  const offsetValue = offset !== undefined ? parseInt(offset) : (page && perPage ? (parseInt(page) - 1) * parseInt(perPage) : undefined)
221
-
242
+
243
+ let sqlTail = ''
222
244
  if (limitValue) {
223
- sql += \` LIMIT \${limitValue}\`
245
+ sqlTail += \` LIMIT \${limitValue}\`
224
246
  }
225
247
 
226
248
  if (offsetValue !== undefined) {
227
- sql += \` OFFSET \${offsetValue}\`
249
+ sqlTail += \` OFFSET \${offsetValue}\`
228
250
  }
251
+
252
+ const baseSql = sql
253
+ sql = baseSql + orderBySql + sqlTail
229
254
 
230
- const result = await client.query(sql, queryParams)
255
+ // The discount-aware price ordering is an inline sub-select over a JSON
256
+ // column. It is written to be unraisable, but it runs inside ORDER BY for
257
+ // the whole table — so if a database ever rejects it, fall back to ordering
258
+ // by the stored list price rather than serving an empty products page.
259
+ let result
260
+ try {
261
+ result = await client.query(sql, queryParams)
262
+ } catch (sortError) {
263
+ if (!usedDiscountAwareSort) throw sortError
264
+ console.warn(
265
+ 'Discount-aware price sort failed; falling back to the list price:',
266
+ sortError && sortError.message
267
+ )
268
+ result = await client.query(baseSql + plainOrderBySql + sqlTail, queryParams)
269
+ }
231
270
  const rows = Array.isArray(result?.rows) ? result.rows : []
232
271
  const plainRows = rows.map((row) =>
233
272
  row && typeof row.toJSON === 'function' ? row.toJSON() : row
@@ -10,6 +10,11 @@ import {
10
10
  getTransformWrapperCode,
11
11
  type EcommerceProductTransformOptions,
12
12
  } from '../transformations'
13
+ import {
14
+ generateSortFallbackFieldHelper,
15
+ generateSortFieldSqlHelper,
16
+ generateSortTiebreakSql,
17
+ } from '../product-price-sort'
13
18
 
14
19
  interface TeleportDBConfig {
15
20
  host?: string
@@ -221,6 +226,10 @@ const processFilters = (filters, conditions, queryParams, paramIndex) => {
221
226
 
222
227
  ${generateDateFormatterCode()}
223
228
 
229
+ ${generateSortFieldSqlHelper(tableName)}
230
+
231
+ ${generateSortFallbackFieldHelper(tableName)}
232
+
224
233
  // Matches DDL / dangerous statements the raw-query branch should refuse.
225
234
  // Keep this list conservative — anything destructive or schema-changing is
226
235
  // out of scope for a client-triggered fetch. SELECT and CTEs (WITH ...) are
@@ -346,35 +355,66 @@ export default async function handler(req, res) {
346
355
  sql += \` WHERE \${conditions.join(' AND ')}\`
347
356
  }
348
357
 
358
+ // Handle sorts - new array format. Two ORDER BY clauses are built: the one
359
+ // actually used, and a plain-column twin kept only as the fallback below.
360
+ let orderBySql = ''
361
+ let plainOrderBySql = ''
349
362
  if (sorts) {
350
363
  const parsedSorts = safeJSONParse(sorts)
351
364
  if (Array.isArray(parsedSorts) && parsedSorts.length > 0) {
352
- const orderClauses = parsedSorts.map((sort) => {
353
- if (!sort.field) return null
354
- const order = (sort.order || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'
355
- return \`\${sort.field} \${order}\`
356
- }).filter(Boolean)
365
+ const valid = parsedSorts.filter((sort) => sort && sort.field)
366
+ const orderOf = (sort) => (sort.order || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'
367
+ const orderClauses = valid.map((sort) => \`\${sortFieldSql(sort.field)} \${orderOf(sort)}\`)
368
+ const plainClauses = valid.map((sort) => \`\${sortFallbackField(sort.field)} \${orderOf(sort)}\`)
357
369
 
358
370
  if (orderClauses.length > 0) {
359
- sql += \` ORDER BY \${orderClauses.join(', ')}\`
371
+ // A deterministic tiebreaker keeps pagination stable: "sort by
372
+ // discount" ties every undiscounted product at zero, and equal rows
373
+ // with no defined order can repeat across pages or vanish between them.
374
+ orderBySql = \` ORDER BY \${orderClauses.join(', ')}${generateSortTiebreakSql(
375
+ tableName
376
+ )}\`
377
+ plainOrderBySql = \` ORDER BY \${plainClauses.join(', ')}${generateSortTiebreakSql(
378
+ tableName
379
+ )}\`
360
380
  }
361
381
  }
362
382
  } else if (sortBy) {
363
- sql += \` ORDER BY \${sortBy} \${(sortOrder || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'}\`
383
+ orderBySql = \` ORDER BY \${sortBy} \${(sortOrder || '').toUpperCase().startsWith('DESC') ? 'DESC' : 'ASC'}\`
384
+ plainOrderBySql = orderBySql
364
385
  }
365
-
386
+ const usedDiscountAwareSort = orderBySql !== plainOrderBySql
387
+
366
388
  const limitValue = limit || perPage
367
389
  const offsetValue = offset !== undefined ? parseInt(offset) : (page && perPage ? (parseInt(page) - 1) * parseInt(perPage) : undefined)
368
-
390
+
391
+ let sqlTail = ''
369
392
  if (limitValue) {
370
- sql += \` LIMIT \${limitValue}\`
393
+ sqlTail += \` LIMIT \${limitValue}\`
371
394
  }
372
395
 
373
396
  if (offsetValue !== undefined) {
374
- sql += \` OFFSET \${offsetValue}\`
397
+ sqlTail += \` OFFSET \${offsetValue}\`
398
+ }
399
+
400
+ const baseSql = sql
401
+ sql = baseSql + orderBySql + sqlTail
402
+
403
+ // The discount-aware price ordering is an inline sub-select over a JSON
404
+ // column. It is written to be unraisable, but it runs inside ORDER BY for
405
+ // the whole table - so if a database ever rejects it, fall back to ordering
406
+ // by the stored list price rather than serving an empty products page.
407
+ let result
408
+ try {
409
+ result = await client.query(sql, queryParams)
410
+ } catch (sortError) {
411
+ if (!usedDiscountAwareSort) throw sortError
412
+ console.warn(
413
+ 'Discount-aware price sort failed; falling back to the list price:',
414
+ sortError && sortError.message
415
+ )
416
+ result = await client.query(baseSql + plainOrderBySql + sqlTail, queryParams)
375
417
  }
376
-
377
- const result = await client.query(sql, queryParams)
378
418
  const rows = Array.isArray(result?.rows) ? result.rows : []
379
419
  const plainRows = rows.map((row) =>
380
420
  row && typeof row.toJSON === 'function' ? row.toJSON() : row