@rvoh/dream 2.0.4 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/CHANGELOG.md +332 -0
  2. package/dist/cjs/src/bin/index.js +2 -0
  3. package/dist/cjs/src/db/helpers/dreamSchemaTypesFilenameForConnection.js +3 -0
  4. package/dist/cjs/src/db/helpers/syncDbTypesFiles.js +2 -89
  5. package/dist/cjs/src/dream/QueryDriver/Base.js +2 -2
  6. package/dist/cjs/src/dream/QueryDriver/Kysely.js +9 -19
  7. package/dist/cjs/src/dream/QueryDriver/Postgres.js +2 -2
  8. package/dist/cjs/src/dream-app/index.js +15 -0
  9. package/dist/cjs/src/helpers/cli/ASTBuilder.js +277 -0
  10. package/dist/cjs/src/helpers/cli/ASTConnectionBuilder.js +284 -0
  11. package/dist/cjs/src/helpers/cli/ASTGlobalSchemaBuilder.js +57 -0
  12. package/dist/cjs/src/helpers/cli/ASTKyselyCodegenEnhancer.js +236 -0
  13. package/dist/cjs/src/helpers/cli/ASTSchemaBuilder.js +304 -0
  14. package/dist/cjs/src/helpers/cli/DBClassDeprecation.js +60 -0
  15. package/dist/cjs/src/helpers/cli/generateDreamContent.js +5 -4
  16. package/dist/cjs/src/helpers/cli/generateFactoryContent.js +3 -2
  17. package/dist/cjs/src/helpers/cli/generateMigrationContent.js +6 -4
  18. package/dist/cjs/src/helpers/cli/generateSerializerContent.js +1 -1
  19. package/dist/esm/src/bin/index.js +2 -0
  20. package/dist/esm/src/db/helpers/dreamSchemaTypesFilenameForConnection.js +3 -0
  21. package/dist/esm/src/db/helpers/syncDbTypesFiles.js +2 -89
  22. package/dist/esm/src/dream/QueryDriver/Base.js +2 -2
  23. package/dist/esm/src/dream/QueryDriver/Kysely.js +9 -19
  24. package/dist/esm/src/dream/QueryDriver/Postgres.js +2 -2
  25. package/dist/esm/src/dream-app/index.js +15 -0
  26. package/dist/esm/src/helpers/cli/ASTBuilder.js +277 -0
  27. package/dist/esm/src/helpers/cli/ASTConnectionBuilder.js +284 -0
  28. package/dist/esm/src/helpers/cli/ASTGlobalSchemaBuilder.js +57 -0
  29. package/dist/esm/src/helpers/cli/ASTKyselyCodegenEnhancer.js +236 -0
  30. package/dist/esm/src/helpers/cli/ASTSchemaBuilder.js +304 -0
  31. package/dist/esm/src/helpers/cli/DBClassDeprecation.js +60 -0
  32. package/dist/esm/src/helpers/cli/generateDreamContent.js +5 -4
  33. package/dist/esm/src/helpers/cli/generateFactoryContent.js +3 -2
  34. package/dist/esm/src/helpers/cli/generateMigrationContent.js +6 -4
  35. package/dist/esm/src/helpers/cli/generateSerializerContent.js +1 -1
  36. package/dist/types/src/db/helpers/dreamSchemaTypesFilenameForConnection.d.ts +1 -0
  37. package/dist/types/src/dream/QueryDriver/Base.d.ts +3 -3
  38. package/dist/types/src/dream/QueryDriver/Kysely.d.ts +2 -14
  39. package/dist/types/src/dream/QueryDriver/Postgres.d.ts +2 -2
  40. package/dist/types/src/dream-app/index.d.ts +12 -2
  41. package/dist/types/src/helpers/cli/ASTBuilder.d.ts +159 -0
  42. package/dist/types/src/helpers/cli/ASTConnectionBuilder.d.ts +104 -0
  43. package/dist/types/src/helpers/cli/ASTGlobalSchemaBuilder.d.ts +28 -0
  44. package/dist/types/src/helpers/cli/ASTKyselyCodegenEnhancer.d.ts +68 -0
  45. package/dist/types/src/helpers/cli/ASTSchemaBuilder.d.ts +80 -0
  46. package/dist/types/src/helpers/cli/DBClassDeprecation.d.ts +14 -0
  47. package/docs/assets/search.js +1 -1
  48. package/docs/classes/db.DreamMigrationHelpers.html +9 -9
  49. package/docs/classes/db.KyselyQueryDriver.html +31 -44
  50. package/docs/classes/db.PostgresQueryDriver.html +32 -45
  51. package/docs/classes/db.QueryDriverBase.html +30 -30
  52. package/docs/classes/errors.CheckConstraintViolation.html +3 -3
  53. package/docs/classes/errors.ColumnOverflow.html +3 -3
  54. package/docs/classes/errors.CreateOrFindByFailedToCreateAndFind.html +3 -3
  55. package/docs/classes/errors.DataIncompatibleWithDatabaseField.html +3 -3
  56. package/docs/classes/errors.DataTypeColumnTypeMismatch.html +3 -3
  57. package/docs/classes/errors.GlobalNameNotSet.html +3 -3
  58. package/docs/classes/errors.InvalidCalendarDate.html +2 -2
  59. package/docs/classes/errors.MissingSerializersDefinition.html +3 -3
  60. package/docs/classes/errors.NonLoadedAssociation.html +3 -3
  61. package/docs/classes/errors.NotNullViolation.html +3 -3
  62. package/docs/classes/errors.RecordNotFound.html +3 -3
  63. package/docs/classes/errors.ValidationError.html +3 -3
  64. package/docs/classes/index.CalendarDate.html +2 -2
  65. package/docs/classes/index.Decorators.html +19 -19
  66. package/docs/classes/index.Dream.html +113 -113
  67. package/docs/classes/index.DreamApp.html +7 -6
  68. package/docs/classes/index.DreamTransaction.html +2 -2
  69. package/docs/classes/index.Env.html +2 -2
  70. package/docs/classes/index.Query.html +53 -53
  71. package/docs/classes/system.CliFileWriter.html +2 -2
  72. package/docs/classes/system.DreamBin.html +2 -2
  73. package/docs/classes/system.DreamCLI.html +5 -5
  74. package/docs/classes/system.DreamImporter.html +2 -2
  75. package/docs/classes/system.DreamLogos.html +2 -2
  76. package/docs/classes/system.DreamSerializerBuilder.html +8 -8
  77. package/docs/classes/system.ObjectSerializerBuilder.html +8 -8
  78. package/docs/classes/utils.Encrypt.html +2 -2
  79. package/docs/classes/utils.Range.html +2 -2
  80. package/docs/functions/db.closeAllDbConnections.html +1 -1
  81. package/docs/functions/db.dreamDbConnections.html +1 -1
  82. package/docs/functions/db.untypedDb.html +1 -1
  83. package/docs/functions/db.validateColumn.html +1 -1
  84. package/docs/functions/db.validateTable.html +1 -1
  85. package/docs/functions/errors.pgErrorType.html +1 -1
  86. package/docs/functions/index.DreamSerializer.html +1 -1
  87. package/docs/functions/index.ObjectSerializer.html +1 -1
  88. package/docs/functions/index.ReplicaSafe.html +1 -1
  89. package/docs/functions/index.STI.html +1 -1
  90. package/docs/functions/index.SoftDelete.html +1 -1
  91. package/docs/functions/utils.camelize.html +1 -1
  92. package/docs/functions/utils.capitalize.html +1 -1
  93. package/docs/functions/utils.cloneDeepSafe.html +1 -1
  94. package/docs/functions/utils.compact.html +1 -1
  95. package/docs/functions/utils.groupBy.html +1 -1
  96. package/docs/functions/utils.hyphenize.html +1 -1
  97. package/docs/functions/utils.intersection.html +1 -1
  98. package/docs/functions/utils.isEmpty.html +1 -1
  99. package/docs/functions/utils.normalizeUnicode.html +1 -1
  100. package/docs/functions/utils.pascalize.html +1 -1
  101. package/docs/functions/utils.percent.html +1 -1
  102. package/docs/functions/utils.range-1.html +1 -1
  103. package/docs/functions/utils.round.html +1 -1
  104. package/docs/functions/utils.sanitizeString.html +1 -1
  105. package/docs/functions/utils.snakeify.html +1 -1
  106. package/docs/functions/utils.sort.html +1 -1
  107. package/docs/functions/utils.sortBy.html +1 -1
  108. package/docs/functions/utils.sortObjectByKey.html +1 -1
  109. package/docs/functions/utils.sortObjectByValue.html +1 -1
  110. package/docs/functions/utils.uncapitalize.html +1 -1
  111. package/docs/functions/utils.uniq.html +1 -1
  112. package/docs/interfaces/openapi.OpenapiDescription.html +2 -2
  113. package/docs/interfaces/openapi.OpenapiSchemaProperties.html +1 -1
  114. package/docs/interfaces/openapi.OpenapiSchemaPropertiesShorthand.html +1 -1
  115. package/docs/interfaces/openapi.OpenapiTypeFieldObject.html +1 -1
  116. package/docs/interfaces/types.BelongsToStatement.html +2 -2
  117. package/docs/interfaces/types.DecoratorContext.html +2 -2
  118. package/docs/interfaces/types.DreamAppInitOptions.html +2 -2
  119. package/docs/interfaces/types.DreamAppOpts.html +2 -2
  120. package/docs/interfaces/types.EncryptOptions.html +2 -2
  121. package/docs/interfaces/types.InternalAnyTypedSerializerRendersMany.html +2 -2
  122. package/docs/interfaces/types.InternalAnyTypedSerializerRendersOne.html +2 -2
  123. package/docs/interfaces/types.SerializerRendererOpts.html +2 -2
  124. package/docs/modules/db.html +1 -1
  125. package/docs/modules/errors.html +1 -1
  126. package/docs/modules/index.html +1 -1
  127. package/docs/modules/openapi.html +1 -1
  128. package/docs/modules/system.html +1 -1
  129. package/docs/modules/types.html +1 -1
  130. package/docs/modules/utils.html +1 -1
  131. package/docs/types/index.DateTime.html +1 -1
  132. package/docs/types/openapi.CommonOpenapiSchemaObjectFields.html +1 -1
  133. package/docs/types/openapi.OpenapiAllTypes.html +1 -1
  134. package/docs/types/openapi.OpenapiFormats.html +1 -1
  135. package/docs/types/openapi.OpenapiNumberFormats.html +1 -1
  136. package/docs/types/openapi.OpenapiPrimitiveBaseTypes.html +1 -1
  137. package/docs/types/openapi.OpenapiPrimitiveTypes.html +1 -1
  138. package/docs/types/openapi.OpenapiSchemaArray.html +1 -1
  139. package/docs/types/openapi.OpenapiSchemaArrayShorthand.html +1 -1
  140. package/docs/types/openapi.OpenapiSchemaBase.html +1 -1
  141. package/docs/types/openapi.OpenapiSchemaBody.html +1 -1
  142. package/docs/types/openapi.OpenapiSchemaBodyShorthand.html +1 -1
  143. package/docs/types/openapi.OpenapiSchemaCommonFields.html +1 -1
  144. package/docs/types/openapi.OpenapiSchemaExpressionAllOf.html +1 -1
  145. package/docs/types/openapi.OpenapiSchemaExpressionAnyOf.html +1 -1
  146. package/docs/types/openapi.OpenapiSchemaExpressionOneOf.html +1 -1
  147. package/docs/types/openapi.OpenapiSchemaExpressionRef.html +1 -1
  148. package/docs/types/openapi.OpenapiSchemaExpressionRefSchemaShorthand.html +1 -1
  149. package/docs/types/openapi.OpenapiSchemaInteger.html +1 -1
  150. package/docs/types/openapi.OpenapiSchemaNull.html +1 -1
  151. package/docs/types/openapi.OpenapiSchemaNumber.html +1 -1
  152. package/docs/types/openapi.OpenapiSchemaObject.html +1 -1
  153. package/docs/types/openapi.OpenapiSchemaObjectAllOf.html +1 -1
  154. package/docs/types/openapi.OpenapiSchemaObjectAllOfShorthand.html +1 -1
  155. package/docs/types/openapi.OpenapiSchemaObjectAnyOf.html +1 -1
  156. package/docs/types/openapi.OpenapiSchemaObjectAnyOfShorthand.html +1 -1
  157. package/docs/types/openapi.OpenapiSchemaObjectBase.html +1 -1
  158. package/docs/types/openapi.OpenapiSchemaObjectBaseShorthand.html +1 -1
  159. package/docs/types/openapi.OpenapiSchemaObjectOneOf.html +1 -1
  160. package/docs/types/openapi.OpenapiSchemaObjectOneOfShorthand.html +1 -1
  161. package/docs/types/openapi.OpenapiSchemaObjectShorthand.html +1 -1
  162. package/docs/types/openapi.OpenapiSchemaPrimitiveGeneric.html +1 -1
  163. package/docs/types/openapi.OpenapiSchemaShorthandExpressionAllOf.html +1 -1
  164. package/docs/types/openapi.OpenapiSchemaShorthandExpressionAnyOf.html +1 -1
  165. package/docs/types/openapi.OpenapiSchemaShorthandExpressionOneOf.html +1 -1
  166. package/docs/types/openapi.OpenapiSchemaShorthandExpressionSerializableRef.html +1 -1
  167. package/docs/types/openapi.OpenapiSchemaShorthandExpressionSerializerRef.html +1 -1
  168. package/docs/types/openapi.OpenapiSchemaShorthandPrimitiveGeneric.html +1 -1
  169. package/docs/types/openapi.OpenapiSchemaString.html +1 -1
  170. package/docs/types/openapi.OpenapiShorthandAllTypes.html +1 -1
  171. package/docs/types/openapi.OpenapiShorthandPrimitiveBaseTypes.html +1 -1
  172. package/docs/types/openapi.OpenapiShorthandPrimitiveTypes.html +1 -1
  173. package/docs/types/openapi.OpenapiTypeField.html +1 -1
  174. package/docs/types/system.DreamAppAllowedPackageManagersEnum.html +1 -1
  175. package/docs/types/types.Camelized.html +1 -1
  176. package/docs/types/types.DbConnectionType.html +1 -1
  177. package/docs/types/types.DbTypes.html +1 -1
  178. package/docs/types/types.DreamAssociationMetadata.html +1 -1
  179. package/docs/types/types.DreamAttributes.html +1 -1
  180. package/docs/types/types.DreamClassAssociationAndStatement.html +1 -1
  181. package/docs/types/types.DreamClassColumn.html +1 -1
  182. package/docs/types/types.DreamColumn.html +1 -1
  183. package/docs/types/types.DreamColumnNames.html +1 -1
  184. package/docs/types/types.DreamLogLevel.html +1 -1
  185. package/docs/types/types.DreamLogger.html +1 -1
  186. package/docs/types/types.DreamModelSerializerType.html +1 -1
  187. package/docs/types/types.DreamOrViewModelClassSerializerKey.html +1 -1
  188. package/docs/types/types.DreamOrViewModelSerializerKey.html +1 -1
  189. package/docs/types/types.DreamParamSafeAttributes.html +1 -1
  190. package/docs/types/types.DreamParamSafeColumnNames.html +1 -1
  191. package/docs/types/types.DreamSerializable.html +1 -1
  192. package/docs/types/types.DreamSerializableArray.html +1 -1
  193. package/docs/types/types.DreamSerializerKey.html +1 -1
  194. package/docs/types/types.DreamSerializers.html +1 -1
  195. package/docs/types/types.DreamVirtualColumns.html +1 -1
  196. package/docs/types/types.EncryptAlgorithm.html +1 -1
  197. package/docs/types/types.HasManyStatement.html +1 -1
  198. package/docs/types/types.HasOneStatement.html +1 -1
  199. package/docs/types/types.Hyphenized.html +1 -1
  200. package/docs/types/types.Pascalized.html +1 -1
  201. package/docs/types/types.RoundingPrecision.html +1 -1
  202. package/docs/types/types.SerializerCasing.html +1 -1
  203. package/docs/types/types.SimpleObjectSerializerType.html +1 -1
  204. package/docs/types/types.Snakeified.html +1 -1
  205. package/docs/types/types.StrictInterface.html +1 -1
  206. package/docs/types/types.UpdateableAssociationProperties.html +1 -1
  207. package/docs/types/types.UpdateableProperties.html +1 -1
  208. package/docs/types/types.ValidationType.html +1 -1
  209. package/docs/types/types.ViewModel.html +1 -1
  210. package/docs/types/types.ViewModelClass.html +1 -1
  211. package/docs/types/types.WhereStatementForDream.html +1 -1
  212. package/docs/types/types.WhereStatementForDreamClass.html +1 -1
  213. package/docs/variables/index.DateTime-1.html +1 -1
  214. package/docs/variables/index.DreamConst.html +1 -1
  215. package/docs/variables/index.ops.html +1 -1
  216. package/docs/variables/openapi.openapiPrimitiveTypes-1.html +1 -1
  217. package/docs/variables/openapi.openapiShorthandPrimitiveTypes-1.html +1 -1
  218. package/docs/variables/system.DreamAppAllowedPackageManagersEnumValues.html +1 -1
  219. package/docs/variables/types.TRIGRAM_OPERATORS.html +1 -1
  220. package/docs/variables/types.primaryKeyTypes.html +1 -1
  221. package/package.json +7 -3
  222. package/dist/cjs/src/helpers/cli/SchemaBuilder.js +0 -408
  223. package/dist/esm/src/helpers/cli/SchemaBuilder.js +0 -408
  224. package/dist/types/src/helpers/cli/SchemaBuilder.d.ts +0 -44
@@ -0,0 +1,159 @@
1
+ import ts from 'typescript';
2
+ import { DreamConst } from '../../dream/constants.js';
3
+ /**
4
+ * @internal
5
+ *
6
+ * This is a base class, which is inherited by the ASTSchemaBuilder,
7
+ * the ASTKyselyCodegenEnhancer, and the ASTGlobalSchemaBuilder,
8
+ * each of which is responsible for building up the output of the various
9
+ * type files consumed by dream internally.
10
+ *
11
+ * This base class is just a container for common methods used by all
12
+ * classes.
13
+ */
14
+ export default class ASTBuilder {
15
+ /**
16
+ * @internal
17
+ *
18
+ * builds a new line, useful for injecting new lines into AST statements
19
+ */
20
+ protected newLine(): ts.Identifier;
21
+ /**
22
+ * @internal
23
+ *
24
+ * given an interface declaration, it will extrace the relevant property statement
25
+ * by the given property name.
26
+ */
27
+ protected getPropertyFromInterface(interfaceNode: ts.InterfaceDeclaration, propertyName: string): ts.PropertySignature | null;
28
+ /**
29
+ * @internal
30
+ *
31
+ * returns an array of string type literals which were extracted from
32
+ * either a type or type union, depending on what is provided
33
+ * for the typeAlias. this allows you to safely and easily collect
34
+ * an array of types given an alias
35
+ */
36
+ protected extractStringLiteralTypeNodesFromTypeOrUnion(typeAlias: ts.TypeAliasDeclaration): (ts.LiteralTypeNode & {
37
+ literal: {
38
+ text: string;
39
+ };
40
+ })[];
41
+ /**
42
+ * @internal
43
+ *
44
+ * returns an array of type literals which were extracted from
45
+ * either a type or type union, depending on what is provided
46
+ * for the typeAlias. this allows you to safely and easily collect
47
+ * an array of types given an alias
48
+ */
49
+ protected extractTypeNodesFromTypeOrUnion(typeAlias: ts.TypeAliasDeclaration | ts.PropertySignature): ts.TypeNode[];
50
+ /**
51
+ * @internal
52
+ *
53
+ * returns the provided node iff
54
+ * a.) the node is an exported type alias
55
+ * b.) the exported name matches the provided name (or else there was no name provided)
56
+ *
57
+ * otherwise, returns null
58
+ */
59
+ protected exportedTypeAliasOrNull(node: ts.Node, exportName?: string): ts.TypeAliasDeclaration | null;
60
+ /**
61
+ * @internal
62
+ *
63
+ * returns the provided node iff
64
+ * a.) the node is an exported interface
65
+ * b.) the exported name matches the provided name (or else there was no name provided)
66
+ *
67
+ * otherwise, returns null
68
+ */
69
+ protected exportedInterfaceOrNull(node: ts.Node, exportName?: string): ts.InterfaceDeclaration | null;
70
+ /**
71
+ * @internal
72
+ *
73
+ * extracts the exportName from the provided dbSourceFile
74
+ */
75
+ protected findDbExport(dbSourceFile: ts.SourceFile, exportName: string): ts.Node | undefined;
76
+ /**
77
+ * @internal
78
+ *
79
+ * returns the path to the dream.globals.ts file
80
+ */
81
+ protected globalSchemaPath(): string;
82
+ /**
83
+ * @internal
84
+ *
85
+ * safely runs prettier against the provided output. If prettier
86
+ * is not installed, then the original output is returned
87
+ */
88
+ protected prettier(output: string): Promise<string>;
89
+ /**
90
+ * @internal
91
+ *
92
+ * given a type node, it will send back the first found generic
93
+ * provided to that type.
94
+ */
95
+ protected getFirstGenericType(node: ts.Node): ts.TypeNode | null;
96
+ /**
97
+ * @internal
98
+ *
99
+ * returns the DateTime and CalendarDate imports. This is fairly
100
+ * tricky, since it considers whether or not we are in the dream
101
+ * internals (i.e. when testing dream). If we are, it will return
102
+ * valid internal import paths to those files. Otherwise, it will
103
+ * import them both from @rvoh/dream.
104
+ */
105
+ protected dateAndDateTimeImports(): ts.ImportDeclaration[];
106
+ /**
107
+ * @internal
108
+ *
109
+ * for a given table name (i.e. balloon_lines), it will return the exported
110
+ * `BalloonLines` interface within the dbSourceFile
111
+ */
112
+ protected getTableInterfaceDeclaration(dbSourceFile: ts.SourceFile, tableName: string): ts.InterfaceDeclaration;
113
+ /**
114
+ * @internal
115
+ *
116
+ * returns an array of global names for all serializers in the app
117
+ */
118
+ protected globalSerializerNames(): string[];
119
+ }
120
+ export interface SchemaData {
121
+ [key: string]: TableData;
122
+ }
123
+ export interface TableData {
124
+ serializerKeys: readonly string[];
125
+ scopes: {
126
+ default: readonly string[];
127
+ named: readonly string[];
128
+ };
129
+ columns: Readonly<{
130
+ [key: string]: SchemaBuilderColumnData;
131
+ }>;
132
+ virtualColumns: readonly string[];
133
+ associations: Readonly<{
134
+ [key: string]: SchemaBuilderAssociationData;
135
+ }>;
136
+ }
137
+ export interface SchemaBuilderAssociationData {
138
+ tables: string[];
139
+ type: 'BelongsTo' | 'HasOne' | 'HasMany';
140
+ polymorphic: boolean;
141
+ optional: boolean | null;
142
+ foreignKey: string | null;
143
+ foreignKeyTypeColumn: string | null;
144
+ and: Record<string, string | typeof DreamConst.passthrough | typeof DreamConst.required> | null;
145
+ }
146
+ export interface SchemaBuilderColumnData {
147
+ dbType: string;
148
+ allowNull: boolean;
149
+ enumType: string | null;
150
+ enumValues: string | null;
151
+ foreignKey: string | null;
152
+ isArray: boolean;
153
+ }
154
+ export interface SchemaBuilderInformationSchemaRow {
155
+ columnName: string;
156
+ udtName: string;
157
+ dataType: string;
158
+ isNullable: 'YES' | 'NO';
159
+ }
@@ -0,0 +1,104 @@
1
+ import ts from 'typescript';
2
+ import ASTBuilder, { SchemaData } from './ASTBuilder.js';
3
+ /**
4
+ * @internal
5
+ *
6
+ * This is a base class, which is inherited by the ASTSchemaBuilder and
7
+ * the ASTKyselyCodegenEnhancer, both of which is responsible for building
8
+ * up the output of the various type files consumed by dream internally.
9
+ *
10
+ * This base class is just a container for common methods used by both
11
+ * classes. It requires a connectionName to be provided, unlike the underlying
12
+ * ASTBuilder class, and provides methods which leverage the connectionName
13
+ *
14
+ */
15
+ export default class ASTConnectionBuilder extends ASTBuilder {
16
+ protected connectionName: string;
17
+ hasForeignKeyError: boolean;
18
+ constructor(connectionName: string);
19
+ /**
20
+ * @internal
21
+ *
22
+ * returns the path from project root to the dream.ts file
23
+ * for the particular connection. If the connectionName is anything
24
+ * other than default, the path will represent that by injecting
25
+ * the connectionName into the file name, i.e. dream.alternate.ts
26
+ */
27
+ protected schemaPath(): string;
28
+ /**
29
+ * @internal
30
+ *
31
+ * returns the path from project root to the db.ts file
32
+ * for the particular connection. If the connectionName is anything
33
+ * other than default, the path will represent that by injecting
34
+ * the connectionName into the file name, i.e. db.alternate.ts
35
+ */
36
+ protected dbPath(): string;
37
+ /**
38
+ * @internal
39
+ *
40
+ * returns the db source file for the given connectionName, injecting
41
+ * the source file with the actual file contents, so that AST nodes
42
+ * can be built through ingesting.
43
+ */
44
+ protected getDbSourceFile(): Promise<ts.SourceFile>;
45
+ /**
46
+ * @internal
47
+ *
48
+ * reads the db source file for the given connection, returning the contents
49
+ * as a raw string
50
+ */
51
+ protected loadDbSyncFile(): Promise<string>;
52
+ /**
53
+ * @internal
54
+ *
55
+ * builds up the schema data for every table into an object, which
56
+ * can be read and injected into AST nodes.
57
+ */
58
+ protected getSchemaData(): Promise<SchemaData>;
59
+ /**
60
+ * @internal
61
+ *
62
+ * used by getSchemaData to build up all table data
63
+ */
64
+ private getTables;
65
+ /**
66
+ * @internal
67
+ *
68
+ * finds all enums used by the app, and returns information
69
+ * about those enums that can be used for type generating purpposes
70
+ */
71
+ protected getAllEnumValueNames(): Promise<{
72
+ enumValues: string;
73
+ enumType: string;
74
+ }[]>;
75
+ /**
76
+ * @internal
77
+ *
78
+ * returns a tuple, where the first value is the global name, and the second value
79
+ * is the table that that global name points to. Used to build up our global
80
+ * model name exports within type files.
81
+ */
82
+ protected globalModelNames(): [string, string][];
83
+ /**
84
+ * @internal
85
+ *
86
+ * retrieves useful association data for a given association and table, which
87
+ * can be used to build up types
88
+ */
89
+ private getAssociationData;
90
+ /**
91
+ * @internal
92
+ *
93
+ * retrieves the table data for an individual table.
94
+ * Can be used to build up types
95
+ */
96
+ private tableData;
97
+ /**
98
+ * @internal
99
+ *
100
+ * retrieves the column data for an individual table and association.
101
+ * Can be used to build up types
102
+ */
103
+ private getColumnData;
104
+ }
@@ -0,0 +1,28 @@
1
+ import ASTBuilder from './ASTBuilder.js';
2
+ /**
3
+ * Responsible for building dream globals, which can be found at
4
+ * types/dream.globals.ts.
5
+ *
6
+ * This class leverages internal AST building mechanisms built into
7
+ * typescript to manually build up object literals and interfaces
8
+ * for our app to consume.
9
+ */
10
+ export default class ASTGlobalSchemaBuilder extends ASTBuilder {
11
+ build(): Promise<void>;
12
+ /**
13
+ * @internal
14
+ *
15
+ * builds up the `export const globalTypeConfig = ...` statement within the dream.globals.ts
16
+ * file. It does this by leveraging low-level AST utils built into typescript
17
+ * to manually build up an object literal, cast it as a const, and write it to
18
+ * an exported variable.
19
+ */
20
+ private buildGlobalTypeConfigConst;
21
+ /**
22
+ * @internal
23
+ *
24
+ * writes the compiled statements to string.
25
+ *
26
+ */
27
+ private printStatements;
28
+ }
@@ -0,0 +1,68 @@
1
+ import ASTConnectionBuilder from './ASTConnectionBuilder.js';
2
+ /**
3
+ * Responsible for enhancing the kysely-codegen output, which can be found at
4
+ * types/db.ts. If you are leveraging multiple db connections,
5
+ * then this file will also be responsible for building all variants,
6
+ * i.e. types/db.alternateConnection.ts, etc...
7
+ *
8
+ * This class leverages internal AST building mechanisms built into
9
+ * typescript to manually build up object literals and interfaces
10
+ * for our app to consume.
11
+ */
12
+ export default class ASTKyselyCodegenEnhancer extends ASTConnectionBuilder {
13
+ /**
14
+ * enhances the kysely codegen output for the given connection name
15
+ * by reading the relevant db.ts file into AST nodes, then enhancing them
16
+ * with a variety of transformations necessary to lock this file in with
17
+ * our other schema files, allowing types to flow correctly throughout the app.
18
+ */
19
+ enhance(): Promise<void>;
20
+ private addDeprecatedDbClassExportForBackwardsCompatibility;
21
+ /**
22
+ * @internal
23
+ *
24
+ * returns the output of the provided dbSourceFile, ensuring that all exports
25
+ * have a new line above them.
26
+ */
27
+ private printOutput;
28
+ /**
29
+ * @internal
30
+ *
31
+ * ensures that the `Timestamp` exported from db.ts points correctly to either
32
+ * the DateTime or CalendarDate class, depending on the db type.
33
+ */
34
+ private replaceTimestampExport;
35
+ /**
36
+ * @internal
37
+ *
38
+ * massages the `Int8` exported from db.ts to make it more flexible
39
+ */
40
+ private replaceInt8Export;
41
+ /**
42
+ * @internal
43
+ *
44
+ * injects missing CalendarDate and DateTime imports from dream
45
+ */
46
+ private addMissingImports;
47
+ /**
48
+ * @internal
49
+ *
50
+ * sorts all exported interfaces and puts them above the DB interface
51
+ */
52
+ private sortExportedInterfacesTransformer;
53
+ /**
54
+ * @internal
55
+ *
56
+ * camelizes the keys on all interfaces except the DB interface
57
+ * (since the DB interface is indexed by table name, which must not be camelized)
58
+ */
59
+ private camelizeKeys;
60
+ /**
61
+ * @internal
62
+ *
63
+ * for each found enum in the app (i.e. LocalizedTextsEnum), this will also
64
+ * inject below it a `LocalizedTextsEnumValues` const, which can be used
65
+ * at runtime to grab the actual enum values.
66
+ */
67
+ private addEnumValueExports;
68
+ }
@@ -0,0 +1,80 @@
1
+ import ASTConnectionBuilder from './ASTConnectionBuilder.js';
2
+ /**
3
+ * Responsible for building dream schema, which can be found at
4
+ * types/dream.ts. If you are leveraging multiple db connections,
5
+ * then this file will also be responsible for building all variants,
6
+ * i.e. types/dream.alternateConnection.ts, etc...
7
+ *
8
+ * This class leverages internal AST building mechanisms built into
9
+ * typescript to manually build up object literals and interfaces
10
+ * for our app to consume.
11
+ */
12
+ export default class ASTSchemaBuilder extends ASTConnectionBuilder {
13
+ /**
14
+ * builds the new contents for the dream schema file (i.e. types/dream.ts
15
+ * for default connection), and writes it to the file. This is automatically
16
+ * done anytime the sync cli command is called, which happens when migrating,
17
+ * rolling back, and when manually calling the sync command via CLI.
18
+ */
19
+ build(): Promise<void>;
20
+ /**
21
+ * @internal
22
+ *
23
+ * builds up the `export const schema = ...` statement within the dream.ts
24
+ * file. It does this by leveraging low-level AST utils built into typescript
25
+ * to manually build up an object literal, cast it as a const, and write it to
26
+ * an exported variable.
27
+ */
28
+ private buildSchemaConst;
29
+ /**
30
+ * @internal
31
+ *
32
+ * builds up the `export const connectionTypeConfig = ...` statement within the dream.ts
33
+ * file. It does this by leveraging low-level AST utils built into typescript
34
+ * to manually build up an object literal, cast it as a const, and write it to
35
+ * an exported variable.
36
+ */
37
+ private buildConnectionTypeConfigConst;
38
+ /**
39
+ * @internal
40
+ *
41
+ * writes the compiled statements to string. Will also manually inject new lines
42
+ * into the import statements, since otherwise, they are forced into a single line
43
+ * and are completely unreadable that way.
44
+ *
45
+ * prettier is used in a later step to optimize output, but the user may not have
46
+ * prettier installed, in which case it will do nothing, and we don't want to leave
47
+ * the imports unformatted in those cases.
48
+ */
49
+ private printStatements;
50
+ /**
51
+ * @internal
52
+ *
53
+ * builds up an AST statement representing the DB imports that the dream.ts
54
+ * file will need in order to render without import errors. It takes the aggregated
55
+ * list of imported types and imported variables built up as the schema was being
56
+ * built, and uses them to build AST import nodes, which can be rendered into the
57
+ * schema source file.
58
+ */
59
+ private dbImports;
60
+ /**
61
+ * @internal
62
+ *
63
+ * given a column and table, this method returns the coerced type representation
64
+ * of whatever type was found in the db.ts file. In most cases, it will simply
65
+ * return the same type as was found, but in some cases it will perform coercion
66
+ * to provide consistent and useful types to the underlying application.
67
+ *
68
+ * Amongst other things, it will convert Numeric -> number, Int8 -> string, etc...
69
+ * Timestamp will be carefully converted to either CalendarDate or DateTime, depending
70
+ * on if the type set in the db is a date or datetime field.
71
+ */
72
+ private getCoercedTypeForTableColumn;
73
+ /**
74
+ * @internal
75
+ *
76
+ * used by the getCoercedTypeForTableColumn to get the specific type for a column
77
+ * if no coercion is necessary, the original type node will be returned
78
+ */
79
+ private coercedType;
80
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Originally, psychic-workers tapped into the types produced by psychic,
3
+ * modifying the psychicTypes to include type configurations for workers
4
+ * as well. Since Psychic no longer supports this method of augmenting
5
+ * types, psychic-workers has been refactored to produce its own types
6
+ * file.
7
+ *
8
+ * This service is responsible for identifying applications that are still
9
+ * reliant on the types produced by psychic, and refactoring them so that their
10
+ * imports are now in the correct places.
11
+ */
12
+ export default class DBClassDeprecation {
13
+ deprecate(): Promise<void>;
14
+ }
@@ -1 +1 @@
1
- window.searchData = "data:application/octet-stream;base64,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";
1
+ window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE9S9XZPjNpL3+1VOdD+XPf0UiDfKd+1ue8c7ttvr7pmNOI4JB0tiVXFbRcqU1HbNxH73EwRECUj+QSVFle1z4y5XAcgkmMRL/hKJf79om1+3L7746d8vPlX16sUX2asXdfFYvvjixer2xasX+3b94osXj81qvy63/3d1+/ph97h+8erFcl1st+X2xRcvXvzvq2Hdsm2bdjuo73/NbKOqV+Vvgybcb5ktNJuyLjbVoI3D75mtbJ+2u/Jx0Ij/NbON3dOmHHaH+y2zhf2uWg9bcL8dbcGoYxPLdbMt36zX727fNnVdLndVU5+avNvX/jfdW4ZFgZxXLzZFW9Y7by5Q6qoti0eGyGG5KfK0luYo8uefu56dJOYl+P2xmZQCqDHwuL+Lmq9//tl/Gv5//yJm600axm93X3dlVu9u8WMc/zzhXYosPzb/rtPqu+q+Lbom/1quN2UwrBwa6wTBghOEZjfqJLUtux8+Frfrcpqsl3HNZP/jx0poU6xW78q7sm27Vv9eV7/sy7dNvd21RVXvJup3rq2rafxVvX/8R7HeT+1AUvU6+izbstiVX/22K+tt1dQTVRrWvqZW/1HV30QT3RSlgsrX0WnVNpuLjWtQ+To61eWvH9ui3hZuWJmo06Dy9frpUhOndS/WSIvT8mDp+n2/3DXtVEuKal6sTDAnfC7W1arYlW+b9f6xxhNDXOaylUXfRjxQQzGuyIVz0H/ty/bpXVt9Ltsviy1826TIpfNOWW/3bbfsOvbz9q/F5/LLsqx/3EPLR4Jfnm0m+ZLpoyb0fHTtsnvi5an8XMlts17fFstPbNFBhbmyV7dv3aDLlh1UmC/7XdtsJkg+FJ8r976sy+7VHS2JrQKqOVeb7VO9ZCtwKDxX5m586oGid7wZh6nBXdOW1X39t/Lp49Om/LptHn9oq8eiffpb+cRW6Uwjc3XcHBv7GG5pzmk1qDbbQsrdu2JX3Bbbsmvxh6LdJjYM2GZS1Wd/v/vNuloWu7Jvnv8pg5rzv+qdn3e7Nid80XGt+e+qrYp19a/y3e0koxnWm61J8bl06xu+DkGN2bZRbndt8zRNAVLpEh1MJpSKxtZ3VbEul3DZnxxiT3Uu0GHCChYqwFy7phUQNxnxVL3tGuG/hrDKSf5uu/pLtf3Lpm125XJXrmbo80293RX1csKAEdb6S/Zcep3ZkqVVS23HrqPb8ui/ev+5bNtqxe84WPXa+lV1Xbb/2VT1u6PllHxzS9W+tpa/dMXYWvWlZy+1mr89bcs1X3BQYf4C+8dyu1/vPjbvLvvqkvVn90rxqXxf8zU5lb+G5Dfr9STJvvzsDWYB/WF4c1mMur/YW1r+MObLzpW4bPbYw5YYnPbjLjXuQn29n7B77kvPlVqX2125+lBOWl2QSvOXWetyyua9Lz5X7n6zmuI0OBafvaj9hf/l+rJzJT48rbod/5vttllW07wFsOqV9PmhLddNsZqqy6naJevKwH/o56igLNJkUOhSH+Lq9mu8gMYSXrryZJlIHnP4ACnZfi/wQ9t8rlZTnvPlsOZ8baZ7UxPKXe5PZes64lFNKMXwqbKlj3lVE+I5flW2fJaXMaHIJD8jW6OUpzGhxDlf46jcSfvwEQUYO3H280/1OSbUutTryNbzvN8xoRnf88gf/c74cVJDH9OTw9bjjMc6oQbTZz1h9N0/TnwnQZUrfMFjPr3UV8Tx6vHtYYQXJSdjQIwOW/qqfijbariln6BPiiEltRlQpGvpwvfTp17VeU/91fqN47tPdeGo9/5aGp715yfnzpRH/3rv+ayPP/mC017+GdpN8DgnFGP6nCd8lhcs2K8zUYz421KzBMPjNuHJ2T63ZF9M9rrxeyftd0t1znnP2yTpCd/biPQz3jf+dgT731JbkXEP3IRN0JQFyxkvHFtq0g+X/P7PeOL4i9eULy61Zj3njWNLPuePSyjA9chNWDKnfHLJxfI5rxxbdtovl5B93jM3ZWl4hE0T50VQ9QqLZewrTE3N495CttSmXZXtl0/vqraculsBVS/SZzQgf7oar+kv/iIYpwiGjZ9td54LNvE005yw7Nd83g07rg/DETumywTEn/rkeJD//5mxLJ3G/cf0ZJL/6yp7JhhgTF9uOMDVFOZFCKQX/1NiBK6mNDtsIKH39MCBq6mejCVIqDqMJpijScBhfmi2u/u23J4hMaDY5Swm7QFKiWFFDaNHmez1GdHgXPTwBPl8T09Sn+lRmRP0O+s7SarFjoec8rY4vqb0i5sSKzrJhhIuihETGlLFM5/xFH3Oc8a0ZiOk8XoaTmePSYUn0Mfr6T/CI5OKIiJ5PY3GGGVSJUgpr6cTi1uOjB9j5PJ6WqZYZnq8pTRzni6T+OaoUohwXq+fpjLPpKps6nk93c9z0KS2IyT0iiP2GTaaHq5TdPR6up3hpUnVUsT0mrNImqGOzBeAol5xNBnjqumvF5LVK2p1njONLC8vJk3jGk5gTUnlmLTp+Rdzz/XxjTCo9JeHKNQVBys+lxrps/Nk6oq9mGZV6U4EtOq6GiX41ahGlGBdcUmLmVZ6OUuo1jUX19MmGkq6rqdJkn2NjEeUfl1xEZPiYem1y4CIXU+bc4wsqVSSkl1zOZXiZiMLqQE5u54+aZaW1AfQtGuO4Of52pgDLk3YrrhkwcwtvUz55blGRg6HS6o1SuJm6chlc2zVLqNzqPln5nPJJzpD6K5nEueZ3TkdEbWbpd8Ejpf+tK9D8qYqetkK8oo0b6rCZ3jeuM7XInoTlOYxvbFN1jWp3gTF2Vwvqfv1yd4E9ZNsL6nuZLp3Zo446bK5/6rLLvoRp1Q8ZB4NCo1DvUMCU0wSv2/qb5tiVa7GxvGDRFR2omiuH+GcRJYzYaSRCwbjsyolRuSZGhWnIt93v5ms1rCBOboRF/hjud0W9xdodao4q6cCS/ao+X37dVWvvnz6uqjW5epj43/7pl51v06pyaj6vHbOVWCK2XP649L3ytaX+Zqn6Rq99Ydy+emUqfEfVbMeHcNS5Z/5/Y5JnfRSU487Np5dptVqko/7Qv1ctcv066teW7+JX8Kojsj8r9SL4TfgQje69d7duvk1qWlU6pntfShrkpXHD3SRbQMNLrNoli7jdgx0ucx6U7pMtFmgz6WWmuydMPN1sSu+qZfN46bYVbfr8r+r3UMf1vN1Va6T8/LZis9rxTzxUwz7fE9cYutMPYfmf00NR78ApobDj2KmhtO+C6aWzDXNpJ4kX0u3qfOfVvfTd9X2sdgtH8b0xjWe//sYkTv1w0g89KVfxJhmF80E03U8+02M6XjRDMHScfpXMabnhTMHrzcjT8Xu+/16fXaFT8s9t4cCSJvmnSCPdYm9Yy0usnKuPqO2jfW5yKJH9Jnqi0A6XWi9Y70U2Ox/rJvbYt25Xb5vdh/KIXw9NEfLPa/NQmlTbHbwWJe+E6wJc4Id0SJ8Bz+Wy6Zdfd/svm72aRdQXOp5+x/ImtL75IHOejLH3IZIlUHNy7SZZglIEaYdpPsjsILvqu22qu8/9AFy7fZdeVfV1dhMMlbneS3krOQp9jL66Je+r/MaMt8eU7vwXf7D34RRNfVXY5MQKfa8bwwJm/KS6DPN+qqhMtM+a6Y+5HI8jh7HKhfKZ8VSnFfgXLhEooWBnUz7bKBCzC9l5JUEH8c3tbso5m2xLutV0b5DwUyHBkHR5/1IUgKnfCjo+SBE/bF0J8g+FHcIovoL5oIy408+cm3ch+Zu9y4OYqNiTkUul/Lxm3TzH7+Z1m7kbuhmz2KHvmLf+qnANCFc24BSWBZBa6YigL4s1019v/3YMGWH5edJ/mux/a6oh2EFWO6p9GypKII6KXQs0Q9X5lf1sn3a+M0SR2xYfp7kD8sGTABYal92psSm3cELFRNCT8XnyT1MAFy5QfHryGWOEC/D8jMlV+1uXwyDSxNyj6XnjhfdsbfEeffUkBFVuYb8D8XnadIPFa4h++84CHpM+t/HUwpNk//OH5WbpMCpzjwN3tztynbSy49rXE362+bxsRq6jM7qcKx3BU0mGGFY/kqSp/dAVOsKWkz6EOIaV5M+vRdIvStoMu2DJFWuJ396V9CKk3UZXOH8ZjNMQXKof/jztHVy9LCd44PT+stDwdHH6bVNyFo3zaf9xnkEvnw6OVNZ4tN1p2pEj9RHF9SPqXAsOlEiy3+QFvja/3P+vAVpIqqdcqfcu548Omm68/Zf79ddRqBiXd1V5eq7ZlXy3xLW+PUkKdMfru+YZ+vyCQ/QXyG/mPMkUzosFcV7u23W+50/OP5DsRuy/AmPjxr7M76mgZ792xCz3sbw8cecpXM7e/Un7+QV7Vw9q3NX5zq1O8SzKtpV9a/yGYYmVut/xtdwXvGj8c8bixg9lPLV/7Yp6tWHXZU6mzPhcUFbf8a3QtXs34Gd9QoGD588EXVXtiew1U0bruH37T+q8lf3vuY8HK/5P+NrYWh+/FrmzRWcPuK9ve2xrnvrQQP4uNDl3XFe0v8P3umZhzi+XnnN13uu51JveuvqnNqZ1Q+gsT/l+6J6Hl/JvAXE8PlTC4ljiWfc6kwR8md8S2z9j29v3tTG76/URme/a/psgKuvq3X5rtou10X1OO+rGm/2z/jmRjTu39W8sW+sSxIen/ty977tTtexHiwsPc/PdM/0Kd3Pl9RF2X9bfmaurEiFibInEu5I8gS+fd5ptimXVbH+a9N8Yq5D4grzpLskz6uy3lXFmiee1pjzyqO2UDa4swqMXUHE7YPS02wUS4jkR8XnSd4UbbFel+uP5XbH631aY578fV0tm1X5fdM+dvMGjsxHaiQqzu2N+6p2Tf1Q3Jcfqn/xhnBYbaYm41lMoRa8exz5GjT/Uy53PzYNjyjE5ee+h90D1xp9yZkj4HHZ8rbookl5o+Cw0jwt1s39PXOZcyw6T2JV3619thdeb8flZ77j9f6+Yso9lZ1rV8tPxX35XVEX3J4eVJnZ44+bpt199duurLfcoW5YZ54Ot0+bYrt9V27aculGLXdenPcm0nUn6hSt+tcuR4fbHPDUIBVOsmmGn0v655Gvx+NQg3njD3MBFpWft/5hb5GPRWeut44Zpt429V3FG2thtWvpEeRT4vvizjRwLd3+Vj5N1+dQaY4OD8X2ENw84S2BStdZnfbnnrdf1V0kZDJIFC5UQeV5m0SQBTA1Rs2U5ee9CVPkTHlbcMQQjz9zg0eYU98ls90g4mZM0oxYm86L0tydbfzlsdzZ5+BsB87L25y/V54lczRGOXi8rhhJyjhZ1sHre17aqeAMaW15V7ZlvXR3KH3YtWdW/F4yqDT3qbdFd07tX+Xq3Bx8+OpI8RmS71nhWgc/3qTwrNTXsnTn9Efnst6z5QpO79to4Cza4rE7luPTA2w7R2Ti0pzh9zNW92KNqq1vjmPivuS8Hqi2h3B2vtiowlzbJmkDGS+e1pj3/G352Hzucui/K++K/Xrnjm4wtEjWu1gTH+t4XvKx3MxnDhXnPi+pc7EGBbjnYPiiR67mZn3bztvGeLag5MXStsvu5qwf2DIH5WeMmP16njNoBmVnSER3IABhY9d+M+Sg+ycGUsauUufIGF83H2TwVszJ/ho95RF0GOtsx3lJfYJLrsSg/MWS/eUE7w9nQziyQY3Zz+1PJEx58qDGxdJX1XZX1eDOi4HUoOTF0u4qkF5kIOlQapaU8xD3JIuPcMckflWA9GNQ3qHkxdJwHu6BKFds3grjjvkt3s3+Bk/vgSsvKD1TKv+7H5S/WHL5W3WGRh44aF/u8rVZebfrMsanbncYLtIGFS5fx3Blbq4m6wzgjsQxuXb6JNIhGT9j59EXnfc99q+G/xLnfv/tljE19MXmyeEP2WHhy/uy4DzaodQsKdwHi8peLrEaOf8XCKsYp/3G5DR3d2d8qQf/Zl/uckktuvZ5KKilNzxPHUHgjWTDwWNwDdklcnjLhbDojD3ztmkZb+pYbsZOkrUh387dg6PbtIZSfpn1HSXvqhy6h9EFlVOl/cYY1He/zRzPxy6/HUpL3Owz2Zex3e4e2mZ/z7H3U+F5T/rrQ9kyLLEvNk/Om3T+GiLqzfncNWelfT8erRRI+54Xp5SSVpfDTPkDQb7QFBkXxIReFBCaisR49+V5Ua7MHOyxfCgfC85IeCg3Q9bJMcaDHYPyV5HtExWf4+hUg6jWbNgzRQdQ40+A264E296evpSJ3G1Y8+Lh46HYjt2YNdBhUP53cZD83hvA33f790cDrtnIvGp3jDd5KjhL2iFxIkfeqegsid+Xv/rcvByZYeFZUv/Bfcp/XPKMsVOmD9T4R7Hec3jWoMKMJ50S3jG3T38o2221HcnuF/ZrWPjy0Wcybv8jYfu8/k0k0R26S8cz52JZU8+1haIO2W4n5bp5HVVNcubVCuduHg66p5IXv95iu63u6ze7XVvd7jnAb1jh8t18uZsgmJS+WOr9JKn3zyCVYc+0+OWU8aGo78vVFNmoykz5bKmzZG3a8nPV7LduBvm6aSe85rGql9t38blcvXXP9bGZYumpepf7D6r12uX/m67MWNXLrWJixNw80t3unqbY/7DC5bLHcwMGMnkZAce9vcV6/XQmG2G4CY2LXyx3X7OfMix6sbzyl/2Z07SHebovN8vN8bgp2mrrzh1wrDUufrndcILqVvMi6nw0yaSdOqoy99uYpACsc50vZpIeIzXnf0eTNEnUmrMe7Jv5L543BdS4vA9cZNO0DgBVfndmMS+GlhWcMTNKopjSp8XVbYmLwlGVWT3LCgu5QkxI73j7dlKozbcz36o/K8p7wHlOB25Az/x4HrLB5DkfaY2r7EkZomnxWXsF3s7g96DN88dw7sB9hdliwusCNWbtNsvaX17DGlWHFWasFSZLR1WmyJcneOv+5IDRUeznoq06b2ok2BWZdgpx1CV3RshLvifOK5/gxGgRwBP9euKSwDcwyLcVadOWv+yrNhjkmaoE9S7Wg542/cgLIwmKTXv7F0QIUFlTgwXCR0puAz+5MJ8Ln/4lqn2pXsRR7HP3d8mqJmlEa15Dm3Zf+4s2jg2PjscDnXD9CzULLXdsG+P+Ns1Go4/zyzcf3/715w/f/L9ffTgr4WVceOzJvMoXgQosjwcpfN1QzcRjf/3N9+9+/urN279eosTrsPYkdc6MlD98+/e3f7tcraj68+j188e//vj+7/8xV7+gmZl6ktwc5xOFBCrS4lMMetpAHwjlj+5UZPRKXARIF33zfpM8jBFIjYqfjU8clbzizaNhPw9rzJPOfb9h2ZPE81mIzmvwTd2lal8yxrCo+LyePwWfvf9ctm21YoiHda7WF8fYoHfHrk5uYgKlUtXm6IVzVvCmzpek9JQ3FHuk103ybsbwpRyKXSxn5DRiIIZxGvGslFG3F5HF8nedlZg8zUaknT3Fxnw2rjzmqb2zUkeOTxCJjNMTo9J45+cCodPOz43KHj8/F8jknZ/jyEo7SofizvtKRyWeC59EY9013iT/Fc6RNik7RyD7ouwcF2jy1W/LcrN7XwfI5GLtEm3Nmokuyvox0HRC1o+JGszpP0Y7V+u78ywr/LDZjqtRmWOnbwJpnNM35+WkT99QUedP35yXlj59Q6WdP30zKq0uuwDRD2WXjfa8RFL6YqljZy0DcZyzluNj8cgp1XAgZpxSHX+esVOq4QNxTqmOSkqfSQzEnD+TOCrjzJnEQBDzTOK4tCQlCgWdpUTja/2RfDzRBux8Pp5ROWfynIRbTV6ek1Fp6ew/gaDz2X/GZXAWMuez/4zPHSMnosNZg3Ei+rwc3pKeeyJ6VF46h1cg6XwOr3GLO/jFJjg5hjUmSb/gWCD0cTAOfp1ZcYxmEouWG6wcYuPjLid7WTgET8ledmbsOpO9DPbuHImjWWMCaaysMWf22OnMH9EG+3zmj/Ny+O4RbuaP8bVHOvNHuPQ4n/njrBTug7Ezf4yPOKPxt+FAw4q+PbMfOh9lHG17+FHGo3LPRRkHMrlRxmf6dF1yRpVjucufbCxeJnwsTrzMwN8cgNC3xbrs7kd9lxYXFpmGReOPu7trsNiVH6vkBDSQ9JJUGnvK6ElGdPjPD1Oe9WVU5Rryv/nwfpJwX/4akj/817eTJPvy15D8/vZ/0htXLPxYZa78XbMqUgPEUHRfer7Ux6Ztm1TODCT4WGGu7Kdu+99Oeeqwxlzp6e3OUO75XQ9LYnLzAySe3QMlJE6j00PBfEjNM68pw0hfer7UKUNIX3q+1P/88P77CWIPxefK/dwd+3ufuvBgKPhU/ipvd9IsFdaYL/3bZlmsxzOXIBVItStY21QNrih78lIlqnINm59oALMWKbG34Kks+APbofB8qY9NvUv5fMBAfig9X+6UifI6U+R2V7S7CSPLqfxcyWW9miC3Lz1X6ma9T/kphkIPha+wKJggtC89V+pDsf2QdrAN5Z7Kz5W8qu74L/ZQ+Boyv5+wxj2Vn23HY+d9gSFzjv0m5IZnHOicMAi7PxT4i5i6UV5YoUcEdSGaVMjEEOVg0/9V/TnRdV/Vn58zOr9vfsJquNN1JCTth7ZZ7cfcrkeRpOzFMutmVZ7vwJenYjOerrtz+PxzHUrNkPOuu9C72TyWSfwWiIsLX0fq+5b3qKjKBA3iSXhkcXkUueWsKEekVPWuTF+9enqyY7EL5dw2zboszn4Ep2KX9lq5G12VnzouKHihrH3NlhYXvfzZvuG9rqjknKdjyiNlL3++L3lmEpWc83xMeaTshRIHp+IS0uApuPOBVSOSG3c5fZGCO0fJQbnLJQcLkmazTa5Fms32GY9Z9q3zzld2eibi3cvfNm25je6GPiPrdVTljNjh8ZY5jxmIPjT8F83WIdQ7GfzP1uSsH/P6D18dH1pI/lNXyactgli9c7KLs9F613/eon46PjD/eTtNEw+8rj7xpR8K/76P3Ak9PvOC/9BO2ZRRT3rs6g957ip68Alvuxp78sdit0wfF6c69KV/3yd3UvsnzyY8uVc3Nap3G27+qHoo/TuP5Z3U/sknDGhe29QnXm63Hx8K/jgeVPidP/WD4KPVT5jJjkqf6YX37VddZ31sJmsV1vxj+uWowbGD7PQOOj1GoqfuXfa0dpLJxHV+394JZPf9MqFbQs3Pd8h060lU/sO6aGBDE6ZU+CyJTttWj9W6aKsdf0EVVfl9O+gkuu8Wde4Qb9AvgeKJ3vi1aVcfpvfIoNrv2yux+GPPGH7PkAdI2cqurZa7/76sjxKVf2f7AUoc+0tNsCT0MIleq5t0XiOqX332rM/1+6RudsdF3IS1TKfq/L1oJPx1VU/ZLp3qPktXOG2Oi7wJw8yplZEd7KSdTaxXV/XP1E9en2NP5Rf11PW2geQl/tl6qyLddXOZYV1v8xir5+r+mfrroNBxlL6sv6645YzVc3X/TP11UOj4mwmzWtBf192pkvHiUP3P1GsnnY4f5mUd93z7W6zwsZ0/Y28Gyh27dcKqFHTrs+yKY+WDFv5MfRqpdfz9Zb353JvppOZ/SmvF+h0LXLaeObMHN8E9kl2yow9lWxXr6l8B0L3b1y7i5Bi8E5ebSOhO8vzxCIZAWnCaxIg1lnWxqX5ou1P41Wd3TyGij4dyr2H5c4FRh0qjGnx4aNrdQ1GvpqqSqDhdJxqu1aWnbOr3BynuFk/f7V9X5Xp10mznorh6rc7UmqvUoeE363XcPbESpNRkodpQge/K7bKtNlFIVhfe0t4Vy6HgoPRU2XEKuVlSX8bVRzUAbZx/C1837WOxO/MSDoWu9OK/3z/eli1LcFT0SuKP39iXxbZkWOCw/LUVmaLENRXwn/abtg3izKH0oOD1RR8HP7YOxxpXVaZ7vRwVunLXFdysWP3flbu64Em9H1W4qip+yhmdlZLlr6rIV8dQmDfrdXAiYUQXUmWqOqNLzYlizwU9cRpKBsXM6Y9j5MqhkcvVQ2mBee+zfpqsf1flD3ifR7Fz36d75HSQ0+X9EUQizXifrrlL3+f7upyqv6vy+7/Pk9iZ79M/cuJ9NnP6o3+ffSOXq3fx+/yxnKj9j+Uf8C57oTPfZPewiff4f9pLO6J/iT/7Fi5VbM4b9L+atKgYq/+HvF+kw/zXTXsm9fa3rtw1lX7987HNKyk/0ULoWYKRZzoUveqS7vt9kEdtRHZX7vcyuKOsiwzLPVHCgC7V4PVlakw0Bb+h5+nXlbyqIZBkLyPCfclnEM7eVATFn0uNSaM0qvccinEXpUHx51Ljkv6J6j2DYlwnxan0MylxQedE1Z5BLfaGICj+XGpc0D1xvWdQ7AKdnkedozPzP8q6bKslRx9a5wo8oG+42ZTtrgo8sGn3PK3yDFoM3xJfned5XcdWL/CNper+XuusUfkXrb2SvTHXbcZR9RL/WbLdaSs31Ax3sk7V/SOtYJ6PLdkbc51tHFUv8bol251tBexpN1X3D7SCmZ65ZG/MddFxVL3EV5dsd7YV9HEcXXwD05N3vpU/0DKQJteyEdpXSVdQUO76j/H6Z9L+VR/qzC2T0bOdYoD+VrJI6JwHpcJ+z6f+9CyP9+l3f47H8ID89R7kcews/XM9ydNtyXUQTn6cU9vP/EyXjtZlO3+sdm38CUbqkx7XHqd9L50byXhuzSkPcBq4RpLrXCbl2b/v4cNc9evmPcV1vm30KNf+shPPw/uuL/GnJCtf13UQ58ga08eVvJbw/uF4MaaD4tdWY2rI4UjFZ1PtIrWuqVLXlgvoGlfiWOwKvrdjW4QMpT1upMbkyOAg16ULuP8SZIjfPm135ePr/u/jMnzhqHfDxGpP9ZLV/stDyTEhxxopaavbt+5YAk9iUHqm1Hdts+HKPJSdKfGrertvu/tFv6vuW38Z5l+Lz+WXZVn/uOe90ZeMVmZq6Ztlv45T8Zlyf2zW69sCXMmWEByUnyX5vpvBil3pyvGE0ypXkf9hV719qNbDdH+jKgS1rqLF0aimqRFWm6oHN+cuVICTeTctOro6aF19Xa3L/26rHchgeWgjKjRnjP21a4Ev5aUr/5f0gX9UMyW7LT+X7TA7bVq4r3Al6cti+TDlyV35y2VPtC6kAN/EWB1w0av/I1/8H/faL5U8WDG9/fab0fHk7bffzPmauwvjfyw3w4SpSMbLoPT5AavTPCF10zafq9X4TH0Ueio8SyZ/tjxKnj5bcuW/XVcXqOBrzdJiuyl+HZ8hj6L7opPlxenF1809SqycsK/7scTKaZmXzMRHqVNn4lj04Iv95nHTtCMzcVRo1rc7vHchKeLlyK0LqFJKZuX+7opOkU6qXUuPkztpujJx3Ys0usTqYlWmmh5QIrwWoyvyZrN5s143v5arH4rlp+K+/K6oi/uy3X5V7x//0V2NhU5oh0IYLUw2W3KtxlkxxCnCVm+iYoOP99vmvhm3JVdizme7bNZNe7cfn3JPUl4G5c8biNc/IfmxqZvlQ9uAe3ESsqMa06Vf8oFETz7t66DiB2/39M1/ua/WqzNj9KD0xLd+ydNjmZN7YvigqUCd3a6tbve7ctzoE2pFtU9ajSXSv0jL/9ONAl837cEreYmqPw+aeEZ9V8WuuETJQ71n1GxTbLe7h7bZ3z+8u1DJYRPX1Tcaso4WNss8Z38zg9un74tduXozRznYyhW1XO63u+ZxlorDJq6oX1vWq7Ldvq8vUi2qfX2tvguJ8HS1vhtjvzP0ulyl+bNGMJfSVEZnJtNE8eedTceETplOU8968Xw6qtjlE+pEPcdmqFENL5miJurGnKNG1Zw5SZ3XeNosxXvp823xwnlq/I1Pnqgm6smcqca/6GlT1UQNz89Vo8rxJ6vL9BqbrTiKcaarizSbodQV9AkCIN6Vy6Ytdk37tql35W8w9MF5Gl7TkuOzlKuTDH+t8KmmEUEvD3VGpA0qpsS7fyaKP9S5hvjtrtgFsVlMBY61rqHCpq0+hwEBTB1O1a6hRLFcllt42G5Mh2OtC1UYDTidpMPrM9GliRYOD5DolIfiwh7pE4L6Bi7QaGLu00uVO3+dEUdL95iJLrwvp45iREvfwJ+0C+/LY07ZdG5bVhd2j5kaouZ24fbP3IXbUxemb5RideE23YWP5a6I9hJMVYN6VxlkV6tv6mpHA9O5/UZr/5GDbqTL+audUi8wfiSIizZt9Vi0T38rn1J5e33jpNy0FVEg7+OP3/zHj2+++/n9D1/9+Obj+x8/JCUOSk6TSXHTV/Wyfdrs3qzvm7baPVC45GXSQhNFBovNQ0vvXUrakXkuLjdjoVkMHowj62VYbbA7ruqHsgtOWQ2NjTwf4/AXSx16rmuGItQAfmz29aqq739oy2UVXXEbWsCg1Dyre1s8lt3XRwO8vbDjX+cJ+evT5qGsk1JOf54n5odiuyzSD3P68zwxH+riU1ndVQkxpz9f/nGGJ1C6fWbZvt/sRj5SXH7Gx7ostuEZkSkCXx7rjs0FiSfE3fFluW7q++3H5sOu2JWPXTtJzYZlZ3TDY7Mq12+/nCzt5aniWCeA57p0nj6jyPEqnckave4fJbXCXze3xfrNdtssKxei/H3xWL5vu/+OGGxK3TOtXdyZ6WxsbNUY+0u+CmM7y5QCZzeTfPGnxdJ0NaK6f7B1n3TpDTx9OUqypeCBznaXCyyao2ffwJ+m45xCfe+l7z1h9J5/tLNd+P5z2bZhXO0FSgdtXOeDuGvasrqvL/ogorp/8Hs96cLziIF2gsc521nD44EXaBo28qfpvtOJxv5OoDk9eXrEVBIatzsIbqRjqxzUvM6nsKq2u6rGBy/HVQlqXmmaatZPj027eRhz0SdHi6jydRT6tdo9NPvdu/Ku2K93H5bN5pJFTqKVi1UcbLcKB8uGi+Vo00UKzdzhFR04PCsxLDNP4Lvbt01dl+7yqo/DPBUHhxMpNFckOo7dS7rA6zTYWLobhr/pzQjvLuMyM5/IRSqfFtvfUT9p9IiJwtdQYRiPMpR8LHMFgW+7qsGzvKlX47Z7tta1lHrbrPeP2PNDC11D5Dlp1xUUbwoT0lyhK4h83/6jKn/9zu1eu1bGEloFSoxWu65a0zW6tjI/FG3x+KG4KzlfICh8TRVYJoJKX0GJMJdTWnhY6spC0X1fCcmMG78miT9jfdc2OXQaakToNd7uP6p2ty/W3mRGpMbl5gn++2ZV7Er3vk4TBkhrHCpxps61FGJrcS3Rx+ELyjv+dZoQRrIy1P65NGSkThrKj1sxFPo6rsVS4Hz6qXi6GtfGFZnWz2FEM6eXTyImdrVX/8ynTGbB9Mo/UfiZbGxUHK8fko+HkYjbAdTF+k3tnAsrylPicMvB1pRVfQY4GXe/8KVzvO68rrgo/nCCooygxFmKNudA/QRdT21dU91J5hlGKU9/lPf1xC/5msbZC7+KbXb98DymeVTzGpY5ouZ8wzxqeiW7jJUdeFmOxd/GkDtys5BCMx071eNmXdJg8OTklS7+TNPXGYG8CWzkIUcWL8W6WhWjTry4yOUxFf2x/C7i7GzUEyg8Y8C5fepO+vjcCN1dam21e3r7UC4/XaDBy9HGzq4wSAeMKxy4T7fv9l0u0K7u5Ton27tcbfSGx2NlwlIz3ummbTpL/7FpGB1yCo6Jq3Gem8TFJKjqx/EoTqAHqTlXldXtFPGu9FyRVX23PljTFNlxtQuUmBhBO6YA89xC2ESofvJs4u5hUpf0Fea+kW1qbmXoAOrO/jyKtlivy/XHcjtpRHhJK16gCNy+fhunmRpsIf3fn3OTGkiYsC896J3+DpspEl8fKjDFTjyGwFWAfexgoInXP4WIi3YEqABdDhX+uM7oFGCH8A87w+mfmhTK2z1eYKeU6Wv8cd3hNGAf6xn2h3+CRIeUbdvwvv9enb7GH9chTgP2UbFhh/gnOD8yflt+TriIoxLztmL//VC2pxiEr5vWtQ2l4qLPIT7tuR0pP3HtGmTGOJxIGJx73u+q9fG8wnjzrmjqWHXJbv/lqeiInL5KOoUAW96p6Ax5fbrLkJuNyIyLz5D72e+EuXLj4tPkcvOYALGctCUpsSY8geCPnhxF3u1rv+o9CO0LTDPUSMKm2hVnZPRFLpeyburyXVluOmqdFhSWulxW87gpgsi9gRT/94vbv2+b/ebLp2T7h79f3P5DfxAoKeFY4mIZbvW/9RuopJiw0OWStl89bnbp3jr8/eL266Z9dLb597paNqt0p9GCF0vc9CeokqKOJS6XUbbLMAprIMH/fVr74ez3Y1HfDzOk+Mbd36Y1PW2kPAmYME56jVOuuvIeXFcykNYXu1hOWQ+vThhIKUfygnBk/LZc71flVyxRYdkpEgNbayNToJbm/voXcbElt91JzXTr3V8vbntbdOem/1WSu5yokLjY5dL8kcb0UNYXuFxC06Y/+e6Ps1oembL8n2e17pHHl9FpKiQmKHcVefFZpDGJ/ozPpTL3NWOlFBaaIan6ZURC9Qur5X++elHVq/K3F1/8+8XnsnUnqb94kb2WrxcvXr24645hbF988VPPV5fN4yHsd9Us9+7Hfx6K/aPsRueusC/9f29evPrp5pXWrzO1+Oc/X/3UV3Z/cL/o2zj9xlUUL179JFBFMagooorZi1c/Za+MfG2zLKqYDSpmUUX54tVPElWUg4oyqqhevPpJvdL5ayNUVFENKqqoon7x6ieNJOpBRR1VNC9e/WRQRTOoaKKK9sWrnyyqaAcVbVQxf/HqpxxVzAcV86ji4sWrnxavMvVaSx1VXAwqLmIDuEnVFEPbEcR4nPXcIH0FsJ/YgERnFkLAykMbErERic40BLQ/MbQjERuS6MxDQBsUQ1sSsTGJzkSEgpWH9iRigxKdmQhoi2JoUyI2KtGZioD2KIZ2JWLDEp25CGiTYmhbIjYu0ZmMgHYphvYlYgPLOpsRCzhUDC0siy0s62wmu3kls9cLE3/12dDCMjJEuTEKWlgGRqnYwrLOZjI8wg0tLIstLOtsJoMWlg0tLIstLOtsJlNoUM6GFpbFFpZ1NpNpWHloYVlsYVlnM5mBlYcWlsUWlnU2k9lXOnttpYkrDy0siy0s62wmy2HloYVlsYXJzmayBaoshxYmYwuTnc3IG1h5aGEytjDZ2YwUsPLQwiSZCN1MmKHelmAujC1MdjYj5St989pmpPLQwmRsYbKzGQktTA4tTMYWJjubkdDC5NDCZGxhsrMZCS1MDi1MxhYmO5uRFlYeWpiMLUx2NiNzWHloYTK2MNXZjFygympoYSq2MNXZjIKrMzW0MBVbmMqSA6AaWpiKLUx1NqMEMhI1tDBFlltuvZUh21ZgxRVbmOpsRkHzVEMLU7GFqc5mlIKShxamYgtTnc0oDSsPLUzFFqY6m1HmlVq8vtF5XHloYSq2MNXZjLLwmYcWpmIL053NKGieemhhOrYw7SwMmqceWpiOLUx3NqOheeqhhenYwnRnM1qgDtNDC9OxhenOZnQGKw8tTJNFvVvVQwvTYF0fW5jubEYrWHloYTq2MN3ZjIYWpocWpmML053NaAMrDy1MxxamO5vR0ML00MJ0bGGmsxmdo8pmaGEmtjDT2YyGFmaGFmZiCzOdzRhoYWZoYSa2MNPZjIGLODO0MBNbmOlsxsAxzAwtzMQWZjqbMRLtOM3QwgzZOprkIs6A3WNsYcYmF3FmaGEmtjCTJxdxZmhhJrYws0gupczQwkxsYfYmuZSyQwuzsYXZ9CxphxZmYwuzWXIpZYcWZmMLszK5lLJDC7OxhVmVXBnYoYXZ2MKsTi4f7dDCbGxh1nknoEPEDi3MEgeFTa6GLPBRxBZm0yt9O7QwG1uYTa/07dDCbGxh+U1y4ZoPLSyPLSwXyYVrPrSwPLawPEsuXPOhheWxheUyuXDNhxaWxxaWq+QKMB9aWB5bWK6TA2A+tLA8trDcJBc0+dDC8tjCcptc0ORDC8uJGyxPLmhy4AmLLSxfJBc0+dDC8tjCFjfJBc1iaGGL2MIWIrmgWQwtbBFb2CJLLmgWQwtbxBa2kMkFzWJoYYvYwhYquaBZDC1sEVvYQicXNIuhhS1iC1uY5IJmMbSwRWxhi85mDPyeF0MLW8QWtsiTq6HF0MIWxNna2YwxaOhdAH8rdbiOeFyRy5X4XG/SSzH/N1qfuF1v0qsx/zdan3heb9KbSv83Wp84X2/S+0r/N1qf+F9v0ltL/zdan7hgb9K7S/83Wp94YW/SG0z/N1qfOGJv0ntM/zdan/hib5zxYU/uDfDG3hDzcz58PHsL5PIf+PxFcgIX0OtP7M958vEcLpDjn3r+nTMfz8QC+f6p89/58/EyQCD3P/X/i/SUKhABoAjAefXxtkIgCEApgHPs452FQByAggDn28ebC4FQAGUBzr2P9xcC0QCCA0SW9tYKAAQEIQIiSztsBWACgkAB4fz8eKMhABYQhAuILO22FYAMCIIGRJb23AoABwShA8I5/PGOQwA+IAggEM7njzcdAiACQRiBcG5/vO8QgBIIggmE8/zjrYcAoEAQUiCc8x8vpgVgBYLAAuFpAVxPC4ALBOEFwiGAxPcPiIEgyEA4CoBX1QJAA0GogXAgAC+sBeAGgoAD4VgAXlsLgA4EYQfC4QC8vBaAHgiCD4QjAniFLQBAEIQgCAcF8CJbAIYgCEQQjgvgdbYAGEEQjiAcGsBLbQFIgiAoQTg6gFfbAsAEQWiCcIAAL7gF4AmCAAXhGAFecwuAFARhCsJhArzsFoAqCIIVhCMFeOUtAFgQhCwIBwvw4lsAtiAIXBCOF+DlN6ALguAF4YhBYvkNAIMghEE4aJBYfgPGIAhkEJ4y4OU3wAyCcAbhQQMevgBpEAQ1CM8a8OcDYIMgtEE4gJBYfgPeIAhwEI4hJJbfADkIwhyEwwiJ5TegDoJgB+FIgsGxEAA8CEIehIMJBoZDCMAeBIEPwvGExPQF8IMg/EE4pJCwH0AgBEEQwlEFi2N+AIQQhEIIBxaseKXka6llXB9wCEFAhHBsweLIH4AiBGERwqSBqgA0QhAcIRxhSOkP7I8QCeEgg8XBR4BJCAIlhOMMKf2B/REuIRxqsAraPyATgqAJ4WiD1bg+sD9CJ4QDDqn+A/ZHAIVwzMHiKCiAKARhFMKOLP8ApRAEUwhHHhL9B0CFIKRCOPiQ6D/AKgSBFcKO2B/AFYLwCuEQhMXuA0AsBEEWwo7YH4AWglALYUfsD3ALQcCFsCP2B9CFIOxC2BH7A/RCEHwhHJGwePwHAEMQgiHyEfsDDEMQiCHyEfsDGEMQjiHyEfsDJEMQlCHyEfsDMEMQmiEcoLB4/gM8QxCgIfIR+wNIQxCmIfIR+wNUQxCsIfIR+wNgQxCyIfIR+wNsQxC4IRyvyPH8C/CGIHxDLEbsDxAOQRCHcNQioT+AHIJQDuHARY7DfgHnEAR0CMcuUvoD+yOsQzh8kWdw+wBohyC4QziCkXp+YH+EeAgHMXI8/wPmIQj0EIuR9R/AHoJwD7EYsT9APgRBH8LRjBzHPwP4IQj9yG7S9pcB/JER/JE5nIHfXwbwR0bwR+ZwBjzxkAH6kRH6kTmaAXePGYAfGYEfmYMZuPczAD8yAj8yBzNyGECeAfiREfiROZiR6n0QH0zgR+ZgRg5XXxmAHxmBH5mDGTlcfWQAfmQEfmQOZuRw9s0A/MgI/MgczMhxMDqAHxmBH5kYi0dHAenE+hzMWMDROwPwIyPwI3MwY4FD2gH8yAj8yBzMWOCodgA/MgI/MgczFjiwHcCPjMCPzMGMBXQeZwB+ZAR+ZA5mLLD9A/iREfiROZixwPYL4EdG4EfmYMYC2y+AHxk9C+FgxgLbLzoNQY9DOJixwPaLDkQMTkS40e8GGyA8FEEM0NEMcZM4VAEskJ6McDhD3GATRIcj6OkIxzPEDbZBdECCnpBwQEPcwCksQ4ck6CkJRzTEDbZCdFCCnpRwSEPcYDNEhyXoaQnHNMQNtkN0YIJAkMxBDXGDDRFQkIxQkEz6o1/YEgEGyQgGyaQ//oUtEXCQjHCQzHENgQ+QZQCEZASEZA5sCHyILAMkJCMkJHNkQ+CDZBlAIRlBIZlDG3gwBCQkIyQkc2QDr0UACMkICMkc2BD4KFsGSEhGSEgmk4cOMwBCMgJCMgc2BD4NlwESkhESkjmygeUDEJIREJIpb4H4KwQkJCMkJFPptSAAIRkBIZny9oc/YkBCMkJCMkc2EvKB9REQkjmyIfCxvgygkIygkEyl7Q+QkIyQkEx5+8NDCEAhGUEhmUrbHyAhGSEhmSMbIsMjEEAhGUEhmU7bHyAhGSEhmSMbInE+EaCQjKCQTKftD5CQjJCQzJENkTjiCFBIRlBIptP2B0hIRkhI5siGSJySBCgkIygk02n7AyQkIyQkc2RDZHj8AygkIygkc2hDZHgAAywkIywkM94C8QgEYEhGYEhmRrYjAIZkBIZkxpsgHoIADckIDcmMP4eNxxCAQzKCQzLjjRAPAoCHZISHZI5vCIm/YgBEMgJEMgc4RBcQA6ZhQEQyQkQyRziExN8RQCIZQSKZQxxC4g8BMJGMMJHMMQ4cUpQBJpIRJpI5xiEkXokAKJIRKJI5yCG6oDrUADBEQkUyRzkEjurLABbJCBbJHOYQXVgQ0gAYIuEimfVJAXLcADBEAkYy6w0RWzIgIxkhI5kjHUJhSwZoJCNoJHOoQyg8oQA2khE2kjnWIRS2ZABHMgJHMgc7hMKWDOhIRuhI5miHUHhMBngkI3gkc7hDKGyJgI9khI9kjncIhcdkAEgyAkgyBzyEwmMqICQZISSZIx5C4TEVIJKMIJIs9ykqsCUCRpIRRpLlPk0FtkQASTICSTIHPYTGlggoSUYoSeaoR5efFL5GlE6AWKLDHkJjSwScJCOcJHPcQ2g8JgJQkhFQkjnwITReHQBSkhFSkjnygUlVBkhJRkhJ5siH0NiSASrJCCrJHPoQGo+pgJVkhJVkjn0IjcdUAEsyAkuyhTdEbMmAlmSElmQLnzPlBmsADJHgkszhD4HPn2aAl2SEl2SOfwiDx1QATDICTKQDIAIHjEtATCQhJtIREGHgmCoBMpEEmUiPTAwcUyWAJpJAE+koiMAxexJgE0mwiXQYRBhoiRJwE0m4iXQcRBhoiRKAE0nAiXQgROC4LQnIiSTkRDoSIiy0RAnQiSToRN74DD5wnSoBO5GEnUjHQoSFY6oE8EQSeCIdDBEWWyKgJ5LQE+nzRVk4pkqATyTBJ1Kkz8hJgE8kwSdSpNMVSIBPJMEnUqQzFkiATyTBJ9Inj7JwTpCAn0jCT6RPIIXDnyQAKJIAFOmTSOH4HwkIiiQERR4SScHViQQIRRKEIn0yKQsjaCVgKJIwFOkTSuX4SwIQRRKIIh0UETn+kgBFkYSiSE9RMISWgKJIQlGkgyI4CFUCiCIJRJEeouT4SwQQRRKIIj1EyfGXCCCKJBBFeoiCSbQEEEUSiCI9RMnxnAAgiiQQRXqIkuM5AUAUSSCK9BAlx3MCgCiSpp3yECVfwAZQ5imaespDlAUMBpco+xRNP+UhygKGM0iUgWqQgsrNzAtsyTALFbFED1EW2BJRJiqaispDFIyEJcpGRdNROSoiFnh1gjJS0ZRUjouIBbZElJWKpqXyIGWBLRFlpqKpqRwZEQtsiSg7FUEp0p8pgWdSJCApkpAUqbwhYksGLEUSliIPaargjlECliIJS5GepWArADBFEpgiR06VSMBSJGEp0iesgqdiJIApksAUqXxgDf4SAUyRBKZIR0cSqeQATZGEpkgHR7IbeLBDApoiCU2RDo9kN/hLBjxFEp4itY/swu8Q8BRJeIrU3puNv2RAVCQhKlJ7K8SrI0BUJCEqUqeDCyVAKpIgFekICR7OAVCRBKhI7WNb8UACkIokSEVqb4V4IAFIRRKkIg+nS/A2B0AVSaCKdIwkw1hfAqgiCVSRHqrgHbsEUEUSqCIdI8lwXIAEUEUSqCI9VMFxARJQFUmoinSQJLG6A1BFEqgiPVRJLAsAVJEEqkgPVRLLAgBVJIEq0kOVxH4bQBVJoIr06a9waIQEUEUSqCJ9CiwcnCABVJEEqkifBgtHF0gAVSSBKtKnwsLhARJQFUmoivQnTQTuREBVJKEq0lMV7D6TgKpIQlWk9Qlw8V4NUBVJqIr0VCXh+QFURRKqIj1VSXh+AFWRhKpIT1VwvlBgh4SpSJs87CkBUZGEqEjrrRAPh4CoSEJUpE+VhWMMJCAqkhAV6dNl4SABCYiKJERF+vMmmPJLQFQkISrSAZIMY3oJiIokREU6QJJhzi4BUZGEqMjcp2LGnzIgKpIQFelTaGHOLgFRkYSoSH/oBHNyCYiKJERFOkCSYU4uAVGRhKhIT1QSXmBAVCQhKjL3lohNGRAVSYiKdIAkk3hiBkRFEqIi/ckTDNolICqSEBXpAEkm8WYVEBVJiIp0hCSTuBMBUpEEqUh/+ERiUwZIRRKkIhc+MTg2ZYBUJEEq0hGSTGJTBkhFEqQiHSHJJDZlgFQkQSrSH0CR2JQBUpEEqUhHSDIMyiVAKpIgFekISYZBuQRIRRKkovwZFAzKFUAqiiAVdSPSmy0FkIoiSEV5pIL5pgJIRRGkohwhyTCqVwCpKIJUlCMkGUb1CiAVRZCKuvFp6uG3oABSUQSpKH8WRcFvQQGkoghSUTc+ExL8FhRAKoogFeUISYZRvQJIRRGkom68JcJvQQGkoghSUT4ZF0b1CiAVRZCK8gdSMKpXAKkoglSUyNKOCwWYiiJMRXmmgtNeA6aiCFNRjpFkOFZAAaiiCFRRjpFkGn8KAKooAlWU8Hcm4E8BQBVFoIryKbk0/hQAVFEEqih/LAUtUxVAKoogFeVTciWGI4BUFEEqyufk0nCdrwBSUQSpqCydFUQBoqIIUVHZWJp7lOeeGKG/rQPHOihAVBQhKsrf2KHxUACIiiJERflbOzQeCgBRUYSoKAdIErnnAVBRBKgof3kHjpVQAKgoAlRUljZCgFMUwSnKX+Fh8EgEcIoiOEX5xFw41EIBnKIITlGOjmQ41EIBnKIITlGOjmQGDwQApyiCU5RM+w8VoCmK0BTl4EiGQzUUoCmK0BQlR+5dADBFEZii/ImUxI0RwAgJS1EOjSQujQAoRRGUohwZSVz9AEiKIiRFOTCSuP0BgBRF7/lQ3gbxmgRd9UHv+lDeBvFAhK77oPd9+FMpmG4rdOUHvfPDkZEE3Vbo2o/BvR8jcFnBqz+IEaoRuKzQ9R/0/g9/MgXzdYWuAKF3gCibZsMKXQNC7wHxZ1MwG1boKhB6F4hapNmwQteBEJqi/OkU7ARWgKYoQlOUFmknsAI0RRGaovz5FBwzpQBNUYSmKE9TcKpaBXCKIjhF+RMqOGZKAaCiCFBRHqjgbF0KABVFgIo6ABU8oAGgoghQUQeggj8mAFQUASrKAxVM1RQAKooAFaUXaaqmAFBRBKgok05YqABPUYSnKCPSdFsBnqIIT1H+lAoG9AoAFUWAijoAFTwcAKCiCFBRJk2XFeApivAUZdJ0WQGcoghOUWaELiuAUxTBKcrRERw4pwBNUYSmKH9EBQdtKUBTFKEpysERHHmnAExRBKYox0Zw5J0CLEURlqIcGsEREgqgFEVQivIHVHCEhAIoRRGUojxKweGbCqAURVCKsn5tiNf3AKUoglLUIXMX/g4BTFEEpih/QAUHkCqAUxTBKcofUMEBpArgFEVwivIHVHAAqQI4RRGcovwBFRx1pgBOUQSnKH9ABQdMKYBTFMEpyh9QwQFTCuAURXCK8gdUcKiMAjhFEZyi/AEVHDClAE5RBKcoj1MwCVAApyiCU5THKZgEKIBTFMEpyuMUTAIUwCmK4BTl6AhOoqsATVGEpigHRxJOLwBTFIEpysMUnEZTAZiiCExRHqZYvFkGMEURmKI8TMGJNBWAKYrAFOVhCs5kqQBMUQSmKA9TLN7sApiiCExRHqbgaGoFYIoiMEV5mIKjqRWAKYrAFOVhCo6mVgCmKAJTlIcpOJpaAZiiCExR/h4TPK8ClqIIS1EOjSTmVYBSFEEpeiSdlwYkRROSoj1JwfkANSApmpAU7cBIhhPiaUBSNCEp2pMUnJFOA5KiCUnRnqTk8EvSgKRoQlK0Jyk5/JI0ICmakBTtSQpOyqYBSdGEpGhPUnA0twYkRROSoj1JwYnBNCApmpAU7UkKzgymAUnRhKRoT1JwajANSIomJEUf7jXBlghIiiYkRXuSgpN7aUBSNCEp2pGRDGf30gClaIJStEcpOL2XBihFE5SiPUrB+b00QCmaoBTtUcoCWyJAKZqgFO1RCs7wpQFK0QSlaH+9CU7xpQFM0QSmaA9TcI4vDWCKJjBFe5iCoww0gCmawBTtLz3HG2YNaIomNEV7mpJqAFgiwSna4xScZ0wDnKIJTtEep+BpAdAUTWiK9pec4HhyDWiKJjRF+1tOcJ4yDXCKJjhFOzoicZ4yDXCKJjhF+3tOcJ4yDYCKJkBF+4tOcJ4yDYCKJkBFOz4icZ4yDYCKJkBFH+5Gx98SACqaABXt70fHeco0ACqaABXt70jHeco0ICqaEBXt70nHAc0aEBVNiIr2d6XjgGYNkIomSEX7+9JxPLIGTEUTpqL9nek4HlkDqKIJVNH+3nQcjKsBVdGEqmhHSRJ4WAOsoglW0f7+dAH3rBpgFU2winaUROJoXg2wiiZYRTtKAuGmBlBFE6iiHSOROBhYA6iiCVTRjpEk5AMrJEhFK2+F0IOpAVLRBKno9K0nGgAVTYCKPpxOwd8hACqaABWtknBZA5yiCU7Rjo5IAd1vGuAUTa9Xd3QEy0f3q9ML1h0bkRl0eWh0xzq9ZF2n7Q/dsk6vWXdkRGbQY6LRTev0qnWdtj901/rgsnVnfxl0uGh43zqxP522P3TjOr1y3VERmeE1Fbp1nV67rtP2h+5dpxevOyYiMzyAobvXCUTRJm1/gKFowlC08faHR2DAUDRhKNqk7Q8QFE0Iijbe/qDfVAOCoglB0SZtfwCgaAJQtPH2hxcSgKBoQlC0Sdsf4Cea8BNtvP3h8Q8AFE0AijZp+wP4RBN8on2GLxy9rQE/0YSfaJu2P4BPNMEn2uEQibOsacBPNOEn2qbtD9ATTeiJ9ne0J+Y/QE80oSfapu0PsBNN2Ik+3NSO5x/ATjRhJzp9EEUDcqIJOdH+vvbE/APIiSbkRNu0/QFuogk30XYxMv8AbqIJN9F52v4ANdGEmmh/d3ti/gHURBNqovO0/QFmogkz0f4G98T8A5iJJsxE52n7A8REE2Kicz0y/wBiogkx0Xna/gAv0YSX6NyOzD8AmGgCTHSetj/ASzThJTpfjMw/gJdowkv0Im1/gJZoQkv0wo9/eBMHaIkmtEQ7+CFxkkgNaIkmtEQ7+CETXiVASzShJdrBD4mTPGpASzShJdrBD4nPrmhASzShJdrBD4nPrmhASzShJdrBD4nPrmhASzShJdrRD4nPrmiASzTBJXrhM23ieRjwEk14iXH8Q+KzKwYAE0OAiXH8Q+KzKwYAE0OAibnJ0oZkADAxBJgYxz8kPnpiADAxBJgYxz8kPnpiADAxBJgYxz8kPnpiADAxBJgYxz8kPnpiADAxBJgYxz8kPnpiADAxBJgYxz8kPnpiADAxBJgYxz8kPnpiADAxBJgYkRwRDcAlhuASI7wdwhWRAbjEEFxi/D3w+OSKAbjEEFxiRDL9tQGwxBBYYg73wMMljQGwxBBYYhz7kPjciQGwxBBYYkRyTjYAlRiCSowjH1LjDxmgEkNQiXHkQ+JjKwagEkNQiRHJBOwGgBJDQIlx3EPiDJkGgBJDQInxV8HjUx8GgBJDQInJkqtCAzCJIZjEeEyC83UYgEkMwSTG3wWPT50YwEkM4STGcxJ86sQATmIIJzFZ2gYBJTGEkhhPSbrrkIeBNAZQEkMoifGUBJ8aMYCSGEJJjKck+NSIAZTEEEpiPCXBp0YMoCSGUBLjKQk+NWIAJTGEkhhPSfCpDwMoiSGUxHhKgk8tGEBJDKEkxlMSfGrBAEpiCCUxnpLgUG8DKIkhlMR4SoIjtQ2gJIZQEuMpCQ6PNICSGEJJjKckOCTLAEpiCCUxDnpIHJJlACUxhJIYT0lwSJYBlMQQSmI8JcEhWQZQEkMoiXHYQ+KQLAM4iSGcxKSvRDGAkhhCSYxSI4sKwEkM4STGcxIcEmYAJzGEk5g0JzGAkxjCSYznJIlFBeAkhnASo7wV4i8RkBJDSIlJX4piACcxhJMYfTOyqACkxBBSYjwpwSFxBpASQ0iJSZMSA0iJIaTEeFKCI+oMICWGkBLj0IfEEWkGsBJDWInxrASf4DKAlRjCSoyDHxKf4DKAlhhCS4ynJfj8lAG0xBBaYhz+kDkeSAAvMYSXGJ22QkBLDKElxuEPiQPaDOAlhvAS43lJogsBLzGElxgHQFJdCIiJIcTEeGKCQ+oMICaGEBPjEIjEIXUGMBNDmInxzASH1BnATAxhJsZ4O8SfEqAmhlAT46kJdjkZQE0MoSbGeDvE3yLgJoZwE+O5CY7JM4CbGMJNjAMhEsfkGUBODCEnxpOTG7hABuDEEHBifA4vi+sDOyTkxFgf3orrAzMk4MQ4EiJxTKEB6MQQdGI8OsExhQagE0PQiXEsROKYQgPgiSHwxHh4gg88GABPDIEnxtEQiWMKDcAnhuAT47N44V0SoCeG0BMzcmm8AfjEEHxiPD7BMY0G4BND8IlxPETiiEIDAIohAMV4gILPTxkAUAwBKMYREXWDZ1WAUAxBKGbk4ngDCIohBMXkZqwLgBkShmI8Q0l1ATBDwlCMgyLJLgBmSCiKcVBE4aBIAyiKIRTFOCyicFCkARzFEI5iHBZROCjSAI5iCEcxnqMkvmXAUQzhKMZhEYWjKg3gKIZwFLPwhogndsBRDOEoxt+Kgq+qMoCjGMJRjD91gi0ZYBRDMIpxVEThsE4DMIohGMUsvCHi4QRgFEMwill4Q8QrC4BRDMEo9sYbIlwYWIBRLMEo9pDBC/WhBRTFEopiHRRROCzUAopiCUWxDoooHBZqAUWxhKJYB0UUDgu1gKJYQlGsgyIKh4VaQFEsoSj2xicLgZ+SBRTFEopi/bGTxEsY2qElEMU6JqJwVKgFEMUSiGL9qZOEAkMztIShWAdFlIBY2gKKYglFsQ6KKHwHrAUUxRKKYoW3QzgrWUBRLKEoVng7hLOSBRzFEo5iHRZRODTFAo5iCUexDosoHFtiAUexhKNYB0YUDg6xgKRYQlKs8FlroNPDApJiCUmxDowoHJ5hAUmxhKRYh0YUjq+wgKVYwlKsQyMKpzi1gKVYwlJsNjIgApRiCUqxWTbyKQCYYglMsf5OlIQlA5hiCUyxmRqxZABTLIEpNtMjlgxgiiUwxfoUXglLBjjFEpxiMztiyQCnWIJTbJaPWDLAKZbgFJstRiwZ4BRLcIqVNyOWDHCKJTjFOjqicKinBTjFEpxiHR1ROFbTApxiCU6xjo6oDCa7sACnWIJTrKMjCkdLWoBTLMEp9pDGCy8OAE6xBKdYn8cLhxtZgFMswSk2fbe8BTDFEphifR4vfKWtBTDFEphi03fLW4BSLEEp1pERhRP1WoBSLEEpNn23vAUgxRKQYn0WL3x7pAUgxRKQYtMgxQKQYglIscpbIF4ZAZBiCUix/j4UHKtlAUixBKTYNEixAKRYAlKs4yIKh3pZAFIsASlWeQvEowAAKZaAFOvIiMKhXhagFEtQinVkROFQLwtQiiUoxToyonColwUoxRKUYnWWJhEWwBRLYIp1bEThUC8LYIolMMU6NqJwqJcFMMUSmGIdG1E41MsCmGIJTLGOjSgc6mUBTLEEpljHRhQO9bIAplgCU6z2OQ2xKQOYYglMsY6OKBzqZQFOsQSnWOMtEZsywCmW4BTr6IjCsVoW4BRLcIpNHz+xAKZYAlOsYyMK5wi2AKZYAlOshyk4TsUCmGIJTLE+gxcO9rIAplgCU6y/Zh5fpmsBTLEEpliTnpEBSrEEpdjDfSgJ+cAKCUqxJj0jA5BiCUixjosonGTZApBiCUix1tsgHgkASbGEpNj0ERQLQIolIMVab4N4IAEkxRKSYtNHUCzgKJZwFHs4goKXFICjWMJR7CF9F17WAo5iCUexDosoHG5nAUexhKNYh0UUDnezgKNYwlGs9eld8UgIQIolIMXm3grxSAhIiiUkxTow0l2IA/oQgBRLQIrN/d1QeCQFIMUSkGIdF1E43s0CkGIJSLEepOB4NwtAiiUgxTowonC8mwUkxRKSYnOf6Rp/yYCkWEJSrAMjCse7WUBSLCEp1pMUHO9mAUmxhKRYT1JwvJsFJMUSkmI9ScHxbhaQFEtIivUkBce7WUBSLCEp1oERhePdLCAplpAU60kKjnezgKRYQlKsJyk43s0CkmIJSbELn1YTWyIgKZaQFOvIiMLxbhagFEtQivUoBcebWYBSLEEp1qMUHO9lAUqxBKVYj1JwvJUFKMUSlJJ7lIIDpnKAUnKCUnKHRhQOmMoBS8kJS8lvkhNzDkhKTkhK7m+XV9DjlAOSkhOSknuSglOI5YCk5ISk5A6MJB5gaIU54Si55yg4A1kOOEpOOEp+k1wa5gCj5ASj5B6j4ARmOcAoOcEouT+LglfXOeAoOeEoueco2OOWA46SE46Se46Cc5bngKPkhKPknqPgiLMccJSccJTcYZFUHwCOkhOOkh84SqIPgBUSjpJ7jpLqA2CHhKPk/nJ5abAGwA4JR8k9R8ExbzngKDnhKHn6HpQcUJScUJTcUxQcMpcDipITipJ7ioJD5nJAUXJCUXJ/DwoOmcsBRskJRsk9RsERbznAKDnBKLnHKDjiLQcYJScYJfd3y+OgvRxglJxglNyfSYG5pnNAUXJCUXIHRWDe+xwwlJwwlNxfLC8hR8oBQ8kJQ8nT96DkgKDkhKDk/lp5iacjQFByQlByf6184jMEBCUnBCX318rj9Lo5ICg5ISi5Jyg46DEHBCUnBCWXSe91DvhJTvhJ7vkJjjnMAT/JCT/JZXpCBvQkJ/Qk9/QEhyzmgJ7khJ7kaXqSA3qSE3qSe3qCIx5zQE9yQk/yND3JAT3JCT3JHQyxGiWFzQE8yQk8ydPwJAfwJCfwJFfe/PA0AuBJTuBJrvwYiOcBgE9ygk9yj09wvGQO8ElO8Enu8QkOFswBPskJPsmVGWsAmCABKLkHKDiFYw4ASk4ASu54iMYpGHMAUHICUHLHQzSONswBQMkJQMl1Ouo1B/wkJ/wkdzhE42jFHPCTnPCT3OEQjaMVc8BPcsJPcodDNA42zAE/yQk/yR0O0TjYMAf8JCf8JHc4RONYvxzwk5zwk9zhEI1j/XLAT3LCT3KHQzSO9csBP8kJP8m1N0RsyYCf5ISf5NrfPYEtGfCTnPCT3N+AgmP1csBPcsJPcodDNI7VywE/yQk/yR0Q0QKv7QFByQlByY1Mf0sAoOQEoOT+BhQc65cDgJITgJI7HqJxrF4OAEpOAErueIjGKRhzAFByAlByfwdKqg+BIRKEkhufax1/CgCh5ASh5IdLUPCnACBKTiBK7m9BwfeR5wCi5ASi5P4aFHwfeQ4gSk4gSu6oiMb3kecAo+QEo+SOimh8H3kOMEpOMEruuIjG95HnAKTkBKTkjotofB95DkBKTkBK7riIxveR5wCk9L/756sXVf25bHfl6pt6Vf724ouffnrx88+7p0354tW/X/xc+V8uXjk5L77494vFiy/+/b+vXoib/t/+B2X8D9mNPPwgbf/DoVKmRP9DX0bp/oe+sOoL676w7gvrvrA+FJb2ILS7f9T/kB1+6PKlHn5Q/Q+m/6Evo2/6H/rCui+s+8K6L2z6wqYvbPrCpi9s+sK2L2z7wrYv3OvcZTTzP+R94bwvnPeF875w3hdeHAobcfxB9j+Y/odDH3bpIQ4/9H/qe96o42/6wn0ndGcf3Q+2f4O2f4O2f4O2b8f27di+WzrOe/ihr9V3gu07ofOYHn7Q/Q+HWnn/KvP+VXabscMPfeFesbxXLPeK/e+r3uz9r3uDd3/rvoDidtus97ty1ZbF46bYPYRmLoQ+GXqmbngtLpfldhs20wW5HZvpwthYzaxWXYFq99A0n8LWuhtgj611d7wyW1uVd2XbFrfrcl9Xv+zLZVNvd21R1bvokeWpccFuu6z3j5+L9T4aJIQKmtLsptq2aaPnFcFoI63lNlTV1a4q1tW/yjZ+GSZ4GYqp192ubJdtWeziJ7wJeivLJrflX3DcogpbZJpK1+Kq3O7a5iluLOi5TDI/iKAxoJ+4CZvM+E1ui8+k78JvK2O+1r4l1HMmbC/nt7ffrAbv1YZtLaa2hbTLw35jjiTr+6atdg+Pkf0qEdivZr7U9TrSxgZtyJt+qrSS21hzFzbXZcM4Ntcl0TrMI8zho46MtsvgfWxMK6Zd1E9EJS1ClVSvErO5ePjW4fBtmF/5dlvd18Vu11a3+9i6suwmHNCYlhq3FymYqaDL1A3TXLfbZlkVu6qp47aysC2mRZzaclWD9uxNOAlMVq2rGj2rMDY03cOLlfy30rfctHdFtY4fXYaPzrTeU4u/7Mv2KW4wfNEL5sMjk1GhydjenC13xoFW0x2ECdq86dtkjun7XXNf1mVb7MrVXbUuV9V2uS6qx3i2FVk4Q2refHZb7JYPP2+rfxEz14tw4cP7lG/Lu6Yth1P3IpwaM94o6tuCE20WtsazHN/acFoMJ1jmy/BNoXlMhI3xPubb8r6KhgQdLuRyw326dVPfb3dN1Onhswnusx0a2u6KXen+FM2Gi3Bs5s2rt02zLovoGWU442vmuub2aVNst6vbZVPX5bIbArarfVvV993SM9IyD7TMuS/Vt15u2nLpxpflQ7n8FA+G4WCdMWeSQ7vdfqeqd+V9W+2ehk13gDhQmfeBLIvlQzxuhdZs+k2syXmaLot1Wa+Klpp1Fk4q3bWTvMYey24zEFl2+N3mzLVU39AqtkMZrsp438iy2FS7YqiUDJXiGcuy2Fb1faxRHmrE7KSHor4vV4llRhaMAzJnKuZaJO3osB3eqOQs9LRl/Vw168HaxYZ7V+Y4tVxX3ez1a1vt4pmrS0USmC7TNtZNHZuqCSZZxfRJuFZWZbnZFnfENMKRWDN7bt1sy2K9jsapqNsCO+G12Kyb9m6/jlcT4Qdww1uYLJv1/rFuPpft3br5NdLJhK+SabyuNbJaDLSSvWtS5tznfHxs6mZT1sWm2i4fyseiuf2fcrm7q8r1KhLU5Rw/zR8L7uM/borlLn7DOnzDTBvu2mmrbVN/KuMFqAy/2AXTXo5WEm8Zw6b6PZ5izjmnNun+IAs3xrJ3snb3ek9rtzOitlrFs0+gcu+VFDf9D713U8mpz9B5w5dNfVfdx08S+qk018S6EW2/3BGfV7RQOujZe0gPs6iQvae9936L3uMqzMEvKnq3s7D9b3rfssj73/QOZLGQ/Q+9773/YrK+17L+zWfm8IPsvfEqO3bo4Te6r66z48zf+6h76V3mF7/xuOk9yb3j19707uK+C/LeP9+xP1737uP1og7Gg54eLPpekwdHiBT9kxjmWxx6Bm04xzG9n76Z1MY89FtK7gjjWix/25X1ln7QOhxhJ7TWrW5dE9E4GzQ2pc+a9q6qV7fxbioc/OUk3frmuq19udo1hx6tV92vo/klC5+eOS0fRPh9FtU5HMYEc0TZb3fNY2LDH/qceo5jmZveVbEr4sk5XAv21m2ZG8Kutap2k8yuul2Xv1a7h+53t8W2dDNh1LE2tATe/NU15sfUbgLvfnqsto+dEyBqOQ9b5i0Juhe1q8iMswgdjP3Qopm7slURz7DhllYzt7Sr27CJoIF+fdJDx5wJAMKl3XBiEir0ZjPX22GTn8onsu0MnSc5bygKG3SeslVbfS7b5brYksZDT3nOtKDbeHYOGzTBQNdPbOJIK5kL+9XtcIzPom7t2zsIOMJYy7WJZedaqjtkFfdHFvYHc96LWrtriEsufHvMbdLqNvG6snCFrZiOk761qt7uinpJdkyhl487gtyu2mYTNRP2Wr+O6GMVjoiCSTxWt2W93bfdLuqxum/d3Lx9KD6Xt2VZt/vYk7QIRm7D1p+8JBM20o8G/YJN9D8wkd7q1mtdxnrKUE/uR0zX70KF2I3pFFjdtuV2v97tmoMbamgG4ShwXPX1X6/kvra2Wa9vi+Wn+MFV+ODcEbYbVmIPmQl98twnL2/3sZsm1CZnbkVW5bJpi13TLpt6V/4W+xrDYclyLaRvMHrC0GuZCZ5vdVUu26dNrFHoa8+ZCG5Vrsv7ji0klkchBO2/B8udLst1GbenAyPu43sW/VfWh7gopttgVW6XbbWhC/juTq/ARcB90wPYkMmQKuWLXjnmSOMbTG4yQrq24Hana9J9yvGHFuK0wyvqN69MdLWqinW53G3a5nO1ih104cRz3O8ydwur6u4uXsaFBsBcvneN1LHbKgudhlowF6lVu3tKuVxDnwLTbb6qtruqjv1KXU6FYH/SG00fnma5wyB9x6FXSPRRb8KK/of+N3n/mz5+LVswB8xOYrGJ5nYhQqzFnQwODXXRC7+Wq02x/FTcl49FXdyX7bYLYIp3TOEAw8Tg50W4GClCYcNZ5GZap3ScqdkMHLrd6cCA3TAH7kObzWYXNxbucHLultE1dhpjHstdMdiUhmscyx2+XMOYZ4cDguXuSrr2biuyggtjR+yE7husjsNYnX7LIfp4WNEHWop+ylHM2MCTsKCPi3qFEalRYb9MleA35XGDOmyQOSkeG6QryDx0xSwO80N2w1y4+GarGDqG74+JB31D4FnDIAnuAHxqaxC/osL4FTtNuXobvdhMh/5tptvNNZVEQSHz5TdXPW6aluAzFYbjmcUE5eBuIAxK6pcQffCP6PcHSk4Qs27u74nK4Xefc7eyh7bW5ecyBmKLkOSoaa01ZBQJR0pmYJJr6rhbfSjXmzJe3YczHNdx5dpsVuV6W7aH2FrqbumSRJye+2bCcNO0n6vyV9e8GyhOMgjW6nLSnPpjMWGADkSMtB6GlCwmjEOboi0eO2abmKDCsAU7Zf1zbDg1qITxnJbJ+RIR7+F2forV9v3ZBZjHuoXGu5hgvGGLRdvGjlcVwn7LxCFRswT3y6AL9ZS3fmrvdl+tySZFhZjF3kwYVNP2Ga65LXePFjdJrCfUccpQvWuLelsMWHEUR9nvzPpzHUIfeWb/g5zw9j5X7W5frAHrVyE2stz9ddtsEgchQpDBbwyfhAgdKczhah+7M8P4Asn9ivabdbX0ThRHayKDDxs8bMqOuzTmyY+yBs6ecA3Rv/1c8cz00CAOfA/9CVbxVk6HBuNgrdDzmTHZ7KEhClFDX0zGDEI+NIU2bmHAsNU8SyljsqnDESdnq7RqiEMkGLU12xy4TvIwkizrIwF6XwFzJdt9aQPWEw6NfXtMaFrWn+MeCMxNM/e95S/7IloFypDj6j7iQDOpk2sudgjJMKCpj1zQzEFlcLbKRkEAvXu9P50nbP+b/hyi6F3wOfMwnJMYLzsDiS8Oe71D65JJIcrfluv9qhwYvgkNnzng/FZtY3+HyMPog+zwvIoJnMvfNm4fXrkVLDm6EFL4jDsi/rZpyy0N3pDhs2rFM04aAyHy0JGc9Zso5qKva+3nsogZfRYyEcU8OAUiQPLQyvvgIcU8UNS1RxUToZdBHiOVmC+ha7E5nNmjmobTKJM/+Obo8RMRbpzkcXE04eX6NqmCYdxeP9Yq5rnHu6qNfQ4inBdkH+ilct5o4JoDTx5OyFL2r5s5SHZHH6p7GvqoQueItVOb6iaWQWxLl1k5aJP5YuI22+Zx01aPRftEFJZRx/rGjgMxc/rpWochL+H+UDE3zF1j1baJ2wlX9swdbNfO/2yHMfyhS4e53+qa8hG4cVM6bIo5SLTN4/aX+PxXuLFSzF308QzUkH4FWpl+JjXMTouaHfg3Q4A9UU9idTo8oJEr3j6nb+u4zIvXTYEd90EwvaM7O0bF8KaGXlI3oT5U8dcoQ2ZnmIHI92W8WwkDpC1zTXNf7hLnOsNPmDkkho0R9BcOisyx8L7c+Z0xhS1R8Gi/hutHF8E1ITR2x0t55ltYN7fFmhzzbNqhXys8xWuZsU++8SNq6D70u/16/dStpau7qlw5998gjiU85JYx4zC8qEFTIdjKmMc+T03VzW4bW2m4ThNMZODbS0Sqh8xRct+ZW/20uwdycC48zKP7oHDNpEJBo03rdjvxgUGZhetc08eVc/ugbfabWzLehZsEzVsFPZDz4OEezDJN5aHYpmIuQu++ZMYiPxTbR3JwPqQXGfOTPjSDuaEOvezMAfuh2JITUOGCMWM6EnwrCa1CLxBzkH0otm3pfGEgOlaHLhwmHn3o0CsNKw4/BKYP4+Fp1aZD/nWUVuEwWPfHJAQzkOogYtOW66aIJtBwr3Y8OdLvxQVzLfDwtHko68ERxjAAgXnq+9gSOVgZztDMD7ZaV59iZ2d4oEb3HmjNTCbj+aZ3occLsTxciPG+kAMshUcywnCBbJJyKdd+eCbJ3vC+FhINETrCde/Q1czdj28k/EyCJ2S2cNcFz/SP57Y4BOXF83joa2caMZGxPQpxqwjKJePlTzh6MD22VX23BvBdhAGC2TEzFtN9WdV30dSpwoE3l7yBlx5cF+HclLEbqcv2f5rYjEQYRiRlf3isn9IVu+sObZ9eD10yBnu43n3ZnygTx7NqkvmxdgfkCSgMVxCaGV/btdPWxbqonRdgdbK1tqxXZTuYzFXor8qZ3PCsFDI1q9A3lDNjAJyQ7fCAqA4Hw5x5/LGqPxfrapU66B861zLmmeIKRCyJMGJJntzNzDFsu+qCO5oNXYvI8KS+ZqacilrrZoItaVOFbTLNdOtiSONVZbh9ZHrDq+3AjSHCRUjGpM2HdoYJccL3oJjb7UNjGNuLMBA8YyZLqLbl42ZH9gVhjDpzS1RtD/Ybd3zocGUeIK22dflr2wXhk7YiSMvVqov0qbYEemYhfZDMU0nVdtM2q/3gY5eh20gzY7k7laixh3SMO9FtQZ+H7g1muoBqG8USxONF2F4frymZh3moYzfcvpseAVqmrX4i0EaFB5ssM0jt09O27Bwgx1N30TYgjJbkjYi+vUT0RxYeplBMz/W6oJwh/Ir6NJ+Kecqmaw1hhvBr6mMeFPNA5Lq82w0XNSGykf280h/YUsyMMn3TdIOWRYsZZihd3xjY8IkwLlz2RxYVcyO5LrfbofcnOk9/WGZpdpf6FhOun3Ai7DPQamZc92ADGG4LdB94rZnAeV3RdI6h71n2DlVlmOZJ30uYYDDrE/sq5mGArjUy1Idn8tQN8/W6ZnxoZLwpDaNlmG6grjFyojGLsnEwF3NdO53nJt7ThmcjmTBr3cROn9BrmTGTIw0jhkV4XCqzfSZlZjTiurnvjtIPIodF6PTMmDnN1k3zKQ4ZEyYiMczRwzXj9lW3Twn3driyzJixe2vilghzKzFD9egWSYa83PSZYwzTgTpILyDDlaTuN4qaafCPReTlCLlF39QxzUo/88g+T7fq+Zhid8XTbVnv46SuMtwymn4sNswx6bHcbov7OHVnGKrTJzsX/Y5d9GfHRG/34nj4Pe9/049lYtF7LY+nKheHP2XMeHZ4hCgMYrTM8BBwFjoaDXpD6n0GzODPR5I0MVzZHtYDx07oJwzZZ/JUfZ4exfQiPlb1PsaF4YJJM49BPlbbLm1c4PlalXcub3a8pAvDcQRzD+j9ZVGmCxW62i33QwUzUojqmAigS+S1fGibeCxT4WbNMsfIx6aOg+az8KC0FrznosOqCsG5PWa47/NI5Ex00mGTzvOzJkESYehKPzb0h61EfzpXMSebuoxPvYYuMcnc2NTlr4kNRLhRZR6hrZsuHDCK35ThKTDNjMyqm9qvgxJEJpxSBZNr1E376L6ufV0tmzhDmQ5JbM5ch9RNvIkOY5A1M9Kpbnbd/IHTKIYPyTyX6aNyUkcrwrGQGQBDG0RnK8J1kmWGwDZ3d4Sui/DMtuxzgCnmVpgm1QpnEmZUU1OXNHl5eLRd9DM500V+yFcYNRg84JQ2ivV6kPZChqEkmjkZHNpLZkYIERPzAMqhybvu69oRDcPhmDmhHpqr94+3ZYsaDUPzDZOkHRrtAv6qXfW57M5gDDs0pH6Gee6VtgxeU7gz7zP7GeaeMsp5OTh7JcPjmIZ5OH7Y5PahcZEfcVRXuN00zLVh1PbgoEu4XDDMjWfcYrMizx+G9jFXDYMWE48fBrUxt+5R00uXtBRkKA2zgBkmUYpaPoWigxsgQhLOvIEg1fjwLofw02NiqkTjYKwNbZl5GCjReFuSpkPDY24j0k37X2GrCV2uhpmsO5KEQGd4z5BhJrWPGh3sUMOIIsOkBqTFbniOAxujKJYLOnkYUCwjlziTwYE2h59JlNaLeQtMqmFsCVFWHCadRhIGH2F4tMowuUOq4YTq4ajKzOoCJAzG/xDmGGYMQ6LdhOLhh8J0iAEBw7EpPOdumLlBUg0nVA9DzJjpE4AE3Hh43t0w4ySjxo/LGxcHXi3j1iNudcFHuumO67a7iiycbJR674Jv9NRuolvCT5SZEj4ScGx2bEYODzMY5pmus1IGo0J49MIwDxWdkzL8DsKT3YYZ03VOSphdgE7cYRJbw4R4XHldME4sLY8Smc15utHvJQymMdzdbSRm15I7JmR4VtIwU4n2bfZKw01mSCoN8xAzbfjMtiu84MQwA2SSIsD+K/TH9p42w4wHOciBp9Bk6G00zKAQ2iBY9IQBeoYZQ9Fs4ocO41U0e2hz2avilWLol9XH5IFMXAtTooWXqvT5X3Puer8lricRZjmQ8phOj/nEXXO3T6uqHYbRhYuVRX9sijmwxgnnYpd5GKbKTPa3Ke6repDXPjys0CfoV9NarJp6U9yXWxI1LkKXRcY07C41znpdrvsUF9uy7kZ0wtfDIDHm0ZS+4S5miYTphq31WQty5lqbpPLZdmEqwxy1IlxtS6ZPaFNsl8PbhMI0TznTv39siYTih7SN6f3u7praPbTN/j5GJiHEl+oY8tCfej5mqJwuZpj8PgQr4ni0ljdbdQmSyOsPXbx9psucuUvclO2yJFdShDHWOXMI2dy7zAqD/BchOmEeltis97HxhW6LHqsfrwbpxzp5ZEZM4uDEgIQBUYZEpnkem/oZmVa4yVbcz7JrcpA0IEwBIo9pgJmxk5v1nlykJ0K/fsY8xOabISYYxuQyJ8XNmgLj0EHMnAg3zfrpsWk3D/HaUoX+J8s8uLJptrv7ttymwhLD/EtMjyKMeQtn6j4TvGJuIg4N0gz64QpMymPiDLaSn8t655JQD0InQ9PlvpO2/Fw1+y4qdt/dA5k4mxwiWibUw4kKROgXzPqVrWWuoE9twhubwi/EMlOvnpqkw2GULKdXtB/J+rQiWR99kzM9krE8cjQ0zO7JDKw8tfeZJg7LwsNXsg8Ssdy1UVt9Jus3FS5eLNNXtWmbbrfQNjF4FuEWJ+uVy7kTq0/pHYeFhTthJj0dHDKIgh/7+KP+jmvRx+LIrI/q7o8+KmaMQDBeUVdjdNktrxtca50d0bzLWbgEVEy3ZdtdthgvLsJ9T/+oOXMb6pJ5PcEc9GHgcx/ZppjBuVGzyUz04bjNZML+BEXd7O6afex0C2MFBTMEYYBzQgcKM9ygLe/KtqyX3kEwcKCIkF5k/e00khkIMpztshDyKSbka8vH5rO7IbK8K/br3XbZbOil2+HL6DM5KmakD26//G1ZbnZNHbx/Yv/hozDvuvSiQjnx5jU8g9gfClTMWxaHbZ9/hPBeduZyvC27GjuaRjXcJDAP9/tDf3HETLiD6/dYlrnsTh1VDAP1rehvFGBuiBInE8OR1PYRMJaJ9w5n/entqaGzMmOi9e5kQtWS8PpwIFB9ShvNRBBtuW3aOH9ReJhKMl313SKyJQ680C/Yh+AaprsD3ZQTxaH3UUjHC66Yj0tHYh0uaXLmSsa1UtX33V3YFT02r8JwFMsdKfZ1cbcr265UtXtomvj66yxE1Yq5MNwWXejsv8pVcKsnDfPMQn+MZPpjjg3T1kS4fc6Y0eN9a8PpSIehlznTB0xvsM/CcA3FjIbtGln5u6J3TWIHEy6FmSsN1+wgM1e0sjgMLX20N3OI8UQk/opD/fpjfoZ5/m0wV4Xh3Fl//6NkJgPcLrvPGftvwy2ROPpweINEKse3DO9mNMwvMGwsmexahsGohjlTH1vzt3bF7YVGdFgNH3eETIPHUa7hYXrD/bCPTQ0vcBcyGn77pbs4OpyniqgnZMMKU5llU7v9kG6gbAd3yYTLU8tEnYnUJiL0Rmd95uqcGY1IY4BDn2fW72cscy7eJhPChWM98yTRNpkQLrx1UzGvY9uWu9umWZfk2Ga4mtTMsI9tueshS/dVbYouYwoJMQxHwP6F9OsFdl+iWLQwTl4z3RbbcgeQdZimQjOjjLbVY7Uu2mpHMnaGYctMSL2tHjfrkka3Dy/RCJN4M5NJbeviU+m+6fibC32zzLwch6biFAkhR8mZvrltc7cbXrcX0v2MuUulq2YdZt7JmRCia4ROXuGp8Izb1U27I4nlwm89ZyKCrplDcBn1supwBM6ZmUrC9ga+RB3uqXJmLoPtpvg1XmzfhF4QZrLV7aZcVsV6sMoW0RW6zJOKJGtrFFN6GGz6s4WivytI9j8oZpBKdwVRl5Cm+lfJSh4ZPgfzHOJ2V7Q7mnU/PLPE3OZ3afIIjglPBFmm63C7i46MhNgkY+KXbrRduuG7vSvIBU7hRsUy8wP49n5t2lVqAA4PenC3K2BKCKNWuMuqpzoOrwr38IfFSO8SF30yb8Mdpp7q5eHmy/jbCxcABxn9mVLm/eXbp+2ujO/VCBr1lTJmqOnQSaWjW5cPSwDJfOpd8anzEkYfd5Rm5rCi6KNimMuArlnqXorOax6a7ccM5veya2Cm7dDJpJlTW9dU7F4PAx4VM53Arhlk6w4fkxlE4loZJOsOo6c08wjNrgFZv8OZXzOHla4hAgdCd75mLvl3jU9bExlC6GPuMWB/b8gxn0uf9FAx13i7Zt10Kc2GQ00WbhI18+TQrnls2pZcNGsjzbkN0YznYWoizTwbtmvQc4VDKNO3mjj+G6GlwyuwfdaA7OgJ4croTvs//txFZA/ut1ahJ8gyQwJ2v8WmGB4zlqpPKiR6qMjE4gM/RZT7tXe+2uNV8H3kXc5cJLjAz6YFZ0NVuHaxTHedA5Z38dAfeiuYSekH/Dy0IlYL+3rZhbUOw95CKJEzQ2T2NUSdYaRan8JBMRMFH5tMYs4wlITpwD0cJO8Plg8aFaHKGZP17uvql7gHwy0oM8BzX49Gt4S3RzBTVOzrlAsjnJKYh0tcY9C9EOVrmaAZWk2Gsy5zMbH//yq7gtwGYSD4F849JMYkbr9S5RCpRLGEAFkglEP+XmFimLVxOn0AA0a2157dnWm9YOePkMtAzoNcl2MfR9xKtFYvj32GCKfDLrUq0ZAOt8t7vDHjNq/3+2k0Rqoz2Y294edAMVFBdmO/QDMLUVg1/w9xn67DomNNqncsgBmrIfyRJUlUjIOV4inYsEEheLHFaFKh+pkiG1sDTqq2KCQ8uTNIAEvcTJCEIevxApb4TagJochUZwBKrkWCTOci4wvLdm3i2YZHyCO5nja4lGlEQwR+pGMU/xWqT1Vk3/6ugrfGa4shry15hW6NZ1xDf5hXBhUzAq+2ZPXPdHWSPMOaW0PGmeleOzmdDqKsca2U53YEDxeVcKiDYO5DVpBM0HjESJRGIadSrpavZGGTR1ztH26dS3K4GrcgQ6ZF92HTGYOL35Bs3mSbZs42/5HDxtQzeYScNQK7ccgWZ2kM8WfSB+kdqYYJEvLwODkrR1ricjkFp6ETOeRHfZXakchGVmTq6zErYbmEWcG6Dqas8PJR9LavG9vWxdf35fn8BUTOaS3NUQMA";