@projectqai/proto 0.0.54 → 0.0.55

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.
@@ -0,0 +1,84 @@
1
+ // @generated by protoc-gen-es v2.10.2 with parameter "target=js+dts,import_extension=.js"
2
+ // @generated from file manualcontrol.proto (package world, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import type { Message } from "@bufbuild/protobuf";
7
+
8
+ /**
9
+ * Describes the file manualcontrol.proto.
10
+ */
11
+ export declare const file_manualcontrol: GenFile;
12
+
13
+ /**
14
+ * @generated from message world.ManualControlInput
15
+ */
16
+ export declare type ManualControlInput = Message<"world.ManualControlInput"> & {
17
+ /**
18
+ * @generated from field: world.ManualControlAxes axes = 1;
19
+ */
20
+ axes?: ManualControlAxes;
21
+ };
22
+
23
+ /**
24
+ * Describes the message world.ManualControlInput.
25
+ * Use `create(ManualControlInputSchema)` to create a new message.
26
+ */
27
+ export declare const ManualControlInputSchema: GenMessage<ManualControlInput>;
28
+
29
+ /**
30
+ * @generated from message world.ManualControlAxes
31
+ */
32
+ export declare type ManualControlAxes = Message<"world.ManualControlAxes"> & {
33
+ /**
34
+ * @generated from field: optional float forward = 1;
35
+ */
36
+ forward?: number;
37
+
38
+ /**
39
+ * @generated from field: optional float right = 2;
40
+ */
41
+ right?: number;
42
+
43
+ /**
44
+ * @generated from field: optional float up = 3;
45
+ */
46
+ up?: number;
47
+
48
+ /**
49
+ * @generated from field: optional float yaw = 4;
50
+ */
51
+ yaw?: number;
52
+
53
+ /**
54
+ * @generated from field: optional float pitch = 5;
55
+ */
56
+ pitch?: number;
57
+
58
+ /**
59
+ * @generated from field: optional float roll = 6;
60
+ */
61
+ roll?: number;
62
+
63
+ /**
64
+ * @generated from field: optional float pan = 7;
65
+ */
66
+ pan?: number;
67
+
68
+ /**
69
+ * @generated from field: optional float tilt = 8;
70
+ */
71
+ tilt?: number;
72
+
73
+ /**
74
+ * @generated from field: optional float zoom = 9;
75
+ */
76
+ zoom?: number;
77
+ };
78
+
79
+ /**
80
+ * Describes the message world.ManualControlAxes.
81
+ * Use `create(ManualControlAxesSchema)` to create a new message.
82
+ */
83
+ export declare const ManualControlAxesSchema: GenMessage<ManualControlAxes>;
84
+
@@ -0,0 +1,26 @@
1
+ // @generated by protoc-gen-es v2.10.2 with parameter "target=js+dts,import_extension=.js"
2
+ // @generated from file manualcontrol.proto (package world, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
6
+
7
+ /**
8
+ * Describes the file manualcontrol.proto.
9
+ */
10
+ export const file_manualcontrol = /*@__PURE__*/
11
+ fileDesc("ChNtYW51YWxjb250cm9sLnByb3RvEgV3b3JsZCI8ChJNYW51YWxDb250cm9sSW5wdXQSJgoEYXhlcxgBIAEoCzIYLndvcmxkLk1hbnVhbENvbnRyb2xBeGVzIpECChFNYW51YWxDb250cm9sQXhlcxIUCgdmb3J3YXJkGAEgASgCSACIAQESEgoFcmlnaHQYAiABKAJIAYgBARIPCgJ1cBgDIAEoAkgCiAEBEhAKA3lhdxgEIAEoAkgDiAEBEhIKBXBpdGNoGAUgASgCSASIAQESEQoEcm9sbBgGIAEoAkgFiAEBEhAKA3BhbhgHIAEoAkgGiAEBEhEKBHRpbHQYCCABKAJIB4gBARIRCgR6b29tGAkgASgCSAiIAQFCCgoIX2ZvcndhcmRCCAoGX3JpZ2h0QgUKA191cEIGCgRfeWF3QggKBl9waXRjaEIHCgVfcm9sbEIGCgRfcGFuQgcKBV90aWx0QgcKBV96b29tQiBaHmdpdGh1Yi5jb20vcHJvamVjdHFhaS9wcm90by9nb2IGcHJvdG8z");
12
+
13
+ /**
14
+ * Describes the message world.ManualControlInput.
15
+ * Use `create(ManualControlInputSchema)` to create a new message.
16
+ */
17
+ export const ManualControlInputSchema = /*@__PURE__*/
18
+ messageDesc(file_manualcontrol, 0);
19
+
20
+ /**
21
+ * Describes the message world.ManualControlAxes.
22
+ * Use `create(ManualControlAxesSchema)` to create a new message.
23
+ */
24
+ export const ManualControlAxesSchema = /*@__PURE__*/
25
+ messageDesc(file_manualcontrol, 1);
26
+
@@ -421,6 +421,23 @@ export enum MetricKind {
421
421
  */
422
422
  MetricKindBodyTemperature = 142,
423
423
 
424
+ /**
425
+ * Simulation
426
+ *
427
+ * @generated from enum value: MetricKindHealth = 160;
428
+ */
429
+ MetricKindHealth = 160,
430
+
431
+ /**
432
+ * @generated from enum value: MetricKindAmmo = 161;
433
+ */
434
+ MetricKindAmmo = 161,
435
+
436
+ /**
437
+ * @generated from enum value: MetricKindFuel = 162;
438
+ */
439
+ MetricKindFuel = 162,
440
+
424
441
  /**
425
442
  * Misc
426
443
  *
@@ -9,7 +9,7 @@ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
9
9
  * Describes the file metrics.proto.
10
10
  */
11
11
  export const file_metrics = /*@__PURE__*/
12
- fileDesc("Cg1tZXRyaWNzLnByb3RvEgV3b3JsZCLJAQoLTWV0cmljUmFuZ2USFAoKbWluX2RvdWJsZRgBIAEoAUgAEhMKCW1pbl9mbG9hdBgCIAEoAkgAEhQKCm1pbl9zaW50NjQYAyABKBJIABIUCgptaW5fdWludDY0GAQgASgESAASFAoKbWF4X2RvdWJsZRgKIAEoAUgBEhMKCW1heF9mbG9hdBgLIAEoAkgBEhQKCm1heF9zaW50NjQYDCABKBJIARIUCgptYXhfdWludDY0GA0gASgESAFCBQoDbWluQgUKA21heCLCAwoGTWV0cmljEh8KBHVuaXQYASABKA4yES53b3JsZC5NZXRyaWNVbml0Eg8KAmlkGAIgASgNSAGIAQESJAoEa2luZBgDIAEoDjIRLndvcmxkLk1ldHJpY0tpbmRIAogBARISCgVsYWJlbBgEIAEoCUgDiAEBEjQKC21lYXN1cmVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEiYKBXJhbmdlGAYgASgLMhIud29ybGQuTWV0cmljUmFuZ2VIBYgBARIoCghjbGlwcGluZxgHIAEoDjIRLndvcmxkLlNlbnNvckNsaXBIBogBARIQCgZkb3VibGUYCiABKAFIABIPCgVmbG9hdBgLIAEoAkgAEhAKBnNpbnQ2NBgMIAEoEkgAEhAKBnVpbnQ2NBgNIAEoBEgAEigKCGFsZXJ0aW5nGBQgASgOMhEud29ybGQuQWxlcnRMZXZlbEgHiAEBQgUKA3ZhbEIFCgNfaWRCBwoFX2tpbmRCCAoGX2xhYmVsQg4KDF9tZWFzdXJlZF9hdEIICgZfcmFuZ2VCCwoJX2NsaXBwaW5nQgsKCV9hbGVydGluZyIxCg9NZXRyaWNDb21wb25lbnQSHgoHbWV0cmljcxgBIAMoCzINLndvcmxkLk1ldHJpYyrwCAoKTWV0cmljS2luZBIZChVNZXRyaWNLaW5kVW5zcGVjaWZpZWQQABIZChVNZXRyaWNLaW5kVGVtcGVyYXR1cmUQARIWChJNZXRyaWNLaW5kUHJlc3N1cmUQAhIWChJNZXRyaWNLaW5kSHVtaWRpdHkQAxIZChVNZXRyaWNLaW5kSWxsdW1pbmFuY2UQBBIYChRNZXRyaWNLaW5kU291bmRMZXZlbBAFEhcKE01ldHJpY0tpbmRXaW5kU3BlZWQQBhIbChdNZXRyaWNLaW5kV2luZERpcmVjdGlvbhAHEhsKF01ldHJpY0tpbmRQcmVjaXBpdGF0aW9uEAgSGAoUTWV0cmljS2luZElycmFkaWFuY2UQCRIVChFNZXRyaWNLaW5kVm9sdGFnZRAUEhUKEU1ldHJpY0tpbmRDdXJyZW50EBUSEwoPTWV0cmljS2luZFBvd2VyEBYSFAoQTWV0cmljS2luZEVuZXJneRAXEhcKE01ldHJpY0tpbmRGcmVxdWVuY3kQGBIYChRNZXRyaWNLaW5kUmVzaXN0YW5jZRAZEhYKEk1ldHJpY0tpbmRQcm9ncmVzcxAoEhgKFE1ldHJpY0tpbmRQZXJjZW50YWdlECkSFgoSTWV0cmljS2luZERpc3RhbmNlEDwSEwoPTWV0cmljS2luZFNwZWVkED0SGgoWTWV0cmljS2luZEFjY2VsZXJhdGlvbhA+EhMKD01ldHJpY0tpbmREZXB0aBA/EhYKEk1ldHJpY0tpbmREYXRhUmF0ZRBQEhUKEU1ldHJpY0tpbmRMYXRlbmN5EFESFgoSTWV0cmljS2luZERhdGFTaXplEFISEQoNTWV0cmljS2luZENvMhBkEhIKDk1ldHJpY0tpbmRQbTI1EGUSEgoOTWV0cmljS2luZFBtMTAQZhIRCg1NZXRyaWNLaW5kQXFpEGcSEAoMTWV0cmljS2luZFBoEGgSEwoPTWV0cmljS2luZFJhZG9uEGkSFAoQTWV0cmljS2luZE94eWdlbhBqEh4KGU1ldHJpY0tpbmRSYWRpYXRpb25IYXphcmQQggESHQoYTWV0cmljS2luZENoZW1pY2FsSGF6YXJkEIMBEh8KGk1ldHJpY0tpbmRCaW9sb2dpY2FsSGF6YXJkEIQBEhwKF01ldHJpY0tpbmROdWNsZWFySGF6YXJkEIUBEhQKEE1ldHJpY0tpbmRXZWlnaHQQbhIUChBNZXRyaWNLaW5kVm9sdW1lEHASHAoYTWV0cmljS2luZFZvbHVtZUZsb3dSYXRlEHESHAoYTWV0cmljS2luZFNpZ25hbFN0cmVuZ3RoEHMSGAoTTWV0cmljS2luZEhlYXJ0UmF0ZRCMARIfChpNZXRyaWNLaW5kT3h5Z2VuU2F0dXJhdGlvbhCNARIeChlNZXRyaWNLaW5kQm9keVRlbXBlcmF0dXJlEI4BEhYKEk1ldHJpY0tpbmREdXJhdGlvbhB2EhMKD01ldHJpY0tpbmRDb3VudBB4KoUSCgpNZXRyaWNVbml0EhkKFU1ldHJpY1VuaXRVbnNwZWNpZmllZBAAEhUKEU1ldHJpY1VuaXRDZWxzaXVzEAESGAoUTWV0cmljVW5pdEZhaHJlbmhlaXQQAhIUChBNZXRyaWNVbml0S2VsdmluEAMSGQoVTWV0cmljVW5pdEhlY3RvcGFzY2FsEAoSEQoNTWV0cmljVW5pdFBzaRALEhEKDU1ldHJpY1VuaXRCYXIQDBIWChJNZXRyaWNVbml0TWlsbGliYXIQDRISCg5NZXRyaWNVbml0SW5IZxAOEhUKEU1ldHJpY1VuaXRQZXJjZW50EBQSEwoPTWV0cmljVW5pdFJhdGlvEBUSEgoOTWV0cmljVW5pdFZvbHQQHhIXChNNZXRyaWNVbml0TWlsbGl2b2x0EB8SFAoQTWV0cmljVW5pdEFtcGVyZRAgEhkKFU1ldHJpY1VuaXRNaWxsaWFtcGVyZRAhEhIKDk1ldHJpY1VuaXRXYXR0ECISFgoSTWV0cmljVW5pdEtpbG93YXR0ECMSFgoSTWV0cmljVW5pdFdhdHRIb3VyECQSGgoWTWV0cmljVW5pdEtpbG93YXR0SG91chAlEhMKD01ldHJpY1VuaXRIZXJ0ehAmEhcKE01ldHJpY1VuaXRLaWxvaGVydHoQJxIXChNNZXRyaWNVbml0TWVnYWhlcnR6ECgSEQoNTWV0cmljVW5pdE9obRApEhMKD01ldHJpY1VuaXRNZXRlchAyEhcKE01ldHJpY1VuaXRLaWxvbWV0ZXIQMxISCg5NZXRyaWNVbml0Rm9vdBA0EhoKFk1ldHJpY1VuaXROYXV0aWNhbE1pbGUQNRIcChhNZXRyaWNVbml0TWV0ZXJQZXJTZWNvbmQQNhISCg5NZXRyaWNVbml0S25vdBA3Eh4KGk1ldHJpY1VuaXRLaWxvbWV0ZXJQZXJIb3VyEDgSIwofTWV0cmljVW5pdE1ldGVyUGVyU2Vjb25kU3F1YXJlZBA5EhEKDU1ldHJpY1VuaXRMdXgQPBIVChFNZXRyaWNVbml0RGVjaWJlbBBGEhYKEk1ldHJpY1VuaXREZWNpYmVsQRBHEhoKFk1ldHJpY1VuaXRCaXRQZXJTZWNvbmQQUBIeChpNZXRyaWNVbml0S2lsb2JpdFBlclNlY29uZBBREh4KGk1ldHJpY1VuaXRNZWdhYml0UGVyU2Vjb25kEFISEgoOTWV0cmljVW5pdEJ5dGUQVBIWChJNZXRyaWNVbml0S2lsb2J5dGUQVRIWChJNZXRyaWNVbml0TWVnYWJ5dGUQVhIWChJNZXRyaWNVbml0R2lnYWJ5dGUQVxIdChlNZXRyaWNVbml0UGFydHNQZXJNaWxsaW9uEFoSJAogTWV0cmljVW5pdE1pY3JvZ3JhbVBlckN1YmljTWV0ZXIQWxIkCiBNZXRyaWNVbml0QmVjcXVlcmVsUGVyQ3ViaWNNZXRlchBcEhoKFU1ldHJpY1VuaXROYW5vc2lldmVydBCCARIhChxNZXRyaWNVbml0TmFub3NpZXZlcnRQZXJIb3VyEIMBEhsKFk1ldHJpY1VuaXRNaWNyb3NpZXZlcnQQhAESIgodTWV0cmljVW5pdE1pY3Jvc2lldmVydFBlckhvdXIQhQESGwoWTWV0cmljVW5pdE1pbGxpc2lldmVydBCGARIiCh1NZXRyaWNVbml0TWlsbGlzaWV2ZXJ0UGVySG91chCHARIWChFNZXRyaWNVbml0U2lldmVydBCIARIdChhNZXRyaWNVbml0U2lldmVydFBlckhvdXIQiQESFwoSTWV0cmljVW5pdE5hbm9ncmF5EJYBEh4KGU1ldHJpY1VuaXROYW5vZ3JheVBlckhvdXIQlwESGAoTTWV0cmljVW5pdE1pY3JvZ3JheRCYARIfChpNZXRyaWNVbml0TWljcm9ncmF5UGVySG91chCZARIYChNNZXRyaWNVbml0TWlsbGlncmF5EJoBEh8KGk1ldHJpY1VuaXRNaWxsaWdyYXlQZXJIb3VyEJsBEhMKDk1ldHJpY1VuaXRHcmF5EJwBEhoKFU1ldHJpY1VuaXRHcmF5UGVySG91chCdARIYChNNZXRyaWNVbml0Q2VudGlncmF5EJ4BEh4KGU1ldHJpY1VuaXRDb3VudHNQZXJTZWNvbmQQoAESHgoZTWV0cmljVW5pdFBhcnRzUGVyQmlsbGlvbhCKARIlCiBNZXRyaWNVbml0TWlsbGlncmFtUGVyQ3ViaWNNZXRlchCLARImCiFNZXRyaWNVbml0TWljcm9ncmFtUGVyU3F1YXJlTWV0ZXIQjAESEgoNTWV0cmljVW5pdEJpbhCNARIYChRNZXRyaWNVbml0TWlsbGltZXRlchBeEh8KG01ldHJpY1VuaXRNaWxsaW1ldGVyUGVySG91chBfEhQKEE1ldHJpY1VuaXREZWdyZWUQZBIUChBNZXRyaWNVbml0UmFkaWFuEGUSGQoVTWV0cmljVW5pdE1pbGxpc2Vjb25kEFMSFAoQTWV0cmljVW5pdFNlY29uZBBuEhQKEE1ldHJpY1VuaXRNaW51dGUQbxISCg5NZXRyaWNVbml0SG91chBwEhYKEk1ldHJpY1VuaXRLaWxvZ3JhbRBxEhIKDk1ldHJpY1VuaXRHcmFtEHISEwoPTWV0cmljVW5pdFBvdW5kEHMSEwoPTWV0cmljVW5pdExpdGVyEHQSGAoUTWV0cmljVW5pdE1pbGxpbGl0ZXIQdRIYChRNZXRyaWNVbml0Q3ViaWNNZXRlchB2EhQKEE1ldHJpY1VuaXRHYWxsb24QdxIdChhNZXRyaWNVbml0QmVhdHNQZXJNaW51dGUQqgESEwoPTWV0cmljVW5pdENvdW50EHgSHAoYTWV0cmljVW5pdExpdGVyUGVyTWludXRlEHkSHwobTWV0cmljVW5pdEN1YmljTWV0ZXJQZXJIb3VyEHoSHgoaTWV0cmljVW5pdERlY2liZWxNaWxsaXdhdHQQexIgChxNZXRyaWNVbml0V2F0dFBlclNxdWFyZU1ldGVyEHwqRwoKU2Vuc29yQ2xpcBISCg5TZW5zb3JDbGlwTm9uZRAAEhIKDlNlbnNvckNsaXBIaWdoEAESEQoNU2Vuc29yQ2xpcExvdxACKmQKCkFsZXJ0TGV2ZWwSEgoOQWxlcnRMZXZlbE5vbmUQABIVChFBbGVydExldmVsV2FybmluZxABEhMKD0FsZXJ0TGV2ZWxBbGFybRACEhYKEkFsZXJ0TGV2ZWxDcml0aWNhbBADQiBaHmdpdGh1Yi5jb20vcHJvamVjdHFhaS9wcm90by9nb2IGcHJvdG8z", [file_google_protobuf_timestamp]);
12
+ fileDesc("Cg1tZXRyaWNzLnByb3RvEgV3b3JsZCLJAQoLTWV0cmljUmFuZ2USFAoKbWluX2RvdWJsZRgBIAEoAUgAEhMKCW1pbl9mbG9hdBgCIAEoAkgAEhQKCm1pbl9zaW50NjQYAyABKBJIABIUCgptaW5fdWludDY0GAQgASgESAASFAoKbWF4X2RvdWJsZRgKIAEoAUgBEhMKCW1heF9mbG9hdBgLIAEoAkgBEhQKCm1heF9zaW50NjQYDCABKBJIARIUCgptYXhfdWludDY0GA0gASgESAFCBQoDbWluQgUKA21heCLCAwoGTWV0cmljEh8KBHVuaXQYASABKA4yES53b3JsZC5NZXRyaWNVbml0Eg8KAmlkGAIgASgNSAGIAQESJAoEa2luZBgDIAEoDjIRLndvcmxkLk1ldHJpY0tpbmRIAogBARISCgVsYWJlbBgEIAEoCUgDiAEBEjQKC21lYXN1cmVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEiYKBXJhbmdlGAYgASgLMhIud29ybGQuTWV0cmljUmFuZ2VIBYgBARIoCghjbGlwcGluZxgHIAEoDjIRLndvcmxkLlNlbnNvckNsaXBIBogBARIQCgZkb3VibGUYCiABKAFIABIPCgVmbG9hdBgLIAEoAkgAEhAKBnNpbnQ2NBgMIAEoEkgAEhAKBnVpbnQ2NBgNIAEoBEgAEigKCGFsZXJ0aW5nGBQgASgOMhEud29ybGQuQWxlcnRMZXZlbEgHiAEBQgUKA3ZhbEIFCgNfaWRCBwoFX2tpbmRCCAoGX2xhYmVsQg4KDF9tZWFzdXJlZF9hdEIICgZfcmFuZ2VCCwoJX2NsaXBwaW5nQgsKCV9hbGVydGluZyIxCg9NZXRyaWNDb21wb25lbnQSHgoHbWV0cmljcxgBIAMoCzINLndvcmxkLk1ldHJpYyqxCQoKTWV0cmljS2luZBIZChVNZXRyaWNLaW5kVW5zcGVjaWZpZWQQABIZChVNZXRyaWNLaW5kVGVtcGVyYXR1cmUQARIWChJNZXRyaWNLaW5kUHJlc3N1cmUQAhIWChJNZXRyaWNLaW5kSHVtaWRpdHkQAxIZChVNZXRyaWNLaW5kSWxsdW1pbmFuY2UQBBIYChRNZXRyaWNLaW5kU291bmRMZXZlbBAFEhcKE01ldHJpY0tpbmRXaW5kU3BlZWQQBhIbChdNZXRyaWNLaW5kV2luZERpcmVjdGlvbhAHEhsKF01ldHJpY0tpbmRQcmVjaXBpdGF0aW9uEAgSGAoUTWV0cmljS2luZElycmFkaWFuY2UQCRIVChFNZXRyaWNLaW5kVm9sdGFnZRAUEhUKEU1ldHJpY0tpbmRDdXJyZW50EBUSEwoPTWV0cmljS2luZFBvd2VyEBYSFAoQTWV0cmljS2luZEVuZXJneRAXEhcKE01ldHJpY0tpbmRGcmVxdWVuY3kQGBIYChRNZXRyaWNLaW5kUmVzaXN0YW5jZRAZEhYKEk1ldHJpY0tpbmRQcm9ncmVzcxAoEhgKFE1ldHJpY0tpbmRQZXJjZW50YWdlECkSFgoSTWV0cmljS2luZERpc3RhbmNlEDwSEwoPTWV0cmljS2luZFNwZWVkED0SGgoWTWV0cmljS2luZEFjY2VsZXJhdGlvbhA+EhMKD01ldHJpY0tpbmREZXB0aBA/EhYKEk1ldHJpY0tpbmREYXRhUmF0ZRBQEhUKEU1ldHJpY0tpbmRMYXRlbmN5EFESFgoSTWV0cmljS2luZERhdGFTaXplEFISEQoNTWV0cmljS2luZENvMhBkEhIKDk1ldHJpY0tpbmRQbTI1EGUSEgoOTWV0cmljS2luZFBtMTAQZhIRCg1NZXRyaWNLaW5kQXFpEGcSEAoMTWV0cmljS2luZFBoEGgSEwoPTWV0cmljS2luZFJhZG9uEGkSFAoQTWV0cmljS2luZE94eWdlbhBqEh4KGU1ldHJpY0tpbmRSYWRpYXRpb25IYXphcmQQggESHQoYTWV0cmljS2luZENoZW1pY2FsSGF6YXJkEIMBEh8KGk1ldHJpY0tpbmRCaW9sb2dpY2FsSGF6YXJkEIQBEhwKF01ldHJpY0tpbmROdWNsZWFySGF6YXJkEIUBEhQKEE1ldHJpY0tpbmRXZWlnaHQQbhIUChBNZXRyaWNLaW5kVm9sdW1lEHASHAoYTWV0cmljS2luZFZvbHVtZUZsb3dSYXRlEHESHAoYTWV0cmljS2luZFNpZ25hbFN0cmVuZ3RoEHMSGAoTTWV0cmljS2luZEhlYXJ0UmF0ZRCMARIfChpNZXRyaWNLaW5kT3h5Z2VuU2F0dXJhdGlvbhCNARIeChlNZXRyaWNLaW5kQm9keVRlbXBlcmF0dXJlEI4BEhUKEE1ldHJpY0tpbmRIZWFsdGgQoAESEwoOTWV0cmljS2luZEFtbW8QoQESEwoOTWV0cmljS2luZEZ1ZWwQogESFgoSTWV0cmljS2luZER1cmF0aW9uEHYSEwoPTWV0cmljS2luZENvdW50EHgqhRIKCk1ldHJpY1VuaXQSGQoVTWV0cmljVW5pdFVuc3BlY2lmaWVkEAASFQoRTWV0cmljVW5pdENlbHNpdXMQARIYChRNZXRyaWNVbml0RmFocmVuaGVpdBACEhQKEE1ldHJpY1VuaXRLZWx2aW4QAxIZChVNZXRyaWNVbml0SGVjdG9wYXNjYWwQChIRCg1NZXRyaWNVbml0UHNpEAsSEQoNTWV0cmljVW5pdEJhchAMEhYKEk1ldHJpY1VuaXRNaWxsaWJhchANEhIKDk1ldHJpY1VuaXRJbkhnEA4SFQoRTWV0cmljVW5pdFBlcmNlbnQQFBITCg9NZXRyaWNVbml0UmF0aW8QFRISCg5NZXRyaWNVbml0Vm9sdBAeEhcKE01ldHJpY1VuaXRNaWxsaXZvbHQQHxIUChBNZXRyaWNVbml0QW1wZXJlECASGQoVTWV0cmljVW5pdE1pbGxpYW1wZXJlECESEgoOTWV0cmljVW5pdFdhdHQQIhIWChJNZXRyaWNVbml0S2lsb3dhdHQQIxIWChJNZXRyaWNVbml0V2F0dEhvdXIQJBIaChZNZXRyaWNVbml0S2lsb3dhdHRIb3VyECUSEwoPTWV0cmljVW5pdEhlcnR6ECYSFwoTTWV0cmljVW5pdEtpbG9oZXJ0ehAnEhcKE01ldHJpY1VuaXRNZWdhaGVydHoQKBIRCg1NZXRyaWNVbml0T2htECkSEwoPTWV0cmljVW5pdE1ldGVyEDISFwoTTWV0cmljVW5pdEtpbG9tZXRlchAzEhIKDk1ldHJpY1VuaXRGb290EDQSGgoWTWV0cmljVW5pdE5hdXRpY2FsTWlsZRA1EhwKGE1ldHJpY1VuaXRNZXRlclBlclNlY29uZBA2EhIKDk1ldHJpY1VuaXRLbm90EDcSHgoaTWV0cmljVW5pdEtpbG9tZXRlclBlckhvdXIQOBIjCh9NZXRyaWNVbml0TWV0ZXJQZXJTZWNvbmRTcXVhcmVkEDkSEQoNTWV0cmljVW5pdEx1eBA8EhUKEU1ldHJpY1VuaXREZWNpYmVsEEYSFgoSTWV0cmljVW5pdERlY2liZWxBEEcSGgoWTWV0cmljVW5pdEJpdFBlclNlY29uZBBQEh4KGk1ldHJpY1VuaXRLaWxvYml0UGVyU2Vjb25kEFESHgoaTWV0cmljVW5pdE1lZ2FiaXRQZXJTZWNvbmQQUhISCg5NZXRyaWNVbml0Qnl0ZRBUEhYKEk1ldHJpY1VuaXRLaWxvYnl0ZRBVEhYKEk1ldHJpY1VuaXRNZWdhYnl0ZRBWEhYKEk1ldHJpY1VuaXRHaWdhYnl0ZRBXEh0KGU1ldHJpY1VuaXRQYXJ0c1Blck1pbGxpb24QWhIkCiBNZXRyaWNVbml0TWljcm9ncmFtUGVyQ3ViaWNNZXRlchBbEiQKIE1ldHJpY1VuaXRCZWNxdWVyZWxQZXJDdWJpY01ldGVyEFwSGgoVTWV0cmljVW5pdE5hbm9zaWV2ZXJ0EIIBEiEKHE1ldHJpY1VuaXROYW5vc2lldmVydFBlckhvdXIQgwESGwoWTWV0cmljVW5pdE1pY3Jvc2lldmVydBCEARIiCh1NZXRyaWNVbml0TWljcm9zaWV2ZXJ0UGVySG91chCFARIbChZNZXRyaWNVbml0TWlsbGlzaWV2ZXJ0EIYBEiIKHU1ldHJpY1VuaXRNaWxsaXNpZXZlcnRQZXJIb3VyEIcBEhYKEU1ldHJpY1VuaXRTaWV2ZXJ0EIgBEh0KGE1ldHJpY1VuaXRTaWV2ZXJ0UGVySG91chCJARIXChJNZXRyaWNVbml0TmFub2dyYXkQlgESHgoZTWV0cmljVW5pdE5hbm9ncmF5UGVySG91chCXARIYChNNZXRyaWNVbml0TWljcm9ncmF5EJgBEh8KGk1ldHJpY1VuaXRNaWNyb2dyYXlQZXJIb3VyEJkBEhgKE01ldHJpY1VuaXRNaWxsaWdyYXkQmgESHwoaTWV0cmljVW5pdE1pbGxpZ3JheVBlckhvdXIQmwESEwoOTWV0cmljVW5pdEdyYXkQnAESGgoVTWV0cmljVW5pdEdyYXlQZXJIb3VyEJ0BEhgKE01ldHJpY1VuaXRDZW50aWdyYXkQngESHgoZTWV0cmljVW5pdENvdW50c1BlclNlY29uZBCgARIeChlNZXRyaWNVbml0UGFydHNQZXJCaWxsaW9uEIoBEiUKIE1ldHJpY1VuaXRNaWxsaWdyYW1QZXJDdWJpY01ldGVyEIsBEiYKIU1ldHJpY1VuaXRNaWNyb2dyYW1QZXJTcXVhcmVNZXRlchCMARISCg1NZXRyaWNVbml0QmluEI0BEhgKFE1ldHJpY1VuaXRNaWxsaW1ldGVyEF4SHwobTWV0cmljVW5pdE1pbGxpbWV0ZXJQZXJIb3VyEF8SFAoQTWV0cmljVW5pdERlZ3JlZRBkEhQKEE1ldHJpY1VuaXRSYWRpYW4QZRIZChVNZXRyaWNVbml0TWlsbGlzZWNvbmQQUxIUChBNZXRyaWNVbml0U2Vjb25kEG4SFAoQTWV0cmljVW5pdE1pbnV0ZRBvEhIKDk1ldHJpY1VuaXRIb3VyEHASFgoSTWV0cmljVW5pdEtpbG9ncmFtEHESEgoOTWV0cmljVW5pdEdyYW0QchITCg9NZXRyaWNVbml0UG91bmQQcxITCg9NZXRyaWNVbml0TGl0ZXIQdBIYChRNZXRyaWNVbml0TWlsbGlsaXRlchB1EhgKFE1ldHJpY1VuaXRDdWJpY01ldGVyEHYSFAoQTWV0cmljVW5pdEdhbGxvbhB3Eh0KGE1ldHJpY1VuaXRCZWF0c1Blck1pbnV0ZRCqARITCg9NZXRyaWNVbml0Q291bnQQeBIcChhNZXRyaWNVbml0TGl0ZXJQZXJNaW51dGUQeRIfChtNZXRyaWNVbml0Q3ViaWNNZXRlclBlckhvdXIQehIeChpNZXRyaWNVbml0RGVjaWJlbE1pbGxpd2F0dBB7EiAKHE1ldHJpY1VuaXRXYXR0UGVyU3F1YXJlTWV0ZXIQfCpHCgpTZW5zb3JDbGlwEhIKDlNlbnNvckNsaXBOb25lEAASEgoOU2Vuc29yQ2xpcEhpZ2gQARIRCg1TZW5zb3JDbGlwTG93EAIqZAoKQWxlcnRMZXZlbBISCg5BbGVydExldmVsTm9uZRAAEhUKEUFsZXJ0TGV2ZWxXYXJuaW5nEAESEwoPQWxlcnRMZXZlbEFsYXJtEAISFgoSQWxlcnRMZXZlbENyaXRpY2FsEANCIFoeZ2l0aHViLmNvbS9wcm9qZWN0cWFpL3Byb3RvL2dvYgZwcm90bzM", [file_google_protobuf_timestamp]);
13
13
 
14
14
  /**
15
15
  * Describes the message world.MetricRange.
@@ -9,6 +9,7 @@ import type { Timestamp } from "@bufbuild/protobuf/wkt";
9
9
  import type { TaskableTarget, TaskExecutionTarget } from "./tasking_pb.js";
10
10
  import type { ClassificationTaxonomy, TaskingTaxonomy } from "./taxonomy_pb.js";
11
11
  import type { LocalGeometry, PlanarGeometry } from "./geometry_pb.js";
12
+ import type { ManualControlInput } from "./manualcontrol_pb.js";
12
13
 
13
14
  /**
14
15
  * Describes the file world.proto.
@@ -227,6 +228,16 @@ export declare type Entity = Message<"world.Entity"> & {
227
228
  * @generated from field: optional world.MapLayerComponent map_layer = 63;
228
229
  */
229
230
  mapLayer?: MapLayerComponent;
231
+
232
+ /**
233
+ * @generated from field: optional world.ManualControlComponent manual_control = 64;
234
+ */
235
+ manualControl?: ManualControlComponent;
236
+
237
+ /**
238
+ * @generated from field: optional world.TargetManualControlComponent target_manual_control = 65;
239
+ */
240
+ targetManualControl?: TargetManualControlComponent;
230
241
  };
231
242
 
232
243
  /**
@@ -2552,6 +2563,38 @@ export declare type MapLayerComponent_Image = Message<"world.MapLayerComponent.I
2552
2563
  */
2553
2564
  export declare const MapLayerComponent_ImageSchema: GenMessage<MapLayerComponent_Image>;
2554
2565
 
2566
+ /**
2567
+ * @generated from message world.ManualControlComponent
2568
+ */
2569
+ export declare type ManualControlComponent = Message<"world.ManualControlComponent"> & {
2570
+ /**
2571
+ * @generated from field: repeated world.ManualControlInput input = 1;
2572
+ */
2573
+ input: ManualControlInput[];
2574
+ };
2575
+
2576
+ /**
2577
+ * Describes the message world.ManualControlComponent.
2578
+ * Use `create(ManualControlComponentSchema)` to create a new message.
2579
+ */
2580
+ export declare const ManualControlComponentSchema: GenMessage<ManualControlComponent>;
2581
+
2582
+ /**
2583
+ * @generated from message world.TargetManualControlComponent
2584
+ */
2585
+ export declare type TargetManualControlComponent = Message<"world.TargetManualControlComponent"> & {
2586
+ /**
2587
+ * @generated from field: repeated world.ManualControlInput input = 1;
2588
+ */
2589
+ input: ManualControlInput[];
2590
+ };
2591
+
2592
+ /**
2593
+ * Describes the message world.TargetManualControlComponent.
2594
+ * Use `create(TargetManualControlComponentSchema)` to create a new message.
2595
+ */
2596
+ export declare const TargetManualControlComponentSchema: GenMessage<TargetManualControlComponent>;
2597
+
2555
2598
  /**
2556
2599
  * @generated from message world.EntityFilter
2557
2600
  */
@@ -4362,10 +4405,25 @@ export enum EntityComponent {
4362
4405
  */
4363
4406
  EntityComponentTargetPose = 62,
4364
4407
 
4408
+ /**
4409
+ * @generated from enum value: EntityComponentAssembly = 40;
4410
+ */
4411
+ EntityComponentAssembly = 40,
4412
+
4365
4413
  /**
4366
4414
  * @generated from enum value: EntityComponentMapLayer = 63;
4367
4415
  */
4368
4416
  EntityComponentMapLayer = 63,
4417
+
4418
+ /**
4419
+ * @generated from enum value: EntityComponentManualControl = 64;
4420
+ */
4421
+ EntityComponentManualControl = 64,
4422
+
4423
+ /**
4424
+ * @generated from enum value: EntityComponentTargetManualControl = 65;
4425
+ */
4426
+ EntityComponentTargetManualControl = 65,
4369
4427
  }
4370
4428
 
4371
4429
  /**
package/dist/world_pb.js CHANGED
@@ -5,6 +5,7 @@
5
5
  import { enumDesc, fileDesc, messageDesc, serviceDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
6
6
  import { file_geometry } from "./geometry_pb.js";
7
7
  import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
8
+ import { file_manualcontrol } from "./manualcontrol_pb.js";
8
9
  import { file_metrics } from "./metrics_pb.js";
9
10
  import { file_tasking } from "./tasking_pb.js";
10
11
  import { file_taxonomy } from "./taxonomy_pb.js";
@@ -13,7 +14,7 @@ import { file_taxonomy } from "./taxonomy_pb.js";
13
14
  * Describes the file world.proto.
14
15
  */
15
16
  export const file_world = /*@__PURE__*/
16
- fileDesc("Cgt3b3JsZC5wcm90bxIFd29ybGQijRMKBkVudGl0eRIKCgJpZBgBIAEoCRISCgVsYWJlbBgCIAEoCUgAiAEBEioKCmNvbnRyb2xsZXIYAyABKAsyES53b3JsZC5Db250cm9sbGVySAGIAQESJgoIbGlmZXRpbWUYBCABKAsyDy53b3JsZC5MaWZldGltZUgCiAEBEiYKCHByaW9yaXR5GAUgASgOMg8ud29ybGQuUHJpb3JpdHlIA4gBARIgCgVsZWFzZRgGIAEoCzIMLndvcmxkLkxlYXNlSASIAQESJAoHcm91dGluZxgHIAEoCzIOLndvcmxkLlJvdXRpbmdIBYgBARIsCgNnZW8YCyABKAsyGi53b3JsZC5HZW9TcGF0aWFsQ29tcG9uZW50SAaIAQESKwoGc3ltYm9sGAwgASgLMhYud29ybGQuU3ltYm9sQ29tcG9uZW50SAeIAQESKwoGY2FtZXJhGA8gASgLMhYud29ybGQuQ2FtZXJhQ29tcG9uZW50SAiIAQESMQoJZGV0ZWN0aW9uGBAgASgLMhkud29ybGQuRGV0ZWN0aW9uQ29tcG9uZW50SAmIAQESLQoHYmVhcmluZxgRIAEoCzIXLndvcmxkLkJlYXJpbmdDb21wb25lbnRICogBARIpCgV0cmFjaxgVIAEoCzIVLndvcmxkLlRyYWNrQ29tcG9uZW50SAuIAQESLQoHbG9jYXRvchgWIAEoCzIXLndvcmxkLkxvY2F0b3JDb21wb25lbnRIDIgBARIzCgpraW5lbWF0aWNzGBggASgLMhoud29ybGQuS2luZW1hdGljc0NvbXBvbmVudEgNiAEBEiwKBXNoYXBlGBkgASgLMhgud29ybGQuR2VvU2hhcGVDb21wb25lbnRIDogBARI7Cg5jbGFzc2lmaWNhdGlvbhgaIAEoCzIeLndvcmxkLkNsYXNzaWZpY2F0aW9uQ29tcG9uZW50SA+IAQESNQoLdHJhbnNwb25kZXIYGyABKAsyGy53b3JsZC5UcmFuc3BvbmRlckNvbXBvbmVudEgQiAEBEjsKDmFkbWluaXN0cmF0aXZlGBwgASgLMh4ud29ybGQuQWRtaW5pc3RyYXRpdmVDb21wb25lbnRIEYgBARI1CgtvcmllbnRhdGlvbhgeIAEoCzIbLndvcmxkLk9yaWVudGF0aW9uQ29tcG9uZW50SBKIAQESMwoKbmF2aWdhdGlvbhgiIAEoCzIaLndvcmxkLk5hdmlnYXRpb25Db21wb25lbnRIE4gBARIpCgVwb3dlchghIAEoCzIVLndvcmxkLlBvd2VyQ29tcG9uZW50SBSIAQESLQoHY2FwdHVyZRgjIAEoCzIXLndvcmxkLkNhcHR1cmVDb21wb25lbnRIFYgBARInCgRnbnNzGCogASgLMhQud29ybGQuR25zc0NvbXBvbmVudEgWiAEBEisKBmRldmljZRgyIAEoCzIWLndvcmxkLkRldmljZUNvbXBvbmVudEgXiAEBEicKBGxpbmsYICABKAsyFC53b3JsZC5MaW5rQ29tcG9uZW50SBiIAQESJwoEcG9zZRgmIAEoCzIULndvcmxkLlBvc2VDb21wb25lbnRIGYgBARI0Cgt0YXJnZXRfcG9zZRg+IAEoCzIaLndvcmxkLlRhcmdldFBvc2VDb21wb25lbnRIGogBARI0Cgtsb2NhbF9zaGFwZRgdIAEoCzIaLndvcmxkLkxvY2FsU2hhcGVDb21wb25lbnRIG4gBARIrCgZtZXRyaWMYJCABKAsyFi53b3JsZC5NZXRyaWNDb21wb25lbnRIHIgBARIyCgZjb25maWcYMyABKAsyHS53b3JsZC5Db25maWd1cmF0aW9uQ29tcG9uZW50SB2IAQESNwoMY29uZmlndXJhYmxlGDQgASgLMhwud29ybGQuQ29uZmlndXJhYmxlQ29tcG9uZW50SB6IAQESLwoIdGFza2FibGUYFyABKAsyGC53b3JsZC5UYXNrYWJsZUNvbXBvbmVudEgfiAEBEjoKDnRhc2tfZXhlY3V0aW9uGCkgASgLMh0ud29ybGQuVGFza0V4ZWN1dGlvbkNvbXBvbmVudEggiAEBEi0KB21pc3Npb24YHyABKAsyFy53b3JsZC5NaXNzaW9uQ29tcG9uZW50SCGIAQESKwoGc2Vuc29yGCUgASgLMhYud29ybGQuU2Vuc29yQ29tcG9uZW50SCKIAQESOQoNaW50ZXJhY3Rpdml0eRg8IAEoCzIdLndvcmxkLkludGVyYWN0aXZpdHlDb21wb25lbnRII4gBARIvCghhcnRpZmFjdBg9IAEoCzIYLndvcmxkLkFydGlmYWN0Q29tcG9uZW50SCSIAQESJwoEY2hhdBgnIAEoCzIULndvcmxkLkNoYXRDb21wb25lbnRIJYgBARIvCghhc3NlbWJseRgoIAEoCzIYLndvcmxkLkFzc2VtYmx5Q29tcG9uZW50SCaIAQESMAoJbWFwX2xheWVyGD8gASgLMhgud29ybGQuTWFwTGF5ZXJDb21wb25lbnRIJ4gBAUIICgZfbGFiZWxCDQoLX2NvbnRyb2xsZXJCCwoJX2xpZmV0aW1lQgsKCV9wcmlvcml0eUIICgZfbGVhc2VCCgoIX3JvdXRpbmdCBgoEX2dlb0IJCgdfc3ltYm9sQgkKB19jYW1lcmFCDAoKX2RldGVjdGlvbkIKCghfYmVhcmluZ0IICgZfdHJhY2tCCgoIX2xvY2F0b3JCDQoLX2tpbmVtYXRpY3NCCAoGX3NoYXBlQhEKD19jbGFzc2lmaWNhdGlvbkIOCgxfdHJhbnNwb25kZXJCEQoPX2FkbWluaXN0cmF0aXZlQg4KDF9vcmllbnRhdGlvbkINCgtfbmF2aWdhdGlvbkIICgZfcG93ZXJCCgoIX2NhcHR1cmVCBwoFX2duc3NCCQoHX2RldmljZUIHCgVfbGlua0IHCgVfcG9zZUIOCgxfdGFyZ2V0X3Bvc2VCDgoMX2xvY2FsX3NoYXBlQgkKB19tZXRyaWNCCQoHX2NvbmZpZ0IPCg1fY29uZmlndXJhYmxlQgsKCV90YXNrYWJsZUIRCg9fdGFza19leGVjdXRpb25CCgoIX21pc3Npb25CCQoHX3NlbnNvckIQCg5faW50ZXJhY3Rpdml0eUILCglfYXJ0aWZhY3RCBwoFX2NoYXRCCwoJX2Fzc2VtYmx5QgwKCl9tYXBfbGF5ZXJKBAgIEAlKBAgJEApKBAgKEAsiYAoKQ29udHJvbGxlchIPCgJpZBgBIAEoCUgAiAEBEhEKBG5vZGUYAiABKAlIAYgBARITCgZvcmlnaW4YAyABKAlIAogBAUIFCgNfaWRCBwoFX25vZGVCCQoHX29yaWdpbiJZCgVMZWFzZRISCgpjb250cm9sbGVyGAEgASgJEjAKB2V4cGlyZXMYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCCgoIX2V4cGlyZXMirwIKCExpZmV0aW1lEi0KBGZyb20YASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESLgoFdW50aWwYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoFZnJlc2gYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESMwoKY29tcG9uZW50cxgEIAMoCzIfLndvcmxkLkxpZmV0aW1lLkNvbXBvbmVudHNFbnRyeRpCCg9Db21wb25lbnRzRW50cnkSCwoDa2V5GAEgASgFEh4KBXZhbHVlGAIgASgLMg8ud29ybGQuTGlmZXRpbWU6AjgBQgcKBV9mcm9tQggKBl91bnRpbEIICgZfZnJlc2giFwoHQ2hhbm5lbBIMCgRuYW1lGAEgASgJIisKB1JvdXRpbmcSIAoIY2hhbm5lbHMYASADKAsyDi53b3JsZC5DaGFubmVsIp8BChNHZW9TcGF0aWFsQ29tcG9uZW50EhEKCWxvbmdpdHVkZRgBIAEoARIQCghsYXRpdHVkZRgCIAEoARIVCghhbHRpdHVkZRgDIAEoAUgAiAEBEjAKCmNvdmFyaWFuY2UYBCABKAsyFy53b3JsZC5Db3ZhcmlhbmNlTWF0cml4SAGIAQFCCwoJX2FsdGl0dWRlQg0KC19jb3ZhcmlhbmNlIoUCCg1HbnNzQ29tcG9uZW50EikKCGZpeF90eXBlGAEgASgOMhIud29ybGQuR25zc0ZpeFR5cGVIAIgBARIfChJzYXRlbGxpdGVzX3Zpc2libGUYAiABKA1IAYgBARIcCg9zYXRlbGxpdGVzX3VzZWQYAyABKA1IAogBARIRCgRoZG9wGAQgASgCSAOIAQESEQoEdmRvcBgFIAEoAkgEiAEBEhEKBHBkb3AYBiABKAJIBYgBAUILCglfZml4X3R5cGVCFQoTX3NhdGVsbGl0ZXNfdmlzaWJsZUISChBfc2F0ZWxsaXRlc191c2VkQgcKBV9oZG9wQgcKBV92ZG9wQgcKBV9wZG9wIiYKD1N5bWJvbENvbXBvbmVudBITCgttaWxTdGQyNTI1QxgBIAEoCSJiChZJbnRlcmFjdGl2aXR5Q29tcG9uZW50EhEKBGljb24YASABKAlIAIgBARIaCg1yZWZlcmVuY2VfdXJsGAMgASgJSAGIAQFCBwoFX2ljb25CEAoOX3JlZmVyZW5jZV91cmwiygEKC01lZGlhU3RyZWFtEg0KBWxhYmVsGAEgASgJEgsKA3VybBgCIAEoCRIsCghwcm90b2NvbBgDIAEoDjIaLndvcmxkLk1lZGlhU3RyZWFtUHJvdG9jb2wSJAoEcm9sZRgJIAEoDjIWLndvcmxkLk1lZGlhU3RyZWFtUm9sZRINCgVjb2RlYxgKIAEoCRISCgV3aWR0aBgLIAEoBUgAiAEBEhMKBmhlaWdodBgMIAEoBUgBiAEBQggKBl93aWR0aEIJCgdfaGVpZ2h0Io4CCg9DYW1lcmFDb21wb25lbnQSIwoHc3RyZWFtcxgBIAMoCzISLndvcmxkLk1lZGlhU3RyZWFtEhgKC2ZvY2FsX3BvaW50GAIgASgJSACIAQESEAoDZm92GAMgASgBSAGIAQESFgoJcmFuZ2VfbWluGAQgASgBSAKIAQESFgoJcmFuZ2VfbWF4GAUgASgBSAOIAQESFQoIZm92X3dpZGUYBiABKAFIBIgBARIVCghmb3ZfdGVsZRgHIAEoAUgFiAEBQg4KDF9mb2NhbF9wb2ludEIGCgRfZm92QgwKCl9yYW5nZV9taW5CDAoKX3JhbmdlX21heEILCglfZm92X3dpZGVCCwoJX2Zvdl90ZWxlIh8KEEFydGlmYWN0TG9jYXRpb24SCwoDdXJsGAEgASgJIqgBChFBcnRpZmFjdENvbXBvbmVudBIKCgJpZBgBIAEoCRIUCgxjb250ZW50X3R5cGUYAiABKAkSKQoIbG9jYXRpb24YAyADKAsyFy53b3JsZC5BcnRpZmFjdExvY2F0aW9uEhcKCnNpemVfYnl0ZXMYBCABKANIAIgBARITCgZzaGEyNTYYBSABKAlIAYgBAUINCgtfc2l6ZV9ieXRlc0IJCgdfc2hhMjU2ItIBChJEZXRlY3Rpb25Db21wb25lbnQSHQoQZGV0ZWN0b3JFbnRpdHlJZBgBIAEoCUgAiAEBEhsKDmNsYXNzaWZpY2F0aW9uGAIgASgJSAGIAQESNQoMbGFzdE1lYXN1cmVkGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhAKCGV2aWRlbmNlGAQgAygJQhMKEV9kZXRlY3RvckVudGl0eUlkQhEKD19jbGFzc2lmaWNhdGlvbkIPCg1fbGFzdE1lYXN1cmVkIloKEEJlYXJpbmdDb21wb25lbnQSFAoHYXppbXV0aBgBIAEoAUgAiAEBEhYKCWVsZXZhdGlvbhgCIAEoAUgBiAEBQgoKCF9hemltdXRoQgwKCl9lbGV2YXRpb24iIwoPU2Vuc29yQ29tcG9uZW50EhAKCGNvdmVyYWdlGAIgAygJIjgKClF1YXRlcm5pb24SCQoBeBgBIAEoARIJCgF5GAIgASgBEgkKAXoYAyABKAESCQoBdxgEIAEoASKuAQoQQ292YXJpYW5jZU1hdHJpeBIQCgNteHgYASABKAFIAIgBARIQCgNteHkYAiABKAFIAYgBARIQCgNteHoYAyABKAFIAogBARIQCgNteXkYBCABKAFIA4gBARIQCgNteXoYBSABKAFIBIgBARIQCgNtenoYBiABKAFIBYgBAUIGCgRfbXh4QgYKBF9teHlCBgoEX214ekIGCgRfbXl5QgYKBF9teXpCBgoEX216eiLMAQoPQ2FydGVzaWFuT2Zmc2V0Eg4KBmVhc3RfbRgBIAEoARIPCgdub3J0aF9tGAIgASgBEhEKBHVwX20YAyABKAFIAIgBARIwCgpjb3ZhcmlhbmNlGAQgASgLMhcud29ybGQuQ292YXJpYW5jZU1hdHJpeEgBiAEBEisKC29yaWVudGF0aW9uGAUgASgLMhEud29ybGQuUXVhdGVybmlvbkgCiAEBQgcKBV91cF9tQg0KC19jb3ZhcmlhbmNlQg4KDF9vcmllbnRhdGlvbiKCAwoLUG9sYXJPZmZzZXQSDwoHYXppbXV0aBgBIAEoARIWCgllbGV2YXRpb24YAiABKAFIAIgBARISCgVyYW5nZRgDIAEoAUgBiAEBEjQKCmNvdmFyaWFuY2UYBCABKAsyFy53b3JsZC5Db3ZhcmlhbmNlTWF0cml4QgIYAUgCiAEBEh4KEWF6aW11dGhfZXJyb3JfZGVnGAogASgBSAOIAQESIAoTZWxldmF0aW9uX2Vycm9yX2RlZxgLIAEoAUgEiAEBEhoKDXJhbmdlX2Vycm9yX20YDCABKAFIBYgBARIrCgtvcmllbnRhdGlvbhgFIAEoCzIRLndvcmxkLlF1YXRlcm5pb25IBogBAUIMCgpfZWxldmF0aW9uQggKBl9yYW5nZUINCgtfY292YXJpYW5jZUIUChJfYXppbXV0aF9lcnJvcl9kZWdCFgoUX2VsZXZhdGlvbl9lcnJvcl9kZWdCEAoOX3JhbmdlX2Vycm9yX21CDgoMX29yaWVudGF0aW9uInsKDVBvc2VDb21wb25lbnQSDgoGcGFyZW50GAEgASgJEisKCWNhcnRlc2lhbhgCIAEoCzIWLndvcmxkLkNhcnRlc2lhbk9mZnNldEgAEiMKBXBvbGFyGAMgASgLMhIud29ybGQuUG9sYXJPZmZzZXRIAEIICgZvZmZzZXQicQoTVGFyZ2V0UG9zZUNvbXBvbmVudBIrCgljYXJ0ZXNpYW4YASABKAsyFi53b3JsZC5DYXJ0ZXNpYW5PZmZzZXRIABIjCgVwb2xhchgCIAEoCzISLndvcmxkLlBvbGFyT2Zmc2V0SABCCAoGb2Zmc2V0IkoKD0FuZ3VsYXJWZWxvY2l0eRIRCglyb2xsX3JhdGUYASABKAESEgoKcGl0Y2hfcmF0ZRgCIAEoARIQCgh5YXdfcmF0ZRgDIAEoASJ/ChRPcmllbnRhdGlvbkNvbXBvbmVudBImCgtvcmllbnRhdGlvbhgBIAEoCzIRLndvcmxkLlF1YXRlcm5pb24SMAoKY292YXJpYW5jZRgCIAEoCzIXLndvcmxkLkNvdmFyaWFuY2VNYXRyaXhIAIgBAUINCgtfY292YXJpYW5jZSKQAQoOVHJhY2tDb21wb25lbnQSFAoHdHJhY2tlchgBIAEoCUgAiAEBEhQKB2hpc3RvcnkYAiABKAlIAYgBARIXCgpwcmVkaWN0aW9uGAMgASgJSAKIAQESEgoKZGV0ZWN0aW9ucxgEIAMoCUIKCghfdHJhY2tlckIKCghfaGlzdG9yeUINCgtfcHJlZGljdGlvbiIrChBMb2NhdG9yQ29tcG9uZW50EhcKD2xvY2F0ZWRFbnRpdHlJZBgBIAEoCSI1Cg9UYXNrYWJsZUNvbnRleHQSFQoIZW50aXR5SWQYASABKAlIAIgBAUILCglfZW50aXR5SWQiNgoQVGFza2FibGVBc3NpZ25lZRIVCghlbnRpdHlJZBgBIAEoCUgAiAEBQgsKCV9lbnRpdHlJZCKCBAoRVGFza2FibGVDb21wb25lbnQSFQoIcHJpb3JpdHkYASABKA1IAIgBARISCgVsYWJlbBgCIAEoCUgBiAEBEicKB2NvbnRleHQYAyADKAsyFi53b3JsZC5UYXNrYWJsZUNvbnRleHQSKQoIYXNzaWduZWUYBCADKAsyFy53b3JsZC5UYXNrYWJsZUFzc2lnbmVlEisKBnNjaGVtYRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCAhgBEiEKBG1vZGUYBiABKA4yEy53b3JsZC5UYXNrYWJsZU1vZGUSKgoGdGFyZ2V0GAcgASgLMhUud29ybGQuVGFza2FibGVUYXJnZXRIAogBARIRCgRpY29uGAggASgJSAOIAQESEwoGZWZmZWN0GAkgASgJSASIAQESFQoIZ3JvdXBpbmcYCiABKAlIBYgBARIeChFncm91cGluZ19wcmlvcml0eRgLIAEoDUgGiAEBEi0KCHRheG9ub215GAwgASgLMhYud29ybGQuVGFza2luZ1RheG9ub215SAeIAQFCCwoJX3ByaW9yaXR5QggKBl9sYWJlbEIJCgdfdGFyZ2V0QgcKBV9pY29uQgkKB19lZmZlY3RCCwoJX2dyb3VwaW5nQhQKEl9ncm91cGluZ19wcmlvcml0eUILCglfdGF4b25vbXkilQIKFlRhc2tFeGVjdXRpb25Db21wb25lbnQSDAoEdGFzaxgBIAEoCRI0CgpwYXJhbWV0ZXJzGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEICGAFIAIgBARIoCgVzdGF0ZRgDIAEoDjIZLndvcmxkLlRhc2tFeGVjdXRpb25TdGF0ZRITCgZyZWFzb24YBCABKAlIAYgBARIVCghwcmlvcml0eRgFIAEoDUgCiAEBEi8KBnRhcmdldBgGIAEoCzIaLndvcmxkLlRhc2tFeGVjdXRpb25UYXJnZXRIA4gBAUINCgtfcGFyYW1ldGVyc0IJCgdfcmVhc29uQgsKCV9wcmlvcml0eUIJCgdfdGFyZ2V0IqIBCg1LaW5lbWF0aWNzRW51EhEKBGVhc3QYASABKAFIAIgBARISCgVub3J0aBgCIAEoAUgBiAEBEg8KAnVwGAMgASgBSAKIAQESMAoKY292YXJpYW5jZRgEIAEoCzIXLndvcmxkLkNvdmFyaWFuY2VNYXRyaXhIA4gBAUIHCgVfZWFzdEIICgZfbm9ydGhCBQoDX3VwQg0KC19jb3ZhcmlhbmNlIu8BChNLaW5lbWF0aWNzQ29tcG9uZW50Ei4KC3ZlbG9jaXR5RW51GAEgASgLMhQud29ybGQuS2luZW1hdGljc0VudUgAiAEBEjIKD2FjY2VsZXJhdGlvbkVudRgCIAEoCzIULndvcmxkLktpbmVtYXRpY3NFbnVIAYgBARI4ChNhbmd1bGFyVmVsb2NpdHlCb2R5GAMgASgLMhYud29ybGQuQW5ndWxhclZlbG9jaXR5SAKIAQFCDgoMX3ZlbG9jaXR5RW51QhIKEF9hY2NlbGVyYXRpb25FbnVCFgoUX2FuZ3VsYXJWZWxvY2l0eUJvZHkiQgoIR2VvbWV0cnkSDwoDd2tiGAEgASgMQgIYARIlCgZwbGFuYXIYAiABKAsyFS53b3JsZC5QbGFuYXJHZW9tZXRyeSJIChFHZW9TaGFwZUNvbXBvbmVudBImCghnZW9tZXRyeRgBIAEoCzIPLndvcmxkLkdlb21ldHJ5SACIAQFCCwoJX2dlb21ldHJ5ImQKE0xvY2FsU2hhcGVDb21wb25lbnQSEwoLcmVsYXRpdmVfdG8YAiABKAkSKwoIZ2VvbWV0cnkYASABKAsyFC53b3JsZC5Mb2NhbEdlb21ldHJ5SACIAQFCCwoJX2dlb21ldHJ5IuEBChdDbGFzc2lmaWNhdGlvbkNvbXBvbmVudBJACglkaW1lbnNpb24YASABKA4yJC53b3JsZC5DbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvbkICGAFIAIgBARI4CghpZGVudGl0eRgCIAEoDjIdLndvcmxkLkNsYXNzaWZpY2F0aW9uSWRlbnRpdHlCAhgBSAGIAQESLwoIdGF4b25vbXkYAyADKAsyHS53b3JsZC5DbGFzc2lmaWNhdGlvblRheG9ub215QgwKCl9kaW1lbnNpb25CCwoJX2lkZW50aXR5IlEKEUlkZW50aXR5Q29tcG9uZW50EiwKC2FmZmlsaWF0aW9uGAEgASgOMhIud29ybGQuQWZmaWxpYXRpb25IAIgBAUIOCgxfYWZmaWxpYXRpb24ilAEKDlRyYW5zcG9uZGVyQUlTEhEKBG1tc2kYASABKA1IAIgBARIQCgNpbW8YAiABKA1IAYgBARIVCghjYWxsc2lnbhgDIAEoCUgCiAEBEhgKC3Zlc3NlbF9uYW1lGAQgASgJSAOIAQFCBwoFX21tc2lCBgoEX2ltb0ILCglfY2FsbHNpZ25CDgoMX3Zlc3NlbF9uYW1lImMKD1RyYW5zcG9uZGVyQURTQhIZCgxpY2FvX2FkZHJlc3MYASABKA1IAIgBARIWCglmbGlnaHRfaWQYAiABKAlIAYgBAUIPCg1faWNhb19hZGRyZXNzQgwKCl9mbGlnaHRfaWQiewoUVHJhbnNwb25kZXJDb21wb25lbnQSJwoDYWlzGAEgASgLMhUud29ybGQuVHJhbnNwb25kZXJBSVNIAIgBARIpCgRhZHNiGAIgASgLMhYud29ybGQuVHJhbnNwb25kZXJBRFNCSAGIAQFCBgoEX2Fpc0IHCgVfYWRzYiKhAwoXQWRtaW5pc3RyYXRpdmVDb21wb25lbnQSDwoCaWQYASABKAlIAIgBARIRCgRmbGFnGAIgASgJSAGIAQESEgoFb3duZXIYAyABKAlIAogBARIZCgxtYW51ZmFjdHVyZXIYBCABKAlIA4gBARISCgVtb2RlbBgFIAEoCUgEiAEBEhcKCnllYXJfYnVpbHQYBiABKA1IBYgBARIVCghsZW5ndGhfbRgHIAEoAkgGiAEBEhQKB3dpZHRoX20YCiABKAJIB4gBARIVCghoZWlnaHRfbRgLIAEoAkgIiAEBEhcKCnRvbm5hZ2VfZ3QYCCABKAJICYgBARIcCg9lbmdpbmVfcG93ZXJfa3cYCSABKAJICogBAUIFCgNfaWRCBwoFX2ZsYWdCCAoGX293bmVyQg8KDV9tYW51ZmFjdHVyZXJCCAoGX21vZGVsQg0KC195ZWFyX2J1aWx0QgsKCV9sZW5ndGhfbUIKCghfd2lkdGhfbUILCglfaGVpZ2h0X21CDQoLX3Rvbm5hZ2VfZ3RCEgoQX2VuZ2luZV9wb3dlcl9rdyLwAQoTTmF2aWdhdGlvbkNvbXBvbmVudBIoCgRtb2RlGAEgASgOMhUud29ybGQuTmF2aWdhdGlvbk1vZGVIAIgBARISCgVhcm1lZBgCIAEoCEgBiAEBEhYKCWVtZXJnZW5jeRgDIAEoCEgCiAEBEh0KEHdheXBvaW50X2N1cnJlbnQYBCABKA1IA4gBARIbCg53YXlwb2ludF90b3RhbBgFIAEoDUgEiAEBQgcKBV9tb2RlQggKBl9hcm1lZEIMCgpfZW1lcmdlbmN5QhMKEV93YXlwb2ludF9jdXJyZW50QhEKD193YXlwb2ludF90b3RhbCKtAQoQTWlzc2lvbkNvbXBvbmVudBIPCgdtZW1iZXJzGAEgAygJEhgKC2Rlc2NyaXB0aW9uGAIgASgJSACIAQESGAoLZGVzdGluYXRpb24YAyABKAlIAYgBARIsCgNldGEYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQFCDgoMX2Rlc2NyaXB0aW9uQg4KDF9kZXN0aW5hdGlvbkIGCgRfZXRhIqwECg1MaW5rQ29tcG9uZW50EiYKBnN0YXR1cxgBIAEoDjIRLndvcmxkLkxpbmtTdGF0dXNIAIgBARIVCghyc3NpX2RibRgCIAEoEUgBiAEBEhMKBnNucl9kYhgDIAEoEUgCiAEBEhAKA3ZpYRgFIAEoCUgDiAEBEhwKD2xhc3RfbGF0ZW5jeV9tcxgGIAEoDUgEiAEBEhsKDmF2Z19sYXRlbmN5X21zGAcgASgNSAWIAQESMgoJbGFzdF9zZWVuGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBEiEKFGxpbmtfcXVhbGl0eV9wZXJjZW50GAkgASgNSAeIAQESGAoLdHhfcG93ZXJfbXcYCiABKA1ICIgBARIbCg5hY3RpdmVfYW50ZW5uYRgLIAEoDUgJiAEBEhQKB3JmX21vZGUYDCABKAlICogBARIbCg5wYWNrZXRfcmF0ZV9oehgNIAEoDUgLiAEBQgkKB19zdGF0dXNCCwoJX3Jzc2lfZGJtQgkKB19zbnJfZGJCBgoEX3ZpYUISChBfbGFzdF9sYXRlbmN5X21zQhEKD19hdmdfbGF0ZW5jeV9tc0IMCgpfbGFzdF9zZWVuQhcKFV9saW5rX3F1YWxpdHlfcGVyY2VudEIOCgxfdHhfcG93ZXJfbXdCEQoPX2FjdGl2ZV9hbnRlbm5hQgoKCF9yZl9tb2RlQhEKD19wYWNrZXRfcmF0ZV9oeiL9AQoQQ2FwdHVyZUNvbXBvbmVudBIUCgdwYXlsb2FkGAEgASgMSACIAQESEQoEcG9ydBgCIAEoDUgBiAEBEhkKDGNvbnRlbnRfdHlwZRgDIAEoCUgCiAEBEhgKC2NhcHR1cmVkX2J5GAQgASgJSAOIAQESNAoLY2FwdHVyZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESDwoHY29udGVudBgGIAMoCUIKCghfcGF5bG9hZEIHCgVfcG9ydEIPCg1fY29udGVudF90eXBlQg4KDF9jYXB0dXJlZF9ieUIOCgxfY2FwdHVyZWRfYXQiiAIKDlBvd2VyQ29tcG9uZW50EiUKGGJhdHRlcnlfY2hhcmdlX3JlbWFpbmluZxgBIAEoAkgAiAEBEhQKB3ZvbHRhZ2UYAiABKAJIAYgBARIeChFyZW1haW5pbmdfc2Vjb25kcxgDIAEoDUgCiAEBEhYKCWN1cnJlbnRfYRgEIAEoAkgDiAEBEh4KEWNhcGFjaXR5X3VzZWRfbWFoGAUgASgCSASIAQFCGwoZX2JhdHRlcnlfY2hhcmdlX3JlbWFpbmluZ0IKCghfdm9sdGFnZUIUChJfcmVtYWluaW5nX3NlY29uZHNCDAoKX2N1cnJlbnRfYUIUChJfY2FwYWNpdHlfdXNlZF9tYWgiRgoRRGV2aWNlQ2xhc3NPcHRpb24SDQoFY2xhc3MYASABKAkSDQoFbGFiZWwYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAki6gIKFUNvbmZpZ3VyYWJsZUNvbXBvbmVudBInCgZzY2hlbWEYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKBXZhbHVlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBInCgVzdGF0ZRgDIAEoDjIYLndvcmxkLkNvbmZpZ3VyYWJsZVN0YXRlEhIKBWVycm9yGAQgASgJSACIAQESEgoFbGFiZWwYBSABKAlIAYgBARIXCg9hcHBsaWVkX3ZlcnNpb24YBiABKAQSOgoYc3VwcG9ydGVkX2RldmljZV9jbGFzc2VzGAcgAygLMhgud29ybGQuRGV2aWNlQ2xhc3NPcHRpb24SNQoMc2NoZWR1bGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBQggKBl9lcnJvckIICgZfbGFiZWxCDwoNX3NjaGVkdWxlZF9hdCKUBQoPRGV2aWNlQ29tcG9uZW50EhMKBnBhcmVudBgBIAEoCUgAiAEBEhMKC2NvbXBvc2l0aW9uGAIgAygJEh8KEnVuaXF1ZV9oYXJkd2FyZV9pZBgEIAEoCUgBiAEBEiEKBXN0YXRlGAYgASgOMhIud29ybGQuRGV2aWNlU3RhdGUSEgoFZXJyb3IYByABKAlIAogBARISCgVjbGFzcxgKIAEoCUgDiAEBEhUKCGNhdGVnb3J5GA0gASgJSASIAQESJAoEbm9kZRgUIAEoCzIRLndvcmxkLk5vZGVEZXZpY2VIBYgBARIiCgN1c2IYFSABKAsyEC53b3JsZC5Vc2JEZXZpY2VIBogBARIgCgJpcBgWIAEoCzIPLndvcmxkLklwRGV2aWNlSAeIAQESKAoGc2VyaWFsGBcgASgLMhMud29ybGQuU2VyaWFsRGV2aWNlSAiIAQESLAoIZXRoZXJuZXQYGCABKAsyFS53b3JsZC5FdGhlcm5ldERldmljZUgJiAEBEiYKBWxwd2FuGBkgASgLMhIud29ybGQuTFBXQU5EZXZpY2VICogBARIwCgptZXNodGFzdGljGBogASgLMhcud29ybGQuTWVzaHRhc3RpY0RldmljZUgLiAEBEiIKA2JsZRgbIAEoCzIQLndvcmxkLkJsZURldmljZUgMiAEBQgkKB19wYXJlbnRCFQoTX3VuaXF1ZV9oYXJkd2FyZV9pZEIICgZfZXJyb3JCCAoGX2NsYXNzQgsKCV9jYXRlZ29yeUIHCgVfbm9kZUIGCgRfdXNiQgUKA19pcEIJCgdfc2VyaWFsQgsKCV9ldGhlcm5ldEIICgZfbHB3YW5CDQoLX21lc2h0YXN0aWNCBgoEX2JsZSJtCgpNaXNzaW9uS2l0Ei8KB2xheW91dHMYASADKAsyHi53b3JsZC5NaXNzaW9uS2l0LkxheW91dHNFbnRyeRouCgxMYXlvdXRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLdAgoKTm9kZURldmljZRIVCghob3N0bmFtZRgBIAEoCUgAiAEBEg8KAm9zGAIgASgJSAGIAQESEQoEYXJjaBgDIAEoCUgCiAEBEhQKB251bV9jcHUYBCABKA1IA4gBARIXCgpvc192ZXJzaW9uGAUgASgJSASIAQESGwoOaHlkcmlzX3ZlcnNpb24YBiABKAlIBYgBARIkChdoeWRyaXNfdXBkYXRlX2F2YWlsYWJsZRgHIAEoCUgGiAEBEisKC21pc3Npb25fa2l0GAggASgLMhEud29ybGQuTWlzc2lvbktpdEgHiAEBQgsKCV9ob3N0bmFtZUIFCgNfb3NCBwoFX2FyY2hCCgoIX251bV9jcHVCDQoLX29zX3ZlcnNpb25CEQoPX2h5ZHJpc192ZXJzaW9uQhoKGF9oeWRyaXNfdXBkYXRlX2F2YWlsYWJsZUIOCgxfbWlzc2lvbl9raXQi+QIKCVVzYkRldmljZRIWCgl2ZW5kb3JfaWQYASABKA1IAIgBARIXCgpwcm9kdWN0X2lkGAIgASgNSAGIAQESGQoMZGV2aWNlX2NsYXNzGAMgASgNSAKIAQESHAoPZGV2aWNlX3N1YmNsYXNzGAQgASgNSAOIAQESHAoPZGV2aWNlX3Byb3RvY29sGAUgASgNSASIAQESHgoRbWFudWZhY3R1cmVyX25hbWUYBiABKAlIBYgBARIZCgxwcm9kdWN0X25hbWUYByABKAlIBogBARIaCg1zZXJpYWxfbnVtYmVyGAggASgJSAeIAQFCDAoKX3ZlbmRvcl9pZEINCgtfcHJvZHVjdF9pZEIPCg1fZGV2aWNlX2NsYXNzQhIKEF9kZXZpY2Vfc3ViY2xhc3NCEgoQX2RldmljZV9wcm90b2NvbEIUChJfbWFudWZhY3R1cmVyX25hbWVCDwoNX3Byb2R1Y3RfbmFtZUIQCg5fc2VyaWFsX251bWJlciJCCghJcERldmljZRIRCgRob3N0GAEgASgJSACIAQESEQoEcG9ydBgCIAEoDUgBiAEBQgcKBV9ob3N0QgcKBV9wb3J0IloKDkV0aGVybmV0RGV2aWNlEhgKC21hY19hZGRyZXNzGAEgASgJSACIAQESEwoGdmVuZG9yGAIgASgJSAGIAQFCDgoMX21hY19hZGRyZXNzQgkKB192ZW5kb3IiUAoMU2VyaWFsRGV2aWNlEhEKBHBhdGgYASABKAlIAIgBARIWCgliYXVkX3JhdGUYAiABKA1IAYgBAUIHCgVfcGF0aEIMCgpfYmF1ZF9yYXRlItwBChBNZXNodGFzdGljRGV2aWNlEhUKCG5vZGVfbnVtGAEgASgNSACIAQESFgoJbG9uZ19uYW1lGAIgASgJSAGIAQESFwoKc2hvcnRfbmFtZRgDIAEoCUgCiAEBEhsKDmhhcmR3YXJlX21vZGVsGAQgASgJSAOIAQESFwoKcHVibGljX2tleRgFIAEoDEgEiAEBQgsKCV9ub2RlX251bUIMCgpfbG9uZ19uYW1lQg0KC19zaG9ydF9uYW1lQhEKD19oYXJkd2FyZV9tb2RlbEINCgtfcHVibGljX2tleSJJCgtMUFdBTkRldmljZRIQCgNldWkYASABKAlIAIgBARIUCgdhZGRyZXNzGAIgASgJSAGIAQFCBgoEX2V1aUIKCghfYWRkcmVzcyJgCglCbGVEZXZpY2USFAoHYWRkcmVzcxgBIAEoCUgAiAEBEhEKBG5hbWUYAiABKAlIAYgBARIVCg1zZXJ2aWNlX3V1aWRzGAQgAygJQgoKCF9hZGRyZXNzQgcKBV9uYW1lIlEKFkNvbmZpZ3VyYXRpb25Db21wb25lbnQSJgoFdmFsdWUYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB3ZlcnNpb24YBSABKAQioAEKDUNoYXRDb21wb25lbnQSEwoGc2VuZGVyGAEgASgJSACIAQESDwoCdG8YAyABKAlIAYgBARIPCgdtZXNzYWdlGAQgASgJEhUKCHJlcGx5X3RvGAUgASgJSAKIAQESFQoIcmVhY3Rpb24YBiABKAhIA4gBAUIJCgdfc2VuZGVyQgUKA190b0ILCglfcmVwbHlfdG9CCwoJX3JlYWN0aW9uIkQKEUFzc2VtYmx5Q29tcG9uZW50EhMKBnBhcmVudBgBIAEoCUgAiAEBEg8KB291dGxpbmUYAiADKAlCCQoHX3BhcmVudCKFAgoRTWFwTGF5ZXJDb21wb25lbnQSDwoHel9pbmRleBgBIAEoBRIPCgdvcGFjaXR5GAIgASgCEi4KBXRpbGVzGAogASgLMh0ud29ybGQuTWFwTGF5ZXJDb21wb25lbnQuVGlsZUgAEi8KBWltYWdlGAsgASgLMh4ud29ybGQuTWFwTGF5ZXJDb21wb25lbnQuSW1hZ2VIABoTCgRUaWxlEgsKA3VybBgBIAEoCRpOCgVJbWFnZRILCgN1cmwYASABKAkSDAoEd2VzdBgCIAEoARINCgVzb3V0aBgDIAEoARIMCgRlYXN0GAQgASgBEg0KBW5vcnRoGAUgASgBQggKBnNvdXJjZSLVBAoMRW50aXR5RmlsdGVyEg8KAmlkGAEgASgJSACIAQESEgoFbGFiZWwYAiABKAlIAYgBARIiCgNnZW8YAyABKAsyEC53b3JsZC5HZW9GaWx0ZXJIAogBARIsCgh0YXNrYWJsZRgEIAEoCzIVLndvcmxkLlRhc2thYmxlRmlsdGVySAOIAQESEQoJY29tcG9uZW50GAUgAygNEjAKCmNvbnRyb2xsZXIYByABKAsyFy53b3JsZC5Db250cm9sbGVyRmlsdGVySASIAQESJgoFdHJhY2sYCCABKAsyEi53b3JsZC5UcmFja0ZpbHRlckgFiAEBEioKB21pc3Npb24YCSABKAsyFC53b3JsZC5NaXNzaW9uRmlsdGVySAaIAQESKgoHY2hhbm5lbBgKIAEoCzIULndvcmxkLkNoYW5uZWxGaWx0ZXJIB4gBARIoCgZkZXZpY2UYMiABKAsyEy53b3JsZC5EZXZpY2VGaWx0ZXJICIgBARIvCgZjb25maWcYMyABKAsyGi53b3JsZC5Db25maWd1cmF0aW9uRmlsdGVySAmIAQESHwoCb3IYZCADKAsyEy53b3JsZC5FbnRpdHlGaWx0ZXISIAoDbm90GGUgASgLMhMud29ybGQuRW50aXR5RmlsdGVyQgUKA19pZEIICgZfbGFiZWxCBgoEX2dlb0ILCglfdGFza2FibGVCDQoLX2NvbnRyb2xsZXJCCAoGX3RyYWNrQgoKCF9taXNzaW9uQgoKCF9jaGFubmVsQgkKB19kZXZpY2VCCQoHX2NvbmZpZyIqChBDb250cm9sbGVyRmlsdGVyEg8KAmlkGAEgASgJSACIAQFCBQoDX2lkIi8KC1RyYWNrRmlsdGVyEhQKB3RyYWNrZXIYASABKAlIAIgBAUIKCghfdHJhY2tlciJdCg1NaXNzaW9uRmlsdGVyEhcKCm1pc3Npb25faWQYASABKAlIAIgBARIWCgltZW1iZXJfaWQYAiABKAlIAYgBAUINCgtfbWlzc2lvbl9pZEIMCgpfbWVtYmVyX2lkIocBCg5UYXNrYWJsZUZpbHRlchIsCgdjb250ZXh0GAEgASgLMhYud29ybGQuVGFza2FibGVDb250ZXh0SACIAQESLgoIYXNzaWduZWUYAiABKAsyFy53b3JsZC5UYXNrYWJsZUFzc2lnbmVlSAGIAQFCCgoIX2NvbnRleHRCCwoJX2Fzc2lnbmVlIk4KCUdlb0ZpbHRlchIjCghnZW9tZXRyeRgBIAEoCzIPLndvcmxkLkdlb21ldHJ5SAASFQoLZ2VvRW50aXR5SWQYAiABKAlIAEIFCgNnZW8i9gEKDERldmljZUZpbHRlchITCgZwYXJlbnQYASABKAlIAIgBARIfChJ1bmlxdWVfaGFyZHdhcmVfaWQYBCABKAlIAYgBARIZCgxkZXZpY2VfY2xhc3MYBSABKAlIAogBARIoCgNibGUYBiABKAsyFi53b3JsZC5CbGVEZXZpY2VGaWx0ZXJIA4gBARIoCgN1c2IYByABKAsyFi53b3JsZC5Vc2JEZXZpY2VGaWx0ZXJIBIgBAUIJCgdfcGFyZW50QhUKE191bmlxdWVfaGFyZHdhcmVfaWRCDwoNX2RldmljZV9jbGFzc0IGCgRfYmxlQgYKBF91c2IiZgoPQmxlRGV2aWNlRmlsdGVyEhQKB2FkZHJlc3MYASABKAlIAIgBARIRCgRuYW1lGAIgASgJSAGIAQESFQoNc2VydmljZV91dWlkcxgEIAMoCUIKCghfYWRkcmVzc0IHCgVfbmFtZSL/AgoPVXNiRGV2aWNlRmlsdGVyEhYKCXZlbmRvcl9pZBgBIAEoDUgAiAEBEhcKCnByb2R1Y3RfaWQYAiABKA1IAYgBARIZCgxkZXZpY2VfY2xhc3MYAyABKA1IAogBARIcCg9kZXZpY2Vfc3ViY2xhc3MYBCABKA1IA4gBARIcCg9kZXZpY2VfcHJvdG9jb2wYBSABKA1IBIgBARIeChFtYW51ZmFjdHVyZXJfbmFtZRgGIAEoCUgFiAEBEhkKDHByb2R1Y3RfbmFtZRgHIAEoCUgGiAEBEhoKDXNlcmlhbF9udW1iZXIYCCABKAlIB4gBAUIMCgpfdmVuZG9yX2lkQg0KC19wcm9kdWN0X2lkQg8KDV9kZXZpY2VfY2xhc3NCEgoQX2RldmljZV9zdWJjbGFzc0ISChBfZGV2aWNlX3Byb3RvY29sQhQKEl9tYW51ZmFjdHVyZXJfbmFtZUIPCg1fcHJvZHVjdF9uYW1lQhAKDl9zZXJpYWxfbnVtYmVyIhUKE0NvbmZpZ3VyYXRpb25GaWx0ZXIiHQoNQ2hhbm5lbEZpbHRlchIMCgRuYW1lGAEgASgJIpMBCgpTb3J0T3B0aW9uEh8KBWZpZWxkGAEgASgOMhAud29ybGQuU29ydEZpZWxkEhIKCmRlc2NlbmRpbmcYAiABKAgSEwoJbWV0cmljX2lkGBQgASgNSAASKAoLbWV0cmljX2tpbmQYFSABKA4yES53b3JsZC5NZXRyaWNLaW5kSABCEQoPbWV0cmljX3NlbGVjdG9yIrQBCg1XYXRjaEJlaGF2aW9yEhgKC21heF9yYXRlX2h6GAEgASgCSACIAQESKgoMbWluX3ByaW9yaXR5GAMgASgOMg8ud29ybGQuUHJpb3JpdHlIAYgBARIiChVrZWVwYWxpdmVfaW50ZXJ2YWxfbXMYBCABKA1IAogBAUIOCgxfbWF4X3JhdGVfaHpCDwoNX21pbl9wcmlvcml0eUIYChZfa2VlcGFsaXZlX2ludGVydmFsX21zIp0BChNMaXN0RW50aXRpZXNSZXF1ZXN0EiMKBmZpbHRlchgCIAEoCzITLndvcmxkLkVudGl0eUZpbHRlchIfCgRzb3J0GAMgAygLMhEud29ybGQuU29ydE9wdGlvbhIsCgliZWhhdmlvdXIYBCABKAsyFC53b3JsZC5XYXRjaEJlaGF2aW9ySACIAQFCDAoKX2JlaGF2aW91ckoECAEQAiI3ChRMaXN0RW50aXRpZXNSZXNwb25zZRIfCghlbnRpdGllcxgBIAMoCzINLndvcmxkLkVudGl0eSJaChNFbnRpdHlDaGFuZ2VSZXF1ZXN0Eh4KB2NoYW5nZXMYASADKAsyDS53b3JsZC5FbnRpdHkSIwoMcmVwbGFjZW1lbnRzGAIgAygLMg0ud29ybGQuRW50aXR5IiEKE0V4cGlyZUVudGl0eVJlcXVlc3QSCgoCaWQYASABKAkiFgoURXhwaXJlRW50aXR5UmVzcG9uc2UiNwoURW50aXR5Q2hhbmdlUmVzcG9uc2USEAoIYWNjZXB0ZWQYASABKAgSDQoFZGVidWcYAiABKAkiUgoRRW50aXR5Q2hhbmdlRXZlbnQSHQoGZW50aXR5GAEgASgLMg0ud29ybGQuRW50aXR5Eh4KAXQYAiABKA4yEy53b3JsZC5FbnRpdHlDaGFuZ2UiPQoRRW50aXR5Q2hhbmdlQmF0Y2gSKAoGZXZlbnRzGAEgAygLMhgud29ybGQuRW50aXR5Q2hhbmdlRXZlbnQiHgoQR2V0RW50aXR5UmVxdWVzdBIKCgJpZBgBIAEoCSIyChFHZXRFbnRpdHlSZXNwb25zZRIdCgZlbnRpdHkYASABKAsyDS53b3JsZC5FbnRpdHkiFQoTR2V0TG9jYWxOb2RlUmVxdWVzdCJGChRHZXRMb2NhbE5vZGVSZXNwb25zZRIdCgZlbnRpdHkYASABKAsyDS53b3JsZC5FbnRpdHkSDwoHbm9kZV9pZBgCIAEoCSIRCg9PYnNlcnZlclJlcXVlc3QicwoNT2JzZXJ2ZXJTdGF0ZRIcCgNnZW8YASABKAsyDy53b3JsZC5HZW9tZXRyeRI0Cgt2aWV3SGlzdG9yeRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIOCgxfdmlld0hpc3RvcnkiggEKDlJ1blRhc2tSZXF1ZXN0EhAKCGVudGl0eUlkGAEgASgJEhUKCHByaW9yaXR5GAIgASgNSACIAQESLwoGdGFyZ2V0GAYgASgLMhoud29ybGQuVGFza0V4ZWN1dGlvblRhcmdldEgBiAEBQgsKCV9wcmlvcml0eUIJCgdfdGFyZ2V0IoMBCg9SdW5UYXNrUmVzcG9uc2USEwoLZXhlY3V0aW9uSWQYASABKAkSIQoGc3RhdHVzGAIgASgOMhEud29ybGQuVGFza1N0YXR1cxIgChNodW1hblJlYWRhYmxlUmVhc29uGAMgASgJSACIAQFCFgoUX2h1bWFuUmVhZGFibGVSZWFzb24iOgoQSGFyZFJlc2V0UmVxdWVzdBIXCgptaXNzaW9uX2lkGAEgASgJSACIAQFCDQoLX21pc3Npb25faWQiEwoRSGFyZFJlc2V0UmVzcG9uc2UiOQoPVGltZVN5bmNSZXF1ZXN0EiYKAnQxGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKKAQoQVGltZVN5bmNSZXNwb25zZRImCgJ0MRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJgoCdDIYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiYKAnQzGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCpiCghQcmlvcml0eRIXChNQcmlvcml0eVVuc3BlY2lmaWVkEAASEwoPUHJpb3JpdHlSb3V0aW5lEAESFQoRUHJpb3JpdHlJbW1lZGlhdGUQAhIRCg1Qcmlvcml0eUZsYXNoEAMqjwEKC0duc3NGaXhUeXBlEhMKD0duc3NGaXhUeXBlTm9uZRAAEhEKDUduc3NGaXhUeXBlMkQQARIRCg1HbnNzRml4VHlwZTNEEAISEwoPR25zc0ZpeFR5cGVER1BTEAMSFwoTR25zc0ZpeFR5cGVSdGtGbG9hdBAEEhcKE0duc3NGaXhUeXBlUnRrRml4ZWQQBSrsAQoTTWVkaWFTdHJlYW1Qcm90b2NvbBIiCh5NZWRpYVN0cmVhbVByb3RvY29sVW5zcGVjaWZpZWQQABIdChlNZWRpYVN0cmVhbVByb3RvY29sV2VicnRjEAESGgoWTWVkaWFTdHJlYW1Qcm90b2NvbEhscxACEhwKGE1lZGlhU3RyZWFtUHJvdG9jb2xNanBlZxADEhwKGE1lZGlhU3RyZWFtUHJvdG9jb2xJbWFnZRAEEh0KGU1lZGlhU3RyZWFtUHJvdG9jb2xJZnJhbWUQBRIbChdNZWRpYVN0cmVhbVByb3RvY29sUnRzcBAGKn8KD01lZGlhU3RyZWFtUm9sZRIeChpNZWRpYVN0cmVhbVJvbGVVbnNwZWNpZmllZBAAEhcKE01lZGlhU3RyZWFtUm9sZU1haW4QARIWChJNZWRpYVN0cmVhbVJvbGVTdWIQAhIbChdNZWRpYVN0cmVhbVJvbGVTbmFwc2hvdBADKnoKDFRhc2thYmxlTW9kZRIZChVUYXNrYWJsZU1vZGVFeGNsdXNpdmUQABIZChVUYXNrYWJsZU1vZGVSZWNvbmNpbGUQARIVChFUYXNrYWJsZU1vZGVTcGF3bhACEh0KGVRhc2thYmxlTW9kZVByaW9yaXR5UXVldWUQAyqRAQoSVGFza0V4ZWN1dGlvblN0YXRlEh0KGVRhc2tFeGVjdXRpb25TdGF0ZVBlbmRpbmcQABIdChlUYXNrRXhlY3V0aW9uU3RhdGVSdW5uaW5nEAESHwobVGFza0V4ZWN1dGlvblN0YXRlQ29tcGxldGVkEAISHAoYVGFza0V4ZWN1dGlvblN0YXRlRmFpbGVkEAMqjAIKFkNsYXNzaWZpY2F0aW9uSWRlbnRpdHkSIQodQ2xhc3NpZmljYXRpb25JZGVudGl0eUludmFsaWQQABIhCh1DbGFzc2lmaWNhdGlvbklkZW50aXR5UGVuZGluZxABEiEKHUNsYXNzaWZpY2F0aW9uSWRlbnRpdHlVbmtub3duEAISIAocQ2xhc3NpZmljYXRpb25JZGVudGl0eUZyaWVuZBADEiEKHUNsYXNzaWZpY2F0aW9uSWRlbnRpdHlOZXV0cmFsEAQSIQodQ2xhc3NpZmljYXRpb25JZGVudGl0eUhvc3RpbGUQBRIhCh1DbGFzc2lmaWNhdGlvbklkZW50aXR5U3VzcGVjdBAGKsQCCh1DbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvbhIoCiRDbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvbkludmFsaWQQABIoCiRDbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvblVua25vd24QARImCiJDbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvblNwYWNlEAISJAogQ2xhc3NpZmljYXRpb25CYXR0bGVEaW1lbnNpb25BaXIQAxInCiNDbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvbkdyb3VuZBAEEisKJ0NsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uU2VhU3VyZmFjZRAFEisKJ0NsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uU3Vic3VyZmFjZRAGKq4BCgtBZmZpbGlhdGlvbhIWChJBZmZpbGlhdGlvbkludmFsaWQQABIWChJBZmZpbGlhdGlvblBlbmRpbmcQARIWChJBZmZpbGlhdGlvblVua25vd24QAhITCg9BZmZpbGlhdGlvbkJsdWUQAxIWChJBZmZpbGlhdGlvbk5ldXRyYWwQBBISCg5BZmZpbGlhdGlvblJlZBAFEhYKEkFmZmlsaWF0aW9uU3VzcGVjdBAGKvYBCg5OYXZpZ2F0aW9uTW9kZRIdChlOYXZpZ2F0aW9uTW9kZVVuc3BlY2lmaWVkEAASGQoVTmF2aWdhdGlvbk1vZGVQbGFubmVkEAESHAoYTmF2aWdhdGlvbk1vZGVTdGF0aW9uYXJ5EAISGgoWTmF2aWdhdGlvbk1vZGVVbmRlcndheRADEhwKGE5hdmlnYXRpb25Nb2RlQXV0b25vbW91cxAEEhgKFE5hdmlnYXRpb25Nb2RlR3VpZGVkEAUSGwoXTmF2aWdhdGlvbk1vZGVMb2l0ZXJpbmcQBhIbChdOYXZpZ2F0aW9uTW9kZVJldHVybmluZxAHKmwKCkxpbmtTdGF0dXMSGQoVTGlua1N0YXR1c1Vuc3BlY2lmaWVkEAASFwoTTGlua1N0YXR1c0Nvbm5lY3RlZBABEhYKEkxpbmtTdGF0dXNEZWdyYWRlZBACEhIKDkxpbmtTdGF0dXNMb3N0EAMqUwoLRGV2aWNlU3RhdGUSFgoSRGV2aWNlU3RhdGVQZW5kaW5nEAASFQoRRGV2aWNlU3RhdGVBY3RpdmUQARIVChFEZXZpY2VTdGF0ZUZhaWxlZBACKsoBChFDb25maWd1cmFibGVTdGF0ZRIdChlDb25maWd1cmFibGVTdGF0ZUluYWN0aXZlEAASHQoZQ29uZmlndXJhYmxlU3RhdGVTdGFydGluZxABEhsKF0NvbmZpZ3VyYWJsZVN0YXRlQWN0aXZlEAISGwoXQ29uZmlndXJhYmxlU3RhdGVGYWlsZWQQAxIdChlDb25maWd1cmFibGVTdGF0ZUNvbmZsaWN0EAQSHgoaQ29uZmlndXJhYmxlU3RhdGVTY2hlZHVsZWQQBSqeCAoJU29ydEZpZWxkEhgKFFNvcnRGaWVsZFVuc3BlY2lmaWVkEAASEgoOU29ydEZpZWxkTGFiZWwQARIVChFTb3J0RmllbGRQcmlvcml0eRACEhkKFVNvcnRGaWVsZExpZmV0aW1lRnJvbRAKEhoKFlNvcnRGaWVsZExpZmV0aW1lVW50aWwQCxIaChZTb3J0RmllbGRMaWZldGltZUZyZXNoEAwSGAoUU29ydEZpZWxkR2VvTGF0aXR1ZGUQFBIZChVTb3J0RmllbGRHZW9Mb25naXR1ZGUQFRIYChRTb3J0RmllbGRHZW9BbHRpdHVkZRAWEiMKH1NvcnRGaWVsZENsYXNzaWZpY2F0aW9uSWRlbnRpdHkQHhIkCiBTb3J0RmllbGRDbGFzc2lmaWNhdGlvbkRpbWVuc2lvbhAfEhsKF1NvcnRGaWVsZEJlYXJpbmdBemltdXRoEDISHQoZU29ydEZpZWxkQmVhcmluZ0VsZXZhdGlvbhAzEiEKHVNvcnRGaWVsZEFkbWluaXN0cmF0aXZlTGVuZ3RoEEYSIAocU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVXaWR0aBBHEiEKHVNvcnRGaWVsZEFkbWluaXN0cmF0aXZlSGVpZ2h0EEgSIgoeU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVUb25uYWdlEEkSJgoiU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVFbmdpbmVQb3dlchBKEiQKIFNvcnRGaWVsZEFkbWluaXN0cmF0aXZlWWVhckJ1aWx0EEsSFQoRU29ydEZpZWxkTGlua1Jzc2kQWhIUChBTb3J0RmllbGRMaW5rU25yEFsSHAoYU29ydEZpZWxkTGlua0xhc3RMYXRlbmN5EFwSGwoXU29ydEZpZWxkTGlua0F2Z0xhdGVuY3kQXRIYChRTb3J0RmllbGRMaW5rUXVhbGl0eRBeEhkKFVNvcnRGaWVsZExpbmtMYXN0U2VlbhBfEhsKF1NvcnRGaWVsZExpbmtQYWNrZXRSYXRlEGASHwobU29ydEZpZWxkUG93ZXJCYXR0ZXJ5Q2hhcmdlEGQSGQoVU29ydEZpZWxkUG93ZXJWb2x0YWdlEGUSIgoeU29ydEZpZWxkUG93ZXJSZW1haW5pbmdTZWNvbmRzEGYSGQoVU29ydEZpZWxkUG93ZXJDdXJyZW50EGcSHgoaU29ydEZpZWxkUG93ZXJDYXBhY2l0eVVzZWQQaBIZChRTb3J0RmllbGREZXZpY2VTdGF0ZRCCARIZChRTb3J0RmllbGRNZXRyaWNWYWx1ZRCWARIeChlTb3J0RmllbGRNZXRyaWNNZWFzdXJlZEF0EJcBEh4KGVNvcnRGaWVsZE1ldHJpY0FsZXJ0TGV2ZWwQmAEqdQoMRW50aXR5Q2hhbmdlEhcKE0VudGl0eUNoYW5nZUludmFsaWQQABIXChNFbnRpdHlDaGFuZ2VVcGRhdGVkEAESFwoTRW50aXR5Q2hhbmdlRXhwaXJlZBACEhoKFkVudGl0eUNoYW5nZVVub2JzZXJ2ZWQQAyqSCQoPRW50aXR5Q29tcG9uZW50Eh4KGkVudGl0eUNvbXBvbmVudFVuc3BlY2lmaWVkEAASGAoURW50aXR5Q29tcG9uZW50TGFiZWwQAhIdChlFbnRpdHlDb21wb25lbnRDb250cm9sbGVyEAMSGwoXRW50aXR5Q29tcG9uZW50TGlmZXRpbWUQBBIbChdFbnRpdHlDb21wb25lbnRQcmlvcml0eRAFEhgKFEVudGl0eUNvbXBvbmVudExlYXNlEAYSGgoWRW50aXR5Q29tcG9uZW50Um91dGluZxAHEhYKEkVudGl0eUNvbXBvbmVudEdlbxALEhkKFUVudGl0eUNvbXBvbmVudFN5bWJvbBAMEhkKFUVudGl0eUNvbXBvbmVudENhbWVyYRAPEhwKGEVudGl0eUNvbXBvbmVudERldGVjdGlvbhAQEhoKFkVudGl0eUNvbXBvbmVudEJlYXJpbmcQERIYChRFbnRpdHlDb21wb25lbnRUcmFjaxAVEhoKFkVudGl0eUNvbXBvbmVudExvY2F0b3IQFhIbChdFbnRpdHlDb21wb25lbnRUYXNrYWJsZRAXEh0KGUVudGl0eUNvbXBvbmVudEtpbmVtYXRpY3MQGBIYChRFbnRpdHlDb21wb25lbnRTaGFwZRAZEiEKHUVudGl0eUNvbXBvbmVudENsYXNzaWZpY2F0aW9uEBoSHgoaRW50aXR5Q29tcG9uZW50VHJhbnNwb25kZXIQGxIhCh1FbnRpdHlDb21wb25lbnRBZG1pbmlzdHJhdGl2ZRAcEh0KGUVudGl0eUNvbXBvbmVudExvY2FsU2hhcGUQHRIeChpFbnRpdHlDb21wb25lbnRPcmllbnRhdGlvbhAeEhoKFkVudGl0eUNvbXBvbmVudE1pc3Npb24QHxIXChNFbnRpdHlDb21wb25lbnRMaW5rECASGAoURW50aXR5Q29tcG9uZW50UG93ZXIQIRIdChlFbnRpdHlDb21wb25lbnROYXZpZ2F0aW9uECISGgoWRW50aXR5Q29tcG9uZW50Q2FwdHVyZRAjEhkKFUVudGl0eUNvbXBvbmVudE1ldHJpYxAkEhkKFUVudGl0eUNvbXBvbmVudFNlbnNvchAlEhcKE0VudGl0eUNvbXBvbmVudFBvc2UQJhIXChNFbnRpdHlDb21wb25lbnRDaGF0ECcSIAocRW50aXR5Q29tcG9uZW50VGFza0V4ZWN1dGlvbhApEhcKE0VudGl0eUNvbXBvbmVudEduc3MQKhIZChVFbnRpdHlDb21wb25lbnREZXZpY2UQMhIZChVFbnRpdHlDb21wb25lbnRDb25maWcQMxIfChtFbnRpdHlDb21wb25lbnRDb25maWd1cmFibGUQNBIgChxFbnRpdHlDb21wb25lbnRJbnRlcmFjdGl2aXR5EDwSGwoXRW50aXR5Q29tcG9uZW50QXJ0aWZhY3QQPRIdChlFbnRpdHlDb21wb25lbnRUYXJnZXRQb3NlED4SGwoXRW50aXR5Q29tcG9uZW50TWFwTGF5ZXIQPyppCgpUYXNrU3RhdHVzEhUKEVRhc2tTdGF0dXNJbnZhbGlkEAASFQoRVGFza1N0YXR1c1J1bm5pbmcQARIXChNUYXNrU3RhdHVzQ29tcGxldGVkEAISFAoQVGFza1N0YXR1c0ZhaWxlZBADMuoECgxXb3JsZFNlcnZpY2USRwoMTGlzdEVudGl0aWVzEhoud29ybGQuTGlzdEVudGl0aWVzUmVxdWVzdBobLndvcmxkLkxpc3RFbnRpdGllc1Jlc3BvbnNlEj4KCUdldEVudGl0eRIXLndvcmxkLkdldEVudGl0eVJlcXVlc3QaGC53b3JsZC5HZXRFbnRpdHlSZXNwb25zZRJHCg1XYXRjaEVudGl0aWVzEhoud29ybGQuTGlzdEVudGl0aWVzUmVxdWVzdBoYLndvcmxkLkVudGl0eUNoYW5nZUV2ZW50MAESPwoEUHVzaBIaLndvcmxkLkVudGl0eUNoYW5nZVJlcXVlc3QaGy53b3JsZC5FbnRpdHlDaGFuZ2VSZXNwb25zZRJHCgxFeHBpcmVFbnRpdHkSGi53b3JsZC5FeHBpcmVFbnRpdHlSZXF1ZXN0Ghsud29ybGQuRXhwaXJlRW50aXR5UmVzcG9uc2USRwoMR2V0TG9jYWxOb2RlEhoud29ybGQuR2V0TG9jYWxOb2RlUmVxdWVzdBobLndvcmxkLkdldExvY2FsTm9kZVJlc3BvbnNlEjgKB1J1blRhc2sSFS53b3JsZC5SdW5UYXNrUmVxdWVzdBoWLndvcmxkLlJ1blRhc2tSZXNwb25zZRI+CglIYXJkUmVzZXQSFy53b3JsZC5IYXJkUmVzZXRSZXF1ZXN0Ghgud29ybGQuSGFyZFJlc2V0UmVzcG9uc2USOwoIVGltZVN5bmMSFi53b3JsZC5UaW1lU3luY1JlcXVlc3QaFy53b3JsZC5UaW1lU3luY1Jlc3BvbnNlQiBaHmdpdGh1Yi5jb20vcHJvamVjdHFhaS9wcm90by9nb2IGcHJvdG8z", [file_geometry, file_google_protobuf_struct, file_google_protobuf_timestamp, file_metrics, file_tasking, file_taxonomy]);
17
+ fileDesc("Cgt3b3JsZC5wcm90bxIFd29ybGQivxQKBkVudGl0eRIKCgJpZBgBIAEoCRISCgVsYWJlbBgCIAEoCUgAiAEBEioKCmNvbnRyb2xsZXIYAyABKAsyES53b3JsZC5Db250cm9sbGVySAGIAQESJgoIbGlmZXRpbWUYBCABKAsyDy53b3JsZC5MaWZldGltZUgCiAEBEiYKCHByaW9yaXR5GAUgASgOMg8ud29ybGQuUHJpb3JpdHlIA4gBARIgCgVsZWFzZRgGIAEoCzIMLndvcmxkLkxlYXNlSASIAQESJAoHcm91dGluZxgHIAEoCzIOLndvcmxkLlJvdXRpbmdIBYgBARIsCgNnZW8YCyABKAsyGi53b3JsZC5HZW9TcGF0aWFsQ29tcG9uZW50SAaIAQESKwoGc3ltYm9sGAwgASgLMhYud29ybGQuU3ltYm9sQ29tcG9uZW50SAeIAQESKwoGY2FtZXJhGA8gASgLMhYud29ybGQuQ2FtZXJhQ29tcG9uZW50SAiIAQESMQoJZGV0ZWN0aW9uGBAgASgLMhkud29ybGQuRGV0ZWN0aW9uQ29tcG9uZW50SAmIAQESLQoHYmVhcmluZxgRIAEoCzIXLndvcmxkLkJlYXJpbmdDb21wb25lbnRICogBARIpCgV0cmFjaxgVIAEoCzIVLndvcmxkLlRyYWNrQ29tcG9uZW50SAuIAQESLQoHbG9jYXRvchgWIAEoCzIXLndvcmxkLkxvY2F0b3JDb21wb25lbnRIDIgBARIzCgpraW5lbWF0aWNzGBggASgLMhoud29ybGQuS2luZW1hdGljc0NvbXBvbmVudEgNiAEBEiwKBXNoYXBlGBkgASgLMhgud29ybGQuR2VvU2hhcGVDb21wb25lbnRIDogBARI7Cg5jbGFzc2lmaWNhdGlvbhgaIAEoCzIeLndvcmxkLkNsYXNzaWZpY2F0aW9uQ29tcG9uZW50SA+IAQESNQoLdHJhbnNwb25kZXIYGyABKAsyGy53b3JsZC5UcmFuc3BvbmRlckNvbXBvbmVudEgQiAEBEjsKDmFkbWluaXN0cmF0aXZlGBwgASgLMh4ud29ybGQuQWRtaW5pc3RyYXRpdmVDb21wb25lbnRIEYgBARI1CgtvcmllbnRhdGlvbhgeIAEoCzIbLndvcmxkLk9yaWVudGF0aW9uQ29tcG9uZW50SBKIAQESMwoKbmF2aWdhdGlvbhgiIAEoCzIaLndvcmxkLk5hdmlnYXRpb25Db21wb25lbnRIE4gBARIpCgVwb3dlchghIAEoCzIVLndvcmxkLlBvd2VyQ29tcG9uZW50SBSIAQESLQoHY2FwdHVyZRgjIAEoCzIXLndvcmxkLkNhcHR1cmVDb21wb25lbnRIFYgBARInCgRnbnNzGCogASgLMhQud29ybGQuR25zc0NvbXBvbmVudEgWiAEBEisKBmRldmljZRgyIAEoCzIWLndvcmxkLkRldmljZUNvbXBvbmVudEgXiAEBEicKBGxpbmsYICABKAsyFC53b3JsZC5MaW5rQ29tcG9uZW50SBiIAQESJwoEcG9zZRgmIAEoCzIULndvcmxkLlBvc2VDb21wb25lbnRIGYgBARI0Cgt0YXJnZXRfcG9zZRg+IAEoCzIaLndvcmxkLlRhcmdldFBvc2VDb21wb25lbnRIGogBARI0Cgtsb2NhbF9zaGFwZRgdIAEoCzIaLndvcmxkLkxvY2FsU2hhcGVDb21wb25lbnRIG4gBARIrCgZtZXRyaWMYJCABKAsyFi53b3JsZC5NZXRyaWNDb21wb25lbnRIHIgBARIyCgZjb25maWcYMyABKAsyHS53b3JsZC5Db25maWd1cmF0aW9uQ29tcG9uZW50SB2IAQESNwoMY29uZmlndXJhYmxlGDQgASgLMhwud29ybGQuQ29uZmlndXJhYmxlQ29tcG9uZW50SB6IAQESLwoIdGFza2FibGUYFyABKAsyGC53b3JsZC5UYXNrYWJsZUNvbXBvbmVudEgfiAEBEjoKDnRhc2tfZXhlY3V0aW9uGCkgASgLMh0ud29ybGQuVGFza0V4ZWN1dGlvbkNvbXBvbmVudEggiAEBEi0KB21pc3Npb24YHyABKAsyFy53b3JsZC5NaXNzaW9uQ29tcG9uZW50SCGIAQESKwoGc2Vuc29yGCUgASgLMhYud29ybGQuU2Vuc29yQ29tcG9uZW50SCKIAQESOQoNaW50ZXJhY3Rpdml0eRg8IAEoCzIdLndvcmxkLkludGVyYWN0aXZpdHlDb21wb25lbnRII4gBARIvCghhcnRpZmFjdBg9IAEoCzIYLndvcmxkLkFydGlmYWN0Q29tcG9uZW50SCSIAQESJwoEY2hhdBgnIAEoCzIULndvcmxkLkNoYXRDb21wb25lbnRIJYgBARIvCghhc3NlbWJseRgoIAEoCzIYLndvcmxkLkFzc2VtYmx5Q29tcG9uZW50SCaIAQESMAoJbWFwX2xheWVyGD8gASgLMhgud29ybGQuTWFwTGF5ZXJDb21wb25lbnRIJ4gBARI6Cg5tYW51YWxfY29udHJvbBhAIAEoCzIdLndvcmxkLk1hbnVhbENvbnRyb2xDb21wb25lbnRIKIgBARJHChV0YXJnZXRfbWFudWFsX2NvbnRyb2wYQSABKAsyIy53b3JsZC5UYXJnZXRNYW51YWxDb250cm9sQ29tcG9uZW50SCmIAQFCCAoGX2xhYmVsQg0KC19jb250cm9sbGVyQgsKCV9saWZldGltZUILCglfcHJpb3JpdHlCCAoGX2xlYXNlQgoKCF9yb3V0aW5nQgYKBF9nZW9CCQoHX3N5bWJvbEIJCgdfY2FtZXJhQgwKCl9kZXRlY3Rpb25CCgoIX2JlYXJpbmdCCAoGX3RyYWNrQgoKCF9sb2NhdG9yQg0KC19raW5lbWF0aWNzQggKBl9zaGFwZUIRCg9fY2xhc3NpZmljYXRpb25CDgoMX3RyYW5zcG9uZGVyQhEKD19hZG1pbmlzdHJhdGl2ZUIOCgxfb3JpZW50YXRpb25CDQoLX25hdmlnYXRpb25CCAoGX3Bvd2VyQgoKCF9jYXB0dXJlQgcKBV9nbnNzQgkKB19kZXZpY2VCBwoFX2xpbmtCBwoFX3Bvc2VCDgoMX3RhcmdldF9wb3NlQg4KDF9sb2NhbF9zaGFwZUIJCgdfbWV0cmljQgkKB19jb25maWdCDwoNX2NvbmZpZ3VyYWJsZUILCglfdGFza2FibGVCEQoPX3Rhc2tfZXhlY3V0aW9uQgoKCF9taXNzaW9uQgkKB19zZW5zb3JCEAoOX2ludGVyYWN0aXZpdHlCCwoJX2FydGlmYWN0QgcKBV9jaGF0QgsKCV9hc3NlbWJseUIMCgpfbWFwX2xheWVyQhEKD19tYW51YWxfY29udHJvbEIYChZfdGFyZ2V0X21hbnVhbF9jb250cm9sSgQICBAJSgQICRAKSgQIChALImAKCkNvbnRyb2xsZXISDwoCaWQYASABKAlIAIgBARIRCgRub2RlGAIgASgJSAGIAQESEwoGb3JpZ2luGAMgASgJSAKIAQFCBQoDX2lkQgcKBV9ub2RlQgkKB19vcmlnaW4iWQoFTGVhc2USEgoKY29udHJvbGxlchgBIAEoCRIwCgdleHBpcmVzGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQgoKCF9leHBpcmVzIq8CCghMaWZldGltZRItCgRmcm9tGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEi4KBXVudGlsGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEi4KBWZyZXNoGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjMKCmNvbXBvbmVudHMYBCADKAsyHy53b3JsZC5MaWZldGltZS5Db21wb25lbnRzRW50cnkaQgoPQ29tcG9uZW50c0VudHJ5EgsKA2tleRgBIAEoBRIeCgV2YWx1ZRgCIAEoCzIPLndvcmxkLkxpZmV0aW1lOgI4AUIHCgVfZnJvbUIICgZfdW50aWxCCAoGX2ZyZXNoIhcKB0NoYW5uZWwSDAoEbmFtZRgBIAEoCSIrCgdSb3V0aW5nEiAKCGNoYW5uZWxzGAEgAygLMg4ud29ybGQuQ2hhbm5lbCKfAQoTR2VvU3BhdGlhbENvbXBvbmVudBIRCglsb25naXR1ZGUYASABKAESEAoIbGF0aXR1ZGUYAiABKAESFQoIYWx0aXR1ZGUYAyABKAFIAIgBARIwCgpjb3ZhcmlhbmNlGAQgASgLMhcud29ybGQuQ292YXJpYW5jZU1hdHJpeEgBiAEBQgsKCV9hbHRpdHVkZUINCgtfY292YXJpYW5jZSKFAgoNR25zc0NvbXBvbmVudBIpCghmaXhfdHlwZRgBIAEoDjISLndvcmxkLkduc3NGaXhUeXBlSACIAQESHwoSc2F0ZWxsaXRlc192aXNpYmxlGAIgASgNSAGIAQESHAoPc2F0ZWxsaXRlc191c2VkGAMgASgNSAKIAQESEQoEaGRvcBgEIAEoAkgDiAEBEhEKBHZkb3AYBSABKAJIBIgBARIRCgRwZG9wGAYgASgCSAWIAQFCCwoJX2ZpeF90eXBlQhUKE19zYXRlbGxpdGVzX3Zpc2libGVCEgoQX3NhdGVsbGl0ZXNfdXNlZEIHCgVfaGRvcEIHCgVfdmRvcEIHCgVfcGRvcCImCg9TeW1ib2xDb21wb25lbnQSEwoLbWlsU3RkMjUyNUMYASABKAkiYgoWSW50ZXJhY3Rpdml0eUNvbXBvbmVudBIRCgRpY29uGAEgASgJSACIAQESGgoNcmVmZXJlbmNlX3VybBgDIAEoCUgBiAEBQgcKBV9pY29uQhAKDl9yZWZlcmVuY2VfdXJsIsoBCgtNZWRpYVN0cmVhbRINCgVsYWJlbBgBIAEoCRILCgN1cmwYAiABKAkSLAoIcHJvdG9jb2wYAyABKA4yGi53b3JsZC5NZWRpYVN0cmVhbVByb3RvY29sEiQKBHJvbGUYCSABKA4yFi53b3JsZC5NZWRpYVN0cmVhbVJvbGUSDQoFY29kZWMYCiABKAkSEgoFd2lkdGgYCyABKAVIAIgBARITCgZoZWlnaHQYDCABKAVIAYgBAUIICgZfd2lkdGhCCQoHX2hlaWdodCKOAgoPQ2FtZXJhQ29tcG9uZW50EiMKB3N0cmVhbXMYASADKAsyEi53b3JsZC5NZWRpYVN0cmVhbRIYCgtmb2NhbF9wb2ludBgCIAEoCUgAiAEBEhAKA2ZvdhgDIAEoAUgBiAEBEhYKCXJhbmdlX21pbhgEIAEoAUgCiAEBEhYKCXJhbmdlX21heBgFIAEoAUgDiAEBEhUKCGZvdl93aWRlGAYgASgBSASIAQESFQoIZm92X3RlbGUYByABKAFIBYgBAUIOCgxfZm9jYWxfcG9pbnRCBgoEX2ZvdkIMCgpfcmFuZ2VfbWluQgwKCl9yYW5nZV9tYXhCCwoJX2Zvdl93aWRlQgsKCV9mb3ZfdGVsZSIfChBBcnRpZmFjdExvY2F0aW9uEgsKA3VybBgBIAEoCSKoAQoRQXJ0aWZhY3RDb21wb25lbnQSCgoCaWQYASABKAkSFAoMY29udGVudF90eXBlGAIgASgJEikKCGxvY2F0aW9uGAMgAygLMhcud29ybGQuQXJ0aWZhY3RMb2NhdGlvbhIXCgpzaXplX2J5dGVzGAQgASgDSACIAQESEwoGc2hhMjU2GAUgASgJSAGIAQFCDQoLX3NpemVfYnl0ZXNCCQoHX3NoYTI1NiLSAQoSRGV0ZWN0aW9uQ29tcG9uZW50Eh0KEGRldGVjdG9yRW50aXR5SWQYASABKAlIAIgBARIbCg5jbGFzc2lmaWNhdGlvbhgCIAEoCUgBiAEBEjUKDGxhc3RNZWFzdXJlZBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIQCghldmlkZW5jZRgEIAMoCUITChFfZGV0ZWN0b3JFbnRpdHlJZEIRCg9fY2xhc3NpZmljYXRpb25CDwoNX2xhc3RNZWFzdXJlZCJaChBCZWFyaW5nQ29tcG9uZW50EhQKB2F6aW11dGgYASABKAFIAIgBARIWCgllbGV2YXRpb24YAiABKAFIAYgBAUIKCghfYXppbXV0aEIMCgpfZWxldmF0aW9uIiMKD1NlbnNvckNvbXBvbmVudBIQCghjb3ZlcmFnZRgCIAMoCSI4CgpRdWF0ZXJuaW9uEgkKAXgYASABKAESCQoBeRgCIAEoARIJCgF6GAMgASgBEgkKAXcYBCABKAEirgEKEENvdmFyaWFuY2VNYXRyaXgSEAoDbXh4GAEgASgBSACIAQESEAoDbXh5GAIgASgBSAGIAQESEAoDbXh6GAMgASgBSAKIAQESEAoDbXl5GAQgASgBSAOIAQESEAoDbXl6GAUgASgBSASIAQESEAoDbXp6GAYgASgBSAWIAQFCBgoEX214eEIGCgRfbXh5QgYKBF9teHpCBgoEX215eUIGCgRfbXl6QgYKBF9tenoizAEKD0NhcnRlc2lhbk9mZnNldBIOCgZlYXN0X20YASABKAESDwoHbm9ydGhfbRgCIAEoARIRCgR1cF9tGAMgASgBSACIAQESMAoKY292YXJpYW5jZRgEIAEoCzIXLndvcmxkLkNvdmFyaWFuY2VNYXRyaXhIAYgBARIrCgtvcmllbnRhdGlvbhgFIAEoCzIRLndvcmxkLlF1YXRlcm5pb25IAogBAUIHCgVfdXBfbUINCgtfY292YXJpYW5jZUIOCgxfb3JpZW50YXRpb24iggMKC1BvbGFyT2Zmc2V0Eg8KB2F6aW11dGgYASABKAESFgoJZWxldmF0aW9uGAIgASgBSACIAQESEgoFcmFuZ2UYAyABKAFIAYgBARI0Cgpjb3ZhcmlhbmNlGAQgASgLMhcud29ybGQuQ292YXJpYW5jZU1hdHJpeEICGAFIAogBARIeChFhemltdXRoX2Vycm9yX2RlZxgKIAEoAUgDiAEBEiAKE2VsZXZhdGlvbl9lcnJvcl9kZWcYCyABKAFIBIgBARIaCg1yYW5nZV9lcnJvcl9tGAwgASgBSAWIAQESKwoLb3JpZW50YXRpb24YBSABKAsyES53b3JsZC5RdWF0ZXJuaW9uSAaIAQFCDAoKX2VsZXZhdGlvbkIICgZfcmFuZ2VCDQoLX2NvdmFyaWFuY2VCFAoSX2F6aW11dGhfZXJyb3JfZGVnQhYKFF9lbGV2YXRpb25fZXJyb3JfZGVnQhAKDl9yYW5nZV9lcnJvcl9tQg4KDF9vcmllbnRhdGlvbiJ7Cg1Qb3NlQ29tcG9uZW50Eg4KBnBhcmVudBgBIAEoCRIrCgljYXJ0ZXNpYW4YAiABKAsyFi53b3JsZC5DYXJ0ZXNpYW5PZmZzZXRIABIjCgVwb2xhchgDIAEoCzISLndvcmxkLlBvbGFyT2Zmc2V0SABCCAoGb2Zmc2V0InEKE1RhcmdldFBvc2VDb21wb25lbnQSKwoJY2FydGVzaWFuGAEgASgLMhYud29ybGQuQ2FydGVzaWFuT2Zmc2V0SAASIwoFcG9sYXIYAiABKAsyEi53b3JsZC5Qb2xhck9mZnNldEgAQggKBm9mZnNldCJKCg9Bbmd1bGFyVmVsb2NpdHkSEQoJcm9sbF9yYXRlGAEgASgBEhIKCnBpdGNoX3JhdGUYAiABKAESEAoIeWF3X3JhdGUYAyABKAEifwoUT3JpZW50YXRpb25Db21wb25lbnQSJgoLb3JpZW50YXRpb24YASABKAsyES53b3JsZC5RdWF0ZXJuaW9uEjAKCmNvdmFyaWFuY2UYAiABKAsyFy53b3JsZC5Db3ZhcmlhbmNlTWF0cml4SACIAQFCDQoLX2NvdmFyaWFuY2UikAEKDlRyYWNrQ29tcG9uZW50EhQKB3RyYWNrZXIYASABKAlIAIgBARIUCgdoaXN0b3J5GAIgASgJSAGIAQESFwoKcHJlZGljdGlvbhgDIAEoCUgCiAEBEhIKCmRldGVjdGlvbnMYBCADKAlCCgoIX3RyYWNrZXJCCgoIX2hpc3RvcnlCDQoLX3ByZWRpY3Rpb24iKwoQTG9jYXRvckNvbXBvbmVudBIXCg9sb2NhdGVkRW50aXR5SWQYASABKAkiNQoPVGFza2FibGVDb250ZXh0EhUKCGVudGl0eUlkGAEgASgJSACIAQFCCwoJX2VudGl0eUlkIjYKEFRhc2thYmxlQXNzaWduZWUSFQoIZW50aXR5SWQYASABKAlIAIgBAUILCglfZW50aXR5SWQiggQKEVRhc2thYmxlQ29tcG9uZW50EhUKCHByaW9yaXR5GAEgASgNSACIAQESEgoFbGFiZWwYAiABKAlIAYgBARInCgdjb250ZXh0GAMgAygLMhYud29ybGQuVGFza2FibGVDb250ZXh0EikKCGFzc2lnbmVlGAQgAygLMhcud29ybGQuVGFza2FibGVBc3NpZ25lZRIrCgZzY2hlbWEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QgIYARIhCgRtb2RlGAYgASgOMhMud29ybGQuVGFza2FibGVNb2RlEioKBnRhcmdldBgHIAEoCzIVLndvcmxkLlRhc2thYmxlVGFyZ2V0SAKIAQESEQoEaWNvbhgIIAEoCUgDiAEBEhMKBmVmZmVjdBgJIAEoCUgEiAEBEhUKCGdyb3VwaW5nGAogASgJSAWIAQESHgoRZ3JvdXBpbmdfcHJpb3JpdHkYCyABKA1IBogBARItCgh0YXhvbm9teRgMIAEoCzIWLndvcmxkLlRhc2tpbmdUYXhvbm9teUgHiAEBQgsKCV9wcmlvcml0eUIICgZfbGFiZWxCCQoHX3RhcmdldEIHCgVfaWNvbkIJCgdfZWZmZWN0QgsKCV9ncm91cGluZ0IUChJfZ3JvdXBpbmdfcHJpb3JpdHlCCwoJX3RheG9ub215IpUCChZUYXNrRXhlY3V0aW9uQ29tcG9uZW50EgwKBHRhc2sYASABKAkSNAoKcGFyYW1ldGVycxgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCAhgBSACIAQESKAoFc3RhdGUYAyABKA4yGS53b3JsZC5UYXNrRXhlY3V0aW9uU3RhdGUSEwoGcmVhc29uGAQgASgJSAGIAQESFQoIcHJpb3JpdHkYBSABKA1IAogBARIvCgZ0YXJnZXQYBiABKAsyGi53b3JsZC5UYXNrRXhlY3V0aW9uVGFyZ2V0SAOIAQFCDQoLX3BhcmFtZXRlcnNCCQoHX3JlYXNvbkILCglfcHJpb3JpdHlCCQoHX3RhcmdldCKiAQoNS2luZW1hdGljc0VudRIRCgRlYXN0GAEgASgBSACIAQESEgoFbm9ydGgYAiABKAFIAYgBARIPCgJ1cBgDIAEoAUgCiAEBEjAKCmNvdmFyaWFuY2UYBCABKAsyFy53b3JsZC5Db3ZhcmlhbmNlTWF0cml4SAOIAQFCBwoFX2Vhc3RCCAoGX25vcnRoQgUKA191cEINCgtfY292YXJpYW5jZSLvAQoTS2luZW1hdGljc0NvbXBvbmVudBIuCgt2ZWxvY2l0eUVudRgBIAEoCzIULndvcmxkLktpbmVtYXRpY3NFbnVIAIgBARIyCg9hY2NlbGVyYXRpb25FbnUYAiABKAsyFC53b3JsZC5LaW5lbWF0aWNzRW51SAGIAQESOAoTYW5ndWxhclZlbG9jaXR5Qm9keRgDIAEoCzIWLndvcmxkLkFuZ3VsYXJWZWxvY2l0eUgCiAEBQg4KDF92ZWxvY2l0eUVudUISChBfYWNjZWxlcmF0aW9uRW51QhYKFF9hbmd1bGFyVmVsb2NpdHlCb2R5IkIKCEdlb21ldHJ5Eg8KA3drYhgBIAEoDEICGAESJQoGcGxhbmFyGAIgASgLMhUud29ybGQuUGxhbmFyR2VvbWV0cnkiSAoRR2VvU2hhcGVDb21wb25lbnQSJgoIZ2VvbWV0cnkYASABKAsyDy53b3JsZC5HZW9tZXRyeUgAiAEBQgsKCV9nZW9tZXRyeSJkChNMb2NhbFNoYXBlQ29tcG9uZW50EhMKC3JlbGF0aXZlX3RvGAIgASgJEisKCGdlb21ldHJ5GAEgASgLMhQud29ybGQuTG9jYWxHZW9tZXRyeUgAiAEBQgsKCV9nZW9tZXRyeSLhAQoXQ2xhc3NpZmljYXRpb25Db21wb25lbnQSQAoJZGltZW5zaW9uGAEgASgOMiQud29ybGQuQ2xhc3NpZmljYXRpb25CYXR0bGVEaW1lbnNpb25CAhgBSACIAQESOAoIaWRlbnRpdHkYAiABKA4yHS53b3JsZC5DbGFzc2lmaWNhdGlvbklkZW50aXR5QgIYAUgBiAEBEi8KCHRheG9ub215GAMgAygLMh0ud29ybGQuQ2xhc3NpZmljYXRpb25UYXhvbm9teUIMCgpfZGltZW5zaW9uQgsKCV9pZGVudGl0eSJRChFJZGVudGl0eUNvbXBvbmVudBIsCgthZmZpbGlhdGlvbhgBIAEoDjISLndvcmxkLkFmZmlsaWF0aW9uSACIAQFCDgoMX2FmZmlsaWF0aW9uIpQBCg5UcmFuc3BvbmRlckFJUxIRCgRtbXNpGAEgASgNSACIAQESEAoDaW1vGAIgASgNSAGIAQESFQoIY2FsbHNpZ24YAyABKAlIAogBARIYCgt2ZXNzZWxfbmFtZRgEIAEoCUgDiAEBQgcKBV9tbXNpQgYKBF9pbW9CCwoJX2NhbGxzaWduQg4KDF92ZXNzZWxfbmFtZSJjCg9UcmFuc3BvbmRlckFEU0ISGQoMaWNhb19hZGRyZXNzGAEgASgNSACIAQESFgoJZmxpZ2h0X2lkGAIgASgJSAGIAQFCDwoNX2ljYW9fYWRkcmVzc0IMCgpfZmxpZ2h0X2lkInsKFFRyYW5zcG9uZGVyQ29tcG9uZW50EicKA2FpcxgBIAEoCzIVLndvcmxkLlRyYW5zcG9uZGVyQUlTSACIAQESKQoEYWRzYhgCIAEoCzIWLndvcmxkLlRyYW5zcG9uZGVyQURTQkgBiAEBQgYKBF9haXNCBwoFX2Fkc2IioQMKF0FkbWluaXN0cmF0aXZlQ29tcG9uZW50Eg8KAmlkGAEgASgJSACIAQESEQoEZmxhZxgCIAEoCUgBiAEBEhIKBW93bmVyGAMgASgJSAKIAQESGQoMbWFudWZhY3R1cmVyGAQgASgJSAOIAQESEgoFbW9kZWwYBSABKAlIBIgBARIXCgp5ZWFyX2J1aWx0GAYgASgNSAWIAQESFQoIbGVuZ3RoX20YByABKAJIBogBARIUCgd3aWR0aF9tGAogASgCSAeIAQESFQoIaGVpZ2h0X20YCyABKAJICIgBARIXCgp0b25uYWdlX2d0GAggASgCSAmIAQESHAoPZW5naW5lX3Bvd2VyX2t3GAkgASgCSAqIAQFCBQoDX2lkQgcKBV9mbGFnQggKBl9vd25lckIPCg1fbWFudWZhY3R1cmVyQggKBl9tb2RlbEINCgtfeWVhcl9idWlsdEILCglfbGVuZ3RoX21CCgoIX3dpZHRoX21CCwoJX2hlaWdodF9tQg0KC190b25uYWdlX2d0QhIKEF9lbmdpbmVfcG93ZXJfa3ci8AEKE05hdmlnYXRpb25Db21wb25lbnQSKAoEbW9kZRgBIAEoDjIVLndvcmxkLk5hdmlnYXRpb25Nb2RlSACIAQESEgoFYXJtZWQYAiABKAhIAYgBARIWCgllbWVyZ2VuY3kYAyABKAhIAogBARIdChB3YXlwb2ludF9jdXJyZW50GAQgASgNSAOIAQESGwoOd2F5cG9pbnRfdG90YWwYBSABKA1IBIgBAUIHCgVfbW9kZUIICgZfYXJtZWRCDAoKX2VtZXJnZW5jeUITChFfd2F5cG9pbnRfY3VycmVudEIRCg9fd2F5cG9pbnRfdG90YWwirQEKEE1pc3Npb25Db21wb25lbnQSDwoHbWVtYmVycxgBIAMoCRIYCgtkZXNjcmlwdGlvbhgCIAEoCUgAiAEBEhgKC2Rlc3RpbmF0aW9uGAMgASgJSAGIAQESLAoDZXRhGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBQg4KDF9kZXNjcmlwdGlvbkIOCgxfZGVzdGluYXRpb25CBgoEX2V0YSKsBAoNTGlua0NvbXBvbmVudBImCgZzdGF0dXMYASABKA4yES53b3JsZC5MaW5rU3RhdHVzSACIAQESFQoIcnNzaV9kYm0YAiABKBFIAYgBARITCgZzbnJfZGIYAyABKBFIAogBARIQCgN2aWEYBSABKAlIA4gBARIcCg9sYXN0X2xhdGVuY3lfbXMYBiABKA1IBIgBARIbCg5hdmdfbGF0ZW5jeV9tcxgHIAEoDUgFiAEBEjIKCWxhc3Rfc2VlbhgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBogBARIhChRsaW5rX3F1YWxpdHlfcGVyY2VudBgJIAEoDUgHiAEBEhgKC3R4X3Bvd2VyX213GAogASgNSAiIAQESGwoOYWN0aXZlX2FudGVubmEYCyABKA1ICYgBARIUCgdyZl9tb2RlGAwgASgJSAqIAQESGwoOcGFja2V0X3JhdGVfaHoYDSABKA1IC4gBAUIJCgdfc3RhdHVzQgsKCV9yc3NpX2RibUIJCgdfc25yX2RiQgYKBF92aWFCEgoQX2xhc3RfbGF0ZW5jeV9tc0IRCg9fYXZnX2xhdGVuY3lfbXNCDAoKX2xhc3Rfc2VlbkIXChVfbGlua19xdWFsaXR5X3BlcmNlbnRCDgoMX3R4X3Bvd2VyX213QhEKD19hY3RpdmVfYW50ZW5uYUIKCghfcmZfbW9kZUIRCg9fcGFja2V0X3JhdGVfaHoi/QEKEENhcHR1cmVDb21wb25lbnQSFAoHcGF5bG9hZBgBIAEoDEgAiAEBEhEKBHBvcnQYAiABKA1IAYgBARIZCgxjb250ZW50X3R5cGUYAyABKAlIAogBARIYCgtjYXB0dXJlZF9ieRgEIAEoCUgDiAEBEjQKC2NhcHR1cmVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEg8KB2NvbnRlbnQYBiADKAlCCgoIX3BheWxvYWRCBwoFX3BvcnRCDwoNX2NvbnRlbnRfdHlwZUIOCgxfY2FwdHVyZWRfYnlCDgoMX2NhcHR1cmVkX2F0IogCCg5Qb3dlckNvbXBvbmVudBIlChhiYXR0ZXJ5X2NoYXJnZV9yZW1haW5pbmcYASABKAJIAIgBARIUCgd2b2x0YWdlGAIgASgCSAGIAQESHgoRcmVtYWluaW5nX3NlY29uZHMYAyABKA1IAogBARIWCgljdXJyZW50X2EYBCABKAJIA4gBARIeChFjYXBhY2l0eV91c2VkX21haBgFIAEoAkgEiAEBQhsKGV9iYXR0ZXJ5X2NoYXJnZV9yZW1haW5pbmdCCgoIX3ZvbHRhZ2VCFAoSX3JlbWFpbmluZ19zZWNvbmRzQgwKCl9jdXJyZW50X2FCFAoSX2NhcGFjaXR5X3VzZWRfbWFoIkYKEURldmljZUNsYXNzT3B0aW9uEg0KBWNsYXNzGAEgASgJEg0KBWxhYmVsGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIuoCChVDb25maWd1cmFibGVDb21wb25lbnQSJwoGc2NoZW1hGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgV2YWx1ZRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJwoFc3RhdGUYAyABKA4yGC53b3JsZC5Db25maWd1cmFibGVTdGF0ZRISCgVlcnJvchgEIAEoCUgAiAEBEhIKBWxhYmVsGAUgASgJSAGIAQESFwoPYXBwbGllZF92ZXJzaW9uGAYgASgEEjoKGHN1cHBvcnRlZF9kZXZpY2VfY2xhc3NlcxgHIAMoCzIYLndvcmxkLkRldmljZUNsYXNzT3B0aW9uEjUKDHNjaGVkdWxlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBAUIICgZfZXJyb3JCCAoGX2xhYmVsQg8KDV9zY2hlZHVsZWRfYXQilAUKD0RldmljZUNvbXBvbmVudBITCgZwYXJlbnQYASABKAlIAIgBARITCgtjb21wb3NpdGlvbhgCIAMoCRIfChJ1bmlxdWVfaGFyZHdhcmVfaWQYBCABKAlIAYgBARIhCgVzdGF0ZRgGIAEoDjISLndvcmxkLkRldmljZVN0YXRlEhIKBWVycm9yGAcgASgJSAKIAQESEgoFY2xhc3MYCiABKAlIA4gBARIVCghjYXRlZ29yeRgNIAEoCUgEiAEBEiQKBG5vZGUYFCABKAsyES53b3JsZC5Ob2RlRGV2aWNlSAWIAQESIgoDdXNiGBUgASgLMhAud29ybGQuVXNiRGV2aWNlSAaIAQESIAoCaXAYFiABKAsyDy53b3JsZC5JcERldmljZUgHiAEBEigKBnNlcmlhbBgXIAEoCzITLndvcmxkLlNlcmlhbERldmljZUgIiAEBEiwKCGV0aGVybmV0GBggASgLMhUud29ybGQuRXRoZXJuZXREZXZpY2VICYgBARImCgVscHdhbhgZIAEoCzISLndvcmxkLkxQV0FORGV2aWNlSAqIAQESMAoKbWVzaHRhc3RpYxgaIAEoCzIXLndvcmxkLk1lc2h0YXN0aWNEZXZpY2VIC4gBARIiCgNibGUYGyABKAsyEC53b3JsZC5CbGVEZXZpY2VIDIgBAUIJCgdfcGFyZW50QhUKE191bmlxdWVfaGFyZHdhcmVfaWRCCAoGX2Vycm9yQggKBl9jbGFzc0ILCglfY2F0ZWdvcnlCBwoFX25vZGVCBgoEX3VzYkIFCgNfaXBCCQoHX3NlcmlhbEILCglfZXRoZXJuZXRCCAoGX2xwd2FuQg0KC19tZXNodGFzdGljQgYKBF9ibGUibQoKTWlzc2lvbktpdBIvCgdsYXlvdXRzGAEgAygLMh4ud29ybGQuTWlzc2lvbktpdC5MYXlvdXRzRW50cnkaLgoMTGF5b3V0c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi3QIKCk5vZGVEZXZpY2USFQoIaG9zdG5hbWUYASABKAlIAIgBARIPCgJvcxgCIAEoCUgBiAEBEhEKBGFyY2gYAyABKAlIAogBARIUCgdudW1fY3B1GAQgASgNSAOIAQESFwoKb3NfdmVyc2lvbhgFIAEoCUgEiAEBEhsKDmh5ZHJpc192ZXJzaW9uGAYgASgJSAWIAQESJAoXaHlkcmlzX3VwZGF0ZV9hdmFpbGFibGUYByABKAlIBogBARIrCgttaXNzaW9uX2tpdBgIIAEoCzIRLndvcmxkLk1pc3Npb25LaXRIB4gBAUILCglfaG9zdG5hbWVCBQoDX29zQgcKBV9hcmNoQgoKCF9udW1fY3B1Qg0KC19vc192ZXJzaW9uQhEKD19oeWRyaXNfdmVyc2lvbkIaChhfaHlkcmlzX3VwZGF0ZV9hdmFpbGFibGVCDgoMX21pc3Npb25fa2l0IvkCCglVc2JEZXZpY2USFgoJdmVuZG9yX2lkGAEgASgNSACIAQESFwoKcHJvZHVjdF9pZBgCIAEoDUgBiAEBEhkKDGRldmljZV9jbGFzcxgDIAEoDUgCiAEBEhwKD2RldmljZV9zdWJjbGFzcxgEIAEoDUgDiAEBEhwKD2RldmljZV9wcm90b2NvbBgFIAEoDUgEiAEBEh4KEW1hbnVmYWN0dXJlcl9uYW1lGAYgASgJSAWIAQESGQoMcHJvZHVjdF9uYW1lGAcgASgJSAaIAQESGgoNc2VyaWFsX251bWJlchgIIAEoCUgHiAEBQgwKCl92ZW5kb3JfaWRCDQoLX3Byb2R1Y3RfaWRCDwoNX2RldmljZV9jbGFzc0ISChBfZGV2aWNlX3N1YmNsYXNzQhIKEF9kZXZpY2VfcHJvdG9jb2xCFAoSX21hbnVmYWN0dXJlcl9uYW1lQg8KDV9wcm9kdWN0X25hbWVCEAoOX3NlcmlhbF9udW1iZXIiQgoISXBEZXZpY2USEQoEaG9zdBgBIAEoCUgAiAEBEhEKBHBvcnQYAiABKA1IAYgBAUIHCgVfaG9zdEIHCgVfcG9ydCJaCg5FdGhlcm5ldERldmljZRIYCgttYWNfYWRkcmVzcxgBIAEoCUgAiAEBEhMKBnZlbmRvchgCIAEoCUgBiAEBQg4KDF9tYWNfYWRkcmVzc0IJCgdfdmVuZG9yIlAKDFNlcmlhbERldmljZRIRCgRwYXRoGAEgASgJSACIAQESFgoJYmF1ZF9yYXRlGAIgASgNSAGIAQFCBwoFX3BhdGhCDAoKX2JhdWRfcmF0ZSLcAQoQTWVzaHRhc3RpY0RldmljZRIVCghub2RlX251bRgBIAEoDUgAiAEBEhYKCWxvbmdfbmFtZRgCIAEoCUgBiAEBEhcKCnNob3J0X25hbWUYAyABKAlIAogBARIbCg5oYXJkd2FyZV9tb2RlbBgEIAEoCUgDiAEBEhcKCnB1YmxpY19rZXkYBSABKAxIBIgBAUILCglfbm9kZV9udW1CDAoKX2xvbmdfbmFtZUINCgtfc2hvcnRfbmFtZUIRCg9faGFyZHdhcmVfbW9kZWxCDQoLX3B1YmxpY19rZXkiSQoLTFBXQU5EZXZpY2USEAoDZXVpGAEgASgJSACIAQESFAoHYWRkcmVzcxgCIAEoCUgBiAEBQgYKBF9ldWlCCgoIX2FkZHJlc3MiYAoJQmxlRGV2aWNlEhQKB2FkZHJlc3MYASABKAlIAIgBARIRCgRuYW1lGAIgASgJSAGIAQESFQoNc2VydmljZV91dWlkcxgEIAMoCUIKCghfYWRkcmVzc0IHCgVfbmFtZSJRChZDb25maWd1cmF0aW9uQ29tcG9uZW50EiYKBXZhbHVlGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgd2ZXJzaW9uGAUgASgEIqABCg1DaGF0Q29tcG9uZW50EhMKBnNlbmRlchgBIAEoCUgAiAEBEg8KAnRvGAMgASgJSAGIAQESDwoHbWVzc2FnZRgEIAEoCRIVCghyZXBseV90bxgFIAEoCUgCiAEBEhUKCHJlYWN0aW9uGAYgASgISAOIAQFCCQoHX3NlbmRlckIFCgNfdG9CCwoJX3JlcGx5X3RvQgsKCV9yZWFjdGlvbiJEChFBc3NlbWJseUNvbXBvbmVudBITCgZwYXJlbnQYASABKAlIAIgBARIPCgdvdXRsaW5lGAIgAygJQgkKB19wYXJlbnQihQIKEU1hcExheWVyQ29tcG9uZW50Eg8KB3pfaW5kZXgYASABKAUSDwoHb3BhY2l0eRgCIAEoAhIuCgV0aWxlcxgKIAEoCzIdLndvcmxkLk1hcExheWVyQ29tcG9uZW50LlRpbGVIABIvCgVpbWFnZRgLIAEoCzIeLndvcmxkLk1hcExheWVyQ29tcG9uZW50LkltYWdlSAAaEwoEVGlsZRILCgN1cmwYASABKAkaTgoFSW1hZ2USCwoDdXJsGAEgASgJEgwKBHdlc3QYAiABKAESDQoFc291dGgYAyABKAESDAoEZWFzdBgEIAEoARINCgVub3J0aBgFIAEoAUIICgZzb3VyY2UiQgoWTWFudWFsQ29udHJvbENvbXBvbmVudBIoCgVpbnB1dBgBIAMoCzIZLndvcmxkLk1hbnVhbENvbnRyb2xJbnB1dCJIChxUYXJnZXRNYW51YWxDb250cm9sQ29tcG9uZW50EigKBWlucHV0GAEgAygLMhkud29ybGQuTWFudWFsQ29udHJvbElucHV0ItUECgxFbnRpdHlGaWx0ZXISDwoCaWQYASABKAlIAIgBARISCgVsYWJlbBgCIAEoCUgBiAEBEiIKA2dlbxgDIAEoCzIQLndvcmxkLkdlb0ZpbHRlckgCiAEBEiwKCHRhc2thYmxlGAQgASgLMhUud29ybGQuVGFza2FibGVGaWx0ZXJIA4gBARIRCgljb21wb25lbnQYBSADKA0SMAoKY29udHJvbGxlchgHIAEoCzIXLndvcmxkLkNvbnRyb2xsZXJGaWx0ZXJIBIgBARImCgV0cmFjaxgIIAEoCzISLndvcmxkLlRyYWNrRmlsdGVySAWIAQESKgoHbWlzc2lvbhgJIAEoCzIULndvcmxkLk1pc3Npb25GaWx0ZXJIBogBARIqCgdjaGFubmVsGAogASgLMhQud29ybGQuQ2hhbm5lbEZpbHRlckgHiAEBEigKBmRldmljZRgyIAEoCzITLndvcmxkLkRldmljZUZpbHRlckgIiAEBEi8KBmNvbmZpZxgzIAEoCzIaLndvcmxkLkNvbmZpZ3VyYXRpb25GaWx0ZXJICYgBARIfCgJvchhkIAMoCzITLndvcmxkLkVudGl0eUZpbHRlchIgCgNub3QYZSABKAsyEy53b3JsZC5FbnRpdHlGaWx0ZXJCBQoDX2lkQggKBl9sYWJlbEIGCgRfZ2VvQgsKCV90YXNrYWJsZUINCgtfY29udHJvbGxlckIICgZfdHJhY2tCCgoIX21pc3Npb25CCgoIX2NoYW5uZWxCCQoHX2RldmljZUIJCgdfY29uZmlnIioKEENvbnRyb2xsZXJGaWx0ZXISDwoCaWQYASABKAlIAIgBAUIFCgNfaWQiLwoLVHJhY2tGaWx0ZXISFAoHdHJhY2tlchgBIAEoCUgAiAEBQgoKCF90cmFja2VyIl0KDU1pc3Npb25GaWx0ZXISFwoKbWlzc2lvbl9pZBgBIAEoCUgAiAEBEhYKCW1lbWJlcl9pZBgCIAEoCUgBiAEBQg0KC19taXNzaW9uX2lkQgwKCl9tZW1iZXJfaWQihwEKDlRhc2thYmxlRmlsdGVyEiwKB2NvbnRleHQYASABKAsyFi53b3JsZC5UYXNrYWJsZUNvbnRleHRIAIgBARIuCghhc3NpZ25lZRgCIAEoCzIXLndvcmxkLlRhc2thYmxlQXNzaWduZWVIAYgBAUIKCghfY29udGV4dEILCglfYXNzaWduZWUiTgoJR2VvRmlsdGVyEiMKCGdlb21ldHJ5GAEgASgLMg8ud29ybGQuR2VvbWV0cnlIABIVCgtnZW9FbnRpdHlJZBgCIAEoCUgAQgUKA2dlbyL2AQoMRGV2aWNlRmlsdGVyEhMKBnBhcmVudBgBIAEoCUgAiAEBEh8KEnVuaXF1ZV9oYXJkd2FyZV9pZBgEIAEoCUgBiAEBEhkKDGRldmljZV9jbGFzcxgFIAEoCUgCiAEBEigKA2JsZRgGIAEoCzIWLndvcmxkLkJsZURldmljZUZpbHRlckgDiAEBEigKA3VzYhgHIAEoCzIWLndvcmxkLlVzYkRldmljZUZpbHRlckgEiAEBQgkKB19wYXJlbnRCFQoTX3VuaXF1ZV9oYXJkd2FyZV9pZEIPCg1fZGV2aWNlX2NsYXNzQgYKBF9ibGVCBgoEX3VzYiJmCg9CbGVEZXZpY2VGaWx0ZXISFAoHYWRkcmVzcxgBIAEoCUgAiAEBEhEKBG5hbWUYAiABKAlIAYgBARIVCg1zZXJ2aWNlX3V1aWRzGAQgAygJQgoKCF9hZGRyZXNzQgcKBV9uYW1lIv8CCg9Vc2JEZXZpY2VGaWx0ZXISFgoJdmVuZG9yX2lkGAEgASgNSACIAQESFwoKcHJvZHVjdF9pZBgCIAEoDUgBiAEBEhkKDGRldmljZV9jbGFzcxgDIAEoDUgCiAEBEhwKD2RldmljZV9zdWJjbGFzcxgEIAEoDUgDiAEBEhwKD2RldmljZV9wcm90b2NvbBgFIAEoDUgEiAEBEh4KEW1hbnVmYWN0dXJlcl9uYW1lGAYgASgJSAWIAQESGQoMcHJvZHVjdF9uYW1lGAcgASgJSAaIAQESGgoNc2VyaWFsX251bWJlchgIIAEoCUgHiAEBQgwKCl92ZW5kb3JfaWRCDQoLX3Byb2R1Y3RfaWRCDwoNX2RldmljZV9jbGFzc0ISChBfZGV2aWNlX3N1YmNsYXNzQhIKEF9kZXZpY2VfcHJvdG9jb2xCFAoSX21hbnVmYWN0dXJlcl9uYW1lQg8KDV9wcm9kdWN0X25hbWVCEAoOX3NlcmlhbF9udW1iZXIiFQoTQ29uZmlndXJhdGlvbkZpbHRlciIdCg1DaGFubmVsRmlsdGVyEgwKBG5hbWUYASABKAkikwEKClNvcnRPcHRpb24SHwoFZmllbGQYASABKA4yEC53b3JsZC5Tb3J0RmllbGQSEgoKZGVzY2VuZGluZxgCIAEoCBITCgltZXRyaWNfaWQYFCABKA1IABIoCgttZXRyaWNfa2luZBgVIAEoDjIRLndvcmxkLk1ldHJpY0tpbmRIAEIRCg9tZXRyaWNfc2VsZWN0b3IitAEKDVdhdGNoQmVoYXZpb3ISGAoLbWF4X3JhdGVfaHoYASABKAJIAIgBARIqCgxtaW5fcHJpb3JpdHkYAyABKA4yDy53b3JsZC5Qcmlvcml0eUgBiAEBEiIKFWtlZXBhbGl2ZV9pbnRlcnZhbF9tcxgEIAEoDUgCiAEBQg4KDF9tYXhfcmF0ZV9oekIPCg1fbWluX3ByaW9yaXR5QhgKFl9rZWVwYWxpdmVfaW50ZXJ2YWxfbXMinQEKE0xpc3RFbnRpdGllc1JlcXVlc3QSIwoGZmlsdGVyGAIgASgLMhMud29ybGQuRW50aXR5RmlsdGVyEh8KBHNvcnQYAyADKAsyES53b3JsZC5Tb3J0T3B0aW9uEiwKCWJlaGF2aW91chgEIAEoCzIULndvcmxkLldhdGNoQmVoYXZpb3JIAIgBAUIMCgpfYmVoYXZpb3VySgQIARACIjcKFExpc3RFbnRpdGllc1Jlc3BvbnNlEh8KCGVudGl0aWVzGAEgAygLMg0ud29ybGQuRW50aXR5IloKE0VudGl0eUNoYW5nZVJlcXVlc3QSHgoHY2hhbmdlcxgBIAMoCzINLndvcmxkLkVudGl0eRIjCgxyZXBsYWNlbWVudHMYAiADKAsyDS53b3JsZC5FbnRpdHkiIQoTRXhwaXJlRW50aXR5UmVxdWVzdBIKCgJpZBgBIAEoCSIWChRFeHBpcmVFbnRpdHlSZXNwb25zZSI3ChRFbnRpdHlDaGFuZ2VSZXNwb25zZRIQCghhY2NlcHRlZBgBIAEoCBINCgVkZWJ1ZxgCIAEoCSJSChFFbnRpdHlDaGFuZ2VFdmVudBIdCgZlbnRpdHkYASABKAsyDS53b3JsZC5FbnRpdHkSHgoBdBgCIAEoDjITLndvcmxkLkVudGl0eUNoYW5nZSI9ChFFbnRpdHlDaGFuZ2VCYXRjaBIoCgZldmVudHMYASADKAsyGC53b3JsZC5FbnRpdHlDaGFuZ2VFdmVudCIeChBHZXRFbnRpdHlSZXF1ZXN0EgoKAmlkGAEgASgJIjIKEUdldEVudGl0eVJlc3BvbnNlEh0KBmVudGl0eRgBIAEoCzINLndvcmxkLkVudGl0eSIVChNHZXRMb2NhbE5vZGVSZXF1ZXN0IkYKFEdldExvY2FsTm9kZVJlc3BvbnNlEh0KBmVudGl0eRgBIAEoCzINLndvcmxkLkVudGl0eRIPCgdub2RlX2lkGAIgASgJIhEKD09ic2VydmVyUmVxdWVzdCJzCg1PYnNlcnZlclN0YXRlEhwKA2dlbxgBIAEoCzIPLndvcmxkLkdlb21ldHJ5EjQKC3ZpZXdIaXN0b3J5GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg4KDF92aWV3SGlzdG9yeSKCAQoOUnVuVGFza1JlcXVlc3QSEAoIZW50aXR5SWQYASABKAkSFQoIcHJpb3JpdHkYAiABKA1IAIgBARIvCgZ0YXJnZXQYBiABKAsyGi53b3JsZC5UYXNrRXhlY3V0aW9uVGFyZ2V0SAGIAQFCCwoJX3ByaW9yaXR5QgkKB190YXJnZXQigwEKD1J1blRhc2tSZXNwb25zZRITCgtleGVjdXRpb25JZBgBIAEoCRIhCgZzdGF0dXMYAiABKA4yES53b3JsZC5UYXNrU3RhdHVzEiAKE2h1bWFuUmVhZGFibGVSZWFzb24YAyABKAlIAIgBAUIWChRfaHVtYW5SZWFkYWJsZVJlYXNvbiI6ChBIYXJkUmVzZXRSZXF1ZXN0EhcKCm1pc3Npb25faWQYASABKAlIAIgBAUINCgtfbWlzc2lvbl9pZCITChFIYXJkUmVzZXRSZXNwb25zZSI5Cg9UaW1lU3luY1JlcXVlc3QSJgoCdDEYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIooBChBUaW1lU3luY1Jlc3BvbnNlEiYKAnQxGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBImCgJ0MhgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJgoCdDMYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wKmIKCFByaW9yaXR5EhcKE1ByaW9yaXR5VW5zcGVjaWZpZWQQABITCg9Qcmlvcml0eVJvdXRpbmUQARIVChFQcmlvcml0eUltbWVkaWF0ZRACEhEKDVByaW9yaXR5Rmxhc2gQAyqPAQoLR25zc0ZpeFR5cGUSEwoPR25zc0ZpeFR5cGVOb25lEAASEQoNR25zc0ZpeFR5cGUyRBABEhEKDUduc3NGaXhUeXBlM0QQAhITCg9HbnNzRml4VHlwZURHUFMQAxIXChNHbnNzRml4VHlwZVJ0a0Zsb2F0EAQSFwoTR25zc0ZpeFR5cGVSdGtGaXhlZBAFKuwBChNNZWRpYVN0cmVhbVByb3RvY29sEiIKHk1lZGlhU3RyZWFtUHJvdG9jb2xVbnNwZWNpZmllZBAAEh0KGU1lZGlhU3RyZWFtUHJvdG9jb2xXZWJydGMQARIaChZNZWRpYVN0cmVhbVByb3RvY29sSGxzEAISHAoYTWVkaWFTdHJlYW1Qcm90b2NvbE1qcGVnEAMSHAoYTWVkaWFTdHJlYW1Qcm90b2NvbEltYWdlEAQSHQoZTWVkaWFTdHJlYW1Qcm90b2NvbElmcmFtZRAFEhsKF01lZGlhU3RyZWFtUHJvdG9jb2xSdHNwEAYqfwoPTWVkaWFTdHJlYW1Sb2xlEh4KGk1lZGlhU3RyZWFtUm9sZVVuc3BlY2lmaWVkEAASFwoTTWVkaWFTdHJlYW1Sb2xlTWFpbhABEhYKEk1lZGlhU3RyZWFtUm9sZVN1YhACEhsKF01lZGlhU3RyZWFtUm9sZVNuYXBzaG90EAMqegoMVGFza2FibGVNb2RlEhkKFVRhc2thYmxlTW9kZUV4Y2x1c2l2ZRAAEhkKFVRhc2thYmxlTW9kZVJlY29uY2lsZRABEhUKEVRhc2thYmxlTW9kZVNwYXduEAISHQoZVGFza2FibGVNb2RlUHJpb3JpdHlRdWV1ZRADKpEBChJUYXNrRXhlY3V0aW9uU3RhdGUSHQoZVGFza0V4ZWN1dGlvblN0YXRlUGVuZGluZxAAEh0KGVRhc2tFeGVjdXRpb25TdGF0ZVJ1bm5pbmcQARIfChtUYXNrRXhlY3V0aW9uU3RhdGVDb21wbGV0ZWQQAhIcChhUYXNrRXhlY3V0aW9uU3RhdGVGYWlsZWQQAyqMAgoWQ2xhc3NpZmljYXRpb25JZGVudGl0eRIhCh1DbGFzc2lmaWNhdGlvbklkZW50aXR5SW52YWxpZBAAEiEKHUNsYXNzaWZpY2F0aW9uSWRlbnRpdHlQZW5kaW5nEAESIQodQ2xhc3NpZmljYXRpb25JZGVudGl0eVVua25vd24QAhIgChxDbGFzc2lmaWNhdGlvbklkZW50aXR5RnJpZW5kEAMSIQodQ2xhc3NpZmljYXRpb25JZGVudGl0eU5ldXRyYWwQBBIhCh1DbGFzc2lmaWNhdGlvbklkZW50aXR5SG9zdGlsZRAFEiEKHUNsYXNzaWZpY2F0aW9uSWRlbnRpdHlTdXNwZWN0EAYqxAIKHUNsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uEigKJENsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uSW52YWxpZBAAEigKJENsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uVW5rbm93bhABEiYKIkNsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uU3BhY2UQAhIkCiBDbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvbkFpchADEicKI0NsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uR3JvdW5kEAQSKwonQ2xhc3NpZmljYXRpb25CYXR0bGVEaW1lbnNpb25TZWFTdXJmYWNlEAUSKwonQ2xhc3NpZmljYXRpb25CYXR0bGVEaW1lbnNpb25TdWJzdXJmYWNlEAYqrgEKC0FmZmlsaWF0aW9uEhYKEkFmZmlsaWF0aW9uSW52YWxpZBAAEhYKEkFmZmlsaWF0aW9uUGVuZGluZxABEhYKEkFmZmlsaWF0aW9uVW5rbm93bhACEhMKD0FmZmlsaWF0aW9uQmx1ZRADEhYKEkFmZmlsaWF0aW9uTmV1dHJhbBAEEhIKDkFmZmlsaWF0aW9uUmVkEAUSFgoSQWZmaWxpYXRpb25TdXNwZWN0EAYq9gEKDk5hdmlnYXRpb25Nb2RlEh0KGU5hdmlnYXRpb25Nb2RlVW5zcGVjaWZpZWQQABIZChVOYXZpZ2F0aW9uTW9kZVBsYW5uZWQQARIcChhOYXZpZ2F0aW9uTW9kZVN0YXRpb25hcnkQAhIaChZOYXZpZ2F0aW9uTW9kZVVuZGVyd2F5EAMSHAoYTmF2aWdhdGlvbk1vZGVBdXRvbm9tb3VzEAQSGAoUTmF2aWdhdGlvbk1vZGVHdWlkZWQQBRIbChdOYXZpZ2F0aW9uTW9kZUxvaXRlcmluZxAGEhsKF05hdmlnYXRpb25Nb2RlUmV0dXJuaW5nEAcqbAoKTGlua1N0YXR1cxIZChVMaW5rU3RhdHVzVW5zcGVjaWZpZWQQABIXChNMaW5rU3RhdHVzQ29ubmVjdGVkEAESFgoSTGlua1N0YXR1c0RlZ3JhZGVkEAISEgoOTGlua1N0YXR1c0xvc3QQAypTCgtEZXZpY2VTdGF0ZRIWChJEZXZpY2VTdGF0ZVBlbmRpbmcQABIVChFEZXZpY2VTdGF0ZUFjdGl2ZRABEhUKEURldmljZVN0YXRlRmFpbGVkEAIqygEKEUNvbmZpZ3VyYWJsZVN0YXRlEh0KGUNvbmZpZ3VyYWJsZVN0YXRlSW5hY3RpdmUQABIdChlDb25maWd1cmFibGVTdGF0ZVN0YXJ0aW5nEAESGwoXQ29uZmlndXJhYmxlU3RhdGVBY3RpdmUQAhIbChdDb25maWd1cmFibGVTdGF0ZUZhaWxlZBADEh0KGUNvbmZpZ3VyYWJsZVN0YXRlQ29uZmxpY3QQBBIeChpDb25maWd1cmFibGVTdGF0ZVNjaGVkdWxlZBAFKp4ICglTb3J0RmllbGQSGAoUU29ydEZpZWxkVW5zcGVjaWZpZWQQABISCg5Tb3J0RmllbGRMYWJlbBABEhUKEVNvcnRGaWVsZFByaW9yaXR5EAISGQoVU29ydEZpZWxkTGlmZXRpbWVGcm9tEAoSGgoWU29ydEZpZWxkTGlmZXRpbWVVbnRpbBALEhoKFlNvcnRGaWVsZExpZmV0aW1lRnJlc2gQDBIYChRTb3J0RmllbGRHZW9MYXRpdHVkZRAUEhkKFVNvcnRGaWVsZEdlb0xvbmdpdHVkZRAVEhgKFFNvcnRGaWVsZEdlb0FsdGl0dWRlEBYSIwofU29ydEZpZWxkQ2xhc3NpZmljYXRpb25JZGVudGl0eRAeEiQKIFNvcnRGaWVsZENsYXNzaWZpY2F0aW9uRGltZW5zaW9uEB8SGwoXU29ydEZpZWxkQmVhcmluZ0F6aW11dGgQMhIdChlTb3J0RmllbGRCZWFyaW5nRWxldmF0aW9uEDMSIQodU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVMZW5ndGgQRhIgChxTb3J0RmllbGRBZG1pbmlzdHJhdGl2ZVdpZHRoEEcSIQodU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVIZWlnaHQQSBIiCh5Tb3J0RmllbGRBZG1pbmlzdHJhdGl2ZVRvbm5hZ2UQSRImCiJTb3J0RmllbGRBZG1pbmlzdHJhdGl2ZUVuZ2luZVBvd2VyEEoSJAogU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVZZWFyQnVpbHQQSxIVChFTb3J0RmllbGRMaW5rUnNzaRBaEhQKEFNvcnRGaWVsZExpbmtTbnIQWxIcChhTb3J0RmllbGRMaW5rTGFzdExhdGVuY3kQXBIbChdTb3J0RmllbGRMaW5rQXZnTGF0ZW5jeRBdEhgKFFNvcnRGaWVsZExpbmtRdWFsaXR5EF4SGQoVU29ydEZpZWxkTGlua0xhc3RTZWVuEF8SGwoXU29ydEZpZWxkTGlua1BhY2tldFJhdGUQYBIfChtTb3J0RmllbGRQb3dlckJhdHRlcnlDaGFyZ2UQZBIZChVTb3J0RmllbGRQb3dlclZvbHRhZ2UQZRIiCh5Tb3J0RmllbGRQb3dlclJlbWFpbmluZ1NlY29uZHMQZhIZChVTb3J0RmllbGRQb3dlckN1cnJlbnQQZxIeChpTb3J0RmllbGRQb3dlckNhcGFjaXR5VXNlZBBoEhkKFFNvcnRGaWVsZERldmljZVN0YXRlEIIBEhkKFFNvcnRGaWVsZE1ldHJpY1ZhbHVlEJYBEh4KGVNvcnRGaWVsZE1ldHJpY01lYXN1cmVkQXQQlwESHgoZU29ydEZpZWxkTWV0cmljQWxlcnRMZXZlbBCYASp1CgxFbnRpdHlDaGFuZ2USFwoTRW50aXR5Q2hhbmdlSW52YWxpZBAAEhcKE0VudGl0eUNoYW5nZVVwZGF0ZWQQARIXChNFbnRpdHlDaGFuZ2VFeHBpcmVkEAISGgoWRW50aXR5Q2hhbmdlVW5vYnNlcnZlZBADKvkJCg9FbnRpdHlDb21wb25lbnQSHgoaRW50aXR5Q29tcG9uZW50VW5zcGVjaWZpZWQQABIYChRFbnRpdHlDb21wb25lbnRMYWJlbBACEh0KGUVudGl0eUNvbXBvbmVudENvbnRyb2xsZXIQAxIbChdFbnRpdHlDb21wb25lbnRMaWZldGltZRAEEhsKF0VudGl0eUNvbXBvbmVudFByaW9yaXR5EAUSGAoURW50aXR5Q29tcG9uZW50TGVhc2UQBhIaChZFbnRpdHlDb21wb25lbnRSb3V0aW5nEAcSFgoSRW50aXR5Q29tcG9uZW50R2VvEAsSGQoVRW50aXR5Q29tcG9uZW50U3ltYm9sEAwSGQoVRW50aXR5Q29tcG9uZW50Q2FtZXJhEA8SHAoYRW50aXR5Q29tcG9uZW50RGV0ZWN0aW9uEBASGgoWRW50aXR5Q29tcG9uZW50QmVhcmluZxAREhgKFEVudGl0eUNvbXBvbmVudFRyYWNrEBUSGgoWRW50aXR5Q29tcG9uZW50TG9jYXRvchAWEhsKF0VudGl0eUNvbXBvbmVudFRhc2thYmxlEBcSHQoZRW50aXR5Q29tcG9uZW50S2luZW1hdGljcxAYEhgKFEVudGl0eUNvbXBvbmVudFNoYXBlEBkSIQodRW50aXR5Q29tcG9uZW50Q2xhc3NpZmljYXRpb24QGhIeChpFbnRpdHlDb21wb25lbnRUcmFuc3BvbmRlchAbEiEKHUVudGl0eUNvbXBvbmVudEFkbWluaXN0cmF0aXZlEBwSHQoZRW50aXR5Q29tcG9uZW50TG9jYWxTaGFwZRAdEh4KGkVudGl0eUNvbXBvbmVudE9yaWVudGF0aW9uEB4SGgoWRW50aXR5Q29tcG9uZW50TWlzc2lvbhAfEhcKE0VudGl0eUNvbXBvbmVudExpbmsQIBIYChRFbnRpdHlDb21wb25lbnRQb3dlchAhEh0KGUVudGl0eUNvbXBvbmVudE5hdmlnYXRpb24QIhIaChZFbnRpdHlDb21wb25lbnRDYXB0dXJlECMSGQoVRW50aXR5Q29tcG9uZW50TWV0cmljECQSGQoVRW50aXR5Q29tcG9uZW50U2Vuc29yECUSFwoTRW50aXR5Q29tcG9uZW50UG9zZRAmEhcKE0VudGl0eUNvbXBvbmVudENoYXQQJxIgChxFbnRpdHlDb21wb25lbnRUYXNrRXhlY3V0aW9uECkSFwoTRW50aXR5Q29tcG9uZW50R25zcxAqEhkKFUVudGl0eUNvbXBvbmVudERldmljZRAyEhkKFUVudGl0eUNvbXBvbmVudENvbmZpZxAzEh8KG0VudGl0eUNvbXBvbmVudENvbmZpZ3VyYWJsZRA0EiAKHEVudGl0eUNvbXBvbmVudEludGVyYWN0aXZpdHkQPBIbChdFbnRpdHlDb21wb25lbnRBcnRpZmFjdBA9Eh0KGUVudGl0eUNvbXBvbmVudFRhcmdldFBvc2UQPhIbChdFbnRpdHlDb21wb25lbnRBc3NlbWJseRAoEhsKF0VudGl0eUNvbXBvbmVudE1hcExheWVyED8SIAocRW50aXR5Q29tcG9uZW50TWFudWFsQ29udHJvbBBAEiYKIkVudGl0eUNvbXBvbmVudFRhcmdldE1hbnVhbENvbnRyb2wQQSppCgpUYXNrU3RhdHVzEhUKEVRhc2tTdGF0dXNJbnZhbGlkEAASFQoRVGFza1N0YXR1c1J1bm5pbmcQARIXChNUYXNrU3RhdHVzQ29tcGxldGVkEAISFAoQVGFza1N0YXR1c0ZhaWxlZBADMuoECgxXb3JsZFNlcnZpY2USRwoMTGlzdEVudGl0aWVzEhoud29ybGQuTGlzdEVudGl0aWVzUmVxdWVzdBobLndvcmxkLkxpc3RFbnRpdGllc1Jlc3BvbnNlEj4KCUdldEVudGl0eRIXLndvcmxkLkdldEVudGl0eVJlcXVlc3QaGC53b3JsZC5HZXRFbnRpdHlSZXNwb25zZRJHCg1XYXRjaEVudGl0aWVzEhoud29ybGQuTGlzdEVudGl0aWVzUmVxdWVzdBoYLndvcmxkLkVudGl0eUNoYW5nZUV2ZW50MAESPwoEUHVzaBIaLndvcmxkLkVudGl0eUNoYW5nZVJlcXVlc3QaGy53b3JsZC5FbnRpdHlDaGFuZ2VSZXNwb25zZRJHCgxFeHBpcmVFbnRpdHkSGi53b3JsZC5FeHBpcmVFbnRpdHlSZXF1ZXN0Ghsud29ybGQuRXhwaXJlRW50aXR5UmVzcG9uc2USRwoMR2V0TG9jYWxOb2RlEhoud29ybGQuR2V0TG9jYWxOb2RlUmVxdWVzdBobLndvcmxkLkdldExvY2FsTm9kZVJlc3BvbnNlEjgKB1J1blRhc2sSFS53b3JsZC5SdW5UYXNrUmVxdWVzdBoWLndvcmxkLlJ1blRhc2tSZXNwb25zZRI+CglIYXJkUmVzZXQSFy53b3JsZC5IYXJkUmVzZXRSZXF1ZXN0Ghgud29ybGQuSGFyZFJlc2V0UmVzcG9uc2USOwoIVGltZVN5bmMSFi53b3JsZC5UaW1lU3luY1JlcXVlc3QaFy53b3JsZC5UaW1lU3luY1Jlc3BvbnNlQiBaHmdpdGh1Yi5jb20vcHJvamVjdHFhaS9wcm90by9nb2IGcHJvdG8z", [file_geometry, file_google_protobuf_struct, file_google_protobuf_timestamp, file_manualcontrol, file_metrics, file_tasking, file_taxonomy]);
17
18
 
18
19
  /**
19
20
  * Describes the message world.Entity.
@@ -470,236 +471,250 @@ export const MapLayerComponent_TileSchema = /*@__PURE__*/
470
471
  export const MapLayerComponent_ImageSchema = /*@__PURE__*/
471
472
  messageDesc(file_world, 62, 1);
472
473
 
474
+ /**
475
+ * Describes the message world.ManualControlComponent.
476
+ * Use `create(ManualControlComponentSchema)` to create a new message.
477
+ */
478
+ export const ManualControlComponentSchema = /*@__PURE__*/
479
+ messageDesc(file_world, 63);
480
+
481
+ /**
482
+ * Describes the message world.TargetManualControlComponent.
483
+ * Use `create(TargetManualControlComponentSchema)` to create a new message.
484
+ */
485
+ export const TargetManualControlComponentSchema = /*@__PURE__*/
486
+ messageDesc(file_world, 64);
487
+
473
488
  /**
474
489
  * Describes the message world.EntityFilter.
475
490
  * Use `create(EntityFilterSchema)` to create a new message.
476
491
  */
477
492
  export const EntityFilterSchema = /*@__PURE__*/
478
- messageDesc(file_world, 63);
493
+ messageDesc(file_world, 65);
479
494
 
480
495
  /**
481
496
  * Describes the message world.ControllerFilter.
482
497
  * Use `create(ControllerFilterSchema)` to create a new message.
483
498
  */
484
499
  export const ControllerFilterSchema = /*@__PURE__*/
485
- messageDesc(file_world, 64);
500
+ messageDesc(file_world, 66);
486
501
 
487
502
  /**
488
503
  * Describes the message world.TrackFilter.
489
504
  * Use `create(TrackFilterSchema)` to create a new message.
490
505
  */
491
506
  export const TrackFilterSchema = /*@__PURE__*/
492
- messageDesc(file_world, 65);
507
+ messageDesc(file_world, 67);
493
508
 
494
509
  /**
495
510
  * Describes the message world.MissionFilter.
496
511
  * Use `create(MissionFilterSchema)` to create a new message.
497
512
  */
498
513
  export const MissionFilterSchema = /*@__PURE__*/
499
- messageDesc(file_world, 66);
514
+ messageDesc(file_world, 68);
500
515
 
501
516
  /**
502
517
  * Describes the message world.TaskableFilter.
503
518
  * Use `create(TaskableFilterSchema)` to create a new message.
504
519
  */
505
520
  export const TaskableFilterSchema = /*@__PURE__*/
506
- messageDesc(file_world, 67);
521
+ messageDesc(file_world, 69);
507
522
 
508
523
  /**
509
524
  * Describes the message world.GeoFilter.
510
525
  * Use `create(GeoFilterSchema)` to create a new message.
511
526
  */
512
527
  export const GeoFilterSchema = /*@__PURE__*/
513
- messageDesc(file_world, 68);
528
+ messageDesc(file_world, 70);
514
529
 
515
530
  /**
516
531
  * Describes the message world.DeviceFilter.
517
532
  * Use `create(DeviceFilterSchema)` to create a new message.
518
533
  */
519
534
  export const DeviceFilterSchema = /*@__PURE__*/
520
- messageDesc(file_world, 69);
535
+ messageDesc(file_world, 71);
521
536
 
522
537
  /**
523
538
  * Describes the message world.BleDeviceFilter.
524
539
  * Use `create(BleDeviceFilterSchema)` to create a new message.
525
540
  */
526
541
  export const BleDeviceFilterSchema = /*@__PURE__*/
527
- messageDesc(file_world, 70);
542
+ messageDesc(file_world, 72);
528
543
 
529
544
  /**
530
545
  * Describes the message world.UsbDeviceFilter.
531
546
  * Use `create(UsbDeviceFilterSchema)` to create a new message.
532
547
  */
533
548
  export const UsbDeviceFilterSchema = /*@__PURE__*/
534
- messageDesc(file_world, 71);
549
+ messageDesc(file_world, 73);
535
550
 
536
551
  /**
537
552
  * Describes the message world.ConfigurationFilter.
538
553
  * Use `create(ConfigurationFilterSchema)` to create a new message.
539
554
  */
540
555
  export const ConfigurationFilterSchema = /*@__PURE__*/
541
- messageDesc(file_world, 72);
556
+ messageDesc(file_world, 74);
542
557
 
543
558
  /**
544
559
  * Describes the message world.ChannelFilter.
545
560
  * Use `create(ChannelFilterSchema)` to create a new message.
546
561
  */
547
562
  export const ChannelFilterSchema = /*@__PURE__*/
548
- messageDesc(file_world, 73);
563
+ messageDesc(file_world, 75);
549
564
 
550
565
  /**
551
566
  * Describes the message world.SortOption.
552
567
  * Use `create(SortOptionSchema)` to create a new message.
553
568
  */
554
569
  export const SortOptionSchema = /*@__PURE__*/
555
- messageDesc(file_world, 74);
570
+ messageDesc(file_world, 76);
556
571
 
557
572
  /**
558
573
  * Describes the message world.WatchBehavior.
559
574
  * Use `create(WatchBehaviorSchema)` to create a new message.
560
575
  */
561
576
  export const WatchBehaviorSchema = /*@__PURE__*/
562
- messageDesc(file_world, 75);
577
+ messageDesc(file_world, 77);
563
578
 
564
579
  /**
565
580
  * Describes the message world.ListEntitiesRequest.
566
581
  * Use `create(ListEntitiesRequestSchema)` to create a new message.
567
582
  */
568
583
  export const ListEntitiesRequestSchema = /*@__PURE__*/
569
- messageDesc(file_world, 76);
584
+ messageDesc(file_world, 78);
570
585
 
571
586
  /**
572
587
  * Describes the message world.ListEntitiesResponse.
573
588
  * Use `create(ListEntitiesResponseSchema)` to create a new message.
574
589
  */
575
590
  export const ListEntitiesResponseSchema = /*@__PURE__*/
576
- messageDesc(file_world, 77);
591
+ messageDesc(file_world, 79);
577
592
 
578
593
  /**
579
594
  * Describes the message world.EntityChangeRequest.
580
595
  * Use `create(EntityChangeRequestSchema)` to create a new message.
581
596
  */
582
597
  export const EntityChangeRequestSchema = /*@__PURE__*/
583
- messageDesc(file_world, 78);
598
+ messageDesc(file_world, 80);
584
599
 
585
600
  /**
586
601
  * Describes the message world.ExpireEntityRequest.
587
602
  * Use `create(ExpireEntityRequestSchema)` to create a new message.
588
603
  */
589
604
  export const ExpireEntityRequestSchema = /*@__PURE__*/
590
- messageDesc(file_world, 79);
605
+ messageDesc(file_world, 81);
591
606
 
592
607
  /**
593
608
  * Describes the message world.ExpireEntityResponse.
594
609
  * Use `create(ExpireEntityResponseSchema)` to create a new message.
595
610
  */
596
611
  export const ExpireEntityResponseSchema = /*@__PURE__*/
597
- messageDesc(file_world, 80);
612
+ messageDesc(file_world, 82);
598
613
 
599
614
  /**
600
615
  * Describes the message world.EntityChangeResponse.
601
616
  * Use `create(EntityChangeResponseSchema)` to create a new message.
602
617
  */
603
618
  export const EntityChangeResponseSchema = /*@__PURE__*/
604
- messageDesc(file_world, 81);
619
+ messageDesc(file_world, 83);
605
620
 
606
621
  /**
607
622
  * Describes the message world.EntityChangeEvent.
608
623
  * Use `create(EntityChangeEventSchema)` to create a new message.
609
624
  */
610
625
  export const EntityChangeEventSchema = /*@__PURE__*/
611
- messageDesc(file_world, 82);
626
+ messageDesc(file_world, 84);
612
627
 
613
628
  /**
614
629
  * Describes the message world.EntityChangeBatch.
615
630
  * Use `create(EntityChangeBatchSchema)` to create a new message.
616
631
  */
617
632
  export const EntityChangeBatchSchema = /*@__PURE__*/
618
- messageDesc(file_world, 83);
633
+ messageDesc(file_world, 85);
619
634
 
620
635
  /**
621
636
  * Describes the message world.GetEntityRequest.
622
637
  * Use `create(GetEntityRequestSchema)` to create a new message.
623
638
  */
624
639
  export const GetEntityRequestSchema = /*@__PURE__*/
625
- messageDesc(file_world, 84);
640
+ messageDesc(file_world, 86);
626
641
 
627
642
  /**
628
643
  * Describes the message world.GetEntityResponse.
629
644
  * Use `create(GetEntityResponseSchema)` to create a new message.
630
645
  */
631
646
  export const GetEntityResponseSchema = /*@__PURE__*/
632
- messageDesc(file_world, 85);
647
+ messageDesc(file_world, 87);
633
648
 
634
649
  /**
635
650
  * Describes the message world.GetLocalNodeRequest.
636
651
  * Use `create(GetLocalNodeRequestSchema)` to create a new message.
637
652
  */
638
653
  export const GetLocalNodeRequestSchema = /*@__PURE__*/
639
- messageDesc(file_world, 86);
654
+ messageDesc(file_world, 88);
640
655
 
641
656
  /**
642
657
  * Describes the message world.GetLocalNodeResponse.
643
658
  * Use `create(GetLocalNodeResponseSchema)` to create a new message.
644
659
  */
645
660
  export const GetLocalNodeResponseSchema = /*@__PURE__*/
646
- messageDesc(file_world, 87);
661
+ messageDesc(file_world, 89);
647
662
 
648
663
  /**
649
664
  * Describes the message world.ObserverRequest.
650
665
  * Use `create(ObserverRequestSchema)` to create a new message.
651
666
  */
652
667
  export const ObserverRequestSchema = /*@__PURE__*/
653
- messageDesc(file_world, 88);
668
+ messageDesc(file_world, 90);
654
669
 
655
670
  /**
656
671
  * Describes the message world.ObserverState.
657
672
  * Use `create(ObserverStateSchema)` to create a new message.
658
673
  */
659
674
  export const ObserverStateSchema = /*@__PURE__*/
660
- messageDesc(file_world, 89);
675
+ messageDesc(file_world, 91);
661
676
 
662
677
  /**
663
678
  * Describes the message world.RunTaskRequest.
664
679
  * Use `create(RunTaskRequestSchema)` to create a new message.
665
680
  */
666
681
  export const RunTaskRequestSchema = /*@__PURE__*/
667
- messageDesc(file_world, 90);
682
+ messageDesc(file_world, 92);
668
683
 
669
684
  /**
670
685
  * Describes the message world.RunTaskResponse.
671
686
  * Use `create(RunTaskResponseSchema)` to create a new message.
672
687
  */
673
688
  export const RunTaskResponseSchema = /*@__PURE__*/
674
- messageDesc(file_world, 91);
689
+ messageDesc(file_world, 93);
675
690
 
676
691
  /**
677
692
  * Describes the message world.HardResetRequest.
678
693
  * Use `create(HardResetRequestSchema)` to create a new message.
679
694
  */
680
695
  export const HardResetRequestSchema = /*@__PURE__*/
681
- messageDesc(file_world, 92);
696
+ messageDesc(file_world, 94);
682
697
 
683
698
  /**
684
699
  * Describes the message world.HardResetResponse.
685
700
  * Use `create(HardResetResponseSchema)` to create a new message.
686
701
  */
687
702
  export const HardResetResponseSchema = /*@__PURE__*/
688
- messageDesc(file_world, 93);
703
+ messageDesc(file_world, 95);
689
704
 
690
705
  /**
691
706
  * Describes the message world.TimeSyncRequest.
692
707
  * Use `create(TimeSyncRequestSchema)` to create a new message.
693
708
  */
694
709
  export const TimeSyncRequestSchema = /*@__PURE__*/
695
- messageDesc(file_world, 94);
710
+ messageDesc(file_world, 96);
696
711
 
697
712
  /**
698
713
  * Describes the message world.TimeSyncResponse.
699
714
  * Use `create(TimeSyncResponseSchema)` to create a new message.
700
715
  */
701
716
  export const TimeSyncResponseSchema = /*@__PURE__*/
702
- messageDesc(file_world, 95);
717
+ messageDesc(file_world, 97);
703
718
 
704
719
  /**
705
720
  * Describes the enum world.Priority.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectqai/proto",
3
- "version": "0.0.54",
3
+ "version": "0.0.55",
4
4
  "author": "projectq-release-bot",
5
5
  "type": "module",
6
6
  "exports": {