import type { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "effect-app/client/errors"; import type * as Effect from "effect-app/Effect"; import type * as Option from "effect-app/Option"; import type * as S from "effect-app/Schema"; import type { NonNegativeInt } from "effect-app/Schema/numbers"; import type * as PubSub from "effect/PubSub"; import type { FieldValues, IsNever, ResolveFirstLevel } from "../filter/types.js"; import type { QAll, Query, QueryProjection, RawQuery } from "../query.js"; import type { Mapped } from "./legacy.js"; import type { ValidationResult } from "./validation.js"; export interface Repository { readonly itemType: ItemType; readonly idKey: IdKey; readonly find: (id: T[IdKey]) => Effect.Effect, never, RSchema>; readonly all: Effect.Effect; readonly saveAndPublish: (items: Iterable, events?: Iterable) => Effect.Effect; readonly changeFeed: PubSub.PubSub<[T[], "save" | "remove"]>; readonly removeAndPublish: (items: Iterable, events?: Iterable) => Effect.Effect; readonly removeById: (idOrIds: T[IdKey] | ReadonlyArray) => Effect.Effect; readonly queryRaw: (schema: S.Codec, raw: RawQuery) => Effect.Effect; /** * Explicitly seed a namespace. Primary is seeded eagerly on initialization. * Non-primary namespaces must be seeded explicitly before use. */ readonly seedNamespace: (namespace: string) => Effect.Effect; readonly query: { (q: (initial: Query) => QueryProjection): Effect.Effect) | (TType extends "count" ? never : S.SchemaError), Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => QueryProjection): Effect.Effect) | (TType extends "count" ? never : S.SchemaError), Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => QueryProjection): Effect.Effect) | (TType extends "count" ? never : S.SchemaError), Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => QueryProjection): Effect.Effect) | (TType extends "count" ? never : S.SchemaError), Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => QueryProjection): Effect.Effect) | (TType extends "count" ? never : S.SchemaError), Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => QueryProjection): Effect.Effect) | (TType extends "count" ? never : S.SchemaError), Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => QueryProjection): Effect.Effect) | (TType extends "count" ? never : S.SchemaError), Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => QueryProjection): Effect.Effect) | (TType extends "count" ? never : S.SchemaError), Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => QueryProjection): Effect.Effect) | (TType extends "count" ? never : S.SchemaError), Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => $I, q10: (_: $I) => QueryProjection): Effect.Effect) | (TType extends "count" ? never : S.SchemaError), Exclude | RSchema>; (q: (initial: Query) => QAll, R, TType, E>): Effect.Effect : RefineTHelper, TType extends "many" ? never : NotFoundError, Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => QAll, R, TType, E>): Effect.Effect : RefineTHelper, TType extends "many" ? never : NotFoundError, Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => QAll, R, TType, E>): Effect.Effect : RefineTHelper, TType extends "many" ? never : NotFoundError, Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => QAll, R, TType, E>): Effect.Effect : RefineTHelper, TType extends "many" ? never : NotFoundError, Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => QAll, R, TType, E>): Effect.Effect : RefineTHelper, TType extends "many" ? never : NotFoundError, Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => QAll, R, TType, E>): Effect.Effect : RefineTHelper, TType extends "many" ? never : NotFoundError, Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => QAll, R, TType, E>): Effect.Effect : RefineTHelper, TType extends "many" ? never : NotFoundError, Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => QAll, R, TType, E>): Effect.Effect : RefineTHelper, TType extends "many" ? never : NotFoundError, Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => QAll, R, TType, E>): Effect.Effect : RefineTHelper, TType extends "many" ? never : NotFoundError, Exclude | RSchema>; (q1: (initial: Query) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => $I, q10: (_: $I) => QAll, R, TType, E>): Effect.Effect : RefineTHelper, TType extends "many" ? never : NotFoundError, Exclude | RSchema>; }; /** @deprecated use query */ readonly mapped: Mapped; /** * Validates a random sample of repository items by applying jitM and schema decode. * Useful for testing that migrations and schema changes work correctly on existing data. */ readonly validateSample: (options?: { /** percentage of items to sample (0.0-1.0), default 0.1 (10%) */ percentage?: number; /** optional maximum number of items to sample */ maxItems?: number; }) => Effect.Effect; } type DistributeQueryIfExclusiveOnArray = [Exclusive] extends [true] ? T extends any ? RefineTHelper extends infer R ? IsNever extends true ? never : readonly R[] : never : never : readonly RefineTHelper[]; type NullableRefined = { [k in keyof T]: [null] extends [T[k]] ? [null] extends [Extract[k]] ? T[k] : Exclude : T[k]; }; type ShouldRecursiveExtractTagged = true extends { [k in keyof T]: "_tag" extends keyof T[k] ? k extends keyof EncodedRefined ? "_tag" extends keyof EncodedRefined[k] ? true : false : false : false; }[keyof T] ? true : false; type RecursiveExtractTagged = ShouldRecursiveExtractTagged extends true ? { [k in keyof T]: "_tag" extends keyof T[k] ? k extends keyof EncodedRefined ? "_tag" extends keyof EncodedRefined[k] ? ExtractTagged : T[k] : T[k] : T[k]; } : T; type ExtractTagged_ = EncodedRefined extends { _tag: string; } ? T extends { _tag: string; } ? Extract : T : T; type ExtractTagged = ExtractTagged_ extends infer R ? RecursiveExtractTagged, EncodedRefined> : never; type ShouldRecursiveExtractIded = true extends { [k in keyof T]: "id" extends keyof T[k] ? k extends keyof EncodedRefined ? "id" extends keyof EncodedRefined[k] ? true : false : false : false; }[keyof T] ? true : false; type RecusiveExtractIded = ShouldRecursiveExtractIded extends true ? { [k in keyof T]: "id" extends keyof T[k] ? k extends keyof EncodedRefined ? "id" extends keyof EncodedRefined[k] ? ExtractIded : T[k] : T[k] : T[k]; } : T; type ExtractIded_ = EncodedRefined extends { id: string; } ? T extends { id: string; } ? Extract : T : T; type ExtractIded = ExtractIded_ extends infer R ? RecusiveExtractIded, EncodedRefined> : never; export type RefineTHelper = ResolveFirstLevel, EncodedRefined>, EncodedRefined>>; export {}; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL01vZGVsL1JlcG9zaXRvcnkvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNoSCxPQUFPLEtBQUssS0FBSyxNQUFNLE1BQU0sbUJBQW1CLENBQUE7QUFDaEQsT0FBTyxLQUFLLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQ2hELE9BQU8sS0FBSyxLQUFLLENBQUMsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMvRCxPQUFPLEtBQUssS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQzVDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNqRixPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDekUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFdkQsTUFBTSxXQUFXLFVBQVUsQ0FDekIsQ0FBQyxFQUNELE9BQU8sU0FBUyxXQUFXLEVBQzNCLEdBQUcsRUFDSCxRQUFRLFNBQVMsTUFBTSxFQUN2QixLQUFLLFNBQVMsTUFBTSxDQUFDLEVBQ3JCLE9BQU8sRUFDUCxRQUFRLEVBQ1IsU0FBUyxHQUFHLEtBQUs7SUFFakIsUUFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUE7SUFDM0IsUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUE7SUFDckIsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNoRixRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ2hELFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FDdkIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDbEIsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUNuQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxpQkFBaUIsR0FBRyw4QkFBOEIsRUFBRSxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUE7SUFDaEcsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDNUQsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQ3pCLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FDbkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQTtJQUVuRCxRQUFRLENBQUMsVUFBVSxFQUFFLENBQ25CLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUN4QyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFFeEMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUMzQixNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUMxQixHQUFHLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFbEQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUVsRSxRQUFRLENBQUMsS0FBSyxFQUFFO1FBRWQsQ0FDRSxDQUFDLEVBQ0QsQ0FBQyxFQUNELElBQUksU0FBUyxXQUFXLEVBQ3hCLEtBQUssU0FBUyxLQUFLLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxNQUFNLEVBQy9DLENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixDQUFDLEVBQUUsQ0FDRCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUNwQixlQUFlLENBQUMsSUFBSSxTQUFTLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUN4RSxNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxHQUFHLGNBQWMsR0FBRyxDQUFDLEVBQzlFLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQ3hELENBQUMsS0FBSyxTQUFTLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNqRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLFNBQVMsV0FBVyxFQUN4QixLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxFQUFFLEdBQUcsS0FBSyxFQUNWLENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixFQUFFLEVBQUUsQ0FDRixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUNwQixFQUFFLEVBQ1AsRUFBRSxFQUFFLENBQ0YsQ0FBQyxFQUFFLEVBQUUsS0FDRixlQUFlLENBQUMsSUFBSSxTQUFTLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUN4RSxNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxHQUFHLGNBQWMsR0FBRyxDQUFDLEVBQzlFLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQ3hELENBQUMsS0FBSyxTQUFTLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNqRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLFNBQVMsV0FBVyxFQUN4QixLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRXpCLEVBQUUsRUFBRSxDQUNGLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQ3BCLEVBQUUsRUFDUCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQ0YsQ0FBQyxFQUFFLEVBQUUsS0FDRixlQUFlLENBQUMsSUFBSSxTQUFTLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUN4RSxNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxHQUFHLGNBQWMsR0FBRyxDQUFDLEVBQzlFLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQ3hELENBQUMsS0FBSyxTQUFTLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNqRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLFNBQVMsV0FBVyxFQUN4QixLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFekIsRUFBRSxFQUFFLENBQ0YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FDcEIsRUFBRSxFQUNQLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQ0YsQ0FBQyxFQUFFLEVBQUUsS0FDRixlQUFlLENBQUMsSUFBSSxTQUFTLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUN4RSxNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxHQUFHLGNBQWMsR0FBRyxDQUFDLEVBQzlFLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQ3hELENBQUMsS0FBSyxTQUFTLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNqRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLFNBQVMsV0FBVyxFQUN4QixLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixFQUFFLEVBQUUsQ0FDRixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUNwQixFQUFFLEVBQ1AsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQ0YsQ0FBQyxFQUFFLEVBQUUsS0FDRixlQUFlLENBQUMsSUFBSSxTQUFTLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUN4RSxNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxHQUFHLGNBQWMsR0FBRyxDQUFDLEVBQzlFLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQ3hELENBQUMsS0FBSyxTQUFTLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNqRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLFNBQVMsV0FBVyxFQUN4QixLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRXpCLEVBQUUsRUFBRSxDQUNGLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQ3BCLEVBQUUsRUFDUCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxlQUFlLENBQUMsSUFBSSxTQUFTLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUNsRixNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxHQUFHLGNBQWMsR0FBRyxDQUFDLEVBQzlFLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQ3hELENBQUMsS0FBSyxTQUFTLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNqRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLFNBQVMsV0FBVyxFQUN4QixLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFekIsRUFBRSxFQUFFLENBQ0YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FDcEIsRUFBRSxFQUNQLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxlQUFlLENBQUMsSUFBSSxTQUFTLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUNsRixNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxHQUFHLGNBQWMsR0FBRyxDQUFDLEVBQzlFLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQ3hELENBQUMsS0FBSyxTQUFTLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNqRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLFNBQVMsV0FBVyxFQUN4QixLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixFQUFFLEVBQUUsQ0FDRixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUNwQixFQUFFLEVBQ1AsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxlQUFlLENBQUMsSUFBSSxTQUFTLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUNsRixNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxHQUFHLGNBQWMsR0FBRyxDQUFDLEVBQzlFLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQ3hELENBQUMsS0FBSyxTQUFTLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNqRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLFNBQVMsV0FBVyxFQUN4QixLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRXpCLEVBQUUsRUFBRSxDQUNGLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQ3BCLEVBQUUsRUFDUCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxlQUFlLENBQUMsSUFBSSxTQUFTLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUNsRixNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxHQUFHLGNBQWMsR0FBRyxDQUFDLEVBQzlFLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQ3hELENBQUMsS0FBSyxTQUFTLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNqRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLFNBQVMsV0FBVyxFQUN4QixLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFekIsRUFBRSxFQUFFLENBQ0YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FDcEIsRUFBRSxFQUNQLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxlQUFlLENBQUMsSUFBSSxTQUFTLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUNuRixNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsT0FBTyxHQUFHLGNBQWMsR0FBRyxDQUFDLEVBQzlFLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQ3hELENBQUMsS0FBSyxTQUFTLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUNqRCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUdELENBQ0UsQ0FBQyxHQUFHLEtBQUssRUFDVCxLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLEVBQ3JDLGNBQWMsU0FBUyxPQUFPLEdBQUcsT0FBTyxFQUN4QyxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFekIsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQzNHLE1BQU0sQ0FBQyxNQUFNLENBQ2QsS0FBSyxTQUFTLE1BQU0sR0FBRyxpQ0FBaUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQ2pILEtBQUssU0FBUyxNQUFNLEdBQUcsS0FBSyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFDdEQsT0FBTyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxPQUFPLENBQ2hDLENBQUE7UUFDRCxDQUNFLENBQUMsR0FBRyxLQUFLLEVBQ1QsS0FBSyxTQUFTLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxFQUNyQyxjQUFjLFNBQVMsT0FBTyxHQUFHLE9BQU8sRUFDeEMsRUFBRSxHQUFHLEtBQUssRUFDVixDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFekIsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQ25DLEVBQUUsRUFBRSxDQUNGLENBQUMsRUFBRSxFQUFFLEtBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUNoRixNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxjQUFjLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUNqSCxLQUFLLFNBQVMsTUFBTSxHQUFHLEtBQUssR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQ3RELE9BQU8sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUNoQyxDQUFBO1FBQ0QsQ0FDRSxDQUFDLEdBQUcsS0FBSyxFQUNULEtBQUssU0FBUyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sRUFDckMsY0FBYyxTQUFTLE9BQU8sR0FBRyxPQUFPLEVBQ3hDLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFekIsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQ25DLEVBQUUsRUFBRSxDQUNGLENBQUMsRUFBRSxFQUFFLEtBQ0YsRUFBRSxFQUNQLEVBQUUsRUFBRSxDQUNGLENBQUMsRUFBRSxFQUFFLEtBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUNoRixNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxjQUFjLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUNqSCxLQUFLLFNBQVMsTUFBTSxHQUFHLEtBQUssR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQ3RELE9BQU8sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUNoQyxDQUFBO1FBQ0QsQ0FDRSxDQUFDLEdBQUcsS0FBSyxFQUNULEtBQUssU0FBUyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sRUFDckMsY0FBYyxTQUFTLE9BQU8sR0FBRyxPQUFPLEVBQ3hDLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFDbkMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FDRixDQUFDLEVBQUUsRUFBRSxLQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsR0FDaEYsTUFBTSxDQUFDLE1BQU0sQ0FDZCxLQUFLLFNBQVMsTUFBTSxHQUFHLGlDQUFpQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsY0FBYyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFDakgsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUN0RCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxHQUFHLEtBQUssRUFDVCxLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLEVBQ3JDLGNBQWMsU0FBUyxPQUFPLEdBQUcsT0FBTyxFQUN4QyxFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFDbkMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQ0YsQ0FBQyxFQUFFLEVBQUUsS0FDRixJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQ2hGLE1BQU0sQ0FBQyxNQUFNLENBQ2QsS0FBSyxTQUFTLE1BQU0sR0FBRyxpQ0FBaUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQ2pILEtBQUssU0FBUyxNQUFNLEdBQUcsS0FBSyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFDdEQsT0FBTyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxPQUFPLENBQ2hDLENBQUE7UUFDRCxDQUNFLENBQUMsR0FBRyxLQUFLLEVBQ1QsS0FBSyxTQUFTLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxFQUNyQyxjQUFjLFNBQVMsT0FBTyxHQUFHLE9BQU8sRUFDeEMsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFDbkMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUNGLENBQUMsRUFBRSxFQUFFLEtBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUNoRixNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxjQUFjLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUNqSCxLQUFLLFNBQVMsTUFBTSxHQUFHLEtBQUssR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQ3RELE9BQU8sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUNoQyxDQUFBO1FBQ0QsQ0FDRSxDQUFDLEdBQUcsS0FBSyxFQUNULEtBQUssU0FBUyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sRUFDckMsY0FBYyxTQUFTLE9BQU8sR0FBRyxPQUFPLEVBQ3hDLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFDbkMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FDRixDQUFDLEVBQUUsRUFBRSxLQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsR0FDaEYsTUFBTSxDQUFDLE1BQU0sQ0FDZCxLQUFLLFNBQVMsTUFBTSxHQUFHLGlDQUFpQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsY0FBYyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFDakgsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUN0RCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtRQUNELENBQ0UsQ0FBQyxHQUFHLEtBQUssRUFDVCxLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLEVBQ3JDLGNBQWMsU0FBUyxPQUFPLEdBQUcsT0FBTyxFQUN4QyxFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFDbkMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQ0YsQ0FBQyxFQUFFLEVBQUUsS0FDRixJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQ2hGLE1BQU0sQ0FBQyxNQUFNLENBQ2QsS0FBSyxTQUFTLE1BQU0sR0FBRyxpQ0FBaUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxHQUMxRSxhQUFhLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUNwQyxLQUFLLFNBQVMsTUFBTSxHQUFHLEtBQUssR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQ3RELE9BQU8sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUNoQyxDQUFBO1FBQ0QsQ0FDRSxDQUFDLEdBQUcsS0FBSyxFQUNULEtBQUssU0FBUyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sRUFDckMsY0FBYyxTQUFTLE9BQU8sR0FBRyxPQUFPLEVBQ3hDLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFekIsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQ25DLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FDRixDQUFDLEVBQUUsRUFBRSxLQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsR0FDaEYsTUFBTSxDQUFDLE1BQU0sQ0FDZCxLQUFLLFNBQVMsTUFBTSxHQUFHLGlDQUFpQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsY0FBYyxDQUFDLEdBQzFFLGFBQWEsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQ3BDLEtBQUssU0FBUyxNQUFNLEdBQUcsS0FBSyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFDdEQsT0FBTyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxPQUFPLENBQ2hDLENBQUE7UUFDRCxDQUNFLENBQUMsR0FBRyxLQUFLLEVBQ1QsS0FBSyxTQUFTLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxFQUNyQyxjQUFjLFNBQVMsT0FBTyxHQUFHLE9BQU8sRUFDeEMsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsRUFBRSxHQUFHLEtBQUssRUFDVixFQUFFLEdBQUcsS0FBSyxFQUNWLEVBQUUsR0FBRyxLQUFLLEVBQ1YsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRXpCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUNuQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFDakIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQ2pCLEdBQUcsRUFBRSxDQUNILENBQUMsRUFBRSxFQUFFLEtBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUNoRixNQUFNLENBQUMsTUFBTSxDQUNkLEtBQUssU0FBUyxNQUFNLEdBQUcsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxjQUFjLENBQUMsR0FDMUUsYUFBYSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFDcEMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUN0RCxPQUFPLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FDaEMsQ0FBQTtLQUNGLENBQUE7SUFFRCw0QkFBNEI7SUFDNUIsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFaEM7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2xDLGlFQUFpRTtRQUNqRSxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUE7UUFDbkIsaURBQWlEO1FBQ2pELFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUNsQixLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0NBQ3REO0FBRUQsS0FBSyxpQ0FBaUMsQ0FBQyxTQUFTLFNBQVMsT0FBTyxFQUFFLENBQUMsRUFBRSxjQUFjLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUM3RyxDQUFDLFNBQVMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLFNBQVMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksR0FBRyxLQUFLLEdBQzlGLFNBQVMsQ0FBQyxFQUFFLEdBQ2QsS0FBSyxHQUNQLEtBQUssR0FDTCxTQUFTLGFBQWEsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQTtBQUUvQyxLQUFLLGVBQWUsQ0FBQyxDQUFDLEVBQUUsY0FBYyxJQUFJO0tBR3ZDLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7U0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUc7S0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQ3pHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDVCxDQUFBO0FBR0QsS0FBSyw0QkFBNEIsQ0FBQyxDQUFDLEVBQUUsY0FBYyxJQUFJLElBQUksU0FBUztLQUNqRSxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUNyQyxDQUFDLFNBQVMsTUFBTSxjQUFjLEdBQUcsTUFBTSxTQUFTLE1BQU0sY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FDNUUsS0FBSyxHQUNQLEtBQUssR0FDTCxLQUFLO0NBQ1YsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksR0FDYixLQUFLLENBQUE7QUFHVCxLQUFLLHNCQUFzQixDQUFDLENBQUMsRUFBRSxjQUFjLElBQUksNEJBQTRCLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxTQUFTLElBQUksR0FBRztLQUMzRyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUNyQyxDQUFDLFNBQVMsTUFBTSxjQUFjLEdBQUcsTUFBTSxTQUFTLE1BQU0sY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQzlHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FDTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNULEdBQ0MsQ0FBQyxDQUFBO0FBRUwsS0FBSyxjQUFjLENBQUMsQ0FBQyxFQUFFLGNBQWMsSUFBSSxjQUFjLFNBQVM7SUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDNUUsQ0FBQyxTQUFTO0lBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRTtJQUFFLElBQUksRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7Q0FBRSxDQUFDLEdBQ3pFLENBQUMsR0FDRCxDQUFDLENBQUE7QUFFTCxLQUFLLGFBQWEsQ0FBQyxDQUFDLEVBQUUsY0FBYyxJQUFJLGNBQWMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLFNBQVMsTUFBTSxDQUFDLEdBQ3JGLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFBRSxjQUFjLENBQUMsR0FDOUUsS0FBSyxDQUFBO0FBRVQsS0FBSywwQkFBMEIsQ0FBQyxDQUFDLEVBQUUsY0FBYyxJQUFJLElBQUksU0FBUztLQUMvRCxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsSUFBSSxTQUFTLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxNQUFNLGNBQWMsR0FBRyxJQUFJLFNBQVMsTUFBTSxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUNoSCxLQUFLLEdBQ1AsS0FBSyxHQUNMLEtBQUs7Q0FDVixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUNiLEtBQUssQ0FBQTtBQUVULEtBQUssbUJBQW1CLENBQUMsQ0FBQyxFQUFFLGNBQWMsSUFBSSwwQkFBMEIsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLFNBQVMsSUFBSSxHQUFHO0tBQ3RHLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLFNBQVMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQ25DLENBQUMsU0FBUyxNQUFNLGNBQWMsR0FBRyxJQUFJLFNBQVMsTUFBTSxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FDMUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FDSixDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ1QsR0FDQyxDQUFDLENBQUE7QUFFTCxLQUFLLFlBQVksQ0FBQyxDQUFDLEVBQUUsY0FBYyxJQUFJLGNBQWMsU0FBUztJQUFFLEVBQUUsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUN4RSxDQUFDLFNBQVM7SUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFO0lBQUUsRUFBRSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtDQUFFLENBQUMsR0FDbkUsQ0FBQyxHQUNELENBQUMsQ0FBQTtBQUVMLEtBQUssV0FBVyxDQUFDLENBQUMsRUFBRSxjQUFjLElBQUksWUFBWSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsU0FBUyxNQUFNLENBQUMsR0FDakYsbUJBQW1CLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxHQUM5RSxLQUFLLENBQUE7QUFFVCxNQUFNLE1BQU0sYUFBYSxDQUFDLENBQUMsRUFBRSxjQUFjLElBQUksaUJBQWlCLENBQzlELGVBQWUsQ0FDYixXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFBRSxjQUFjLENBQUMsRUFDN0QsY0FBYyxDQUNmLENBQ0YsQ0FBQSJ9