convex-feedback 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +183 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/client/api.d.ts +72 -0
  4. package/dist/client/api.d.ts.map +1 -0
  5. package/dist/client/api.js +2 -0
  6. package/dist/client/api.js.map +1 -0
  7. package/dist/client/config.d.ts +37 -0
  8. package/dist/client/config.d.ts.map +1 -0
  9. package/dist/client/config.js +36 -0
  10. package/dist/client/config.js.map +1 -0
  11. package/dist/client/index.d.ts +186 -0
  12. package/dist/client/index.d.ts.map +1 -0
  13. package/dist/client/index.js +248 -0
  14. package/dist/client/index.js.map +1 -0
  15. package/dist/component/_generated/api.d.ts +42 -0
  16. package/dist/component/_generated/api.d.ts.map +1 -0
  17. package/dist/component/_generated/api.js +31 -0
  18. package/dist/component/_generated/api.js.map +1 -0
  19. package/dist/component/_generated/component.d.ts +233 -0
  20. package/dist/component/_generated/component.d.ts.map +1 -0
  21. package/dist/component/_generated/component.js +11 -0
  22. package/dist/component/_generated/component.js.map +1 -0
  23. package/dist/component/_generated/dataModel.d.ts +46 -0
  24. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  25. package/dist/component/_generated/dataModel.js +11 -0
  26. package/dist/component/_generated/dataModel.js.map +1 -0
  27. package/dist/component/_generated/server.d.ts +133 -0
  28. package/dist/component/_generated/server.d.ts.map +1 -0
  29. package/dist/component/_generated/server.js +80 -0
  30. package/dist/component/_generated/server.js.map +1 -0
  31. package/dist/component/comments.d.ts +68 -0
  32. package/dist/component/comments.d.ts.map +1 -0
  33. package/dist/component/comments.js +206 -0
  34. package/dist/component/comments.js.map +1 -0
  35. package/dist/component/convex.config.d.ts +3 -0
  36. package/dist/component/convex.config.d.ts.map +1 -0
  37. package/dist/component/convex.config.js +3 -0
  38. package/dist/component/convex.config.js.map +1 -0
  39. package/dist/component/entries.d.ts +140 -0
  40. package/dist/component/entries.d.ts.map +1 -0
  41. package/dist/component/entries.js +302 -0
  42. package/dist/component/entries.js.map +1 -0
  43. package/dist/component/helpers.d.ts +10 -0
  44. package/dist/component/helpers.d.ts.map +1 -0
  45. package/dist/component/helpers.js +74 -0
  46. package/dist/component/helpers.js.map +1 -0
  47. package/dist/component/model.d.ts +176 -0
  48. package/dist/component/model.d.ts.map +1 -0
  49. package/dist/component/model.js +41 -0
  50. package/dist/component/model.js.map +1 -0
  51. package/dist/component/schema.d.ts +78 -0
  52. package/dist/component/schema.d.ts.map +1 -0
  53. package/dist/component/schema.js +56 -0
  54. package/dist/component/schema.js.map +1 -0
  55. package/dist/component/types.d.ts +5 -0
  56. package/dist/component/types.d.ts.map +1 -0
  57. package/dist/component/types.js +2 -0
  58. package/dist/component/types.js.map +1 -0
  59. package/dist/react/index.d.ts +169 -0
  60. package/dist/react/index.d.ts.map +1 -0
  61. package/dist/react/index.js +68 -0
  62. package/dist/react/index.js.map +1 -0
  63. package/dist/test.d.ts +88 -0
  64. package/dist/test.d.ts.map +1 -0
  65. package/dist/test.js +9 -0
  66. package/dist/test.js.map +1 -0
  67. package/package.json +63 -0
  68. package/src/client/README.md +11 -0
  69. package/src/client/api.ts +126 -0
  70. package/src/client/config.ts +80 -0
  71. package/src/client/index.ts +338 -0
  72. package/src/component/README.md +13 -0
  73. package/src/component/_generated/api.ts +58 -0
  74. package/src/component/_generated/component.ts +339 -0
  75. package/src/component/_generated/dataModel.ts +60 -0
  76. package/src/component/_generated/server.ts +169 -0
  77. package/src/component/comments.ts +258 -0
  78. package/src/component/convex.config.ts +3 -0
  79. package/src/component/entries.ts +385 -0
  80. package/src/component/helpers.ts +105 -0
  81. package/src/component/model.ts +76 -0
  82. package/src/component/schema.ts +60 -0
  83. package/src/component/types.ts +6 -0
  84. package/src/react/README.md +7 -0
  85. package/src/react/index.ts +140 -0
  86. package/src/test.ts +18 -0
package/README.md ADDED
@@ -0,0 +1,183 @@
1
+ # convex-feedback
2
+
3
+ Headless Convex component for product feedback, feature requests, bug reports, entry upvotes, recursive discussions, comment likes, and duplicate suggestions.
4
+
5
+ ## Data model
6
+
7
+ The component owns exactly three tables.
8
+
9
+ ### `entries`
10
+
11
+ Stores the feedback body and list-query counters:
12
+
13
+ - `kind`: `feedback | feature_request | bug_report`
14
+ - `status`: `open | under_review | planned | in_progress | completed | closed`
15
+ - `actorId`, `title`, `body`
16
+ - `normalizedTitle`, `searchText`
17
+ - `upvoteCount`, `commentCount`
18
+ - optional `updatedAt`
19
+
20
+ `_creationTime` is used instead of a duplicate `createdAt` field.
21
+
22
+ ### `comments`
23
+
24
+ Stores one recursive adjacency-list node per comment:
25
+
26
+ - `entryId`
27
+ - optional `parentCommentId`
28
+ - `actorId`, `depth`, `body`
29
+ - `likeCount`
30
+ - `replyCount` (direct children only)
31
+ - optional `updatedAt`, `deletedAt`
32
+
33
+ A deleted comment remains as a tombstone so descendants keep their place in the tree. Public serializers return `body: null` after deletion.
34
+
35
+ ### `reactions`
36
+
37
+ A single sparse table stores both entry upvotes and comment likes. A record has either `entryId` or `commentId`, never both. Query-specific indexes enforce one reaction lookup per actor/target.
38
+
39
+ ## Lazy comments
40
+
41
+ `listComments` accepts an optional `parentCommentId` and returns only direct children of that parent. Omitting `parentCommentId` returns top-level comments. Each level is independently paginated.
42
+
43
+ Default UI behavior is therefore:
44
+
45
+ ```text
46
+ root comments query
47
+ comment A
48
+ click "View replies"
49
+ direct replies query for A
50
+ reply A1
51
+ click "View replies"
52
+ direct replies query for A1
53
+ ```
54
+
55
+ `maxDepth` is enforced when a reply is created. The default host config is `5`.
56
+
57
+ ## Ordering
58
+
59
+ Comments support three global server-side sorts:
60
+
61
+ - `top`: `likeCount DESC`, then Convex index `_creationTime DESC`
62
+ - `newest`: `_creationTime DESC`
63
+ - `oldest`: `_creationTime ASC`
64
+
65
+ All three are index-backed. Do not add an arbitrary server comparator: it cannot preserve correct cursor pagination without an index. UI clients may transform already-loaded comments locally.
66
+
67
+ Entries support `top` and `newest` with filter-specific indexes for kind/status combinations.
68
+
69
+ ## Search and duplicates
70
+
71
+ The component stores one derived `searchText` (`title + body`) and uses a Convex search index. `searchEntries` returns full-text results. `findSimilarEntries` returns:
72
+
73
+ ```ts
74
+ {
75
+ exact: FeedbackEntry[];
76
+ similar: FeedbackEntry[];
77
+ }
78
+ ```
79
+
80
+ `exact` uses normalized title equality. `similar` uses full-text relevance and excludes exact matches. These are lexical suggestions, not semantic/AI duplicate claims.
81
+
82
+ ## Static configuration
83
+
84
+ Configuration is host code, not a database table.
85
+
86
+ ```ts
87
+ exposeFeedbackApi(components.feedback, {
88
+ actor: resolveActor,
89
+ config: {
90
+ entries: {
91
+ enabledKinds: ["feedback", "feature_request", "bug_report"],
92
+ defaultStatus: "open",
93
+ defaultSort: "top",
94
+ maxPageSize: 50,
95
+ editableByAuthor: true,
96
+ },
97
+ comments: {
98
+ maxDepth: 5,
99
+ maxPageSize: 50,
100
+ defaultSort: "top",
101
+ editableByAuthor: true,
102
+ deletableByAuthor: true,
103
+ },
104
+ search: {
105
+ duplicateSuggestions: true,
106
+ duplicateSuggestionLimit: 5,
107
+ defaultLimit: 20,
108
+ maxLimit: 50,
109
+ },
110
+ limits: {
111
+ titleLength: 160,
112
+ bodyLength: 10000,
113
+ commentLength: 5000,
114
+ },
115
+ },
116
+ });
117
+ ```
118
+
119
+ All nested values are optional in overrides; defaults are merged by `createFeedbackConfig`.
120
+
121
+ ## Authentication boundary
122
+
123
+ A Convex component is isolated from the host app. The host wrapper receives a resolver:
124
+
125
+ ```ts
126
+ actor: async (ctx) => {
127
+ const identity = await ctx.auth.getUserIdentity();
128
+ if (identity === null) return null;
129
+ return { id: identity.subject, isModerator: false };
130
+ };
131
+ ```
132
+
133
+ Reads can be anonymous. Writes call `requireActor`. Status changes require `isModerator: true`. Author edit/delete rules are still checked inside the component using the stable actor id passed by the host.
134
+
135
+ ## Host-facing API
136
+
137
+ `exposeFeedbackApi` returns:
138
+
139
+ - `listEntries`
140
+ - `getEntry`
141
+ - `searchEntries`
142
+ - `findSimilarEntries`
143
+ - `createEntry`
144
+ - `updateEntry`
145
+ - `setEntryStatus`
146
+ - `setEntryUpvote`
147
+ - `listComments`
148
+ - `createComment`
149
+ - `updateComment`
150
+ - `deleteComment`
151
+ - `setCommentLike`
152
+
153
+ Export these from one of your host Convex modules so your generated host `api` can expose them to clients.
154
+
155
+ ## React hooks
156
+
157
+ `convex-feedback/react` exports `createFeedbackHooks(api, options)`. It binds the generated host references once and returns hooks for every read/write operation. Client page sizes are configured there (`entryPageSize`, `commentPageSize`, and `replyPageSize`) while the host config enforces the hard maximum page sizes. The resolved sizes are also exposed as `hooks.pageSizes` for UI layers.
158
+
159
+ Pagination uses the `convex-helpers/react` pagination hook because component pagination uses the stream/paginator helper and needs `endCursor` stitching for reactive, gap-free pages.
160
+
161
+ ## Testing
162
+
163
+ The package exports `convex-feedback/test`:
164
+
165
+ ```ts
166
+ import feedbackTest from "convex-feedback/test";
167
+ import { convexTest } from "convex-test";
168
+
169
+ const t = convexTest();
170
+ feedbackTest.register(t, "feedback");
171
+ ```
172
+
173
+ The repository tests cover idempotent entry upvotes, direct-child comment loading, max depth, idempotent comment likes/top ordering, exact duplicate normalization, and config merging.
174
+
175
+ ## Generated files
176
+
177
+ The committed `_generated` files are starter/bootstrap output. After installing dependencies, regenerate them:
178
+
179
+ ```bash
180
+ npm run codegen -w convex-feedback
181
+ ```
182
+
183
+ Do not manually maintain generated API/data-model definitions.
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/@typescript/old/lib/lib.es5.d.ts","../../../node_modules/@typescript/old/lib/lib.es2015.d.ts","../../../node_modules/@typescript/old/lib/lib.es2016.d.ts","../../../node_modules/@typescript/old/lib/lib.es2017.d.ts","../../../node_modules/@typescript/old/lib/lib.es2018.d.ts","../../../node_modules/@typescript/old/lib/lib.es2019.d.ts","../../../node_modules/@typescript/old/lib/lib.es2020.d.ts","../../../node_modules/@typescript/old/lib/lib.es2021.d.ts","../../../node_modules/@typescript/old/lib/lib.es2022.d.ts","../../../node_modules/@typescript/old/lib/lib.dom.d.ts","../../../node_modules/@typescript/old/lib/lib.dom.iterable.d.ts","../../../node_modules/@typescript/old/lib/lib.es2015.core.d.ts","../../../node_modules/@typescript/old/lib/lib.es2015.collection.d.ts","../../../node_modules/@typescript/old/lib/lib.es2015.generator.d.ts","../../../node_modules/@typescript/old/lib/lib.es2015.iterable.d.ts","../../../node_modules/@typescript/old/lib/lib.es2015.promise.d.ts","../../../node_modules/@typescript/old/lib/lib.es2015.proxy.d.ts","../../../node_modules/@typescript/old/lib/lib.es2015.reflect.d.ts","../../../node_modules/@typescript/old/lib/lib.es2015.symbol.d.ts","../../../node_modules/@typescript/old/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/@typescript/old/lib/lib.es2016.array.include.d.ts","../../../node_modules/@typescript/old/lib/lib.es2016.intl.d.ts","../../../node_modules/@typescript/old/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/@typescript/old/lib/lib.es2017.date.d.ts","../../../node_modules/@typescript/old/lib/lib.es2017.object.d.ts","../../../node_modules/@typescript/old/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/@typescript/old/lib/lib.es2017.string.d.ts","../../../node_modules/@typescript/old/lib/lib.es2017.intl.d.ts","../../../node_modules/@typescript/old/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/@typescript/old/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/@typescript/old/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/@typescript/old/lib/lib.es2018.intl.d.ts","../../../node_modules/@typescript/old/lib/lib.es2018.promise.d.ts","../../../node_modules/@typescript/old/lib/lib.es2018.regexp.d.ts","../../../node_modules/@typescript/old/lib/lib.es2019.array.d.ts","../../../node_modules/@typescript/old/lib/lib.es2019.object.d.ts","../../../node_modules/@typescript/old/lib/lib.es2019.string.d.ts","../../../node_modules/@typescript/old/lib/lib.es2019.symbol.d.ts","../../../node_modules/@typescript/old/lib/lib.es2019.intl.d.ts","../../../node_modules/@typescript/old/lib/lib.es2020.bigint.d.ts","../../../node_modules/@typescript/old/lib/lib.es2020.date.d.ts","../../../node_modules/@typescript/old/lib/lib.es2020.promise.d.ts","../../../node_modules/@typescript/old/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/@typescript/old/lib/lib.es2020.string.d.ts","../../../node_modules/@typescript/old/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/@typescript/old/lib/lib.es2020.intl.d.ts","../../../node_modules/@typescript/old/lib/lib.es2020.number.d.ts","../../../node_modules/@typescript/old/lib/lib.es2021.promise.d.ts","../../../node_modules/@typescript/old/lib/lib.es2021.string.d.ts","../../../node_modules/@typescript/old/lib/lib.es2021.weakref.d.ts","../../../node_modules/@typescript/old/lib/lib.es2021.intl.d.ts","../../../node_modules/@typescript/old/lib/lib.es2022.array.d.ts","../../../node_modules/@typescript/old/lib/lib.es2022.error.d.ts","../../../node_modules/@typescript/old/lib/lib.es2022.intl.d.ts","../../../node_modules/@typescript/old/lib/lib.es2022.object.d.ts","../../../node_modules/@typescript/old/lib/lib.es2022.string.d.ts","../../../node_modules/@typescript/old/lib/lib.es2022.regexp.d.ts","../../../node_modules/@typescript/old/lib/lib.es2025.float16.d.ts","../../../node_modules/@typescript/old/lib/lib.esnext.disposable.d.ts","../../../node_modules/@typescript/old/lib/lib.decorators.d.ts","../../../node_modules/@typescript/old/lib/lib.decorators.legacy.d.ts","../../../node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/vite/types/customevent.d.ts","../../../node_modules/vite/types/hot.d.ts","../../../node_modules/vite/types/importglob.d.ts","../../../node_modules/vite/types/importmeta.d.ts","../../../node_modules/vite/client.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/convex/dist/esm-types/values/value.d.ts","../../../node_modules/convex/dist/esm-types/type_utils.d.ts","../../../node_modules/convex/dist/esm-types/values/validators.d.ts","../../../node_modules/convex/dist/esm-types/values/validator.d.ts","../../../node_modules/convex/dist/esm-types/values/base64.d.ts","../../../node_modules/convex/dist/esm-types/values/errors.d.ts","../../../node_modules/convex/dist/esm-types/values/compare.d.ts","../../../node_modules/convex/dist/esm-types/values/size.d.ts","../../../node_modules/convex/dist/esm-types/values/index.d.ts","../../../node_modules/convex/dist/esm-types/server/authentication.d.ts","../../../node_modules/convex/dist/esm-types/server/system_fields.d.ts","../../../node_modules/convex/dist/esm-types/server/data_model.d.ts","../../../node_modules/convex/dist/esm-types/server/filter_builder.d.ts","../../../node_modules/convex/dist/esm-types/server/index_range_builder.d.ts","../../../node_modules/convex/dist/esm-types/server/pagination.d.ts","../../../node_modules/convex/dist/esm-types/server/search_filter_builder.d.ts","../../../node_modules/convex/dist/esm-types/server/query.d.ts","../../../node_modules/convex/dist/esm-types/server/schema.d.ts","../../../node_modules/convex/dist/esm-types/server/database.d.ts","../../../node_modules/convex/dist/esm-types/server/api.d.ts","../../../node_modules/convex/dist/esm-types/server/meta.d.ts","../../../node_modules/convex/dist/esm-types/server/scheduler.d.ts","../../../node_modules/convex/dist/esm-types/server/vector_search.d.ts","../../../node_modules/convex/dist/esm-types/server/registration.d.ts","../../../node_modules/convex/dist/esm-types/server/impl/registration_impl.d.ts","../../../node_modules/convex/dist/esm-types/server/storage.d.ts","../../../node_modules/convex/dist/esm-types/server/cron.d.ts","../../../node_modules/convex/dist/esm-types/server/router.d.ts","../../../node_modules/convex/dist/esm-types/server/components/paths.d.ts","../../../node_modules/convex/dist/esm-types/server/components/index.d.ts","../../../node_modules/convex/dist/esm-types/server/logvars.d.ts","../../../node_modules/convex/dist/esm-types/server/audit_logging.d.ts","../../../node_modules/convex/dist/esm-types/server/log.d.ts","../../../node_modules/convex/dist/esm-types/server/index.d.ts","../../../node_modules/convex-test/dist/transactionmetrics.d.ts","../../../node_modules/convex-test/dist/index.d.ts","../src/component/model.ts","../src/component/schema.ts","../src/test.ts","../src/client/api.ts","../src/client/config.ts","../src/component/_generated/component.ts","../src/client/index.ts","../../../node_modules/convex-helpers/server/stream.ts","../../../node_modules/convex-helpers/server/pagination.d.ts","../src/component/_generated/datamodel.ts","../src/component/_generated/server.ts","../src/component/types.ts","../src/component/helpers.ts","../src/component/comments.ts","../src/component/convex.config.ts","../src/component/entries.ts","../src/component/_generated/api.ts","../../../node_modules/convex/dist/esm-types/browser/sync/function_result.d.ts","../../../node_modules/convex/dist/esm-types/browser/logging.d.ts","../../../node_modules/convex/dist/esm-types/browser/sync/optimistic_updates.d.ts","../../../node_modules/convex/dist/esm-types/vendor/long.d.ts","../../../node_modules/convex/dist/esm-types/browser/sync/protocol.d.ts","../../../node_modules/convex/dist/esm-types/browser/sync/udf_path_utils.d.ts","../../../node_modules/convex/dist/esm-types/browser/sync/local_state.d.ts","../../../node_modules/convex/dist/esm-types/browser/sync/authentication_manager.d.ts","../../../node_modules/convex/dist/esm-types/browser/sync/client.d.ts","../../../node_modules/convex/dist/esm-types/browser/sync/pagination.d.ts","../../../node_modules/convex/dist/esm-types/browser/simple_client.d.ts","../../../node_modules/convex/dist/esm-types/browser/http_client.d.ts","../../../node_modules/convex/dist/esm-types/browser/query_options.d.ts","../../../node_modules/convex/dist/esm-types/browser/index.d.ts","../../../node_modules/convex/dist/esm-types/react/use_paginated_query.d.ts","../../../node_modules/convex/dist/esm-types/react/use_paginated_query2.d.ts","../../../node_modules/convex/dist/esm-types/react/client.d.ts","../../../node_modules/convex/dist/esm-types/browser/sync/paginated_query_client.d.ts","../../../node_modules/convex/dist/esm-types/react/queries_observer.d.ts","../../../node_modules/convex/dist/esm-types/react/use_queries.d.ts","../../../node_modules/convex/dist/esm-types/react/auth_helpers.d.ts","../../../node_modules/convex/dist/esm-types/react/convexauthstate.d.ts","../../../node_modules/convex/dist/esm-types/react/hydration.d.ts","../../../node_modules/convex/dist/esm-types/react/index.d.ts","../../../node_modules/convex-helpers/react.d.ts","../src/react/index.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.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-stats.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/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.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/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.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/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/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.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/index.d.ts"],"fileIdsList":[[153,205,206,208,225,226],[153,207,208,225,226],[208,225,226],[153,208,213,225,226,243],[153,208,209,214,219,225,226,228,240,251],[153,208,209,210,219,225,226,228],[153,208,225,226],[153,208,211,225,226,252],[153,208,212,213,220,225,226,229],[153,208,213,225,226,240,248],[153,208,214,216,219,225,226,228],[153,207,208,215,225,226],[153,208,216,217,225,226],[153,208,218,219,225,226],[153,207,208,219,225,226],[153,208,219,220,221,225,226,240,251],[153,208,219,220,221,225,226,235,240,243],[153,200,208,216,219,222,225,226,228,240,251],[153,208,219,220,222,223,225,226,228,240,248,251],[153,208,222,224,225,226,240,248,251],[151,152,153,154,155,156,157,158,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257],[153,208,219,225,226],[153,208,225,226,227,251],[153,208,216,219,225,226,228,240],[153,208,225,226,229],[153,208,225,226,230],[153,207,208,225,226,231],[153,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257],[153,208,225,226,233],[153,208,225,226,234],[153,208,219,225,226,235,236],[153,208,225,226,235,237,252,254],[153,208,220,225,226],[153,208,219,225,226,240,241,243],[153,208,225,226,242,243],[153,208,225,226,240,241],[153,208,225,226,243],[153,208,225,226,244],[153,205,208,225,226,240,245,251],[153,208,219,225,226,246,247],[153,208,225,226,246,247],[153,208,213,225,226,228,240,248],[153,208,225,226,249],[153,208,225,226,228,250],[153,208,222,225,226,234,251],[153,208,213,225,226,252],[153,208,225,226,240,253],[153,208,225,226,227,254],[153,208,225,226,255],[153,208,213,225,226],[153,200,208,225,226],[153,208,225,226,256],[153,200,208,219,221,225,226,231,240,243,251,253,254,256],[153,208,225,226,240,257],[68,69,153,208,225,226],[70,153,208,225,226],[105,148,153,208,225,226],[80,105,115,153,208,225,226],[71,80,105,153,208,225,226],[105,106,153,208,225,226],[91,105,126,153,208,225,226],[125,127,129,130,133,134,135,136,137,153,208,225,226],[80,125,153,208,225,226],[91,153,208,225,226],[105,132,133,134,153,208,225,226],[126,129,131,153,208,225,226],[80,125,126,127,128,129,130,132,153,208,225,226],[80,153,208,225,226],[80,129,130,153,208,225,226],[80,91,153,208,225,226],[80,130,133,134,153,208,225,226],[80,105,153,208,225,226],[80,81,128,153,208,225,226],[70,80,91,95,126,129,133,134,137,138,153,208,225,226],[70,133,153,208,225,226],[133,137,139,140,141,144,145,146,147,153,208,225,226],[80,91,129,134,141,142,144,153,208,225,226],[73,80,91,105,138,153,208,225,226],[139,153,208,225,226],[80,91,143,153,208,225,226],[73,86,95,153,208,225,226],[102,153,208,225,226],[73,74,75,91,95,100,153,208,225,226],[80,91,93,153,208,225,226],[80,82,153,208,225,226],[72,80,82,83,88,89,153,208,225,226],[80,83,153,208,225,226],[83,95,153,208,225,226],[73,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,104,153,208,225,226],[83,153,208,225,226],[102,103,153,208,225,226],[91,95,153,208,225,226],[72,74,153,208,225,226],[83,84,85,86,87,153,208,225,226],[72,73,74,75,83,91,92,93,94,105,153,208,225,226],[95,153,208,225,226],[72,91,153,208,225,226],[73,74,75,80,82,83,153,208,225,226],[73,80,83,153,208,225,226],[72,83,153,208,225,226],[72,153,208,225,226],[72,74,75,76,77,78,79,153,208,225,226],[72,73,74,80,153,208,225,226],[72,73,75,80,153,208,225,226],[153,165,168,171,172,208,225,226,251],[153,168,208,225,226,240,251],[153,168,172,208,225,226,251],[153,208,225,226,240],[153,162,208,225,226],[153,166,208,225,226],[153,164,165,168,208,225,226,251],[153,208,225,226,228,248],[153,208,225,226,258],[153,162,208,225,226,258],[153,164,168,208,225,226,228,251],[153,159,160,161,163,167,208,219,225,226,240,251],[153,168,177,185,208,225,226],[153,160,166,208,225,226],[153,168,194,195,208,225,226],[153,160,163,168,208,225,226,243,251,258],[153,168,208,225,226],[153,164,168,208,225,226,251],[153,159,208,225,226],[153,162,163,164,166,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,195,196,197,198,199,208,225,226],[153,168,187,190,208,216,225,226],[153,168,177,178,179,208,225,226],[153,166,168,178,180,208,225,226],[153,167,208,225,226],[153,160,162,168,208,225,226],[153,168,172,178,180,208,225,226],[153,172,208,225,226],[153,166,168,171,208,225,226,251],[153,160,164,168,177,208,225,226],[153,168,187,208,225,226],[153,180,208,225,226],[153,162,168,194,208,225,226,243,256,258],[66,153,208,225,226],[62,153,208,225,226],[63,153,208,225,226],[64,65,153,208,225,226],[71,105,108,153,208,225,226],[71,108,153,208,225,226],[71,80,105,108,111,112,113,153,208,225,226],[71,105,108,119,120,121,123,153,208,225,226],[71,105,153,208,225,226],[71,80,105,109,153,208,225,226],[71,105,117,153,208,225,226],[71,80,105,108,109,116,118,120,153,208,225,226],[71,80,108,117,119,153,208,225,226],[71,80,153,208,225,226],[71,80,105,108,153,208,225,226],[71,108,111,148,149,153,208,225,226],[67,71,105,107,109,153,208,225,226]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"64ccfe7dcbcad9b8a661a042ecb2309e41b9ab957f7b8cd070b05583a7821a13","impliedFormat":99},{"version":"98580d6ed68c9cee7f956685abbb6502d70bd92f48175ac807ae6c5e254fadc6","impliedFormat":99},{"version":"4e003c868b0d8f8ad200b96cbc653e18e513fa23e1c19c4fe3cc25d4394efc47","impliedFormat":99},{"version":"e50d04d261120f8f9d07e85698735d5b88f3a66bc395c08ce26c3d817d141a73","affectsGlobalScope":true,"impliedFormat":99},{"version":"72429cda84a47f092a3bf777bbc4ece9dda492fe0f02324aa7f197f3800089c6","affectsGlobalScope":true,"impliedFormat":99},{"version":"74b98be6ab7723114273526706070ff9885fdf990d5c4e722801addca4d264e1","affectsGlobalScope":true,"impliedFormat":99},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"814d5c7384f3ca276e9dc4bcfde5545801a3ea0bfae09916b3336774e662fd1b","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"2a2c3ec6c93d6b52df663705d3df109db7f01b16a47a73e5aadd5822d6f0f2a7","impliedFormat":99},{"version":"56c7652b9e41b2acf8fc249f13bbf293f2fd5d20a6826a779fb13f2b41310285","impliedFormat":99},{"version":"5af3faa18c0126ba49e7ef86245c281650eb180aac2a66e68992b57b4f8be766","impliedFormat":99},{"version":"23018630431a4ec5a5564931e32f84d5ebec7dcd1d1d86ed31ec44a78cf84399","impliedFormat":99},{"version":"27f7e8c28ea53d110d4a4e3a365736dc2cdf2c46e3aa02e48c5ec22207123b9d","impliedFormat":99},{"version":"c5ee44dca52898ad7262cadc354f5e6f434a007c2d904a53ecfb4ee0e419b403","impliedFormat":99},{"version":"cb44dd6fd99ade30c70496a3fa535590aed5f2bb64ba7bc92aa34156c10c0f25","impliedFormat":99},{"version":"3361155ba0b82f906fa41082f90d8f55560622d11f2aa7fa18d277d8ece8b77f","impliedFormat":99},{"version":"7367f9bdc220027176a120346770e7d135e29dabc8f2ad78284ec1014760fc90","impliedFormat":99},{"version":"ed6fd0951de157501bfb5772742b7dddac9ca8e53f1ab201513af8c91f92de66","impliedFormat":99},{"version":"ab59a5f7526fc8309ee5a5a28e3e358f6ed457bdb599dd6542becb706c0419dc","impliedFormat":99},{"version":"847b3c49eebf382b81a971ac21970ad1501c9805d595f256a86526d3e0b74df5","impliedFormat":99},{"version":"c4dd27a0c3897b8f1b7082f70d70f38231f0e0973813680c8ca08ddf0e7d16c1","impliedFormat":99},{"version":"b23fad2190be146426a7de0fa403e24fccbc9c985d49d22f8b9f39803db47699","impliedFormat":99},{"version":"6ad179a688d2cc17c4450ff68d7736487513d84de3bcf56012be7695193abe0c","impliedFormat":99},{"version":"895d89df016d846222abdd633b1f6e3a7f4c820f56901dbda853916d302c16f2","impliedFormat":99},{"version":"b3faf3b270012d9e9e8ff35ec35a56f02ac6133c5cf3edec72058ca0b2146cd5","impliedFormat":99},{"version":"ecad4d232d4479f87031c0770978923ebd020851ee113e3aafe4bdb693ab35c9","impliedFormat":99},{"version":"25f693aa9dffb14b659a900f04ab637a82a5c3153167a4a836e90cdae30cd3b3","impliedFormat":99},{"version":"5282413ed863194cc7cd873fe3f485168ad08658a91bf026c2a0a8e4db900196","impliedFormat":99},{"version":"b5798e25e1d92678e061c69a8bd50b2d40ccd357bd0b449a159f6d20c98c958e","impliedFormat":99},{"version":"5e8dab7ea4056d557b1ac48dc2905b97669a5fdea37c3c79a5563e2e126f1b29","impliedFormat":99},{"version":"7c1c1d4c8fe888eecca43aa8d1bb12811c4915ffd27718b939c9bb127f2225bf","impliedFormat":99},{"version":"5d04b23008d187e58f17d29f8955381b6f2134cc5b5b2ef3ef5bcb76bc25f139","impliedFormat":99},{"version":"da26ce433bffc096a52108d0ef4ac55881d13d70b0c371738d73cbd67591bad2","impliedFormat":99},{"version":"c6b09cfadade940c7706d594f904b2e819635ebf1bb72ae3f4f200d7b17a2809","impliedFormat":99},{"version":"a5ca3e9ca09de2fe453280275e9cf2191fafb9ebe8985bb5f49ef4979382058b","impliedFormat":99},{"version":"2d1924bb4fa9f785437228ca40cd05162795b36295b9addaed7aaef2e8e5c7e5","impliedFormat":99},{"version":"99d62f5ac0911ef2a22c1a67a69e8441e1b409d1773837ba58361e8d574b4152","impliedFormat":99},{"version":"12bf7cc0e068b6c9e545e149e11ae9b4067aa64f150705fb6e5b90581cc274ad","impliedFormat":99},{"version":"85b5ec2394b390db7fb1a0c26d70084140d8e49dd6cb71644f7f33ac6d967d75","impliedFormat":99},{"version":"39e8248275fc12910b1c936d01407d03034d79d76064b4e5008ad695ffdc84da","impliedFormat":99},{"version":"4f4fd894db27564921f23d7453c1f45b05db63b3bc7e91e2b256f50509c32b91","impliedFormat":99},{"version":"6386282661a5c4e6b11fd63ec133a2974a08fd8674e74a80914455f341d8c7d1","impliedFormat":99},{"version":"f62e235f14878e990b6d89555a3820c7a536659ad118f7aa9d4e96ae48169cf5","impliedFormat":99},{"version":"81bd2fcb5fcdbe0537cfa20953eb47974b6bd8eff7946aad3f081e910e3a1b3e","impliedFormat":99},{"version":"ab6f4eb8c550f0ee6cd9322716ec9ae284d9a4ee9c75d08eb164afffe988eaad","signature":"0dd30590861d1bb1ceffd7a8d7a05bba36c91394e849a29c85d3464383be56b5"},{"version":"d6c17dcb1e7deca414306b327cc02475d73c4142ca9d773de7eebe5d1001fe76","signature":"765010ad1c4de68125a4a019ff1b8bee13759d169d553f3c786424cddc1e90d6"},{"version":"f4163146cb302d7176e6e45cfd6d22f9f61c268382aa64d0a8a24ced2f63f8c9","signature":"52169cdca5883b8f10718c8321825d8ee35b337a9b12ca41e47d969603089cf4"},{"version":"aa0bd75f53527c6082935f156d28219e2bf29c217f4991c5745cee33b70e186f","signature":"ca0d33530129eee9faf73d38c75ce3857247c836016c5489474946e4d2043044"},{"version":"e95074e71b6eb85bea1fb67e8d24ef9a3a571189114716ba6c24c469be169f43","signature":"ee61c107e2c84a9fbb3a496b75025b00796c9853dd28902be1a541f3b382de21"},{"version":"43a8bb75ae32170c9b2a3100d0f6748f8f6d7f93f9d6a7fe06452cbd8016b779","signature":"72363eacc4643425b70f505f49aea9301a29c0c30160ff19d36968590efe67ab"},{"version":"2211b57236e4a2b6641f19c48110784660291531df5373c8148329bd599d9604","signature":"91c88e99a2071dddaec429545546633c64710e02c72473445addd79d85c5ebfa"},{"version":"5a01751f1a6afd188b8ebb38923c2e2bc4bab78511975ddfd0c36e6fe6e3f0c2","impliedFormat":99},{"version":"a4dd14bc3322b3c0b2cb492de54bad383ca8156de50f40bfcd71f985abf40a95","impliedFormat":99},{"version":"db177073d16a4393c7a96bcdc3a2a904e88c2432d54d138ca7715cc431982c17","signature":"0d53de7124786b99166f475cdcd6b632df690b4ad4a11da028db37e54535c177"},{"version":"8d2b4fd891734a1a2bdfc5002366e430f953186a769e88691cc0c2c1dc4be705","signature":"65e7ce8373e67d2aa5640f437b75c89c3a0244157ce82923225fec5c87972470"},{"version":"ad66ce7802c88c2af6824fda8f332b5514b05f453daf7f199267b6fc2702eae3","signature":"382f7391214e8f274a8f66ec112ba044f6421d1105f296e13c073eb4256dd107"},{"version":"acc9ac04e4d40c2b10b9b091a7038f807ecd4fcecf1d8edde7138a49320bf3a8","signature":"ef24711470ba7c4e41e029241713ac11f5a813611e069f1ffb657e7b7572c87f"},{"version":"6f584c7e0212ba05e26d699b2041f8c50c26d224ef3ed62b75d1ec6f4f78ba46","signature":"1a1fea80f8fcc111da515363ac39276f613577a0fa6f7f5f756e9cd2b9aa3e9d"},{"version":"dd6fd5ddc5f7a19bf52597db5d24a27c55044d436310805346cdd9034f28191c","signature":"9adb639761db3997af202bc20c32f012b359a24996c746b0d888d67bb400699c"},{"version":"a4fbf545fd6e8ee6608100063003726f10cf05d5c9ec8d69c0851960a981a75a","signature":"b1557338d90e8d4c396eed1b10ac3ccc7441c2fba59fd70facf90e5dd8e31634"},{"version":"b0c3b64a96bf357c8335d7ad51351fcde5ad482e39dc164bb85f28f20317a1f2","signature":"30b28e1bd332ca20f2b9e73b2ea1226e6b73db1eebb335662628bf1af5d2388b"},{"version":"c350a902358c95ed32df253305e044aa109e96adfd66528c5d03fe75a45be7f7","impliedFormat":99},{"version":"553b96a938c932097c0416f529371833994889510c185a8b45630420428c1add","impliedFormat":99},{"version":"84aa893c666ccd0e5a15b3fb7fd278b10fcdc0b6e1911fb46a711e3fd649120b","impliedFormat":99},{"version":"f5c0229716cab5de0c590cd12615c347ef2a6e9793381272f1b074d67ca5d416","impliedFormat":99},{"version":"28e51826c19447a3354ac4fae5023326269a2a59ad735e1c09ec42aff20acc1c","impliedFormat":99},{"version":"38f9e317ee90e3ad8cb39d4aafe8afeb784bcb84210bfbb7dd8788e769f1afb3","impliedFormat":99},{"version":"7ce4403d02c6b349ad44d71cd3e016013046a6509def1124cf6b47247d393163","impliedFormat":99},{"version":"52ec76ec95434032f08cb31d520e538a3856a6675e672d6646d83db2cddaacd7","impliedFormat":99},{"version":"bb0da864428a39d419562e7600f9f7e5411cbb4a4939c885877c44455682ae29","impliedFormat":99},{"version":"815fb4112c165f37fd2732d5ccd19f5e81ae33b662fb5a3af933b8bfd7954b32","impliedFormat":99},{"version":"430b7dda7e9620df4280e0c5a5b78b89e4782866a61fae8d117493cf8cc71850","impliedFormat":99},{"version":"9a0514b8d9fc823de2efa2618853532c0587e6f2acf177574ac937452a57ab0b","impliedFormat":99},{"version":"2390b4944e68a81fa306ee40df1e81ed7e82450da77df5f26c72fa982b012ab0","impliedFormat":99},{"version":"8b16b751f5f81e11627150b078d0060def6820152584c69ac3bfbfe75a2798b7","impliedFormat":99},{"version":"fe150492b61ddafa7107def7794e18c699c3251ed4bc5c396a40bb6f062caffb","impliedFormat":99},{"version":"9210a3d3e13637c49debdd275c74049ccaeadee3541a148d5fd72042ad7ac903","impliedFormat":99},{"version":"e0a1e0a9b8b2c3135db2e07cfab5a4968508da4c0f218765270d58334d9f3b9f","impliedFormat":99},{"version":"4215d72bb5e89d71a03b3fc2632367d6ef415bf76a845e29c291ae9c67e2f798","impliedFormat":99},{"version":"9cc9e426a68c265748a862565ad3d0c50e3b83f95cbf729c578b15f0fe56960d","impliedFormat":99},{"version":"a772c1d8f7fc698119d0f1f959fbb156df11016290e17a39695f5bbb3988716d","impliedFormat":99},{"version":"1ff15d4c4602adef8f726495baf042fb11207c1f2a811a832b0d62e136d38a79","impliedFormat":99},{"version":"91c46b271622fad34af028faf181ebc3d46512a7c2df0d83920910f05764eb05","impliedFormat":99},{"version":"4f0e1d79411d135edbc78d544b226de9e11c7ecdcf09518c5302d49517d0c4ee","impliedFormat":99},{"version":"ca4a948e57cfc36ca1c9e9098b1da3fe5245f252fc8269733c160651c6ea1cb9","impliedFormat":99},{"version":"44cc019c5b86268d96a3a9826a654d1f779fd7b4e574d4af7daa4ebe37e80b6c","impliedFormat":99},{"version":"0aed8356966712210d031429b46d9fa58c9ed024727d045413a7000c8f8f4dbe","signature":"4e1161eb53f3a417df0abfac7086ee42750855f27c3507726cf37c2893e2516d"},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"378281aa35786c27d5811af7e6bcaa492eebd0c7013d48137c35bbc69a2b9751","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b2dd1cbeb0cc6ae20795958ba5950395ebb2849b7c8326853dd15530c77ab0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"387a023d363f755eb63450a66c28b14cdd7bc30a104565e2dbf0a8988bb4a56c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"24371e69a38fc33e268d4a8716dbcda430d6c2c414a99ff9669239c4b8f40dea","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"c63b9ada8c72f95aac5db92aea07e5e87ec810353cdf63b2d78f49a58662cf6c","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"f724236417941ea77ec8d38c6b7021f5fb7f8521c7f8c1538e87661f2c6a0774","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ea15fd99b2e34cb25fe8346c955000bb70c8b423ae4377a972ef46bfb37f595","impliedFormat":1},{"version":"7cf69dd5502c41644c9e5106210b5da7144800670cbe861f66726fa209e231c4","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"f9b4137a0d285bd77dba2e6e895530112264310ae47e07bf311feae428fb8b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"c06b2652ffeb89afd0f1c52c165ced77032f9cd09bc481153fbd6b5504c69494","impliedFormat":1},{"version":"51aecd2df90a3cffea1eb4696b33b2d78594ea2aa2138e6b9471ec4841c6c2ee","impliedFormat":1},{"version":"9d8f9e63e29a3396285620908e7f14d874d066caea747dc4b2c378f0599166b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"612422d5ba6b4a5c4537f423e9199645468ad80a689801da63ab7edb43f7b835","impliedFormat":1},{"version":"db9ada976f9e52e13f7ae8b9a320f4b67b87685938c5879187d8864b2fbe97f3","impliedFormat":1},{"version":"9f39e70a354d0fba29ac3cdf6eca00b7f9e96f64b2b2780c432e8ea27f133743","impliedFormat":1},{"version":"0dace96cc0f7bc6d0ee2044921bdf19fe42d16284dbcc8ae200800d1c9579335","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"1cbdcdef62bf42688e5d825898c3a59458466c48ad8a4ef3f88d8a1cd04310d6","impliedFormat":1},{"version":"c64e1888baaa3253ca4405b455e4bf44f76357868a1bd0a52998ade9a092ad78","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc8c6f5322961b56d9906601b20798725df60baeab45ec014fba9f795d5596fd","impliedFormat":1},{"version":"67e435fa530778903f5525904e6645b7368eb5ac622055febd19bb399e328ccd","impliedFormat":1},{"version":"060d305fe4494d8cb2b99d620928d369d1ee55c1645f5e729a2aca07d0f108cb","impliedFormat":1},{"version":"5b22bf96be06fca1e134e3a85351ffe7aa2edf0c9a5bd175b7239ee48186dbf5","impliedFormat":1},{"version":"0c50296ee73dae94efc3f0da4936b1146ca6ce2217acfabb44c19c9a33fa30e5","impliedFormat":1},{"version":"bbf42f98a5819f4f06e18c8b669a994afe9a17fe520ae3454a195e6eabf7700d","impliedFormat":1},{"version":"5b48cc670da1dfe926036deaf349085caf822def460a6d50de23f1cc12a5f8cd","impliedFormat":1},{"version":"418f34087d52d001e2688a6282a5de9bf583ff771ed5546af0ae36e4f60a458b","affectsGlobalScope":true,"impliedFormat":1},{"version":"036c9a03b01281f99f8251fdc7088e894566be44b3f139a9d48501a978b611df","impliedFormat":1},{"version":"ff65b8a8bd380c6d129becc35de02f7c29ad7ce03300331ca91311fb4044d1a9","impliedFormat":1},{"version":"04bf1aa481d1adfb16d93d76e44ce71c51c8ef68039d849926551199489637f6","impliedFormat":1},{"version":"2c9adcc85574b002c9a6311ff2141055769e0071856ec979d92ff989042b1f1b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1569ad5969ae0de6ad0bdfaaab0dabcd8878bc3147ab096206eed2019bb84e7f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"42a350ce4f6f291198dc89833afcc4fd078248b4e1fdc9d05c846c66a670f710","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"5fb39858b2459864b139950a09adae4f38dad87c25bf572ce414f10e4bd7baab","impliedFormat":1},{"version":"b03754211d839cdc48979996525a32eb62130682c2f9801dfc2f25533ce7238d","impliedFormat":1},{"version":"3910dab597c40e173bf0e0d419d3ce9682c54ebf6ae84849f9b829b1451a17ec","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"486c074a5c0f2254345c0d1c9540380f5463999e42d7e1a159305ea823d3c4b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"c119835edf36415081dfd9ed15fc0cd37aaa28d232be029ad073f15f3d88c323","impliedFormat":1},{"version":"f4d99ac08c4097a3cc202bec2c7198c19dcdd80d4ec6c62d1356b10d03b119d5","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"ca77e83162eccec633513723d178d4203bdd5465297267696be08013bab0aa1d","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"f61c153d5abbe4381a1fba0d41be0babdd5de51c626ee7ff14cede14dedc33f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7803171d745ab18e77f16bf82e742268ff72b7f7382ab191e4277527580c2d89","affectsGlobalScope":true,"impliedFormat":1},{"version":"0e9ba65cd3d6d194bdda7343f9f2917f7144ead96a924ca58d1a14919992dc20","impliedFormat":1},{"version":"255d948f87f24ffd57bcb2fdf95792fd418a2e1f712a98cf2cce88744d75085c","impliedFormat":1},{"version":"0d5b085f36e6dc55bc6332ecb9c733be3a534958c238fb8d8d18d4a2b6f2a15a","impliedFormat":1},{"version":"0b0dfb2d3e8420ead06f6a11acfb02ddcec42257e6ce391993e895ba0af86de4","affectsGlobalScope":true,"impliedFormat":1},{"version":"bfd3b3c21a56104693183942e221c1896ee23bcb8f8d91ab0b941f7b32985411","impliedFormat":1},{"version":"d7e9ab1b0996639047c61c1e62f85c620e4382206b3abb430d9a21fb7bc23c77","impliedFormat":1}],"root":[[108,114],[117,124],150],"options":{"composite":true,"declaration":true,"declarationMap":true,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","useUnknownInCatchVariables":true,"verbatimModuleSyntax":true},"referencedMap":[[205,1],[206,1],[207,2],[153,3],[208,4],[209,5],[210,6],[151,7],[211,8],[212,9],[213,10],[214,11],[215,12],[216,13],[217,13],[218,14],[219,15],[220,16],[221,17],[154,7],[152,7],[222,18],[223,19],[224,20],[258,21],[225,22],[226,7],[227,23],[228,24],[229,25],[230,26],[231,27],[232,28],[233,29],[234,30],[235,31],[236,31],[237,32],[238,7],[239,33],[240,34],[242,35],[241,36],[243,37],[244,38],[245,39],[246,40],[247,41],[248,42],[249,43],[250,44],[251,45],[252,46],[253,47],[254,48],[255,49],[155,7],[156,50],[157,7],[158,7],[201,51],[202,52],[203,7],[204,37],[256,53],[257,54],[68,7],[70,55],[71,56],[60,7],[61,7],[10,7],[11,7],[13,7],[12,7],[2,7],[14,7],[15,7],[16,7],[17,7],[18,7],[19,7],[20,7],[21,7],[3,7],[22,7],[23,7],[4,7],[24,7],[28,7],[25,7],[26,7],[27,7],[29,7],[30,7],[31,7],[5,7],[32,7],[33,7],[34,7],[35,7],[6,7],[39,7],[36,7],[37,7],[38,7],[40,7],[7,7],[41,7],[46,7],[47,7],[42,7],[43,7],[44,7],[45,7],[8,7],[51,7],[48,7],[49,7],[50,7],[52,7],[9,7],[53,7],[54,7],[55,7],[57,7],[56,7],[58,7],[1,7],[59,7],[149,57],[116,58],[115,59],[107,60],[106,7],[136,61],[138,62],[126,63],[137,64],[135,65],[132,66],[133,67],[125,68],[131,69],[127,70],[142,71],[134,72],[129,73],[130,68],[145,56],[141,74],[146,75],[147,64],[148,76],[143,77],[139,78],[140,79],[144,80],[91,81],[103,82],[81,68],[101,83],[100,7],[98,84],[83,85],[90,86],[84,87],[96,88],[105,89],[85,90],[104,91],[102,7],[92,92],[86,93],[88,94],[95,95],[99,96],[93,97],[89,98],[87,90],[97,68],[82,99],[94,100],[73,7],[76,7],[78,101],[77,101],[80,102],[79,101],[75,103],[74,104],[72,7],[128,7],[69,7],[177,105],[189,106],[174,107],[190,108],[199,109],[165,110],[166,111],[164,112],[198,113],[193,114],[197,115],[168,116],[186,117],[167,118],[196,119],[162,120],[163,114],[169,121],[170,7],[176,122],[173,121],[160,123],[200,124],[191,125],[180,126],[179,121],[181,127],[184,128],[178,129],[182,130],[194,113],[171,131],[172,132],[185,133],[161,108],[188,134],[187,121],[175,132],[183,135],[192,7],[159,7],[195,136],[67,137],[63,138],[62,7],[64,139],[65,7],[66,140],[111,141],[112,142],[114,143],[124,144],[113,145],[117,146],[118,147],[121,148],[122,145],[123,148],[120,149],[108,150],[109,151],[119,147],[150,152],[110,153]],"latestChangedDtsFile":"./component/entries.d.ts","version":"6.0.3"}
@@ -0,0 +1,72 @@
1
+ import type { FunctionReference, PaginationOptions, PaginationResult } from "convex/server";
2
+ import type { CommentSort, EntryKind, EntrySort, EntryStatus, FeedbackComment, FeedbackEntry, SimilarEntriesResult } from "../component/model.js";
3
+ export interface FeedbackPublicApi<Name extends string | undefined = string | undefined> {
4
+ listEntries: FunctionReference<"query", "public", {
5
+ paginationOpts: PaginationOptions;
6
+ kind?: EntryKind;
7
+ status?: EntryStatus;
8
+ sort?: EntrySort;
9
+ }, PaginationResult<FeedbackEntry>, Name>;
10
+ getEntry: FunctionReference<"query", "public", {
11
+ entryId: string;
12
+ }, FeedbackEntry | null, Name>;
13
+ searchEntries: FunctionReference<"query", "public", {
14
+ searchQuery: string;
15
+ kind?: EntryKind;
16
+ status?: EntryStatus;
17
+ limit?: number;
18
+ }, FeedbackEntry[], Name>;
19
+ findSimilarEntries: FunctionReference<"query", "public", {
20
+ title: string;
21
+ body: string;
22
+ kind?: EntryKind;
23
+ limit?: number;
24
+ }, SimilarEntriesResult, Name>;
25
+ createEntry: FunctionReference<"mutation", "public", {
26
+ kind: EntryKind;
27
+ title: string;
28
+ body: string;
29
+ }, string, Name>;
30
+ updateEntry: FunctionReference<"mutation", "public", {
31
+ entryId: string;
32
+ title: string;
33
+ body: string;
34
+ }, null, Name>;
35
+ setEntryStatus: FunctionReference<"mutation", "public", {
36
+ entryId: string;
37
+ status: EntryStatus;
38
+ }, null, Name>;
39
+ setEntryUpvote: FunctionReference<"mutation", "public", {
40
+ entryId: string;
41
+ desiredState: boolean;
42
+ }, {
43
+ active: boolean;
44
+ upvoteCount: number;
45
+ }, Name>;
46
+ listComments: FunctionReference<"query", "public", {
47
+ paginationOpts: PaginationOptions;
48
+ entryId: string;
49
+ parentCommentId?: string;
50
+ sort?: CommentSort;
51
+ }, PaginationResult<FeedbackComment>, Name>;
52
+ createComment: FunctionReference<"mutation", "public", {
53
+ entryId: string;
54
+ parentCommentId?: string;
55
+ body: string;
56
+ }, string, Name>;
57
+ updateComment: FunctionReference<"mutation", "public", {
58
+ commentId: string;
59
+ body: string;
60
+ }, null, Name>;
61
+ deleteComment: FunctionReference<"mutation", "public", {
62
+ commentId: string;
63
+ }, null, Name>;
64
+ setCommentLike: FunctionReference<"mutation", "public", {
65
+ commentId: string;
66
+ desiredState: boolean;
67
+ }, {
68
+ active: boolean;
69
+ likeCount: number;
70
+ }, Name>;
71
+ }
72
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,eAAe,EACf,aAAa,EACb,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,iBAAiB,CAChC,IAAI,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAEpD,WAAW,EAAE,iBAAiB,CAC5B,OAAO,EACP,QAAQ,EACR;QACE,cAAc,EAAE,iBAAiB,CAAC;QAClC,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,EACD,gBAAgB,CAAC,aAAa,CAAC,EAC/B,IAAI,CACL,CAAC;IACF,QAAQ,EAAE,iBAAiB,CACzB,OAAO,EACP,QAAQ,EACR;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EACnB,aAAa,GAAG,IAAI,EACpB,IAAI,CACL,CAAC;IACF,aAAa,EAAE,iBAAiB,CAC9B,OAAO,EACP,QAAQ,EACR;QACE,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EACD,aAAa,EAAE,EACf,IAAI,CACL,CAAC;IACF,kBAAkB,EAAE,iBAAiB,CACnC,OAAO,EACP,QAAQ,EACR;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EACjE,oBAAoB,EACpB,IAAI,CACL,CAAC;IACF,WAAW,EAAE,iBAAiB,CAC5B,UAAU,EACV,QAAQ,EACR;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAChD,MAAM,EACN,IAAI,CACL,CAAC;IACF,WAAW,EAAE,iBAAiB,CAC5B,UAAU,EACV,QAAQ,EACR;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAChD,IAAI,EACJ,IAAI,CACL,CAAC;IACF,cAAc,EAAE,iBAAiB,CAC/B,UAAU,EACV,QAAQ,EACR;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,EACxC,IAAI,EACJ,IAAI,CACL,CAAC;IACF,cAAc,EAAE,iBAAiB,CAC/B,UAAU,EACV,QAAQ,EACR;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,EAC1C;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EACxC,IAAI,CACL,CAAC;IACF,YAAY,EAAE,iBAAiB,CAC7B,OAAO,EACP,QAAQ,EACR;QACE,cAAc,EAAE,iBAAiB,CAAC;QAClC,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE,WAAW,CAAC;KACpB,EACD,gBAAgB,CAAC,eAAe,CAAC,EACjC,IAAI,CACL,CAAC;IACF,aAAa,EAAE,iBAAiB,CAC9B,UAAU,EACV,QAAQ,EACR;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAC3D,MAAM,EACN,IAAI,CACL,CAAC;IACF,aAAa,EAAE,iBAAiB,CAC9B,UAAU,EACV,QAAQ,EACR;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACnC,IAAI,EACJ,IAAI,CACL,CAAC;IACF,aAAa,EAAE,iBAAiB,CAC9B,UAAU,EACV,QAAQ,EACR;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EACrB,IAAI,EACJ,IAAI,CACL,CAAC;IACF,cAAc,EAAE,iBAAiB,CAC/B,UAAU,EACV,QAAQ,EACR;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,EAC5C;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EACtC,IAAI,CACL,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import type { CommentSort, EntryKind, EntrySort, EntryStatus } from "../component/model.js";
2
+ export interface FeedbackConfig {
3
+ entries: {
4
+ enabledKinds: readonly EntryKind[];
5
+ defaultStatus: EntryStatus;
6
+ defaultSort: EntrySort;
7
+ maxPageSize: number;
8
+ editableByAuthor: boolean;
9
+ };
10
+ comments: {
11
+ maxDepth: number;
12
+ maxPageSize: number;
13
+ defaultSort: CommentSort;
14
+ editableByAuthor: boolean;
15
+ deletableByAuthor: boolean;
16
+ };
17
+ search: {
18
+ duplicateSuggestions: boolean;
19
+ duplicateSuggestionLimit: number;
20
+ defaultLimit: number;
21
+ maxLimit: number;
22
+ };
23
+ limits: {
24
+ titleLength: number;
25
+ bodyLength: number;
26
+ commentLength: number;
27
+ };
28
+ }
29
+ export interface FeedbackConfigOverrides {
30
+ entries?: Partial<FeedbackConfig["entries"]>;
31
+ comments?: Partial<FeedbackConfig["comments"]>;
32
+ search?: Partial<FeedbackConfig["search"]>;
33
+ limits?: Partial<FeedbackConfig["limits"]>;
34
+ }
35
+ export declare const defaultFeedbackConfig: FeedbackConfig;
36
+ export declare function createFeedbackConfig(overrides?: FeedbackConfigOverrides): FeedbackConfig;
37
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/client/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE;QACP,YAAY,EAAE,SAAS,SAAS,EAAE,CAAC;QACnC,aAAa,EAAE,WAAW,CAAC;QAC3B,WAAW,EAAE,SAAS,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,WAAW,CAAC;QACzB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,MAAM,EAAE;QACN,oBAAoB,EAAE,OAAO,CAAC;QAC9B,wBAAwB,EAAE,MAAM,CAAC;QACjC,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,qBAAqB,EAAE,cA0BnC,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,uBAA4B,GACtC,cAAc,CAOhB"}
@@ -0,0 +1,36 @@
1
+ export const defaultFeedbackConfig = {
2
+ entries: {
3
+ enabledKinds: ["feedback", "feature_request", "bug_report"],
4
+ defaultStatus: "open",
5
+ defaultSort: "top",
6
+ maxPageSize: 50,
7
+ editableByAuthor: true,
8
+ },
9
+ comments: {
10
+ maxDepth: 5,
11
+ maxPageSize: 50,
12
+ defaultSort: "top",
13
+ editableByAuthor: true,
14
+ deletableByAuthor: true,
15
+ },
16
+ search: {
17
+ duplicateSuggestions: true,
18
+ duplicateSuggestionLimit: 5,
19
+ defaultLimit: 20,
20
+ maxLimit: 50,
21
+ },
22
+ limits: {
23
+ titleLength: 160,
24
+ bodyLength: 10_000,
25
+ commentLength: 5_000,
26
+ },
27
+ };
28
+ export function createFeedbackConfig(overrides = {}) {
29
+ return {
30
+ entries: { ...defaultFeedbackConfig.entries, ...overrides.entries },
31
+ comments: { ...defaultFeedbackConfig.comments, ...overrides.comments },
32
+ search: { ...defaultFeedbackConfig.search, ...overrides.search },
33
+ limits: { ...defaultFeedbackConfig.limits, ...overrides.limits },
34
+ };
35
+ }
36
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/client/config.ts"],"names":[],"mappings":"AA0CA,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,OAAO,EAAE;QACP,YAAY,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC;QAC3D,aAAa,EAAE,MAAM;QACrB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,EAAE;QACf,gBAAgB,EAAE,IAAI;KACvB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;IACD,MAAM,EAAE;QACN,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,CAAC;QAC3B,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,EAAE;KACb;IACD,MAAM,EAAE;QACN,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,MAAM;QAClB,aAAa,EAAE,KAAK;KACrB;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAClC,YAAqC,EAAE;IAEvC,OAAO;QACL,OAAO,EAAE,EAAE,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;QACnE,QAAQ,EAAE,EAAE,GAAG,qBAAqB,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE;QACtE,MAAM,EAAE,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE;QAChE,MAAM,EAAE,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE;KACjE,CAAC;AACJ,CAAC"}