@effect-app/infra 4.0.0-beta.22 → 4.0.0-beta.220

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 (310) hide show
  1. package/CHANGELOG.md +1640 -0
  2. package/_check.sh +1 -1
  3. package/dist/CUPS.d.ts +7 -7
  4. package/dist/CUPS.d.ts.map +1 -1
  5. package/dist/CUPS.js +10 -12
  6. package/dist/Emailer/Sendgrid.d.ts +14 -14
  7. package/dist/Emailer/Sendgrid.d.ts.map +1 -1
  8. package/dist/Emailer/Sendgrid.js +16 -15
  9. package/dist/Emailer/fake.d.ts +1 -1
  10. package/dist/Emailer/service.d.ts +10 -4
  11. package/dist/Emailer/service.d.ts.map +1 -1
  12. package/dist/Emailer/service.js +3 -3
  13. package/dist/Emailer.d.ts +1 -1
  14. package/dist/MainFiberSet.d.ts +9 -9
  15. package/dist/MainFiberSet.d.ts.map +1 -1
  16. package/dist/MainFiberSet.js +3 -3
  17. package/dist/Model/Repository/Registry.d.ts +20 -0
  18. package/dist/Model/Repository/Registry.d.ts.map +1 -0
  19. package/dist/Model/Repository/Registry.js +17 -0
  20. package/dist/Model/Repository/ext.d.ts +33 -15
  21. package/dist/Model/Repository/ext.d.ts.map +1 -1
  22. package/dist/Model/Repository/ext.js +54 -2
  23. package/dist/Model/Repository/internal/internal.d.ts +6 -6
  24. package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
  25. package/dist/Model/Repository/internal/internal.js +103 -51
  26. package/dist/Model/Repository/legacy.d.ts +1 -1
  27. package/dist/Model/Repository/makeRepo.d.ts +7 -6
  28. package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
  29. package/dist/Model/Repository/makeRepo.js +5 -1
  30. package/dist/Model/Repository/service.d.ts +28 -23
  31. package/dist/Model/Repository/service.d.ts.map +1 -1
  32. package/dist/Model/Repository/validation.d.ts +46 -17
  33. package/dist/Model/Repository/validation.d.ts.map +1 -1
  34. package/dist/Model/Repository/validation.js +5 -5
  35. package/dist/Model/Repository.d.ts +2 -1
  36. package/dist/Model/Repository.d.ts.map +1 -1
  37. package/dist/Model/Repository.js +2 -1
  38. package/dist/Model/dsl.d.ts +4 -4
  39. package/dist/Model/dsl.d.ts.map +1 -1
  40. package/dist/Model/filter/filterApi.d.ts +5 -5
  41. package/dist/Model/filter/filterApi.d.ts.map +1 -1
  42. package/dist/Model/filter/types/errors.d.ts +1 -1
  43. package/dist/Model/filter/types/fields.d.ts +1 -1
  44. package/dist/Model/filter/types/path/common.d.ts +1 -1
  45. package/dist/Model/filter/types/path/eager.d.ts +1 -1
  46. package/dist/Model/filter/types/path/eager.d.ts.map +1 -1
  47. package/dist/Model/filter/types/path/eager.js +1 -1
  48. package/dist/Model/filter/types/path/index.d.ts +1 -1
  49. package/dist/Model/filter/types/utils.d.ts +1 -1
  50. package/dist/Model/filter/types/validator.d.ts +1 -1
  51. package/dist/Model/filter/types.d.ts +1 -1
  52. package/dist/Model/query/dsl.d.ts +139 -16
  53. package/dist/Model/query/dsl.d.ts.map +1 -1
  54. package/dist/Model/query/dsl.js +187 -1
  55. package/dist/Model/query/new-kid-interpreter.d.ts +76 -7
  56. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
  57. package/dist/Model/query/new-kid-interpreter.js +122 -6
  58. package/dist/Model/query.d.ts +1 -1
  59. package/dist/Model.d.ts +2 -1
  60. package/dist/Model.d.ts.map +1 -1
  61. package/dist/Model.js +2 -1
  62. package/dist/QueueMaker/SQLQueue.d.ts +5 -7
  63. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  64. package/dist/QueueMaker/SQLQueue.js +130 -116
  65. package/dist/QueueMaker/errors.d.ts +2 -2
  66. package/dist/QueueMaker/errors.d.ts.map +1 -1
  67. package/dist/QueueMaker/memQueue.d.ts +7 -4
  68. package/dist/QueueMaker/memQueue.d.ts.map +1 -1
  69. package/dist/QueueMaker/memQueue.js +75 -63
  70. package/dist/QueueMaker/sbqueue.d.ts +6 -3
  71. package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
  72. package/dist/QueueMaker/sbqueue.js +52 -53
  73. package/dist/QueueMaker/service.d.ts +1 -1
  74. package/dist/RequestContext.d.ts +74 -35
  75. package/dist/RequestContext.d.ts.map +1 -1
  76. package/dist/RequestContext.js +13 -14
  77. package/dist/RequestFiberSet.d.ts +7 -7
  78. package/dist/RequestFiberSet.d.ts.map +1 -1
  79. package/dist/RequestFiberSet.js +3 -3
  80. package/dist/Store/ContextMapContainer.d.ts +19 -3
  81. package/dist/Store/ContextMapContainer.d.ts.map +1 -1
  82. package/dist/Store/ContextMapContainer.js +13 -3
  83. package/dist/Store/Cosmos/query.d.ts +5 -1
  84. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  85. package/dist/Store/Cosmos/query.js +113 -34
  86. package/dist/Store/Cosmos.d.ts +1 -1
  87. package/dist/Store/Cosmos.d.ts.map +1 -1
  88. package/dist/Store/Cosmos.js +335 -243
  89. package/dist/Store/Disk.d.ts +2 -2
  90. package/dist/Store/Disk.d.ts.map +1 -1
  91. package/dist/Store/Disk.js +72 -35
  92. package/dist/Store/Memory.d.ts +6 -4
  93. package/dist/Store/Memory.d.ts.map +1 -1
  94. package/dist/Store/Memory.js +242 -58
  95. package/dist/Store/SQL/Pg.d.ts +4 -0
  96. package/dist/Store/SQL/Pg.d.ts.map +1 -0
  97. package/dist/Store/SQL/Pg.js +231 -0
  98. package/dist/Store/SQL/query.d.ts +42 -0
  99. package/dist/Store/SQL/query.d.ts.map +1 -0
  100. package/dist/Store/SQL/query.js +479 -0
  101. package/dist/Store/SQL.d.ts +20 -0
  102. package/dist/Store/SQL.d.ts.map +1 -0
  103. package/dist/Store/SQL.js +446 -0
  104. package/dist/Store/codeFilter.d.ts +1 -1
  105. package/dist/Store/codeFilter.d.ts.map +1 -1
  106. package/dist/Store/codeFilter.js +4 -2
  107. package/dist/Store/index.d.ts +5 -2
  108. package/dist/Store/index.d.ts.map +1 -1
  109. package/dist/Store/index.js +15 -3
  110. package/dist/Store/service.d.ts +22 -8
  111. package/dist/Store/service.d.ts.map +1 -1
  112. package/dist/Store/service.js +24 -6
  113. package/dist/Store/utils.d.ts +1 -1
  114. package/dist/Store/utils.d.ts.map +1 -1
  115. package/dist/Store/utils.js +3 -4
  116. package/dist/Store.d.ts +1 -1
  117. package/dist/adapters/SQL/Model.d.ts +31 -42
  118. package/dist/adapters/SQL/Model.d.ts.map +1 -1
  119. package/dist/adapters/SQL/Model.js +29 -38
  120. package/dist/adapters/SQL.d.ts +1 -1
  121. package/dist/adapters/ServiceBus.d.ts +11 -11
  122. package/dist/adapters/ServiceBus.d.ts.map +1 -1
  123. package/dist/adapters/ServiceBus.js +25 -21
  124. package/dist/adapters/cosmos-client.d.ts +3 -3
  125. package/dist/adapters/cosmos-client.d.ts.map +1 -1
  126. package/dist/adapters/cosmos-client.js +3 -3
  127. package/dist/adapters/index.d.ts +8 -2
  128. package/dist/adapters/index.d.ts.map +1 -1
  129. package/dist/adapters/index.js +8 -2
  130. package/dist/adapters/logger.d.ts +1 -1
  131. package/dist/adapters/logger.d.ts.map +1 -1
  132. package/dist/adapters/memQueue.d.ts +3 -3
  133. package/dist/adapters/memQueue.d.ts.map +1 -1
  134. package/dist/adapters/memQueue.js +3 -3
  135. package/dist/adapters/mongo-client.d.ts +3 -3
  136. package/dist/adapters/mongo-client.d.ts.map +1 -1
  137. package/dist/adapters/mongo-client.js +3 -3
  138. package/dist/adapters/redis-client.d.ts +3 -3
  139. package/dist/adapters/redis-client.d.ts.map +1 -1
  140. package/dist/adapters/redis-client.js +3 -3
  141. package/dist/api/ContextProvider.d.ts +8 -8
  142. package/dist/api/ContextProvider.d.ts.map +1 -1
  143. package/dist/api/ContextProvider.js +6 -6
  144. package/dist/api/codec.d.ts +1 -1
  145. package/dist/api/internal/RequestContextMiddleware.d.ts +2 -2
  146. package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
  147. package/dist/api/internal/RequestContextMiddleware.js +9 -6
  148. package/dist/api/internal/auth.d.ts +44 -6
  149. package/dist/api/internal/auth.d.ts.map +1 -1
  150. package/dist/api/internal/auth.js +160 -29
  151. package/dist/api/internal/events.d.ts +3 -3
  152. package/dist/api/internal/events.d.ts.map +1 -1
  153. package/dist/api/internal/events.js +10 -8
  154. package/dist/api/internal/health.d.ts +1 -1
  155. package/dist/api/layerUtils.d.ts +6 -6
  156. package/dist/api/layerUtils.d.ts.map +1 -1
  157. package/dist/api/layerUtils.js +5 -5
  158. package/dist/api/middlewares.d.ts +1 -1
  159. package/dist/api/reportError.d.ts +1 -1
  160. package/dist/api/routing/middleware/RouterMiddleware.d.ts +4 -4
  161. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
  162. package/dist/api/routing/middleware/middleware.d.ts +39 -3
  163. package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
  164. package/dist/api/routing/middleware/middleware.js +48 -16
  165. package/dist/api/routing/middleware.d.ts +1 -2
  166. package/dist/api/routing/middleware.d.ts.map +1 -1
  167. package/dist/api/routing/middleware.js +1 -2
  168. package/dist/api/routing/schema/jwt.d.ts +1 -1
  169. package/dist/api/routing/schema/jwt.d.ts.map +1 -1
  170. package/dist/api/routing/tsort.d.ts +1 -1
  171. package/dist/api/routing/tsort.d.ts.map +1 -1
  172. package/dist/api/routing/utils.d.ts +3 -3
  173. package/dist/api/routing/utils.d.ts.map +1 -1
  174. package/dist/api/routing.d.ts +80 -37
  175. package/dist/api/routing.d.ts.map +1 -1
  176. package/dist/api/routing.js +109 -41
  177. package/dist/api/setupRequest.d.ts +8 -5
  178. package/dist/api/setupRequest.d.ts.map +1 -1
  179. package/dist/api/setupRequest.js +12 -7
  180. package/dist/api/util.d.ts +1 -1
  181. package/dist/arbs.d.ts +1 -1
  182. package/dist/arbs.d.ts.map +1 -1
  183. package/dist/arbs.js +5 -3
  184. package/dist/errorReporter.d.ts +4 -4
  185. package/dist/errorReporter.d.ts.map +1 -1
  186. package/dist/errorReporter.js +20 -25
  187. package/dist/errors.d.ts +1 -1
  188. package/dist/fileUtil.d.ts +1 -1
  189. package/dist/fileUtil.d.ts.map +1 -1
  190. package/dist/index.d.ts +1 -1
  191. package/dist/logger/jsonLogger.d.ts +1 -1
  192. package/dist/logger/logFmtLogger.d.ts +1 -1
  193. package/dist/logger/shared.d.ts +1 -1
  194. package/dist/logger/shared.js +2 -2
  195. package/dist/logger.d.ts +1 -1
  196. package/dist/logger.d.ts.map +1 -1
  197. package/dist/otel.d.ts +75 -0
  198. package/dist/otel.d.ts.map +1 -0
  199. package/dist/otel.js +65 -0
  200. package/dist/rateLimit.d.ts +9 -3
  201. package/dist/rateLimit.d.ts.map +1 -1
  202. package/dist/rateLimit.js +5 -11
  203. package/dist/test.d.ts +2 -2
  204. package/dist/test.d.ts.map +1 -1
  205. package/dist/test.js +1 -1
  206. package/dist/vitest.d.ts +1 -1
  207. package/examples/query.ts +42 -38
  208. package/package.json +46 -37
  209. package/src/CUPS.ts +9 -11
  210. package/src/Emailer/Sendgrid.ts +17 -14
  211. package/src/Emailer/service.ts +9 -3
  212. package/src/MainFiberSet.ts +5 -6
  213. package/src/Model/Repository/Registry.ts +33 -0
  214. package/src/Model/Repository/ext.ts +96 -10
  215. package/src/Model/Repository/internal/internal.ts +218 -149
  216. package/src/Model/Repository/makeRepo.ts +12 -10
  217. package/src/Model/Repository/service.ts +31 -22
  218. package/src/Model/Repository/validation.ts +4 -4
  219. package/src/Model/Repository.ts +1 -0
  220. package/src/Model/dsl.ts +3 -3
  221. package/src/Model/filter/types/path/eager.ts +1 -2
  222. package/src/Model/query/dsl.ts +348 -18
  223. package/src/Model/query/new-kid-interpreter.ts +206 -6
  224. package/src/Model.ts +1 -0
  225. package/src/QueueMaker/SQLQueue.ts +144 -152
  226. package/src/QueueMaker/memQueue.ts +104 -103
  227. package/src/QueueMaker/sbqueue.ts +70 -86
  228. package/src/RequestContext.ts +14 -16
  229. package/src/RequestFiberSet.ts +2 -2
  230. package/src/Store/ContextMapContainer.ts +41 -2
  231. package/src/Store/Cosmos/query.ts +140 -43
  232. package/src/Store/Cosmos.ts +482 -349
  233. package/src/Store/Disk.ts +102 -65
  234. package/src/Store/Memory.ts +275 -87
  235. package/src/Store/SQL/Pg.ts +361 -0
  236. package/src/Store/SQL/query.ts +539 -0
  237. package/src/Store/SQL.ts +731 -0
  238. package/src/Store/codeFilter.ts +3 -1
  239. package/src/Store/index.ts +17 -2
  240. package/src/Store/service.ts +41 -10
  241. package/src/Store/utils.ts +23 -22
  242. package/src/adapters/SQL/Model.ts +41 -40
  243. package/src/adapters/ServiceBus.ts +125 -121
  244. package/src/adapters/cosmos-client.ts +2 -2
  245. package/src/adapters/index.ts +7 -0
  246. package/src/adapters/memQueue.ts +2 -2
  247. package/src/adapters/mongo-client.ts +2 -2
  248. package/src/adapters/redis-client.ts +2 -2
  249. package/src/api/ContextProvider.ts +12 -13
  250. package/src/api/internal/RequestContextMiddleware.ts +15 -5
  251. package/src/api/internal/auth.ts +246 -44
  252. package/src/api/internal/events.ts +13 -9
  253. package/src/api/layerUtils.ts +8 -8
  254. package/src/api/routing/middleware/RouterMiddleware.ts +4 -4
  255. package/src/api/routing/middleware/middleware.ts +55 -14
  256. package/src/api/routing/middleware.ts +0 -2
  257. package/src/api/routing.ts +296 -131
  258. package/src/api/setupRequest.ts +28 -8
  259. package/src/arbs.ts +4 -2
  260. package/src/errorReporter.ts +62 -74
  261. package/src/logger/shared.ts +1 -1
  262. package/src/otel.ts +152 -0
  263. package/src/rateLimit.ts +30 -22
  264. package/src/test.ts +1 -1
  265. package/test/auth.test.ts +101 -0
  266. package/test/contextProvider.test.ts +11 -11
  267. package/test/controller.test.ts +21 -30
  268. package/test/dist/auth.test.d.ts.map +1 -0
  269. package/test/dist/contextProvider.test.d.ts.map +1 -1
  270. package/test/dist/controller.test.d.ts.map +1 -1
  271. package/test/dist/date-query.test.d.ts.map +1 -0
  272. package/test/dist/fixtures.d.ts +26 -12
  273. package/test/dist/fixtures.d.ts.map +1 -1
  274. package/test/dist/fixtures.js +12 -10
  275. package/test/dist/query.test.d.ts.map +1 -1
  276. package/test/dist/rawQuery.test.d.ts.map +1 -1
  277. package/test/dist/repository-ext.test.d.ts.map +1 -0
  278. package/test/dist/requires.test.d.ts.map +1 -1
  279. package/test/dist/router-generator.test.d.ts.map +1 -0
  280. package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
  281. package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
  282. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  283. package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
  284. package/test/dist/sql-store.test.d.ts.map +1 -0
  285. package/test/fixtures.ts +11 -9
  286. package/test/query.test.ts +813 -38
  287. package/test/rawQuery.test.ts +301 -20
  288. package/test/repository-ext.test.ts +60 -0
  289. package/test/requires.test.ts +6 -6
  290. package/test/router-generator.test.ts +183 -0
  291. package/test/routing-interruptibility.test.ts +63 -0
  292. package/test/rpc-e2e-invalidation.test.ts +251 -0
  293. package/test/rpc-multi-middleware.test.ts +78 -9
  294. package/test/rpc-stream-fullstack.test.ts +300 -0
  295. package/test/sql-store.test.ts +1592 -0
  296. package/test/validateSample.test.ts +15 -12
  297. package/tsconfig.examples.json +1 -1
  298. package/tsconfig.json +0 -1
  299. package/tsconfig.json.bak +2 -2
  300. package/tsconfig.src.json +35 -35
  301. package/tsconfig.test.json +2 -2
  302. package/dist/Operations.d.ts +0 -55
  303. package/dist/Operations.d.ts.map +0 -1
  304. package/dist/Operations.js +0 -102
  305. package/dist/OperationsRepo.d.ts +0 -41
  306. package/dist/OperationsRepo.d.ts.map +0 -1
  307. package/dist/OperationsRepo.js +0 -14
  308. package/eslint.config.mjs +0 -24
  309. package/src/Operations.ts +0 -235
  310. package/src/OperationsRepo.ts +0 -16
@@ -25,10 +25,74 @@ export type RelationDirection = "some" | "every";
25
25
  export type Relation = {
26
26
  relation: RelationDirection;
27
27
  };
28
- export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues, false, "initial">;
28
+ export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues>;
29
29
  export type QueryWhere<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValuesRefined, Exclusive, "where"> & Relation;
30
30
  export type QueryEnd<TFieldValues extends FieldValues, TType extends "many" | "one" | "count" = "many", Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValues, Exclusive, "end", TFieldValues, never, TType>;
31
31
  export type QueryProjection<TFieldValues extends FieldValues, A = TFieldValues, R = never, TType extends "many" | "one" | "count" = "many", Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValues, Exclusive, "projection", A, R, TType>;
32
+ export type ComputedProjectionOperation = (q: Query<any>) => QueryWhere<any, any, any>;
33
+ export type ComputedProjectionMathExpression = {
34
+ readonly _tag: "field";
35
+ readonly field: string;
36
+ } | {
37
+ readonly _tag: "mul";
38
+ readonly left: ComputedProjectionMathExpression;
39
+ readonly right: ComputedProjectionMathExpression;
40
+ };
41
+ export type ComputedProjectionExpression = {
42
+ readonly _tag: "relation-count";
43
+ readonly path: string;
44
+ readonly operation?: ComputedProjectionOperation;
45
+ } | {
46
+ readonly _tag: "relation-any";
47
+ readonly path: string;
48
+ readonly operation?: ComputedProjectionOperation;
49
+ } | {
50
+ readonly _tag: "relation-every";
51
+ readonly path: string;
52
+ readonly operation: ComputedProjectionOperation;
53
+ } | {
54
+ readonly _tag: "relation-distinct-count";
55
+ readonly path: string;
56
+ readonly field: string;
57
+ readonly operation?: ComputedProjectionOperation;
58
+ } | {
59
+ readonly _tag: "relation-sum";
60
+ readonly path: string;
61
+ readonly field: string;
62
+ readonly operation?: ComputedProjectionOperation;
63
+ } | {
64
+ readonly _tag: "relation-sum-expr";
65
+ readonly path: string;
66
+ readonly expression: ComputedProjectionMathExpression;
67
+ readonly operation?: ComputedProjectionOperation;
68
+ } | {
69
+ readonly _tag: "relation-sum-expr-by";
70
+ readonly path: string;
71
+ readonly expression: ComputedProjectionMathExpression;
72
+ readonly unit: string;
73
+ readonly operation?: ComputedProjectionOperation;
74
+ } | {
75
+ readonly _tag: "relation-sum-expr-normalized";
76
+ readonly path: string;
77
+ readonly expression: ComputedProjectionMathExpression;
78
+ readonly unit: string;
79
+ readonly toBase: string;
80
+ readonly factors: Readonly<Record<string, number>>;
81
+ readonly operation?: ComputedProjectionOperation;
82
+ } | {
83
+ readonly _tag: "relation-collect";
84
+ readonly path: string;
85
+ readonly field: string;
86
+ readonly distinct: boolean;
87
+ readonly operation?: ComputedProjectionOperation;
88
+ } | {
89
+ readonly _tag: "relation-collect-fields";
90
+ readonly path: string;
91
+ readonly fields: readonly string[];
92
+ readonly distinct: boolean;
93
+ readonly operation?: ComputedProjectionOperation;
94
+ };
95
+ export type ComputedProjectionMap = Readonly<Record<string, ComputedProjectionExpression>>;
32
96
  export type Q<TFieldValues extends FieldValues> = Initial<TFieldValues> | Where<TFieldValues> | And<TFieldValues> | Or<TFieldValues> | Order<TFieldValues, any> | Page<TFieldValues> | Project<any, TFieldValues, any> | One<TFieldValues> | Count<TFieldValues>;
33
97
  declare const Initial_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
34
98
  readonly _tag: "value";
@@ -121,6 +185,7 @@ export declare class Project<A, TFieldValues extends FieldValues, R, TType exten
121
185
  current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues, TType>;
122
186
  schema: S.Codec<A, TFieldValues, R>;
123
187
  mode: "collect" | "project" | "transform";
188
+ computed?: ComputedProjectionMap;
124
189
  }> implements QueryProjection<TFieldValues, A, R> {
125
190
  readonly [QId]: any;
126
191
  pipe(): unknown;
@@ -146,6 +211,35 @@ export declare const one: {
146
211
  export declare const count: {
147
212
  <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q): QueryProjection<ExtractFieldValuesRefined<Q>, NonNegativeInt, never, "count", ExtractExclusiveness<Q>>;
148
213
  };
214
+ /**
215
+ * Attach a projection schema to a query.
216
+ *
217
+ * The `select` clause sent to the store is derived from the schema's encoded
218
+ * AST property names (top-level + per-array sub-keys), so a projection always
219
+ * narrows what is read from the store. The repository augments that select
220
+ * with `id` and `_etag` for change tracking. See {@link toFilter} and the
221
+ * dispatch in `Repository/internal/internal.ts`.
222
+ *
223
+ * Modes — pick based on shape of the decoded value and on whether the
224
+ * persistence-model (PM) reverse-mapping is needed:
225
+ *
226
+ * - `"transform"` (default when `mode` omitted): goes through the repo's
227
+ * `parseMany`/`parseMany2` pipeline. The raw row is reverse-mapped via the
228
+ * etag/PM cache (re-injecting `_etag` and any PM-shape state) before
229
+ * decoding. Decode failures `orDie` (error channel = `never`). Use when
230
+ * the schema operates on the full PM shape (e.g. full-entity reads that
231
+ * must preserve etag tracking).
232
+ *
233
+ * - `"project"`: decodes the raw encoded row directly with the supplied
234
+ * schema. No PM reverse-mapping, no etag cache merge. Decode failures
235
+ * surface as `S.SchemaError`. Use for slim DTOs / aggregations that do not
236
+ * need etag tracking and whose schema input is a plain subset of `Encoded`.
237
+ *
238
+ * - `"collect"`: like `"project"`, but the schema yields `Option<A>` and
239
+ * `None` values are dropped post-decode (`Array.getSomes`). Use to filter
240
+ * rows during decode (e.g. discriminated-union narrowing where some rows
241
+ * should not appear in the result).
242
+ */
149
243
  export declare const project: {
150
244
  <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, {
151
245
  [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
@@ -157,6 +251,35 @@ export declare const project: {
157
251
  [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
158
252
  }, R>): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
159
253
  };
254
+ export declare const relation: <TFieldValues extends FieldValues>(path: FieldPath<TFieldValues>) => {
255
+ count: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
256
+ any: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
257
+ every: (operation: ComputedProjectionOperation) => ComputedProjectionExpression;
258
+ distinctCount: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
259
+ sum: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
260
+ sumExpr: (expression: ComputedProjectionMathExpression, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
261
+ sumExprBy: (expression: ComputedProjectionMathExpression, options: {
262
+ unit: string;
263
+ }, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
264
+ sumExprNormalized: (expression: ComputedProjectionMathExpression, options: {
265
+ unit: string;
266
+ toBase: string;
267
+ factors: Readonly<Record<string, number>>;
268
+ }, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
269
+ collect: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
270
+ collectDistinct: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
271
+ collectFields: (fields: readonly string[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
272
+ collectDistinctFields: (fields: readonly string[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
273
+ };
274
+ export declare const expr: {
275
+ readonly field: (field: string) => ComputedProjectionMathExpression;
276
+ readonly mul: (left: ComputedProjectionMathExpression, right: ComputedProjectionMathExpression) => ComputedProjectionMathExpression;
277
+ };
278
+ export declare const computed: <T extends ComputedProjectionMap>(value: T) => T;
279
+ export declare const projectComputed: {
280
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, I, R>, computedProjection: ComputedProjectionMap, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
281
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R>, computedProjection: ComputedProjectionMap, mode?: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
282
+ };
160
283
  type GetArV<T> = T extends readonly (infer R)[] ? R : never;
161
284
  export type FilterContinuations<IsCurrentInitial extends boolean = false> = {
162
285
  <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
@@ -224,25 +347,25 @@ export type NestedQueriesFreeIntersectionRefinement = {
224
347
  <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, TFieldValuesRefined14 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined14, E14>;
225
348
  };
226
349
  export type NestedQueriesFreeDisjointRefinement = {
227
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2, false>;
228
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined3, false>;
229
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined4, false>;
230
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined5, false>;
231
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined6, false>;
232
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined7, false>;
233
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2, false>;
234
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined9, false>;
235
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined10, false>;
236
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined11, false>;
237
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined12, false>;
238
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined13, false>;
239
- <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, TFieldValuesRefined14 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined14, false>;
350
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>;
351
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined3>;
352
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined4>;
353
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined5>;
354
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined6>;
355
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined7>;
356
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>;
357
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined9>;
358
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined10>;
359
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined11>;
360
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined12>;
361
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined13>;
362
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, TFieldValuesRefined14 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined14>;
240
363
  };
241
364
  export type FilterWhere = NestedQueriesFixedRefinement<true> & FilteringRefinements<true> & FilterContinuations<true>;
242
365
  export type FilterContinuationAnd = NestedQueriesFreeIntersectionRefinement & FilteringRefinements & FilterContinuations;
243
366
  export type FilterContinuationOr = NestedQueriesFreeDisjointRefinement & FilterContinuations;
244
367
  export type WhereEveryOrSome = {
245
- <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>>(subPath: TFieldName, dude: (current: Query<TFieldValues[TFieldName][number]>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number], false>, ...dudes: ((current: QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number], false>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number], false>)[]): (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValues, false>;
368
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>>(subPath: TFieldName, dude: (current: Query<TFieldValues[TFieldName][number]>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>, ...dudes: ((current: QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>)[]): (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValues>;
246
369
  } & FilterContinuationsWithSubpath;
247
370
  export {};
248
- //# sourceMappingURL=dsl.d.ts.map
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNsLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTW9kZWwvcXVlcnkvZHNsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBYyxLQUFLLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdEUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDdkQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzdDLE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ2pELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3JELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUVwRyxNQUFNLE1BQU0sSUFBSSxDQUNkLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsR0FBRyxZQUFZLEVBQ2hCLENBQUMsR0FBRyxLQUFLLEVBQ1QsS0FBSyxTQUFTLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxFQUNyQyxTQUFTLFNBQVMsT0FBTyxHQUFHLEtBQUssSUFFL0IsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUNuQixVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxHQUN4RCxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsR0FDeEMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUV6RCxlQUFPLE1BQU0sR0FBRyxlQUFXLENBQUE7QUFDM0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxPQUFPLEdBQUcsQ0FBQTtBQUU1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R0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsR0FDbEgsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFV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LEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FDckQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBRXZELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUNyRCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBRXZELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FDckQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQzVHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFdkQsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FDckQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBRXZELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUNyRCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQs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QUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDN0UsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFB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QUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFN0UsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEdBQ3hELENBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFL0UsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVB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QyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsS0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEtBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEdBQ3hELENBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFL0UsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEVBQ3pELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxLQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsS0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEtBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEdBQ3hELENBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFL0UsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNG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Q0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3hGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcsb0JBQW9CLENBQUMsQ0FBQTtJQUV6RSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDeEYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcsb0JBQW9CLENBQUMsQ0FBQTtJQUV6RSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFT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LEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEtBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEdBQ3hELENBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsQ0FBQTtJQUUxRSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDeEYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQs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RUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEtBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEVBQ3pELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixF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