@effect-aws/client-rds 1.2.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/Errors/package.json +6 -0
  2. package/LICENSE +1 -1
  3. package/RDSClientInstance/package.json +6 -0
  4. package/RDSService/package.json +6 -0
  5. package/RDSServiceConfig/package.json +6 -0
  6. package/{lib → dist/cjs}/Errors.d.ts +7 -12
  7. package/dist/cjs/Errors.d.ts.map +1 -0
  8. package/dist/cjs/Errors.js +153 -0
  9. package/dist/cjs/Errors.js.map +1 -0
  10. package/dist/cjs/RDSClientInstance.d.ts +24 -0
  11. package/dist/cjs/RDSClientInstance.d.ts.map +1 -0
  12. package/dist/cjs/RDSClientInstance.js +50 -0
  13. package/dist/cjs/RDSClientInstance.js.map +1 -0
  14. package/{lib → dist/cjs}/RDSService.d.ts +16 -38
  15. package/dist/cjs/RDSService.d.ts.map +1 -0
  16. package/dist/cjs/RDSService.js +218 -0
  17. package/dist/cjs/RDSService.js.map +1 -0
  18. package/dist/cjs/RDSServiceConfig.d.ts +25 -0
  19. package/dist/cjs/RDSServiceConfig.d.ts.map +1 -0
  20. package/dist/cjs/RDSServiceConfig.js +35 -0
  21. package/dist/cjs/RDSServiceConfig.js.map +1 -0
  22. package/dist/cjs/index.d.ts +39 -0
  23. package/dist/cjs/index.d.ts.map +1 -0
  24. package/dist/cjs/index.js +56 -0
  25. package/dist/cjs/index.js.map +1 -0
  26. package/dist/dts/Errors.d.ts +152 -0
  27. package/dist/dts/Errors.d.ts.map +1 -0
  28. package/dist/dts/RDSClientInstance.d.ts +24 -0
  29. package/dist/dts/RDSClientInstance.d.ts.map +1 -0
  30. package/dist/dts/RDSService.d.ts +853 -0
  31. package/dist/dts/RDSService.d.ts.map +1 -0
  32. package/dist/dts/RDSServiceConfig.d.ts +25 -0
  33. package/dist/dts/RDSServiceConfig.d.ts.map +1 -0
  34. package/dist/dts/index.d.ts +39 -0
  35. package/dist/dts/index.d.ts.map +1 -0
  36. package/dist/esm/Errors.js +150 -0
  37. package/dist/esm/Errors.js.map +1 -0
  38. package/dist/esm/RDSClientInstance.js +23 -0
  39. package/dist/esm/RDSClientInstance.js.map +1 -0
  40. package/dist/esm/RDSService.js +191 -0
  41. package/dist/esm/RDSService.js.map +1 -0
  42. package/dist/esm/RDSServiceConfig.js +31 -0
  43. package/dist/esm/RDSServiceConfig.js.map +1 -0
  44. package/dist/esm/index.js +27 -0
  45. package/dist/esm/index.js.map +1 -0
  46. package/dist/esm/package.json +4 -0
  47. package/package.json +60 -43
  48. package/src/Errors.ts +452 -0
  49. package/src/RDSClientInstance.ts +33 -0
  50. package/src/RDSService.ts +3127 -0
  51. package/src/RDSServiceConfig.ts +51 -0
  52. package/src/index.ts +44 -0
  53. package/CHANGELOG.md +0 -35
  54. package/docgen.json +0 -8
  55. package/lib/Errors.js +0 -153
  56. package/lib/RDSClientInstance.d.ts +0 -31
  57. package/lib/RDSClientInstance.js +0 -57
  58. package/lib/RDSClientInstanceConfig.d.ts +0 -23
  59. package/lib/RDSClientInstanceConfig.js +0 -44
  60. package/lib/RDSService.js +0 -250
  61. package/lib/esm/Errors.js +0 -150
  62. package/lib/esm/RDSClientInstance.js +0 -30
  63. package/lib/esm/RDSClientInstanceConfig.js +0 -40
  64. package/lib/esm/RDSService.js +0 -246
  65. package/lib/esm/index.js +0 -5
  66. package/lib/index.d.ts +0 -4
  67. package/lib/index.js +0 -21
  68. package/project.json +0 -77
  69. package/vitest.config.ts +0 -3
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { RDSClientConfig } from "@aws-sdk/client-rds";
5
+ import { ServiceLogger } from "@effect-aws/commons";
6
+ import { Effect, FiberRef, Layer } from "effect";
7
+ import { dual } from "effect/Function";
8
+ import { globalValue } from "effect/GlobalValue";
9
+ import type { RDSService } from "./RDSService.js";
10
+
11
+ /**
12
+ * @since 1.0.0
13
+ * @category rds service config
14
+ */
15
+ const currentRDSServiceConfig = globalValue(
16
+ "@effect-aws/client-rds/currentRDSServiceConfig",
17
+ () => FiberRef.unsafeMake<RDSService.Config>({}),
18
+ );
19
+
20
+ /**
21
+ * @since 1.0.0
22
+ * @category rds service config
23
+ */
24
+ export const withRDSServiceConfig: {
25
+ (config: RDSService.Config): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
26
+ <A, E, R>(effect: Effect.Effect<A, E, R>, config: RDSService.Config): Effect.Effect<A, E, R>;
27
+ } = dual(
28
+ 2,
29
+ <A, E, R>(effect: Effect.Effect<A, E, R>, config: RDSService.Config): Effect.Effect<A, E, R> =>
30
+ Effect.locally(effect, currentRDSServiceConfig, config),
31
+ );
32
+
33
+ /**
34
+ * @since 1.0.0
35
+ * @category rds service config
36
+ */
37
+ export const setRDSServiceConfig = (config: RDSService.Config) => Layer.locallyScoped(currentRDSServiceConfig, config);
38
+
39
+ /**
40
+ * @since 1.0.0
41
+ * @category adapters
42
+ */
43
+ export const toRDSClientConfig: Effect.Effect<RDSClientConfig> = Effect.gen(function*() {
44
+ const { logger: serviceLogger, ...config } = yield* FiberRef.get(currentRDSServiceConfig);
45
+
46
+ const logger = serviceLogger === true
47
+ ? yield* ServiceLogger.toClientLogger(ServiceLogger.defaultServiceLogger)
48
+ : (serviceLogger ? yield* ServiceLogger.toClientLogger(ServiceLogger.make(serviceLogger)) : undefined);
49
+
50
+ return { logger, ...config };
51
+ });
package/src/index.ts ADDED
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { RDSService } from "./RDSService.js";
5
+
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ export * from "./Errors.js";
10
+
11
+ /**
12
+ * @since 1.0.0
13
+ */
14
+ export * as RDSClientInstance from "./RDSClientInstance.js";
15
+
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export * as RDSServiceConfig from "./RDSServiceConfig.js";
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+ export * from "./RDSService.js";
25
+
26
+ /**
27
+ * @since 1.0.0
28
+ * @category exports
29
+ * @alias RDSService
30
+ */
31
+ export declare namespace RDS {
32
+ /**
33
+ * @since 1.0.0
34
+ * @alias RDSService.Config
35
+ */
36
+ export type Config = RDSService.Config;
37
+ }
38
+
39
+ /**
40
+ * @since 1.0.0
41
+ * @category exports
42
+ * @alias RDSService
43
+ */
44
+ export const RDS = RDSService;
package/CHANGELOG.md DELETED
@@ -1,35 +0,0 @@
1
- # @effect-aws/client-rds
2
-
3
- ## 1.2.0
4
-
5
- ### Minor Changes
6
-
7
- - [`b24f980`](https://github.com/floydspace/effect-aws/commit/b24f98045ee3383c54d1152054e5b77f01d5f5e3) Thanks [@floydspace](https://github.com/floydspace)! - update services
8
-
9
- ## 1.1.0
10
-
11
- ### Minor Changes
12
-
13
- - [#80](https://github.com/floydspace/effect-aws/pull/80) [`4b16fbe`](https://github.com/floydspace/effect-aws/commit/4b16fbebce8131df7798ee92f43cf6b7df3e907c) Thanks [@floydspace](https://github.com/floydspace)! - simplify layers configuration (closes #78)
14
-
15
- ## 1.0.1
16
-
17
- ### Patch Changes
18
-
19
- - [#75](https://github.com/floydspace/effect-aws/pull/75) [`9dc170d`](https://github.com/floydspace/effect-aws/commit/9dc170d975c04888bbc7ca7b241b4b5265668fb5) Thanks [@godu](https://github.com/godu)! - export the HttpHandlerOptions type
20
-
21
- ## 1.0.0
22
-
23
- ### Major Changes
24
-
25
- - [#69](https://github.com/floydspace/effect-aws/pull/69) [`0cf6af5`](https://github.com/floydspace/effect-aws/commit/0cf6af591e45f0d8838b26493525db5ef389a90f) Thanks [@godu](https://github.com/godu)! - implement effectful account client
26
- implement effectful cloudtrail client
27
- implement effectful cloudwatch client
28
- implement effectful cloudwatch-events client
29
- implement effectful cloudwatch-logs client
30
- implement effectful cognito-identity-provider client
31
- implement effectful kms client
32
- implement effectful mq client
33
- implement effectful cloudsearch client
34
- implement effectful rds client
35
- implement effectful sts client
package/docgen.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/@effect/docgen/schema.json",
3
- "exclude": [
4
- "src/index.ts",
5
- "src/Errors.ts"
6
- ],
7
- "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
8
- }
package/lib/Errors.js DELETED
@@ -1,153 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdkError = exports.AllServiceErrors = void 0;
4
- const effect_1 = require("effect");
5
- exports.AllServiceErrors = [
6
- "AuthorizationAlreadyExistsFault",
7
- "AuthorizationNotFoundFault",
8
- "AuthorizationQuotaExceededFault",
9
- "BackupPolicyNotFoundFault",
10
- "BlueGreenDeploymentAlreadyExistsFault",
11
- "BlueGreenDeploymentNotFoundFault",
12
- "CertificateNotFoundFault",
13
- "CreateCustomDBEngineVersionFault",
14
- "CustomAvailabilityZoneNotFoundFault",
15
- "CustomDBEngineVersionAlreadyExistsFault",
16
- "CustomDBEngineVersionNotFoundFault",
17
- "CustomDBEngineVersionQuotaExceededFault",
18
- "DBClusterAlreadyExistsFault",
19
- "DBClusterAutomatedBackupNotFoundFault",
20
- "DBClusterAutomatedBackupQuotaExceededFault",
21
- "DBClusterBacktrackNotFoundFault",
22
- "DBClusterEndpointAlreadyExistsFault",
23
- "DBClusterEndpointNotFoundFault",
24
- "DBClusterEndpointQuotaExceededFault",
25
- "DBClusterNotFoundFault",
26
- "DBClusterParameterGroupNotFoundFault",
27
- "DBClusterQuotaExceededFault",
28
- "DBClusterRoleAlreadyExistsFault",
29
- "DBClusterRoleNotFoundFault",
30
- "DBClusterRoleQuotaExceededFault",
31
- "DBClusterSnapshotAlreadyExistsFault",
32
- "DBClusterSnapshotNotFoundFault",
33
- "DBInstanceAlreadyExistsFault",
34
- "DBInstanceAutomatedBackupNotFoundFault",
35
- "DBInstanceAutomatedBackupQuotaExceededFault",
36
- "DBInstanceNotFoundFault",
37
- "DBInstanceNotReadyFault",
38
- "DBInstanceRoleAlreadyExistsFault",
39
- "DBInstanceRoleNotFoundFault",
40
- "DBInstanceRoleQuotaExceededFault",
41
- "DBLogFileNotFoundFault",
42
- "DBParameterGroupAlreadyExistsFault",
43
- "DBParameterGroupNotFoundFault",
44
- "DBParameterGroupQuotaExceededFault",
45
- "DBProxyAlreadyExistsFault",
46
- "DBProxyEndpointAlreadyExistsFault",
47
- "DBProxyEndpointNotFoundFault",
48
- "DBProxyEndpointQuotaExceededFault",
49
- "DBProxyNotFoundFault",
50
- "DBProxyQuotaExceededFault",
51
- "DBProxyTargetAlreadyRegisteredFault",
52
- "DBProxyTargetGroupNotFoundFault",
53
- "DBProxyTargetNotFoundFault",
54
- "DBSecurityGroupAlreadyExistsFault",
55
- "DBSecurityGroupNotFoundFault",
56
- "DBSecurityGroupNotSupportedFault",
57
- "DBSecurityGroupQuotaExceededFault",
58
- "DBShardGroupAlreadyExistsFault",
59
- "DBShardGroupNotFoundFault",
60
- "DBSnapshotAlreadyExistsFault",
61
- "DBSnapshotNotFoundFault",
62
- "DBSnapshotTenantDatabaseNotFoundFault",
63
- "DBSubnetGroupAlreadyExistsFault",
64
- "DBSubnetGroupDoesNotCoverEnoughAZs",
65
- "DBSubnetGroupNotAllowedFault",
66
- "DBSubnetGroupNotFoundFault",
67
- "DBSubnetGroupQuotaExceededFault",
68
- "DBSubnetQuotaExceededFault",
69
- "DBUpgradeDependencyFailureFault",
70
- "DomainNotFoundFault",
71
- "Ec2ImagePropertiesNotSupportedFault",
72
- "EventSubscriptionQuotaExceededFault",
73
- "ExportTaskAlreadyExistsFault",
74
- "ExportTaskNotFoundFault",
75
- "GlobalClusterAlreadyExistsFault",
76
- "GlobalClusterNotFoundFault",
77
- "GlobalClusterQuotaExceededFault",
78
- "IamRoleMissingPermissionsFault",
79
- "IamRoleNotFoundFault",
80
- "InstanceQuotaExceededFault",
81
- "InsufficientAvailableIPsInSubnetFault",
82
- "InsufficientDBClusterCapacityFault",
83
- "InsufficientDBInstanceCapacityFault",
84
- "InsufficientStorageClusterCapacityFault",
85
- "IntegrationAlreadyExistsFault",
86
- "IntegrationConflictOperationFault",
87
- "IntegrationNotFoundFault",
88
- "IntegrationQuotaExceededFault",
89
- "InvalidBlueGreenDeploymentStateFault",
90
- "InvalidCustomDBEngineVersionStateFault",
91
- "InvalidDBClusterAutomatedBackupStateFault",
92
- "InvalidDBClusterCapacityFault",
93
- "InvalidDBClusterEndpointStateFault",
94
- "InvalidDBClusterSnapshotStateFault",
95
- "InvalidDBClusterStateFault",
96
- "InvalidDBInstanceAutomatedBackupStateFault",
97
- "InvalidDBInstanceStateFault",
98
- "InvalidDBParameterGroupStateFault",
99
- "InvalidDBProxyEndpointStateFault",
100
- "InvalidDBProxyStateFault",
101
- "InvalidDBSecurityGroupStateFault",
102
- "InvalidDBShardGroupStateFault",
103
- "InvalidDBSnapshotStateFault",
104
- "InvalidDBSubnetGroupFault",
105
- "InvalidDBSubnetGroupStateFault",
106
- "InvalidDBSubnetStateFault",
107
- "InvalidEventSubscriptionStateFault",
108
- "InvalidExportOnlyFault",
109
- "InvalidExportSourceStateFault",
110
- "InvalidExportTaskStateFault",
111
- "InvalidGlobalClusterStateFault",
112
- "InvalidIntegrationStateFault",
113
- "InvalidOptionGroupStateFault",
114
- "InvalidResourceStateFault",
115
- "InvalidRestoreFault",
116
- "InvalidS3BucketFault",
117
- "InvalidSubnet",
118
- "InvalidVPCNetworkStateFault",
119
- "KMSKeyNotAccessibleFault",
120
- "MaxDBShardGroupLimitReached",
121
- "NetworkTypeNotSupported",
122
- "OptionGroupAlreadyExistsFault",
123
- "OptionGroupNotFoundFault",
124
- "OptionGroupQuotaExceededFault",
125
- "PointInTimeRestoreNotEnabledFault",
126
- "ProvisionedIopsNotAvailableInAZFault",
127
- "ReservedDBInstanceAlreadyExistsFault",
128
- "ReservedDBInstanceNotFoundFault",
129
- "ReservedDBInstanceQuotaExceededFault",
130
- "ReservedDBInstancesOfferingNotFoundFault",
131
- "ResourceNotFoundFault",
132
- "SNSInvalidTopicFault",
133
- "SNSNoAuthorizationFault",
134
- "SNSTopicArnNotFoundFault",
135
- "SharedSnapshotQuotaExceededFault",
136
- "SnapshotQuotaExceededFault",
137
- "SourceClusterNotSupportedFault",
138
- "SourceDatabaseNotSupportedFault",
139
- "SourceNotFoundFault",
140
- "StorageQuotaExceededFault",
141
- "StorageTypeNotAvailableFault",
142
- "StorageTypeNotSupportedFault",
143
- "SubnetAlreadyInUse",
144
- "SubscriptionAlreadyExistFault",
145
- "SubscriptionCategoryNotFoundFault",
146
- "SubscriptionNotFoundFault",
147
- "TenantDatabaseAlreadyExistsFault",
148
- "TenantDatabaseNotFoundFault",
149
- "TenantDatabaseQuotaExceededFault",
150
- "UnsupportedDBEngineVersionFault",
151
- ];
152
- exports.SdkError = effect_1.Data.tagged("SdkError");
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtSkEsbUNBQThCO0FBRWpCLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsaUNBQWlDO0lBQ2pDLDRCQUE0QjtJQUM1QixpQ0FBaUM7SUFDakMsMkJBQTJCO0lBQzNCLHVDQUF1QztJQUN2QyxrQ0FBa0M7SUFDbEMsMEJBQTBCO0lBQzFCLGtDQUFrQztJQUNsQyxxQ0FBcUM7SUFDckMseUNBQXlDO0lBQ3pDLG9DQUFvQztJQUNwQyx5Q0FBeUM7SUFDekMsNkJBQTZCO0lBQzdCLHVDQUF1QztJQUN2Qyw0Q0FBNEM7SUFDNUMsaUNBQWlDO0lBQ2pDLHFDQUFxQztJQUNyQyxnQ0FBZ0M7SUFDaEMscUNBQXFDO0lBQ3JDLHdCQUF3QjtJQUN4QixzQ0FBc0M7SUFDdEMsNkJBQTZCO0lBQzdCLGlDQUFpQztJQUNqQyw0QkFBNEI7SUFDNUIsaUNBQWlDO0lBQ2pDLHFDQUFxQztJQUNyQyxnQ0FBZ0M7SUFDaEMsOEJBQThCO0lBQzlCLHdDQUF3QztJQUN4Qyw2Q0FBNkM7SUFDN0MseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixrQ0FBa0M7SUFDbEMsNkJBQTZCO0lBQzdCLGtDQUFrQztJQUNsQyx3QkFBd0I7SUFDeEIsb0NBQW9DO0lBQ3BDLCtCQUErQjtJQUMvQixvQ0FBb0M7SUFDcEMsMkJBQTJCO0lBQzNCLG1DQUFtQztJQUNuQyw4QkFBOEI7SUFDOUIsbUNBQW1DO0lBQ25DLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IscUNBQXFDO0lBQ3JDLGlDQUFpQztJQUNqQyw0QkFBNEI7SUFDNUIsbUNBQW1DO0lBQ25DLDhCQUE4QjtJQUM5QixrQ0FBa0M7SUFDbEMsbUNBQW1DO0lBQ25DLGdDQUFnQztJQUNoQywyQkFBMkI7SUFDM0IsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6Qix1Q0FBdUM7SUFDdkMsaUNBQWlDO0lBQ2pDLG9DQUFvQztJQUNwQyw4QkFBOEI7SUFDOUIsNEJBQTRCO0lBQzVCLGlDQUFpQztJQUNqQyw0QkFBNEI7SUFDNUIsaUNBQWlDO0lBQ2pDLHFCQUFxQjtJQUNyQixxQ0FBcUM7SUFDckMscUNBQXFDO0lBQ3JDLDhCQUE4QjtJQUM5Qix5QkFBeUI7SUFDekIsaUNBQWlDO0lBQ2pDLDRCQUE0QjtJQUM1QixpQ0FBaUM7SUFDakMsZ0NBQWdDO0lBQ2hDLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsdUNBQXVDO0lBQ3ZDLG9DQUFvQztJQUNwQyxxQ0FBcUM7SUFDckMseUNBQXlDO0lBQ3pDLCtCQUErQjtJQUMvQixtQ0FBbUM7SUFDbkMsMEJBQTBCO0lBQzFCLCtCQUErQjtJQUMvQixzQ0FBc0M7SUFDdEMsd0NBQXdDO0lBQ3hDLDJDQUEyQztJQUMzQywrQkFBK0I7SUFDL0Isb0NBQW9DO0lBQ3BDLG9DQUFvQztJQUNwQyw0QkFBNEI7SUFDNUIsNENBQTRDO0lBQzVDLDZCQUE2QjtJQUM3QixtQ0FBbUM7SUFDbkMsa0NBQWtDO0lBQ2xDLDBCQUEwQjtJQUMxQixrQ0FBa0M7SUFDbEMsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QiwyQkFBMkI7SUFDM0IsZ0NBQWdDO0lBQ2hDLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsd0JBQXdCO0lBQ3hCLCtCQUErQjtJQUMvQiw2QkFBNkI7SUFDN0IsZ0NBQWdDO0lBQ2hDLDhCQUE4QjtJQUM5Qiw4QkFBOEI7SUFDOUIsMkJBQTJCO0lBQzNCLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIsNkJBQTZCO0lBQzdCLHlCQUF5QjtJQUN6QiwrQkFBK0I7SUFDL0IsMEJBQTBCO0lBQzFCLCtCQUErQjtJQUMvQixtQ0FBbUM7SUFDbkMsc0NBQXNDO0lBQ3RDLHNDQUFzQztJQUN0QyxpQ0FBaUM7SUFDakMsc0NBQXNDO0lBQ3RDLDBDQUEwQztJQUMxQyx1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsa0NBQWtDO0lBQ2xDLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMsaUNBQWlDO0lBQ2pDLHFCQUFxQjtJQUNyQiwyQkFBMkI7SUFDM0IsOEJBQThCO0lBQzlCLDhCQUE4QjtJQUM5QixvQkFBb0I7SUFDcEIsK0JBQStCO0lBQy9CLG1DQUFtQztJQUNuQywyQkFBMkI7SUFDM0Isa0NBQWtDO0lBQ2xDLDZCQUE2QjtJQUM3QixrQ0FBa0M7SUFDbEMsaUNBQWlDO0NBQ2xDLENBQUM7QUFnU1csUUFBQSxRQUFRLEdBQUcsYUFBSSxDQUFDLE1BQU0sQ0FBVyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQXV0aG9yaXphdGlvbkFscmVhZHlFeGlzdHNGYXVsdCxcbiAgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHQsXG4gIEF1dGhvcml6YXRpb25RdW90YUV4Y2VlZGVkRmF1bHQsXG4gIEJhY2t1cFBvbGljeU5vdEZvdW5kRmF1bHQsXG4gIEJsdWVHcmVlbkRlcGxveW1lbnRBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIEJsdWVHcmVlbkRlcGxveW1lbnROb3RGb3VuZEZhdWx0LFxuICBDZXJ0aWZpY2F0ZU5vdEZvdW5kRmF1bHQsXG4gIENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkZhdWx0LFxuICBDdXN0b21BdmFpbGFiaWxpdHlab25lTm90Rm91bmRGYXVsdCxcbiAgQ3VzdG9tREJFbmdpbmVWZXJzaW9uQWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBDdXN0b21EQkVuZ2luZVZlcnNpb25Ob3RGb3VuZEZhdWx0LFxuICBDdXN0b21EQkVuZ2luZVZlcnNpb25RdW90YUV4Y2VlZGVkRmF1bHQsXG4gIERCQ2x1c3RlckFscmVhZHlFeGlzdHNGYXVsdCxcbiAgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdCxcbiAgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0LFxuICBEQkNsdXN0ZXJCYWNrdHJhY2tOb3RGb3VuZEZhdWx0LFxuICBEQkNsdXN0ZXJFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdCxcbiAgREJDbHVzdGVyRW5kcG9pbnROb3RGb3VuZEZhdWx0LFxuICBEQkNsdXN0ZXJFbmRwb2ludFF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgREJDbHVzdGVyTm90Rm91bmRGYXVsdCxcbiAgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0LFxuICBEQkNsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIERCQ2x1c3RlclJvbGVBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIERCQ2x1c3RlclJvbGVOb3RGb3VuZEZhdWx0LFxuICBEQkNsdXN0ZXJSb2xlUXVvdGFFeGNlZWRlZEZhdWx0LFxuICBEQkNsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdCxcbiAgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0LFxuICBEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdCxcbiAgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cFF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHQsXG4gIERCSW5zdGFuY2VOb3RSZWFkeUZhdWx0LFxuICBEQkluc3RhbmNlUm9sZUFscmVhZHlFeGlzdHNGYXVsdCxcbiAgREJJbnN0YW5jZVJvbGVOb3RGb3VuZEZhdWx0LFxuICBEQkluc3RhbmNlUm9sZVF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgREJMb2dGaWxlTm90Rm91bmRGYXVsdCxcbiAgREJQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdCxcbiAgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHQsXG4gIERCUGFyYW1ldGVyR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIERCUHJveHlBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIERCUHJveHlFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdCxcbiAgREJQcm94eUVuZHBvaW50Tm90Rm91bmRGYXVsdCxcbiAgREJQcm94eUVuZHBvaW50UXVvdGFFeGNlZWRlZEZhdWx0LFxuICBEQlByb3h5Tm90Rm91bmRGYXVsdCxcbiAgREJQcm94eVF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgREJQcm94eVRhcmdldEFscmVhZHlSZWdpc3RlcmVkRmF1bHQsXG4gIERCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHQsXG4gIERCUHJveHlUYXJnZXROb3RGb3VuZEZhdWx0LFxuICBEQlNlY3VyaXR5R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIERCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHQsXG4gIERCU2VjdXJpdHlHcm91cE5vdFN1cHBvcnRlZEZhdWx0LFxuICBEQlNlY3VyaXR5R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIERCU2hhcmRHcm91cEFscmVhZHlFeGlzdHNGYXVsdCxcbiAgREJTaGFyZEdyb3VwTm90Rm91bmRGYXVsdCxcbiAgREJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdCxcbiAgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHQsXG4gIERCU25hcHNob3RUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHQsXG4gIERCU3VibmV0R3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIERCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnMsXG4gIERCU3VibmV0R3JvdXBOb3RBbGxvd2VkRmF1bHQsXG4gIERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0LFxuICBEQlN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0LFxuICBEQlN1Ym5ldFF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgREJVcGdyYWRlRGVwZW5kZW5jeUZhaWx1cmVGYXVsdCxcbiAgRG9tYWluTm90Rm91bmRGYXVsdCxcbiAgRWMySW1hZ2VQcm9wZXJ0aWVzTm90U3VwcG9ydGVkRmF1bHQsXG4gIEV2ZW50U3Vic2NyaXB0aW9uUXVvdGFFeGNlZWRlZEZhdWx0LFxuICBFeHBvcnRUYXNrQWxyZWFkeUV4aXN0c0ZhdWx0LFxuICBFeHBvcnRUYXNrTm90Rm91bmRGYXVsdCxcbiAgR2xvYmFsQ2x1c3RlckFscmVhZHlFeGlzdHNGYXVsdCxcbiAgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHQsXG4gIEdsb2JhbENsdXN0ZXJRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIElhbVJvbGVNaXNzaW5nUGVybWlzc2lvbnNGYXVsdCxcbiAgSWFtUm9sZU5vdEZvdW5kRmF1bHQsXG4gIEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0LFxuICBJbnN1ZmZpY2llbnRBdmFpbGFibGVJUHNJblN1Ym5ldEZhdWx0LFxuICBJbnN1ZmZpY2llbnREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0LFxuICBJbnN1ZmZpY2llbnREQkluc3RhbmNlQ2FwYWNpdHlGYXVsdCxcbiAgSW5zdWZmaWNpZW50U3RvcmFnZUNsdXN0ZXJDYXBhY2l0eUZhdWx0LFxuICBJbnRlZ3JhdGlvbkFscmVhZHlFeGlzdHNGYXVsdCxcbiAgSW50ZWdyYXRpb25Db25mbGljdE9wZXJhdGlvbkZhdWx0LFxuICBJbnRlZ3JhdGlvbk5vdEZvdW5kRmF1bHQsXG4gIEludGVncmF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0LFxuICBJbnZhbGlkQmx1ZUdyZWVuRGVwbG95bWVudFN0YXRlRmF1bHQsXG4gIEludmFsaWRDdXN0b21EQkVuZ2luZVZlcnNpb25TdGF0ZUZhdWx0LFxuICBJbnZhbGlkREJDbHVzdGVyQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdCxcbiAgSW52YWxpZERCQ2x1c3RlckNhcGFjaXR5RmF1bHQsXG4gIEludmFsaWREQkNsdXN0ZXJFbmRwb2ludFN0YXRlRmF1bHQsXG4gIEludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHQsXG4gIEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0LFxuICBJbnZhbGlkREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cFN0YXRlRmF1bHQsXG4gIEludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdCxcbiAgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0LFxuICBJbnZhbGlkREJQcm94eUVuZHBvaW50U3RhdGVGYXVsdCxcbiAgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0LFxuICBJbnZhbGlkREJTZWN1cml0eUdyb3VwU3RhdGVGYXVsdCxcbiAgSW52YWxpZERCU2hhcmRHcm91cFN0YXRlRmF1bHQsXG4gIEludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdCxcbiAgSW52YWxpZERCU3VibmV0R3JvdXBGYXVsdCxcbiAgSW52YWxpZERCU3VibmV0R3JvdXBTdGF0ZUZhdWx0LFxuICBJbnZhbGlkREJTdWJuZXRTdGF0ZUZhdWx0LFxuICBJbnZhbGlkRXZlbnRTdWJzY3JpcHRpb25TdGF0ZUZhdWx0LFxuICBJbnZhbGlkRXhwb3J0T25seUZhdWx0LFxuICBJbnZhbGlkRXhwb3J0U291cmNlU3RhdGVGYXVsdCxcbiAgSW52YWxpZEV4cG9ydFRhc2tTdGF0ZUZhdWx0LFxuICBJbnZhbGlkR2xvYmFsQ2x1c3RlclN0YXRlRmF1bHQsXG4gIEludmFsaWRJbnRlZ3JhdGlvblN0YXRlRmF1bHQsXG4gIEludmFsaWRPcHRpb25Hcm91cFN0YXRlRmF1bHQsXG4gIEludmFsaWRSZXNvdXJjZVN0YXRlRmF1bHQsXG4gIEludmFsaWRSZXN0b3JlRmF1bHQsXG4gIEludmFsaWRTM0J1Y2tldEZhdWx0LFxuICBJbnZhbGlkU3VibmV0LFxuICBJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHQsXG4gIEtNU0tleU5vdEFjY2Vzc2libGVGYXVsdCxcbiAgTWF4REJTaGFyZEdyb3VwTGltaXRSZWFjaGVkLFxuICBOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZCxcbiAgT3B0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIE9wdGlvbkdyb3VwTm90Rm91bmRGYXVsdCxcbiAgT3B0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIFBvaW50SW5UaW1lUmVzdG9yZU5vdEVuYWJsZWRGYXVsdCxcbiAgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0LFxuICBSZXNlcnZlZERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIFJlc2VydmVkREJJbnN0YW5jZU5vdEZvdW5kRmF1bHQsXG4gIFJlc2VydmVkREJJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdCxcbiAgUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nTm90Rm91bmRGYXVsdCxcbiAgUmVzb3VyY2VOb3RGb3VuZEZhdWx0LFxuICBTTlNJbnZhbGlkVG9waWNGYXVsdCxcbiAgU05TTm9BdXRob3JpemF0aW9uRmF1bHQsXG4gIFNOU1RvcGljQXJuTm90Rm91bmRGYXVsdCxcbiAgU2hhcmVkU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0LFxuICBTb3VyY2VDbHVzdGVyTm90U3VwcG9ydGVkRmF1bHQsXG4gIFNvdXJjZURhdGFiYXNlTm90U3VwcG9ydGVkRmF1bHQsXG4gIFNvdXJjZU5vdEZvdW5kRmF1bHQsXG4gIFN0b3JhZ2VRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIFN0b3JhZ2VUeXBlTm90QXZhaWxhYmxlRmF1bHQsXG4gIFN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHQsXG4gIFN1Ym5ldEFscmVhZHlJblVzZSxcbiAgU3Vic2NyaXB0aW9uQWxyZWFkeUV4aXN0RmF1bHQsXG4gIFN1YnNjcmlwdGlvbkNhdGVnb3J5Tm90Rm91bmRGYXVsdCxcbiAgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdCxcbiAgVGVuYW50RGF0YWJhc2VBbHJlYWR5RXhpc3RzRmF1bHQsXG4gIFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdCxcbiAgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHQsXG4gIFVuc3VwcG9ydGVkREJFbmdpbmVWZXJzaW9uRmF1bHQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtcmRzXCI7XG5pbXBvcnQgeyBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuXG5leHBvcnQgY29uc3QgQWxsU2VydmljZUVycm9ycyA9IFtcbiAgXCJBdXRob3JpemF0aW9uQWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRcIixcbiAgXCJBdXRob3JpemF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiQmFja3VwUG9saWN5Tm90Rm91bmRGYXVsdFwiLFxuICBcIkJsdWVHcmVlbkRlcGxveW1lbnRBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJCbHVlR3JlZW5EZXBsb3ltZW50Tm90Rm91bmRGYXVsdFwiLFxuICBcIkNlcnRpZmljYXRlTm90Rm91bmRGYXVsdFwiLFxuICBcIkNyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkZhdWx0XCIsXG4gIFwiQ3VzdG9tQXZhaWxhYmlsaXR5Wm9uZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJDdXN0b21EQkVuZ2luZVZlcnNpb25BbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJDdXN0b21EQkVuZ2luZVZlcnNpb25Ob3RGb3VuZEZhdWx0XCIsXG4gIFwiQ3VzdG9tREJFbmdpbmVWZXJzaW9uUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiREJDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiREJDbHVzdGVyQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIkRCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cFF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIkRCQ2x1c3RlckJhY2t0cmFja05vdEZvdW5kRmF1bHRcIixcbiAgXCJEQkNsdXN0ZXJFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIkRCQ2x1c3RlckVuZHBvaW50Tm90Rm91bmRGYXVsdFwiLFxuICBcIkRCQ2x1c3RlckVuZHBvaW50UXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiREJDbHVzdGVyTm90Rm91bmRGYXVsdFwiLFxuICBcIkRCQ2x1c3RlclBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIkRCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIkRCQ2x1c3RlclJvbGVBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJEQkNsdXN0ZXJSb2xlTm90Rm91bmRGYXVsdFwiLFxuICBcIkRCQ2x1c3RlclJvbGVRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJEQkNsdXN0ZXJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIkRCQ2x1c3RlclNuYXBzaG90Tm90Rm91bmRGYXVsdFwiLFxuICBcIkRCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJEQkluc3RhbmNlQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdFwiLFxuICBcIkRCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJEQkluc3RhbmNlTm90Rm91bmRGYXVsdFwiLFxuICBcIkRCSW5zdGFuY2VOb3RSZWFkeUZhdWx0XCIsXG4gIFwiREJJbnN0YW5jZVJvbGVBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJEQkluc3RhbmNlUm9sZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJEQkluc3RhbmNlUm9sZVF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIkRCTG9nRmlsZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJEQlBhcmFtZXRlckdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRcIixcbiAgXCJEQlBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiREJQcm94eUFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIkRCUHJveHlFbmRwb2ludEFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIkRCUHJveHlFbmRwb2ludE5vdEZvdW5kRmF1bHRcIixcbiAgXCJEQlByb3h5RW5kcG9pbnRRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJEQlByb3h5Tm90Rm91bmRGYXVsdFwiLFxuICBcIkRCUHJveHlRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJEQlByb3h5VGFyZ2V0QWxyZWFkeVJlZ2lzdGVyZWRGYXVsdFwiLFxuICBcIkRCUHJveHlUYXJnZXRHcm91cE5vdEZvdW5kRmF1bHRcIixcbiAgXCJEQlByb3h5VGFyZ2V0Tm90Rm91bmRGYXVsdFwiLFxuICBcIkRCU2VjdXJpdHlHcm91cEFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIkRCU2VjdXJpdHlHcm91cE5vdEZvdW5kRmF1bHRcIixcbiAgXCJEQlNlY3VyaXR5R3JvdXBOb3RTdXBwb3J0ZWRGYXVsdFwiLFxuICBcIkRCU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIkRCU2hhcmRHcm91cEFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIkRCU2hhcmRHcm91cE5vdEZvdW5kRmF1bHRcIixcbiAgXCJEQlNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRcIixcbiAgXCJEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0XCIsXG4gIFwiREJTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIkRCU3VibmV0R3JvdXBEb2VzTm90Q292ZXJFbm91Z2hBWnNcIixcbiAgXCJEQlN1Ym5ldEdyb3VwTm90QWxsb3dlZEZhdWx0XCIsXG4gIFwiREJTdWJuZXRHcm91cE5vdEZvdW5kRmF1bHRcIixcbiAgXCJEQlN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiREJTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJEQlVwZ3JhZGVEZXBlbmRlbmN5RmFpbHVyZUZhdWx0XCIsXG4gIFwiRG9tYWluTm90Rm91bmRGYXVsdFwiLFxuICBcIkVjMkltYWdlUHJvcGVydGllc05vdFN1cHBvcnRlZEZhdWx0XCIsXG4gIFwiRXZlbnRTdWJzY3JpcHRpb25RdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJFeHBvcnRUYXNrQWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiRXhwb3J0VGFza05vdEZvdW5kRmF1bHRcIixcbiAgXCJHbG9iYWxDbHVzdGVyQWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRcIixcbiAgXCJHbG9iYWxDbHVzdGVyUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiSWFtUm9sZU1pc3NpbmdQZXJtaXNzaW9uc0ZhdWx0XCIsXG4gIFwiSWFtUm9sZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIkluc3VmZmljaWVudEF2YWlsYWJsZUlQc0luU3VibmV0RmF1bHRcIixcbiAgXCJJbnN1ZmZpY2llbnREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0XCIsXG4gIFwiSW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHRcIixcbiAgXCJJbnN1ZmZpY2llbnRTdG9yYWdlQ2x1c3RlckNhcGFjaXR5RmF1bHRcIixcbiAgXCJJbnRlZ3JhdGlvbkFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIkludGVncmF0aW9uQ29uZmxpY3RPcGVyYXRpb25GYXVsdFwiLFxuICBcIkludGVncmF0aW9uTm90Rm91bmRGYXVsdFwiLFxuICBcIkludGVncmF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiSW52YWxpZEJsdWVHcmVlbkRlcGxveW1lbnRTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZEN1c3RvbURCRW5naW5lVmVyc2lvblN0YXRlRmF1bHRcIixcbiAgXCJJbnZhbGlkREJDbHVzdGVyQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0XCIsXG4gIFwiSW52YWxpZERCQ2x1c3RlckVuZHBvaW50U3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWREQkNsdXN0ZXJTbmFwc2hvdFN0YXRlRmF1bHRcIixcbiAgXCJJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWREQkluc3RhbmNlQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWREQkluc3RhbmNlU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWREQlBhcmFtZXRlckdyb3VwU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWREQlByb3h5RW5kcG9pbnRTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHRcIixcbiAgXCJJbnZhbGlkREJTaGFyZEdyb3VwU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWREQlNuYXBzaG90U3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWREQlN1Ym5ldEdyb3VwRmF1bHRcIixcbiAgXCJJbnZhbGlkREJTdWJuZXRHcm91cFN0YXRlRmF1bHRcIixcbiAgXCJJbnZhbGlkREJTdWJuZXRTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZEV2ZW50U3Vic2NyaXB0aW9uU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRFeHBvcnRPbmx5RmF1bHRcIixcbiAgXCJJbnZhbGlkRXhwb3J0U291cmNlU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRFeHBvcnRUYXNrU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRJbnRlZ3JhdGlvblN0YXRlRmF1bHRcIixcbiAgXCJJbnZhbGlkT3B0aW9uR3JvdXBTdGF0ZUZhdWx0XCIsXG4gIFwiSW52YWxpZFJlc291cmNlU3RhdGVGYXVsdFwiLFxuICBcIkludmFsaWRSZXN0b3JlRmF1bHRcIixcbiAgXCJJbnZhbGlkUzNCdWNrZXRGYXVsdFwiLFxuICBcIkludmFsaWRTdWJuZXRcIixcbiAgXCJJbnZhbGlkVlBDTmV0d29ya1N0YXRlRmF1bHRcIixcbiAgXCJLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRcIixcbiAgXCJNYXhEQlNoYXJkR3JvdXBMaW1pdFJlYWNoZWRcIixcbiAgXCJOZXR3b3JrVHlwZU5vdFN1cHBvcnRlZFwiLFxuICBcIk9wdGlvbkdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0XCIsXG4gIFwiT3B0aW9uR3JvdXBOb3RGb3VuZEZhdWx0XCIsXG4gIFwiT3B0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRcIixcbiAgXCJQb2ludEluVGltZVJlc3RvcmVOb3RFbmFibGVkRmF1bHRcIixcbiAgXCJQcm92aXNpb25lZElvcHNOb3RBdmFpbGFibGVJbkFaRmF1bHRcIixcbiAgXCJSZXNlcnZlZERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRcIixcbiAgXCJSZXNlcnZlZERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0XCIsXG4gIFwiUmVzZXJ2ZWREQkluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nTm90Rm91bmRGYXVsdFwiLFxuICBcIlJlc291cmNlTm90Rm91bmRGYXVsdFwiLFxuICBcIlNOU0ludmFsaWRUb3BpY0ZhdWx0XCIsXG4gIFwiU05TTm9BdXRob3JpemF0aW9uRmF1bHRcIixcbiAgXCJTTlNUb3BpY0Fybk5vdEZvdW5kRmF1bHRcIixcbiAgXCJTaGFyZWRTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdFwiLFxuICBcIlNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiU291cmNlQ2x1c3Rlck5vdFN1cHBvcnRlZEZhdWx0XCIsXG4gIFwiU291cmNlRGF0YWJhc2VOb3RTdXBwb3J0ZWRGYXVsdFwiLFxuICBcIlNvdXJjZU5vdEZvdW5kRmF1bHRcIixcbiAgXCJTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiU3RvcmFnZVR5cGVOb3RBdmFpbGFibGVGYXVsdFwiLFxuICBcIlN0b3JhZ2VUeXBlTm90U3VwcG9ydGVkRmF1bHRcIixcbiAgXCJTdWJuZXRBbHJlYWR5SW5Vc2VcIixcbiAgXCJTdWJzY3JpcHRpb25BbHJlYWR5RXhpc3RGYXVsdFwiLFxuICBcIlN1YnNjcmlwdGlvbkNhdGVnb3J5Tm90Rm91bmRGYXVsdFwiLFxuICBcIlN1YnNjcmlwdGlvbk5vdEZvdW5kRmF1bHRcIixcbiAgXCJUZW5hbnREYXRhYmFzZUFscmVhZHlFeGlzdHNGYXVsdFwiLFxuICBcIlRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdFwiLFxuICBcIlRlbmFudERhdGFiYXNlUXVvdGFFeGNlZWRlZEZhdWx0XCIsXG4gIFwiVW5zdXBwb3J0ZWREQkVuZ2luZVZlcnNpb25GYXVsdFwiLFxuXTtcblxuZXhwb3J0IHR5cGUgVGFnZ2VkRXhjZXB0aW9uPFQgZXh0ZW5kcyB7IG5hbWU6IHN0cmluZyB9PiA9IFQgJiB7XG4gIHJlYWRvbmx5IF90YWc6IFRbXCJuYW1lXCJdO1xufTtcblxuZXhwb3J0IHR5cGUgQXV0aG9yaXphdGlvbkFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEF1dGhvcml6YXRpb25BbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQXV0aG9yaXphdGlvbk5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxBdXRob3JpemF0aW9uTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBBdXRob3JpemF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248QXV0aG9yaXphdGlvblF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBCYWNrdXBQb2xpY3lOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248QmFja3VwUG9saWN5Tm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBCbHVlR3JlZW5EZXBsb3ltZW50QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Qmx1ZUdyZWVuRGVwbG95bWVudEFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBCbHVlR3JlZW5EZXBsb3ltZW50Tm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEJsdWVHcmVlbkRlcGxveW1lbnROb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIENlcnRpZmljYXRlTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENlcnRpZmljYXRlTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21EQkVuZ2luZVZlcnNpb25GYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPENyZWF0ZUN1c3RvbURCRW5naW5lVmVyc2lvbkZhdWx0PjtcbmV4cG9ydCB0eXBlIEN1c3RvbUF2YWlsYWJpbGl0eVpvbmVOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q3VzdG9tQXZhaWxhYmlsaXR5Wm9uZU5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgQ3VzdG9tREJFbmdpbmVWZXJzaW9uQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248Q3VzdG9tREJFbmdpbmVWZXJzaW9uQWxyZWFkeUV4aXN0c0ZhdWx0PjtcbmV4cG9ydCB0eXBlIEN1c3RvbURCRW5naW5lVmVyc2lvbk5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxDdXN0b21EQkVuZ2luZVZlcnNpb25Ob3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIEN1c3RvbURCRW5naW5lVmVyc2lvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEN1c3RvbURCRW5naW5lVmVyc2lvblF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQkNsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJDbHVzdGVyQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJDbHVzdGVyQXV0b21hdGVkQmFja3VwUXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCQ2x1c3RlckJhY2t0cmFja05vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQkNsdXN0ZXJCYWNrdHJhY2tOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCQ2x1c3RlckVuZHBvaW50QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJDbHVzdGVyRW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJDbHVzdGVyRW5kcG9pbnROb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJDbHVzdGVyRW5kcG9pbnROb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCQ2x1c3RlckVuZHBvaW50UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJDbHVzdGVyRW5kcG9pbnRRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJDbHVzdGVyTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCQ2x1c3Rlck5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBEQkNsdXN0ZXJSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJDbHVzdGVyUm9sZUFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBEQkNsdXN0ZXJSb2xlTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCQ2x1c3RlclJvbGVOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCQ2x1c3RlclJvbGVRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQkNsdXN0ZXJSb2xlUXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCQ2x1c3RlclNuYXBzaG90QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJDbHVzdGVyU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJDbHVzdGVyU25hcHNob3ROb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCSW5zdGFuY2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQkluc3RhbmNlQWxyZWFkeUV4aXN0c0ZhdWx0PjtcbmV4cG9ydCB0eXBlIERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJJbnN0YW5jZU5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQkluc3RhbmNlTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBEQkluc3RhbmNlTm90UmVhZHlGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCSW5zdGFuY2VOb3RSZWFkeUZhdWx0PjtcbmV4cG9ydCB0eXBlIERCSW5zdGFuY2VSb2xlQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJJbnN0YW5jZVJvbGVBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJJbnN0YW5jZVJvbGVOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJJbnN0YW5jZVJvbGVOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCSW5zdGFuY2VSb2xlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJJbnN0YW5jZVJvbGVRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJMb2dGaWxlTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCTG9nRmlsZU5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJQYXJhbWV0ZXJHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCUGFyYW1ldGVyR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJQYXJhbWV0ZXJHcm91cE5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQlBhcmFtZXRlckdyb3VwTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBEQlBhcmFtZXRlckdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJQYXJhbWV0ZXJHcm91cFF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBEQlByb3h5QWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJQcm94eUFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBEQlByb3h5RW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQlByb3h5RW5kcG9pbnRBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJQcm94eUVuZHBvaW50Tm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCUHJveHlFbmRwb2ludE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJQcm94eUVuZHBvaW50UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJQcm94eUVuZHBvaW50UXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCUHJveHlOb3RGb3VuZEZhdWx0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248REJQcm94eU5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJQcm94eVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCUHJveHlRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJQcm94eVRhcmdldEFscmVhZHlSZWdpc3RlcmVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQlByb3h5VGFyZ2V0QWxyZWFkeVJlZ2lzdGVyZWRGYXVsdD47XG5leHBvcnQgdHlwZSBEQlByb3h5VGFyZ2V0R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJQcm94eVRhcmdldEdyb3VwTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBEQlByb3h5VGFyZ2V0Tm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCUHJveHlUYXJnZXROb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCU2VjdXJpdHlHcm91cEFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCU2VjdXJpdHlHcm91cEFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBEQlNlY3VyaXR5R3JvdXBOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJTZWN1cml0eUdyb3VwTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBEQlNlY3VyaXR5R3JvdXBOb3RTdXBwb3J0ZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCU2VjdXJpdHlHcm91cE5vdFN1cHBvcnRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCU2VjdXJpdHlHcm91cFF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBEQlNoYXJkR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQlNoYXJkR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJTaGFyZEdyb3VwTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCU2hhcmRHcm91cE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJTbmFwc2hvdEFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCU25hcHNob3RBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJTbmFwc2hvdE5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQlNuYXBzaG90Tm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBEQlNuYXBzaG90VGVuYW50RGF0YWJhc2VOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJTbmFwc2hvdFRlbmFudERhdGFiYXNlTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBEQlN1Ym5ldEdyb3VwQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJTdWJuZXRHcm91cEFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBEQlN1Ym5ldEdyb3VwRG9lc05vdENvdmVyRW5vdWdoQVpzRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJTdWJuZXRHcm91cERvZXNOb3RDb3ZlckVub3VnaEFacz47XG5leHBvcnQgdHlwZSBEQlN1Ym5ldEdyb3VwTm90QWxsb3dlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJTdWJuZXRHcm91cE5vdEFsbG93ZWRGYXVsdD47XG5leHBvcnQgdHlwZSBEQlN1Ym5ldEdyb3VwTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCU3VibmV0R3JvdXBOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCU3VibmV0R3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxEQlN1Ym5ldEdyb3VwUXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIERCU3VibmV0UXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248REJTdWJuZXRRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgREJVcGdyYWRlRGVwZW5kZW5jeUZhaWx1cmVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPERCVXBncmFkZURlcGVuZGVuY3lGYWlsdXJlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgRG9tYWluTm90Rm91bmRGYXVsdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPERvbWFpbk5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgRWMySW1hZ2VQcm9wZXJ0aWVzTm90U3VwcG9ydGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxFYzJJbWFnZVByb3BlcnRpZXNOb3RTdXBwb3J0ZWRGYXVsdD47XG5leHBvcnQgdHlwZSBFdmVudFN1YnNjcmlwdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEV2ZW50U3Vic2NyaXB0aW9uUXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIEV4cG9ydFRhc2tBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxFeHBvcnRUYXNrQWxyZWFkeUV4aXN0c0ZhdWx0PjtcbmV4cG9ydCB0eXBlIEV4cG9ydFRhc2tOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RXhwb3J0VGFza05vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgR2xvYmFsQ2x1c3RlckFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEdsb2JhbENsdXN0ZXJBbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgR2xvYmFsQ2x1c3Rlck5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxHbG9iYWxDbHVzdGVyTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBHbG9iYWxDbHVzdGVyUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248R2xvYmFsQ2x1c3RlclF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBJYW1Sb2xlTWlzc2luZ1Blcm1pc3Npb25zRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJYW1Sb2xlTWlzc2luZ1Blcm1pc3Npb25zRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSWFtUm9sZU5vdEZvdW5kRmF1bHRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJYW1Sb2xlTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBJbnN0YW5jZVF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEluc3RhbmNlUXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIEluc3VmZmljaWVudEF2YWlsYWJsZUlQc0luU3VibmV0RmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnN1ZmZpY2llbnRBdmFpbGFibGVJUHNJblN1Ym5ldEZhdWx0PjtcbmV4cG9ydCB0eXBlIEluc3VmZmljaWVudERCQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnN1ZmZpY2llbnREQkNsdXN0ZXJDYXBhY2l0eUZhdWx0PjtcbmV4cG9ydCB0eXBlIEluc3VmZmljaWVudERCSW5zdGFuY2VDYXBhY2l0eUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW5zdWZmaWNpZW50REJJbnN0YW5jZUNhcGFjaXR5RmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW5zdWZmaWNpZW50U3RvcmFnZUNsdXN0ZXJDYXBhY2l0eUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW5zdWZmaWNpZW50U3RvcmFnZUNsdXN0ZXJDYXBhY2l0eUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludGVncmF0aW9uQWxyZWFkeUV4aXN0c0ZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW50ZWdyYXRpb25BbHJlYWR5RXhpc3RzRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW50ZWdyYXRpb25Db25mbGljdE9wZXJhdGlvbkZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW50ZWdyYXRpb25Db25mbGljdE9wZXJhdGlvbkZhdWx0PjtcbmV4cG9ydCB0eXBlIEludGVncmF0aW9uTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludGVncmF0aW9uTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBJbnRlZ3JhdGlvblF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludGVncmF0aW9uUXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRCbHVlR3JlZW5EZXBsb3ltZW50U3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRCbHVlR3JlZW5EZXBsb3ltZW50U3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkQ3VzdG9tREJFbmdpbmVWZXJzaW9uU3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRDdXN0b21EQkVuZ2luZVZlcnNpb25TdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWREQkNsdXN0ZXJBdXRvbWF0ZWRCYWNrdXBTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZERCQ2x1c3RlckF1dG9tYXRlZEJhY2t1cFN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZERCQ2x1c3RlckNhcGFjaXR5RmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkREJDbHVzdGVyQ2FwYWNpdHlGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkREJDbHVzdGVyRW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZERCQ2x1c3RlckVuZHBvaW50U3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkREJDbHVzdGVyU25hcHNob3RTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZERCQ2x1c3RlclNuYXBzaG90U3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkREJDbHVzdGVyU3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWREQkNsdXN0ZXJTdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWREQkluc3RhbmNlQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWREQkluc3RhbmNlQXV0b21hdGVkQmFja3VwU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkREJJbnN0YW5jZVN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZERCUGFyYW1ldGVyR3JvdXBTdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWREQlByb3h5RW5kcG9pbnRTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZERCUHJveHlFbmRwb2ludFN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZERCUHJveHlTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZERCUHJveHlTdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWREQlNlY3VyaXR5R3JvdXBTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZERCU2VjdXJpdHlHcm91cFN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZERCU2hhcmRHcm91cFN0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkREJTaGFyZEdyb3VwU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkREJTbmFwc2hvdFN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZERCU3VibmV0R3JvdXBGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWREQlN1Ym5ldEdyb3VwRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZERCU3VibmV0R3JvdXBTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZERCU3VibmV0R3JvdXBTdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWREQlN1Ym5ldFN0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkREJTdWJuZXRTdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRFdmVudFN1YnNjcmlwdGlvblN0YXRlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkRXZlbnRTdWJzY3JpcHRpb25TdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRFeHBvcnRPbmx5RmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkRXhwb3J0T25seUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRFeHBvcnRTb3VyY2VTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZEV4cG9ydFNvdXJjZVN0YXRlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZEV4cG9ydFRhc2tTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZEV4cG9ydFRhc2tTdGF0ZUZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRHbG9iYWxDbHVzdGVyU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkSW50ZWdyYXRpb25TdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZEludGVncmF0aW9uU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkT3B0aW9uR3JvdXBTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZE9wdGlvbkdyb3VwU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkUmVzb3VyY2VTdGF0ZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZFJlc291cmNlU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkUmVzdG9yZUZhdWx0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFJlc3RvcmVGYXVsdD47XG5leHBvcnQgdHlwZSBJbnZhbGlkUzNCdWNrZXRGYXVsdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRTM0J1Y2tldEZhdWx0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRTdWJuZXRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkU3VibmV0PjtcbmV4cG9ydCB0eXBlIEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRWUENOZXR3b3JrU3RhdGVGYXVsdD47XG5leHBvcnQgdHlwZSBLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxLTVNLZXlOb3RBY2Nlc3NpYmxlRmF1bHQ+O1xuZXhwb3J0IHR5cGUgTWF4REJTaGFyZEdyb3VwTGltaXRSZWFjaGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248TWF4REJTaGFyZEdyb3VwTGltaXRSZWFjaGVkPjtcbmV4cG9ydCB0eXBlIE5ldHdvcmtUeXBlTm90U3VwcG9ydGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248TmV0d29ya1R5cGVOb3RTdXBwb3J0ZWQ+O1xuZXhwb3J0IHR5cGUgT3B0aW9uR3JvdXBBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxPcHRpb25Hcm91cEFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxPcHRpb25Hcm91cE5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgT3B0aW9uR3JvdXBRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxPcHRpb25Hcm91cFF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBQb2ludEluVGltZVJlc3RvcmVOb3RFbmFibGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxQb2ludEluVGltZVJlc3RvcmVOb3RFbmFibGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgUHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UHJvdmlzaW9uZWRJb3BzTm90QXZhaWxhYmxlSW5BWkZhdWx0PjtcbmV4cG9ydCB0eXBlIFJlc2VydmVkREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFJlc2VydmVkREJJbnN0YW5jZUFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBSZXNlcnZlZERCSW5zdGFuY2VOb3RGb3VuZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248UmVzZXJ2ZWREQkluc3RhbmNlTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBSZXNlcnZlZERCSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxSZXNlcnZlZERCSW5zdGFuY2VRdW90YUV4Y2VlZGVkRmF1bHQ+O1xuZXhwb3J0IHR5cGUgUmVzZXJ2ZWREQkluc3RhbmNlc09mZmVyaW5nTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFJlc2VydmVkREJJbnN0YW5jZXNPZmZlcmluZ05vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VOb3RGb3VuZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNOU0ludmFsaWRUb3BpY0ZhdWx0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U05TSW52YWxpZFRvcGljRmF1bHQ+O1xuZXhwb3J0IHR5cGUgU05TTm9BdXRob3JpemF0aW9uRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTTlNOb0F1dGhvcml6YXRpb25GYXVsdD47XG5leHBvcnQgdHlwZSBTTlNUb3BpY0Fybk5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTTlNUb3BpY0Fybk5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgU2hhcmVkU25hcHNob3RRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTaGFyZWRTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBTbmFwc2hvdFF1b3RhRXhjZWVkZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNuYXBzaG90UXVvdGFFeGNlZWRlZEZhdWx0PjtcbmV4cG9ydCB0eXBlIFNvdXJjZUNsdXN0ZXJOb3RTdXBwb3J0ZWRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNvdXJjZUNsdXN0ZXJOb3RTdXBwb3J0ZWRGYXVsdD47XG5leHBvcnQgdHlwZSBTb3VyY2VEYXRhYmFzZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U291cmNlRGF0YWJhc2VOb3RTdXBwb3J0ZWRGYXVsdD47XG5leHBvcnQgdHlwZSBTb3VyY2VOb3RGb3VuZEZhdWx0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U291cmNlTm90Rm91bmRGYXVsdD47XG5leHBvcnQgdHlwZSBTdG9yYWdlUXVvdGFFeGNlZWRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U3RvcmFnZVF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBTdG9yYWdlVHlwZU5vdEF2YWlsYWJsZUZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U3RvcmFnZVR5cGVOb3RBdmFpbGFibGVGYXVsdD47XG5leHBvcnQgdHlwZSBTdG9yYWdlVHlwZU5vdFN1cHBvcnRlZEZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U3RvcmFnZVR5cGVOb3RTdXBwb3J0ZWRGYXVsdD47XG5leHBvcnQgdHlwZSBTdWJuZXRBbHJlYWR5SW5Vc2VFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxTdWJuZXRBbHJlYWR5SW5Vc2U+O1xuZXhwb3J0IHR5cGUgU3Vic2NyaXB0aW9uQWxyZWFkeUV4aXN0RmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTdWJzY3JpcHRpb25BbHJlYWR5RXhpc3RGYXVsdD47XG5leHBvcnQgdHlwZSBTdWJzY3JpcHRpb25DYXRlZ29yeU5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTdWJzY3JpcHRpb25DYXRlZ29yeU5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgU3Vic2NyaXB0aW9uTm90Rm91bmRGYXVsdEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFN1YnNjcmlwdGlvbk5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgVGVuYW50RGF0YWJhc2VBbHJlYWR5RXhpc3RzRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxUZW5hbnREYXRhYmFzZUFscmVhZHlFeGlzdHNGYXVsdD47XG5leHBvcnQgdHlwZSBUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxUZW5hbnREYXRhYmFzZU5vdEZvdW5kRmF1bHQ+O1xuZXhwb3J0IHR5cGUgVGVuYW50RGF0YWJhc2VRdW90YUV4Y2VlZGVkRmF1bHRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxUZW5hbnREYXRhYmFzZVF1b3RhRXhjZWVkZWRGYXVsdD47XG5leHBvcnQgdHlwZSBVbnN1cHBvcnRlZERCRW5naW5lVmVyc2lvbkZhdWx0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248VW5zdXBwb3J0ZWREQkVuZ2luZVZlcnNpb25GYXVsdD47XG5cbmV4cG9ydCB0eXBlIFNka0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEVycm9yICYgeyBuYW1lOiBcIlNka0Vycm9yXCIgfT47XG5leHBvcnQgY29uc3QgU2RrRXJyb3IgPSBEYXRhLnRhZ2dlZDxTZGtFcnJvcj4oXCJTZGtFcnJvclwiKTtcbiJdfQ==
@@ -1,31 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { RDSClient } from "@aws-sdk/client-rds";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { RDSClientInstanceConfig } from "./RDSClientInstanceConfig";
9
- declare const RDSClientInstance_base: Context.TagClass<RDSClientInstance, "@effect-aws/client-rds/RDSClientInstance", RDSClient>;
10
- /**
11
- * @since 1.0.0
12
- * @category tags
13
- */
14
- export declare class RDSClientInstance extends RDSClientInstance_base {
15
- }
16
- /**
17
- * @since 1.0.0
18
- * @category constructors
19
- */
20
- export declare const makeRDSClientInstance: Effect.Effect<RDSClient, never, RDSClientInstanceConfig>;
21
- /**
22
- * @since 1.0.0
23
- * @category layers
24
- */
25
- export declare const RDSClientInstanceLayer: Layer.Layer<RDSClientInstance, never, RDSClientInstanceConfig>;
26
- /**
27
- * @since 1.0.0
28
- * @category layers
29
- */
30
- export declare const DefaultRDSClientInstanceLayer: Layer.Layer<RDSClientInstance, never, never>;
31
- export {};
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.DefaultRDSClientInstanceLayer = exports.RDSClientInstanceLayer = exports.makeRDSClientInstance = exports.RDSClientInstance = void 0;
27
- /**
28
- * @since 1.0.0
29
- */
30
- const client_rds_1 = require("@aws-sdk/client-rds");
31
- const Context = __importStar(require("effect/Context"));
32
- const Effect = __importStar(require("effect/Effect"));
33
- const Layer = __importStar(require("effect/Layer"));
34
- const RDSClientInstanceConfig_1 = require("./RDSClientInstanceConfig");
35
- /**
36
- * @since 1.0.0
37
- * @category tags
38
- */
39
- class RDSClientInstance extends Context.Tag("@effect-aws/client-rds/RDSClientInstance")() {
40
- }
41
- exports.RDSClientInstance = RDSClientInstance;
42
- /**
43
- * @since 1.0.0
44
- * @category constructors
45
- */
46
- exports.makeRDSClientInstance = Effect.map(RDSClientInstanceConfig_1.RDSClientInstanceConfig, (config) => new client_rds_1.RDSClient(config));
47
- /**
48
- * @since 1.0.0
49
- * @category layers
50
- */
51
- exports.RDSClientInstanceLayer = Layer.effect(RDSClientInstance, exports.makeRDSClientInstance);
52
- /**
53
- * @since 1.0.0
54
- * @category layers
55
- */
56
- exports.DefaultRDSClientInstanceLayer = exports.RDSClientInstanceLayer.pipe(Layer.provide(RDSClientInstanceConfig_1.DefaultRDSClientConfigLayer));
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkRTQ2xpZW50SW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUkRTQ2xpZW50SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILG9EQUFnRDtBQUNoRCx3REFBMEM7QUFDMUMsc0RBQXdDO0FBQ3hDLG9EQUFzQztBQUN0Qyx1RUFHbUM7QUFFbkM7OztHQUdHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUNoRCwwQ0FBMEMsQ0FDM0MsRUFBZ0M7Q0FBRztBQUZwQyw4Q0FFb0M7QUFFcEM7OztHQUdHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUM3QyxpREFBdUIsRUFDdkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksc0JBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDbEMsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDaEQsaUJBQWlCLEVBQ2pCLDZCQUFxQixDQUN0QixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSw2QkFBNkIsR0FBRyw4QkFBc0IsQ0FBQyxJQUFJLENBQ3RFLEtBQUssQ0FBQyxPQUFPLENBQUMscURBQTJCLENBQUMsQ0FDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7IFJEU0NsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtcmRzXCI7XG5pbXBvcnQgKiBhcyBDb250ZXh0IGZyb20gXCJlZmZlY3QvQ29udGV4dFwiO1xuaW1wb3J0ICogYXMgRWZmZWN0IGZyb20gXCJlZmZlY3QvRWZmZWN0XCI7XG5pbXBvcnQgKiBhcyBMYXllciBmcm9tIFwiZWZmZWN0L0xheWVyXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0UkRTQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIFJEU0NsaWVudEluc3RhbmNlQ29uZmlnLFxufSBmcm9tIFwiLi9SRFNDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIFJEU0NsaWVudEluc3RhbmNlIGV4dGVuZHMgQ29udGV4dC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXJkcy9SRFNDbGllbnRJbnN0YW5jZVwiLFxuKTxSRFNDbGllbnRJbnN0YW5jZSwgUkRTQ2xpZW50PigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlUkRTQ2xpZW50SW5zdGFuY2UgPSBFZmZlY3QubWFwKFxuICBSRFNDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgKGNvbmZpZykgPT4gbmV3IFJEU0NsaWVudChjb25maWcpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFJEU0NsaWVudEluc3RhbmNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIFJEU0NsaWVudEluc3RhbmNlLFxuICBtYWtlUkRTQ2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFJEU0NsaWVudEluc3RhbmNlTGF5ZXIgPSBSRFNDbGllbnRJbnN0YW5jZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdFJEU0NsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
@@ -1,23 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type { RDSClientConfig } from "@aws-sdk/client-rds";
5
- import { Context, Effect, Layer } from "effect";
6
- declare const RDSClientInstanceConfig_base: Context.TagClass<RDSClientInstanceConfig, "@effect-aws/client-rds/RDSClientInstanceConfig", RDSClientConfig>;
7
- /**
8
- * @since 1.0.0
9
- * @category tags
10
- */
11
- export declare class RDSClientInstanceConfig extends RDSClientInstanceConfig_base {
12
- }
13
- /**
14
- * @since 1.0.0
15
- * @category constructors
16
- */
17
- export declare const makeDefaultRDSClientInstanceConfig: Effect.Effect<RDSClientConfig>;
18
- /**
19
- * @since 1.0.0
20
- * @category layers
21
- */
22
- export declare const DefaultRDSClientConfigLayer: Layer.Layer<RDSClientInstanceConfig, never, never>;
23
- export {};
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultRDSClientConfigLayer = exports.makeDefaultRDSClientInstanceConfig = exports.RDSClientInstanceConfig = void 0;
4
- const effect_1 = require("effect");
5
- /**
6
- * @since 1.0.0
7
- * @category tags
8
- */
9
- class RDSClientInstanceConfig extends effect_1.Context.Tag("@effect-aws/client-rds/RDSClientInstanceConfig")() {
10
- }
11
- exports.RDSClientInstanceConfig = RDSClientInstanceConfig;
12
- /**
13
- * @since 1.0.0
14
- * @category constructors
15
- */
16
- exports.makeDefaultRDSClientInstanceConfig = effect_1.Effect.gen(function* (_) {
17
- const runtime = yield* _(effect_1.Effect.runtime());
18
- const runSync = effect_1.Runtime.runSync(runtime);
19
- return {
20
- logger: {
21
- info(m) {
22
- effect_1.Effect.logInfo(m).pipe(runSync);
23
- },
24
- warn(m) {
25
- effect_1.Effect.logWarning(m).pipe(runSync);
26
- },
27
- error(m) {
28
- effect_1.Effect.logError(m).pipe(runSync);
29
- },
30
- debug(m) {
31
- effect_1.Effect.logDebug(m).pipe(runSync);
32
- },
33
- trace(m) {
34
- effect_1.Effect.logTrace(m).pipe(runSync);
35
- },
36
- },
37
- };
38
- });
39
- /**
40
- * @since 1.0.0
41
- * @category layers
42
- */
43
- exports.DefaultRDSClientConfigLayer = effect_1.Layer.effect(RDSClientInstanceConfig, exports.makeDefaultRDSClientInstanceConfig);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkRTQ2xpZW50SW5zdGFuY2VDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUkRTQ2xpZW50SW5zdGFuY2VDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsbUNBQXlEO0FBRXpEOzs7R0FHRztBQUNILE1BQWEsdUJBQXdCLFNBQVEsZ0JBQU8sQ0FBQyxHQUFHLENBQ3RELGdEQUFnRCxDQUNqRCxFQUE0QztDQUFHO0FBRmhELDBEQUVnRDtBQUVoRDs7O0dBR0c7QUFDVSxRQUFBLGtDQUFrQyxHQUM3QyxlQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDckIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQU0sQ0FBQyxPQUFPLEVBQVMsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sT0FBTyxHQUFHLGdCQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxNQUFNLEVBQUU7WUFDTixJQUFJLENBQUMsQ0FBQztnQkFDSixlQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUM7Z0JBQ0osZUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLGVBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxlQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsZUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUw7OztHQUdHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxjQUFLLENBQUMsTUFBTSxDQUNyRCx1QkFBdUIsRUFDdkIsMENBQWtDLENBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgdHlwZSB7IFJEU0NsaWVudENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtcmRzXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyLCBSdW50aW1lIH0gZnJvbSBcImVmZmVjdFwiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIFJEU0NsaWVudEluc3RhbmNlQ29uZmlnIGV4dGVuZHMgQ29udGV4dC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LXJkcy9SRFNDbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxSRFNDbGllbnRJbnN0YW5jZUNvbmZpZywgUkRTQ2xpZW50Q29uZmlnPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRGVmYXVsdFJEU0NsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PFJEU0NsaWVudENvbmZpZz4gPVxuICBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoXykge1xuICAgIGNvbnN0IHJ1bnRpbWUgPSB5aWVsZCogXyhFZmZlY3QucnVudGltZTxuZXZlcj4oKSk7XG4gICAgY29uc3QgcnVuU3luYyA9IFJ1bnRpbWUucnVuU3luYyhydW50aW1lKTtcblxuICAgIHJldHVybiB7XG4gICAgICBsb2dnZXI6IHtcbiAgICAgICAgaW5mbyhtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0luZm8obSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgd2FybihtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1dhcm5pbmcobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dFcnJvcihtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICBkZWJ1ZyhtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0RlYnVnKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHRyYWNlKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nVHJhY2UobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0UkRTQ2xpZW50Q29uZmlnTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIFJEU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBtYWtlRGVmYXVsdFJEU0NsaWVudEluc3RhbmNlQ29uZmlnLFxuKTtcbiJdfQ==