@effect-app/infra 4.0.0-beta.22 → 4.0.0-beta.221
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1648 -0
- package/_check.sh +1 -1
- package/dist/CUPS.d.ts +12 -7
- package/dist/CUPS.d.ts.map +1 -1
- package/dist/CUPS.js +16 -12
- package/dist/Emailer/Sendgrid.d.ts +15 -15
- package/dist/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/Emailer/Sendgrid.js +20 -16
- package/dist/Emailer/fake.d.ts +1 -1
- package/dist/Emailer/fake.js +2 -2
- package/dist/Emailer/service.d.ts +13 -4
- package/dist/Emailer/service.d.ts.map +1 -1
- package/dist/Emailer/service.js +4 -3
- package/dist/Emailer.d.ts +1 -1
- package/dist/MainFiberSet.d.ts +12 -9
- package/dist/MainFiberSet.d.ts.map +1 -1
- package/dist/MainFiberSet.js +7 -3
- package/dist/Model/Repository/Registry.d.ts +21 -0
- package/dist/Model/Repository/Registry.d.ts.map +1 -0
- package/dist/Model/Repository/Registry.js +18 -0
- package/dist/Model/Repository/ext.d.ts +35 -16
- package/dist/Model/Repository/ext.d.ts.map +1 -1
- package/dist/Model/Repository/ext.js +60 -3
- package/dist/Model/Repository/internal/internal.d.ts +9 -6
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
- package/dist/Model/Repository/internal/internal.js +115 -51
- package/dist/Model/Repository/legacy.d.ts +4 -2
- package/dist/Model/Repository/legacy.d.ts.map +1 -1
- package/dist/Model/Repository/makeRepo.d.ts +10 -6
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
- package/dist/Model/Repository/makeRepo.js +5 -2
- package/dist/Model/Repository/service.d.ts +32 -24
- package/dist/Model/Repository/service.d.ts.map +1 -1
- package/dist/Model/Repository/validation.d.ts +47 -18
- package/dist/Model/Repository/validation.d.ts.map +1 -1
- package/dist/Model/Repository/validation.js +6 -6
- package/dist/Model/Repository.d.ts +2 -1
- package/dist/Model/Repository.d.ts.map +1 -1
- package/dist/Model/Repository.js +2 -1
- package/dist/Model/dsl.d.ts +6 -5
- package/dist/Model/dsl.d.ts.map +1 -1
- package/dist/Model/dsl.js +2 -3
- package/dist/Model/filter/filterApi.d.ts +5 -5
- package/dist/Model/filter/filterApi.d.ts.map +1 -1
- package/dist/Model/filter/types/errors.d.ts +1 -1
- package/dist/Model/filter/types/fields.d.ts +1 -1
- package/dist/Model/filter/types/path/common.d.ts +1 -1
- package/dist/Model/filter/types/path/eager.d.ts +1 -1
- package/dist/Model/filter/types/path/eager.d.ts.map +1 -1
- package/dist/Model/filter/types/path/eager.js +1 -1
- package/dist/Model/filter/types/path/index.d.ts +1 -1
- package/dist/Model/filter/types/utils.d.ts +1 -1
- package/dist/Model/filter/types/validator.d.ts +1 -1
- package/dist/Model/filter/types.d.ts +1 -1
- package/dist/Model/query/dsl.d.ts +142 -17
- package/dist/Model/query/dsl.d.ts.map +1 -1
- package/dist/Model/query/dsl.js +190 -5
- package/dist/Model/query/new-kid-interpreter.d.ts +77 -8
- package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
- package/dist/Model/query/new-kid-interpreter.js +127 -6
- package/dist/Model/query.d.ts +1 -1
- package/dist/Model.d.ts +2 -1
- package/dist/Model.d.ts.map +1 -1
- package/dist/Model.js +2 -1
- package/dist/QueueMaker/SQLQueue.d.ts +7 -8
- package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
- package/dist/QueueMaker/SQLQueue.js +135 -117
- package/dist/QueueMaker/errors.d.ts +5 -3
- package/dist/QueueMaker/errors.d.ts.map +1 -1
- package/dist/QueueMaker/errors.js +4 -2
- package/dist/QueueMaker/memQueue.d.ts +9 -5
- package/dist/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/QueueMaker/memQueue.js +81 -65
- package/dist/QueueMaker/sbqueue.d.ts +8 -4
- package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/QueueMaker/sbqueue.js +57 -55
- package/dist/QueueMaker/service.d.ts +4 -2
- package/dist/QueueMaker/service.d.ts.map +1 -1
- package/dist/QueueMaker/service.js +1 -1
- package/dist/RequestContext.d.ts +75 -35
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +14 -14
- package/dist/RequestFiberSet.d.ts +10 -7
- package/dist/RequestFiberSet.d.ts.map +1 -1
- package/dist/RequestFiberSet.js +8 -3
- package/dist/Store/ContextMapContainer.d.ts +22 -3
- package/dist/Store/ContextMapContainer.d.ts.map +1 -1
- package/dist/Store/ContextMapContainer.js +17 -3
- package/dist/Store/Cosmos/query.d.ts +7 -2
- package/dist/Store/Cosmos/query.d.ts.map +1 -1
- package/dist/Store/Cosmos/query.js +115 -35
- package/dist/Store/Cosmos.d.ts +2 -2
- package/dist/Store/Cosmos.d.ts.map +1 -1
- package/dist/Store/Cosmos.js +343 -244
- package/dist/Store/Disk.d.ts +3 -3
- package/dist/Store/Disk.d.ts.map +1 -1
- package/dist/Store/Disk.js +76 -36
- package/dist/Store/Memory.d.ts +7 -4
- package/dist/Store/Memory.d.ts.map +1 -1
- package/dist/Store/Memory.js +251 -58
- package/dist/Store/SQL/Pg.d.ts +4 -0
- package/dist/Store/SQL/Pg.d.ts.map +1 -0
- package/dist/Store/SQL/Pg.js +233 -0
- package/dist/Store/SQL/query.d.ts +43 -0
- package/dist/Store/SQL/query.d.ts.map +1 -0
- package/dist/Store/SQL/query.js +478 -0
- package/dist/Store/SQL.d.ts +21 -0
- package/dist/Store/SQL.d.ts.map +1 -0
- package/dist/Store/SQL.js +450 -0
- package/dist/Store/codeFilter.d.ts +2 -2
- package/dist/Store/codeFilter.d.ts.map +1 -1
- package/dist/Store/codeFilter.js +6 -3
- package/dist/Store/index.d.ts +6 -3
- package/dist/Store/index.d.ts.map +1 -1
- package/dist/Store/index.js +18 -4
- package/dist/Store/service.d.ts +26 -8
- package/dist/Store/service.d.ts.map +1 -1
- package/dist/Store/service.js +25 -6
- package/dist/Store/utils.d.ts +3 -2
- package/dist/Store/utils.d.ts.map +1 -1
- package/dist/Store/utils.js +5 -5
- package/dist/Store.d.ts +1 -1
- package/dist/adapters/SQL/Model.d.ts +32 -43
- package/dist/adapters/SQL/Model.d.ts.map +1 -1
- package/dist/adapters/SQL/Model.js +30 -39
- package/dist/adapters/SQL.d.ts +1 -1
- package/dist/adapters/ServiceBus.d.ts +14 -11
- package/dist/adapters/ServiceBus.d.ts.map +1 -1
- package/dist/adapters/ServiceBus.js +30 -21
- package/dist/adapters/cosmos-client.d.ts +5 -3
- package/dist/adapters/cosmos-client.d.ts.map +1 -1
- package/dist/adapters/cosmos-client.js +5 -3
- package/dist/adapters/index.d.ts +8 -2
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +8 -2
- package/dist/adapters/logger.d.ts +2 -2
- package/dist/adapters/logger.d.ts.map +1 -1
- package/dist/adapters/memQueue.d.ts +5 -3
- package/dist/adapters/memQueue.d.ts.map +1 -1
- package/dist/adapters/memQueue.js +6 -5
- package/dist/adapters/mongo-client.d.ts +4 -3
- package/dist/adapters/mongo-client.d.ts.map +1 -1
- package/dist/adapters/mongo-client.js +5 -3
- package/dist/adapters/redis-client.d.ts +6 -3
- package/dist/adapters/redis-client.d.ts.map +1 -1
- package/dist/adapters/redis-client.js +7 -3
- package/dist/api/ContextProvider.d.ts +12 -8
- package/dist/api/ContextProvider.d.ts.map +1 -1
- package/dist/api/ContextProvider.js +9 -7
- package/dist/api/codec.d.ts +1 -1
- package/dist/api/internal/RequestContextMiddleware.d.ts +3 -3
- package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
- package/dist/api/internal/RequestContextMiddleware.js +10 -6
- package/dist/api/internal/auth.d.ts +45 -7
- package/dist/api/internal/auth.d.ts.map +1 -1
- package/dist/api/internal/auth.js +162 -29
- package/dist/api/internal/events.d.ts +6 -4
- package/dist/api/internal/events.d.ts.map +1 -1
- package/dist/api/internal/events.js +16 -9
- package/dist/api/internal/health.d.ts +1 -1
- package/dist/api/layerUtils.d.ts +10 -6
- package/dist/api/layerUtils.d.ts.map +1 -1
- package/dist/api/layerUtils.js +7 -6
- package/dist/api/middlewares.d.ts +1 -1
- package/dist/api/reportError.d.ts +2 -2
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +3 -2
- package/dist/api/routing/middleware/RouterMiddleware.d.ts +5 -4
- package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.d.ts +42 -3
- package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.js +53 -17
- package/dist/api/routing/middleware.d.ts +1 -2
- package/dist/api/routing/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware.js +1 -2
- package/dist/api/routing/schema/jwt.d.ts +1 -1
- package/dist/api/routing/schema/jwt.d.ts.map +1 -1
- package/dist/api/routing/schema/jwt.js +3 -2
- package/dist/api/routing/tsort.d.ts +1 -1
- package/dist/api/routing/tsort.d.ts.map +1 -1
- package/dist/api/routing/utils.d.ts +4 -4
- package/dist/api/routing/utils.d.ts.map +1 -1
- package/dist/api/routing/utils.js +3 -2
- package/dist/api/routing.d.ts +84 -37
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +115 -45
- package/dist/api/setupRequest.d.ts +10 -6
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +15 -7
- package/dist/api/util.d.ts +1 -1
- package/dist/arbs.d.ts +2 -2
- package/dist/arbs.d.ts.map +1 -1
- package/dist/arbs.js +5 -3
- package/dist/errorReporter.d.ts +7 -5
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +22 -26
- package/dist/errors.d.ts +1 -1
- package/dist/fileUtil.d.ts +2 -2
- package/dist/fileUtil.d.ts.map +1 -1
- package/dist/fileUtil.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/logger/jsonLogger.d.ts +2 -2
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +4 -2
- package/dist/logger/logFmtLogger.d.ts +2 -2
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +2 -2
- package/dist/logger/shared.d.ts +2 -2
- package/dist/logger/shared.d.ts.map +1 -1
- package/dist/logger/shared.js +3 -3
- package/dist/logger.d.ts +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/otel.d.ts +75 -0
- package/dist/otel.d.ts.map +1 -0
- package/dist/otel.js +65 -0
- package/dist/rateLimit.d.ts +12 -4
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +7 -12
- package/dist/test.d.ts +3 -3
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +2 -2
- package/dist/vitest.d.ts +1 -1
- package/examples/query.ts +46 -38
- package/package.json +46 -37
- package/src/CUPS.ts +15 -11
- package/src/Emailer/Sendgrid.ts +21 -15
- package/src/Emailer/fake.ts +1 -1
- package/src/Emailer/service.ts +13 -3
- package/src/MainFiberSet.ts +9 -6
- package/src/Model/Repository/Registry.ts +34 -0
- package/src/Model/Repository/ext.ts +103 -11
- package/src/Model/Repository/internal/internal.ts +231 -149
- package/src/Model/Repository/legacy.ts +3 -1
- package/src/Model/Repository/makeRepo.ts +15 -10
- package/src/Model/Repository/service.ts +35 -23
- package/src/Model/Repository/validation.ts +5 -5
- package/src/Model/Repository.ts +1 -0
- package/src/Model/dsl.ts +5 -4
- package/src/Model/filter/types/path/eager.ts +1 -2
- package/src/Model/query/dsl.ts +353 -19
- package/src/Model/query/new-kid-interpreter.ts +211 -6
- package/src/Model.ts +1 -0
- package/src/QueueMaker/SQLQueue.ts +150 -153
- package/src/QueueMaker/errors.ts +3 -1
- package/src/QueueMaker/memQueue.ts +111 -105
- package/src/QueueMaker/sbqueue.ts +76 -88
- package/src/QueueMaker/service.ts +3 -1
- package/src/RequestContext.ts +15 -16
- package/src/RequestFiberSet.ts +8 -2
- package/src/Store/ContextMapContainer.ts +45 -2
- package/src/Store/Cosmos/query.ts +143 -44
- package/src/Store/Cosmos.ts +491 -350
- package/src/Store/Disk.ts +106 -66
- package/src/Store/Memory.ts +285 -87
- package/src/Store/SQL/Pg.ts +364 -0
- package/src/Store/SQL/query.ts +540 -0
- package/src/Store/SQL.ts +736 -0
- package/src/Store/codeFilter.ts +5 -2
- package/src/Store/index.ts +20 -3
- package/src/Store/service.ts +45 -10
- package/src/Store/utils.ts +25 -23
- package/src/adapters/SQL/Model.ts +42 -41
- package/src/adapters/ServiceBus.ts +131 -121
- package/src/adapters/cosmos-client.ts +4 -2
- package/src/adapters/index.ts +7 -0
- package/src/adapters/memQueue.ts +5 -4
- package/src/adapters/mongo-client.ts +4 -2
- package/src/adapters/redis-client.ts +6 -2
- package/src/api/ContextProvider.ts +17 -13
- package/src/api/internal/RequestContextMiddleware.ts +16 -5
- package/src/api/internal/auth.ts +248 -44
- package/src/api/internal/events.ts +19 -10
- package/src/api/layerUtils.ts +12 -8
- package/src/api/reportError.ts +2 -1
- package/src/api/routing/middleware/RouterMiddleware.ts +5 -4
- package/src/api/routing/middleware/middleware.ts +60 -15
- package/src/api/routing/middleware.ts +0 -2
- package/src/api/routing/schema/jwt.ts +2 -1
- package/src/api/routing/utils.ts +2 -1
- package/src/api/routing.ts +304 -131
- package/src/api/setupRequest.ts +31 -8
- package/src/arbs.ts +5 -3
- package/src/errorReporter.ts +65 -75
- package/src/fileUtil.ts +1 -1
- package/src/logger/jsonLogger.ts +3 -1
- package/src/logger/logFmtLogger.ts +1 -1
- package/src/logger/shared.ts +3 -2
- package/src/otel.ts +152 -0
- package/src/rateLimit.ts +34 -23
- package/src/test.ts +2 -2
- package/test/auth.test.ts +101 -0
- package/test/contextProvider.test.ts +14 -11
- package/test/controller.test.ts +25 -29
- package/test/dist/auth.test.d.ts.map +1 -0
- package/test/dist/contextProvider.test.d.ts.map +1 -1
- package/test/dist/controller.test.d.ts.map +1 -1
- package/test/dist/date-query.test.d.ts.map +1 -0
- package/test/dist/fixtures.d.ts +30 -12
- package/test/dist/fixtures.d.ts.map +1 -1
- package/test/dist/fixtures.js +17 -10
- package/test/dist/query.test.d.ts.map +1 -1
- package/test/dist/rawQuery.test.d.ts.map +1 -1
- package/test/dist/repository-ext.test.d.ts.map +1 -0
- package/test/dist/requires.test.d.ts.map +1 -1
- package/test/dist/router-generator.test.d.ts.map +1 -0
- package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
- package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
- package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
- package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
- package/test/dist/sql-store.test.d.ts.map +1 -0
- package/test/fixtures.ts +16 -9
- package/test/layerUtils.test.ts +1 -1
- package/test/query.test.ts +819 -38
- package/test/rawQuery.test.ts +312 -20
- package/test/repository-ext.test.ts +62 -0
- package/test/requires.test.ts +10 -5
- package/test/router-generator.test.ts +187 -0
- package/test/routing-interruptibility.test.ts +66 -0
- package/test/rpc-e2e-invalidation.test.ts +256 -0
- package/test/rpc-multi-middleware.test.ts +84 -9
- package/test/rpc-stream-fullstack.test.ts +304 -0
- package/test/sql-store.test.ts +1592 -0
- package/test/validateSample.test.ts +17 -12
- package/tsconfig.examples.json +1 -1
- package/tsconfig.json +0 -1
- package/tsconfig.json.bak +2 -2
- package/tsconfig.src.json +35 -35
- package/tsconfig.test.json +2 -2
- package/dist/Operations.d.ts +0 -55
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -102
- package/dist/OperationsRepo.d.ts +0 -41
- package/dist/OperationsRepo.d.ts.map +0 -1
- package/dist/OperationsRepo.js +0 -14
- package/eslint.config.mjs +0 -24
- package/src/Operations.ts +0 -235
- package/src/OperationsRepo.ts +0 -16
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type * as Option from "effect-app/Option";
|
|
2
|
+
import type * as S from "effect-app/Schema";
|
|
2
3
|
import type { NonNegativeInt } from "effect-app/Schema";
|
|
4
|
+
import * as Pipeable from "effect/Pipeable";
|
|
3
5
|
import type { Covariant } from "effect/Types";
|
|
4
6
|
import type { Ops } from "../filter/filterApi.js";
|
|
5
7
|
import type { FieldValues } from "../filter/types.js";
|
|
@@ -25,10 +27,74 @@ export type RelationDirection = "some" | "every";
|
|
|
25
27
|
export type Relation = {
|
|
26
28
|
relation: RelationDirection;
|
|
27
29
|
};
|
|
28
|
-
export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues
|
|
30
|
+
export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues>;
|
|
29
31
|
export type QueryWhere<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValuesRefined, Exclusive, "where"> & Relation;
|
|
30
32
|
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
33
|
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>;
|
|
34
|
+
export type ComputedProjectionOperation = (q: Query<any>) => QueryWhere<any, any, any>;
|
|
35
|
+
export type ComputedProjectionMathExpression = {
|
|
36
|
+
readonly _tag: "field";
|
|
37
|
+
readonly field: string;
|
|
38
|
+
} | {
|
|
39
|
+
readonly _tag: "mul";
|
|
40
|
+
readonly left: ComputedProjectionMathExpression;
|
|
41
|
+
readonly right: ComputedProjectionMathExpression;
|
|
42
|
+
};
|
|
43
|
+
export type ComputedProjectionExpression = {
|
|
44
|
+
readonly _tag: "relation-count";
|
|
45
|
+
readonly path: string;
|
|
46
|
+
readonly operation?: ComputedProjectionOperation;
|
|
47
|
+
} | {
|
|
48
|
+
readonly _tag: "relation-any";
|
|
49
|
+
readonly path: string;
|
|
50
|
+
readonly operation?: ComputedProjectionOperation;
|
|
51
|
+
} | {
|
|
52
|
+
readonly _tag: "relation-every";
|
|
53
|
+
readonly path: string;
|
|
54
|
+
readonly operation: ComputedProjectionOperation;
|
|
55
|
+
} | {
|
|
56
|
+
readonly _tag: "relation-distinct-count";
|
|
57
|
+
readonly path: string;
|
|
58
|
+
readonly field: string;
|
|
59
|
+
readonly operation?: ComputedProjectionOperation;
|
|
60
|
+
} | {
|
|
61
|
+
readonly _tag: "relation-sum";
|
|
62
|
+
readonly path: string;
|
|
63
|
+
readonly field: string;
|
|
64
|
+
readonly operation?: ComputedProjectionOperation;
|
|
65
|
+
} | {
|
|
66
|
+
readonly _tag: "relation-sum-expr";
|
|
67
|
+
readonly path: string;
|
|
68
|
+
readonly expression: ComputedProjectionMathExpression;
|
|
69
|
+
readonly operation?: ComputedProjectionOperation;
|
|
70
|
+
} | {
|
|
71
|
+
readonly _tag: "relation-sum-expr-by";
|
|
72
|
+
readonly path: string;
|
|
73
|
+
readonly expression: ComputedProjectionMathExpression;
|
|
74
|
+
readonly unit: string;
|
|
75
|
+
readonly operation?: ComputedProjectionOperation;
|
|
76
|
+
} | {
|
|
77
|
+
readonly _tag: "relation-sum-expr-normalized";
|
|
78
|
+
readonly path: string;
|
|
79
|
+
readonly expression: ComputedProjectionMathExpression;
|
|
80
|
+
readonly unit: string;
|
|
81
|
+
readonly toBase: string;
|
|
82
|
+
readonly factors: Readonly<Record<string, number>>;
|
|
83
|
+
readonly operation?: ComputedProjectionOperation;
|
|
84
|
+
} | {
|
|
85
|
+
readonly _tag: "relation-collect";
|
|
86
|
+
readonly path: string;
|
|
87
|
+
readonly field: string;
|
|
88
|
+
readonly distinct: boolean;
|
|
89
|
+
readonly operation?: ComputedProjectionOperation;
|
|
90
|
+
} | {
|
|
91
|
+
readonly _tag: "relation-collect-fields";
|
|
92
|
+
readonly path: string;
|
|
93
|
+
readonly fields: readonly string[];
|
|
94
|
+
readonly distinct: boolean;
|
|
95
|
+
readonly operation?: ComputedProjectionOperation;
|
|
96
|
+
};
|
|
97
|
+
export type ComputedProjectionMap = Readonly<Record<string, ComputedProjectionExpression>>;
|
|
32
98
|
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
99
|
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
100
|
readonly _tag: "value";
|
|
@@ -121,6 +187,7 @@ export declare class Project<A, TFieldValues extends FieldValues, R, TType exten
|
|
|
121
187
|
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues, TType>;
|
|
122
188
|
schema: S.Codec<A, TFieldValues, R>;
|
|
123
189
|
mode: "collect" | "project" | "transform";
|
|
190
|
+
computed?: ComputedProjectionMap;
|
|
124
191
|
}> implements QueryProjection<TFieldValues, A, R> {
|
|
125
192
|
readonly [QId]: any;
|
|
126
193
|
pipe(): unknown;
|
|
@@ -146,6 +213,35 @@ export declare const one: {
|
|
|
146
213
|
export declare const count: {
|
|
147
214
|
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q): QueryProjection<ExtractFieldValuesRefined<Q>, NonNegativeInt, never, "count", ExtractExclusiveness<Q>>;
|
|
148
215
|
};
|
|
216
|
+
/**
|
|
217
|
+
* Attach a projection schema to a query.
|
|
218
|
+
*
|
|
219
|
+
* The `select` clause sent to the store is derived from the schema's encoded
|
|
220
|
+
* AST property names (top-level + per-array sub-keys), so a projection always
|
|
221
|
+
* narrows what is read from the store. The repository augments that select
|
|
222
|
+
* with `id` and `_etag` for change tracking. See {@link toFilter} and the
|
|
223
|
+
* dispatch in `Repository/internal/internal.ts`.
|
|
224
|
+
*
|
|
225
|
+
* Modes — pick based on shape of the decoded value and on whether the
|
|
226
|
+
* persistence-model (PM) reverse-mapping is needed:
|
|
227
|
+
*
|
|
228
|
+
* - `"transform"` (default when `mode` omitted): goes through the repo's
|
|
229
|
+
* `parseMany`/`parseMany2` pipeline. The raw row is reverse-mapped via the
|
|
230
|
+
* etag/PM cache (re-injecting `_etag` and any PM-shape state) before
|
|
231
|
+
* decoding. Decode failures `orDie` (error channel = `never`). Use when
|
|
232
|
+
* the schema operates on the full PM shape (e.g. full-entity reads that
|
|
233
|
+
* must preserve etag tracking).
|
|
234
|
+
*
|
|
235
|
+
* - `"project"`: decodes the raw encoded row directly with the supplied
|
|
236
|
+
* schema. No PM reverse-mapping, no etag cache merge. Decode failures
|
|
237
|
+
* surface as `S.SchemaError`. Use for slim DTOs / aggregations that do not
|
|
238
|
+
* need etag tracking and whose schema input is a plain subset of `Encoded`.
|
|
239
|
+
*
|
|
240
|
+
* - `"collect"`: like `"project"`, but the schema yields `Option<A>` and
|
|
241
|
+
* `None` values are dropped post-decode (`Array.getSomes`). Use to filter
|
|
242
|
+
* rows during decode (e.g. discriminated-union narrowing where some rows
|
|
243
|
+
* should not appear in the result).
|
|
244
|
+
*/
|
|
149
245
|
export declare const project: {
|
|
150
246
|
<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
247
|
[K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
|
|
@@ -157,6 +253,35 @@ export declare const project: {
|
|
|
157
253
|
[K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
|
|
158
254
|
}, R>): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
|
|
159
255
|
};
|
|
256
|
+
export declare const relation: <TFieldValues extends FieldValues>(path: FieldPath<TFieldValues>) => {
|
|
257
|
+
count: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
258
|
+
any: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
259
|
+
every: (operation: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
260
|
+
distinctCount: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
261
|
+
sum: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
262
|
+
sumExpr: (expression: ComputedProjectionMathExpression, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
263
|
+
sumExprBy: (expression: ComputedProjectionMathExpression, options: {
|
|
264
|
+
unit: string;
|
|
265
|
+
}, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
266
|
+
sumExprNormalized: (expression: ComputedProjectionMathExpression, options: {
|
|
267
|
+
unit: string;
|
|
268
|
+
toBase: string;
|
|
269
|
+
factors: Readonly<Record<string, number>>;
|
|
270
|
+
}, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
271
|
+
collect: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
272
|
+
collectDistinct: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
273
|
+
collectFields: (fields: readonly string[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
274
|
+
collectDistinctFields: (fields: readonly string[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
275
|
+
};
|
|
276
|
+
export declare const expr: {
|
|
277
|
+
readonly field: (field: string) => ComputedProjectionMathExpression;
|
|
278
|
+
readonly mul: (left: ComputedProjectionMathExpression, right: ComputedProjectionMathExpression) => ComputedProjectionMathExpression;
|
|
279
|
+
};
|
|
280
|
+
export declare const computed: <T extends ComputedProjectionMap>(value: T) => T;
|
|
281
|
+
export declare const projectComputed: {
|
|
282
|
+
<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>;
|
|
283
|
+
<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>;
|
|
284
|
+
};
|
|
160
285
|
type GetArV<T> = T extends readonly (infer R)[] ? R : never;
|
|
161
286
|
export type FilterContinuations<IsCurrentInitial extends boolean = false> = {
|
|
162
287
|
<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 +349,25 @@ export type NestedQueriesFreeIntersectionRefinement = {
|
|
|
224
349
|
<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
350
|
};
|
|
226
351
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
352
|
+
<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>;
|
|
353
|
+
<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>;
|
|
354
|
+
<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>;
|
|
355
|
+
<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>;
|
|
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, 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>;
|
|
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, 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>;
|
|
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, 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>;
|
|
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, 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>;
|
|
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, 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>;
|
|
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, 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>;
|
|
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, 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>;
|
|
363
|
+
<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>;
|
|
364
|
+
<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
365
|
};
|
|
241
366
|
export type FilterWhere = NestedQueriesFixedRefinement<true> & FilteringRefinements<true> & FilterContinuations<true>;
|
|
242
367
|
export type FilterContinuationAnd = NestedQueriesFreeIntersectionRefinement & FilteringRefinements & FilterContinuations;
|
|
243
368
|
export type FilterContinuationOr = NestedQueriesFreeDisjointRefinement & FilterContinuations;
|
|
244
369
|
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]
|
|
370
|
+
<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
371
|
} & FilterContinuationsWithSubpath;
|
|
247
372
|
export {};
|
|
248
|
-
//# sourceMappingURL=dsl.d.ts.map
|
|
373
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNsLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTW9kZWwvcXVlcnkvZHNsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEtBQUssS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHdkQsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDN0MsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDakQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDckQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRXBHLE1BQU0sTUFBTSxJQUFJLENBQ2QsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxHQUFHLFlBQVksRUFDaEIsQ0FBQyxHQUFHLEtBQUssRUFDVCxLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLEVBQ3JDLFNBQVMsU0FBUyxPQUFPLEdBQUcsS0FBSyxJQUUvQixLQUFLLENBQUMsWUFBWSxDQUFDLEdBQ25CLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLEdBQ3hELFFBQVEsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUN4QyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBRXpELGVBQU8sTUFBTSxHQUFHLGVB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LENBQUMsS0FDUCxlQUFlLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFNUUsQ0FDRSxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFDckYsQ0FBQyxFQUNELENBQUMsR0FBRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFDaEMsQ0FBQyxHQUFHLEtBQUssRUFDVCxDQUFDLFNBQVMsT0FBTyxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUUzQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FDYixDQUFDLEVBQ0Q7U0FDRyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLE1BQU0seUJBQXlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUs7S0FDNUUsRUFDRCxDQUFDLENBQ0YsRUFDRCxJQUFJLEVBQUUsU0FBUyxHQUNkLENBQ0QsT0FBTyxFQUFFLENBQUMsS0FDUCxlQUFlLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUUsQ0FDRSxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFDckYsQ0FBQyxFQUNELENBQUMsR0FBRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFDaEMsQ0FBQyxHQUFHLEtBQUssRUFDVCxDQUFD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LEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFMUIsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxHQUNsSCxDQUNELE9BQU8sRUFB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MUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUNyRCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQzVHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFdkQsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQ3JELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQzVHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFdkQsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUNyRCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUV2RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUNyRCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQzVHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFdkQsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQ3JELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUss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U0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUxQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUM3RSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVks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LEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFMUIsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUU3RSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsR0FDeEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUUvRSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxF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RSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEVBQ3pELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxLQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsS0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsR0FDeEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUUvRSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEtBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEVBQ3pELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxLQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsS0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsR0FDeEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUUvRSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELHFCQUFxQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3pELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFD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LEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDeEYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFB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QyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxHQUN4RCxDQUNELE9BQU8sRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDLENBQUE7SUFFMUUsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxvQkFBb0IsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN4RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxxQkFBcUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN6RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDekIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDeEYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFF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QUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxFQUN6RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsS0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQs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
|