@arcforges/operator-client 1.0.0-ci.322.1 → 1.0.0-ci.330.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE CHANGED
@@ -1,10 +1,10 @@
1
1
  ArcForges Contracts
2
2
  Copyright 2026 ArcForges contributors
3
3
 
4
- @arcforges/operator-client 1.0.0-ci.322.1 (Apache-2.0)
4
+ @arcforges/operator-client 1.0.0-ci.330.1 (Apache-2.0)
5
5
 
6
6
  Resolved runtime dependency inventory (dependencies retain their own licences):
7
- - @arcforges/proto 1.0.0-ci.322.1: Apache-2.0 (pkg:npm/%40arcforges/proto@1.0.0-ci.322.1)
7
+ - @arcforges/proto 1.0.0-ci.330.1: Apache-2.0 (pkg:npm/%40arcforges/proto@1.0.0-ci.330.1)
8
8
  - @bufbuild/protobuf 2.15.0: (Apache-2.0 AND BSD-3-Clause) (pkg:npm/%40bufbuild/protobuf@2.15.0)
9
9
 
10
10
  Third-party dependencies are referenced, not vendored into this package. Installed dependencies supply their original licence and notice files.
@@ -13,8 +13,8 @@ ArcForges source provenance notices
13
13
 
14
14
  Generated from reviewed active records. Original licence files and dependency notices remain authoritative.
15
15
 
16
- contract-bindings-con-25-r1
17
- Source: https://github.com/ArcForges/Contracts @ 05bfe3bf1757d8ef507e8bf205418a763b871f64
16
+ contract-bindings-con-28-r1
17
+ Source: https://github.com/ArcForges/Contracts @ 035c20818f743a120fe4c5e32ee4590507d8ba05
18
18
  Material licence: Apache-2.0
19
19
  Notice scope: packages
20
20
  Copyright 2026 ArcForges contributors.
@@ -3,17 +3,17 @@
3
3
  "owner": "Contracts",
4
4
  "artifact": {
5
5
  "id": "@arcforges/operator-client",
6
- "version": "1.0.0-ci.322.1"
6
+ "version": "1.0.0-ci.330.1"
7
7
  },
8
8
  "build": {
9
- "sourceCommit": "db9df61430cd8a6c3765a7986bcc4b4165307abc",
9
+ "sourceCommit": "8715f6e2462153fac44bccac2dd9e8b55adafc5f",
10
10
  "dirty": false,
11
11
  "kind": "ci",
12
- "buildId": "37251542304.1",
13
- "runId": "37251542304",
12
+ "buildId": "37537381647.1",
13
+ "runId": "37537381647",
14
14
  "runAttempt": 1,
15
- "pipelineRun": "https://github.com/ArcForges/Contracts/actions/runs/37251542304",
16
- "sourceDateEpoch": 1791163684
15
+ "pipelineRun": "https://github.com/ArcForges/Contracts/actions/runs/37537381647",
16
+ "sourceDateEpoch": 1791323810
17
17
  },
18
18
  "axes": {
19
19
  "AppVersion": {
@@ -30,7 +30,7 @@
30
30
  "path": "public/proto/arcforges/catalog/v1/catalog.proto",
31
31
  "sha256": "ff77d24be445e107d4fb4a0b3f7fd6b205664317e856a3696e471be1a18f0828"
32
32
  },
33
- "descriptorSha256": "c659d109d2f528eda73763b5d360e687da3fb6af267cecf5d0ea452e31f11d2a"
33
+ "descriptorSha256": "f43a88d4021f23cb39280a6db6472e458cd7e2df21a40ca06f7e54ab17f7b1fe"
34
34
  },
35
35
  {
36
36
  "subject": "arcforges.events",
@@ -39,7 +39,7 @@
39
39
  "path": "public/proto/arcforges/events/v1/events.proto",
40
40
  "sha256": "33953eb0fa0ade48154efee887abae991d8eb697542516091164b7601e95d25e"
41
41
  },
42
- "descriptorSha256": "c659d109d2f528eda73763b5d360e687da3fb6af267cecf5d0ea452e31f11d2a"
42
+ "descriptorSha256": "f43a88d4021f23cb39280a6db6472e458cd7e2df21a40ca06f7e54ab17f7b1fe"
43
43
  },
44
44
  {
45
45
  "subject": "arcforges.foundation",
@@ -48,7 +48,7 @@
48
48
  "path": "public/proto/arcforges/foundation/v1/foundation.proto",
49
49
  "sha256": "e7e634103664dcca4c63383dd0eda5d90b408edb4786bfdf4a148856fed92736"
50
50
  },
51
- "descriptorSha256": "c659d109d2f528eda73763b5d360e687da3fb6af267cecf5d0ea452e31f11d2a"
51
+ "descriptorSha256": "f43a88d4021f23cb39280a6db6472e458cd7e2df21a40ca06f7e54ab17f7b1fe"
52
52
  },
53
53
  {
54
54
  "subject": "arcforges.hello",
@@ -57,21 +57,21 @@
57
57
  "path": "public/proto/arcforges/hello/v1/hello.proto",
58
58
  "sha256": "92489f89d1898a3d3bbea56c72116416cd0152ae8866c98745739437020c67d9"
59
59
  },
60
- "descriptorSha256": "c659d109d2f528eda73763b5d360e687da3fb6af267cecf5d0ea452e31f11d2a"
60
+ "descriptorSha256": "f43a88d4021f23cb39280a6db6472e458cd7e2df21a40ca06f7e54ab17f7b1fe"
61
61
  },
62
62
  {
63
63
  "subject": "arcforges.operator",
64
64
  "version": "1",
65
65
  "source": {
66
66
  "path": "internal/proto/arcforges/operator/v1/operator.proto",
67
- "sha256": "fd5b7e820e7962bec3f5286f72c086974ac900caa518e3b0c2c3301946e0dd67"
67
+ "sha256": "967ab96b940fbef22a6a2c268213ea9235d22d76c703d5577fe10f7a38538fea"
68
68
  },
69
- "descriptorSha256": "c659d109d2f528eda73763b5d360e687da3fb6af267cecf5d0ea452e31f11d2a"
69
+ "descriptorSha256": "f43a88d4021f23cb39280a6db6472e458cd7e2df21a40ca06f7e54ab17f7b1fe"
70
70
  },
71
71
  {
72
72
  "subject": "arcforges.publicapi",
73
73
  "version": "1",
74
- "descriptorSha256": "c659d109d2f528eda73763b5d360e687da3fb6af267cecf5d0ea452e31f11d2a",
74
+ "descriptorSha256": "f43a88d4021f23cb39280a6db6472e458cd7e2df21a40ca06f7e54ab17f7b1fe",
75
75
  "sources": [
76
76
  {
77
77
  "path": "public/proto/arcforges/publicapi/v1/application.proto",
@@ -134,7 +134,7 @@
134
134
  "path": "public/proto/arcforges/simulation/v1/simulation.proto",
135
135
  "sha256": "132e52b8f66b9bbdde779ee295a1b2406bb26d12e97e7e8ecf78e0c34fa98c7f"
136
136
  },
137
- "descriptorSha256": "c659d109d2f528eda73763b5d360e687da3fb6af267cecf5d0ea452e31f11d2a"
137
+ "descriptorSha256": "f43a88d4021f23cb39280a6db6472e458cd7e2df21a40ca06f7e54ab17f7b1fe"
138
138
  }
139
139
  ]
140
140
  },
@@ -171,10 +171,10 @@
171
171
  "values": [
172
172
  {
173
173
  "subject": "pkg:npm/%40arcforges/proto",
174
- "version": "1.0.0-ci.322.1",
174
+ "version": "1.0.0-ci.330.1",
175
175
  "source": {
176
176
  "path": "sbom.cdx.json#components",
177
- "sha256": "3c933984ff0430a9ba5c442437b7af209a7804130cfc31b203a179cdc80f1899"
177
+ "sha256": "6cd05e398831f38ff46d99942715d042aff748a720cbecd73bcf65099c677022"
178
178
  }
179
179
  },
180
180
  {
@@ -182,7 +182,7 @@
182
182
  "version": "2.15.0",
183
183
  "source": {
184
184
  "path": "sbom.cdx.json#components",
185
- "sha256": "3c933984ff0430a9ba5c442437b7af209a7804130cfc31b203a179cdc80f1899"
185
+ "sha256": "6cd05e398831f38ff46d99942715d042aff748a720cbecd73bcf65099c677022"
186
186
  }
187
187
  }
188
188
  ]
package/contracts.binpb CHANGED
Binary file
@@ -1,5 +1,5 @@
1
1
  import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
- import type { AggregateRef, ArcError, Decimal, Id, Instant, PageRequest, PageState, Receipt, RequestMeta, ResponseMeta, Revision, TransferTicket } from "@arcforges/proto";
2
+ import type { AggregateRef, ArcError, BlobRef, Decimal, Id, Instant, PageRequest, PageState, Receipt, RequestMeta, ResponseMeta, Revision, TransferTicket } from "@arcforges/proto";
3
3
  import type { CatalogReviewDecision, CatalogSubmissionView, CatalogVersionView } from "@arcforges/proto";
4
4
  import type { CreditLot, Grant, RefundView } from "@arcforges/proto";
5
5
  import type { SupportCase } from "@arcforges/proto";
@@ -1479,6 +1479,12 @@ export type OperatorServiceStageConfigurationRequest = Message<"arcforges.operat
1479
1479
  * @generated from field: arcforges.operator.v1.ConfigurationDocument document = 12;
1480
1480
  */
1481
1481
  document?: ConfigurationDocument | undefined;
1482
+ /**
1483
+ * Exactly one inline document or immutable complete-envelope reference; the owner verifies bytes and authority.
1484
+ *
1485
+ * @generated from field: arcforges.foundation.v1.BlobRef document_ref = 13;
1486
+ */
1487
+ documentRef?: BlobRef | undefined;
1482
1488
  /**
1483
1489
  * @generated from field: arcforges.operator.v1.OperatorCallContext context = 100;
1484
1490
  */
@@ -1801,6 +1807,10 @@ export type OperatorServiceGetConfigurationValue = Message<"arcforges.operator.v
1801
1807
  * @generated from field: arcforges.operator.v1.ConfigValidation validation = 11;
1802
1808
  */
1803
1809
  validation?: ConfigValidation | undefined;
1810
+ /**
1811
+ * @generated from field: arcforges.foundation.v1.BlobRef document_ref = 12;
1812
+ */
1813
+ documentRef?: BlobRef | undefined;
1804
1814
  };
1805
1815
  /**
1806
1816
  * Describes the message arcforges.operator.v1.OperatorServiceGetConfigurationValue.
@@ -9,7 +9,7 @@ import { file_arcforges_publicapi_v1_content } from "@arcforges/proto";
9
9
  /**
10
10
  * Describes the file arcforges/operator/v1/operator.proto.
11
11
  */
12
- export const file_arcforges_operator_v1_operator = /*@__PURE__*/ fileDesc("CiRhcmNmb3JnZXMvb3BlcmF0b3IvdjEvb3BlcmF0b3IucHJvdG8SFWFyY2Zvcmdlcy5vcGVyYXRvci52MSKmAQoTT3BlcmF0b3JDYWxsQ29udGV4dBIuCgdjYXNlX2lkGAEgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWRIABIyCgtpbmNpZGVudF9pZBgCIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkSAASFAoHcHVycG9zZRgDIAEoCUgBiAEBQgkKB2NvbnRleHRCCgoIX3B1cnBvc2UivAEKE09wZXJhdG9yUHJvcG9zYWxSZWYSMAoLcHJvcG9zYWxfaWQYASABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIaCg1wcm9wb3NhbF9oYXNoGAIgASgJSACIAQESRQoaZXhwZWN0ZWRfcHJvcG9zYWxfcmV2aXNpb24YAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbkIQCg5fcHJvcG9zYWxfaGFzaCKjBAoOT3BlcmF0b3JBY2Nlc3MSLgoJYWNjZXNzX2lkGAEgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMAoLb3BlcmF0b3JfaWQYAiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIsCgdjYXNlX2lkGAMgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMQoMd29ya3NwYWNlX2lkGAQgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOAoJcmVzb3VyY2VzGAUgAygLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQWdncmVnYXRlUmVmEhQKB3B1cnBvc2UYBiABKAlIAIgBARI0CgpleHBpcmVzX2F0GAcgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudBISCgVzdGF0ZRgIIAEoCUgBiAEBEjAKC2NvbnNlbnRfcmVmGAkgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSNwoSc2Vjb25kX29wZXJhdG9yX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMwoIcmV2aXNpb24YCyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbkIKCghfcHVycG9zZUIICgZfc3RhdGUi0gMKDk9wZXJhdG9yQWN0aW9uEi4KCWFjdGlvbl9pZBgBIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjAKC3Byb3Bvc2VyX2lkGAIgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMAoLYXBwcm92ZXJfaWQYAyABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI1CgZ0YXJnZXQYBCABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BZ2dyZWdhdGVSZWYSEwoGYWN0aW9uGAUgASgJSACIAQESGgoNcHJvcG9zYWxfaGFzaBgGIAEoCUgBiAEBEhMKBnJlYXNvbhgHIAEoCUgCiAEBEhIKBXN0YXRlGAggASgJSAOIAQESNAoKZXhwaXJlc19hdBgJIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkluc3RhbnQSMwoIcmV2aXNpb24YCiABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbkIJCgdfYWN0aW9uQhAKDl9wcm9wb3NhbF9oYXNoQgkKB19yZWFzb25CCAoGX3N0YXRlItIDChJPcGVyYXRvckdyYW50SW5wdXQSLQoIZ3JhbnRfaWQYASABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIxCgx3b3Jrc3BhY2VfaWQYAiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIUCgdzdWJqZWN0GAMgASgJSACIAQESIwoWZW50aXRsZW1lbnRfcHJvZmlsZV9pZBgEIAEoCUgBiAEBEjMKCXN0YXJ0c19hdBgFIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkluc3RhbnQSMQoHZW5kc19hdBgGIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkluc3RhbnQSPwoGc291cmNlGAcgASgOMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yR3JhbnRTb3VyY2VIAogBARI7CgRraW5kGAggASgOMiguYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yR3JhbnRLaW5kSAOIAQFCCgoIX3N1YmplY3RCGQoXX2VudGl0bGVtZW50X3Byb2ZpbGVfaWRCCQoHX3NvdXJjZUIHCgVfa2luZCJ9ChhPcGVyYXRvclJldm9rZUdyYW50SW5wdXQSLQoIZ3JhbnRfaWQYASABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIyCg1yZXZvY2F0aW9uX2lkGAIgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQi3AEKGE9wZXJhdG9ySXNzdWVDcmVkaXRJbnB1dBIrCgZsb3RfaWQYASABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIxCgx3b3Jrc3BhY2VfaWQYAiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIZCgxhbW91bnRfbWljcm8YAyABKARIAIgBARI0CgpleHBpcmVzX2F0GAQgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudEIPCg1fYW1vdW50X21pY3JvItcBChlPcGVyYXRvckFkanVzdENyZWRpdElucHV0EisKBmxvdF9pZBgBIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhgKC2RlbHRhX21pY3JvGAIgASgSSACIAQESMgoNYWRqdXN0bWVudF9pZBgDIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEi8KCm5ld19sb3RfaWQYBCABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZEIOCgxfZGVsdGFfbWljcm8iygEKE09wZXJhdG9yUmVmdW5kSW5wdXQSLgoJcmVmdW5kX2lkGAEgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSRAoIZGVjaXNpb24YAiABKA4yLS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JSZWZ1bmREZWNpc2lvbkgAiAEBEjAKBmFtb3VudBgDIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkRlY2ltYWxCCwoJX2RlY2lzaW9uIuUBChpPcGVyYXRvckNhdGFsb2dSZXZpZXdJbnB1dBIyCg1zdWJtaXNzaW9uX2lkGAEgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSQgoIZGVjaXNpb24YAiABKA4yKy5hcmNmb3JnZXMuY2F0YWxvZy52MS5DYXRhbG9nUmV2aWV3RGVjaXNpb25IAIgBARITCgZyZWFzb24YAyABKAlIAYgBARIVCghldmlkZW5jZRgEIAEoCUgCiAEBQgsKCV9kZWNpc2lvbkIJCgdfcmVhc29uQgsKCV9ldmlkZW5jZSKqAQoaT3BlcmF0b3JDYXRhbG9nUmV2b2tlSW5wdXQSFwoKcGFja2FnZV9pZBgBIAEoCUgAiAEBEhQKB3ZlcnNpb24YAiABKAlIAYgBARITCgZyZWFzb24YAyABKAlIAogBARIVCghldmlkZW5jZRgEIAEoCUgDiAEBQg0KC19wYWNrYWdlX2lkQgoKCF92ZXJzaW9uQgkKB19yZWFzb25CCwoJX2V2aWRlbmNlIrkBChNPcGVyYXRvckFwcGVhbElucHV0Ei4KCWFwcGVhbF9pZBgBIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEi4KCWFjdGlvbl9pZBgCIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhUKCGRlY2lzaW9uGAMgASgJSACIAQESEwoGcmVhc29uGAQgASgJSAGIAQFCCwoJX2RlY2lzaW9uQgkKB19yZWFzb24i5gEKEU9wZXJhdG9yS2lsbElucHV0Ei4KCWFjdGlvbl9pZBgBIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhEKBG1vZGUYAiABKAlIAIgBARI0CgVzY29wZRgDIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFnZ3JlZ2F0ZVJlZhITCgZyZWFzb24YBCABKAlIAYgBARIvCgV1bnRpbBgFIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkluc3RhbnRCBwoFX21vZGVCCQoHX3JlYXNvbiKHBQoQT3BlcmF0b3JNdXRhdGlvbhI6CgVncmFudBgBIAEoCzIpLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckdyYW50SW5wdXRIABJHCgxyZXZva2VfZ3JhbnQYAiABKAsyLy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JSZXZva2VHcmFudElucHV0SAASRwoMaXNzdWVfY3JlZGl0GAMgASgLMi8uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9ySXNzdWVDcmVkaXRJbnB1dEgAEkkKDWFkanVzdF9jcmVkaXQYBCABKAsyMC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JBZGp1c3RDcmVkaXRJbnB1dEgAEjwKBnJlZnVuZBgFIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclJlZnVuZElucHV0SAASSwoOY2F0YWxvZ19yZXZpZXcYBiABKAsyMS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYXRhbG9nUmV2aWV3SW5wdXRIABJLCg5jYXRhbG9nX3Jldm9rZRgHIAEoCzIxLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhdGFsb2dSZXZva2VJbnB1dEgAEjwKBmFwcGVhbBgIIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckFwcGVhbElucHV0SAASOAoEa2lsbBgJIAEoCzIoLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvcktpbGxJbnB1dEgAQgoKCG11dGF0aW9uIoIHChBPcGVyYXRvclByb3Bvc2FsEjAKC3Byb3Bvc2FsX2lkGAEgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOQoIbXV0YXRpb24YAiABKAsyJy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JNdXRhdGlvbhIdChB0YXJnZXRfb3BlcmF0aW9uGAMgASgJSACIAQESOwoHY29udGV4dBgEIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0EhMKBnJlYXNvbhgFIAEoCUgBiAEBEh0KEHByb3Bvc2VyX3N1YmplY3QYBiABKAlIAogBARIdChBhcHByb3Zlcl9zdWJqZWN0GAcgASgJSAOIAQESGgoNcHJvcG9zYWxfaGFzaBgIIAEoCUgEiAEBEjkKDm93bmVyX3JldmlzaW9uGAkgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmV2aXNpb24SMwoIcmV2aXNpb24YCiABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbhJACgVzdGF0ZRgLIAEoDjIsLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclByb3Bvc2FsU3RhdGVIBYgBARI0CgpleHBpcmVzX2F0GAwgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudBI7ChZjb25zdW1lZF9ieV9jb21tYW5kX2lkGA0gASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOQoKcmVzdWx0X3JlZhgOIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFnZ3JlZ2F0ZVJlZhIgChNyZWNvdmVyeV9nZW5lcmF0aW9uGA8gASgESAaIAQESHwoSY29uZmlndXJhdGlvbl9oYXNoGBAgASgJSAeIAQFCEwoRX3RhcmdldF9vcGVyYXRpb25CCQoHX3JlYXNvbkITChFfcHJvcG9zZXJfc3ViamVjdEITChFfYXBwcm92ZXJfc3ViamVjdEIQCg5fcHJvcG9zYWxfaGFzaEIICgZfc3RhdGVCFgoUX3JlY292ZXJ5X2dlbmVyYXRpb25CFQoTX2NvbmZpZ3VyYXRpb25faGFzaCKLAgoVQ29uZmlndXJhdGlvbkRvY3VtZW50EhsKDnNjaGVtYV92ZXJzaW9uGAEgASgJSACIAQESGwoOY2Fub25pY2FsX2pzb24YAiABKAxIAYgBARIaCg1kb2N1bWVudF9oYXNoGAMgASgJSAKIAQESGwoOcGFyZW50X3ZlcnNpb24YBCABKAlIA4gBARI0CgpjcmVhdGVkX2F0GAUgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudEIRCg9fc2NoZW1hX3ZlcnNpb25CEQoPX2Nhbm9uaWNhbF9qc29uQhAKDl9kb2N1bWVudF9oYXNoQhEKD19wYXJlbnRfdmVyc2lvbiL2AgoOT3BlcmF0b3JSZXN1bHQSLgoFZ3JhbnQYASABKAsyHS5hcmNmb3JnZXMucHVibGljYXBpLnYxLkdyYW50SAASMwoGY3JlZGl0GAIgASgLMiEuYXJjZm9yZ2VzLnB1YmxpY2FwaS52MS5DcmVkaXRMb3RIABI0CgZyZWZ1bmQYAyABKAsyIi5hcmNmb3JnZXMucHVibGljYXBpLnYxLlJlZnVuZFZpZXdIABJBCgpzdWJtaXNzaW9uGAQgASgLMisuYXJjZm9yZ2VzLmNhdGFsb2cudjEuQ2F0YWxvZ1N1Ym1pc3Npb25WaWV3SAASQwoPY2F0YWxvZ192ZXJzaW9uGAUgASgLMiguYXJjZm9yZ2VzLmNhdGFsb2cudjEuQ2F0YWxvZ1ZlcnNpb25WaWV3SAASNwoGYWN0aW9uGAYgASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQWN0aW9uSABCCAoGcmVzdWx0Iu4CChBDb25maWdWYWxpZGF0aW9uEi4KCWNvbmZpZ19pZBgBIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhgKC2NvbmZpZ19oYXNoGAIgASgJSACIAQESGwoOc2NoZW1hX3ZlcnNpb24YAyABKAlIAYgBARIzCghwcm9ibGVtcxgEIAMoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9yEiMKFndvcmtlcl9hY2tub3dsZWRnZW1lbnQYBSABKAlIAogBARIXCgpjb21wYXRpYmxlGAYgASgISAOIAQESMwoIcmV2aXNpb24YByABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbkIOCgxfY29uZmlnX2hhc2hCEQoPX3NjaGVtYV92ZXJzaW9uQhkKF193b3JrZXJfYWNrbm93bGVkZ2VtZW50Qg0KC19jb21wYXRpYmxlIuoBCh9PcGVyYXRvclNlcnZpY2VMaXN0Q2FzZXNSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIyCgRwYWdlGAogASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUGFnZVJlcXVlc3QSEgoFc3RhdGUYCyABKAlIAIgBARI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRCCAoGX3N0YXRlSgQIAhAKIoUBCh1PcGVyYXRvclNlcnZpY2VMaXN0Q2FzZXNWYWx1ZRIyCgVjYXNlcxgKIAMoCzIjLmFyY2Zvcmdlcy5wdWJsaWNhcGkudjEuU3VwcG9ydENhc2USMAoEcGFnZRgLIAEoCzIiLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlBhZ2VTdGF0ZSLjAQogT3BlcmF0b3JTZXJ2aWNlTGlzdENhc2VzUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJFCgV2YWx1ZRgCIAEoCzI0LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VMaXN0Q2FzZXNWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBRAKIvwBCh1PcGVyYXRvclNlcnZpY2VHZXRDYXNlUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLAoHY2FzZV9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dBI2CghtZXNzYWdlcxhmIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlBhZ2VSZXF1ZXN0SgQIAhAKIlAKG09wZXJhdG9yU2VydmljZUdldENhc2VWYWx1ZRIxCgRjYXNlGAogASgLMiMuYXJjZm9yZ2VzLnB1YmxpY2FwaS52MS5TdXBwb3J0Q2FzZSLfAQoeT3BlcmF0b3JTZXJ2aWNlR2V0Q2FzZVJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESQwoFdmFsdWUYAiABKAsyMi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0Q2FzZVZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgFEAoiuAMKI09wZXJhdG9yU2VydmljZVJlcXVlc3RBY2Nlc3NSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhY2Nlc3NfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIsCgdjYXNlX2lkGAsgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMQoMd29ya3NwYWNlX2lkGAwgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOAoJcmVzb3VyY2VzGA0gAygLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQWdncmVnYXRlUmVmEhMKBnJlYXNvbhgOIAEoCUgAiAEBEi8KBXVudGlsGA8gASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudBI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRCCQoHX3JlYXNvbkoECAIQCiJaCiFPcGVyYXRvclNlcnZpY2VSZXF1ZXN0QWNjZXNzVmFsdWUSNQoGYWNjZXNzGAogASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQWNjZXNzIusBCiRPcGVyYXRvclNlcnZpY2VSZXF1ZXN0QWNjZXNzUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJJCgV2YWx1ZRgCIAEoCzI4LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXF1ZXN0QWNjZXNzVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiKcAgojT3BlcmF0b3JTZXJ2aWNlQXBwcm92ZUFjY2Vzc1JlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEi4KCWFjY2Vzc19pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhoKDXByb3Bvc2FsX2hhc2gYCyABKAlIAIgBARIUCgdhcHByb3ZlGAwgASgISAGIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QhAKDl9wcm9wb3NhbF9oYXNoQgoKCF9hcHByb3ZlSgQIAhAKIloKIU9wZXJhdG9yU2VydmljZUFwcHJvdmVBY2Nlc3NWYWx1ZRI1CgZhY2Nlc3MYCiABKAsyJS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JBY2Nlc3Mi6wEKJE9wZXJhdG9yU2VydmljZUFwcHJvdmVBY2Nlc3NSZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEkkKBXZhbHVlGAIgASgLMjguYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFwcHJvdmVBY2Nlc3NWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIsgBCh9PcGVyYXRvclNlcnZpY2VFbmRBY2Nlc3NSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhY2Nlc3NfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRKBAgCEAoiUgodT3BlcmF0b3JTZXJ2aWNlRW5kQWNjZXNzVmFsdWUSMQoHcmVjZWlwdBgKIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlY2VpcHQi4wEKIE9wZXJhdG9yU2VydmljZUVuZEFjY2Vzc1Jlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESRQoFdmFsdWUYAiABKAsyNC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRW5kQWNjZXNzVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiL/AQokT3BlcmF0b3JTZXJ2aWNlUmVhZERpYWdub3N0aWNSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhY2Nlc3NfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIwCgtyZXNvdXJjZV9pZBgLIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEoECAIQCiJdCiJPcGVyYXRvclNlcnZpY2VSZWFkRGlhZ25vc3RpY1ZhbHVlEjcKBnRpY2tldBgKIAEoCzInLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlRyYW5zZmVyVGlja2V0Iu0BCiVPcGVyYXRvclNlcnZpY2VSZWFkRGlhZ25vc3RpY1Jlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESSgoFdmFsdWUYAiABKAsyOS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmVhZERpYWdub3N0aWNWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBRAKIp4DCihPcGVyYXRvclNlcnZpY2VQcm9wb3NlRW5mb3JjZW1lbnRSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhY3Rpb25faWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIsCgdjYXNlX2lkGAsgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSLAoHdXNlcl9pZBgMIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhMKBmFjdGlvbhgNIAEoCUgAiAEBEhMKBnJlYXNvbhgOIAEoCUgBiAEBEi8KBXVudGlsGA8gASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudBI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRCCQoHX2FjdGlvbkIJCgdfcmVhc29uSgQIAhAKIl8KJk9wZXJhdG9yU2VydmljZVByb3Bvc2VFbmZvcmNlbWVudFZhbHVlEjUKBmFjdGlvbhgKIAEoCzIlLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckFjdGlvbiL1AQopT3BlcmF0b3JTZXJ2aWNlUHJvcG9zZUVuZm9yY2VtZW50UmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJOCgV2YWx1ZRgCIAEoCzI9LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VQcm9wb3NlRW5mb3JjZW1lbnRWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIqACCidPcGVyYXRvclNlcnZpY2VEZWNpZGVFbmZvcmNlbWVudFJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEi4KCWFjdGlvbl9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhoKDXByb3Bvc2FsX2hhc2gYCyABKAlIAIgBARIUCgdhcHByb3ZlGAwgASgISAGIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QhAKDl9wcm9wb3NhbF9oYXNoQgoKCF9hcHByb3ZlSgQIAhAKIl4KJU9wZXJhdG9yU2VydmljZURlY2lkZUVuZm9yY2VtZW50VmFsdWUSNQoGYWN0aW9uGAogASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQWN0aW9uIvMBCihPcGVyYXRvclNlcnZpY2VEZWNpZGVFbmZvcmNlbWVudFJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESTQoFdmFsdWUYAiABKAsyPC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRGVjaWRlRW5mb3JjZW1lbnRWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIsgBCh9PcGVyYXRvclNlcnZpY2VHZXRBcHBlYWxSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhcHBlYWxfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRKBAgCEAoiiQEKHU9wZXJhdG9yU2VydmljZUdldEFwcGVhbFZhbHVlEjEKBGNhc2UYCiABKAsyIy5hcmNmb3JnZXMucHVibGljYXBpLnYxLlN1cHBvcnRDYXNlEjUKBmFjdGlvbhgLIAEoCzIlLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckFjdGlvbiLjAQogT3BlcmF0b3JTZXJ2aWNlR2V0QXBwZWFsUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJFCgV2YWx1ZRgCIAEoCzI0LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRBcHBlYWxWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBRAKIv4CCiNPcGVyYXRvclNlcnZpY2VSZXNvbHZlQXBwZWFsUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLgoJYXBwZWFsX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSLgoJYWN0aW9uX2lkGAsgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSFQoIZGVjaXNpb24YDCABKAlIAIgBARITCgZyZWFzb24YDSABKAlIAYgBARI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHQSPAoIcHJvcG9zYWwYZSABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JQcm9wb3NhbFJlZkILCglfZGVjaXNpb25CCQoHX3JlYXNvbkoECAIQCiJaCiFPcGVyYXRvclNlcnZpY2VSZXNvbHZlQXBwZWFsVmFsdWUSNQoGYWN0aW9uGAogASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQWN0aW9uIusBCiRPcGVyYXRvclNlcnZpY2VSZXNvbHZlQXBwZWFsUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJJCgV2YWx1ZRgCIAEoCzI4LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXNvbHZlQXBwZWFsVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiLBAgooT3BlcmF0b3JTZXJ2aWNlU3RhZ2VDb25maWd1cmF0aW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLgoJY29uZmlnX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSGwoOcGFyZW50X3ZlcnNpb24YCyABKAlIAIgBARI+Cghkb2N1bWVudBgMIAEoCzIsLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5Db25maWd1cmF0aW9uRG9jdW1lbnQSOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QhEKD19wYXJlbnRfdmVyc2lvbkoECAIQCiJlCiZPcGVyYXRvclNlcnZpY2VTdGFnZUNvbmZpZ3VyYXRpb25WYWx1ZRI7Cgp2YWxpZGF0aW9uGAogASgLMicuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLkNvbmZpZ1ZhbGlkYXRpb24i9QEKKU9wZXJhdG9yU2VydmljZVN0YWdlQ29uZmlndXJhdGlvblJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESTgoFdmFsdWUYAiABKAsyPS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlU3RhZ2VDb25maWd1cmF0aW9uVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiLUAQorT3BlcmF0b3JTZXJ2aWNlVmFsaWRhdGVDb25maWd1cmF0aW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLgoJY29uZmlnX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0SgQIAhAKImgKKU9wZXJhdG9yU2VydmljZVZhbGlkYXRlQ29uZmlndXJhdGlvblZhbHVlEjsKCnZhbGlkYXRpb24YCiABKAsyJy5hcmNmb3JnZXMub3BlcmF0b3IudjEuQ29uZmlnVmFsaWRhdGlvbiL7AQosT3BlcmF0b3JTZXJ2aWNlVmFsaWRhdGVDb25maWd1cmF0aW9uUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJRCgV2YWx1ZRgCIAEoCzJALmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VWYWxpZGF0ZUNvbmZpZ3VyYXRpb25WYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBRAKIscCCipPcGVyYXRvclNlcnZpY2VBcHByb3ZlQ29uZmlndXJhdGlvblJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEi4KCWNvbmZpZ19pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhwKD3ZhbGlkYXRpb25faGFzaBgLIAEoCUgAiAEBEhQKB2FwcHJvdmUYDCABKAhIAYgBARITCgZyZWFzb24YDSABKAlIAogBARI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRCEgoQX3ZhbGlkYXRpb25faGFzaEIKCghfYXBwcm92ZUIJCgdfcmVhc29uSgQIAhAKIpIBCihPcGVyYXRvclNlcnZpY2VBcHByb3ZlQ29uZmlndXJhdGlvblZhbHVlEjAKC2FwcHJvdmFsX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSNAoKZXhwaXJlc19hdBgLIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkluc3RhbnQi+QEKK09wZXJhdG9yU2VydmljZUFwcHJvdmVDb25maWd1cmF0aW9uUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJQCgV2YWx1ZRgCIAEoCzI/LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VBcHByb3ZlQ29uZmlndXJhdGlvblZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoivwIKK09wZXJhdG9yU2VydmljZUFjdGl2YXRlQ29uZmlndXJhdGlvblJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEi4KCWNvbmZpZ19pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhwKD3ZhbGlkYXRpb25faGFzaBgLIAEoCUgAiAEBEjcKEnNlY29uZF9hcHByb3ZhbF9pZBgMIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEISChBfdmFsaWRhdGlvbl9oYXNoSgQIAhAKIlsKKU9wZXJhdG9yU2VydmljZUFjdGl2YXRlQ29uZmlndXJhdGlvblZhbHVlEhsKDmFjdGl2ZV92ZXJzaW9uGAogASgJSACIAQFCEQoPX2FjdGl2ZV92ZXJzaW9uIvsBCixPcGVyYXRvclNlcnZpY2VBY3RpdmF0ZUNvbmZpZ3VyYXRpb25SZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhElEKBXZhbHVlGAIgASgLMkAuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFjdGl2YXRlQ29uZmlndXJhdGlvblZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoizwEKJk9wZXJhdG9yU2VydmljZUdldENvbmZpZ3VyYXRpb25SZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCgljb25maWdfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRKBAgCEAoiowEKJE9wZXJhdG9yU2VydmljZUdldENvbmZpZ3VyYXRpb25WYWx1ZRI+Cghkb2N1bWVudBgKIAEoCzIsLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5Db25maWd1cmF0aW9uRG9jdW1lbnQSOwoKdmFsaWRhdGlvbhgLIAEoCzInLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5Db25maWdWYWxpZGF0aW9uIvEBCidPcGVyYXRvclNlcnZpY2VHZXRDb25maWd1cmF0aW9uUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJMCgV2YWx1ZRgCIAEoCzI7LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRDb25maWd1cmF0aW9uVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAUQCiKtAwojT3BlcmF0b3JTZXJ2aWNlU2V0S2lsbFN3aXRjaFJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEi4KCWFjdGlvbl9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhEKBG1vZGUYCyABKAlIAIgBARI0CgVzY29wZRgMIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFnZ3JlZ2F0ZVJlZhITCgZyZWFzb24YDSABKAlIAYgBARIvCgV1bnRpbBgOIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkluc3RhbnQSOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0EjwKCHByb3Bvc2FsGGUgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUHJvcG9zYWxSZWZCBwoFX21vZGVCCQoHX3JlYXNvbkoECAIQCiJaCiFPcGVyYXRvclNlcnZpY2VTZXRLaWxsU3dpdGNoVmFsdWUSNQoGYWN0aW9uGAogASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQWN0aW9uIusBCiRPcGVyYXRvclNlcnZpY2VTZXRLaWxsU3dpdGNoUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJJCgV2YWx1ZRgCIAEoCzI4LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTZXRLaWxsU3dpdGNoVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiLaAgolT3BlcmF0b3JTZXJ2aWNlU3RhcnRCcmVha0dsYXNzUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLgoJYWNjZXNzX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMAoLaW5jaWRlbnRfaWQYCyABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI4CglyZXNvdXJjZXMYDCADKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BZ2dyZWdhdGVSZWYSEwoGcmVhc29uGA0gASgJSACIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QgkKB19yZWFzb25KBAgCEAoiXAojT3BlcmF0b3JTZXJ2aWNlU3RhcnRCcmVha0dsYXNzVmFsdWUSNQoGYWNjZXNzGAogASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQWNjZXNzIu8BCiZPcGVyYXRvclNlcnZpY2VTdGFydEJyZWFrR2xhc3NSZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEksKBXZhbHVlGAIgASgLMjouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVN0YXJ0QnJlYWtHbGFzc1ZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoi7gEKI09wZXJhdG9yU2VydmljZUVuZEJyZWFrR2xhc3NSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhY2Nlc3NfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIUCgdvdXRjb21lGAsgASgJSACIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QgoKCF9vdXRjb21lSgQIAhAKIlYKIU9wZXJhdG9yU2VydmljZUVuZEJyZWFrR2xhc3NWYWx1ZRIxCgdyZWNlaXB0GAogASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVjZWlwdCLrAQokT3BlcmF0b3JTZXJ2aWNlRW5kQnJlYWtHbGFzc1Jlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESSQoFdmFsdWUYAiABKAsyOC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRW5kQnJlYWtHbGFzc1ZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoi7QIKI09wZXJhdG9yU2VydmljZVByb3Bvc2VBY3Rpb25SZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIwCgtwcm9wb3NhbF9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjkKCG11dGF0aW9uGAsgASgLMicuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yTXV0YXRpb24SQgoXZXhwZWN0ZWRfb3duZXJfcmV2aXNpb24YDCABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbhITCgZyZWFzb24YDSABKAlIAIgBARI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRCCQoHX3JlYXNvbkoECAIQCiJeCiFPcGVyYXRvclNlcnZpY2VQcm9wb3NlQWN0aW9uVmFsdWUSOQoIcHJvcG9zYWwYCiABKAsyJy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JQcm9wb3NhbCLrAQokT3BlcmF0b3JTZXJ2aWNlUHJvcG9zZUFjdGlvblJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESSQoFdmFsdWUYAiABKAsyOC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUHJvcG9zZUFjdGlvblZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoivgIKI09wZXJhdG9yU2VydmljZUFwcHJvdmVBY3Rpb25SZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIwCgtwcm9wb3NhbF9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhoKDXByb3Bvc2FsX2hhc2gYCyABKAlIAIgBARIUCgdhcHByb3ZlGAwgASgISAGIAQESEwoGcmVhc29uGA0gASgJSAKIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QhAKDl9wcm9wb3NhbF9oYXNoQgoKCF9hcHByb3ZlQgkKB19yZWFzb25KBAgCEAoiXgohT3BlcmF0b3JTZXJ2aWNlQXBwcm92ZUFjdGlvblZhbHVlEjkKCHByb3Bvc2FsGAogASgLMicuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUHJvcG9zYWwi6wEKJE9wZXJhdG9yU2VydmljZUFwcHJvdmVBY3Rpb25SZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEkkKBXZhbHVlGAIgASgLMjguYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFwcHJvdmVBY3Rpb25WYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIswBCiFPcGVyYXRvclNlcnZpY2VHZXRQcm9wb3NhbFJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEjAKC3Byb3Bvc2FsX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0SgQIAhAKIpkBCh9PcGVyYXRvclNlcnZpY2VHZXRQcm9wb3NhbFZhbHVlEjkKCHByb3Bvc2FsGAogASgLMicuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUHJvcG9zYWwSOwoMb3duZXJfcmVzdWx0GAsgASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUmVzdWx0IucBCiJPcGVyYXRvclNlcnZpY2VHZXRQcm9wb3NhbFJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESRwoFdmFsdWUYAiABKAsyNi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0UHJvcG9zYWxWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBRAKIt0BCiZPcGVyYXRvclNlcnZpY2VHcmFudEVudGl0bGVtZW50UmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESPAoIcHJvcG9zYWwYCiABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JQcm9wb3NhbFJlZhI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRKBAgCEAoihwEKJE9wZXJhdG9yU2VydmljZUdyYW50RW50aXRsZW1lbnRWYWx1ZRIsCgVncmFudBgKIAEoCzIdLmFyY2Zvcmdlcy5wdWJsaWNhcGkudjEuR3JhbnQSMQoHcmVjZWlwdBgLIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlY2VpcHQi8QEKJ09wZXJhdG9yU2VydmljZUdyYW50RW50aXRsZW1lbnRSZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEkwKBXZhbHVlGAIgASgLMjsuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUdyYW50RW50aXRsZW1lbnRWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIt4BCidPcGVyYXRvclNlcnZpY2VSZXZva2VFbnRpdGxlbWVudFJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEjwKCHByb3Bvc2FsGAogASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUHJvcG9zYWxSZWYSOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0SgQIAhAKIogBCiVPcGVyYXRvclNlcnZpY2VSZXZva2VFbnRpdGxlbWVudFZhbHVlEiwKBWdyYW50GAogASgLMh0uYXJjZm9yZ2VzLnB1YmxpY2FwaS52MS5HcmFudBIxCgdyZWNlaXB0GAsgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVjZWlwdCLzAQooT3BlcmF0b3JTZXJ2aWNlUmV2b2tlRW50aXRsZW1lbnRSZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEk0KBXZhbHVlGAIgASgLMjwuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJldm9rZUVudGl0bGVtZW50VmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiLeAQonT3BlcmF0b3JTZXJ2aWNlSXNzdWVDb21wZW5zYXRpb25SZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRI8Cghwcm9wb3NhbBgKIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclByb3Bvc2FsUmVmEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEoECAIQCiKKAQolT3BlcmF0b3JTZXJ2aWNlSXNzdWVDb21wZW5zYXRpb25WYWx1ZRIuCgNsb3QYCiABKAsyIS5hcmNmb3JnZXMucHVibGljYXBpLnYxLkNyZWRpdExvdBIxCgdyZWNlaXB0GAsgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVjZWlwdCLzAQooT3BlcmF0b3JTZXJ2aWNlSXNzdWVDb21wZW5zYXRpb25SZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEk0KBXZhbHVlGAIgASgLMjwuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUlzc3VlQ29tcGVuc2F0aW9uVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiLfAQooT3BlcmF0b3JTZXJ2aWNlQWRqdXN0Q29tcGVuc2F0aW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESPAoIcHJvcG9zYWwYCiABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JQcm9wb3NhbFJlZhI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRKBAgCEAoiiwEKJk9wZXJhdG9yU2VydmljZUFkanVzdENvbXBlbnNhdGlvblZhbHVlEi4KA2xvdBgKIAEoCzIhLmFyY2Zvcmdlcy5wdWJsaWNhcGkudjEuQ3JlZGl0TG90EjEKB3JlY2VpcHQYCyABKAsyIC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZWNlaXB0IvUBCilPcGVyYXRvclNlcnZpY2VBZGp1c3RDb21wZW5zYXRpb25SZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEk4KBXZhbHVlGAIgASgLMj0uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFkanVzdENvbXBlbnNhdGlvblZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoi2QEKIk9wZXJhdG9yU2VydmljZURlY2lkZVJlZnVuZFJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEjwKCHByb3Bvc2FsGAogASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUHJvcG9zYWxSZWYSOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0SgQIAhAKIokBCiBPcGVyYXRvclNlcnZpY2VEZWNpZGVSZWZ1bmRWYWx1ZRIyCgZyZWZ1bmQYCiABKAsyIi5hcmNmb3JnZXMucHVibGljYXBpLnYxLlJlZnVuZFZpZXcSMQoHcmVjZWlwdBgLIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlY2VpcHQi6QEKI09wZXJhdG9yU2VydmljZURlY2lkZVJlZnVuZFJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESSAoFdmFsdWUYAiABKAsyNy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRGVjaWRlUmVmdW5kVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiLXAQoqT3BlcmF0b3JTZXJ2aWNlR2V0Q2F0YWxvZ1N1Ym1pc3Npb25SZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIyCg1zdWJtaXNzaW9uX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0SgQIAhAKImsKKE9wZXJhdG9yU2VydmljZUdldENhdGFsb2dTdWJtaXNzaW9uVmFsdWUSPwoKc3VibWlzc2lvbhgKIAEoCzIrLmFyY2Zvcmdlcy5jYXRhbG9nLnYxLkNhdGFsb2dTdWJtaXNzaW9uVmlldyL5AQorT3BlcmF0b3JTZXJ2aWNlR2V0Q2F0YWxvZ1N1Ym1pc3Npb25SZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhElAKBXZhbHVlGAIgASgLMj8uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUdldENhdGFsb2dTdWJtaXNzaW9uVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAUQCiKTAgofT3BlcmF0b3JTZXJ2aWNlUmVwbHlDYXNlUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLAoHY2FzZV9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEi8KCm1lc3NhZ2VfaWQYCyABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIRCgR0ZXh0GAwgASgJSACIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QgcKBV90ZXh0SgQIAhAKIlIKHU9wZXJhdG9yU2VydmljZVJlcGx5Q2FzZVZhbHVlEjEKBGNhc2UYCiABKAsyIy5hcmNmb3JnZXMucHVibGljYXBpLnYxLlN1cHBvcnRDYXNlIuMBCiBPcGVyYXRvclNlcnZpY2VSZXBseUNhc2VSZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEkUKBXZhbHVlGAIgASgLMjQuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJlcGx5Q2FzZVZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoisAIKIk9wZXJhdG9yU2VydmljZVNldENhc2VTdGF0ZVJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEiwKB2Nhc2VfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI7CgVzdGF0ZRgLIAEoDjInLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5TdXBwb3J0Q2FzZVN0YXRlSACIAQESEwoGcmVhc29uGAwgASgJSAGIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QggKBl9zdGF0ZUIJCgdfcmVhc29uSgQIAhAKIlUKIE9wZXJhdG9yU2VydmljZVNldENhc2VTdGF0ZVZhbHVlEjEKBGNhc2UYCiABKAsyIy5hcmNmb3JnZXMucHVibGljYXBpLnYxLlN1cHBvcnRDYXNlIukBCiNPcGVyYXRvclNlcnZpY2VTZXRDYXNlU3RhdGVSZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEkgKBXZhbHVlGAIgASgLMjcuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVNldENhc2VTdGF0ZVZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoirQMKLU9wZXJhdG9yU2VydmljZVJldmlld0NhdGFsb2dTdWJtaXNzaW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESMgoNc3VibWlzc2lvbl9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEkIKCGRlY2lzaW9uGAsgASgOMisuYXJjZm9yZ2VzLmNhdGFsb2cudjEuQ2F0YWxvZ1Jldmlld0RlY2lzaW9uSACIAQESEwoGcmVhc29uGAwgASgJSAGIAQESFQoIZXZpZGVuY2UYDSABKAlIAogBARI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHQSPAoIcHJvcG9zYWwYZSABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JQcm9wb3NhbFJlZkILCglfZGVjaXNpb25CCQoHX3JlYXNvbkILCglfZXZpZGVuY2VKBAgCEAoibgorT3BlcmF0b3JTZXJ2aWNlUmV2aWV3Q2F0YWxvZ1N1Ym1pc3Npb25WYWx1ZRI/CgpzdWJtaXNzaW9uGAogASgLMisuYXJjZm9yZ2VzLmNhdGFsb2cudjEuQ2F0YWxvZ1N1Ym1pc3Npb25WaWV3Iv8BCi5PcGVyYXRvclNlcnZpY2VSZXZpZXdDYXRhbG9nU3VibWlzc2lvblJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESUwoFdmFsdWUYAiABKAsyQi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmV2aWV3Q2F0YWxvZ1N1Ym1pc3Npb25WYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIu8CCipPcGVyYXRvclNlcnZpY2VSZXZva2VDYXRhbG9nVmVyc2lvblJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEhcKCnBhY2thZ2VfaWQYCiABKAlIAIgBARIUCgd2ZXJzaW9uGAsgASgJSAGIAQESEwoGcmVhc29uGAwgASgJSAKIAQESFQoIZXZpZGVuY2UYDSABKAlIA4gBARI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHQSPAoIcHJvcG9zYWwYZSABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JQcm9wb3NhbFJlZkINCgtfcGFja2FnZV9pZEIKCghfdmVyc2lvbkIJCgdfcmVhc29uQgsKCV9ldmlkZW5jZUoECAIQCiJlCihPcGVyYXRvclNlcnZpY2VSZXZva2VDYXRhbG9nVmVyc2lvblZhbHVlEjkKB3ZlcnNpb24YCiABKAsyKC5hcmNmb3JnZXMuY2F0YWxvZy52MS5DYXRhbG9nVmVyc2lvblZpZXci+QEKK09wZXJhdG9yU2VydmljZVJldm9rZUNhdGFsb2dWZXJzaW9uUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJQCgV2YWx1ZRgCIAEoCzI/LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXZva2VDYXRhbG9nVmVyc2lvblZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoqpQIKFU9wZXJhdG9yUHJvcG9zYWxTdGF0ZRInCiNPUEVSQVRPUl9QUk9QT1NBTF9TVEFURV9VTlNQRUNJRklFRBAAEiMKH09QRVJBVE9SX1BST1BPU0FMX1NUQVRFX1BFTkRJTkcQARIkCiBPUEVSQVRPUl9QUk9QT1NBTF9TVEFURV9BUFBST1ZFRBACEiQKIE9QRVJBVE9SX1BST1BPU0FMX1NUQVRFX1JFSkVDVEVEEAMSIwofT1BFUkFUT1JfUFJPUE9TQUxfU1RBVEVfRVhQSVJFRBAEEicKI09QRVJBVE9SX1BST1BPU0FMX1NUQVRFX0lOVkFMSURBVEVEEAUSJAogT1BFUkFUT1JfUFJPUE9TQUxfU1RBVEVfRVhFQ1VURUQQBiqNAQoWT3BlcmF0b3JSZWZ1bmREZWNpc2lvbhIoCiRPUEVSQVRPUl9SRUZVTkRfREVDSVNJT05fVU5TUEVDSUZJRUQQABIkCiBPUEVSQVRPUl9SRUZVTkRfREVDSVNJT05fQVBQUk9WRRABEiMKH09QRVJBVE9SX1JFRlVORF9ERUNJU0lPTl9SRUpFQ1QQAiqOAQoTT3BlcmF0b3JHcmFudFNvdXJjZRIlCiFPUEVSQVRPUl9HUkFOVF9TT1VSQ0VfVU5TUEVDSUZJRUQQABIoCiRPUEVSQVRPUl9HUkFOVF9TT1VSQ0VfQURNSU5JU1RSQVRJVkUQARImCiJPUEVSQVRPUl9HUkFOVF9TT1VSQ0VfQ09NUEVOU0FUSU9OEAIqngEKEU9wZXJhdG9yR3JhbnRLaW5kEiMKH09QRVJBVE9SX0dSQU5UX0tJTkRfVU5TUEVDSUZJRUQQABIiCh5PUEVSQVRPUl9HUkFOVF9LSU5EX0NBUEFCSUxJVFkQARIdChlPUEVSQVRPUl9HUkFOVF9LSU5EX1FVT1RBEAISIQodT1BFUkFUT1JfR1JBTlRfS0lORF9BTExPV0FOQ0UQAyrdAQoQU3VwcG9ydENhc2VTdGF0ZRIiCh5TVVBQT1JUX0NBU0VfU1RBVEVfVU5TUEVDSUZJRUQQABIbChdTVVBQT1JUX0NBU0VfU1RBVEVfT1BFThABEiIKHlNVUFBPUlRfQ0FTRV9TVEFURV9JTl9QUk9HUkVTUxACEiQKIFNVUFBPUlRfQ0FTRV9TVEFURV9BV0FJVElOR19VU0VSEAMSHwobU1VQUE9SVF9DQVNFX1NUQVRFX1JFU09MVkVEEAQSHQoZU1VQUE9SVF9DQVNFX1NUQVRFX0NMT1NFRBAFMowjCg9PcGVyYXRvclNlcnZpY2USfAoJTGlzdENhc2VzEjYuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUxpc3RDYXNlc1JlcXVlc3QaNy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlTGlzdENhc2VzUmVzcG9uc2USdgoHR2V0Q2FzZRI0LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRDYXNlUmVxdWVzdBo1LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRDYXNlUmVzcG9uc2USiAEKDVJlcXVlc3RBY2Nlc3MSOi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmVxdWVzdEFjY2Vzc1JlcXVlc3QaOy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmVxdWVzdEFjY2Vzc1Jlc3BvbnNlEogBCg1BcHByb3ZlQWNjZXNzEjouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFwcHJvdmVBY2Nlc3NSZXF1ZXN0GjsuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFwcHJvdmVBY2Nlc3NSZXNwb25zZRJ8CglFbmRBY2Nlc3MSNi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRW5kQWNjZXNzUmVxdWVzdBo3LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VFbmRBY2Nlc3NSZXNwb25zZRKLAQoOUmVhZERpYWdub3N0aWMSOy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmVhZERpYWdub3N0aWNSZXF1ZXN0GjwuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJlYWREaWFnbm9zdGljUmVzcG9uc2USlwEKElByb3Bvc2VFbmZvcmNlbWVudBI/LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VQcm9wb3NlRW5mb3JjZW1lbnRSZXF1ZXN0GkAuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVByb3Bvc2VFbmZvcmNlbWVudFJlc3BvbnNlEpQBChFEZWNpZGVFbmZvcmNlbWVudBI+LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VEZWNpZGVFbmZvcmNlbWVudFJlcXVlc3QaPy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRGVjaWRlRW5mb3JjZW1lbnRSZXNwb25zZRJ8CglHZXRBcHBlYWwSNi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0QXBwZWFsUmVxdWVzdBo3LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRBcHBlYWxSZXNwb25zZRKIAQoNUmVzb2x2ZUFwcGVhbBI6LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXNvbHZlQXBwZWFsUmVxdWVzdBo7LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXNvbHZlQXBwZWFsUmVzcG9uc2USlwEKElN0YWdlQ29uZmlndXJhdGlvbhI/LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTdGFnZUNvbmZpZ3VyYXRpb25SZXF1ZXN0GkAuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVN0YWdlQ29uZmlndXJhdGlvblJlc3BvbnNlEqABChVWYWxpZGF0ZUNvbmZpZ3VyYXRpb24SQi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlVmFsaWRhdGVDb25maWd1cmF0aW9uUmVxdWVzdBpDLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VWYWxpZGF0ZUNvbmZpZ3VyYXRpb25SZXNwb25zZRKdAQoUQXBwcm92ZUNvbmZpZ3VyYXRpb24SQS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlQXBwcm92ZUNvbmZpZ3VyYXRpb25SZXF1ZXN0GkIuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFwcHJvdmVDb25maWd1cmF0aW9uUmVzcG9uc2USoAEKFUFjdGl2YXRlQ29uZmlndXJhdGlvbhJCLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VBY3RpdmF0ZUNvbmZpZ3VyYXRpb25SZXF1ZXN0GkMuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFjdGl2YXRlQ29uZmlndXJhdGlvblJlc3BvbnNlEpEBChBHZXRDb25maWd1cmF0aW9uEj0uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUdldENvbmZpZ3VyYXRpb25SZXF1ZXN0Gj4uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUdldENvbmZpZ3VyYXRpb25SZXNwb25zZRKIAQoNU2V0S2lsbFN3aXRjaBI6LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTZXRLaWxsU3dpdGNoUmVxdWVzdBo7LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTZXRLaWxsU3dpdGNoUmVzcG9uc2USjgEKD1N0YXJ0QnJlYWtHbGFzcxI8LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTdGFydEJyZWFrR2xhc3NSZXF1ZXN0Gj0uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVN0YXJ0QnJlYWtHbGFzc1Jlc3BvbnNlEogBCg1FbmRCcmVha0dsYXNzEjouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUVuZEJyZWFrR2xhc3NSZXF1ZXN0GjsuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUVuZEJyZWFrR2xhc3NSZXNwb25zZRKIAQoNUHJvcG9zZUFjdGlvbhI6LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VQcm9wb3NlQWN0aW9uUmVxdWVzdBo7LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VQcm9wb3NlQWN0aW9uUmVzcG9uc2USiAEKDUFwcHJvdmVBY3Rpb24SOi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlQXBwcm92ZUFjdGlvblJlcXVlc3QaOy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlQXBwcm92ZUFjdGlvblJlc3BvbnNlEoIBCgtHZXRQcm9wb3NhbBI4LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRQcm9wb3NhbFJlcXVlc3QaOS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0UHJvcG9zYWxSZXNwb25zZRKRAQoQR3JhbnRFbnRpdGxlbWVudBI9LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHcmFudEVudGl0bGVtZW50UmVxdWVzdBo+LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHcmFudEVudGl0bGVtZW50UmVzcG9uc2USlAEKEVJldm9rZUVudGl0bGVtZW50Ej4uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJldm9rZUVudGl0bGVtZW50UmVxdWVzdBo/LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXZva2VFbnRpdGxlbWVudFJlc3BvbnNlEpQBChFJc3N1ZUNvbXBlbnNhdGlvbhI+LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VJc3N1ZUNvbXBlbnNhdGlvblJlcXVlc3QaPy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlSXNzdWVDb21wZW5zYXRpb25SZXNwb25zZRKXAQoSQWRqdXN0Q29tcGVuc2F0aW9uEj8uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFkanVzdENvbXBlbnNhdGlvblJlcXVlc3QaQC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlQWRqdXN0Q29tcGVuc2F0aW9uUmVzcG9uc2UShQEKDERlY2lkZVJlZnVuZBI5LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VEZWNpZGVSZWZ1bmRSZXF1ZXN0GjouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZURlY2lkZVJlZnVuZFJlc3BvbnNlEp0BChRHZXRDYXRhbG9nU3VibWlzc2lvbhJBLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRDYXRhbG9nU3VibWlzc2lvblJlcXVlc3QaQi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0Q2F0YWxvZ1N1Ym1pc3Npb25SZXNwb25zZRJ8CglSZXBseUNhc2USNi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmVwbHlDYXNlUmVxdWVzdBo3LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXBseUNhc2VSZXNwb25zZRKFAQoMU2V0Q2FzZVN0YXRlEjkuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVNldENhc2VTdGF0ZVJlcXVlc3QaOi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlU2V0Q2FzZVN0YXRlUmVzcG9uc2USpgEKF1Jldmlld0NhdGFsb2dTdWJtaXNzaW9uEkQuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJldmlld0NhdGFsb2dTdWJtaXNzaW9uUmVxdWVzdBpFLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXZpZXdDYXRhbG9nU3VibWlzc2lvblJlc3BvbnNlEp0BChRSZXZva2VDYXRhbG9nVmVyc2lvbhJBLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXZva2VDYXRhbG9nVmVyc2lvblJlcXVlc3QaQi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmV2b2tlQ2F0YWxvZ1ZlcnNpb25SZXNwb25zZUJsCilpby5naXRodWIuYXJjZm9yZ2VzLmNvbnRyYWN0cy5vcGVyYXRvci52MUINT3BlcmF0b3JQcm90b1ABqgItQXJjRm9yZ2VzLkNvbnRyYWN0cy5DbG91ZEludGVybmFsLk9wZXJhdG9yLlYxYgZwcm90bzM", [file_arcforges_foundation_v1_foundation, file_arcforges_catalog_v1_catalog, file_arcforges_publicapi_v1_commerce, file_arcforges_publicapi_v1_content]);
12
+ export const file_arcforges_operator_v1_operator = /*@__PURE__*/ fileDesc("CiRhcmNmb3JnZXMvb3BlcmF0b3IvdjEvb3BlcmF0b3IucHJvdG8SFWFyY2Zvcmdlcy5vcGVyYXRvci52MSKmAQoTT3BlcmF0b3JDYWxsQ29udGV4dBIuCgdjYXNlX2lkGAEgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWRIABIyCgtpbmNpZGVudF9pZBgCIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkSAASFAoHcHVycG9zZRgDIAEoCUgBiAEBQgkKB2NvbnRleHRCCgoIX3B1cnBvc2UivAEKE09wZXJhdG9yUHJvcG9zYWxSZWYSMAoLcHJvcG9zYWxfaWQYASABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIaCg1wcm9wb3NhbF9oYXNoGAIgASgJSACIAQESRQoaZXhwZWN0ZWRfcHJvcG9zYWxfcmV2aXNpb24YAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbkIQCg5fcHJvcG9zYWxfaGFzaCKjBAoOT3BlcmF0b3JBY2Nlc3MSLgoJYWNjZXNzX2lkGAEgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMAoLb3BlcmF0b3JfaWQYAiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIsCgdjYXNlX2lkGAMgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMQoMd29ya3NwYWNlX2lkGAQgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOAoJcmVzb3VyY2VzGAUgAygLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQWdncmVnYXRlUmVmEhQKB3B1cnBvc2UYBiABKAlIAIgBARI0CgpleHBpcmVzX2F0GAcgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudBISCgVzdGF0ZRgIIAEoCUgBiAEBEjAKC2NvbnNlbnRfcmVmGAkgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSNwoSc2Vjb25kX29wZXJhdG9yX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMwoIcmV2aXNpb24YCyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbkIKCghfcHVycG9zZUIICgZfc3RhdGUi0gMKDk9wZXJhdG9yQWN0aW9uEi4KCWFjdGlvbl9pZBgBIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjAKC3Byb3Bvc2VyX2lkGAIgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMAoLYXBwcm92ZXJfaWQYAyABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI1CgZ0YXJnZXQYBCABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BZ2dyZWdhdGVSZWYSEwoGYWN0aW9uGAUgASgJSACIAQESGgoNcHJvcG9zYWxfaGFzaBgGIAEoCUgBiAEBEhMKBnJlYXNvbhgHIAEoCUgCiAEBEhIKBXN0YXRlGAggASgJSAOIAQESNAoKZXhwaXJlc19hdBgJIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkluc3RhbnQSMwoIcmV2aXNpb24YCiABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbkIJCgdfYWN0aW9uQhAKDl9wcm9wb3NhbF9oYXNoQgkKB19yZWFzb25CCAoGX3N0YXRlItIDChJPcGVyYXRvckdyYW50SW5wdXQSLQoIZ3JhbnRfaWQYASABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIxCgx3b3Jrc3BhY2VfaWQYAiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIUCgdzdWJqZWN0GAMgASgJSACIAQESIwoWZW50aXRsZW1lbnRfcHJvZmlsZV9pZBgEIAEoCUgBiAEBEjMKCXN0YXJ0c19hdBgFIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkluc3RhbnQSMQoHZW5kc19hdBgGIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkluc3RhbnQSPwoGc291cmNlGAcgASgOMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yR3JhbnRTb3VyY2VIAogBARI7CgRraW5kGAggASgOMiguYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yR3JhbnRLaW5kSAOIAQFCCgoIX3N1YmplY3RCGQoXX2VudGl0bGVtZW50X3Byb2ZpbGVfaWRCCQoHX3NvdXJjZUIHCgVfa2luZCJ9ChhPcGVyYXRvclJldm9rZUdyYW50SW5wdXQSLQoIZ3JhbnRfaWQYASABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIyCg1yZXZvY2F0aW9uX2lkGAIgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQi3AEKGE9wZXJhdG9ySXNzdWVDcmVkaXRJbnB1dBIrCgZsb3RfaWQYASABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIxCgx3b3Jrc3BhY2VfaWQYAiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIZCgxhbW91bnRfbWljcm8YAyABKARIAIgBARI0CgpleHBpcmVzX2F0GAQgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudEIPCg1fYW1vdW50X21pY3JvItcBChlPcGVyYXRvckFkanVzdENyZWRpdElucHV0EisKBmxvdF9pZBgBIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhgKC2RlbHRhX21pY3JvGAIgASgSSACIAQESMgoNYWRqdXN0bWVudF9pZBgDIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEi8KCm5ld19sb3RfaWQYBCABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZEIOCgxfZGVsdGFfbWljcm8iygEKE09wZXJhdG9yUmVmdW5kSW5wdXQSLgoJcmVmdW5kX2lkGAEgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSRAoIZGVjaXNpb24YAiABKA4yLS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JSZWZ1bmREZWNpc2lvbkgAiAEBEjAKBmFtb3VudBgDIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkRlY2ltYWxCCwoJX2RlY2lzaW9uIuUBChpPcGVyYXRvckNhdGFsb2dSZXZpZXdJbnB1dBIyCg1zdWJtaXNzaW9uX2lkGAEgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSQgoIZGVjaXNpb24YAiABKA4yKy5hcmNmb3JnZXMuY2F0YWxvZy52MS5DYXRhbG9nUmV2aWV3RGVjaXNpb25IAIgBARITCgZyZWFzb24YAyABKAlIAYgBARIVCghldmlkZW5jZRgEIAEoCUgCiAEBQgsKCV9kZWNpc2lvbkIJCgdfcmVhc29uQgsKCV9ldmlkZW5jZSKqAQoaT3BlcmF0b3JDYXRhbG9nUmV2b2tlSW5wdXQSFwoKcGFja2FnZV9pZBgBIAEoCUgAiAEBEhQKB3ZlcnNpb24YAiABKAlIAYgBARITCgZyZWFzb24YAyABKAlIAogBARIVCghldmlkZW5jZRgEIAEoCUgDiAEBQg0KC19wYWNrYWdlX2lkQgoKCF92ZXJzaW9uQgkKB19yZWFzb25CCwoJX2V2aWRlbmNlIrkBChNPcGVyYXRvckFwcGVhbElucHV0Ei4KCWFwcGVhbF9pZBgBIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEi4KCWFjdGlvbl9pZBgCIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhUKCGRlY2lzaW9uGAMgASgJSACIAQESEwoGcmVhc29uGAQgASgJSAGIAQFCCwoJX2RlY2lzaW9uQgkKB19yZWFzb24i5gEKEU9wZXJhdG9yS2lsbElucHV0Ei4KCWFjdGlvbl9pZBgBIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhEKBG1vZGUYAiABKAlIAIgBARI0CgVzY29wZRgDIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFnZ3JlZ2F0ZVJlZhITCgZyZWFzb24YBCABKAlIAYgBARIvCgV1bnRpbBgFIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkluc3RhbnRCBwoFX21vZGVCCQoHX3JlYXNvbiKHBQoQT3BlcmF0b3JNdXRhdGlvbhI6CgVncmFudBgBIAEoCzIpLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckdyYW50SW5wdXRIABJHCgxyZXZva2VfZ3JhbnQYAiABKAsyLy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JSZXZva2VHcmFudElucHV0SAASRwoMaXNzdWVfY3JlZGl0GAMgASgLMi8uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9ySXNzdWVDcmVkaXRJbnB1dEgAEkkKDWFkanVzdF9jcmVkaXQYBCABKAsyMC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JBZGp1c3RDcmVkaXRJbnB1dEgAEjwKBnJlZnVuZBgFIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclJlZnVuZElucHV0SAASSwoOY2F0YWxvZ19yZXZpZXcYBiABKAsyMS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYXRhbG9nUmV2aWV3SW5wdXRIABJLCg5jYXRhbG9nX3Jldm9rZRgHIAEoCzIxLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhdGFsb2dSZXZva2VJbnB1dEgAEjwKBmFwcGVhbBgIIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckFwcGVhbElucHV0SAASOAoEa2lsbBgJIAEoCzIoLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvcktpbGxJbnB1dEgAQgoKCG11dGF0aW9uIoIHChBPcGVyYXRvclByb3Bvc2FsEjAKC3Byb3Bvc2FsX2lkGAEgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOQoIbXV0YXRpb24YAiABKAsyJy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JNdXRhdGlvbhIdChB0YXJnZXRfb3BlcmF0aW9uGAMgASgJSACIAQESOwoHY29udGV4dBgEIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0EhMKBnJlYXNvbhgFIAEoCUgBiAEBEh0KEHByb3Bvc2VyX3N1YmplY3QYBiABKAlIAogBARIdChBhcHByb3Zlcl9zdWJqZWN0GAcgASgJSAOIAQESGgoNcHJvcG9zYWxfaGFzaBgIIAEoCUgEiAEBEjkKDm93bmVyX3JldmlzaW9uGAkgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmV2aXNpb24SMwoIcmV2aXNpb24YCiABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbhJACgVzdGF0ZRgLIAEoDjIsLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclByb3Bvc2FsU3RhdGVIBYgBARI0CgpleHBpcmVzX2F0GAwgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudBI7ChZjb25zdW1lZF9ieV9jb21tYW5kX2lkGA0gASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOQoKcmVzdWx0X3JlZhgOIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFnZ3JlZ2F0ZVJlZhIgChNyZWNvdmVyeV9nZW5lcmF0aW9uGA8gASgESAaIAQESHwoSY29uZmlndXJhdGlvbl9oYXNoGBAgASgJSAeIAQFCEwoRX3RhcmdldF9vcGVyYXRpb25CCQoHX3JlYXNvbkITChFfcHJvcG9zZXJfc3ViamVjdEITChFfYXBwcm92ZXJfc3ViamVjdEIQCg5fcHJvcG9zYWxfaGFzaEIICgZfc3RhdGVCFgoUX3JlY292ZXJ5X2dlbmVyYXRpb25CFQoTX2NvbmZpZ3VyYXRpb25faGFzaCKLAgoVQ29uZmlndXJhdGlvbkRvY3VtZW50EhsKDnNjaGVtYV92ZXJzaW9uGAEgASgJSACIAQESGwoOY2Fub25pY2FsX2pzb24YAiABKAxIAYgBARIaCg1kb2N1bWVudF9oYXNoGAMgASgJSAKIAQESGwoOcGFyZW50X3ZlcnNpb24YBCABKAlIA4gBARI0CgpjcmVhdGVkX2F0GAUgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudEIRCg9fc2NoZW1hX3ZlcnNpb25CEQoPX2Nhbm9uaWNhbF9qc29uQhAKDl9kb2N1bWVudF9oYXNoQhEKD19wYXJlbnRfdmVyc2lvbiL2AgoOT3BlcmF0b3JSZXN1bHQSLgoFZ3JhbnQYASABKAsyHS5hcmNmb3JnZXMucHVibGljYXBpLnYxLkdyYW50SAASMwoGY3JlZGl0GAIgASgLMiEuYXJjZm9yZ2VzLnB1YmxpY2FwaS52MS5DcmVkaXRMb3RIABI0CgZyZWZ1bmQYAyABKAsyIi5hcmNmb3JnZXMucHVibGljYXBpLnYxLlJlZnVuZFZpZXdIABJBCgpzdWJtaXNzaW9uGAQgASgLMisuYXJjZm9yZ2VzLmNhdGFsb2cudjEuQ2F0YWxvZ1N1Ym1pc3Npb25WaWV3SAASQwoPY2F0YWxvZ192ZXJzaW9uGAUgASgLMiguYXJjZm9yZ2VzLmNhdGFsb2cudjEuQ2F0YWxvZ1ZlcnNpb25WaWV3SAASNwoGYWN0aW9uGAYgASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQWN0aW9uSABCCAoGcmVzdWx0Iu4CChBDb25maWdWYWxpZGF0aW9uEi4KCWNvbmZpZ19pZBgBIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhgKC2NvbmZpZ19oYXNoGAIgASgJSACIAQESGwoOc2NoZW1hX3ZlcnNpb24YAyABKAlIAYgBARIzCghwcm9ibGVtcxgEIAMoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9yEiMKFndvcmtlcl9hY2tub3dsZWRnZW1lbnQYBSABKAlIAogBARIXCgpjb21wYXRpYmxlGAYgASgISAOIAQESMwoIcmV2aXNpb24YByABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXZpc2lvbkIOCgxfY29uZmlnX2hhc2hCEQoPX3NjaGVtYV92ZXJzaW9uQhkKF193b3JrZXJfYWNrbm93bGVkZ2VtZW50Qg0KC19jb21wYXRpYmxlIuoBCh9PcGVyYXRvclNlcnZpY2VMaXN0Q2FzZXNSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIyCgRwYWdlGAogASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUGFnZVJlcXVlc3QSEgoFc3RhdGUYCyABKAlIAIgBARI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRCCAoGX3N0YXRlSgQIAhAKIoUBCh1PcGVyYXRvclNlcnZpY2VMaXN0Q2FzZXNWYWx1ZRIyCgVjYXNlcxgKIAMoCzIjLmFyY2Zvcmdlcy5wdWJsaWNhcGkudjEuU3VwcG9ydENhc2USMAoEcGFnZRgLIAEoCzIiLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlBhZ2VTdGF0ZSLjAQogT3BlcmF0b3JTZXJ2aWNlTGlzdENhc2VzUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJFCgV2YWx1ZRgCIAEoCzI0LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VMaXN0Q2FzZXNWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBRAKIvwBCh1PcGVyYXRvclNlcnZpY2VHZXRDYXNlUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLAoHY2FzZV9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dBI2CghtZXNzYWdlcxhmIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlBhZ2VSZXF1ZXN0SgQIAhAKIlAKG09wZXJhdG9yU2VydmljZUdldENhc2VWYWx1ZRIxCgRjYXNlGAogASgLMiMuYXJjZm9yZ2VzLnB1YmxpY2FwaS52MS5TdXBwb3J0Q2FzZSLfAQoeT3BlcmF0b3JTZXJ2aWNlR2V0Q2FzZVJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESQwoFdmFsdWUYAiABKAsyMi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0Q2FzZVZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgFEAoiuAMKI09wZXJhdG9yU2VydmljZVJlcXVlc3RBY2Nlc3NSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhY2Nlc3NfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIsCgdjYXNlX2lkGAsgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSMQoMd29ya3NwYWNlX2lkGAwgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOAoJcmVzb3VyY2VzGA0gAygLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQWdncmVnYXRlUmVmEhMKBnJlYXNvbhgOIAEoCUgAiAEBEi8KBXVudGlsGA8gASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudBI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRCCQoHX3JlYXNvbkoECAIQCiJaCiFPcGVyYXRvclNlcnZpY2VSZXF1ZXN0QWNjZXNzVmFsdWUSNQoGYWNjZXNzGAogASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQWNjZXNzIusBCiRPcGVyYXRvclNlcnZpY2VSZXF1ZXN0QWNjZXNzUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJJCgV2YWx1ZRgCIAEoCzI4LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXF1ZXN0QWNjZXNzVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiKcAgojT3BlcmF0b3JTZXJ2aWNlQXBwcm92ZUFjY2Vzc1JlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEi4KCWFjY2Vzc19pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhoKDXByb3Bvc2FsX2hhc2gYCyABKAlIAIgBARIUCgdhcHByb3ZlGAwgASgISAGIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QhAKDl9wcm9wb3NhbF9oYXNoQgoKCF9hcHByb3ZlSgQIAhAKIloKIU9wZXJhdG9yU2VydmljZUFwcHJvdmVBY2Nlc3NWYWx1ZRI1CgZhY2Nlc3MYCiABKAsyJS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JBY2Nlc3Mi6wEKJE9wZXJhdG9yU2VydmljZUFwcHJvdmVBY2Nlc3NSZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEkkKBXZhbHVlGAIgASgLMjguYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFwcHJvdmVBY2Nlc3NWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIsgBCh9PcGVyYXRvclNlcnZpY2VFbmRBY2Nlc3NSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhY2Nlc3NfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRKBAgCEAoiUgodT3BlcmF0b3JTZXJ2aWNlRW5kQWNjZXNzVmFsdWUSMQoHcmVjZWlwdBgKIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlY2VpcHQi4wEKIE9wZXJhdG9yU2VydmljZUVuZEFjY2Vzc1Jlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESRQoFdmFsdWUYAiABKAsyNC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRW5kQWNjZXNzVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiL/AQokT3BlcmF0b3JTZXJ2aWNlUmVhZERpYWdub3N0aWNSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhY2Nlc3NfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIwCgtyZXNvdXJjZV9pZBgLIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEoECAIQCiJdCiJPcGVyYXRvclNlcnZpY2VSZWFkRGlhZ25vc3RpY1ZhbHVlEjcKBnRpY2tldBgKIAEoCzInLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlRyYW5zZmVyVGlja2V0Iu0BCiVPcGVyYXRvclNlcnZpY2VSZWFkRGlhZ25vc3RpY1Jlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESSgoFdmFsdWUYAiABKAsyOS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmVhZERpYWdub3N0aWNWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBRAKIp4DCihPcGVyYXRvclNlcnZpY2VQcm9wb3NlRW5mb3JjZW1lbnRSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhY3Rpb25faWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIsCgdjYXNlX2lkGAsgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSLAoHdXNlcl9pZBgMIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhMKBmFjdGlvbhgNIAEoCUgAiAEBEhMKBnJlYXNvbhgOIAEoCUgBiAEBEi8KBXVudGlsGA8gASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudBI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRCCQoHX2FjdGlvbkIJCgdfcmVhc29uSgQIAhAKIl8KJk9wZXJhdG9yU2VydmljZVByb3Bvc2VFbmZvcmNlbWVudFZhbHVlEjUKBmFjdGlvbhgKIAEoCzIlLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckFjdGlvbiL1AQopT3BlcmF0b3JTZXJ2aWNlUHJvcG9zZUVuZm9yY2VtZW50UmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJOCgV2YWx1ZRgCIAEoCzI9LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VQcm9wb3NlRW5mb3JjZW1lbnRWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIqACCidPcGVyYXRvclNlcnZpY2VEZWNpZGVFbmZvcmNlbWVudFJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEi4KCWFjdGlvbl9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEhoKDXByb3Bvc2FsX2hhc2gYCyABKAlIAIgBARIUCgdhcHByb3ZlGAwgASgISAGIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QhAKDl9wcm9wb3NhbF9oYXNoQgoKCF9hcHByb3ZlSgQIAhAKIl4KJU9wZXJhdG9yU2VydmljZURlY2lkZUVuZm9yY2VtZW50VmFsdWUSNQoGYWN0aW9uGAogASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQWN0aW9uIvMBCihPcGVyYXRvclNlcnZpY2VEZWNpZGVFbmZvcmNlbWVudFJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESTQoFdmFsdWUYAiABKAsyPC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRGVjaWRlRW5mb3JjZW1lbnRWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIsgBCh9PcGVyYXRvclNlcnZpY2VHZXRBcHBlYWxSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhcHBlYWxfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRKBAgCEAoiiQEKHU9wZXJhdG9yU2VydmljZUdldEFwcGVhbFZhbHVlEjEKBGNhc2UYCiABKAsyIy5hcmNmb3JnZXMucHVibGljYXBpLnYxLlN1cHBvcnRDYXNlEjUKBmFjdGlvbhgLIAEoCzIlLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckFjdGlvbiLjAQogT3BlcmF0b3JTZXJ2aWNlR2V0QXBwZWFsUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJFCgV2YWx1ZRgCIAEoCzI0LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRBcHBlYWxWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBRAKIv4CCiNPcGVyYXRvclNlcnZpY2VSZXNvbHZlQXBwZWFsUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLgoJYXBwZWFsX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSLgoJYWN0aW9uX2lkGAsgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSFQoIZGVjaXNpb24YDCABKAlIAIgBARITCgZyZWFzb24YDSABKAlIAYgBARI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHQSPAoIcHJvcG9zYWwYZSABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JQcm9wb3NhbFJlZkILCglfZGVjaXNpb25CCQoHX3JlYXNvbkoECAIQCiJaCiFPcGVyYXRvclNlcnZpY2VSZXNvbHZlQXBwZWFsVmFsdWUSNQoGYWN0aW9uGAogASgLMiUuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQWN0aW9uIusBCiRPcGVyYXRvclNlcnZpY2VSZXNvbHZlQXBwZWFsUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJJCgV2YWx1ZRgCIAEoCzI4LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXNvbHZlQXBwZWFsVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiL5AgooT3BlcmF0b3JTZXJ2aWNlU3RhZ2VDb25maWd1cmF0aW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLgoJY29uZmlnX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSGwoOcGFyZW50X3ZlcnNpb24YCyABKAlIAIgBARI+Cghkb2N1bWVudBgMIAEoCzIsLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5Db25maWd1cmF0aW9uRG9jdW1lbnQSNgoMZG9jdW1lbnRfcmVmGA0gASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQmxvYlJlZhI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRCEQoPX3BhcmVudF92ZXJzaW9uSgQIAhAKImUKJk9wZXJhdG9yU2VydmljZVN0YWdlQ29uZmlndXJhdGlvblZhbHVlEjsKCnZhbGlkYXRpb24YCiABKAsyJy5hcmNmb3JnZXMub3BlcmF0b3IudjEuQ29uZmlnVmFsaWRhdGlvbiL1AQopT3BlcmF0b3JTZXJ2aWNlU3RhZ2VDb25maWd1cmF0aW9uUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJOCgV2YWx1ZRgCIAEoCzI9LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTdGFnZUNvbmZpZ3VyYXRpb25WYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKItQBCitPcGVyYXRvclNlcnZpY2VWYWxpZGF0ZUNvbmZpZ3VyYXRpb25SZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCgljb25maWdfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRKBAgCEAoiaAopT3BlcmF0b3JTZXJ2aWNlVmFsaWRhdGVDb25maWd1cmF0aW9uVmFsdWUSOwoKdmFsaWRhdGlvbhgKIAEoCzInLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5Db25maWdWYWxpZGF0aW9uIvsBCixPcGVyYXRvclNlcnZpY2VWYWxpZGF0ZUNvbmZpZ3VyYXRpb25SZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhElEKBXZhbHVlGAIgASgLMkAuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVZhbGlkYXRlQ29uZmlndXJhdGlvblZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgFEAoixwIKKk9wZXJhdG9yU2VydmljZUFwcHJvdmVDb25maWd1cmF0aW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLgoJY29uZmlnX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSHAoPdmFsaWRhdGlvbl9oYXNoGAsgASgJSACIAQESFAoHYXBwcm92ZRgMIAEoCEgBiAEBEhMKBnJlYXNvbhgNIAEoCUgCiAEBEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEISChBfdmFsaWRhdGlvbl9oYXNoQgoKCF9hcHByb3ZlQgkKB19yZWFzb25KBAgCEAoikgEKKE9wZXJhdG9yU2VydmljZUFwcHJvdmVDb25maWd1cmF0aW9uVmFsdWUSMAoLYXBwcm92YWxfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI0CgpleHBpcmVzX2F0GAsgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSW5zdGFudCL5AQorT3BlcmF0b3JTZXJ2aWNlQXBwcm92ZUNvbmZpZ3VyYXRpb25SZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhElAKBXZhbHVlGAIgASgLMj8uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFwcHJvdmVDb25maWd1cmF0aW9uVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiK/AgorT3BlcmF0b3JTZXJ2aWNlQWN0aXZhdGVDb25maWd1cmF0aW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLgoJY29uZmlnX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSHAoPdmFsaWRhdGlvbl9oYXNoGAsgASgJSACIAQESNwoSc2Vjb25kX2FwcHJvdmFsX2lkGAwgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QhIKEF92YWxpZGF0aW9uX2hhc2hKBAgCEAoiWwopT3BlcmF0b3JTZXJ2aWNlQWN0aXZhdGVDb25maWd1cmF0aW9uVmFsdWUSGwoOYWN0aXZlX3ZlcnNpb24YCiABKAlIAIgBAUIRCg9fYWN0aXZlX3ZlcnNpb24i+wEKLE9wZXJhdG9yU2VydmljZUFjdGl2YXRlQ29uZmlndXJhdGlvblJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESUQoFdmFsdWUYAiABKAsyQC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlQWN0aXZhdGVDb25maWd1cmF0aW9uVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiLPAQomT3BlcmF0b3JTZXJ2aWNlR2V0Q29uZmlndXJhdGlvblJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEi4KCWNvbmZpZ19pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEoECAIQCiLbAQokT3BlcmF0b3JTZXJ2aWNlR2V0Q29uZmlndXJhdGlvblZhbHVlEj4KCGRvY3VtZW50GAogASgLMiwuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLkNvbmZpZ3VyYXRpb25Eb2N1bWVudBI7Cgp2YWxpZGF0aW9uGAsgASgLMicuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLkNvbmZpZ1ZhbGlkYXRpb24SNgoMZG9jdW1lbnRfcmVmGAwgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQmxvYlJlZiLxAQonT3BlcmF0b3JTZXJ2aWNlR2V0Q29uZmlndXJhdGlvblJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESTAoFdmFsdWUYAiABKAsyOy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0Q29uZmlndXJhdGlvblZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgFEAoirQMKI09wZXJhdG9yU2VydmljZVNldEtpbGxTd2l0Y2hSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIuCglhY3Rpb25faWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIRCgRtb2RlGAsgASgJSACIAQESNAoFc2NvcGUYDCABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BZ2dyZWdhdGVSZWYSEwoGcmVhc29uGA0gASgJSAGIAQESLwoFdW50aWwYDiABKAsyIC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JbnN0YW50EjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dBI8Cghwcm9wb3NhbBhlIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclByb3Bvc2FsUmVmQgcKBV9tb2RlQgkKB19yZWFzb25KBAgCEAoiWgohT3BlcmF0b3JTZXJ2aWNlU2V0S2lsbFN3aXRjaFZhbHVlEjUKBmFjdGlvbhgKIAEoCzIlLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckFjdGlvbiLrAQokT3BlcmF0b3JTZXJ2aWNlU2V0S2lsbFN3aXRjaFJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESSQoFdmFsdWUYAiABKAsyOC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlU2V0S2lsbFN3aXRjaFZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoi2gIKJU9wZXJhdG9yU2VydmljZVN0YXJ0QnJlYWtHbGFzc1JlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEi4KCWFjY2Vzc19pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjAKC2luY2lkZW50X2lkGAsgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOAoJcmVzb3VyY2VzGAwgAygLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQWdncmVnYXRlUmVmEhMKBnJlYXNvbhgNIAEoCUgAiAEBEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEIJCgdfcmVhc29uSgQIAhAKIlwKI09wZXJhdG9yU2VydmljZVN0YXJ0QnJlYWtHbGFzc1ZhbHVlEjUKBmFjY2VzcxgKIAEoCzIlLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckFjY2VzcyLvAQomT3BlcmF0b3JTZXJ2aWNlU3RhcnRCcmVha0dsYXNzUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJLCgV2YWx1ZRgCIAEoCzI6LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTdGFydEJyZWFrR2xhc3NWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIu4BCiNPcGVyYXRvclNlcnZpY2VFbmRCcmVha0dsYXNzUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESLgoJYWNjZXNzX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSFAoHb3V0Y29tZRgLIAEoCUgAiAEBEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEIKCghfb3V0Y29tZUoECAIQCiJWCiFPcGVyYXRvclNlcnZpY2VFbmRCcmVha0dsYXNzVmFsdWUSMQoHcmVjZWlwdBgKIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlY2VpcHQi6wEKJE9wZXJhdG9yU2VydmljZUVuZEJyZWFrR2xhc3NSZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEkkKBXZhbHVlGAIgASgLMjguYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUVuZEJyZWFrR2xhc3NWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIu0CCiNPcGVyYXRvclNlcnZpY2VQcm9wb3NlQWN0aW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESMAoLcHJvcG9zYWxfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBI5CghtdXRhdGlvbhgLIAEoCzInLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvck11dGF0aW9uEkIKF2V4cGVjdGVkX293bmVyX3JldmlzaW9uGAwgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmV2aXNpb24SEwoGcmVhc29uGA0gASgJSACIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0QgkKB19yZWFzb25KBAgCEAoiXgohT3BlcmF0b3JTZXJ2aWNlUHJvcG9zZUFjdGlvblZhbHVlEjkKCHByb3Bvc2FsGAogASgLMicuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUHJvcG9zYWwi6wEKJE9wZXJhdG9yU2VydmljZVByb3Bvc2VBY3Rpb25SZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEkkKBXZhbHVlGAIgASgLMjguYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVByb3Bvc2VBY3Rpb25WYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIr4CCiNPcGVyYXRvclNlcnZpY2VBcHByb3ZlQWN0aW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESMAoLcHJvcG9zYWxfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIaCg1wcm9wb3NhbF9oYXNoGAsgASgJSACIAQESFAoHYXBwcm92ZRgMIAEoCEgBiAEBEhMKBnJlYXNvbhgNIAEoCUgCiAEBEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEIQCg5fcHJvcG9zYWxfaGFzaEIKCghfYXBwcm92ZUIJCgdfcmVhc29uSgQIAhAKIl4KIU9wZXJhdG9yU2VydmljZUFwcHJvdmVBY3Rpb25WYWx1ZRI5Cghwcm9wb3NhbBgKIAEoCzInLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclByb3Bvc2FsIusBCiRPcGVyYXRvclNlcnZpY2VBcHByb3ZlQWN0aW9uUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJJCgV2YWx1ZRgCIAEoCzI4LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VBcHByb3ZlQWN0aW9uVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiLMAQohT3BlcmF0b3JTZXJ2aWNlR2V0UHJvcG9zYWxSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIwCgtwcm9wb3NhbF9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEoECAIQCiKZAQofT3BlcmF0b3JTZXJ2aWNlR2V0UHJvcG9zYWxWYWx1ZRI5Cghwcm9wb3NhbBgKIAEoCzInLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclByb3Bvc2FsEjsKDG93bmVyX3Jlc3VsdBgLIAEoCzIlLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclJlc3VsdCLnAQoiT3BlcmF0b3JTZXJ2aWNlR2V0UHJvcG9zYWxSZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEkcKBXZhbHVlGAIgASgLMjYuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUdldFByb3Bvc2FsVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAUQCiLdAQomT3BlcmF0b3JTZXJ2aWNlR3JhbnRFbnRpdGxlbWVudFJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEjwKCHByb3Bvc2FsGAogASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUHJvcG9zYWxSZWYSOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0SgQIAhAKIocBCiRPcGVyYXRvclNlcnZpY2VHcmFudEVudGl0bGVtZW50VmFsdWUSLAoFZ3JhbnQYCiABKAsyHS5hcmNmb3JnZXMucHVibGljYXBpLnYxLkdyYW50EjEKB3JlY2VpcHQYCyABKAsyIC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZWNlaXB0IvEBCidPcGVyYXRvclNlcnZpY2VHcmFudEVudGl0bGVtZW50UmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJMCgV2YWx1ZRgCIAEoCzI7LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHcmFudEVudGl0bGVtZW50VmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiLeAQonT3BlcmF0b3JTZXJ2aWNlUmV2b2tlRW50aXRsZW1lbnRSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRI8Cghwcm9wb3NhbBgKIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclByb3Bvc2FsUmVmEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEoECAIQCiKIAQolT3BlcmF0b3JTZXJ2aWNlUmV2b2tlRW50aXRsZW1lbnRWYWx1ZRIsCgVncmFudBgKIAEoCzIdLmFyY2Zvcmdlcy5wdWJsaWNhcGkudjEuR3JhbnQSMQoHcmVjZWlwdBgLIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlY2VpcHQi8wEKKE9wZXJhdG9yU2VydmljZVJldm9rZUVudGl0bGVtZW50UmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJNCgV2YWx1ZRgCIAEoCzI8LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXZva2VFbnRpdGxlbWVudFZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoi3gEKJ09wZXJhdG9yU2VydmljZUlzc3VlQ29tcGVuc2F0aW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESPAoIcHJvcG9zYWwYCiABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JQcm9wb3NhbFJlZhI7Cgdjb250ZXh0GGQgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yQ2FsbENvbnRleHRKBAgCEAoiigEKJU9wZXJhdG9yU2VydmljZUlzc3VlQ29tcGVuc2F0aW9uVmFsdWUSLgoDbG90GAogASgLMiEuYXJjZm9yZ2VzLnB1YmxpY2FwaS52MS5DcmVkaXRMb3QSMQoHcmVjZWlwdBgLIAEoCzIgLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlY2VpcHQi8wEKKE9wZXJhdG9yU2VydmljZUlzc3VlQ29tcGVuc2F0aW9uUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJNCgV2YWx1ZRgCIAEoCzI8LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VJc3N1ZUNvbXBlbnNhdGlvblZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoi3wEKKE9wZXJhdG9yU2VydmljZUFkanVzdENvbXBlbnNhdGlvblJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEjwKCHByb3Bvc2FsGAogASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUHJvcG9zYWxSZWYSOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0SgQIAhAKIosBCiZPcGVyYXRvclNlcnZpY2VBZGp1c3RDb21wZW5zYXRpb25WYWx1ZRIuCgNsb3QYCiABKAsyIS5hcmNmb3JnZXMucHVibGljYXBpLnYxLkNyZWRpdExvdBIxCgdyZWNlaXB0GAsgASgLMiAuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVjZWlwdCL1AQopT3BlcmF0b3JTZXJ2aWNlQWRqdXN0Q29tcGVuc2F0aW9uUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJOCgV2YWx1ZRgCIAEoCzI9LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VBZGp1c3RDb21wZW5zYXRpb25WYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKItkBCiJPcGVyYXRvclNlcnZpY2VEZWNpZGVSZWZ1bmRSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRI8Cghwcm9wb3NhbBgKIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclByb3Bvc2FsUmVmEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEoECAIQCiKJAQogT3BlcmF0b3JTZXJ2aWNlRGVjaWRlUmVmdW5kVmFsdWUSMgoGcmVmdW5kGAogASgLMiIuYXJjZm9yZ2VzLnB1YmxpY2FwaS52MS5SZWZ1bmRWaWV3EjEKB3JlY2VpcHQYCyABKAsyIC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZWNlaXB0IukBCiNPcGVyYXRvclNlcnZpY2VEZWNpZGVSZWZ1bmRSZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhEkgKBXZhbHVlGAIgASgLMjcuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZURlY2lkZVJlZnVuZFZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgEEAoi1wEKKk9wZXJhdG9yU2VydmljZUdldENhdGFsb2dTdWJtaXNzaW9uUmVxdWVzdBIyCgRtZXRhGAEgASgLMiQuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVxdWVzdE1ldGESMgoNc3VibWlzc2lvbl9pZBgKIAEoCzIbLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLklkEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEoECAIQCiJrCihPcGVyYXRvclNlcnZpY2VHZXRDYXRhbG9nU3VibWlzc2lvblZhbHVlEj8KCnN1Ym1pc3Npb24YCiABKAsyKy5hcmNmb3JnZXMuY2F0YWxvZy52MS5DYXRhbG9nU3VibWlzc2lvblZpZXci+QEKK09wZXJhdG9yU2VydmljZUdldENhdGFsb2dTdWJtaXNzaW9uUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJQCgV2YWx1ZRgCIAEoCzI/LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRDYXRhbG9nU3VibWlzc2lvblZhbHVlSAASMgoFZXJyb3IYAyABKAsyIS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5BcmNFcnJvckgAQgkKB291dGNvbWVKBAgFEAoikwIKH09wZXJhdG9yU2VydmljZVJlcGx5Q2FzZVJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEiwKB2Nhc2VfaWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBIvCgptZXNzYWdlX2lkGAsgASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSEQoEdGV4dBgMIAEoCUgAiAEBEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEIHCgVfdGV4dEoECAIQCiJSCh1PcGVyYXRvclNlcnZpY2VSZXBseUNhc2VWYWx1ZRIxCgRjYXNlGAogASgLMiMuYXJjZm9yZ2VzLnB1YmxpY2FwaS52MS5TdXBwb3J0Q2FzZSLjAQogT3BlcmF0b3JTZXJ2aWNlUmVwbHlDYXNlUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJFCgV2YWx1ZRgCIAEoCzI0LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXBseUNhc2VWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIrACCiJPcGVyYXRvclNlcnZpY2VTZXRDYXNlU3RhdGVSZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIsCgdjYXNlX2lkGAogASgLMhsuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuSWQSOwoFc3RhdGUYCyABKA4yJy5hcmNmb3JnZXMub3BlcmF0b3IudjEuU3VwcG9ydENhc2VTdGF0ZUgAiAEBEhMKBnJlYXNvbhgMIAEoCUgBiAEBEjsKB2NvbnRleHQYZCABKAsyKi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JDYWxsQ29udGV4dEIICgZfc3RhdGVCCQoHX3JlYXNvbkoECAIQCiJVCiBPcGVyYXRvclNlcnZpY2VTZXRDYXNlU3RhdGVWYWx1ZRIxCgRjYXNlGAogASgLMiMuYXJjZm9yZ2VzLnB1YmxpY2FwaS52MS5TdXBwb3J0Q2FzZSLpAQojT3BlcmF0b3JTZXJ2aWNlU2V0Q2FzZVN0YXRlUmVzcG9uc2USMwoEbWV0YRgBIAEoCzIlLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlc3BvbnNlTWV0YRJICgV2YWx1ZRgCIAEoCzI3LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTZXRDYXNlU3RhdGVWYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKIq0DCi1PcGVyYXRvclNlcnZpY2VSZXZpZXdDYXRhbG9nU3VibWlzc2lvblJlcXVlc3QSMgoEbWV0YRgBIAEoCzIkLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLlJlcXVlc3RNZXRhEjIKDXN1Ym1pc3Npb25faWQYCiABKAsyGy5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5JZBJCCghkZWNpc2lvbhgLIAEoDjIrLmFyY2Zvcmdlcy5jYXRhbG9nLnYxLkNhdGFsb2dSZXZpZXdEZWNpc2lvbkgAiAEBEhMKBnJlYXNvbhgMIAEoCUgBiAEBEhUKCGV2aWRlbmNlGA0gASgJSAKIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0EjwKCHByb3Bvc2FsGGUgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUHJvcG9zYWxSZWZCCwoJX2RlY2lzaW9uQgkKB19yZWFzb25CCwoJX2V2aWRlbmNlSgQIAhAKIm4KK09wZXJhdG9yU2VydmljZVJldmlld0NhdGFsb2dTdWJtaXNzaW9uVmFsdWUSPwoKc3VibWlzc2lvbhgKIAEoCzIrLmFyY2Zvcmdlcy5jYXRhbG9nLnYxLkNhdGFsb2dTdWJtaXNzaW9uVmlldyL/AQouT3BlcmF0b3JTZXJ2aWNlUmV2aWV3Q2F0YWxvZ1N1Ym1pc3Npb25SZXNwb25zZRIzCgRtZXRhGAEgASgLMiUuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuUmVzcG9uc2VNZXRhElMKBXZhbHVlGAIgASgLMkIuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJldmlld0NhdGFsb2dTdWJtaXNzaW9uVmFsdWVIABIyCgVlcnJvchgDIAEoCzIhLmFyY2Zvcmdlcy5mb3VuZGF0aW9uLnYxLkFyY0Vycm9ySABCCQoHb3V0Y29tZUoECAQQCiLvAgoqT3BlcmF0b3JTZXJ2aWNlUmV2b2tlQ2F0YWxvZ1ZlcnNpb25SZXF1ZXN0EjIKBG1ldGEYASABKAsyJC5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXF1ZXN0TWV0YRIXCgpwYWNrYWdlX2lkGAogASgJSACIAQESFAoHdmVyc2lvbhgLIAEoCUgBiAEBEhMKBnJlYXNvbhgMIAEoCUgCiAEBEhUKCGV2aWRlbmNlGA0gASgJSAOIAQESOwoHY29udGV4dBhkIAEoCzIqLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvckNhbGxDb250ZXh0EjwKCHByb3Bvc2FsGGUgASgLMiouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yUHJvcG9zYWxSZWZCDQoLX3BhY2thZ2VfaWRCCgoIX3ZlcnNpb25CCQoHX3JlYXNvbkILCglfZXZpZGVuY2VKBAgCEAoiZQooT3BlcmF0b3JTZXJ2aWNlUmV2b2tlQ2F0YWxvZ1ZlcnNpb25WYWx1ZRI5Cgd2ZXJzaW9uGAogASgLMiguYXJjZm9yZ2VzLmNhdGFsb2cudjEuQ2F0YWxvZ1ZlcnNpb25WaWV3IvkBCitPcGVyYXRvclNlcnZpY2VSZXZva2VDYXRhbG9nVmVyc2lvblJlc3BvbnNlEjMKBG1ldGEYASABKAsyJS5hcmNmb3JnZXMuZm91bmRhdGlvbi52MS5SZXNwb25zZU1ldGESUAoFdmFsdWUYAiABKAsyPy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmV2b2tlQ2F0YWxvZ1ZlcnNpb25WYWx1ZUgAEjIKBWVycm9yGAMgASgLMiEuYXJjZm9yZ2VzLmZvdW5kYXRpb24udjEuQXJjRXJyb3JIAEIJCgdvdXRjb21lSgQIBBAKKqUCChVPcGVyYXRvclByb3Bvc2FsU3RhdGUSJwojT1BFUkFUT1JfUFJPUE9TQUxfU1RBVEVfVU5TUEVDSUZJRUQQABIjCh9PUEVSQVRPUl9QUk9QT1NBTF9TVEFURV9QRU5ESU5HEAESJAogT1BFUkFUT1JfUFJPUE9TQUxfU1RBVEVfQVBQUk9WRUQQAhIkCiBPUEVSQVRPUl9QUk9QT1NBTF9TVEFURV9SRUpFQ1RFRBADEiMKH09QRVJBVE9SX1BST1BPU0FMX1NUQVRFX0VYUElSRUQQBBInCiNPUEVSQVRPUl9QUk9QT1NBTF9TVEFURV9JTlZBTElEQVRFRBAFEiQKIE9QRVJBVE9SX1BST1BPU0FMX1NUQVRFX0VYRUNVVEVEEAYqjQEKFk9wZXJhdG9yUmVmdW5kRGVjaXNpb24SKAokT1BFUkFUT1JfUkVGVU5EX0RFQ0lTSU9OX1VOU1BFQ0lGSUVEEAASJAogT1BFUkFUT1JfUkVGVU5EX0RFQ0lTSU9OX0FQUFJPVkUQARIjCh9PUEVSQVRPUl9SRUZVTkRfREVDSVNJT05fUkVKRUNUEAIqjgEKE09wZXJhdG9yR3JhbnRTb3VyY2USJQohT1BFUkFUT1JfR1JBTlRfU09VUkNFX1VOU1BFQ0lGSUVEEAASKAokT1BFUkFUT1JfR1JBTlRfU09VUkNFX0FETUlOSVNUUkFUSVZFEAESJgoiT1BFUkFUT1JfR1JBTlRfU09VUkNFX0NPTVBFTlNBVElPThACKp4BChFPcGVyYXRvckdyYW50S2luZBIjCh9PUEVSQVRPUl9HUkFOVF9LSU5EX1VOU1BFQ0lGSUVEEAASIgoeT1BFUkFUT1JfR1JBTlRfS0lORF9DQVBBQklMSVRZEAESHQoZT1BFUkFUT1JfR1JBTlRfS0lORF9RVU9UQRACEiEKHU9QRVJBVE9SX0dSQU5UX0tJTkRfQUxMT1dBTkNFEAMq3QEKEFN1cHBvcnRDYXNlU3RhdGUSIgoeU1VQUE9SVF9DQVNFX1NUQVRFX1VOU1BFQ0lGSUVEEAASGwoXU1VQUE9SVF9DQVNFX1NUQVRFX09QRU4QARIiCh5TVVBQT1JUX0NBU0VfU1RBVEVfSU5fUFJPR1JFU1MQAhIkCiBTVVBQT1JUX0NBU0VfU1RBVEVfQVdBSVRJTkdfVVNFUhADEh8KG1NVUFBPUlRfQ0FTRV9TVEFURV9SRVNPTFZFRBAEEh0KGVNVUFBPUlRfQ0FTRV9TVEFURV9DTE9TRUQQBTKMIwoPT3BlcmF0b3JTZXJ2aWNlEnwKCUxpc3RDYXNlcxI2LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VMaXN0Q2FzZXNSZXF1ZXN0GjcuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUxpc3RDYXNlc1Jlc3BvbnNlEnYKB0dldENhc2USNC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0Q2FzZVJlcXVlc3QaNS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0Q2FzZVJlc3BvbnNlEogBCg1SZXF1ZXN0QWNjZXNzEjouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJlcXVlc3RBY2Nlc3NSZXF1ZXN0GjsuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJlcXVlc3RBY2Nlc3NSZXNwb25zZRKIAQoNQXBwcm92ZUFjY2VzcxI6LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VBcHByb3ZlQWNjZXNzUmVxdWVzdBo7LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VBcHByb3ZlQWNjZXNzUmVzcG9uc2USfAoJRW5kQWNjZXNzEjYuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUVuZEFjY2Vzc1JlcXVlc3QaNy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRW5kQWNjZXNzUmVzcG9uc2USiwEKDlJlYWREaWFnbm9zdGljEjsuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJlYWREaWFnbm9zdGljUmVxdWVzdBo8LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZWFkRGlhZ25vc3RpY1Jlc3BvbnNlEpcBChJQcm9wb3NlRW5mb3JjZW1lbnQSPy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUHJvcG9zZUVuZm9yY2VtZW50UmVxdWVzdBpALmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VQcm9wb3NlRW5mb3JjZW1lbnRSZXNwb25zZRKUAQoRRGVjaWRlRW5mb3JjZW1lbnQSPi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRGVjaWRlRW5mb3JjZW1lbnRSZXF1ZXN0Gj8uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZURlY2lkZUVuZm9yY2VtZW50UmVzcG9uc2USfAoJR2V0QXBwZWFsEjYuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUdldEFwcGVhbFJlcXVlc3QaNy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0QXBwZWFsUmVzcG9uc2USiAEKDVJlc29sdmVBcHBlYWwSOi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmVzb2x2ZUFwcGVhbFJlcXVlc3QaOy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmVzb2x2ZUFwcGVhbFJlc3BvbnNlEpcBChJTdGFnZUNvbmZpZ3VyYXRpb24SPy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlU3RhZ2VDb25maWd1cmF0aW9uUmVxdWVzdBpALmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTdGFnZUNvbmZpZ3VyYXRpb25SZXNwb25zZRKgAQoVVmFsaWRhdGVDb25maWd1cmF0aW9uEkIuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVZhbGlkYXRlQ29uZmlndXJhdGlvblJlcXVlc3QaQy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlVmFsaWRhdGVDb25maWd1cmF0aW9uUmVzcG9uc2USnQEKFEFwcHJvdmVDb25maWd1cmF0aW9uEkEuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFwcHJvdmVDb25maWd1cmF0aW9uUmVxdWVzdBpCLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VBcHByb3ZlQ29uZmlndXJhdGlvblJlc3BvbnNlEqABChVBY3RpdmF0ZUNvbmZpZ3VyYXRpb24SQi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlQWN0aXZhdGVDb25maWd1cmF0aW9uUmVxdWVzdBpDLmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VBY3RpdmF0ZUNvbmZpZ3VyYXRpb25SZXNwb25zZRKRAQoQR2V0Q29uZmlndXJhdGlvbhI9LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRDb25maWd1cmF0aW9uUmVxdWVzdBo+LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VHZXRDb25maWd1cmF0aW9uUmVzcG9uc2USiAEKDVNldEtpbGxTd2l0Y2gSOi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlU2V0S2lsbFN3aXRjaFJlcXVlc3QaOy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlU2V0S2lsbFN3aXRjaFJlc3BvbnNlEo4BCg9TdGFydEJyZWFrR2xhc3MSPC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlU3RhcnRCcmVha0dsYXNzUmVxdWVzdBo9LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTdGFydEJyZWFrR2xhc3NSZXNwb25zZRKIAQoNRW5kQnJlYWtHbGFzcxI6LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VFbmRCcmVha0dsYXNzUmVxdWVzdBo7LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VFbmRCcmVha0dsYXNzUmVzcG9uc2USiAEKDVByb3Bvc2VBY3Rpb24SOi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUHJvcG9zZUFjdGlvblJlcXVlc3QaOy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUHJvcG9zZUFjdGlvblJlc3BvbnNlEogBCg1BcHByb3ZlQWN0aW9uEjouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFwcHJvdmVBY3Rpb25SZXF1ZXN0GjsuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFwcHJvdmVBY3Rpb25SZXNwb25zZRKCAQoLR2V0UHJvcG9zYWwSOC5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0UHJvcG9zYWxSZXF1ZXN0GjkuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUdldFByb3Bvc2FsUmVzcG9uc2USkQEKEEdyYW50RW50aXRsZW1lbnQSPS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR3JhbnRFbnRpdGxlbWVudFJlcXVlc3QaPi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR3JhbnRFbnRpdGxlbWVudFJlc3BvbnNlEpQBChFSZXZva2VFbnRpdGxlbWVudBI+LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXZva2VFbnRpdGxlbWVudFJlcXVlc3QaPy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmV2b2tlRW50aXRsZW1lbnRSZXNwb25zZRKUAQoRSXNzdWVDb21wZW5zYXRpb24SPi5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlSXNzdWVDb21wZW5zYXRpb25SZXF1ZXN0Gj8uYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUlzc3VlQ29tcGVuc2F0aW9uUmVzcG9uc2USlwEKEkFkanVzdENvbXBlbnNhdGlvbhI/LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VBZGp1c3RDb21wZW5zYXRpb25SZXF1ZXN0GkAuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUFkanVzdENvbXBlbnNhdGlvblJlc3BvbnNlEoUBCgxEZWNpZGVSZWZ1bmQSOS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlRGVjaWRlUmVmdW5kUmVxdWVzdBo6LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VEZWNpZGVSZWZ1bmRSZXNwb25zZRKdAQoUR2V0Q2F0YWxvZ1N1Ym1pc3Npb24SQS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlR2V0Q2F0YWxvZ1N1Ym1pc3Npb25SZXF1ZXN0GkIuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZUdldENhdGFsb2dTdWJtaXNzaW9uUmVzcG9uc2USfAoJUmVwbHlDYXNlEjYuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJlcGx5Q2FzZVJlcXVlc3QaNy5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmVwbHlDYXNlUmVzcG9uc2UShQEKDFNldENhc2VTdGF0ZRI5LmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VTZXRDYXNlU3RhdGVSZXF1ZXN0GjouYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVNldENhc2VTdGF0ZVJlc3BvbnNlEqYBChdSZXZpZXdDYXRhbG9nU3VibWlzc2lvbhJELmFyY2Zvcmdlcy5vcGVyYXRvci52MS5PcGVyYXRvclNlcnZpY2VSZXZpZXdDYXRhbG9nU3VibWlzc2lvblJlcXVlc3QaRS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmV2aWV3Q2F0YWxvZ1N1Ym1pc3Npb25SZXNwb25zZRKdAQoUUmV2b2tlQ2F0YWxvZ1ZlcnNpb24SQS5hcmNmb3JnZXMub3BlcmF0b3IudjEuT3BlcmF0b3JTZXJ2aWNlUmV2b2tlQ2F0YWxvZ1ZlcnNpb25SZXF1ZXN0GkIuYXJjZm9yZ2VzLm9wZXJhdG9yLnYxLk9wZXJhdG9yU2VydmljZVJldm9rZUNhdGFsb2dWZXJzaW9uUmVzcG9uc2VCbAopaW8uZ2l0aHViLmFyY2Zvcmdlcy5jb250cmFjdHMub3BlcmF0b3IudjFCDU9wZXJhdG9yUHJvdG9QAaoCLUFyY0Zvcmdlcy5Db250cmFjdHMuQ2xvdWRJbnRlcm5hbC5PcGVyYXRvci5WMWIGcHJvdG8z", [file_arcforges_foundation_v1_foundation, file_arcforges_catalog_v1_catalog, file_arcforges_publicapi_v1_commerce, file_arcforges_publicapi_v1_content]);
13
13
  /**
14
14
  * Describes the message arcforges.operator.v1.OperatorCallContext.
15
15
  * Use `create(OperatorCallContextSchema)` to create a new message.
@@ -3842,8 +3842,6 @@ function checkOperatorServiceGetConfigurationValue(input, context) {
3842
3842
  context.depth++;
3843
3843
  try {
3844
3844
  const value = input;
3845
- if (value.document === undefined)
3846
- return false;
3847
3845
  if (value.document !== undefined) {
3848
3846
  const fieldValue = value.document;
3849
3847
  if (!checkConfigurationDocument(fieldValue, context))
@@ -3856,6 +3854,13 @@ function checkOperatorServiceGetConfigurationValue(input, context) {
3856
3854
  if (!checkConfigValidation(fieldValue, context))
3857
3855
  return false;
3858
3856
  }
3857
+ if (value.documentRef !== undefined) {
3858
+ const fieldValue = value.documentRef;
3859
+ if (!checkBlobRef(fieldValue, context))
3860
+ return false;
3861
+ }
3862
+ if ([value.document, value.documentRef].filter(v => v !== undefined).length !== 1 || value.documentRef !== undefined && (value.documentRef.sizeBytes < 1n || value.documentRef.sizeBytes > 2097152n))
3863
+ return false;
3859
3864
  return true;
3860
3865
  }
3861
3866
  finally {
@@ -5705,8 +5710,6 @@ function checkOperatorServiceStageConfigurationRequest(input, context) {
5705
5710
  if ((new RegExp("^[A-Za-z0-9._:/-]{1,128}$", 'u')).exec(fieldValue)?.[0] !== fieldValue)
5706
5711
  return false;
5707
5712
  }
5708
- if (value.document === undefined)
5709
- return false;
5710
5713
  if (value.document !== undefined) {
5711
5714
  const fieldValue = value.document;
5712
5715
  if (!checkConfigurationDocument(fieldValue, context))
@@ -5719,6 +5722,13 @@ function checkOperatorServiceStageConfigurationRequest(input, context) {
5719
5722
  if (!checkOperatorCallContext(fieldValue, context))
5720
5723
  return false;
5721
5724
  }
5725
+ if (value.documentRef !== undefined) {
5726
+ const fieldValue = value.documentRef;
5727
+ if (!checkBlobRef(fieldValue, context))
5728
+ return false;
5729
+ }
5730
+ if ([value.document, value.documentRef].filter(v => v !== undefined).length !== 1 || value.documentRef !== undefined && (value.documentRef.sizeBytes < 1n || value.documentRef.sizeBytes > 2097152n))
5731
+ return false;
5722
5732
  return true;
5723
5733
  }
5724
5734
  finally {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcforges/operator-client",
3
- "version": "1.0.0-ci.322.1",
3
+ "version": "1.0.0-ci.330.1",
4
4
  "description": "Internal operator protobuf records; Operations-only import boundary.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -34,7 +34,7 @@
34
34
  "source.json"
35
35
  ],
36
36
  "dependencies": {
37
- "@arcforges/proto": "1.0.0-ci.322.1",
37
+ "@arcforges/proto": "1.0.0-ci.330.1",
38
38
  "@bufbuild/protobuf": "2.15.0"
39
39
  },
40
40
  "publishConfig": {
package/sbom.cdx.json CHANGED
@@ -5,10 +5,10 @@
5
5
  "metadata": {
6
6
  "component": {
7
7
  "type": "library",
8
- "bom-ref": "pkg:npm/%40arcforges/operator-client@1.0.0-ci.322.1",
8
+ "bom-ref": "pkg:npm/%40arcforges/operator-client@1.0.0-ci.330.1",
9
9
  "name": "@arcforges/operator-client",
10
- "version": "1.0.0-ci.322.1",
11
- "purl": "pkg:npm/%40arcforges/operator-client@1.0.0-ci.322.1",
10
+ "version": "1.0.0-ci.330.1",
11
+ "purl": "pkg:npm/%40arcforges/operator-client@1.0.0-ci.330.1",
12
12
  "licenses": [
13
13
  {
14
14
  "expression": "Apache-2.0"
@@ -19,10 +19,10 @@
19
19
  "components": [
20
20
  {
21
21
  "type": "library",
22
- "bom-ref": "pkg:npm/%40arcforges/proto@1.0.0-ci.322.1",
22
+ "bom-ref": "pkg:npm/%40arcforges/proto@1.0.0-ci.330.1",
23
23
  "name": "@arcforges/proto",
24
- "version": "1.0.0-ci.322.1",
25
- "purl": "pkg:npm/%40arcforges/proto@1.0.0-ci.322.1",
24
+ "version": "1.0.0-ci.330.1",
25
+ "purl": "pkg:npm/%40arcforges/proto@1.0.0-ci.330.1",
26
26
  "licenses": [
27
27
  {
28
28
  "expression": "Apache-2.0"
@@ -48,15 +48,15 @@
48
48
  "dependsOn": []
49
49
  },
50
50
  {
51
- "ref": "pkg:npm/%40arcforges/proto@1.0.0-ci.322.1",
51
+ "ref": "pkg:npm/%40arcforges/proto@1.0.0-ci.330.1",
52
52
  "dependsOn": [
53
53
  "pkg:npm/%40bufbuild/protobuf@2.15.0"
54
54
  ]
55
55
  },
56
56
  {
57
- "ref": "pkg:npm/%40arcforges/operator-client@1.0.0-ci.322.1",
57
+ "ref": "pkg:npm/%40arcforges/operator-client@1.0.0-ci.330.1",
58
58
  "dependsOn": [
59
- "pkg:npm/%40arcforges/proto@1.0.0-ci.322.1",
59
+ "pkg:npm/%40arcforges/proto@1.0.0-ci.330.1",
60
60
  "pkg:npm/%40bufbuild/protobuf@2.15.0"
61
61
  ]
62
62
  }
@@ -450,6 +450,8 @@ message OperatorServiceStageConfigurationRequest {
450
450
  arcforges.foundation.v1.Id config_id = 10 [json_name = "configId"];
451
451
  optional string parent_version = 11 [json_name = "parentVersion"];
452
452
  ConfigurationDocument document = 12 [json_name = "document"];
453
+ // Exactly one inline document or immutable complete-envelope reference; the owner verifies bytes and authority.
454
+ arcforges.foundation.v1.BlobRef document_ref = 13 [json_name = "documentRef"];
453
455
  OperatorCallContext context = 100 [json_name = "context"];
454
456
  reserved 2 to 9;
455
457
  }
@@ -528,6 +530,7 @@ message OperatorServiceGetConfigurationRequest {
528
530
  message OperatorServiceGetConfigurationValue {
529
531
  ConfigurationDocument document = 10 [json_name = "document"];
530
532
  ConfigValidation validation = 11 [json_name = "validation"];
533
+ arcforges.foundation.v1.BlobRef document_ref = 12 [json_name = "documentRef"];
531
534
  }
532
535
  message OperatorServiceGetConfigurationResponse {
533
536
  arcforges.foundation.v1.ResponseMeta meta = 1 [json_name = "meta"];
package/source.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "repository": "https://github.com/ArcForges/Contracts",
3
- "commit": "db9df61430cd8a6c3765a7986bcc4b4165307abc",
3
+ "commit": "8715f6e2462153fac44bccac2dd9e8b55adafc5f",
4
4
  "dirty": false,
5
- "version": "1.0.0-ci.322.1",
5
+ "version": "1.0.0-ci.330.1",
6
6
  "contractAccess": "internal",
7
7
  "schemaSources": {
8
- "internal/proto/arcforges/operator/v1/operator.proto": "fd5b7e820e7962bec3f5286f72c086974ac900caa518e3b0c2c3301946e0dd67",
8
+ "internal/proto/arcforges/operator/v1/operator.proto": "967ab96b940fbef22a6a2c268213ea9235d22d76c703d5577fe10f7a38538fea",
9
9
  "public/proto/arcforges/catalog/v1/catalog.proto": "ff77d24be445e107d4fb4a0b3f7fd6b205664317e856a3696e471be1a18f0828",
10
10
  "public/proto/arcforges/events/v1/events.proto": "33953eb0fa0ade48154efee887abae991d8eb697542516091164b7601e95d25e",
11
11
  "public/proto/arcforges/foundation/v1/foundation.proto": "e7e634103664dcca4c63383dd0eda5d90b408edb4786bfdf4a148856fed92736",
@@ -25,7 +25,7 @@
25
25
  "public/proto/arcforges/publicapi/v1/transfer.proto": "f7d53346a43cd977224154b33d8f1f3f3f4b973c67e513caf384b195654abc0e",
26
26
  "public/proto/arcforges/simulation/v1/simulation.proto": "132e52b8f66b9bbdde779ee295a1b2406bb26d12e97e7e8ecf78e0c34fa98c7f"
27
27
  },
28
- "descriptorSha256": "c659d109d2f528eda73763b5d360e687da3fb6af267cecf5d0ea452e31f11d2a",
28
+ "descriptorSha256": "f43a88d4021f23cb39280a6db6472e458cd7e2df21a40ca06f7e54ab17f7b1fe",
29
29
  "dependencyLocks": {
30
30
  "package-lock.json": "3e536db25743ceb5a021559dbc1f31d57112211c62d94f84df34daca5382709c",
31
31
  "src/public/dotnet/ArcForges.Contracts.Foundation/packages.lock.json": "fa17fe6057706e36ae0b9370a457536d05d0f3a8f0f72df622881bfc1628337e",